Skip to content

Instantly share code, notes, and snippets.

@mindpixel20
Created December 29, 2022 14:04
Show Gist options
  • Select an option

  • Save mindpixel20/f3a3377c35f1d24eb1a0f8af48f732d5 to your computer and use it in GitHub Desktop.

Select an option

Save mindpixel20/f3a3377c35f1d24eb1a0f8af48f732d5 to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.7+commit.e28d00a7.js&optimize=false&runs=200&gist=
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"@_20": {
"entryPoint": null,
"id": 20,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_uint256_fromMemory": {
"entryPoint": 165,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256_fromMemory": {
"entryPoint": 186,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 132,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 127,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 142,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1048:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:1"
},
"nodeType": "YulFunctionCall",
"src": "67:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:1",
"type": ""
}
],
"src": "7:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:1"
},
"nodeType": "YulFunctionCall",
"src": "187:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:1"
},
"nodeType": "YulFunctionCall",
"src": "310:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "400:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:1",
"type": ""
}
],
"src": "334:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "460:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "517:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "526:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "529:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "519:6:1"
},
"nodeType": "YulFunctionCall",
"src": "519:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "519:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "483:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "508:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "490:17:1"
},
"nodeType": "YulFunctionCall",
"src": "490:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "480:2:1"
},
"nodeType": "YulFunctionCall",
"src": "480:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "473:6:1"
},
"nodeType": "YulFunctionCall",
"src": "473:43:1"
},
"nodeType": "YulIf",
"src": "470:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "453:5:1",
"type": ""
}
],
"src": "417:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "608:80:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "618:22:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "633:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "627:5:1"
},
"nodeType": "YulFunctionCall",
"src": "627:13:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "618:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "676:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "649:26:1"
},
"nodeType": "YulFunctionCall",
"src": "649:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "649:33:1"
}
]
},
"name": "abi_decode_t_uint256_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "586:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "594:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "602:5:1",
"type": ""
}
],
"src": "545:143:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "771:274:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "817:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "819:77:1"
},
"nodeType": "YulFunctionCall",
"src": "819:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "819:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "792:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "801:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "788:3:1"
},
"nodeType": "YulFunctionCall",
"src": "788:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "813:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "784:3:1"
},
"nodeType": "YulFunctionCall",
"src": "784:32:1"
},
"nodeType": "YulIf",
"src": "781:119:1"
},
{
"nodeType": "YulBlock",
"src": "910:128:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "925:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "939:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "929:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "954:74:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1000:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1011:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "996:3:1"
},
"nodeType": "YulFunctionCall",
"src": "996:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1020:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256_fromMemory",
"nodeType": "YulIdentifier",
"src": "964:31:1"
},
"nodeType": "YulFunctionCall",
"src": "964:64:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "954:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "741:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "752:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "764:6:1",
"type": ""
}
],
"src": "694:351:1"
}
]
},
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b5060405161025d38038061025d833981810160405281019061003291906100ba565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600181905550506100e7565b600080fd5b6000819050919050565b61009781610084565b81146100a257600080fd5b50565b6000815190506100b48161008e565b92915050565b6000602082840312156100d0576100cf61007f565b5b60006100de848285016100a5565b91505092915050565b610167806100f66000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80630ce11a771461003b57806344fd9caa14610059575b600080fd5b610043610077565b60405161005091906100e2565b60405180910390f35b61006161009b565b60405161006e9190610116565b60405180910390f35b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100cc826100a1565b9050919050565b6100dc816100c1565b82525050565b60006020820190506100f760008301846100d3565b92915050565b6000819050919050565b610110816100fd565b82525050565b600060208201905061012b6000830184610107565b9291505056fea26469706673582212206da7e82cc864ed41c132902d68f5c4432529f686f7cb04ebb333aef9a0f62b4364736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x25D CODESIZE SUB DUP1 PUSH2 0x25D DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0x32 SWAP2 SWAP1 PUSH2 0xBA JUMP JUMPDEST CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP POP PUSH2 0xE7 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x97 DUP2 PUSH2 0x84 JUMP JUMPDEST DUP2 EQ PUSH2 0xA2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0xB4 DUP2 PUSH2 0x8E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD0 JUMPI PUSH2 0xCF PUSH2 0x7F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xDE DUP5 DUP3 DUP6 ADD PUSH2 0xA5 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x167 DUP1 PUSH2 0xF6 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xCE11A77 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0x44FD9CAA EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x77 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0xE2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x61 PUSH2 0x9B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6E SWAP2 SWAP1 PUSH2 0x116 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCC DUP3 PUSH2 0xA1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDC DUP2 PUSH2 0xC1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xF7 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xD3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x110 DUP2 PUSH2 0xFD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x12B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x107 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH14 0xA7E82CC864ED41C132902D68F5C4 NUMBER 0x25 0x29 0xF6 DUP7 0xF7 0xCB DIV 0xEB 0xB3 CALLER 0xAE 0xF9 LOG0 0xF6 0x2B NUMBER PUSH5 0x736F6C6343 STOP ADDMOD 0xD STOP CALLER ",
"sourceMap": "61:200:0:-:0;;;152:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;211:10;192:16;;:29;;;;;;;;;;;;;;;;;;246:3;234:9;:15;;;;152:106;61:200;;88:117:1;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:143::-;602:5;633:6;627:13;618:22;;649:33;676:5;649:33;:::i;:::-;545:143;;;;:::o;694:351::-;764:6;813:2;801:9;792:7;788:23;784:32;781:119;;;819:79;;:::i;:::-;781:119;939:1;964:64;1020:7;1011:6;1000:9;996:22;964:64;:::i;:::-;954:74;;910:128;694:351;;;;:::o;61:200:0:-;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@faceValue_5": {
"entryPoint": 155,
"id": 5,
"parameterSlots": 0,
"returnSlots": 0
},
"@registrarAddress_3": {
"entryPoint": 119,
"id": 3,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 211,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 263,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 226,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 278,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 193,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 161,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 253,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1025:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "52:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "62:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "77:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "84:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "73:3:1"
},
"nodeType": "YulFunctionCall",
"src": "73:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "62:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "34:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "44:7:1",
"type": ""
}
],
"src": "7:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "184:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "194:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "223:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "205:17:1"
},
"nodeType": "YulFunctionCall",
"src": "205:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "194:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "166:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "176:7:1",
"type": ""
}
],
"src": "139:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "306:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "323:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "346:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "328:17:1"
},
"nodeType": "YulFunctionCall",
"src": "328:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "316:6:1"
},
"nodeType": "YulFunctionCall",
"src": "316:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "316:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "294:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "301:3:1",
"type": ""
}
],
"src": "241:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "463:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "473:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "485:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "496:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "481:3:1"
},
"nodeType": "YulFunctionCall",
"src": "481:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "473:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "553:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "566:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "577:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "562:3:1"
},
"nodeType": "YulFunctionCall",
"src": "562:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "509:43:1"
},
"nodeType": "YulFunctionCall",
"src": "509:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "509:71:1"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "435:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "447:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "458:4:1",
"type": ""
}
],
"src": "365:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "638:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "648:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "659:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "648:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "620:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "630:7:1",
"type": ""
}
],
"src": "593:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "741:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "758:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "781:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "763:17:1"
},
"nodeType": "YulFunctionCall",
"src": "763:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "751:6:1"
},
"nodeType": "YulFunctionCall",
"src": "751:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "751:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "729:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "736:3:1",
"type": ""
}
],
"src": "676:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "898:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "908:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "920:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "931:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "916:3:1"
},
"nodeType": "YulFunctionCall",
"src": "916:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "908:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "988:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1001:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1012:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "997:3:1"
},
"nodeType": "YulFunctionCall",
"src": "997:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "944:43:1"
},
"nodeType": "YulFunctionCall",
"src": "944:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "944:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "870:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "882:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "893:4:1",
"type": ""
}
],
"src": "800:222:1"
}
]
},
"contents": "{\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100365760003560e01c80630ce11a771461003b57806344fd9caa14610059575b600080fd5b610043610077565b60405161005091906100e2565b60405180910390f35b61006161009b565b60405161006e9190610116565b60405180910390f35b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100cc826100a1565b9050919050565b6100dc816100c1565b82525050565b60006020820190506100f760008301846100d3565b92915050565b6000819050919050565b610110816100fd565b82525050565b600060208201905061012b6000830184610107565b9291505056fea26469706673582212206da7e82cc864ed41c132902d68f5c4432529f686f7cb04ebb333aef9a0f62b4364736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xCE11A77 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0x44FD9CAA EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x77 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0xE2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x61 PUSH2 0x9B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6E SWAP2 SWAP1 PUSH2 0x116 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCC DUP3 PUSH2 0xA1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDC DUP2 PUSH2 0xC1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xF7 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xD3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x110 DUP2 PUSH2 0xFD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x12B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x107 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH14 0xA7E82CC864ED41C132902D68F5C4 NUMBER 0x25 0x29 0xF6 DUP7 0xF7 0xCB DIV 0xEB 0xB3 CALLER 0xAE 0xF9 LOG0 0xF6 0x2B NUMBER PUSH5 0x736F6C6343 STOP ADDMOD 0xD STOP CALLER ",
"sourceMap": "61:200:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;82:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;121:21;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;82:31;;;;;;;;;;;;:::o;121:21::-;;;;:::o;7:126:1:-;44:7;84:42;77:5;73:54;62:65;;7:126;;;:::o;139:96::-;176:7;205:24;223:5;205:24;:::i;:::-;194:35;;139:96;;;:::o;241:118::-;328:24;346:5;328:24;:::i;:::-;323:3;316:37;241:118;;:::o;365:222::-;458:4;496:2;485:9;481:18;473:26;;509:71;577:1;566:9;562:17;553:6;509:71;:::i;:::-;365:222;;;;:::o;593:77::-;630:7;659:5;648:16;;593:77;;;:::o;676:118::-;763:24;781:5;763:24;:::i;:::-;758:3;751:37;676:118;;:::o;800:222::-;893:4;931:2;920:9;916:18;908:26;;944:71;1012:1;1001:9;997:17;988:6;944:71;:::i;:::-;800:222;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "71800",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"faceValue()": "2429",
"registrarAddress()": "2489"
}
},
"methodIdentifiers": {
"faceValue()": "44fd9caa",
"registrarAddress()": "0ce11a77"
}
},
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "_fv",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "faceValue",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "registrarAddress",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.13+commit.abaa5c0e"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "_fv",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "faceValue",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "registrarAddress",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"bond.sol": "Bond"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"bond.sol": {
"keccak256": "0xf033b158719f3988b6d408b4546069a02e2d3fda6fe770c9056608703ec91179",
"license": "MIT",
"urls": [
"bzz-raw://1a61932eaed86d71203eb26af2c2702a50657fa5a2efe4e344c889ef34538ca9",
"dweb:/ipfs/QmbbdXTzzT2y2CC4Xuhaz8mZ4cCprr2ahWh8eY8MWwN1LY"
]
}
},
"version": 1
}
{
"id": "5633d92bb075d4eee29348341172cb5c",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.17",
"solcLongVersion": "0.8.17+commit.8df45f5f",
"input": {
"language": "Solidity",
"sources": {
"contract-5b669ab6be.sol": {
"content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.13;\n\ncontract EtherWallet {\n address payable public owner;\n\n constructor() {\n owner = payable(msg.sender);\n }\n\n receive() external payable {}\n\n function withdraw(uint _amount) external {\n require(msg.sender == owner, \"caller is not owner\");\n payable(msg.sender).transfer(_amount);\n }\n\n function getBalance() external view returns (uint) {\n return address(this).balance;\n }\n}\n"
}
},
"settings": {
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"": [
"ast"
],
"*": [
"abi",
"metadata",
"devdoc",
"userdoc",
"storageLayout",
"evm.legacyAssembly",
"evm.bytecode",
"evm.deployedBytecode",
"evm.methodIdentifiers",
"evm.gasEstimates",
"evm.assembly"
]
}
}
}
},
"output": {
"contracts": {
"contract-5b669ab6be.sol": {
"EtherWallet": {
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "getBalance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address payable",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "withdraw",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"stateMutability": "payable",
"type": "receive"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"contract-5b669ab6be.sol\":58:479 contract EtherWallet {... */\n mstore(0x40, 0x80)\n /* \"contract-5b669ab6be.sol\":120:178 constructor() {... */\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n /* \"contract-5b669ab6be.sol\":160:170 msg.sender */\n caller\n /* \"contract-5b669ab6be.sol\":144:149 owner */\n 0x00\n dup1\n /* \"contract-5b669ab6be.sol\":144:171 owner = payable(msg.sender) */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n mul\n not\n and\n swap1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n mul\n or\n swap1\n sstore\n pop\n /* \"contract-5b669ab6be.sol\":58:479 contract EtherWallet {... */\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"contract-5b669ab6be.sol\":58:479 contract EtherWallet {... */\n mstore(0x40, 0x80)\n jumpi(tag_1, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x12065fe0\n eq\n tag_3\n jumpi\n dup1\n 0x2e1a7d4d\n eq\n tag_4\n jumpi\n dup1\n 0x8da5cb5b\n eq\n tag_5\n jumpi\n jump(tag_2)\n tag_1:\n jumpi(tag_2, calldatasize)\n stop\n tag_2:\n 0x00\n dup1\n revert\n /* \"contract-5b669ab6be.sol\":381:477 function getBalance() external view returns (uint) {... */\n tag_3:\n callvalue\n dup1\n iszero\n tag_8\n jumpi\n 0x00\n dup1\n revert\n tag_8:\n pop\n tag_9\n tag_10\n jump\t// in\n tag_9:\n mload(0x40)\n tag_11\n swap2\n swap1\n tag_12\n jump\t// in\n tag_11:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contract-5b669ab6be.sol\":219:375 function withdraw(uint _amount) external {... */\n tag_4:\n callvalue\n dup1\n iszero\n tag_13\n jumpi\n 0x00\n dup1\n revert\n tag_13:\n pop\n tag_14\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_15\n swap2\n swap1\n tag_16\n jump\t// in\n tag_15:\n tag_17\n jump\t// in\n tag_14:\n stop\n /* \"contract-5b669ab6be.sol\":85:113 address payable public owner */\n tag_5:\n callvalue\n dup1\n iszero\n tag_18\n jumpi\n 0x00\n dup1\n revert\n tag_18:\n pop\n tag_19\n tag_20\n jump\t// in\n tag_19:\n mload(0x40)\n tag_21\n swap2\n swap1\n tag_22\n jump\t// in\n tag_21:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contract-5b669ab6be.sol\":381:477 function getBalance() external view returns (uint) {... */\n tag_10:\n /* \"contract-5b669ab6be.sol\":426:430 uint */\n 0x00\n /* \"contract-5b669ab6be.sol\":449:470 address(this).balance */\n selfbalance\n /* \"contract-5b669ab6be.sol\":442:470 return address(this).balance */\n swap1\n pop\n /* \"contract-5b669ab6be.sol\":381:477 function getBalance() external view returns (uint) {... */\n swap1\n jump\t// out\n /* \"contract-5b669ab6be.sol\":219:375 function withdraw(uint _amount) external {... */\n tag_17:\n /* \"contract-5b669ab6be.sol\":292:297 owner */\n 0x00\n dup1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contract-5b669ab6be.sol\":278:297 msg.sender == owner */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contract-5b669ab6be.sol\":278:288 msg.sender */\n caller\n /* \"contract-5b669ab6be.sol\":278:297 msg.sender == owner */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n eq\n /* \"contract-5b669ab6be.sol\":270:321 require(msg.sender == owner, \"caller is not owner\") */\n tag_25\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_26\n swap1\n tag_27\n jump\t// in\n tag_26:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_25:\n /* \"contract-5b669ab6be.sol\":339:349 msg.sender */\n caller\n /* \"contract-5b669ab6be.sol\":331:359 payable(msg.sender).transfer */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contract-5b669ab6be.sol\":331:368 payable(msg.sender).transfer(_amount) */\n 0x08fc\n /* \"contract-5b669ab6be.sol\":360:367 _amount */\n dup3\n /* \"contract-5b669ab6be.sol\":331:368 payable(msg.sender).transfer(_amount) */\n swap1\n dup2\n iszero\n mul\n swap1\n mload(0x40)\n 0x00\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n dup6\n dup9\n dup9\n call\n swap4\n pop\n pop\n pop\n pop\n iszero\n dup1\n iszero\n tag_29\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\n tag_29:\n pop\n /* \"contract-5b669ab6be.sol\":219:375 function withdraw(uint _amount) external {... */\n pop\n jump\t// out\n /* \"contract-5b669ab6be.sol\":85:113 address payable public owner */\n tag_20:\n 0x00\n dup1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n jump\t// out\n /* \"#utility.yul\":7:84 */\n tag_30:\n /* \"#utility.yul\":44:51 */\n 0x00\n /* \"#utility.yul\":73:78 */\n dup2\n /* \"#utility.yul\":62:78 */\n swap1\n pop\n /* \"#utility.yul\":7:84 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":90:208 */\n tag_31:\n /* \"#utility.yul\":177:201 */\n tag_46\n /* \"#utility.yul\":195:200 */\n dup2\n /* \"#utility.yul\":177:201 */\n tag_30\n jump\t// in\n tag_46:\n /* \"#utility.yul\":172:175 */\n dup3\n /* \"#utility.yul\":165:202 */\n mstore\n /* \"#utility.yul\":90:208 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":214:436 */\n tag_12:\n /* \"#utility.yul\":307:311 */\n 0x00\n /* \"#utility.yul\":345:347 */\n 0x20\n /* \"#utility.yul\":334:343 */\n dup3\n /* \"#utility.yul\":330:348 */\n add\n /* \"#utility.yul\":322:348 */\n swap1\n pop\n /* \"#utility.yul\":358:429 */\n tag_48\n /* \"#utility.yul\":426:427 */\n 0x00\n /* \"#utility.yul\":415:424 */\n dup4\n /* \"#utility.yul\":411:428 */\n add\n /* \"#utility.yul\":402:408 */\n dup5\n /* \"#utility.yul\":358:429 */\n tag_31\n jump\t// in\n tag_48:\n /* \"#utility.yul\":214:436 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":523:640 */\n tag_33:\n /* \"#utility.yul\":632:633 */\n 0x00\n /* \"#utility.yul\":629:630 */\n dup1\n /* \"#utility.yul\":622:634 */\n revert\n /* \"#utility.yul\":769:891 */\n tag_35:\n /* \"#utility.yul\":842:866 */\n tag_53\n /* \"#utility.yul\":860:865 */\n dup2\n /* \"#utility.yul\":842:866 */\n tag_30\n jump\t// in\n tag_53:\n /* \"#utility.yul\":835:840 */\n dup2\n /* \"#utility.yul\":832:867 */\n eq\n /* \"#utility.yul\":822:885 */\n tag_54\n jumpi\n /* \"#utility.yul\":881:882 */\n 0x00\n /* \"#utility.yul\":878:879 */\n dup1\n /* \"#utility.yul\":871:883 */\n revert\n /* \"#utility.yul\":822:885 */\n tag_54:\n /* \"#utility.yul\":769:891 */\n pop\n jump\t// out\n /* \"#utility.yul\":897:1036 */\n tag_36:\n /* \"#utility.yul\":943:948 */\n 0x00\n /* \"#utility.yul\":981:987 */\n dup2\n /* \"#utility.yul\":968:988 */\n calldataload\n /* \"#utility.yul\":959:988 */\n swap1\n pop\n /* \"#utility.yul\":997:1030 */\n tag_56\n /* \"#utility.yul\":1024:1029 */\n dup2\n /* \"#utility.yul\":997:1030 */\n tag_35\n jump\t// in\n tag_56:\n /* \"#utility.yul\":897:1036 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1042:1371 */\n tag_16:\n /* \"#utility.yul\":1101:1107 */\n 0x00\n /* \"#utility.yul\":1150:1152 */\n 0x20\n /* \"#utility.yul\":1138:1147 */\n dup3\n /* \"#utility.yul\":1129:1136 */\n dup5\n /* \"#utility.yul\":1125:1148 */\n sub\n /* \"#utility.yul\":1121:1153 */\n slt\n /* \"#utility.yul\":1118:1237 */\n iszero\n tag_58\n jumpi\n /* \"#utility.yul\":1156:1235 */\n tag_59\n tag_33\n jump\t// in\n tag_59:\n /* \"#utility.yul\":1118:1237 */\n tag_58:\n /* \"#utility.yul\":1276:1277 */\n 0x00\n /* \"#utility.yul\":1301:1354 */\n tag_60\n /* \"#utility.yul\":1346:1353 */\n dup5\n /* \"#utility.yul\":1337:1343 */\n dup3\n /* \"#utility.yul\":1326:1335 */\n dup6\n /* \"#utility.yul\":1322:1344 */\n add\n /* \"#utility.yul\":1301:1354 */\n tag_36\n jump\t// in\n tag_60:\n /* \"#utility.yul\":1291:1354 */\n swap2\n pop\n /* \"#utility.yul\":1247:1364 */\n pop\n /* \"#utility.yul\":1042:1371 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1377:1503 */\n tag_37:\n /* \"#utility.yul\":1414:1421 */\n 0x00\n /* \"#utility.yul\":1454:1496 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":1447:1452 */\n dup3\n /* \"#utility.yul\":1443:1497 */\n and\n /* \"#utility.yul\":1432:1497 */\n swap1\n pop\n /* \"#utility.yul\":1377:1503 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1509:1613 */\n tag_38:\n /* \"#utility.yul\":1554:1561 */\n 0x00\n /* \"#utility.yul\":1583:1607 */\n tag_63\n /* \"#utility.yul\":1601:1606 */\n dup3\n /* \"#utility.yul\":1583:1607 */\n tag_37\n jump\t// in\n tag_63:\n /* \"#utility.yul\":1572:1607 */\n swap1\n pop\n /* \"#utility.yul\":1509:1613 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1619:1761 */\n tag_39:\n /* \"#utility.yul\":1722:1754 */\n tag_65\n /* \"#utility.yul\":1748:1753 */\n dup2\n /* \"#utility.yul\":1722:1754 */\n tag_38\n jump\t// in\n tag_65:\n /* \"#utility.yul\":1717:1720 */\n dup3\n /* \"#utility.yul\":1710:1755 */\n mstore\n /* \"#utility.yul\":1619:1761 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1767:2021 */\n tag_22:\n /* \"#utility.yul\":1876:1880 */\n 0x00\n /* \"#utility.yul\":1914:1916 */\n 0x20\n /* \"#utility.yul\":1903:1912 */\n dup3\n /* \"#utility.yul\":1899:1917 */\n add\n /* \"#utility.yul\":1891:1917 */\n swap1\n pop\n /* \"#utility.yul\":1927:2014 */\n tag_67\n /* \"#utility.yul\":2011:2012 */\n 0x00\n /* \"#utility.yul\":2000:2009 */\n dup4\n /* \"#utility.yul\":1996:2013 */\n add\n /* \"#utility.yul\":1987:1993 */\n dup5\n /* \"#utility.yul\":1927:2014 */\n tag_39\n jump\t// in\n tag_67:\n /* \"#utility.yul\":1767:2021 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2027:2196 */\n tag_40:\n /* \"#utility.yul\":2111:2122 */\n 0x00\n /* \"#utility.yul\":2145:2151 */\n dup3\n /* \"#utility.yul\":2140:2143 */\n dup3\n /* \"#utility.yul\":2133:2152 */\n mstore\n /* \"#utility.yul\":2185:2189 */\n 0x20\n /* \"#utility.yul\":2180:2183 */\n dup3\n /* \"#utility.yul\":2176:2190 */\n add\n /* \"#utility.yul\":2161:2190 */\n swap1\n pop\n /* \"#utility.yul\":2027:2196 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2202:2371 */\n tag_41:\n /* \"#utility.yul\":2342:2363 */\n 0x63616c6c6572206973206e6f74206f776e657200000000000000000000000000\n /* \"#utility.yul\":2338:2339 */\n 0x00\n /* \"#utility.yul\":2330:2336 */\n dup3\n /* \"#utility.yul\":2326:2340 */\n add\n /* \"#utility.yul\":2319:2364 */\n mstore\n /* \"#utility.yul\":2202:2371 */\n pop\n jump\t// out\n /* \"#utility.yul\":2377:2743 */\n tag_42:\n /* \"#utility.yul\":2519:2522 */\n 0x00\n /* \"#utility.yul\":2540:2607 */\n tag_71\n /* \"#utility.yul\":2604:2606 */\n 0x13\n /* \"#utility.yul\":2599:2602 */\n dup4\n /* \"#utility.yul\":2540:2607 */\n tag_40\n jump\t// in\n tag_71:\n /* \"#utility.yul\":2533:2607 */\n swap2\n pop\n /* \"#utility.yul\":2616:2709 */\n tag_72\n /* \"#utility.yul\":2705:2708 */\n dup3\n /* \"#utility.yul\":2616:2709 */\n tag_41\n jump\t// in\n tag_72:\n /* \"#utility.yul\":2734:2736 */\n 0x20\n /* \"#utility.yul\":2729:2732 */\n dup3\n /* \"#utility.yul\":2725:2737 */\n add\n /* \"#utility.yul\":2718:2737 */\n swap1\n pop\n /* \"#utility.yul\":2377:2743 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2749:3168 */\n tag_27:\n /* \"#utility.yul\":2915:2919 */\n 0x00\n /* \"#utility.yul\":2953:2955 */\n 0x20\n /* \"#utility.yul\":2942:2951 */\n dup3\n /* \"#utility.yul\":2938:2956 */\n add\n /* \"#utility.yul\":2930:2956 */\n swap1\n pop\n /* \"#utility.yul\":3002:3011 */\n dup2\n /* \"#utility.yul\":2996:3000 */\n dup2\n /* \"#utility.yul\":2992:3012 */\n sub\n /* \"#utility.yul\":2988:2989 */\n 0x00\n /* \"#utility.yul\":2977:2986 */\n dup4\n /* \"#utility.yul\":2973:2990 */\n add\n /* \"#utility.yul\":2966:3013 */\n mstore\n /* \"#utility.yul\":3030:3161 */\n tag_74\n /* \"#utility.yul\":3156:3160 */\n dup2\n /* \"#utility.yul\":3030:3161 */\n tag_42\n jump\t// in\n tag_74:\n /* \"#utility.yul\":3022:3161 */\n swap1\n pop\n /* \"#utility.yul\":2749:3168 */\n swap2\n swap1\n pop\n jump\t// out\n\n auxdata: 0xa264697066735822122086408ae0daa8e772754f2f2df5a4b7fa72edcbbb297f037c41b2d19cef42111664736f6c63430008110033\n}\n",
"bytecode": {
"functionDebugData": {
"@_15": {
"entryPoint": null,
"id": 15,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610368806100606000396000f3fe6080604052600436106100385760003560e01c806312065fe0146100445780632e1a7d4d1461006f5780638da5cb5b146100985761003f565b3661003f57005b600080fd5b34801561005057600080fd5b506100596100c3565b60405161006691906101e0565b60405180910390f35b34801561007b57600080fd5b506100966004803603810190610091919061022c565b6100cb565b005b3480156100a457600080fd5b506100ad6101a3565b6040516100ba919061029a565b60405180910390f35b600047905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610159576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161015090610312565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561019f573d6000803e3d6000fd5b5050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000819050919050565b6101da816101c7565b82525050565b60006020820190506101f560008301846101d1565b92915050565b600080fd5b610209816101c7565b811461021457600080fd5b50565b60008135905061022681610200565b92915050565b600060208284031215610242576102416101fb565b5b600061025084828501610217565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061028482610259565b9050919050565b61029481610279565b82525050565b60006020820190506102af600083018461028b565b92915050565b600082825260208201905092915050565b7f63616c6c6572206973206e6f74206f776e657200000000000000000000000000600082015250565b60006102fc6013836102b5565b9150610307826102c6565b602082019050919050565b6000602082019050818103600083015261032b816102ef565b905091905056fea264697066735822122086408ae0daa8e772754f2f2df5a4b7fa72edcbbb297f037c41b2d19cef42111664736f6c63430008110033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x368 DUP1 PUSH2 0x60 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x38 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x44 JUMPI DUP1 PUSH4 0x2E1A7D4D EQ PUSH2 0x6F JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x98 JUMPI PUSH2 0x3F JUMP JUMPDEST CALLDATASIZE PUSH2 0x3F JUMPI STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x50 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x59 PUSH2 0xC3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x1E0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x96 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x91 SWAP2 SWAP1 PUSH2 0x22C JUMP JUMPDEST PUSH2 0xCB JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xAD PUSH2 0x1A3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xBA SWAP2 SWAP1 PUSH2 0x29A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 SELFBALANCE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x159 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x150 SWAP1 PUSH2 0x312 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP3 SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x19F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1DA DUP2 PUSH2 0x1C7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1F5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1D1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x209 DUP2 PUSH2 0x1C7 JUMP JUMPDEST DUP2 EQ PUSH2 0x214 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x226 DUP2 PUSH2 0x200 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x242 JUMPI PUSH2 0x241 PUSH2 0x1FB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x250 DUP5 DUP3 DUP6 ADD PUSH2 0x217 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x284 DUP3 PUSH2 0x259 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x294 DUP2 PUSH2 0x279 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2AF PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x28B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x63616C6C6572206973206E6F74206F776E657200000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2FC PUSH1 0x13 DUP4 PUSH2 0x2B5 JUMP JUMPDEST SWAP2 POP PUSH2 0x307 DUP3 PUSH2 0x2C6 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x32B DUP2 PUSH2 0x2EF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP7 BLOCKHASH DUP11 0xE0 0xDA 0xA8 0xE7 PUSH19 0x754F2F2DF5A4B7FA72EDCBBB297F037C41B2D1 SWAP13 0xEF TIMESTAMP GT AND PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ",
"sourceMap": "58:421:0:-:0;;;120:58;;;;;;;;;;160:10;144:5;;:27;;;;;;;;;;;;;;;;;;58:421;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@_19": {
"entryPoint": null,
"id": 19,
"parameterSlots": 0,
"returnSlots": 0
},
"@getBalance_54": {
"entryPoint": 195,
"id": 54,
"parameterSlots": 0,
"returnSlots": 1
},
"@owner_3": {
"entryPoint": 419,
"id": 3,
"parameterSlots": 0,
"returnSlots": 0
},
"@withdraw_42": {
"entryPoint": 203,
"id": 42,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_uint256": {
"entryPoint": 535,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 556,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_address_payable_to_t_address_payable_fromStack": {
"entryPoint": 651,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_stringliteral_71bf1d68d1389a2700f2d22d4c4aeb9705cf8c62dc7efd39c7b83facc381f197_to_t_string_memory_ptr_fromStack": {
"entryPoint": 751,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 465,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address_payable__to_t_address_payable__fromStack_reversed": {
"entryPoint": 666,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_71bf1d68d1389a2700f2d22d4c4aeb9705cf8c62dc7efd39c7b83facc381f197__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 786,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 480,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 693,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address_payable": {
"entryPoint": 633,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 601,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 455,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 507,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"store_literal_in_memory_71bf1d68d1389a2700f2d22d4c4aeb9705cf8c62dc7efd39c7b83facc381f197": {
"entryPoint": 710,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 512,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:3171:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "52:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "62:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "73:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "62:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "34:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "44:7:1",
"type": ""
}
],
"src": "7:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "155:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "172:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "195:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "177:17:1"
},
"nodeType": "YulFunctionCall",
"src": "177:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "165:6:1"
},
"nodeType": "YulFunctionCall",
"src": "165:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "165:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "143:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "150:3:1",
"type": ""
}
],
"src": "90:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "312:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "322:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "334:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "345:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "330:3:1"
},
"nodeType": "YulFunctionCall",
"src": "330:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "322:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "402:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "415:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "426:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "411:3:1"
},
"nodeType": "YulFunctionCall",
"src": "411:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "358:43:1"
},
"nodeType": "YulFunctionCall",
"src": "358:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "358:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "284:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "296:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "307:4:1",
"type": ""
}
],
"src": "214:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "482:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "492:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "508:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "502:5:1"
},
"nodeType": "YulFunctionCall",
"src": "502:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "492:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "475:6:1",
"type": ""
}
],
"src": "442:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "612:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "629:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "632:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "622:6:1"
},
"nodeType": "YulFunctionCall",
"src": "622:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "622:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "523:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "735:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "752:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "755:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "745:6:1"
},
"nodeType": "YulFunctionCall",
"src": "745:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "745:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "646:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "812:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "869:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "878:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "881:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "871:6:1"
},
"nodeType": "YulFunctionCall",
"src": "871:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "871:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "835:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "860:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "842:17:1"
},
"nodeType": "YulFunctionCall",
"src": "842:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "832:2:1"
},
"nodeType": "YulFunctionCall",
"src": "832:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "825:6:1"
},
"nodeType": "YulFunctionCall",
"src": "825:43:1"
},
"nodeType": "YulIf",
"src": "822:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "805:5:1",
"type": ""
}
],
"src": "769:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "949:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "959:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "981:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "968:12:1"
},
"nodeType": "YulFunctionCall",
"src": "968:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "959:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1024:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "997:26:1"
},
"nodeType": "YulFunctionCall",
"src": "997:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "997:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "927:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "935:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "943:5:1",
"type": ""
}
],
"src": "897:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1108:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1154:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1156:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1156:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1156:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1129:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1138:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1125:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1125:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1150:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1121:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1121:32:1"
},
"nodeType": "YulIf",
"src": "1118:119:1"
},
{
"nodeType": "YulBlock",
"src": "1247:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1262:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1276:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1266:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1291:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1326:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1337:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1322:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1322:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1346:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1301:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1301:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1291:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1078:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1089:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1101:6:1",
"type": ""
}
],
"src": "1042:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1422:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1432:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1447:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1454:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1443:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1443:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1432:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1404:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1414:7:1",
"type": ""
}
],
"src": "1377:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1562:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1572:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1601:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "1583:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1583:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1572:7:1"
}
]
}
]
},
"name": "cleanup_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1544:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1554:7:1",
"type": ""
}
],
"src": "1509:104:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1700:61:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1717:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1748:5:1"
}
],
"functionName": {
"name": "cleanup_t_address_payable",
"nodeType": "YulIdentifier",
"src": "1722:25:1"
},
"nodeType": "YulFunctionCall",
"src": "1722:32:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1710:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1710:45:1"
},
"nodeType": "YulExpressionStatement",
"src": "1710:45:1"
}
]
},
"name": "abi_encode_t_address_payable_to_t_address_payable_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1688:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1695:3:1",
"type": ""
}
],
"src": "1619:142:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1881:140:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1891:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1903:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1914:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1899:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1899:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1891:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1987:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2000:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2011:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1996:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1996:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_payable_to_t_address_payable_fromStack",
"nodeType": "YulIdentifier",
"src": "1927:59:1"
},
"nodeType": "YulFunctionCall",
"src": "1927:87:1"
},
"nodeType": "YulExpressionStatement",
"src": "1927:87:1"
}
]
},
"name": "abi_encode_tuple_t_address_payable__to_t_address_payable__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1853:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1865:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1876:4:1",
"type": ""
}
],
"src": "1767:254:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2123:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2140:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2145:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2133:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2133:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "2133:19:1"
},
{
"nodeType": "YulAssignment",
"src": "2161:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2180:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2185:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2176:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2176:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "2161:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2095:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2100:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "2111:11:1",
"type": ""
}
],
"src": "2027:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2308:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "2330:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2338:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2326:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2326:14:1"
},
{
"hexValue": "63616c6c6572206973206e6f74206f776e6572",
"kind": "string",
"nodeType": "YulLiteral",
"src": "2342:21:1",
"type": "",
"value": "caller is not owner"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2319:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2319:45:1"
},
"nodeType": "YulExpressionStatement",
"src": "2319:45:1"
}
]
},
"name": "store_literal_in_memory_71bf1d68d1389a2700f2d22d4c4aeb9705cf8c62dc7efd39c7b83facc381f197",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "2300:6:1",
"type": ""
}
],
"src": "2202:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2523:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2533:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2599:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2604:2:1",
"type": "",
"value": "19"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2540:58:1"
},
"nodeType": "YulFunctionCall",
"src": "2540:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2533:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2705:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_71bf1d68d1389a2700f2d22d4c4aeb9705cf8c62dc7efd39c7b83facc381f197",
"nodeType": "YulIdentifier",
"src": "2616:88:1"
},
"nodeType": "YulFunctionCall",
"src": "2616:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "2616:93:1"
},
{
"nodeType": "YulAssignment",
"src": "2718:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2729:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2734:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2725:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2725:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2718:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_71bf1d68d1389a2700f2d22d4c4aeb9705cf8c62dc7efd39c7b83facc381f197_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2511:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2519:3:1",
"type": ""
}
],
"src": "2377:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2920:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2930:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2942:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2953:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2938:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2938:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2930:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2977:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2988:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2973:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2973:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2996:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3002:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2992:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2992:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2966:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2966:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "2966:47:1"
},
{
"nodeType": "YulAssignment",
"src": "3022:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3156:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_71bf1d68d1389a2700f2d22d4c4aeb9705cf8c62dc7efd39c7b83facc381f197_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3030:124:1"
},
"nodeType": "YulFunctionCall",
"src": "3030:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3022:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_71bf1d68d1389a2700f2d22d4c4aeb9705cf8c62dc7efd39c7b83facc381f197__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2900:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2915:4:1",
"type": ""
}
],
"src": "2749:419:1"
}
]
},
"contents": "{\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address_payable(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_payable_to_t_address_payable_fromStack(value, pos) {\n mstore(pos, cleanup_t_address_payable(value))\n }\n\n function abi_encode_tuple_t_address_payable__to_t_address_payable__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_payable_to_t_address_payable_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_71bf1d68d1389a2700f2d22d4c4aeb9705cf8c62dc7efd39c7b83facc381f197(memPtr) {\n\n mstore(add(memPtr, 0), \"caller is not owner\")\n\n }\n\n function abi_encode_t_stringliteral_71bf1d68d1389a2700f2d22d4c4aeb9705cf8c62dc7efd39c7b83facc381f197_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 19)\n store_literal_in_memory_71bf1d68d1389a2700f2d22d4c4aeb9705cf8c62dc7efd39c7b83facc381f197(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_71bf1d68d1389a2700f2d22d4c4aeb9705cf8c62dc7efd39c7b83facc381f197__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_71bf1d68d1389a2700f2d22d4c4aeb9705cf8c62dc7efd39c7b83facc381f197_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600436106100385760003560e01c806312065fe0146100445780632e1a7d4d1461006f5780638da5cb5b146100985761003f565b3661003f57005b600080fd5b34801561005057600080fd5b506100596100c3565b60405161006691906101e0565b60405180910390f35b34801561007b57600080fd5b506100966004803603810190610091919061022c565b6100cb565b005b3480156100a457600080fd5b506100ad6101a3565b6040516100ba919061029a565b60405180910390f35b600047905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610159576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161015090610312565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561019f573d6000803e3d6000fd5b5050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000819050919050565b6101da816101c7565b82525050565b60006020820190506101f560008301846101d1565b92915050565b600080fd5b610209816101c7565b811461021457600080fd5b50565b60008135905061022681610200565b92915050565b600060208284031215610242576102416101fb565b5b600061025084828501610217565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061028482610259565b9050919050565b61029481610279565b82525050565b60006020820190506102af600083018461028b565b92915050565b600082825260208201905092915050565b7f63616c6c6572206973206e6f74206f776e657200000000000000000000000000600082015250565b60006102fc6013836102b5565b9150610307826102c6565b602082019050919050565b6000602082019050818103600083015261032b816102ef565b905091905056fea264697066735822122086408ae0daa8e772754f2f2df5a4b7fa72edcbbb297f037c41b2d19cef42111664736f6c63430008110033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x38 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x44 JUMPI DUP1 PUSH4 0x2E1A7D4D EQ PUSH2 0x6F JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x98 JUMPI PUSH2 0x3F JUMP JUMPDEST CALLDATASIZE PUSH2 0x3F JUMPI STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x50 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x59 PUSH2 0xC3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x1E0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x96 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x91 SWAP2 SWAP1 PUSH2 0x22C JUMP JUMPDEST PUSH2 0xCB JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xAD PUSH2 0x1A3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xBA SWAP2 SWAP1 PUSH2 0x29A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 SELFBALANCE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x159 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x150 SWAP1 PUSH2 0x312 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP3 SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x19F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1DA DUP2 PUSH2 0x1C7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1F5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1D1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x209 DUP2 PUSH2 0x1C7 JUMP JUMPDEST DUP2 EQ PUSH2 0x214 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x226 DUP2 PUSH2 0x200 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x242 JUMPI PUSH2 0x241 PUSH2 0x1FB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x250 DUP5 DUP3 DUP6 ADD PUSH2 0x217 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x284 DUP3 PUSH2 0x259 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x294 DUP2 PUSH2 0x279 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2AF PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x28B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x63616C6C6572206973206E6F74206F776E657200000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2FC PUSH1 0x13 DUP4 PUSH2 0x2B5 JUMP JUMPDEST SWAP2 POP PUSH2 0x307 DUP3 PUSH2 0x2C6 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x32B DUP2 PUSH2 0x2EF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP7 BLOCKHASH DUP11 0xE0 0xDA 0xA8 0xE7 PUSH19 0x754F2F2DF5A4B7FA72EDCBBB297F037C41B2D1 SWAP13 0xEF TIMESTAMP GT AND PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ",
"sourceMap": "58:421:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;381:96;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;219:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;85:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;381:96;426:4;449:21;442:28;;381:96;:::o;219:156::-;292:5;;;;;;;;;;278:19;;:10;:19;;;270:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;339:10;331:28;;:37;360:7;331:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;219:156;:::o;85:28::-;;;;;;;;;;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;523:117::-;632:1;629;622:12;769:122;842:24;860:5;842:24;:::i;:::-;835:5;832:35;822:63;;881:1;878;871:12;822:63;769:122;:::o;897:139::-;943:5;981:6;968:20;959:29;;997:33;1024:5;997:33;:::i;:::-;897:139;;;;:::o;1042:329::-;1101:6;1150:2;1138:9;1129:7;1125:23;1121:32;1118:119;;;1156:79;;:::i;:::-;1118:119;1276:1;1301:53;1346:7;1337:6;1326:9;1322:22;1301:53;:::i;:::-;1291:63;;1247:117;1042:329;;;;:::o;1377:126::-;1414:7;1454:42;1447:5;1443:54;1432:65;;1377:126;;;:::o;1509:104::-;1554:7;1583:24;1601:5;1583:24;:::i;:::-;1572:35;;1509:104;;;:::o;1619:142::-;1722:32;1748:5;1722:32;:::i;:::-;1717:3;1710:45;1619:142;;:::o;1767:254::-;1876:4;1914:2;1903:9;1899:18;1891:26;;1927:87;2011:1;2000:9;1996:17;1987:6;1927:87;:::i;:::-;1767:254;;;;:::o;2027:169::-;2111:11;2145:6;2140:3;2133:19;2185:4;2180:3;2176:14;2161:29;;2027:169;;;;:::o;2202:::-;2342:21;2338:1;2330:6;2326:14;2319:45;2202:169;:::o;2377:366::-;2519:3;2540:67;2604:2;2599:3;2540:67;:::i;:::-;2533:74;;2616:93;2705:3;2616:93;:::i;:::-;2734:2;2729:3;2725:12;2718:19;;2377:366;;;:::o;2749:419::-;2915:4;2953:2;2942:9;2938:18;2930:26;;3002:9;2996:4;2992:20;2988:1;2977:9;2973:17;2966:47;3030:131;3156:4;3030:131;:::i;:::-;3022:139;;2749:419;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "174400",
"executionCost": "24486",
"totalCost": "198886"
},
"external": {
"getBalance()": "317",
"owner()": "2533",
"withdraw(uint256)": "infinite"
}
},
"legacyAssembly": {
".code": [
{
"begin": 58,
"end": 479,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 58,
"end": 479,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 58,
"end": 479,
"name": "MSTORE",
"source": 0
},
{
"begin": 120,
"end": 178,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 120,
"end": 178,
"name": "DUP1",
"source": 0
},
{
"begin": 120,
"end": 178,
"name": "ISZERO",
"source": 0
},
{
"begin": 120,
"end": 178,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 120,
"end": 178,
"name": "JUMPI",
"source": 0
},
{
"begin": 120,
"end": 178,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 120,
"end": 178,
"name": "DUP1",
"source": 0
},
{
"begin": 120,
"end": 178,
"name": "REVERT",
"source": 0
},
{
"begin": 120,
"end": 178,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 120,
"end": 178,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 120,
"end": 178,
"name": "POP",
"source": 0
},
{
"begin": 160,
"end": 170,
"name": "CALLER",
"source": 0
},
{
"begin": 144,
"end": 149,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 144,
"end": 149,
"name": "DUP1",
"source": 0
},
{
"begin": 144,
"end": 171,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 144,
"end": 171,
"name": "EXP",
"source": 0
},
{
"begin": 144,
"end": 171,
"name": "DUP2",
"source": 0
},
{
"begin": 144,
"end": 171,
"name": "SLOAD",
"source": 0
},
{
"begin": 144,
"end": 171,
"name": "DUP2",
"source": 0
},
{
"begin": 144,
"end": 171,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 144,
"end": 171,
"name": "MUL",
"source": 0
},
{
"begin": 144,
"end": 171,
"name": "NOT",
"source": 0
},
{
"begin": 144,
"end": 171,
"name": "AND",
"source": 0
},
{
"begin": 144,
"end": 171,
"name": "SWAP1",
"source": 0
},
{
"begin": 144,
"end": 171,
"name": "DUP4",
"source": 0
},
{
"begin": 144,
"end": 171,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 144,
"end": 171,
"name": "AND",
"source": 0
},
{
"begin": 144,
"end": 171,
"name": "MUL",
"source": 0
},
{
"begin": 144,
"end": 171,
"name": "OR",
"source": 0
},
{
"begin": 144,
"end": 171,
"name": "SWAP1",
"source": 0
},
{
"begin": 144,
"end": 171,
"name": "SSTORE",
"source": 0
},
{
"begin": 144,
"end": 171,
"name": "POP",
"source": 0
},
{
"begin": 58,
"end": 479,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 58,
"end": 479,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 479,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 58,
"end": 479,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 58,
"end": 479,
"name": "CODECOPY",
"source": 0
},
{
"begin": 58,
"end": 479,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 58,
"end": 479,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a264697066735822122086408ae0daa8e772754f2f2df5a4b7fa72edcbbb297f037c41b2d19cef42111664736f6c63430008110033",
".code": [
{
"begin": 58,
"end": 479,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 58,
"end": 479,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 58,
"end": 479,
"name": "MSTORE",
"source": 0
},
{
"begin": 58,
"end": 479,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 58,
"end": 479,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 58,
"end": 479,
"name": "LT",
"source": 0
},
{
"begin": 58,
"end": 479,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 58,
"end": 479,
"name": "JUMPI",
"source": 0
},
{
"begin": 58,
"end": 479,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 58,
"end": 479,
"name": "CALLDATALOAD",
"source": 0
},
{
"begin": 58,
"end": 479,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 58,
"end": 479,
"name": "SHR",
"source": 0
},
{
"begin": 58,
"end": 479,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 479,
"name": "PUSH",
"source": 0,
"value": "12065FE0"
},
{
"begin": 58,
"end": 479,
"name": "EQ",
"source": 0
},
{
"begin": 58,
"end": 479,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 58,
"end": 479,
"name": "JUMPI",
"source": 0
},
{
"begin": 58,
"end": 479,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 479,
"name": "PUSH",
"source": 0,
"value": "2E1A7D4D"
},
{
"begin": 58,
"end": 479,
"name": "EQ",
"source": 0
},
{
"begin": 58,
"end": 479,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 58,
"end": 479,
"name": "JUMPI",
"source": 0
},
{
"begin": 58,
"end": 479,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 479,
"name": "PUSH",
"source": 0,
"value": "8DA5CB5B"
},
{
"begin": 58,
"end": 479,
"name": "EQ",
"source": 0
},
{
"begin": 58,
"end": 479,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 58,
"end": 479,
"name": "JUMPI",
"source": 0
},
{
"begin": 58,
"end": 479,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 58,
"end": 479,
"name": "JUMP",
"source": 0
},
{
"begin": 58,
"end": 479,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 58,
"end": 479,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 58,
"end": 479,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 58,
"end": 479,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 58,
"end": 479,
"name": "JUMPI",
"source": 0
},
{
"begin": 58,
"end": 479,
"name": "STOP",
"source": 0
},
{
"begin": 58,
"end": 479,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 58,
"end": 479,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 58,
"end": 479,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 58,
"end": 479,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 479,
"name": "REVERT",
"source": 0
},
{
"begin": 381,
"end": 477,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 381,
"end": 477,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 381,
"end": 477,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 381,
"end": 477,
"name": "DUP1",
"source": 0
},
{
"begin": 381,
"end": 477,
"name": "ISZERO",
"source": 0
},
{
"begin": 381,
"end": 477,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 381,
"end": 477,
"name": "JUMPI",
"source": 0
},
{
"begin": 381,
"end": 477,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 381,
"end": 477,
"name": "DUP1",
"source": 0
},
{
"begin": 381,
"end": 477,
"name": "REVERT",
"source": 0
},
{
"begin": 381,
"end": 477,
"name": "tag",
"source": 0,
"value": "8"
},
{
"begin": 381,
"end": 477,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 381,
"end": 477,
"name": "POP",
"source": 0
},
{
"begin": 381,
"end": 477,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 381,
"end": 477,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 381,
"end": 477,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 381,
"end": 477,
"name": "tag",
"source": 0,
"value": "9"
},
{
"begin": 381,
"end": 477,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 381,
"end": 477,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 381,
"end": 477,
"name": "MLOAD",
"source": 0
},
{
"begin": 381,
"end": 477,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 381,
"end": 477,
"name": "SWAP2",
"source": 0
},
{
"begin": 381,
"end": 477,
"name": "SWAP1",
"source": 0
},
{
"begin": 381,
"end": 477,
"name": "PUSH [tag]",
"source": 0,
"value": "12"
},
{
"begin": 381,
"end": 477,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 381,
"end": 477,
"name": "tag",
"source": 0,
"value": "11"
},
{
"begin": 381,
"end": 477,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 381,
"end": 477,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 381,
"end": 477,
"name": "MLOAD",
"source": 0
},
{
"begin": 381,
"end": 477,
"name": "DUP1",
"source": 0
},
{
"begin": 381,
"end": 477,
"name": "SWAP2",
"source": 0
},
{
"begin": 381,
"end": 477,
"name": "SUB",
"source": 0
},
{
"begin": 381,
"end": 477,
"name": "SWAP1",
"source": 0
},
{
"begin": 381,
"end": 477,
"name": "RETURN",
"source": 0
},
{
"begin": 219,
"end": 375,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 219,
"end": 375,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 219,
"end": 375,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 219,
"end": 375,
"name": "DUP1",
"source": 0
},
{
"begin": 219,
"end": 375,
"name": "ISZERO",
"source": 0
},
{
"begin": 219,
"end": 375,
"name": "PUSH [tag]",
"source": 0,
"value": "13"
},
{
"begin": 219,
"end": 375,
"name": "JUMPI",
"source": 0
},
{
"begin": 219,
"end": 375,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 219,
"end": 375,
"name": "DUP1",
"source": 0
},
{
"begin": 219,
"end": 375,
"name": "REVERT",
"source": 0
},
{
"begin": 219,
"end": 375,
"name": "tag",
"source": 0,
"value": "13"
},
{
"begin": 219,
"end": 375,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 219,
"end": 375,
"name": "POP",
"source": 0
},
{
"begin": 219,
"end": 375,
"name": "PUSH [tag]",
"source": 0,
"value": "14"
},
{
"begin": 219,
"end": 375,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 219,
"end": 375,
"name": "DUP1",
"source": 0
},
{
"begin": 219,
"end": 375,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 219,
"end": 375,
"name": "SUB",
"source": 0
},
{
"begin": 219,
"end": 375,
"name": "DUP2",
"source": 0
},
{
"begin": 219,
"end": 375,
"name": "ADD",
"source": 0
},
{
"begin": 219,
"end": 375,
"name": "SWAP1",
"source": 0
},
{
"begin": 219,
"end": 375,
"name": "PUSH [tag]",
"source": 0,
"value": "15"
},
{
"begin": 219,
"end": 375,
"name": "SWAP2",
"source": 0
},
{
"begin": 219,
"end": 375,
"name": "SWAP1",
"source": 0
},
{
"begin": 219,
"end": 375,
"name": "PUSH [tag]",
"source": 0,
"value": "16"
},
{
"begin": 219,
"end": 375,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 219,
"end": 375,
"name": "tag",
"source": 0,
"value": "15"
},
{
"begin": 219,
"end": 375,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 219,
"end": 375,
"name": "PUSH [tag]",
"source": 0,
"value": "17"
},
{
"begin": 219,
"end": 375,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 219,
"end": 375,
"name": "tag",
"source": 0,
"value": "14"
},
{
"begin": 219,
"end": 375,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 219,
"end": 375,
"name": "STOP",
"source": 0
},
{
"begin": 85,
"end": 113,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 85,
"end": 113,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 85,
"end": 113,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 85,
"end": 113,
"name": "DUP1",
"source": 0
},
{
"begin": 85,
"end": 113,
"name": "ISZERO",
"source": 0
},
{
"begin": 85,
"end": 113,
"name": "PUSH [tag]",
"source": 0,
"value": "18"
},
{
"begin": 85,
"end": 113,
"name": "JUMPI",
"source": 0
},
{
"begin": 85,
"end": 113,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 85,
"end": 113,
"name": "DUP1",
"source": 0
},
{
"begin": 85,
"end": 113,
"name": "REVERT",
"source": 0
},
{
"begin": 85,
"end": 113,
"name": "tag",
"source": 0,
"value": "18"
},
{
"begin": 85,
"end": 113,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 85,
"end": 113,
"name": "POP",
"source": 0
},
{
"begin": 85,
"end": 113,
"name": "PUSH [tag]",
"source": 0,
"value": "19"
},
{
"begin": 85,
"end": 113,
"name": "PUSH [tag]",
"source": 0,
"value": "20"
},
{
"begin": 85,
"end": 113,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 85,
"end": 113,
"name": "tag",
"source": 0,
"value": "19"
},
{
"begin": 85,
"end": 113,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 85,
"end": 113,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 85,
"end": 113,
"name": "MLOAD",
"source": 0
},
{
"begin": 85,
"end": 113,
"name": "PUSH [tag]",
"source": 0,
"value": "21"
},
{
"begin": 85,
"end": 113,
"name": "SWAP2",
"source": 0
},
{
"begin": 85,
"end": 113,
"name": "SWAP1",
"source": 0
},
{
"begin": 85,
"end": 113,
"name": "PUSH [tag]",
"source": 0,
"value": "22"
},
{
"begin": 85,
"end": 113,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 85,
"end": 113,
"name": "tag",
"source": 0,
"value": "21"
},
{
"begin": 85,
"end": 113,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 85,
"end": 113,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 85,
"end": 113,
"name": "MLOAD",
"source": 0
},
{
"begin": 85,
"end": 113,
"name": "DUP1",
"source": 0
},
{
"begin": 85,
"end": 113,
"name": "SWAP2",
"source": 0
},
{
"begin": 85,
"end": 113,
"name": "SUB",
"source": 0
},
{
"begin": 85,
"end": 113,
"name": "SWAP1",
"source": 0
},
{
"begin": 85,
"end": 113,
"name": "RETURN",
"source": 0
},
{
"begin": 381,
"end": 477,
"name": "tag",
"source": 0,
"value": "10"
},
{
"begin": 381,
"end": 477,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 426,
"end": 430,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 449,
"end": 470,
"name": "SELFBALANCE",
"source": 0
},
{
"begin": 442,
"end": 470,
"name": "SWAP1",
"source": 0
},
{
"begin": 442,
"end": 470,
"name": "POP",
"source": 0
},
{
"begin": 381,
"end": 477,
"name": "SWAP1",
"source": 0
},
{
"begin": 381,
"end": 477,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 219,
"end": 375,
"name": "tag",
"source": 0,
"value": "17"
},
{
"begin": 219,
"end": 375,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 292,
"end": 297,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 292,
"end": 297,
"name": "DUP1",
"source": 0
},
{
"begin": 292,
"end": 297,
"name": "SLOAD",
"source": 0
},
{
"begin": 292,
"end": 297,
"name": "SWAP1",
"source": 0
},
{
"begin": 292,
"end": 297,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 292,
"end": 297,
"name": "EXP",
"source": 0
},
{
"begin": 292,
"end": 297,
"name": "SWAP1",
"source": 0
},
{
"begin": 292,
"end": 297,
"name": "DIV",
"source": 0
},
{
"begin": 292,
"end": 297,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 292,
"end": 297,
"name": "AND",
"source": 0
},
{
"begin": 278,
"end": 297,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 278,
"end": 297,
"name": "AND",
"source": 0
},
{
"begin": 278,
"end": 288,
"name": "CALLER",
"source": 0
},
{
"begin": 278,
"end": 297,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 278,
"end": 297,
"name": "AND",
"source": 0
},
{
"begin": 278,
"end": 297,
"name": "EQ",
"source": 0
},
{
"begin": 270,
"end": 321,
"name": "PUSH [tag]",
"source": 0,
"value": "25"
},
{
"begin": 270,
"end": 321,
"name": "JUMPI",
"source": 0
},
{
"begin": 270,
"end": 321,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 270,
"end": 321,
"name": "MLOAD",
"source": 0
},
{
"begin": 270,
"end": 321,
"name": "PUSH",
"source": 0,
"value": "8C379A000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 270,
"end": 321,
"name": "DUP2",
"source": 0
},
{
"begin": 270,
"end": 321,
"name": "MSTORE",
"source": 0
},
{
"begin": 270,
"end": 321,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 270,
"end": 321,
"name": "ADD",
"source": 0
},
{
"begin": 270,
"end": 321,
"name": "PUSH [tag]",
"source": 0,
"value": "26"
},
{
"begin": 270,
"end": 321,
"name": "SWAP1",
"source": 0
},
{
"begin": 270,
"end": 321,
"name": "PUSH [tag]",
"source": 0,
"value": "27"
},
{
"begin": 270,
"end": 321,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 270,
"end": 321,
"name": "tag",
"source": 0,
"value": "26"
},
{
"begin": 270,
"end": 321,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 270,
"end": 321,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 270,
"end": 321,
"name": "MLOAD",
"source": 0
},
{
"begin": 270,
"end": 321,
"name": "DUP1",
"source": 0
},
{
"begin": 270,
"end": 321,
"name": "SWAP2",
"source": 0
},
{
"begin": 270,
"end": 321,
"name": "SUB",
"source": 0
},
{
"begin": 270,
"end": 321,
"name": "SWAP1",
"source": 0
},
{
"begin": 270,
"end": 321,
"name": "REVERT",
"source": 0
},
{
"begin": 270,
"end": 321,
"name": "tag",
"source": 0,
"value": "25"
},
{
"begin": 270,
"end": 321,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 339,
"end": 349,
"name": "CALLER",
"source": 0
},
{
"begin": 331,
"end": 359,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 331,
"end": 359,
"name": "AND",
"source": 0
},
{
"begin": 331,
"end": 368,
"name": "PUSH",
"source": 0,
"value": "8FC"
},
{
"begin": 360,
"end": 367,
"name": "DUP3",
"source": 0
},
{
"begin": 331,
"end": 368,
"name": "SWAP1",
"source": 0
},
{
"begin": 331,
"end": 368,
"name": "DUP2",
"source": 0
},
{
"begin": 331,
"end": 368,
"name": "ISZERO",
"source": 0
},
{
"begin": 331,
"end": 368,
"name": "MUL",
"source": 0
},
{
"begin": 331,
"end": 368,
"name": "SWAP1",
"source": 0
},
{
"begin": 331,
"end": 368,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 331,
"end": 368,
"name": "MLOAD",
"source": 0
},
{
"begin": 331,
"end": 368,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 331,
"end": 368,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 331,
"end": 368,
"name": "MLOAD",
"source": 0
},
{
"begin": 331,
"end": 368,
"name": "DUP1",
"source": 0
},
{
"begin": 331,
"end": 368,
"name": "DUP4",
"source": 0
},
{
"begin": 331,
"end": 368,
"name": "SUB",
"source": 0
},
{
"begin": 331,
"end": 368,
"name": "DUP2",
"source": 0
},
{
"begin": 331,
"end": 368,
"name": "DUP6",
"source": 0
},
{
"begin": 331,
"end": 368,
"name": "DUP9",
"source": 0
},
{
"begin": 331,
"end": 368,
"name": "DUP9",
"source": 0
},
{
"begin": 331,
"end": 368,
"name": "CALL",
"source": 0
},
{
"begin": 331,
"end": 368,
"name": "SWAP4",
"source": 0
},
{
"begin": 331,
"end": 368,
"name": "POP",
"source": 0
},
{
"begin": 331,
"end": 368,
"name": "POP",
"source": 0
},
{
"begin": 331,
"end": 368,
"name": "POP",
"source": 0
},
{
"begin": 331,
"end": 368,
"name": "POP",
"source": 0
},
{
"begin": 331,
"end": 368,
"name": "ISZERO",
"source": 0
},
{
"begin": 331,
"end": 368,
"name": "DUP1",
"source": 0
},
{
"begin": 331,
"end": 368,
"name": "ISZERO",
"source": 0
},
{
"begin": 331,
"end": 368,
"name": "PUSH [tag]",
"source": 0,
"value": "29"
},
{
"begin": 331,
"end": 368,
"name": "JUMPI",
"source": 0
},
{
"begin": 331,
"end": 368,
"name": "RETURNDATASIZE",
"source": 0
},
{
"begin": 331,
"end": 368,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 331,
"end": 368,
"name": "DUP1",
"source": 0
},
{
"begin": 331,
"end": 368,
"name": "RETURNDATACOPY",
"source": 0
},
{
"begin": 331,
"end": 368,
"name": "RETURNDATASIZE",
"source": 0
},
{
"begin": 331,
"end": 368,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 331,
"end": 368,
"name": "REVERT",
"source": 0
},
{
"begin": 331,
"end": 368,
"name": "tag",
"source": 0,
"value": "29"
},
{
"begin": 331,
"end": 368,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 331,
"end": 368,
"name": "POP",
"source": 0
},
{
"begin": 219,
"end": 375,
"name": "POP",
"source": 0
},
{
"begin": 219,
"end": 375,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 85,
"end": 113,
"name": "tag",
"source": 0,
"value": "20"
},
{
"begin": 85,
"end": 113,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 85,
"end": 113,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 85,
"end": 113,
"name": "DUP1",
"source": 0
},
{
"begin": 85,
"end": 113,
"name": "SLOAD",
"source": 0
},
{
"begin": 85,
"end": 113,
"name": "SWAP1",
"source": 0
},
{
"begin": 85,
"end": 113,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 85,
"end": 113,
"name": "EXP",
"source": 0
},
{
"begin": 85,
"end": 113,
"name": "SWAP1",
"source": 0
},
{
"begin": 85,
"end": 113,
"name": "DIV",
"source": 0
},
{
"begin": 85,
"end": 113,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 85,
"end": 113,
"name": "AND",
"source": 0
},
{
"begin": 85,
"end": 113,
"name": "DUP2",
"source": 0
},
{
"begin": 85,
"end": 113,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 7,
"end": 84,
"name": "tag",
"source": 1,
"value": "30"
},
{
"begin": 7,
"end": 84,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 44,
"end": 51,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 73,
"end": 78,
"name": "DUP2",
"source": 1
},
{
"begin": 62,
"end": 78,
"name": "SWAP1",
"source": 1
},
{
"begin": 62,
"end": 78,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 84,
"name": "SWAP2",
"source": 1
},
{
"begin": 7,
"end": 84,
"name": "SWAP1",
"source": 1
},
{
"begin": 7,
"end": 84,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 84,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 90,
"end": 208,
"name": "tag",
"source": 1,
"value": "31"
},
{
"begin": 90,
"end": 208,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 177,
"end": 201,
"name": "PUSH [tag]",
"source": 1,
"value": "46"
},
{
"begin": 195,
"end": 200,
"name": "DUP2",
"source": 1
},
{
"begin": 177,
"end": 201,
"name": "PUSH [tag]",
"source": 1,
"value": "30"
},
{
"begin": 177,
"end": 201,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 177,
"end": 201,
"name": "tag",
"source": 1,
"value": "46"
},
{
"begin": 177,
"end": 201,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 172,
"end": 175,
"name": "DUP3",
"source": 1
},
{
"begin": 165,
"end": 202,
"name": "MSTORE",
"source": 1
},
{
"begin": 90,
"end": 208,
"name": "POP",
"source": 1
},
{
"begin": 90,
"end": 208,
"name": "POP",
"source": 1
},
{
"begin": 90,
"end": 208,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 214,
"end": 436,
"name": "tag",
"source": 1,
"value": "12"
},
{
"begin": 214,
"end": 436,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 307,
"end": 311,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 345,
"end": 347,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 334,
"end": 343,
"name": "DUP3",
"source": 1
},
{
"begin": 330,
"end": 348,
"name": "ADD",
"source": 1
},
{
"begin": 322,
"end": 348,
"name": "SWAP1",
"source": 1
},
{
"begin": 322,
"end": 348,
"name": "POP",
"source": 1
},
{
"begin": 358,
"end": 429,
"name": "PUSH [tag]",
"source": 1,
"value": "48"
},
{
"begin": 426,
"end": 427,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 415,
"end": 424,
"name": "DUP4",
"source": 1
},
{
"begin": 411,
"end": 428,
"name": "ADD",
"source": 1
},
{
"begin": 402,
"end": 408,
"name": "DUP5",
"source": 1
},
{
"begin": 358,
"end": 429,
"name": "PUSH [tag]",
"source": 1,
"value": "31"
},
{
"begin": 358,
"end": 429,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 358,
"end": 429,
"name": "tag",
"source": 1,
"value": "48"
},
{
"begin": 358,
"end": 429,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 214,
"end": 436,
"name": "SWAP3",
"source": 1
},
{
"begin": 214,
"end": 436,
"name": "SWAP2",
"source": 1
},
{
"begin": 214,
"end": 436,
"name": "POP",
"source": 1
},
{
"begin": 214,
"end": 436,
"name": "POP",
"source": 1
},
{
"begin": 214,
"end": 436,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 523,
"end": 640,
"name": "tag",
"source": 1,
"value": "33"
},
{
"begin": 523,
"end": 640,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 632,
"end": 633,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 629,
"end": 630,
"name": "DUP1",
"source": 1
},
{
"begin": 622,
"end": 634,
"name": "REVERT",
"source": 1
},
{
"begin": 769,
"end": 891,
"name": "tag",
"source": 1,
"value": "35"
},
{
"begin": 769,
"end": 891,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 842,
"end": 866,
"name": "PUSH [tag]",
"source": 1,
"value": "53"
},
{
"begin": 860,
"end": 865,
"name": "DUP2",
"source": 1
},
{
"begin": 842,
"end": 866,
"name": "PUSH [tag]",
"source": 1,
"value": "30"
},
{
"begin": 842,
"end": 866,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 842,
"end": 866,
"name": "tag",
"source": 1,
"value": "53"
},
{
"begin": 842,
"end": 866,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 835,
"end": 840,
"name": "DUP2",
"source": 1
},
{
"begin": 832,
"end": 867,
"name": "EQ",
"source": 1
},
{
"begin": 822,
"end": 885,
"name": "PUSH [tag]",
"source": 1,
"value": "54"
},
{
"begin": 822,
"end": 885,
"name": "JUMPI",
"source": 1
},
{
"begin": 881,
"end": 882,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 878,
"end": 879,
"name": "DUP1",
"source": 1
},
{
"begin": 871,
"end": 883,
"name": "REVERT",
"source": 1
},
{
"begin": 822,
"end": 885,
"name": "tag",
"source": 1,
"value": "54"
},
{
"begin": 822,
"end": 885,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 769,
"end": 891,
"name": "POP",
"source": 1
},
{
"begin": 769,
"end": 891,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 897,
"end": 1036,
"name": "tag",
"source": 1,
"value": "36"
},
{
"begin": 897,
"end": 1036,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 943,
"end": 948,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 981,
"end": 987,
"name": "DUP2",
"source": 1
},
{
"begin": 968,
"end": 988,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 959,
"end": 988,
"name": "SWAP1",
"source": 1
},
{
"begin": 959,
"end": 988,
"name": "POP",
"source": 1
},
{
"begin": 997,
"end": 1030,
"name": "PUSH [tag]",
"source": 1,
"value": "56"
},
{
"begin": 1024,
"end": 1029,
"name": "DUP2",
"source": 1
},
{
"begin": 997,
"end": 1030,
"name": "PUSH [tag]",
"source": 1,
"value": "35"
},
{
"begin": 997,
"end": 1030,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 997,
"end": 1030,
"name": "tag",
"source": 1,
"value": "56"
},
{
"begin": 997,
"end": 1030,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 897,
"end": 1036,
"name": "SWAP3",
"source": 1
},
{
"begin": 897,
"end": 1036,
"name": "SWAP2",
"source": 1
},
{
"begin": 897,
"end": 1036,
"name": "POP",
"source": 1
},
{
"begin": 897,
"end": 1036,
"name": "POP",
"source": 1
},
{
"begin": 897,
"end": 1036,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1042,
"end": 1371,
"name": "tag",
"source": 1,
"value": "16"
},
{
"begin": 1042,
"end": 1371,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1101,
"end": 1107,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1150,
"end": 1152,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1138,
"end": 1147,
"name": "DUP3",
"source": 1
},
{
"begin": 1129,
"end": 1136,
"name": "DUP5",
"source": 1
},
{
"begin": 1125,
"end": 1148,
"name": "SUB",
"source": 1
},
{
"begin": 1121,
"end": 1153,
"name": "SLT",
"source": 1
},
{
"begin": 1118,
"end": 1237,
"name": "ISZERO",
"source": 1
},
{
"begin": 1118,
"end": 1237,
"name": "PUSH [tag]",
"source": 1,
"value": "58"
},
{
"begin": 1118,
"end": 1237,
"name": "JUMPI",
"source": 1
},
{
"begin": 1156,
"end": 1235,
"name": "PUSH [tag]",
"source": 1,
"value": "59"
},
{
"begin": 1156,
"end": 1235,
"name": "PUSH [tag]",
"source": 1,
"value": "33"
},
{
"begin": 1156,
"end": 1235,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1156,
"end": 1235,
"name": "tag",
"source": 1,
"value": "59"
},
{
"begin": 1156,
"end": 1235,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1118,
"end": 1237,
"name": "tag",
"source": 1,
"value": "58"
},
{
"begin": 1118,
"end": 1237,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1276,
"end": 1277,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1301,
"end": 1354,
"name": "PUSH [tag]",
"source": 1,
"value": "60"
},
{
"begin": 1346,
"end": 1353,
"name": "DUP5",
"source": 1
},
{
"begin": 1337,
"end": 1343,
"name": "DUP3",
"source": 1
},
{
"begin": 1326,
"end": 1335,
"name": "DUP6",
"source": 1
},
{
"begin": 1322,
"end": 1344,
"name": "ADD",
"source": 1
},
{
"begin": 1301,
"end": 1354,
"name": "PUSH [tag]",
"source": 1,
"value": "36"
},
{
"begin": 1301,
"end": 1354,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1301,
"end": 1354,
"name": "tag",
"source": 1,
"value": "60"
},
{
"begin": 1301,
"end": 1354,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1291,
"end": 1354,
"name": "SWAP2",
"source": 1
},
{
"begin": 1291,
"end": 1354,
"name": "POP",
"source": 1
},
{
"begin": 1247,
"end": 1364,
"name": "POP",
"source": 1
},
{
"begin": 1042,
"end": 1371,
"name": "SWAP3",
"source": 1
},
{
"begin": 1042,
"end": 1371,
"name": "SWAP2",
"source": 1
},
{
"begin": 1042,
"end": 1371,
"name": "POP",
"source": 1
},
{
"begin": 1042,
"end": 1371,
"name": "POP",
"source": 1
},
{
"begin": 1042,
"end": 1371,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1377,
"end": 1503,
"name": "tag",
"source": 1,
"value": "37"
},
{
"begin": 1377,
"end": 1503,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1414,
"end": 1421,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1454,
"end": 1496,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1447,
"end": 1452,
"name": "DUP3",
"source": 1
},
{
"begin": 1443,
"end": 1497,
"name": "AND",
"source": 1
},
{
"begin": 1432,
"end": 1497,
"name": "SWAP1",
"source": 1
},
{
"begin": 1432,
"end": 1497,
"name": "POP",
"source": 1
},
{
"begin": 1377,
"end": 1503,
"name": "SWAP2",
"source": 1
},
{
"begin": 1377,
"end": 1503,
"name": "SWAP1",
"source": 1
},
{
"begin": 1377,
"end": 1503,
"name": "POP",
"source": 1
},
{
"begin": 1377,
"end": 1503,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1509,
"end": 1613,
"name": "tag",
"source": 1,
"value": "38"
},
{
"begin": 1509,
"end": 1613,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1554,
"end": 1561,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1583,
"end": 1607,
"name": "PUSH [tag]",
"source": 1,
"value": "63"
},
{
"begin": 1601,
"end": 1606,
"name": "DUP3",
"source": 1
},
{
"begin": 1583,
"end": 1607,
"name": "PUSH [tag]",
"source": 1,
"value": "37"
},
{
"begin": 1583,
"end": 1607,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1583,
"end": 1607,
"name": "tag",
"source": 1,
"value": "63"
},
{
"begin": 1583,
"end": 1607,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1572,
"end": 1607,
"name": "SWAP1",
"source": 1
},
{
"begin": 1572,
"end": 1607,
"name": "POP",
"source": 1
},
{
"begin": 1509,
"end": 1613,
"name": "SWAP2",
"source": 1
},
{
"begin": 1509,
"end": 1613,
"name": "SWAP1",
"source": 1
},
{
"begin": 1509,
"end": 1613,
"name": "POP",
"source": 1
},
{
"begin": 1509,
"end": 1613,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1619,
"end": 1761,
"name": "tag",
"source": 1,
"value": "39"
},
{
"begin": 1619,
"end": 1761,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1722,
"end": 1754,
"name": "PUSH [tag]",
"source": 1,
"value": "65"
},
{
"begin": 1748,
"end": 1753,
"name": "DUP2",
"source": 1
},
{
"begin": 1722,
"end": 1754,
"name": "PUSH [tag]",
"source": 1,
"value": "38"
},
{
"begin": 1722,
"end": 1754,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1722,
"end": 1754,
"name": "tag",
"source": 1,
"value": "65"
},
{
"begin": 1722,
"end": 1754,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1717,
"end": 1720,
"name": "DUP3",
"source": 1
},
{
"begin": 1710,
"end": 1755,
"name": "MSTORE",
"source": 1
},
{
"begin": 1619,
"end": 1761,
"name": "POP",
"source": 1
},
{
"begin": 1619,
"end": 1761,
"name": "POP",
"source": 1
},
{
"begin": 1619,
"end": 1761,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1767,
"end": 2021,
"name": "tag",
"source": 1,
"value": "22"
},
{
"begin": 1767,
"end": 2021,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1876,
"end": 1880,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1914,
"end": 1916,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1903,
"end": 1912,
"name": "DUP3",
"source": 1
},
{
"begin": 1899,
"end": 1917,
"name": "ADD",
"source": 1
},
{
"begin": 1891,
"end": 1917,
"name": "SWAP1",
"source": 1
},
{
"begin": 1891,
"end": 1917,
"name": "POP",
"source": 1
},
{
"begin": 1927,
"end": 2014,
"name": "PUSH [tag]",
"source": 1,
"value": "67"
},
{
"begin": 2011,
"end": 2012,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2000,
"end": 2009,
"name": "DUP4",
"source": 1
},
{
"begin": 1996,
"end": 2013,
"name": "ADD",
"source": 1
},
{
"begin": 1987,
"end": 1993,
"name": "DUP5",
"source": 1
},
{
"begin": 1927,
"end": 2014,
"name": "PUSH [tag]",
"source": 1,
"value": "39"
},
{
"begin": 1927,
"end": 2014,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1927,
"end": 2014,
"name": "tag",
"source": 1,
"value": "67"
},
{
"begin": 1927,
"end": 2014,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1767,
"end": 2021,
"name": "SWAP3",
"source": 1
},
{
"begin": 1767,
"end": 2021,
"name": "SWAP2",
"source": 1
},
{
"begin": 1767,
"end": 2021,
"name": "POP",
"source": 1
},
{
"begin": 1767,
"end": 2021,
"name": "POP",
"source": 1
},
{
"begin": 1767,
"end": 2021,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2027,
"end": 2196,
"name": "tag",
"source": 1,
"value": "40"
},
{
"begin": 2027,
"end": 2196,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2111,
"end": 2122,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2145,
"end": 2151,
"name": "DUP3",
"source": 1
},
{
"begin": 2140,
"end": 2143,
"name": "DUP3",
"source": 1
},
{
"begin": 2133,
"end": 2152,
"name": "MSTORE",
"source": 1
},
{
"begin": 2185,
"end": 2189,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 2180,
"end": 2183,
"name": "DUP3",
"source": 1
},
{
"begin": 2176,
"end": 2190,
"name": "ADD",
"source": 1
},
{
"begin": 2161,
"end": 2190,
"name": "SWAP1",
"source": 1
},
{
"begin": 2161,
"end": 2190,
"name": "POP",
"source": 1
},
{
"begin": 2027,
"end": 2196,
"name": "SWAP3",
"source": 1
},
{
"begin": 2027,
"end": 2196,
"name": "SWAP2",
"source": 1
},
{
"begin": 2027,
"end": 2196,
"name": "POP",
"source": 1
},
{
"begin": 2027,
"end": 2196,
"name": "POP",
"source": 1
},
{
"begin": 2027,
"end": 2196,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2202,
"end": 2371,
"name": "tag",
"source": 1,
"value": "41"
},
{
"begin": 2202,
"end": 2371,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2342,
"end": 2363,
"name": "PUSH",
"source": 1,
"value": "63616C6C6572206973206E6F74206F776E657200000000000000000000000000"
},
{
"begin": 2338,
"end": 2339,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2330,
"end": 2336,
"name": "DUP3",
"source": 1
},
{
"begin": 2326,
"end": 2340,
"name": "ADD",
"source": 1
},
{
"begin": 2319,
"end": 2364,
"name": "MSTORE",
"source": 1
},
{
"begin": 2202,
"end": 2371,
"name": "POP",
"source": 1
},
{
"begin": 2202,
"end": 2371,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2377,
"end": 2743,
"name": "tag",
"source": 1,
"value": "42"
},
{
"begin": 2377,
"end": 2743,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2519,
"end": 2522,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2540,
"end": 2607,
"name": "PUSH [tag]",
"source": 1,
"value": "71"
},
{
"begin": 2604,
"end": 2606,
"name": "PUSH",
"source": 1,
"value": "13"
},
{
"begin": 2599,
"end": 2602,
"name": "DUP4",
"source": 1
},
{
"begin": 2540,
"end": 2607,
"name": "PUSH [tag]",
"source": 1,
"value": "40"
},
{
"begin": 2540,
"end": 2607,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2540,
"end": 2607,
"name": "tag",
"source": 1,
"value": "71"
},
{
"begin": 2540,
"end": 2607,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2533,
"end": 2607,
"name": "SWAP2",
"source": 1
},
{
"begin": 2533,
"end": 2607,
"name": "POP",
"source": 1
},
{
"begin": 2616,
"end": 2709,
"name": "PUSH [tag]",
"source": 1,
"value": "72"
},
{
"begin": 2705,
"end": 2708,
"name": "DUP3",
"source": 1
},
{
"begin": 2616,
"end": 2709,
"name": "PUSH [tag]",
"source": 1,
"value": "41"
},
{
"begin": 2616,
"end": 2709,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2616,
"end": 2709,
"name": "tag",
"source": 1,
"value": "72"
},
{
"begin": 2616,
"end": 2709,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2734,
"end": 2736,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 2729,
"end": 2732,
"name": "DUP3",
"source": 1
},
{
"begin": 2725,
"end": 2737,
"name": "ADD",
"source": 1
},
{
"begin": 2718,
"end": 2737,
"name": "SWAP1",
"source": 1
},
{
"begin": 2718,
"end": 2737,
"name": "POP",
"source": 1
},
{
"begin": 2377,
"end": 2743,
"name": "SWAP2",
"source": 1
},
{
"begin": 2377,
"end": 2743,
"name": "SWAP1",
"source": 1
},
{
"begin": 2377,
"end": 2743,
"name": "POP",
"source": 1
},
{
"begin": 2377,
"end": 2743,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2749,
"end": 3168,
"name": "tag",
"source": 1,
"value": "27"
},
{
"begin": 2749,
"end": 3168,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2915,
"end": 2919,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2953,
"end": 2955,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 2942,
"end": 2951,
"name": "DUP3",
"source": 1
},
{
"begin": 2938,
"end": 2956,
"name": "ADD",
"source": 1
},
{
"begin": 2930,
"end": 2956,
"name": "SWAP1",
"source": 1
},
{
"begin": 2930,
"end": 2956,
"name": "POP",
"source": 1
},
{
"begin": 3002,
"end": 3011,
"name": "DUP2",
"source": 1
},
{
"begin": 2996,
"end": 3000,
"name": "DUP2",
"source": 1
},
{
"begin": 2992,
"end": 3012,
"name": "SUB",
"source": 1
},
{
"begin": 2988,
"end": 2989,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2977,
"end": 2986,
"name": "DUP4",
"source": 1
},
{
"begin": 2973,
"end": 2990,
"name": "ADD",
"source": 1
},
{
"begin": 2966,
"end": 3013,
"name": "MSTORE",
"source": 1
},
{
"begin": 3030,
"end": 3161,
"name": "PUSH [tag]",
"source": 1,
"value": "74"
},
{
"begin": 3156,
"end": 3160,
"name": "DUP2",
"source": 1
},
{
"begin": 3030,
"end": 3161,
"name": "PUSH [tag]",
"source": 1,
"value": "42"
},
{
"begin": 3030,
"end": 3161,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3030,
"end": 3161,
"name": "tag",
"source": 1,
"value": "74"
},
{
"begin": 3030,
"end": 3161,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3022,
"end": 3161,
"name": "SWAP1",
"source": 1
},
{
"begin": 3022,
"end": 3161,
"name": "POP",
"source": 1
},
{
"begin": 2749,
"end": 3168,
"name": "SWAP2",
"source": 1
},
{
"begin": 2749,
"end": 3168,
"name": "SWAP1",
"source": 1
},
{
"begin": 2749,
"end": 3168,
"name": "POP",
"source": 1
},
{
"begin": 2749,
"end": 3168,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
}
]
}
},
"sourceList": [
"contract-5b669ab6be.sol",
"#utility.yul"
]
},
"methodIdentifiers": {
"getBalance()": "12065fe0",
"owner()": "8da5cb5b",
"withdraw(uint256)": "2e1a7d4d"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"getBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contract-5b669ab6be.sol\":\"EtherWallet\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contract-5b669ab6be.sol\":{\"keccak256\":\"0x292d2f712cb45a22e6ba985f4f037b8ee389f569cf8b39b43ae7d5d5c531d49f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://74933db85fca5005b2477387c7e4bf8ed628718d96bb77ecaa914116b76eb2a4\",\"dweb:/ipfs/QmWpNyBiUiCdDbnumwjfgdDKCwNvGW7u9rjp5w2zhWE8Ap\"]}},\"version\":1}",
"storageLayout": {
"storage": [
{
"astId": 3,
"contract": "contract-5b669ab6be.sol:EtherWallet",
"label": "owner",
"offset": 0,
"slot": "0",
"type": "t_address_payable"
}
],
"types": {
"t_address_payable": {
"encoding": "inplace",
"label": "address payable",
"numberOfBytes": "20"
}
}
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"sources": {
"contract-5b669ab6be.sol": {
"ast": {
"absolutePath": "contract-5b669ab6be.sol",
"exportedSymbols": {
"EtherWallet": [
55
]
},
"id": 56,
"license": "MIT",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"^",
"0.8",
".13"
],
"nodeType": "PragmaDirective",
"src": "32:24:0"
},
{
"abstract": false,
"baseContracts": [],
"canonicalName": "EtherWallet",
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 55,
"linearizedBaseContracts": [
55
],
"name": "EtherWallet",
"nameLocation": "67:11:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"functionSelector": "8da5cb5b",
"id": 3,
"mutability": "mutable",
"name": "owner",
"nameLocation": "108:5:0",
"nodeType": "VariableDeclaration",
"scope": 55,
"src": "85:28:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
},
"typeName": {
"id": 2,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "85:15:0",
"stateMutability": "payable",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
"visibility": "public"
},
{
"body": {
"id": 14,
"nodeType": "Block",
"src": "134:44:0",
"statements": [
{
"expression": {
"id": 12,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 6,
"name": "owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "144:5:0",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"arguments": [
{
"expression": {
"id": 9,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967281,
"src": "160:3:0",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 10,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "164:6:0",
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "160:10:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 8,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "152:8:0",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_payable_$",
"typeString": "type(address payable)"
},
"typeName": {
"id": 7,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "152:8:0",
"stateMutability": "payable",
"typeDescriptions": {}
}
},
"id": 11,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "152:19:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
"src": "144:27:0",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
"id": 13,
"nodeType": "ExpressionStatement",
"src": "144:27:0"
}
]
},
"id": 15,
"implemented": true,
"kind": "constructor",
"modifiers": [],
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 4,
"nodeType": "ParameterList",
"parameters": [],
"src": "131:2:0"
},
"returnParameters": {
"id": 5,
"nodeType": "ParameterList",
"parameters": [],
"src": "134:0:0"
},
"scope": 55,
"src": "120:58:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 18,
"nodeType": "Block",
"src": "211:2:0",
"statements": []
},
"id": 19,
"implemented": true,
"kind": "receive",
"modifiers": [],
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 16,
"nodeType": "ParameterList",
"parameters": [],
"src": "191:2:0"
},
"returnParameters": {
"id": 17,
"nodeType": "ParameterList",
"parameters": [],
"src": "211:0:0"
},
"scope": 55,
"src": "184:29:0",
"stateMutability": "payable",
"virtual": false,
"visibility": "external"
},
{
"body": {
"id": 41,
"nodeType": "Block",
"src": "260:115:0",
"statements": [
{
"expression": {
"arguments": [
{
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 28,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"expression": {
"id": 25,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967281,
"src": "278:3:0",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 26,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "282:6:0",
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "278:10:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"id": 27,
"name": "owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "292:5:0",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
"src": "278:19:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "63616c6c6572206973206e6f74206f776e6572",
"id": 29,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "299:21:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_71bf1d68d1389a2700f2d22d4c4aeb9705cf8c62dc7efd39c7b83facc381f197",
"typeString": "literal_string \"caller is not owner\""
},
"value": "caller is not owner"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_71bf1d68d1389a2700f2d22d4c4aeb9705cf8c62dc7efd39c7b83facc381f197",
"typeString": "literal_string \"caller is not owner\""
}
],
"id": 24,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
4294967278,
4294967278
],
"referencedDeclaration": 4294967278,
"src": "270:7:0",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 30,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "270:51:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 31,
"nodeType": "ExpressionStatement",
"src": "270:51:0"
},
{
"expression": {
"arguments": [
{
"id": 38,
"name": "_amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 21,
"src": "360:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"arguments": [
{
"expression": {
"id": 34,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967281,
"src": "339:3:0",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 35,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "343:6:0",
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "339:10:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 33,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "331:8:0",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_payable_$",
"typeString": "type(address payable)"
},
"typeName": {
"id": 32,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "331:8:0",
"stateMutability": "payable",
"typeDescriptions": {}
}
},
"id": 36,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "331:19:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
"id": 37,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "351:8:0",
"memberName": "transfer",
"nodeType": "MemberAccess",
"src": "331:28:0",
"typeDescriptions": {
"typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
"typeString": "function (uint256)"
}
},
"id": 39,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "331:37:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 40,
"nodeType": "ExpressionStatement",
"src": "331:37:0"
}
]
},
"functionSelector": "2e1a7d4d",
"id": 42,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "withdraw",
"nameLocation": "228:8:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 22,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 21,
"mutability": "mutable",
"name": "_amount",
"nameLocation": "242:7:0",
"nodeType": "VariableDeclaration",
"scope": 42,
"src": "237:12:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 20,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "237:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "236:14:0"
},
"returnParameters": {
"id": 23,
"nodeType": "ParameterList",
"parameters": [],
"src": "260:0:0"
},
"scope": 55,
"src": "219:156:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"body": {
"id": 53,
"nodeType": "Block",
"src": "432:45:0",
"statements": [
{
"expression": {
"expression": {
"arguments": [
{
"id": 49,
"name": "this",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967268,
"src": "457:4:0",
"typeDescriptions": {
"typeIdentifier": "t_contract$_EtherWallet_$55",
"typeString": "contract EtherWallet"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_EtherWallet_$55",
"typeString": "contract EtherWallet"
}
],
"id": 48,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "449:7:0",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
"id": 47,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "449:7:0",
"typeDescriptions": {}
}
},
"id": 50,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "449:13:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 51,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "463:7:0",
"memberName": "balance",
"nodeType": "MemberAccess",
"src": "449:21:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 46,
"id": 52,
"nodeType": "Return",
"src": "442:28:0"
}
]
},
"functionSelector": "12065fe0",
"id": 54,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "getBalance",
"nameLocation": "390:10:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 43,
"nodeType": "ParameterList",
"parameters": [],
"src": "400:2:0"
},
"returnParameters": {
"id": 46,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 45,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 54,
"src": "426:4:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 44,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "426:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "425:6:0"
},
"scope": 55,
"src": "381:96:0",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
}
],
"scope": 56,
"src": "58:421:0",
"usedErrors": []
}
],
"src": "32:448:0"
},
"id": 0
}
}
}
}
{
"id": "7ad467e087c905b1b6347d8d1fae2df3",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.13",
"solcLongVersion": "0.8.13+commit.abaa5c0e",
"input": {
"language": "Solidity",
"sources": {
"bond.sol": {
"content": "// SPDX-License-Identifier: MIT\r\npragma solidity ^0.8.13;\r\n\r\ncontract Bond {\r\n address public registrarAddress; \r\n uint public faceValue; \r\n\r\n constructor(uint _fv) public {\r\n registrarAddress = msg.sender; \r\n faceValue = _fv; \r\n }\r\n}"
}
},
"settings": {
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"": [
"ast"
],
"*": [
"abi",
"metadata",
"devdoc",
"userdoc",
"storageLayout",
"evm.legacyAssembly",
"evm.bytecode",
"evm.deployedBytecode",
"evm.methodIdentifiers",
"evm.gasEstimates",
"evm.assembly"
]
}
}
}
},
"output": {
"contracts": {
"bond.sol": {
"Bond": {
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "_fv",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "faceValue",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "registrarAddress",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"bond.sol\":61:261 contract Bond {... */\n mstore(0x40, 0x80)\n /* \"bond.sol\":152:258 constructor(uint _fv) public {... */\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n mload(0x40)\n sub(codesize, bytecodeSize)\n dup1\n bytecodeSize\n dup4\n codecopy\n dup2\n dup2\n add\n 0x40\n mstore\n dup2\n add\n swap1\n tag_2\n swap2\n swap1\n tag_3\n jump\t// in\ntag_2:\n /* \"bond.sol\":211:221 msg.sender */\n caller\n /* \"bond.sol\":192:208 registrarAddress */\n 0x00\n dup1\n /* \"bond.sol\":192:221 registrarAddress = msg.sender */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n mul\n not\n and\n swap1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n mul\n or\n swap1\n sstore\n pop\n /* \"bond.sol\":246:249 _fv */\n dup1\n /* \"bond.sol\":234:243 faceValue */\n 0x01\n /* \"bond.sol\":234:249 faceValue = _fv */\n dup2\n swap1\n sstore\n pop\n /* \"bond.sol\":152:258 constructor(uint _fv) public {... */\n pop\n /* \"bond.sol\":61:261 contract Bond {... */\n jump(tag_6)\n /* \"#utility.yul\":88:205 */\ntag_8:\n /* \"#utility.yul\":197:198 */\n 0x00\n /* \"#utility.yul\":194:195 */\n dup1\n /* \"#utility.yul\":187:199 */\n revert\n /* \"#utility.yul\":334:411 */\ntag_10:\n /* \"#utility.yul\":371:378 */\n 0x00\n /* \"#utility.yul\":400:405 */\n dup2\n /* \"#utility.yul\":389:405 */\n swap1\n pop\n /* \"#utility.yul\":334:411 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":417:539 */\ntag_11:\n /* \"#utility.yul\":490:514 */\n tag_19\n /* \"#utility.yul\":508:513 */\n dup2\n /* \"#utility.yul\":490:514 */\n tag_10\n jump\t// in\ntag_19:\n /* \"#utility.yul\":483:488 */\n dup2\n /* \"#utility.yul\":480:515 */\n eq\n /* \"#utility.yul\":470:533 */\n tag_20\n jumpi\n /* \"#utility.yul\":529:530 */\n 0x00\n /* \"#utility.yul\":526:527 */\n dup1\n /* \"#utility.yul\":519:531 */\n revert\n /* \"#utility.yul\":470:533 */\ntag_20:\n /* \"#utility.yul\":417:539 */\n pop\n jump\t// out\n /* \"#utility.yul\":545:688 */\ntag_12:\n /* \"#utility.yul\":602:607 */\n 0x00\n /* \"#utility.yul\":633:639 */\n dup2\n /* \"#utility.yul\":627:640 */\n mload\n /* \"#utility.yul\":618:640 */\n swap1\n pop\n /* \"#utility.yul\":649:682 */\n tag_22\n /* \"#utility.yul\":676:681 */\n dup2\n /* \"#utility.yul\":649:682 */\n tag_11\n jump\t// in\ntag_22:\n /* \"#utility.yul\":545:688 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":694:1045 */\ntag_3:\n /* \"#utility.yul\":764:770 */\n 0x00\n /* \"#utility.yul\":813:815 */\n 0x20\n /* \"#utility.yul\":801:810 */\n dup3\n /* \"#utility.yul\":792:799 */\n dup5\n /* \"#utility.yul\":788:811 */\n sub\n /* \"#utility.yul\":784:816 */\n slt\n /* \"#utility.yul\":781:900 */\n iszero\n tag_24\n jumpi\n /* \"#utility.yul\":819:898 */\n tag_25\n tag_8\n jump\t// in\ntag_25:\n /* \"#utility.yul\":781:900 */\ntag_24:\n /* \"#utility.yul\":939:940 */\n 0x00\n /* \"#utility.yul\":964:1028 */\n tag_26\n /* \"#utility.yul\":1020:1027 */\n dup5\n /* \"#utility.yul\":1011:1017 */\n dup3\n /* \"#utility.yul\":1000:1009 */\n dup6\n /* \"#utility.yul\":996:1018 */\n add\n /* \"#utility.yul\":964:1028 */\n tag_12\n jump\t// in\ntag_26:\n /* \"#utility.yul\":954:1028 */\n swap2\n pop\n /* \"#utility.yul\":910:1038 */\n pop\n /* \"#utility.yul\":694:1045 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"bond.sol\":61:261 contract Bond {... */\ntag_6:\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"bond.sol\":61:261 contract Bond {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x0ce11a77\n eq\n tag_3\n jumpi\n dup1\n 0x44fd9caa\n eq\n tag_4\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"bond.sol\":82:113 address public registrarAddress */\n tag_3:\n tag_5\n tag_6\n jump\t// in\n tag_5:\n mload(0x40)\n tag_7\n swap2\n swap1\n tag_8\n jump\t// in\n tag_7:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"bond.sol\":121:142 uint public faceValue */\n tag_4:\n tag_9\n tag_10\n jump\t// in\n tag_9:\n mload(0x40)\n tag_11\n swap2\n swap1\n tag_12\n jump\t// in\n tag_11:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"bond.sol\":82:113 address public registrarAddress */\n tag_6:\n 0x00\n dup1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n jump\t// out\n /* \"bond.sol\":121:142 uint public faceValue */\n tag_10:\n sload(0x01)\n dup2\n jump\t// out\n /* \"#utility.yul\":7:133 */\n tag_13:\n /* \"#utility.yul\":44:51 */\n 0x00\n /* \"#utility.yul\":84:126 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":77:82 */\n dup3\n /* \"#utility.yul\":73:127 */\n and\n /* \"#utility.yul\":62:127 */\n swap1\n pop\n /* \"#utility.yul\":7:133 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":139:235 */\n tag_14:\n /* \"#utility.yul\":176:183 */\n 0x00\n /* \"#utility.yul\":205:229 */\n tag_21\n /* \"#utility.yul\":223:228 */\n dup3\n /* \"#utility.yul\":205:229 */\n tag_13\n jump\t// in\n tag_21:\n /* \"#utility.yul\":194:229 */\n swap1\n pop\n /* \"#utility.yul\":139:235 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":241:359 */\n tag_15:\n /* \"#utility.yul\":328:352 */\n tag_23\n /* \"#utility.yul\":346:351 */\n dup2\n /* \"#utility.yul\":328:352 */\n tag_14\n jump\t// in\n tag_23:\n /* \"#utility.yul\":323:326 */\n dup3\n /* \"#utility.yul\":316:353 */\n mstore\n /* \"#utility.yul\":241:359 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":365:587 */\n tag_8:\n /* \"#utility.yul\":458:462 */\n 0x00\n /* \"#utility.yul\":496:498 */\n 0x20\n /* \"#utility.yul\":485:494 */\n dup3\n /* \"#utility.yul\":481:499 */\n add\n /* \"#utility.yul\":473:499 */\n swap1\n pop\n /* \"#utility.yul\":509:580 */\n tag_25\n /* \"#utility.yul\":577:578 */\n 0x00\n /* \"#utility.yul\":566:575 */\n dup4\n /* \"#utility.yul\":562:579 */\n add\n /* \"#utility.yul\":553:559 */\n dup5\n /* \"#utility.yul\":509:580 */\n tag_15\n jump\t// in\n tag_25:\n /* \"#utility.yul\":365:587 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":593:670 */\n tag_16:\n /* \"#utility.yul\":630:637 */\n 0x00\n /* \"#utility.yul\":659:664 */\n dup2\n /* \"#utility.yul\":648:664 */\n swap1\n pop\n /* \"#utility.yul\":593:670 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":676:794 */\n tag_17:\n /* \"#utility.yul\":763:787 */\n tag_28\n /* \"#utility.yul\":781:786 */\n dup2\n /* \"#utility.yul\":763:787 */\n tag_16\n jump\t// in\n tag_28:\n /* \"#utility.yul\":758:761 */\n dup3\n /* \"#utility.yul\":751:788 */\n mstore\n /* \"#utility.yul\":676:794 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":800:1022 */\n tag_12:\n /* \"#utility.yul\":893:897 */\n 0x00\n /* \"#utility.yul\":931:933 */\n 0x20\n /* \"#utility.yul\":920:929 */\n dup3\n /* \"#utility.yul\":916:934 */\n add\n /* \"#utility.yul\":908:934 */\n swap1\n pop\n /* \"#utility.yul\":944:1015 */\n tag_30\n /* \"#utility.yul\":1012:1013 */\n 0x00\n /* \"#utility.yul\":1001:1010 */\n dup4\n /* \"#utility.yul\":997:1014 */\n add\n /* \"#utility.yul\":988:994 */\n dup5\n /* \"#utility.yul\":944:1015 */\n tag_17\n jump\t// in\n tag_30:\n /* \"#utility.yul\":800:1022 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n\n auxdata: 0xa26469706673582212206da7e82cc864ed41c132902d68f5c4432529f686f7cb04ebb333aef9a0f62b4364736f6c634300080d0033\n}\n",
"bytecode": {
"functionDebugData": {
"@_20": {
"entryPoint": null,
"id": 20,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_uint256_fromMemory": {
"entryPoint": 165,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256_fromMemory": {
"entryPoint": 186,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 132,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 127,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 142,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1048:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:1"
},
"nodeType": "YulFunctionCall",
"src": "67:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:1",
"type": ""
}
],
"src": "7:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:1"
},
"nodeType": "YulFunctionCall",
"src": "187:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:1"
},
"nodeType": "YulFunctionCall",
"src": "310:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "400:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:1",
"type": ""
}
],
"src": "334:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "460:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "517:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "526:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "529:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "519:6:1"
},
"nodeType": "YulFunctionCall",
"src": "519:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "519:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "483:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "508:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "490:17:1"
},
"nodeType": "YulFunctionCall",
"src": "490:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "480:2:1"
},
"nodeType": "YulFunctionCall",
"src": "480:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "473:6:1"
},
"nodeType": "YulFunctionCall",
"src": "473:43:1"
},
"nodeType": "YulIf",
"src": "470:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "453:5:1",
"type": ""
}
],
"src": "417:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "608:80:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "618:22:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "633:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "627:5:1"
},
"nodeType": "YulFunctionCall",
"src": "627:13:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "618:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "676:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "649:26:1"
},
"nodeType": "YulFunctionCall",
"src": "649:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "649:33:1"
}
]
},
"name": "abi_decode_t_uint256_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "586:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "594:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "602:5:1",
"type": ""
}
],
"src": "545:143:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "771:274:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "817:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "819:77:1"
},
"nodeType": "YulFunctionCall",
"src": "819:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "819:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "792:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "801:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "788:3:1"
},
"nodeType": "YulFunctionCall",
"src": "788:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "813:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "784:3:1"
},
"nodeType": "YulFunctionCall",
"src": "784:32:1"
},
"nodeType": "YulIf",
"src": "781:119:1"
},
{
"nodeType": "YulBlock",
"src": "910:128:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "925:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "939:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "929:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "954:74:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1000:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1011:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "996:3:1"
},
"nodeType": "YulFunctionCall",
"src": "996:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1020:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256_fromMemory",
"nodeType": "YulIdentifier",
"src": "964:31:1"
},
"nodeType": "YulFunctionCall",
"src": "964:64:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "954:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "741:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "752:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "764:6:1",
"type": ""
}
],
"src": "694:351:1"
}
]
},
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b5060405161025d38038061025d833981810160405281019061003291906100ba565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600181905550506100e7565b600080fd5b6000819050919050565b61009781610084565b81146100a257600080fd5b50565b6000815190506100b48161008e565b92915050565b6000602082840312156100d0576100cf61007f565b5b60006100de848285016100a5565b91505092915050565b610167806100f66000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80630ce11a771461003b57806344fd9caa14610059575b600080fd5b610043610077565b60405161005091906100e2565b60405180910390f35b61006161009b565b60405161006e9190610116565b60405180910390f35b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100cc826100a1565b9050919050565b6100dc816100c1565b82525050565b60006020820190506100f760008301846100d3565b92915050565b6000819050919050565b610110816100fd565b82525050565b600060208201905061012b6000830184610107565b9291505056fea26469706673582212206da7e82cc864ed41c132902d68f5c4432529f686f7cb04ebb333aef9a0f62b4364736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x25D CODESIZE SUB DUP1 PUSH2 0x25D DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0x32 SWAP2 SWAP1 PUSH2 0xBA JUMP JUMPDEST CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP POP PUSH2 0xE7 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x97 DUP2 PUSH2 0x84 JUMP JUMPDEST DUP2 EQ PUSH2 0xA2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0xB4 DUP2 PUSH2 0x8E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD0 JUMPI PUSH2 0xCF PUSH2 0x7F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xDE DUP5 DUP3 DUP6 ADD PUSH2 0xA5 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x167 DUP1 PUSH2 0xF6 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xCE11A77 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0x44FD9CAA EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x77 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0xE2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x61 PUSH2 0x9B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6E SWAP2 SWAP1 PUSH2 0x116 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCC DUP3 PUSH2 0xA1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDC DUP2 PUSH2 0xC1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xF7 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xD3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x110 DUP2 PUSH2 0xFD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x12B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x107 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH14 0xA7E82CC864ED41C132902D68F5C4 NUMBER 0x25 0x29 0xF6 DUP7 0xF7 0xCB DIV 0xEB 0xB3 CALLER 0xAE 0xF9 LOG0 0xF6 0x2B NUMBER PUSH5 0x736F6C6343 STOP ADDMOD 0xD STOP CALLER ",
"sourceMap": "61:200:0:-:0;;;152:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;211:10;192:16;;:29;;;;;;;;;;;;;;;;;;246:3;234:9;:15;;;;152:106;61:200;;88:117:1;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:143::-;602:5;633:6;627:13;618:22;;649:33;676:5;649:33;:::i;:::-;545:143;;;;:::o;694:351::-;764:6;813:2;801:9;792:7;788:23;784:32;781:119;;;819:79;;:::i;:::-;781:119;939:1;964:64;1020:7;1011:6;1000:9;996:22;964:64;:::i;:::-;954:74;;910:128;694:351;;;;:::o;61:200:0:-;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@faceValue_5": {
"entryPoint": 155,
"id": 5,
"parameterSlots": 0,
"returnSlots": 0
},
"@registrarAddress_3": {
"entryPoint": 119,
"id": 3,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 211,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 263,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 226,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 278,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 193,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 161,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 253,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1025:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "52:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "62:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "77:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "84:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "73:3:1"
},
"nodeType": "YulFunctionCall",
"src": "73:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "62:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "34:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "44:7:1",
"type": ""
}
],
"src": "7:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "184:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "194:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "223:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "205:17:1"
},
"nodeType": "YulFunctionCall",
"src": "205:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "194:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "166:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "176:7:1",
"type": ""
}
],
"src": "139:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "306:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "323:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "346:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "328:17:1"
},
"nodeType": "YulFunctionCall",
"src": "328:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "316:6:1"
},
"nodeType": "YulFunctionCall",
"src": "316:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "316:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "294:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "301:3:1",
"type": ""
}
],
"src": "241:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "463:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "473:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "485:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "496:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "481:3:1"
},
"nodeType": "YulFunctionCall",
"src": "481:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "473:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "553:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "566:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "577:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "562:3:1"
},
"nodeType": "YulFunctionCall",
"src": "562:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "509:43:1"
},
"nodeType": "YulFunctionCall",
"src": "509:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "509:71:1"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "435:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "447:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "458:4:1",
"type": ""
}
],
"src": "365:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "638:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "648:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "659:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "648:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "620:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "630:7:1",
"type": ""
}
],
"src": "593:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "741:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "758:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "781:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "763:17:1"
},
"nodeType": "YulFunctionCall",
"src": "763:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "751:6:1"
},
"nodeType": "YulFunctionCall",
"src": "751:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "751:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "729:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "736:3:1",
"type": ""
}
],
"src": "676:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "898:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "908:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "920:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "931:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "916:3:1"
},
"nodeType": "YulFunctionCall",
"src": "916:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "908:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "988:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1001:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1012:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "997:3:1"
},
"nodeType": "YulFunctionCall",
"src": "997:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "944:43:1"
},
"nodeType": "YulFunctionCall",
"src": "944:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "944:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "870:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "882:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "893:4:1",
"type": ""
}
],
"src": "800:222:1"
}
]
},
"contents": "{\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100365760003560e01c80630ce11a771461003b57806344fd9caa14610059575b600080fd5b610043610077565b60405161005091906100e2565b60405180910390f35b61006161009b565b60405161006e9190610116565b60405180910390f35b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100cc826100a1565b9050919050565b6100dc816100c1565b82525050565b60006020820190506100f760008301846100d3565b92915050565b6000819050919050565b610110816100fd565b82525050565b600060208201905061012b6000830184610107565b9291505056fea26469706673582212206da7e82cc864ed41c132902d68f5c4432529f686f7cb04ebb333aef9a0f62b4364736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xCE11A77 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0x44FD9CAA EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x77 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0xE2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x61 PUSH2 0x9B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6E SWAP2 SWAP1 PUSH2 0x116 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCC DUP3 PUSH2 0xA1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDC DUP2 PUSH2 0xC1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xF7 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xD3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x110 DUP2 PUSH2 0xFD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x12B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x107 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH14 0xA7E82CC864ED41C132902D68F5C4 NUMBER 0x25 0x29 0xF6 DUP7 0xF7 0xCB DIV 0xEB 0xB3 CALLER 0xAE 0xF9 LOG0 0xF6 0x2B NUMBER PUSH5 0x736F6C6343 STOP ADDMOD 0xD STOP CALLER ",
"sourceMap": "61:200:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;82:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;121:21;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;82:31;;;;;;;;;;;;:::o;121:21::-;;;;:::o;7:126:1:-;44:7;84:42;77:5;73:54;62:65;;7:126;;;:::o;139:96::-;176:7;205:24;223:5;205:24;:::i;:::-;194:35;;139:96;;;:::o;241:118::-;328:24;346:5;328:24;:::i;:::-;323:3;316:37;241:118;;:::o;365:222::-;458:4;496:2;485:9;481:18;473:26;;509:71;577:1;566:9;562:17;553:6;509:71;:::i;:::-;365:222;;;;:::o;593:77::-;630:7;659:5;648:16;;593:77;;;:::o;676:118::-;763:24;781:5;763:24;:::i;:::-;758:3;751:37;676:118;;:::o;800:222::-;893:4;931:2;920:9;916:18;908:26;;944:71;1012:1;1001:9;997:17;988:6;944:71;:::i;:::-;800:222;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "71800",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"faceValue()": "2429",
"registrarAddress()": "2489"
}
},
"legacyAssembly": {
".code": [
{
"begin": 61,
"end": 261,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 61,
"end": 261,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 61,
"end": 261,
"name": "MSTORE",
"source": 0
},
{
"begin": 152,
"end": 258,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 152,
"end": 258,
"name": "DUP1",
"source": 0
},
{
"begin": 152,
"end": 258,
"name": "ISZERO",
"source": 0
},
{
"begin": 152,
"end": 258,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 152,
"end": 258,
"name": "JUMPI",
"source": 0
},
{
"begin": 152,
"end": 258,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 152,
"end": 258,
"name": "DUP1",
"source": 0
},
{
"begin": 152,
"end": 258,
"name": "REVERT",
"source": 0
},
{
"begin": 152,
"end": 258,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 152,
"end": 258,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 152,
"end": 258,
"name": "POP",
"source": 0
},
{
"begin": 152,
"end": 258,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 152,
"end": 258,
"name": "MLOAD",
"source": 0
},
{
"begin": 152,
"end": 258,
"name": "PUSHSIZE",
"source": 0
},
{
"begin": 152,
"end": 258,
"name": "CODESIZE",
"source": 0
},
{
"begin": 152,
"end": 258,
"name": "SUB",
"source": 0
},
{
"begin": 152,
"end": 258,
"name": "DUP1",
"source": 0
},
{
"begin": 152,
"end": 258,
"name": "PUSHSIZE",
"source": 0
},
{
"begin": 152,
"end": 258,
"name": "DUP4",
"source": 0
},
{
"begin": 152,
"end": 258,
"name": "CODECOPY",
"source": 0
},
{
"begin": 152,
"end": 258,
"name": "DUP2",
"source": 0
},
{
"begin": 152,
"end": 258,
"name": "DUP2",
"source": 0
},
{
"begin": 152,
"end": 258,
"name": "ADD",
"source": 0
},
{
"begin": 152,
"end": 258,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 152,
"end": 258,
"name": "MSTORE",
"source": 0
},
{
"begin": 152,
"end": 258,
"name": "DUP2",
"source": 0
},
{
"begin": 152,
"end": 258,
"name": "ADD",
"source": 0
},
{
"begin": 152,
"end": 258,
"name": "SWAP1",
"source": 0
},
{
"begin": 152,
"end": 258,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 152,
"end": 258,
"name": "SWAP2",
"source": 0
},
{
"begin": 152,
"end": 258,
"name": "SWAP1",
"source": 0
},
{
"begin": 152,
"end": 258,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 152,
"end": 258,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 152,
"end": 258,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 152,
"end": 258,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 211,
"end": 221,
"name": "CALLER",
"source": 0
},
{
"begin": 192,
"end": 208,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 192,
"end": 208,
"name": "DUP1",
"source": 0
},
{
"begin": 192,
"end": 221,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 192,
"end": 221,
"name": "EXP",
"source": 0
},
{
"begin": 192,
"end": 221,
"name": "DUP2",
"source": 0
},
{
"begin": 192,
"end": 221,
"name": "SLOAD",
"source": 0
},
{
"begin": 192,
"end": 221,
"name": "DUP2",
"source": 0
},
{
"begin": 192,
"end": 221,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 192,
"end": 221,
"name": "MUL",
"source": 0
},
{
"begin": 192,
"end": 221,
"name": "NOT",
"source": 0
},
{
"begin": 192,
"end": 221,
"name": "AND",
"source": 0
},
{
"begin": 192,
"end": 221,
"name": "SWAP1",
"source": 0
},
{
"begin": 192,
"end": 221,
"name": "DUP4",
"source": 0
},
{
"begin": 192,
"end": 221,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 192,
"end": 221,
"name": "AND",
"source": 0
},
{
"begin": 192,
"end": 221,
"name": "MUL",
"source": 0
},
{
"begin": 192,
"end": 221,
"name": "OR",
"source": 0
},
{
"begin": 192,
"end": 221,
"name": "SWAP1",
"source": 0
},
{
"begin": 192,
"end": 221,
"name": "SSTORE",
"source": 0
},
{
"begin": 192,
"end": 221,
"name": "POP",
"source": 0
},
{
"begin": 246,
"end": 249,
"name": "DUP1",
"source": 0
},
{
"begin": 234,
"end": 243,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 234,
"end": 249,
"name": "DUP2",
"source": 0
},
{
"begin": 234,
"end": 249,
"name": "SWAP1",
"source": 0
},
{
"begin": 234,
"end": 249,
"name": "SSTORE",
"source": 0
},
{
"begin": 234,
"end": 249,
"name": "POP",
"source": 0
},
{
"begin": 152,
"end": 258,
"name": "POP",
"source": 0
},
{
"begin": 61,
"end": 261,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 61,
"end": 261,
"name": "JUMP",
"source": 0
},
{
"begin": 88,
"end": 205,
"name": "tag",
"source": 1,
"value": "8"
},
{
"begin": 88,
"end": 205,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 197,
"end": 198,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 194,
"end": 195,
"name": "DUP1",
"source": 1
},
{
"begin": 187,
"end": 199,
"name": "REVERT",
"source": 1
},
{
"begin": 334,
"end": 411,
"name": "tag",
"source": 1,
"value": "10"
},
{
"begin": 334,
"end": 411,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 371,
"end": 378,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 400,
"end": 405,
"name": "DUP2",
"source": 1
},
{
"begin": 389,
"end": 405,
"name": "SWAP1",
"source": 1
},
{
"begin": 389,
"end": 405,
"name": "POP",
"source": 1
},
{
"begin": 334,
"end": 411,
"name": "SWAP2",
"source": 1
},
{
"begin": 334,
"end": 411,
"name": "SWAP1",
"source": 1
},
{
"begin": 334,
"end": 411,
"name": "POP",
"source": 1
},
{
"begin": 334,
"end": 411,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 417,
"end": 539,
"name": "tag",
"source": 1,
"value": "11"
},
{
"begin": 417,
"end": 539,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 490,
"end": 514,
"name": "PUSH [tag]",
"source": 1,
"value": "19"
},
{
"begin": 508,
"end": 513,
"name": "DUP2",
"source": 1
},
{
"begin": 490,
"end": 514,
"name": "PUSH [tag]",
"source": 1,
"value": "10"
},
{
"begin": 490,
"end": 514,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 490,
"end": 514,
"name": "tag",
"source": 1,
"value": "19"
},
{
"begin": 490,
"end": 514,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 483,
"end": 488,
"name": "DUP2",
"source": 1
},
{
"begin": 480,
"end": 515,
"name": "EQ",
"source": 1
},
{
"begin": 470,
"end": 533,
"name": "PUSH [tag]",
"source": 1,
"value": "20"
},
{
"begin": 470,
"end": 533,
"name": "JUMPI",
"source": 1
},
{
"begin": 529,
"end": 530,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 526,
"end": 527,
"name": "DUP1",
"source": 1
},
{
"begin": 519,
"end": 531,
"name": "REVERT",
"source": 1
},
{
"begin": 470,
"end": 533,
"name": "tag",
"source": 1,
"value": "20"
},
{
"begin": 470,
"end": 533,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 417,
"end": 539,
"name": "POP",
"source": 1
},
{
"begin": 417,
"end": 539,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 545,
"end": 688,
"name": "tag",
"source": 1,
"value": "12"
},
{
"begin": 545,
"end": 688,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 602,
"end": 607,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 633,
"end": 639,
"name": "DUP2",
"source": 1
},
{
"begin": 627,
"end": 640,
"name": "MLOAD",
"source": 1
},
{
"begin": 618,
"end": 640,
"name": "SWAP1",
"source": 1
},
{
"begin": 618,
"end": 640,
"name": "POP",
"source": 1
},
{
"begin": 649,
"end": 682,
"name": "PUSH [tag]",
"source": 1,
"value": "22"
},
{
"begin": 676,
"end": 681,
"name": "DUP2",
"source": 1
},
{
"begin": 649,
"end": 682,
"name": "PUSH [tag]",
"source": 1,
"value": "11"
},
{
"begin": 649,
"end": 682,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 649,
"end": 682,
"name": "tag",
"source": 1,
"value": "22"
},
{
"begin": 649,
"end": 682,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 545,
"end": 688,
"name": "SWAP3",
"source": 1
},
{
"begin": 545,
"end": 688,
"name": "SWAP2",
"source": 1
},
{
"begin": 545,
"end": 688,
"name": "POP",
"source": 1
},
{
"begin": 545,
"end": 688,
"name": "POP",
"source": 1
},
{
"begin": 545,
"end": 688,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 694,
"end": 1045,
"name": "tag",
"source": 1,
"value": "3"
},
{
"begin": 694,
"end": 1045,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 764,
"end": 770,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 813,
"end": 815,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 801,
"end": 810,
"name": "DUP3",
"source": 1
},
{
"begin": 792,
"end": 799,
"name": "DUP5",
"source": 1
},
{
"begin": 788,
"end": 811,
"name": "SUB",
"source": 1
},
{
"begin": 784,
"end": 816,
"name": "SLT",
"source": 1
},
{
"begin": 781,
"end": 900,
"name": "ISZERO",
"source": 1
},
{
"begin": 781,
"end": 900,
"name": "PUSH [tag]",
"source": 1,
"value": "24"
},
{
"begin": 781,
"end": 900,
"name": "JUMPI",
"source": 1
},
{
"begin": 819,
"end": 898,
"name": "PUSH [tag]",
"source": 1,
"value": "25"
},
{
"begin": 819,
"end": 898,
"name": "PUSH [tag]",
"source": 1,
"value": "8"
},
{
"begin": 819,
"end": 898,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 819,
"end": 898,
"name": "tag",
"source": 1,
"value": "25"
},
{
"begin": 819,
"end": 898,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 781,
"end": 900,
"name": "tag",
"source": 1,
"value": "24"
},
{
"begin": 781,
"end": 900,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 939,
"end": 940,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 964,
"end": 1028,
"name": "PUSH [tag]",
"source": 1,
"value": "26"
},
{
"begin": 1020,
"end": 1027,
"name": "DUP5",
"source": 1
},
{
"begin": 1011,
"end": 1017,
"name": "DUP3",
"source": 1
},
{
"begin": 1000,
"end": 1009,
"name": "DUP6",
"source": 1
},
{
"begin": 996,
"end": 1018,
"name": "ADD",
"source": 1
},
{
"begin": 964,
"end": 1028,
"name": "PUSH [tag]",
"source": 1,
"value": "12"
},
{
"begin": 964,
"end": 1028,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 964,
"end": 1028,
"name": "tag",
"source": 1,
"value": "26"
},
{
"begin": 964,
"end": 1028,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 954,
"end": 1028,
"name": "SWAP2",
"source": 1
},
{
"begin": 954,
"end": 1028,
"name": "POP",
"source": 1
},
{
"begin": 910,
"end": 1038,
"name": "POP",
"source": 1
},
{
"begin": 694,
"end": 1045,
"name": "SWAP3",
"source": 1
},
{
"begin": 694,
"end": 1045,
"name": "SWAP2",
"source": 1
},
{
"begin": 694,
"end": 1045,
"name": "POP",
"source": 1
},
{
"begin": 694,
"end": 1045,
"name": "POP",
"source": 1
},
{
"begin": 694,
"end": 1045,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 61,
"end": 261,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 61,
"end": 261,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 61,
"end": 261,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 61,
"end": 261,
"name": "DUP1",
"source": 0
},
{
"begin": 61,
"end": 261,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 61,
"end": 261,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 61,
"end": 261,
"name": "CODECOPY",
"source": 0
},
{
"begin": 61,
"end": 261,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 61,
"end": 261,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a26469706673582212206da7e82cc864ed41c132902d68f5c4432529f686f7cb04ebb333aef9a0f62b4364736f6c634300080d0033",
".code": [
{
"begin": 61,
"end": 261,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 61,
"end": 261,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 61,
"end": 261,
"name": "MSTORE",
"source": 0
},
{
"begin": 61,
"end": 261,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 61,
"end": 261,
"name": "DUP1",
"source": 0
},
{
"begin": 61,
"end": 261,
"name": "ISZERO",
"source": 0
},
{
"begin": 61,
"end": 261,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 61,
"end": 261,
"name": "JUMPI",
"source": 0
},
{
"begin": 61,
"end": 261,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 61,
"end": 261,
"name": "DUP1",
"source": 0
},
{
"begin": 61,
"end": 261,
"name": "REVERT",
"source": 0
},
{
"begin": 61,
"end": 261,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 61,
"end": 261,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 61,
"end": 261,
"name": "POP",
"source": 0
},
{
"begin": 61,
"end": 261,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 61,
"end": 261,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 61,
"end": 261,
"name": "LT",
"source": 0
},
{
"begin": 61,
"end": 261,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 61,
"end": 261,
"name": "JUMPI",
"source": 0
},
{
"begin": 61,
"end": 261,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 61,
"end": 261,
"name": "CALLDATALOAD",
"source": 0
},
{
"begin": 61,
"end": 261,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 61,
"end": 261,
"name": "SHR",
"source": 0
},
{
"begin": 61,
"end": 261,
"name": "DUP1",
"source": 0
},
{
"begin": 61,
"end": 261,
"name": "PUSH",
"source": 0,
"value": "CE11A77"
},
{
"begin": 61,
"end": 261,
"name": "EQ",
"source": 0
},
{
"begin": 61,
"end": 261,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 61,
"end": 261,
"name": "JUMPI",
"source": 0
},
{
"begin": 61,
"end": 261,
"name": "DUP1",
"source": 0
},
{
"begin": 61,
"end": 261,
"name": "PUSH",
"source": 0,
"value": "44FD9CAA"
},
{
"begin": 61,
"end": 261,
"name": "EQ",
"source": 0
},
{
"begin": 61,
"end": 261,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 61,
"end": 261,
"name": "JUMPI",
"source": 0
},
{
"begin": 61,
"end": 261,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 61,
"end": 261,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 61,
"end": 261,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 61,
"end": 261,
"name": "DUP1",
"source": 0
},
{
"begin": 61,
"end": 261,
"name": "REVERT",
"source": 0
},
{
"begin": 82,
"end": 113,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 82,
"end": 113,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 82,
"end": 113,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 82,
"end": 113,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 82,
"end": 113,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 82,
"end": 113,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 82,
"end": 113,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 82,
"end": 113,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 82,
"end": 113,
"name": "MLOAD",
"source": 0
},
{
"begin": 82,
"end": 113,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 82,
"end": 113,
"name": "SWAP2",
"source": 0
},
{
"begin": 82,
"end": 113,
"name": "SWAP1",
"source": 0
},
{
"begin": 82,
"end": 113,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 82,
"end": 113,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 82,
"end": 113,
"name": "tag",
"source": 0,
"value": "7"
},
{
"begin": 82,
"end": 113,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 82,
"end": 113,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 82,
"end": 113,
"name": "MLOAD",
"source": 0
},
{
"begin": 82,
"end": 113,
"name": "DUP1",
"source": 0
},
{
"begin": 82,
"end": 113,
"name": "SWAP2",
"source": 0
},
{
"begin": 82,
"end": 113,
"name": "SUB",
"source": 0
},
{
"begin": 82,
"end": 113,
"name": "SWAP1",
"source": 0
},
{
"begin": 82,
"end": 113,
"name": "RETURN",
"source": 0
},
{
"begin": 121,
"end": 142,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 121,
"end": 142,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 121,
"end": 142,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 121,
"end": 142,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 121,
"end": 142,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 121,
"end": 142,
"name": "tag",
"source": 0,
"value": "9"
},
{
"begin": 121,
"end": 142,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 121,
"end": 142,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 121,
"end": 142,
"name": "MLOAD",
"source": 0
},
{
"begin": 121,
"end": 142,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 121,
"end": 142,
"name": "SWAP2",
"source": 0
},
{
"begin": 121,
"end": 142,
"name": "SWAP1",
"source": 0
},
{
"begin": 121,
"end": 142,
"name": "PUSH [tag]",
"source": 0,
"value": "12"
},
{
"begin": 121,
"end": 142,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 121,
"end": 142,
"name": "tag",
"source": 0,
"value": "11"
},
{
"begin": 121,
"end": 142,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 121,
"end": 142,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 121,
"end": 142,
"name": "MLOAD",
"source": 0
},
{
"begin": 121,
"end": 142,
"name": "DUP1",
"source": 0
},
{
"begin": 121,
"end": 142,
"name": "SWAP2",
"source": 0
},
{
"begin": 121,
"end": 142,
"name": "SUB",
"source": 0
},
{
"begin": 121,
"end": 142,
"name": "SWAP1",
"source": 0
},
{
"begin": 121,
"end": 142,
"name": "RETURN",
"source": 0
},
{
"begin": 82,
"end": 113,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 82,
"end": 113,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 82,
"end": 113,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 82,
"end": 113,
"name": "DUP1",
"source": 0
},
{
"begin": 82,
"end": 113,
"name": "SLOAD",
"source": 0
},
{
"begin": 82,
"end": 113,
"name": "SWAP1",
"source": 0
},
{
"begin": 82,
"end": 113,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 82,
"end": 113,
"name": "EXP",
"source": 0
},
{
"begin": 82,
"end": 113,
"name": "SWAP1",
"source": 0
},
{
"begin": 82,
"end": 113,
"name": "DIV",
"source": 0
},
{
"begin": 82,
"end": 113,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 82,
"end": 113,
"name": "AND",
"source": 0
},
{
"begin": 82,
"end": 113,
"name": "DUP2",
"source": 0
},
{
"begin": 82,
"end": 113,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 121,
"end": 142,
"name": "tag",
"source": 0,
"value": "10"
},
{
"begin": 121,
"end": 142,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 121,
"end": 142,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 121,
"end": 142,
"name": "SLOAD",
"source": 0
},
{
"begin": 121,
"end": 142,
"name": "DUP2",
"source": 0
},
{
"begin": 121,
"end": 142,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 7,
"end": 133,
"name": "tag",
"source": 1,
"value": "13"
},
{
"begin": 7,
"end": 133,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 44,
"end": 51,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 84,
"end": 126,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 77,
"end": 82,
"name": "DUP3",
"source": 1
},
{
"begin": 73,
"end": 127,
"name": "AND",
"source": 1
},
{
"begin": 62,
"end": 127,
"name": "SWAP1",
"source": 1
},
{
"begin": 62,
"end": 127,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 133,
"name": "SWAP2",
"source": 1
},
{
"begin": 7,
"end": 133,
"name": "SWAP1",
"source": 1
},
{
"begin": 7,
"end": 133,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 133,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 139,
"end": 235,
"name": "tag",
"source": 1,
"value": "14"
},
{
"begin": 139,
"end": 235,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 176,
"end": 183,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 205,
"end": 229,
"name": "PUSH [tag]",
"source": 1,
"value": "21"
},
{
"begin": 223,
"end": 228,
"name": "DUP3",
"source": 1
},
{
"begin": 205,
"end": 229,
"name": "PUSH [tag]",
"source": 1,
"value": "13"
},
{
"begin": 205,
"end": 229,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 205,
"end": 229,
"name": "tag",
"source": 1,
"value": "21"
},
{
"begin": 205,
"end": 229,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 194,
"end": 229,
"name": "SWAP1",
"source": 1
},
{
"begin": 194,
"end": 229,
"name": "POP",
"source": 1
},
{
"begin": 139,
"end": 235,
"name": "SWAP2",
"source": 1
},
{
"begin": 139,
"end": 235,
"name": "SWAP1",
"source": 1
},
{
"begin": 139,
"end": 235,
"name": "POP",
"source": 1
},
{
"begin": 139,
"end": 235,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 241,
"end": 359,
"name": "tag",
"source": 1,
"value": "15"
},
{
"begin": 241,
"end": 359,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 328,
"end": 352,
"name": "PUSH [tag]",
"source": 1,
"value": "23"
},
{
"begin": 346,
"end": 351,
"name": "DUP2",
"source": 1
},
{
"begin": 328,
"end": 352,
"name": "PUSH [tag]",
"source": 1,
"value": "14"
},
{
"begin": 328,
"end": 352,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 328,
"end": 352,
"name": "tag",
"source": 1,
"value": "23"
},
{
"begin": 328,
"end": 352,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 323,
"end": 326,
"name": "DUP3",
"source": 1
},
{
"begin": 316,
"end": 353,
"name": "MSTORE",
"source": 1
},
{
"begin": 241,
"end": 359,
"name": "POP",
"source": 1
},
{
"begin": 241,
"end": 359,
"name": "POP",
"source": 1
},
{
"begin": 241,
"end": 359,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 365,
"end": 587,
"name": "tag",
"source": 1,
"value": "8"
},
{
"begin": 365,
"end": 587,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 458,
"end": 462,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 496,
"end": 498,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 485,
"end": 494,
"name": "DUP3",
"source": 1
},
{
"begin": 481,
"end": 499,
"name": "ADD",
"source": 1
},
{
"begin": 473,
"end": 499,
"name": "SWAP1",
"source": 1
},
{
"begin": 473,
"end": 499,
"name": "POP",
"source": 1
},
{
"begin": 509,
"end": 580,
"name": "PUSH [tag]",
"source": 1,
"value": "25"
},
{
"begin": 577,
"end": 578,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 566,
"end": 575,
"name": "DUP4",
"source": 1
},
{
"begin": 562,
"end": 579,
"name": "ADD",
"source": 1
},
{
"begin": 553,
"end": 559,
"name": "DUP5",
"source": 1
},
{
"begin": 509,
"end": 580,
"name": "PUSH [tag]",
"source": 1,
"value": "15"
},
{
"begin": 509,
"end": 580,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 509,
"end": 580,
"name": "tag",
"source": 1,
"value": "25"
},
{
"begin": 509,
"end": 580,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 365,
"end": 587,
"name": "SWAP3",
"source": 1
},
{
"begin": 365,
"end": 587,
"name": "SWAP2",
"source": 1
},
{
"begin": 365,
"end": 587,
"name": "POP",
"source": 1
},
{
"begin": 365,
"end": 587,
"name": "POP",
"source": 1
},
{
"begin": 365,
"end": 587,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 593,
"end": 670,
"name": "tag",
"source": 1,
"value": "16"
},
{
"begin": 593,
"end": 670,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 630,
"end": 637,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 659,
"end": 664,
"name": "DUP2",
"source": 1
},
{
"begin": 648,
"end": 664,
"name": "SWAP1",
"source": 1
},
{
"begin": 648,
"end": 664,
"name": "POP",
"source": 1
},
{
"begin": 593,
"end": 670,
"name": "SWAP2",
"source": 1
},
{
"begin": 593,
"end": 670,
"name": "SWAP1",
"source": 1
},
{
"begin": 593,
"end": 670,
"name": "POP",
"source": 1
},
{
"begin": 593,
"end": 670,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 676,
"end": 794,
"name": "tag",
"source": 1,
"value": "17"
},
{
"begin": 676,
"end": 794,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 763,
"end": 787,
"name": "PUSH [tag]",
"source": 1,
"value": "28"
},
{
"begin": 781,
"end": 786,
"name": "DUP2",
"source": 1
},
{
"begin": 763,
"end": 787,
"name": "PUSH [tag]",
"source": 1,
"value": "16"
},
{
"begin": 763,
"end": 787,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 763,
"end": 787,
"name": "tag",
"source": 1,
"value": "28"
},
{
"begin": 763,
"end": 787,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 758,
"end": 761,
"name": "DUP3",
"source": 1
},
{
"begin": 751,
"end": 788,
"name": "MSTORE",
"source": 1
},
{
"begin": 676,
"end": 794,
"name": "POP",
"source": 1
},
{
"begin": 676,
"end": 794,
"name": "POP",
"source": 1
},
{
"begin": 676,
"end": 794,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 800,
"end": 1022,
"name": "tag",
"source": 1,
"value": "12"
},
{
"begin": 800,
"end": 1022,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 893,
"end": 897,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 931,
"end": 933,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 920,
"end": 929,
"name": "DUP3",
"source": 1
},
{
"begin": 916,
"end": 934,
"name": "ADD",
"source": 1
},
{
"begin": 908,
"end": 934,
"name": "SWAP1",
"source": 1
},
{
"begin": 908,
"end": 934,
"name": "POP",
"source": 1
},
{
"begin": 944,
"end": 1015,
"name": "PUSH [tag]",
"source": 1,
"value": "30"
},
{
"begin": 1012,
"end": 1013,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1001,
"end": 1010,
"name": "DUP4",
"source": 1
},
{
"begin": 997,
"end": 1014,
"name": "ADD",
"source": 1
},
{
"begin": 988,
"end": 994,
"name": "DUP5",
"source": 1
},
{
"begin": 944,
"end": 1015,
"name": "PUSH [tag]",
"source": 1,
"value": "17"
},
{
"begin": 944,
"end": 1015,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 944,
"end": 1015,
"name": "tag",
"source": 1,
"value": "30"
},
{
"begin": 944,
"end": 1015,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 800,
"end": 1022,
"name": "SWAP3",
"source": 1
},
{
"begin": 800,
"end": 1022,
"name": "SWAP2",
"source": 1
},
{
"begin": 800,
"end": 1022,
"name": "POP",
"source": 1
},
{
"begin": 800,
"end": 1022,
"name": "POP",
"source": 1
},
{
"begin": 800,
"end": 1022,
"name": "JUMP",
"source": 1,
"value": "[out]"
}
]
}
}
},
"methodIdentifiers": {
"faceValue()": "44fd9caa",
"registrarAddress()": "0ce11a77"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_fv\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"faceValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registrarAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"bond.sol\":\"Bond\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"bond.sol\":{\"keccak256\":\"0xf033b158719f3988b6d408b4546069a02e2d3fda6fe770c9056608703ec91179\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a61932eaed86d71203eb26af2c2702a50657fa5a2efe4e344c889ef34538ca9\",\"dweb:/ipfs/QmbbdXTzzT2y2CC4Xuhaz8mZ4cCprr2ahWh8eY8MWwN1LY\"]}},\"version\":1}",
"storageLayout": {
"storage": [
{
"astId": 3,
"contract": "bond.sol:Bond",
"label": "registrarAddress",
"offset": 0,
"slot": "0",
"type": "t_address"
},
{
"astId": 5,
"contract": "bond.sol:Bond",
"label": "faceValue",
"offset": 0,
"slot": "1",
"type": "t_uint256"
}
],
"types": {
"t_address": {
"encoding": "inplace",
"label": "address",
"numberOfBytes": "20"
},
"t_uint256": {
"encoding": "inplace",
"label": "uint256",
"numberOfBytes": "32"
}
}
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"errors": [
{
"component": "general",
"errorCode": "2462",
"formattedMessage": "Warning: Visibility for constructor is ignored. If you want the contract to be non-deployable, making it \"abstract\" is sufficient.\n --> bond.sol:8:5:\n |\n8 | constructor(uint _fv) public {\n | ^ (Relevant source part starts here and spans across multiple lines).\n\n",
"message": "Visibility for constructor is ignored. If you want the contract to be non-deployable, making it \"abstract\" is sufficient.",
"severity": "warning",
"sourceLocation": {
"end": 258,
"file": "bond.sol",
"start": 152
},
"type": "Warning"
}
],
"sources": {
"bond.sol": {
"ast": {
"absolutePath": "bond.sol",
"exportedSymbols": {
"Bond": [
21
]
},
"id": 22,
"license": "MIT",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"^",
"0.8",
".13"
],
"nodeType": "PragmaDirective",
"src": "33:24:0"
},
{
"abstract": false,
"baseContracts": [],
"canonicalName": "Bond",
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 21,
"linearizedBaseContracts": [
21
],
"name": "Bond",
"nameLocation": "70:4:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"functionSelector": "0ce11a77",
"id": 3,
"mutability": "mutable",
"name": "registrarAddress",
"nameLocation": "97:16:0",
"nodeType": "VariableDeclaration",
"scope": 21,
"src": "82:31:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "82:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "public"
},
{
"constant": false,
"functionSelector": "44fd9caa",
"id": 5,
"mutability": "mutable",
"name": "faceValue",
"nameLocation": "133:9:0",
"nodeType": "VariableDeclaration",
"scope": 21,
"src": "121:21:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 4,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "121:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "public"
},
{
"body": {
"id": 19,
"nodeType": "Block",
"src": "181:77:0",
"statements": [
{
"expression": {
"id": 13,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 10,
"name": "registrarAddress",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "192:16:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"expression": {
"id": 11,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967281,
"src": "211:3:0",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 12,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "211:10:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "192:29:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 14,
"nodeType": "ExpressionStatement",
"src": "192:29:0"
},
{
"expression": {
"id": 17,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 15,
"name": "faceValue",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5,
"src": "234:9:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 16,
"name": "_fv",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7,
"src": "246:3:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "234:15:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 18,
"nodeType": "ExpressionStatement",
"src": "234:15:0"
}
]
},
"id": 20,
"implemented": true,
"kind": "constructor",
"modifiers": [],
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 8,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7,
"mutability": "mutable",
"name": "_fv",
"nameLocation": "169:3:0",
"nodeType": "VariableDeclaration",
"scope": 20,
"src": "164:8:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 6,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "164:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "163:10:0"
},
"returnParameters": {
"id": 9,
"nodeType": "ParameterList",
"parameters": [],
"src": "181:0:0"
},
"scope": 21,
"src": "152:106:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
}
],
"scope": 22,
"src": "61:200:0",
"usedErrors": []
}
],
"src": "33:228:0"
},
"id": 0
}
}
}
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50610478806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80636d4ce63c116100715780636d4ce63c146101085780638fdb718914610126578063b3bcfa8214610130578063e7004c891461013a578063f4e7858014610158578063fc6167cc14610176576100a9565b806306661abd146100ae578063340488c6146100cc578063350ca843146100d6578063371303c0146100f45780634c35a7c9146100fe575b600080fd5b6100b6610194565b6040516100c39190610282565b60405180910390f35b6100d461019a565b005b6100de6101b6565b6040516100eb91906102b8565b60405180910390f35b6100fc6101c9565b005b6101066101e4565b005b610110610201565b60405161011d9190610282565b60405180910390f35b61012e61020a565b005b610138610227565b005b610142610242565b60405161014f9190610314565b60405180910390f35b61016061024a565b60405161016d91906102b8565b60405180910390f35b61017e610261565b60405161018b9190610282565b60405180910390f35b60005481565b60018060006101000a81548160ff021916908315150217905550565b600160009054906101000a900460ff1681565b60016000808282546101db919061035e565b92505081905550565b6000600160006101000a81548160ff021916908315150217905550565b60008054905090565b6000600290508060005461021e91906103b4565b60008190555050565b6001600080828254610239919061040e565b92505081905550565b600033905090565b6000600160009054906101000a900460ff16905090565b600042905090565b6000819050919050565b61027c81610269565b82525050565b60006020820190506102976000830184610273565b92915050565b60008115159050919050565b6102b28161029d565b82525050565b60006020820190506102cd60008301846102a9565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006102fe826102d3565b9050919050565b61030e816102f3565b82525050565b60006020820190506103296000830184610305565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061036982610269565b915061037483610269565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156103a9576103a861032f565b5b828201905092915050565b60006103bf82610269565b91506103ca83610269565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156104035761040261032f565b5b828202905092915050565b600061041982610269565b915061042483610269565b9250828210156104375761043661032f565b5b82820390509291505056fea26469706673582212203755e7043b4b2cf585db48b52fa659b559b43428c479cef7fe759062cc83a93b64736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x478 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xA9 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6D4CE63C GT PUSH2 0x71 JUMPI DUP1 PUSH4 0x6D4CE63C EQ PUSH2 0x108 JUMPI DUP1 PUSH4 0x8FDB7189 EQ PUSH2 0x126 JUMPI DUP1 PUSH4 0xB3BCFA82 EQ PUSH2 0x130 JUMPI DUP1 PUSH4 0xE7004C89 EQ PUSH2 0x13A JUMPI DUP1 PUSH4 0xF4E78580 EQ PUSH2 0x158 JUMPI DUP1 PUSH4 0xFC6167CC EQ PUSH2 0x176 JUMPI PUSH2 0xA9 JUMP JUMPDEST DUP1 PUSH4 0x6661ABD EQ PUSH2 0xAE JUMPI DUP1 PUSH4 0x340488C6 EQ PUSH2 0xCC JUMPI DUP1 PUSH4 0x350CA843 EQ PUSH2 0xD6 JUMPI DUP1 PUSH4 0x371303C0 EQ PUSH2 0xF4 JUMPI DUP1 PUSH4 0x4C35A7C9 EQ PUSH2 0xFE JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB6 PUSH2 0x194 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC3 SWAP2 SWAP1 PUSH2 0x282 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xD4 PUSH2 0x19A JUMP JUMPDEST STOP JUMPDEST PUSH2 0xDE PUSH2 0x1B6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xEB SWAP2 SWAP1 PUSH2 0x2B8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xFC PUSH2 0x1C9 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x106 PUSH2 0x1E4 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x110 PUSH2 0x201 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x11D SWAP2 SWAP1 PUSH2 0x282 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x12E PUSH2 0x20A JUMP JUMPDEST STOP JUMPDEST PUSH2 0x138 PUSH2 0x227 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x142 PUSH2 0x242 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x14F SWAP2 SWAP1 PUSH2 0x314 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x160 PUSH2 0x24A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x16D SWAP2 SWAP1 PUSH2 0x2B8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x17E PUSH2 0x261 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x18B SWAP2 SWAP1 PUSH2 0x282 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 DUP1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD PUSH2 0x1DB SWAP2 SWAP1 PUSH2 0x35E JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SWAP1 POP DUP1 PUSH1 0x0 SLOAD PUSH2 0x21E SWAP2 SWAP1 PUSH2 0x3B4 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD PUSH2 0x239 SWAP2 SWAP1 PUSH2 0x40E JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 TIMESTAMP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x27C DUP2 PUSH2 0x269 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x297 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x273 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2B2 DUP2 PUSH2 0x29D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2CD PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2A9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2FE DUP3 PUSH2 0x2D3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x30E DUP2 PUSH2 0x2F3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x329 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x305 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x369 DUP3 PUSH2 0x269 JUMP JUMPDEST SWAP2 POP PUSH2 0x374 DUP4 PUSH2 0x269 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x3A9 JUMPI PUSH2 0x3A8 PUSH2 0x32F JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3BF DUP3 PUSH2 0x269 JUMP JUMPDEST SWAP2 POP PUSH2 0x3CA DUP4 PUSH2 0x269 JUMP JUMPDEST SWAP3 POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x403 JUMPI PUSH2 0x402 PUSH2 0x32F JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x419 DUP3 PUSH2 0x269 JUMP JUMPDEST SWAP2 POP PUSH2 0x424 DUP4 PUSH2 0x269 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x437 JUMPI PUSH2 0x436 PUSH2 0x32F JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALLDATACOPY SSTORE 0xE7 DIV EXTCODESIZE 0x4B 0x2C CREATE2 DUP6 0xDB BASEFEE 0xB5 0x2F 0xA6 MSIZE 0xB5 MSIZE 0xB4 CALLVALUE 0x28 0xC4 PUSH26 0xCEF7FE759062CC83A93B64736F6C634300080D00330000000000 ",
"sourceMap": "58:926:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@aBool_5": {
"entryPoint": 438,
"id": 5,
"parameterSlots": 0,
"returnSlots": 0
},
"@count_3": {
"entryPoint": 404,
"id": 3,
"parameterSlots": 0,
"returnSlots": 0
},
"@dec_29": {
"entryPoint": 551,
"id": 29,
"parameterSlots": 0,
"returnSlots": 0
},
"@double_43": {
"entryPoint": 522,
"id": 43,
"parameterSlots": 0,
"returnSlots": 0
},
"@getABool_67": {
"entryPoint": 586,
"id": 67,
"parameterSlots": 0,
"returnSlots": 1
},
"@getStamp_76": {
"entryPoint": 609,
"id": 76,
"parameterSlots": 0,
"returnSlots": 1
},
"@get_13": {
"entryPoint": 513,
"id": 13,
"parameterSlots": 0,
"returnSlots": 1
},
"@inc_21": {
"entryPoint": 457,
"id": 21,
"parameterSlots": 0,
"returnSlots": 0
},
"@makeFalse_59": {
"entryPoint": 484,
"id": 59,
"parameterSlots": 0,
"returnSlots": 0
},
"@makeTrue_51": {
"entryPoint": 410,
"id": 51,
"parameterSlots": 0,
"returnSlots": 0
},
"@whois_85": {
"entryPoint": 578,
"id": 85,
"parameterSlots": 0,
"returnSlots": 1
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 773,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_bool_to_t_bool_fromStack": {
"entryPoint": 681,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 627,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 788,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": {
"entryPoint": 696,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 642,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 862,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_mul_t_uint256": {
"entryPoint": 948,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_sub_t_uint256": {
"entryPoint": 1038,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 755,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 669,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 723,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 617,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 815,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:2500:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "52:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "62:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "73:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "62:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "34:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "44:7:1",
"type": ""
}
],
"src": "7:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "155:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "172:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "195:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "177:17:1"
},
"nodeType": "YulFunctionCall",
"src": "177:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "165:6:1"
},
"nodeType": "YulFunctionCall",
"src": "165:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "165:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "143:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "150:3:1",
"type": ""
}
],
"src": "90:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "312:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "322:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "334:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "345:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "330:3:1"
},
"nodeType": "YulFunctionCall",
"src": "330:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "322:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "402:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "415:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "426:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "411:3:1"
},
"nodeType": "YulFunctionCall",
"src": "411:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "358:43:1"
},
"nodeType": "YulFunctionCall",
"src": "358:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "358:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "284:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "296:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "307:4:1",
"type": ""
}
],
"src": "214:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "484:48:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "494:32:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "519:5:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "512:6:1"
},
"nodeType": "YulFunctionCall",
"src": "512:13:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "505:6:1"
},
"nodeType": "YulFunctionCall",
"src": "505:21:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "494:7:1"
}
]
}
]
},
"name": "cleanup_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "466:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "476:7:1",
"type": ""
}
],
"src": "442:90:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "597:50:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "614:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "634:5:1"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "619:14:1"
},
"nodeType": "YulFunctionCall",
"src": "619:21:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "607:6:1"
},
"nodeType": "YulFunctionCall",
"src": "607:34:1"
},
"nodeType": "YulExpressionStatement",
"src": "607:34:1"
}
]
},
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "585:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "592:3:1",
"type": ""
}
],
"src": "538:109:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "745:118:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "755:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "767:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "778:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "763:3:1"
},
"nodeType": "YulFunctionCall",
"src": "763:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "755:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "829:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "842:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "853:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "838:3:1"
},
"nodeType": "YulFunctionCall",
"src": "838:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulIdentifier",
"src": "791:37:1"
},
"nodeType": "YulFunctionCall",
"src": "791:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "791:65:1"
}
]
},
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "717:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "729:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "740:4:1",
"type": ""
}
],
"src": "653:210:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "914:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "924:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "939:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "946:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "935:3:1"
},
"nodeType": "YulFunctionCall",
"src": "935:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "924:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "896:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "906:7:1",
"type": ""
}
],
"src": "869:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1046:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1056:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1085:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "1067:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1067:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1056:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1028:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1038:7:1",
"type": ""
}
],
"src": "1001:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1168:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1185:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1208:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "1190:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1190:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1178:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1178:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "1178:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1156:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1163:3:1",
"type": ""
}
],
"src": "1103:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1325:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1335:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1347:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1358:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1343:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1343:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1335:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1415:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1428:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1439:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1424:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1424:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "1371:43:1"
},
"nodeType": "YulFunctionCall",
"src": "1371:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "1371:71:1"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1297:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1309:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1320:4:1",
"type": ""
}
],
"src": "1227:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1483:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1500:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1503:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1493:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1493:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "1493:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1597:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1600:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1590:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1590:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "1590:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1621:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1624:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1614:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1614:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "1614:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "1455:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1685:261:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1695:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1718:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1700:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1700:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1695:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1729:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1752:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1734:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1734:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1729:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1892:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "1894:16:1"
},
"nodeType": "YulFunctionCall",
"src": "1894:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "1894:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1813:1:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1820:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1888:1:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1816:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1816:74:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1810:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1810:81:1"
},
"nodeType": "YulIf",
"src": "1807:107:1"
},
{
"nodeType": "YulAssignment",
"src": "1924:16:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1935:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1938:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1931:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1931:9:1"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "1924:3:1"
}
]
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "1672:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "1675:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "1681:3:1",
"type": ""
}
],
"src": "1641:305:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2000:300:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2010:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "2033:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2015:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2015:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "2010:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "2044:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2067:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2049:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2049:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2044:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2242:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "2244:16:1"
},
"nodeType": "YulFunctionCall",
"src": "2244:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "2244:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "2154:1:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2147:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2147:9:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2140:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2140:17:1"
},
{
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2162:1:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2169:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
},
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "2237:1:1"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "2165:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2165:74:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "2159:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2159:81:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "2136:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2136:105:1"
},
"nodeType": "YulIf",
"src": "2133:131:1"
},
{
"nodeType": "YulAssignment",
"src": "2274:20:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "2289:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2292:1:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "2285:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2285:9:1"
},
"variableNames": [
{
"name": "product",
"nodeType": "YulIdentifier",
"src": "2274:7:1"
}
]
}
]
},
"name": "checked_mul_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "1983:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "1986:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "product",
"nodeType": "YulTypedName",
"src": "1992:7:1",
"type": ""
}
],
"src": "1952:348:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2351:146:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2361:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "2384:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2366:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2366:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "2361:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "2395:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2418:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2400:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2400:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2395:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2442:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "2444:16:1"
},
"nodeType": "YulFunctionCall",
"src": "2444:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "2444:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "2436:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2439:1:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "2433:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2433:8:1"
},
"nodeType": "YulIf",
"src": "2430:34:1"
},
{
"nodeType": "YulAssignment",
"src": "2474:17:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "2486:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2489:1:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2482:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2482:9:1"
},
"variableNames": [
{
"name": "diff",
"nodeType": "YulIdentifier",
"src": "2474:4:1"
}
]
}
]
},
"name": "checked_sub_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "2337:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "2340:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "diff",
"nodeType": "YulTypedName",
"src": "2346:4:1",
"type": ""
}
],
"src": "2306:191:1"
}
]
},
"contents": "{\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x != 0 and y > (maxValue / x)\n if and(iszero(iszero(x)), gt(y, div(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, x))) { panic_error_0x11() }\n\n product := mul(x, y)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n if lt(x, y) { panic_error_0x11() }\n\n diff := sub(x, y)\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100a95760003560e01c80636d4ce63c116100715780636d4ce63c146101085780638fdb718914610126578063b3bcfa8214610130578063e7004c891461013a578063f4e7858014610158578063fc6167cc14610176576100a9565b806306661abd146100ae578063340488c6146100cc578063350ca843146100d6578063371303c0146100f45780634c35a7c9146100fe575b600080fd5b6100b6610194565b6040516100c39190610282565b60405180910390f35b6100d461019a565b005b6100de6101b6565b6040516100eb91906102b8565b60405180910390f35b6100fc6101c9565b005b6101066101e4565b005b610110610201565b60405161011d9190610282565b60405180910390f35b61012e61020a565b005b610138610227565b005b610142610242565b60405161014f9190610314565b60405180910390f35b61016061024a565b60405161016d91906102b8565b60405180910390f35b61017e610261565b60405161018b9190610282565b60405180910390f35b60005481565b60018060006101000a81548160ff021916908315150217905550565b600160009054906101000a900460ff1681565b60016000808282546101db919061035e565b92505081905550565b6000600160006101000a81548160ff021916908315150217905550565b60008054905090565b6000600290508060005461021e91906103b4565b60008190555050565b6001600080828254610239919061040e565b92505081905550565b600033905090565b6000600160009054906101000a900460ff16905090565b600042905090565b6000819050919050565b61027c81610269565b82525050565b60006020820190506102976000830184610273565b92915050565b60008115159050919050565b6102b28161029d565b82525050565b60006020820190506102cd60008301846102a9565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006102fe826102d3565b9050919050565b61030e816102f3565b82525050565b60006020820190506103296000830184610305565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061036982610269565b915061037483610269565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156103a9576103a861032f565b5b828201905092915050565b60006103bf82610269565b91506103ca83610269565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156104035761040261032f565b5b828202905092915050565b600061041982610269565b915061042483610269565b9250828210156104375761043661032f565b5b82820390509291505056fea26469706673582212203755e7043b4b2cf585db48b52fa659b559b43428c479cef7fe759062cc83a93b64736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xA9 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6D4CE63C GT PUSH2 0x71 JUMPI DUP1 PUSH4 0x6D4CE63C EQ PUSH2 0x108 JUMPI DUP1 PUSH4 0x8FDB7189 EQ PUSH2 0x126 JUMPI DUP1 PUSH4 0xB3BCFA82 EQ PUSH2 0x130 JUMPI DUP1 PUSH4 0xE7004C89 EQ PUSH2 0x13A JUMPI DUP1 PUSH4 0xF4E78580 EQ PUSH2 0x158 JUMPI DUP1 PUSH4 0xFC6167CC EQ PUSH2 0x176 JUMPI PUSH2 0xA9 JUMP JUMPDEST DUP1 PUSH4 0x6661ABD EQ PUSH2 0xAE JUMPI DUP1 PUSH4 0x340488C6 EQ PUSH2 0xCC JUMPI DUP1 PUSH4 0x350CA843 EQ PUSH2 0xD6 JUMPI DUP1 PUSH4 0x371303C0 EQ PUSH2 0xF4 JUMPI DUP1 PUSH4 0x4C35A7C9 EQ PUSH2 0xFE JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB6 PUSH2 0x194 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC3 SWAP2 SWAP1 PUSH2 0x282 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xD4 PUSH2 0x19A JUMP JUMPDEST STOP JUMPDEST PUSH2 0xDE PUSH2 0x1B6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xEB SWAP2 SWAP1 PUSH2 0x2B8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xFC PUSH2 0x1C9 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x106 PUSH2 0x1E4 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x110 PUSH2 0x201 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x11D SWAP2 SWAP1 PUSH2 0x282 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x12E PUSH2 0x20A JUMP JUMPDEST STOP JUMPDEST PUSH2 0x138 PUSH2 0x227 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x142 PUSH2 0x242 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x14F SWAP2 SWAP1 PUSH2 0x314 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x160 PUSH2 0x24A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x16D SWAP2 SWAP1 PUSH2 0x2B8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x17E PUSH2 0x261 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x18B SWAP2 SWAP1 PUSH2 0x282 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 DUP1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD PUSH2 0x1DB SWAP2 SWAP1 PUSH2 0x35E JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SWAP1 POP DUP1 PUSH1 0x0 SLOAD PUSH2 0x21E SWAP2 SWAP1 PUSH2 0x3B4 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD PUSH2 0x239 SWAP2 SWAP1 PUSH2 0x40E JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 TIMESTAMP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x27C DUP2 PUSH2 0x269 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x297 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x273 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2B2 DUP2 PUSH2 0x29D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2CD PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2A9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2FE DUP3 PUSH2 0x2D3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x30E DUP2 PUSH2 0x2F3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x329 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x305 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x369 DUP3 PUSH2 0x269 JUMP JUMPDEST SWAP2 POP PUSH2 0x374 DUP4 PUSH2 0x269 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x3A9 JUMPI PUSH2 0x3A8 PUSH2 0x32F JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3BF DUP3 PUSH2 0x269 JUMP JUMPDEST SWAP2 POP PUSH2 0x3CA DUP4 PUSH2 0x269 JUMP JUMPDEST SWAP3 POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x403 JUMPI PUSH2 0x402 PUSH2 0x32F JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x419 DUP3 PUSH2 0x269 JUMP JUMPDEST SWAP2 POP PUSH2 0x424 DUP4 PUSH2 0x269 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x437 JUMPI PUSH2 0x436 PUSH2 0x32F JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALLDATACOPY SSTORE 0xE7 DIV EXTCODESIZE 0x4B 0x2C CREATE2 DUP6 0xDB BASEFEE 0xB5 0x2F 0xA6 MSIZE 0xB5 MSIZE 0xB4 CALLVALUE 0x28 0xC4 PUSH26 0xCEF7FE759062CC83A93B64736F6C634300080D00330000000000 ",
"sourceMap": "58:926:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;81:17;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;585:57;;;:::i;:::-;;104:17;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;287:49;;;:::i;:::-;;648:59;;;:::i;:::-;;170:71;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;485:94;;;:::i;:::-;;382:97;;;:::i;:::-;;896:86;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;713:81;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;800:90;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;81:17;;;;:::o;585:57::-;630:4;622:5;;:12;;;;;;;;;;;;;;;;;;585:57::o;104:17::-;;;;;;;;;;;;;:::o;287:49::-;328:1;319:5;;:10;;;;;;;:::i;:::-;;;;;;;;287:49::o;648:59::-;694:5;686;;:13;;;;;;;;;;;;;;;;;;648:59::o;170:71::-;206:4;229:5;;222:12;;170:71;:::o;485:94::-;520:13;536:1;520:17;;563:8;555:5;;:16;;;;:::i;:::-;548:5;:23;;;;510:69;485:94::o;382:97::-;471:1;462:5;;:10;;;;;;;:::i;:::-;;;;;;;;382:97::o;896:86::-;934:7;964:10;957:17;;896:86;:::o;713:81::-;754:4;781:5;;;;;;;;;;;774:12;;713:81;:::o;800:90::-;841:4;868:15;861:22;;800:90;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:90::-;476:7;519:5;512:13;505:21;494:32;;442:90;;;:::o;538:109::-;619:21;634:5;619:21;:::i;:::-;614:3;607:34;538:109;;:::o;653:210::-;740:4;778:2;767:9;763:18;755:26;;791:65;853:1;842:9;838:17;829:6;791:65;:::i;:::-;653:210;;;;:::o;869:126::-;906:7;946:42;939:5;935:54;924:65;;869:126;;;:::o;1001:96::-;1038:7;1067:24;1085:5;1067:24;:::i;:::-;1056:35;;1001:96;;;:::o;1103:118::-;1190:24;1208:5;1190:24;:::i;:::-;1185:3;1178:37;1103:118;;:::o;1227:222::-;1320:4;1358:2;1347:9;1343:18;1335:26;;1371:71;1439:1;1428:9;1424:17;1415:6;1371:71;:::i;:::-;1227:222;;;;:::o;1455:180::-;1503:77;1500:1;1493:88;1600:4;1597:1;1590:15;1624:4;1621:1;1614:15;1641:305;1681:3;1700:20;1718:1;1700:20;:::i;:::-;1695:25;;1734:20;1752:1;1734:20;:::i;:::-;1729:25;;1888:1;1820:66;1816:74;1813:1;1810:81;1807:107;;;1894:18;;:::i;:::-;1807:107;1938:1;1935;1931:9;1924:16;;1641:305;;;;:::o;1952:348::-;1992:7;2015:20;2033:1;2015:20;:::i;:::-;2010:25;;2049:20;2067:1;2049:20;:::i;:::-;2044:25;;2237:1;2169:66;2165:74;2162:1;2159:81;2154:1;2147:9;2140:17;2136:105;2133:131;;;2244:18;;:::i;:::-;2133:131;2292:1;2289;2285:9;2274:20;;1952:348;;;;:::o;2306:191::-;2346:4;2366:20;2384:1;2366:20;:::i;:::-;2361:25;;2400:20;2418:1;2400:20;:::i;:::-;2395:25;;2439:1;2436;2433:8;2430:34;;;2444:18;;:::i;:::-;2430:34;2489:1;2486;2482:9;2474:17;;2306:191;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "228800",
"executionCost": "269",
"totalCost": "229069"
},
"external": {
"aBool()": "2516",
"count()": "2430",
"dec()": "infinite",
"double()": "infinite",
"get()": "2437",
"getABool()": "2567",
"getStamp()": "446",
"inc()": "infinite",
"makeFalse()": "24500",
"makeTrue()": "24434",
"whois()": "451"
}
},
"methodIdentifiers": {
"aBool()": "350ca843",
"count()": "06661abd",
"dec()": "b3bcfa82",
"double()": "8fdb7189",
"get()": "6d4ce63c",
"getABool()": "f4e78580",
"getStamp()": "fc6167cc",
"inc()": "371303c0",
"makeFalse()": "4c35a7c9",
"makeTrue()": "340488c6",
"whois()": "e7004c89"
}
},
"abi": [
{
"inputs": [],
"name": "aBool",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "count",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "dec",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "double",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "get",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getABool",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getStamp",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "inc",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "makeFalse",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "makeTrue",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "whois",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.13+commit.abaa5c0e"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "aBool",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "count",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "dec",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "double",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "get",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getABool",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getStamp",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "inc",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "makeFalse",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "makeTrue",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "whois",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contract-10bf6b4c02.sol": "Counter"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contract-10bf6b4c02.sol": {
"keccak256": "0x5f0bcd08635aba80eb71c37d75e68c57784b3dd4c5df8a34bbad453130c9ecc2",
"license": "MIT",
"urls": [
"bzz-raw://da3b2c0077db02273129c7e29af67b14eddd2684c470302f4347500ba737beec",
"dweb:/ipfs/QmctMNAqedsh6wQz9CzoMa4p8HBcycpiD2fg6zygmTw2vs"
]
}
},
"version": 1
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"@_15": {
"entryPoint": null,
"id": 15,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610368806100606000396000f3fe6080604052600436106100385760003560e01c806312065fe0146100445780632e1a7d4d1461006f5780638da5cb5b146100985761003f565b3661003f57005b600080fd5b34801561005057600080fd5b506100596100c3565b60405161006691906101e0565b60405180910390f35b34801561007b57600080fd5b506100966004803603810190610091919061022c565b6100cb565b005b3480156100a457600080fd5b506100ad6101a3565b6040516100ba919061029a565b60405180910390f35b600047905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610159576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161015090610312565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561019f573d6000803e3d6000fd5b5050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000819050919050565b6101da816101c7565b82525050565b60006020820190506101f560008301846101d1565b92915050565b600080fd5b610209816101c7565b811461021457600080fd5b50565b60008135905061022681610200565b92915050565b600060208284031215610242576102416101fb565b5b600061025084828501610217565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061028482610259565b9050919050565b61029481610279565b82525050565b60006020820190506102af600083018461028b565b92915050565b600082825260208201905092915050565b7f63616c6c6572206973206e6f74206f776e657200000000000000000000000000600082015250565b60006102fc6013836102b5565b9150610307826102c6565b602082019050919050565b6000602082019050818103600083015261032b816102ef565b905091905056fea264697066735822122086408ae0daa8e772754f2f2df5a4b7fa72edcbbb297f037c41b2d19cef42111664736f6c63430008110033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x368 DUP1 PUSH2 0x60 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x38 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x44 JUMPI DUP1 PUSH4 0x2E1A7D4D EQ PUSH2 0x6F JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x98 JUMPI PUSH2 0x3F JUMP JUMPDEST CALLDATASIZE PUSH2 0x3F JUMPI STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x50 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x59 PUSH2 0xC3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x1E0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x96 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x91 SWAP2 SWAP1 PUSH2 0x22C JUMP JUMPDEST PUSH2 0xCB JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xAD PUSH2 0x1A3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xBA SWAP2 SWAP1 PUSH2 0x29A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 SELFBALANCE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x159 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x150 SWAP1 PUSH2 0x312 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP3 SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x19F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1DA DUP2 PUSH2 0x1C7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1F5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1D1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x209 DUP2 PUSH2 0x1C7 JUMP JUMPDEST DUP2 EQ PUSH2 0x214 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x226 DUP2 PUSH2 0x200 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x242 JUMPI PUSH2 0x241 PUSH2 0x1FB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x250 DUP5 DUP3 DUP6 ADD PUSH2 0x217 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x284 DUP3 PUSH2 0x259 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x294 DUP2 PUSH2 0x279 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2AF PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x28B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x63616C6C6572206973206E6F74206F776E657200000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2FC PUSH1 0x13 DUP4 PUSH2 0x2B5 JUMP JUMPDEST SWAP2 POP PUSH2 0x307 DUP3 PUSH2 0x2C6 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x32B DUP2 PUSH2 0x2EF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP7 BLOCKHASH DUP11 0xE0 0xDA 0xA8 0xE7 PUSH19 0x754F2F2DF5A4B7FA72EDCBBB297F037C41B2D1 SWAP13 0xEF TIMESTAMP GT AND PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ",
"sourceMap": "58:421:0:-:0;;;120:58;;;;;;;;;;160:10;144:5;;:27;;;;;;;;;;;;;;;;;;58:421;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@_19": {
"entryPoint": null,
"id": 19,
"parameterSlots": 0,
"returnSlots": 0
},
"@getBalance_54": {
"entryPoint": 195,
"id": 54,
"parameterSlots": 0,
"returnSlots": 1
},
"@owner_3": {
"entryPoint": 419,
"id": 3,
"parameterSlots": 0,
"returnSlots": 0
},
"@withdraw_42": {
"entryPoint": 203,
"id": 42,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_uint256": {
"entryPoint": 535,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 556,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_address_payable_to_t_address_payable_fromStack": {
"entryPoint": 651,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_stringliteral_71bf1d68d1389a2700f2d22d4c4aeb9705cf8c62dc7efd39c7b83facc381f197_to_t_string_memory_ptr_fromStack": {
"entryPoint": 751,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 465,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address_payable__to_t_address_payable__fromStack_reversed": {
"entryPoint": 666,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_71bf1d68d1389a2700f2d22d4c4aeb9705cf8c62dc7efd39c7b83facc381f197__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 786,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 480,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 693,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address_payable": {
"entryPoint": 633,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 601,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 455,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 507,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"store_literal_in_memory_71bf1d68d1389a2700f2d22d4c4aeb9705cf8c62dc7efd39c7b83facc381f197": {
"entryPoint": 710,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 512,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:3171:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "52:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "62:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "73:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "62:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "34:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "44:7:1",
"type": ""
}
],
"src": "7:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "155:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "172:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "195:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "177:17:1"
},
"nodeType": "YulFunctionCall",
"src": "177:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "165:6:1"
},
"nodeType": "YulFunctionCall",
"src": "165:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "165:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "143:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "150:3:1",
"type": ""
}
],
"src": "90:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "312:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "322:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "334:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "345:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "330:3:1"
},
"nodeType": "YulFunctionCall",
"src": "330:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "322:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "402:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "415:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "426:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "411:3:1"
},
"nodeType": "YulFunctionCall",
"src": "411:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "358:43:1"
},
"nodeType": "YulFunctionCall",
"src": "358:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "358:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "284:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "296:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "307:4:1",
"type": ""
}
],
"src": "214:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "482:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "492:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "508:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "502:5:1"
},
"nodeType": "YulFunctionCall",
"src": "502:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "492:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "475:6:1",
"type": ""
}
],
"src": "442:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "612:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "629:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "632:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "622:6:1"
},
"nodeType": "YulFunctionCall",
"src": "622:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "622:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "523:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "735:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "752:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "755:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "745:6:1"
},
"nodeType": "YulFunctionCall",
"src": "745:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "745:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "646:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "812:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "869:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "878:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "881:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "871:6:1"
},
"nodeType": "YulFunctionCall",
"src": "871:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "871:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "835:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "860:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "842:17:1"
},
"nodeType": "YulFunctionCall",
"src": "842:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "832:2:1"
},
"nodeType": "YulFunctionCall",
"src": "832:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "825:6:1"
},
"nodeType": "YulFunctionCall",
"src": "825:43:1"
},
"nodeType": "YulIf",
"src": "822:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "805:5:1",
"type": ""
}
],
"src": "769:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "949:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "959:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "981:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "968:12:1"
},
"nodeType": "YulFunctionCall",
"src": "968:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "959:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1024:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "997:26:1"
},
"nodeType": "YulFunctionCall",
"src": "997:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "997:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "927:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "935:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "943:5:1",
"type": ""
}
],
"src": "897:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1108:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1154:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1156:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1156:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1156:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1129:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1138:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1125:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1125:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1150:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1121:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1121:32:1"
},
"nodeType": "YulIf",
"src": "1118:119:1"
},
{
"nodeType": "YulBlock",
"src": "1247:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1262:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1276:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1266:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1291:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1326:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1337:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1322:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1322:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1346:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1301:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1301:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1291:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1078:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1089:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1101:6:1",
"type": ""
}
],
"src": "1042:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1422:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1432:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1447:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1454:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1443:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1443:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1432:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1404:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1414:7:1",
"type": ""
}
],
"src": "1377:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1562:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1572:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1601:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "1583:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1583:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1572:7:1"
}
]
}
]
},
"name": "cleanup_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1544:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1554:7:1",
"type": ""
}
],
"src": "1509:104:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1700:61:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1717:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1748:5:1"
}
],
"functionName": {
"name": "cleanup_t_address_payable",
"nodeType": "YulIdentifier",
"src": "1722:25:1"
},
"nodeType": "YulFunctionCall",
"src": "1722:32:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1710:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1710:45:1"
},
"nodeType": "YulExpressionStatement",
"src": "1710:45:1"
}
]
},
"name": "abi_encode_t_address_payable_to_t_address_payable_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1688:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1695:3:1",
"type": ""
}
],
"src": "1619:142:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1881:140:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1891:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1903:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1914:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1899:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1899:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1891:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1987:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2000:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2011:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1996:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1996:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_payable_to_t_address_payable_fromStack",
"nodeType": "YulIdentifier",
"src": "1927:59:1"
},
"nodeType": "YulFunctionCall",
"src": "1927:87:1"
},
"nodeType": "YulExpressionStatement",
"src": "1927:87:1"
}
]
},
"name": "abi_encode_tuple_t_address_payable__to_t_address_payable__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1853:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1865:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1876:4:1",
"type": ""
}
],
"src": "1767:254:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2123:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2140:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2145:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2133:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2133:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "2133:19:1"
},
{
"nodeType": "YulAssignment",
"src": "2161:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2180:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2185:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2176:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2176:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "2161:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2095:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2100:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "2111:11:1",
"type": ""
}
],
"src": "2027:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2308:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "2330:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2338:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2326:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2326:14:1"
},
{
"hexValue": "63616c6c6572206973206e6f74206f776e6572",
"kind": "string",
"nodeType": "YulLiteral",
"src": "2342:21:1",
"type": "",
"value": "caller is not owner"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2319:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2319:45:1"
},
"nodeType": "YulExpressionStatement",
"src": "2319:45:1"
}
]
},
"name": "store_literal_in_memory_71bf1d68d1389a2700f2d22d4c4aeb9705cf8c62dc7efd39c7b83facc381f197",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "2300:6:1",
"type": ""
}
],
"src": "2202:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2523:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2533:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2599:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2604:2:1",
"type": "",
"value": "19"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2540:58:1"
},
"nodeType": "YulFunctionCall",
"src": "2540:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2533:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2705:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_71bf1d68d1389a2700f2d22d4c4aeb9705cf8c62dc7efd39c7b83facc381f197",
"nodeType": "YulIdentifier",
"src": "2616:88:1"
},
"nodeType": "YulFunctionCall",
"src": "2616:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "2616:93:1"
},
{
"nodeType": "YulAssignment",
"src": "2718:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2729:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2734:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2725:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2725:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2718:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_71bf1d68d1389a2700f2d22d4c4aeb9705cf8c62dc7efd39c7b83facc381f197_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2511:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2519:3:1",
"type": ""
}
],
"src": "2377:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2920:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2930:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2942:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2953:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2938:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2938:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2930:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2977:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2988:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2973:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2973:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2996:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3002:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2992:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2992:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2966:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2966:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "2966:47:1"
},
{
"nodeType": "YulAssignment",
"src": "3022:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3156:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_71bf1d68d1389a2700f2d22d4c4aeb9705cf8c62dc7efd39c7b83facc381f197_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3030:124:1"
},
"nodeType": "YulFunctionCall",
"src": "3030:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3022:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_71bf1d68d1389a2700f2d22d4c4aeb9705cf8c62dc7efd39c7b83facc381f197__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2900:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2915:4:1",
"type": ""
}
],
"src": "2749:419:1"
}
]
},
"contents": "{\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address_payable(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_payable_to_t_address_payable_fromStack(value, pos) {\n mstore(pos, cleanup_t_address_payable(value))\n }\n\n function abi_encode_tuple_t_address_payable__to_t_address_payable__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_payable_to_t_address_payable_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_71bf1d68d1389a2700f2d22d4c4aeb9705cf8c62dc7efd39c7b83facc381f197(memPtr) {\n\n mstore(add(memPtr, 0), \"caller is not owner\")\n\n }\n\n function abi_encode_t_stringliteral_71bf1d68d1389a2700f2d22d4c4aeb9705cf8c62dc7efd39c7b83facc381f197_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 19)\n store_literal_in_memory_71bf1d68d1389a2700f2d22d4c4aeb9705cf8c62dc7efd39c7b83facc381f197(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_71bf1d68d1389a2700f2d22d4c4aeb9705cf8c62dc7efd39c7b83facc381f197__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_71bf1d68d1389a2700f2d22d4c4aeb9705cf8c62dc7efd39c7b83facc381f197_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600436106100385760003560e01c806312065fe0146100445780632e1a7d4d1461006f5780638da5cb5b146100985761003f565b3661003f57005b600080fd5b34801561005057600080fd5b506100596100c3565b60405161006691906101e0565b60405180910390f35b34801561007b57600080fd5b506100966004803603810190610091919061022c565b6100cb565b005b3480156100a457600080fd5b506100ad6101a3565b6040516100ba919061029a565b60405180910390f35b600047905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610159576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161015090610312565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561019f573d6000803e3d6000fd5b5050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000819050919050565b6101da816101c7565b82525050565b60006020820190506101f560008301846101d1565b92915050565b600080fd5b610209816101c7565b811461021457600080fd5b50565b60008135905061022681610200565b92915050565b600060208284031215610242576102416101fb565b5b600061025084828501610217565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061028482610259565b9050919050565b61029481610279565b82525050565b60006020820190506102af600083018461028b565b92915050565b600082825260208201905092915050565b7f63616c6c6572206973206e6f74206f776e657200000000000000000000000000600082015250565b60006102fc6013836102b5565b9150610307826102c6565b602082019050919050565b6000602082019050818103600083015261032b816102ef565b905091905056fea264697066735822122086408ae0daa8e772754f2f2df5a4b7fa72edcbbb297f037c41b2d19cef42111664736f6c63430008110033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x38 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x44 JUMPI DUP1 PUSH4 0x2E1A7D4D EQ PUSH2 0x6F JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x98 JUMPI PUSH2 0x3F JUMP JUMPDEST CALLDATASIZE PUSH2 0x3F JUMPI STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x50 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x59 PUSH2 0xC3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x1E0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x96 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x91 SWAP2 SWAP1 PUSH2 0x22C JUMP JUMPDEST PUSH2 0xCB JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xAD PUSH2 0x1A3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xBA SWAP2 SWAP1 PUSH2 0x29A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 SELFBALANCE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x159 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x150 SWAP1 PUSH2 0x312 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP3 SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x19F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1DA DUP2 PUSH2 0x1C7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1F5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1D1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x209 DUP2 PUSH2 0x1C7 JUMP JUMPDEST DUP2 EQ PUSH2 0x214 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x226 DUP2 PUSH2 0x200 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x242 JUMPI PUSH2 0x241 PUSH2 0x1FB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x250 DUP5 DUP3 DUP6 ADD PUSH2 0x217 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x284 DUP3 PUSH2 0x259 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x294 DUP2 PUSH2 0x279 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2AF PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x28B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x63616C6C6572206973206E6F74206F776E657200000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2FC PUSH1 0x13 DUP4 PUSH2 0x2B5 JUMP JUMPDEST SWAP2 POP PUSH2 0x307 DUP3 PUSH2 0x2C6 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x32B DUP2 PUSH2 0x2EF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP7 BLOCKHASH DUP11 0xE0 0xDA 0xA8 0xE7 PUSH19 0x754F2F2DF5A4B7FA72EDCBBB297F037C41B2D1 SWAP13 0xEF TIMESTAMP GT AND PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ",
"sourceMap": "58:421:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;381:96;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;219:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;85:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;381:96;426:4;449:21;442:28;;381:96;:::o;219:156::-;292:5;;;;;;;;;;278:19;;:10;:19;;;270:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;339:10;331:28;;:37;360:7;331:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;219:156;:::o;85:28::-;;;;;;;;;;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;523:117::-;632:1;629;622:12;769:122;842:24;860:5;842:24;:::i;:::-;835:5;832:35;822:63;;881:1;878;871:12;822:63;769:122;:::o;897:139::-;943:5;981:6;968:20;959:29;;997:33;1024:5;997:33;:::i;:::-;897:139;;;;:::o;1042:329::-;1101:6;1150:2;1138:9;1129:7;1125:23;1121:32;1118:119;;;1156:79;;:::i;:::-;1118:119;1276:1;1301:53;1346:7;1337:6;1326:9;1322:22;1301:53;:::i;:::-;1291:63;;1247:117;1042:329;;;;:::o;1377:126::-;1414:7;1454:42;1447:5;1443:54;1432:65;;1377:126;;;:::o;1509:104::-;1554:7;1583:24;1601:5;1583:24;:::i;:::-;1572:35;;1509:104;;;:::o;1619:142::-;1722:32;1748:5;1722:32;:::i;:::-;1717:3;1710:45;1619:142;;:::o;1767:254::-;1876:4;1914:2;1903:9;1899:18;1891:26;;1927:87;2011:1;2000:9;1996:17;1987:6;1927:87;:::i;:::-;1767:254;;;;:::o;2027:169::-;2111:11;2145:6;2140:3;2133:19;2185:4;2180:3;2176:14;2161:29;;2027:169;;;;:::o;2202:::-;2342:21;2338:1;2330:6;2326:14;2319:45;2202:169;:::o;2377:366::-;2519:3;2540:67;2604:2;2599:3;2540:67;:::i;:::-;2533:74;;2616:93;2705:3;2616:93;:::i;:::-;2734:2;2729:3;2725:12;2718:19;;2377:366;;;:::o;2749:419::-;2915:4;2953:2;2942:9;2938:18;2930:26;;3002:9;2996:4;2992:20;2988:1;2977:9;2973:17;2966:47;3030:131;3156:4;3030:131;:::i;:::-;3022:139;;2749:419;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "174400",
"executionCost": "24486",
"totalCost": "198886"
},
"external": {
"getBalance()": "317",
"owner()": "2533",
"withdraw(uint256)": "infinite"
}
},
"methodIdentifiers": {
"getBalance()": "12065fe0",
"owner()": "8da5cb5b",
"withdraw(uint256)": "2e1a7d4d"
}
},
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "getBalance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address payable",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "withdraw",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"stateMutability": "payable",
"type": "receive"
}
]
}
{
"compiler": {
"version": "0.8.17+commit.8df45f5f"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "getBalance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address payable",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "withdraw",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"stateMutability": "payable",
"type": "receive"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contract-5b669ab6be.sol": "EtherWallet"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contract-5b669ab6be.sol": {
"keccak256": "0x292d2f712cb45a22e6ba985f4f037b8ee389f569cf8b39b43ae7d5d5c531d49f",
"license": "MIT",
"urls": [
"bzz-raw://74933db85fca5005b2477387c7e4bf8ed628718d96bb77ecaa914116b76eb2a4",
"dweb:/ipfs/QmWpNyBiUiCdDbnumwjfgdDKCwNvGW7u9rjp5w2zhWE8Ap"
]
}
},
"version": 1
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"extract_byte_array_length": {
"entryPoint": 261,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x22": {
"entryPoint": 311,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:516:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "58:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "68:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "82:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "88:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "78:3:1"
},
"nodeType": "YulFunctionCall",
"src": "78:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "68:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "99:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "129:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "135:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "125:3:1"
},
"nodeType": "YulFunctionCall",
"src": "125:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "103:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "176:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "190:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "204:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "212:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "200:3:1"
},
"nodeType": "YulFunctionCall",
"src": "200:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "190:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "156:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "149:6:1"
},
"nodeType": "YulFunctionCall",
"src": "149:26:1"
},
"nodeType": "YulIf",
"src": "146:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "279:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "293:16:1"
},
"nodeType": "YulFunctionCall",
"src": "293:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "293:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "243:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "266:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "274:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "263:2:1"
},
"nodeType": "YulFunctionCall",
"src": "263:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "240:2:1"
},
"nodeType": "YulFunctionCall",
"src": "240:38:1"
},
"nodeType": "YulIf",
"src": "237:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "42:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "51:6:1",
"type": ""
}
],
"src": "7:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "361:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "378:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "381:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "371:6:1"
},
"nodeType": "YulFunctionCall",
"src": "371:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "371:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "475:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "478:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "468:6:1"
},
"nodeType": "YulFunctionCall",
"src": "468:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "468:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "499:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "502:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "492:6:1"
},
"nodeType": "YulFunctionCall",
"src": "492:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "492:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "333:180:1"
}
]
},
"contents": "{\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "60806040526040518060400160405280600c81526020017f48656c6c6f20576f726c642100000000000000000000000000000000000000008152506000908051906020019061004f929190610062565b5034801561005c57600080fd5b50610166565b82805461006e90610105565b90600052602060002090601f01602090048101928261009057600085556100d7565b82601f106100a957805160ff19168380011785556100d7565b828001600101855582156100d7579182015b828111156100d65782518255916020019190600101906100bb565b5b5090506100e491906100e8565b5090565b5b808211156101015760008160009055506001016100e9565b5090565b6000600282049050600182168061011d57607f821691505b6020821081141561013157610130610137565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b61022e806101756000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063cfae321714610030575b600080fd5b61003861004e565b6040516100459190610115565b60405180910390f35b6000805461005b90610186565b80601f016020809104026020016040519081016040528092919081815260200182805461008790610186565b80156100d45780601f106100a9576101008083540402835291602001916100d4565b820191906000526020600020905b8154815290600101906020018083116100b757829003601f168201915b505050505081565b60006100e782610137565b6100f18185610142565b9350610101818560208601610153565b61010a816101e7565b840191505092915050565b6000602082019050818103600083015261012f81846100dc565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610171578082015181840152602081019050610156565b83811115610180576000848401525b50505050565b6000600282049050600182168061019e57607f821691505b602082108114156101b2576101b16101b8565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f830116905091905056fea26469706673582212208cae6e356a3ab2690ac8cc1e0c3992f5a207d31846d62b70f6cda56a6ee2efe864736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xC DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x48656C6C6F20576F726C64210000000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x0 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x4F SWAP3 SWAP2 SWAP1 PUSH2 0x62 JUMP JUMPDEST POP CALLVALUE DUP1 ISZERO PUSH2 0x5C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x166 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x6E SWAP1 PUSH2 0x105 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x90 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0xD7 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0xA9 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0xD7 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0xD7 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0xD6 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0xBB JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0xE4 SWAP2 SWAP1 PUSH2 0xE8 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x101 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0xE9 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x11D JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x131 JUMPI PUSH2 0x130 PUSH2 0x137 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x22E DUP1 PUSH2 0x175 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xCFAE3217 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x38 PUSH2 0x4E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x45 SWAP2 SWAP1 PUSH2 0x115 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH2 0x5B SWAP1 PUSH2 0x186 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x87 SWAP1 PUSH2 0x186 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xD4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xA9 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xD4 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xB7 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE7 DUP3 PUSH2 0x137 JUMP JUMPDEST PUSH2 0xF1 DUP2 DUP6 PUSH2 0x142 JUMP JUMPDEST SWAP4 POP PUSH2 0x101 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x153 JUMP JUMPDEST PUSH2 0x10A DUP2 PUSH2 0x1E7 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x12F DUP2 DUP5 PUSH2 0xDC JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x171 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x156 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x180 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x19E JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x1B2 JUMPI PUSH2 0x1B1 PUSH2 0x1B8 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP13 0xAE PUSH15 0x356A3AB2690AC8CC1E0C3992F5A207 0xD3 XOR CHAINID 0xD6 0x2B PUSH17 0xF6CDA56A6EE2EFE864736F6C6343000807 STOP CALLER ",
"sourceMap": "137:65:0:-:0;;;163:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;137:65;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:320:1:-;51:6;88:1;82:4;78:12;68:22;;135:1;129:4;125:12;156:18;146:81;;212:4;204:6;200:17;190:27;;146:81;274:2;266:6;263:14;243:18;240:38;237:84;;;293:18;;:::i;:::-;237:84;58:269;7:320;;;:::o;333:180::-;381:77;378:1;371:88;478:4;475:1;468:15;502:4;499:1;492:15;137:65:0;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@greet_4": {
"entryPoint": 78,
"id": 4,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 220,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 277,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 311,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 322,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"copy_memory_to_memory": {
"entryPoint": 339,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"extract_byte_array_length": {
"entryPoint": 390,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x22": {
"entryPoint": 440,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 487,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1906:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "99:272:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "109:53:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "156:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "123:32:1"
},
"nodeType": "YulFunctionCall",
"src": "123:39:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "113:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "171:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "237:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "242:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "178:58:1"
},
"nodeType": "YulFunctionCall",
"src": "178:71:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "171:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "284:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "291:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "280:3:1"
},
"nodeType": "YulFunctionCall",
"src": "280:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "298:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "303:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "258:21:1"
},
"nodeType": "YulFunctionCall",
"src": "258:52:1"
},
"nodeType": "YulExpressionStatement",
"src": "258:52:1"
},
{
"nodeType": "YulAssignment",
"src": "319:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "330:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "357:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "335:21:1"
},
"nodeType": "YulFunctionCall",
"src": "335:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "326:3:1"
},
"nodeType": "YulFunctionCall",
"src": "326:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "319:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "80:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "87:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "95:3:1",
"type": ""
}
],
"src": "7:364:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "495:195:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "505:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "517:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "528:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "513:3:1"
},
"nodeType": "YulFunctionCall",
"src": "513:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "505:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "552:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "563:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "548:3:1"
},
"nodeType": "YulFunctionCall",
"src": "548:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "571:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "577:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "567:3:1"
},
"nodeType": "YulFunctionCall",
"src": "567:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "541:6:1"
},
"nodeType": "YulFunctionCall",
"src": "541:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "541:47:1"
},
{
"nodeType": "YulAssignment",
"src": "597:86:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "669:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "678:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "605:63:1"
},
"nodeType": "YulFunctionCall",
"src": "605:78:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "597:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "467:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "479:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "490:4:1",
"type": ""
}
],
"src": "377:313:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "755:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "766:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "782:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "776:5:1"
},
"nodeType": "YulFunctionCall",
"src": "776:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "766:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "738:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "748:6:1",
"type": ""
}
],
"src": "696:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "897:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "914:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "919:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "907:6:1"
},
"nodeType": "YulFunctionCall",
"src": "907:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "907:19:1"
},
{
"nodeType": "YulAssignment",
"src": "935:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "954:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "959:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "950:3:1"
},
"nodeType": "YulFunctionCall",
"src": "950:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "935:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "869:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "874:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "885:11:1",
"type": ""
}
],
"src": "801:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1025:258:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1035:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1044:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "1039:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1104:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "1129:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1134:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1125:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1125:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "1148:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1153:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1144:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1144:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1138:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1138:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1118:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1118:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "1118:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1065:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1068:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "1062:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1062:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "1076:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1078:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1087:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1090:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1083:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1083:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1078:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "1058:3:1",
"statements": []
},
"src": "1054:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1201:76:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "1251:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1256:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1247:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1247:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1265:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1240:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1240:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "1240:27:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1182:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1185:6:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1179:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1179:13:1"
},
"nodeType": "YulIf",
"src": "1176:101:1"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "1007:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "1012:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1017:6:1",
"type": ""
}
],
"src": "976:307:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1340:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1350:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "1364:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1370:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "1360:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1360:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1350:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "1381:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "1411:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1417:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1407:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1407:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "1385:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1458:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1472:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1486:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1494:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1482:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1482:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1472:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "1438:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1431:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1431:26:1"
},
"nodeType": "YulIf",
"src": "1428:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1561:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "1575:16:1"
},
"nodeType": "YulFunctionCall",
"src": "1575:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "1575:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "1525:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1548:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1556:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "1545:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1545:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1522:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1522:38:1"
},
"nodeType": "YulIf",
"src": "1519:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "1324:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1333:6:1",
"type": ""
}
],
"src": "1289:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1643:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1660:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1663:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1653:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1653:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "1653:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1757:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1760:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1750:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1750:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "1750:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1781:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1784:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1774:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1774:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "1774:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "1615:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1849:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1859:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1877:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1884:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1873:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1873:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1893:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "1889:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1889:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1869:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1869:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "1859:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1832:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "1842:6:1",
"type": ""
}
],
"src": "1801:102:1"
}
]
},
"contents": "{\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506004361061002b5760003560e01c8063cfae321714610030575b600080fd5b61003861004e565b6040516100459190610115565b60405180910390f35b6000805461005b90610186565b80601f016020809104026020016040519081016040528092919081815260200182805461008790610186565b80156100d45780601f106100a9576101008083540402835291602001916100d4565b820191906000526020600020905b8154815290600101906020018083116100b757829003601f168201915b505050505081565b60006100e782610137565b6100f18185610142565b9350610101818560208601610153565b61010a816101e7565b840191505092915050565b6000602082019050818103600083015261012f81846100dc565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610171578082015181840152602081019050610156565b83811115610180576000848401525b50505050565b6000600282049050600182168061019e57607f821691505b602082108114156101b2576101b16101b8565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f830116905091905056fea26469706673582212208cae6e356a3ab2690ac8cc1e0c3992f5a207d31846d62b70f6cda56a6ee2efe864736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xCFAE3217 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x38 PUSH2 0x4E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x45 SWAP2 SWAP1 PUSH2 0x115 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH2 0x5B SWAP1 PUSH2 0x186 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x87 SWAP1 PUSH2 0x186 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xD4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xA9 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xD4 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xB7 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE7 DUP3 PUSH2 0x137 JUMP JUMPDEST PUSH2 0xF1 DUP2 DUP6 PUSH2 0x142 JUMP JUMPDEST SWAP4 POP PUSH2 0x101 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x153 JUMP JUMPDEST PUSH2 0x10A DUP2 PUSH2 0x1E7 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x12F DUP2 DUP5 PUSH2 0xDC JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x171 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x156 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x180 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x19E JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x1B2 JUMPI PUSH2 0x1B1 PUSH2 0x1B8 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP13 0xAE PUSH15 0x356A3AB2690AC8CC1E0C3992F5A207 0xD3 XOR CHAINID 0xD6 0x2B PUSH17 0xF6CDA56A6EE2EFE864736F6C6343000807 STOP CALLER ",
"sourceMap": "137:65:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;163:36;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7:364:1:-;95:3;123:39;156:5;123:39;:::i;:::-;178:71;242:6;237:3;178:71;:::i;:::-;171:78;;258:52;303:6;298:3;291:4;284:5;280:16;258:52;:::i;:::-;335:29;357:6;335:29;:::i;:::-;330:3;326:39;319:46;;99:272;7:364;;;;:::o;377:313::-;490:4;528:2;517:9;513:18;505:26;;577:9;571:4;567:20;563:1;552:9;548:17;541:47;605:78;678:4;669:6;605:78;:::i;:::-;597:86;;377:313;;;;:::o;696:99::-;748:6;782:5;776:12;766:22;;696:99;;;:::o;801:169::-;885:11;919:6;914:3;907:19;959:4;954:3;950:14;935:29;;801:169;;;;:::o;976:307::-;1044:1;1054:113;1068:6;1065:1;1062:13;1054:113;;;1153:1;1148:3;1144:11;1138:18;1134:1;1129:3;1125:11;1118:39;1090:2;1087:1;1083:10;1078:15;;1054:113;;;1185:6;1182:1;1179:13;1176:101;;;1265:1;1256:6;1251:3;1247:16;1240:27;1176:101;1025:258;976:307;;;:::o;1289:320::-;1333:6;1370:1;1364:4;1360:12;1350:22;;1417:1;1411:4;1407:12;1438:18;1428:81;;1494:4;1486:6;1482:17;1472:27;;1428:81;1556:2;1548:6;1545:14;1525:18;1522:38;1519:84;;;1575:18;;:::i;:::-;1519:84;1340:269;1289:320;;;:::o;1615:180::-;1663:77;1660:1;1653:88;1760:4;1757:1;1750:15;1784:4;1781:1;1774:15;1801:102;1842:6;1893:2;1889:7;1884:2;1877:5;1873:14;1869:28;1859:38;;1801:102;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "111600",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"greet()": "infinite"
}
},
"methodIdentifiers": {
"greet()": "cfae3217"
}
},
"abi": [
{
"inputs": [],
"name": "greet",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "greet",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contract-10bf6b4c02.sol": "HelloWorld"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contract-10bf6b4c02.sol": {
"keccak256": "0x2f344f9cfc4d9db5a0485be06d6cef34142c94c57d87d7cda08af3c8addaf461",
"license": "MIT",
"urls": [
"bzz-raw://eb7e79081350af378c9b17263a10496b7b0b8e62782786a2d5e693a625245f57",
"dweb:/ipfs/QmPi4LA5cQjEwppQcYnJWxgPZ1rGkEDjSCfkDDjGnMM4mr"
]
}
},
"version": 1
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"@_24": {
"entryPoint": null,
"id": 24,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [],
"linkReferences": {},
"object": "60a060405273777788889999aaaabbbbccccddddeeeeffffcccc73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff16815250336001806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506080516113856100a6600039600061088f01526113856000f3fe6080604052600436106101d15760003560e01c80636d4ce63c116100f7578063bf15071d11610095578063f8a8fd6d11610064578063f8a8fd6d146105da578063fbfa941f146105f1578063fc38511a1461062e578063fc6167cc1461066b576101d8565b8063bf15071d1461052e578063d36dedd214610559578063e7004c8914610584578063f4e78580146105af576101d8565b806397de706f116100d157806397de706f1461049c5780639ddbebd8146104c5578063b3bcfa82146104ee578063b8bd717f14610505576101d8565b80636d4ce63c1461042f57806389f915f61461045a5780638fdb718914610485576101d8565b8063340488c61161016f5780633d1157fb1161013e5780633d1157fb146103875780634984e402146103b05780634c35a7c9146103db57806355278c5b146103f2576101d8565b8063340488c614610303578063350ca8431461031a578063371303c0146103455780633a756cec1461035c576101d8565b80632c9fcc1d116101ab5780632c9fcc1d146102475780632e1a7d4d146102725780632fa78085146102af5780633052e962146102ec576101d8565b806306661abd146101da57806312065fe01461020557806315169e9a14610230576101d8565b366101d857005b005b3480156101e657600080fd5b506101ef610696565b6040516101fc9190610bd3565b60405180910390f35b34801561021157600080fd5b5061021a61069c565b6040516102279190610bd3565b60405180910390f35b34801561023c57600080fd5b506102456106a4565b005b34801561025357600080fd5b5061025c6106df565b6040516102699190610bd3565b60405180910390f35b34801561027e57600080fd5b5061029960048036038101906102949190610c24565b6106f8565b6040516102a69190610bd3565b60405180910390f35b3480156102bb57600080fd5b506102d660048036038101906102d19190610caf565b61074f565b6040516102e39190610bd3565b60405180910390f35b3480156102f857600080fd5b50610301610798565b005b34801561030f57600080fd5b506103186107c5565b005b34801561032657600080fd5b5061032f6107e1565b60405161033c9190610cf7565b60405180910390f35b34801561035157600080fd5b5061035a6107f4565b005b34801561036857600080fd5b5061037161080f565b60405161037e9190610d33565b60405180910390f35b34801561039357600080fd5b506103ae60048036038101906103a99190610caf565b610833565b005b3480156103bc57600080fd5b506103c561088d565b6040516103d29190610d5d565b60405180910390f35b3480156103e757600080fd5b506103f06108b1565b005b3480156103fe57600080fd5b5061041960048036038101906104149190610c24565b6108ce565b6040516104269190610bd3565b60405180910390f35b34801561043b57600080fd5b506104446108ec565b6040516104519190610bd3565b60405180910390f35b34801561046657600080fd5b5061046f6108f5565b60405161047c9190610e23565b60405180910390f35b34801561049157600080fd5b5061049a610950565b005b3480156104a857600080fd5b506104c360048036038101906104be9190610ea3565b61096d565b005b3480156104d157600080fd5b506104ec60048036038101906104e79190610f28565b6109d2565b005b3480156104fa57600080fd5b506105036109ff565b005b34801561051157600080fd5b5061052c60048036038101906105279190610c24565b610a1a565b005b34801561053a57600080fd5b50610543610a68565b6040516105509190610fcc565b60405180910390f35b34801561056557600080fd5b5061056e610a7b565b60405161057b9190610fcc565b60405180910390f35b34801561059057600080fd5b50610599610a92565b6040516105a69190610d5d565b60405180910390f35b3480156105bb57600080fd5b506105c4610a9a565b6040516105d19190610cf7565b60405180910390f35b3480156105e657600080fd5b506105ef610ab1565b005b3480156105fd57600080fd5b5061061860048036038101906106139190610caf565b610b4b565b6040516106259190610bd3565b60405180910390f35b34801561063a57600080fd5b5061065560048036038101906106509190610c24565b610b63565b6040516106629190610bd3565b60405180910390f35b34801561067757600080fd5b50610680610b76565b60405161068d9190610bd3565b60405180910390f35b60005481565b600047905090565b60005b60108110156106dc5760016000808282546106c29190611016565b9250508190555080806106d49061106c565b9150506106a7565b50565b600080429050600a816106f291906110e3565b91505090565b600080479050828110156107455780836040517fcf47918100000000000000000000000000000000000000000000000000000000815260040161073c929190611114565b60405180910390fd5b6001915050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600160166101000a81548160ff021916908360038111156107be576107bd610f55565b5b0217905550565b60018060006101000a81548160ff021916908315150217905550565b600160009054906101000a900460ff1681565b60016000808282546108069190611016565b92505081905550565b60018054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546108839190611016565b9250508190555050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600160006101000a81548160ff021916908315150217905550565b6000600a82106108df5760026108e2565b60015b60ff169050919050565b60008054905090565b6108fd610b7e565b610905610b7e565b60005b6004811015610948576109196106df565b82826004811061092c5761092b61113d565b5b60200201818152505080806109409061106c565b915050610908565b508091505090565b60006002905080600054610964919061116c565b60008190555050565b610975610ba0565b83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505081600001819052508181602001818152505050505050565b80600160166101000a81548160ff021916908360038111156109f7576109f6610f55565b5b021790555050565b6001600080828254610a1191906111c6565b92505081905550565b60108111610a5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5490611257565b60405180910390fd5b610a656106a4565b50565b600160169054906101000a900460ff1681565b6000600160169054906101000a900460ff16905090565b600033905090565b6000600160009054906101000a900460ff16905090565b3373ffffffffffffffffffffffffffffffffffffffff167f0738f4da267a110d810e6e89fc59e46be6de0c37b1d5cd559b267dc3688e74e0604051610af5906112c3565b60405180910390a23373ffffffffffffffffffffffffffffffffffffffff167f0738f4da267a110d810e6e89fc59e46be6de0c37b1d5cd559b267dc3688e74e0604051610b419061132f565b60405180910390a2565b60026020528060005260406000206000915090505481565b6000816000819055506000549050919050565b600042905090565b6040518060800160405280600490602082028036833780820191505090505090565b604051806040016040528060608152602001600081525090565b6000819050919050565b610bcd81610bba565b82525050565b6000602082019050610be86000830184610bc4565b92915050565b600080fd5b600080fd5b610c0181610bba565b8114610c0c57600080fd5b50565b600081359050610c1e81610bf8565b92915050565b600060208284031215610c3a57610c39610bee565b5b6000610c4884828501610c0f565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610c7c82610c51565b9050919050565b610c8c81610c71565b8114610c9757600080fd5b50565b600081359050610ca981610c83565b92915050565b600060208284031215610cc557610cc4610bee565b5b6000610cd384828501610c9a565b91505092915050565b60008115159050919050565b610cf181610cdc565b82525050565b6000602082019050610d0c6000830184610ce8565b92915050565b6000610d1d82610c51565b9050919050565b610d2d81610d12565b82525050565b6000602082019050610d486000830184610d24565b92915050565b610d5781610c71565b82525050565b6000602082019050610d726000830184610d4e565b92915050565b600060049050919050565b600081905092915050565b6000819050919050565b610da181610bba565b82525050565b6000610db38383610d98565b60208301905092915050565b6000602082019050919050565b610dd581610d78565b610ddf8184610d83565b9250610dea82610d8e565b8060005b83811015610e1b578151610e028782610da7565b9650610e0d83610dbf565b925050600181019050610dee565b505050505050565b6000608082019050610e386000830184610dcc565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610e6357610e62610e3e565b5b8235905067ffffffffffffffff811115610e8057610e7f610e43565b5b602083019150836001820283011115610e9c57610e9b610e48565b5b9250929050565b600080600060408486031215610ebc57610ebb610bee565b5b600084013567ffffffffffffffff811115610eda57610ed9610bf3565b5b610ee686828701610e4d565b93509350506020610ef986828701610c0f565b9150509250925092565b60048110610f1057600080fd5b50565b600081359050610f2281610f03565b92915050565b600060208284031215610f3e57610f3d610bee565b5b6000610f4c84828501610f13565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60048110610f9557610f94610f55565b5b50565b6000819050610fa682610f84565b919050565b6000610fb682610f98565b9050919050565b610fc681610fab565b82525050565b6000602082019050610fe16000830184610fbd565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061102182610bba565b915061102c83610bba565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561106157611060610fe7565b5b828201905092915050565b600061107782610bba565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036110a9576110a8610fe7565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006110ee82610bba565b91506110f983610bba565b925082611109576111086110b4565b5b828206905092915050565b60006040820190506111296000830185610bc4565b6111366020830184610bc4565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061117782610bba565b915061118283610bba565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156111bb576111ba610fe7565b5b828202905092915050565b60006111d182610bba565b91506111dc83610bba565b9250828210156111ef576111ee610fe7565b5b828203905092915050565b600082825260208201905092915050565b7f496e707574206d7573742062652067726561746572207468616e203136000000600082015250565b6000611241601d836111fa565b915061124c8261120b565b602082019050919050565b6000602082019050818103600083015261127081611234565b9050919050565b7f48656c6c6f20576f726c64210000000000000000000000000000000000000000600082015250565b60006112ad600c836111fa565b91506112b882611277565b602082019050919050565b600060208201905081810360008301526112dc816112a0565b9050919050565b7f48656c6c6f2045564d2100000000000000000000000000000000000000000000600082015250565b6000611319600a836111fa565b9150611324826112e3565b602082019050919050565b600060208201905081810360008301526113488161130c565b905091905056fea26469706673582212202ad8c59c2e5e6789617da6c89fd608558d1ad412bd73a6cff5c2553fab54f0fc64736f6c634300080d0033",
"opcodes": "PUSH1 0xA0 PUSH1 0x40 MSTORE PUSH20 0x777788889999AAAABBBBCCCCDDDDEEEEFFFFCCCC PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x80 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP CALLER PUSH1 0x1 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x80 MLOAD PUSH2 0x1385 PUSH2 0xA6 PUSH1 0x0 CODECOPY PUSH1 0x0 PUSH2 0x88F ADD MSTORE PUSH2 0x1385 PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x1D1 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6D4CE63C GT PUSH2 0xF7 JUMPI DUP1 PUSH4 0xBF15071D GT PUSH2 0x95 JUMPI DUP1 PUSH4 0xF8A8FD6D GT PUSH2 0x64 JUMPI DUP1 PUSH4 0xF8A8FD6D EQ PUSH2 0x5DA JUMPI DUP1 PUSH4 0xFBFA941F EQ PUSH2 0x5F1 JUMPI DUP1 PUSH4 0xFC38511A EQ PUSH2 0x62E JUMPI DUP1 PUSH4 0xFC6167CC EQ PUSH2 0x66B JUMPI PUSH2 0x1D8 JUMP JUMPDEST DUP1 PUSH4 0xBF15071D EQ PUSH2 0x52E JUMPI DUP1 PUSH4 0xD36DEDD2 EQ PUSH2 0x559 JUMPI DUP1 PUSH4 0xE7004C89 EQ PUSH2 0x584 JUMPI DUP1 PUSH4 0xF4E78580 EQ PUSH2 0x5AF JUMPI PUSH2 0x1D8 JUMP JUMPDEST DUP1 PUSH4 0x97DE706F GT PUSH2 0xD1 JUMPI DUP1 PUSH4 0x97DE706F EQ PUSH2 0x49C JUMPI DUP1 PUSH4 0x9DDBEBD8 EQ PUSH2 0x4C5 JUMPI DUP1 PUSH4 0xB3BCFA82 EQ PUSH2 0x4EE JUMPI DUP1 PUSH4 0xB8BD717F EQ PUSH2 0x505 JUMPI PUSH2 0x1D8 JUMP JUMPDEST DUP1 PUSH4 0x6D4CE63C EQ PUSH2 0x42F JUMPI DUP1 PUSH4 0x89F915F6 EQ PUSH2 0x45A JUMPI DUP1 PUSH4 0x8FDB7189 EQ PUSH2 0x485 JUMPI PUSH2 0x1D8 JUMP JUMPDEST DUP1 PUSH4 0x340488C6 GT PUSH2 0x16F JUMPI DUP1 PUSH4 0x3D1157FB GT PUSH2 0x13E JUMPI DUP1 PUSH4 0x3D1157FB EQ PUSH2 0x387 JUMPI DUP1 PUSH4 0x4984E402 EQ PUSH2 0x3B0 JUMPI DUP1 PUSH4 0x4C35A7C9 EQ PUSH2 0x3DB JUMPI DUP1 PUSH4 0x55278C5B EQ PUSH2 0x3F2 JUMPI PUSH2 0x1D8 JUMP JUMPDEST DUP1 PUSH4 0x340488C6 EQ PUSH2 0x303 JUMPI DUP1 PUSH4 0x350CA843 EQ PUSH2 0x31A JUMPI DUP1 PUSH4 0x371303C0 EQ PUSH2 0x345 JUMPI DUP1 PUSH4 0x3A756CEC EQ PUSH2 0x35C JUMPI PUSH2 0x1D8 JUMP JUMPDEST DUP1 PUSH4 0x2C9FCC1D GT PUSH2 0x1AB JUMPI DUP1 PUSH4 0x2C9FCC1D EQ PUSH2 0x247 JUMPI DUP1 PUSH4 0x2E1A7D4D EQ PUSH2 0x272 JUMPI DUP1 PUSH4 0x2FA78085 EQ PUSH2 0x2AF JUMPI DUP1 PUSH4 0x3052E962 EQ PUSH2 0x2EC JUMPI PUSH2 0x1D8 JUMP JUMPDEST DUP1 PUSH4 0x6661ABD EQ PUSH2 0x1DA JUMPI DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x205 JUMPI DUP1 PUSH4 0x15169E9A EQ PUSH2 0x230 JUMPI PUSH2 0x1D8 JUMP JUMPDEST CALLDATASIZE PUSH2 0x1D8 JUMPI STOP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1EF PUSH2 0x696 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1FC SWAP2 SWAP1 PUSH2 0xBD3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x211 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x21A PUSH2 0x69C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x227 SWAP2 SWAP1 PUSH2 0xBD3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x23C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x245 PUSH2 0x6A4 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x253 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH2 0x6DF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x269 SWAP2 SWAP1 PUSH2 0xBD3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x27E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x299 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x294 SWAP2 SWAP1 PUSH2 0xC24 JUMP JUMPDEST PUSH2 0x6F8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2A6 SWAP2 SWAP1 PUSH2 0xBD3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2D6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2D1 SWAP2 SWAP1 PUSH2 0xCAF JUMP JUMPDEST PUSH2 0x74F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2E3 SWAP2 SWAP1 PUSH2 0xBD3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x301 PUSH2 0x798 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x30F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x318 PUSH2 0x7C5 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x326 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x32F PUSH2 0x7E1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x33C SWAP2 SWAP1 PUSH2 0xCF7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x351 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x35A PUSH2 0x7F4 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x368 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x371 PUSH2 0x80F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x37E SWAP2 SWAP1 PUSH2 0xD33 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x393 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3AE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3A9 SWAP2 SWAP1 PUSH2 0xCAF JUMP JUMPDEST PUSH2 0x833 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3C5 PUSH2 0x88D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3D2 SWAP2 SWAP1 PUSH2 0xD5D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F0 PUSH2 0x8B1 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x419 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x414 SWAP2 SWAP1 PUSH2 0xC24 JUMP JUMPDEST PUSH2 0x8CE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x426 SWAP2 SWAP1 PUSH2 0xBD3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x43B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x444 PUSH2 0x8EC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x451 SWAP2 SWAP1 PUSH2 0xBD3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x466 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x46F PUSH2 0x8F5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x47C SWAP2 SWAP1 PUSH2 0xE23 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x491 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x49A PUSH2 0x950 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4BE SWAP2 SWAP1 PUSH2 0xEA3 JUMP JUMPDEST PUSH2 0x96D JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4D1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4EC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4E7 SWAP2 SWAP1 PUSH2 0xF28 JUMP JUMPDEST PUSH2 0x9D2 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x503 PUSH2 0x9FF JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x511 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x52C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x527 SWAP2 SWAP1 PUSH2 0xC24 JUMP JUMPDEST PUSH2 0xA1A JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x53A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x543 PUSH2 0xA68 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x550 SWAP2 SWAP1 PUSH2 0xFCC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x565 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x56E PUSH2 0xA7B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x57B SWAP2 SWAP1 PUSH2 0xFCC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x590 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x599 PUSH2 0xA92 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5A6 SWAP2 SWAP1 PUSH2 0xD5D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5C4 PUSH2 0xA9A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5D1 SWAP2 SWAP1 PUSH2 0xCF7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5EF PUSH2 0xAB1 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5FD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x618 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x613 SWAP2 SWAP1 PUSH2 0xCAF JUMP JUMPDEST PUSH2 0xB4B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x625 SWAP2 SWAP1 PUSH2 0xBD3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x63A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x655 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x650 SWAP2 SWAP1 PUSH2 0xC24 JUMP JUMPDEST PUSH2 0xB63 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x662 SWAP2 SWAP1 PUSH2 0xBD3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x677 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x680 PUSH2 0xB76 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x68D SWAP2 SWAP1 PUSH2 0xBD3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 SELFBALANCE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST PUSH1 0x10 DUP2 LT ISZERO PUSH2 0x6DC JUMPI PUSH1 0x1 PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD PUSH2 0x6C2 SWAP2 SWAP1 PUSH2 0x1016 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP1 DUP1 PUSH2 0x6D4 SWAP1 PUSH2 0x106C JUMP JUMPDEST SWAP2 POP POP PUSH2 0x6A7 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 TIMESTAMP SWAP1 POP PUSH1 0xA DUP2 PUSH2 0x6F2 SWAP2 SWAP1 PUSH2 0x10E3 JUMP JUMPDEST SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SELFBALANCE SWAP1 POP DUP3 DUP2 LT ISZERO PUSH2 0x745 JUMPI DUP1 DUP4 PUSH1 0x40 MLOAD PUSH32 0xCF47918100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x73C SWAP3 SWAP2 SWAP1 PUSH2 0x1114 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x16 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x7BE JUMPI PUSH2 0x7BD PUSH2 0xF55 JUMP JUMPDEST JUMPDEST MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 DUP1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD PUSH2 0x806 SWAP2 SWAP1 PUSH2 0x1016 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x2 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x883 SWAP2 SWAP1 PUSH2 0x1016 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA DUP3 LT PUSH2 0x8DF JUMPI PUSH1 0x2 PUSH2 0x8E2 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x8FD PUSH2 0xB7E JUMP JUMPDEST PUSH2 0x905 PUSH2 0xB7E JUMP JUMPDEST PUSH1 0x0 JUMPDEST PUSH1 0x4 DUP2 LT ISZERO PUSH2 0x948 JUMPI PUSH2 0x919 PUSH2 0x6DF JUMP JUMPDEST DUP3 DUP3 PUSH1 0x4 DUP2 LT PUSH2 0x92C JUMPI PUSH2 0x92B PUSH2 0x113D JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD DUP2 DUP2 MSTORE POP POP DUP1 DUP1 PUSH2 0x940 SWAP1 PUSH2 0x106C JUMP JUMPDEST SWAP2 POP POP PUSH2 0x908 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SWAP1 POP DUP1 PUSH1 0x0 SLOAD PUSH2 0x964 SWAP2 SWAP1 PUSH2 0x116C JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH2 0x975 PUSH2 0xBA0 JUMP JUMPDEST DUP4 DUP4 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP DUP2 PUSH1 0x0 ADD DUP2 SWAP1 MSTORE POP DUP2 DUP2 PUSH1 0x20 ADD DUP2 DUP2 MSTORE POP POP POP POP POP POP JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x16 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x9F7 JUMPI PUSH2 0x9F6 PUSH2 0xF55 JUMP JUMPDEST JUMPDEST MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD PUSH2 0xA11 SWAP2 SWAP1 PUSH2 0x11C6 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x10 DUP2 GT PUSH2 0xA5D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA54 SWAP1 PUSH2 0x1257 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xA65 PUSH2 0x6A4 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x16 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x16 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP1 JUMP JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x738F4DA267A110D810E6E89FC59E46BE6DE0C37B1D5CD559B267DC3688E74E0 PUSH1 0x40 MLOAD PUSH2 0xAF5 SWAP1 PUSH2 0x12C3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x738F4DA267A110D810E6E89FC59E46BE6DE0C37B1D5CD559B267DC3688E74E0 PUSH1 0x40 MLOAD PUSH2 0xB41 SWAP1 PUSH2 0x132F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 DUP2 SWAP1 SSTORE POP PUSH1 0x0 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 TIMESTAMP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x4 SWAP1 PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xBCD DUP2 PUSH2 0xBBA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBE8 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xBC4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC01 DUP2 PUSH2 0xBBA JUMP JUMPDEST DUP2 EQ PUSH2 0xC0C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xC1E DUP2 PUSH2 0xBF8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC3A JUMPI PUSH2 0xC39 PUSH2 0xBEE JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xC48 DUP5 DUP3 DUP6 ADD PUSH2 0xC0F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC7C DUP3 PUSH2 0xC51 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xC8C DUP2 PUSH2 0xC71 JUMP JUMPDEST DUP2 EQ PUSH2 0xC97 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xCA9 DUP2 PUSH2 0xC83 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xCC5 JUMPI PUSH2 0xCC4 PUSH2 0xBEE JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xCD3 DUP5 DUP3 DUP6 ADD PUSH2 0xC9A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xCF1 DUP2 PUSH2 0xCDC JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xD0C PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xCE8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD1D DUP3 PUSH2 0xC51 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD2D DUP2 PUSH2 0xD12 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xD48 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xD24 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xD57 DUP2 PUSH2 0xC71 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xD72 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xD4E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDA1 DUP2 PUSH2 0xBBA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDB3 DUP4 DUP4 PUSH2 0xD98 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDD5 DUP2 PUSH2 0xD78 JUMP JUMPDEST PUSH2 0xDDF DUP2 DUP5 PUSH2 0xD83 JUMP JUMPDEST SWAP3 POP PUSH2 0xDEA DUP3 PUSH2 0xD8E JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xE1B JUMPI DUP2 MLOAD PUSH2 0xE02 DUP8 DUP3 PUSH2 0xDA7 JUMP JUMPDEST SWAP7 POP PUSH2 0xE0D DUP4 PUSH2 0xDBF JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0xDEE JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0xE38 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xDCC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xE63 JUMPI PUSH2 0xE62 PUSH2 0xE3E JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xE80 JUMPI PUSH2 0xE7F PUSH2 0xE43 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xE9C JUMPI PUSH2 0xE9B PUSH2 0xE48 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xEBC JUMPI PUSH2 0xEBB PUSH2 0xBEE JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xEDA JUMPI PUSH2 0xED9 PUSH2 0xBF3 JUMP JUMPDEST JUMPDEST PUSH2 0xEE6 DUP7 DUP3 DUP8 ADD PUSH2 0xE4D JUMP JUMPDEST SWAP4 POP SWAP4 POP POP PUSH1 0x20 PUSH2 0xEF9 DUP7 DUP3 DUP8 ADD PUSH2 0xC0F JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x4 DUP2 LT PUSH2 0xF10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xF22 DUP2 PUSH2 0xF03 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF3E JUMPI PUSH2 0xF3D PUSH2 0xBEE JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xF4C DUP5 DUP3 DUP6 ADD PUSH2 0xF13 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x4 DUP2 LT PUSH2 0xF95 JUMPI PUSH2 0xF94 PUSH2 0xF55 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0xFA6 DUP3 PUSH2 0xF84 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFB6 DUP3 PUSH2 0xF98 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xFC6 DUP2 PUSH2 0xFAB JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xFE1 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xFBD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1021 DUP3 PUSH2 0xBBA JUMP JUMPDEST SWAP2 POP PUSH2 0x102C DUP4 PUSH2 0xBBA JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x1061 JUMPI PUSH2 0x1060 PUSH2 0xFE7 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1077 DUP3 PUSH2 0xBBA JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x10A9 JUMPI PUSH2 0x10A8 PUSH2 0xFE7 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x10EE DUP3 PUSH2 0xBBA JUMP JUMPDEST SWAP2 POP PUSH2 0x10F9 DUP4 PUSH2 0xBBA JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x1109 JUMPI PUSH2 0x1108 PUSH2 0x10B4 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MOD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x1129 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xBC4 JUMP JUMPDEST PUSH2 0x1136 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xBC4 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1177 DUP3 PUSH2 0xBBA JUMP JUMPDEST SWAP2 POP PUSH2 0x1182 DUP4 PUSH2 0xBBA JUMP JUMPDEST SWAP3 POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x11BB JUMPI PUSH2 0x11BA PUSH2 0xFE7 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11D1 DUP3 PUSH2 0xBBA JUMP JUMPDEST SWAP2 POP PUSH2 0x11DC DUP4 PUSH2 0xBBA JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x11EF JUMPI PUSH2 0x11EE PUSH2 0xFE7 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x496E707574206D7573742062652067726561746572207468616E203136000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1241 PUSH1 0x1D DUP4 PUSH2 0x11FA JUMP JUMPDEST SWAP2 POP PUSH2 0x124C DUP3 PUSH2 0x120B JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1270 DUP2 PUSH2 0x1234 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x48656C6C6F20576F726C64210000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12AD PUSH1 0xC DUP4 PUSH2 0x11FA JUMP JUMPDEST SWAP2 POP PUSH2 0x12B8 DUP3 PUSH2 0x1277 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x12DC DUP2 PUSH2 0x12A0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x48656C6C6F2045564D2100000000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1319 PUSH1 0xA DUP4 PUSH2 0x11FA JUMP JUMPDEST SWAP2 POP PUSH2 0x1324 DUP3 PUSH2 0x12E3 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1348 DUP2 PUSH2 0x130C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x2A 0xD8 0xC5 SWAP13 0x2E 0x5E PUSH8 0x89617DA6C89FD608 SSTORE DUP14 BYTE 0xD4 SLT 0xBD PUSH20 0xA6CFF5C2553FAB54F0FC64736F6C634300080D00 CALLER ",
"sourceMap": "58:4359:0:-:0;;;218:42;176:84;;;;;;;;;517:10;496;;:32;;;;;;;;;;;;;;;;;;58:4359;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@MY_ADDRESS_7": {
"entryPoint": 2063,
"id": 7,
"parameterSlots": 0,
"returnSlots": 0
},
"@NOT_MY_ADDRESS_10": {
"entryPoint": 2189,
"id": 10,
"parameterSlots": 0,
"returnSlots": 0
},
"@_393": {
"entryPoint": null,
"id": 393,
"parameterSlots": 0,
"returnSlots": 0
},
"@_397": {
"entryPoint": null,
"id": 397,
"parameterSlots": 0,
"returnSlots": 0
},
"@aBool_5": {
"entryPoint": 2017,
"id": 5,
"parameterSlots": 0,
"returnSlots": 0
},
"@count_3": {
"entryPoint": 1686,
"id": 3,
"parameterSlots": 0,
"returnSlots": 0
},
"@createOrder_90": {
"entryPoint": 2413,
"id": 90,
"parameterSlots": 3,
"returnSlots": 0
},
"@dec_160": {
"entryPoint": 2559,
"id": 160,
"parameterSlots": 0,
"returnSlots": 0
},
"@double_174": {
"entryPoint": 2384,
"id": 174,
"parameterSlots": 0,
"returnSlots": 0
},
"@getABool_198": {
"entryPoint": 2714,
"id": 198,
"parameterSlots": 0,
"returnSlots": 1
},
"@getBal_136": {
"entryPoint": 1871,
"id": 136,
"parameterSlots": 1,
"returnSlots": 1
},
"@getBalance_409": {
"entryPoint": 1692,
"id": 409,
"parameterSlots": 0,
"returnSlots": 1
},
"@getNumbers_316": {
"entryPoint": 2293,
"id": 316,
"parameterSlots": 0,
"returnSlots": 1
},
"@getOrder_41": {
"entryPoint": 2683,
"id": 41,
"parameterSlots": 0,
"returnSlots": 1
},
"@getStamp_207": {
"entryPoint": 2934,
"id": 207,
"parameterSlots": 0,
"returnSlots": 1
},
"@get_144": {
"entryPoint": 2284,
"id": 144,
"parameterSlots": 0,
"returnSlots": 1
},
"@incBal_124": {
"entryPoint": 2099,
"id": 124,
"parameterSlots": 1,
"returnSlots": 0
},
"@inc_152": {
"entryPoint": 2036,
"id": 152,
"parameterSlots": 0,
"returnSlots": 0
},
"@ledger_94": {
"entryPoint": 2891,
"id": 94,
"parameterSlots": 0,
"returnSlots": 0
},
"@loopUp_265": {
"entryPoint": 1700,
"id": 265,
"parameterSlots": 0,
"returnSlots": 0
},
"@makeFalse_190": {
"entryPoint": 2225,
"id": 190,
"parameterSlots": 0,
"returnSlots": 0
},
"@makeTrue_182": {
"entryPoint": 1989,
"id": 182,
"parameterSlots": 0,
"returnSlots": 0
},
"@maybeRandom_280": {
"entryPoint": 1759,
"id": 280,
"parameterSlots": 0,
"returnSlots": 1
},
"@order_32": {
"entryPoint": 2664,
"id": 32,
"parameterSlots": 0,
"returnSlots": 0
},
"@setOrder_52": {
"entryPoint": 2514,
"id": 52,
"parameterSlots": 1,
"returnSlots": 0
},
"@setToPending_61": {
"entryPoint": 1944,
"id": 61,
"parameterSlots": 0,
"returnSlots": 0
},
"@ternary_245": {
"entryPoint": 2254,
"id": 245,
"parameterSlots": 1,
"returnSlots": 1
},
"@testRequire_332": {
"entryPoint": 2586,
"id": 332,
"parameterSlots": 1,
"returnSlots": 0
},
"@test_389": {
"entryPoint": 2737,
"id": 389,
"parameterSlots": 0,
"returnSlots": 0
},
"@transactMe_230": {
"entryPoint": 2915,
"id": 230,
"parameterSlots": 1,
"returnSlots": 1
},
"@whois_216": {
"entryPoint": 2706,
"id": 216,
"parameterSlots": 0,
"returnSlots": 1
},
"@withdraw_367": {
"entryPoint": 1784,
"id": 367,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_decode_t_address": {
"entryPoint": 3226,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_enum$_Order_$29": {
"entryPoint": 3859,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_string_calldata_ptr": {
"entryPoint": 3661,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_t_uint256": {
"entryPoint": 3087,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address": {
"entryPoint": 3247,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_enum$_Order_$29": {
"entryPoint": 3880,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_string_calldata_ptrt_uint256": {
"entryPoint": 3747,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 3108,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encodeUpdatedPos_t_uint256_to_t_uint256": {
"entryPoint": 3495,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_address_payable_to_t_address_payable_fromStack": {
"entryPoint": 3364,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 3406,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_array$_t_uint256_$4_memory_ptr_to_t_array$_t_uint256_$4_memory_ptr_fromStack": {
"entryPoint": 3532,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_bool_to_t_bool_fromStack": {
"entryPoint": 3304,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_enum$_Order_$29_to_t_uint8_fromStack": {
"entryPoint": 4029,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_stringliteral_03995f5dcf82fcb520f267a6d933ed274d0763bf4b95f8a29b121efa05911fe0_to_t_string_memory_ptr_fromStack": {
"entryPoint": 4876,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_3ea2f1d0abf3fc66cf29eebb70cbd4e7fe762ef8a09bcc06c8edf641230afec0_to_t_string_memory_ptr_fromStack": {
"entryPoint": 4768,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_ab999cf1d3af609aedcf66566242e8f5e7b18bfe56166e36d2b16dd1b1cb7a39_to_t_string_memory_ptr_fromStack": {
"entryPoint": 4660,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256": {
"entryPoint": 3480,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 3012,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 3421,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_address_payable__to_t_address_payable__fromStack_reversed": {
"entryPoint": 3379,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_array$_t_uint256_$4_memory_ptr__to_t_array$_t_uint256_$4_memory_ptr__fromStack_reversed": {
"entryPoint": 3619,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": {
"entryPoint": 3319,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_enum$_Order_$29__to_t_uint8__fromStack_reversed": {
"entryPoint": 4044,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_03995f5dcf82fcb520f267a6d933ed274d0763bf4b95f8a29b121efa05911fe0__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 4911,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_3ea2f1d0abf3fc66cf29eebb70cbd4e7fe762ef8a09bcc06c8edf641230afec0__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 4803,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_ab999cf1d3af609aedcf66566242e8f5e7b18bfe56166e36d2b16dd1b1cb7a39__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 4695,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 3027,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed": {
"entryPoint": 4372,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_dataslot_t_array$_t_uint256_$4_memory_ptr": {
"entryPoint": 3470,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_array$_t_uint256_$4_memory_ptr": {
"entryPoint": 3448,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_nextElement_t_array$_t_uint256_$4_memory_ptr": {
"entryPoint": 3519,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_array$_t_uint256_$4_memory_ptr_fromStack": {
"entryPoint": 3459,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 4602,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 4118,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_mul_t_uint256": {
"entryPoint": 4460,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_sub_t_uint256": {
"entryPoint": 4550,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 3185,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_address_payable": {
"entryPoint": 3346,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 3292,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_enum$_Order_$29": {
"entryPoint": 3992,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 3153,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 3002,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"convert_t_enum$_Order_$29_to_t_uint8": {
"entryPoint": 4011,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"increment_t_uint256": {
"entryPoint": 4204,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"mod_t_uint256": {
"entryPoint": 4323,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 4071,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x12": {
"entryPoint": 4276,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x21": {
"entryPoint": 3925,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x32": {
"entryPoint": 4413,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490": {
"entryPoint": 3651,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 3646,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": {
"entryPoint": 3656,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 3059,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 3054,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"store_literal_in_memory_03995f5dcf82fcb520f267a6d933ed274d0763bf4b95f8a29b121efa05911fe0": {
"entryPoint": 4835,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_3ea2f1d0abf3fc66cf29eebb70cbd4e7fe762ef8a09bcc06c8edf641230afec0": {
"entryPoint": 4727,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_ab999cf1d3af609aedcf66566242e8f5e7b18bfe56166e36d2b16dd1b1cb7a39": {
"entryPoint": 4619,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_assert_t_enum$_Order_$29": {
"entryPoint": 3972,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 3203,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_enum$_Order_$29": {
"entryPoint": 3843,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 3064,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:13816:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "52:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "62:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "73:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "62:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "34:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "44:7:1",
"type": ""
}
],
"src": "7:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "155:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "172:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "195:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "177:17:1"
},
"nodeType": "YulFunctionCall",
"src": "177:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "165:6:1"
},
"nodeType": "YulFunctionCall",
"src": "165:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "165:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "143:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "150:3:1",
"type": ""
}
],
"src": "90:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "312:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "322:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "334:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "345:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "330:3:1"
},
"nodeType": "YulFunctionCall",
"src": "330:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "322:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "402:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "415:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "426:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "411:3:1"
},
"nodeType": "YulFunctionCall",
"src": "411:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "358:43:1"
},
"nodeType": "YulFunctionCall",
"src": "358:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "358:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "284:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "296:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "307:4:1",
"type": ""
}
],
"src": "214:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "482:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "492:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "508:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "502:5:1"
},
"nodeType": "YulFunctionCall",
"src": "502:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "492:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "475:6:1",
"type": ""
}
],
"src": "442:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "612:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "629:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "632:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "622:6:1"
},
"nodeType": "YulFunctionCall",
"src": "622:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "622:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "523:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "735:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "752:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "755:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "745:6:1"
},
"nodeType": "YulFunctionCall",
"src": "745:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "745:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "646:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "812:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "869:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "878:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "881:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "871:6:1"
},
"nodeType": "YulFunctionCall",
"src": "871:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "871:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "835:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "860:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "842:17:1"
},
"nodeType": "YulFunctionCall",
"src": "842:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "832:2:1"
},
"nodeType": "YulFunctionCall",
"src": "832:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "825:6:1"
},
"nodeType": "YulFunctionCall",
"src": "825:43:1"
},
"nodeType": "YulIf",
"src": "822:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "805:5:1",
"type": ""
}
],
"src": "769:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "949:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "959:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "981:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "968:12:1"
},
"nodeType": "YulFunctionCall",
"src": "968:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "959:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1024:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "997:26:1"
},
"nodeType": "YulFunctionCall",
"src": "997:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "997:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "927:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "935:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "943:5:1",
"type": ""
}
],
"src": "897:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1108:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1154:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1156:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1156:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1156:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1129:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1138:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1125:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1125:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1150:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1121:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1121:32:1"
},
"nodeType": "YulIf",
"src": "1118:119:1"
},
{
"nodeType": "YulBlock",
"src": "1247:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1262:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1276:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1266:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1291:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1326:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1337:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1322:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1322:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1346:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1301:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1301:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1291:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1078:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1089:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1101:6:1",
"type": ""
}
],
"src": "1042:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1422:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1432:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1447:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1454:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1443:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1443:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1432:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1404:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1414:7:1",
"type": ""
}
],
"src": "1377:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1554:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1564:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1593:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "1575:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1575:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1564:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1536:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1546:7:1",
"type": ""
}
],
"src": "1509:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1654:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1711:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1720:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1723:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1713:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1713:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1713:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1677:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1702:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "1684:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1684:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1674:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1674:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1667:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1667:43:1"
},
"nodeType": "YulIf",
"src": "1664:63:1"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1647:5:1",
"type": ""
}
],
"src": "1611:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1791:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1801:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1823:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1810:12:1"
},
"nodeType": "YulFunctionCall",
"src": "1810:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1801:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1866:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "1839:26:1"
},
"nodeType": "YulFunctionCall",
"src": "1839:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "1839:33:1"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1769:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1777:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1785:5:1",
"type": ""
}
],
"src": "1739:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1950:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1996:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1998:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1998:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1998:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1971:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1980:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1967:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1967:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1992:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1963:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1963:32:1"
},
"nodeType": "YulIf",
"src": "1960:119:1"
},
{
"nodeType": "YulBlock",
"src": "2089:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2104:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2118:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2108:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2133:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2168:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2179:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2164:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2164:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2188:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "2143:20:1"
},
"nodeType": "YulFunctionCall",
"src": "2143:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2133:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1920:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1931:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1943:6:1",
"type": ""
}
],
"src": "1884:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2261:48:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2271:32:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2296:5:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2289:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2289:13:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2282:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2282:21:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "2271:7:1"
}
]
}
]
},
"name": "cleanup_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2243:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "2253:7:1",
"type": ""
}
],
"src": "2219:90:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2374:50:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2391:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2411:5:1"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "2396:14:1"
},
"nodeType": "YulFunctionCall",
"src": "2396:21:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2384:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2384:34:1"
},
"nodeType": "YulExpressionStatement",
"src": "2384:34:1"
}
]
},
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2362:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2369:3:1",
"type": ""
}
],
"src": "2315:109:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2522:118:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2532:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2544:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2555:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2540:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2540:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2532:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2606:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2619:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2630:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2615:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2615:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulIdentifier",
"src": "2568:37:1"
},
"nodeType": "YulFunctionCall",
"src": "2568:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "2568:65:1"
}
]
},
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2494:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2506:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2517:4:1",
"type": ""
}
],
"src": "2430:210:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2699:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2709:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2738:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "2720:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2720:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "2709:7:1"
}
]
}
]
},
"name": "cleanup_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2681:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "2691:7:1",
"type": ""
}
],
"src": "2646:104:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2837:61:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2854:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2885:5:1"
}
],
"functionName": {
"name": "cleanup_t_address_payable",
"nodeType": "YulIdentifier",
"src": "2859:25:1"
},
"nodeType": "YulFunctionCall",
"src": "2859:32:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2847:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2847:45:1"
},
"nodeType": "YulExpressionStatement",
"src": "2847:45:1"
}
]
},
"name": "abi_encode_t_address_payable_to_t_address_payable_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2825:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2832:3:1",
"type": ""
}
],
"src": "2756:142:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3018:140:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3028:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3040:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3051:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3036:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3036:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3028:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3124:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3137:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3148:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3133:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3133:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_payable_to_t_address_payable_fromStack",
"nodeType": "YulIdentifier",
"src": "3064:59:1"
},
"nodeType": "YulFunctionCall",
"src": "3064:87:1"
},
"nodeType": "YulExpressionStatement",
"src": "3064:87:1"
}
]
},
"name": "abi_encode_tuple_t_address_payable__to_t_address_payable__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2990:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3002:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3013:4:1",
"type": ""
}
],
"src": "2904:254:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3229:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3246:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3269:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "3251:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3251:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3239:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3239:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "3239:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3217:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3224:3:1",
"type": ""
}
],
"src": "3164:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3386:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3396:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3408:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3419:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3404:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3404:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3396:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3476:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3489:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3500:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3485:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3485:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "3432:43:1"
},
"nodeType": "YulFunctionCall",
"src": "3432:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "3432:71:1"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3358:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3370:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3381:4:1",
"type": ""
}
],
"src": "3288:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3588:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3599:14:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "3609:4:1",
"type": "",
"value": "0x04"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3599:6:1"
}
]
}
]
},
"name": "array_length_t_array$_t_uint256_$4_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3571:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3581:6:1",
"type": ""
}
],
"src": "3516:104:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3735:34:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3745:18:1",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3760:3:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "3745:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_array$_t_uint256_$4_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3707:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3712:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "3723:11:1",
"type": ""
}
],
"src": "3626:143:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3845:28:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3855:11:1",
"value": {
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "3863:3:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3855:4:1"
}
]
}
]
},
"name": "array_dataslot_t_array$_t_uint256_$4_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nodeType": "YulTypedName",
"src": "3832:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "3840:4:1",
"type": ""
}
],
"src": "3775:98:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3934:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3951:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3974:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "3956:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3956:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3944:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3944:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "3944:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3922:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3929:3:1",
"type": ""
}
],
"src": "3879:108:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4073:99:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4117:6:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4125:3:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "4083:33:1"
},
"nodeType": "YulFunctionCall",
"src": "4083:46:1"
},
"nodeType": "YulExpressionStatement",
"src": "4083:46:1"
},
{
"nodeType": "YulAssignment",
"src": "4138:28:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4156:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4161:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4152:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4152:14:1"
},
"variableNames": [
{
"name": "updatedPos",
"nodeType": "YulIdentifier",
"src": "4138:10:1"
}
]
}
]
},
"name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4046:6:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4054:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updatedPos",
"nodeType": "YulTypedName",
"src": "4062:10:1",
"type": ""
}
],
"src": "3993:179:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4251:38:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4261:22:1",
"value": {
"arguments": [
{
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "4273:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4278:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4269:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4269:14:1"
},
"variableNames": [
{
"name": "next",
"nodeType": "YulIdentifier",
"src": "4261:4:1"
}
]
}
]
},
"name": "array_nextElement_t_array$_t_uint256_$4_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nodeType": "YulTypedName",
"src": "4238:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "next",
"nodeType": "YulTypedName",
"src": "4246:4:1",
"type": ""
}
],
"src": "4178:111:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4439:582:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4449:66:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4509:5:1"
}
],
"functionName": {
"name": "array_length_t_array$_t_uint256_$4_memory_ptr",
"nodeType": "YulIdentifier",
"src": "4463:45:1"
},
"nodeType": "YulFunctionCall",
"src": "4463:52:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4453:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4524:91:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4603:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4608:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_array$_t_uint256_$4_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4531:71:1"
},
"nodeType": "YulFunctionCall",
"src": "4531:84:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4524:3:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "4624:69:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4687:5:1"
}
],
"functionName": {
"name": "array_dataslot_t_array$_t_uint256_$4_memory_ptr",
"nodeType": "YulIdentifier",
"src": "4639:47:1"
},
"nodeType": "YulFunctionCall",
"src": "4639:54:1"
},
"variables": [
{
"name": "baseRef",
"nodeType": "YulTypedName",
"src": "4628:7:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "4702:21:1",
"value": {
"name": "baseRef",
"nodeType": "YulIdentifier",
"src": "4716:7:1"
},
"variables": [
{
"name": "srcPtr",
"nodeType": "YulTypedName",
"src": "4706:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4792:222:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4806:34:1",
"value": {
"arguments": [
{
"name": "srcPtr",
"nodeType": "YulIdentifier",
"src": "4833:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4827:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4827:13:1"
},
"variables": [
{
"name": "elementValue0",
"nodeType": "YulTypedName",
"src": "4810:13:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4853:70:1",
"value": {
"arguments": [
{
"name": "elementValue0",
"nodeType": "YulIdentifier",
"src": "4904:13:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4919:3:1"
}
],
"functionName": {
"name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "4860:43:1"
},
"nodeType": "YulFunctionCall",
"src": "4860:63:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4853:3:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "4936:68:1",
"value": {
"arguments": [
{
"name": "srcPtr",
"nodeType": "YulIdentifier",
"src": "4997:6:1"
}
],
"functionName": {
"name": "array_nextElement_t_array$_t_uint256_$4_memory_ptr",
"nodeType": "YulIdentifier",
"src": "4946:50:1"
},
"nodeType": "YulFunctionCall",
"src": "4946:58:1"
},
"variableNames": [
{
"name": "srcPtr",
"nodeType": "YulIdentifier",
"src": "4936:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4754:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4757:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "4751:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4751:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "4765:18:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4767:14:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4776:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4779:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4772:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4772:9:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4767:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "4736:14:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4738:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4747:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "4742:1:1",
"type": ""
}
]
}
]
},
"src": "4732:282:1"
}
]
},
"name": "abi_encode_t_array$_t_uint256_$4_memory_ptr_to_t_array$_t_uint256_$4_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4426:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4433:3:1",
"type": ""
}
],
"src": "4327:694:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5171:171:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5181:27:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5193:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5204:3:1",
"type": "",
"value": "128"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5189:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5189:19:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5181:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "5308:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5321:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5332:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5317:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5317:17:1"
}
],
"functionName": {
"name": "abi_encode_t_array$_t_uint256_$4_memory_ptr_to_t_array$_t_uint256_$4_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "5218:89:1"
},
"nodeType": "YulFunctionCall",
"src": "5218:117:1"
},
"nodeType": "YulExpressionStatement",
"src": "5218:117:1"
}
]
},
"name": "abi_encode_tuple_t_array$_t_uint256_$4_memory_ptr__to_t_array$_t_uint256_$4_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5143:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "5155:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "5166:4:1",
"type": ""
}
],
"src": "5027:315:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5437:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5454:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5457:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5447:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5447:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "5447:12:1"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulFunctionDefinition",
"src": "5348:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5560:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5577:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5580:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5570:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5570:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "5570:12:1"
}
]
},
"name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490",
"nodeType": "YulFunctionDefinition",
"src": "5471:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5683:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5700:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5703:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5693:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5693:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "5693:12:1"
}
]
},
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef",
"nodeType": "YulFunctionDefinition",
"src": "5594:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5806:478:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "5855:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulIdentifier",
"src": "5857:77:1"
},
"nodeType": "YulFunctionCall",
"src": "5857:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "5857:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "5834:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5842:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5830:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5830:17:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "5849:3:1"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "5826:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5826:27:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "5819:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5819:35:1"
},
"nodeType": "YulIf",
"src": "5816:122:1"
},
{
"nodeType": "YulAssignment",
"src": "5947:30:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "5970:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "5957:12:1"
},
"nodeType": "YulFunctionCall",
"src": "5957:20:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5947:6:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6020:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490",
"nodeType": "YulIdentifier",
"src": "6022:77:1"
},
"nodeType": "YulFunctionCall",
"src": "6022:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "6022:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5992:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6000:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "5989:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5989:30:1"
},
"nodeType": "YulIf",
"src": "5986:117:1"
},
{
"nodeType": "YulAssignment",
"src": "6112:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "6128:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6136:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6124:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6124:17:1"
},
"variableNames": [
{
"name": "arrayPos",
"nodeType": "YulIdentifier",
"src": "6112:8:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6195:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef",
"nodeType": "YulIdentifier",
"src": "6197:77:1"
},
"nodeType": "YulFunctionCall",
"src": "6197:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "6197:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "arrayPos",
"nodeType": "YulIdentifier",
"src": "6160:8:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6174:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6182:4:1",
"type": "",
"value": "0x01"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "6170:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6170:17:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6156:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6156:32:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "6190:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "6153:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6153:41:1"
},
"nodeType": "YulIf",
"src": "6150:128:1"
}
]
},
"name": "abi_decode_t_string_calldata_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "5773:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "5781:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "arrayPos",
"nodeType": "YulTypedName",
"src": "5789:8:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5799:6:1",
"type": ""
}
],
"src": "5731:553:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6393:571:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "6439:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "6441:77:1"
},
"nodeType": "YulFunctionCall",
"src": "6441:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "6441:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "6414:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6423:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "6410:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6410:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6435:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "6406:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6406:32:1"
},
"nodeType": "YulIf",
"src": "6403:119:1"
},
{
"nodeType": "YulBlock",
"src": "6532:297:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "6547:45:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6578:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6589:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6574:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6574:17:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "6561:12:1"
},
"nodeType": "YulFunctionCall",
"src": "6561:31:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "6551:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6639:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "6641:77:1"
},
"nodeType": "YulFunctionCall",
"src": "6641:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "6641:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "6611:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6619:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "6608:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6608:30:1"
},
"nodeType": "YulIf",
"src": "6605:117:1"
},
{
"nodeType": "YulAssignment",
"src": "6736:83:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6791:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "6802:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6787:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6787:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "6811:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_calldata_ptr",
"nodeType": "YulIdentifier",
"src": "6754:32:1"
},
"nodeType": "YulFunctionCall",
"src": "6754:65:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "6736:6:1"
},
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "6744:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "6839:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "6854:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "6868:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "6858:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "6884:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6919:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "6930:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6915:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6915:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "6939:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "6894:20:1"
},
"nodeType": "YulFunctionCall",
"src": "6894:53:1"
},
"variableNames": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "6884:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_string_calldata_ptrt_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "6347:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "6358:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "6370:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "6378:6:1",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "6386:6:1",
"type": ""
}
],
"src": "6290:674:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7021:56:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "7055:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7064:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7067:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7057:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7057:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "7057:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7044:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7051:1:1",
"type": "",
"value": "4"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "7041:2:1"
},
"nodeType": "YulFunctionCall",
"src": "7041:12:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "7034:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7034:20:1"
},
"nodeType": "YulIf",
"src": "7031:40:1"
}
]
},
"name": "validator_revert_t_enum$_Order_$29",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7014:5:1",
"type": ""
}
],
"src": "6970:107:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7143:95:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7153:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "7175:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "7162:12:1"
},
"nodeType": "YulFunctionCall",
"src": "7162:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7153:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7226:5:1"
}
],
"functionName": {
"name": "validator_revert_t_enum$_Order_$29",
"nodeType": "YulIdentifier",
"src": "7191:34:1"
},
"nodeType": "YulFunctionCall",
"src": "7191:41:1"
},
"nodeType": "YulExpressionStatement",
"src": "7191:41:1"
}
]
},
"name": "abi_decode_t_enum$_Order_$29",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "7121:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "7129:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7137:5:1",
"type": ""
}
],
"src": "7083:155:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7318:271:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "7364:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "7366:77:1"
},
"nodeType": "YulFunctionCall",
"src": "7366:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "7366:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "7339:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7348:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "7335:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7335:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7360:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "7331:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7331:32:1"
},
"nodeType": "YulIf",
"src": "7328:119:1"
},
{
"nodeType": "YulBlock",
"src": "7457:125:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "7472:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "7486:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "7476:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "7501:71:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7544:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "7555:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7540:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7540:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "7564:7:1"
}
],
"functionName": {
"name": "abi_decode_t_enum$_Order_$29",
"nodeType": "YulIdentifier",
"src": "7511:28:1"
},
"nodeType": "YulFunctionCall",
"src": "7511:61:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "7501:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_enum$_Order_$29",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "7288:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "7299:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "7311:6:1",
"type": ""
}
],
"src": "7244:345:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7623:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7640:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7643:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7633:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7633:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "7633:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7737:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7740:4:1",
"type": "",
"value": "0x21"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7730:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7730:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "7730:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7761:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7764:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7754:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7754:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "7754:15:1"
}
]
},
"name": "panic_error_0x21",
"nodeType": "YulFunctionDefinition",
"src": "7595:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7832:62:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "7866:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x21",
"nodeType": "YulIdentifier",
"src": "7868:16:1"
},
"nodeType": "YulFunctionCall",
"src": "7868:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "7868:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7855:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7862:1:1",
"type": "",
"value": "4"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "7852:2:1"
},
"nodeType": "YulFunctionCall",
"src": "7852:12:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "7845:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7845:20:1"
},
"nodeType": "YulIf",
"src": "7842:46:1"
}
]
},
"name": "validator_assert_t_enum$_Order_$29",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7825:5:1",
"type": ""
}
],
"src": "7781:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7953:74:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7963:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "7974:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "7963:7:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8015:5:1"
}
],
"functionName": {
"name": "validator_assert_t_enum$_Order_$29",
"nodeType": "YulIdentifier",
"src": "7980:34:1"
},
"nodeType": "YulFunctionCall",
"src": "7980:41:1"
},
"nodeType": "YulExpressionStatement",
"src": "7980:41:1"
}
]
},
"name": "cleanup_t_enum$_Order_$29",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7935:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "7945:7:1",
"type": ""
}
],
"src": "7900:127:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8099:61:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8109:45:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8148:5:1"
}
],
"functionName": {
"name": "cleanup_t_enum$_Order_$29",
"nodeType": "YulIdentifier",
"src": "8122:25:1"
},
"nodeType": "YulFunctionCall",
"src": "8122:32:1"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "8109:9:1"
}
]
}
]
},
"name": "convert_t_enum$_Order_$29_to_t_uint8",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8079:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "8089:9:1",
"type": ""
}
],
"src": "8033:127:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8237:72:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8254:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8296:5:1"
}
],
"functionName": {
"name": "convert_t_enum$_Order_$29_to_t_uint8",
"nodeType": "YulIdentifier",
"src": "8259:36:1"
},
"nodeType": "YulFunctionCall",
"src": "8259:43:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8247:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8247:56:1"
},
"nodeType": "YulExpressionStatement",
"src": "8247:56:1"
}
]
},
"name": "abi_encode_t_enum$_Order_$29_to_t_uint8_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8225:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "8232:3:1",
"type": ""
}
],
"src": "8166:143:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8419:130:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8429:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8441:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8452:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8437:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8437:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8429:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "8515:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8528:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8539:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8524:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8524:17:1"
}
],
"functionName": {
"name": "abi_encode_t_enum$_Order_$29_to_t_uint8_fromStack",
"nodeType": "YulIdentifier",
"src": "8465:49:1"
},
"nodeType": "YulFunctionCall",
"src": "8465:77:1"
},
"nodeType": "YulExpressionStatement",
"src": "8465:77:1"
}
]
},
"name": "abi_encode_tuple_t_enum$_Order_$29__to_t_uint8__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "8391:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "8403:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "8414:4:1",
"type": ""
}
],
"src": "8315:234:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8583:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8600:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8603:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8593:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8593:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "8593:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8697:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8700:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8690:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8690:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "8690:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8721:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8724:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "8714:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8714:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "8714:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "8555:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8785:261:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8795:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "8818:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "8800:17:1"
},
"nodeType": "YulFunctionCall",
"src": "8800:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "8795:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "8829:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "8852:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "8834:17:1"
},
"nodeType": "YulFunctionCall",
"src": "8834:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "8829:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "8992:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "8994:16:1"
},
"nodeType": "YulFunctionCall",
"src": "8994:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "8994:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "8913:1:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8920:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "8988:1:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "8916:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8916:74:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "8910:2:1"
},
"nodeType": "YulFunctionCall",
"src": "8910:81:1"
},
"nodeType": "YulIf",
"src": "8907:107:1"
},
{
"nodeType": "YulAssignment",
"src": "9024:16:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "9035:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "9038:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9031:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9031:9:1"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "9024:3:1"
}
]
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "8772:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "8775:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "8781:3:1",
"type": ""
}
],
"src": "8741:305:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9095:190:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "9105:33:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "9132:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "9114:17:1"
},
"nodeType": "YulFunctionCall",
"src": "9114:24:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "9105:5:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "9228:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "9230:16:1"
},
"nodeType": "YulFunctionCall",
"src": "9230:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "9230:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "9153:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9160:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "9150:2:1"
},
"nodeType": "YulFunctionCall",
"src": "9150:77:1"
},
"nodeType": "YulIf",
"src": "9147:103:1"
},
{
"nodeType": "YulAssignment",
"src": "9259:20:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "9270:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9277:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9266:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9266:13:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "9259:3:1"
}
]
}
]
},
"name": "increment_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "9081:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "9091:3:1",
"type": ""
}
],
"src": "9052:233:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9319:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9336:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9339:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "9329:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9329:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "9329:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9433:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9436:4:1",
"type": "",
"value": "0x12"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "9426:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9426:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "9426:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9457:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9460:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "9450:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9450:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "9450:15:1"
}
]
},
"name": "panic_error_0x12",
"nodeType": "YulFunctionDefinition",
"src": "9291:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9511:142:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "9521:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "9544:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "9526:17:1"
},
"nodeType": "YulFunctionCall",
"src": "9526:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "9521:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "9555:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "9578:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "9560:17:1"
},
"nodeType": "YulFunctionCall",
"src": "9560:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "9555:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "9602:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x12",
"nodeType": "YulIdentifier",
"src": "9604:16:1"
},
"nodeType": "YulFunctionCall",
"src": "9604:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "9604:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "9599:1:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "9592:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9592:9:1"
},
"nodeType": "YulIf",
"src": "9589:35:1"
},
{
"nodeType": "YulAssignment",
"src": "9633:14:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "9642:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "9645:1:1"
}
],
"functionName": {
"name": "mod",
"nodeType": "YulIdentifier",
"src": "9638:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9638:9:1"
},
"variableNames": [
{
"name": "r",
"nodeType": "YulIdentifier",
"src": "9633:1:1"
}
]
}
]
},
"name": "mod_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "9500:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "9503:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "r",
"nodeType": "YulTypedName",
"src": "9509:1:1",
"type": ""
}
],
"src": "9477:176:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9785:206:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "9795:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "9807:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9818:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9803:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9803:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "9795:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "9875:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "9888:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9899:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9884:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9884:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "9831:43:1"
},
"nodeType": "YulFunctionCall",
"src": "9831:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "9831:71:1"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "9956:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "9969:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9980:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9965:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9965:18:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "9912:43:1"
},
"nodeType": "YulFunctionCall",
"src": "9912:72:1"
},
"nodeType": "YulExpressionStatement",
"src": "9912:72:1"
}
]
},
"name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "9749:9:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "9761:6:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "9769:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "9780:4:1",
"type": ""
}
],
"src": "9659:332:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10025:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10042:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10045:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "10035:6:1"
},
"nodeType": "YulFunctionCall",
"src": "10035:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "10035:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10139:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10142:4:1",
"type": "",
"value": "0x32"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "10132:6:1"
},
"nodeType": "YulFunctionCall",
"src": "10132:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "10132:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10163:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10166:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "10156:6:1"
},
"nodeType": "YulFunctionCall",
"src": "10156:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "10156:15:1"
}
]
},
"name": "panic_error_0x32",
"nodeType": "YulFunctionDefinition",
"src": "9997:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10231:300:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "10241:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "10264:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "10246:17:1"
},
"nodeType": "YulFunctionCall",
"src": "10246:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "10241:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "10275:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "10298:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "10280:17:1"
},
"nodeType": "YulFunctionCall",
"src": "10280:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "10275:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "10473:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "10475:16:1"
},
"nodeType": "YulFunctionCall",
"src": "10475:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "10475:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "10385:1:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "10378:6:1"
},
"nodeType": "YulFunctionCall",
"src": "10378:9:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "10371:6:1"
},
"nodeType": "YulFunctionCall",
"src": "10371:17:1"
},
{
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "10393:1:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10400:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
},
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "10468:1:1"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "10396:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10396:74:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "10390:2:1"
},
"nodeType": "YulFunctionCall",
"src": "10390:81:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "10367:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10367:105:1"
},
"nodeType": "YulIf",
"src": "10364:131:1"
},
{
"nodeType": "YulAssignment",
"src": "10505:20:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "10520:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "10523:1:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "10516:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10516:9:1"
},
"variableNames": [
{
"name": "product",
"nodeType": "YulIdentifier",
"src": "10505:7:1"
}
]
}
]
},
"name": "checked_mul_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "10214:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "10217:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "product",
"nodeType": "YulTypedName",
"src": "10223:7:1",
"type": ""
}
],
"src": "10183:348:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10582:146:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "10592:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "10615:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "10597:17:1"
},
"nodeType": "YulFunctionCall",
"src": "10597:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "10592:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "10626:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "10649:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "10631:17:1"
},
"nodeType": "YulFunctionCall",
"src": "10631:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "10626:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "10673:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "10675:16:1"
},
"nodeType": "YulFunctionCall",
"src": "10675:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "10675:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "10667:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "10670:1:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "10664:2:1"
},
"nodeType": "YulFunctionCall",
"src": "10664:8:1"
},
"nodeType": "YulIf",
"src": "10661:34:1"
},
{
"nodeType": "YulAssignment",
"src": "10705:17:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "10717:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "10720:1:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "10713:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10713:9:1"
},
"variableNames": [
{
"name": "diff",
"nodeType": "YulIdentifier",
"src": "10705:4:1"
}
]
}
]
},
"name": "checked_sub_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "10568:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "10571:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "diff",
"nodeType": "YulTypedName",
"src": "10577:4:1",
"type": ""
}
],
"src": "10537:191:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10830:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "10847:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "10852:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "10840:6:1"
},
"nodeType": "YulFunctionCall",
"src": "10840:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "10840:19:1"
},
{
"nodeType": "YulAssignment",
"src": "10868:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "10887:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10892:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10883:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10883:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "10868:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "10802:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "10807:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "10818:11:1",
"type": ""
}
],
"src": "10734:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "11015:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "11037:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11045:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "11033:3:1"
},
"nodeType": "YulFunctionCall",
"src": "11033:14:1"
},
{
"hexValue": "496e707574206d7573742062652067726561746572207468616e203136",
"kind": "string",
"nodeType": "YulLiteral",
"src": "11049:31:1",
"type": "",
"value": "Input must be greater than 16"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "11026:6:1"
},
"nodeType": "YulFunctionCall",
"src": "11026:55:1"
},
"nodeType": "YulExpressionStatement",
"src": "11026:55:1"
}
]
},
"name": "store_literal_in_memory_ab999cf1d3af609aedcf66566242e8f5e7b18bfe56166e36d2b16dd1b1cb7a39",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "11007:6:1",
"type": ""
}
],
"src": "10909:179:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "11240:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "11250:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "11316:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11321:2:1",
"type": "",
"value": "29"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "11257:58:1"
},
"nodeType": "YulFunctionCall",
"src": "11257:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "11250:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "11422:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_ab999cf1d3af609aedcf66566242e8f5e7b18bfe56166e36d2b16dd1b1cb7a39",
"nodeType": "YulIdentifier",
"src": "11333:88:1"
},
"nodeType": "YulFunctionCall",
"src": "11333:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "11333:93:1"
},
{
"nodeType": "YulAssignment",
"src": "11435:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "11446:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11451:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "11442:3:1"
},
"nodeType": "YulFunctionCall",
"src": "11442:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "11435:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_ab999cf1d3af609aedcf66566242e8f5e7b18bfe56166e36d2b16dd1b1cb7a39_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "11228:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "11236:3:1",
"type": ""
}
],
"src": "11094:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "11637:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "11647:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "11659:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11670:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "11655:3:1"
},
"nodeType": "YulFunctionCall",
"src": "11655:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "11647:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "11694:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11705:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "11690:3:1"
},
"nodeType": "YulFunctionCall",
"src": "11690:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "11713:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "11719:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "11709:3:1"
},
"nodeType": "YulFunctionCall",
"src": "11709:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "11683:6:1"
},
"nodeType": "YulFunctionCall",
"src": "11683:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "11683:47:1"
},
{
"nodeType": "YulAssignment",
"src": "11739:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "11873:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_ab999cf1d3af609aedcf66566242e8f5e7b18bfe56166e36d2b16dd1b1cb7a39_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "11747:124:1"
},
"nodeType": "YulFunctionCall",
"src": "11747:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "11739:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_ab999cf1d3af609aedcf66566242e8f5e7b18bfe56166e36d2b16dd1b1cb7a39__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "11617:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "11632:4:1",
"type": ""
}
],
"src": "11466:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "11997:56:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "12019:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12027:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12015:3:1"
},
"nodeType": "YulFunctionCall",
"src": "12015:14:1"
},
{
"hexValue": "48656c6c6f20576f726c6421",
"kind": "string",
"nodeType": "YulLiteral",
"src": "12031:14:1",
"type": "",
"value": "Hello World!"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "12008:6:1"
},
"nodeType": "YulFunctionCall",
"src": "12008:38:1"
},
"nodeType": "YulExpressionStatement",
"src": "12008:38:1"
}
]
},
"name": "store_literal_in_memory_3ea2f1d0abf3fc66cf29eebb70cbd4e7fe762ef8a09bcc06c8edf641230afec0",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "11989:6:1",
"type": ""
}
],
"src": "11891:162:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "12205:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "12215:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "12281:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12286:2:1",
"type": "",
"value": "12"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "12222:58:1"
},
"nodeType": "YulFunctionCall",
"src": "12222:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "12215:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "12387:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_3ea2f1d0abf3fc66cf29eebb70cbd4e7fe762ef8a09bcc06c8edf641230afec0",
"nodeType": "YulIdentifier",
"src": "12298:88:1"
},
"nodeType": "YulFunctionCall",
"src": "12298:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "12298:93:1"
},
{
"nodeType": "YulAssignment",
"src": "12400:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "12411:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12416:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12407:3:1"
},
"nodeType": "YulFunctionCall",
"src": "12407:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "12400:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_3ea2f1d0abf3fc66cf29eebb70cbd4e7fe762ef8a09bcc06c8edf641230afec0_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "12193:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "12201:3:1",
"type": ""
}
],
"src": "12059:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "12602:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "12612:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "12624:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12635:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12620:3:1"
},
"nodeType": "YulFunctionCall",
"src": "12620:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "12612:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "12659:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12670:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12655:3:1"
},
"nodeType": "YulFunctionCall",
"src": "12655:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "12678:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "12684:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "12674:3:1"
},
"nodeType": "YulFunctionCall",
"src": "12674:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "12648:6:1"
},
"nodeType": "YulFunctionCall",
"src": "12648:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "12648:47:1"
},
{
"nodeType": "YulAssignment",
"src": "12704:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "12838:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_3ea2f1d0abf3fc66cf29eebb70cbd4e7fe762ef8a09bcc06c8edf641230afec0_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "12712:124:1"
},
"nodeType": "YulFunctionCall",
"src": "12712:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "12704:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_3ea2f1d0abf3fc66cf29eebb70cbd4e7fe762ef8a09bcc06c8edf641230afec0__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "12582:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "12597:4:1",
"type": ""
}
],
"src": "12431:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "12962:54:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "12984:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12992:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12980:3:1"
},
"nodeType": "YulFunctionCall",
"src": "12980:14:1"
},
{
"hexValue": "48656c6c6f2045564d21",
"kind": "string",
"nodeType": "YulLiteral",
"src": "12996:12:1",
"type": "",
"value": "Hello EVM!"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "12973:6:1"
},
"nodeType": "YulFunctionCall",
"src": "12973:36:1"
},
"nodeType": "YulExpressionStatement",
"src": "12973:36:1"
}
]
},
"name": "store_literal_in_memory_03995f5dcf82fcb520f267a6d933ed274d0763bf4b95f8a29b121efa05911fe0",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "12954:6:1",
"type": ""
}
],
"src": "12856:160:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "13168:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "13178:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "13244:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13249:2:1",
"type": "",
"value": "10"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "13185:58:1"
},
"nodeType": "YulFunctionCall",
"src": "13185:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "13178:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "13350:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_03995f5dcf82fcb520f267a6d933ed274d0763bf4b95f8a29b121efa05911fe0",
"nodeType": "YulIdentifier",
"src": "13261:88:1"
},
"nodeType": "YulFunctionCall",
"src": "13261:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "13261:93:1"
},
{
"nodeType": "YulAssignment",
"src": "13363:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "13374:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13379:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "13370:3:1"
},
"nodeType": "YulFunctionCall",
"src": "13370:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "13363:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_03995f5dcf82fcb520f267a6d933ed274d0763bf4b95f8a29b121efa05911fe0_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "13156:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "13164:3:1",
"type": ""
}
],
"src": "13022:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "13565:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "13575:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "13587:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13598:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "13583:3:1"
},
"nodeType": "YulFunctionCall",
"src": "13583:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "13575:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "13622:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13633:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "13618:3:1"
},
"nodeType": "YulFunctionCall",
"src": "13618:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "13641:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "13647:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "13637:3:1"
},
"nodeType": "YulFunctionCall",
"src": "13637:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "13611:6:1"
},
"nodeType": "YulFunctionCall",
"src": "13611:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "13611:47:1"
},
{
"nodeType": "YulAssignment",
"src": "13667:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "13801:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_03995f5dcf82fcb520f267a6d933ed274d0763bf4b95f8a29b121efa05911fe0_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "13675:124:1"
},
"nodeType": "YulFunctionCall",
"src": "13675:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "13667:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_03995f5dcf82fcb520f267a6d933ed274d0763bf4b95f8a29b121efa05911fe0__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "13545:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "13560:4:1",
"type": ""
}
],
"src": "13394:419:1"
}
]
},
"contents": "{\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_address_payable(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_payable_to_t_address_payable_fromStack(value, pos) {\n mstore(pos, cleanup_t_address_payable(value))\n }\n\n function abi_encode_tuple_t_address_payable__to_t_address_payable__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_payable_to_t_address_payable_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_array$_t_uint256_$4_memory_ptr(value) -> length {\n\n length := 0x04\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_uint256_$4_memory_ptr_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function array_dataslot_t_array$_t_uint256_$4_memory_ptr(ptr) -> data {\n data := ptr\n\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encodeUpdatedPos_t_uint256_to_t_uint256(value0, pos) -> updatedPos {\n abi_encode_t_uint256_to_t_uint256(value0, pos)\n updatedPos := add(pos, 0x20)\n }\n\n function array_nextElement_t_array$_t_uint256_$4_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // uint256[4] -> uint256[4]\n function abi_encode_t_array$_t_uint256_$4_memory_ptr_to_t_array$_t_uint256_$4_memory_ptr_fromStack(value, pos) {\n let length := array_length_t_array$_t_uint256_$4_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_uint256_$4_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_uint256_$4_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := mload(srcPtr)\n pos := abi_encodeUpdatedPos_t_uint256_to_t_uint256(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_uint256_$4_memory_ptr(srcPtr)\n }\n\n }\n\n function abi_encode_tuple_t_array$_t_uint256_$4_memory_ptr__to_t_array$_t_uint256_$4_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_array$_t_uint256_$4_memory_ptr_to_t_array$_t_uint256_$4_memory_ptr_fromStack(value0, add(headStart, 0))\n\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // string\n function abi_decode_t_string_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x01)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_string_calldata_ptrt_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0, value1 := abi_decode_t_string_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function validator_revert_t_enum$_Order_$29(value) {\n if iszero(lt(value, 4)) { revert(0, 0) }\n }\n\n function abi_decode_t_enum$_Order_$29(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_enum$_Order_$29(value)\n }\n\n function abi_decode_tuple_t_enum$_Order_$29(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_enum$_Order_$29(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n function validator_assert_t_enum$_Order_$29(value) {\n if iszero(lt(value, 4)) { panic_error_0x21() }\n }\n\n function cleanup_t_enum$_Order_$29(value) -> cleaned {\n cleaned := value validator_assert_t_enum$_Order_$29(value)\n }\n\n function convert_t_enum$_Order_$29_to_t_uint8(value) -> converted {\n converted := cleanup_t_enum$_Order_$29(value)\n }\n\n function abi_encode_t_enum$_Order_$29_to_t_uint8_fromStack(value, pos) {\n mstore(pos, convert_t_enum$_Order_$29_to_t_uint8(value))\n }\n\n function abi_encode_tuple_t_enum$_Order_$29__to_t_uint8__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_enum$_Order_$29_to_t_uint8_fromStack(value0, add(headStart, 0))\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n function mod_t_uint256(x, y) -> r {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n if iszero(y) { panic_error_0x12() }\n r := mod(x, y)\n }\n\n function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x != 0 and y > (maxValue / x)\n if and(iszero(iszero(x)), gt(y, div(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, x))) { panic_error_0x11() }\n\n product := mul(x, y)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n if lt(x, y) { panic_error_0x11() }\n\n diff := sub(x, y)\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_ab999cf1d3af609aedcf66566242e8f5e7b18bfe56166e36d2b16dd1b1cb7a39(memPtr) {\n\n mstore(add(memPtr, 0), \"Input must be greater than 16\")\n\n }\n\n function abi_encode_t_stringliteral_ab999cf1d3af609aedcf66566242e8f5e7b18bfe56166e36d2b16dd1b1cb7a39_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_ab999cf1d3af609aedcf66566242e8f5e7b18bfe56166e36d2b16dd1b1cb7a39(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_ab999cf1d3af609aedcf66566242e8f5e7b18bfe56166e36d2b16dd1b1cb7a39__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_ab999cf1d3af609aedcf66566242e8f5e7b18bfe56166e36d2b16dd1b1cb7a39_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_3ea2f1d0abf3fc66cf29eebb70cbd4e7fe762ef8a09bcc06c8edf641230afec0(memPtr) {\n\n mstore(add(memPtr, 0), \"Hello World!\")\n\n }\n\n function abi_encode_t_stringliteral_3ea2f1d0abf3fc66cf29eebb70cbd4e7fe762ef8a09bcc06c8edf641230afec0_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 12)\n store_literal_in_memory_3ea2f1d0abf3fc66cf29eebb70cbd4e7fe762ef8a09bcc06c8edf641230afec0(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_3ea2f1d0abf3fc66cf29eebb70cbd4e7fe762ef8a09bcc06c8edf641230afec0__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_3ea2f1d0abf3fc66cf29eebb70cbd4e7fe762ef8a09bcc06c8edf641230afec0_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_03995f5dcf82fcb520f267a6d933ed274d0763bf4b95f8a29b121efa05911fe0(memPtr) {\n\n mstore(add(memPtr, 0), \"Hello EVM!\")\n\n }\n\n function abi_encode_t_stringliteral_03995f5dcf82fcb520f267a6d933ed274d0763bf4b95f8a29b121efa05911fe0_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 10)\n store_literal_in_memory_03995f5dcf82fcb520f267a6d933ed274d0763bf4b95f8a29b121efa05911fe0(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_03995f5dcf82fcb520f267a6d933ed274d0763bf4b95f8a29b121efa05911fe0__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_03995f5dcf82fcb520f267a6d933ed274d0763bf4b95f8a29b121efa05911fe0_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {
"10": [
{
"length": 32,
"start": 2191
}
]
},
"linkReferences": {},
"object": "6080604052600436106101d15760003560e01c80636d4ce63c116100f7578063bf15071d11610095578063f8a8fd6d11610064578063f8a8fd6d146105da578063fbfa941f146105f1578063fc38511a1461062e578063fc6167cc1461066b576101d8565b8063bf15071d1461052e578063d36dedd214610559578063e7004c8914610584578063f4e78580146105af576101d8565b806397de706f116100d157806397de706f1461049c5780639ddbebd8146104c5578063b3bcfa82146104ee578063b8bd717f14610505576101d8565b80636d4ce63c1461042f57806389f915f61461045a5780638fdb718914610485576101d8565b8063340488c61161016f5780633d1157fb1161013e5780633d1157fb146103875780634984e402146103b05780634c35a7c9146103db57806355278c5b146103f2576101d8565b8063340488c614610303578063350ca8431461031a578063371303c0146103455780633a756cec1461035c576101d8565b80632c9fcc1d116101ab5780632c9fcc1d146102475780632e1a7d4d146102725780632fa78085146102af5780633052e962146102ec576101d8565b806306661abd146101da57806312065fe01461020557806315169e9a14610230576101d8565b366101d857005b005b3480156101e657600080fd5b506101ef610696565b6040516101fc9190610bd3565b60405180910390f35b34801561021157600080fd5b5061021a61069c565b6040516102279190610bd3565b60405180910390f35b34801561023c57600080fd5b506102456106a4565b005b34801561025357600080fd5b5061025c6106df565b6040516102699190610bd3565b60405180910390f35b34801561027e57600080fd5b5061029960048036038101906102949190610c24565b6106f8565b6040516102a69190610bd3565b60405180910390f35b3480156102bb57600080fd5b506102d660048036038101906102d19190610caf565b61074f565b6040516102e39190610bd3565b60405180910390f35b3480156102f857600080fd5b50610301610798565b005b34801561030f57600080fd5b506103186107c5565b005b34801561032657600080fd5b5061032f6107e1565b60405161033c9190610cf7565b60405180910390f35b34801561035157600080fd5b5061035a6107f4565b005b34801561036857600080fd5b5061037161080f565b60405161037e9190610d33565b60405180910390f35b34801561039357600080fd5b506103ae60048036038101906103a99190610caf565b610833565b005b3480156103bc57600080fd5b506103c561088d565b6040516103d29190610d5d565b60405180910390f35b3480156103e757600080fd5b506103f06108b1565b005b3480156103fe57600080fd5b5061041960048036038101906104149190610c24565b6108ce565b6040516104269190610bd3565b60405180910390f35b34801561043b57600080fd5b506104446108ec565b6040516104519190610bd3565b60405180910390f35b34801561046657600080fd5b5061046f6108f5565b60405161047c9190610e23565b60405180910390f35b34801561049157600080fd5b5061049a610950565b005b3480156104a857600080fd5b506104c360048036038101906104be9190610ea3565b61096d565b005b3480156104d157600080fd5b506104ec60048036038101906104e79190610f28565b6109d2565b005b3480156104fa57600080fd5b506105036109ff565b005b34801561051157600080fd5b5061052c60048036038101906105279190610c24565b610a1a565b005b34801561053a57600080fd5b50610543610a68565b6040516105509190610fcc565b60405180910390f35b34801561056557600080fd5b5061056e610a7b565b60405161057b9190610fcc565b60405180910390f35b34801561059057600080fd5b50610599610a92565b6040516105a69190610d5d565b60405180910390f35b3480156105bb57600080fd5b506105c4610a9a565b6040516105d19190610cf7565b60405180910390f35b3480156105e657600080fd5b506105ef610ab1565b005b3480156105fd57600080fd5b5061061860048036038101906106139190610caf565b610b4b565b6040516106259190610bd3565b60405180910390f35b34801561063a57600080fd5b5061065560048036038101906106509190610c24565b610b63565b6040516106629190610bd3565b60405180910390f35b34801561067757600080fd5b50610680610b76565b60405161068d9190610bd3565b60405180910390f35b60005481565b600047905090565b60005b60108110156106dc5760016000808282546106c29190611016565b9250508190555080806106d49061106c565b9150506106a7565b50565b600080429050600a816106f291906110e3565b91505090565b600080479050828110156107455780836040517fcf47918100000000000000000000000000000000000000000000000000000000815260040161073c929190611114565b60405180910390fd5b6001915050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600160166101000a81548160ff021916908360038111156107be576107bd610f55565b5b0217905550565b60018060006101000a81548160ff021916908315150217905550565b600160009054906101000a900460ff1681565b60016000808282546108069190611016565b92505081905550565b60018054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546108839190611016565b9250508190555050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600160006101000a81548160ff021916908315150217905550565b6000600a82106108df5760026108e2565b60015b60ff169050919050565b60008054905090565b6108fd610b7e565b610905610b7e565b60005b6004811015610948576109196106df565b82826004811061092c5761092b61113d565b5b60200201818152505080806109409061106c565b915050610908565b508091505090565b60006002905080600054610964919061116c565b60008190555050565b610975610ba0565b83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505081600001819052508181602001818152505050505050565b80600160166101000a81548160ff021916908360038111156109f7576109f6610f55565b5b021790555050565b6001600080828254610a1191906111c6565b92505081905550565b60108111610a5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5490611257565b60405180910390fd5b610a656106a4565b50565b600160169054906101000a900460ff1681565b6000600160169054906101000a900460ff16905090565b600033905090565b6000600160009054906101000a900460ff16905090565b3373ffffffffffffffffffffffffffffffffffffffff167f0738f4da267a110d810e6e89fc59e46be6de0c37b1d5cd559b267dc3688e74e0604051610af5906112c3565b60405180910390a23373ffffffffffffffffffffffffffffffffffffffff167f0738f4da267a110d810e6e89fc59e46be6de0c37b1d5cd559b267dc3688e74e0604051610b419061132f565b60405180910390a2565b60026020528060005260406000206000915090505481565b6000816000819055506000549050919050565b600042905090565b6040518060800160405280600490602082028036833780820191505090505090565b604051806040016040528060608152602001600081525090565b6000819050919050565b610bcd81610bba565b82525050565b6000602082019050610be86000830184610bc4565b92915050565b600080fd5b600080fd5b610c0181610bba565b8114610c0c57600080fd5b50565b600081359050610c1e81610bf8565b92915050565b600060208284031215610c3a57610c39610bee565b5b6000610c4884828501610c0f565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610c7c82610c51565b9050919050565b610c8c81610c71565b8114610c9757600080fd5b50565b600081359050610ca981610c83565b92915050565b600060208284031215610cc557610cc4610bee565b5b6000610cd384828501610c9a565b91505092915050565b60008115159050919050565b610cf181610cdc565b82525050565b6000602082019050610d0c6000830184610ce8565b92915050565b6000610d1d82610c51565b9050919050565b610d2d81610d12565b82525050565b6000602082019050610d486000830184610d24565b92915050565b610d5781610c71565b82525050565b6000602082019050610d726000830184610d4e565b92915050565b600060049050919050565b600081905092915050565b6000819050919050565b610da181610bba565b82525050565b6000610db38383610d98565b60208301905092915050565b6000602082019050919050565b610dd581610d78565b610ddf8184610d83565b9250610dea82610d8e565b8060005b83811015610e1b578151610e028782610da7565b9650610e0d83610dbf565b925050600181019050610dee565b505050505050565b6000608082019050610e386000830184610dcc565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610e6357610e62610e3e565b5b8235905067ffffffffffffffff811115610e8057610e7f610e43565b5b602083019150836001820283011115610e9c57610e9b610e48565b5b9250929050565b600080600060408486031215610ebc57610ebb610bee565b5b600084013567ffffffffffffffff811115610eda57610ed9610bf3565b5b610ee686828701610e4d565b93509350506020610ef986828701610c0f565b9150509250925092565b60048110610f1057600080fd5b50565b600081359050610f2281610f03565b92915050565b600060208284031215610f3e57610f3d610bee565b5b6000610f4c84828501610f13565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60048110610f9557610f94610f55565b5b50565b6000819050610fa682610f84565b919050565b6000610fb682610f98565b9050919050565b610fc681610fab565b82525050565b6000602082019050610fe16000830184610fbd565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061102182610bba565b915061102c83610bba565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561106157611060610fe7565b5b828201905092915050565b600061107782610bba565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036110a9576110a8610fe7565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006110ee82610bba565b91506110f983610bba565b925082611109576111086110b4565b5b828206905092915050565b60006040820190506111296000830185610bc4565b6111366020830184610bc4565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061117782610bba565b915061118283610bba565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156111bb576111ba610fe7565b5b828202905092915050565b60006111d182610bba565b91506111dc83610bba565b9250828210156111ef576111ee610fe7565b5b828203905092915050565b600082825260208201905092915050565b7f496e707574206d7573742062652067726561746572207468616e203136000000600082015250565b6000611241601d836111fa565b915061124c8261120b565b602082019050919050565b6000602082019050818103600083015261127081611234565b9050919050565b7f48656c6c6f20576f726c64210000000000000000000000000000000000000000600082015250565b60006112ad600c836111fa565b91506112b882611277565b602082019050919050565b600060208201905081810360008301526112dc816112a0565b9050919050565b7f48656c6c6f2045564d2100000000000000000000000000000000000000000000600082015250565b6000611319600a836111fa565b9150611324826112e3565b602082019050919050565b600060208201905081810360008301526113488161130c565b905091905056fea26469706673582212202ad8c59c2e5e6789617da6c89fd608558d1ad412bd73a6cff5c2553fab54f0fc64736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x1D1 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6D4CE63C GT PUSH2 0xF7 JUMPI DUP1 PUSH4 0xBF15071D GT PUSH2 0x95 JUMPI DUP1 PUSH4 0xF8A8FD6D GT PUSH2 0x64 JUMPI DUP1 PUSH4 0xF8A8FD6D EQ PUSH2 0x5DA JUMPI DUP1 PUSH4 0xFBFA941F EQ PUSH2 0x5F1 JUMPI DUP1 PUSH4 0xFC38511A EQ PUSH2 0x62E JUMPI DUP1 PUSH4 0xFC6167CC EQ PUSH2 0x66B JUMPI PUSH2 0x1D8 JUMP JUMPDEST DUP1 PUSH4 0xBF15071D EQ PUSH2 0x52E JUMPI DUP1 PUSH4 0xD36DEDD2 EQ PUSH2 0x559 JUMPI DUP1 PUSH4 0xE7004C89 EQ PUSH2 0x584 JUMPI DUP1 PUSH4 0xF4E78580 EQ PUSH2 0x5AF JUMPI PUSH2 0x1D8 JUMP JUMPDEST DUP1 PUSH4 0x97DE706F GT PUSH2 0xD1 JUMPI DUP1 PUSH4 0x97DE706F EQ PUSH2 0x49C JUMPI DUP1 PUSH4 0x9DDBEBD8 EQ PUSH2 0x4C5 JUMPI DUP1 PUSH4 0xB3BCFA82 EQ PUSH2 0x4EE JUMPI DUP1 PUSH4 0xB8BD717F EQ PUSH2 0x505 JUMPI PUSH2 0x1D8 JUMP JUMPDEST DUP1 PUSH4 0x6D4CE63C EQ PUSH2 0x42F JUMPI DUP1 PUSH4 0x89F915F6 EQ PUSH2 0x45A JUMPI DUP1 PUSH4 0x8FDB7189 EQ PUSH2 0x485 JUMPI PUSH2 0x1D8 JUMP JUMPDEST DUP1 PUSH4 0x340488C6 GT PUSH2 0x16F JUMPI DUP1 PUSH4 0x3D1157FB GT PUSH2 0x13E JUMPI DUP1 PUSH4 0x3D1157FB EQ PUSH2 0x387 JUMPI DUP1 PUSH4 0x4984E402 EQ PUSH2 0x3B0 JUMPI DUP1 PUSH4 0x4C35A7C9 EQ PUSH2 0x3DB JUMPI DUP1 PUSH4 0x55278C5B EQ PUSH2 0x3F2 JUMPI PUSH2 0x1D8 JUMP JUMPDEST DUP1 PUSH4 0x340488C6 EQ PUSH2 0x303 JUMPI DUP1 PUSH4 0x350CA843 EQ PUSH2 0x31A JUMPI DUP1 PUSH4 0x371303C0 EQ PUSH2 0x345 JUMPI DUP1 PUSH4 0x3A756CEC EQ PUSH2 0x35C JUMPI PUSH2 0x1D8 JUMP JUMPDEST DUP1 PUSH4 0x2C9FCC1D GT PUSH2 0x1AB JUMPI DUP1 PUSH4 0x2C9FCC1D EQ PUSH2 0x247 JUMPI DUP1 PUSH4 0x2E1A7D4D EQ PUSH2 0x272 JUMPI DUP1 PUSH4 0x2FA78085 EQ PUSH2 0x2AF JUMPI DUP1 PUSH4 0x3052E962 EQ PUSH2 0x2EC JUMPI PUSH2 0x1D8 JUMP JUMPDEST DUP1 PUSH4 0x6661ABD EQ PUSH2 0x1DA JUMPI DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x205 JUMPI DUP1 PUSH4 0x15169E9A EQ PUSH2 0x230 JUMPI PUSH2 0x1D8 JUMP JUMPDEST CALLDATASIZE PUSH2 0x1D8 JUMPI STOP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1EF PUSH2 0x696 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1FC SWAP2 SWAP1 PUSH2 0xBD3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x211 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x21A PUSH2 0x69C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x227 SWAP2 SWAP1 PUSH2 0xBD3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x23C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x245 PUSH2 0x6A4 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x253 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH2 0x6DF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x269 SWAP2 SWAP1 PUSH2 0xBD3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x27E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x299 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x294 SWAP2 SWAP1 PUSH2 0xC24 JUMP JUMPDEST PUSH2 0x6F8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2A6 SWAP2 SWAP1 PUSH2 0xBD3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2D6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2D1 SWAP2 SWAP1 PUSH2 0xCAF JUMP JUMPDEST PUSH2 0x74F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2E3 SWAP2 SWAP1 PUSH2 0xBD3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x301 PUSH2 0x798 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x30F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x318 PUSH2 0x7C5 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x326 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x32F PUSH2 0x7E1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x33C SWAP2 SWAP1 PUSH2 0xCF7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x351 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x35A PUSH2 0x7F4 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x368 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x371 PUSH2 0x80F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x37E SWAP2 SWAP1 PUSH2 0xD33 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x393 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3AE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3A9 SWAP2 SWAP1 PUSH2 0xCAF JUMP JUMPDEST PUSH2 0x833 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3C5 PUSH2 0x88D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3D2 SWAP2 SWAP1 PUSH2 0xD5D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F0 PUSH2 0x8B1 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x419 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x414 SWAP2 SWAP1 PUSH2 0xC24 JUMP JUMPDEST PUSH2 0x8CE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x426 SWAP2 SWAP1 PUSH2 0xBD3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x43B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x444 PUSH2 0x8EC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x451 SWAP2 SWAP1 PUSH2 0xBD3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x466 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x46F PUSH2 0x8F5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x47C SWAP2 SWAP1 PUSH2 0xE23 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x491 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x49A PUSH2 0x950 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4BE SWAP2 SWAP1 PUSH2 0xEA3 JUMP JUMPDEST PUSH2 0x96D JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4D1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4EC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4E7 SWAP2 SWAP1 PUSH2 0xF28 JUMP JUMPDEST PUSH2 0x9D2 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x503 PUSH2 0x9FF JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x511 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x52C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x527 SWAP2 SWAP1 PUSH2 0xC24 JUMP JUMPDEST PUSH2 0xA1A JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x53A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x543 PUSH2 0xA68 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x550 SWAP2 SWAP1 PUSH2 0xFCC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x565 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x56E PUSH2 0xA7B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x57B SWAP2 SWAP1 PUSH2 0xFCC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x590 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x599 PUSH2 0xA92 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5A6 SWAP2 SWAP1 PUSH2 0xD5D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5C4 PUSH2 0xA9A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5D1 SWAP2 SWAP1 PUSH2 0xCF7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5EF PUSH2 0xAB1 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5FD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x618 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x613 SWAP2 SWAP1 PUSH2 0xCAF JUMP JUMPDEST PUSH2 0xB4B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x625 SWAP2 SWAP1 PUSH2 0xBD3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x63A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x655 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x650 SWAP2 SWAP1 PUSH2 0xC24 JUMP JUMPDEST PUSH2 0xB63 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x662 SWAP2 SWAP1 PUSH2 0xBD3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x677 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x680 PUSH2 0xB76 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x68D SWAP2 SWAP1 PUSH2 0xBD3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 SELFBALANCE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST PUSH1 0x10 DUP2 LT ISZERO PUSH2 0x6DC JUMPI PUSH1 0x1 PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD PUSH2 0x6C2 SWAP2 SWAP1 PUSH2 0x1016 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP1 DUP1 PUSH2 0x6D4 SWAP1 PUSH2 0x106C JUMP JUMPDEST SWAP2 POP POP PUSH2 0x6A7 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 TIMESTAMP SWAP1 POP PUSH1 0xA DUP2 PUSH2 0x6F2 SWAP2 SWAP1 PUSH2 0x10E3 JUMP JUMPDEST SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SELFBALANCE SWAP1 POP DUP3 DUP2 LT ISZERO PUSH2 0x745 JUMPI DUP1 DUP4 PUSH1 0x40 MLOAD PUSH32 0xCF47918100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x73C SWAP3 SWAP2 SWAP1 PUSH2 0x1114 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x16 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x7BE JUMPI PUSH2 0x7BD PUSH2 0xF55 JUMP JUMPDEST JUMPDEST MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 DUP1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD PUSH2 0x806 SWAP2 SWAP1 PUSH2 0x1016 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x2 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x883 SWAP2 SWAP1 PUSH2 0x1016 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA DUP3 LT PUSH2 0x8DF JUMPI PUSH1 0x2 PUSH2 0x8E2 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x8FD PUSH2 0xB7E JUMP JUMPDEST PUSH2 0x905 PUSH2 0xB7E JUMP JUMPDEST PUSH1 0x0 JUMPDEST PUSH1 0x4 DUP2 LT ISZERO PUSH2 0x948 JUMPI PUSH2 0x919 PUSH2 0x6DF JUMP JUMPDEST DUP3 DUP3 PUSH1 0x4 DUP2 LT PUSH2 0x92C JUMPI PUSH2 0x92B PUSH2 0x113D JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL ADD DUP2 DUP2 MSTORE POP POP DUP1 DUP1 PUSH2 0x940 SWAP1 PUSH2 0x106C JUMP JUMPDEST SWAP2 POP POP PUSH2 0x908 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SWAP1 POP DUP1 PUSH1 0x0 SLOAD PUSH2 0x964 SWAP2 SWAP1 PUSH2 0x116C JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH2 0x975 PUSH2 0xBA0 JUMP JUMPDEST DUP4 DUP4 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP DUP2 PUSH1 0x0 ADD DUP2 SWAP1 MSTORE POP DUP2 DUP2 PUSH1 0x20 ADD DUP2 DUP2 MSTORE POP POP POP POP POP POP JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x16 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x9F7 JUMPI PUSH2 0x9F6 PUSH2 0xF55 JUMP JUMPDEST JUMPDEST MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD PUSH2 0xA11 SWAP2 SWAP1 PUSH2 0x11C6 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x10 DUP2 GT PUSH2 0xA5D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA54 SWAP1 PUSH2 0x1257 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xA65 PUSH2 0x6A4 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x16 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x16 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP1 JUMP JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x738F4DA267A110D810E6E89FC59E46BE6DE0C37B1D5CD559B267DC3688E74E0 PUSH1 0x40 MLOAD PUSH2 0xAF5 SWAP1 PUSH2 0x12C3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x738F4DA267A110D810E6E89FC59E46BE6DE0C37B1D5CD559B267DC3688E74E0 PUSH1 0x40 MLOAD PUSH2 0xB41 SWAP1 PUSH2 0x132F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 DUP2 SWAP1 SSTORE POP PUSH1 0x0 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 TIMESTAMP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x4 SWAP1 PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xBCD DUP2 PUSH2 0xBBA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBE8 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xBC4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC01 DUP2 PUSH2 0xBBA JUMP JUMPDEST DUP2 EQ PUSH2 0xC0C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xC1E DUP2 PUSH2 0xBF8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC3A JUMPI PUSH2 0xC39 PUSH2 0xBEE JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xC48 DUP5 DUP3 DUP6 ADD PUSH2 0xC0F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC7C DUP3 PUSH2 0xC51 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xC8C DUP2 PUSH2 0xC71 JUMP JUMPDEST DUP2 EQ PUSH2 0xC97 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xCA9 DUP2 PUSH2 0xC83 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xCC5 JUMPI PUSH2 0xCC4 PUSH2 0xBEE JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xCD3 DUP5 DUP3 DUP6 ADD PUSH2 0xC9A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xCF1 DUP2 PUSH2 0xCDC JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xD0C PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xCE8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD1D DUP3 PUSH2 0xC51 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD2D DUP2 PUSH2 0xD12 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xD48 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xD24 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xD57 DUP2 PUSH2 0xC71 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xD72 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xD4E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDA1 DUP2 PUSH2 0xBBA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDB3 DUP4 DUP4 PUSH2 0xD98 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDD5 DUP2 PUSH2 0xD78 JUMP JUMPDEST PUSH2 0xDDF DUP2 DUP5 PUSH2 0xD83 JUMP JUMPDEST SWAP3 POP PUSH2 0xDEA DUP3 PUSH2 0xD8E JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xE1B JUMPI DUP2 MLOAD PUSH2 0xE02 DUP8 DUP3 PUSH2 0xDA7 JUMP JUMPDEST SWAP7 POP PUSH2 0xE0D DUP4 PUSH2 0xDBF JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0xDEE JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0xE38 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xDCC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xE63 JUMPI PUSH2 0xE62 PUSH2 0xE3E JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xE80 JUMPI PUSH2 0xE7F PUSH2 0xE43 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xE9C JUMPI PUSH2 0xE9B PUSH2 0xE48 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xEBC JUMPI PUSH2 0xEBB PUSH2 0xBEE JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xEDA JUMPI PUSH2 0xED9 PUSH2 0xBF3 JUMP JUMPDEST JUMPDEST PUSH2 0xEE6 DUP7 DUP3 DUP8 ADD PUSH2 0xE4D JUMP JUMPDEST SWAP4 POP SWAP4 POP POP PUSH1 0x20 PUSH2 0xEF9 DUP7 DUP3 DUP8 ADD PUSH2 0xC0F JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x4 DUP2 LT PUSH2 0xF10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xF22 DUP2 PUSH2 0xF03 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF3E JUMPI PUSH2 0xF3D PUSH2 0xBEE JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xF4C DUP5 DUP3 DUP6 ADD PUSH2 0xF13 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x4 DUP2 LT PUSH2 0xF95 JUMPI PUSH2 0xF94 PUSH2 0xF55 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0xFA6 DUP3 PUSH2 0xF84 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFB6 DUP3 PUSH2 0xF98 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xFC6 DUP2 PUSH2 0xFAB JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xFE1 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xFBD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1021 DUP3 PUSH2 0xBBA JUMP JUMPDEST SWAP2 POP PUSH2 0x102C DUP4 PUSH2 0xBBA JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x1061 JUMPI PUSH2 0x1060 PUSH2 0xFE7 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1077 DUP3 PUSH2 0xBBA JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x10A9 JUMPI PUSH2 0x10A8 PUSH2 0xFE7 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x10EE DUP3 PUSH2 0xBBA JUMP JUMPDEST SWAP2 POP PUSH2 0x10F9 DUP4 PUSH2 0xBBA JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x1109 JUMPI PUSH2 0x1108 PUSH2 0x10B4 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MOD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x1129 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xBC4 JUMP JUMPDEST PUSH2 0x1136 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xBC4 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1177 DUP3 PUSH2 0xBBA JUMP JUMPDEST SWAP2 POP PUSH2 0x1182 DUP4 PUSH2 0xBBA JUMP JUMPDEST SWAP3 POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x11BB JUMPI PUSH2 0x11BA PUSH2 0xFE7 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11D1 DUP3 PUSH2 0xBBA JUMP JUMPDEST SWAP2 POP PUSH2 0x11DC DUP4 PUSH2 0xBBA JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x11EF JUMPI PUSH2 0x11EE PUSH2 0xFE7 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x496E707574206D7573742062652067726561746572207468616E203136000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1241 PUSH1 0x1D DUP4 PUSH2 0x11FA JUMP JUMPDEST SWAP2 POP PUSH2 0x124C DUP3 PUSH2 0x120B JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1270 DUP2 PUSH2 0x1234 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x48656C6C6F20576F726C64210000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12AD PUSH1 0xC DUP4 PUSH2 0x11FA JUMP JUMPDEST SWAP2 POP PUSH2 0x12B8 DUP3 PUSH2 0x1277 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x12DC DUP2 PUSH2 0x12A0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x48656C6C6F2045564D2100000000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1319 PUSH1 0xA DUP4 PUSH2 0x11FA JUMP JUMPDEST SWAP2 POP PUSH2 0x1324 DUP3 PUSH2 0x12E3 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1348 DUP2 PUSH2 0x130C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x2A 0xD8 0xC5 SWAP13 0x2E 0x5E PUSH8 0x89617DA6C89FD608 SSTORE DUP14 BYTE 0xD4 SLT 0xBD PUSH20 0xA6CFF5C2553FAB54F0FC64736F6C634300080D00 CALLER ",
"sourceMap": "58:4359:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;90:17;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4321:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2954:192;;;;;;;;;;;;;:::i;:::-;;3152:126;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3707:294;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1450:97;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;831:69;;;;;;;;;;;;;:::i;:::-;;2013:57;;;;;;;;;;;;;:::i;:::-;;113:17;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1711:49;;;;;;;;;;;;;:::i;:::-;;137:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1368:76;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;176:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2076:59;;;;;;;;;;;;;:::i;:::-;;2657:291;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1594:71;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3284:216;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1909:98;;;;;;;;;;;;;:::i;:::-;;1002:171;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;749:76;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1806:97;;;;;;;;;;;;;:::i;:::-;;3506:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;636:18;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;662:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2324:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2141:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4062:120;;;;;;;;;;;;;:::i;:::-;;1179:38;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2416:231;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2228:90;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;90:17;;;;:::o;4321:94::-;4364:4;4387:21;4380:28;;4321:94;:::o;2954:192::-;3071:6;3067:73;3087:2;3083:1;:6;3067:73;;;3127:1;3118:5;;:10;;;;;;;:::i;:::-;;;;;;;;3091:3;;;;;:::i;:::-;;;;3067:73;;;;2954:192::o;3152:126::-;3196:4;3216:9;3228:15;3216:27;;3268:2;3261:4;:9;;;;:::i;:::-;3254:16;;;3152:126;:::o;3707:294::-;3759:4;3779:8;3790:21;3779:32;;3831:6;3825:3;:12;3822:173;;;3898:3;3919:6;3868:59;;;;;;;;;;;;:::i;:::-;;;;;;;;3822:173;3982:1;3975:8;;;3707:294;;;:::o;1450:97::-;1501:4;1528:6;:12;1535:4;1528:12;;;;;;;;;;;;;;;;1521:19;;1450:97;;;:::o;831:69::-;880:13;872:5;;:21;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;831:69::o;2013:57::-;2058:4;2050:5;;:12;;;;;;;;;;;;;;;;;;2013:57::o;113:17::-;;;;;;;;;;;;;:::o;1711:49::-;1752:1;1743:5;;:10;;;;;;;:::i;:::-;;;;;;;;1711:49::o;137:33::-;;;;;;;;;;;;:::o;1368:76::-;1435:1;1419:6;:12;1426:4;1419:12;;;;;;;;;;;;;;;;:17;;;;;;;:::i;:::-;;;;;;;;1368:76;:::o;176:84::-;;;:::o;2076:59::-;2122:5;2114;;:13;;;;;;;;;;;;;;;;;;2076:59::o;2657:291::-;2704:4;2931:2;2926;:7;:15;;2940:1;2926:15;;;2936:1;2926:15;2919:22;;;;2657:291;;;:::o;1594:71::-;1630:4;1653:5;;1646:12;;1594:71;:::o;3284:216::-;3327:14;;:::i;:::-;3357:19;;:::i;:::-;3391:6;3387:85;3407:1;3403;:5;3387:85;;;3447:13;:11;:13::i;:::-;3437:4;3442:1;3437:7;;;;;;;:::i;:::-;;;;;:23;;;;;3410:3;;;;;:::i;:::-;;;;3387:85;;;;3488:4;3481:11;;;3284:216;:::o;1909:98::-;1944:13;1960:5;1944:21;;1991:8;1983:5;;:16;;;;:::i;:::-;1976:5;:23;;;;1934:73;1909:98::o;1002:171::-;1082:23;;:::i;:::-;1131:3;;1116:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:5;:12;;:18;;;;1159:5;1145;:11;;:19;;;;;1072:101;1002:171;;;:::o;749:76::-;809:9;801:5;;:17;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;749:76;:::o;1806:97::-;1895:1;1886:5;;:10;;;;;;;:::i;:::-;;;;;;;;1806:97::o;3506:127::-;3572:2;3566:3;:8;3558:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;3618:8;:6;:8::i;:::-;3506:127;:::o;636:18::-;;;;;;;;;;;;;:::o;662:81::-;702:5;730;;;;;;;;;;;723:12;;662:81;:::o;2324:86::-;2362:7;2392:10;2385:17;;2324:86;:::o;2141:81::-;2182:4;2209:5;;;;;;;;;;;2202:12;;2141:81;:::o;4062:120::-;4104:10;4100:31;;;;;;;;:::i;:::-;;;;;;;;4150:10;4146:29;;;;;;;;:::i;:::-;;;;;;;;4062:120::o;1179:38::-;;;;;;;;;;;;;;;;;:::o;2416:231::-;2465:4;2610:6;2602:5;:14;;;;2634:5;;2627:12;;2416:231;;;:::o;2228:90::-;2269:4;2296:15;2289:22;;2228:90;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;523:117::-;632:1;629;622:12;646:117;755:1;752;745:12;769:122;842:24;860:5;842:24;:::i;:::-;835:5;832:35;822:63;;881:1;878;871:12;822:63;769:122;:::o;897:139::-;943:5;981:6;968:20;959:29;;997:33;1024:5;997:33;:::i;:::-;897:139;;;;:::o;1042:329::-;1101:6;1150:2;1138:9;1129:7;1125:23;1121:32;1118:119;;;1156:79;;:::i;:::-;1118:119;1276:1;1301:53;1346:7;1337:6;1326:9;1322:22;1301:53;:::i;:::-;1291:63;;1247:117;1042:329;;;;:::o;1377:126::-;1414:7;1454:42;1447:5;1443:54;1432:65;;1377:126;;;:::o;1509:96::-;1546:7;1575:24;1593:5;1575:24;:::i;:::-;1564:35;;1509:96;;;:::o;1611:122::-;1684:24;1702:5;1684:24;:::i;:::-;1677:5;1674:35;1664:63;;1723:1;1720;1713:12;1664:63;1611:122;:::o;1739:139::-;1785:5;1823:6;1810:20;1801:29;;1839:33;1866:5;1839:33;:::i;:::-;1739:139;;;;:::o;1884:329::-;1943:6;1992:2;1980:9;1971:7;1967:23;1963:32;1960:119;;;1998:79;;:::i;:::-;1960:119;2118:1;2143:53;2188:7;2179:6;2168:9;2164:22;2143:53;:::i;:::-;2133:63;;2089:117;1884:329;;;;:::o;2219:90::-;2253:7;2296:5;2289:13;2282:21;2271:32;;2219:90;;;:::o;2315:109::-;2396:21;2411:5;2396:21;:::i;:::-;2391:3;2384:34;2315:109;;:::o;2430:210::-;2517:4;2555:2;2544:9;2540:18;2532:26;;2568:65;2630:1;2619:9;2615:17;2606:6;2568:65;:::i;:::-;2430:210;;;;:::o;2646:104::-;2691:7;2720:24;2738:5;2720:24;:::i;:::-;2709:35;;2646:104;;;:::o;2756:142::-;2859:32;2885:5;2859:32;:::i;:::-;2854:3;2847:45;2756:142;;:::o;2904:254::-;3013:4;3051:2;3040:9;3036:18;3028:26;;3064:87;3148:1;3137:9;3133:17;3124:6;3064:87;:::i;:::-;2904:254;;;;:::o;3164:118::-;3251:24;3269:5;3251:24;:::i;:::-;3246:3;3239:37;3164:118;;:::o;3288:222::-;3381:4;3419:2;3408:9;3404:18;3396:26;;3432:71;3500:1;3489:9;3485:17;3476:6;3432:71;:::i;:::-;3288:222;;;;:::o;3516:104::-;3581:6;3609:4;3599:14;;3516:104;;;:::o;3626:143::-;3723:11;3760:3;3745:18;;3626:143;;;;:::o;3775:98::-;3840:4;3863:3;3855:11;;3775:98;;;:::o;3879:108::-;3956:24;3974:5;3956:24;:::i;:::-;3951:3;3944:37;3879:108;;:::o;3993:179::-;4062:10;4083:46;4125:3;4117:6;4083:46;:::i;:::-;4161:4;4156:3;4152:14;4138:28;;3993:179;;;;:::o;4178:111::-;4246:4;4278;4273:3;4269:14;4261:22;;4178:111;;;:::o;4327:694::-;4463:52;4509:5;4463:52;:::i;:::-;4531:84;4608:6;4603:3;4531:84;:::i;:::-;4524:91;;4639:54;4687:5;4639:54;:::i;:::-;4716:7;4747:1;4732:282;4757:6;4754:1;4751:13;4732:282;;;4833:6;4827:13;4860:63;4919:3;4904:13;4860:63;:::i;:::-;4853:70;;4946:58;4997:6;4946:58;:::i;:::-;4936:68;;4792:222;4779:1;4776;4772:9;4767:14;;4732:282;;;4736:14;4439:582;;;4327:694;;:::o;5027:315::-;5166:4;5204:3;5193:9;5189:19;5181:27;;5218:117;5332:1;5321:9;5317:17;5308:6;5218:117;:::i;:::-;5027:315;;;;:::o;5348:117::-;5457:1;5454;5447:12;5471:117;5580:1;5577;5570:12;5594:117;5703:1;5700;5693:12;5731:553;5789:8;5799:6;5849:3;5842:4;5834:6;5830:17;5826:27;5816:122;;5857:79;;:::i;:::-;5816:122;5970:6;5957:20;5947:30;;6000:18;5992:6;5989:30;5986:117;;;6022:79;;:::i;:::-;5986:117;6136:4;6128:6;6124:17;6112:29;;6190:3;6182:4;6174:6;6170:17;6160:8;6156:32;6153:41;6150:128;;;6197:79;;:::i;:::-;6150:128;5731:553;;;;;:::o;6290:674::-;6370:6;6378;6386;6435:2;6423:9;6414:7;6410:23;6406:32;6403:119;;;6441:79;;:::i;:::-;6403:119;6589:1;6578:9;6574:17;6561:31;6619:18;6611:6;6608:30;6605:117;;;6641:79;;:::i;:::-;6605:117;6754:65;6811:7;6802:6;6791:9;6787:22;6754:65;:::i;:::-;6736:83;;;;6532:297;6868:2;6894:53;6939:7;6930:6;6919:9;6915:22;6894:53;:::i;:::-;6884:63;;6839:118;6290:674;;;;;:::o;6970:107::-;7051:1;7044:5;7041:12;7031:40;;7067:1;7064;7057:12;7031:40;6970:107;:::o;7083:155::-;7137:5;7175:6;7162:20;7153:29;;7191:41;7226:5;7191:41;:::i;:::-;7083:155;;;;:::o;7244:345::-;7311:6;7360:2;7348:9;7339:7;7335:23;7331:32;7328:119;;;7366:79;;:::i;:::-;7328:119;7486:1;7511:61;7564:7;7555:6;7544:9;7540:22;7511:61;:::i;:::-;7501:71;;7457:125;7244:345;;;;:::o;7595:180::-;7643:77;7640:1;7633:88;7740:4;7737:1;7730:15;7764:4;7761:1;7754:15;7781:113;7862:1;7855:5;7852:12;7842:46;;7868:18;;:::i;:::-;7842:46;7781:113;:::o;7900:127::-;7945:7;7974:5;7963:16;;7980:41;8015:5;7980:41;:::i;:::-;7900:127;;;:::o;8033:::-;8089:9;8122:32;8148:5;8122:32;:::i;:::-;8109:45;;8033:127;;;:::o;8166:143::-;8259:43;8296:5;8259:43;:::i;:::-;8254:3;8247:56;8166:143;;:::o;8315:234::-;8414:4;8452:2;8441:9;8437:18;8429:26;;8465:77;8539:1;8528:9;8524:17;8515:6;8465:77;:::i;:::-;8315:234;;;;:::o;8555:180::-;8603:77;8600:1;8593:88;8700:4;8697:1;8690:15;8724:4;8721:1;8714:15;8741:305;8781:3;8800:20;8818:1;8800:20;:::i;:::-;8795:25;;8834:20;8852:1;8834:20;:::i;:::-;8829:25;;8988:1;8920:66;8916:74;8913:1;8910:81;8907:107;;;8994:18;;:::i;:::-;8907:107;9038:1;9035;9031:9;9024:16;;8741:305;;;;:::o;9052:233::-;9091:3;9114:24;9132:5;9114:24;:::i;:::-;9105:33;;9160:66;9153:5;9150:77;9147:103;;9230:18;;:::i;:::-;9147:103;9277:1;9270:5;9266:13;9259:20;;9052:233;;;:::o;9291:180::-;9339:77;9336:1;9329:88;9436:4;9433:1;9426:15;9460:4;9457:1;9450:15;9477:176;9509:1;9526:20;9544:1;9526:20;:::i;:::-;9521:25;;9560:20;9578:1;9560:20;:::i;:::-;9555:25;;9599:1;9589:35;;9604:18;;:::i;:::-;9589:35;9645:1;9642;9638:9;9633:14;;9477:176;;;;:::o;9659:332::-;9780:4;9818:2;9807:9;9803:18;9795:26;;9831:71;9899:1;9888:9;9884:17;9875:6;9831:71;:::i;:::-;9912:72;9980:2;9969:9;9965:18;9956:6;9912:72;:::i;:::-;9659:332;;;;;:::o;9997:180::-;10045:77;10042:1;10035:88;10142:4;10139:1;10132:15;10166:4;10163:1;10156:15;10183:348;10223:7;10246:20;10264:1;10246:20;:::i;:::-;10241:25;;10280:20;10298:1;10280:20;:::i;:::-;10275:25;;10468:1;10400:66;10396:74;10393:1;10390:81;10385:1;10378:9;10371:17;10367:105;10364:131;;;10475:18;;:::i;:::-;10364:131;10523:1;10520;10516:9;10505:20;;10183:348;;;;:::o;10537:191::-;10577:4;10597:20;10615:1;10597:20;:::i;:::-;10592:25;;10631:20;10649:1;10631:20;:::i;:::-;10626:25;;10670:1;10667;10664:8;10661:34;;;10675:18;;:::i;:::-;10661:34;10720:1;10717;10713:9;10705:17;;10537:191;;;;:::o;10734:169::-;10818:11;10852:6;10847:3;10840:19;10892:4;10887:3;10883:14;10868:29;;10734:169;;;;:::o;10909:179::-;11049:31;11045:1;11037:6;11033:14;11026:55;10909:179;:::o;11094:366::-;11236:3;11257:67;11321:2;11316:3;11257:67;:::i;:::-;11250:74;;11333:93;11422:3;11333:93;:::i;:::-;11451:2;11446:3;11442:12;11435:19;;11094:366;;;:::o;11466:419::-;11632:4;11670:2;11659:9;11655:18;11647:26;;11719:9;11713:4;11709:20;11705:1;11694:9;11690:17;11683:47;11747:131;11873:4;11747:131;:::i;:::-;11739:139;;11466:419;;;:::o;11891:162::-;12031:14;12027:1;12019:6;12015:14;12008:38;11891:162;:::o;12059:366::-;12201:3;12222:67;12286:2;12281:3;12222:67;:::i;:::-;12215:74;;12298:93;12387:3;12298:93;:::i;:::-;12416:2;12411:3;12407:12;12400:19;;12059:366;;;:::o;12431:419::-;12597:4;12635:2;12624:9;12620:18;12612:26;;12684:9;12678:4;12674:20;12670:1;12659:9;12655:17;12648:47;12712:131;12838:4;12712:131;:::i;:::-;12704:139;;12431:419;;;:::o;12856:160::-;12996:12;12992:1;12984:6;12980:14;12973:36;12856:160;:::o;13022:366::-;13164:3;13185:67;13249:2;13244:3;13185:67;:::i;:::-;13178:74;;13261:93;13350:3;13261:93;:::i;:::-;13379:2;13374:3;13370:12;13363:19;;13022:366;;;:::o;13394:419::-;13560:4;13598:2;13587:9;13583:18;13575:26;;13647:9;13641:4;13637:20;13633:1;13622:9;13618:17;13611:47;13675:131;13801:4;13675:131;:::i;:::-;13667:139;;13394:419;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "999400",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"": "198",
"MY_ADDRESS()": "2673",
"NOT_MY_ADDRESS()": "infinite",
"aBool()": "2539",
"count()": "2476",
"createOrder(string,uint256)": "infinite",
"dec()": "infinite",
"double()": "infinite",
"get()": "2483",
"getABool()": "2590",
"getBal(address)": "2931",
"getBalance()": "408",
"getNumbers()": "infinite",
"getOrder()": "2685",
"getStamp()": "446",
"inc()": "infinite",
"incBal(address)": "infinite",
"ledger(address)": "2880",
"loopUp()": "infinite",
"makeFalse()": "24500",
"makeTrue()": "24457",
"maybeRandom()": "infinite",
"order()": "2655",
"setOrder(uint8)": "24767",
"setToPending()": "24593",
"ternary(uint256)": "infinite",
"test()": "infinite",
"testRequire(uint256)": "infinite",
"transactMe(uint256)": "infinite",
"whois()": "474",
"withdraw(uint256)": "infinite"
}
},
"methodIdentifiers": {
"MY_ADDRESS()": "3a756cec",
"NOT_MY_ADDRESS()": "4984e402",
"aBool()": "350ca843",
"count()": "06661abd",
"createOrder(string,uint256)": "97de706f",
"dec()": "b3bcfa82",
"double()": "8fdb7189",
"get()": "6d4ce63c",
"getABool()": "f4e78580",
"getBal(address)": "2fa78085",
"getBalance()": "12065fe0",
"getNumbers()": "89f915f6",
"getOrder()": "d36dedd2",
"getStamp()": "fc6167cc",
"inc()": "371303c0",
"incBal(address)": "3d1157fb",
"ledger(address)": "fbfa941f",
"loopUp()": "15169e9a",
"makeFalse()": "4c35a7c9",
"makeTrue()": "340488c6",
"maybeRandom()": "2c9fcc1d",
"order()": "bf15071d",
"setOrder(uint8)": "9ddbebd8",
"setToPending()": "3052e962",
"ternary(uint256)": "55278c5b",
"test()": "f8a8fd6d",
"testRequire(uint256)": "b8bd717f",
"transactMe(uint256)": "fc38511a",
"whois()": "e7004c89",
"withdraw(uint256)": "2e1a7d4d"
}
},
"abi": [
{
"inputs": [],
"stateMutability": "payable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "withdrawAmount",
"type": "uint256"
}
],
"name": "InsufficientBalance",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"indexed": false,
"internalType": "string",
"name": "message",
"type": "string"
}
],
"name": "Log",
"type": "event"
},
{
"stateMutability": "payable",
"type": "fallback"
},
{
"inputs": [],
"name": "MY_ADDRESS",
"outputs": [
{
"internalType": "address payable",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "NOT_MY_ADDRESS",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "aBool",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "count",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "tix",
"type": "string"
},
{
"internalType": "uint256",
"name": "price",
"type": "uint256"
}
],
"name": "createOrder",
"outputs": [],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "dec",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "double",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "get",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getABool",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "addr",
"type": "address"
}
],
"name": "getBal",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getBalance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getNumbers",
"outputs": [
{
"internalType": "uint256[4]",
"name": "",
"type": "uint256[4]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getOrder",
"outputs": [
{
"internalType": "enum LearnerContract.Order",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getStamp",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "inc",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "addr",
"type": "address"
}
],
"name": "incBal",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "ledger",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "loopUp",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "makeFalse",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "makeTrue",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "maybeRandom",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "order",
"outputs": [
{
"internalType": "enum LearnerContract.Order",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "enum LearnerContract.Order",
"name": "orderType",
"type": "uint8"
}
],
"name": "setOrder",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "setToPending",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_x",
"type": "uint256"
}
],
"name": "ternary",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "test",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_in",
"type": "uint256"
}
],
"name": "testRequire",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "updoot",
"type": "uint256"
}
],
"name": "transactMe",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "whois",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "withdraw",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"stateMutability": "payable",
"type": "receive"
}
]
}
{
"compiler": {
"version": "0.8.13+commit.abaa5c0e"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"stateMutability": "payable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "withdrawAmount",
"type": "uint256"
}
],
"name": "InsufficientBalance",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"indexed": false,
"internalType": "string",
"name": "message",
"type": "string"
}
],
"name": "Log",
"type": "event"
},
{
"stateMutability": "payable",
"type": "fallback"
},
{
"inputs": [],
"name": "MY_ADDRESS",
"outputs": [
{
"internalType": "address payable",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "NOT_MY_ADDRESS",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "aBool",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "count",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "tix",
"type": "string"
},
{
"internalType": "uint256",
"name": "price",
"type": "uint256"
}
],
"name": "createOrder",
"outputs": [],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "dec",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "double",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "get",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getABool",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "addr",
"type": "address"
}
],
"name": "getBal",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getBalance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getNumbers",
"outputs": [
{
"internalType": "uint256[4]",
"name": "",
"type": "uint256[4]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getOrder",
"outputs": [
{
"internalType": "enum LearnerContract.Order",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getStamp",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "inc",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "addr",
"type": "address"
}
],
"name": "incBal",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "ledger",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "loopUp",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "makeFalse",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "makeTrue",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "maybeRandom",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "order",
"outputs": [
{
"internalType": "enum LearnerContract.Order",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "enum LearnerContract.Order",
"name": "orderType",
"type": "uint8"
}
],
"name": "setOrder",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "setToPending",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_x",
"type": "uint256"
}
],
"name": "ternary",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "test",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_in",
"type": "uint256"
}
],
"name": "testRequire",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "updoot",
"type": "uint256"
}
],
"name": "transactMe",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "whois",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "withdraw",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"stateMutability": "payable",
"type": "receive"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contract-10bf6b4c02.sol": "LearnerContract"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contract-10bf6b4c02.sol": {
"keccak256": "0x89a52ff1098763e35fbd2a7985c029e5caf0596a82432d6f3e68a71718bb8ae0",
"license": "MIT",
"urls": [
"bzz-raw://b72e506449fc0cf4b5ea83a7c6ca19450a4f2075def10d0dc6f559642cbdf9ba",
"dweb:/ipfs/QmVqk3mnSsqeG1PNAsLfXd83CyaguZihhBUYy4XZdbyaRc"
]
}
},
"version": 1
}
This file has been truncated, but you can view the full file.
{
"id": "b809cf45ff1df410d4efad0433407d8d",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.13",
"solcLongVersion": "0.8.13+commit.abaa5c0e",
"input": {
"language": "Solidity",
"sources": {
"contract-10bf6b4c02.sol": {
"content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.13;\n\ncontract LearnerContract {\n\n uint public count;\n bool public aBool; \n address payable public MY_ADDRESS;\n address public immutable NOT_MY_ADDRESS = 0x777788889999AaAAbBbbCcccddDdeeeEfFFfCcCc; \n bool private locked; \n\n // storage is stored on the blockchain\n // memory is like ram and exists while a function is being called \n // calldata is like cache where function args are \n\n constructor() payable {\n MY_ADDRESS = payable(msg.sender);\n }\n\n enum Order {\n Pending,\n Fulfilled, \n Cancelled, \n Stuck\n }\n\n Order public order; \n\n function getOrder() public view returns(Order)\n {\n return order; \n }\n\n function setOrder(Order orderType) public {\n order = orderType;\n }\n\n function setToPending() public {\n order = Order.Pending;\n }\n\n struct orderEntry {\n string ticker; \n uint price; // doubles? floats? \n }\n\n function createOrder(string calldata tix, uint price) public pure\n {\n orderEntry memory entry; \n entry.ticker = tix; \n entry.price = price; \n }\n\n mapping(address => uint) public ledger; \n\n\n modifier noReentrancy() \n {\n require(!locked, \"No reentrancy\");\n locked = true;\n _;\n locked = false;\n }\n function incBal(address addr) public\n {\n ledger[addr] += 1; \n }\n\n function getBal(address addr) public view returns (uint)\n {\n return ledger[addr];\n }\n\n // Function to get the current count\n function get() public view returns (uint) {\n return count;\n }\n\n // Function to increment count by 1\n function inc() public {\n count += 1;\n }\n\n // Function to decrement count by 1\n function dec() public {\n // This function will fail if count = 0\n count -= 1;\n }\n\n function double() public {\n uint localVar = 2 wei; \n count= count * localVar; \n }\n\n function makeTrue() public {\n aBool = true; \n }\n\n function makeFalse() public {\n aBool = false; \n }\n\n function getABool() public view returns (bool)\n {\n return aBool; \n }\n\n function getStamp() public view returns (uint)\n {\n return block.timestamp;\n }\n\n function whois() public view returns (address)\n {\n return msg.sender; \n }\n\n function transactMe(uint updoot) public returns (uint) // what is view and why can't it be used if the state is being messed with? (view ensures the state is not modified)\n {\n count = updoot; \n return count; \n }\n\n function ternary(uint _x) public pure returns (uint) {\n // if (_x < 10) {\n // return 1;\n // }\n // return 2;\n\n // shorthand way to write if / else statement\n // the \"?\" operator is called the ternary operator\n return _x < 10 ? 1 : 2;\n }\n\n function loopUp() public { // better to use this cuz gas, not while loops cuz that could run out of gas \n for(uint i = 0; i < 16; i++)\n {\n count += 1; \n }\n }\n\n function maybeRandom() public view returns (uint)\n {\n uint time = block.timestamp; \n return time % 10; \n }\n\n function getNumbers() public view returns (uint[4] memory)\n {\n uint[4] memory nums; \n for(uint i = 0; i < 4; i++)\n {\n nums[i] = maybeRandom(); \n }\n return nums; \n }\n\n function testRequire(uint _in) public\n {\n require(_in > 16, \"Input must be greater than 16\");\n loopUp();\n }\n\n error InsufficientBalance(uint balance, uint withdrawAmount);\n\n function withdraw(uint amount) public view returns (uint)\n {\n uint bal = address(this).balance; \n if(bal < amount)\n {\n revert InsufficientBalance({balance: bal, withdrawAmount: amount});\n }\n else \n {\n return 1; \n }\n }\n\n event Log(address indexed sender, string message);\n function test() public {\n emit Log(msg.sender, \"Hello World!\");\n emit Log(msg.sender, \"Hello EVM!\");\n }\n\n receive() external payable {}\n\n // Fallback function is called when msg.data is not empty\n fallback() external payable {}\n\n function getBalance() public view returns (uint) {\n return address(this).balance;\n }\n}\n"
}
},
"settings": {
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"": [
"ast"
],
"*": [
"abi",
"metadata",
"devdoc",
"userdoc",
"storageLayout",
"evm.legacyAssembly",
"evm.bytecode",
"evm.deployedBytecode",
"evm.methodIdentifiers",
"evm.gasEstimates",
"evm.assembly"
]
}
}
}
},
"output": {
"contracts": {
"contract-10bf6b4c02.sol": {
"LearnerContract": {
"abi": [
{
"inputs": [],
"stateMutability": "payable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "withdrawAmount",
"type": "uint256"
}
],
"name": "InsufficientBalance",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"indexed": false,
"internalType": "string",
"name": "message",
"type": "string"
}
],
"name": "Log",
"type": "event"
},
{
"stateMutability": "payable",
"type": "fallback"
},
{
"inputs": [],
"name": "MY_ADDRESS",
"outputs": [
{
"internalType": "address payable",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "NOT_MY_ADDRESS",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "aBool",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "count",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "tix",
"type": "string"
},
{
"internalType": "uint256",
"name": "price",
"type": "uint256"
}
],
"name": "createOrder",
"outputs": [],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "dec",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "double",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "get",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getABool",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "addr",
"type": "address"
}
],
"name": "getBal",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getBalance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getNumbers",
"outputs": [
{
"internalType": "uint256[4]",
"name": "",
"type": "uint256[4]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getOrder",
"outputs": [
{
"internalType": "enum LearnerContract.Order",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getStamp",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "inc",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "addr",
"type": "address"
}
],
"name": "incBal",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "ledger",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "loopUp",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "makeFalse",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "makeTrue",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "maybeRandom",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "order",
"outputs": [
{
"internalType": "enum LearnerContract.Order",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "enum LearnerContract.Order",
"name": "orderType",
"type": "uint8"
}
],
"name": "setOrder",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "setToPending",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_x",
"type": "uint256"
}
],
"name": "ternary",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "test",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_in",
"type": "uint256"
}
],
"name": "testRequire",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "updoot",
"type": "uint256"
}
],
"name": "transactMe",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "whois",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "withdraw",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"stateMutability": "payable",
"type": "receive"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"contract-10bf6b4c02.sol\":58:4417 contract LearnerContract {... */\n mstore(0x40, 0xa0)\n /* \"contract-10bf6b4c02.sol\":218:260 0x777788889999AaAAbBbbCcccddDdeeeEfFFfCcCc */\n 0x777788889999aaaabbbbccccddddeeeeffffcccc\n /* \"contract-10bf6b4c02.sol\":176:260 address public immutable NOT_MY_ADDRESS = 0x777788889999AaAAbBbbCcccddDdeeeEfFFfCcCc */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0x80\n swap1\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n pop\n /* \"contract-10bf6b4c02.sol\":517:527 msg.sender */\n caller\n /* \"contract-10bf6b4c02.sol\":496:506 MY_ADDRESS */\n 0x01\n dup1\n /* \"contract-10bf6b4c02.sol\":496:528 MY_ADDRESS = payable(msg.sender) */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n mul\n not\n and\n swap1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n mul\n or\n swap1\n sstore\n pop\n /* \"contract-10bf6b4c02.sol\":58:4417 contract LearnerContract {... */\n mload(0x80)\n codecopy(0x00, dataOffset(sub_0), dataSize(sub_0))\n 0x00\n assignImmutable(\"0x1a192fabce13988b84994d4296e6cdc418d55e2f1d7f942188d4040b94fc57ac\")\n return(0x00, dataSize(sub_0))\nstop\n\nsub_0: assembly {\n /* \"contract-10bf6b4c02.sol\":58:4417 contract LearnerContract {... */\n mstore(0x40, 0x80)\n jumpi(tag_1, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x6d4ce63c\n gt\n tag_33\n jumpi\n dup1\n 0xbf15071d\n gt\n tag_34\n jumpi\n dup1\n 0xf8a8fd6d\n gt\n tag_35\n jumpi\n dup1\n 0xf8a8fd6d\n eq\n tag_29\n jumpi\n dup1\n 0xfbfa941f\n eq\n tag_30\n jumpi\n dup1\n 0xfc38511a\n eq\n tag_31\n jumpi\n dup1\n 0xfc6167cc\n eq\n tag_32\n jumpi\n jump(tag_2)\n tag_35:\n dup1\n 0xbf15071d\n eq\n tag_25\n jumpi\n dup1\n 0xd36dedd2\n eq\n tag_26\n jumpi\n dup1\n 0xe7004c89\n eq\n tag_27\n jumpi\n dup1\n 0xf4e78580\n eq\n tag_28\n jumpi\n jump(tag_2)\n tag_34:\n dup1\n 0x97de706f\n gt\n tag_36\n jumpi\n dup1\n 0x97de706f\n eq\n tag_21\n jumpi\n dup1\n 0x9ddbebd8\n eq\n tag_22\n jumpi\n dup1\n 0xb3bcfa82\n eq\n tag_23\n jumpi\n dup1\n 0xb8bd717f\n eq\n tag_24\n jumpi\n jump(tag_2)\n tag_36:\n dup1\n 0x6d4ce63c\n eq\n tag_18\n jumpi\n dup1\n 0x89f915f6\n eq\n tag_19\n jumpi\n dup1\n 0x8fdb7189\n eq\n tag_20\n jumpi\n jump(tag_2)\n tag_33:\n dup1\n 0x340488c6\n gt\n tag_37\n jumpi\n dup1\n 0x3d1157fb\n gt\n tag_38\n jumpi\n dup1\n 0x3d1157fb\n eq\n tag_14\n jumpi\n dup1\n 0x4984e402\n eq\n tag_15\n jumpi\n dup1\n 0x4c35a7c9\n eq\n tag_16\n jumpi\n dup1\n 0x55278c5b\n eq\n tag_17\n jumpi\n jump(tag_2)\n tag_38:\n dup1\n 0x340488c6\n eq\n tag_10\n jumpi\n dup1\n 0x350ca843\n eq\n tag_11\n jumpi\n dup1\n 0x371303c0\n eq\n tag_12\n jumpi\n dup1\n 0x3a756cec\n eq\n tag_13\n jumpi\n jump(tag_2)\n tag_37:\n dup1\n 0x2c9fcc1d\n gt\n tag_39\n jumpi\n dup1\n 0x2c9fcc1d\n eq\n tag_6\n jumpi\n dup1\n 0x2e1a7d4d\n eq\n tag_7\n jumpi\n dup1\n 0x2fa78085\n eq\n tag_8\n jumpi\n dup1\n 0x3052e962\n eq\n tag_9\n jumpi\n jump(tag_2)\n tag_39:\n dup1\n 0x06661abd\n eq\n tag_3\n jumpi\n dup1\n 0x12065fe0\n eq\n tag_4\n jumpi\n dup1\n 0x15169e9a\n eq\n tag_5\n jumpi\n jump(tag_2)\n tag_1:\n jumpi(tag_2, calldatasize)\n stop\n tag_2:\n stop\n /* \"contract-10bf6b4c02.sol\":90:107 uint public count */\n tag_3:\n callvalue\n dup1\n iszero\n tag_44\n jumpi\n 0x00\n dup1\n revert\n tag_44:\n pop\n tag_45\n tag_46\n jump\t// in\n tag_45:\n mload(0x40)\n tag_47\n swap2\n swap1\n tag_48\n jump\t// in\n tag_47:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contract-10bf6b4c02.sol\":4321:4415 function getBalance() public view returns (uint) {... */\n tag_4:\n callvalue\n dup1\n iszero\n tag_49\n jumpi\n 0x00\n dup1\n revert\n tag_49:\n pop\n tag_50\n tag_51\n jump\t// in\n tag_50:\n mload(0x40)\n tag_52\n swap2\n swap1\n tag_48\n jump\t// in\n tag_52:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contract-10bf6b4c02.sol\":2954:3146 function loopUp() public { // better to use this cuz gas, not while loops cuz that could run out of gas ... */\n tag_5:\n callvalue\n dup1\n iszero\n tag_53\n jumpi\n 0x00\n dup1\n revert\n tag_53:\n pop\n tag_54\n tag_55\n jump\t// in\n tag_54:\n stop\n /* \"contract-10bf6b4c02.sol\":3152:3278 function maybeRandom() public view returns (uint)... */\n tag_6:\n callvalue\n dup1\n iszero\n tag_56\n jumpi\n 0x00\n dup1\n revert\n tag_56:\n pop\n tag_57\n tag_58\n jump\t// in\n tag_57:\n mload(0x40)\n tag_59\n swap2\n swap1\n tag_48\n jump\t// in\n tag_59:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contract-10bf6b4c02.sol\":3707:4001 function withdraw(uint amount) public view returns (uint)... */\n tag_7:\n callvalue\n dup1\n iszero\n tag_60\n jumpi\n 0x00\n dup1\n revert\n tag_60:\n pop\n tag_61\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_62\n swap2\n swap1\n tag_63\n jump\t// in\n tag_62:\n tag_64\n jump\t// in\n tag_61:\n mload(0x40)\n tag_65\n swap2\n swap1\n tag_48\n jump\t// in\n tag_65:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contract-10bf6b4c02.sol\":1450:1547 function getBal(address addr) public view returns (uint)... */\n tag_8:\n callvalue\n dup1\n iszero\n tag_66\n jumpi\n 0x00\n dup1\n revert\n tag_66:\n pop\n tag_67\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_68\n swap2\n swap1\n tag_69\n jump\t// in\n tag_68:\n tag_70\n jump\t// in\n tag_67:\n mload(0x40)\n tag_71\n swap2\n swap1\n tag_48\n jump\t// in\n tag_71:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contract-10bf6b4c02.sol\":831:900 function setToPending() public {... */\n tag_9:\n callvalue\n dup1\n iszero\n tag_72\n jumpi\n 0x00\n dup1\n revert\n tag_72:\n pop\n tag_73\n tag_74\n jump\t// in\n tag_73:\n stop\n /* \"contract-10bf6b4c02.sol\":2013:2070 function makeTrue() public {... */\n tag_10:\n callvalue\n dup1\n iszero\n tag_75\n jumpi\n 0x00\n dup1\n revert\n tag_75:\n pop\n tag_76\n tag_77\n jump\t// in\n tag_76:\n stop\n /* \"contract-10bf6b4c02.sol\":113:130 bool public aBool */\n tag_11:\n callvalue\n dup1\n iszero\n tag_78\n jumpi\n 0x00\n dup1\n revert\n tag_78:\n pop\n tag_79\n tag_80\n jump\t// in\n tag_79:\n mload(0x40)\n tag_81\n swap2\n swap1\n tag_82\n jump\t// in\n tag_81:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contract-10bf6b4c02.sol\":1711:1760 function inc() public {... */\n tag_12:\n callvalue\n dup1\n iszero\n tag_83\n jumpi\n 0x00\n dup1\n revert\n tag_83:\n pop\n tag_84\n tag_85\n jump\t// in\n tag_84:\n stop\n /* \"contract-10bf6b4c02.sol\":137:170 address payable public MY_ADDRESS */\n tag_13:\n callvalue\n dup1\n iszero\n tag_86\n jumpi\n 0x00\n dup1\n revert\n tag_86:\n pop\n tag_87\n tag_88\n jump\t// in\n tag_87:\n mload(0x40)\n tag_89\n swap2\n swap1\n tag_90\n jump\t// in\n tag_89:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contract-10bf6b4c02.sol\":1368:1444 function incBal(address addr) public... */\n tag_14:\n callvalue\n dup1\n iszero\n tag_91\n jumpi\n 0x00\n dup1\n revert\n tag_91:\n pop\n tag_92\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_93\n swap2\n swap1\n tag_69\n jump\t// in\n tag_93:\n tag_94\n jump\t// in\n tag_92:\n stop\n /* \"contract-10bf6b4c02.sol\":176:260 address public immutable NOT_MY_ADDRESS = 0x777788889999AaAAbBbbCcccddDdeeeEfFFfCcCc */\n tag_15:\n callvalue\n dup1\n iszero\n tag_95\n jumpi\n 0x00\n dup1\n revert\n tag_95:\n pop\n tag_96\n tag_97\n jump\t// in\n tag_96:\n mload(0x40)\n tag_98\n swap2\n swap1\n tag_99\n jump\t// in\n tag_98:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contract-10bf6b4c02.sol\":2076:2135 function makeFalse() public {... */\n tag_16:\n callvalue\n dup1\n iszero\n tag_100\n jumpi\n 0x00\n dup1\n revert\n tag_100:\n pop\n tag_101\n tag_102\n jump\t// in\n tag_101:\n stop\n /* \"contract-10bf6b4c02.sol\":2657:2948 function ternary(uint _x) public pure returns (uint) {... */\n tag_17:\n callvalue\n dup1\n iszero\n tag_103\n jumpi\n 0x00\n dup1\n revert\n tag_103:\n pop\n tag_104\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_105\n swap2\n swap1\n tag_63\n jump\t// in\n tag_105:\n tag_106\n jump\t// in\n tag_104:\n mload(0x40)\n tag_107\n swap2\n swap1\n tag_48\n jump\t// in\n tag_107:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contract-10bf6b4c02.sol\":1594:1665 function get() public view returns (uint) {... */\n tag_18:\n callvalue\n dup1\n iszero\n tag_108\n jumpi\n 0x00\n dup1\n revert\n tag_108:\n pop\n tag_109\n tag_110\n jump\t// in\n tag_109:\n mload(0x40)\n tag_111\n swap2\n swap1\n tag_48\n jump\t// in\n tag_111:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contract-10bf6b4c02.sol\":3284:3500 function getNumbers() public view returns (uint[4] memory)... */\n tag_19:\n callvalue\n dup1\n iszero\n tag_112\n jumpi\n 0x00\n dup1\n revert\n tag_112:\n pop\n tag_113\n tag_114\n jump\t// in\n tag_113:\n mload(0x40)\n tag_115\n swap2\n swap1\n tag_116\n jump\t// in\n tag_115:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contract-10bf6b4c02.sol\":1909:2007 function double() public {... */\n tag_20:\n callvalue\n dup1\n iszero\n tag_117\n jumpi\n 0x00\n dup1\n revert\n tag_117:\n pop\n tag_118\n tag_119\n jump\t// in\n tag_118:\n stop\n /* \"contract-10bf6b4c02.sol\":1002:1173 function createOrder(string calldata tix, uint price) public pure... */\n tag_21:\n callvalue\n dup1\n iszero\n tag_120\n jumpi\n 0x00\n dup1\n revert\n tag_120:\n pop\n tag_121\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_122\n swap2\n swap1\n tag_123\n jump\t// in\n tag_122:\n tag_124\n jump\t// in\n tag_121:\n stop\n /* \"contract-10bf6b4c02.sol\":749:825 function setOrder(Order orderType) public {... */\n tag_22:\n callvalue\n dup1\n iszero\n tag_125\n jumpi\n 0x00\n dup1\n revert\n tag_125:\n pop\n tag_126\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_127\n swap2\n swap1\n tag_128\n jump\t// in\n tag_127:\n tag_129\n jump\t// in\n tag_126:\n stop\n /* \"contract-10bf6b4c02.sol\":1806:1903 function dec() public {... */\n tag_23:\n callvalue\n dup1\n iszero\n tag_130\n jumpi\n 0x00\n dup1\n revert\n tag_130:\n pop\n tag_131\n tag_132\n jump\t// in\n tag_131:\n stop\n /* \"contract-10bf6b4c02.sol\":3506:3633 function testRequire(uint _in) public... */\n tag_24:\n callvalue\n dup1\n iszero\n tag_133\n jumpi\n 0x00\n dup1\n revert\n tag_133:\n pop\n tag_134\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_135\n swap2\n swap1\n tag_63\n jump\t// in\n tag_135:\n tag_136\n jump\t// in\n tag_134:\n stop\n /* \"contract-10bf6b4c02.sol\":636:654 Order public order */\n tag_25:\n callvalue\n dup1\n iszero\n tag_137\n jumpi\n 0x00\n dup1\n revert\n tag_137:\n pop\n tag_138\n tag_139\n jump\t// in\n tag_138:\n mload(0x40)\n tag_140\n swap2\n swap1\n tag_141\n jump\t// in\n tag_140:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contract-10bf6b4c02.sol\":662:743 function getOrder() public view returns(Order)... */\n tag_26:\n callvalue\n dup1\n iszero\n tag_142\n jumpi\n 0x00\n dup1\n revert\n tag_142:\n pop\n tag_143\n tag_144\n jump\t// in\n tag_143:\n mload(0x40)\n tag_145\n swap2\n swap1\n tag_141\n jump\t// in\n tag_145:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contract-10bf6b4c02.sol\":2324:2410 function whois() public view returns (address)... */\n tag_27:\n callvalue\n dup1\n iszero\n tag_146\n jumpi\n 0x00\n dup1\n revert\n tag_146:\n pop\n tag_147\n tag_148\n jump\t// in\n tag_147:\n mload(0x40)\n tag_149\n swap2\n swap1\n tag_99\n jump\t// in\n tag_149:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contract-10bf6b4c02.sol\":2141:2222 function getABool() public view returns (bool)... */\n tag_28:\n callvalue\n dup1\n iszero\n tag_150\n jumpi\n 0x00\n dup1\n revert\n tag_150:\n pop\n tag_151\n tag_152\n jump\t// in\n tag_151:\n mload(0x40)\n tag_153\n swap2\n swap1\n tag_82\n jump\t// in\n tag_153:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contract-10bf6b4c02.sol\":4062:4182 function test() public {... */\n tag_29:\n callvalue\n dup1\n iszero\n tag_154\n jumpi\n 0x00\n dup1\n revert\n tag_154:\n pop\n tag_155\n tag_156\n jump\t// in\n tag_155:\n stop\n /* \"contract-10bf6b4c02.sol\":1179:1217 mapping(address => uint) public ledger */\n tag_30:\n callvalue\n dup1\n iszero\n tag_157\n jumpi\n 0x00\n dup1\n revert\n tag_157:\n pop\n tag_158\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_159\n swap2\n swap1\n tag_69\n jump\t// in\n tag_159:\n tag_160\n jump\t// in\n tag_158:\n mload(0x40)\n tag_161\n swap2\n swap1\n tag_48\n jump\t// in\n tag_161:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contract-10bf6b4c02.sol\":2416:2647 function transactMe(uint updoot) public returns (uint) // what is view and why can't it be used if the state is being messed with? (view ensures the state is not modified)... */\n tag_31:\n callvalue\n dup1\n iszero\n tag_162\n jumpi\n 0x00\n dup1\n revert\n tag_162:\n pop\n tag_163\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_164\n swap2\n swap1\n tag_63\n jump\t// in\n tag_164:\n tag_165\n jump\t// in\n tag_163:\n mload(0x40)\n tag_166\n swap2\n swap1\n tag_48\n jump\t// in\n tag_166:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contract-10bf6b4c02.sol\":2228:2318 function getStamp() public view returns (uint)... */\n tag_32:\n callvalue\n dup1\n iszero\n tag_167\n jumpi\n 0x00\n dup1\n revert\n tag_167:\n pop\n tag_168\n tag_169\n jump\t// in\n tag_168:\n mload(0x40)\n tag_170\n swap2\n swap1\n tag_48\n jump\t// in\n tag_170:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contract-10bf6b4c02.sol\":90:107 uint public count */\n tag_46:\n sload(0x00)\n dup2\n jump\t// out\n /* \"contract-10bf6b4c02.sol\":4321:4415 function getBalance() public view returns (uint) {... */\n tag_51:\n /* \"contract-10bf6b4c02.sol\":4364:4368 uint */\n 0x00\n /* \"contract-10bf6b4c02.sol\":4387:4408 address(this).balance */\n selfbalance\n /* \"contract-10bf6b4c02.sol\":4380:4408 return address(this).balance */\n swap1\n pop\n /* \"contract-10bf6b4c02.sol\":4321:4415 function getBalance() public view returns (uint) {... */\n swap1\n jump\t// out\n /* \"contract-10bf6b4c02.sol\":2954:3146 function loopUp() public { // better to use this cuz gas, not while loops cuz that could run out of gas ... */\n tag_55:\n /* \"contract-10bf6b4c02.sol\":3071:3077 uint i */\n 0x00\n /* \"contract-10bf6b4c02.sol\":3067:3140 for(uint i = 0; i < 16; i++)... */\n tag_173:\n /* \"contract-10bf6b4c02.sol\":3087:3089 16 */\n 0x10\n /* \"contract-10bf6b4c02.sol\":3083:3084 i */\n dup2\n /* \"contract-10bf6b4c02.sol\":3083:3089 i < 16 */\n lt\n /* \"contract-10bf6b4c02.sol\":3067:3140 for(uint i = 0; i < 16; i++)... */\n iszero\n tag_174\n jumpi\n /* \"contract-10bf6b4c02.sol\":3127:3128 1 */\n 0x01\n /* \"contract-10bf6b4c02.sol\":3118:3123 count */\n 0x00\n dup1\n /* \"contract-10bf6b4c02.sol\":3118:3128 count += 1 */\n dup3\n dup3\n sload\n tag_176\n swap2\n swap1\n tag_177\n jump\t// in\n tag_176:\n swap3\n pop\n pop\n dup2\n swap1\n sstore\n pop\n /* \"contract-10bf6b4c02.sol\":3091:3094 i++ */\n dup1\n dup1\n tag_178\n swap1\n tag_179\n jump\t// in\n tag_178:\n swap2\n pop\n pop\n /* \"contract-10bf6b4c02.sol\":3067:3140 for(uint i = 0; i < 16; i++)... */\n jump(tag_173)\n tag_174:\n pop\n /* \"contract-10bf6b4c02.sol\":2954:3146 function loopUp() public { // better to use this cuz gas, not while loops cuz that could run out of gas ... */\n jump\t// out\n /* \"contract-10bf6b4c02.sol\":3152:3278 function maybeRandom() public view returns (uint)... */\n tag_58:\n /* \"contract-10bf6b4c02.sol\":3196:3200 uint */\n 0x00\n /* \"contract-10bf6b4c02.sol\":3216:3225 uint time */\n dup1\n /* \"contract-10bf6b4c02.sol\":3228:3243 block.timestamp */\n timestamp\n /* \"contract-10bf6b4c02.sol\":3216:3243 uint time = block.timestamp */\n swap1\n pop\n /* \"contract-10bf6b4c02.sol\":3268:3270 10 */\n 0x0a\n /* \"contract-10bf6b4c02.sol\":3261:3265 time */\n dup2\n /* \"contract-10bf6b4c02.sol\":3261:3270 time % 10 */\n tag_181\n swap2\n swap1\n tag_182\n jump\t// in\n tag_181:\n /* \"contract-10bf6b4c02.sol\":3254:3270 return time % 10 */\n swap2\n pop\n pop\n /* \"contract-10bf6b4c02.sol\":3152:3278 function maybeRandom() public view returns (uint)... */\n swap1\n jump\t// out\n /* \"contract-10bf6b4c02.sol\":3707:4001 function withdraw(uint amount) public view returns (uint)... */\n tag_64:\n /* \"contract-10bf6b4c02.sol\":3759:3763 uint */\n 0x00\n /* \"contract-10bf6b4c02.sol\":3779:3787 uint bal */\n dup1\n /* \"contract-10bf6b4c02.sol\":3790:3811 address(this).balance */\n selfbalance\n /* \"contract-10bf6b4c02.sol\":3779:3811 uint bal = address(this).balance */\n swap1\n pop\n /* \"contract-10bf6b4c02.sol\":3831:3837 amount */\n dup3\n /* \"contract-10bf6b4c02.sol\":3825:3828 bal */\n dup2\n /* \"contract-10bf6b4c02.sol\":3825:3837 bal < amount */\n lt\n /* \"contract-10bf6b4c02.sol\":3822:3995 if(bal < amount)... */\n iszero\n tag_184\n jumpi\n /* \"contract-10bf6b4c02.sol\":3898:3901 bal */\n dup1\n /* \"contract-10bf6b4c02.sol\":3919:3925 amount */\n dup4\n /* \"contract-10bf6b4c02.sol\":3868:3927 InsufficientBalance({balance: bal, withdrawAmount: amount}) */\n mload(0x40)\n 0xcf47918100000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_185\n swap3\n swap2\n swap1\n tag_186\n jump\t// in\n tag_185:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n /* \"contract-10bf6b4c02.sol\":3822:3995 if(bal < amount)... */\n tag_184:\n /* \"contract-10bf6b4c02.sol\":3982:3983 1 */\n 0x01\n /* \"contract-10bf6b4c02.sol\":3975:3983 return 1 */\n swap2\n pop\n pop\n /* \"contract-10bf6b4c02.sol\":3707:4001 function withdraw(uint amount) public view returns (uint)... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"contract-10bf6b4c02.sol\":1450:1547 function getBal(address addr) public view returns (uint)... */\n tag_70:\n /* \"contract-10bf6b4c02.sol\":1501:1505 uint */\n 0x00\n /* \"contract-10bf6b4c02.sol\":1528:1534 ledger */\n 0x02\n /* \"contract-10bf6b4c02.sol\":1528:1540 ledger[addr] */\n 0x00\n /* \"contract-10bf6b4c02.sol\":1535:1539 addr */\n dup4\n /* \"contract-10bf6b4c02.sol\":1528:1540 ledger[addr] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"contract-10bf6b4c02.sol\":1521:1540 return ledger[addr] */\n swap1\n pop\n /* \"contract-10bf6b4c02.sol\":1450:1547 function getBal(address addr) public view returns (uint)... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"contract-10bf6b4c02.sol\":831:900 function setToPending() public {... */\n tag_74:\n /* \"contract-10bf6b4c02.sol\":880:893 Order.Pending */\n 0x00\n /* \"contract-10bf6b4c02.sol\":872:877 order */\n 0x01\n 0x16\n /* \"contract-10bf6b4c02.sol\":872:893 order = Order.Pending */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xff\n mul\n not\n and\n swap1\n dup4\n 0x03\n dup2\n gt\n iszero\n tag_190\n jumpi\n tag_191\n tag_192\n jump\t// in\n tag_191:\n tag_190:\n mul\n or\n swap1\n sstore\n pop\n /* \"contract-10bf6b4c02.sol\":831:900 function setToPending() public {... */\n jump\t// out\n /* \"contract-10bf6b4c02.sol\":2013:2070 function makeTrue() public {... */\n tag_77:\n /* \"contract-10bf6b4c02.sol\":2058:2062 true */\n 0x01\n /* \"contract-10bf6b4c02.sol\":2050:2055 aBool */\n dup1\n 0x00\n /* \"contract-10bf6b4c02.sol\":2050:2062 aBool = true */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xff\n mul\n not\n and\n swap1\n dup4\n iszero\n iszero\n mul\n or\n swap1\n sstore\n pop\n /* \"contract-10bf6b4c02.sol\":2013:2070 function makeTrue() public {... */\n jump\t// out\n /* \"contract-10bf6b4c02.sol\":113:130 bool public aBool */\n tag_80:\n 0x01\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xff\n and\n dup2\n jump\t// out\n /* \"contract-10bf6b4c02.sol\":1711:1760 function inc() public {... */\n tag_85:\n /* \"contract-10bf6b4c02.sol\":1752:1753 1 */\n 0x01\n /* \"contract-10bf6b4c02.sol\":1743:1748 count */\n 0x00\n dup1\n /* \"contract-10bf6b4c02.sol\":1743:1753 count += 1 */\n dup3\n dup3\n sload\n tag_195\n swap2\n swap1\n tag_177\n jump\t// in\n tag_195:\n swap3\n pop\n pop\n dup2\n swap1\n sstore\n pop\n /* \"contract-10bf6b4c02.sol\":1711:1760 function inc() public {... */\n jump\t// out\n /* \"contract-10bf6b4c02.sol\":137:170 address payable public MY_ADDRESS */\n tag_88:\n 0x01\n dup1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n jump\t// out\n /* \"contract-10bf6b4c02.sol\":1368:1444 function incBal(address addr) public... */\n tag_94:\n /* \"contract-10bf6b4c02.sol\":1435:1436 1 */\n 0x01\n /* \"contract-10bf6b4c02.sol\":1419:1425 ledger */\n 0x02\n /* \"contract-10bf6b4c02.sol\":1419:1431 ledger[addr] */\n 0x00\n /* \"contract-10bf6b4c02.sol\":1426:1430 addr */\n dup4\n /* \"contract-10bf6b4c02.sol\":1419:1431 ledger[addr] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n 0x00\n /* \"contract-10bf6b4c02.sol\":1419:1436 ledger[addr] += 1 */\n dup3\n dup3\n sload\n tag_197\n swap2\n swap1\n tag_177\n jump\t// in\n tag_197:\n swap3\n pop\n pop\n dup2\n swap1\n sstore\n pop\n /* \"contract-10bf6b4c02.sol\":1368:1444 function incBal(address addr) public... */\n pop\n jump\t// out\n /* \"contract-10bf6b4c02.sol\":176:260 address public immutable NOT_MY_ADDRESS = 0x777788889999AaAAbBbbCcccddDdeeeEfFFfCcCc */\n tag_97:\n immutable(\"0x1a192fabce13988b84994d4296e6cdc418d55e2f1d7f942188d4040b94fc57ac\")\n dup2\n jump\t// out\n /* \"contract-10bf6b4c02.sol\":2076:2135 function makeFalse() public {... */\n tag_102:\n /* \"contract-10bf6b4c02.sol\":2122:2127 false */\n 0x00\n /* \"contract-10bf6b4c02.sol\":2114:2119 aBool */\n 0x01\n 0x00\n /* \"contract-10bf6b4c02.sol\":2114:2127 aBool = false */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xff\n mul\n not\n and\n swap1\n dup4\n iszero\n iszero\n mul\n or\n swap1\n sstore\n pop\n /* \"contract-10bf6b4c02.sol\":2076:2135 function makeFalse() public {... */\n jump\t// out\n /* \"contract-10bf6b4c02.sol\":2657:2948 function ternary(uint _x) public pure returns (uint) {... */\n tag_106:\n /* \"contract-10bf6b4c02.sol\":2704:2708 uint */\n 0x00\n /* \"contract-10bf6b4c02.sol\":2931:2933 10 */\n 0x0a\n /* \"contract-10bf6b4c02.sol\":2926:2928 _x */\n dup3\n /* \"contract-10bf6b4c02.sol\":2926:2933 _x < 10 */\n lt\n /* \"contract-10bf6b4c02.sol\":2926:2941 _x < 10 ? 1 : 2 */\n tag_200\n jumpi\n /* \"contract-10bf6b4c02.sol\":2940:2941 2 */\n 0x02\n /* \"contract-10bf6b4c02.sol\":2926:2941 _x < 10 ? 1 : 2 */\n jump(tag_201)\n tag_200:\n /* \"contract-10bf6b4c02.sol\":2936:2937 1 */\n 0x01\n /* \"contract-10bf6b4c02.sol\":2926:2941 _x < 10 ? 1 : 2 */\n tag_201:\n /* \"contract-10bf6b4c02.sol\":2919:2941 return _x < 10 ? 1 : 2 */\n 0xff\n and\n swap1\n pop\n /* \"contract-10bf6b4c02.sol\":2657:2948 function ternary(uint _x) public pure returns (uint) {... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"contract-10bf6b4c02.sol\":1594:1665 function get() public view returns (uint) {... */\n tag_110:\n /* \"contract-10bf6b4c02.sol\":1630:1634 uint */\n 0x00\n /* \"contract-10bf6b4c02.sol\":1653:1658 count */\n dup1\n sload\n /* \"contract-10bf6b4c02.sol\":1646:1658 return count */\n swap1\n pop\n /* \"contract-10bf6b4c02.sol\":1594:1665 function get() public view returns (uint) {... */\n swap1\n jump\t// out\n /* \"contract-10bf6b4c02.sol\":3284:3500 function getNumbers() public view returns (uint[4] memory)... */\n tag_114:\n /* \"contract-10bf6b4c02.sol\":3327:3341 uint[4] memory */\n tag_203\n tag_204\n jump\t// in\n tag_203:\n /* \"contract-10bf6b4c02.sol\":3357:3376 uint[4] memory nums */\n tag_206\n tag_204\n jump\t// in\n tag_206:\n /* \"contract-10bf6b4c02.sol\":3391:3397 uint i */\n 0x00\n /* \"contract-10bf6b4c02.sol\":3387:3472 for(uint i = 0; i < 4; i++)... */\n tag_207:\n /* \"contract-10bf6b4c02.sol\":3407:3408 4 */\n 0x04\n /* \"contract-10bf6b4c02.sol\":3403:3404 i */\n dup2\n /* \"contract-10bf6b4c02.sol\":3403:3408 i < 4 */\n lt\n /* \"contract-10bf6b4c02.sol\":3387:3472 for(uint i = 0; i < 4; i++)... */\n iszero\n tag_208\n jumpi\n /* \"contract-10bf6b4c02.sol\":3447:3460 maybeRandom() */\n tag_210\n /* \"contract-10bf6b4c02.sol\":3447:3458 maybeRandom */\n tag_58\n /* \"contract-10bf6b4c02.sol\":3447:3460 maybeRandom() */\n jump\t// in\n tag_210:\n /* \"contract-10bf6b4c02.sol\":3437:3441 nums */\n dup3\n /* \"contract-10bf6b4c02.sol\":3442:3443 i */\n dup3\n /* \"contract-10bf6b4c02.sol\":3437:3444 nums[i] */\n 0x04\n dup2\n lt\n tag_211\n jumpi\n tag_212\n tag_213\n jump\t// in\n tag_212:\n tag_211:\n 0x20\n mul\n add\n /* \"contract-10bf6b4c02.sol\":3437:3460 nums[i] = maybeRandom() */\n dup2\n dup2\n mstore\n pop\n pop\n /* \"contract-10bf6b4c02.sol\":3410:3413 i++ */\n dup1\n dup1\n tag_214\n swap1\n tag_179\n jump\t// in\n tag_214:\n swap2\n pop\n pop\n /* \"contract-10bf6b4c02.sol\":3387:3472 for(uint i = 0; i < 4; i++)... */\n jump(tag_207)\n tag_208:\n pop\n /* \"contract-10bf6b4c02.sol\":3488:3492 nums */\n dup1\n /* \"contract-10bf6b4c02.sol\":3481:3492 return nums */\n swap2\n pop\n pop\n /* \"contract-10bf6b4c02.sol\":3284:3500 function getNumbers() public view returns (uint[4] memory)... */\n swap1\n jump\t// out\n /* \"contract-10bf6b4c02.sol\":1909:2007 function double() public {... */\n tag_119:\n /* \"contract-10bf6b4c02.sol\":1944:1957 uint localVar */\n 0x00\n /* \"contract-10bf6b4c02.sol\":1960:1965 2 wei */\n 0x02\n /* \"contract-10bf6b4c02.sol\":1944:1965 uint localVar = 2 wei */\n swap1\n pop\n /* \"contract-10bf6b4c02.sol\":1991:1999 localVar */\n dup1\n /* \"contract-10bf6b4c02.sol\":1983:1988 count */\n sload(0x00)\n /* \"contract-10bf6b4c02.sol\":1983:1999 count * localVar */\n tag_216\n swap2\n swap1\n tag_217\n jump\t// in\n tag_216:\n /* \"contract-10bf6b4c02.sol\":1976:1981 count */\n 0x00\n /* \"contract-10bf6b4c02.sol\":1976:1999 count= count * localVar */\n dup2\n swap1\n sstore\n pop\n /* \"contract-10bf6b4c02.sol\":1934:2007 {... */\n pop\n /* \"contract-10bf6b4c02.sol\":1909:2007 function double() public {... */\n jump\t// out\n /* \"contract-10bf6b4c02.sol\":1002:1173 function createOrder(string calldata tix, uint price) public pure... */\n tag_124:\n /* \"contract-10bf6b4c02.sol\":1082:1105 orderEntry memory entry */\n tag_219\n tag_220\n jump\t// in\n tag_219:\n /* \"contract-10bf6b4c02.sol\":1131:1134 tix */\n dup4\n dup4\n /* \"contract-10bf6b4c02.sol\":1116:1134 entry.ticker = tix */\n dup1\n dup1\n 0x1f\n add\n 0x20\n dup1\n swap2\n div\n mul\n 0x20\n add\n mload(0x40)\n swap1\n dup2\n add\n 0x40\n mstore\n dup1\n swap4\n swap3\n swap2\n swap1\n dup2\n dup2\n mstore\n 0x20\n add\n dup4\n dup4\n dup1\n dup3\n dup5\n calldatacopy\n 0x00\n dup2\n dup5\n add\n mstore\n not(0x1f)\n 0x1f\n dup3\n add\n and\n swap1\n pop\n dup1\n dup4\n add\n swap3\n pop\n pop\n pop\n pop\n pop\n pop\n pop\n /* \"contract-10bf6b4c02.sol\":1116:1121 entry */\n dup2\n /* \"contract-10bf6b4c02.sol\":1116:1128 entry.ticker */\n 0x00\n add\n /* \"contract-10bf6b4c02.sol\":1116:1134 entry.ticker = tix */\n dup2\n swap1\n mstore\n pop\n /* \"contract-10bf6b4c02.sol\":1159:1164 price */\n dup2\n /* \"contract-10bf6b4c02.sol\":1145:1150 entry */\n dup2\n /* \"contract-10bf6b4c02.sol\":1145:1156 entry.price */\n 0x20\n add\n /* \"contract-10bf6b4c02.sol\":1145:1164 entry.price = price */\n dup2\n dup2\n mstore\n pop\n pop\n /* \"contract-10bf6b4c02.sol\":1072:1173 {... */\n pop\n /* \"contract-10bf6b4c02.sol\":1002:1173 function createOrder(string calldata tix, uint price) public pure... */\n pop\n pop\n pop\n jump\t// out\n /* \"contract-10bf6b4c02.sol\":749:825 function setOrder(Order orderType) public {... */\n tag_129:\n /* \"contract-10bf6b4c02.sol\":809:818 orderType */\n dup1\n /* \"contract-10bf6b4c02.sol\":801:806 order */\n 0x01\n 0x16\n /* \"contract-10bf6b4c02.sol\":801:818 order = orderType */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xff\n mul\n not\n and\n swap1\n dup4\n 0x03\n dup2\n gt\n iszero\n tag_222\n jumpi\n tag_223\n tag_192\n jump\t// in\n tag_223:\n tag_222:\n mul\n or\n swap1\n sstore\n pop\n /* \"contract-10bf6b4c02.sol\":749:825 function setOrder(Order orderType) public {... */\n pop\n jump\t// out\n /* \"contract-10bf6b4c02.sol\":1806:1903 function dec() public {... */\n tag_132:\n /* \"contract-10bf6b4c02.sol\":1895:1896 1 */\n 0x01\n /* \"contract-10bf6b4c02.sol\":1886:1891 count */\n 0x00\n dup1\n /* \"contract-10bf6b4c02.sol\":1886:1896 count -= 1 */\n dup3\n dup3\n sload\n tag_225\n swap2\n swap1\n tag_226\n jump\t// in\n tag_225:\n swap3\n pop\n pop\n dup2\n swap1\n sstore\n pop\n /* \"contract-10bf6b4c02.sol\":1806:1903 function dec() public {... */\n jump\t// out\n /* \"contract-10bf6b4c02.sol\":3506:3633 function testRequire(uint _in) public... */\n tag_136:\n /* \"contract-10bf6b4c02.sol\":3572:3574 16 */\n 0x10\n /* \"contract-10bf6b4c02.sol\":3566:3569 _in */\n dup2\n /* \"contract-10bf6b4c02.sol\":3566:3574 _in > 16 */\n gt\n /* \"contract-10bf6b4c02.sol\":3558:3608 require(_in > 16, \"Input must be greater than 16\") */\n tag_228\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_229\n swap1\n tag_230\n jump\t// in\n tag_229:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_228:\n /* \"contract-10bf6b4c02.sol\":3618:3626 loopUp() */\n tag_231\n /* \"contract-10bf6b4c02.sol\":3618:3624 loopUp */\n tag_55\n /* \"contract-10bf6b4c02.sol\":3618:3626 loopUp() */\n jump\t// in\n tag_231:\n /* \"contract-10bf6b4c02.sol\":3506:3633 function testRequire(uint _in) public... */\n pop\n jump\t// out\n /* \"contract-10bf6b4c02.sol\":636:654 Order public order */\n tag_139:\n 0x01\n 0x16\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xff\n and\n dup2\n jump\t// out\n /* \"contract-10bf6b4c02.sol\":662:743 function getOrder() public view returns(Order)... */\n tag_144:\n /* \"contract-10bf6b4c02.sol\":702:707 Order */\n 0x00\n /* \"contract-10bf6b4c02.sol\":730:735 order */\n 0x01\n 0x16\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xff\n and\n /* \"contract-10bf6b4c02.sol\":723:735 return order */\n swap1\n pop\n /* \"contract-10bf6b4c02.sol\":662:743 function getOrder() public view returns(Order)... */\n swap1\n jump\t// out\n /* \"contract-10bf6b4c02.sol\":2324:2410 function whois() public view returns (address)... */\n tag_148:\n /* \"contract-10bf6b4c02.sol\":2362:2369 address */\n 0x00\n /* \"contract-10bf6b4c02.sol\":2392:2402 msg.sender */\n caller\n /* \"contract-10bf6b4c02.sol\":2385:2402 return msg.sender */\n swap1\n pop\n /* \"contract-10bf6b4c02.sol\":2324:2410 function whois() public view returns (address)... */\n swap1\n jump\t// out\n /* \"contract-10bf6b4c02.sol\":2141:2222 function getABool() public view returns (bool)... */\n tag_152:\n /* \"contract-10bf6b4c02.sol\":2182:2186 bool */\n 0x00\n /* \"contract-10bf6b4c02.sol\":2209:2214 aBool */\n 0x01\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xff\n and\n /* \"contract-10bf6b4c02.sol\":2202:2214 return aBool */\n swap1\n pop\n /* \"contract-10bf6b4c02.sol\":2141:2222 function getABool() public view returns (bool)... */\n swap1\n jump\t// out\n /* \"contract-10bf6b4c02.sol\":4062:4182 function test() public {... */\n tag_156:\n /* \"contract-10bf6b4c02.sol\":4104:4114 msg.sender */\n caller\n /* \"contract-10bf6b4c02.sol\":4100:4131 Log(msg.sender, \"Hello World!\") */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0x0738f4da267a110d810e6e89fc59e46be6de0c37b1d5cd559b267dc3688e74e0\n mload(0x40)\n tag_236\n swap1\n tag_237\n jump\t// in\n tag_236:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log2\n /* \"contract-10bf6b4c02.sol\":4150:4160 msg.sender */\n caller\n /* \"contract-10bf6b4c02.sol\":4146:4175 Log(msg.sender, \"Hello EVM!\") */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0x0738f4da267a110d810e6e89fc59e46be6de0c37b1d5cd559b267dc3688e74e0\n mload(0x40)\n tag_238\n swap1\n tag_239\n jump\t// in\n tag_238:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log2\n /* \"contract-10bf6b4c02.sol\":4062:4182 function test() public {... */\n jump\t// out\n /* \"contract-10bf6b4c02.sol\":1179:1217 mapping(address => uint) public ledger */\n tag_160:\n mstore(0x20, 0x02)\n dup1\n 0x00\n mstore\n keccak256(0x00, 0x40)\n 0x00\n swap2\n pop\n swap1\n pop\n sload\n dup2\n jump\t// out\n /* \"contract-10bf6b4c02.sol\":2416:2647 function transactMe(uint updoot) public returns (uint) // what is view and why can't it be used if the state is being messed with? (view ensures the state is not modified)... */\n tag_165:\n /* \"contract-10bf6b4c02.sol\":2465:2469 uint */\n 0x00\n /* \"contract-10bf6b4c02.sol\":2610:2616 updoot */\n dup2\n /* \"contract-10bf6b4c02.sol\":2602:2607 count */\n 0x00\n /* \"contract-10bf6b4c02.sol\":2602:2616 count = updoot */\n dup2\n swap1\n sstore\n pop\n /* \"contract-10bf6b4c02.sol\":2634:2639 count */\n sload(0x00)\n /* \"contract-10bf6b4c02.sol\":2627:2639 return count */\n swap1\n pop\n /* \"contract-10bf6b4c02.sol\":2416:2647 function transactMe(uint updoot) public returns (uint) // what is view and why can't it be used if the state is being messed with? (view ensures the state is not modified)... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"contract-10bf6b4c02.sol\":2228:2318 function getStamp() public view returns (uint)... */\n tag_169:\n /* \"contract-10bf6b4c02.sol\":2269:2273 uint */\n 0x00\n /* \"contract-10bf6b4c02.sol\":2296:2311 block.timestamp */\n timestamp\n /* \"contract-10bf6b4c02.sol\":2289:2311 return block.timestamp */\n swap1\n pop\n /* \"contract-10bf6b4c02.sol\":2228:2318 function getStamp() public view returns (uint)... */\n swap1\n jump\t// out\n tag_204:\n mload(0x40)\n dup1\n 0x80\n add\n 0x40\n mstore\n dup1\n 0x04\n swap1\n 0x20\n dup3\n mul\n dup1\n calldatasize\n dup4\n calldatacopy\n dup1\n dup3\n add\n swap2\n pop\n pop\n swap1\n pop\n pop\n swap1\n jump\t// out\n tag_220:\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x60\n dup2\n mstore\n 0x20\n add\n 0x00\n dup2\n mstore\n pop\n swap1\n jump\t// out\n /* \"#utility.yul\":7:84 */\n tag_242:\n /* \"#utility.yul\":44:51 */\n 0x00\n /* \"#utility.yul\":73:78 */\n dup2\n /* \"#utility.yul\":62:78 */\n swap1\n pop\n /* \"#utility.yul\":7:84 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":90:208 */\n tag_243:\n /* \"#utility.yul\":177:201 */\n tag_287\n /* \"#utility.yul\":195:200 */\n dup2\n /* \"#utility.yul\":177:201 */\n tag_242\n jump\t// in\n tag_287:\n /* \"#utility.yul\":172:175 */\n dup3\n /* \"#utility.yul\":165:202 */\n mstore\n /* \"#utility.yul\":90:208 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":214:436 */\n tag_48:\n /* \"#utility.yul\":307:311 */\n 0x00\n /* \"#utility.yul\":345:347 */\n 0x20\n /* \"#utility.yul\":334:343 */\n dup3\n /* \"#utility.yul\":330:348 */\n add\n /* \"#utility.yul\":322:348 */\n swap1\n pop\n /* \"#utility.yul\":358:429 */\n tag_289\n /* \"#utility.yul\":426:427 */\n 0x00\n /* \"#utility.yul\":415:424 */\n dup4\n /* \"#utility.yul\":411:428 */\n add\n /* \"#utility.yul\":402:408 */\n dup5\n /* \"#utility.yul\":358:429 */\n tag_243\n jump\t// in\n tag_289:\n /* \"#utility.yul\":214:436 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":523:640 */\n tag_245:\n /* \"#utility.yul\":632:633 */\n 0x00\n /* \"#utility.yul\":629:630 */\n dup1\n /* \"#utility.yul\":622:634 */\n revert\n /* \"#utility.yul\":646:763 */\n tag_246:\n /* \"#utility.yul\":755:756 */\n 0x00\n /* \"#utility.yul\":752:753 */\n dup1\n /* \"#utility.yul\":745:757 */\n revert\n /* \"#utility.yul\":769:891 */\n tag_247:\n /* \"#utility.yul\":842:866 */\n tag_294\n /* \"#utility.yul\":860:865 */\n dup2\n /* \"#utility.yul\":842:866 */\n tag_242\n jump\t// in\n tag_294:\n /* \"#utility.yul\":835:840 */\n dup2\n /* \"#utility.yul\":832:867 */\n eq\n /* \"#utility.yul\":822:885 */\n tag_295\n jumpi\n /* \"#utility.yul\":881:882 */\n 0x00\n /* \"#utility.yul\":878:879 */\n dup1\n /* \"#utility.yul\":871:883 */\n revert\n /* \"#utility.yul\":822:885 */\n tag_295:\n /* \"#utility.yul\":769:891 */\n pop\n jump\t// out\n /* \"#utility.yul\":897:1036 */\n tag_248:\n /* \"#utility.yul\":943:948 */\n 0x00\n /* \"#utility.yul\":981:987 */\n dup2\n /* \"#utility.yul\":968:988 */\n calldataload\n /* \"#utility.yul\":959:988 */\n swap1\n pop\n /* \"#utility.yul\":997:1030 */\n tag_297\n /* \"#utility.yul\":1024:1029 */\n dup2\n /* \"#utility.yul\":997:1030 */\n tag_247\n jump\t// in\n tag_297:\n /* \"#utility.yul\":897:1036 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1042:1371 */\n tag_63:\n /* \"#utility.yul\":1101:1107 */\n 0x00\n /* \"#utility.yul\":1150:1152 */\n 0x20\n /* \"#utility.yul\":1138:1147 */\n dup3\n /* \"#utility.yul\":1129:1136 */\n dup5\n /* \"#utility.yul\":1125:1148 */\n sub\n /* \"#utility.yul\":1121:1153 */\n slt\n /* \"#utility.yul\":1118:1237 */\n iszero\n tag_299\n jumpi\n /* \"#utility.yul\":1156:1235 */\n tag_300\n tag_245\n jump\t// in\n tag_300:\n /* \"#utility.yul\":1118:1237 */\n tag_299:\n /* \"#utility.yul\":1276:1277 */\n 0x00\n /* \"#utility.yul\":1301:1354 */\n tag_301\n /* \"#utility.yul\":1346:1353 */\n dup5\n /* \"#utility.yul\":1337:1343 */\n dup3\n /* \"#utility.yul\":1326:1335 */\n dup6\n /* \"#utility.yul\":1322:1344 */\n add\n /* \"#utility.yul\":1301:1354 */\n tag_248\n jump\t// in\n tag_301:\n /* \"#utility.yul\":1291:1354 */\n swap2\n pop\n /* \"#utility.yul\":1247:1364 */\n pop\n /* \"#utility.yul\":1042:1371 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1377:1503 */\n tag_249:\n /* \"#utility.yul\":1414:1421 */\n 0x00\n /* \"#utility.yul\":1454:1496 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":1447:1452 */\n dup3\n /* \"#utility.yul\":1443:1497 */\n and\n /* \"#utility.yul\":1432:1497 */\n swap1\n pop\n /* \"#utility.yul\":1377:1503 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1509:1605 */\n tag_250:\n /* \"#utility.yul\":1546:1553 */\n 0x00\n /* \"#utility.yul\":1575:1599 */\n tag_304\n /* \"#utility.yul\":1593:1598 */\n dup3\n /* \"#utility.yul\":1575:1599 */\n tag_249\n jump\t// in\n tag_304:\n /* \"#utility.yul\":1564:1599 */\n swap1\n pop\n /* \"#utility.yul\":1509:1605 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1611:1733 */\n tag_251:\n /* \"#utility.yul\":1684:1708 */\n tag_306\n /* \"#utility.yul\":1702:1707 */\n dup2\n /* \"#utility.yul\":1684:1708 */\n tag_250\n jump\t// in\n tag_306:\n /* \"#utility.yul\":1677:1682 */\n dup2\n /* \"#utility.yul\":1674:1709 */\n eq\n /* \"#utility.yul\":1664:1727 */\n tag_307\n jumpi\n /* \"#utility.yul\":1723:1724 */\n 0x00\n /* \"#utility.yul\":1720:1721 */\n dup1\n /* \"#utility.yul\":1713:1725 */\n revert\n /* \"#utility.yul\":1664:1727 */\n tag_307:\n /* \"#utility.yul\":1611:1733 */\n pop\n jump\t// out\n /* \"#utility.yul\":1739:1878 */\n tag_252:\n /* \"#utility.yul\":1785:1790 */\n 0x00\n /* \"#utility.yul\":1823:1829 */\n dup2\n /* \"#utility.yul\":1810:1830 */\n calldataload\n /* \"#utility.yul\":1801:1830 */\n swap1\n pop\n /* \"#utility.yul\":1839:1872 */\n tag_309\n /* \"#utility.yul\":1866:1871 */\n dup2\n /* \"#utility.yul\":1839:1872 */\n tag_251\n jump\t// in\n tag_309:\n /* \"#utility.yul\":1739:1878 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1884:2213 */\n tag_69:\n /* \"#utility.yul\":1943:1949 */\n 0x00\n /* \"#utility.yul\":1992:1994 */\n 0x20\n /* \"#utility.yul\":1980:1989 */\n dup3\n /* \"#utility.yul\":1971:1978 */\n dup5\n /* \"#utility.yul\":1967:1990 */\n sub\n /* \"#utility.yul\":1963:1995 */\n slt\n /* \"#utility.yul\":1960:2079 */\n iszero\n tag_311\n jumpi\n /* \"#utility.yul\":1998:2077 */\n tag_312\n tag_245\n jump\t// in\n tag_312:\n /* \"#utility.yul\":1960:2079 */\n tag_311:\n /* \"#utility.yul\":2118:2119 */\n 0x00\n /* \"#utility.yul\":2143:2196 */\n tag_313\n /* \"#utility.yul\":2188:2195 */\n dup5\n /* \"#utility.yul\":2179:2185 */\n dup3\n /* \"#utility.yul\":2168:2177 */\n dup6\n /* \"#utility.yul\":2164:2186 */\n add\n /* \"#utility.yul\":2143:2196 */\n tag_252\n jump\t// in\n tag_313:\n /* \"#utility.yul\":2133:2196 */\n swap2\n pop\n /* \"#utility.yul\":2089:2206 */\n pop\n /* \"#utility.yul\":1884:2213 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2219:2309 */\n tag_253:\n /* \"#utility.yul\":2253:2260 */\n 0x00\n /* \"#utility.yul\":2296:2301 */\n dup2\n /* \"#utility.yul\":2289:2302 */\n iszero\n /* \"#utility.yul\":2282:2303 */\n iszero\n /* \"#utility.yul\":2271:2303 */\n swap1\n pop\n /* \"#utility.yul\":2219:2309 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2315:2424 */\n tag_254:\n /* \"#utility.yul\":2396:2417 */\n tag_316\n /* \"#utility.yul\":2411:2416 */\n dup2\n /* \"#utility.yul\":2396:2417 */\n tag_253\n jump\t// in\n tag_316:\n /* \"#utility.yul\":2391:2394 */\n dup3\n /* \"#utility.yul\":2384:2418 */\n mstore\n /* \"#utility.yul\":2315:2424 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2430:2640 */\n tag_82:\n /* \"#utility.yul\":2517:2521 */\n 0x00\n /* \"#utility.yul\":2555:2557 */\n 0x20\n /* \"#utility.yul\":2544:2553 */\n dup3\n /* \"#utility.yul\":2540:2558 */\n add\n /* \"#utility.yul\":2532:2558 */\n swap1\n pop\n /* \"#utility.yul\":2568:2633 */\n tag_318\n /* \"#utility.yul\":2630:2631 */\n 0x00\n /* \"#utility.yul\":2619:2628 */\n dup4\n /* \"#utility.yul\":2615:2632 */\n add\n /* \"#utility.yul\":2606:2612 */\n dup5\n /* \"#utility.yul\":2568:2633 */\n tag_254\n jump\t// in\n tag_318:\n /* \"#utility.yul\":2430:2640 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2646:2750 */\n tag_255:\n /* \"#utility.yul\":2691:2698 */\n 0x00\n /* \"#utility.yul\":2720:2744 */\n tag_320\n /* \"#utility.yul\":2738:2743 */\n dup3\n /* \"#utility.yul\":2720:2744 */\n tag_249\n jump\t// in\n tag_320:\n /* \"#utility.yul\":2709:2744 */\n swap1\n pop\n /* \"#utility.yul\":2646:2750 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2756:2898 */\n tag_256:\n /* \"#utility.yul\":2859:2891 */\n tag_322\n /* \"#utility.yul\":2885:2890 */\n dup2\n /* \"#utility.yul\":2859:2891 */\n tag_255\n jump\t// in\n tag_322:\n /* \"#utility.yul\":2854:2857 */\n dup3\n /* \"#utility.yul\":2847:2892 */\n mstore\n /* \"#utility.yul\":2756:2898 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2904:3158 */\n tag_90:\n /* \"#utility.yul\":3013:3017 */\n 0x00\n /* \"#utility.yul\":3051:3053 */\n 0x20\n /* \"#utility.yul\":3040:3049 */\n dup3\n /* \"#utility.yul\":3036:3054 */\n add\n /* \"#utility.yul\":3028:3054 */\n swap1\n pop\n /* \"#utility.yul\":3064:3151 */\n tag_324\n /* \"#utility.yul\":3148:3149 */\n 0x00\n /* \"#utility.yul\":3137:3146 */\n dup4\n /* \"#utility.yul\":3133:3150 */\n add\n /* \"#utility.yul\":3124:3130 */\n dup5\n /* \"#utility.yul\":3064:3151 */\n tag_256\n jump\t// in\n tag_324:\n /* \"#utility.yul\":2904:3158 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3164:3282 */\n tag_257:\n /* \"#utility.yul\":3251:3275 */\n tag_326\n /* \"#utility.yul\":3269:3274 */\n dup2\n /* \"#utility.yul\":3251:3275 */\n tag_250\n jump\t// in\n tag_326:\n /* \"#utility.yul\":3246:3249 */\n dup3\n /* \"#utility.yul\":3239:3276 */\n mstore\n /* \"#utility.yul\":3164:3282 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3288:3510 */\n tag_99:\n /* \"#utility.yul\":3381:3385 */\n 0x00\n /* \"#utility.yul\":3419:3421 */\n 0x20\n /* \"#utility.yul\":3408:3417 */\n dup3\n /* \"#utility.yul\":3404:3422 */\n add\n /* \"#utility.yul\":3396:3422 */\n swap1\n pop\n /* \"#utility.yul\":3432:3503 */\n tag_328\n /* \"#utility.yul\":3500:3501 */\n 0x00\n /* \"#utility.yul\":3489:3498 */\n dup4\n /* \"#utility.yul\":3485:3502 */\n add\n /* \"#utility.yul\":3476:3482 */\n dup5\n /* \"#utility.yul\":3432:3503 */\n tag_257\n jump\t// in\n tag_328:\n /* \"#utility.yul\":3288:3510 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3516:3620 */\n tag_258:\n /* \"#utility.yul\":3581:3587 */\n 0x00\n /* \"#utility.yul\":3609:3613 */\n 0x04\n /* \"#utility.yul\":3599:3613 */\n swap1\n pop\n /* \"#utility.yul\":3516:3620 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3626:3769 */\n tag_259:\n /* \"#utility.yul\":3723:3734 */\n 0x00\n /* \"#utility.yul\":3760:3763 */\n dup2\n /* \"#utility.yul\":3745:3763 */\n swap1\n pop\n /* \"#utility.yul\":3626:3769 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3775:3873 */\n tag_260:\n /* \"#utility.yul\":3840:3844 */\n 0x00\n /* \"#utility.yul\":3863:3866 */\n dup2\n /* \"#utility.yul\":3855:3866 */\n swap1\n pop\n /* \"#utility.yul\":3775:3873 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3879:3987 */\n tag_261:\n /* \"#utility.yul\":3956:3980 */\n tag_333\n /* \"#utility.yul\":3974:3979 */\n dup2\n /* \"#utility.yul\":3956:3980 */\n tag_242\n jump\t// in\n tag_333:\n /* \"#utility.yul\":3951:3954 */\n dup3\n /* \"#utility.yul\":3944:3981 */\n mstore\n /* \"#utility.yul\":3879:3987 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3993:4172 */\n tag_262:\n /* \"#utility.yul\":4062:4072 */\n 0x00\n /* \"#utility.yul\":4083:4129 */\n tag_335\n /* \"#utility.yul\":4125:4128 */\n dup4\n /* \"#utility.yul\":4117:4123 */\n dup4\n /* \"#utility.yul\":4083:4129 */\n tag_261\n jump\t// in\n tag_335:\n /* \"#utility.yul\":4161:4165 */\n 0x20\n /* \"#utility.yul\":4156:4159 */\n dup4\n /* \"#utility.yul\":4152:4166 */\n add\n /* \"#utility.yul\":4138:4166 */\n swap1\n pop\n /* \"#utility.yul\":3993:4172 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4178:4289 */\n tag_263:\n /* \"#utility.yul\":4246:4250 */\n 0x00\n /* \"#utility.yul\":4278:4282 */\n 0x20\n /* \"#utility.yul\":4273:4276 */\n dup3\n /* \"#utility.yul\":4269:4283 */\n add\n /* \"#utility.yul\":4261:4283 */\n swap1\n pop\n /* \"#utility.yul\":4178:4289 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4327:5021 */\n tag_264:\n /* \"#utility.yul\":4463:4515 */\n tag_338\n /* \"#utility.yul\":4509:4514 */\n dup2\n /* \"#utility.yul\":4463:4515 */\n tag_258\n jump\t// in\n tag_338:\n /* \"#utility.yul\":4531:4615 */\n tag_339\n /* \"#utility.yul\":4608:4614 */\n dup2\n /* \"#utility.yul\":4603:4606 */\n dup5\n /* \"#utility.yul\":4531:4615 */\n tag_259\n jump\t// in\n tag_339:\n /* \"#utility.yul\":4524:4615 */\n swap3\n pop\n /* \"#utility.yul\":4639:4693 */\n tag_340\n /* \"#utility.yul\":4687:4692 */\n dup3\n /* \"#utility.yul\":4639:4693 */\n tag_260\n jump\t// in\n tag_340:\n /* \"#utility.yul\":4716:4723 */\n dup1\n /* \"#utility.yul\":4747:4748 */\n 0x00\n /* \"#utility.yul\":4732:5014 */\n tag_341:\n /* \"#utility.yul\":4757:4763 */\n dup4\n /* \"#utility.yul\":4754:4755 */\n dup2\n /* \"#utility.yul\":4751:4764 */\n lt\n /* \"#utility.yul\":4732:5014 */\n iszero\n tag_343\n jumpi\n /* \"#utility.yul\":4833:4839 */\n dup2\n /* \"#utility.yul\":4827:4840 */\n mload\n /* \"#utility.yul\":4860:4923 */\n tag_344\n /* \"#utility.yul\":4919:4922 */\n dup8\n /* \"#utility.yul\":4904:4917 */\n dup3\n /* \"#utility.yul\":4860:4923 */\n tag_262\n jump\t// in\n tag_344:\n /* \"#utility.yul\":4853:4923 */\n swap7\n pop\n /* \"#utility.yul\":4946:5004 */\n tag_345\n /* \"#utility.yul\":4997:5003 */\n dup4\n /* \"#utility.yul\":4946:5004 */\n tag_263\n jump\t// in\n tag_345:\n /* \"#utility.yul\":4936:5004 */\n swap3\n pop\n /* \"#utility.yul\":4792:5014 */\n pop\n /* \"#utility.yul\":4779:4780 */\n 0x01\n /* \"#utility.yul\":4776:4777 */\n dup2\n /* \"#utility.yul\":4772:4781 */\n add\n /* \"#utility.yul\":4767:4781 */\n swap1\n pop\n /* \"#utility.yul\":4732:5014 */\n jump(tag_341)\n tag_343:\n /* \"#utility.yul\":4736:4750 */\n pop\n /* \"#utility.yul\":4439:5021 */\n pop\n pop\n pop\n /* \"#utility.yul\":4327:5021 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5027:5342 */\n tag_116:\n /* \"#utility.yul\":5166:5170 */\n 0x00\n /* \"#utility.yul\":5204:5207 */\n 0x80\n /* \"#utility.yul\":5193:5202 */\n dup3\n /* \"#utility.yul\":5189:5208 */\n add\n /* \"#utility.yul\":5181:5208 */\n swap1\n pop\n /* \"#utility.yul\":5218:5335 */\n tag_347\n /* \"#utility.yul\":5332:5333 */\n 0x00\n /* \"#utility.yul\":5321:5330 */\n dup4\n /* \"#utility.yul\":5317:5334 */\n add\n /* \"#utility.yul\":5308:5314 */\n dup5\n /* \"#utility.yul\":5218:5335 */\n tag_264\n jump\t// in\n tag_347:\n /* \"#utility.yul\":5027:5342 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5348:5465 */\n tag_265:\n /* \"#utility.yul\":5457:5458 */\n 0x00\n /* \"#utility.yul\":5454:5455 */\n dup1\n /* \"#utility.yul\":5447:5459 */\n revert\n /* \"#utility.yul\":5471:5588 */\n tag_266:\n /* \"#utility.yul\":5580:5581 */\n 0x00\n /* \"#utility.yul\":5577:5578 */\n dup1\n /* \"#utility.yul\":5570:5582 */\n revert\n /* \"#utility.yul\":5594:5711 */\n tag_267:\n /* \"#utility.yul\":5703:5704 */\n 0x00\n /* \"#utility.yul\":5700:5701 */\n dup1\n /* \"#utility.yul\":5693:5705 */\n revert\n /* \"#utility.yul\":5731:6284 */\n tag_268:\n /* \"#utility.yul\":5789:5797 */\n 0x00\n /* \"#utility.yul\":5799:5805 */\n dup1\n /* \"#utility.yul\":5849:5852 */\n dup4\n /* \"#utility.yul\":5842:5846 */\n 0x1f\n /* \"#utility.yul\":5834:5840 */\n dup5\n /* \"#utility.yul\":5830:5847 */\n add\n /* \"#utility.yul\":5826:5853 */\n slt\n /* \"#utility.yul\":5816:5938 */\n tag_352\n jumpi\n /* \"#utility.yul\":5857:5936 */\n tag_353\n tag_265\n jump\t// in\n tag_353:\n /* \"#utility.yul\":5816:5938 */\n tag_352:\n /* \"#utility.yul\":5970:5976 */\n dup3\n /* \"#utility.yul\":5957:5977 */\n calldataload\n /* \"#utility.yul\":5947:5977 */\n swap1\n pop\n /* \"#utility.yul\":6000:6018 */\n 0xffffffffffffffff\n /* \"#utility.yul\":5992:5998 */\n dup2\n /* \"#utility.yul\":5989:6019 */\n gt\n /* \"#utility.yul\":5986:6103 */\n iszero\n tag_354\n jumpi\n /* \"#utility.yul\":6022:6101 */\n tag_355\n tag_266\n jump\t// in\n tag_355:\n /* \"#utility.yul\":5986:6103 */\n tag_354:\n /* \"#utility.yul\":6136:6140 */\n 0x20\n /* \"#utility.yul\":6128:6134 */\n dup4\n /* \"#utility.yul\":6124:6141 */\n add\n /* \"#utility.yul\":6112:6141 */\n swap2\n pop\n /* \"#utility.yul\":6190:6193 */\n dup4\n /* \"#utility.yul\":6182:6186 */\n 0x01\n /* \"#utility.yul\":6174:6180 */\n dup3\n /* \"#utility.yul\":6170:6187 */\n mul\n /* \"#utility.yul\":6160:6168 */\n dup4\n /* \"#utility.yul\":6156:6188 */\n add\n /* \"#utility.yul\":6153:6194 */\n gt\n /* \"#utility.yul\":6150:6278 */\n iszero\n tag_356\n jumpi\n /* \"#utility.yul\":6197:6276 */\n tag_357\n tag_267\n jump\t// in\n tag_357:\n /* \"#utility.yul\":6150:6278 */\n tag_356:\n /* \"#utility.yul\":5731:6284 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":6290:6964 */\n tag_123:\n /* \"#utility.yul\":6370:6376 */\n 0x00\n /* \"#utility.yul\":6378:6384 */\n dup1\n /* \"#utility.yul\":6386:6392 */\n 0x00\n /* \"#utility.yul\":6435:6437 */\n 0x40\n /* \"#utility.yul\":6423:6432 */\n dup5\n /* \"#utility.yul\":6414:6421 */\n dup7\n /* \"#utility.yul\":6410:6433 */\n sub\n /* \"#utility.yul\":6406:6438 */\n slt\n /* \"#utility.yul\":6403:6522 */\n iszero\n tag_359\n jumpi\n /* \"#utility.yul\":6441:6520 */\n tag_360\n tag_245\n jump\t// in\n tag_360:\n /* \"#utility.yul\":6403:6522 */\n tag_359:\n /* \"#utility.yul\":6589:6590 */\n 0x00\n /* \"#utility.yul\":6578:6587 */\n dup5\n /* \"#utility.yul\":6574:6591 */\n add\n /* \"#utility.yul\":6561:6592 */\n calldataload\n /* \"#utility.yul\":6619:6637 */\n 0xffffffffffffffff\n /* \"#utility.yul\":6611:6617 */\n dup2\n /* \"#utility.yul\":6608:6638 */\n gt\n /* \"#utility.yul\":6605:6722 */\n iszero\n tag_361\n jumpi\n /* \"#utility.yul\":6641:6720 */\n tag_362\n tag_246\n jump\t// in\n tag_362:\n /* \"#utility.yul\":6605:6722 */\n tag_361:\n /* \"#utility.yul\":6754:6819 */\n tag_363\n /* \"#utility.yul\":6811:6818 */\n dup7\n /* \"#utility.yul\":6802:6808 */\n dup3\n /* \"#utility.yul\":6791:6800 */\n dup8\n /* \"#utility.yul\":6787:6809 */\n add\n /* \"#utility.yul\":6754:6819 */\n tag_268\n jump\t// in\n tag_363:\n /* \"#utility.yul\":6736:6819 */\n swap4\n pop\n swap4\n pop\n /* \"#utility.yul\":6532:6829 */\n pop\n /* \"#utility.yul\":6868:6870 */\n 0x20\n /* \"#utility.yul\":6894:6947 */\n tag_364\n /* \"#utility.yul\":6939:6946 */\n dup7\n /* \"#utility.yul\":6930:6936 */\n dup3\n /* \"#utility.yul\":6919:6928 */\n dup8\n /* \"#utility.yul\":6915:6937 */\n add\n /* \"#utility.yul\":6894:6947 */\n tag_248\n jump\t// in\n tag_364:\n /* \"#utility.yul\":6884:6947 */\n swap2\n pop\n /* \"#utility.yul\":6839:6957 */\n pop\n /* \"#utility.yul\":6290:6964 */\n swap3\n pop\n swap3\n pop\n swap3\n jump\t// out\n /* \"#utility.yul\":6970:7077 */\n tag_269:\n /* \"#utility.yul\":7051:7052 */\n 0x04\n /* \"#utility.yul\":7044:7049 */\n dup2\n /* \"#utility.yul\":7041:7053 */\n lt\n /* \"#utility.yul\":7031:7071 */\n tag_366\n jumpi\n /* \"#utility.yul\":7067:7068 */\n 0x00\n /* \"#utility.yul\":7064:7065 */\n dup1\n /* \"#utility.yul\":7057:7069 */\n revert\n /* \"#utility.yul\":7031:7071 */\n tag_366:\n /* \"#utility.yul\":6970:7077 */\n pop\n jump\t// out\n /* \"#utility.yul\":7083:7238 */\n tag_270:\n /* \"#utility.yul\":7137:7142 */\n 0x00\n /* \"#utility.yul\":7175:7181 */\n dup2\n /* \"#utility.yul\":7162:7182 */\n calldataload\n /* \"#utility.yul\":7153:7182 */\n swap1\n pop\n /* \"#utility.yul\":7191:7232 */\n tag_368\n /* \"#utility.yul\":7226:7231 */\n dup2\n /* \"#utility.yul\":7191:7232 */\n tag_269\n jump\t// in\n tag_368:\n /* \"#utility.yul\":7083:7238 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":7244:7589 */\n tag_128:\n /* \"#utility.yul\":7311:7317 */\n 0x00\n /* \"#utility.yul\":7360:7362 */\n 0x20\n /* \"#utility.yul\":7348:7357 */\n dup3\n /* \"#utility.yul\":7339:7346 */\n dup5\n /* \"#utility.yul\":7335:7358 */\n sub\n /* \"#utility.yul\":7331:7363 */\n slt\n /* \"#utility.yul\":7328:7447 */\n iszero\n tag_370\n jumpi\n /* \"#utility.yul\":7366:7445 */\n tag_371\n tag_245\n jump\t// in\n tag_371:\n /* \"#utility.yul\":7328:7447 */\n tag_370:\n /* \"#utility.yul\":7486:7487 */\n 0x00\n /* \"#utility.yul\":7511:7572 */\n tag_372\n /* \"#utility.yul\":7564:7571 */\n dup5\n /* \"#utility.yul\":7555:7561 */\n dup3\n /* \"#utility.yul\":7544:7553 */\n dup6\n /* \"#utility.yul\":7540:7562 */\n add\n /* \"#utility.yul\":7511:7572 */\n tag_270\n jump\t// in\n tag_372:\n /* \"#utility.yul\":7501:7572 */\n swap2\n pop\n /* \"#utility.yul\":7457:7582 */\n pop\n /* \"#utility.yul\":7244:7589 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":7595:7775 */\n tag_192:\n /* \"#utility.yul\":7643:7720 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":7640:7641 */\n 0x00\n /* \"#utility.yul\":7633:7721 */\n mstore\n /* \"#utility.yul\":7740:7744 */\n 0x21\n /* \"#utility.yul\":7737:7738 */\n 0x04\n /* \"#utility.yul\":7730:7745 */\n mstore\n /* \"#utility.yul\":7764:7768 */\n 0x24\n /* \"#utility.yul\":7761:7762 */\n 0x00\n /* \"#utility.yul\":7754:7769 */\n revert\n /* \"#utility.yul\":7781:7894 */\n tag_271:\n /* \"#utility.yul\":7862:7863 */\n 0x04\n /* \"#utility.yul\":7855:7860 */\n dup2\n /* \"#utility.yul\":7852:7864 */\n lt\n /* \"#utility.yul\":7842:7888 */\n tag_375\n jumpi\n /* \"#utility.yul\":7868:7886 */\n tag_376\n tag_192\n jump\t// in\n tag_376:\n /* \"#utility.yul\":7842:7888 */\n tag_375:\n /* \"#utility.yul\":7781:7894 */\n pop\n jump\t// out\n /* \"#utility.yul\":7900:8027 */\n tag_272:\n /* \"#utility.yul\":7945:7952 */\n 0x00\n /* \"#utility.yul\":7974:7979 */\n dup2\n /* \"#utility.yul\":7963:7979 */\n swap1\n pop\n /* \"#utility.yul\":7980:8021 */\n tag_378\n /* \"#utility.yul\":8015:8020 */\n dup3\n /* \"#utility.yul\":7980:8021 */\n tag_271\n jump\t// in\n tag_378:\n /* \"#utility.yul\":7900:8027 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":8033:8160 */\n tag_273:\n /* \"#utility.yul\":8089:8098 */\n 0x00\n /* \"#utility.yul\":8122:8154 */\n tag_380\n /* \"#utility.yul\":8148:8153 */\n dup3\n /* \"#utility.yul\":8122:8154 */\n tag_272\n jump\t// in\n tag_380:\n /* \"#utility.yul\":8109:8154 */\n swap1\n pop\n /* \"#utility.yul\":8033:8160 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":8166:8309 */\n tag_274:\n /* \"#utility.yul\":8259:8302 */\n tag_382\n /* \"#utility.yul\":8296:8301 */\n dup2\n /* \"#utility.yul\":8259:8302 */\n tag_273\n jump\t// in\n tag_382:\n /* \"#utility.yul\":8254:8257 */\n dup3\n /* \"#utility.yul\":8247:8303 */\n mstore\n /* \"#utility.yul\":8166:8309 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":8315:8549 */\n tag_141:\n /* \"#utility.yul\":8414:8418 */\n 0x00\n /* \"#utility.yul\":8452:8454 */\n 0x20\n /* \"#utility.yul\":8441:8450 */\n dup3\n /* \"#utility.yul\":8437:8455 */\n add\n /* \"#utility.yul\":8429:8455 */\n swap1\n pop\n /* \"#utility.yul\":8465:8542 */\n tag_384\n /* \"#utility.yul\":8539:8540 */\n 0x00\n /* \"#utility.yul\":8528:8537 */\n dup4\n /* \"#utility.yul\":8524:8541 */\n add\n /* \"#utility.yul\":8515:8521 */\n dup5\n /* \"#utility.yul\":8465:8542 */\n tag_274\n jump\t// in\n tag_384:\n /* \"#utility.yul\":8315:8549 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":8555:8735 */\n tag_275:\n /* \"#utility.yul\":8603:8680 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":8600:8601 */\n 0x00\n /* \"#utility.yul\":8593:8681 */\n mstore\n /* \"#utility.yul\":8700:8704 */\n 0x11\n /* \"#utility.yul\":8697:8698 */\n 0x04\n /* \"#utility.yul\":8690:8705 */\n mstore\n /* \"#utility.yul\":8724:8728 */\n 0x24\n /* \"#utility.yul\":8721:8722 */\n 0x00\n /* \"#utility.yul\":8714:8729 */\n revert\n /* \"#utility.yul\":8741:9046 */\n tag_177:\n /* \"#utility.yul\":8781:8784 */\n 0x00\n /* \"#utility.yul\":8800:8820 */\n tag_387\n /* \"#utility.yul\":8818:8819 */\n dup3\n /* \"#utility.yul\":8800:8820 */\n tag_242\n jump\t// in\n tag_387:\n /* \"#utility.yul\":8795:8820 */\n swap2\n pop\n /* \"#utility.yul\":8834:8854 */\n tag_388\n /* \"#utility.yul\":8852:8853 */\n dup4\n /* \"#utility.yul\":8834:8854 */\n tag_242\n jump\t// in\n tag_388:\n /* \"#utility.yul\":8829:8854 */\n swap3\n pop\n /* \"#utility.yul\":8988:8989 */\n dup3\n /* \"#utility.yul\":8920:8986 */\n 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment