Skip to content

Instantly share code, notes, and snippets.

@neelsalunke
Created July 6, 2022 07:59
Show Gist options
  • Save neelsalunke/cb203e08f6cf54a37f87991b3f5f1f55 to your computer and use it in GitHub Desktop.
Save neelsalunke/cb203e08f6cf54a37f87991b3f5f1f55 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=
This gist exceeds the recommended number of files (~10). To access all files, please clone this gist.
REMIX DEFAULT WORKSPACE
Remix default workspace is present when:
i. Remix loads for the very first time
ii. A new workspace is created
iii. There are no files existing in the File Explorer
This workspace contains 3 directories:
1. 'contracts': Holds three contracts with different complexity level, denoted with number prefix in file name.
2. 'scripts': Holds two scripts to deploy a contract. It is explained below.
3. 'tests': Contains one Solidity test file for 'Ballot' contract & one JS test file for 'Storage' contract
SCRIPTS
The 'scripts' folder contains two example async/await scripts for deploying the 'Storage' contract.
For the deployment of any other contract, 'contractName' and 'constructorArgs' should be updated (along with other code if required).
Also, there is a script containing some unit tests for Storage contract inside tests directory.
To run a script, right click on file name in the file explorer and click 'Run'. Remember, Solidity file must already be compiled.
Output from script will appear in remix terminal.
Please note, 'require' statement is supported in a limited manner for Remix supported modules.
For now, modules supported by Remix are ethers, web3, swarmgw, chai, remix and hardhat only for hardhat.ethers object/plugin.
For unsupported modules, an error like this will be thrown: '<module_name> module require is not supported by Remix IDE will be shown.'
{
"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
},
"görli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"generatedSources": [],
"linkReferences": {},
"object": "60806040526040518060800160405280600a60ff168152602001601460ff168152602001601e60ff168152602001602860ff168152506000906004610045929190610058565b5034801561005257600080fd5b506100ba565b826004810192821561008c579160200282015b8281111561008b578251829060ff1690559160200191906001019061006b565b5b509050610099919061009d565b5090565b5b808211156100b657600081600090555060010161009e565b5090565b610213806100c96000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80631f7b6d321461004657806371e5ee5f14610064578063f43f523a14610094575b600080fd5b61004e6100b0565b60405161005b91906101a1565b60405180910390f35b61007e6004803603810190610079919061012d565b6100b9565b60405161008b91906101a1565b60405180910390f35b6100ae60048036038101906100a99190610156565b6100d4565b005b60006004905090565b600081600481106100c957600080fd5b016000915090505481565b806000836004811061010f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b01819055505050565b600081359050610127816101c6565b92915050565b60006020828403121561013f57600080fd5b600061014d84828501610118565b91505092915050565b6000806040838503121561016957600080fd5b600061017785828601610118565b925050602061018885828601610118565b9150509250929050565b61019b816101bc565b82525050565b60006020820190506101b66000830184610192565b92915050565b6000819050919050565b6101cf816101bc565b81146101da57600080fd5b5056fea264697066735822122056ab6cab14523c18e65f8a4e0bc42eabb41c7274a3f066450075f783eae14db264736f6c63430008000033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xA PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x14 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1E PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x28 PUSH1 0xFF AND DUP2 MSTORE POP PUSH1 0x0 SWAP1 PUSH1 0x4 PUSH2 0x45 SWAP3 SWAP2 SWAP1 PUSH2 0x58 JUMP JUMPDEST POP CALLVALUE DUP1 ISZERO PUSH2 0x52 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBA JUMP JUMPDEST DUP3 PUSH1 0x4 DUP2 ADD SWAP3 DUP3 ISZERO PUSH2 0x8C JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x8B JUMPI DUP3 MLOAD DUP3 SWAP1 PUSH1 0xFF AND SWAP1 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x6B JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x99 SWAP2 SWAP1 PUSH2 0x9D JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0xB6 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x9E JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH2 0x213 DUP1 PUSH2 0xC9 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 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1F7B6D32 EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x71E5EE5F EQ PUSH2 0x64 JUMPI DUP1 PUSH4 0xF43F523A EQ PUSH2 0x94 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0xB0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x1A1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x7E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x79 SWAP2 SWAP1 PUSH2 0x12D JUMP JUMPDEST PUSH2 0xB9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8B SWAP2 SWAP1 PUSH2 0x1A1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xAE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xA9 SWAP2 SWAP1 PUSH2 0x156 JUMP JUMPDEST PUSH2 0xD4 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH1 0x4 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x4 DUP2 LT PUSH2 0xC9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST ADD PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP4 PUSH1 0x4 DUP2 LT PUSH2 0x10F JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADD DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x127 DUP2 PUSH2 0x1C6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x13F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x14D DUP5 DUP3 DUP6 ADD PUSH2 0x118 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x169 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x177 DUP6 DUP3 DUP7 ADD PUSH2 0x118 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x188 DUP6 DUP3 DUP7 ADD PUSH2 0x118 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x19B DUP2 PUSH2 0x1BC JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1B6 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x192 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1CF DUP2 PUSH2 0x1BC JUMP JUMPDEST DUP2 EQ PUSH2 0x1DA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 JUMP 0xAB PUSH13 0xAB14523C18E65F8A4E0BC42EAB 0xB4 SHR PUSH19 0x74A3F066450075F783EAE14DB264736F6C6343 STOP ADDMOD STOP STOP CALLER ",
"sourceMap": "28:237:0:-:0;;;51:34;;;;;;;;73:2;51:34;;;;;;76:2;51:34;;;;;;79:2;51:34;;;;;;82:2;51:34;;;;;;;;;;;;;:::i;:::-;;28:237;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;"
},
"deployedBytecode": {
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1393:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "59:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "69:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "91:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "78:12:1"
},
"nodeType": "YulFunctionCall",
"src": "78:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "69:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "134:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "107:26:1"
},
"nodeType": "YulFunctionCall",
"src": "107:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "107:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "37:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "45:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "53:5:1",
"type": ""
}
],
"src": "7:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "218:196:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "264:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "273:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "276:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "266:6:1"
},
"nodeType": "YulFunctionCall",
"src": "266:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "266:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "239:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "248:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "235:3:1"
},
"nodeType": "YulFunctionCall",
"src": "235:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "260:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "231:3:1"
},
"nodeType": "YulFunctionCall",
"src": "231:32:1"
},
"nodeType": "YulIf",
"src": "228:2:1"
},
{
"nodeType": "YulBlock",
"src": "290:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "305:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "319:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "309:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "334:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "369:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "380:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "365:3:1"
},
"nodeType": "YulFunctionCall",
"src": "365:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "344:20:1"
},
"nodeType": "YulFunctionCall",
"src": "344:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "334:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "188:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "199:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "211:6:1",
"type": ""
}
],
"src": "152:262:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "503:324:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "549:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "558:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "561:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "551:6:1"
},
"nodeType": "YulFunctionCall",
"src": "551:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "551:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "524:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "533:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "520:3:1"
},
"nodeType": "YulFunctionCall",
"src": "520:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "545:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "516:3:1"
},
"nodeType": "YulFunctionCall",
"src": "516:32:1"
},
"nodeType": "YulIf",
"src": "513:2:1"
},
{
"nodeType": "YulBlock",
"src": "575:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "590:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "604:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "594:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "619:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "654:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "665:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "650:3:1"
},
"nodeType": "YulFunctionCall",
"src": "650:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "674:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "629:20:1"
},
"nodeType": "YulFunctionCall",
"src": "629:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "619:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "702:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "717:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "731:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "721:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "747:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "782:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "793:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "778:3:1"
},
"nodeType": "YulFunctionCall",
"src": "778:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "802:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "757:20:1"
},
"nodeType": "YulFunctionCall",
"src": "757:53:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "747:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "465:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "476:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "488:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "496:6:1",
"type": ""
}
],
"src": "420:407:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "898:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "915:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "938:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "920:17:1"
},
"nodeType": "YulFunctionCall",
"src": "920:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "908:6:1"
},
"nodeType": "YulFunctionCall",
"src": "908:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "908:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "886:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "893:3:1",
"type": ""
}
],
"src": "833:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1055:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1065:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1077:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1088:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1073:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1073:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1065:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1145:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1158:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1169:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1154:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1154:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "1101:43:1"
},
"nodeType": "YulFunctionCall",
"src": "1101:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "1101:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1027:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1039:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1050:4:1",
"type": ""
}
],
"src": "957:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1230:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1240:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1251:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1240:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1212:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1222:7:1",
"type": ""
}
],
"src": "1185:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1311:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1368:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1377:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1380:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1370:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1370:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1370:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1334:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1359:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1341:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1341:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1331:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1331:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1324:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1324:43:1"
},
"nodeType": "YulIf",
"src": "1321:2:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1304:5:1",
"type": ""
}
],
"src": "1268:122:1"
}
]
},
"contents": "{\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(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\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_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}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100415760003560e01c80631f7b6d321461004657806371e5ee5f14610064578063f43f523a14610094575b600080fd5b61004e6100b0565b60405161005b91906101a1565b60405180910390f35b61007e6004803603810190610079919061012d565b6100b9565b60405161008b91906101a1565b60405180910390f35b6100ae60048036038101906100a99190610156565b6100d4565b005b60006004905090565b600081600481106100c957600080fd5b016000915090505481565b806000836004811061010f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b01819055505050565b600081359050610127816101c6565b92915050565b60006020828403121561013f57600080fd5b600061014d84828501610118565b91505092915050565b6000806040838503121561016957600080fd5b600061017785828601610118565b925050602061018885828601610118565b9150509250929050565b61019b816101bc565b82525050565b60006020820190506101b66000830184610192565b92915050565b6000819050919050565b6101cf816101bc565b81146101da57600080fd5b5056fea264697066735822122056ab6cab14523c18e65f8a4e0bc42eabb41c7274a3f066450075f783eae14db264736f6c63430008000033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1F7B6D32 EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x71E5EE5F EQ PUSH2 0x64 JUMPI DUP1 PUSH4 0xF43F523A EQ PUSH2 0x94 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0xB0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x1A1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x7E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x79 SWAP2 SWAP1 PUSH2 0x12D JUMP JUMPDEST PUSH2 0xB9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8B SWAP2 SWAP1 PUSH2 0x1A1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xAE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xA9 SWAP2 SWAP1 PUSH2 0x156 JUMP JUMPDEST PUSH2 0xD4 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH1 0x4 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x4 DUP2 LT PUSH2 0xC9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST ADD PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP4 PUSH1 0x4 DUP2 LT PUSH2 0x10F JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADD DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x127 DUP2 PUSH2 0x1C6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x13F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x14D DUP5 DUP3 DUP6 ADD PUSH2 0x118 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x169 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x177 DUP6 DUP3 DUP7 ADD PUSH2 0x118 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x188 DUP6 DUP3 DUP7 ADD PUSH2 0x118 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x19B DUP2 PUSH2 0x1BC JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1B6 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x192 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1CF DUP2 PUSH2 0x1BC JUMP JUMPDEST DUP2 EQ PUSH2 0x1DA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 JUMP 0xAB PUSH13 0xAB14523C18E65F8A4E0BC42EAB 0xB4 SHR PUSH19 0x74A3F066450075F783EAE14DB264736F6C6343 STOP ADDMOD STOP STOP CALLER ",
"sourceMap": "28:237:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;183:79;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;51:34;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;94:81;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;183:79;221:4;244:10;237:17;;183:79;:::o;51:34::-;;;;;;;;;;;;;;;;;;;;:::o;94:81::-;162:5;149:3;153:5;149:10;;;;;;;;;;;;;;;;:18;;;;94:81;;:::o;7:139:1:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:262::-;;260:2;248:9;239:7;235:23;231:32;228:2;;;276:1;273;266:12;228:2;319:1;344:53;389:7;380:6;369:9;365:22;344:53;:::i;:::-;334:63;;290:117;218:196;;;;:::o;420:407::-;;;545:2;533:9;524:7;520:23;516:32;513:2;;;561:1;558;551:12;513:2;604:1;629:53;674:7;665:6;654:9;650:22;629:53;:::i;:::-;619:63;;575:117;731:2;757:53;802:7;793:6;782:9;778:22;757:53;:::i;:::-;747:63;;702:118;503:324;;;;;:::o;833:118::-;920:24;938:5;920:24;:::i;:::-;915:3;908:37;898:53;;:::o;957:222::-;;1088:2;1077:9;1073:18;1065:26;;1101:71;1169:1;1158:9;1154:17;1145:6;1101:71;:::i;:::-;1055:124;;;;:::o;1185:77::-;;1251:5;1240:16;;1230:32;;;:::o;1268:122::-;1341:24;1359:5;1341:24;:::i;:::-;1334:5;1331:35;1321:2;;1380:1;1377;1370:12;1321:2;1311:79;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "106200",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"arr(uint256)": "infinite",
"length()": "315",
"mod(uint256,uint256)": "infinite"
}
},
"methodIdentifiers": {
"arr(uint256)": "71e5ee5f",
"length()": "1f7b6d32",
"mod(uint256,uint256)": "f43f523a"
}
},
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "arr",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "length",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "index",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "mod",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.0+commit.c7dfd78e"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "arr",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "length",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "index",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "mod",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"array/fixed.sol": "array"
},
"evmVersion": "istanbul",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"array/fixed.sol": {
"keccak256": "0x005b52777bb05c9c76db9e7d9cf6c5f6d5c92bb6e2358a9aa40f9e3396cdbfec",
"urls": [
"bzz-raw://772251cc5fae18376371764fe3aae4d2075346c3b0725b65c98e7ede3f427d57",
"dweb:/ipfs/QmdqoAUNPPakeuiufnMV7eUye7KveCFPfS9k9u44b3KnwA"
]
}
},
"version": 1
}
{
"id": "004b3fa9a855072ced098c7d9121645c",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.0",
"solcLongVersion": "0.8.0+commit.c7dfd78e",
"input": {
"language": "Solidity",
"sources": {
"array/bytes_dynamic.sol": {
"content": "pragma solidity 0.8.0;\r\n\r\ncontract bytesDynamic\r\n{\r\n bytes public b1 = \"abc\";\r\n bytes public b3; \r\n\r\n function pushElement(string memory a) public{\r\n b1.push();\r\n }\r\n\r\n function getElement(uint i) public view returns(bytes1){\r\n return b1[i];\r\n }\r\n\r\n function getLength() public view returns(uint){\r\n return b1.length;\r\n }\r\n\r\n function popElement() public {\r\n b1.pop();\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": {
"array/bytes_dynamic.sol": {
"bytesDynamic": {
"abi": [
{
"inputs": [],
"name": "b1",
"outputs": [
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "b3",
"outputs": [
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "i",
"type": "uint256"
}
],
"name": "getElement",
"outputs": [
{
"internalType": "bytes1",
"name": "",
"type": "bytes1"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getLength",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "popElement",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "a",
"type": "string"
}
],
"name": "pushElement",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"array/bytes_dynamic.sol\":26:433 contract bytesDynamic\r... */\n mstore(0x40, 0x80)\n /* \"array/bytes_dynamic.sol\":56:79 bytes public b1 = \"abc\" */\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x03\n dup2\n mstore\n 0x20\n add\n 0x6162630000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n 0x00\n swap1\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n tag_1\n swap3\n swap2\n swap1\n tag_2\n jump\t// in\ntag_1:\n pop\n /* \"array/bytes_dynamic.sol\":26:433 contract bytesDynamic\r... */\n callvalue\n dup1\n iszero\n tag_3\n jumpi\n 0x00\n dup1\n revert\ntag_3:\n pop\n jump(tag_4)\ntag_2:\n dup3\n dup1\n sload\n tag_5\n swap1\n tag_6\n jump\t// in\ntag_5:\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n 0x1f\n add\n 0x20\n swap1\n div\n dup2\n add\n swap3\n dup3\n tag_8\n jumpi\n 0x00\n dup6\n sstore\n jump(tag_7)\ntag_8:\n dup3\n 0x1f\n lt\n tag_9\n jumpi\n dup1\n mload\n not(0xff)\n and\n dup4\n dup1\n add\n or\n dup6\n sstore\n jump(tag_7)\ntag_9:\n dup3\n dup1\n add\n 0x01\n add\n dup6\n sstore\n dup3\n iszero\n tag_7\n jumpi\n swap2\n dup3\n add\ntag_10:\n dup3\n dup2\n gt\n iszero\n tag_11\n jumpi\n dup3\n mload\n dup3\n sstore\n swap2\n 0x20\n add\n swap2\n swap1\n 0x01\n add\n swap1\n jump(tag_10)\ntag_11:\ntag_7:\n pop\n swap1\n pop\n tag_12\n swap2\n swap1\n tag_13\n jump\t// in\ntag_12:\n pop\n swap1\n jump\t// out\ntag_13:\ntag_14:\n dup1\n dup3\n gt\n iszero\n tag_15\n jumpi\n 0x00\n dup2\n 0x00\n swap1\n sstore\n pop\n 0x01\n add\n jump(tag_14)\ntag_15:\n pop\n swap1\n jump\t// out\n /* \"#utility.yul\":7:327 */\ntag_6:\n 0x00\n /* \"#utility.yul\":88:89 */\n 0x02\n /* \"#utility.yul\":82:86 */\n dup3\n /* \"#utility.yul\":78:90 */\n div\n /* \"#utility.yul\":68:90 */\n swap1\n pop\n /* \"#utility.yul\":135:136 */\n 0x01\n /* \"#utility.yul\":129:133 */\n dup3\n /* \"#utility.yul\":125:137 */\n and\n /* \"#utility.yul\":156:174 */\n dup1\n /* \"#utility.yul\":146:148 */\n tag_18\n jumpi\n /* \"#utility.yul\":212:216 */\n 0x7f\n /* \"#utility.yul\":204:210 */\n dup3\n /* \"#utility.yul\":200:217 */\n and\n /* \"#utility.yul\":190:217 */\n swap2\n pop\n /* \"#utility.yul\":146:148 */\ntag_18:\n /* \"#utility.yul\":274:276 */\n 0x20\n /* \"#utility.yul\":266:272 */\n dup3\n /* \"#utility.yul\":263:277 */\n lt\n /* \"#utility.yul\":243:261 */\n dup2\n /* \"#utility.yul\":240:278 */\n eq\n /* \"#utility.yul\":237:239 */\n iszero\n tag_19\n jumpi\n /* \"#utility.yul\":293:311 */\n tag_20\n tag_21\n jump\t// in\ntag_20:\n /* \"#utility.yul\":237:239 */\ntag_19:\n /* \"#utility.yul\":58:327 */\n pop\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":333:513 */\ntag_21:\n /* \"#utility.yul\":381:458 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":378:379 */\n 0x00\n /* \"#utility.yul\":371:459 */\n mstore\n /* \"#utility.yul\":478:482 */\n 0x22\n /* \"#utility.yul\":475:476 */\n 0x04\n /* \"#utility.yul\":468:483 */\n mstore\n /* \"#utility.yul\":502:506 */\n 0x24\n /* \"#utility.yul\":499:500 */\n 0x00\n /* \"#utility.yul\":492:507 */\n revert\n /* \"array/bytes_dynamic.sol\":26:433 contract bytesDynamic\r... */\ntag_4:\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"array/bytes_dynamic.sol\":26:433 contract bytesDynamic\r... */\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 0x3a7d22bc\n eq\n tag_3\n jumpi\n dup1\n 0x939dcbf6\n eq\n tag_4\n jumpi\n dup1\n 0x9a6fcbdd\n eq\n tag_5\n jumpi\n dup1\n 0xbe1c766b\n eq\n tag_6\n jumpi\n dup1\n 0xe9b61909\n eq\n tag_7\n jumpi\n dup1\n 0xee495002\n eq\n tag_8\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"array/bytes_dynamic.sol\":191:277 function getElement(uint i) public view returns(bytes1){\r... */\n tag_3:\n tag_9\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_10\n swap2\n swap1\n tag_11\n jump\t// in\n tag_10:\n tag_12\n jump\t// in\n tag_9:\n mload(0x40)\n tag_13\n swap2\n swap1\n tag_14\n jump\t// in\n tag_13:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"array/bytes_dynamic.sol\":111:183 function pushElement(string memory a) public{\r... */\n tag_4:\n tag_15\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_16\n swap2\n swap1\n tag_17\n jump\t// in\n tag_16:\n tag_18\n jump\t// in\n tag_15:\n stop\n /* \"array/bytes_dynamic.sol\":374:430 function popElement() public {\r... */\n tag_5:\n tag_19\n tag_20\n jump\t// in\n tag_19:\n stop\n /* \"array/bytes_dynamic.sol\":285:366 function getLength() public view returns(uint){\r... */\n tag_6:\n tag_21\n tag_22\n jump\t// in\n tag_21:\n mload(0x40)\n tag_23\n swap2\n swap1\n tag_24\n jump\t// in\n tag_23:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"array/bytes_dynamic.sol\":86:101 bytes public b3 */\n tag_7:\n tag_25\n tag_26\n jump\t// in\n tag_25:\n mload(0x40)\n tag_27\n swap2\n swap1\n tag_28\n jump\t// in\n tag_27:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"array/bytes_dynamic.sol\":56:79 bytes public b1 = \"abc\" */\n tag_8:\n tag_29\n tag_30\n jump\t// in\n tag_29:\n mload(0x40)\n tag_31\n swap2\n swap1\n tag_28\n jump\t// in\n tag_31:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"array/bytes_dynamic.sol\":191:277 function getElement(uint i) public view returns(bytes1){\r... */\n tag_12:\n /* \"array/bytes_dynamic.sol\":239:245 bytes1 */\n 0x00\n /* \"array/bytes_dynamic.sol\":264:266 b1 */\n dup1\n /* \"array/bytes_dynamic.sol\":267:268 i */\n dup3\n /* \"array/bytes_dynamic.sol\":264:269 b1[i] */\n dup2\n sload\n tag_33\n swap1\n tag_34\n jump\t// in\n tag_33:\n dup2\n lt\n tag_35\n jumpi\n mstore(0x00, 0x4e487b7100000000000000000000000000000000000000000000000000000000)\n mstore(0x04, 0x32)\n revert(0x00, 0x24)\n tag_35:\n dup2\n sload\n 0x01\n and\n iszero\n tag_36\n jumpi\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n 0x20\n swap2\n dup3\n dup3\n div\n add\n swap2\n swap1\n mod\n tag_36:\n swap1\n sload\n swap1\n byte\n 0x0100000000000000000000000000000000000000000000000000000000000000\n mul\n /* \"array/bytes_dynamic.sol\":257:269 return b1[i] */\n swap1\n pop\n /* \"array/bytes_dynamic.sol\":191:277 function getElement(uint i) public view returns(bytes1){\r... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"array/bytes_dynamic.sol\":111:183 function pushElement(string memory a) public{\r... */\n tag_18:\n /* \"array/bytes_dynamic.sol\":166:168 b1 */\n 0x00\n /* \"array/bytes_dynamic.sol\":166:175 b1.push() */\n 0x01\n dup2\n dup1\n sload\n dup1\n tag_38\n swap1\n tag_34\n jump\t// in\n tag_38:\n dup1\n 0x1f\n dup2\n eq\n tag_40\n jumpi\n jump(tag_39)\n tag_40:\n dup4\n 0x00\n mstore\n keccak256(0x00, 0x20)\n not(0xff)\n dup5\n and\n dup2\n sstore\n 0x3f\n swap4\n pop\n pop\n tag_39:\n pop\n 0x02\n dup3\n add\n dup4\n sstore\n 0x01\n dup2\n add\n swap3\n pop\n pop\n pop\n sub\n dup2\n sload\n 0x01\n and\n iszero\n tag_41\n jumpi\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n 0x20\n swap2\n dup3\n dup3\n div\n add\n swap2\n swap1\n mod\n tag_41:\n swap1\n sload\n swap1\n pop\n pop\n /* \"array/bytes_dynamic.sol\":111:183 function pushElement(string memory a) public{\r... */\n pop\n jump\t// out\n /* \"array/bytes_dynamic.sol\":374:430 function popElement() public {\r... */\n tag_20:\n /* \"array/bytes_dynamic.sol\":414:416 b1 */\n 0x00\n /* \"array/bytes_dynamic.sol\":414:422 b1.pop() */\n dup1\n sload\n dup1\n tag_43\n swap1\n tag_34\n jump\t// in\n tag_43:\n dup1\n tag_44\n jumpi\n mstore(0x00, 0x4e487b7100000000000000000000000000000000000000000000000000000000)\n mstore(0x04, 0x31)\n revert(0x00, 0x24)\n tag_44:\n 0x1f\n dup2\n gt\n 0x00\n dup2\n eq\n tag_46\n jumpi\n 0x01\n dup2\n eq\n tag_47\n jumpi\n jump(tag_45)\n tag_46:\n 0x01\n dup3\n 0x21\n sub\n 0x0100\n exp\n sub\n 0x01\n dup4\n sub\n swap3\n pop\n 0x02\n dup4\n mul\n dup5\n dup3\n not\n and\n or\n swap4\n pop\n pop\n jump(tag_45)\n tag_47:\n dup4\n 0x00\n mstore\n keccak256(0x00, 0x20)\n dup3\n 0x20\n dup2\n eq\n tag_49\n jumpi\n 0x1f\n 0x01\n dup6\n sub\n and\n 0x20\n 0x01\n dup7\n sub\n div\n dup4\n add\n swap3\n pop\n dup3\n sload\n 0x01\n dup3\n 0x20\n sub\n 0x0100\n exp\n sub\n dup2\n dup2\n not\n and\n swap2\n pop\n dup2\n dup6\n sstore\n 0x02\n dup9\n sub\n swap8\n pop\n pop\n pop\n pop\n jump(tag_48)\n tag_49:\n dup2\n sload\n 0x00\n dup4\n sstore\n not(0xff)\n dup2\n and\n swap1\n pop\n 0x3e\n dup2\n or\n swap6\n pop\n pop\n tag_48:\n pop\n pop\n tag_45:\n pop\n dup2\n dup4\n sstore\n pop\n pop\n pop\n /* \"array/bytes_dynamic.sol\":374:430 function popElement() public {\r... */\n jump\t// out\n /* \"array/bytes_dynamic.sol\":285:366 function getLength() public view returns(uint){\r... */\n tag_22:\n /* \"array/bytes_dynamic.sol\":326:330 uint */\n 0x00\n /* \"array/bytes_dynamic.sol\":349:351 b1 */\n dup1\n /* \"array/bytes_dynamic.sol\":349:358 b1.length */\n dup1\n sload\n tag_51\n swap1\n tag_34\n jump\t// in\n tag_51:\n swap1\n pop\n /* \"array/bytes_dynamic.sol\":342:358 return b1.length */\n swap1\n pop\n /* \"array/bytes_dynamic.sol\":285:366 function getLength() public view returns(uint){\r... */\n swap1\n jump\t// out\n /* \"array/bytes_dynamic.sol\":86:101 bytes public b3 */\n tag_26:\n 0x01\n dup1\n sload\n tag_52\n swap1\n tag_34\n jump\t// in\n tag_52:\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 swap3\n swap2\n swap1\n dup2\n dup2\n mstore\n 0x20\n add\n dup3\n dup1\n sload\n tag_53\n swap1\n tag_34\n jump\t// in\n tag_53:\n dup1\n iszero\n tag_54\n jumpi\n dup1\n 0x1f\n lt\n tag_55\n jumpi\n 0x0100\n dup1\n dup4\n sload\n div\n mul\n dup4\n mstore\n swap2\n 0x20\n add\n swap2\n jump(tag_54)\n tag_55:\n dup3\n add\n swap2\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n tag_56:\n dup2\n sload\n dup2\n mstore\n swap1\n 0x01\n add\n swap1\n 0x20\n add\n dup1\n dup4\n gt\n tag_56\n jumpi\n dup3\n swap1\n sub\n 0x1f\n and\n dup3\n add\n swap2\n tag_54:\n pop\n pop\n pop\n pop\n pop\n dup2\n jump\t// out\n /* \"array/bytes_dynamic.sol\":56:79 bytes public b1 = \"abc\" */\n tag_30:\n 0x00\n dup1\n sload\n tag_57\n swap1\n tag_34\n jump\t// in\n tag_57:\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 swap3\n swap2\n swap1\n dup2\n dup2\n mstore\n 0x20\n add\n dup3\n dup1\n sload\n tag_58\n swap1\n tag_34\n jump\t// in\n tag_58:\n dup1\n iszero\n tag_59\n jumpi\n dup1\n 0x1f\n lt\n tag_60\n jumpi\n 0x0100\n dup1\n dup4\n sload\n div\n mul\n dup4\n mstore\n swap2\n 0x20\n add\n swap2\n jump(tag_59)\n tag_60:\n dup3\n add\n swap2\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n tag_61:\n dup2\n sload\n dup2\n mstore\n swap1\n 0x01\n add\n swap1\n 0x20\n add\n dup1\n dup4\n gt\n tag_61\n jumpi\n dup3\n swap1\n sub\n 0x1f\n and\n dup3\n add\n swap2\n tag_59:\n pop\n pop\n pop\n pop\n pop\n dup2\n jump\t// out\n /* \"#utility.yul\":7:351 */\n tag_63:\n 0x00\n /* \"#utility.yul\":110:175 */\n tag_65\n /* \"#utility.yul\":125:174 */\n tag_66\n /* \"#utility.yul\":167:173 */\n dup5\n /* \"#utility.yul\":125:174 */\n tag_67\n jump\t// in\n tag_66:\n /* \"#utility.yul\":110:175 */\n tag_68\n jump\t// in\n tag_65:\n /* \"#utility.yul\":101:175 */\n swap1\n pop\n /* \"#utility.yul\":198:204 */\n dup3\n /* \"#utility.yul\":191:196 */\n dup2\n /* \"#utility.yul\":184:205 */\n mstore\n /* \"#utility.yul\":236:240 */\n 0x20\n /* \"#utility.yul\":229:234 */\n dup2\n /* \"#utility.yul\":225:241 */\n add\n /* \"#utility.yul\":274:277 */\n dup5\n /* \"#utility.yul\":265:271 */\n dup5\n /* \"#utility.yul\":260:263 */\n dup5\n /* \"#utility.yul\":256:272 */\n add\n /* \"#utility.yul\":253:278 */\n gt\n /* \"#utility.yul\":250:252 */\n iszero\n tag_69\n jumpi\n /* \"#utility.yul\":291:292 */\n 0x00\n /* \"#utility.yul\":288:289 */\n dup1\n /* \"#utility.yul\":281:293 */\n revert\n /* \"#utility.yul\":250:252 */\n tag_69:\n /* \"#utility.yul\":304:345 */\n tag_70\n /* \"#utility.yul\":338:344 */\n dup5\n /* \"#utility.yul\":333:336 */\n dup3\n /* \"#utility.yul\":328:331 */\n dup6\n /* \"#utility.yul\":304:345 */\n tag_71\n jump\t// in\n tag_70:\n /* \"#utility.yul\":91:351 */\n pop\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":371:644 */\n tag_72:\n 0x00\n /* \"#utility.yul\":476:479 */\n dup3\n /* \"#utility.yul\":469:473 */\n 0x1f\n /* \"#utility.yul\":461:467 */\n dup4\n /* \"#utility.yul\":457:474 */\n add\n /* \"#utility.yul\":453:480 */\n slt\n /* \"#utility.yul\":443:445 */\n tag_74\n jumpi\n /* \"#utility.yul\":494:495 */\n 0x00\n /* \"#utility.yul\":491:492 */\n dup1\n /* \"#utility.yul\":484:496 */\n revert\n /* \"#utility.yul\":443:445 */\n tag_74:\n /* \"#utility.yul\":534:540 */\n dup2\n /* \"#utility.yul\":521:541 */\n calldataload\n /* \"#utility.yul\":559:638 */\n tag_75\n /* \"#utility.yul\":634:637 */\n dup5\n /* \"#utility.yul\":626:632 */\n dup3\n /* \"#utility.yul\":619:623 */\n 0x20\n /* \"#utility.yul\":611:617 */\n dup7\n /* \"#utility.yul\":607:624 */\n add\n /* \"#utility.yul\":559:638 */\n tag_63\n jump\t// in\n tag_75:\n /* \"#utility.yul\":550:638 */\n swap2\n pop\n /* \"#utility.yul\":433:644 */\n pop\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":650:789 */\n tag_76:\n 0x00\n /* \"#utility.yul\":734:740 */\n dup2\n /* \"#utility.yul\":721:741 */\n calldataload\n /* \"#utility.yul\":712:741 */\n swap1\n pop\n /* \"#utility.yul\":750:783 */\n tag_78\n /* \"#utility.yul\":777:782 */\n dup2\n /* \"#utility.yul\":750:783 */\n tag_79\n jump\t// in\n tag_78:\n /* \"#utility.yul\":702:789 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":795:1170 */\n tag_17:\n 0x00\n /* \"#utility.yul\":913:915 */\n 0x20\n /* \"#utility.yul\":901:910 */\n dup3\n /* \"#utility.yul\":892:899 */\n dup5\n /* \"#utility.yul\":888:911 */\n sub\n /* \"#utility.yul\":884:916 */\n slt\n /* \"#utility.yul\":881:883 */\n iszero\n tag_81\n jumpi\n /* \"#utility.yul\":929:930 */\n 0x00\n /* \"#utility.yul\":926:927 */\n dup1\n /* \"#utility.yul\":919:931 */\n revert\n /* \"#utility.yul\":881:883 */\n tag_81:\n /* \"#utility.yul\":1000:1001 */\n 0x00\n /* \"#utility.yul\":989:998 */\n dup3\n /* \"#utility.yul\":985:1002 */\n add\n /* \"#utility.yul\":972:1003 */\n calldataload\n /* \"#utility.yul\":1030:1048 */\n 0xffffffffffffffff\n /* \"#utility.yul\":1022:1028 */\n dup2\n /* \"#utility.yul\":1019:1049 */\n gt\n /* \"#utility.yul\":1016:1018 */\n iszero\n tag_82\n jumpi\n /* \"#utility.yul\":1062:1063 */\n 0x00\n /* \"#utility.yul\":1059:1060 */\n dup1\n /* \"#utility.yul\":1052:1064 */\n revert\n /* \"#utility.yul\":1016:1018 */\n tag_82:\n /* \"#utility.yul\":1090:1153 */\n tag_83\n /* \"#utility.yul\":1145:1152 */\n dup5\n /* \"#utility.yul\":1136:1142 */\n dup3\n /* \"#utility.yul\":1125:1134 */\n dup6\n /* \"#utility.yul\":1121:1143 */\n add\n /* \"#utility.yul\":1090:1153 */\n tag_72\n jump\t// in\n tag_83:\n /* \"#utility.yul\":1080:1153 */\n swap2\n pop\n /* \"#utility.yul\":943:1163 */\n pop\n /* \"#utility.yul\":871:1170 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1176:1438 */\n tag_11:\n 0x00\n /* \"#utility.yul\":1284:1286 */\n 0x20\n /* \"#utility.yul\":1272:1281 */\n dup3\n /* \"#utility.yul\":1263:1270 */\n dup5\n /* \"#utility.yul\":1259:1282 */\n sub\n /* \"#utility.yul\":1255:1287 */\n slt\n /* \"#utility.yul\":1252:1254 */\n iszero\n tag_85\n jumpi\n /* \"#utility.yul\":1300:1301 */\n 0x00\n /* \"#utility.yul\":1297:1298 */\n dup1\n /* \"#utility.yul\":1290:1302 */\n revert\n /* \"#utility.yul\":1252:1254 */\n tag_85:\n /* \"#utility.yul\":1343:1344 */\n 0x00\n /* \"#utility.yul\":1368:1421 */\n tag_86\n /* \"#utility.yul\":1413:1420 */\n dup5\n /* \"#utility.yul\":1404:1410 */\n dup3\n /* \"#utility.yul\":1393:1402 */\n dup6\n /* \"#utility.yul\":1389:1411 */\n add\n /* \"#utility.yul\":1368:1421 */\n tag_76\n jump\t// in\n tag_86:\n /* \"#utility.yul\":1358:1421 */\n swap2\n pop\n /* \"#utility.yul\":1314:1431 */\n pop\n /* \"#utility.yul\":1242:1438 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1444:1559 */\n tag_87:\n /* \"#utility.yul\":1529:1552 */\n tag_89\n /* \"#utility.yul\":1546:1551 */\n dup2\n /* \"#utility.yul\":1529:1552 */\n tag_90\n jump\t// in\n tag_89:\n /* \"#utility.yul\":1524:1527 */\n dup3\n /* \"#utility.yul\":1517:1553 */\n mstore\n /* \"#utility.yul\":1507:1559 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1565:1925 */\n tag_91:\n 0x00\n /* \"#utility.yul\":1679:1717 */\n tag_93\n /* \"#utility.yul\":1711:1716 */\n dup3\n /* \"#utility.yul\":1679:1717 */\n tag_94\n jump\t// in\n tag_93:\n /* \"#utility.yul\":1733:1803 */\n tag_95\n /* \"#utility.yul\":1796:1802 */\n dup2\n /* \"#utility.yul\":1791:1794 */\n dup6\n /* \"#utility.yul\":1733:1803 */\n tag_96\n jump\t// in\n tag_95:\n /* \"#utility.yul\":1726:1803 */\n swap4\n pop\n /* \"#utility.yul\":1812:1864 */\n tag_97\n /* \"#utility.yul\":1857:1863 */\n dup2\n /* \"#utility.yul\":1852:1855 */\n dup6\n /* \"#utility.yul\":1845:1849 */\n 0x20\n /* \"#utility.yul\":1838:1843 */\n dup7\n /* \"#utility.yul\":1834:1850 */\n add\n /* \"#utility.yul\":1812:1864 */\n tag_98\n jump\t// in\n tag_97:\n /* \"#utility.yul\":1889:1918 */\n tag_99\n /* \"#utility.yul\":1911:1917 */\n dup2\n /* \"#utility.yul\":1889:1918 */\n tag_100\n jump\t// in\n tag_99:\n /* \"#utility.yul\":1884:1887 */\n dup5\n /* \"#utility.yul\":1880:1919 */\n add\n /* \"#utility.yul\":1873:1919 */\n swap2\n pop\n /* \"#utility.yul\":1655:1925 */\n pop\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1931:2049 */\n tag_101:\n /* \"#utility.yul\":2018:2042 */\n tag_103\n /* \"#utility.yul\":2036:2041 */\n dup2\n /* \"#utility.yul\":2018:2042 */\n tag_104\n jump\t// in\n tag_103:\n /* \"#utility.yul\":2013:2016 */\n dup3\n /* \"#utility.yul\":2006:2043 */\n mstore\n /* \"#utility.yul\":1996:2049 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2055:2273 */\n tag_14:\n 0x00\n /* \"#utility.yul\":2184:2186 */\n 0x20\n /* \"#utility.yul\":2173:2182 */\n dup3\n /* \"#utility.yul\":2169:2187 */\n add\n /* \"#utility.yul\":2161:2187 */\n swap1\n pop\n /* \"#utility.yul\":2197:2266 */\n tag_106\n /* \"#utility.yul\":2263:2264 */\n 0x00\n /* \"#utility.yul\":2252:2261 */\n dup4\n /* \"#utility.yul\":2248:2265 */\n add\n /* \"#utility.yul\":2239:2245 */\n dup5\n /* \"#utility.yul\":2197:2266 */\n tag_87\n jump\t// in\n tag_106:\n /* \"#utility.yul\":2151:2273 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2279:2588 */\n tag_28:\n 0x00\n /* \"#utility.yul\":2428:2430 */\n 0x20\n /* \"#utility.yul\":2417:2426 */\n dup3\n /* \"#utility.yul\":2413:2431 */\n add\n /* \"#utility.yul\":2405:2431 */\n swap1\n pop\n /* \"#utility.yul\":2477:2486 */\n dup2\n /* \"#utility.yul\":2471:2475 */\n dup2\n /* \"#utility.yul\":2467:2487 */\n sub\n /* \"#utility.yul\":2463:2464 */\n 0x00\n /* \"#utility.yul\":2452:2461 */\n dup4\n /* \"#utility.yul\":2448:2465 */\n add\n /* \"#utility.yul\":2441:2488 */\n mstore\n /* \"#utility.yul\":2505:2581 */\n tag_108\n /* \"#utility.yul\":2576:2580 */\n dup2\n /* \"#utility.yul\":2567:2573 */\n dup5\n /* \"#utility.yul\":2505:2581 */\n tag_91\n jump\t// in\n tag_108:\n /* \"#utility.yul\":2497:2581 */\n swap1\n pop\n /* \"#utility.yul\":2395:2588 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2594:2816 */\n tag_24:\n 0x00\n /* \"#utility.yul\":2725:2727 */\n 0x20\n /* \"#utility.yul\":2714:2723 */\n dup3\n /* \"#utility.yul\":2710:2728 */\n add\n /* \"#utility.yul\":2702:2728 */\n swap1\n pop\n /* \"#utility.yul\":2738:2809 */\n tag_110\n /* \"#utility.yul\":2806:2807 */\n 0x00\n /* \"#utility.yul\":2795:2804 */\n dup4\n /* \"#utility.yul\":2791:2808 */\n add\n /* \"#utility.yul\":2782:2788 */\n dup5\n /* \"#utility.yul\":2738:2809 */\n tag_101\n jump\t// in\n tag_110:\n /* \"#utility.yul\":2692:2816 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2822:3105 */\n tag_68:\n 0x00\n /* \"#utility.yul\":2888:2890 */\n 0x40\n /* \"#utility.yul\":2882:2891 */\n mload\n /* \"#utility.yul\":2872:2891 */\n swap1\n pop\n /* \"#utility.yul\":2930:2934 */\n dup2\n /* \"#utility.yul\":2922:2928 */\n dup2\n /* \"#utility.yul\":2918:2935 */\n add\n /* \"#utility.yul\":3037:3043 */\n dup2\n /* \"#utility.yul\":3025:3035 */\n dup2\n /* \"#utility.yul\":3022:3044 */\n lt\n /* \"#utility.yul\":3001:3019 */\n 0xffffffffffffffff\n /* \"#utility.yul\":2989:2999 */\n dup3\n /* \"#utility.yul\":2986:3020 */\n gt\n /* \"#utility.yul\":2983:3045 */\n or\n /* \"#utility.yul\":2980:2982 */\n iszero\n tag_112\n jumpi\n /* \"#utility.yul\":3048:3066 */\n tag_113\n tag_114\n jump\t// in\n tag_113:\n /* \"#utility.yul\":2980:2982 */\n tag_112:\n /* \"#utility.yul\":3088:3098 */\n dup1\n /* \"#utility.yul\":3084:3086 */\n 0x40\n /* \"#utility.yul\":3077:3099 */\n mstore\n /* \"#utility.yul\":2862:3105 */\n pop\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3111:3443 */\n tag_67:\n 0x00\n /* \"#utility.yul\":3263:3281 */\n 0xffffffffffffffff\n /* \"#utility.yul\":3255:3261 */\n dup3\n /* \"#utility.yul\":3252:3282 */\n gt\n /* \"#utility.yul\":3249:3251 */\n iszero\n tag_116\n jumpi\n /* \"#utility.yul\":3285:3303 */\n tag_117\n tag_114\n jump\t// in\n tag_117:\n /* \"#utility.yul\":3249:3251 */\n tag_116:\n /* \"#utility.yul\":3370:3374 */\n 0x1f\n /* \"#utility.yul\":3366:3375 */\n not\n /* \"#utility.yul\":3359:3363 */\n 0x1f\n /* \"#utility.yul\":3351:3357 */\n dup4\n /* \"#utility.yul\":3347:3364 */\n add\n /* \"#utility.yul\":3343:3376 */\n and\n /* \"#utility.yul\":3335:3376 */\n swap1\n pop\n /* \"#utility.yul\":3431:3435 */\n 0x20\n /* \"#utility.yul\":3425:3429 */\n dup2\n /* \"#utility.yul\":3421:3436 */\n add\n /* \"#utility.yul\":3413:3436 */\n swap1\n pop\n /* \"#utility.yul\":3178:3443 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3449:3547 */\n tag_94:\n 0x00\n /* \"#utility.yul\":3534:3539 */\n dup2\n /* \"#utility.yul\":3528:3540 */\n mload\n /* \"#utility.yul\":3518:3540 */\n swap1\n pop\n /* \"#utility.yul\":3507:3547 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3553:3721 */\n tag_96:\n 0x00\n /* \"#utility.yul\":3670:3676 */\n dup3\n /* \"#utility.yul\":3665:3668 */\n dup3\n /* \"#utility.yul\":3658:3677 */\n mstore\n /* \"#utility.yul\":3710:3714 */\n 0x20\n /* \"#utility.yul\":3705:3708 */\n dup3\n /* \"#utility.yul\":3701:3715 */\n add\n /* \"#utility.yul\":3686:3715 */\n swap1\n pop\n /* \"#utility.yul\":3648:3721 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3727:3876 */\n tag_90:\n 0x00\n /* \"#utility.yul\":3803:3869 */\n 0xff00000000000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":3796:3801 */\n dup3\n /* \"#utility.yul\":3792:3870 */\n and\n /* \"#utility.yul\":3781:3870 */\n swap1\n pop\n /* \"#utility.yul\":3771:3876 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3882:3959 */\n tag_104:\n 0x00\n /* \"#utility.yul\":3948:3953 */\n dup2\n /* \"#utility.yul\":3937:3953 */\n swap1\n pop\n /* \"#utility.yul\":3927:3959 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3965:4119 */\n tag_71:\n /* \"#utility.yul\":4049:4055 */\n dup3\n /* \"#utility.yul\":4044:4047 */\n dup2\n /* \"#utility.yul\":4039:4042 */\n dup4\n /* \"#utility.yul\":4026:4056 */\n calldatacopy\n /* \"#utility.yul\":4111:4112 */\n 0x00\n /* \"#utility.yul\":4102:4108 */\n dup4\n /* \"#utility.yul\":4097:4100 */\n dup4\n /* \"#utility.yul\":4093:4109 */\n add\n /* \"#utility.yul\":4086:4113 */\n mstore\n /* \"#utility.yul\":4016:4119 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4125:4432 */\n tag_98:\n /* \"#utility.yul\":4193:4194 */\n 0x00\n /* \"#utility.yul\":4203:4316 */\n tag_124:\n /* \"#utility.yul\":4217:4223 */\n dup4\n /* \"#utility.yul\":4214:4215 */\n dup2\n /* \"#utility.yul\":4211:4224 */\n lt\n /* \"#utility.yul\":4203:4316 */\n iszero\n tag_126\n jumpi\n /* \"#utility.yul\":4302:4303 */\n dup1\n /* \"#utility.yul\":4297:4300 */\n dup3\n /* \"#utility.yul\":4293:4304 */\n add\n /* \"#utility.yul\":4287:4305 */\n mload\n /* \"#utility.yul\":4283:4284 */\n dup2\n /* \"#utility.yul\":4278:4281 */\n dup5\n /* \"#utility.yul\":4274:4285 */\n add\n /* \"#utility.yul\":4267:4306 */\n mstore\n /* \"#utility.yul\":4239:4241 */\n 0x20\n /* \"#utility.yul\":4236:4237 */\n dup2\n /* \"#utility.yul\":4232:4242 */\n add\n /* \"#utility.yul\":4227:4242 */\n swap1\n pop\n /* \"#utility.yul\":4203:4316 */\n jump(tag_124)\n tag_126:\n /* \"#utility.yul\":4334:4340 */\n dup4\n /* \"#utility.yul\":4331:4332 */\n dup2\n /* \"#utility.yul\":4328:4341 */\n gt\n /* \"#utility.yul\":4325:4327 */\n iszero\n tag_127\n jumpi\n /* \"#utility.yul\":4414:4415 */\n 0x00\n /* \"#utility.yul\":4405:4411 */\n dup5\n /* \"#utility.yul\":4400:4403 */\n dup5\n /* \"#utility.yul\":4396:4412 */\n add\n /* \"#utility.yul\":4389:4416 */\n mstore\n /* \"#utility.yul\":4325:4327 */\n tag_127:\n /* \"#utility.yul\":4174:4432 */\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4438:4758 */\n tag_34:\n 0x00\n /* \"#utility.yul\":4519:4520 */\n 0x02\n /* \"#utility.yul\":4513:4517 */\n dup3\n /* \"#utility.yul\":4509:4521 */\n div\n /* \"#utility.yul\":4499:4521 */\n swap1\n pop\n /* \"#utility.yul\":4566:4567 */\n 0x01\n /* \"#utility.yul\":4560:4564 */\n dup3\n /* \"#utility.yul\":4556:4568 */\n and\n /* \"#utility.yul\":4587:4605 */\n dup1\n /* \"#utility.yul\":4577:4579 */\n tag_129\n jumpi\n /* \"#utility.yul\":4643:4647 */\n 0x7f\n /* \"#utility.yul\":4635:4641 */\n dup3\n /* \"#utility.yul\":4631:4648 */\n and\n /* \"#utility.yul\":4621:4648 */\n swap2\n pop\n /* \"#utility.yul\":4577:4579 */\n tag_129:\n /* \"#utility.yul\":4705:4707 */\n 0x20\n /* \"#utility.yul\":4697:4703 */\n dup3\n /* \"#utility.yul\":4694:4708 */\n lt\n /* \"#utility.yul\":4674:4692 */\n dup2\n /* \"#utility.yul\":4671:4709 */\n eq\n /* \"#utility.yul\":4668:4670 */\n iszero\n tag_130\n jumpi\n /* \"#utility.yul\":4724:4742 */\n tag_131\n tag_132\n jump\t// in\n tag_131:\n /* \"#utility.yul\":4668:4670 */\n tag_130:\n /* \"#utility.yul\":4489:4758 */\n pop\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4764:4944 */\n tag_132:\n /* \"#utility.yul\":4812:4889 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":4809:4810 */\n 0x00\n /* \"#utility.yul\":4802:4890 */\n mstore\n /* \"#utility.yul\":4909:4913 */\n 0x22\n /* \"#utility.yul\":4906:4907 */\n 0x04\n /* \"#utility.yul\":4899:4914 */\n mstore\n /* \"#utility.yul\":4933:4937 */\n 0x24\n /* \"#utility.yul\":4930:4931 */\n 0x00\n /* \"#utility.yul\":4923:4938 */\n revert\n /* \"#utility.yul\":4950:5130 */\n tag_114:\n /* \"#utility.yul\":4998:5075 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":4995:4996 */\n 0x00\n /* \"#utility.yul\":4988:5076 */\n mstore\n /* \"#utility.yul\":5095:5099 */\n 0x41\n /* \"#utility.yul\":5092:5093 */\n 0x04\n /* \"#utility.yul\":5085:5100 */\n mstore\n /* \"#utility.yul\":5119:5123 */\n 0x24\n /* \"#utility.yul\":5116:5117 */\n 0x00\n /* \"#utility.yul\":5109:5124 */\n revert\n /* \"#utility.yul\":5136:5238 */\n tag_100:\n 0x00\n /* \"#utility.yul\":5228:5230 */\n 0x1f\n /* \"#utility.yul\":5224:5231 */\n not\n /* \"#utility.yul\":5219:5221 */\n 0x1f\n /* \"#utility.yul\":5212:5217 */\n dup4\n /* \"#utility.yul\":5208:5222 */\n add\n /* \"#utility.yul\":5204:5232 */\n and\n /* \"#utility.yul\":5194:5232 */\n swap1\n pop\n /* \"#utility.yul\":5184:5238 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5244:5366 */\n tag_79:\n /* \"#utility.yul\":5317:5341 */\n tag_137\n /* \"#utility.yul\":5335:5340 */\n dup2\n /* \"#utility.yul\":5317:5341 */\n tag_104\n jump\t// in\n tag_137:\n /* \"#utility.yul\":5310:5315 */\n dup2\n /* \"#utility.yul\":5307:5342 */\n eq\n /* \"#utility.yul\":5297:5299 */\n tag_138\n jumpi\n /* \"#utility.yul\":5356:5357 */\n 0x00\n /* \"#utility.yul\":5353:5354 */\n dup1\n /* \"#utility.yul\":5346:5358 */\n revert\n /* \"#utility.yul\":5297:5299 */\n tag_138:\n /* \"#utility.yul\":5287:5366 */\n pop\n jump\t// out\n\n auxdata: 0xa2646970667358221220137d1283b833c2c0889401e78a1f3acb44319684172ef91f5f7cadd7875864c764736f6c63430008000033\n}\n",
"bytecode": {
"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:2: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:2: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": "60806040526040518060400160405280600381526020017f61626300000000000000000000000000000000000000000000000000000000008152506000908051906020019061004f929190610062565b5034801561005c57600080fd5b50610166565b82805461006e90610105565b90600052602060002090601f01602090048101928261009057600085556100d7565b82601f106100a957805160ff19168380011785556100d7565b828001600101855582156100d7579182015b828111156100d65782518255916020019190600101906100bb565b5b5090506100e491906100e8565b5090565b5b808211156101015760008160009055506001016100e9565b5090565b6000600282049050600182168061011d57607f821691505b6020821081141561013157610130610137565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6107a3806101756000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80633a7d22bc14610067578063939dcbf6146100975780639a6fcbdd146100b3578063be1c766b146100bd578063e9b61909146100db578063ee495002146100f9575b600080fd5b610081600480360381019061007c91906104e8565b610117565b60405161008e9190610568565b60405180910390f35b6100b160048036038101906100ac91906104a7565b6101a7565b005b6100bb610213565b005b6100c56102f9565b6040516100d291906105a5565b60405180910390f35b6100e361030e565b6040516100f09190610583565b60405180910390f35b61010161039c565b60405161010e9190610583565b60405180910390f35b600080828154610126906106b5565b811061015b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b81546001161561017a5790600052602060002090602091828204019190065b9054901a7f0100000000000000000000000000000000000000000000000000000000000000029050919050565b60006001818054806101b8906106b5565b80601f81146101c6576101dc565b83600052602060002060ff1984168155603f9350505b5060028201835560018101925050500381546001161561020b5790600052602060002090602091828204019190065b905490505050565b6000805480610221906106b5565b80610255577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b601f81116000811461026e5760018114610290576102f0565b6001826021036101000a036001830392506002830284821916179350506102f0565b83600052602060002082602081146102d857601f6001850316602060018603048301925082546001826020036101000a038181191691508185556002880397505050506102ed565b81546000835560ff1981169050603e81179550505b50505b50818355505050565b6000808054610307906106b5565b9050905090565b6001805461031b906106b5565b80601f0160208091040260200160405190810160405280929190818152602001828054610347906106b5565b80156103945780601f1061036957610100808354040283529160200191610394565b820191906000526020600020905b81548152906001019060200180831161037757829003601f168201915b505050505081565b600080546103a9906106b5565b80601f01602080910402602001604051908101604052809291908181526020018280546103d5906106b5565b80156104225780601f106103f757610100808354040283529160200191610422565b820191906000526020600020905b81548152906001019060200180831161040557829003601f168201915b505050505081565b600061043d610438846105f1565b6105c0565b90508281526020810184848401111561045557600080fd5b610460848285610673565b509392505050565b600082601f83011261047957600080fd5b813561048984826020860161042a565b91505092915050565b6000813590506104a181610756565b92915050565b6000602082840312156104b957600080fd5b600082013567ffffffffffffffff8111156104d357600080fd5b6104df84828501610468565b91505092915050565b6000602082840312156104fa57600080fd5b600061050884828501610492565b91505092915050565b61051a8161063d565b82525050565b600061052b82610621565b610535818561062c565b9350610545818560208601610682565b61054e81610745565b840191505092915050565b61056281610669565b82525050565b600060208201905061057d6000830184610511565b92915050565b6000602082019050818103600083015261059d8184610520565b905092915050565b60006020820190506105ba6000830184610559565b92915050565b6000604051905081810181811067ffffffffffffffff821117156105e7576105e6610716565b5b8060405250919050565b600067ffffffffffffffff82111561060c5761060b610716565b5b601f19601f8301169050602081019050919050565b600081519050919050565b600082825260208201905092915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b6000819050919050565b82818337600083830152505050565b60005b838110156106a0578082015181840152602081019050610685565b838111156106af576000848401525b50505050565b600060028204905060018216806106cd57607f821691505b602082108114156106e1576106e06106e7565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b61075f81610669565b811461076a57600080fd5b5056fea2646970667358221220137d1283b833c2c0889401e78a1f3acb44319684172ef91f5f7cadd7875864c764736f6c63430008000033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6162630000000000000000000000000000000000000000000000000000000000 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 0x7A3 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 0x62 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3A7D22BC EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0x939DCBF6 EQ PUSH2 0x97 JUMPI DUP1 PUSH4 0x9A6FCBDD EQ PUSH2 0xB3 JUMPI DUP1 PUSH4 0xBE1C766B EQ PUSH2 0xBD JUMPI DUP1 PUSH4 0xE9B61909 EQ PUSH2 0xDB JUMPI DUP1 PUSH4 0xEE495002 EQ PUSH2 0xF9 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x81 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x7C SWAP2 SWAP1 PUSH2 0x4E8 JUMP JUMPDEST PUSH2 0x117 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8E SWAP2 SWAP1 PUSH2 0x568 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xB1 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xAC SWAP2 SWAP1 PUSH2 0x4A7 JUMP JUMPDEST PUSH2 0x1A7 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xBB PUSH2 0x213 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xC5 PUSH2 0x2F9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD2 SWAP2 SWAP1 PUSH2 0x5A5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE3 PUSH2 0x30E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF0 SWAP2 SWAP1 PUSH2 0x583 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x101 PUSH2 0x39C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10E SWAP2 SWAP1 PUSH2 0x583 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP2 SLOAD PUSH2 0x126 SWAP1 PUSH2 0x6B5 JUMP JUMPDEST DUP2 LT PUSH2 0x15B JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 SLOAD PUSH1 0x1 AND ISZERO PUSH2 0x17A JUMPI SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x20 SWAP2 DUP3 DUP3 DIV ADD SWAP2 SWAP1 MOD JUMPDEST SWAP1 SLOAD SWAP1 BYTE PUSH32 0x100000000000000000000000000000000000000000000000000000000000000 MUL SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP2 DUP1 SLOAD DUP1 PUSH2 0x1B8 SWAP1 PUSH2 0x6B5 JUMP JUMPDEST DUP1 PUSH1 0x1F DUP2 EQ PUSH2 0x1C6 JUMPI PUSH2 0x1DC JUMP JUMPDEST DUP4 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0xFF NOT DUP5 AND DUP2 SSTORE PUSH1 0x3F SWAP4 POP POP JUMPDEST POP PUSH1 0x2 DUP3 ADD DUP4 SSTORE PUSH1 0x1 DUP2 ADD SWAP3 POP POP POP SUB DUP2 SLOAD PUSH1 0x1 AND ISZERO PUSH2 0x20B JUMPI SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x20 SWAP2 DUP3 DUP3 DIV ADD SWAP2 SWAP1 MOD JUMPDEST SWAP1 SLOAD SWAP1 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD DUP1 PUSH2 0x221 SWAP1 PUSH2 0x6B5 JUMP JUMPDEST DUP1 PUSH2 0x255 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1F DUP2 GT PUSH1 0x0 DUP2 EQ PUSH2 0x26E JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x290 JUMPI PUSH2 0x2F0 JUMP JUMPDEST PUSH1 0x1 DUP3 PUSH1 0x21 SUB PUSH2 0x100 EXP SUB PUSH1 0x1 DUP4 SUB SWAP3 POP PUSH1 0x2 DUP4 MUL DUP5 DUP3 NOT AND OR SWAP4 POP POP PUSH2 0x2F0 JUMP JUMPDEST DUP4 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 DUP3 PUSH1 0x20 DUP2 EQ PUSH2 0x2D8 JUMPI PUSH1 0x1F PUSH1 0x1 DUP6 SUB AND PUSH1 0x20 PUSH1 0x1 DUP7 SUB DIV DUP4 ADD SWAP3 POP DUP3 SLOAD PUSH1 0x1 DUP3 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB DUP2 DUP2 NOT AND SWAP2 POP DUP2 DUP6 SSTORE PUSH1 0x2 DUP9 SUB SWAP8 POP POP POP POP PUSH2 0x2ED JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 DUP4 SSTORE PUSH1 0xFF NOT DUP2 AND SWAP1 POP PUSH1 0x3E DUP2 OR SWAP6 POP POP JUMPDEST POP POP JUMPDEST POP DUP2 DUP4 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP1 SLOAD PUSH2 0x307 SWAP1 PUSH2 0x6B5 JUMP JUMPDEST SWAP1 POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH2 0x31B SWAP1 PUSH2 0x6B5 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 0x347 SWAP1 PUSH2 0x6B5 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x394 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x369 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x394 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 0x377 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH2 0x3A9 SWAP1 PUSH2 0x6B5 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 0x3D5 SWAP1 PUSH2 0x6B5 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x422 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3F7 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x422 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 0x405 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x43D PUSH2 0x438 DUP5 PUSH2 0x5F1 JUMP JUMPDEST PUSH2 0x5C0 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x455 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x460 DUP5 DUP3 DUP6 PUSH2 0x673 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x479 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x489 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x42A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x4A1 DUP2 PUSH2 0x756 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4DF DUP5 DUP3 DUP6 ADD PUSH2 0x468 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x508 DUP5 DUP3 DUP6 ADD PUSH2 0x492 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x51A DUP2 PUSH2 0x63D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x52B DUP3 PUSH2 0x621 JUMP JUMPDEST PUSH2 0x535 DUP2 DUP6 PUSH2 0x62C JUMP JUMPDEST SWAP4 POP PUSH2 0x545 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x682 JUMP JUMPDEST PUSH2 0x54E DUP2 PUSH2 0x745 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x562 DUP2 PUSH2 0x669 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x57D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x511 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x59D DUP2 DUP5 PUSH2 0x520 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x5BA PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x559 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP DUP2 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x5E7 JUMPI PUSH2 0x5E6 PUSH2 0x716 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x60C JUMPI PUSH2 0x60B PUSH2 0x716 JUMP JUMPDEST JUMPDEST PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 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 PUSH32 0xFF00000000000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x6A0 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x685 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x6AF 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 0x6CD JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x6E1 JUMPI PUSH2 0x6E0 PUSH2 0x6E7 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 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 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 JUMPDEST PUSH2 0x75F DUP2 PUSH2 0x669 JUMP JUMPDEST DUP2 EQ PUSH2 0x76A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SGT PUSH30 0x1283B833C2C0889401E78A1F3ACB44319684172EF91F5F7CADD7875864C7 PUSH5 0x736F6C6343 STOP ADDMOD STOP STOP CALLER ",
"sourceMap": "26:407:0:-:0;;;56:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;26:407;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:320:1:-;;88:1;82:4;78:12;68:22;;135:1;129:4;125:12;156:18;146:2;;212:4;204:6;200:17;190:27;;146:2;274;266:6;263:14;243:18;240:38;237:2;;;293:18;;:::i;:::-;237:2;58:269;;;;:::o;333:180::-;381:77;378:1;371:88;478:4;475:1;468:15;502:4;499:1;492:15;26:407:0;;;;;;;"
},
"deployedBytecode": {
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:5369:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "91:260:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "101:74:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "167:6:1"
}
],
"functionName": {
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "125:41:1"
},
"nodeType": "YulFunctionCall",
"src": "125:49:1"
}
],
"functionName": {
"name": "allocateMemory",
"nodeType": "YulIdentifier",
"src": "110:14:1"
},
"nodeType": "YulFunctionCall",
"src": "110:65:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "101:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "191:5:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "198:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "184:6:1"
},
"nodeType": "YulFunctionCall",
"src": "184:21:1"
},
"nodeType": "YulExpressionStatement",
"src": "184:21:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "214:27:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "229:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "236:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "225:3:1"
},
"nodeType": "YulFunctionCall",
"src": "225:16:1"
},
"variables": [
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "218:3:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "279:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "288:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "291:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "281:6:1"
},
"nodeType": "YulFunctionCall",
"src": "281:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "281:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "260:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "265:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "256:3:1"
},
"nodeType": "YulFunctionCall",
"src": "256:16:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "274:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "253:2:1"
},
"nodeType": "YulFunctionCall",
"src": "253:25:1"
},
"nodeType": "YulIf",
"src": "250:2:1"
},
{
"expression": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "328:3:1"
},
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "333:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "338:6:1"
}
],
"functionName": {
"name": "copy_calldata_to_memory",
"nodeType": "YulIdentifier",
"src": "304:23:1"
},
"nodeType": "YulFunctionCall",
"src": "304:41:1"
},
"nodeType": "YulExpressionStatement",
"src": "304:41:1"
}
]
},
"name": "abi_decode_available_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "64:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "69:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "77:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "85:5:1",
"type": ""
}
],
"src": "7:344:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "433:211:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "482:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "491:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "494:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "484:6:1"
},
"nodeType": "YulFunctionCall",
"src": "484:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "484:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "461:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "469:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "457:3:1"
},
"nodeType": "YulFunctionCall",
"src": "457:17:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "476:3:1"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "453:3:1"
},
"nodeType": "YulFunctionCall",
"src": "453:27:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "446:6:1"
},
"nodeType": "YulFunctionCall",
"src": "446:35:1"
},
"nodeType": "YulIf",
"src": "443:2:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "507:34:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "534:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "521:12:1"
},
"nodeType": "YulFunctionCall",
"src": "521:20:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "511:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "550:88:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "611:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "619:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "607:3:1"
},
"nodeType": "YulFunctionCall",
"src": "607:17:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "626:6:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "634:3:1"
}
],
"functionName": {
"name": "abi_decode_available_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "559:47:1"
},
"nodeType": "YulFunctionCall",
"src": "559:79:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "550:5:1"
}
]
}
]
},
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "411:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "419:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "427:5:1",
"type": ""
}
],
"src": "371:273:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "702:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "712:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "734:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "721:12:1"
},
"nodeType": "YulFunctionCall",
"src": "721:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "712:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "777:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "750:26:1"
},
"nodeType": "YulFunctionCall",
"src": "750:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "750:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "680:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "688:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "696:5:1",
"type": ""
}
],
"src": "650:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "871:299:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "917:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "926:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "929:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "919:6:1"
},
"nodeType": "YulFunctionCall",
"src": "919:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "919:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "892:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "901:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "888:3:1"
},
"nodeType": "YulFunctionCall",
"src": "888:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "913:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "884:3:1"
},
"nodeType": "YulFunctionCall",
"src": "884:32:1"
},
"nodeType": "YulIf",
"src": "881:2:1"
},
{
"nodeType": "YulBlock",
"src": "943:220:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "958:45:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "989:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1000:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "985:3:1"
},
"nodeType": "YulFunctionCall",
"src": "985:17:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "972:12:1"
},
"nodeType": "YulFunctionCall",
"src": "972:31:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "962:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1050:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1059:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1062:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1052:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1052:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1052:12:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1022:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1030:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1019:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1019:30:1"
},
"nodeType": "YulIf",
"src": "1016:2:1"
},
{
"nodeType": "YulAssignment",
"src": "1080:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1125:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1136:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1121:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1121:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1145:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1090:30:1"
},
"nodeType": "YulFunctionCall",
"src": "1090:63:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1080:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "841:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "852:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "864:6:1",
"type": ""
}
],
"src": "795:375:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1242:196:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1288:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1297:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1300:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1290:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1290:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1290:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1263:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1272:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1259:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1259:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1284:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1255:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1255:32:1"
},
"nodeType": "YulIf",
"src": "1252:2:1"
},
{
"nodeType": "YulBlock",
"src": "1314:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1329:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1343:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1333:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1358:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1393:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1404:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1389:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1389:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1413:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1368:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1368:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1358:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1212:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1223:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1235:6:1",
"type": ""
}
],
"src": "1176:262:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1507:52:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1524:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1546:5:1"
}
],
"functionName": {
"name": "cleanup_t_bytes1",
"nodeType": "YulIdentifier",
"src": "1529:16:1"
},
"nodeType": "YulFunctionCall",
"src": "1529:23:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1517:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1517:36:1"
},
"nodeType": "YulExpressionStatement",
"src": "1517:36:1"
}
]
},
"name": "abi_encode_t_bytes1_to_t_bytes1_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1495:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1502:3:1",
"type": ""
}
],
"src": "1444:115:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1655:270:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1665:52:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1711:5:1"
}
],
"functionName": {
"name": "array_length_t_bytes_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1679:31:1"
},
"nodeType": "YulFunctionCall",
"src": "1679:38:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1669:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1726:77:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1791:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1796:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "1733:57:1"
},
"nodeType": "YulFunctionCall",
"src": "1733:70:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1726:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1838:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1845:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1834:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1834:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1852:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1857:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "1812:21:1"
},
"nodeType": "YulFunctionCall",
"src": "1812:52:1"
},
"nodeType": "YulExpressionStatement",
"src": "1812:52:1"
},
{
"nodeType": "YulAssignment",
"src": "1873:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1884:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1911:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "1889:21:1"
},
"nodeType": "YulFunctionCall",
"src": "1889:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1880:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1880:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "1873:3:1"
}
]
}
]
},
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1636:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1643:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1651:3:1",
"type": ""
}
],
"src": "1565:360:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1996:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2013:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2036:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2018:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2018:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2006:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2006:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "2006:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1984:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1991:3:1",
"type": ""
}
],
"src": "1931:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2151:122:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2161:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2173:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2184:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2169:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2169:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2161:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2239:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2252:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2263:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2248:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2248:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bytes1_to_t_bytes1_fromStack",
"nodeType": "YulIdentifier",
"src": "2197:41:1"
},
"nodeType": "YulFunctionCall",
"src": "2197:69:1"
},
"nodeType": "YulExpressionStatement",
"src": "2197:69:1"
}
]
},
"name": "abi_encode_tuple_t_bytes1__to_t_bytes1__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2123:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2135:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2146:4:1",
"type": ""
}
],
"src": "2055:218:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2395:193:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2405:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2417:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2428:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2413:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2413:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2405:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2452:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2463:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2448:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2448:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2471:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2477:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2467:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2467:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2441:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2441:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "2441:47:1"
},
{
"nodeType": "YulAssignment",
"src": "2497:84:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2567:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2576:4:1"
}
],
"functionName": {
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2505:61:1"
},
"nodeType": "YulFunctionCall",
"src": "2505:76:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2497:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2367:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2379:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2390:4:1",
"type": ""
}
],
"src": "2279:309:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2692:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2702:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2714:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2725:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2710:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2710:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2702:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2782:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2795:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2806:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2791:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2791:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "2738:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2738:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "2738:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2664:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2676:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2687:4:1",
"type": ""
}
],
"src": "2594:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2862:243:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2872:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2888:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2882:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2882:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "2872:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "2900:35:1",
"value": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "2922:6:1"
},
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "2930:4:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2918:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2918:17:1"
},
"variables": [
{
"name": "newFreePtr",
"nodeType": "YulTypedName",
"src": "2904:10:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3046:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "3048:16:1"
},
"nodeType": "YulFunctionCall",
"src": "3048:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "3048:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "2989:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3001:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "2986:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2986:34:1"
},
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "3025:10:1"
},
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "3037:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "3022:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3022:22:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "2983:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2983:62:1"
},
"nodeType": "YulIf",
"src": "2980:2:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3084:2:1",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "3088:10:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3077:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3077:22:1"
},
"nodeType": "YulExpressionStatement",
"src": "3077:22:1"
}
]
},
"name": "allocateMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "2846:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "2855:6:1",
"type": ""
}
],
"src": "2822:283:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3178:265:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3283:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "3285:16:1"
},
"nodeType": "YulFunctionCall",
"src": "3285:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "3285:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3255:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3263:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "3252:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3252:30:1"
},
"nodeType": "YulIf",
"src": "3249:2:1"
},
{
"nodeType": "YulAssignment",
"src": "3335:41:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3351:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3359:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3347:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3347:17:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3370:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "3366:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3366:9:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "3343:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3343:33:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "3335:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "3413:23:1",
"value": {
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "3425:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3431:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3421:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3421:15:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "3413:4:1"
}
]
}
]
},
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3162:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "3173:4:1",
"type": ""
}
],
"src": "3111:332:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3507:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3518:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3534:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "3528:5:1"
},
"nodeType": "YulFunctionCall",
"src": "3528:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3518:6:1"
}
]
}
]
},
"name": "array_length_t_bytes_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3490:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3500:6:1",
"type": ""
}
],
"src": "3449:98:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3648:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3665:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3670:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3658:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3658:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "3658:19:1"
},
{
"nodeType": "YulAssignment",
"src": "3686:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3705:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3710:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3701:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3701:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "3686:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3620:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3625:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "3636:11:1",
"type": ""
}
],
"src": "3553:168:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3771:105:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3781:89:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3796:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3803:66:1",
"type": "",
"value": "0xff00000000000000000000000000000000000000000000000000000000000000"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "3792:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3792:78:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "3781:7:1"
}
]
}
]
},
"name": "cleanup_t_bytes1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3753:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "3763:7:1",
"type": ""
}
],
"src": "3727:149:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3927:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3937:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "3948:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "3937:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3909:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "3919:7:1",
"type": ""
}
],
"src": "3882:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4016:103:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "4039:3:1"
},
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "4044:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4049:6:1"
}
],
"functionName": {
"name": "calldatacopy",
"nodeType": "YulIdentifier",
"src": "4026:12:1"
},
"nodeType": "YulFunctionCall",
"src": "4026:30:1"
},
"nodeType": "YulExpressionStatement",
"src": "4026:30:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "4097:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4102:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4093:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4093:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4111:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4086:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4086:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "4086:27:1"
}
]
},
"name": "copy_calldata_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "3998:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "4003:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4008:6:1",
"type": ""
}
],
"src": "3965:154:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4174:258:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4184:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4193:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "4188:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4253:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "4278:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4283:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4274:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4274:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "4297:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4302:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4293:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4293:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4287:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4287:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4267:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4267:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "4267:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4214:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4217:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "4211:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4211:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "4225:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4227:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4236:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4239:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4232:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4232:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4227:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "4207:3:1",
"statements": []
},
"src": "4203:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4350:76:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "4400:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4405:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4396:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4396:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4414:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4389:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4389:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "4389:27:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4331:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4334:6:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4328:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4328:13:1"
},
"nodeType": "YulIf",
"src": "4325:2:1"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "4156:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "4161:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4166:6:1",
"type": ""
}
],
"src": "4125:307:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4489:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4499:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "4513:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4519:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "4509:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4509:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4499:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "4530:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "4560:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4566:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "4556:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4556:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "4534:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4607:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4621:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4635:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4643:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "4631:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4631:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4621:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "4587:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "4580:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4580:26:1"
},
"nodeType": "YulIf",
"src": "4577:2:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4710:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "4724:16:1"
},
"nodeType": "YulFunctionCall",
"src": "4724:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "4724:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "4674:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4697:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4705:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "4694:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4694:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "4671:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4671:38:1"
},
"nodeType": "YulIf",
"src": "4668:2:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "4473:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4482:6:1",
"type": ""
}
],
"src": "4438:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4792:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4809:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4812:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4802:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4802:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "4802:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4906:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4909:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4899:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4899:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "4899:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4930:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4933:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4923:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4923:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "4923:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "4764:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4978:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4995:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4998:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4988:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4988:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "4988:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5092:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5095:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5085:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5085:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5085:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5116:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5119:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5109:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5109:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5109:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "4950:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5184:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5194:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5212:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5219:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5208:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5208:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5228:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "5224:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5224:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "5204:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5204:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "5194:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5167:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "5177:6:1",
"type": ""
}
],
"src": "5136:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5287:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "5344:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5353:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5356:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5346:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5346:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "5346:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5310:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5335:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "5317:17:1"
},
"nodeType": "YulFunctionCall",
"src": "5317:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "5307:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5307:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "5300:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5300:43:1"
},
"nodeType": "YulIf",
"src": "5297:2:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5280:5:1",
"type": ""
}
],
"src": "5244:122:1"
}
]
},
"contents": "{\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocateMemory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert(0, 0) }\n copy_calldata_to_memory(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\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_string_memory_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n value0 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_bytes1_to_t_bytes1_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes1(value))\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_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_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_bytes1__to_t_bytes1__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes1_to_t_bytes1_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_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_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value0, tail)\n\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 allocateMemory(size) -> memPtr {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, size)\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n // round up\n size := and(add(length, 0x1f), not(0x1f))\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function cleanup_t_bytes1(value) -> cleaned {\n cleaned := and(value, 0xff00000000000000000000000000000000000000000000000000000000000000)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\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 panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\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 function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100625760003560e01c80633a7d22bc14610067578063939dcbf6146100975780639a6fcbdd146100b3578063be1c766b146100bd578063e9b61909146100db578063ee495002146100f9575b600080fd5b610081600480360381019061007c91906104e8565b610117565b60405161008e9190610568565b60405180910390f35b6100b160048036038101906100ac91906104a7565b6101a7565b005b6100bb610213565b005b6100c56102f9565b6040516100d291906105a5565b60405180910390f35b6100e361030e565b6040516100f09190610583565b60405180910390f35b61010161039c565b60405161010e9190610583565b60405180910390f35b600080828154610126906106b5565b811061015b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b81546001161561017a5790600052602060002090602091828204019190065b9054901a7f0100000000000000000000000000000000000000000000000000000000000000029050919050565b60006001818054806101b8906106b5565b80601f81146101c6576101dc565b83600052602060002060ff1984168155603f9350505b5060028201835560018101925050500381546001161561020b5790600052602060002090602091828204019190065b905490505050565b6000805480610221906106b5565b80610255577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b601f81116000811461026e5760018114610290576102f0565b6001826021036101000a036001830392506002830284821916179350506102f0565b83600052602060002082602081146102d857601f6001850316602060018603048301925082546001826020036101000a038181191691508185556002880397505050506102ed565b81546000835560ff1981169050603e81179550505b50505b50818355505050565b6000808054610307906106b5565b9050905090565b6001805461031b906106b5565b80601f0160208091040260200160405190810160405280929190818152602001828054610347906106b5565b80156103945780601f1061036957610100808354040283529160200191610394565b820191906000526020600020905b81548152906001019060200180831161037757829003601f168201915b505050505081565b600080546103a9906106b5565b80601f01602080910402602001604051908101604052809291908181526020018280546103d5906106b5565b80156104225780601f106103f757610100808354040283529160200191610422565b820191906000526020600020905b81548152906001019060200180831161040557829003601f168201915b505050505081565b600061043d610438846105f1565b6105c0565b90508281526020810184848401111561045557600080fd5b610460848285610673565b509392505050565b600082601f83011261047957600080fd5b813561048984826020860161042a565b91505092915050565b6000813590506104a181610756565b92915050565b6000602082840312156104b957600080fd5b600082013567ffffffffffffffff8111156104d357600080fd5b6104df84828501610468565b91505092915050565b6000602082840312156104fa57600080fd5b600061050884828501610492565b91505092915050565b61051a8161063d565b82525050565b600061052b82610621565b610535818561062c565b9350610545818560208601610682565b61054e81610745565b840191505092915050565b61056281610669565b82525050565b600060208201905061057d6000830184610511565b92915050565b6000602082019050818103600083015261059d8184610520565b905092915050565b60006020820190506105ba6000830184610559565b92915050565b6000604051905081810181811067ffffffffffffffff821117156105e7576105e6610716565b5b8060405250919050565b600067ffffffffffffffff82111561060c5761060b610716565b5b601f19601f8301169050602081019050919050565b600081519050919050565b600082825260208201905092915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b6000819050919050565b82818337600083830152505050565b60005b838110156106a0578082015181840152602081019050610685565b838111156106af576000848401525b50505050565b600060028204905060018216806106cd57607f821691505b602082108114156106e1576106e06106e7565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b61075f81610669565b811461076a57600080fd5b5056fea2646970667358221220137d1283b833c2c0889401e78a1f3acb44319684172ef91f5f7cadd7875864c764736f6c63430008000033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x62 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3A7D22BC EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0x939DCBF6 EQ PUSH2 0x97 JUMPI DUP1 PUSH4 0x9A6FCBDD EQ PUSH2 0xB3 JUMPI DUP1 PUSH4 0xBE1C766B EQ PUSH2 0xBD JUMPI DUP1 PUSH4 0xE9B61909 EQ PUSH2 0xDB JUMPI DUP1 PUSH4 0xEE495002 EQ PUSH2 0xF9 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x81 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x7C SWAP2 SWAP1 PUSH2 0x4E8 JUMP JUMPDEST PUSH2 0x117 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8E SWAP2 SWAP1 PUSH2 0x568 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xB1 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xAC SWAP2 SWAP1 PUSH2 0x4A7 JUMP JUMPDEST PUSH2 0x1A7 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xBB PUSH2 0x213 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xC5 PUSH2 0x2F9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD2 SWAP2 SWAP1 PUSH2 0x5A5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE3 PUSH2 0x30E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF0 SWAP2 SWAP1 PUSH2 0x583 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x101 PUSH2 0x39C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10E SWAP2 SWAP1 PUSH2 0x583 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP2 SLOAD PUSH2 0x126 SWAP1 PUSH2 0x6B5 JUMP JUMPDEST DUP2 LT PUSH2 0x15B JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 SLOAD PUSH1 0x1 AND ISZERO PUSH2 0x17A JUMPI SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x20 SWAP2 DUP3 DUP3 DIV ADD SWAP2 SWAP1 MOD JUMPDEST SWAP1 SLOAD SWAP1 BYTE PUSH32 0x100000000000000000000000000000000000000000000000000000000000000 MUL SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP2 DUP1 SLOAD DUP1 PUSH2 0x1B8 SWAP1 PUSH2 0x6B5 JUMP JUMPDEST DUP1 PUSH1 0x1F DUP2 EQ PUSH2 0x1C6 JUMPI PUSH2 0x1DC JUMP JUMPDEST DUP4 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0xFF NOT DUP5 AND DUP2 SSTORE PUSH1 0x3F SWAP4 POP POP JUMPDEST POP PUSH1 0x2 DUP3 ADD DUP4 SSTORE PUSH1 0x1 DUP2 ADD SWAP3 POP POP POP SUB DUP2 SLOAD PUSH1 0x1 AND ISZERO PUSH2 0x20B JUMPI SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x20 SWAP2 DUP3 DUP3 DIV ADD SWAP2 SWAP1 MOD JUMPDEST SWAP1 SLOAD SWAP1 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD DUP1 PUSH2 0x221 SWAP1 PUSH2 0x6B5 JUMP JUMPDEST DUP1 PUSH2 0x255 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1F DUP2 GT PUSH1 0x0 DUP2 EQ PUSH2 0x26E JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x290 JUMPI PUSH2 0x2F0 JUMP JUMPDEST PUSH1 0x1 DUP3 PUSH1 0x21 SUB PUSH2 0x100 EXP SUB PUSH1 0x1 DUP4 SUB SWAP3 POP PUSH1 0x2 DUP4 MUL DUP5 DUP3 NOT AND OR SWAP4 POP POP PUSH2 0x2F0 JUMP JUMPDEST DUP4 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 DUP3 PUSH1 0x20 DUP2 EQ PUSH2 0x2D8 JUMPI PUSH1 0x1F PUSH1 0x1 DUP6 SUB AND PUSH1 0x20 PUSH1 0x1 DUP7 SUB DIV DUP4 ADD SWAP3 POP DUP3 SLOAD PUSH1 0x1 DUP3 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB DUP2 DUP2 NOT AND SWAP2 POP DUP2 DUP6 SSTORE PUSH1 0x2 DUP9 SUB SWAP8 POP POP POP POP PUSH2 0x2ED JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 DUP4 SSTORE PUSH1 0xFF NOT DUP2 AND SWAP1 POP PUSH1 0x3E DUP2 OR SWAP6 POP POP JUMPDEST POP POP JUMPDEST POP DUP2 DUP4 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP1 SLOAD PUSH2 0x307 SWAP1 PUSH2 0x6B5 JUMP JUMPDEST SWAP1 POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH2 0x31B SWAP1 PUSH2 0x6B5 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 0x347 SWAP1 PUSH2 0x6B5 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x394 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x369 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x394 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 0x377 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH2 0x3A9 SWAP1 PUSH2 0x6B5 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 0x3D5 SWAP1 PUSH2 0x6B5 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x422 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3F7 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x422 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 0x405 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x43D PUSH2 0x438 DUP5 PUSH2 0x5F1 JUMP JUMPDEST PUSH2 0x5C0 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x455 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x460 DUP5 DUP3 DUP6 PUSH2 0x673 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x479 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x489 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x42A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x4A1 DUP2 PUSH2 0x756 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4DF DUP5 DUP3 DUP6 ADD PUSH2 0x468 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x508 DUP5 DUP3 DUP6 ADD PUSH2 0x492 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x51A DUP2 PUSH2 0x63D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x52B DUP3 PUSH2 0x621 JUMP JUMPDEST PUSH2 0x535 DUP2 DUP6 PUSH2 0x62C JUMP JUMPDEST SWAP4 POP PUSH2 0x545 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x682 JUMP JUMPDEST PUSH2 0x54E DUP2 PUSH2 0x745 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x562 DUP2 PUSH2 0x669 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x57D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x511 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x59D DUP2 DUP5 PUSH2 0x520 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x5BA PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x559 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP DUP2 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x5E7 JUMPI PUSH2 0x5E6 PUSH2 0x716 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x60C JUMPI PUSH2 0x60B PUSH2 0x716 JUMP JUMPDEST JUMPDEST PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 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 PUSH32 0xFF00000000000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x6A0 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x685 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x6AF 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 0x6CD JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x6E1 JUMPI PUSH2 0x6E0 PUSH2 0x6E7 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 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 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 JUMPDEST PUSH2 0x75F DUP2 PUSH2 0x669 JUMP JUMPDEST DUP2 EQ PUSH2 0x76A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SGT PUSH30 0x1283B833C2C0889401E78A1F3ACB44319684172EF91F5F7CADD7875864C7 PUSH5 0x736F6C6343 STOP ADDMOD STOP STOP CALLER ",
"sourceMap": "26:407:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;191:86;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;111:72;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;374:56;;;:::i;:::-;;285:81;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;86:15;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;56:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;191:86;239:6;264:2;267:1;264:5;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;257:12;;191:86;;;:::o;111:72::-;166:2;:9;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;111:72;:::o;374:56::-;414:2;:8;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;374:56::o;285:81::-;326:4;349:2;:9;;;;;:::i;:::-;;;342:16;;285:81;:::o;86:15::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;56:23::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7:344:1:-;;110:65;125:49;167:6;125:49;:::i;:::-;110:65;:::i;:::-;101:74;;198:6;191:5;184:21;236:4;229:5;225:16;274:3;265:6;260:3;256:16;253:25;250:2;;;291:1;288;281:12;250:2;304:41;338:6;333:3;328;304:41;:::i;:::-;91:260;;;;;;:::o;371:273::-;;476:3;469:4;461:6;457:17;453:27;443:2;;494:1;491;484:12;443:2;534:6;521:20;559:79;634:3;626:6;619:4;611:6;607:17;559:79;:::i;:::-;550:88;;433:211;;;;;:::o;650:139::-;;734:6;721:20;712:29;;750:33;777:5;750:33;:::i;:::-;702:87;;;;:::o;795:375::-;;913:2;901:9;892:7;888:23;884:32;881:2;;;929:1;926;919:12;881:2;1000:1;989:9;985:17;972:31;1030:18;1022:6;1019:30;1016:2;;;1062:1;1059;1052:12;1016:2;1090:63;1145:7;1136:6;1125:9;1121:22;1090:63;:::i;:::-;1080:73;;943:220;871:299;;;;:::o;1176:262::-;;1284:2;1272:9;1263:7;1259:23;1255:32;1252:2;;;1300:1;1297;1290:12;1252:2;1343:1;1368:53;1413:7;1404:6;1393:9;1389:22;1368:53;:::i;:::-;1358:63;;1314:117;1242:196;;;;:::o;1444:115::-;1529:23;1546:5;1529:23;:::i;:::-;1524:3;1517:36;1507:52;;:::o;1565:360::-;;1679:38;1711:5;1679:38;:::i;:::-;1733:70;1796:6;1791:3;1733:70;:::i;:::-;1726:77;;1812:52;1857:6;1852:3;1845:4;1838:5;1834:16;1812:52;:::i;:::-;1889:29;1911:6;1889:29;:::i;:::-;1884:3;1880:39;1873:46;;1655:270;;;;;:::o;1931:118::-;2018:24;2036:5;2018:24;:::i;:::-;2013:3;2006:37;1996:53;;:::o;2055:218::-;;2184:2;2173:9;2169:18;2161:26;;2197:69;2263:1;2252:9;2248:17;2239:6;2197:69;:::i;:::-;2151:122;;;;:::o;2279:309::-;;2428:2;2417:9;2413:18;2405:26;;2477:9;2471:4;2467:20;2463:1;2452:9;2448:17;2441:47;2505:76;2576:4;2567:6;2505:76;:::i;:::-;2497:84;;2395:193;;;;:::o;2594:222::-;;2725:2;2714:9;2710:18;2702:26;;2738:71;2806:1;2795:9;2791:17;2782:6;2738:71;:::i;:::-;2692:124;;;;:::o;2822:283::-;;2888:2;2882:9;2872:19;;2930:4;2922:6;2918:17;3037:6;3025:10;3022:22;3001:18;2989:10;2986:34;2983:62;2980:2;;;3048:18;;:::i;:::-;2980:2;3088:10;3084:2;3077:22;2862:243;;;;:::o;3111:332::-;;3263:18;3255:6;3252:30;3249:2;;;3285:18;;:::i;:::-;3249:2;3370:4;3366:9;3359:4;3351:6;3347:17;3343:33;3335:41;;3431:4;3425;3421:15;3413:23;;3178:265;;;:::o;3449:98::-;;3534:5;3528:12;3518:22;;3507:40;;;:::o;3553:168::-;;3670:6;3665:3;3658:19;3710:4;3705:3;3701:14;3686:29;;3648:73;;;;:::o;3727:149::-;;3803:66;3796:5;3792:78;3781:89;;3771:105;;;:::o;3882:77::-;;3948:5;3937:16;;3927:32;;;:::o;3965:154::-;4049:6;4044:3;4039;4026:30;4111:1;4102:6;4097:3;4093:16;4086:27;4016:103;;;:::o;4125:307::-;4193:1;4203:113;4217:6;4214:1;4211:13;4203:113;;;4302:1;4297:3;4293:11;4287:18;4283:1;4278:3;4274:11;4267:39;4239:2;4236:1;4232:10;4227:15;;4203:113;;;4334:6;4331:1;4328:13;4325:2;;;4414:1;4405:6;4400:3;4396:16;4389:27;4325:2;4174:258;;;;:::o;4438:320::-;;4519:1;4513:4;4509:12;4499:22;;4566:1;4560:4;4556:12;4587:18;4577:2;;4643:4;4635:6;4631:17;4621:27;;4577:2;4705;4697:6;4694:14;4674:18;4671:38;4668:2;;;4724:18;;:::i;:::-;4668:2;4489:269;;;;:::o;4764:180::-;4812:77;4809:1;4802:88;4909:4;4906:1;4899:15;4933:4;4930:1;4923:15;4950:180;4998:77;4995:1;4988:88;5095:4;5092:1;5085:15;5119:4;5116:1;5109:15;5136:102;;5228:2;5224:7;5219:2;5212:5;5208:14;5204:28;5194:38;;5184:54;;;:::o;5244:122::-;5317:24;5335:5;5317:24;:::i;:::-;5310:5;5307:35;5297:2;;5356:1;5353;5346:12;5297:2;5287:79;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "391000",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"b1()": "infinite",
"b3()": "infinite",
"getElement(uint256)": "3268",
"getLength()": "1317",
"popElement()": "43798",
"pushElement(string)": "infinite"
}
},
"legacyAssembly": {
".code": [
{
"begin": 26,
"end": 433,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 26,
"end": 433,
"name": "MSTORE",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 56,
"end": 79,
"name": "MLOAD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 56,
"end": 79,
"name": "ADD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 56,
"end": 79,
"name": "MSTORE",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "3"
},
{
"begin": 56,
"end": 79,
"name": "DUP2",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "MSTORE",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 56,
"end": 79,
"name": "ADD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "6162630000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 56,
"end": 79,
"name": "DUP2",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "MSTORE",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "POP",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 56,
"end": 79,
"name": "SWAP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "MLOAD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 56,
"end": 79,
"name": "ADD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 56,
"end": 79,
"name": "SWAP3",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP2",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 56,
"end": 79,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 56,
"end": 79,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 56,
"end": 79,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "POP",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "DUP1",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "ISZERO",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 26,
"end": 433,
"name": "JUMPI",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 26,
"end": 433,
"name": "DUP1",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "REVERT",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 26,
"end": 433,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "POP",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 26,
"end": 433,
"name": "JUMP",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 26,
"end": 433,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "DUP3",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "DUP1",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "SLOAD",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 26,
"end": 433,
"name": "SWAP1",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 26,
"end": 433,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 26,
"end": 433,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 26,
"end": 433,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "SWAP1",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 26,
"end": 433,
"name": "MSTORE",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 26,
"end": 433,
"name": "KECCAK256",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "SWAP1",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 26,
"end": 433,
"name": "ADD",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 26,
"end": 433,
"name": "SWAP1",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "DIV",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "DUP2",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "ADD",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "SWAP3",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "DUP3",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 26,
"end": 433,
"name": "JUMPI",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 26,
"end": 433,
"name": "DUP6",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "SSTORE",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 26,
"end": 433,
"name": "JUMP",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "tag",
"source": 0,
"value": "8"
},
{
"begin": 26,
"end": 433,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "DUP3",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 26,
"end": 433,
"name": "LT",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 26,
"end": 433,
"name": "JUMPI",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "DUP1",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "MLOAD",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"source": 0,
"value": "FF"
},
{
"begin": 26,
"end": 433,
"name": "NOT",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "AND",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "DUP4",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "DUP1",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "ADD",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "OR",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "DUP6",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "SSTORE",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 26,
"end": 433,
"name": "JUMP",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "tag",
"source": 0,
"value": "9"
},
{
"begin": 26,
"end": 433,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "DUP3",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "DUP1",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "ADD",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 26,
"end": 433,
"name": "ADD",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "DUP6",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "SSTORE",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "DUP3",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "ISZERO",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 26,
"end": 433,
"name": "JUMPI",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "SWAP2",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "DUP3",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "ADD",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "tag",
"source": 0,
"value": "10"
},
{
"begin": 26,
"end": 433,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "DUP3",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "DUP2",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "GT",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "ISZERO",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 26,
"end": 433,
"name": "JUMPI",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "DUP3",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "MLOAD",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "DUP3",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "SSTORE",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "SWAP2",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 26,
"end": 433,
"name": "ADD",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "SWAP2",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "SWAP1",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 26,
"end": 433,
"name": "ADD",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "SWAP1",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 26,
"end": 433,
"name": "JUMP",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "tag",
"source": 0,
"value": "11"
},
{
"begin": 26,
"end": 433,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "tag",
"source": 0,
"value": "7"
},
{
"begin": 26,
"end": 433,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "POP",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "SWAP1",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "POP",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"source": 0,
"value": "12"
},
{
"begin": 26,
"end": 433,
"name": "SWAP2",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "SWAP1",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"source": 0,
"value": "13"
},
{
"begin": 26,
"end": 433,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 26,
"end": 433,
"name": "tag",
"source": 0,
"value": "12"
},
{
"begin": 26,
"end": 433,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "POP",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "SWAP1",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 26,
"end": 433,
"name": "tag",
"source": 0,
"value": "13"
},
{
"begin": 26,
"end": 433,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "tag",
"source": 0,
"value": "14"
},
{
"begin": 26,
"end": 433,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "DUP1",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "DUP3",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "GT",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "ISZERO",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"source": 0,
"value": "15"
},
{
"begin": 26,
"end": 433,
"name": "JUMPI",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 26,
"end": 433,
"name": "DUP2",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 26,
"end": 433,
"name": "SWAP1",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "SSTORE",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "POP",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 26,
"end": 433,
"name": "ADD",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"source": 0,
"value": "14"
},
{
"begin": 26,
"end": 433,
"name": "JUMP",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "tag",
"source": 0,
"value": "15"
},
{
"begin": 26,
"end": 433,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "POP",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "SWAP1",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 7,
"end": 327,
"name": "tag",
"source": 1,
"value": "6"
},
{
"begin": 7,
"end": 327,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7,
"end": 327,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 88,
"end": 89,
"name": "PUSH",
"source": 1,
"value": "2"
},
{
"begin": 82,
"end": 86,
"name": "DUP3",
"source": 1
},
{
"begin": 78,
"end": 90,
"name": "DIV",
"source": 1
},
{
"begin": 68,
"end": 90,
"name": "SWAP1",
"source": 1
},
{
"begin": 68,
"end": 90,
"name": "POP",
"source": 1
},
{
"begin": 135,
"end": 136,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 129,
"end": 133,
"name": "DUP3",
"source": 1
},
{
"begin": 125,
"end": 137,
"name": "AND",
"source": 1
},
{
"begin": 156,
"end": 174,
"name": "DUP1",
"source": 1
},
{
"begin": 146,
"end": 148,
"name": "PUSH [tag]",
"source": 1,
"value": "18"
},
{
"begin": 146,
"end": 148,
"name": "JUMPI",
"source": 1
},
{
"begin": 212,
"end": 216,
"name": "PUSH",
"source": 1,
"value": "7F"
},
{
"begin": 204,
"end": 210,
"name": "DUP3",
"source": 1
},
{
"begin": 200,
"end": 217,
"name": "AND",
"source": 1
},
{
"begin": 190,
"end": 217,
"name": "SWAP2",
"source": 1
},
{
"begin": 190,
"end": 217,
"name": "POP",
"source": 1
},
{
"begin": 146,
"end": 148,
"name": "tag",
"source": 1,
"value": "18"
},
{
"begin": 146,
"end": 148,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 274,
"end": 276,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 266,
"end": 272,
"name": "DUP3",
"source": 1
},
{
"begin": 263,
"end": 277,
"name": "LT",
"source": 1
},
{
"begin": 243,
"end": 261,
"name": "DUP2",
"source": 1
},
{
"begin": 240,
"end": 278,
"name": "EQ",
"source": 1
},
{
"begin": 237,
"end": 239,
"name": "ISZERO",
"source": 1
},
{
"begin": 237,
"end": 239,
"name": "PUSH [tag]",
"source": 1,
"value": "19"
},
{
"begin": 237,
"end": 239,
"name": "JUMPI",
"source": 1
},
{
"begin": 293,
"end": 311,
"name": "PUSH [tag]",
"source": 1,
"value": "20"
},
{
"begin": 293,
"end": 311,
"name": "PUSH [tag]",
"source": 1,
"value": "21"
},
{
"begin": 293,
"end": 311,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 293,
"end": 311,
"name": "tag",
"source": 1,
"value": "20"
},
{
"begin": 293,
"end": 311,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 237,
"end": 239,
"name": "tag",
"source": 1,
"value": "19"
},
{
"begin": 237,
"end": 239,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 58,
"end": 327,
"name": "POP",
"source": 1
},
{
"begin": 58,
"end": 327,
"name": "SWAP2",
"source": 1
},
{
"begin": 58,
"end": 327,
"name": "SWAP1",
"source": 1
},
{
"begin": 58,
"end": 327,
"name": "POP",
"source": 1
},
{
"begin": 58,
"end": 327,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 333,
"end": 513,
"name": "tag",
"source": 1,
"value": "21"
},
{
"begin": 333,
"end": 513,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 381,
"end": 458,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 378,
"end": 379,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 371,
"end": 459,
"name": "MSTORE",
"source": 1
},
{
"begin": 478,
"end": 482,
"name": "PUSH",
"source": 1,
"value": "22"
},
{
"begin": 475,
"end": 476,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 468,
"end": 483,
"name": "MSTORE",
"source": 1
},
{
"begin": 502,
"end": 506,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 499,
"end": 500,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 492,
"end": 507,
"name": "REVERT",
"source": 1
},
{
"begin": 26,
"end": 433,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 26,
"end": 433,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 26,
"end": 433,
"name": "DUP1",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 26,
"end": 433,
"name": "CODECOPY",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 26,
"end": 433,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a2646970667358221220137d1283b833c2c0889401e78a1f3acb44319684172ef91f5f7cadd7875864c764736f6c63430008000033",
".code": [
{
"begin": 26,
"end": 433,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 26,
"end": 433,
"name": "MSTORE",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "DUP1",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "ISZERO",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 26,
"end": 433,
"name": "JUMPI",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 26,
"end": 433,
"name": "DUP1",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "REVERT",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 26,
"end": 433,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "POP",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 26,
"end": 433,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "LT",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 26,
"end": 433,
"name": "JUMPI",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 26,
"end": 433,
"name": "CALLDATALOAD",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 26,
"end": 433,
"name": "SHR",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "DUP1",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"source": 0,
"value": "3A7D22BC"
},
{
"begin": 26,
"end": 433,
"name": "EQ",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 26,
"end": 433,
"name": "JUMPI",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "DUP1",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"source": 0,
"value": "939DCBF6"
},
{
"begin": 26,
"end": 433,
"name": "EQ",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 26,
"end": 433,
"name": "JUMPI",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "DUP1",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"source": 0,
"value": "9A6FCBDD"
},
{
"begin": 26,
"end": 433,
"name": "EQ",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 26,
"end": 433,
"name": "JUMPI",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "DUP1",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"source": 0,
"value": "BE1C766B"
},
{
"begin": 26,
"end": 433,
"name": "EQ",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 26,
"end": 433,
"name": "JUMPI",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "DUP1",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"source": 0,
"value": "E9B61909"
},
{
"begin": 26,
"end": 433,
"name": "EQ",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 26,
"end": 433,
"name": "JUMPI",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "DUP1",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"source": 0,
"value": "EE495002"
},
{
"begin": 26,
"end": 433,
"name": "EQ",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 26,
"end": 433,
"name": "JUMPI",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 26,
"end": 433,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 26,
"end": 433,
"name": "DUP1",
"source": 0
},
{
"begin": 26,
"end": 433,
"name": "REVERT",
"source": 0
},
{
"begin": 191,
"end": 277,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 191,
"end": 277,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 191,
"end": 277,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 191,
"end": 277,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 191,
"end": 277,
"name": "DUP1",
"source": 0
},
{
"begin": 191,
"end": 277,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 191,
"end": 277,
"name": "SUB",
"source": 0
},
{
"begin": 191,
"end": 277,
"name": "DUP2",
"source": 0
},
{
"begin": 191,
"end": 277,
"name": "ADD",
"source": 0
},
{
"begin": 191,
"end": 277,
"name": "SWAP1",
"source": 0
},
{
"begin": 191,
"end": 277,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 191,
"end": 277,
"name": "SWAP2",
"source": 0
},
{
"begin": 191,
"end": 277,
"name": "SWAP1",
"source": 0
},
{
"begin": 191,
"end": 277,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 191,
"end": 277,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 191,
"end": 277,
"name": "tag",
"source": 0,
"value": "10"
},
{
"begin": 191,
"end": 277,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 191,
"end": 277,
"name": "PUSH [tag]",
"source": 0,
"value": "12"
},
{
"begin": 191,
"end": 277,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 191,
"end": 277,
"name": "tag",
"source": 0,
"value": "9"
},
{
"begin": 191,
"end": 277,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 191,
"end": 277,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 191,
"end": 277,
"name": "MLOAD",
"source": 0
},
{
"begin": 191,
"end": 277,
"name": "PUSH [tag]",
"source": 0,
"value": "13"
},
{
"begin": 191,
"end": 277,
"name": "SWAP2",
"source": 0
},
{
"begin": 191,
"end": 277,
"name": "SWAP1",
"source": 0
},
{
"begin": 191,
"end": 277,
"name": "PUSH [tag]",
"source": 0,
"value": "14"
},
{
"begin": 191,
"end": 277,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 191,
"end": 277,
"name": "tag",
"source": 0,
"value": "13"
},
{
"begin": 191,
"end": 277,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 191,
"end": 277,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 191,
"end": 277,
"name": "MLOAD",
"source": 0
},
{
"begin": 191,
"end": 277,
"name": "DUP1",
"source": 0
},
{
"begin": 191,
"end": 277,
"name": "SWAP2",
"source": 0
},
{
"begin": 191,
"end": 277,
"name": "SUB",
"source": 0
},
{
"begin": 191,
"end": 277,
"name": "SWAP1",
"source": 0
},
{
"begin": 191,
"end": 277,
"name": "RETURN",
"source": 0
},
{
"begin": 111,
"end": 183,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 111,
"end": 183,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 111,
"end": 183,
"name": "PUSH [tag]",
"source": 0,
"value": "15"
},
{
"begin": 111,
"end": 183,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 111,
"end": 183,
"name": "DUP1",
"source": 0
},
{
"begin": 111,
"end": 183,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 111,
"end": 183,
"name": "SUB",
"source": 0
},
{
"begin": 111,
"end": 183,
"name": "DUP2",
"source": 0
},
{
"begin": 111,
"end": 183,
"name": "ADD",
"source": 0
},
{
"begin": 111,
"end": 183,
"name": "SWAP1",
"source": 0
},
{
"begin": 111,
"end": 183,
"name": "PUSH [tag]",
"source": 0,
"value": "16"
},
{
"begin": 111,
"end": 183,
"name": "SWAP2",
"source": 0
},
{
"begin": 111,
"end": 183,
"name": "SWAP1",
"source": 0
},
{
"begin": 111,
"end": 183,
"name": "PUSH [tag]",
"source": 0,
"value": "17"
},
{
"begin": 111,
"end": 183,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 111,
"end": 183,
"name": "tag",
"source": 0,
"value": "16"
},
{
"begin": 111,
"end": 183,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 111,
"end": 183,
"name": "PUSH [tag]",
"source": 0,
"value": "18"
},
{
"begin": 111,
"end": 183,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 111,
"end": 183,
"name": "tag",
"source": 0,
"value": "15"
},
{
"begin": 111,
"end": 183,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 111,
"end": 183,
"name": "STOP",
"source": 0
},
{
"begin": 374,
"end": 430,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 374,
"end": 430,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 374,
"end": 430,
"name": "PUSH [tag]",
"source": 0,
"value": "19"
},
{
"begin": 374,
"end": 430,
"name": "PUSH [tag]",
"source": 0,
"value": "20"
},
{
"begin": 374,
"end": 430,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 374,
"end": 430,
"name": "tag",
"source": 0,
"value": "19"
},
{
"begin": 374,
"end": 430,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 374,
"end": 430,
"name": "STOP",
"source": 0
},
{
"begin": 285,
"end": 366,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 285,
"end": 366,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 285,
"end": 366,
"name": "PUSH [tag]",
"source": 0,
"value": "21"
},
{
"begin": 285,
"end": 366,
"name": "PUSH [tag]",
"source": 0,
"value": "22"
},
{
"begin": 285,
"end": 366,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 285,
"end": 366,
"name": "tag",
"source": 0,
"value": "21"
},
{
"begin": 285,
"end": 366,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 285,
"end": 366,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 285,
"end": 366,
"name": "MLOAD",
"source": 0
},
{
"begin": 285,
"end": 366,
"name": "PUSH [tag]",
"source": 0,
"value": "23"
},
{
"begin": 285,
"end": 366,
"name": "SWAP2",
"source": 0
},
{
"begin": 285,
"end": 366,
"name": "SWAP1",
"source": 0
},
{
"begin": 285,
"end": 366,
"name": "PUSH [tag]",
"source": 0,
"value": "24"
},
{
"begin": 285,
"end": 366,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 285,
"end": 366,
"name": "tag",
"source": 0,
"value": "23"
},
{
"begin": 285,
"end": 366,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 285,
"end": 366,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 285,
"end": 366,
"name": "MLOAD",
"source": 0
},
{
"begin": 285,
"end": 366,
"name": "DUP1",
"source": 0
},
{
"begin": 285,
"end": 366,
"name": "SWAP2",
"source": 0
},
{
"begin": 285,
"end": 366,
"name": "SUB",
"source": 0
},
{
"begin": 285,
"end": 366,
"name": "SWAP1",
"source": 0
},
{
"begin": 285,
"end": 366,
"name": "RETURN",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "tag",
"source": 0,
"value": "7"
},
{
"begin": 86,
"end": 101,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH [tag]",
"source": 0,
"value": "25"
},
{
"begin": 86,
"end": 101,
"name": "PUSH [tag]",
"source": 0,
"value": "26"
},
{
"begin": 86,
"end": 101,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 86,
"end": 101,
"name": "tag",
"source": 0,
"value": "25"
},
{
"begin": 86,
"end": 101,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 86,
"end": 101,
"name": "MLOAD",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH [tag]",
"source": 0,
"value": "27"
},
{
"begin": 86,
"end": 101,
"name": "SWAP2",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SWAP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH [tag]",
"source": 0,
"value": "28"
},
{
"begin": 86,
"end": 101,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 86,
"end": 101,
"name": "tag",
"source": 0,
"value": "27"
},
{
"begin": 86,
"end": 101,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 86,
"end": 101,
"name": "MLOAD",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SWAP2",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SUB",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SWAP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "RETURN",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "tag",
"source": 0,
"value": "8"
},
{
"begin": 56,
"end": 79,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH [tag]",
"source": 0,
"value": "29"
},
{
"begin": 56,
"end": 79,
"name": "PUSH [tag]",
"source": 0,
"value": "30"
},
{
"begin": 56,
"end": 79,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 56,
"end": 79,
"name": "tag",
"source": 0,
"value": "29"
},
{
"begin": 56,
"end": 79,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 56,
"end": 79,
"name": "MLOAD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH [tag]",
"source": 0,
"value": "31"
},
{
"begin": 56,
"end": 79,
"name": "SWAP2",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH [tag]",
"source": 0,
"value": "28"
},
{
"begin": 56,
"end": 79,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 56,
"end": 79,
"name": "tag",
"source": 0,
"value": "31"
},
{
"begin": 56,
"end": 79,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 56,
"end": 79,
"name": "MLOAD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP2",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SUB",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "RETURN",
"source": 0
},
{
"begin": 191,
"end": 277,
"name": "tag",
"source": 0,
"value": "12"
},
{
"begin": 191,
"end": 277,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 239,
"end": 245,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 264,
"end": 266,
"name": "DUP1",
"source": 0
},
{
"begin": 267,
"end": 268,
"name": "DUP3",
"source": 0
},
{
"begin": 264,
"end": 269,
"name": "DUP2",
"source": 0
},
{
"begin": 264,
"end": 269,
"name": "SLOAD",
"source": 0
},
{
"begin": 264,
"end": 269,
"name": "PUSH [tag]",
"source": 0,
"value": "33"
},
{
"begin": 264,
"end": 269,
"name": "SWAP1",
"source": 0
},
{
"begin": 264,
"end": 269,
"name": "PUSH [tag]",
"source": 0,
"value": "34"
},
{
"begin": 264,
"end": 269,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 264,
"end": 269,
"name": "tag",
"source": 0,
"value": "33"
},
{
"begin": 264,
"end": 269,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 264,
"end": 269,
"name": "DUP2",
"source": 0
},
{
"begin": 264,
"end": 269,
"name": "LT",
"source": 0
},
{
"begin": 264,
"end": 269,
"name": "PUSH [tag]",
"source": 0,
"value": "35"
},
{
"begin": 264,
"end": 269,
"name": "JUMPI",
"source": 0
},
{
"begin": 264,
"end": 269,
"name": "PUSH",
"source": 0,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 264,
"end": 269,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 264,
"end": 269,
"name": "MSTORE",
"source": 0
},
{
"begin": 264,
"end": 269,
"name": "PUSH",
"source": 0,
"value": "32"
},
{
"begin": 264,
"end": 269,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 264,
"end": 269,
"name": "MSTORE",
"source": 0
},
{
"begin": 264,
"end": 269,
"name": "PUSH",
"source": 0,
"value": "24"
},
{
"begin": 264,
"end": 269,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 264,
"end": 269,
"name": "REVERT",
"source": 0
},
{
"begin": 264,
"end": 269,
"name": "tag",
"source": 0,
"value": "35"
},
{
"begin": 264,
"end": 269,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 264,
"end": 269,
"name": "DUP2",
"source": 0
},
{
"begin": 264,
"end": 269,
"name": "SLOAD",
"source": 0
},
{
"begin": 264,
"end": 269,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 264,
"end": 269,
"name": "AND",
"source": 0
},
{
"begin": 264,
"end": 269,
"name": "ISZERO",
"source": 0
},
{
"begin": 264,
"end": 269,
"name": "PUSH [tag]",
"source": 0,
"value": "36"
},
{
"begin": 264,
"end": 269,
"name": "JUMPI",
"source": 0
},
{
"begin": 264,
"end": 269,
"name": "SWAP1",
"source": 0
},
{
"begin": 264,
"end": 269,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 264,
"end": 269,
"name": "MSTORE",
"source": 0
},
{
"begin": 264,
"end": 269,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 264,
"end": 269,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 264,
"end": 269,
"name": "KECCAK256",
"source": 0
},
{
"begin": 264,
"end": 269,
"name": "SWAP1",
"source": 0
},
{
"begin": 264,
"end": 269,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 264,
"end": 269,
"name": "SWAP2",
"source": 0
},
{
"begin": 264,
"end": 269,
"name": "DUP3",
"source": 0
},
{
"begin": 264,
"end": 269,
"name": "DUP3",
"source": 0
},
{
"begin": 264,
"end": 269,
"name": "DIV",
"source": 0
},
{
"begin": 264,
"end": 269,
"name": "ADD",
"source": 0
},
{
"begin": 264,
"end": 269,
"name": "SWAP2",
"source": 0
},
{
"begin": 264,
"end": 269,
"name": "SWAP1",
"source": 0
},
{
"begin": 264,
"end": 269,
"name": "MOD",
"source": 0
},
{
"begin": 264,
"end": 269,
"name": "tag",
"source": 0,
"value": "36"
},
{
"begin": 264,
"end": 269,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 264,
"end": 269,
"name": "SWAP1",
"source": 0
},
{
"begin": 264,
"end": 269,
"name": "SLOAD",
"source": 0
},
{
"begin": 264,
"end": 269,
"name": "SWAP1",
"source": 0
},
{
"begin": 264,
"end": 269,
"name": "BYTE",
"source": 0
},
{
"begin": 264,
"end": 269,
"name": "PUSH",
"source": 0,
"value": "100000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 264,
"end": 269,
"name": "MUL",
"source": 0
},
{
"begin": 257,
"end": 269,
"name": "SWAP1",
"source": 0
},
{
"begin": 257,
"end": 269,
"name": "POP",
"source": 0
},
{
"begin": 191,
"end": 277,
"name": "SWAP2",
"source": 0
},
{
"begin": 191,
"end": 277,
"name": "SWAP1",
"source": 0
},
{
"begin": 191,
"end": 277,
"name": "POP",
"source": 0
},
{
"begin": 191,
"end": 277,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 111,
"end": 183,
"name": "tag",
"source": 0,
"value": "18"
},
{
"begin": 111,
"end": 183,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 166,
"end": 168,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 166,
"end": 175,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 166,
"end": 175,
"name": "DUP2",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "DUP1",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "SLOAD",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "DUP1",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "PUSH [tag]",
"source": 0,
"value": "38"
},
{
"begin": 166,
"end": 175,
"name": "SWAP1",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "PUSH [tag]",
"source": 0,
"value": "34"
},
{
"begin": 166,
"end": 175,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 166,
"end": 175,
"name": "tag",
"source": 0,
"value": "38"
},
{
"begin": 166,
"end": 175,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "DUP1",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 166,
"end": 175,
"name": "DUP2",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "EQ",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "PUSH [tag]",
"source": 0,
"value": "40"
},
{
"begin": 166,
"end": 175,
"name": "JUMPI",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "PUSH [tag]",
"source": 0,
"value": "39"
},
{
"begin": 166,
"end": 175,
"name": "JUMP",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "tag",
"source": 0,
"value": "40"
},
{
"begin": 166,
"end": 175,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "DUP4",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 166,
"end": 175,
"name": "MSTORE",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 166,
"end": 175,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 166,
"end": 175,
"name": "KECCAK256",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "PUSH",
"source": 0,
"value": "FF"
},
{
"begin": 166,
"end": 175,
"name": "NOT",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "DUP5",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "AND",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "DUP2",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "SSTORE",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "PUSH",
"source": 0,
"value": "3F"
},
{
"begin": 166,
"end": 175,
"name": "SWAP4",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "POP",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "POP",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "tag",
"source": 0,
"value": "39"
},
{
"begin": 166,
"end": 175,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "POP",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "PUSH",
"source": 0,
"value": "2"
},
{
"begin": 166,
"end": 175,
"name": "DUP3",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "ADD",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "DUP4",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "SSTORE",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 166,
"end": 175,
"name": "DUP2",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "ADD",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "SWAP3",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "POP",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "POP",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "POP",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "SUB",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "DUP2",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "SLOAD",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 166,
"end": 175,
"name": "AND",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "ISZERO",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "PUSH [tag]",
"source": 0,
"value": "41"
},
{
"begin": 166,
"end": 175,
"name": "JUMPI",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "SWAP1",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 166,
"end": 175,
"name": "MSTORE",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 166,
"end": 175,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 166,
"end": 175,
"name": "KECCAK256",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "SWAP1",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 166,
"end": 175,
"name": "SWAP2",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "DUP3",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "DUP3",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "DIV",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "ADD",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "SWAP2",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "SWAP1",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "MOD",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "tag",
"source": 0,
"value": "41"
},
{
"begin": 166,
"end": 175,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "SWAP1",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "SLOAD",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "SWAP1",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "POP",
"source": 0
},
{
"begin": 166,
"end": 175,
"name": "POP",
"source": 0
},
{
"begin": 111,
"end": 183,
"name": "POP",
"source": 0
},
{
"begin": 111,
"end": 183,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 374,
"end": 430,
"name": "tag",
"source": 0,
"value": "20"
},
{
"begin": 374,
"end": 430,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 414,
"end": 416,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 414,
"end": 422,
"name": "DUP1",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "SLOAD",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "DUP1",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "PUSH [tag]",
"source": 0,
"value": "43"
},
{
"begin": 414,
"end": 422,
"name": "SWAP1",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "PUSH [tag]",
"source": 0,
"value": "34"
},
{
"begin": 414,
"end": 422,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 414,
"end": 422,
"name": "tag",
"source": 0,
"value": "43"
},
{
"begin": 414,
"end": 422,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "DUP1",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "PUSH [tag]",
"source": 0,
"value": "44"
},
{
"begin": 414,
"end": 422,
"name": "JUMPI",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 414,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 414,
"end": 422,
"name": "MSTORE",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "31"
},
{
"begin": 414,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 414,
"end": 422,
"name": "MSTORE",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "24"
},
{
"begin": 414,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 414,
"end": 422,
"name": "REVERT",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "tag",
"source": 0,
"value": "44"
},
{
"begin": 414,
"end": 422,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 414,
"end": 422,
"name": "DUP2",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "GT",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 414,
"end": 422,
"name": "DUP2",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "EQ",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "PUSH [tag]",
"source": 0,
"value": "46"
},
{
"begin": 414,
"end": 422,
"name": "JUMPI",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 414,
"end": 422,
"name": "DUP2",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "EQ",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "PUSH [tag]",
"source": 0,
"value": "47"
},
{
"begin": 414,
"end": 422,
"name": "JUMPI",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "PUSH [tag]",
"source": 0,
"value": "45"
},
{
"begin": 414,
"end": 422,
"name": "JUMP",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "tag",
"source": 0,
"value": "46"
},
{
"begin": 414,
"end": 422,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 414,
"end": 422,
"name": "DUP3",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "21"
},
{
"begin": 414,
"end": 422,
"name": "SUB",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 414,
"end": 422,
"name": "EXP",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "SUB",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 414,
"end": 422,
"name": "DUP4",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "SUB",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "SWAP3",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "POP",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "2"
},
{
"begin": 414,
"end": 422,
"name": "DUP4",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "MUL",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "DUP5",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "DUP3",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "NOT",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "AND",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "OR",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "SWAP4",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "POP",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "POP",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "PUSH [tag]",
"source": 0,
"value": "45"
},
{
"begin": 414,
"end": 422,
"name": "JUMP",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "tag",
"source": 0,
"value": "47"
},
{
"begin": 414,
"end": 422,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "DUP4",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 414,
"end": 422,
"name": "MSTORE",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 414,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 414,
"end": 422,
"name": "KECCAK256",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "DUP3",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 414,
"end": 422,
"name": "DUP2",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "EQ",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "PUSH [tag]",
"source": 0,
"value": "49"
},
{
"begin": 414,
"end": 422,
"name": "JUMPI",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 414,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 414,
"end": 422,
"name": "DUP6",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "SUB",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "AND",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 414,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 414,
"end": 422,
"name": "DUP7",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "SUB",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "DIV",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "DUP4",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "ADD",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "SWAP3",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "POP",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "DUP3",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "SLOAD",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 414,
"end": 422,
"name": "DUP3",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 414,
"end": 422,
"name": "SUB",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 414,
"end": 422,
"name": "EXP",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "SUB",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "DUP2",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "DUP2",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "NOT",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "AND",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "SWAP2",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "POP",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "DUP2",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "DUP6",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "SSTORE",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "2"
},
{
"begin": 414,
"end": 422,
"name": "DUP9",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "SUB",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "SWAP8",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "POP",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "POP",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "POP",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "POP",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "PUSH [tag]",
"source": 0,
"value": "48"
},
{
"begin": 414,
"end": 422,
"name": "JUMP",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "tag",
"source": 0,
"value": "49"
},
{
"begin": 414,
"end": 422,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "DUP2",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "SLOAD",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 414,
"end": 422,
"name": "DUP4",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "SSTORE",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "FF"
},
{
"begin": 414,
"end": 422,
"name": "NOT",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "DUP2",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "AND",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "SWAP1",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "POP",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "PUSH",
"source": 0,
"value": "3E"
},
{
"begin": 414,
"end": 422,
"name": "DUP2",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "OR",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "SWAP6",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "POP",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "POP",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "tag",
"source": 0,
"value": "48"
},
{
"begin": 414,
"end": 422,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "POP",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "POP",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "tag",
"source": 0,
"value": "45"
},
{
"begin": 414,
"end": 422,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "POP",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "DUP2",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "DUP4",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "SSTORE",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "POP",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "POP",
"source": 0
},
{
"begin": 414,
"end": 422,
"name": "POP",
"source": 0
},
{
"begin": 374,
"end": 430,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 285,
"end": 366,
"name": "tag",
"source": 0,
"value": "22"
},
{
"begin": 285,
"end": 366,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 326,
"end": 330,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 349,
"end": 351,
"name": "DUP1",
"source": 0
},
{
"begin": 349,
"end": 358,
"name": "DUP1",
"source": 0
},
{
"begin": 349,
"end": 358,
"name": "SLOAD",
"source": 0
},
{
"begin": 349,
"end": 358,
"name": "PUSH [tag]",
"source": 0,
"value": "51"
},
{
"begin": 349,
"end": 358,
"name": "SWAP1",
"source": 0
},
{
"begin": 349,
"end": 358,
"name": "PUSH [tag]",
"source": 0,
"value": "34"
},
{
"begin": 349,
"end": 358,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 349,
"end": 358,
"name": "tag",
"source": 0,
"value": "51"
},
{
"begin": 349,
"end": 358,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 349,
"end": 358,
"name": "SWAP1",
"source": 0
},
{
"begin": 349,
"end": 358,
"name": "POP",
"source": 0
},
{
"begin": 342,
"end": 358,
"name": "SWAP1",
"source": 0
},
{
"begin": 342,
"end": 358,
"name": "POP",
"source": 0
},
{
"begin": 285,
"end": 366,
"name": "SWAP1",
"source": 0
},
{
"begin": 285,
"end": 366,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 86,
"end": 101,
"name": "tag",
"source": 0,
"value": "26"
},
{
"begin": 86,
"end": 101,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 86,
"end": 101,
"name": "DUP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SLOAD",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH [tag]",
"source": 0,
"value": "52"
},
{
"begin": 86,
"end": 101,
"name": "SWAP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH [tag]",
"source": 0,
"value": "34"
},
{
"begin": 86,
"end": 101,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 86,
"end": 101,
"name": "tag",
"source": 0,
"value": "52"
},
{
"begin": 86,
"end": 101,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 86,
"end": 101,
"name": "ADD",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 86,
"end": 101,
"name": "DUP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SWAP2",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DIV",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "MUL",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 86,
"end": 101,
"name": "ADD",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 86,
"end": 101,
"name": "MLOAD",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SWAP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP2",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "ADD",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 86,
"end": 101,
"name": "MSTORE",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SWAP3",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SWAP2",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SWAP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP2",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP2",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "MSTORE",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 86,
"end": 101,
"name": "ADD",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP3",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SLOAD",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH [tag]",
"source": 0,
"value": "53"
},
{
"begin": 86,
"end": 101,
"name": "SWAP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH [tag]",
"source": 0,
"value": "34"
},
{
"begin": 86,
"end": 101,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 86,
"end": 101,
"name": "tag",
"source": 0,
"value": "53"
},
{
"begin": 86,
"end": 101,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "ISZERO",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH [tag]",
"source": 0,
"value": "54"
},
{
"begin": 86,
"end": 101,
"name": "JUMPI",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 86,
"end": 101,
"name": "LT",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH [tag]",
"source": 0,
"value": "55"
},
{
"begin": 86,
"end": 101,
"name": "JUMPI",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 86,
"end": 101,
"name": "DUP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP4",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SLOAD",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DIV",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "MUL",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP4",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "MSTORE",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SWAP2",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 86,
"end": 101,
"name": "ADD",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SWAP2",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH [tag]",
"source": 0,
"value": "54"
},
{
"begin": 86,
"end": 101,
"name": "JUMP",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "tag",
"source": 0,
"value": "55"
},
{
"begin": 86,
"end": 101,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP3",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "ADD",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SWAP2",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SWAP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 86,
"end": 101,
"name": "MSTORE",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 86,
"end": 101,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 86,
"end": 101,
"name": "KECCAK256",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SWAP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "tag",
"source": 0,
"value": "56"
},
{
"begin": 86,
"end": 101,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP2",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SLOAD",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP2",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "MSTORE",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SWAP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 86,
"end": 101,
"name": "ADD",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SWAP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 86,
"end": 101,
"name": "ADD",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP4",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "GT",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH [tag]",
"source": 0,
"value": "56"
},
{
"begin": 86,
"end": 101,
"name": "JUMPI",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP3",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SWAP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SUB",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 86,
"end": 101,
"name": "AND",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP3",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "ADD",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SWAP2",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "tag",
"source": 0,
"value": "54"
},
{
"begin": 86,
"end": 101,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "POP",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "POP",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "POP",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "POP",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "POP",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP2",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 56,
"end": 79,
"name": "tag",
"source": 0,
"value": "30"
},
{
"begin": 56,
"end": 79,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 56,
"end": 79,
"name": "DUP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SLOAD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH [tag]",
"source": 0,
"value": "57"
},
{
"begin": 56,
"end": 79,
"name": "SWAP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH [tag]",
"source": 0,
"value": "34"
},
{
"begin": 56,
"end": 79,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 56,
"end": 79,
"name": "tag",
"source": 0,
"value": "57"
},
{
"begin": 56,
"end": 79,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 56,
"end": 79,
"name": "ADD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 56,
"end": 79,
"name": "DUP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP2",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DIV",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "MUL",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 56,
"end": 79,
"name": "ADD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 56,
"end": 79,
"name": "MLOAD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP2",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "ADD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 56,
"end": 79,
"name": "MSTORE",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP3",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP2",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP2",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP2",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "MSTORE",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 56,
"end": 79,
"name": "ADD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP3",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SLOAD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH [tag]",
"source": 0,
"value": "58"
},
{
"begin": 56,
"end": 79,
"name": "SWAP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH [tag]",
"source": 0,
"value": "34"
},
{
"begin": 56,
"end": 79,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 56,
"end": 79,
"name": "tag",
"source": 0,
"value": "58"
},
{
"begin": 56,
"end": 79,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "ISZERO",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH [tag]",
"source": 0,
"value": "59"
},
{
"begin": 56,
"end": 79,
"name": "JUMPI",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 56,
"end": 79,
"name": "LT",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH [tag]",
"source": 0,
"value": "60"
},
{
"begin": 56,
"end": 79,
"name": "JUMPI",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 56,
"end": 79,
"name": "DUP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP4",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SLOAD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DIV",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "MUL",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP4",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "MSTORE",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP2",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 56,
"end": 79,
"name": "ADD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP2",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH [tag]",
"source": 0,
"value": "59"
},
{
"begin": 56,
"end": 79,
"name": "JUMP",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "tag",
"source": 0,
"value": "60"
},
{
"begin": 56,
"end": 79,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP3",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "ADD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP2",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 56,
"end": 79,
"name": "MSTORE",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 56,
"end": 79,
"name": "KECCAK256",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "tag",
"source": 0,
"value": "61"
},
{
"begin": 56,
"end": 79,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP2",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SLOAD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP2",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "MSTORE",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 56,
"end": 79,
"name": "ADD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 56,
"end": 79,
"name": "ADD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP4",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "GT",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH [tag]",
"source": 0,
"value": "61"
},
{
"begin": 56,
"end": 79,
"name": "JUMPI",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP3",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SUB",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 56,
"end": 79,
"name": "AND",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP3",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "ADD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP2",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "tag",
"source": 0,
"value": "59"
},
{
"begin": 56,
"end": 79,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "POP",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "POP",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "POP",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "POP",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "POP",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP2",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 7,
"end": 351,
"name": "tag",
"source": 1,
"value": "63"
},
{
"begin": 7,
"end": 351,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7,
"end": 351,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 110,
"end": 175,
"name": "PUSH [tag]",
"source": 1,
"value": "65"
},
{
"begin": 125,
"end": 174,
"name": "PUSH [tag]",
"source": 1,
"value": "66"
},
{
"begin": 167,
"end": 173,
"name": "DUP5",
"source": 1
},
{
"begin": 125,
"end": 174,
"name": "PUSH [tag]",
"source": 1,
"value": "67"
},
{
"begin": 125,
"end": 174,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 125,
"end": 174,
"name": "tag",
"source": 1,
"value": "66"
},
{
"begin": 125,
"end": 174,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 110,
"end": 175,
"name": "PUSH [tag]",
"source": 1,
"value": "68"
},
{
"begin": 110,
"end": 175,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 110,
"end": 175,
"name": "tag",
"source": 1,
"value": "65"
},
{
"begin": 110,
"end": 175,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 101,
"end": 175,
"name": "SWAP1",
"source": 1
},
{
"begin": 101,
"end": 175,
"name": "POP",
"source": 1
},
{
"begin": 198,
"end": 204,
"name": "DUP3",
"source": 1
},
{
"begin": 191,
"end": 196,
"name": "DUP2",
"source": 1
},
{
"begin": 184,
"end": 205,
"name": "MSTORE",
"source": 1
},
{
"begin": 236,
"end": 240,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 229,
"end": 234,
"name": "DUP2",
"source": 1
},
{
"begin": 225,
"end": 241,
"name": "ADD",
"source": 1
},
{
"begin": 274,
"end": 277,
"name": "DUP5",
"source": 1
},
{
"begin": 265,
"end": 271,
"name": "DUP5",
"source": 1
},
{
"begin": 260,
"end": 263,
"name": "DUP5",
"source": 1
},
{
"begin": 256,
"end": 272,
"name": "ADD",
"source": 1
},
{
"begin": 253,
"end": 278,
"name": "GT",
"source": 1
},
{
"begin": 250,
"end": 252,
"name": "ISZERO",
"source": 1
},
{
"begin": 250,
"end": 252,
"name": "PUSH [tag]",
"source": 1,
"value": "69"
},
{
"begin": 250,
"end": 252,
"name": "JUMPI",
"source": 1
},
{
"begin": 291,
"end": 292,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 288,
"end": 289,
"name": "DUP1",
"source": 1
},
{
"begin": 281,
"end": 293,
"name": "REVERT",
"source": 1
},
{
"begin": 250,
"end": 252,
"name": "tag",
"source": 1,
"value": "69"
},
{
"begin": 250,
"end": 252,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 304,
"end": 345,
"name": "PUSH [tag]",
"source": 1,
"value": "70"
},
{
"begin": 338,
"end": 344,
"name": "DUP5",
"source": 1
},
{
"begin": 333,
"end": 336,
"name": "DUP3",
"source": 1
},
{
"begin": 328,
"end": 331,
"name": "DUP6",
"source": 1
},
{
"begin": 304,
"end": 345,
"name": "PUSH [tag]",
"source": 1,
"value": "71"
},
{
"begin": 304,
"end": 345,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 304,
"end": 345,
"name": "tag",
"source": 1,
"value": "70"
},
{
"begin": 304,
"end": 345,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 91,
"end": 351,
"name": "POP",
"source": 1
},
{
"begin": 91,
"end": 351,
"name": "SWAP4",
"source": 1
},
{
"begin": 91,
"end": 351,
"name": "SWAP3",
"source": 1
},
{
"begin": 91,
"end": 351,
"name": "POP",
"source": 1
},
{
"begin": 91,
"end": 351,
"name": "POP",
"source": 1
},
{
"begin": 91,
"end": 351,
"name": "POP",
"source": 1
},
{
"begin": 91,
"end": 351,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 371,
"end": 644,
"name": "tag",
"source": 1,
"value": "72"
},
{
"begin": 371,
"end": 644,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 371,
"end": 644,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 476,
"end": 479,
"name": "DUP3",
"source": 1
},
{
"begin": 469,
"end": 473,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 461,
"end": 467,
"name": "DUP4",
"source": 1
},
{
"begin": 457,
"end": 474,
"name": "ADD",
"source": 1
},
{
"begin": 453,
"end": 480,
"name": "SLT",
"source": 1
},
{
"begin": 443,
"end": 445,
"name": "PUSH [tag]",
"source": 1,
"value": "74"
},
{
"begin": 443,
"end": 445,
"name": "JUMPI",
"source": 1
},
{
"begin": 494,
"end": 495,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 491,
"end": 492,
"name": "DUP1",
"source": 1
},
{
"begin": 484,
"end": 496,
"name": "REVERT",
"source": 1
},
{
"begin": 443,
"end": 445,
"name": "tag",
"source": 1,
"value": "74"
},
{
"begin": 443,
"end": 445,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 534,
"end": 540,
"name": "DUP2",
"source": 1
},
{
"begin": 521,
"end": 541,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 559,
"end": 638,
"name": "PUSH [tag]",
"source": 1,
"value": "75"
},
{
"begin": 634,
"end": 637,
"name": "DUP5",
"source": 1
},
{
"begin": 626,
"end": 632,
"name": "DUP3",
"source": 1
},
{
"begin": 619,
"end": 623,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 611,
"end": 617,
"name": "DUP7",
"source": 1
},
{
"begin": 607,
"end": 624,
"name": "ADD",
"source": 1
},
{
"begin": 559,
"end": 638,
"name": "PUSH [tag]",
"source": 1,
"value": "63"
},
{
"begin": 559,
"end": 638,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 559,
"end": 638,
"name": "tag",
"source": 1,
"value": "75"
},
{
"begin": 559,
"end": 638,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 550,
"end": 638,
"name": "SWAP2",
"source": 1
},
{
"begin": 550,
"end": 638,
"name": "POP",
"source": 1
},
{
"begin": 433,
"end": 644,
"name": "POP",
"source": 1
},
{
"begin": 433,
"end": 644,
"name": "SWAP3",
"source": 1
},
{
"begin": 433,
"end": 644,
"name": "SWAP2",
"source": 1
},
{
"begin": 433,
"end": 644,
"name": "POP",
"source": 1
},
{
"begin": 433,
"end": 644,
"name": "POP",
"source": 1
},
{
"begin": 433,
"end": 644,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 650,
"end": 789,
"name": "tag",
"source": 1,
"value": "76"
},
{
"begin": 650,
"end": 789,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 650,
"end": 789,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 734,
"end": 740,
"name": "DUP2",
"source": 1
},
{
"begin": 721,
"end": 741,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 712,
"end": 741,
"name": "SWAP1",
"source": 1
},
{
"begin": 712,
"end": 741,
"name": "POP",
"source": 1
},
{
"begin": 750,
"end": 783,
"name": "PUSH [tag]",
"source": 1,
"value": "78"
},
{
"begin": 777,
"end": 782,
"name": "DUP2",
"source": 1
},
{
"begin": 750,
"end": 783,
"name": "PUSH [tag]",
"source": 1,
"value": "79"
},
{
"begin": 750,
"end": 783,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 750,
"end": 783,
"name": "tag",
"source": 1,
"value": "78"
},
{
"begin": 750,
"end": 783,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 702,
"end": 789,
"name": "SWAP3",
"source": 1
},
{
"begin": 702,
"end": 789,
"name": "SWAP2",
"source": 1
},
{
"begin": 702,
"end": 789,
"name": "POP",
"source": 1
},
{
"begin": 702,
"end": 789,
"name": "POP",
"source": 1
},
{
"begin": 702,
"end": 789,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 795,
"end": 1170,
"name": "tag",
"source": 1,
"value": "17"
},
{
"begin": 795,
"end": 1170,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 795,
"end": 1170,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 913,
"end": 915,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 901,
"end": 910,
"name": "DUP3",
"source": 1
},
{
"begin": 892,
"end": 899,
"name": "DUP5",
"source": 1
},
{
"begin": 888,
"end": 911,
"name": "SUB",
"source": 1
},
{
"begin": 884,
"end": 916,
"name": "SLT",
"source": 1
},
{
"begin": 881,
"end": 883,
"name": "ISZERO",
"source": 1
},
{
"begin": 881,
"end": 883,
"name": "PUSH [tag]",
"source": 1,
"value": "81"
},
{
"begin": 881,
"end": 883,
"name": "JUMPI",
"source": 1
},
{
"begin": 929,
"end": 930,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 926,
"end": 927,
"name": "DUP1",
"source": 1
},
{
"begin": 919,
"end": 931,
"name": "REVERT",
"source": 1
},
{
"begin": 881,
"end": 883,
"name": "tag",
"source": 1,
"value": "81"
},
{
"begin": 881,
"end": 883,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1000,
"end": 1001,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 989,
"end": 998,
"name": "DUP3",
"source": 1
},
{
"begin": 985,
"end": 1002,
"name": "ADD",
"source": 1
},
{
"begin": 972,
"end": 1003,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 1030,
"end": 1048,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFF"
},
{
"begin": 1022,
"end": 1028,
"name": "DUP2",
"source": 1
},
{
"begin": 1019,
"end": 1049,
"name": "GT",
"source": 1
},
{
"begin": 1016,
"end": 1018,
"name": "ISZERO",
"source": 1
},
{
"begin": 1016,
"end": 1018,
"name": "PUSH [tag]",
"source": 1,
"value": "82"
},
{
"begin": 1016,
"end": 1018,
"name": "JUMPI",
"source": 1
},
{
"begin": 1062,
"end": 1063,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1059,
"end": 1060,
"name": "DUP1",
"source": 1
},
{
"begin": 1052,
"end": 1064,
"name": "REVERT",
"source": 1
},
{
"begin": 1016,
"end": 1018,
"name": "tag",
"source": 1,
"value": "82"
},
{
"begin": 1016,
"end": 1018,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1090,
"end": 1153,
"name": "PUSH [tag]",
"source": 1,
"value": "83"
},
{
"begin": 1145,
"end": 1152,
"name": "DUP5",
"source": 1
},
{
"begin": 1136,
"end": 1142,
"name": "DUP3",
"source": 1
},
{
"begin": 1125,
"end": 1134,
"name": "DUP6",
"source": 1
},
{
"begin": 1121,
"end": 1143,
"name": "ADD",
"source": 1
},
{
"begin": 1090,
"end": 1153,
"name": "PUSH [tag]",
"source": 1,
"value": "72"
},
{
"begin": 1090,
"end": 1153,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1090,
"end": 1153,
"name": "tag",
"source": 1,
"value": "83"
},
{
"begin": 1090,
"end": 1153,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1080,
"end": 1153,
"name": "SWAP2",
"source": 1
},
{
"begin": 1080,
"end": 1153,
"name": "POP",
"source": 1
},
{
"begin": 943,
"end": 1163,
"name": "POP",
"source": 1
},
{
"begin": 871,
"end": 1170,
"name": "SWAP3",
"source": 1
},
{
"begin": 871,
"end": 1170,
"name": "SWAP2",
"source": 1
},
{
"begin": 871,
"end": 1170,
"name": "POP",
"source": 1
},
{
"begin": 871,
"end": 1170,
"name": "POP",
"source": 1
},
{
"begin": 871,
"end": 1170,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 1176,
"end": 1438,
"name": "tag",
"source": 1,
"value": "11"
},
{
"begin": 1176,
"end": 1438,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1176,
"end": 1438,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1284,
"end": 1286,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1272,
"end": 1281,
"name": "DUP3",
"source": 1
},
{
"begin": 1263,
"end": 1270,
"name": "DUP5",
"source": 1
},
{
"begin": 1259,
"end": 1282,
"name": "SUB",
"source": 1
},
{
"begin": 1255,
"end": 1287,
"name": "SLT",
"source": 1
},
{
"begin": 1252,
"end": 1254,
"name": "ISZERO",
"source": 1
},
{
"begin": 1252,
"end": 1254,
"name": "PUSH [tag]",
"source": 1,
"value": "85"
},
{
"begin": 1252,
"end": 1254,
"name": "JUMPI",
"source": 1
},
{
"begin": 1300,
"end": 1301,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1297,
"end": 1298,
"name": "DUP1",
"source": 1
},
{
"begin": 1290,
"end": 1302,
"name": "REVERT",
"source": 1
},
{
"begin": 1252,
"end": 1254,
"name": "tag",
"source": 1,
"value": "85"
},
{
"begin": 1252,
"end": 1254,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1343,
"end": 1344,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1368,
"end": 1421,
"name": "PUSH [tag]",
"source": 1,
"value": "86"
},
{
"begin": 1413,
"end": 1420,
"name": "DUP5",
"source": 1
},
{
"begin": 1404,
"end": 1410,
"name": "DUP3",
"source": 1
},
{
"begin": 1393,
"end": 1402,
"name": "DUP6",
"source": 1
},
{
"begin": 1389,
"end": 1411,
"name": "ADD",
"source": 1
},
{
"begin": 1368,
"end": 1421,
"name": "PUSH [tag]",
"source": 1,
"value": "76"
},
{
"begin": 1368,
"end": 1421,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1368,
"end": 1421,
"name": "tag",
"source": 1,
"value": "86"
},
{
"begin": 1368,
"end": 1421,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1358,
"end": 1421,
"name": "SWAP2",
"source": 1
},
{
"begin": 1358,
"end": 1421,
"name": "POP",
"source": 1
},
{
"begin": 1314,
"end": 1431,
"name": "POP",
"source": 1
},
{
"begin": 1242,
"end": 1438,
"name": "SWAP3",
"source": 1
},
{
"begin": 1242,
"end": 1438,
"name": "SWAP2",
"source": 1
},
{
"begin": 1242,
"end": 1438,
"name": "POP",
"source": 1
},
{
"begin": 1242,
"end": 1438,
"name": "POP",
"source": 1
},
{
"begin": 1242,
"end": 1438,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 1444,
"end": 1559,
"name": "tag",
"source": 1,
"value": "87"
},
{
"begin": 1444,
"end": 1559,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1529,
"end": 1552,
"name": "PUSH [tag]",
"source": 1,
"value": "89"
},
{
"begin": 1546,
"end": 1551,
"name": "DUP2",
"source": 1
},
{
"begin": 1529,
"end": 1552,
"name": "PUSH [tag]",
"source": 1,
"value": "90"
},
{
"begin": 1529,
"end": 1552,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1529,
"end": 1552,
"name": "tag",
"source": 1,
"value": "89"
},
{
"begin": 1529,
"end": 1552,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1524,
"end": 1527,
"name": "DUP3",
"source": 1
},
{
"begin": 1517,
"end": 1553,
"name": "MSTORE",
"source": 1
},
{
"begin": 1507,
"end": 1559,
"name": "POP",
"source": 1
},
{
"begin": 1507,
"end": 1559,
"name": "POP",
"source": 1
},
{
"begin": 1507,
"end": 1559,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 1565,
"end": 1925,
"name": "tag",
"source": 1,
"value": "91"
},
{
"begin": 1565,
"end": 1925,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1565,
"end": 1925,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1679,
"end": 1717,
"name": "PUSH [tag]",
"source": 1,
"value": "93"
},
{
"begin": 1711,
"end": 1716,
"name": "DUP3",
"source": 1
},
{
"begin": 1679,
"end": 1717,
"name": "PUSH [tag]",
"source": 1,
"value": "94"
},
{
"begin": 1679,
"end": 1717,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1679,
"end": 1717,
"name": "tag",
"source": 1,
"value": "93"
},
{
"begin": 1679,
"end": 1717,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1733,
"end": 1803,
"name": "PUSH [tag]",
"source": 1,
"value": "95"
},
{
"begin": 1796,
"end": 1802,
"name": "DUP2",
"source": 1
},
{
"begin": 1791,
"end": 1794,
"name": "DUP6",
"source": 1
},
{
"begin": 1733,
"end": 1803,
"name": "PUSH [tag]",
"source": 1,
"value": "96"
},
{
"begin": 1733,
"end": 1803,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1733,
"end": 1803,
"name": "tag",
"source": 1,
"value": "95"
},
{
"begin": 1733,
"end": 1803,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1726,
"end": 1803,
"name": "SWAP4",
"source": 1
},
{
"begin": 1726,
"end": 1803,
"name": "POP",
"source": 1
},
{
"begin": 1812,
"end": 1864,
"name": "PUSH [tag]",
"source": 1,
"value": "97"
},
{
"begin": 1857,
"end": 1863,
"name": "DUP2",
"source": 1
},
{
"begin": 1852,
"end": 1855,
"name": "DUP6",
"source": 1
},
{
"begin": 1845,
"end": 1849,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1838,
"end": 1843,
"name": "DUP7",
"source": 1
},
{
"begin": 1834,
"end": 1850,
"name": "ADD",
"source": 1
},
{
"begin": 1812,
"end": 1864,
"name": "PUSH [tag]",
"source": 1,
"value": "98"
},
{
"begin": 1812,
"end": 1864,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1812,
"end": 1864,
"name": "tag",
"source": 1,
"value": "97"
},
{
"begin": 1812,
"end": 1864,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1889,
"end": 1918,
"name": "PUSH [tag]",
"source": 1,
"value": "99"
},
{
"begin": 1911,
"end": 1917,
"name": "DUP2",
"source": 1
},
{
"begin": 1889,
"end": 1918,
"name": "PUSH [tag]",
"source": 1,
"value": "100"
},
{
"begin": 1889,
"end": 1918,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1889,
"end": 1918,
"name": "tag",
"source": 1,
"value": "99"
},
{
"begin": 1889,
"end": 1918,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1884,
"end": 1887,
"name": "DUP5",
"source": 1
},
{
"begin": 1880,
"end": 1919,
"name": "ADD",
"source": 1
},
{
"begin": 1873,
"end": 1919,
"name": "SWAP2",
"source": 1
},
{
"begin": 1873,
"end": 1919,
"name": "POP",
"source": 1
},
{
"begin": 1655,
"end": 1925,
"name": "POP",
"source": 1
},
{
"begin": 1655,
"end": 1925,
"name": "SWAP3",
"source": 1
},
{
"begin": 1655,
"end": 1925,
"name": "SWAP2",
"source": 1
},
{
"begin": 1655,
"end": 1925,
"name": "POP",
"source": 1
},
{
"begin": 1655,
"end": 1925,
"name": "POP",
"source": 1
},
{
"begin": 1655,
"end": 1925,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 1931,
"end": 2049,
"name": "tag",
"source": 1,
"value": "101"
},
{
"begin": 1931,
"end": 2049,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2018,
"end": 2042,
"name": "PUSH [tag]",
"source": 1,
"value": "103"
},
{
"begin": 2036,
"end": 2041,
"name": "DUP2",
"source": 1
},
{
"begin": 2018,
"end": 2042,
"name": "PUSH [tag]",
"source": 1,
"value": "104"
},
{
"begin": 2018,
"end": 2042,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 2018,
"end": 2042,
"name": "tag",
"source": 1,
"value": "103"
},
{
"begin": 2018,
"end": 2042,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2013,
"end": 2016,
"name": "DUP3",
"source": 1
},
{
"begin": 2006,
"end": 2043,
"name": "MSTORE",
"source": 1
},
{
"begin": 1996,
"end": 2049,
"name": "POP",
"source": 1
},
{
"begin": 1996,
"end": 2049,
"name": "POP",
"source": 1
},
{
"begin": 1996,
"end": 2049,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 2055,
"end": 2273,
"name": "tag",
"source": 1,
"value": "14"
},
{
"begin": 2055,
"end": 2273,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2055,
"end": 2273,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2184,
"end": 2186,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 2173,
"end": 2182,
"name": "DUP3",
"source": 1
},
{
"begin": 2169,
"end": 2187,
"name": "ADD",
"source": 1
},
{
"begin": 2161,
"end": 2187,
"name": "SWAP1",
"source": 1
},
{
"begin": 2161,
"end": 2187,
"name": "POP",
"source": 1
},
{
"begin": 2197,
"end": 2266,
"name": "PUSH [tag]",
"source": 1,
"value": "106"
},
{
"begin": 2263,
"end": 2264,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2252,
"end": 2261,
"name": "DUP4",
"source": 1
},
{
"begin": 2248,
"end": 2265,
"name": "ADD",
"source": 1
},
{
"begin": 2239,
"end": 2245,
"name": "DUP5",
"source": 1
},
{
"begin": 2197,
"end": 2266,
"name": "PUSH [tag]",
"source": 1,
"value": "87"
},
{
"begin": 2197,
"end": 2266,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 2197,
"end": 2266,
"name": "tag",
"source": 1,
"value": "106"
},
{
"begin": 2197,
"end": 2266,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2151,
"end": 2273,
"name": "SWAP3",
"source": 1
},
{
"begin": 2151,
"end": 2273,
"name": "SWAP2",
"source": 1
},
{
"begin": 2151,
"end": 2273,
"name": "POP",
"source": 1
},
{
"begin": 2151,
"end": 2273,
"name": "POP",
"source": 1
},
{
"begin": 2151,
"end": 2273,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 2279,
"end": 2588,
"name": "tag",
"source": 1,
"value": "28"
},
{
"begin": 2279,
"end": 2588,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2279,
"end": 2588,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2428,
"end": 2430,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 2417,
"end": 2426,
"name": "DUP3",
"source": 1
},
{
"begin": 2413,
"end": 2431,
"name": "ADD",
"source": 1
},
{
"begin": 2405,
"end": 2431,
"name": "SWAP1",
"source": 1
},
{
"begin": 2405,
"end": 2431,
"name": "POP",
"source": 1
},
{
"begin": 2477,
"end": 2486,
"name": "DUP2",
"source": 1
},
{
"begin": 2471,
"end": 2475,
"name": "DUP2",
"source": 1
},
{
"begin": 2467,
"end": 2487,
"name": "SUB",
"source": 1
},
{
"begin": 2463,
"end": 2464,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2452,
"end": 2461,
"name": "DUP4",
"source": 1
},
{
"begin": 2448,
"end": 2465,
"name": "ADD",
"source": 1
},
{
"begin": 2441,
"end": 2488,
"name": "MSTORE",
"source": 1
},
{
"begin": 2505,
"end": 2581,
"name": "PUSH [tag]",
"source": 1,
"value": "108"
},
{
"begin": 2576,
"end": 2580,
"name": "DUP2",
"source": 1
},
{
"begin": 2567,
"end": 2573,
"name": "DUP5",
"source": 1
},
{
"begin": 2505,
"end": 2581,
"name": "PUSH [tag]",
"source": 1,
"value": "91"
},
{
"begin": 2505,
"end": 2581,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 2505,
"end": 2581,
"name": "tag",
"source": 1,
"value": "108"
},
{
"begin": 2505,
"end": 2581,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2497,
"end": 2581,
"name": "SWAP1",
"source": 1
},
{
"begin": 2497,
"end": 2581,
"name": "POP",
"source": 1
},
{
"begin": 2395,
"end": 2588,
"name": "SWAP3",
"source": 1
},
{
"begin": 2395,
"end": 2588,
"name": "SWAP2",
"source": 1
},
{
"begin": 2395,
"end": 2588,
"name": "POP",
"source": 1
},
{
"begin": 2395,
"end": 2588,
"name": "POP",
"source": 1
},
{
"begin": 2395,
"end": 2588,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 2594,
"end": 2816,
"name": "tag",
"source": 1,
"value": "24"
},
{
"begin": 2594,
"end": 2816,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2594,
"end": 2816,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2725,
"end": 2727,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 2714,
"end": 2723,
"name": "DUP3",
"source": 1
},
{
"begin": 2710,
"end": 2728,
"name": "ADD",
"source": 1
},
{
"begin": 2702,
"end": 2728,
"name": "SWAP1",
"source": 1
},
{
"begin": 2702,
"end": 2728,
"name": "POP",
"source": 1
},
{
"begin": 2738,
"end": 2809,
"name": "PUSH [tag]",
"source": 1,
"value": "110"
},
{
"begin": 2806,
"end": 2807,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2795,
"end": 2804,
"name": "DUP4",
"source": 1
},
{
"begin": 2791,
"end": 2808,
"name": "ADD",
"source": 1
},
{
"begin": 2782,
"end": 2788,
"name": "DUP5",
"source": 1
},
{
"begin": 2738,
"end": 2809,
"name": "PUSH [tag]",
"source": 1,
"value": "101"
},
{
"begin": 2738,
"end": 2809,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 2738,
"end": 2809,
"name": "tag",
"source": 1,
"value": "110"
},
{
"begin": 2738,
"end": 2809,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2692,
"end": 2816,
"name": "SWAP3",
"source": 1
},
{
"begin": 2692,
"end": 2816,
"name": "SWAP2",
"source": 1
},
{
"begin": 2692,
"end": 2816,
"name": "POP",
"source": 1
},
{
"begin": 2692,
"end": 2816,
"name": "POP",
"source": 1
},
{
"begin": 2692,
"end": 2816,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 2822,
"end": 3105,
"name": "tag",
"source": 1,
"value": "68"
},
{
"begin": 2822,
"end": 3105,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2822,
"end": 3105,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2888,
"end": 2890,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 2882,
"end": 2891,
"name": "MLOAD",
"source": 1
},
{
"begin": 2872,
"end": 2891,
"name": "SWAP1",
"source": 1
},
{
"begin": 2872,
"end": 2891,
"name": "POP",
"source": 1
},
{
"begin": 2930,
"end": 2934,
"name": "DUP2",
"source": 1
},
{
"begin": 2922,
"end": 2928,
"name": "DUP2",
"source": 1
},
{
"begin": 2918,
"end": 2935,
"name": "ADD",
"source": 1
},
{
"begin": 3037,
"end": 3043,
"name": "DUP2",
"source": 1
},
{
"begin": 3025,
"end": 3035,
"name": "DUP2",
"source": 1
},
{
"begin": 3022,
"end": 3044,
"name": "LT",
"source": 1
},
{
"begin": 3001,
"end": 3019,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFF"
},
{
"begin": 2989,
"end": 2999,
"name": "DUP3",
"source": 1
},
{
"begin": 2986,
"end": 3020,
"name": "GT",
"source": 1
},
{
"begin": 2983,
"end": 3045,
"name": "OR",
"source": 1
},
{
"begin": 2980,
"end": 2982,
"name": "ISZERO",
"source": 1
},
{
"begin": 2980,
"end": 2982,
"name": "PUSH [tag]",
"source": 1,
"value": "112"
},
{
"begin": 2980,
"end": 2982,
"name": "JUMPI",
"source": 1
},
{
"begin": 3048,
"end": 3066,
"name": "PUSH [tag]",
"source": 1,
"value": "113"
},
{
"begin": 3048,
"end": 3066,
"name": "PUSH [tag]",
"source": 1,
"value": "114"
},
{
"begin": 3048,
"end": 3066,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 3048,
"end": 3066,
"name": "tag",
"source": 1,
"value": "113"
},
{
"begin": 3048,
"end": 3066,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2980,
"end": 2982,
"name": "tag",
"source": 1,
"value": "112"
},
{
"begin": 2980,
"end": 2982,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3088,
"end": 3098,
"name": "DUP1",
"source": 1
},
{
"begin": 3084,
"end": 3086,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 3077,
"end": 3099,
"name": "MSTORE",
"source": 1
},
{
"begin": 2862,
"end": 3105,
"name": "POP",
"source": 1
},
{
"begin": 2862,
"end": 3105,
"name": "SWAP2",
"source": 1
},
{
"begin": 2862,
"end": 3105,
"name": "SWAP1",
"source": 1
},
{
"begin": 2862,
"end": 3105,
"name": "POP",
"source": 1
},
{
"begin": 2862,
"end": 3105,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 3111,
"end": 3443,
"name": "tag",
"source": 1,
"value": "67"
},
{
"begin": 3111,
"end": 3443,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3111,
"end": 3443,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3263,
"end": 3281,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFF"
},
{
"begin": 3255,
"end": 3261,
"name": "DUP3",
"source": 1
},
{
"begin": 3252,
"end": 3282,
"name": "GT",
"source": 1
},
{
"begin": 3249,
"end": 3251,
"name": "ISZERO",
"source": 1
},
{
"begin": 3249,
"end": 3251,
"name": "PUSH [tag]",
"source": 1,
"value": "116"
},
{
"begin": 3249,
"end": 3251,
"name": "JUMPI",
"source": 1
},
{
"begin": 3285,
"end": 3303,
"name": "PUSH [tag]",
"source": 1,
"value": "117"
},
{
"begin": 3285,
"end": 3303,
"name": "PUSH [tag]",
"source": 1,
"value": "114"
},
{
"begin": 3285,
"end": 3303,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 3285,
"end": 3303,
"name": "tag",
"source": 1,
"value": "117"
},
{
"begin": 3285,
"end": 3303,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3249,
"end": 3251,
"name": "tag",
"source": 1,
"value": "116"
},
{
"begin": 3249,
"end": 3251,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3370,
"end": 3374,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 3366,
"end": 3375,
"name": "NOT",
"source": 1
},
{
"begin": 3359,
"end": 3363,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 3351,
"end": 3357,
"name": "DUP4",
"source": 1
},
{
"begin": 3347,
"end": 3364,
"name": "ADD",
"source": 1
},
{
"begin": 3343,
"end": 3376,
"name": "AND",
"source": 1
},
{
"begin": 3335,
"end": 3376,
"name": "SWAP1",
"source": 1
},
{
"begin": 3335,
"end": 3376,
"name": "POP",
"source": 1
},
{
"begin": 3431,
"end": 3435,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 3425,
"end": 3429,
"name": "DUP2",
"source": 1
},
{
"begin": 3421,
"end": 3436,
"name": "ADD",
"source": 1
},
{
"begin": 3413,
"end": 3436,
"name": "SWAP1",
"source": 1
},
{
"begin": 3413,
"end": 3436,
"name": "POP",
"source": 1
},
{
"begin": 3178,
"end": 3443,
"name": "SWAP2",
"source": 1
},
{
"begin": 3178,
"end": 3443,
"name": "SWAP1",
"source": 1
},
{
"begin": 3178,
"end": 3443,
"name": "POP",
"source": 1
},
{
"begin": 3178,
"end": 3443,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 3449,
"end": 3547,
"name": "tag",
"source": 1,
"value": "94"
},
{
"begin": 3449,
"end": 3547,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3449,
"end": 3547,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3534,
"end": 3539,
"name": "DUP2",
"source": 1
},
{
"begin": 3528,
"end": 3540,
"name": "MLOAD",
"source": 1
},
{
"begin": 3518,
"end": 3540,
"name": "SWAP1",
"source": 1
},
{
"begin": 3518,
"end": 3540,
"name": "POP",
"source": 1
},
{
"begin": 3507,
"end": 3547,
"name": "SWAP2",
"source": 1
},
{
"begin": 3507,
"end": 3547,
"name": "SWAP1",
"source": 1
},
{
"begin": 3507,
"end": 3547,
"name": "POP",
"source": 1
},
{
"begin": 3507,
"end": 3547,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 3553,
"end": 3721,
"name": "tag",
"source": 1,
"value": "96"
},
{
"begin": 3553,
"end": 3721,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3553,
"end": 3721,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3670,
"end": 3676,
"name": "DUP3",
"source": 1
},
{
"begin": 3665,
"end": 3668,
"name": "DUP3",
"source": 1
},
{
"begin": 3658,
"end": 3677,
"name": "MSTORE",
"source": 1
},
{
"begin": 3710,
"end": 3714,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 3705,
"end": 3708,
"name": "DUP3",
"source": 1
},
{
"begin": 3701,
"end": 3715,
"name": "ADD",
"source": 1
},
{
"begin": 3686,
"end": 3715,
"name": "SWAP1",
"source": 1
},
{
"begin": 3686,
"end": 3715,
"name": "POP",
"source": 1
},
{
"begin": 3648,
"end": 3721,
"name": "SWAP3",
"source": 1
},
{
"begin": 3648,
"end": 3721,
"name": "SWAP2",
"source": 1
},
{
"begin": 3648,
"end": 3721,
"name": "POP",
"source": 1
},
{
"begin": 3648,
"end": 3721,
"name": "POP",
"source": 1
},
{
"begin": 3648,
"end": 3721,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 3727,
"end": 3876,
"name": "tag",
"source": 1,
"value": "90"
},
{
"begin": 3727,
"end": 3876,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3727,
"end": 3876,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3803,
"end": 3869,
"name": "PUSH",
"source": 1,
"value": "FF00000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 3796,
"end": 3801,
"name": "DUP3",
"source": 1
},
{
"begin": 3792,
"end": 3870,
"name": "AND",
"source": 1
},
{
"begin": 3781,
"end": 3870,
"name": "SWAP1",
"source": 1
},
{
"begin": 3781,
"end": 3870,
"name": "POP",
"source": 1
},
{
"begin": 3771,
"end": 3876,
"name": "SWAP2",
"source": 1
},
{
"begin": 3771,
"end": 3876,
"name": "SWAP1",
"source": 1
},
{
"begin": 3771,
"end": 3876,
"name": "POP",
"source": 1
},
{
"begin": 3771,
"end": 3876,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 3882,
"end": 3959,
"name": "tag",
"source": 1,
"value": "104"
},
{
"begin": 3882,
"end": 3959,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3882,
"end": 3959,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3948,
"end": 3953,
"name": "DUP2",
"source": 1
},
{
"begin": 3937,
"end": 3953,
"name": "SWAP1",
"source": 1
},
{
"begin": 3937,
"end": 3953,
"name": "POP",
"source": 1
},
{
"begin": 3927,
"end": 3959,
"name": "SWAP2",
"source": 1
},
{
"begin": 3927,
"end": 3959,
"name": "SWAP1",
"source": 1
},
{
"begin": 3927,
"end": 3959,
"name": "POP",
"source": 1
},
{
"begin": 3927,
"end": 3959,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 3965,
"end": 4119,
"name": "tag",
"source": 1,
"value": "71"
},
{
"begin": 3965,
"end": 4119,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4049,
"end": 4055,
"name": "DUP3",
"source": 1
},
{
"begin": 4044,
"end": 4047,
"name": "DUP2",
"source": 1
},
{
"begin": 4039,
"end": 4042,
"name": "DUP4",
"source": 1
},
{
"begin": 4026,
"end": 4056,
"name": "CALLDATACOPY",
"source": 1
},
{
"begin": 4111,
"end": 4112,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4102,
"end": 4108,
"name": "DUP4",
"source": 1
},
{
"begin": 4097,
"end": 4100,
"name": "DUP4",
"source": 1
},
{
"begin": 4093,
"end": 4109,
"name": "ADD",
"source": 1
},
{
"begin": 4086,
"end": 4113,
"name": "MSTORE",
"source": 1
},
{
"begin": 4016,
"end": 4119,
"name": "POP",
"source": 1
},
{
"begin": 4016,
"end": 4119,
"name": "POP",
"source": 1
},
{
"begin": 4016,
"end": 4119,
"name": "POP",
"source": 1
},
{
"begin": 4016,
"end": 4119,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 4125,
"end": 4432,
"name": "tag",
"source": 1,
"value": "98"
},
{
"begin": 4125,
"end": 4432,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4193,
"end": 4194,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4203,
"end": 4316,
"name": "tag",
"source": 1,
"value": "124"
},
{
"begin": 4203,
"end": 4316,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4217,
"end": 4223,
"name": "DUP4",
"source": 1
},
{
"begin": 4214,
"end": 4215,
"name": "DUP2",
"source": 1
},
{
"begin": 4211,
"end": 4224,
"name": "LT",
"source": 1
},
{
"begin": 4203,
"end": 4316,
"name": "ISZERO",
"source": 1
},
{
"begin": 4203,
"end": 4316,
"name": "PUSH [tag]",
"source": 1,
"value": "126"
},
{
"begin": 4203,
"end": 4316,
"name": "JUMPI",
"source": 1
},
{
"begin": 4302,
"end": 4303,
"name": "DUP1",
"source": 1
},
{
"begin": 4297,
"end": 4300,
"name": "DUP3",
"source": 1
},
{
"begin": 4293,
"end": 4304,
"name": "ADD",
"source": 1
},
{
"begin": 4287,
"end": 4305,
"name": "MLOAD",
"source": 1
},
{
"begin": 4283,
"end": 4284,
"name": "DUP2",
"source": 1
},
{
"begin": 4278,
"end": 4281,
"name": "DUP5",
"source": 1
},
{
"begin": 4274,
"end": 4285,
"name": "ADD",
"source": 1
},
{
"begin": 4267,
"end": 4306,
"name": "MSTORE",
"source": 1
},
{
"begin": 4239,
"end": 4241,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 4236,
"end": 4237,
"name": "DUP2",
"source": 1
},
{
"begin": 4232,
"end": 4242,
"name": "ADD",
"source": 1
},
{
"begin": 4227,
"end": 4242,
"name": "SWAP1",
"source": 1
},
{
"begin": 4227,
"end": 4242,
"name": "POP",
"source": 1
},
{
"begin": 4203,
"end": 4316,
"name": "PUSH [tag]",
"source": 1,
"value": "124"
},
{
"begin": 4203,
"end": 4316,
"name": "JUMP",
"source": 1
},
{
"begin": 4203,
"end": 4316,
"name": "tag",
"source": 1,
"value": "126"
},
{
"begin": 4203,
"end": 4316,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4334,
"end": 4340,
"name": "DUP4",
"source": 1
},
{
"begin": 4331,
"end": 4332,
"name": "DUP2",
"source": 1
},
{
"begin": 4328,
"end": 4341,
"name": "GT",
"source": 1
},
{
"begin": 4325,
"end": 4327,
"name": "ISZERO",
"source": 1
},
{
"begin": 4325,
"end": 4327,
"name": "PUSH [tag]",
"source": 1,
"value": "127"
},
{
"begin": 4325,
"end": 4327,
"name": "JUMPI",
"source": 1
},
{
"begin": 4414,
"end": 4415,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4405,
"end": 4411,
"name": "DUP5",
"source": 1
},
{
"begin": 4400,
"end": 4403,
"name": "DUP5",
"source": 1
},
{
"begin": 4396,
"end": 4412,
"name": "ADD",
"source": 1
},
{
"begin": 4389,
"end": 4416,
"name": "MSTORE",
"source": 1
},
{
"begin": 4325,
"end": 4327,
"name": "tag",
"source": 1,
"value": "127"
},
{
"begin": 4325,
"end": 4327,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4174,
"end": 4432,
"name": "POP",
"source": 1
},
{
"begin": 4174,
"end": 4432,
"name": "POP",
"source": 1
},
{
"begin": 4174,
"end": 4432,
"name": "POP",
"source": 1
},
{
"begin": 4174,
"end": 4432,
"name": "POP",
"source": 1
},
{
"begin": 4174,
"end": 4432,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 4438,
"end": 4758,
"name": "tag",
"source": 1,
"value": "34"
},
{
"begin": 4438,
"end": 4758,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4438,
"end": 4758,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4519,
"end": 4520,
"name": "PUSH",
"source": 1,
"value": "2"
},
{
"begin": 4513,
"end": 4517,
"name": "DUP3",
"source": 1
},
{
"begin": 4509,
"end": 4521,
"name": "DIV",
"source": 1
},
{
"begin": 4499,
"end": 4521,
"name": "SWAP1",
"source": 1
},
{
"begin": 4499,
"end": 4521,
"name": "POP",
"source": 1
},
{
"begin": 4566,
"end": 4567,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 4560,
"end": 4564,
"name": "DUP3",
"source": 1
},
{
"begin": 4556,
"end": 4568,
"name": "AND",
"source": 1
},
{
"begin": 4587,
"end": 4605,
"name": "DUP1",
"source": 1
},
{
"begin": 4577,
"end": 4579,
"name": "PUSH [tag]",
"source": 1,
"value": "129"
},
{
"begin": 4577,
"end": 4579,
"name": "JUMPI",
"source": 1
},
{
"begin": 4643,
"end": 4647,
"name": "PUSH",
"source": 1,
"value": "7F"
},
{
"begin": 4635,
"end": 4641,
"name": "DUP3",
"source": 1
},
{
"begin": 4631,
"end": 4648,
"name": "AND",
"source": 1
},
{
"begin": 4621,
"end": 4648,
"name": "SWAP2",
"source": 1
},
{
"begin": 4621,
"end": 4648,
"name": "POP",
"source": 1
},
{
"begin": 4577,
"end": 4579,
"name": "tag",
"source": 1,
"value": "129"
},
{
"begin": 4577,
"end": 4579,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4705,
"end": 4707,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 4697,
"end": 4703,
"name": "DUP3",
"source": 1
},
{
"begin": 4694,
"end": 4708,
"name": "LT",
"source": 1
},
{
"begin": 4674,
"end": 4692,
"name": "DUP2",
"source": 1
},
{
"begin": 4671,
"end": 4709,
"name": "EQ",
"source": 1
},
{
"begin": 4668,
"end": 4670,
"name": "ISZERO",
"source": 1
},
{
"begin": 4668,
"end": 4670,
"name": "PUSH [tag]",
"source": 1,
"value": "130"
},
{
"begin": 4668,
"end": 4670,
"name": "JUMPI",
"source": 1
},
{
"begin": 4724,
"end": 4742,
"name": "PUSH [tag]",
"source": 1,
"value": "131"
},
{
"begin": 4724,
"end": 4742,
"name": "PUSH [tag]",
"source": 1,
"value": "132"
},
{
"begin": 4724,
"end": 4742,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 4724,
"end": 4742,
"name": "tag",
"source": 1,
"value": "131"
},
{
"begin": 4724,
"end": 4742,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4668,
"end": 4670,
"name": "tag",
"source": 1,
"value": "130"
},
{
"begin": 4668,
"end": 4670,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4489,
"end": 4758,
"name": "POP",
"source": 1
},
{
"begin": 4489,
"end": 4758,
"name": "SWAP2",
"source": 1
},
{
"begin": 4489,
"end": 4758,
"name": "SWAP1",
"source": 1
},
{
"begin": 4489,
"end": 4758,
"name": "POP",
"source": 1
},
{
"begin": 4489,
"end": 4758,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 4764,
"end": 4944,
"name": "tag",
"source": 1,
"value": "132"
},
{
"begin": 4764,
"end": 4944,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4812,
"end": 4889,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 4809,
"end": 4810,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4802,
"end": 4890,
"name": "MSTORE",
"source": 1
},
{
"begin": 4909,
"end": 4913,
"name": "PUSH",
"source": 1,
"value": "22"
},
{
"begin": 4906,
"end": 4907,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 4899,
"end": 4914,
"name": "MSTORE",
"source": 1
},
{
"begin": 4933,
"end": 4937,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 4930,
"end": 4931,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4923,
"end": 4938,
"name": "REVERT",
"source": 1
},
{
"begin": 4950,
"end": 5130,
"name": "tag",
"source": 1,
"value": "114"
},
{
"begin": 4950,
"end": 5130,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4998,
"end": 5075,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 4995,
"end": 4996,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4988,
"end": 5076,
"name": "MSTORE",
"source": 1
},
{
"begin": 5095,
"end": 5099,
"name": "PUSH",
"source": 1,
"value": "41"
},
{
"begin": 5092,
"end": 5093,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 5085,
"end": 5100,
"name": "MSTORE",
"source": 1
},
{
"begin": 5119,
"end": 5123,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 5116,
"end": 5117,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5109,
"end": 5124,
"name": "REVERT",
"source": 1
},
{
"begin": 5136,
"end": 5238,
"name": "tag",
"source": 1,
"value": "100"
},
{
"begin": 5136,
"end": 5238,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5136,
"end": 5238,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5228,
"end": 5230,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 5224,
"end": 5231,
"name": "NOT",
"source": 1
},
{
"begin": 5219,
"end": 5221,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 5212,
"end": 5217,
"name": "DUP4",
"source": 1
},
{
"begin": 5208,
"end": 5222,
"name": "ADD",
"source": 1
},
{
"begin": 5204,
"end": 5232,
"name": "AND",
"source": 1
},
{
"begin": 5194,
"end": 5232,
"name": "SWAP1",
"source": 1
},
{
"begin": 5194,
"end": 5232,
"name": "POP",
"source": 1
},
{
"begin": 5184,
"end": 5238,
"name": "SWAP2",
"source": 1
},
{
"begin": 5184,
"end": 5238,
"name": "SWAP1",
"source": 1
},
{
"begin": 5184,
"end": 5238,
"name": "POP",
"source": 1
},
{
"begin": 5184,
"end": 5238,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 5244,
"end": 5366,
"name": "tag",
"source": 1,
"value": "79"
},
{
"begin": 5244,
"end": 5366,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5317,
"end": 5341,
"name": "PUSH [tag]",
"source": 1,
"value": "137"
},
{
"begin": 5335,
"end": 5340,
"name": "DUP2",
"source": 1
},
{
"begin": 5317,
"end": 5341,
"name": "PUSH [tag]",
"source": 1,
"value": "104"
},
{
"begin": 5317,
"end": 5341,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 5317,
"end": 5341,
"name": "tag",
"source": 1,
"value": "137"
},
{
"begin": 5317,
"end": 5341,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5310,
"end": 5315,
"name": "DUP2",
"source": 1
},
{
"begin": 5307,
"end": 5342,
"name": "EQ",
"source": 1
},
{
"begin": 5297,
"end": 5299,
"name": "PUSH [tag]",
"source": 1,
"value": "138"
},
{
"begin": 5297,
"end": 5299,
"name": "JUMPI",
"source": 1
},
{
"begin": 5356,
"end": 5357,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5353,
"end": 5354,
"name": "DUP1",
"source": 1
},
{
"begin": 5346,
"end": 5358,
"name": "REVERT",
"source": 1
},
{
"begin": 5297,
"end": 5299,
"name": "tag",
"source": 1,
"value": "138"
},
{
"begin": 5297,
"end": 5299,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5287,
"end": 5366,
"name": "POP",
"source": 1
},
{
"begin": 5287,
"end": 5366,
"name": "JUMP",
"source": 1,
"value": "[out]"
}
]
}
}
},
"methodIdentifiers": {
"b1()": "ee495002",
"b3()": "e9b61909",
"getElement(uint256)": "3a7d22bc",
"getLength()": "be1c766b",
"popElement()": "9a6fcbdd",
"pushElement(string)": "939dcbf6"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.0+commit.c7dfd78e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"b1\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"i\",\"type\":\"uint256\"}],\"name\":\"getElement\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"\",\"type\":\"bytes1\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"popElement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"a\",\"type\":\"string\"}],\"name\":\"pushElement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"array/bytes_dynamic.sol\":\"bytesDynamic\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"array/bytes_dynamic.sol\":{\"keccak256\":\"0x37a398b2a008d61b067d0e10ab0b6e66cfb45144060111335fab8ac442080288\",\"urls\":[\"bzz-raw://3e5d83a103c8d78fac513d5400eef00a7397a0c2a2a6e16e8420fb10166cc0d5\",\"dweb:/ipfs/QmSnFj5iGkf1bCQaEi4K8XyvzuJdW9hXxup2AMsM2YKJE6\"]}},\"version\":1}",
"storageLayout": {
"storage": [
{
"astId": 4,
"contract": "array/bytes_dynamic.sol:bytesDynamic",
"label": "b1",
"offset": 0,
"slot": "0",
"type": "t_bytes_storage"
},
{
"astId": 6,
"contract": "array/bytes_dynamic.sol:bytesDynamic",
"label": "b3",
"offset": 0,
"slot": "1",
"type": "t_bytes_storage"
}
],
"types": {
"t_bytes_storage": {
"encoding": "bytes",
"label": "bytes",
"numberOfBytes": "32"
}
}
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"errors": [
{
"component": "general",
"errorCode": "1878",
"formattedMessage": "Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.\n--> array/bytes_dynamic.sol\n\n",
"message": "SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.",
"severity": "warning",
"sourceLocation": {
"end": -1,
"file": "array/bytes_dynamic.sol",
"start": -1
},
"type": "Warning"
},
{
"component": "general",
"errorCode": "5667",
"formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> array/bytes_dynamic.sol:8:26:\n |\n8 | function pushElement(string memory a) public{\n | ^^^^^^^^^^^^^^^\n\n",
"message": "Unused function parameter. Remove or comment out the variable name to silence this warning.",
"severity": "warning",
"sourceLocation": {
"end": 147,
"file": "array/bytes_dynamic.sol",
"start": 132
},
"type": "Warning"
}
],
"sources": {
"array/bytes_dynamic.sol": {
"ast": {
"absolutePath": "array/bytes_dynamic.sol",
"exportedSymbols": {
"bytesDynamic": [
48
]
},
"id": 49,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"0.8",
".0"
],
"nodeType": "PragmaDirective",
"src": "0:22:0"
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 48,
"linearizedBaseContracts": [
48
],
"name": "bytesDynamic",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"functionSelector": "ee495002",
"id": 4,
"mutability": "mutable",
"name": "b1",
"nodeType": "VariableDeclaration",
"scope": 48,
"src": "56:23:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage",
"typeString": "bytes"
},
"typeName": {
"id": 2,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "56:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": {
"hexValue": "616263",
"id": 3,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "74:5:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_4e03657aea45a94fc7d47ba826c8d667c0d1e6e33a64a036ec44f58fa12d6c45",
"typeString": "literal_string \"abc\""
},
"value": "abc"
},
"visibility": "public"
},
{
"constant": false,
"functionSelector": "e9b61909",
"id": 6,
"mutability": "mutable",
"name": "b3",
"nodeType": "VariableDeclaration",
"scope": 48,
"src": "86:15:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage",
"typeString": "bytes"
},
"typeName": {
"id": 5,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "86:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"visibility": "public"
},
{
"body": {
"id": 16,
"nodeType": "Block",
"src": "155:28:0",
"statements": [
{
"expression": {
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"id": 11,
"name": "b1",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4,
"src": "166:2:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage",
"typeString": "bytes storage ref"
}
},
"id": 13,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "push",
"nodeType": "MemberAccess",
"src": "166:7:0",
"typeDescriptions": {
"typeIdentifier": "t_function_bytearraypush_nonpayable$__$returns$_t_bytes1_$",
"typeString": "function () returns (bytes1)"
}
},
"id": 14,
"isConstant": false,
"isLValue": true,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "166:9:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
"id": 15,
"nodeType": "ExpressionStatement",
"src": "166:9:0"
}
]
},
"functionSelector": "939dcbf6",
"id": 17,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "pushElement",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 9,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 8,
"mutability": "mutable",
"name": "a",
"nodeType": "VariableDeclaration",
"scope": 17,
"src": "132:15:0",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 7,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "132:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "131:17:0"
},
"returnParameters": {
"id": 10,
"nodeType": "ParameterList",
"parameters": [],
"src": "155:0:0"
},
"scope": 48,
"src": "111:72:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 28,
"nodeType": "Block",
"src": "246:31:0",
"statements": [
{
"expression": {
"baseExpression": {
"id": 24,
"name": "b1",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4,
"src": "264:2:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage",
"typeString": "bytes storage ref"
}
},
"id": 26,
"indexExpression": {
"id": 25,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 19,
"src": "267:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "264:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
"functionReturnParameters": 23,
"id": 27,
"nodeType": "Return",
"src": "257:12:0"
}
]
},
"functionSelector": "3a7d22bc",
"id": 29,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "getElement",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 20,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 19,
"mutability": "mutable",
"name": "i",
"nodeType": "VariableDeclaration",
"scope": 29,
"src": "211:6:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 18,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "211:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "210:8:0"
},
"returnParameters": {
"id": 23,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 22,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"scope": 29,
"src": "239:6:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
},
"typeName": {
"id": 21,
"name": "bytes1",
"nodeType": "ElementaryTypeName",
"src": "239:6:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
"visibility": "internal"
}
],
"src": "238:8:0"
},
"scope": 48,
"src": "191:86:0",
"stateMutability": "view",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 37,
"nodeType": "Block",
"src": "331:35:0",
"statements": [
{
"expression": {
"expression": {
"id": 34,
"name": "b1",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4,
"src": "349:2:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage",
"typeString": "bytes storage ref"
}
},
"id": 35,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "length",
"nodeType": "MemberAccess",
"src": "349:9:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 33,
"id": 36,
"nodeType": "Return",
"src": "342:16:0"
}
]
},
"functionSelector": "be1c766b",
"id": 38,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "getLength",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 30,
"nodeType": "ParameterList",
"parameters": [],
"src": "303:2:0"
},
"returnParameters": {
"id": 33,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 32,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"scope": 38,
"src": "326:4:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 31,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "326:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "325:6:0"
},
"scope": 48,
"src": "285:81:0",
"stateMutability": "view",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 46,
"nodeType": "Block",
"src": "403:27:0",
"statements": [
{
"expression": {
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"id": 41,
"name": "b1",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4,
"src": "414:2:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage",
"typeString": "bytes storage ref"
}
},
"id": 43,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "pop",
"nodeType": "MemberAccess",
"src": "414:6:0",
"typeDescriptions": {
"typeIdentifier": "t_function_arraypop_nonpayable$__$returns$__$",
"typeString": "function ()"
}
},
"id": 44,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "414:8:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 45,
"nodeType": "ExpressionStatement",
"src": "414:8:0"
}
]
},
"functionSelector": "9a6fcbdd",
"id": 47,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "popElement",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 39,
"nodeType": "ParameterList",
"parameters": [],
"src": "393:2:0"
},
"returnParameters": {
"id": 40,
"nodeType": "ParameterList",
"parameters": [],
"src": "403:0:0"
},
"scope": 48,
"src": "374:56:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
}
],
"scope": 49,
"src": "26:407:0"
}
],
"src": "0:433:0"
},
"id": 0
}
}
}
}
{
"id": "04748991a0d132d921be88ea516d30b8",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.0",
"solcLongVersion": "0.8.0+commit.c7dfd78e",
"input": {
"language": "Solidity",
"sources": {
"array/fixed.sol": {
"content": "pragma solidity 0.8.0 ; \r\n\r\ncontract array\r\n{\r\n uint[4] public arr = [10,20,30,40];\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": {
"array/fixed.sol": {
"array": {
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "arr",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"array/fixed.sol\":28:89 contract array\r... */\n mstore(0x40, 0x80)\n /* \"array/fixed.sol\":51:85 uint[4] public arr = [10,20,30,40] */\n mload(0x40)\n dup1\n 0x80\n add\n 0x40\n mstore\n dup1\n /* \"array/fixed.sol\":73:75 10 */\n 0x0a\n /* \"array/fixed.sol\":51:85 uint[4] public arr = [10,20,30,40] */\n 0xff\n and\n dup2\n mstore\n 0x20\n add\n /* \"array/fixed.sol\":76:78 20 */\n 0x14\n /* \"array/fixed.sol\":51:85 uint[4] public arr = [10,20,30,40] */\n 0xff\n and\n dup2\n mstore\n 0x20\n add\n /* \"array/fixed.sol\":79:81 30 */\n 0x1e\n /* \"array/fixed.sol\":51:85 uint[4] public arr = [10,20,30,40] */\n 0xff\n and\n dup2\n mstore\n 0x20\n add\n /* \"array/fixed.sol\":82:84 40 */\n 0x28\n /* \"array/fixed.sol\":51:85 uint[4] public arr = [10,20,30,40] */\n 0xff\n and\n dup2\n mstore\n pop\n 0x00\n swap1\n 0x04\n tag_1\n swap3\n swap2\n swap1\n tag_2\n jump\t// in\ntag_1:\n pop\n /* \"array/fixed.sol\":28:89 contract array\r... */\n callvalue\n dup1\n iszero\n tag_3\n jumpi\n 0x00\n dup1\n revert\ntag_3:\n pop\n jump(tag_4)\ntag_2:\n dup3\n 0x04\n dup2\n add\n swap3\n dup3\n iszero\n tag_5\n jumpi\n swap2\n 0x20\n mul\n dup3\n add\ntag_6:\n dup3\n dup2\n gt\n iszero\n tag_7\n jumpi\n dup3\n mload\n dup3\n swap1\n 0xff\n and\n swap1\n sstore\n swap2\n 0x20\n add\n swap2\n swap1\n 0x01\n add\n swap1\n jump(tag_6)\ntag_7:\ntag_5:\n pop\n swap1\n pop\n tag_8\n swap2\n swap1\n tag_9\n jump\t// in\ntag_8:\n pop\n swap1\n jump\t// out\ntag_9:\ntag_10:\n dup1\n dup3\n gt\n iszero\n tag_11\n jumpi\n 0x00\n dup2\n 0x00\n swap1\n sstore\n pop\n 0x01\n add\n jump(tag_10)\ntag_11:\n pop\n swap1\n jump\t// out\ntag_4:\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"array/fixed.sol\":28:89 contract array\r... */\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 0x71e5ee5f\n eq\n tag_3\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"array/fixed.sol\":51:85 uint[4] public arr = [10,20,30,40] */\n tag_3:\n tag_4\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_5\n swap2\n swap1\n tag_6\n jump\t// in\n tag_5:\n tag_7\n jump\t// in\n tag_4:\n mload(0x40)\n tag_8\n swap2\n swap1\n tag_9\n jump\t// in\n tag_8:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n tag_7:\n 0x00\n dup2\n 0x04\n dup2\n lt\n tag_10\n jumpi\n 0x00\n dup1\n revert\n tag_10:\n add\n 0x00\n swap2\n pop\n swap1\n pop\n sload\n dup2\n jump\t// out\n /* \"#utility.yul\":7:146 */\n tag_13:\n 0x00\n /* \"#utility.yul\":91:97 */\n dup2\n /* \"#utility.yul\":78:98 */\n calldataload\n /* \"#utility.yul\":69:98 */\n swap1\n pop\n /* \"#utility.yul\":107:140 */\n tag_15\n /* \"#utility.yul\":134:139 */\n dup2\n /* \"#utility.yul\":107:140 */\n tag_16\n jump\t// in\n tag_15:\n /* \"#utility.yul\":59:146 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":152:414 */\n tag_6:\n 0x00\n /* \"#utility.yul\":260:262 */\n 0x20\n /* \"#utility.yul\":248:257 */\n dup3\n /* \"#utility.yul\":239:246 */\n dup5\n /* \"#utility.yul\":235:258 */\n sub\n /* \"#utility.yul\":231:263 */\n slt\n /* \"#utility.yul\":228:230 */\n iszero\n tag_18\n jumpi\n /* \"#utility.yul\":276:277 */\n 0x00\n /* \"#utility.yul\":273:274 */\n dup1\n /* \"#utility.yul\":266:278 */\n revert\n /* \"#utility.yul\":228:230 */\n tag_18:\n /* \"#utility.yul\":319:320 */\n 0x00\n /* \"#utility.yul\":344:397 */\n tag_19\n /* \"#utility.yul\":389:396 */\n dup5\n /* \"#utility.yul\":380:386 */\n dup3\n /* \"#utility.yul\":369:378 */\n dup6\n /* \"#utility.yul\":365:387 */\n add\n /* \"#utility.yul\":344:397 */\n tag_13\n jump\t// in\n tag_19:\n /* \"#utility.yul\":334:397 */\n swap2\n pop\n /* \"#utility.yul\":290:407 */\n pop\n /* \"#utility.yul\":218:414 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":420:538 */\n tag_20:\n /* \"#utility.yul\":507:531 */\n tag_22\n /* \"#utility.yul\":525:530 */\n dup2\n /* \"#utility.yul\":507:531 */\n tag_23\n jump\t// in\n tag_22:\n /* \"#utility.yul\":502:505 */\n dup3\n /* \"#utility.yul\":495:532 */\n mstore\n /* \"#utility.yul\":485:538 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":544:766 */\n tag_9:\n 0x00\n /* \"#utility.yul\":675:677 */\n 0x20\n /* \"#utility.yul\":664:673 */\n dup3\n /* \"#utility.yul\":660:678 */\n add\n /* \"#utility.yul\":652:678 */\n swap1\n pop\n /* \"#utility.yul\":688:759 */\n tag_25\n /* \"#utility.yul\":756:757 */\n 0x00\n /* \"#utility.yul\":745:754 */\n dup4\n /* \"#utility.yul\":741:758 */\n add\n /* \"#utility.yul\":732:738 */\n dup5\n /* \"#utility.yul\":688:759 */\n tag_20\n jump\t// in\n tag_25:\n /* \"#utility.yul\":642:766 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":772:849 */\n tag_23:\n 0x00\n /* \"#utility.yul\":838:843 */\n dup2\n /* \"#utility.yul\":827:843 */\n swap1\n pop\n /* \"#utility.yul\":817:849 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":855:977 */\n tag_16:\n /* \"#utility.yul\":928:952 */\n tag_28\n /* \"#utility.yul\":946:951 */\n dup2\n /* \"#utility.yul\":928:952 */\n tag_23\n jump\t// in\n tag_28:\n /* \"#utility.yul\":921:926 */\n dup2\n /* \"#utility.yul\":918:953 */\n eq\n /* \"#utility.yul\":908:910 */\n tag_29\n jumpi\n /* \"#utility.yul\":967:968 */\n 0x00\n /* \"#utility.yul\":964:965 */\n dup1\n /* \"#utility.yul\":957:969 */\n revert\n /* \"#utility.yul\":908:910 */\n tag_29:\n /* \"#utility.yul\":898:977 */\n pop\n jump\t// out\n\n auxdata: 0xa26469706673582212205c99ff3fbbfd9d69a4ff82eb92f9c8bdac75ee30f47862995c51a21e6080303564736f6c63430008000033\n}\n",
"bytecode": {
"generatedSources": [],
"linkReferences": {},
"object": "60806040526040518060800160405280600a60ff168152602001601460ff168152602001601e60ff168152602001602860ff168152506000906004610045929190610058565b5034801561005257600080fd5b506100ba565b826004810192821561008c579160200282015b8281111561008b578251829060ff1690559160200191906001019061006b565b5b509050610099919061009d565b5090565b5b808211156100b657600081600090555060010161009e565b5090565b610124806100c96000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c806371e5ee5f14602d575b600080fd5b60436004803603810190603f91906084565b6057565b604051604e919060b7565b60405180910390f35b60008160048110606657600080fd5b016000915090505481565b600081359050607e8160da565b92915050565b600060208284031215609557600080fd5b600060a1848285016071565b91505092915050565b60b18160d0565b82525050565b600060208201905060ca600083018460aa565b92915050565b6000819050919050565b60e18160d0565b811460eb57600080fd5b5056fea26469706673582212205c99ff3fbbfd9d69a4ff82eb92f9c8bdac75ee30f47862995c51a21e6080303564736f6c63430008000033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xA PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x14 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1E PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x28 PUSH1 0xFF AND DUP2 MSTORE POP PUSH1 0x0 SWAP1 PUSH1 0x4 PUSH2 0x45 SWAP3 SWAP2 SWAP1 PUSH2 0x58 JUMP JUMPDEST POP CALLVALUE DUP1 ISZERO PUSH2 0x52 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBA JUMP JUMPDEST DUP3 PUSH1 0x4 DUP2 ADD SWAP3 DUP3 ISZERO PUSH2 0x8C JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x8B JUMPI DUP3 MLOAD DUP3 SWAP1 PUSH1 0xFF AND SWAP1 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x6B JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x99 SWAP2 SWAP1 PUSH2 0x9D JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0xB6 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x9E JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH2 0x124 DUP1 PUSH2 0xC9 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH1 0x28 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x71E5EE5F EQ PUSH1 0x2D JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x43 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH1 0x3F SWAP2 SWAP1 PUSH1 0x84 JUMP JUMPDEST PUSH1 0x57 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x4E SWAP2 SWAP1 PUSH1 0xB7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x4 DUP2 LT PUSH1 0x66 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST ADD PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH1 0x7E DUP2 PUSH1 0xDA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH1 0x95 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xA1 DUP5 DUP3 DUP6 ADD PUSH1 0x71 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xB1 DUP2 PUSH1 0xD0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0xCA PUSH1 0x0 DUP4 ADD DUP5 PUSH1 0xAA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0xE1 DUP2 PUSH1 0xD0 JUMP JUMPDEST DUP2 EQ PUSH1 0xEB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x5C SWAP10 SELFDESTRUCT EXTCODEHASH 0xBB REVERT SWAP14 PUSH10 0xA4FF82EB92F9C8BDAC75 0xEE ADDRESS DELEGATECALL PUSH25 0x62995C51A21E6080303564736F6C6343000800003300000000 ",
"sourceMap": "28:61:0:-:0;;;51:34;;;;;;;;73:2;51:34;;;;;;76:2;51:34;;;;;;79:2;51:34;;;;;;82:2;51:34;;;;;;;;;;;;;:::i;:::-;;28:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;"
},
"deployedBytecode": {
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:980:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "59:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "69:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "91:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "78:12:1"
},
"nodeType": "YulFunctionCall",
"src": "78:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "69:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "134:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "107:26:1"
},
"nodeType": "YulFunctionCall",
"src": "107:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "107:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "37:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "45:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "53:5:1",
"type": ""
}
],
"src": "7:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "218:196:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "264:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "273:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "276:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "266:6:1"
},
"nodeType": "YulFunctionCall",
"src": "266:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "266:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "239:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "248:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "235:3:1"
},
"nodeType": "YulFunctionCall",
"src": "235:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "260:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "231:3:1"
},
"nodeType": "YulFunctionCall",
"src": "231:32:1"
},
"nodeType": "YulIf",
"src": "228:2:1"
},
{
"nodeType": "YulBlock",
"src": "290:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "305:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "319:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "309:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "334:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "369:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "380:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "365:3:1"
},
"nodeType": "YulFunctionCall",
"src": "365:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "344:20:1"
},
"nodeType": "YulFunctionCall",
"src": "344:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "334:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "188:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "199:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "211:6:1",
"type": ""
}
],
"src": "152:262:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "485:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "502:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "525:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "507:17:1"
},
"nodeType": "YulFunctionCall",
"src": "507:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "495:6:1"
},
"nodeType": "YulFunctionCall",
"src": "495:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "495:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "473:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "480:3:1",
"type": ""
}
],
"src": "420:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "642:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "652:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "664:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "675:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "660:3:1"
},
"nodeType": "YulFunctionCall",
"src": "660:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "652:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "732:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "745:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "756:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "741:3:1"
},
"nodeType": "YulFunctionCall",
"src": "741:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "688:43:1"
},
"nodeType": "YulFunctionCall",
"src": "688:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "688:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "614:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "626:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "637:4:1",
"type": ""
}
],
"src": "544:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "817:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "827:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "838:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "827:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "799:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "809:7:1",
"type": ""
}
],
"src": "772:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "898:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "955:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "964:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "967:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "957:6:1"
},
"nodeType": "YulFunctionCall",
"src": "957:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "957:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "921:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "946:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "928:17:1"
},
"nodeType": "YulFunctionCall",
"src": "928:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "918:2:1"
},
"nodeType": "YulFunctionCall",
"src": "918:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "911:6:1"
},
"nodeType": "YulFunctionCall",
"src": "911:43:1"
},
"nodeType": "YulIf",
"src": "908:2:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "891:5:1",
"type": ""
}
],
"src": "855:122:1"
}
]
},
"contents": "{\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(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\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_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}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052348015600f57600080fd5b506004361060285760003560e01c806371e5ee5f14602d575b600080fd5b60436004803603810190603f91906084565b6057565b604051604e919060b7565b60405180910390f35b60008160048110606657600080fd5b016000915090505481565b600081359050607e8160da565b92915050565b600060208284031215609557600080fd5b600060a1848285016071565b91505092915050565b60b18160d0565b82525050565b600060208201905060ca600083018460aa565b92915050565b6000819050919050565b60e18160d0565b811460eb57600080fd5b5056fea26469706673582212205c99ff3fbbfd9d69a4ff82eb92f9c8bdac75ee30f47862995c51a21e6080303564736f6c63430008000033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH1 0x28 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x71E5EE5F EQ PUSH1 0x2D JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x43 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH1 0x3F SWAP2 SWAP1 PUSH1 0x84 JUMP JUMPDEST PUSH1 0x57 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x4E SWAP2 SWAP1 PUSH1 0xB7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x4 DUP2 LT PUSH1 0x66 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST ADD PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH1 0x7E DUP2 PUSH1 0xDA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH1 0x95 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xA1 DUP5 DUP3 DUP6 ADD PUSH1 0x71 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xB1 DUP2 PUSH1 0xD0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0xCA PUSH1 0x0 DUP4 ADD DUP5 PUSH1 0xAA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0xE1 DUP2 PUSH1 0xD0 JUMP JUMPDEST DUP2 EQ PUSH1 0xEB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x5C SWAP10 SELFDESTRUCT EXTCODEHASH 0xBB REVERT SWAP14 PUSH10 0xA4FF82EB92F9C8BDAC75 0xEE ADDRESS DELEGATECALL PUSH25 0x62995C51A21E6080303564736F6C6343000800003300000000 ",
"sourceMap": "28:61:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;51:34;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7:139:1:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:262::-;;260:2;248:9;239:7;235:23;231:32;228:2;;;276:1;273;266:12;228:2;319:1;344:53;389:7;380:6;369:9;365:22;344:53;:::i;:::-;334:63;;290:117;218:196;;;;:::o;420:118::-;507:24;525:5;507:24;:::i;:::-;502:3;495:37;485:53;;:::o;544:222::-;;675:2;664:9;660:18;652:26;;688:71;756:1;745:9;741:17;732:6;688:71;:::i;:::-;642:124;;;;:::o;772:77::-;;838:5;827:16;;817:32;;;:::o;855:122::-;928:24;946:5;928:24;:::i;:::-;921:5;918:35;908:2;;967:1;964;957:12;908:2;898:79;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "58400",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"arr(uint256)": "infinite"
}
},
"legacyAssembly": {
".code": [
{
"begin": 28,
"end": 89,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 28,
"end": 89,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 28,
"end": 89,
"name": "MSTORE",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 51,
"end": 85,
"name": "MLOAD",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "DUP1",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 51,
"end": 85,
"name": "ADD",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 51,
"end": 85,
"name": "MSTORE",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "DUP1",
"source": 0
},
{
"begin": 73,
"end": 75,
"name": "PUSH",
"source": 0,
"value": "A"
},
{
"begin": 51,
"end": 85,
"name": "PUSH",
"source": 0,
"value": "FF"
},
{
"begin": 51,
"end": 85,
"name": "AND",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "DUP2",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "MSTORE",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 51,
"end": 85,
"name": "ADD",
"source": 0
},
{
"begin": 76,
"end": 78,
"name": "PUSH",
"source": 0,
"value": "14"
},
{
"begin": 51,
"end": 85,
"name": "PUSH",
"source": 0,
"value": "FF"
},
{
"begin": 51,
"end": 85,
"name": "AND",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "DUP2",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "MSTORE",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 51,
"end": 85,
"name": "ADD",
"source": 0
},
{
"begin": 79,
"end": 81,
"name": "PUSH",
"source": 0,
"value": "1E"
},
{
"begin": 51,
"end": 85,
"name": "PUSH",
"source": 0,
"value": "FF"
},
{
"begin": 51,
"end": 85,
"name": "AND",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "DUP2",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "MSTORE",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 51,
"end": 85,
"name": "ADD",
"source": 0
},
{
"begin": 82,
"end": 84,
"name": "PUSH",
"source": 0,
"value": "28"
},
{
"begin": 51,
"end": 85,
"name": "PUSH",
"source": 0,
"value": "FF"
},
{
"begin": 51,
"end": 85,
"name": "AND",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "DUP2",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "MSTORE",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "POP",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 51,
"end": 85,
"name": "SWAP1",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 51,
"end": 85,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 51,
"end": 85,
"name": "SWAP3",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "SWAP2",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "SWAP1",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 51,
"end": 85,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 51,
"end": 85,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 51,
"end": 85,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "POP",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "DUP1",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "ISZERO",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 28,
"end": 89,
"name": "JUMPI",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 28,
"end": 89,
"name": "DUP1",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "REVERT",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 28,
"end": 89,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "POP",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 28,
"end": 89,
"name": "JUMP",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 28,
"end": 89,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "DUP3",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 28,
"end": 89,
"name": "DUP2",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "ADD",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "SWAP3",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "DUP3",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "ISZERO",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 28,
"end": 89,
"name": "JUMPI",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "SWAP2",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 28,
"end": 89,
"name": "MUL",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "DUP3",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "ADD",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 28,
"end": 89,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "DUP3",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "DUP2",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "GT",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "ISZERO",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 28,
"end": 89,
"name": "JUMPI",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "DUP3",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "MLOAD",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "DUP3",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "SWAP1",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "PUSH",
"source": 0,
"value": "FF"
},
{
"begin": 28,
"end": 89,
"name": "AND",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "SWAP1",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "SSTORE",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "SWAP2",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 28,
"end": 89,
"name": "ADD",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "SWAP2",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "SWAP1",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 28,
"end": 89,
"name": "ADD",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "SWAP1",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 28,
"end": 89,
"name": "JUMP",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "tag",
"source": 0,
"value": "7"
},
{
"begin": 28,
"end": 89,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 28,
"end": 89,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "POP",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "SWAP1",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "POP",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 28,
"end": 89,
"name": "SWAP2",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "SWAP1",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 28,
"end": 89,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 28,
"end": 89,
"name": "tag",
"source": 0,
"value": "8"
},
{
"begin": 28,
"end": 89,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "POP",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "SWAP1",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 28,
"end": 89,
"name": "tag",
"source": 0,
"value": "9"
},
{
"begin": 28,
"end": 89,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "tag",
"source": 0,
"value": "10"
},
{
"begin": 28,
"end": 89,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "DUP1",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "DUP3",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "GT",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "ISZERO",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 28,
"end": 89,
"name": "JUMPI",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 28,
"end": 89,
"name": "DUP2",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 28,
"end": 89,
"name": "SWAP1",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "SSTORE",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "POP",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 28,
"end": 89,
"name": "ADD",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 28,
"end": 89,
"name": "JUMP",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "tag",
"source": 0,
"value": "11"
},
{
"begin": 28,
"end": 89,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "POP",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "SWAP1",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 28,
"end": 89,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 28,
"end": 89,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 28,
"end": 89,
"name": "DUP1",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 28,
"end": 89,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 28,
"end": 89,
"name": "CODECOPY",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 28,
"end": 89,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a26469706673582212205c99ff3fbbfd9d69a4ff82eb92f9c8bdac75ee30f47862995c51a21e6080303564736f6c63430008000033",
".code": [
{
"begin": 28,
"end": 89,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 28,
"end": 89,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 28,
"end": 89,
"name": "MSTORE",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "DUP1",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "ISZERO",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 28,
"end": 89,
"name": "JUMPI",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 28,
"end": 89,
"name": "DUP1",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "REVERT",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 28,
"end": 89,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "POP",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 28,
"end": 89,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "LT",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 28,
"end": 89,
"name": "JUMPI",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 28,
"end": 89,
"name": "CALLDATALOAD",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 28,
"end": 89,
"name": "SHR",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "DUP1",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "PUSH",
"source": 0,
"value": "71E5EE5F"
},
{
"begin": 28,
"end": 89,
"name": "EQ",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 28,
"end": 89,
"name": "JUMPI",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 28,
"end": 89,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 28,
"end": 89,
"name": "DUP1",
"source": 0
},
{
"begin": 28,
"end": 89,
"name": "REVERT",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 51,
"end": 85,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 51,
"end": 85,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 51,
"end": 85,
"name": "DUP1",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "SUB",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "DUP2",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "ADD",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "SWAP1",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 51,
"end": 85,
"name": "SWAP2",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "SWAP1",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 51,
"end": 85,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 51,
"end": 85,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 51,
"end": 85,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 51,
"end": 85,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 51,
"end": 85,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 51,
"end": 85,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 51,
"end": 85,
"name": "MLOAD",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 51,
"end": 85,
"name": "SWAP2",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "SWAP1",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 51,
"end": 85,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 51,
"end": 85,
"name": "tag",
"source": 0,
"value": "8"
},
{
"begin": 51,
"end": 85,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 51,
"end": 85,
"name": "MLOAD",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "DUP1",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "SWAP2",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "SUB",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "SWAP1",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "RETURN",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "tag",
"source": 0,
"value": "7"
},
{
"begin": 51,
"end": 85,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 51,
"end": 85,
"name": "DUP2",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 51,
"end": 85,
"name": "DUP2",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "LT",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 51,
"end": 85,
"name": "JUMPI",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 51,
"end": 85,
"name": "DUP1",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "REVERT",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "tag",
"source": 0,
"value": "10"
},
{
"begin": 51,
"end": 85,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "ADD",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 51,
"end": 85,
"name": "SWAP2",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "POP",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "SWAP1",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "POP",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "SLOAD",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "DUP2",
"source": 0
},
{
"begin": 51,
"end": 85,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 7,
"end": 146,
"name": "tag",
"source": 1,
"value": "13"
},
{
"begin": 7,
"end": 146,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7,
"end": 146,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 91,
"end": 97,
"name": "DUP2",
"source": 1
},
{
"begin": 78,
"end": 98,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 69,
"end": 98,
"name": "SWAP1",
"source": 1
},
{
"begin": 69,
"end": 98,
"name": "POP",
"source": 1
},
{
"begin": 107,
"end": 140,
"name": "PUSH [tag]",
"source": 1,
"value": "15"
},
{
"begin": 134,
"end": 139,
"name": "DUP2",
"source": 1
},
{
"begin": 107,
"end": 140,
"name": "PUSH [tag]",
"source": 1,
"value": "16"
},
{
"begin": 107,
"end": 140,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 107,
"end": 140,
"name": "tag",
"source": 1,
"value": "15"
},
{
"begin": 107,
"end": 140,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 59,
"end": 146,
"name": "SWAP3",
"source": 1
},
{
"begin": 59,
"end": 146,
"name": "SWAP2",
"source": 1
},
{
"begin": 59,
"end": 146,
"name": "POP",
"source": 1
},
{
"begin": 59,
"end": 146,
"name": "POP",
"source": 1
},
{
"begin": 59,
"end": 146,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 152,
"end": 414,
"name": "tag",
"source": 1,
"value": "6"
},
{
"begin": 152,
"end": 414,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 152,
"end": 414,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 260,
"end": 262,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 248,
"end": 257,
"name": "DUP3",
"source": 1
},
{
"begin": 239,
"end": 246,
"name": "DUP5",
"source": 1
},
{
"begin": 235,
"end": 258,
"name": "SUB",
"source": 1
},
{
"begin": 231,
"end": 263,
"name": "SLT",
"source": 1
},
{
"begin": 228,
"end": 230,
"name": "ISZERO",
"source": 1
},
{
"begin": 228,
"end": 230,
"name": "PUSH [tag]",
"source": 1,
"value": "18"
},
{
"begin": 228,
"end": 230,
"name": "JUMPI",
"source": 1
},
{
"begin": 276,
"end": 277,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 273,
"end": 274,
"name": "DUP1",
"source": 1
},
{
"begin": 266,
"end": 278,
"name": "REVERT",
"source": 1
},
{
"begin": 228,
"end": 230,
"name": "tag",
"source": 1,
"value": "18"
},
{
"begin": 228,
"end": 230,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 319,
"end": 320,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 344,
"end": 397,
"name": "PUSH [tag]",
"source": 1,
"value": "19"
},
{
"begin": 389,
"end": 396,
"name": "DUP5",
"source": 1
},
{
"begin": 380,
"end": 386,
"name": "DUP3",
"source": 1
},
{
"begin": 369,
"end": 378,
"name": "DUP6",
"source": 1
},
{
"begin": 365,
"end": 387,
"name": "ADD",
"source": 1
},
{
"begin": 344,
"end": 397,
"name": "PUSH [tag]",
"source": 1,
"value": "13"
},
{
"begin": 344,
"end": 397,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 344,
"end": 397,
"name": "tag",
"source": 1,
"value": "19"
},
{
"begin": 344,
"end": 397,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 334,
"end": 397,
"name": "SWAP2",
"source": 1
},
{
"begin": 334,
"end": 397,
"name": "POP",
"source": 1
},
{
"begin": 290,
"end": 407,
"name": "POP",
"source": 1
},
{
"begin": 218,
"end": 414,
"name": "SWAP3",
"source": 1
},
{
"begin": 218,
"end": 414,
"name": "SWAP2",
"source": 1
},
{
"begin": 218,
"end": 414,
"name": "POP",
"source": 1
},
{
"begin": 218,
"end": 414,
"name": "POP",
"source": 1
},
{
"begin": 218,
"end": 414,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 420,
"end": 538,
"name": "tag",
"source": 1,
"value": "20"
},
{
"begin": 420,
"end": 538,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 507,
"end": 531,
"name": "PUSH [tag]",
"source": 1,
"value": "22"
},
{
"begin": 525,
"end": 530,
"name": "DUP2",
"source": 1
},
{
"begin": 507,
"end": 531,
"name": "PUSH [tag]",
"source": 1,
"value": "23"
},
{
"begin": 507,
"end": 531,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 507,
"end": 531,
"name": "tag",
"source": 1,
"value": "22"
},
{
"begin": 507,
"end": 531,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 502,
"end": 505,
"name": "DUP3",
"source": 1
},
{
"begin": 495,
"end": 532,
"name": "MSTORE",
"source": 1
},
{
"begin": 485,
"end": 538,
"name": "POP",
"source": 1
},
{
"begin": 485,
"end": 538,
"name": "POP",
"source": 1
},
{
"begin": 485,
"end": 538,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 544,
"end": 766,
"name": "tag",
"source": 1,
"value": "9"
},
{
"begin": 544,
"end": 766,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 544,
"end": 766,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 675,
"end": 677,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 664,
"end": 673,
"name": "DUP3",
"source": 1
},
{
"begin": 660,
"end": 678,
"name": "ADD",
"source": 1
},
{
"begin": 652,
"end": 678,
"name": "SWAP1",
"source": 1
},
{
"begin": 652,
"end": 678,
"name": "POP",
"source": 1
},
{
"begin": 688,
"end": 759,
"name": "PUSH [tag]",
"source": 1,
"value": "25"
},
{
"begin": 756,
"end": 757,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 745,
"end": 754,
"name": "DUP4",
"source": 1
},
{
"begin": 741,
"end": 758,
"name": "ADD",
"source": 1
},
{
"begin": 732,
"end": 738,
"name": "DUP5",
"source": 1
},
{
"begin": 688,
"end": 759,
"name": "PUSH [tag]",
"source": 1,
"value": "20"
},
{
"begin": 688,
"end": 759,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 688,
"end": 759,
"name": "tag",
"source": 1,
"value": "25"
},
{
"begin": 688,
"end": 759,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 642,
"end": 766,
"name": "SWAP3",
"source": 1
},
{
"begin": 642,
"end": 766,
"name": "SWAP2",
"source": 1
},
{
"begin": 642,
"end": 766,
"name": "POP",
"source": 1
},
{
"begin": 642,
"end": 766,
"name": "POP",
"source": 1
},
{
"begin": 642,
"end": 766,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 772,
"end": 849,
"name": "tag",
"source": 1,
"value": "23"
},
{
"begin": 772,
"end": 849,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 772,
"end": 849,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 838,
"end": 843,
"name": "DUP2",
"source": 1
},
{
"begin": 827,
"end": 843,
"name": "SWAP1",
"source": 1
},
{
"begin": 827,
"end": 843,
"name": "POP",
"source": 1
},
{
"begin": 817,
"end": 849,
"name": "SWAP2",
"source": 1
},
{
"begin": 817,
"end": 849,
"name": "SWAP1",
"source": 1
},
{
"begin": 817,
"end": 849,
"name": "POP",
"source": 1
},
{
"begin": 817,
"end": 849,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 855,
"end": 977,
"name": "tag",
"source": 1,
"value": "16"
},
{
"begin": 855,
"end": 977,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 928,
"end": 952,
"name": "PUSH [tag]",
"source": 1,
"value": "28"
},
{
"begin": 946,
"end": 951,
"name": "DUP2",
"source": 1
},
{
"begin": 928,
"end": 952,
"name": "PUSH [tag]",
"source": 1,
"value": "23"
},
{
"begin": 928,
"end": 952,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 928,
"end": 952,
"name": "tag",
"source": 1,
"value": "28"
},
{
"begin": 928,
"end": 952,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 921,
"end": 926,
"name": "DUP2",
"source": 1
},
{
"begin": 918,
"end": 953,
"name": "EQ",
"source": 1
},
{
"begin": 908,
"end": 910,
"name": "PUSH [tag]",
"source": 1,
"value": "29"
},
{
"begin": 908,
"end": 910,
"name": "JUMPI",
"source": 1
},
{
"begin": 967,
"end": 968,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 964,
"end": 965,
"name": "DUP1",
"source": 1
},
{
"begin": 957,
"end": 969,
"name": "REVERT",
"source": 1
},
{
"begin": 908,
"end": 910,
"name": "tag",
"source": 1,
"value": "29"
},
{
"begin": 908,
"end": 910,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 898,
"end": 977,
"name": "POP",
"source": 1
},
{
"begin": 898,
"end": 977,
"name": "JUMP",
"source": 1,
"value": "[out]"
}
]
}
}
},
"methodIdentifiers": {
"arr(uint256)": "71e5ee5f"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.0+commit.c7dfd78e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"arr\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"array/fixed.sol\":\"array\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"array/fixed.sol\":{\"keccak256\":\"0xe4885e9a51516192b0b673c3e63b0409c2114b702627a0104d7705f43408fa17\",\"urls\":[\"bzz-raw://3b5bc27265e500fffbfb70ff7fdbb2a23a7d3b3e63c42686a59ee1352ba2775a\",\"dweb:/ipfs/QmW5dqXHN6NijTFVtooJ93EByznjXkPeoUrmn1ct6NvTUf\"]}},\"version\":1}",
"storageLayout": {
"storage": [
{
"astId": 10,
"contract": "array/fixed.sol:array",
"label": "arr",
"offset": 0,
"slot": "0",
"type": "t_array(t_uint256)4_storage"
}
],
"types": {
"t_array(t_uint256)4_storage": {
"base": "t_uint256",
"encoding": "inplace",
"label": "uint256[4]",
"numberOfBytes": "128"
},
"t_uint256": {
"encoding": "inplace",
"label": "uint256",
"numberOfBytes": "32"
}
}
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"errors": [
{
"component": "general",
"errorCode": "1878",
"formattedMessage": "Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.\n--> array/fixed.sol\n\n",
"message": "SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.",
"severity": "warning",
"sourceLocation": {
"end": -1,
"file": "array/fixed.sol",
"start": -1
},
"type": "Warning"
}
],
"sources": {
"array/fixed.sol": {
"ast": {
"absolutePath": "array/fixed.sol",
"exportedSymbols": {
"array": [
11
]
},
"id": 12,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"0.8",
".0"
],
"nodeType": "PragmaDirective",
"src": "0:23:0"
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 11,
"linearizedBaseContracts": [
11
],
"name": "array",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"functionSelector": "71e5ee5f",
"id": 10,
"mutability": "mutable",
"name": "arr",
"nodeType": "VariableDeclaration",
"scope": 11,
"src": "51:34:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$4_storage",
"typeString": "uint256[4]"
},
"typeName": {
"baseType": {
"id": 2,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "51:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 4,
"length": {
"hexValue": "34",
"id": 3,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "56:1:0",
"typeDescriptions": {
"typeIdentifier": "t_rational_4_by_1",
"typeString": "int_const 4"
},
"value": "4"
},
"nodeType": "ArrayTypeName",
"src": "51:7:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$4_storage_ptr",
"typeString": "uint256[4]"
}
},
"value": {
"components": [
{
"hexValue": "3130",
"id": 5,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "73:2:0",
"typeDescriptions": {
"typeIdentifier": "t_rational_10_by_1",
"typeString": "int_const 10"
},
"value": "10"
},
{
"hexValue": "3230",
"id": 6,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "76:2:0",
"typeDescriptions": {
"typeIdentifier": "t_rational_20_by_1",
"typeString": "int_const 20"
},
"value": "20"
},
{
"hexValue": "3330",
"id": 7,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "79:2:0",
"typeDescriptions": {
"typeIdentifier": "t_rational_30_by_1",
"typeString": "int_const 30"
},
"value": "30"
},
{
"hexValue": "3430",
"id": 8,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "82:2:0",
"typeDescriptions": {
"typeIdentifier": "t_rational_40_by_1",
"typeString": "int_const 40"
},
"value": "40"
}
],
"id": 9,
"isConstant": false,
"isInlineArray": true,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "TupleExpression",
"src": "72:13:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint8_$4_memory_ptr",
"typeString": "uint8[4] memory"
}
},
"visibility": "public"
}
],
"scope": 12,
"src": "28:61:0"
}
],
"src": "0:89:0"
},
"id": 0
}
}
}
}
{
"id": "079e4317f4664167d1b6aa342405c8e1",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.0",
"solcLongVersion": "0.8.0+commit.c7dfd78e",
"input": {
"language": "Solidity",
"sources": {
"array/bytes_dynamic.sol": {
"content": "pragma solidity 0.8.0;\r\n\r\ncontract bytesDynamic\r\n{\r\n bytes public b1 = \"abc\";\r\n bytes public b3; \r\n\r\n function pushElement() public{\r\n b1.push('d');\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": {
"array/bytes_dynamic.sol": {
"bytesDynamic": {
"abi": [
{
"inputs": [],
"name": "b1",
"outputs": [
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "b3",
"outputs": [
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "pushElement",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"array/bytes_dynamic.sol\":26:174 contract bytesDynamic\r... */\n mstore(0x40, 0x80)\n /* \"array/bytes_dynamic.sol\":56:79 bytes public b1 = \"abc\" */\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x03\n dup2\n mstore\n 0x20\n add\n 0x6162630000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n 0x00\n swap1\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n tag_1\n swap3\n swap2\n swap1\n tag_2\n jump\t// in\ntag_1:\n pop\n /* \"array/bytes_dynamic.sol\":26:174 contract bytesDynamic\r... */\n callvalue\n dup1\n iszero\n tag_3\n jumpi\n 0x00\n dup1\n revert\ntag_3:\n pop\n jump(tag_4)\ntag_2:\n dup3\n dup1\n sload\n tag_5\n swap1\n tag_6\n jump\t// in\ntag_5:\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n 0x1f\n add\n 0x20\n swap1\n div\n dup2\n add\n swap3\n dup3\n tag_8\n jumpi\n 0x00\n dup6\n sstore\n jump(tag_7)\ntag_8:\n dup3\n 0x1f\n lt\n tag_9\n jumpi\n dup1\n mload\n not(0xff)\n and\n dup4\n dup1\n add\n or\n dup6\n sstore\n jump(tag_7)\ntag_9:\n dup3\n dup1\n add\n 0x01\n add\n dup6\n sstore\n dup3\n iszero\n tag_7\n jumpi\n swap2\n dup3\n add\ntag_10:\n dup3\n dup2\n gt\n iszero\n tag_11\n jumpi\n dup3\n mload\n dup3\n sstore\n swap2\n 0x20\n add\n swap2\n swap1\n 0x01\n add\n swap1\n jump(tag_10)\ntag_11:\ntag_7:\n pop\n swap1\n pop\n tag_12\n swap2\n swap1\n tag_13\n jump\t// in\ntag_12:\n pop\n swap1\n jump\t// out\ntag_13:\ntag_14:\n dup1\n dup3\n gt\n iszero\n tag_15\n jumpi\n 0x00\n dup2\n 0x00\n swap1\n sstore\n pop\n 0x01\n add\n jump(tag_14)\ntag_15:\n pop\n swap1\n jump\t// out\n /* \"#utility.yul\":7:327 */\ntag_6:\n 0x00\n /* \"#utility.yul\":88:89 */\n 0x02\n /* \"#utility.yul\":82:86 */\n dup3\n /* \"#utility.yul\":78:90 */\n div\n /* \"#utility.yul\":68:90 */\n swap1\n pop\n /* \"#utility.yul\":135:136 */\n 0x01\n /* \"#utility.yul\":129:133 */\n dup3\n /* \"#utility.yul\":125:137 */\n and\n /* \"#utility.yul\":156:174 */\n dup1\n /* \"#utility.yul\":146:148 */\n tag_18\n jumpi\n /* \"#utility.yul\":212:216 */\n 0x7f\n /* \"#utility.yul\":204:210 */\n dup3\n /* \"#utility.yul\":200:217 */\n and\n /* \"#utility.yul\":190:217 */\n swap2\n pop\n /* \"#utility.yul\":146:148 */\ntag_18:\n /* \"#utility.yul\":274:276 */\n 0x20\n /* \"#utility.yul\":266:272 */\n dup3\n /* \"#utility.yul\":263:277 */\n lt\n /* \"#utility.yul\":243:261 */\n dup2\n /* \"#utility.yul\":240:278 */\n eq\n /* \"#utility.yul\":237:239 */\n iszero\n tag_19\n jumpi\n /* \"#utility.yul\":293:311 */\n tag_20\n tag_21\n jump\t// in\ntag_20:\n /* \"#utility.yul\":237:239 */\ntag_19:\n /* \"#utility.yul\":58:327 */\n pop\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":333:513 */\ntag_21:\n /* \"#utility.yul\":381:458 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":378:379 */\n 0x00\n /* \"#utility.yul\":371:459 */\n mstore\n /* \"#utility.yul\":478:482 */\n 0x22\n /* \"#utility.yul\":475:476 */\n 0x04\n /* \"#utility.yul\":468:483 */\n mstore\n /* \"#utility.yul\":502:506 */\n 0x24\n /* \"#utility.yul\":499:500 */\n 0x00\n /* \"#utility.yul\":492:507 */\n revert\n /* \"array/bytes_dynamic.sol\":26:174 contract bytesDynamic\r... */\ntag_4:\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"array/bytes_dynamic.sol\":26:174 contract bytesDynamic\r... */\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 0x0317d5f3\n eq\n tag_3\n jumpi\n dup1\n 0xe9b61909\n eq\n tag_4\n jumpi\n dup1\n 0xee495002\n eq\n tag_5\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"array/bytes_dynamic.sol\":111:171 function pushElement() public{\r... */\n tag_3:\n tag_6\n tag_7\n jump\t// in\n tag_6:\n stop\n /* \"array/bytes_dynamic.sol\":86:101 bytes public b3 */\n tag_4:\n tag_8\n tag_9\n jump\t// in\n tag_8:\n mload(0x40)\n tag_10\n swap2\n swap1\n tag_11\n jump\t// in\n tag_10:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"array/bytes_dynamic.sol\":56:79 bytes public b1 = \"abc\" */\n tag_5:\n tag_12\n tag_13\n jump\t// in\n tag_12:\n mload(0x40)\n tag_14\n swap2\n swap1\n tag_11\n jump\t// in\n tag_14:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"array/bytes_dynamic.sol\":111:171 function pushElement() public{\r... */\n tag_7:\n /* \"array/bytes_dynamic.sol\":151:153 b1 */\n 0x00\n /* \"array/bytes_dynamic.sol\":151:163 b1.push('d') */\n dup1\n dup1\n sload\n dup1\n tag_16\n swap1\n tag_17\n jump\t// in\n tag_16:\n dup1\n 0x1f\n dup2\n eq\n tag_19\n jumpi\n jump(tag_18)\n tag_19:\n dup4\n 0x00\n mstore\n keccak256(0x00, 0x20)\n not(0xff)\n dup5\n and\n dup2\n sstore\n 0x3f\n swap4\n pop\n pop\n tag_18:\n pop\n 0x02\n dup3\n add\n dup4\n sstore\n 0x01\n dup2\n add\n swap3\n pop\n pop\n pop\n 0x01\n swap1\n sub\n dup2\n sload\n 0x01\n and\n iszero\n tag_20\n jumpi\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n 0x20\n swap2\n dup3\n dup3\n div\n add\n swap2\n swap1\n mod\n tag_20:\n 0x6400000000000000000000000000000000000000000000000000000000000000\n swap1\n swap2\n swap1\n swap2\n 0x1f\n sub\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xff\n mul\n not\n and\n swap1\n 0x0100000000000000000000000000000000000000000000000000000000000000\n dup5\n div\n mul\n or\n swap1\n sstore\n pop\n /* \"array/bytes_dynamic.sol\":111:171 function pushElement() public{\r... */\n jump\t// out\n /* \"array/bytes_dynamic.sol\":86:101 bytes public b3 */\n tag_9:\n 0x01\n dup1\n sload\n tag_21\n swap1\n tag_17\n jump\t// in\n tag_21:\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 swap3\n swap2\n swap1\n dup2\n dup2\n mstore\n 0x20\n add\n dup3\n dup1\n sload\n tag_22\n swap1\n tag_17\n jump\t// in\n tag_22:\n dup1\n iszero\n tag_23\n jumpi\n dup1\n 0x1f\n lt\n tag_24\n jumpi\n 0x0100\n dup1\n dup4\n sload\n div\n mul\n dup4\n mstore\n swap2\n 0x20\n add\n swap2\n jump(tag_23)\n tag_24:\n dup3\n add\n swap2\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n tag_25:\n dup2\n sload\n dup2\n mstore\n swap1\n 0x01\n add\n swap1\n 0x20\n add\n dup1\n dup4\n gt\n tag_25\n jumpi\n dup3\n swap1\n sub\n 0x1f\n and\n dup3\n add\n swap2\n tag_23:\n pop\n pop\n pop\n pop\n pop\n dup2\n jump\t// out\n /* \"array/bytes_dynamic.sol\":56:79 bytes public b1 = \"abc\" */\n tag_13:\n 0x00\n dup1\n sload\n tag_26\n swap1\n tag_17\n jump\t// in\n tag_26:\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 swap3\n swap2\n swap1\n dup2\n dup2\n mstore\n 0x20\n add\n dup3\n dup1\n sload\n tag_27\n swap1\n tag_17\n jump\t// in\n tag_27:\n dup1\n iszero\n tag_28\n jumpi\n dup1\n 0x1f\n lt\n tag_29\n jumpi\n 0x0100\n dup1\n dup4\n sload\n div\n mul\n dup4\n mstore\n swap2\n 0x20\n add\n swap2\n jump(tag_28)\n tag_29:\n dup3\n add\n swap2\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n tag_30:\n dup2\n sload\n dup2\n mstore\n swap1\n 0x01\n add\n swap1\n 0x20\n add\n dup1\n dup4\n gt\n tag_30\n jumpi\n dup3\n swap1\n sub\n 0x1f\n and\n dup3\n add\n swap2\n tag_28:\n pop\n pop\n pop\n pop\n pop\n dup2\n jump\t// out\n /* \"#utility.yul\":7:367 */\n tag_32:\n 0x00\n /* \"#utility.yul\":121:159 */\n tag_34\n /* \"#utility.yul\":153:158 */\n dup3\n /* \"#utility.yul\":121:159 */\n tag_35\n jump\t// in\n tag_34:\n /* \"#utility.yul\":175:245 */\n tag_36\n /* \"#utility.yul\":238:244 */\n dup2\n /* \"#utility.yul\":233:236 */\n dup6\n /* \"#utility.yul\":175:245 */\n tag_37\n jump\t// in\n tag_36:\n /* \"#utility.yul\":168:245 */\n swap4\n pop\n /* \"#utility.yul\":254:306 */\n tag_38\n /* \"#utility.yul\":299:305 */\n dup2\n /* \"#utility.yul\":294:297 */\n dup6\n /* \"#utility.yul\":287:291 */\n 0x20\n /* \"#utility.yul\":280:285 */\n dup7\n /* \"#utility.yul\":276:292 */\n add\n /* \"#utility.yul\":254:306 */\n tag_39\n jump\t// in\n tag_38:\n /* \"#utility.yul\":331:360 */\n tag_40\n /* \"#utility.yul\":353:359 */\n dup2\n /* \"#utility.yul\":331:360 */\n tag_41\n jump\t// in\n tag_40:\n /* \"#utility.yul\":326:329 */\n dup5\n /* \"#utility.yul\":322:361 */\n add\n /* \"#utility.yul\":315:361 */\n swap2\n pop\n /* \"#utility.yul\":97:367 */\n pop\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":373:682 */\n tag_11:\n 0x00\n /* \"#utility.yul\":522:524 */\n 0x20\n /* \"#utility.yul\":511:520 */\n dup3\n /* \"#utility.yul\":507:525 */\n add\n /* \"#utility.yul\":499:525 */\n swap1\n pop\n /* \"#utility.yul\":571:580 */\n dup2\n /* \"#utility.yul\":565:569 */\n dup2\n /* \"#utility.yul\":561:581 */\n sub\n /* \"#utility.yul\":557:558 */\n 0x00\n /* \"#utility.yul\":546:555 */\n dup4\n /* \"#utility.yul\":542:559 */\n add\n /* \"#utility.yul\":535:582 */\n mstore\n /* \"#utility.yul\":599:675 */\n tag_43\n /* \"#utility.yul\":670:674 */\n dup2\n /* \"#utility.yul\":661:667 */\n dup5\n /* \"#utility.yul\":599:675 */\n tag_32\n jump\t// in\n tag_43:\n /* \"#utility.yul\":591:675 */\n swap1\n pop\n /* \"#utility.yul\":489:682 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":688:786 */\n tag_35:\n 0x00\n /* \"#utility.yul\":773:778 */\n dup2\n /* \"#utility.yul\":767:779 */\n mload\n /* \"#utility.yul\":757:779 */\n swap1\n pop\n /* \"#utility.yul\":746:786 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":792:960 */\n tag_37:\n 0x00\n /* \"#utility.yul\":909:915 */\n dup3\n /* \"#utility.yul\":904:907 */\n dup3\n /* \"#utility.yul\":897:916 */\n mstore\n /* \"#utility.yul\":949:953 */\n 0x20\n /* \"#utility.yul\":944:947 */\n dup3\n /* \"#utility.yul\":940:954 */\n add\n /* \"#utility.yul\":925:954 */\n swap1\n pop\n /* \"#utility.yul\":887:960 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":966:1273 */\n tag_39:\n /* \"#utility.yul\":1034:1035 */\n 0x00\n /* \"#utility.yul\":1044:1157 */\n tag_47:\n /* \"#utility.yul\":1058:1064 */\n dup4\n /* \"#utility.yul\":1055:1056 */\n dup2\n /* \"#utility.yul\":1052:1065 */\n lt\n /* \"#utility.yul\":1044:1157 */\n iszero\n tag_49\n jumpi\n /* \"#utility.yul\":1143:1144 */\n dup1\n /* \"#utility.yul\":1138:1141 */\n dup3\n /* \"#utility.yul\":1134:1145 */\n add\n /* \"#utility.yul\":1128:1146 */\n mload\n /* \"#utility.yul\":1124:1125 */\n dup2\n /* \"#utility.yul\":1119:1122 */\n dup5\n /* \"#utility.yul\":1115:1126 */\n add\n /* \"#utility.yul\":1108:1147 */\n mstore\n /* \"#utility.yul\":1080:1082 */\n 0x20\n /* \"#utility.yul\":1077:1078 */\n dup2\n /* \"#utility.yul\":1073:1083 */\n add\n /* \"#utility.yul\":1068:1083 */\n swap1\n pop\n /* \"#utility.yul\":1044:1157 */\n jump(tag_47)\n tag_49:\n /* \"#utility.yul\":1175:1181 */\n dup4\n /* \"#utility.yul\":1172:1173 */\n dup2\n /* \"#utility.yul\":1169:1182 */\n gt\n /* \"#utility.yul\":1166:1168 */\n iszero\n tag_50\n jumpi\n /* \"#utility.yul\":1255:1256 */\n 0x00\n /* \"#utility.yul\":1246:1252 */\n dup5\n /* \"#utility.yul\":1241:1244 */\n dup5\n /* \"#utility.yul\":1237:1253 */\n add\n /* \"#utility.yul\":1230:1257 */\n mstore\n /* \"#utility.yul\":1166:1168 */\n tag_50:\n /* \"#utility.yul\":1015:1273 */\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1279:1599 */\n tag_17:\n 0x00\n /* \"#utility.yul\":1360:1361 */\n 0x02\n /* \"#utility.yul\":1354:1358 */\n dup3\n /* \"#utility.yul\":1350:1362 */\n div\n /* \"#utility.yul\":1340:1362 */\n swap1\n pop\n /* \"#utility.yul\":1407:1408 */\n 0x01\n /* \"#utility.yul\":1401:1405 */\n dup3\n /* \"#utility.yul\":1397:1409 */\n and\n /* \"#utility.yul\":1428:1446 */\n dup1\n /* \"#utility.yul\":1418:1420 */\n tag_52\n jumpi\n /* \"#utility.yul\":1484:1488 */\n 0x7f\n /* \"#utility.yul\":1476:1482 */\n dup3\n /* \"#utility.yul\":1472:1489 */\n and\n /* \"#utility.yul\":1462:1489 */\n swap2\n pop\n /* \"#utility.yul\":1418:1420 */\n tag_52:\n /* \"#utility.yul\":1546:1548 */\n 0x20\n /* \"#utility.yul\":1538:1544 */\n dup3\n /* \"#utility.yul\":1535:1549 */\n lt\n /* \"#utility.yul\":1515:1533 */\n dup2\n /* \"#utility.yul\":1512:1550 */\n eq\n /* \"#utility.yul\":1509:1511 */\n iszero\n tag_53\n jumpi\n /* \"#utility.yul\":1565:1583 */\n tag_54\n tag_55\n jump\t// in\n tag_54:\n /* \"#utility.yul\":1509:1511 */\n tag_53:\n /* \"#utility.yul\":1330:1599 */\n pop\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1605:1785 */\n tag_55:\n /* \"#utility.yul\":1653:1730 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":1650:1651 */\n 0x00\n /* \"#utility.yul\":1643:1731 */\n mstore\n /* \"#utility.yul\":1750:1754 */\n 0x22\n /* \"#utility.yul\":1747:1748 */\n 0x04\n /* \"#utility.yul\":1740:1755 */\n mstore\n /* \"#utility.yul\":1774:1778 */\n 0x24\n /* \"#utility.yul\":1771:1772 */\n 0x00\n /* \"#utility.yul\":1764:1779 */\n revert\n /* \"#utility.yul\":1791:1893 */\n tag_41:\n 0x00\n /* \"#utility.yul\":1883:1885 */\n 0x1f\n /* \"#utility.yul\":1879:1886 */\n not\n /* \"#utility.yul\":1874:1876 */\n 0x1f\n /* \"#utility.yul\":1867:1872 */\n dup4\n /* \"#utility.yul\":1863:1877 */\n add\n /* \"#utility.yul\":1859:1887 */\n and\n /* \"#utility.yul\":1849:1887 */\n swap1\n pop\n /* \"#utility.yul\":1839:1893 */\n swap2\n swap1\n pop\n jump\t// out\n\n auxdata: 0xa264697066735822122043f42c0f8d5e1096a62fdd77fab9893f408fb4137fb01a34214905bbcaf003d764736f6c63430008000033\n}\n",
"bytecode": {
"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:2: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:2: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": "60806040526040518060400160405280600381526020017f61626300000000000000000000000000000000000000000000000000000000008152506000908051906020019061004f929190610062565b5034801561005c57600080fd5b50610166565b82805461006e90610105565b90600052602060002090601f01602090048101928261009057600085556100d7565b82601f106100a957805160ff19168380011785556100d7565b828001600101855582156100d7579182015b828111156100d65782518255916020019190600101906100bb565b5b5090506100e491906100e8565b5090565b5b808211156101015760008160009055506001016100e9565b5090565b6000600282049050600182168061011d57607f821691505b6020821081141561013157610130610137565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6103be806101756000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80630317d5f314610046578063e9b6190914610050578063ee4950021461006e575b600080fd5b61004e61008c565b005b610058610150565b60405161006591906102a5565b60405180910390f35b6100766101de565b60405161008391906102a5565b60405180910390f35b60008080548061009b90610316565b80601f81146100a9576100bf565b83600052602060002060ff1984168155603f9350505b506002820183556001810192505050600190038154600116156100f15790600052602060002090602091828204019190065b7f640000000000000000000000000000000000000000000000000000000000000090919091601f036101000a81548160ff021916907f010000000000000000000000000000000000000000000000000000000000000084040217905550565b6001805461015d90610316565b80601f016020809104026020016040519081016040528092919081815260200182805461018990610316565b80156101d65780601f106101ab576101008083540402835291602001916101d6565b820191906000526020600020905b8154815290600101906020018083116101b957829003601f168201915b505050505081565b600080546101eb90610316565b80601f016020809104026020016040519081016040528092919081815260200182805461021790610316565b80156102645780601f1061023957610100808354040283529160200191610264565b820191906000526020600020905b81548152906001019060200180831161024757829003601f168201915b505050505081565b6000610277826102c7565b61028181856102d2565b93506102918185602086016102e3565b61029a81610377565b840191505092915050565b600060208201905081810360008301526102bf818461026c565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156103015780820151818401526020810190506102e6565b83811115610310576000848401525b50505050565b6000600282049050600182168061032e57607f821691505b6020821081141561034257610341610348565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f830116905091905056fea264697066735822122043f42c0f8d5e1096a62fdd77fab9893f408fb4137fb01a34214905bbcaf003d764736f6c63430008000033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6162630000000000000000000000000000000000000000000000000000000000 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 0x3BE 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 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x317D5F3 EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0xE9B61909 EQ PUSH2 0x50 JUMPI DUP1 PUSH4 0xEE495002 EQ PUSH2 0x6E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0x8C JUMP JUMPDEST STOP JUMPDEST PUSH2 0x58 PUSH2 0x150 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x65 SWAP2 SWAP1 PUSH2 0x2A5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x76 PUSH2 0x1DE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x83 SWAP2 SWAP1 PUSH2 0x2A5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 DUP1 SLOAD DUP1 PUSH2 0x9B SWAP1 PUSH2 0x316 JUMP JUMPDEST DUP1 PUSH1 0x1F DUP2 EQ PUSH2 0xA9 JUMPI PUSH2 0xBF JUMP JUMPDEST DUP4 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0xFF NOT DUP5 AND DUP2 SSTORE PUSH1 0x3F SWAP4 POP POP JUMPDEST POP PUSH1 0x2 DUP3 ADD DUP4 SSTORE PUSH1 0x1 DUP2 ADD SWAP3 POP POP POP PUSH1 0x1 SWAP1 SUB DUP2 SLOAD PUSH1 0x1 AND ISZERO PUSH2 0xF1 JUMPI SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x20 SWAP2 DUP3 DUP3 DIV ADD SWAP2 SWAP1 MOD JUMPDEST PUSH32 0x6400000000000000000000000000000000000000000000000000000000000000 SWAP1 SWAP2 SWAP1 SWAP2 PUSH1 0x1F SUB PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 PUSH32 0x100000000000000000000000000000000000000000000000000000000000000 DUP5 DIV MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH2 0x15D SWAP1 PUSH2 0x316 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 0x189 SWAP1 PUSH2 0x316 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1D6 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1AB JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1D6 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 0x1B9 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH2 0x1EB SWAP1 PUSH2 0x316 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 0x217 SWAP1 PUSH2 0x316 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x264 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x239 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x264 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 0x247 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x277 DUP3 PUSH2 0x2C7 JUMP JUMPDEST PUSH2 0x281 DUP2 DUP6 PUSH2 0x2D2 JUMP JUMPDEST SWAP4 POP PUSH2 0x291 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x2E3 JUMP JUMPDEST PUSH2 0x29A DUP2 PUSH2 0x377 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 0x2BF DUP2 DUP5 PUSH2 0x26C 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 0x301 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x2E6 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x310 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 0x32E JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x342 JUMPI PUSH2 0x341 PUSH2 0x348 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 NUMBER DELEGATECALL 0x2C 0xF DUP14 0x5E LT SWAP7 0xA6 0x2F 0xDD PUSH24 0xFAB9893F408FB4137FB01A34214905BBCAF003D764736F6C PUSH4 0x43000800 STOP CALLER ",
"sourceMap": "26:148:0:-:0;;;56:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;26:148;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:320:1:-;;88:1;82:4;78:12;68:22;;135:1;129:4;125:12;156:18;146:2;;212:4;204:6;200:17;190:27;;146:2;274;266:6;263:14;243:18;240:38;237:2;;;293:18;;:::i;:::-;237:2;58:269;;;;:::o;333:180::-;381:77;378:1;371:88;478:4;475:1;468:15;502:4;499:1;492:15;26:148:0;;;;;;;"
},
"deployedBytecode": {
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1896:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "97:270:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "107:52:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "153:5:1"
}
],
"functionName": {
"name": "array_length_t_bytes_memory_ptr",
"nodeType": "YulIdentifier",
"src": "121:31:1"
},
"nodeType": "YulFunctionCall",
"src": "121:38:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "111:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "168:77:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "233:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "238:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "175:57:1"
},
"nodeType": "YulFunctionCall",
"src": "175:70:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "168:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "280:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "287:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "276:3:1"
},
"nodeType": "YulFunctionCall",
"src": "276:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "294:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "299:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "254:21:1"
},
"nodeType": "YulFunctionCall",
"src": "254:52:1"
},
"nodeType": "YulExpressionStatement",
"src": "254:52:1"
},
{
"nodeType": "YulAssignment",
"src": "315:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "326:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "353:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "331:21:1"
},
"nodeType": "YulFunctionCall",
"src": "331:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "322:3:1"
},
"nodeType": "YulFunctionCall",
"src": "322:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "315:3:1"
}
]
}
]
},
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "78:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "85:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "93:3:1",
"type": ""
}
],
"src": "7:360:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "489:193:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "499:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "511:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "522:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "507:3:1"
},
"nodeType": "YulFunctionCall",
"src": "507:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "499:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "546:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "557:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "542:3:1"
},
"nodeType": "YulFunctionCall",
"src": "542:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "565:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "571:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "561:3:1"
},
"nodeType": "YulFunctionCall",
"src": "561:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "535:6:1"
},
"nodeType": "YulFunctionCall",
"src": "535:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "535:47:1"
},
{
"nodeType": "YulAssignment",
"src": "591:84:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "661:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "670:4:1"
}
],
"functionName": {
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "599:61:1"
},
"nodeType": "YulFunctionCall",
"src": "599:76:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "591:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "461:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "473:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "484:4:1",
"type": ""
}
],
"src": "373:309:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "746:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "757:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "773:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "767:5:1"
},
"nodeType": "YulFunctionCall",
"src": "767:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "757:6:1"
}
]
}
]
},
"name": "array_length_t_bytes_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "729:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "739:6:1",
"type": ""
}
],
"src": "688:98:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "887:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "904:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "909:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "897:6:1"
},
"nodeType": "YulFunctionCall",
"src": "897:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "897:19:1"
},
{
"nodeType": "YulAssignment",
"src": "925:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "944:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "949:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "940:3:1"
},
"nodeType": "YulFunctionCall",
"src": "940:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "925:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "859:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "864:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "875:11:1",
"type": ""
}
],
"src": "792:168:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1015:258:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1025:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1034:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "1029:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1094:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "1119:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1124:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1115:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1115:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "1138:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1143:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1134:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1134:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1128:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1128:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1108:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1108:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "1108:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1055:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1058:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "1052:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1052:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "1066:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1068:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1077:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1080:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1073:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1073:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1068:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "1048:3:1",
"statements": []
},
"src": "1044:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1191:76:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "1241:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1246:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1237:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1237:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1255:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1230:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1230:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "1230:27:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1172:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1175:6:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1169:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1169:13:1"
},
"nodeType": "YulIf",
"src": "1166:2:1"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "997:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "1002:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1007:6:1",
"type": ""
}
],
"src": "966:307:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1330:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1340:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "1354:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1360:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "1350:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1350:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1340:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "1371:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "1401:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1407:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1397:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1397:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "1375:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1448:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1462:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1476:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1484:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1472:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1472:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1462:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "1428:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1421:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1421:26:1"
},
"nodeType": "YulIf",
"src": "1418:2:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1551:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "1565:16:1"
},
"nodeType": "YulFunctionCall",
"src": "1565:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "1565:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "1515:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1538:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1546:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "1535:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1535:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1512:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1512:38:1"
},
"nodeType": "YulIf",
"src": "1509:2:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "1314:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1323:6:1",
"type": ""
}
],
"src": "1279:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1633:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1650:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1653:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1643:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1643:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "1643:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1747:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1750:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1740:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1740:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "1740:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1771:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1774:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1764:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1764:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "1764:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "1605:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1839:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1849:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1867:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1874:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1863:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1863:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1883:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "1879:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1879:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1859:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1859:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "1849:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1822:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "1832:6:1",
"type": ""
}
],
"src": "1791:102:1"
}
]
},
"contents": "{\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_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_bytes_memory_ptr__to_t_bytes_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_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value0, tail)\n\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_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": "608060405234801561001057600080fd5b50600436106100415760003560e01c80630317d5f314610046578063e9b6190914610050578063ee4950021461006e575b600080fd5b61004e61008c565b005b610058610150565b60405161006591906102a5565b60405180910390f35b6100766101de565b60405161008391906102a5565b60405180910390f35b60008080548061009b90610316565b80601f81146100a9576100bf565b83600052602060002060ff1984168155603f9350505b506002820183556001810192505050600190038154600116156100f15790600052602060002090602091828204019190065b7f640000000000000000000000000000000000000000000000000000000000000090919091601f036101000a81548160ff021916907f010000000000000000000000000000000000000000000000000000000000000084040217905550565b6001805461015d90610316565b80601f016020809104026020016040519081016040528092919081815260200182805461018990610316565b80156101d65780601f106101ab576101008083540402835291602001916101d6565b820191906000526020600020905b8154815290600101906020018083116101b957829003601f168201915b505050505081565b600080546101eb90610316565b80601f016020809104026020016040519081016040528092919081815260200182805461021790610316565b80156102645780601f1061023957610100808354040283529160200191610264565b820191906000526020600020905b81548152906001019060200180831161024757829003601f168201915b505050505081565b6000610277826102c7565b61028181856102d2565b93506102918185602086016102e3565b61029a81610377565b840191505092915050565b600060208201905081810360008301526102bf818461026c565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156103015780820151818401526020810190506102e6565b83811115610310576000848401525b50505050565b6000600282049050600182168061032e57607f821691505b6020821081141561034257610341610348565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f830116905091905056fea264697066735822122043f42c0f8d5e1096a62fdd77fab9893f408fb4137fb01a34214905bbcaf003d764736f6c63430008000033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x317D5F3 EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0xE9B61909 EQ PUSH2 0x50 JUMPI DUP1 PUSH4 0xEE495002 EQ PUSH2 0x6E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0x8C JUMP JUMPDEST STOP JUMPDEST PUSH2 0x58 PUSH2 0x150 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x65 SWAP2 SWAP1 PUSH2 0x2A5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x76 PUSH2 0x1DE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x83 SWAP2 SWAP1 PUSH2 0x2A5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 DUP1 SLOAD DUP1 PUSH2 0x9B SWAP1 PUSH2 0x316 JUMP JUMPDEST DUP1 PUSH1 0x1F DUP2 EQ PUSH2 0xA9 JUMPI PUSH2 0xBF JUMP JUMPDEST DUP4 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0xFF NOT DUP5 AND DUP2 SSTORE PUSH1 0x3F SWAP4 POP POP JUMPDEST POP PUSH1 0x2 DUP3 ADD DUP4 SSTORE PUSH1 0x1 DUP2 ADD SWAP3 POP POP POP PUSH1 0x1 SWAP1 SUB DUP2 SLOAD PUSH1 0x1 AND ISZERO PUSH2 0xF1 JUMPI SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x20 SWAP2 DUP3 DUP3 DIV ADD SWAP2 SWAP1 MOD JUMPDEST PUSH32 0x6400000000000000000000000000000000000000000000000000000000000000 SWAP1 SWAP2 SWAP1 SWAP2 PUSH1 0x1F SUB PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 PUSH32 0x100000000000000000000000000000000000000000000000000000000000000 DUP5 DIV MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH2 0x15D SWAP1 PUSH2 0x316 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 0x189 SWAP1 PUSH2 0x316 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1D6 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1AB JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1D6 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 0x1B9 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH2 0x1EB SWAP1 PUSH2 0x316 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 0x217 SWAP1 PUSH2 0x316 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x264 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x239 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x264 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 0x247 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x277 DUP3 PUSH2 0x2C7 JUMP JUMPDEST PUSH2 0x281 DUP2 DUP6 PUSH2 0x2D2 JUMP JUMPDEST SWAP4 POP PUSH2 0x291 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x2E3 JUMP JUMPDEST PUSH2 0x29A DUP2 PUSH2 0x377 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 0x2BF DUP2 DUP5 PUSH2 0x26C 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 0x301 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x2E6 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x310 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 0x32E JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x342 JUMPI PUSH2 0x341 PUSH2 0x348 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 NUMBER DELEGATECALL 0x2C 0xF DUP14 0x5E LT SWAP7 0xA6 0x2F 0xDD PUSH24 0xFAB9893F408FB4137FB01A34214905BBCAF003D764736F6C PUSH4 0x43000800 STOP CALLER ",
"sourceMap": "26:148:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;111:60;;;:::i;:::-;;86:15;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;56:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;111:60;151:2;:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;111:60::o;86:15::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;56:23::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7:360:1:-;;121:38;153:5;121:38;:::i;:::-;175:70;238:6;233:3;175:70;:::i;:::-;168:77;;254:52;299:6;294:3;287:4;280:5;276:16;254:52;:::i;:::-;331:29;353:6;331:29;:::i;:::-;326:3;322:39;315:46;;97:270;;;;;:::o;373:309::-;;522:2;511:9;507:18;499:26;;571:9;565:4;561:20;557:1;546:9;542:17;535:47;599:76;670:4;661:6;599:76;:::i;:::-;591:84;;489:193;;;;:::o;688:98::-;;773:5;767:12;757:22;;746:40;;;:::o;792:168::-;;909:6;904:3;897:19;949:4;944:3;940:14;925:29;;887:73;;;;:::o;966:307::-;1034:1;1044:113;1058:6;1055:1;1052:13;1044:113;;;1143:1;1138:3;1134:11;1128:18;1124:1;1119:3;1115:11;1108:39;1080:2;1077:1;1073:10;1068:15;;1044:113;;;1175:6;1172:1;1169:13;1166:2;;;1255:1;1246:6;1241:3;1237:16;1230:27;1166:2;1015:258;;;;:::o;1279:320::-;;1360:1;1354:4;1350:12;1340:22;;1407:1;1401:4;1397:12;1428:18;1418:2;;1484:4;1476:6;1472:17;1462:27;;1418:2;1546;1538:6;1535:14;1515:18;1512:38;1509:2;;;1565:18;;:::i;:::-;1509:2;1330:269;;;;:::o;1605:180::-;1653:77;1650:1;1643:88;1750:4;1747:1;1740:15;1774:4;1771:1;1764:15;1791:102;;1883:2;1879:7;1874:2;1867:5;1863:14;1859:28;1849:38;;1839:54;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "191600",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"b1()": "infinite",
"b3()": "infinite",
"pushElement()": "64598"
}
},
"legacyAssembly": {
".code": [
{
"begin": 26,
"end": 174,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 26,
"end": 174,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 26,
"end": 174,
"name": "MSTORE",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 56,
"end": 79,
"name": "MLOAD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 56,
"end": 79,
"name": "ADD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 56,
"end": 79,
"name": "MSTORE",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "3"
},
{
"begin": 56,
"end": 79,
"name": "DUP2",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "MSTORE",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 56,
"end": 79,
"name": "ADD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "6162630000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 56,
"end": 79,
"name": "DUP2",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "MSTORE",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "POP",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 56,
"end": 79,
"name": "SWAP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "MLOAD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 56,
"end": 79,
"name": "ADD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 56,
"end": 79,
"name": "SWAP3",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP2",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 56,
"end": 79,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 56,
"end": 79,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 56,
"end": 79,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "POP",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "DUP1",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "ISZERO",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 26,
"end": 174,
"name": "JUMPI",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 26,
"end": 174,
"name": "DUP1",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "REVERT",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 26,
"end": 174,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "POP",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 26,
"end": 174,
"name": "JUMP",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 26,
"end": 174,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "DUP3",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "DUP1",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "SLOAD",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 26,
"end": 174,
"name": "SWAP1",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 26,
"end": 174,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 26,
"end": 174,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 26,
"end": 174,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "SWAP1",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 26,
"end": 174,
"name": "MSTORE",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 26,
"end": 174,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 26,
"end": 174,
"name": "KECCAK256",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "SWAP1",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 26,
"end": 174,
"name": "ADD",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 26,
"end": 174,
"name": "SWAP1",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "DIV",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "DUP2",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "ADD",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "SWAP3",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "DUP3",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 26,
"end": 174,
"name": "JUMPI",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 26,
"end": 174,
"name": "DUP6",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "SSTORE",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 26,
"end": 174,
"name": "JUMP",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "tag",
"source": 0,
"value": "8"
},
{
"begin": 26,
"end": 174,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "DUP3",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 26,
"end": 174,
"name": "LT",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 26,
"end": 174,
"name": "JUMPI",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "DUP1",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "MLOAD",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH",
"source": 0,
"value": "FF"
},
{
"begin": 26,
"end": 174,
"name": "NOT",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "AND",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "DUP4",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "DUP1",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "ADD",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "OR",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "DUP6",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "SSTORE",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 26,
"end": 174,
"name": "JUMP",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "tag",
"source": 0,
"value": "9"
},
{
"begin": 26,
"end": 174,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "DUP3",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "DUP1",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "ADD",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 26,
"end": 174,
"name": "ADD",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "DUP6",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "SSTORE",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "DUP3",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "ISZERO",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 26,
"end": 174,
"name": "JUMPI",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "SWAP2",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "DUP3",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "ADD",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "tag",
"source": 0,
"value": "10"
},
{
"begin": 26,
"end": 174,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "DUP3",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "DUP2",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "GT",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "ISZERO",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 26,
"end": 174,
"name": "JUMPI",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "DUP3",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "MLOAD",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "DUP3",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "SSTORE",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "SWAP2",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 26,
"end": 174,
"name": "ADD",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "SWAP2",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "SWAP1",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 26,
"end": 174,
"name": "ADD",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "SWAP1",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 26,
"end": 174,
"name": "JUMP",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "tag",
"source": 0,
"value": "11"
},
{
"begin": 26,
"end": 174,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "tag",
"source": 0,
"value": "7"
},
{
"begin": 26,
"end": 174,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "POP",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "SWAP1",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "POP",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH [tag]",
"source": 0,
"value": "12"
},
{
"begin": 26,
"end": 174,
"name": "SWAP2",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "SWAP1",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH [tag]",
"source": 0,
"value": "13"
},
{
"begin": 26,
"end": 174,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 26,
"end": 174,
"name": "tag",
"source": 0,
"value": "12"
},
{
"begin": 26,
"end": 174,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "POP",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "SWAP1",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 26,
"end": 174,
"name": "tag",
"source": 0,
"value": "13"
},
{
"begin": 26,
"end": 174,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "tag",
"source": 0,
"value": "14"
},
{
"begin": 26,
"end": 174,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "DUP1",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "DUP3",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "GT",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "ISZERO",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH [tag]",
"source": 0,
"value": "15"
},
{
"begin": 26,
"end": 174,
"name": "JUMPI",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 26,
"end": 174,
"name": "DUP2",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 26,
"end": 174,
"name": "SWAP1",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "SSTORE",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "POP",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 26,
"end": 174,
"name": "ADD",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH [tag]",
"source": 0,
"value": "14"
},
{
"begin": 26,
"end": 174,
"name": "JUMP",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "tag",
"source": 0,
"value": "15"
},
{
"begin": 26,
"end": 174,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "POP",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "SWAP1",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 7,
"end": 327,
"name": "tag",
"source": 1,
"value": "6"
},
{
"begin": 7,
"end": 327,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7,
"end": 327,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 88,
"end": 89,
"name": "PUSH",
"source": 1,
"value": "2"
},
{
"begin": 82,
"end": 86,
"name": "DUP3",
"source": 1
},
{
"begin": 78,
"end": 90,
"name": "DIV",
"source": 1
},
{
"begin": 68,
"end": 90,
"name": "SWAP1",
"source": 1
},
{
"begin": 68,
"end": 90,
"name": "POP",
"source": 1
},
{
"begin": 135,
"end": 136,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 129,
"end": 133,
"name": "DUP3",
"source": 1
},
{
"begin": 125,
"end": 137,
"name": "AND",
"source": 1
},
{
"begin": 156,
"end": 174,
"name": "DUP1",
"source": 1
},
{
"begin": 146,
"end": 148,
"name": "PUSH [tag]",
"source": 1,
"value": "18"
},
{
"begin": 146,
"end": 148,
"name": "JUMPI",
"source": 1
},
{
"begin": 212,
"end": 216,
"name": "PUSH",
"source": 1,
"value": "7F"
},
{
"begin": 204,
"end": 210,
"name": "DUP3",
"source": 1
},
{
"begin": 200,
"end": 217,
"name": "AND",
"source": 1
},
{
"begin": 190,
"end": 217,
"name": "SWAP2",
"source": 1
},
{
"begin": 190,
"end": 217,
"name": "POP",
"source": 1
},
{
"begin": 146,
"end": 148,
"name": "tag",
"source": 1,
"value": "18"
},
{
"begin": 146,
"end": 148,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 274,
"end": 276,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 266,
"end": 272,
"name": "DUP3",
"source": 1
},
{
"begin": 263,
"end": 277,
"name": "LT",
"source": 1
},
{
"begin": 243,
"end": 261,
"name": "DUP2",
"source": 1
},
{
"begin": 240,
"end": 278,
"name": "EQ",
"source": 1
},
{
"begin": 237,
"end": 239,
"name": "ISZERO",
"source": 1
},
{
"begin": 237,
"end": 239,
"name": "PUSH [tag]",
"source": 1,
"value": "19"
},
{
"begin": 237,
"end": 239,
"name": "JUMPI",
"source": 1
},
{
"begin": 293,
"end": 311,
"name": "PUSH [tag]",
"source": 1,
"value": "20"
},
{
"begin": 293,
"end": 311,
"name": "PUSH [tag]",
"source": 1,
"value": "21"
},
{
"begin": 293,
"end": 311,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 293,
"end": 311,
"name": "tag",
"source": 1,
"value": "20"
},
{
"begin": 293,
"end": 311,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 237,
"end": 239,
"name": "tag",
"source": 1,
"value": "19"
},
{
"begin": 237,
"end": 239,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 58,
"end": 327,
"name": "POP",
"source": 1
},
{
"begin": 58,
"end": 327,
"name": "SWAP2",
"source": 1
},
{
"begin": 58,
"end": 327,
"name": "SWAP1",
"source": 1
},
{
"begin": 58,
"end": 327,
"name": "POP",
"source": 1
},
{
"begin": 58,
"end": 327,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 333,
"end": 513,
"name": "tag",
"source": 1,
"value": "21"
},
{
"begin": 333,
"end": 513,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 381,
"end": 458,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 378,
"end": 379,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 371,
"end": 459,
"name": "MSTORE",
"source": 1
},
{
"begin": 478,
"end": 482,
"name": "PUSH",
"source": 1,
"value": "22"
},
{
"begin": 475,
"end": 476,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 468,
"end": 483,
"name": "MSTORE",
"source": 1
},
{
"begin": 502,
"end": 506,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 499,
"end": 500,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 492,
"end": 507,
"name": "REVERT",
"source": 1
},
{
"begin": 26,
"end": 174,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 26,
"end": 174,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 26,
"end": 174,
"name": "DUP1",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 26,
"end": 174,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 26,
"end": 174,
"name": "CODECOPY",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 26,
"end": 174,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a264697066735822122043f42c0f8d5e1096a62fdd77fab9893f408fb4137fb01a34214905bbcaf003d764736f6c63430008000033",
".code": [
{
"begin": 26,
"end": 174,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 26,
"end": 174,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 26,
"end": 174,
"name": "MSTORE",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "DUP1",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "ISZERO",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 26,
"end": 174,
"name": "JUMPI",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 26,
"end": 174,
"name": "DUP1",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "REVERT",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 26,
"end": 174,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "POP",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 26,
"end": 174,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "LT",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 26,
"end": 174,
"name": "JUMPI",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 26,
"end": 174,
"name": "CALLDATALOAD",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 26,
"end": 174,
"name": "SHR",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "DUP1",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH",
"source": 0,
"value": "317D5F3"
},
{
"begin": 26,
"end": 174,
"name": "EQ",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 26,
"end": 174,
"name": "JUMPI",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "DUP1",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH",
"source": 0,
"value": "E9B61909"
},
{
"begin": 26,
"end": 174,
"name": "EQ",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 26,
"end": 174,
"name": "JUMPI",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "DUP1",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH",
"source": 0,
"value": "EE495002"
},
{
"begin": 26,
"end": 174,
"name": "EQ",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 26,
"end": 174,
"name": "JUMPI",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 26,
"end": 174,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 26,
"end": 174,
"name": "DUP1",
"source": 0
},
{
"begin": 26,
"end": 174,
"name": "REVERT",
"source": 0
},
{
"begin": 111,
"end": 171,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 111,
"end": 171,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 111,
"end": 171,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 111,
"end": 171,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 111,
"end": 171,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 111,
"end": 171,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 111,
"end": 171,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 111,
"end": 171,
"name": "STOP",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 86,
"end": 101,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 86,
"end": 101,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 86,
"end": 101,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 86,
"end": 101,
"name": "tag",
"source": 0,
"value": "8"
},
{
"begin": 86,
"end": 101,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 86,
"end": 101,
"name": "MLOAD",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 86,
"end": 101,
"name": "SWAP2",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SWAP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 86,
"end": 101,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 86,
"end": 101,
"name": "tag",
"source": 0,
"value": "10"
},
{
"begin": 86,
"end": 101,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 86,
"end": 101,
"name": "MLOAD",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SWAP2",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SUB",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SWAP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "RETURN",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 56,
"end": 79,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH [tag]",
"source": 0,
"value": "12"
},
{
"begin": 56,
"end": 79,
"name": "PUSH [tag]",
"source": 0,
"value": "13"
},
{
"begin": 56,
"end": 79,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 56,
"end": 79,
"name": "tag",
"source": 0,
"value": "12"
},
{
"begin": 56,
"end": 79,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 56,
"end": 79,
"name": "MLOAD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH [tag]",
"source": 0,
"value": "14"
},
{
"begin": 56,
"end": 79,
"name": "SWAP2",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 56,
"end": 79,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 56,
"end": 79,
"name": "tag",
"source": 0,
"value": "14"
},
{
"begin": 56,
"end": 79,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 56,
"end": 79,
"name": "MLOAD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP2",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SUB",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "RETURN",
"source": 0
},
{
"begin": 111,
"end": 171,
"name": "tag",
"source": 0,
"value": "7"
},
{
"begin": 111,
"end": 171,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 151,
"end": 153,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 151,
"end": 163,
"name": "DUP1",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "DUP1",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "SLOAD",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "DUP1",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "PUSH [tag]",
"source": 0,
"value": "16"
},
{
"begin": 151,
"end": 163,
"name": "SWAP1",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "PUSH [tag]",
"source": 0,
"value": "17"
},
{
"begin": 151,
"end": 163,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 151,
"end": 163,
"name": "tag",
"source": 0,
"value": "16"
},
{
"begin": 151,
"end": 163,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "DUP1",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 151,
"end": 163,
"name": "DUP2",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "EQ",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "PUSH [tag]",
"source": 0,
"value": "19"
},
{
"begin": 151,
"end": 163,
"name": "JUMPI",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "PUSH [tag]",
"source": 0,
"value": "18"
},
{
"begin": 151,
"end": 163,
"name": "JUMP",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "tag",
"source": 0,
"value": "19"
},
{
"begin": 151,
"end": 163,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "DUP4",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 151,
"end": 163,
"name": "MSTORE",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 151,
"end": 163,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 151,
"end": 163,
"name": "KECCAK256",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "PUSH",
"source": 0,
"value": "FF"
},
{
"begin": 151,
"end": 163,
"name": "NOT",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "DUP5",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "AND",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "DUP2",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "SSTORE",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "PUSH",
"source": 0,
"value": "3F"
},
{
"begin": 151,
"end": 163,
"name": "SWAP4",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "POP",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "POP",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "tag",
"source": 0,
"value": "18"
},
{
"begin": 151,
"end": 163,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "POP",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "PUSH",
"source": 0,
"value": "2"
},
{
"begin": 151,
"end": 163,
"name": "DUP3",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "ADD",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "DUP4",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "SSTORE",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 151,
"end": 163,
"name": "DUP2",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "ADD",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "SWAP3",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "POP",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "POP",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "POP",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 151,
"end": 163,
"name": "SWAP1",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "SUB",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "DUP2",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "SLOAD",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 151,
"end": 163,
"name": "AND",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "ISZERO",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "PUSH [tag]",
"source": 0,
"value": "20"
},
{
"begin": 151,
"end": 163,
"name": "JUMPI",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "SWAP1",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 151,
"end": 163,
"name": "MSTORE",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 151,
"end": 163,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 151,
"end": 163,
"name": "KECCAK256",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "SWAP1",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 151,
"end": 163,
"name": "SWAP2",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "DUP3",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "DUP3",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "DIV",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "ADD",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "SWAP2",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "SWAP1",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "MOD",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "tag",
"source": 0,
"value": "20"
},
{
"begin": 151,
"end": 163,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "PUSH",
"source": 0,
"value": "6400000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 151,
"end": 163,
"name": "SWAP1",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "SWAP2",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "SWAP1",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "SWAP2",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 151,
"end": 163,
"name": "SUB",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 151,
"end": 163,
"name": "EXP",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "DUP2",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "SLOAD",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "DUP2",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "PUSH",
"source": 0,
"value": "FF"
},
{
"begin": 151,
"end": 163,
"name": "MUL",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "NOT",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "AND",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "SWAP1",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "PUSH",
"source": 0,
"value": "100000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 151,
"end": 163,
"name": "DUP5",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "DIV",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "MUL",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "OR",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "SWAP1",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "SSTORE",
"source": 0
},
{
"begin": 151,
"end": 163,
"name": "POP",
"source": 0
},
{
"begin": 111,
"end": 171,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 86,
"end": 101,
"name": "tag",
"source": 0,
"value": "9"
},
{
"begin": 86,
"end": 101,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 86,
"end": 101,
"name": "DUP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SLOAD",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH [tag]",
"source": 0,
"value": "21"
},
{
"begin": 86,
"end": 101,
"name": "SWAP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH [tag]",
"source": 0,
"value": "17"
},
{
"begin": 86,
"end": 101,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 86,
"end": 101,
"name": "tag",
"source": 0,
"value": "21"
},
{
"begin": 86,
"end": 101,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 86,
"end": 101,
"name": "ADD",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 86,
"end": 101,
"name": "DUP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SWAP2",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DIV",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "MUL",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 86,
"end": 101,
"name": "ADD",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 86,
"end": 101,
"name": "MLOAD",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SWAP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP2",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "ADD",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 86,
"end": 101,
"name": "MSTORE",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SWAP3",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SWAP2",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SWAP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP2",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP2",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "MSTORE",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 86,
"end": 101,
"name": "ADD",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP3",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SLOAD",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH [tag]",
"source": 0,
"value": "22"
},
{
"begin": 86,
"end": 101,
"name": "SWAP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH [tag]",
"source": 0,
"value": "17"
},
{
"begin": 86,
"end": 101,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 86,
"end": 101,
"name": "tag",
"source": 0,
"value": "22"
},
{
"begin": 86,
"end": 101,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "ISZERO",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH [tag]",
"source": 0,
"value": "23"
},
{
"begin": 86,
"end": 101,
"name": "JUMPI",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 86,
"end": 101,
"name": "LT",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH [tag]",
"source": 0,
"value": "24"
},
{
"begin": 86,
"end": 101,
"name": "JUMPI",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 86,
"end": 101,
"name": "DUP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP4",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SLOAD",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DIV",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "MUL",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP4",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "MSTORE",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SWAP2",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 86,
"end": 101,
"name": "ADD",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SWAP2",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH [tag]",
"source": 0,
"value": "23"
},
{
"begin": 86,
"end": 101,
"name": "JUMP",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "tag",
"source": 0,
"value": "24"
},
{
"begin": 86,
"end": 101,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP3",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "ADD",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SWAP2",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SWAP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 86,
"end": 101,
"name": "MSTORE",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 86,
"end": 101,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 86,
"end": 101,
"name": "KECCAK256",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SWAP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "tag",
"source": 0,
"value": "25"
},
{
"begin": 86,
"end": 101,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP2",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SLOAD",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP2",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "MSTORE",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SWAP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 86,
"end": 101,
"name": "ADD",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SWAP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 86,
"end": 101,
"name": "ADD",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP4",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "GT",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH [tag]",
"source": 0,
"value": "25"
},
{
"begin": 86,
"end": 101,
"name": "JUMPI",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP3",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SWAP1",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SUB",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 86,
"end": 101,
"name": "AND",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP3",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "ADD",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "SWAP2",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "tag",
"source": 0,
"value": "23"
},
{
"begin": 86,
"end": 101,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "POP",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "POP",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "POP",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "POP",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "POP",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "DUP2",
"source": 0
},
{
"begin": 86,
"end": 101,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 56,
"end": 79,
"name": "tag",
"source": 0,
"value": "13"
},
{
"begin": 56,
"end": 79,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 56,
"end": 79,
"name": "DUP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SLOAD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH [tag]",
"source": 0,
"value": "26"
},
{
"begin": 56,
"end": 79,
"name": "SWAP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH [tag]",
"source": 0,
"value": "17"
},
{
"begin": 56,
"end": 79,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 56,
"end": 79,
"name": "tag",
"source": 0,
"value": "26"
},
{
"begin": 56,
"end": 79,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 56,
"end": 79,
"name": "ADD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 56,
"end": 79,
"name": "DUP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP2",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DIV",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "MUL",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 56,
"end": 79,
"name": "ADD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 56,
"end": 79,
"name": "MLOAD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP2",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "ADD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 56,
"end": 79,
"name": "MSTORE",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP3",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP2",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP2",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP2",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "MSTORE",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 56,
"end": 79,
"name": "ADD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP3",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SLOAD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH [tag]",
"source": 0,
"value": "27"
},
{
"begin": 56,
"end": 79,
"name": "SWAP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH [tag]",
"source": 0,
"value": "17"
},
{
"begin": 56,
"end": 79,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 56,
"end": 79,
"name": "tag",
"source": 0,
"value": "27"
},
{
"begin": 56,
"end": 79,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "ISZERO",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH [tag]",
"source": 0,
"value": "28"
},
{
"begin": 56,
"end": 79,
"name": "JUMPI",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 56,
"end": 79,
"name": "LT",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH [tag]",
"source": 0,
"value": "29"
},
{
"begin": 56,
"end": 79,
"name": "JUMPI",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 56,
"end": 79,
"name": "DUP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP4",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SLOAD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DIV",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "MUL",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP4",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "MSTORE",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP2",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 56,
"end": 79,
"name": "ADD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP2",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH [tag]",
"source": 0,
"value": "28"
},
{
"begin": 56,
"end": 79,
"name": "JUMP",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "tag",
"source": 0,
"value": "29"
},
{
"begin": 56,
"end": 79,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP3",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "ADD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP2",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 56,
"end": 79,
"name": "MSTORE",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 56,
"end": 79,
"name": "KECCAK256",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "tag",
"source": 0,
"value": "30"
},
{
"begin": 56,
"end": 79,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP2",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SLOAD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP2",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "MSTORE",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 56,
"end": 79,
"name": "ADD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 56,
"end": 79,
"name": "ADD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP4",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "GT",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH [tag]",
"source": 0,
"value": "30"
},
{
"begin": 56,
"end": 79,
"name": "JUMPI",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP3",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP1",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SUB",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 56,
"end": 79,
"name": "AND",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP3",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "ADD",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "SWAP2",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "tag",
"source": 0,
"value": "28"
},
{
"begin": 56,
"end": 79,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "POP",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "POP",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "POP",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "POP",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "POP",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "DUP2",
"source": 0
},
{
"begin": 56,
"end": 79,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 7,
"end": 367,
"name": "tag",
"source": 1,
"value": "32"
},
{
"begin": 7,
"end": 367,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7,
"end": 367,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 121,
"end": 159,
"name": "PUSH [tag]",
"source": 1,
"value": "34"
},
{
"begin": 153,
"end": 158,
"name": "DUP3",
"source": 1
},
{
"begin": 121,
"end": 159,
"name": "PUSH [tag]",
"source": 1,
"value": "35"
},
{
"begin": 121,
"end": 159,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 121,
"end": 159,
"name": "tag",
"source": 1,
"value": "34"
},
{
"begin": 121,
"end": 159,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 175,
"end": 245,
"name": "PUSH [tag]",
"source": 1,
"value": "36"
},
{
"begin": 238,
"end": 244,
"name": "DUP2",
"source": 1
},
{
"begin": 233,
"end": 236,
"name": "DUP6",
"source": 1
},
{
"begin": 175,
"end": 245,
"name": "PUSH [tag]",
"source": 1,
"value": "37"
},
{
"begin": 175,
"end": 245,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 175,
"end": 245,
"name": "tag",
"source": 1,
"value": "36"
},
{
"begin": 175,
"end": 245,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 168,
"end": 245,
"name": "SWAP4",
"source": 1
},
{
"begin": 168,
"end": 245,
"name": "POP",
"source": 1
},
{
"begin": 254,
"end": 306,
"name": "PUSH [tag]",
"source": 1,
"value": "38"
},
{
"begin": 299,
"end": 305,
"name": "DUP2",
"source": 1
},
{
"begin": 294,
"end": 297,
"name": "DUP6",
"source": 1
},
{
"begin": 287,
"end": 291,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 280,
"end": 285,
"name": "DUP7",
"source": 1
},
{
"begin": 276,
"end": 292,
"name": "ADD",
"source": 1
},
{
"begin": 254,
"end": 306,
"name": "PUSH [tag]",
"source": 1,
"value": "39"
},
{
"begin": 254,
"end": 306,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 254,
"end": 306,
"name": "tag",
"source": 1,
"value": "38"
},
{
"begin": 254,
"end": 306,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 331,
"end": 360,
"name": "PUSH [tag]",
"source": 1,
"value": "40"
},
{
"begin": 353,
"end": 359,
"name": "DUP2",
"source": 1
},
{
"begin": 331,
"end": 360,
"name": "PUSH [tag]",
"source": 1,
"value": "41"
},
{
"begin": 331,
"end": 360,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 331,
"end": 360,
"name": "tag",
"source": 1,
"value": "40"
},
{
"begin": 331,
"end": 360,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 326,
"end": 329,
"name": "DUP5",
"source": 1
},
{
"begin": 322,
"end": 361,
"name": "ADD",
"source": 1
},
{
"begin": 315,
"end": 361,
"name": "SWAP2",
"source": 1
},
{
"begin": 315,
"end": 361,
"name": "POP",
"source": 1
},
{
"begin": 97,
"end": 367,
"name": "POP",
"source": 1
},
{
"begin": 97,
"end": 367,
"name": "SWAP3",
"source": 1
},
{
"begin": 97,
"end": 367,
"name": "SWAP2",
"source": 1
},
{
"begin": 97,
"end": 367,
"name": "POP",
"source": 1
},
{
"begin": 97,
"end": 367,
"name": "POP",
"source": 1
},
{
"begin": 97,
"end": 367,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 373,
"end": 682,
"name": "tag",
"source": 1,
"value": "11"
},
{
"begin": 373,
"end": 682,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 373,
"end": 682,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 522,
"end": 524,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 511,
"end": 520,
"name": "DUP3",
"source": 1
},
{
"begin": 507,
"end": 525,
"name": "ADD",
"source": 1
},
{
"begin": 499,
"end": 525,
"name": "SWAP1",
"source": 1
},
{
"begin": 499,
"end": 525,
"name": "POP",
"source": 1
},
{
"begin": 571,
"end": 580,
"name": "DUP2",
"source": 1
},
{
"begin": 565,
"end": 569,
"name": "DUP2",
"source": 1
},
{
"begin": 561,
"end": 581,
"name": "SUB",
"source": 1
},
{
"begin": 557,
"end": 558,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 546,
"end": 555,
"name": "DUP4",
"source": 1
},
{
"begin": 542,
"end": 559,
"name": "ADD",
"source": 1
},
{
"begin": 535,
"end": 582,
"name": "MSTORE",
"source": 1
},
{
"begin": 599,
"end": 675,
"name": "PUSH [tag]",
"source": 1,
"value": "43"
},
{
"begin": 670,
"end": 674,
"name": "DUP2",
"source": 1
},
{
"begin": 661,
"end": 667,
"name": "DUP5",
"source": 1
},
{
"begin": 599,
"end": 675,
"name": "PUSH [tag]",
"source": 1,
"value": "32"
},
{
"begin": 599,
"end": 675,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 599,
"end": 675,
"name": "tag",
"source": 1,
"value": "43"
},
{
"begin": 599,
"end": 675,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 591,
"end": 675,
"name": "SWAP1",
"source": 1
},
{
"begin": 591,
"end": 675,
"name": "POP",
"source": 1
},
{
"begin": 489,
"end": 682,
"name": "SWAP3",
"source": 1
},
{
"begin": 489,
"end": 682,
"name": "SWAP2",
"source": 1
},
{
"begin": 489,
"end": 682,
"name": "POP",
"source": 1
},
{
"begin": 489,
"end": 682,
"name": "POP",
"source": 1
},
{
"begin": 489,
"end": 682,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 688,
"end": 786,
"name": "tag",
"source": 1,
"value": "35"
},
{
"begin": 688,
"end": 786,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 688,
"end": 786,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 773,
"end": 778,
"name": "DUP2",
"source": 1
},
{
"begin": 767,
"end": 779,
"name": "MLOAD",
"source": 1
},
{
"begin": 757,
"end": 779,
"name": "SWAP1",
"source": 1
},
{
"begin": 757,
"end": 779,
"name": "POP",
"source": 1
},
{
"begin": 746,
"end": 786,
"name": "SWAP2",
"source": 1
},
{
"begin": 746,
"end": 786,
"name": "SWAP1",
"source": 1
},
{
"begin": 746,
"end": 786,
"name": "POP",
"source": 1
},
{
"begin": 746,
"end": 786,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 792,
"end": 960,
"name": "tag",
"source": 1,
"value": "37"
},
{
"begin": 792,
"end": 960,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 792,
"end": 960,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 909,
"end": 915,
"name": "DUP3",
"source": 1
},
{
"begin": 904,
"end": 907,
"name": "DUP3",
"source": 1
},
{
"begin": 897,
"end": 916,
"name": "MSTORE",
"source": 1
},
{
"begin": 949,
"end": 953,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 944,
"end": 947,
"name": "DUP3",
"source": 1
},
{
"begin": 940,
"end": 954,
"name": "ADD",
"source": 1
},
{
"begin": 925,
"end": 954,
"name": "SWAP1",
"source": 1
},
{
"begin": 925,
"end": 954,
"name": "POP",
"source": 1
},
{
"begin": 887,
"end": 960,
"name": "SWAP3",
"source": 1
},
{
"begin": 887,
"end": 960,
"name": "SWAP2",
"source": 1
},
{
"begin": 887,
"end": 960,
"name": "POP",
"source": 1
},
{
"begin": 887,
"end": 960,
"name": "POP",
"source": 1
},
{
"begin": 887,
"end": 960,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 966,
"end": 1273,
"name": "tag",
"source": 1,
"value": "39"
},
{
"begin": 966,
"end": 1273,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1034,
"end": 1035,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1044,
"end": 1157,
"name": "tag",
"source": 1,
"value": "47"
},
{
"begin": 1044,
"end": 1157,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1058,
"end": 1064,
"name": "DUP4",
"source": 1
},
{
"begin": 1055,
"end": 1056,
"name": "DUP2",
"source": 1
},
{
"begin": 1052,
"end": 1065,
"name": "LT",
"source": 1
},
{
"begin": 1044,
"end": 1157,
"name": "ISZERO",
"source": 1
},
{
"begin": 1044,
"end": 1157,
"name": "PUSH [tag]",
"source": 1,
"value": "49"
},
{
"begin": 1044,
"end": 1157,
"name": "JUMPI",
"source": 1
},
{
"begin": 1143,
"end": 1144,
"name": "DUP1",
"source": 1
},
{
"begin": 1138,
"end": 1141,
"name": "DUP3",
"source": 1
},
{
"begin": 1134,
"end": 1145,
"name": "ADD",
"source": 1
},
{
"begin": 1128,
"end": 1146,
"name": "MLOAD",
"source": 1
},
{
"begin": 1124,
"end": 1125,
"name": "DUP2",
"source": 1
},
{
"begin": 1119,
"end": 1122,
"name": "DUP5",
"source": 1
},
{
"begin": 1115,
"end": 1126,
"name": "ADD",
"source": 1
},
{
"begin": 1108,
"end": 1147,
"name": "MSTORE",
"source": 1
},
{
"begin": 1080,
"end": 1082,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1077,
"end": 1078,
"name": "DUP2",
"source": 1
},
{
"begin": 1073,
"end": 1083,
"name": "ADD",
"source": 1
},
{
"begin": 1068,
"end": 1083,
"name": "SWAP1",
"source": 1
},
{
"begin": 1068,
"end": 1083,
"name": "POP",
"source": 1
},
{
"begin": 1044,
"end": 1157,
"name": "PUSH [tag]",
"source": 1,
"value": "47"
},
{
"begin": 1044,
"end": 1157,
"name": "JUMP",
"source": 1
},
{
"begin": 1044,
"end": 1157,
"name": "tag",
"source": 1,
"value": "49"
},
{
"begin": 1044,
"end": 1157,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1175,
"end": 1181,
"name": "DUP4",
"source": 1
},
{
"begin": 1172,
"end": 1173,
"name": "DUP2",
"source": 1
},
{
"begin": 1169,
"end": 1182,
"name": "GT",
"source": 1
},
{
"begin": 1166,
"end": 1168,
"name": "ISZERO",
"source": 1
},
{
"begin": 1166,
"end": 1168,
"name": "PUSH [tag]",
"source": 1,
"value": "50"
},
{
"begin": 1166,
"end": 1168,
"name": "JUMPI",
"source": 1
},
{
"begin": 1255,
"end": 1256,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1246,
"end": 1252,
"name": "DUP5",
"source": 1
},
{
"begin": 1241,
"end": 1244,
"name": "DUP5",
"source": 1
},
{
"begin": 1237,
"end": 1253,
"name": "ADD",
"source": 1
},
{
"begin": 1230,
"end": 1257,
"name": "MSTORE",
"source": 1
},
{
"begin": 1166,
"end": 1168,
"name": "tag",
"source": 1,
"value": "50"
},
{
"begin": 1166,
"end": 1168,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1015,
"end": 1273,
"name": "POP",
"source": 1
},
{
"begin": 1015,
"end": 1273,
"name": "POP",
"source": 1
},
{
"begin": 1015,
"end": 1273,
"name": "POP",
"source": 1
},
{
"begin": 1015,
"end": 1273,
"name": "POP",
"source": 1
},
{
"begin": 1015,
"end": 1273,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 1279,
"end": 1599,
"name": "tag",
"source": 1,
"value": "17"
},
{
"begin": 1279,
"end": 1599,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1279,
"end": 1599,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1360,
"end": 1361,
"name": "PUSH",
"source": 1,
"value": "2"
},
{
"begin": 1354,
"end": 1358,
"name": "DUP3",
"source": 1
},
{
"begin": 1350,
"end": 1362,
"name": "DIV",
"source": 1
},
{
"begin": 1340,
"end": 1362,
"name": "SWAP1",
"source": 1
},
{
"begin": 1340,
"end": 1362,
"name": "POP",
"source": 1
},
{
"begin": 1407,
"end": 1408,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 1401,
"end": 1405,
"name": "DUP3",
"source": 1
},
{
"begin": 1397,
"end": 1409,
"name": "AND",
"source": 1
},
{
"begin": 1428,
"end": 1446,
"name": "DUP1",
"source": 1
},
{
"begin": 1418,
"end": 1420,
"name": "PUSH [tag]",
"source": 1,
"value": "52"
},
{
"begin": 1418,
"end": 1420,
"name": "JUMPI",
"source": 1
},
{
"begin": 1484,
"end": 1488,
"name": "PUSH",
"source": 1,
"value": "7F"
},
{
"begin": 1476,
"end": 1482,
"name": "DUP3",
"source": 1
},
{
"begin": 1472,
"end": 1489,
"name": "AND",
"source": 1
},
{
"begin": 1462,
"end": 1489,
"name": "SWAP2",
"source": 1
},
{
"begin": 1462,
"end": 1489,
"name": "POP",
"source": 1
},
{
"begin": 1418,
"end": 1420,
"name": "tag",
"source": 1,
"value": "52"
},
{
"begin": 1418,
"end": 1420,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1546,
"end": 1548,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1538,
"end": 1544,
"name": "DUP3",
"source": 1
},
{
"begin": 1535,
"end": 1549,
"name": "LT",
"source": 1
},
{
"begin": 1515,
"end": 1533,
"name": "DUP2",
"source": 1
},
{
"begin": 1512,
"end": 1550,
"name": "EQ",
"source": 1
},
{
"begin": 1509,
"end": 1511,
"name": "ISZERO",
"source": 1
},
{
"begin": 1509,
"end": 1511,
"name": "PUSH [tag]",
"source": 1,
"value": "53"
},
{
"begin": 1509,
"end": 1511,
"name": "JUMPI",
"source": 1
},
{
"begin": 1565,
"end": 1583,
"name": "PUSH [tag]",
"source": 1,
"value": "54"
},
{
"begin": 1565,
"end": 1583,
"name": "PUSH [tag]",
"source": 1,
"value": "55"
},
{
"begin": 1565,
"end": 1583,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1565,
"end": 1583,
"name": "tag",
"source": 1,
"value": "54"
},
{
"begin": 1565,
"end": 1583,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1509,
"end": 1511,
"name": "tag",
"source": 1,
"value": "53"
},
{
"begin": 1509,
"end": 1511,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1330,
"end": 1599,
"name": "POP",
"source": 1
},
{
"begin": 1330,
"end": 1599,
"name": "SWAP2",
"source": 1
},
{
"begin": 1330,
"end": 1599,
"name": "SWAP1",
"source": 1
},
{
"begin": 1330,
"end": 1599,
"name": "POP",
"source": 1
},
{
"begin": 1330,
"end": 1599,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 1605,
"end": 1785,
"name": "tag",
"source": 1,
"value": "55"
},
{
"begin": 1605,
"end": 1785,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1653,
"end": 1730,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 1650,
"end": 1651,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1643,
"end": 1731,
"name": "MSTORE",
"source": 1
},
{
"begin": 1750,
"end": 1754,
"name": "PUSH",
"source": 1,
"value": "22"
},
{
"begin": 1747,
"end": 1748,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 1740,
"end": 1755,
"name": "MSTORE",
"source": 1
},
{
"begin": 1774,
"end": 1778,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 1771,
"end": 1772,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1764,
"end": 1779,
"name": "REVERT",
"source": 1
},
{
"begin": 1791,
"end": 1893,
"name": "tag",
"source": 1,
"value": "41"
},
{
"begin": 1791,
"end": 1893,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1791,
"end": 1893,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1883,
"end": 1885,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 1879,
"end": 1886,
"name": "NOT",
"source": 1
},
{
"begin": 1874,
"end": 1876,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 1867,
"end": 1872,
"name": "DUP4",
"source": 1
},
{
"begin": 1863,
"end": 1877,
"name": "ADD",
"source": 1
},
{
"begin": 1859,
"end": 1887,
"name": "AND",
"source": 1
},
{
"begin": 1849,
"end": 1887,
"name": "SWAP1",
"source": 1
},
{
"begin": 1849,
"end": 1887,
"name": "POP",
"source": 1
},
{
"begin": 1839,
"end": 1893,
"name": "SWAP2",
"source": 1
},
{
"begin": 1839,
"end": 1893,
"name": "SWAP1",
"source": 1
},
{
"begin": 1839,
"end": 1893,
"name": "POP",
"source": 1
},
{
"begin": 1839,
"end": 1893,
"name": "JUMP",
"source": 1,
"value": "[out]"
}
]
}
}
},
"methodIdentifiers": {
"b1()": "ee495002",
"b3()": "e9b61909",
"pushElement()": "0317d5f3"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.0+commit.c7dfd78e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"b1\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pushElement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"array/bytes_dynamic.sol\":\"bytesDynamic\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"array/bytes_dynamic.sol\":{\"keccak256\":\"0xee621d5758f62ed45e700bc4f292f1b4e5117b34d9b3a6139f1f7eff7e436139\",\"urls\":[\"bzz-raw://136386b15917361a5cead67fb812acfe8867350efd5a66bcd43919882bb55877\",\"dweb:/ipfs/QmP6WBebpqjnancrFb6YqphsXj26bdffjRipvWKXTZKF5D\"]}},\"version\":1}",
"storageLayout": {
"storage": [
{
"astId": 4,
"contract": "array/bytes_dynamic.sol:bytesDynamic",
"label": "b1",
"offset": 0,
"slot": "0",
"type": "t_bytes_storage"
},
{
"astId": 6,
"contract": "array/bytes_dynamic.sol:bytesDynamic",
"label": "b3",
"offset": 0,
"slot": "1",
"type": "t_bytes_storage"
}
],
"types": {
"t_bytes_storage": {
"encoding": "bytes",
"label": "bytes",
"numberOfBytes": "32"
}
}
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"errors": [
{
"component": "general",
"errorCode": "1878",
"formattedMessage": "Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.\n--> array/bytes_dynamic.sol\n\n",
"message": "SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.",
"severity": "warning",
"sourceLocation": {
"end": -1,
"file": "array/bytes_dynamic.sol",
"start": -1
},
"type": "Warning"
}
],
"sources": {
"array/bytes_dynamic.sol": {
"ast": {
"absolutePath": "array/bytes_dynamic.sol",
"exportedSymbols": {
"bytesDynamic": [
17
]
},
"id": 18,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"0.8",
".0"
],
"nodeType": "PragmaDirective",
"src": "0:22:0"
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 17,
"linearizedBaseContracts": [
17
],
"name": "bytesDynamic",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"functionSelector": "ee495002",
"id": 4,
"mutability": "mutable",
"name": "b1",
"nodeType": "VariableDeclaration",
"scope": 17,
"src": "56:23:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage",
"typeString": "bytes"
},
"typeName": {
"id": 2,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "56:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": {
"hexValue": "616263",
"id": 3,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "74:5:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_4e03657aea45a94fc7d47ba826c8d667c0d1e6e33a64a036ec44f58fa12d6c45",
"typeString": "literal_string \"abc\""
},
"value": "abc"
},
"visibility": "public"
},
{
"constant": false,
"functionSelector": "e9b61909",
"id": 6,
"mutability": "mutable",
"name": "b3",
"nodeType": "VariableDeclaration",
"scope": 17,
"src": "86:15:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage",
"typeString": "bytes"
},
"typeName": {
"id": 5,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "86:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"visibility": "public"
},
{
"body": {
"id": 15,
"nodeType": "Block",
"src": "140:31:0",
"statements": [
{
"expression": {
"arguments": [
{
"hexValue": "64",
"id": 12,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "159:3:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_f1918e8562236eb17adc8502332f4c9c82bc14e19bfc0aa10ab674ff75b3d2f3",
"typeString": "literal_string \"d\""
},
"value": "d"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_f1918e8562236eb17adc8502332f4c9c82bc14e19bfc0aa10ab674ff75b3d2f3",
"typeString": "literal_string \"d\""
}
],
"expression": {
"id": 9,
"name": "b1",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4,
"src": "151:2:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage",
"typeString": "bytes storage ref"
}
},
"id": 11,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "push",
"nodeType": "MemberAccess",
"src": "151:7:0",
"typeDescriptions": {
"typeIdentifier": "t_function_bytearraypush_nonpayable$_t_bytes1_$returns$__$",
"typeString": "function (bytes1)"
}
},
"id": 13,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "151:12:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 14,
"nodeType": "ExpressionStatement",
"src": "151:12:0"
}
]
},
"functionSelector": "0317d5f3",
"id": 16,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "pushElement",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7,
"nodeType": "ParameterList",
"parameters": [],
"src": "131:2:0"
},
"returnParameters": {
"id": 8,
"nodeType": "ParameterList",
"parameters": [],
"src": "140:0:0"
},
"scope": 17,
"src": "111:60:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
}
],
"scope": 18,
"src": "26:148:0"
}
],
"src": "0:174:0"
},
"id": 0
}
}
}
}
{
"id": "07b002bb312323218f6a994384a22e80",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.0",
"solcLongVersion": "0.8.0+commit.c7dfd78e",
"input": {
"language": "Solidity",
"sources": {
"array/bytes_fixed.sol": {
"content": "pragma solidity 0.8.0 ;\r\n\r\ncontract bytesFixed {\r\n\r\n bytes3 public b3;\r\n bytes2 public b2;\r\n bytes3 public pad;\r\n\r\n constructor() public{\r\n b3 = \"\";\r\n b2 = \"ab\";\r\n pad = \"a\";\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": {
"array/bytes_fixed.sol": {
"bytesFixed": {
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "b2",
"outputs": [
{
"internalType": "bytes2",
"name": "",
"type": "bytes2"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "b3",
"outputs": [
{
"internalType": "bytes3",
"name": "",
"type": "bytes3"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "pad",
"outputs": [
{
"internalType": "bytes3",
"name": "",
"type": "bytes3"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"array/bytes_fixed.sol\":27:217 contract bytesFixed {\r... */\n mstore(0x40, 0x80)\n /* \"array/bytes_fixed.sol\":128:214 constructor() public{\r... */\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n /* \"array/bytes_fixed.sol\":159:166 b3 = \"\" */\n 0x00\n /* \"array/bytes_fixed.sol\":159:161 b3 */\n dup1\n 0x00\n /* \"array/bytes_fixed.sol\":159:166 b3 = \"\" */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xffffff\n mul\n not\n and\n swap1\n dup4\n 0xe8\n shr\n mul\n or\n swap1\n sstore\n pop\n /* \"array/bytes_fixed.sol\":177:186 b2 = \"ab\" */\n 0x6162000000000000000000000000000000000000000000000000000000000000\n /* \"array/bytes_fixed.sol\":177:179 b2 */\n 0x00\n 0x03\n /* \"array/bytes_fixed.sol\":177:186 b2 = \"ab\" */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xffff\n mul\n not\n and\n swap1\n dup4\n 0xf0\n shr\n mul\n or\n swap1\n sstore\n pop\n /* \"array/bytes_fixed.sol\":197:206 pad = \"a\" */\n 0x6100000000000000000000000000000000000000000000000000000000000000\n /* \"array/bytes_fixed.sol\":197:200 pad */\n 0x00\n 0x05\n /* \"array/bytes_fixed.sol\":197:206 pad = \"a\" */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xffffff\n mul\n not\n and\n swap1\n dup4\n 0xe8\n shr\n mul\n or\n swap1\n sstore\n pop\n /* \"array/bytes_fixed.sol\":27:217 contract bytesFixed {\r... */\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"array/bytes_fixed.sol\":27:217 contract bytesFixed {\r... */\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 0x0add6ef2\n eq\n tag_3\n jumpi\n dup1\n 0x9361266c\n eq\n tag_4\n jumpi\n dup1\n 0xe9b61909\n eq\n tag_5\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"array/bytes_fixed.sol\":79:95 bytes2 public b2 */\n tag_3:\n tag_6\n tag_7\n jump\t// in\n tag_6:\n mload(0x40)\n tag_8\n swap2\n swap1\n tag_9\n jump\t// in\n tag_8:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"array/bytes_fixed.sol\":102:119 bytes3 public pad */\n tag_4:\n tag_10\n tag_11\n jump\t// in\n tag_10:\n mload(0x40)\n tag_12\n swap2\n swap1\n tag_13\n jump\t// in\n tag_12:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"array/bytes_fixed.sol\":56:72 bytes3 public b3 */\n tag_5:\n tag_14\n tag_15\n jump\t// in\n tag_14:\n mload(0x40)\n tag_16\n swap2\n swap1\n tag_13\n jump\t// in\n tag_16:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"array/bytes_fixed.sol\":79:95 bytes2 public b2 */\n tag_7:\n 0x00\n 0x03\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xf0\n shl\n dup2\n jump\t// out\n /* \"array/bytes_fixed.sol\":102:119 bytes3 public pad */\n tag_11:\n 0x00\n 0x05\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xe8\n shl\n dup2\n jump\t// out\n /* \"array/bytes_fixed.sol\":56:72 bytes3 public b3 */\n tag_15:\n 0x00\n dup1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xe8\n shl\n dup2\n jump\t// out\n /* \"#utility.yul\":7:122 */\n tag_18:\n /* \"#utility.yul\":92:115 */\n tag_20\n /* \"#utility.yul\":109:114 */\n dup2\n /* \"#utility.yul\":92:115 */\n tag_21\n jump\t// in\n tag_20:\n /* \"#utility.yul\":87:90 */\n dup3\n /* \"#utility.yul\":80:116 */\n mstore\n /* \"#utility.yul\":70:122 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":128:243 */\n tag_22:\n /* \"#utility.yul\":213:236 */\n tag_24\n /* \"#utility.yul\":230:235 */\n dup2\n /* \"#utility.yul\":213:236 */\n tag_25\n jump\t// in\n tag_24:\n /* \"#utility.yul\":208:211 */\n dup3\n /* \"#utility.yul\":201:237 */\n mstore\n /* \"#utility.yul\":191:243 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":249:467 */\n tag_9:\n 0x00\n /* \"#utility.yul\":378:380 */\n 0x20\n /* \"#utility.yul\":367:376 */\n dup3\n /* \"#utility.yul\":363:381 */\n add\n /* \"#utility.yul\":355:381 */\n swap1\n pop\n /* \"#utility.yul\":391:460 */\n tag_27\n /* \"#utility.yul\":457:458 */\n 0x00\n /* \"#utility.yul\":446:455 */\n dup4\n /* \"#utility.yul\":442:459 */\n add\n /* \"#utility.yul\":433:439 */\n dup5\n /* \"#utility.yul\":391:460 */\n tag_18\n jump\t// in\n tag_27:\n /* \"#utility.yul\":345:467 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":473:691 */\n tag_13:\n 0x00\n /* \"#utility.yul\":602:604 */\n 0x20\n /* \"#utility.yul\":591:600 */\n dup3\n /* \"#utility.yul\":587:605 */\n add\n /* \"#utility.yul\":579:605 */\n swap1\n pop\n /* \"#utility.yul\":615:684 */\n tag_29\n /* \"#utility.yul\":681:682 */\n 0x00\n /* \"#utility.yul\":670:679 */\n dup4\n /* \"#utility.yul\":666:683 */\n add\n /* \"#utility.yul\":657:663 */\n dup5\n /* \"#utility.yul\":615:684 */\n tag_22\n jump\t// in\n tag_29:\n /* \"#utility.yul\":569:691 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":697:846 */\n tag_21:\n 0x00\n /* \"#utility.yul\":773:839 */\n 0xffff000000000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":766:771 */\n dup3\n /* \"#utility.yul\":762:840 */\n and\n /* \"#utility.yul\":751:840 */\n swap1\n pop\n /* \"#utility.yul\":741:846 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":852:1001 */\n tag_25:\n 0x00\n /* \"#utility.yul\":928:994 */\n 0xffffff0000000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":921:926 */\n dup3\n /* \"#utility.yul\":917:995 */\n and\n /* \"#utility.yul\":906:995 */\n swap1\n pop\n /* \"#utility.yul\":896:1001 */\n swap2\n swap1\n pop\n jump\t// out\n\n auxdata: 0xa264697066735822122096fa0f3a6551bc0af8af221d9a47112617e4f38b38c177c3d9965ee4450c284364736f6c63430008000033\n}\n",
"bytecode": {
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b5060008060006101000a81548162ffffff021916908360e81c02179055507f6162000000000000000000000000000000000000000000000000000000000000600060036101000a81548161ffff021916908360f01c02179055507f6100000000000000000000000000000000000000000000000000000000000000600060056101000a81548162ffffff021916908360e81c02179055506101b9806100b66000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80630add6ef2146100465780639361266c14610064578063e9b6190914610082575b600080fd5b61004e6100a0565b60405161005b91906100f5565b60405180910390f35b61006c6100b3565b6040516100799190610110565b60405180910390f35b61008a6100c6565b6040516100979190610110565b60405180910390f35b600060039054906101000a900460f01b81565b600060059054906101000a900460e81b81565b60008054906101000a900460e81b81565b6100e08161012b565b82525050565b6100ef81610157565b82525050565b600060208201905061010a60008301846100d7565b92915050565b600060208201905061012560008301846100e6565b92915050565b60007fffff00000000000000000000000000000000000000000000000000000000000082169050919050565b60007fffffff00000000000000000000000000000000000000000000000000000000008216905091905056fea264697066735822122096fa0f3a6551bc0af8af221d9a47112617e4f38b38c177c3d9965ee4450c284364736f6c63430008000033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH3 0xFFFFFF MUL NOT AND SWAP1 DUP4 PUSH1 0xE8 SHR MUL OR SWAP1 SSTORE POP PUSH32 0x6162000000000000000000000000000000000000000000000000000000000000 PUSH1 0x0 PUSH1 0x3 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH2 0xFFFF MUL NOT AND SWAP1 DUP4 PUSH1 0xF0 SHR MUL OR SWAP1 SSTORE POP PUSH32 0x6100000000000000000000000000000000000000000000000000000000000000 PUSH1 0x0 PUSH1 0x5 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH3 0xFFFFFF MUL NOT AND SWAP1 DUP4 PUSH1 0xE8 SHR MUL OR SWAP1 SSTORE POP PUSH2 0x1B9 DUP1 PUSH2 0xB6 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 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xADD6EF2 EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x9361266C EQ PUSH2 0x64 JUMPI DUP1 PUSH4 0xE9B61909 EQ PUSH2 0x82 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0xA0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5B SWAP2 SWAP1 PUSH2 0xF5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x6C PUSH2 0xB3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x79 SWAP2 SWAP1 PUSH2 0x110 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8A PUSH2 0xC6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x97 SWAP2 SWAP1 PUSH2 0x110 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x3 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xF0 SHL DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xE8 SHL DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xE8 SHL DUP2 JUMP JUMPDEST PUSH2 0xE0 DUP2 PUSH2 0x12B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xEF DUP2 PUSH2 0x157 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x10A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xD7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x125 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xE6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFF000000000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFF0000000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP7 STATICCALL 0xF GASPRICE PUSH6 0x51BC0AF8AF22 SAR SWAP11 SELFBALANCE GT 0x26 OR 0xE4 RETURN DUP12 CODESIZE 0xC1 PUSH24 0xC3D9965EE4450C284364736F6C6343000800003300000000 ",
"sourceMap": "27:190:0:-:0;;;128:86;;;;;;;;;;159:7;:2;;:7;;;;;;;;;;;;;;;;;;177:9;:2;;:9;;;;;;;;;;;;;;;;;;197;:3;;:9;;;;;;;;;;;;;;;;;;27:190;;;;;;"
},
"deployedBytecode": {
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1004:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "70:52:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "87:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "109:5:1"
}
],
"functionName": {
"name": "cleanup_t_bytes2",
"nodeType": "YulIdentifier",
"src": "92:16:1"
},
"nodeType": "YulFunctionCall",
"src": "92:23:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "80:6:1"
},
"nodeType": "YulFunctionCall",
"src": "80:36:1"
},
"nodeType": "YulExpressionStatement",
"src": "80:36:1"
}
]
},
"name": "abi_encode_t_bytes2_to_t_bytes2_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "58:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "65:3:1",
"type": ""
}
],
"src": "7:115:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "191:52:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "208:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "230:5:1"
}
],
"functionName": {
"name": "cleanup_t_bytes3",
"nodeType": "YulIdentifier",
"src": "213:16:1"
},
"nodeType": "YulFunctionCall",
"src": "213:23:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "201:6:1"
},
"nodeType": "YulFunctionCall",
"src": "201:36:1"
},
"nodeType": "YulExpressionStatement",
"src": "201:36:1"
}
]
},
"name": "abi_encode_t_bytes3_to_t_bytes3_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "179:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "186:3:1",
"type": ""
}
],
"src": "128:115:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "345:122:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "355:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "367:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "378:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "363:3:1"
},
"nodeType": "YulFunctionCall",
"src": "363:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "355:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "433:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "446:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "457:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "442:3:1"
},
"nodeType": "YulFunctionCall",
"src": "442:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bytes2_to_t_bytes2_fromStack",
"nodeType": "YulIdentifier",
"src": "391:41:1"
},
"nodeType": "YulFunctionCall",
"src": "391:69:1"
},
"nodeType": "YulExpressionStatement",
"src": "391:69:1"
}
]
},
"name": "abi_encode_tuple_t_bytes2__to_t_bytes2__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "317:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "329:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "340:4:1",
"type": ""
}
],
"src": "249:218:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "569:122:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "579:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "591:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "602:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "587:3:1"
},
"nodeType": "YulFunctionCall",
"src": "587:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "579:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "657:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "670:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "681:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "666:3:1"
},
"nodeType": "YulFunctionCall",
"src": "666:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bytes3_to_t_bytes3_fromStack",
"nodeType": "YulIdentifier",
"src": "615:41:1"
},
"nodeType": "YulFunctionCall",
"src": "615:69:1"
},
"nodeType": "YulExpressionStatement",
"src": "615:69:1"
}
]
},
"name": "abi_encode_tuple_t_bytes3__to_t_bytes3__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "541:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "553:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "564:4:1",
"type": ""
}
],
"src": "473:218:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "741:105:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "751:89:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "766:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "773:66:1",
"type": "",
"value": "0xffff000000000000000000000000000000000000000000000000000000000000"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "762:3:1"
},
"nodeType": "YulFunctionCall",
"src": "762:78:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "751:7:1"
}
]
}
]
},
"name": "cleanup_t_bytes2",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "723:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "733:7:1",
"type": ""
}
],
"src": "697:149:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "896:105:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "906:89:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "921:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "928:66:1",
"type": "",
"value": "0xffffff0000000000000000000000000000000000000000000000000000000000"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "917:3:1"
},
"nodeType": "YulFunctionCall",
"src": "917:78:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "906:7:1"
}
]
}
]
},
"name": "cleanup_t_bytes3",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "878:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "888:7:1",
"type": ""
}
],
"src": "852:149:1"
}
]
},
"contents": "{\n\n function abi_encode_t_bytes2_to_t_bytes2_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes2(value))\n }\n\n function abi_encode_t_bytes3_to_t_bytes3_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes3(value))\n }\n\n function abi_encode_tuple_t_bytes2__to_t_bytes2__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes2_to_t_bytes2_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_bytes3__to_t_bytes3__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes3_to_t_bytes3_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_bytes2(value) -> cleaned {\n cleaned := and(value, 0xffff000000000000000000000000000000000000000000000000000000000000)\n }\n\n function cleanup_t_bytes3(value) -> cleaned {\n cleaned := and(value, 0xffffff0000000000000000000000000000000000000000000000000000000000)\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100415760003560e01c80630add6ef2146100465780639361266c14610064578063e9b6190914610082575b600080fd5b61004e6100a0565b60405161005b91906100f5565b60405180910390f35b61006c6100b3565b6040516100799190610110565b60405180910390f35b61008a6100c6565b6040516100979190610110565b60405180910390f35b600060039054906101000a900460f01b81565b600060059054906101000a900460e81b81565b60008054906101000a900460e81b81565b6100e08161012b565b82525050565b6100ef81610157565b82525050565b600060208201905061010a60008301846100d7565b92915050565b600060208201905061012560008301846100e6565b92915050565b60007fffff00000000000000000000000000000000000000000000000000000000000082169050919050565b60007fffffff00000000000000000000000000000000000000000000000000000000008216905091905056fea264697066735822122096fa0f3a6551bc0af8af221d9a47112617e4f38b38c177c3d9965ee4450c284364736f6c63430008000033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xADD6EF2 EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x9361266C EQ PUSH2 0x64 JUMPI DUP1 PUSH4 0xE9B61909 EQ PUSH2 0x82 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0xA0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5B SWAP2 SWAP1 PUSH2 0xF5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x6C PUSH2 0xB3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x79 SWAP2 SWAP1 PUSH2 0x110 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8A PUSH2 0xC6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x97 SWAP2 SWAP1 PUSH2 0x110 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x3 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xF0 SHL DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xE8 SHL DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xE8 SHL DUP2 JUMP JUMPDEST PUSH2 0xE0 DUP2 PUSH2 0x12B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xEF DUP2 PUSH2 0x157 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x10A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xD7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x125 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xE6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFF000000000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFF0000000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP7 STATICCALL 0xF GASPRICE PUSH6 0x51BC0AF8AF22 SAR SWAP11 SELFBALANCE GT 0x26 OR 0xE4 RETURN DUP12 CODESIZE 0xC1 PUSH24 0xC3D9965EE4450C284364736F6C6343000800003300000000 ",
"sourceMap": "27:190:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;79:16;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;102:17;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;56:16;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;79;;;;;;;;;;;;;:::o;102:17::-;;;;;;;;;;;;;:::o;56:16::-;;;;;;;;;;;;:::o;7:115:1:-;92:23;109:5;92:23;:::i;:::-;87:3;80:36;70:52;;:::o;128:115::-;213:23;230:5;213:23;:::i;:::-;208:3;201:36;191:52;;:::o;249:218::-;;378:2;367:9;363:18;355:26;;391:69;457:1;446:9;442:17;433:6;391:69;:::i;:::-;345:122;;;;:::o;473:218::-;;602:2;591:9;587:18;579:26;;615:69;681:1;670:9;666:17;657:6;615:69;:::i;:::-;569:122;;;;:::o;697:149::-;;773:66;766:5;762:78;751:89;;741:105;;;:::o;852:149::-;;928:66;921:5;917:78;906:89;;896:105;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "88200",
"executionCost": "62836",
"totalCost": "151036"
},
"external": {
"b2()": "1199",
"b3()": "1190",
"pad()": "1221"
}
},
"legacyAssembly": {
".code": [
{
"begin": 27,
"end": 217,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 27,
"end": 217,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 27,
"end": 217,
"name": "MSTORE",
"source": 0
},
{
"begin": 128,
"end": 214,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 128,
"end": 214,
"name": "DUP1",
"source": 0
},
{
"begin": 128,
"end": 214,
"name": "ISZERO",
"source": 0
},
{
"begin": 128,
"end": 214,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 128,
"end": 214,
"name": "JUMPI",
"source": 0
},
{
"begin": 128,
"end": 214,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 128,
"end": 214,
"name": "DUP1",
"source": 0
},
{
"begin": 128,
"end": 214,
"name": "REVERT",
"source": 0
},
{
"begin": 128,
"end": 214,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 128,
"end": 214,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 128,
"end": 214,
"name": "POP",
"source": 0
},
{
"begin": 159,
"end": 166,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 159,
"end": 161,
"name": "DUP1",
"source": 0
},
{
"begin": 159,
"end": 161,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 159,
"end": 166,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 159,
"end": 166,
"name": "EXP",
"source": 0
},
{
"begin": 159,
"end": 166,
"name": "DUP2",
"source": 0
},
{
"begin": 159,
"end": 166,
"name": "SLOAD",
"source": 0
},
{
"begin": 159,
"end": 166,
"name": "DUP2",
"source": 0
},
{
"begin": 159,
"end": 166,
"name": "PUSH",
"source": 0,
"value": "FFFFFF"
},
{
"begin": 159,
"end": 166,
"name": "MUL",
"source": 0
},
{
"begin": 159,
"end": 166,
"name": "NOT",
"source": 0
},
{
"begin": 159,
"end": 166,
"name": "AND",
"source": 0
},
{
"begin": 159,
"end": 166,
"name": "SWAP1",
"source": 0
},
{
"begin": 159,
"end": 166,
"name": "DUP4",
"source": 0
},
{
"begin": 159,
"end": 166,
"name": "PUSH",
"source": 0,
"value": "E8"
},
{
"begin": 159,
"end": 166,
"name": "SHR",
"source": 0
},
{
"begin": 159,
"end": 166,
"name": "MUL",
"source": 0
},
{
"begin": 159,
"end": 166,
"name": "OR",
"source": 0
},
{
"begin": 159,
"end": 166,
"name": "SWAP1",
"source": 0
},
{
"begin": 159,
"end": 166,
"name": "SSTORE",
"source": 0
},
{
"begin": 159,
"end": 166,
"name": "POP",
"source": 0
},
{
"begin": 177,
"end": 186,
"name": "PUSH",
"source": 0,
"value": "6162000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 177,
"end": 179,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 177,
"end": 179,
"name": "PUSH",
"source": 0,
"value": "3"
},
{
"begin": 177,
"end": 186,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 177,
"end": 186,
"name": "EXP",
"source": 0
},
{
"begin": 177,
"end": 186,
"name": "DUP2",
"source": 0
},
{
"begin": 177,
"end": 186,
"name": "SLOAD",
"source": 0
},
{
"begin": 177,
"end": 186,
"name": "DUP2",
"source": 0
},
{
"begin": 177,
"end": 186,
"name": "PUSH",
"source": 0,
"value": "FFFF"
},
{
"begin": 177,
"end": 186,
"name": "MUL",
"source": 0
},
{
"begin": 177,
"end": 186,
"name": "NOT",
"source": 0
},
{
"begin": 177,
"end": 186,
"name": "AND",
"source": 0
},
{
"begin": 177,
"end": 186,
"name": "SWAP1",
"source": 0
},
{
"begin": 177,
"end": 186,
"name": "DUP4",
"source": 0
},
{
"begin": 177,
"end": 186,
"name": "PUSH",
"source": 0,
"value": "F0"
},
{
"begin": 177,
"end": 186,
"name": "SHR",
"source": 0
},
{
"begin": 177,
"end": 186,
"name": "MUL",
"source": 0
},
{
"begin": 177,
"end": 186,
"name": "OR",
"source": 0
},
{
"begin": 177,
"end": 186,
"name": "SWAP1",
"source": 0
},
{
"begin": 177,
"end": 186,
"name": "SSTORE",
"source": 0
},
{
"begin": 177,
"end": 186,
"name": "POP",
"source": 0
},
{
"begin": 197,
"end": 206,
"name": "PUSH",
"source": 0,
"value": "6100000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 197,
"end": 200,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 197,
"end": 200,
"name": "PUSH",
"source": 0,
"value": "5"
},
{
"begin": 197,
"end": 206,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 197,
"end": 206,
"name": "EXP",
"source": 0
},
{
"begin": 197,
"end": 206,
"name": "DUP2",
"source": 0
},
{
"begin": 197,
"end": 206,
"name": "SLOAD",
"source": 0
},
{
"begin": 197,
"end": 206,
"name": "DUP2",
"source": 0
},
{
"begin": 197,
"end": 206,
"name": "PUSH",
"source": 0,
"value": "FFFFFF"
},
{
"begin": 197,
"end": 206,
"name": "MUL",
"source": 0
},
{
"begin": 197,
"end": 206,
"name": "NOT",
"source": 0
},
{
"begin": 197,
"end": 206,
"name": "AND",
"source": 0
},
{
"begin": 197,
"end": 206,
"name": "SWAP1",
"source": 0
},
{
"begin": 197,
"end": 206,
"name": "DUP4",
"source": 0
},
{
"begin": 197,
"end": 206,
"name": "PUSH",
"source": 0,
"value": "E8"
},
{
"begin": 197,
"end": 206,
"name": "SHR",
"source": 0
},
{
"begin": 197,
"end": 206,
"name": "MUL",
"source": 0
},
{
"begin": 197,
"end": 206,
"name": "OR",
"source": 0
},
{
"begin": 197,
"end": 206,
"name": "SWAP1",
"source": 0
},
{
"begin": 197,
"end": 206,
"name": "SSTORE",
"source": 0
},
{
"begin": 197,
"end": 206,
"name": "POP",
"source": 0
},
{
"begin": 27,
"end": 217,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 27,
"end": 217,
"name": "DUP1",
"source": 0
},
{
"begin": 27,
"end": 217,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 27,
"end": 217,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 27,
"end": 217,
"name": "CODECOPY",
"source": 0
},
{
"begin": 27,
"end": 217,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 27,
"end": 217,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a264697066735822122096fa0f3a6551bc0af8af221d9a47112617e4f38b38c177c3d9965ee4450c284364736f6c63430008000033",
".code": [
{
"begin": 27,
"end": 217,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 27,
"end": 217,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 27,
"end": 217,
"name": "MSTORE",
"source": 0
},
{
"begin": 27,
"end": 217,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 27,
"end": 217,
"name": "DUP1",
"source": 0
},
{
"begin": 27,
"end": 217,
"name": "ISZERO",
"source": 0
},
{
"begin": 27,
"end": 217,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 27,
"end": 217,
"name": "JUMPI",
"source": 0
},
{
"begin": 27,
"end": 217,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 27,
"end": 217,
"name": "DUP1",
"source": 0
},
{
"begin": 27,
"end": 217,
"name": "REVERT",
"source": 0
},
{
"begin": 27,
"end": 217,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 27,
"end": 217,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 27,
"end": 217,
"name": "POP",
"source": 0
},
{
"begin": 27,
"end": 217,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 27,
"end": 217,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 27,
"end": 217,
"name": "LT",
"source": 0
},
{
"begin": 27,
"end": 217,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 27,
"end": 217,
"name": "JUMPI",
"source": 0
},
{
"begin": 27,
"end": 217,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 27,
"end": 217,
"name": "CALLDATALOAD",
"source": 0
},
{
"begin": 27,
"end": 217,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 27,
"end": 217,
"name": "SHR",
"source": 0
},
{
"begin": 27,
"end": 217,
"name": "DUP1",
"source": 0
},
{
"begin": 27,
"end": 217,
"name": "PUSH",
"source": 0,
"value": "ADD6EF2"
},
{
"begin": 27,
"end": 217,
"name": "EQ",
"source": 0
},
{
"begin": 27,
"end": 217,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 27,
"end": 217,
"name": "JUMPI",
"source": 0
},
{
"begin": 27,
"end": 217,
"name": "DUP1",
"source": 0
},
{
"begin": 27,
"end": 217,
"name": "PUSH",
"source": 0,
"value": "9361266C"
},
{
"begin": 27,
"end": 217,
"name": "EQ",
"source": 0
},
{
"begin": 27,
"end": 217,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 27,
"end": 217,
"name": "JUMPI",
"source": 0
},
{
"begin": 27,
"end": 217,
"name": "DUP1",
"source": 0
},
{
"begin": 27,
"end": 217,
"name": "PUSH",
"source": 0,
"value": "E9B61909"
},
{
"begin": 27,
"end": 217,
"name": "EQ",
"source": 0
},
{
"begin": 27,
"end": 217,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 27,
"end": 217,
"name": "JUMPI",
"source": 0
},
{
"begin": 27,
"end": 217,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 27,
"end": 217,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 27,
"end": 217,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 27,
"end": 217,
"name": "DUP1",
"source": 0
},
{
"begin": 27,
"end": 217,
"name": "REVERT",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 79,
"end": 95,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 79,
"end": 95,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 79,
"end": 95,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 79,
"end": 95,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 79,
"end": 95,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 79,
"end": 95,
"name": "MLOAD",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 79,
"end": 95,
"name": "SWAP2",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "SWAP1",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 79,
"end": 95,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 79,
"end": 95,
"name": "tag",
"source": 0,
"value": "8"
},
{
"begin": 79,
"end": 95,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 79,
"end": 95,
"name": "MLOAD",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "DUP1",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "SWAP2",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "SUB",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "SWAP1",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "RETURN",
"source": 0
},
{
"begin": 102,
"end": 119,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 102,
"end": 119,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 102,
"end": 119,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 102,
"end": 119,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 102,
"end": 119,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 102,
"end": 119,
"name": "tag",
"source": 0,
"value": "10"
},
{
"begin": 102,
"end": 119,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 102,
"end": 119,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 102,
"end": 119,
"name": "MLOAD",
"source": 0
},
{
"begin": 102,
"end": 119,
"name": "PUSH [tag]",
"source": 0,
"value": "12"
},
{
"begin": 102,
"end": 119,
"name": "SWAP2",
"source": 0
},
{
"begin": 102,
"end": 119,
"name": "SWAP1",
"source": 0
},
{
"begin": 102,
"end": 119,
"name": "PUSH [tag]",
"source": 0,
"value": "13"
},
{
"begin": 102,
"end": 119,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 102,
"end": 119,
"name": "tag",
"source": 0,
"value": "12"
},
{
"begin": 102,
"end": 119,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 102,
"end": 119,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 102,
"end": 119,
"name": "MLOAD",
"source": 0
},
{
"begin": 102,
"end": 119,
"name": "DUP1",
"source": 0
},
{
"begin": 102,
"end": 119,
"name": "SWAP2",
"source": 0
},
{
"begin": 102,
"end": 119,
"name": "SUB",
"source": 0
},
{
"begin": 102,
"end": 119,
"name": "SWAP1",
"source": 0
},
{
"begin": 102,
"end": 119,
"name": "RETURN",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 56,
"end": 72,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "PUSH [tag]",
"source": 0,
"value": "14"
},
{
"begin": 56,
"end": 72,
"name": "PUSH [tag]",
"source": 0,
"value": "15"
},
{
"begin": 56,
"end": 72,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 56,
"end": 72,
"name": "tag",
"source": 0,
"value": "14"
},
{
"begin": 56,
"end": 72,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 56,
"end": 72,
"name": "MLOAD",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "PUSH [tag]",
"source": 0,
"value": "16"
},
{
"begin": 56,
"end": 72,
"name": "SWAP2",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "SWAP1",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "PUSH [tag]",
"source": 0,
"value": "13"
},
{
"begin": 56,
"end": 72,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 56,
"end": 72,
"name": "tag",
"source": 0,
"value": "16"
},
{
"begin": 56,
"end": 72,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 56,
"end": 72,
"name": "MLOAD",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "DUP1",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "SWAP2",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "SUB",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "SWAP1",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "RETURN",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "tag",
"source": 0,
"value": "7"
},
{
"begin": 79,
"end": 95,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 79,
"end": 95,
"name": "PUSH",
"source": 0,
"value": "3"
},
{
"begin": 79,
"end": 95,
"name": "SWAP1",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "SLOAD",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "SWAP1",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 79,
"end": 95,
"name": "EXP",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "SWAP1",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "DIV",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "PUSH",
"source": 0,
"value": "F0"
},
{
"begin": 79,
"end": 95,
"name": "SHL",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "DUP2",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 102,
"end": 119,
"name": "tag",
"source": 0,
"value": "11"
},
{
"begin": 102,
"end": 119,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 102,
"end": 119,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 102,
"end": 119,
"name": "PUSH",
"source": 0,
"value": "5"
},
{
"begin": 102,
"end": 119,
"name": "SWAP1",
"source": 0
},
{
"begin": 102,
"end": 119,
"name": "SLOAD",
"source": 0
},
{
"begin": 102,
"end": 119,
"name": "SWAP1",
"source": 0
},
{
"begin": 102,
"end": 119,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 102,
"end": 119,
"name": "EXP",
"source": 0
},
{
"begin": 102,
"end": 119,
"name": "SWAP1",
"source": 0
},
{
"begin": 102,
"end": 119,
"name": "DIV",
"source": 0
},
{
"begin": 102,
"end": 119,
"name": "PUSH",
"source": 0,
"value": "E8"
},
{
"begin": 102,
"end": 119,
"name": "SHL",
"source": 0
},
{
"begin": 102,
"end": 119,
"name": "DUP2",
"source": 0
},
{
"begin": 102,
"end": 119,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 56,
"end": 72,
"name": "tag",
"source": 0,
"value": "15"
},
{
"begin": 56,
"end": 72,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 56,
"end": 72,
"name": "DUP1",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "SLOAD",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "SWAP1",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 56,
"end": 72,
"name": "EXP",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "SWAP1",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "DIV",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "PUSH",
"source": 0,
"value": "E8"
},
{
"begin": 56,
"end": 72,
"name": "SHL",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "DUP2",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 7,
"end": 122,
"name": "tag",
"source": 1,
"value": "18"
},
{
"begin": 7,
"end": 122,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 92,
"end": 115,
"name": "PUSH [tag]",
"source": 1,
"value": "20"
},
{
"begin": 109,
"end": 114,
"name": "DUP2",
"source": 1
},
{
"begin": 92,
"end": 115,
"name": "PUSH [tag]",
"source": 1,
"value": "21"
},
{
"begin": 92,
"end": 115,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 92,
"end": 115,
"name": "tag",
"source": 1,
"value": "20"
},
{
"begin": 92,
"end": 115,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 87,
"end": 90,
"name": "DUP3",
"source": 1
},
{
"begin": 80,
"end": 116,
"name": "MSTORE",
"source": 1
},
{
"begin": 70,
"end": 122,
"name": "POP",
"source": 1
},
{
"begin": 70,
"end": 122,
"name": "POP",
"source": 1
},
{
"begin": 70,
"end": 122,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 128,
"end": 243,
"name": "tag",
"source": 1,
"value": "22"
},
{
"begin": 128,
"end": 243,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 213,
"end": 236,
"name": "PUSH [tag]",
"source": 1,
"value": "24"
},
{
"begin": 230,
"end": 235,
"name": "DUP2",
"source": 1
},
{
"begin": 213,
"end": 236,
"name": "PUSH [tag]",
"source": 1,
"value": "25"
},
{
"begin": 213,
"end": 236,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 213,
"end": 236,
"name": "tag",
"source": 1,
"value": "24"
},
{
"begin": 213,
"end": 236,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 208,
"end": 211,
"name": "DUP3",
"source": 1
},
{
"begin": 201,
"end": 237,
"name": "MSTORE",
"source": 1
},
{
"begin": 191,
"end": 243,
"name": "POP",
"source": 1
},
{
"begin": 191,
"end": 243,
"name": "POP",
"source": 1
},
{
"begin": 191,
"end": 243,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 249,
"end": 467,
"name": "tag",
"source": 1,
"value": "9"
},
{
"begin": 249,
"end": 467,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 249,
"end": 467,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 378,
"end": 380,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 367,
"end": 376,
"name": "DUP3",
"source": 1
},
{
"begin": 363,
"end": 381,
"name": "ADD",
"source": 1
},
{
"begin": 355,
"end": 381,
"name": "SWAP1",
"source": 1
},
{
"begin": 355,
"end": 381,
"name": "POP",
"source": 1
},
{
"begin": 391,
"end": 460,
"name": "PUSH [tag]",
"source": 1,
"value": "27"
},
{
"begin": 457,
"end": 458,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 446,
"end": 455,
"name": "DUP4",
"source": 1
},
{
"begin": 442,
"end": 459,
"name": "ADD",
"source": 1
},
{
"begin": 433,
"end": 439,
"name": "DUP5",
"source": 1
},
{
"begin": 391,
"end": 460,
"name": "PUSH [tag]",
"source": 1,
"value": "18"
},
{
"begin": 391,
"end": 460,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 391,
"end": 460,
"name": "tag",
"source": 1,
"value": "27"
},
{
"begin": 391,
"end": 460,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 345,
"end": 467,
"name": "SWAP3",
"source": 1
},
{
"begin": 345,
"end": 467,
"name": "SWAP2",
"source": 1
},
{
"begin": 345,
"end": 467,
"name": "POP",
"source": 1
},
{
"begin": 345,
"end": 467,
"name": "POP",
"source": 1
},
{
"begin": 345,
"end": 467,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 473,
"end": 691,
"name": "tag",
"source": 1,
"value": "13"
},
{
"begin": 473,
"end": 691,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 473,
"end": 691,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 602,
"end": 604,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 591,
"end": 600,
"name": "DUP3",
"source": 1
},
{
"begin": 587,
"end": 605,
"name": "ADD",
"source": 1
},
{
"begin": 579,
"end": 605,
"name": "SWAP1",
"source": 1
},
{
"begin": 579,
"end": 605,
"name": "POP",
"source": 1
},
{
"begin": 615,
"end": 684,
"name": "PUSH [tag]",
"source": 1,
"value": "29"
},
{
"begin": 681,
"end": 682,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 670,
"end": 679,
"name": "DUP4",
"source": 1
},
{
"begin": 666,
"end": 683,
"name": "ADD",
"source": 1
},
{
"begin": 657,
"end": 663,
"name": "DUP5",
"source": 1
},
{
"begin": 615,
"end": 684,
"name": "PUSH [tag]",
"source": 1,
"value": "22"
},
{
"begin": 615,
"end": 684,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 615,
"end": 684,
"name": "tag",
"source": 1,
"value": "29"
},
{
"begin": 615,
"end": 684,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 569,
"end": 691,
"name": "SWAP3",
"source": 1
},
{
"begin": 569,
"end": 691,
"name": "SWAP2",
"source": 1
},
{
"begin": 569,
"end": 691,
"name": "POP",
"source": 1
},
{
"begin": 569,
"end": 691,
"name": "POP",
"source": 1
},
{
"begin": 569,
"end": 691,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 697,
"end": 846,
"name": "tag",
"source": 1,
"value": "21"
},
{
"begin": 697,
"end": 846,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 697,
"end": 846,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 773,
"end": 839,
"name": "PUSH",
"source": 1,
"value": "FFFF000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 766,
"end": 771,
"name": "DUP3",
"source": 1
},
{
"begin": 762,
"end": 840,
"name": "AND",
"source": 1
},
{
"begin": 751,
"end": 840,
"name": "SWAP1",
"source": 1
},
{
"begin": 751,
"end": 840,
"name": "POP",
"source": 1
},
{
"begin": 741,
"end": 846,
"name": "SWAP2",
"source": 1
},
{
"begin": 741,
"end": 846,
"name": "SWAP1",
"source": 1
},
{
"begin": 741,
"end": 846,
"name": "POP",
"source": 1
},
{
"begin": 741,
"end": 846,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 852,
"end": 1001,
"name": "tag",
"source": 1,
"value": "25"
},
{
"begin": 852,
"end": 1001,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 852,
"end": 1001,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 928,
"end": 994,
"name": "PUSH",
"source": 1,
"value": "FFFFFF0000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 921,
"end": 926,
"name": "DUP3",
"source": 1
},
{
"begin": 917,
"end": 995,
"name": "AND",
"source": 1
},
{
"begin": 906,
"end": 995,
"name": "SWAP1",
"source": 1
},
{
"begin": 906,
"end": 995,
"name": "POP",
"source": 1
},
{
"begin": 896,
"end": 1001,
"name": "SWAP2",
"source": 1
},
{
"begin": 896,
"end": 1001,
"name": "SWAP1",
"source": 1
},
{
"begin": 896,
"end": 1001,
"name": "POP",
"source": 1
},
{
"begin": 896,
"end": 1001,
"name": "JUMP",
"source": 1,
"value": "[out]"
}
]
}
}
},
"methodIdentifiers": {
"b2()": "0add6ef2",
"b3()": "e9b61909",
"pad()": "9361266c"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.0+commit.c7dfd78e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"b2\",\"outputs\":[{\"internalType\":\"bytes2\",\"name\":\"\",\"type\":\"bytes2\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3\",\"outputs\":[{\"internalType\":\"bytes3\",\"name\":\"\",\"type\":\"bytes3\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pad\",\"outputs\":[{\"internalType\":\"bytes3\",\"name\":\"\",\"type\":\"bytes3\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"array/bytes_fixed.sol\":\"bytesFixed\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"array/bytes_fixed.sol\":{\"keccak256\":\"0xaaff7f2c64f33ab004e7f761b87fc4c87c9e3425794ce4c187fe62385497fdf4\",\"urls\":[\"bzz-raw://53459415fef5ef7a7989e98ac95bfe390956aa8162c1d799ee2f682b00c11c90\",\"dweb:/ipfs/QmW9eRWKzG3LRGaGRWPFPSZ2zDwexSdHLcvzzueWaE2FB7\"]}},\"version\":1}",
"storageLayout": {
"storage": [
{
"astId": 3,
"contract": "array/bytes_fixed.sol:bytesFixed",
"label": "b3",
"offset": 0,
"slot": "0",
"type": "t_bytes3"
},
{
"astId": 5,
"contract": "array/bytes_fixed.sol:bytesFixed",
"label": "b2",
"offset": 3,
"slot": "0",
"type": "t_bytes2"
},
{
"astId": 7,
"contract": "array/bytes_fixed.sol:bytesFixed",
"label": "pad",
"offset": 5,
"slot": "0",
"type": "t_bytes3"
}
],
"types": {
"t_bytes2": {
"encoding": "inplace",
"label": "bytes2",
"numberOfBytes": "2"
},
"t_bytes3": {
"encoding": "inplace",
"label": "bytes3",
"numberOfBytes": "3"
}
}
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"errors": [
{
"component": "general",
"errorCode": "1878",
"formattedMessage": "Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.\n--> array/bytes_fixed.sol\n\n",
"message": "SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.",
"severity": "warning",
"sourceLocation": {
"end": -1,
"file": "array/bytes_fixed.sol",
"start": -1
},
"type": "Warning"
},
{
"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 --> array/bytes_fixed.sol:9:5:\n |\n9 | constructor() 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": 214,
"file": "array/bytes_fixed.sol",
"start": 128
},
"type": "Warning"
}
],
"sources": {
"array/bytes_fixed.sol": {
"ast": {
"absolutePath": "array/bytes_fixed.sol",
"exportedSymbols": {
"bytesFixed": [
24
]
},
"id": 25,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"0.8",
".0"
],
"nodeType": "PragmaDirective",
"src": "0:23:0"
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 24,
"linearizedBaseContracts": [
24
],
"name": "bytesFixed",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"functionSelector": "e9b61909",
"id": 3,
"mutability": "mutable",
"name": "b3",
"nodeType": "VariableDeclaration",
"scope": 24,
"src": "56:16:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes3",
"typeString": "bytes3"
},
"typeName": {
"id": 2,
"name": "bytes3",
"nodeType": "ElementaryTypeName",
"src": "56:6:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes3",
"typeString": "bytes3"
}
},
"visibility": "public"
},
{
"constant": false,
"functionSelector": "0add6ef2",
"id": 5,
"mutability": "mutable",
"name": "b2",
"nodeType": "VariableDeclaration",
"scope": 24,
"src": "79:16:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes2",
"typeString": "bytes2"
},
"typeName": {
"id": 4,
"name": "bytes2",
"nodeType": "ElementaryTypeName",
"src": "79:6:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes2",
"typeString": "bytes2"
}
},
"visibility": "public"
},
{
"constant": false,
"functionSelector": "9361266c",
"id": 7,
"mutability": "mutable",
"name": "pad",
"nodeType": "VariableDeclaration",
"scope": 24,
"src": "102:17:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes3",
"typeString": "bytes3"
},
"typeName": {
"id": 6,
"name": "bytes3",
"nodeType": "ElementaryTypeName",
"src": "102:6:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes3",
"typeString": "bytes3"
}
},
"visibility": "public"
},
{
"body": {
"id": 22,
"nodeType": "Block",
"src": "148:66:0",
"statements": [
{
"expression": {
"id": 12,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 10,
"name": "b3",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "159:2:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes3",
"typeString": "bytes3"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"hexValue": "",
"id": 11,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "164:2:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"typeString": "literal_string \"\""
},
"value": ""
},
"src": "159:7:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes3",
"typeString": "bytes3"
}
},
"id": 13,
"nodeType": "ExpressionStatement",
"src": "159:7:0"
},
{
"expression": {
"id": 16,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 14,
"name": "b2",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5,
"src": "177:2:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes2",
"typeString": "bytes2"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"hexValue": "6162",
"id": 15,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "182:4:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_67fad3bfa1e0321bd021ca805ce14876e50acac8ca8532eda8cbf924da565160",
"typeString": "literal_string \"ab\""
},
"value": "ab"
},
"src": "177:9:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes2",
"typeString": "bytes2"
}
},
"id": 17,
"nodeType": "ExpressionStatement",
"src": "177:9:0"
},
{
"expression": {
"id": 20,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 18,
"name": "pad",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7,
"src": "197:3:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes3",
"typeString": "bytes3"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"hexValue": "61",
"id": 19,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "203:3:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_3ac225168df54212a25c1c01fd35bebfea408fdac2e31ddd6f80a4bbf9a5f1cb",
"typeString": "literal_string \"a\""
},
"value": "a"
},
"src": "197:9:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes3",
"typeString": "bytes3"
}
},
"id": 21,
"nodeType": "ExpressionStatement",
"src": "197:9:0"
}
]
},
"id": 23,
"implemented": true,
"kind": "constructor",
"modifiers": [],
"name": "",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 8,
"nodeType": "ParameterList",
"parameters": [],
"src": "139:2:0"
},
"returnParameters": {
"id": 9,
"nodeType": "ParameterList",
"parameters": [],
"src": "148:0:0"
},
"scope": 24,
"src": "128:86:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
}
],
"scope": 25,
"src": "27:190:0"
}
],
"src": "0:217:0"
},
"id": 0
}
}
}
}
This file has been truncated, but you can view the full file.
{
"id": "0ed21cb12082f80b4030e14bd8029119",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.0",
"solcLongVersion": "0.8.0+commit.c7dfd78e",
"input": {
"language": "Solidity",
"sources": {
"array/bytes_fixed.sol": {
"content": "pragma solidity 0.8.0 ;\r\n\r\ncontract bytesFixed {\r\n\r\n bytes3 public b3;\r\n bytes2 public b2;\r\n\r\n constructor() public{\r\n b3 = \"\";\r\n \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": {
"array/bytes_fixed.sol": {
"bytesFixed": {
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "b2",
"outputs": [
{
"internalType": "bytes2",
"name": "",
"type": "bytes2"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "b3",
"outputs": [
{
"internalType": "bytes3",
"name": "",
"type": "bytes3"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"array/bytes_fixed.sol\":27:163 contract bytesFixed {\r... */\n mstore(0x40, 0x80)\n /* \"array/bytes_fixed.sol\":104:160 constructor() public{\r... */\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n /* \"array/bytes_fixed.sol\":135:142 b3 = \"\" */\n 0x00\n /* \"array/bytes_fixed.sol\":135:137 b3 */\n dup1\n 0x00\n /* \"array/bytes_fixed.sol\":135:142 b3 = \"\" */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xffffff\n mul\n not\n and\n swap1\n dup4\n 0xe8\n shr\n mul\n or\n swap1\n sstore\n pop\n /* \"array/bytes_fixed.sol\":27:163 contract bytesFixed {\r... */\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"array/bytes_fixed.sol\":27:163 contract bytesFixed {\r... */\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 0x0add6ef2\n eq\n tag_3\n jumpi\n dup1\n 0xe9b61909\n eq\n tag_4\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"array/bytes_fixed.sol\":79:95 bytes2 public b2 */\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 /* \"array/bytes_fixed.sol\":56:72 bytes3 public b3 */\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 /* \"array/bytes_fixed.sol\":79:95 bytes2 public b2 */\n tag_6:\n 0x00\n 0x03\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xf0\n shl\n dup2\n jump\t// out\n /* \"array/bytes_fixed.sol\":56:72 bytes3 public b3 */\n tag_10:\n 0x00\n dup1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xe8\n shl\n dup2\n jump\t// out\n /* \"#utility.yul\":7:122 */\n tag_14:\n /* \"#utility.yul\":92:115 */\n tag_16\n /* \"#utility.yul\":109:114 */\n dup2\n /* \"#utility.yul\":92:115 */\n tag_17\n jump\t// in\n tag_16:\n /* \"#utility.yul\":87:90 */\n dup3\n /* \"#utility.yul\":80:116 */\n mstore\n /* \"#utility.yul\":70:122 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":128:243 */\n tag_18:\n /* \"#utility.yul\":213:236 */\n tag_20\n /* \"#utility.yul\":230:235 */\n dup2\n /* \"#utility.yul\":213:236 */\n tag_21\n jump\t// in\n tag_20:\n /* \"#utility.yul\":208:211 */\n dup3\n /* \"#utility.yul\":201:237 */\n mstore\n /* \"#utility.yul\":191:243 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":249:467 */\n tag_8:\n 0x00\n /* \"#utility.yul\":378:380 */\n 0x20\n /* \"#utility.yul\":367:376 */\n dup3\n /* \"#utility.yul\":363:381 */\n add\n /* \"#utility.yul\":355:381 */\n swap1\n pop\n /* \"#utility.yul\":391:460 */\n tag_23\n /* \"#utility.yul\":457:458 */\n 0x00\n /* \"#utility.yul\":446:455 */\n dup4\n /* \"#utility.yul\":442:459 */\n add\n /* \"#utility.yul\":433:439 */\n dup5\n /* \"#utility.yul\":391:460 */\n tag_14\n jump\t// in\n tag_23:\n /* \"#utility.yul\":345:467 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":473:691 */\n tag_12:\n 0x00\n /* \"#utility.yul\":602:604 */\n 0x20\n /* \"#utility.yul\":591:600 */\n dup3\n /* \"#utility.yul\":587:605 */\n add\n /* \"#utility.yul\":579:605 */\n swap1\n pop\n /* \"#utility.yul\":615:684 */\n tag_25\n /* \"#utility.yul\":681:682 */\n 0x00\n /* \"#utility.yul\":670:679 */\n dup4\n /* \"#utility.yul\":666:683 */\n add\n /* \"#utility.yul\":657:663 */\n dup5\n /* \"#utility.yul\":615:684 */\n tag_18\n jump\t// in\n tag_25:\n /* \"#utility.yul\":569:691 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":697:846 */\n tag_17:\n 0x00\n /* \"#utility.yul\":773:839 */\n 0xffff000000000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":766:771 */\n dup3\n /* \"#utility.yul\":762:840 */\n and\n /* \"#utility.yul\":751:840 */\n swap1\n pop\n /* \"#utility.yul\":741:846 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":852:1001 */\n tag_21:\n 0x00\n /* \"#utility.yul\":928:994 */\n 0xffffff0000000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":921:926 */\n dup3\n /* \"#utility.yul\":917:995 */\n and\n /* \"#utility.yul\":906:995 */\n swap1\n pop\n /* \"#utility.yul\":896:1001 */\n swap2\n swap1\n pop\n jump\t// out\n\n auxdata: 0xa264697066735822122065c04dff3f26295693fcc29ebc756e6d9d4973b1f7339d0f982060e3a62cecd664736f6c63430008000033\n}\n",
"bytecode": {
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b5060008060006101000a81548162ffffff021916908360e81c021790555061017d8061003d6000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80630add6ef21461003b578063e9b6190914610059575b600080fd5b610043610077565b60405161005091906100b9565b60405180910390f35b61006161008a565b60405161006e91906100d4565b60405180910390f35b600060039054906101000a900460f01b81565b60008054906101000a900460e81b81565b6100a4816100ef565b82525050565b6100b38161011b565b82525050565b60006020820190506100ce600083018461009b565b92915050565b60006020820190506100e960008301846100aa565b92915050565b60007fffff00000000000000000000000000000000000000000000000000000000000082169050919050565b60007fffffff00000000000000000000000000000000000000000000000000000000008216905091905056fea264697066735822122065c04dff3f26295693fcc29ebc756e6d9d4973b1f7339d0f982060e3a62cecd664736f6c63430008000033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH3 0xFFFFFF MUL NOT AND SWAP1 DUP4 PUSH1 0xE8 SHR MUL OR SWAP1 SSTORE POP PUSH2 0x17D DUP1 PUSH2 0x3D 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 0xADD6EF2 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xE9B61909 EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x77 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0xB9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x61 PUSH2 0x8A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6E SWAP2 SWAP1 PUSH2 0xD4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x3 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xF0 SHL DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xE8 SHL DUP2 JUMP JUMPDEST PUSH2 0xA4 DUP2 PUSH2 0xEF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xB3 DUP2 PUSH2 0x11B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xCE PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x9B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xE9 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xAA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFF000000000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFF0000000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH6 0xC04DFF3F2629 JUMP SWAP4 0xFC 0xC2 SWAP15 0xBC PUSH22 0x6E6D9D4973B1F7339D0F982060E3A62CECD664736F6C PUSH4 0x43000800 STOP CALLER ",
"sourceMap": "27:136:0:-:0;;;104:56;;;;;;;;;;135:7;:2;;:7;;;;;;;;;;;;;;;;;;27:136;;;;;;"
},
"deployedBytecode": {
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1004:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "70:52:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "87:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "109:5:1"
}
],
"functionName": {
"name": "cleanup_t_bytes2",
"nodeType": "YulIdentifier",
"src": "92:16:1"
},
"nodeType": "YulFunctionCall",
"src": "92:23:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "80:6:1"
},
"nodeType": "YulFunctionCall",
"src": "80:36:1"
},
"nodeType": "YulExpressionStatement",
"src": "80:36:1"
}
]
},
"name": "abi_encode_t_bytes2_to_t_bytes2_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "58:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "65:3:1",
"type": ""
}
],
"src": "7:115:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "191:52:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "208:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "230:5:1"
}
],
"functionName": {
"name": "cleanup_t_bytes3",
"nodeType": "YulIdentifier",
"src": "213:16:1"
},
"nodeType": "YulFunctionCall",
"src": "213:23:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "201:6:1"
},
"nodeType": "YulFunctionCall",
"src": "201:36:1"
},
"nodeType": "YulExpressionStatement",
"src": "201:36:1"
}
]
},
"name": "abi_encode_t_bytes3_to_t_bytes3_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "179:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "186:3:1",
"type": ""
}
],
"src": "128:115:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "345:122:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "355:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "367:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "378:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "363:3:1"
},
"nodeType": "YulFunctionCall",
"src": "363:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "355:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "433:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "446:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "457:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "442:3:1"
},
"nodeType": "YulFunctionCall",
"src": "442:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bytes2_to_t_bytes2_fromStack",
"nodeType": "YulIdentifier",
"src": "391:41:1"
},
"nodeType": "YulFunctionCall",
"src": "391:69:1"
},
"nodeType": "YulExpressionStatement",
"src": "391:69:1"
}
]
},
"name": "abi_encode_tuple_t_bytes2__to_t_bytes2__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "317:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "329:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "340:4:1",
"type": ""
}
],
"src": "249:218:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "569:122:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "579:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "591:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "602:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "587:3:1"
},
"nodeType": "YulFunctionCall",
"src": "587:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "579:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "657:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "670:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "681:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "666:3:1"
},
"nodeType": "YulFunctionCall",
"src": "666:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bytes3_to_t_bytes3_fromStack",
"nodeType": "YulIdentifier",
"src": "615:41:1"
},
"nodeType": "YulFunctionCall",
"src": "615:69:1"
},
"nodeType": "YulExpressionStatement",
"src": "615:69:1"
}
]
},
"name": "abi_encode_tuple_t_bytes3__to_t_bytes3__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "541:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "553:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "564:4:1",
"type": ""
}
],
"src": "473:218:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "741:105:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "751:89:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "766:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "773:66:1",
"type": "",
"value": "0xffff000000000000000000000000000000000000000000000000000000000000"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "762:3:1"
},
"nodeType": "YulFunctionCall",
"src": "762:78:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "751:7:1"
}
]
}
]
},
"name": "cleanup_t_bytes2",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "723:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "733:7:1",
"type": ""
}
],
"src": "697:149:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "896:105:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "906:89:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "921:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "928:66:1",
"type": "",
"value": "0xffffff0000000000000000000000000000000000000000000000000000000000"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "917:3:1"
},
"nodeType": "YulFunctionCall",
"src": "917:78:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "906:7:1"
}
]
}
]
},
"name": "cleanup_t_bytes3",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "878:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "888:7:1",
"type": ""
}
],
"src": "852:149:1"
}
]
},
"contents": "{\n\n function abi_encode_t_bytes2_to_t_bytes2_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes2(value))\n }\n\n function abi_encode_t_bytes3_to_t_bytes3_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes3(value))\n }\n\n function abi_encode_tuple_t_bytes2__to_t_bytes2__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes2_to_t_bytes2_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_bytes3__to_t_bytes3__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes3_to_t_bytes3_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_bytes2(value) -> cleaned {\n cleaned := and(value, 0xffff000000000000000000000000000000000000000000000000000000000000)\n }\n\n function cleanup_t_bytes3(value) -> cleaned {\n cleaned := and(value, 0xffffff0000000000000000000000000000000000000000000000000000000000)\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100365760003560e01c80630add6ef21461003b578063e9b6190914610059575b600080fd5b610043610077565b60405161005091906100b9565b60405180910390f35b61006161008a565b60405161006e91906100d4565b60405180910390f35b600060039054906101000a900460f01b81565b60008054906101000a900460e81b81565b6100a4816100ef565b82525050565b6100b38161011b565b82525050565b60006020820190506100ce600083018461009b565b92915050565b60006020820190506100e960008301846100aa565b92915050565b60007fffff00000000000000000000000000000000000000000000000000000000000082169050919050565b60007fffffff00000000000000000000000000000000000000000000000000000000008216905091905056fea264697066735822122065c04dff3f26295693fcc29ebc756e6d9d4973b1f7339d0f982060e3a62cecd664736f6c63430008000033",
"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 0xADD6EF2 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xE9B61909 EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x77 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0xB9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x61 PUSH2 0x8A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6E SWAP2 SWAP1 PUSH2 0xD4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x3 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xF0 SHL DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xE8 SHL DUP2 JUMP JUMPDEST PUSH2 0xA4 DUP2 PUSH2 0xEF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xB3 DUP2 PUSH2 0x11B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xCE PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x9B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xE9 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xAA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFF000000000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFF0000000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH6 0xC04DFF3F2629 JUMP SWAP4 0xFC 0xC2 SWAP15 0xBC PUSH22 0x6E6D9D4973B1F7339D0F982060E3A62CECD664736F6C PUSH4 0x43000800 STOP CALLER ",
"sourceMap": "27:136:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;79:16;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;56;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;79;;;;;;;;;;;;;:::o;56:::-;;;;;;;;;;;;:::o;7:115:1:-;92:23;109:5;92:23;:::i;:::-;87:3;80:36;70:52;;:::o;128:115::-;213:23;230:5;213:23;:::i;:::-;208:3;201:36;191:52;;:::o;249:218::-;;378:2;367:9;363:18;355:26;;391:69;457:1;446:9;442:17;433:6;391:69;:::i;:::-;345:122;;;;:::o;473:218::-;;602:2;591:9;587:18;579:26;;615:69;681:1;670:9;666:17;657:6;615:69;:::i;:::-;569:122;;;;:::o;697:149::-;;773:66;766:5;762:78;751:89;;741:105;;;:::o;852:149::-;;928:66;921:5;917:78;906:89;;896:105;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "76200",
"executionCost": "20990",
"totalCost": "97190"
},
"external": {
"b2()": "1199",
"b3()": "1168"
}
},
"legacyAssembly": {
".code": [
{
"begin": 27,
"end": 163,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 27,
"end": 163,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 27,
"end": 163,
"name": "MSTORE",
"source": 0
},
{
"begin": 104,
"end": 160,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 104,
"end": 160,
"name": "DUP1",
"source": 0
},
{
"begin": 104,
"end": 160,
"name": "ISZERO",
"source": 0
},
{
"begin": 104,
"end": 160,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 104,
"end": 160,
"name": "JUMPI",
"source": 0
},
{
"begin": 104,
"end": 160,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 104,
"end": 160,
"name": "DUP1",
"source": 0
},
{
"begin": 104,
"end": 160,
"name": "REVERT",
"source": 0
},
{
"begin": 104,
"end": 160,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 104,
"end": 160,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 104,
"end": 160,
"name": "POP",
"source": 0
},
{
"begin": 135,
"end": 142,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 135,
"end": 137,
"name": "DUP1",
"source": 0
},
{
"begin": 135,
"end": 137,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 135,
"end": 142,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 135,
"end": 142,
"name": "EXP",
"source": 0
},
{
"begin": 135,
"end": 142,
"name": "DUP2",
"source": 0
},
{
"begin": 135,
"end": 142,
"name": "SLOAD",
"source": 0
},
{
"begin": 135,
"end": 142,
"name": "DUP2",
"source": 0
},
{
"begin": 135,
"end": 142,
"name": "PUSH",
"source": 0,
"value": "FFFFFF"
},
{
"begin": 135,
"end": 142,
"name": "MUL",
"source": 0
},
{
"begin": 135,
"end": 142,
"name": "NOT",
"source": 0
},
{
"begin": 135,
"end": 142,
"name": "AND",
"source": 0
},
{
"begin": 135,
"end": 142,
"name": "SWAP1",
"source": 0
},
{
"begin": 135,
"end": 142,
"name": "DUP4",
"source": 0
},
{
"begin": 135,
"end": 142,
"name": "PUSH",
"source": 0,
"value": "E8"
},
{
"begin": 135,
"end": 142,
"name": "SHR",
"source": 0
},
{
"begin": 135,
"end": 142,
"name": "MUL",
"source": 0
},
{
"begin": 135,
"end": 142,
"name": "OR",
"source": 0
},
{
"begin": 135,
"end": 142,
"name": "SWAP1",
"source": 0
},
{
"begin": 135,
"end": 142,
"name": "SSTORE",
"source": 0
},
{
"begin": 135,
"end": 142,
"name": "POP",
"source": 0
},
{
"begin": 27,
"end": 163,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 27,
"end": 163,
"name": "DUP1",
"source": 0
},
{
"begin": 27,
"end": 163,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 27,
"end": 163,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 27,
"end": 163,
"name": "CODECOPY",
"source": 0
},
{
"begin": 27,
"end": 163,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 27,
"end": 163,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a264697066735822122065c04dff3f26295693fcc29ebc756e6d9d4973b1f7339d0f982060e3a62cecd664736f6c63430008000033",
".code": [
{
"begin": 27,
"end": 163,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 27,
"end": 163,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 27,
"end": 163,
"name": "MSTORE",
"source": 0
},
{
"begin": 27,
"end": 163,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 27,
"end": 163,
"name": "DUP1",
"source": 0
},
{
"begin": 27,
"end": 163,
"name": "ISZERO",
"source": 0
},
{
"begin": 27,
"end": 163,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 27,
"end": 163,
"name": "JUMPI",
"source": 0
},
{
"begin": 27,
"end": 163,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 27,
"end": 163,
"name": "DUP1",
"source": 0
},
{
"begin": 27,
"end": 163,
"name": "REVERT",
"source": 0
},
{
"begin": 27,
"end": 163,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 27,
"end": 163,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 27,
"end": 163,
"name": "POP",
"source": 0
},
{
"begin": 27,
"end": 163,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 27,
"end": 163,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 27,
"end": 163,
"name": "LT",
"source": 0
},
{
"begin": 27,
"end": 163,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 27,
"end": 163,
"name": "JUMPI",
"source": 0
},
{
"begin": 27,
"end": 163,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 27,
"end": 163,
"name": "CALLDATALOAD",
"source": 0
},
{
"begin": 27,
"end": 163,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 27,
"end": 163,
"name": "SHR",
"source": 0
},
{
"begin": 27,
"end": 163,
"name": "DUP1",
"source": 0
},
{
"begin": 27,
"end": 163,
"name": "PUSH",
"source": 0,
"value": "ADD6EF2"
},
{
"begin": 27,
"end": 163,
"name": "EQ",
"source": 0
},
{
"begin": 27,
"end": 163,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 27,
"end": 163,
"name": "JUMPI",
"source": 0
},
{
"begin": 27,
"end": 163,
"name": "DUP1",
"source": 0
},
{
"begin": 27,
"end": 163,
"name": "PUSH",
"source": 0,
"value": "E9B61909"
},
{
"begin": 27,
"end": 163,
"name": "EQ",
"source": 0
},
{
"begin": 27,
"end": 163,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 27,
"end": 163,
"name": "JUMPI",
"source": 0
},
{
"begin": 27,
"end": 163,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 27,
"end": 163,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 27,
"end": 163,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 27,
"end": 163,
"name": "DUP1",
"source": 0
},
{
"begin": 27,
"end": 163,
"name": "REVERT",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 79,
"end": 95,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 79,
"end": 95,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 79,
"end": 95,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 79,
"end": 95,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 79,
"end": 95,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 79,
"end": 95,
"name": "MLOAD",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 79,
"end": 95,
"name": "SWAP2",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "SWAP1",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 79,
"end": 95,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 79,
"end": 95,
"name": "tag",
"source": 0,
"value": "7"
},
{
"begin": 79,
"end": 95,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 79,
"end": 95,
"name": "MLOAD",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "DUP1",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "SWAP2",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "SUB",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "SWAP1",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "RETURN",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 56,
"end": 72,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 56,
"end": 72,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 56,
"end": 72,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 56,
"end": 72,
"name": "tag",
"source": 0,
"value": "9"
},
{
"begin": 56,
"end": 72,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 56,
"end": 72,
"name": "MLOAD",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 56,
"end": 72,
"name": "SWAP2",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "SWAP1",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "PUSH [tag]",
"source": 0,
"value": "12"
},
{
"begin": 56,
"end": 72,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 56,
"end": 72,
"name": "tag",
"source": 0,
"value": "11"
},
{
"begin": 56,
"end": 72,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 56,
"end": 72,
"name": "MLOAD",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "DUP1",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "SWAP2",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "SUB",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "SWAP1",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "RETURN",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 79,
"end": 95,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 79,
"end": 95,
"name": "PUSH",
"source": 0,
"value": "3"
},
{
"begin": 79,
"end": 95,
"name": "SWAP1",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "SLOAD",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "SWAP1",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 79,
"end": 95,
"name": "EXP",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "SWAP1",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "DIV",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "PUSH",
"source": 0,
"value": "F0"
},
{
"begin": 79,
"end": 95,
"name": "SHL",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "DUP2",
"source": 0
},
{
"begin": 79,
"end": 95,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 56,
"end": 72,
"name": "tag",
"source": 0,
"value": "10"
},
{
"begin": 56,
"end": 72,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 56,
"end": 72,
"name": "DUP1",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "SLOAD",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "SWAP1",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 56,
"end": 72,
"name": "EXP",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "SWAP1",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "DIV",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "PUSH",
"source": 0,
"value": "E8"
},
{
"begin": 56,
"end": 72,
"name": "SHL",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "DUP2",
"source": 0
},
{
"begin": 56,
"end": 72,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 7,
"end": 122,
"name": "tag",
"source": 1,
"value": "14"
},
{
"begin": 7,
"end": 122,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 92,
"end": 115,
"name": "PUSH [tag]",
"source": 1,
"value": "16"
},
{
"begin": 109,
"end": 114,
"name": "DUP2",
"source": 1
},
{
"begin": 92,
"end": 115,
"name": "PUSH [tag]",
"source": 1,
"value": "17"
},
{
"begin": 92,
"end": 115,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 92,
"end": 115,
"name": "tag",
"source": 1,
"value": "16"
},
{
"begin": 92,
"end": 115,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 87,
"end": 90,
"name": "DUP3",
"source": 1
},
{
"begin": 80,
"end": 116,
"name": "MSTORE",
"source": 1
},
{
"begin": 70,
"end": 122,
"name": "POP",
"source": 1
},
{
"begin": 70,
"end": 122,
"name": "POP",
"source": 1
},
{
"begin": 70,
"end": 122,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 128,
"end": 243,
"name": "tag",
"source": 1,
"value": "18"
},
{
"begin": 128,
"end": 243,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 213,
"end": 236,
"name": "PUSH [tag]",
"source": 1,
"value": "20"
},
{
"begin": 230,
"end": 235,
"name": "DUP2",
"source": 1
},
{
"begin": 213,
"end": 236,
"name": "PUSH [tag]",
"source": 1,
"value": "21"
},
{
"begin": 213,
"end": 236,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 213,
"end": 236,
"name": "tag",
"source": 1,
"value": "20"
},
{
"begin": 213,
"end": 236,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 208,
"end": 211,
"name": "DUP3",
"source": 1
},
{
"begin": 201,
"end": 237,
"name": "MSTORE",
"source": 1
},
{
"begin": 191,
"end": 243,
"name": "POP",
"source": 1
},
{
"begin": 191,
"end": 243,
"name": "POP",
"source": 1
},
{
"begin": 191,
"end": 243,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 249,
"end": 467,
"name": "tag",
"source": 1,
"value": "8"
},
{
"begin": 249,
"end": 467,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 249,
"end": 467,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 378,
"end": 380,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 367,
"end": 376,
"name": "DUP3",
"source": 1
},
{
"begin": 363,
"end": 381,
"name": "ADD",
"source": 1
},
{
"begin": 355,
"end": 381,
"name": "SWAP1",
"source": 1
},
{
"begin": 355,
"end": 381,
"name": "POP",
"source": 1
},
{
"begin": 391,
"end": 460,
"name": "PUSH [tag]",
"source": 1,
"value": "23"
},
{
"begin": 457,
"end": 458,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 446,
"end": 455,
"name": "DUP4",
"source": 1
},
{
"begin": 442,
"end": 459,
"name": "ADD",
"source": 1
},
{
"begin": 433,
"end": 439,
"name": "DUP5",
"source": 1
},
{
"begin": 391,
"end": 460,
"name": "PUSH [tag]",
"source": 1,
"value": "14"
},
{
"begin": 391,
"end": 460,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 391,
"end": 460,
"name": "tag",
"source": 1,
"value": "23"
},
{
"begin": 391,
"end": 460,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 345,
"end": 467,
"name": "SWAP3",
"source": 1
},
{
"begin": 345,
"end": 467,
"name": "SWAP2",
"source": 1
},
{
"begin": 345,
"end": 467,
"name": "POP",
"source": 1
},
{
"begin": 345,
"end": 467,
"name": "POP",
"source": 1
},
{
"begin": 345,
"end": 467,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 473,
"end": 691,
"name": "tag",
"source": 1,
"value": "12"
},
{
"begin": 473,
"end": 691,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 473,
"end": 691,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 602,
"end": 604,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 591,
"end": 600,
"name": "DUP3",
"source": 1
},
{
"begin": 587,
"end": 605,
"name": "ADD",
"source": 1
},
{
"begin": 579,
"end": 605,
"name": "SWAP1",
"source": 1
},
{
"begin": 579,
"end": 605,
"name": "POP",
"source": 1
},
{
"begin": 615,
"end": 684,
"name": "PUSH [tag]",
"source": 1,
"value": "25"
},
{
"begin": 681,
"end": 682,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 670,
"end": 679,
"name": "DUP4",
"source": 1
},
{
"begin": 666,
"end": 683,
"name": "ADD",
"source": 1
},
{
"begin": 657,
"end": 663,
"name": "DUP5",
"source": 1
},
{
"begin": 615,
"end": 684,
"name": "PUSH [tag]",
"source": 1,
"value": "18"
},
{
"begin": 615,
"end": 684,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 615,
"end": 684,
"name": "tag",
"source": 1,
"value": "25"
},
{
"begin": 615,
"end": 684,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 569,
"end": 691,
"name": "SWAP3",
"source": 1
},
{
"begin": 569,
"end": 691,
"name": "SWAP2",
"source": 1
},
{
"begin": 569,
"end": 691,
"name": "POP",
"source": 1
},
{
"begin": 569,
"end": 691,
"name": "POP",
"source": 1
},
{
"begin": 569,
"end": 691,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 697,
"end": 846,
"name": "tag",
"source": 1,
"value": "17"
},
{
"begin": 697,
"end": 846,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 697,
"end": 846,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 773,
"end": 839,
"name": "PUSH",
"source": 1,
"value": "FFFF000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 766,
"end": 771,
"name": "DUP3",
"source": 1
},
{
"begin": 762,
"end": 840,
"name": "AND",
"source": 1
},
{
"begin": 751,
"end": 840,
"name": "SWAP1",
"source": 1
},
{
"begin": 751,
"end": 840,
"name": "POP",
"source": 1
},
{
"begin": 741,
"end": 846,
"name": "SWAP2",
"source": 1
},
{
"begin": 741,
"end": 846,
"name": "SWAP1",
"source": 1
},
{
"begin": 741,
"end": 846,
"name": "POP",
"source": 1
},
{
"begin": 741,
"end": 846,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 852,
"end": 1001,
"name": "tag",
"source": 1,
"value": "21"
},
{
"begin": 852,
"end": 1001,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 852,
"end": 1001,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 928,
"end": 994,
"name": "PUSH",
"source": 1,
"value": "FFFFFF0000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 921,
"end": 926,
"name": "DUP3",
"source": 1
},
{
"begin": 917,
"end": 995,
"name": "AND",
"source": 1
},
{
"begin": 906,
"end": 995,
"name": "SWAP1",
"source": 1
},
{
"begin": 906,
"end": 995,
"name": "POP",
"source": 1
},
{
"begin": 896,
"end": 1001,
"name": "SWAP2",
"source": 1
},
{
"begin": 896,
"end": 1001,
"name": "SWAP1",
"source": 1
},
{
"begin": 896,
"end": 1001,
"name": "POP",
"source": 1
},
{
"begin": 896,
"end": 1001,
"name": "JUMP",
"source": 1,
"value": "[out]"
}
]
}
}
},
"methodIdentifiers": {
"b2()": "0add6ef2",
"b3()": "e9b61909"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.0+commit.c7dfd78e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"b2\",\"outputs\":[{\"internalType\":\"bytes2\",\"name\":\"\",\"type\":\"bytes2\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3\",\"outputs\":[{\"internalType\":\"bytes3\",\"name\":\"\",\"type\":\"bytes3\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"array/bytes_fixed.sol\":\"bytesFixed\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"array/bytes_fixed.sol\":{\"keccak256\":\"0xa3012463c4b056599eaa9cb4c60c97e4a3ec43d9aa0cd1d21f5a5dc9a724e098\",\"urls\":[\"bzz-raw://85447a2022dee6fb377c2faee37928e0732a20756d79bea5360d51724242d0f6\",\"dweb:/ipfs/QmZ8Ut18T6QPEJ47kTnVDhiPUz4ST43VVmMbN3ayJ3gRve\"]}},\"version\":1}",
"storageLayout": {
"storage": [
{
"astId": 3,
"contract": "array/bytes_fixed.sol:bytesFixed",
"label": "b3",
"offset": 0,
"slot": "0",
"type": "t_bytes3"
},
{
"astId": 5,
"contract": "array/bytes_fixed.sol:bytesFixed",
"label": "b2",
"offset": 3,
"slot": "0",
"type": "t_bytes2"
}
],
"types": {
"t_bytes2": {
"encoding": "inplace",
"label": "bytes2",
"numberOfBytes": "2"
},
"t_bytes3": {
"encoding": "inplace",
"label": "bytes3",
"numberOfBytes": "3"
}
}
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"errors": [
{
"component": "general",
"errorCode": "1878",
"formattedMessage": "Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.\n--> array/bytes_fixed.sol\n\n",
"message": "SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.",
"severity": "warning",
"sourceLocation": {
"end": -1,
"file": "array/bytes_fixed.sol",
"start": -1
},
"type": "Warning"
},
{
"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 --> array/bytes_fixed.sol:8:5:\n |\n8 | constructor() 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": 160,
"file": "array/bytes_fixed.sol",
"start": 104
},
"type": "Warning"
}
],
"sources": {
"array/bytes_fixed.sol": {
"ast": {
"absolutePath": "array/bytes_fixed.sol",
"exportedSymbols": {
"bytesFixed": [
14
]
},
"id": 15,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"0.8",
".0"
],
"nodeType": "PragmaDirective",
"src": "0:23:0"
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 14,
"linearizedBaseContracts": [
14
],
"name": "bytesFixed",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"functionSelector": "e9b61909",
"id": 3,
"mutability": "mutable",
"name": "b3",
"nodeType": "VariableDeclaration",
"scope": 14,
"src": "56:16:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes3",
"typeString": "bytes3"
},
"typeName": {
"id": 2,
"name": "bytes3",
"nodeType": "ElementaryTypeName",
"src": "56:6:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes3",
"typeString": "bytes3"
}
},
"visibility": "public"
},
{
"constant": false,
"functionSelector": "0add6ef2",
"id": 5,
"mutability": "mutable",
"name": "b2",
"nodeType": "VariableDeclaration",
"scope": 14,
"src": "79:16:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes2",
"typeString": "bytes2"
},
"typeName": {
"id": 4,
"name": "bytes2",
"nodeType": "ElementaryTypeName",
"src": "79:6:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes2",
"typeString": "bytes2"
}
},
"visibility": "public"
},
{
"body": {
"id": 12,
"nodeType": "Block",
"src": "124:36:0",
"st
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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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