Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save Phantonym21/4dabba8c2f5e9efde9344f06df49aece to your computer and use it in GitHub Desktop.
Save Phantonym21/4dabba8c2f5e9efde9344f06df49aece 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=undefined&optimize=undefined&runs=undefined&gist=
name: Running Solidity Unit Tests
on: [push]
jobs:
run_sol_contracts_job:
runs-on: ubuntu-latest
name: A job to run solidity unit tests on github actions CI
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Run SUT Action
uses: EthereumRemix/sol-test@v1
with:
test-path: 'tests'
compiler-version: '0.8.15'
{
"overrides": [
{
"files": "*.sol",
"options": {
"printWidth": 80,
"tabWidth": 4,
"useTabs": false,
"singleQuote": false,
"bracketSpacing": false
}
},
{
"files": "*.yml",
"options": {}
},
{
"files": "*.yaml",
"options": {}
},
{
"files": "*.toml",
"options": {}
},
{
"files": "*.json",
"options": {}
},
{
"files": "*.js",
"options": {}
},
{
"files": "*.ts",
"options": {}
}
]
}
REMIX DEFAULT WORKSPACE
Remix default workspace is present when:
i. Remix loads for the very first time
ii. A new workspace is created with 'Default' template
iii. There are no files existing in the File Explorer
This workspace contains 3 directories:
1. 'contracts': Holds three contracts with increasing levels of complexity.
2. 'scripts': Contains four typescript files 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 has four typescript files which help to deploy the 'Storage' contract using 'web3.js' and 'ethers.js' libraries.
For the deployment of any other contract, just update the contract's name from 'Storage' to the desired contract and provide constructor arguments accordingly
in the file `deploy_with_ethers.ts` or `deploy_with_web3.ts`
In the 'tests' folder there is a script containing Mocha-Chai unit tests for 'Storage' contract.
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/import is supported in a limited manner for Remix supported modules.
For now, modules supported by Remix are ethers, web3, swarmgw, chai, multihashes, 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.
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
/**
* @title Storage
* @dev Store & retrieve value in a variable
* @custom:dev-run-script ./scripts/deploy_with_ethers.ts
*/
contract Storage {
uint256 number;
/**
* @dev Store value in variable
* @param num value to store
*/
function store(uint256 num) public {
number = num;
}
/**
* @dev Return value
* @return value of 'number'
*/
function retrieve() public view returns (uint256){
return number;
}
}
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
import "hardhat/console.sol";
/**
* @title Owner
* @dev Set & change owner
*/
contract Owner {
address private owner;
// event for EVM logging
event OwnerSet(address indexed oldOwner, address indexed newOwner);
// modifier to check if caller is owner
modifier isOwner() {
// If the first argument of 'require' evaluates to 'false', execution terminates and all
// changes to the state and to Ether balances are reverted.
// This used to consume all gas in old EVM versions, but not anymore.
// It is often a good idea to use 'require' to check if functions are called correctly.
// As a second argument, you can also provide an explanation about what went wrong.
require(msg.sender == owner, "Caller is not owner");
_;
}
/**
* @dev Set contract deployer as owner
*/
constructor() {
console.log("Owner contract deployed by:", msg.sender);
owner = msg.sender; // 'msg.sender' is sender of current call, contract deployer for a constructor
emit OwnerSet(address(0), owner);
}
/**
* @dev Change owner
* @param newOwner address of new owner
*/
function changeOwner(address newOwner) public isOwner {
emit OwnerSet(owner, newOwner);
owner = newOwner;
}
/**
* @dev Return owner address
* @return address of owner
*/
function getOwner() external view returns (address) {
return owner;
}
}
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
/**
* @title Ballot
* @dev Implements voting process along with vote delegation
*/
contract Ballot {
struct Voter {
uint weight; // weight is accumulated by delegation
bool voted; // if true, that person already voted
address delegate; // person delegated to
uint vote; // index of the voted proposal
}
struct Proposal {
// If you can limit the length to a certain number of bytes,
// always use one of bytes1 to bytes32 because they are much cheaper
bytes32 name; // short name (up to 32 bytes)
uint voteCount; // number of accumulated votes
}
address public chairperson;
mapping(address => Voter) public voters;
Proposal[] public proposals;
/**
* @dev Create a new ballot to choose one of 'proposalNames'.
* @param proposalNames names of proposals
*/
constructor(bytes32[] memory proposalNames) {
chairperson = msg.sender;
voters[chairperson].weight = 1;
for (uint i = 0; i < proposalNames.length; i++) {
// 'Proposal({...})' creates a temporary
// Proposal object and 'proposals.push(...)'
// appends it to the end of 'proposals'.
proposals.push(Proposal({
name: proposalNames[i],
voteCount: 0
}));
}
}
/**
* @dev Give 'voter' the right to vote on this ballot. May only be called by 'chairperson'.
* @param voter address of voter
*/
function giveRightToVote(address voter) public {
require(
msg.sender == chairperson,
"Only chairperson can give right to vote."
);
require(
!voters[voter].voted,
"The voter already voted."
);
require(voters[voter].weight == 0);
voters[voter].weight = 1;
}
/**
* @dev Delegate your vote to the voter 'to'.
* @param to address to which vote is delegated
*/
function delegate(address to) public {
Voter storage sender = voters[msg.sender];
require(!sender.voted, "You already voted.");
require(to != msg.sender, "Self-delegation is disallowed.");
while (voters[to].delegate != address(0)) {
to = voters[to].delegate;
// We found a loop in the delegation, not allowed.
require(to != msg.sender, "Found loop in delegation.");
}
sender.voted = true;
sender.delegate = to;
Voter storage delegate_ = voters[to];
if (delegate_.voted) {
// If the delegate already voted,
// directly add to the number of votes
proposals[delegate_.vote].voteCount += sender.weight;
} else {
// If the delegate did not vote yet,
// add to her weight.
delegate_.weight += sender.weight;
}
}
/**
* @dev Give your vote (including votes delegated to you) to proposal 'proposals[proposal].name'.
* @param proposal index of proposal in the proposals array
*/
function vote(uint proposal) public {
Voter storage sender = voters[msg.sender];
require(sender.weight != 0, "Has no right to vote");
require(!sender.voted, "Already voted.");
sender.voted = true;
sender.vote = proposal;
// If 'proposal' is out of the range of the array,
// this will throw automatically and revert all
// changes.
proposals[proposal].voteCount += sender.weight;
}
/**
* @dev Computes the winning proposal taking all previous votes into account.
* @return winningProposal_ index of winning proposal in the proposals array
*/
function winningProposal() public view
returns (uint winningProposal_)
{
uint winningVoteCount = 0;
for (uint p = 0; p < proposals.length; p++) {
if (proposals[p].voteCount > winningVoteCount) {
winningVoteCount = proposals[p].voteCount;
winningProposal_ = p;
}
}
}
/**
* @dev Calls winningProposal() function to get the index of the winner contained in the proposals array and then
* @return winnerName_ the name of the winner
*/
function winnerName() public view
returns (bytes32 winnerName_)
{
winnerName_ = proposals[winningProposal()].name;
}
}
This file has been truncated, but you can view the full file.
PK
D4V0W~��
readme.txtThis is a Remix backup file.
This zip should be used by the restore backup tool in Remix.
The .workspaces directory contains your workspaces.PK
D4V
/.workspaces/PK
D4V/.workspaces/default_workspace/PK
D4V���)/.workspaces/default_workspace/README.txtREMIX DEFAULT WORKSPACE
Remix default workspace is present when:
i. Remix loads for the very first time
ii. A new workspace is created with 'Default' template
iii. There are no files existing in the File Explorer
This workspace contains 3 directories:
1. 'contracts': Holds three contracts with increasing levels of complexity.
2. 'scripts': Contains four typescript files 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 has four typescript files which help to deploy the 'Storage' contract using 'web3.js' and 'ethers.js' libraries.
For the deployment of any other contract, just update the contract's name from 'Storage' to the desired contract and provide constructor arguments accordingly
in the file `deploy_with_ethers.ts` or `deploy_with_web3.ts`
In the 'tests' folder there is a script containing Mocha-Chai unit tests for 'Storage' contract.
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/import is supported in a limited manner for Remix supported modules.
For now, modules supported by Remix are ethers, web3, swarmgw, chai, multihashes, 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.
PK
D4V[����//.workspaces/default_workspace/.prettierrc.json{
"overrides": [
{
"files": "*.sol",
"options": {
"printWidth": 80,
"tabWidth": 4,
"useTabs": false,
"singleQuote": false,
"bracketSpacing": false
}
},
{
"files": "*.yml",
"options": {}
},
{
"files": "*.yaml",
"options": {}
},
{
"files": "*.toml",
"options": {}
},
{
"files": "*.json",
"options": {}
},
{
"files": "*.js",
"options": {}
},
{
"files": "*.ts",
"options": {}
}
]
}
PK
D4V)/.workspaces/default_workspace/Tutorial1/PK
D4V�0�
��6/.workspaces/default_workspace/Tutorial1/tutorial1.solpragma solidity ^0.8.7;
// SPDX-License-Identifier: UNLICENSED;
contract A1 {
uint private a;
string private b;
bool c;
event Log(string indexed t);
function setC() public payable {
c = !c;
}
function setA(uint _x) public payable {
a = _x;
}
function setB(string memory _y) public payable {
b = _y;
}
function getA() public view returns (uint256) {
return a;
}
function getB() public view returns (string memory) {
return b;
}
function getC() public payable returns (bool) {
emit Log("toggled value of C");
return c;
}
}
PK
D4V�Rq�>>6/.workspaces/default_workspace/Tutorial1/tutorial2.solpragma solidity ^0.5.1;
library SafeMath {
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
assert(b <= a); //error handling condition
return a - b;
}
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
assert(c >= a);
return c;
}
}
contract IntelliContract {
string public constant name = "IntelliCoin"; // solidity automatically creates a getter function for public variables
string public constant symbol = "ITC"; // getter function is a function used to retrive a specific value from ledger
uint8 public constant decimals = 18;
// Setter functions : Function Which Creates or Updates A Value on Legder.
// Getter Functions : Function Which Get or Fetches A Value From Legder.
event Approval(address indexed tokenOwner, address spender, uint tokens);
event Transfer(address indexed from, address indexed to, uint tokens);
modifier onlyOwner {
require (msg.sender == ownerCon);
_;
}
mapping(address => uint256) balances;
mapping(address => mapping (address => uint256)) allowed; // nested mapping
// Nested Mapping Has 2 Keys & 1 Value
uint256 totalSupply_;
address ownerCon;
using SafeMath for uint256;
constructor(uint256 total) public { // special function , only called at time of deployemnet
totalSupply_ = total ;
balances[msg.sender] = totalSupply_ ; // To Deposit all the newly generated tokens in owner's account
ownerCon = msg.sender;
}
function totalSupply() public view returns (uint256) {
return totalSupply_;
}
// getter function
function balanceOf(address inputAddress) public view returns (uint) {
return balances[inputAddress] ;
}
// getter function
function transfer(address receiver, uint numTokens) public returns (bool) {
require(numTokens <= balances[msg.sender],"You Don't Have Sufficient Balance");
balances[msg.sender] = balances[msg.sender].sub(numTokens);
balances[receiver] = balances[receiver].add(numTokens);
emit Transfer(msg.sender, receiver, numTokens); // logging these values using events
return true;
}
function approve(address approved_addr, uint numTokens) public returns (bool) {
allowed[msg.sender][approved_addr] = numTokens;
emit Approval(msg.sender, approved_addr, numTokens);
return true;
}
function allowance(address owner, address token_manger) public view returns (uint) {
return allowed[owner][token_manger];
}// what allowance has been provided by token_owner to Token_manager
function transferFrom(address owner, address buyer, uint numTokens) public returns (bool) {
require(numTokens <= balances[owner]);
require(numTokens <= allowed[owner][msg.sender]);
balances[owner] = balances[owner].sub(numTokens);
allowed[owner][msg.sender] = allowed[owner][msg.sender].sub(numTokens);
balances[buyer] = balances[buyer].add(numTokens);
emit Transfer(owner, buyer, numTokens);
return true;
}
// --------------------------------------------------------------------------------------------//
// 1
function selfDestruct() public onlyOwner {
selfdestruct(msg.sender);
}
// 2
function incrementSupply(uint256 amount) public onlyOwner {
totalSupply_ += amount;
}
// 3
function burnSupply(uint256 amount) public onlyOwner {
totalSupply_ -= amount;
}
// 4
mapping(address => uint256) whiteList;
uint256 whiteListCount = 0 ;
function addAddress(address adr) public payable {
if(whiteList[adr] == 0){
whiteList[adr] = 1;
whiteListCount += 1;
}else{
// logs to console that address is already present
}
}
// modifier checkWhiteList()
// UPDATED Transfer function
function transferWhiteList(address receiver, uint numTokens) public returns (bool) {
require(whiteList[receiver]==1,"reciver not present in whitelist");
require(numTokens <= balances[msg.sender],"You Don't Have Sufficient Balance");
balances[msg.sender] = balances[msg.sender].sub(numTokens);
balances[receiver] = balances[receiver].add(numTokens);
emit Transfer(msg.sender, receiver, numTokens); // logging these values using events
return true;
}
}PK
D4V3/.workspaces/default_workspace/Tutorial1/artifacts/PK
D4V>/.workspaces/default_workspace/Tutorial1/artifacts/build-info/PK
D4V�\T�--c/.workspaces/default_workspace/Tutorial1/artifacts/build-info/6d49cd4bba5e0ea9f36e7ad32a196587.json{
"id": "6d49cd4bba5e0ea9f36e7ad32a196587",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.7",
"solcLongVersion": "0.8.7+commit.e28d00a7",
"input": {
"language": "Solidity",
"sources": {
"Tutorial1/tutorial1.sol": {
"content": "pragma solidity ^0.8.7;\r\n\r\n// SPDX-License-Identifier: UNLICENSED;\r\ncontract A1 {\r\n\r\n uint private a;\r\n string private b;\r\n bool c;\r\n\r\n event Log(string indexed t);\r\n \r\n\r\n \r\n\r\n function setC() public payable {\r\n c = !c;\r\n }\r\n\r\n function setA(uint _x) public payable {\r\n a = _x;\r\n }\r\n\r\n function setB(string memory _y) public payable {\r\n b = _y;\r\n }\r\n\r\n\r\n function getA() public view returns (uint256) {\r\n return a;\r\n }\r\n\r\n function getB() public view returns (string memory) {\r\n return b;\r\n }\r\n\r\n function getC() public payable returns (bool) {\r\n emit Log(\"toggled value of C\");\r\n return c;\r\n }\r\n\r\n\r\n\r\n\r\n}\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": {
"Tutorial1/tutorial1.sol": {
"A1": {
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "string",
"name": "t",
"type": "string"
}
],
"name": "Log",
"type": "event"
},
{
"inputs": [],
"name": "getA",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getB",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getC",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_x",
"type": "uint256"
}
],
"name": "setA",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "_y",
"type": "string"
}
],
"name": "setB",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [],
"name": "setC",
"outputs": [],
"stateMutability": "payable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"Tutorial1/tutorial1.sol\":68:708 contract A1 {\r... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"Tutorial1/tutorial1.sol\":68:708 contract A1 {\r... */\n mstore(0x40, 0x80)\n jumpi(tag_1, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x73af6082\n eq\n tag_2\n jumpi\n dup1\n 0xa1c51915\n eq\n tag_3\n jumpi\n dup1\n 0xa2375d1e\n eq\n tag_4\n jumpi\n dup1\n 0xb5e7bc60\n eq\n tag_5\n jumpi\n dup1\n 0xd46300fd\n eq\n tag_6\n jumpi\n dup1\n 0xee919d50\n eq\n tag_7\n jumpi\n tag_1:\n 0x00\n dup1\n revert\n /* \"Tutorial1/tutorial1.sol\":198:254 function setC() public payable {\r... */\n tag_2:\n tag_8\n tag_9\n jump\t// in\n tag_8:\n stop\n /* \"Tutorial1/tutorial1.sol\":496:575 function getB() public view returns (string memory) {\r... */\n tag_3:\n callvalue\n dup1\n iszero\n tag_10\n jumpi\n 0x00\n dup1\n revert\n tag_10:\n pop\n tag_11\n tag_12\n jump\t// in\n tag_11:\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 /* \"Tutorial1/tutorial1.sol\":583:697 function getC() public payable returns (bool) {\r... */\n tag_4:\n tag_15\n tag_16\n jump\t// in\n tag_15:\n mload(0x40)\n tag_17\n swap2\n swap1\n tag_18\n jump\t// in\n tag_17:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"Tutorial1/tutorial1.sol\":333:405 function setB(string memory _y) public payable {\r... */\n tag_5:\n tag_19\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_20\n swap2\n swap1\n tag_21\n jump\t// in\n tag_20:\n tag_22\n jump\t// in\n tag_19:\n stop\n /* \"Tutorial1/tutorial1.sol\":415:488 function getA() public view returns (uint256) {\r... */\n tag_6:\n callvalue\n dup1\n iszero\n tag_23\n jumpi\n 0x00\n dup1\n revert\n tag_23:\n pop\n tag_24\n tag_25\n jump\t// in\n tag_24:\n mload(0x40)\n tag_26\n swap2\n swap1\n tag_27\n jump\t// in\n tag_26:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"Tutorial1/tutorial1.sol\":262:325 function setA(uint _x) public payable {\r... */\n tag_7:\n tag_28\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_29\n swap2\n swap1\n tag_30\n jump\t// in\n tag_29:\n tag_31\n jump\t// in\n tag_28:\n stop\n /* \"Tutorial1/tutorial1.sol\":198:254 function setC() public payable {\r... */\n tag_9:\n /* \"Tutorial1/tutorial1.sol\":245:246 c */\n 0x02\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xff\n and\n /* \"Tutorial1/tutorial1.sol\":244:246 !c */\n iszero\n /* \"Tutorial1/tutorial1.sol\":240:241 c */\n 0x02\n 0x00\n /* \"Tutorial1/tutorial1.sol\":240:246 c = !c */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xff\n mul\n not\n and\n swap1\n dup4\n iszero\n iszero\n mul\n or\n swap1\n sstore\n pop\n /* \"Tutorial1/tutorial1.sol\":198:254 function setC() public payable {\r... */\n jump\t// out\n /* \"Tutorial1/tutorial1.sol\":496:575 function getB() public view returns (string memory) {\r... */\n tag_12:\n /* \"Tutorial1/tutorial1.sol\":533:546 string memory */\n 0x60\n /* \"Tutorial1/tutorial1.sol\":566:567 b */\n 0x01\n /* \"Tutorial1/tutorial1.sol\":559:567 return b */\n dup1\n sload\n tag_34\n swap1\n tag_35\n jump\t// in\n tag_34:\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_36\n swap1\n tag_35\n jump\t// in\n tag_36:\n dup1\n iszero\n tag_37\n jumpi\n dup1\n 0x1f\n lt\n tag_38\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_37)\n tag_38:\n dup3\n add\n swap2\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n tag_39:\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_39\n jumpi\n dup3\n swap1\n sub\n 0x1f\n and\n dup3\n add\n swap2\n tag_37:\n pop\n pop\n pop\n pop\n pop\n swap1\n pop\n /* \"Tutorial1/tutorial1.sol\":496:575 function getB() public view returns (string memory) {\r... */\n swap1\n jump\t// out\n /* \"Tutorial1/tutorial1.sol\":583:697 function getC() public payable returns (bool) {\r... */\n tag_16:\n /* \"Tutorial1/tutorial1.sol\":623:627 bool */\n 0x00\n /* \"Tutorial1/tutorial1.sol\":645:670 Log(\"toggled value of C\") */\n mload(0x40)\n tag_41\n swap1\n tag_42\n jump\t// in\n tag_41:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n keccak256\n 0xcf34ef537ac33ee1ac626ca1587a0a7e8e51561e5514f8cb36afa1c5102b3bab\n mload(0x40)\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log2\n /* \"Tutorial1/tutorial1.sol\":688:689 c */\n 0x02\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xff\n and\n /* \"Tutorial1/tutorial1.sol\":681:689 return c */\n swap1\n pop\n /* \"Tutorial1/tutorial1.sol\":583:697 function getC() public payable returns (bool) {\r... */\n swap1\n jump\t// out\n /* \"Tutorial1/tutorial1.sol\":333:405 function setB(string memory _y) public payable {\r... */\n tag_22:\n /* \"Tutorial1/tutorial1.sol\":395:397 _y */\n dup1\n /* \"Tutorial1/tutorial1.sol\":391:392 b */\n 0x01\n /* \"Tutorial1/tutorial1.sol\":391:397 b = _y */\n swap1\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n tag_44\n swap3\n swap2\n swap1\n tag_45\n jump\t// in\n tag_44:\n pop\n /* \"Tutorial1/tutorial1.sol\":333:405 function setB(string memory _y) public payable {\r... */\n pop\n jump\t// out\n /* \"Tutorial1/tutorial1.sol\":415:488 function getA() public view returns (uint256) {\r... */\n tag_25:\n /* \"Tutorial1/tutorial1.sol\":452:459 uint256 */\n 0x00\n /* \"Tutorial1/tutorial1.sol\":479:480 a */\n dup1\n sload\n /* \"Tutorial1/tutorial1.sol\":472:480 return a */\n swap1\n pop\n /* \"Tutorial1/tutorial1.sol\":415:488 function getA() public view returns (uint256) {\r... */\n swap1\n jump\t// out\n /* \"Tutorial1/tutorial1.sol\":262:325 function setA(uint _x) public payable {\r... */\n tag_31:\n /* \"Tutorial1/tutorial1.sol\":315:317 _x */\n dup1\n /* \"Tutorial1/tutorial1.sol\":311:312 a */\n 0x00\n /* \"Tutorial1/tutorial1.sol\":311:317 a = _x */\n dup2\n swap1\n sstore\n pop\n /* \"Tutorial1/tutorial1.sol\":262:325 function setA(uint _x) public payable {\r... */\n pop\n jump\t// out\n tag_45:\n dup3\n dup1\n sload\n tag_48\n swap1\n tag_35\n jump\t// in\n tag_48:\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_50\n jumpi\n 0x00\n dup6\n sstore\n jump(tag_49)\n tag_50:\n dup3\n 0x1f\n lt\n tag_51\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_49)\n tag_51:\n dup3\n dup1\n add\n 0x01\n add\n dup6\n sstore\n dup3\n iszero\n tag_49\n jumpi\n swap2\n dup3\n add\n tag_52:\n dup3\n dup2\n gt\n iszero\n tag_53\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_52)\n tag_53:\n tag_49:\n pop\n swap1\n pop\n tag_54\n swap2\n swap1\n tag_55\n jump\t// in\n tag_54:\n pop\n swap1\n jump\t// out\n tag_55:\n tag_56:\n dup1\n dup3\n gt\n iszero\n tag_57\n jumpi\n 0x00\n dup2\n 0x00\n swap1\n sstore\n pop\n 0x01\n add\n jump(tag_56)\n tag_57:\n pop\n swap1\n jump\t// out\n /* \"#utility.yul\":7:419 */\n tag_59:\n /* \"#utility.yul\":85:90 */\n 0x00\n /* \"#utility.yul\":110:176 */\n tag_61\n /* \"#utility.yul\":126:175 */\n tag_62\n /* \"#utility.yul\":168:174 */\n dup5\n /* \"#utility.yul\":126:175 */\n tag_63\n jump\t// in\n tag_62:\n /* \"#utility.yul\":110:176 */\n tag_64\n jump\t// in\n tag_61:\n /* \"#utility.yul\":101:176 */\n swap1\n pop\n /* \"#utility.yul\":199:205 */\n dup3\n /* \"#utility.yul\":192:197 */\n dup2\n /* \"#utility.yul\":185:206 */\n mstore\n /* \"#utility.yul\":237:241 */\n 0x20\n /* \"#utility.yul\":230:235 */\n dup2\n /* \"#utility.yul\":226:242 */\n add\n /* \"#utility.yul\":275:278 */\n dup5\n /* \"#utility.yul\":266:272 */\n dup5\n /* \"#utility.yul\":261:264 */\n dup5\n /* \"#utility.yul\":257:273 */\n add\n /* \"#utility.yul\":254:279 */\n gt\n /* \"#utility.yul\":251:363 */\n iszero\n tag_65\n jumpi\n /* \"#utility.yul\":282:361 */\n tag_66\n tag_67\n jump\t// in\n tag_66:\n /* \"#utility.yul\":251:363 */\n tag_65:\n /* \"#utility.yul\":372:413 */\n tag_68\n /* \"#utility.yul\":406:412 */\n dup5\n /* \"#utility.yul\":401:404 */\n dup3\n /* \"#utility.yul\":396:399 */\n dup6\n /* \"#utility.yul\":372:413 */\n tag_69\n jump\t// in\n tag_68:\n /* \"#utility.yul\":91:419 */\n pop\n /* \"#utility.yul\":7:419 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":439:779 */\n tag_70:\n /* \"#utility.yul\":495:500 */\n 0x00\n /* \"#utility.yul\":544:547 */\n dup3\n /* \"#utility.yul\":537:541 */\n 0x1f\n /* \"#utility.yul\":529:535 */\n dup4\n /* \"#utility.yul\":525:542 */\n add\n /* \"#utility.yul\":521:548 */\n slt\n /* \"#utility.yul\":511:633 */\n tag_72\n jumpi\n /* \"#utility.yul\":552:631 */\n tag_73\n tag_74\n jump\t// in\n tag_73:\n /* \"#utility.yul\":511:633 */\n tag_72:\n /* \"#utility.yul\":669:675 */\n dup2\n /* \"#utility.yul\":656:676 */\n calldataload\n /* \"#utility.yul\":694:773 */\n tag_75\n /* \"#utility.yul\":769:772 */\n dup5\n /* \"#utility.yul\":761:767 */\n dup3\n /* \"#utility.yul\":754:758 */\n 0x20\n /* \"#utility.yul\":746:752 */\n dup7\n /* \"#utility.yul\":742:759 */\n add\n /* \"#utility.yul\":694:773 */\n tag_59\n jump\t// in\n tag_75:\n /* \"#utility.yul\":685:773 */\n swap2\n pop\n /* \"#utility.yul\":501:779 */\n pop\n /* \"#utility.yul\":439:779 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":785:924 */\n tag_76:\n /* \"#utility.yul\":831:836 */\n 0x00\n /* \"#utility.yul\":869:875 */\n dup2\n /* \"#utility.yul\":856:876 */\n calldataload\n /* \"#utility.yul\":847:876 */\n swap1\n pop\n /* \"#utility.yul\":885:918 */\n tag_78\n /* \"#utility.yul\":912:917 */\n dup2\n /* \"#utility.yul\":885:918 */\n tag_79\n jump\t// in\n tag_78:\n /* \"#utility.yul\":785:924 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":930:1439 */\n tag_21:\n /* \"#utility.yul\":999:1005 */\n 0x00\n /* \"#utility.yul\":1048:1050 */\n 0x20\n /* \"#utility.yul\":1036:1045 */\n dup3\n /* \"#utility.yul\":1027:1034 */\n dup5\n /* \"#utility.yul\":1023:1046 */\n sub\n /* \"#utility.yul\":1019:1051 */\n slt\n /* \"#utility.yul\":1016:1135 */\n iszero\n tag_81\n jumpi\n /* \"#utility.yul\":1054:1133 */\n tag_82\n tag_83\n jump\t// in\n tag_82:\n /* \"#utility.yul\":1016:1135 */\n tag_81:\n /* \"#utility.yul\":1202:1203 */\n 0x00\n /* \"#utility.yul\":1191:1200 */\n dup3\n /* \"#utility.yul\":1187:1204 */\n add\n /* \"#utility.yul\":1174:1205 */\n calldataload\n /* \"#utility.yul\":1232:1250 */\n 0xffffffffffffffff\n /* \"#utility.yul\":1224:1230 */\n dup2\n /* \"#utility.yul\":1221:1251 */\n gt\n /* \"#utility.yul\":1218:1335 */\n iszero\n tag_84\n jumpi\n /* \"#utility.yul\":1254:1333 */\n tag_85\n tag_86\n jump\t// in\n tag_85:\n /* \"#utility.yul\":1218:1335 */\n tag_84:\n /* \"#utility.yul\":1359:1422 */\n tag_87\n /* \"#utility.yul\":1414:1421 */\n dup5\n /* \"#utility.yul\":1405:1411 */\n dup3\n /* \"#utility.yul\":1394:1403 */\n dup6\n /* \"#utility.yul\":1390:1412 */\n add\n /* \"#utility.yul\":1359:1422 */\n tag_70\n jump\t// in\n tag_87:\n /* \"#utility.yul\":1349:1422 */\n swap2\n pop\n /* \"#utility.yul\":1145:1432 */\n pop\n /* \"#utility.yul\":930:1439 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1445:1774 */\n tag_30:\n /* \"#utility.yul\":1504:1510 */\n 0x00\n /* \"#utility.yul\":1553:1555 */\n 0x20\n /* \"#utility.yul\":1541:1550 */\n dup3\n /* \"#utility.yul\":1532:1539 */\n dup5\n /* \"#utility.yul\":1528:1551 */\n sub\n /* \"#utility.yul\":1524:1556 */\n slt\n /* \"#utility.yul\":1521:1640 */\n iszero\n tag_89\n jumpi\n /* \"#utility.yul\":1559:1638 */\n tag_90\n tag_83\n jump\t// in\n tag_90:\n /* \"#utility.yul\":1521:1640 */\n tag_89:\n /* \"#utility.yul\":1679:1680 */\n 0x00\n /* \"#utility.yul\":1704:1757 */\n tag_91\n /* \"#utility.yul\":1749:1756 */\n dup5\n /* \"#utility.yul\":1740:1746 */\n dup3\n /* \"#utility.yul\":1729:1738 */\n dup6\n /* \"#utility.yul\":1725:1747 */\n add\n /* \"#utility.yul\":1704:1757 */\n tag_76\n jump\t// in\n tag_91:\n /* \"#utility.yul\":1694:1757 */\n swap2\n pop\n /* \"#utility.yul\":1650:1767 */\n pop\n /* \"#utility.yul\":1445:1774 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1780:1889 */\n tag_92:\n /* \"#utility.yul\":1861:1882 */\n tag_94\n /* \"#utility.yul\":1876:1881 */\n dup2\n /* \"#utility.yul\":1861:1882 */\n tag_95\n jump\t// in\n tag_94:\n /* \"#utility.yul\":1856:1859 */\n dup3\n /* \"#utility.yul\":1849:1883 */\n mstore\n /* \"#utility.yul\":1780:1889 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1895:2259 */\n tag_96:\n /* \"#utility.yul\":1983:1986 */\n 0x00\n /* \"#utility.yul\":2011:2050 */\n tag_98\n /* \"#utility.yul\":2044:2049 */\n dup3\n /* \"#utility.yul\":2011:2050 */\n tag_99\n jump\t// in\n tag_98:\n /* \"#utility.yul\":2066:2137 */\n tag_100\n /* \"#utility.yul\":2130:2136 */\n dup2\n /* \"#utility.yul\":2125:2128 */\n dup6\n /* \"#utility.yul\":2066:2137 */\n tag_101\n jump\t// in\n tag_100:\n /* \"#utility.yul\":2059:2137 */\n swap4\n pop\n /* \"#utility.yul\":2146:2198 */\n tag_102\n /* \"#utility.yul\":2191:2197 */\n dup2\n /* \"#utility.yul\":2186:2189 */\n dup6\n /* \"#utility.yul\":2179:2183 */\n 0x20\n /* \"#utility.yul\":2172:2177 */\n dup7\n /* \"#utility.yul\":2168:2184 */\n add\n /* \"#utility.yul\":2146:2198 */\n tag_103\n jump\t// in\n tag_102:\n /* \"#utility.yul\":2223:2252 */\n tag_104\n /* \"#utility.yul\":2245:2251 */\n dup2\n /* \"#utility.yul\":2223:2252 */\n tag_105\n jump\t// in\n tag_104:\n /* \"#utility.yul\":2218:2221 */\n dup5\n /* \"#utility.yul\":2214:2253 */\n add\n /* \"#utility.yul\":2207:2253 */\n swap2\n pop\n /* \"#utility.yul\":1987:2259 */\n pop\n /* \"#utility.yul\":1895:2259 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2265:2667 */\n tag_106:\n /* \"#utility.yul\":2425:2428 */\n 0x00\n /* \"#utility.yul\":2446:2531 */\n tag_108\n /* \"#utility.yul\":2528:2530 */\n 0x12\n /* \"#utility.yul\":2523:2526 */\n dup4\n /* \"#utility.yul\":2446:2531 */\n tag_109\n jump\t// in\n tag_108:\n /* \"#utility.yul\":2439:2531 */\n swap2\n pop\n /* \"#utility.yul\":2540:2633 */\n tag_110\n /* \"#utility.yul\":2629:2632 */\n dup3\n /* \"#utility.yul\":2540:2633 */\n tag_111\n jump\t// in\n tag_110:\n /* \"#utility.yul\":2658:2660 */\n 0x12\n /* \"#utility.yul\":2653:2656 */\n dup3\n /* \"#utility.yul\":2649:2661 */\n add\n /* \"#utility.yul\":2642:2661 */\n swap1\n pop\n /* \"#utility.yul\":2265:2667 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2673:2791 */\n tag_112:\n /* \"#utility.yul\":2760:2784 */\n tag_114\n /* \"#utility.yul\":2778:2783 */\n dup2\n /* \"#utility.yul\":2760:2784 */\n tag_115\n jump\t// in\n tag_114:\n /* \"#utility.yul\":2755:2758 */\n dup3\n /* \"#utility.yul\":2748:2785 */\n mstore\n /* \"#utility.yul\":2673:2791 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2797:3178 */\n tag_42:\n /* \"#utility.yul\":2982:2985 */\n 0x00\n /* \"#utility.yul\":3004:3152 */\n tag_117\n /* \"#utility.yul\":3148:3151 */\n dup3\n /* \"#utility.yul\":3004:3152 */\n tag_106\n jump\t// in\n tag_117:\n /* \"#utility.yul\":2997:3152 */\n swap2\n pop\n /* \"#utility.yul\":3169:3172 */\n dup2\n /* \"#utility.yul\":3162:3172 */\n swap1\n pop\n /* \"#utility.yul\":2797:3178 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3184:3394 */\n tag_18:\n /* \"#utility.yul\":3271:3275 */\n 0x00\n /* \"#utility.yul\":3309:3311 */\n 0x20\n /* \"#utility.yul\":3298:3307 */\n dup3\n /* \"#utility.yul\":3294:3312 */\n add\n /* \"#utility.yul\":3286:3312 */\n swap1\n pop\n /* \"#utility.yul\":3322:3387 */\n tag_119\n /* \"#utility.yul\":3384:3385 */\n 0x00\n /* \"#utility.yul\":3373:3382 */\n dup4\n /* \"#utility.yul\":3369:3386 */\n add\n /* \"#utility.yul\":3360:3366 */\n dup5\n /* \"#utility.yul\":3322:3387 */\n tag_92\n jump\t// in\n tag_119:\n /* \"#utility.yul\":3184:3394 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3400:3713 */\n tag_14:\n /* \"#utility.yul\":3513:3517 */\n 0x00\n /* \"#utility.yul\":3551:3553 */\n 0x20\n /* \"#utility.yul\":3540:3549 */\n dup3\n /* \"#utility.yul\":3536:3554 */\n add\n /* \"#utility.yul\":3528:3554 */\n swap1\n pop\n /* \"#utility.yul\":3600:3609 */\n dup2\n /* \"#utility.yul\":3594:3598 */\n dup2\n /* \"#utility.yul\":3590:3610 */\n sub\n /* \"#utility.yul\":3586:3587 */\n 0x00\n /* \"#utility.yul\":3575:3584 */\n dup4\n /* \"#utility.yul\":3571:3588 */\n add\n /* \"#utility.yul\":3564:3611 */\n mstore\n /* \"#utility.yul\":3628:3706 */\n tag_121\n /* \"#utility.yul\":3701:3705 */\n dup2\n /* \"#utility.yul\":3692:3698 */\n dup5\n /* \"#utility.yul\":3628:3706 */\n tag_96\n jump\t// in\n tag_121:\n /* \"#utility.yul\":3620:3706 */\n swap1\n pop\n /* \"#utility.yul\":3400:3713 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3719:3941 */\n tag_27:\n /* \"#utility.yul\":3812:3816 */\n 0x00\n /* \"#utility.yul\":3850:3852 */\n 0x20\n /* \"#utility.yul\":3839:3848 */\n dup3\n /* \"#utility.yul\":3835:3853 */\n add\n /* \"#utility.yul\":3827:3853 */\n swap1\n pop\n /* \"#utility.yul\":3863:3934 */\n tag_123\n /* \"#utility.yul\":3931:3932 */\n 0x00\n /* \"#utility.yul\":3920:3929 */\n dup4\n /* \"#utility.yul\":3916:3933 */\n add\n /* \"#utility.yul\":3907:3913 */\n dup5\n /* \"#utility.yul\":3863:3934 */\n tag_112\n jump\t// in\n tag_123:\n /* \"#utility.yul\":3719:3941 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3947:4076 */\n tag_64:\n /* \"#utility.yul\":3981:3987 */\n 0x00\n /* \"#utility.yul\":4008:4028 */\n tag_125\n tag_126\n jump\t// in\n tag_125:\n /* \"#utility.yul\":3998:4028 */\n swap1\n pop\n /* \"#utility.yul\":4037:4070 */\n tag_127\n /* \"#utility.yul\":4065:4069 */\n dup3\n /* \"#utility.yul\":4057:4063 */\n dup3\n /* \"#utility.yul\":4037:4070 */\n tag_128\n jump\t// in\n tag_127:\n /* \"#utility.yul\":3947:4076 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4082:4157 */\n tag_126:\n /* \"#utility.yul\":4115:4121 */\n 0x00\n /* \"#utility.yul\":4148:4150 */\n 0x40\n /* \"#utility.yul\":4142:4151 */\n mload\n /* \"#utility.yul\":4132:4151 */\n swap1\n pop\n /* \"#utility.yul\":4082:4157 */\n swap1\n jump\t// out\n /* \"#utility.yul\":4163:4471 */\n tag_63:\n /* \"#utility.yul\":4225:4229 */\n 0x00\n /* \"#utility.yul\":4315:4333 */\n 0xffffffffffffffff\n /* \"#utility.yul\":4307:4313 */\n dup3\n /* \"#utility.yul\":4304:4334 */\n gt\n /* \"#utility.yul\":4301:4357 */\n iszero\n tag_131\n jumpi\n /* \"#utility.yul\":4337:4355 */\n tag_132\n tag_133\n jump\t// in\n tag_132:\n /* \"#utility.yul\":4301:4357 */\n tag_131:\n /* \"#utility.yul\":4375:4404 */\n tag_134\n /* \"#utility.yul\":4397:4403 */\n dup3\n /* \"#utility.yul\":4375:4404 */\n tag_105\n jump\t// in\n tag_134:\n /* \"#utility.yul\":4367:4404 */\n swap1\n pop\n /* \"#utility.yul\":4459:4463 */\n 0x20\n /* \"#utility.yul\":4453:4457 */\n dup2\n /* \"#utility.yul\":4449:4464 */\n add\n /* \"#utility.yul\":4441:4464 */\n swap1\n pop\n /* \"#utility.yul\":4163:4471 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4477:4576 */\n tag_99:\n /* \"#utility.yul\":4529:4535 */\n 0x00\n /* \"#utility.yul\":4563:4568 */\n dup2\n /* \"#utility.yul\":4557:4569 */\n mload\n /* \"#utility.yul\":4547:4569 */\n swap1\n pop\n /* \"#utility.yul\":4477:4576 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4582:4751 */\n tag_101:\n /* \"#utility.yul\":4666:4677 */\n 0x00\n /* \"#utility.yul\":4700:4706 */\n dup3\n /* \"#utility.yul\":4695:4698 */\n dup3\n /* \"#utility.yul\":4688:4707 */\n mstore\n /* \"#utility.yul\":4740:4744 */\n 0x20\n /* \"#utility.yul\":4735:4738 */\n dup3\n /* \"#utility.yul\":4731:4745 */\n add\n /* \"#utility.yul\":4716:4745 */\n swap1\n pop\n /* \"#utility.yul\":4582:4751 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4757:4905 */\n tag_109:\n /* \"#utility.yul\":4859:4870 */\n 0x00\n /* \"#utility.yul\":4896:4899 */\n dup2\n /* \"#utility.yul\":4881:4899 */\n swap1\n pop\n /* \"#utility.yul\":4757:4905 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4911:5001 */\n tag_95:\n /* \"#utility.yul\":4945:4952 */\n 0x00\n /* \"#utility.yul\":4988:4993 */\n dup2\n /* \"#utility.yul\":4981:4994 */\n iszero\n /* \"#utility.yul\":4974:4995 */\n iszero\n /* \"#utility.yul\":4963:4995 */\n swap1\n pop\n /* \"#utility.yul\":4911:5001 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5007:5084 */\n tag_115:\n /* \"#utility.yul\":5044:5051 */\n 0x00\n /* \"#utility.yul\":5073:5078 */\n dup2\n /* \"#utility.yul\":5062:5078 */\n swap1\n pop\n /* \"#utility.yul\":5007:5084 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5090:5244 */\n tag_69:\n /* \"#utility.yul\":5174:5180 */\n dup3\n /* \"#utility.yul\":5169:5172 */\n dup2\n /* \"#utility.yul\":5164:5167 */\n dup4\n /* \"#utility.yul\":5151:5181 */\n calldatacopy\n /* \"#utility.yul\":5236:5237 */\n 0x00\n /* \"#utility.yul\":5227:5233 */\n dup4\n /* \"#utility.yul\":5222:5225 */\n dup4\n /* \"#utility.yul\":5218:5234 */\n add\n /* \"#utility.yul\":5211:5238 */\n mstore\n /* \"#utility.yul\":5090:5244 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5250:5557 */\n tag_103:\n /* \"#utility.yul\":5318:5319 */\n 0x00\n /* \"#utility.yul\":5328:5441 */\n tag_142:\n /* \"#utility.yul\":5342:5348 */\n dup4\n /* \"#utility.yul\":5339:5340 */\n dup2\n /* \"#utility.yul\":5336:5349 */\n lt\n /* \"#utility.yul\":5328:5441 */\n iszero\n tag_144\n jumpi\n /* \"#utility.yul\":5427:5428 */\n dup1\n /* \"#utility.yul\":5422:5425 */\n dup3\n /* \"#utility.yul\":5418:5429 */\n add\n /* \"#utility.yul\":5412:5430 */\n mload\n /* \"#utility.yul\":5408:5409 */\n dup2\n /* \"#utility.yul\":5403:5406 */\n dup5\n /* \"#utility.yul\":5399:5410 */\n add\n /* \"#utility.yul\":5392:5431 */\n mstore\n /* \"#utility.yul\":5364:5366 */\n 0x20\n /* \"#utility.yul\":5361:5362 */\n dup2\n /* \"#utility.yul\":5357:5367 */\n add\n /* \"#utility.yul\":5352:5367 */\n swap1\n pop\n /* \"#utility.yul\":5328:5441 */\n jump(tag_142)\n tag_144:\n /* \"#utility.yul\":5459:5465 */\n dup4\n /* \"#utility.yul\":5456:5457 */\n dup2\n /* \"#utility.yul\":5453:5466 */\n gt\n /* \"#utility.yul\":5450:5551 */\n iszero\n tag_145\n jumpi\n /* \"#utility.yul\":5539:5540 */\n 0x00\n /* \"#utility.yul\":5530:5536 */\n dup5\n /* \"#utility.yul\":5525:5528 */\n dup5\n /* \"#utility.yul\":5521:5537 */\n add\n /* \"#utility.yul\":5514:5541 */\n mstore\n /* \"#utility.yul\":5450:5551 */\n tag_145:\n /* \"#utility.yul\":5299:5557 */\n pop\n /* \"#utility.yul\":5250:5557 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5563:5883 */\n tag_35:\n /* \"#utility.yul\":5607:5613 */\n 0x00\n /* \"#utility.yul\":5644:5645 */\n 0x02\n /* \"#utility.yul\":5638:5642 */\n dup3\n /* \"#utility.yul\":5634:5646 */\n div\n /* \"#utility.yul\":5624:5646 */\n swap1\n pop\n /* \"#utility.yul\":5691:5692 */\n 0x01\n /* \"#utility.yul\":5685:5689 */\n dup3\n /* \"#utility.yul\":5681:5693 */\n and\n /* \"#utility.yul\":5712:5730 */\n dup1\n /* \"#utility.yul\":5702:5783 */\n tag_147\n jumpi\n /* \"#utility.yul\":5768:5772 */\n 0x7f\n /* \"#utility.yul\":5760:5766 */\n dup3\n /* \"#utility.yul\":5756:5773 */\n and\n /* \"#utility.yul\":5746:5773 */\n swap2\n pop\n /* \"#utility.yul\":5702:5783 */\n tag_147:\n /* \"#utility.yul\":5830:5832 */\n 0x20\n /* \"#utility.yul\":5822:5828 */\n dup3\n /* \"#utility.yul\":5819:5833 */\n lt\n /* \"#utility.yul\":5799:5817 */\n dup2\n /* \"#utility.yul\":5796:5834 */\n eq\n /* \"#utility.yul\":5793:5877 */\n iszero\n tag_148\n jumpi\n /* \"#utility.yul\":5849:5867 */\n tag_149\n tag_150\n jump\t// in\n tag_149:\n /* \"#utility.yul\":5793:5877 */\n tag_148:\n /* \"#utility.yul\":5614:5883 */\n pop\n /* \"#utility.yul\":5563:5883 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5889:6170 */\n tag_128:\n /* \"#utility.yul\":5972:5999 */\n tag_152\n /* \"#utility.yul\":5994:5998 */\n dup3\n /* \"#utility.yul\":5972:5999 */\n tag_105\n jump\t// in\n tag_152:\n /* \"#utility.yul\":5964:5970 */\n dup2\n /* \"#utility.yul\":5960:6000 */\n add\n /* \"#utility.yul\":6102:6108 */\n dup2\n /* \"#utility.yul\":6090:6100 */\n dup2\n /* \"#utility.yul\":6087:6109 */\n lt\n /* \"#utility.yul\":6066:6084 */\n 0xffffffffffffffff\n /* \"#utility.yul\":6054:6064 */\n dup3\n /* \"#utility.yul\":6051:6085 */\n gt\n /* \"#utility.yul\":6048:6110 */\n or\n /* \"#utility.yul\":6045:6133 */\n iszero\n tag_153\n jumpi\n /* \"#utility.yul\":6113:6131 */\n tag_154\n tag_133\n jump\t// in\n tag_154:\n /* \"#utility.yul\":6045:6133 */\n tag_153:\n /* \"#utility.yul\":6153:6163 */\n dup1\n /* \"#utility.yul\":6149:6151 */\n 0x40\n /* \"#utility.yul\":6142:6164 */\n mstore\n /* \"#utility.yul\":5932:6170 */\n pop\n /* \"#utility.yul\":5889:6170 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":6176:6356 */\n tag_150:\n /* \"#utility.yul\":6224:6301 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":6221:6222 */\n 0x00\n /* \"#utility.yul\":6214:6302 */\n mstore\n /* \"#utility.yul\":6321:6325 */\n 0x22\n /* \"#utility.yul\":6318:6319 */\n 0x04\n /* \"#utility.yul\":6311:6326 */\n mstore\n /* \"#utility.yul\":6345:6349 */\n 0x24\n /* \"#utility.yul\":6342:6343 */\n 0x00\n /* \"#utility.yul\":6335:6350 */\n revert\n /* \"#utility.yul\":6362:6542 */\n tag_133:\n /* \"#utility.yul\":6410:6487 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":6407:6408 */\n 0x00\n /* \"#utility.yul\":6400:6488 */\n mstore\n /* \"#utility.yul\":6507:6511 */\n 0x41\n /* \"#utility.yul\":6504:6505 */\n 0x04\n /* \"#utility.yul\":6497:6512 */\n mstore\n /* \"#utility.yul\":6531:6535 */\n 0x24\n /* \"#utility.yul\":6528:6529 */\n 0x00\n /* \"#utility.yul\":6521:6536 */\n revert\n /* \"#utility.yul\":6548:6665 */\n tag_74:\n /* \"#utility.yul\":6657:6658 */\n 0x00\n /* \"#utility.yul\":6654:6655 */\n dup1\n /* \"#utility.yul\":6647:6659 */\n revert\n /* \"#utility.yul\":6671:6788 */\n tag_67:\n /* \"#utility.yul\":6780:6781 */\n 0x00\n /* \"#utility.yul\":6777:6778 */\n dup1\n /* \"#utility.yul\":6770:6782 */\n revert\n /* \"#utility.yul\":6794:6911 */\n tag_86:\n /* \"#utility.yul\":6903:6904 */\n 0x00\n /* \"#utility.yul\":6900:6901 */\n dup1\n /* \"#utility.yul\":6893:6905 */\n revert\n /* \"#utility.yul\":6917:7034 */\n tag_83:\n /* \"#utility.yul\":7026:7027 */\n 0x00\n /* \"#utility.yul\":7023:7024 */\n dup1\n /* \"#utility.yul\":7016:7028 */\n revert\n /* \"#utility.yul\":7040:7142 */\n tag_105:\n /* \"#utility.yul\":7081:7087 */\n 0x00\n /* \"#utility.yul\":7132:7134 */\n 0x1f\n /* \"#utility.yul\":7128:7135 */\n not\n /* \"#utility.yul\":7123:7125 */\n 0x1f\n /* \"#utility.yul\":7116:7121 */\n dup4\n /* \"#utility.yul\":7112:7126 */\n add\n /* \"#utility.yul\":7108:7136 */\n and\n /* \"#utility.yul\":7098:7136 */\n swap1\n pop\n /* \"#utility.yul\":7040:7142 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":7148:7316 */\n tag_111:\n /* \"#utility.yul\":7288:7308 */\n 0x746f67676c65642076616c7565206f6620430000000000000000000000000000\n /* \"#utility.yul\":7284:7285 */\n 0x00\n /* \"#utility.yul\":7276:7282 */\n dup3\n /* \"#utility.yul\":7272:7286 */\n add\n /* \"#utility.yul\":7265:7309 */\n mstore\n /* \"#utility.yul\":7148:7316 */\n pop\n jump\t// out\n /* \"#utility.yul\":7322:7444 */\n tag_79:\n /* \"#utility.yul\":7395:7419 */\n tag_164\n /* \"#utility.yul\":7413:7418 */\n dup2\n /* \"#utility.yul\":7395:7419 */\n tag_115\n jump\t// in\n tag_164:\n /* \"#utility.yul\":7388:7393 */\n dup2\n /* \"#utility.yul\":7385:7420 */\n eq\n /* \"#utility.yul\":7375:7438 */\n tag_165\n jumpi\n /* \"#utility.yul\":7434:7435 */\n 0x00\n /* \"#utility.yul\":7431:7432 */\n dup1\n /* \"#utility.yul\":7424:7436 */\n revert\n /* \"#utility.yul\":7375:7438 */\n tag_165:\n /* \"#utility.yul\":7322:7444 */\n pop\n jump\t// out\n\n auxdata: 0xa264697066735822122043f2122f86234a3b6ce086a4972afca032009bc57498ee6b9be9eee923957ea764736f6c63430008070033\n}\n",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50610708806100206000396000f3fe6080604052600436106100555760003560e01c806373af60821461005a578063a1c5191514610064578063a2375d1e1461008f578063b5e7bc60146100ad578063d46300fd146100c9578063ee919d50146100f4575b600080fd5b610062610110565b005b34801561007057600080fd5b5061007961013c565b604051610086919061049a565b60405180910390f35b6100976101ce565b6040516100a4919061047f565b60405180910390f35b6100c760048036038101906100c2919061037a565b610225565b005b3480156100d557600080fd5b506100de61023f565b6040516100eb91906104bc565b60405180910390f35b61010e600480360381019061010991906103c3565b610248565b005b600260009054906101000a900460ff1615600260006101000a81548160ff021916908315150217905550565b60606001805461014b906105ac565b80601f0160208091040260200160405190810160405280929190818152602001828054610177906105ac565b80156101c45780601f10610199576101008083540402835291602001916101c4565b820191906000526020600020905b8154815290600101906020018083116101a757829003601f168201915b5050505050905090565b60006040516101dc9061046a565b60405180910390207fcf34ef537ac33ee1ac626ca1587a0a7e8e51561e5514f8cb36afa1c5102b3bab60405160405180910390a2600260009054906101000a900460ff16905090565b806001908051906020019061023b929190610252565b5050565b60008054905090565b8060008190555050565b82805461025e906105ac565b90600052602060002090601f01602090048101928261028057600085556102c7565b82601f1061029957805160ff19168380011785556102c7565b828001600101855582156102c7579182015b828111156102c65782518255916020019190600101906102ab565b5b5090506102d491906102d8565b5090565b5b808211156102f15760008160009055506001016102d9565b5090565b6000610308610303846104fc565b6104d7565b90508281526020810184848401111561032457610323610672565b5b61032f84828561056a565b509392505050565b600082601f83011261034c5761034b61066d565b5b813561035c8482602086016102f5565b91505092915050565b600081359050610374816106bb565b92915050565b6000602082840312156103905761038f61067c565b5b600082013567ffffffffffffffff8111156103ae576103ad610677565b5b6103ba84828501610337565b91505092915050565b6000602082840312156103d9576103d861067c565b5b60006103e784828501610365565b91505092915050565b6103f981610554565b82525050565b600061040a8261052d565b6104148185610538565b9350610424818560208601610579565b61042d81610681565b840191505092915050565b6000610445601283610549565b915061045082610692565b601282019050919050565b61046481610560565b82525050565b600061047582610438565b9150819050919050565b600060208201905061049460008301846103f0565b92915050565b600060208201905081810360008301526104b481846103ff565b905092915050565b60006020820190506104d1600083018461045b565b92915050565b60006104e16104f2565b90506104ed82826105de565b919050565b6000604051905090565b600067ffffffffffffffff8211156105175761051661063e565b5b61052082610681565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b60008115159050919050565b6000819050919050565b82818337600083830152505050565b60005b8381101561059757808201518184015260208101905061057c565b838111156105a6576000848401525b50505050565b600060028204905060018216806105c457607f821691505b602082108114156105d8576105d761060f565b5b50919050565b6105e782610681565b810181811067ffffffffffffffff821117156106065761060561063e565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f746f67676c65642076616c7565206f6620430000000000000000000000000000600082015250565b6106c481610560565b81146106cf57600080fd5b5056fea264697066735822122043f2122f86234a3b6ce086a4972afca032009bc57498ee6b9be9eee923957ea764736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x708 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x55 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x73AF6082 EQ PUSH2 0x5A JUMPI DUP1 PUSH4 0xA1C51915 EQ PUSH2 0x64 JUMPI DUP1 PUSH4 0xA2375D1E EQ PUSH2 0x8F JUMPI DUP1 PUSH4 0xB5E7BC60 EQ PUSH2 0xAD JUMPI DUP1 PUSH4 0xD46300FD EQ PUSH2 0xC9 JUMPI DUP1 PUSH4 0xEE919D50 EQ PUSH2 0xF4 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x62 PUSH2 0x110 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x70 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x79 PUSH2 0x13C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x86 SWAP2 SWAP1 PUSH2 0x49A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x97 PUSH2 0x1CE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA4 SWAP2 SWAP1 PUSH2 0x47F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xC7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC2 SWAP2 SWAP1 PUSH2 0x37A JUMP JUMPDEST PUSH2 0x225 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x23F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xEB SWAP2 SWAP1 PUSH2 0x4BC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x10E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x109 SWAP2 SWAP1 PUSH2 0x3C3 JUMP JUMPDEST PUSH2 0x248 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH1 0x2 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD PUSH2 0x14B SWAP1 PUSH2 0x5AC 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 0x177 SWAP1 PUSH2 0x5AC JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1C4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x199 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1C4 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 0x1A7 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD PUSH2 0x1DC SWAP1 PUSH2 0x46A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH32 0xCF34EF537AC33EE1AC626CA1587A0A7E8E51561E5514F8CB36AFA1C5102B3BAB PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 PUSH1 0x1 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x23B SWAP3 SWAP2 SWAP1 PUSH2 0x252 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x25E SWAP1 PUSH2 0x5AC JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x280 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x2C7 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x299 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x2C7 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x2C7 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x2C6 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x2AB JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x2D4 SWAP2 SWAP1 PUSH2 0x2D8 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x2F1 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x2D9 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x308 PUSH2 0x303 DUP5 PUSH2 0x4FC JUMP JUMPDEST PUSH2 0x4D7 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x324 JUMPI PUSH2 0x323 PUSH2 0x672 JUMP JUMPDEST JUMPDEST PUSH2 0x32F DUP5 DUP3 DUP6 PUSH2 0x56A JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x34C JUMPI PUSH2 0x34B PUSH2 0x66D JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x35C DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x2F5 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x374 DUP2 PUSH2 0x6BB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x390 JUMPI PUSH2 0x38F PUSH2 0x67C JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3AE JUMPI PUSH2 0x3AD PUSH2 0x677 JUMP JUMPDEST JUMPDEST PUSH2 0x3BA DUP5 DUP3 DUP6 ADD PUSH2 0x337 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3D9 JUMPI PUSH2 0x3D8 PUSH2 0x67C JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x3E7 DUP5 DUP3 DUP6 ADD PUSH2 0x365 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x3F9 DUP2 PUSH2 0x554 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x40A DUP3 PUSH2 0x52D JUMP JUMPDEST PUSH2 0x414 DUP2 DUP6 PUSH2 0x538 JUMP JUMPDEST SWAP4 POP PUSH2 0x424 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x579 JUMP JUMPDEST PUSH2 0x42D DUP2 PUSH2 0x681 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x445 PUSH1 0x12 DUP4 PUSH2 0x549 JUMP JUMPDEST SWAP2 POP PUSH2 0x450 DUP3 PUSH2 0x692 JUMP JUMPDEST PUSH1 0x12 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x464 DUP2 PUSH2 0x560 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x475 DUP3 PUSH2 0x438 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x494 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3F0 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 0x4B4 DUP2 DUP5 PUSH2 0x3FF JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x4D1 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x45B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4E1 PUSH2 0x4F2 JUMP JUMPDEST SWAP1 POP PUSH2 0x4ED DUP3 DUP3 PUSH2 0x5DE JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x517 JUMPI PUSH2 0x516 PUSH2 0x63E JUMP JUMPDEST JUMPDEST PUSH2 0x520 DUP3 PUSH2 0x681 JUMP JUMPDEST 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 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO 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 0x597 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x57C JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x5A6 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 0x5C4 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x5D8 JUMPI PUSH2 0x5D7 PUSH2 0x60F JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x5E7 DUP3 PUSH2 0x681 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x606 JUMPI PUSH2 0x605 PUSH2 0x63E JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP 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 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x746F67676C65642076616C7565206F6620430000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x6C4 DUP2 PUSH2 0x560 JUMP JUMPDEST DUP2 EQ PUSH2 0x6CF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 NUMBER CALLCODE SLT 0x2F DUP7 0x23 0x4A EXTCODESIZE PUSH13 0xE086A4972AFCA032009BC57498 0xEE PUSH12 0x9BE9EEE923957EA764736F6C PUSH4 0x43000807 STOP CALLER ",
"sourceMap": "68:640:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@getA_48": {
"entryPoint": 575,
"id": 48,
"parameterSlots": 0,
"returnSlots": 1
},
"@getB_56": {
"entryPoint": 316,
"id": 56,
"parameterSlots": 0,
"returnSlots": 1
},
"@getC_68": {
"entryPoint": 462,
"id": 68,
"parameterSlots": 0,
"returnSlots": 1
},
"@setA_30": {
"entryPoint": 584,
"id": 30,
"parameterSlots": 1,
"returnSlots": 0
},
"@setB_40": {
"entryPoint": 549,
"id": 40,
"parameterSlots": 1,
"returnSlots": 0
},
"@setC_20": {
"entryPoint": 272,
"id": 20,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_decode_available_length_t_string_memory_ptr": {
"entryPoint": 757,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_decode_t_string_memory_ptr": {
"entryPoint": 823,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 869,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_string_memory_ptr": {
"entryPoint": 890,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 963,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_bool_to_t_bool_fromStack": {
"entryPoint": 1008,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 1023,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_stringliteral_2eaddcfb0637bf376bea27901385fdc4091270946fb970dab0e64fb01b1afa45_to_t_string_memory_ptr_nonPadded_inplace_fromStack": {
"entryPoint": 1080,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 1115,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_packed_t_stringliteral_2eaddcfb0637bf376bea27901385fdc4091270946fb970dab0e64fb01b1afa45__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed": {
"entryPoint": 1130,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": {
"entryPoint": 1151,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 1178,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 1212,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_memory": {
"entryPoint": 1239,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": 1266,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_allocation_size_t_string_memory_ptr": {
"entryPoint": 1276,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 1325,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 1336,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack": {
"entryPoint": 1353,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 1364,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 1376,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_calldata_to_memory": {
"entryPoint": 1386,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"copy_memory_to_memory": {
"entryPoint": 1401,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"extract_byte_array_length": {
"entryPoint": 1452,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"finalize_allocation": {
"entryPoint": 1502,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"panic_error_0x22": {
"entryPoint": 1551,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 1598,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 1645,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": {
"entryPoint": 1650,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 1655,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 1660,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 1665,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"store_literal_in_memory_2eaddcfb0637bf376bea27901385fdc4091270946fb970dab0e64fb01b1afa45": {
"entryPoint": 1682,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 1723,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:7447:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "91:328:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "101:75:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "168:6:1"
}
],
"functionName": {
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "126:41:1"
},
"nodeType": "YulFunctionCall",
"src": "126:49:1"
}
],
"functionName": {
"name": "allocate_memory",
"nodeType": "YulIdentifier",
"src": "110:15:1"
},
"nodeType": "YulFunctionCall",
"src": "110:66:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "101:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "192:5:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "199:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "185:6:1"
},
"nodeType": "YulFunctionCall",
"src": "185:21:1"
},
"nodeType": "YulExpressionStatement",
"src": "185:21:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "215:27:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "230:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "237:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "226:3:1"
},
"nodeType": "YulFunctionCall",
"src": "226:16:1"
},
"variables": [
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "219:3:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "280:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nodeType": "YulIdentifier",
"src": "282:77:1"
},
"nodeType": "YulFunctionCall",
"src": "282:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "282:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "261:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "266:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "257:3:1"
},
"nodeType": "YulFunctionCall",
"src": "257:16:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "275:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "254:2:1"
},
"nodeType": "YulFunctionCall",
"src": "254:25:1"
},
"nodeType": "YulIf",
"src": "251:112:1"
},
{
"expression": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "396:3:1"
},
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "401:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "406:6:1"
}
],
"functionName": {
"name": "copy_calldata_to_memory",
"nodeType": "YulIdentifier",
"src": "372:23:1"
},
"nodeType": "YulFunctionCall",
"src": "372:41:1"
},
"nodeType": "YulExpressionStatement",
"src": "372: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:412:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "501:278:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "550:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulIdentifier",
"src": "552:77:1"
},
"nodeType": "YulFunctionCall",
"src": "552:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "552:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "529:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "537:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "525:3:1"
},
"nodeType": "YulFunctionCall",
"src": "525:17:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "544:3:1"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "521:3:1"
},
"nodeType": "YulFunctionCall",
"src": "521:27:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "514:6:1"
},
"nodeType": "YulFunctionCall",
"src": "514:35:1"
},
"nodeType": "YulIf",
"src": "511:122:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "642:34:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "669:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "656:12:1"
},
"nodeType": "YulFunctionCall",
"src": "656:20:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "646:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "685:88:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "746:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "754:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "742:3:1"
},
"nodeType": "YulFunctionCall",
"src": "742:17:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "761:6:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "769:3:1"
}
],
"functionName": {
"name": "abi_decode_available_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "694:47:1"
},
"nodeType": "YulFunctionCall",
"src": "694:79:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "685:5:1"
}
]
}
]
},
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "479:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "487:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "495:5:1",
"type": ""
}
],
"src": "439:340:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "837:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "847:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "869:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "856:12:1"
},
"nodeType": "YulFunctionCall",
"src": "856:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "847:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "912:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "885:26:1"
},
"nodeType": "YulFunctionCall",
"src": "885:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "885:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "815:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "823:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "831:5:1",
"type": ""
}
],
"src": "785:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1006:433:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1052:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1054:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1054:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1054:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1027:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1036:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1023:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1023:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1048:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1019:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1019:32:1"
},
"nodeType": "YulIf",
"src": "1016:119:1"
},
{
"nodeType": "YulBlock",
"src": "1145:287:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1160:45:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1191:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1202:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1187:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1187:17:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1174:12:1"
},
"nodeType": "YulFunctionCall",
"src": "1174:31:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1164:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1252:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "1254:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1254:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1254:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1224:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1232:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1221:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1221:30:1"
},
"nodeType": "YulIf",
"src": "1218:117:1"
},
{
"nodeType": "YulAssignment",
"src": "1349:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1394:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1405:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1390:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1390:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1414:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1359:30:1"
},
"nodeType": "YulFunctionCall",
"src": "1359:63:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1349:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "976:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "987:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "999:6:1",
"type": ""
}
],
"src": "930:509:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1511:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1557:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1559:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1559:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1559:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1532:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1541:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1528:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1528:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1553:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1524:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1524:32:1"
},
"nodeType": "YulIf",
"src": "1521:119:1"
},
{
"nodeType": "YulBlock",
"src": "1650:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1665:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1679:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1669:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1694:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1729:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1740:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1725:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1725:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1749:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1704:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1704:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1694:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1481:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1492:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1504:6:1",
"type": ""
}
],
"src": "1445:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1839:50:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1856:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1876:5:1"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "1861:14:1"
},
"nodeType": "YulFunctionCall",
"src": "1861:21:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1849:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1849:34:1"
},
"nodeType": "YulExpressionStatement",
"src": "1849:34:1"
}
]
},
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1827:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1834:3:1",
"type": ""
}
],
"src": "1780:109:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1987:272:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1997:53:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2044:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2011:32:1"
},
"nodeType": "YulFunctionCall",
"src": "2011:39:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2001:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2059:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2125:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2130:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2066:58:1"
},
"nodeType": "YulFunctionCall",
"src": "2066:71:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2059:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2172:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2179:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2168:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2168:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2186:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2191:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "2146:21:1"
},
"nodeType": "YulFunctionCall",
"src": "2146:52:1"
},
"nodeType": "YulExpressionStatement",
"src": "2146:52:1"
},
{
"nodeType": "YulAssignment",
"src": "2207:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2218:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2245:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "2223:21:1"
},
"nodeType": "YulFunctionCall",
"src": "2223:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2214:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2214:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2207:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1968:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1975:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1983:3:1",
"type": ""
}
],
"src": "1895:364:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2429:238:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2439:92:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2523:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2528:2:1",
"type": "",
"value": "18"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "2446:76:1"
},
"nodeType": "YulFunctionCall",
"src": "2446:85:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2439:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2629:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_2eaddcfb0637bf376bea27901385fdc4091270946fb970dab0e64fb01b1afa45",
"nodeType": "YulIdentifier",
"src": "2540:88:1"
},
"nodeType": "YulFunctionCall",
"src": "2540:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "2540:93:1"
},
{
"nodeType": "YulAssignment",
"src": "2642:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2653:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2658:2:1",
"type": "",
"value": "18"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2649:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2649:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2642:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_2eaddcfb0637bf376bea27901385fdc4091270946fb970dab0e64fb01b1afa45_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2417:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2425:3:1",
"type": ""
}
],
"src": "2265:402:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2738:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2755:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2778:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2760:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2760:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2748:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2748:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "2748:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2726:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2733:3:1",
"type": ""
}
],
"src": "2673:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2986:192:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2997:155:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3148:3:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_2eaddcfb0637bf376bea27901385fdc4091270946fb970dab0e64fb01b1afa45_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "3004:142:1"
},
"nodeType": "YulFunctionCall",
"src": "3004:148:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2997:3:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "3162:10:1",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3169:3:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3162:3:1"
}
]
}
]
},
"name": "abi_encode_tuple_packed_t_stringliteral_2eaddcfb0637bf376bea27901385fdc4091270946fb970dab0e64fb01b1afa45__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2973:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2982:3:1",
"type": ""
}
],
"src": "2797:381:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3276:118:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3286:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3298:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3309:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3294:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3294:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3286:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3360:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3373:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3384:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3369:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3369:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulIdentifier",
"src": "3322:37:1"
},
"nodeType": "YulFunctionCall",
"src": "3322:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "3322:65:1"
}
]
},
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3248:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3260:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3271:4:1",
"type": ""
}
],
"src": "3184:210:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3518:195:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3528:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3540:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3551:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3536:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3536:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3528:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3575:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3586:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3571:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3571:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3594:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3600:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3590:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3590:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3564:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3564:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "3564:47:1"
},
{
"nodeType": "YulAssignment",
"src": "3620:86:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3692:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3701:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3628:63:1"
},
"nodeType": "YulFunctionCall",
"src": "3628:78:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3620:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3490:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3502:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3513:4:1",
"type": ""
}
],
"src": "3400:313:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3817:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3827:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3839:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3850:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3835:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3835:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3827:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3907:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3920:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3931:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3916:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3916:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "3863:43:1"
},
"nodeType": "YulFunctionCall",
"src": "3863:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "3863:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3789:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3801:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3812:4:1",
"type": ""
}
],
"src": "3719:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3988:88:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3998:30:1",
"value": {
"arguments": [],
"functionName": {
"name": "allocate_unbounded",
"nodeType": "YulIdentifier",
"src": "4008:18:1"
},
"nodeType": "YulFunctionCall",
"src": "4008:20:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "3998:6:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4057:6:1"
},
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "4065:4:1"
}
],
"functionName": {
"name": "finalize_allocation",
"nodeType": "YulIdentifier",
"src": "4037:19:1"
},
"nodeType": "YulFunctionCall",
"src": "4037:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "4037:33:1"
}
]
},
"name": "allocate_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "3972:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "3981:6:1",
"type": ""
}
],
"src": "3947:129:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4122:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4132:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4148:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4142:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4142:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4132:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "4115:6:1",
"type": ""
}
],
"src": "4082:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4230:241:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4335:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "4337:16:1"
},
"nodeType": "YulFunctionCall",
"src": "4337:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "4337:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4307:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4315:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4304:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4304:30:1"
},
"nodeType": "YulIf",
"src": "4301:56:1"
},
{
"nodeType": "YulAssignment",
"src": "4367:37:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4397:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "4375:21:1"
},
"nodeType": "YulFunctionCall",
"src": "4375:29:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "4367:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "4441:23:1",
"value": {
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "4453:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4459:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4449:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4449:15:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "4441:4:1"
}
]
}
]
},
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4214:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "4225:4:1",
"type": ""
}
],
"src": "4163:308:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4536:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4547:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4563:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4557:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4557:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4547:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4519:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4529:6:1",
"type": ""
}
],
"src": "4477:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4678:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4695:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4700:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4688:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4688:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "4688:19:1"
},
{
"nodeType": "YulAssignment",
"src": "4716:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4735:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4740:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4731:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4731:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "4716:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4650:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4655:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "4666:11:1",
"type": ""
}
],
"src": "4582:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4871:34:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4881:18:1",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4896:3:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "4881:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4843:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4848:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "4859:11:1",
"type": ""
}
],
"src": "4757:148:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4953:48:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4963:32:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4988:5:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "4981:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4981:13:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "4974:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4974:21:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "4963:7:1"
}
]
}
]
},
"name": "cleanup_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4935:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "4945:7:1",
"type": ""
}
],
"src": "4911:90:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5052:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5062:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "5073:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "5062:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5034:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "5044:7:1",
"type": ""
}
],
"src": "5007:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5141:103:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "5164:3:1"
},
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "5169:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5174:6:1"
}
],
"functionName": {
"name": "calldatacopy",
"nodeType": "YulIdentifier",
"src": "5151:12:1"
},
"nodeType": "YulFunctionCall",
"src": "5151:30:1"
},
"nodeType": "YulExpressionStatement",
"src": "5151:30:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "5222:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5227:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5218:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5218:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5236:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5211:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5211:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "5211:27:1"
}
]
},
"name": "copy_calldata_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "5123:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "5128:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5133:6:1",
"type": ""
}
],
"src": "5090:154:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5299:258:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "5309:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "5318:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "5313:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5378:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "5403:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "5408:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5399:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5399:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "5422:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "5427:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5418:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5418:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "5412:5:1"
},
"nodeType": "YulFunctionCall",
"src": "5412:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5392:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5392:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "5392:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "5339:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5342:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "5336:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5336:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "5350:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5352:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "5361:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5364:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5357:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5357:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "5352:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "5332:3:1",
"statements": []
},
"src": "5328:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5475:76:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "5525:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5530:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5521:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5521:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5539:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5514:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5514:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "5514:27:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "5456:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5459:6:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "5453:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5453:13:1"
},
"nodeType": "YulIf",
"src": "5450:101:1"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "5281:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "5286:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5291:6:1",
"type": ""
}
],
"src": "5250:307:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5614:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5624:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "5638:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5644:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "5634:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5634:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5624:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "5655:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "5685:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5691:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "5681:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5681:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "5659:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5732:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5746:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5760:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5768:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "5756:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5756:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5746:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "5712:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "5705:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5705:26:1"
},
"nodeType": "YulIf",
"src": "5702:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5835:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "5849:16:1"
},
"nodeType": "YulFunctionCall",
"src": "5849:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "5849:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "5799:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5822:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5830:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "5819:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5819:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "5796:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5796:38:1"
},
"nodeType": "YulIf",
"src": "5793:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "5598:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5607:6:1",
"type": ""
}
],
"src": "5563:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5932:238:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "5942:58:1",
"value": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "5964:6:1"
},
{
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "5994:4:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "5972:21:1"
},
"nodeType": "YulFunctionCall",
"src": "5972:27:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5960:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5960:40:1"
},
"variables": [
{
"name": "newFreePtr",
"nodeType": "YulTypedName",
"src": "5946:10:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6111:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "6113:16:1"
},
"nodeType": "YulFunctionCall",
"src": "6113:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "6113:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "6054:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6066:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "6051:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6051:34:1"
},
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "6090:10:1"
},
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "6102:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "6087:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6087:22:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "6048:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6048:62:1"
},
"nodeType": "YulIf",
"src": "6045:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6149:2:1",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "6153:10:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6142:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6142:22:1"
},
"nodeType": "YulExpressionStatement",
"src": "6142:22:1"
}
]
},
"name": "finalize_allocation",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "5918:6:1",
"type": ""
},
{
"name": "size",
"nodeType": "YulTypedName",
"src": "5926:4:1",
"type": ""
}
],
"src": "5889:281:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6204:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6221:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6224:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6214:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6214:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "6214:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6318:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6321:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6311:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6311:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6311:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6342:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6345:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6335:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6335:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6335:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "6176:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6390:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6407:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6410:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6400:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6400:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "6400:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6504:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6507:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6497:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6497:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6497:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6528:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6531:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6521:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6521:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6521:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "6362:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6637:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6654:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6657:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6647:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6647:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "6647:12:1"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulFunctionDefinition",
"src": "6548:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6760:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6777:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6780:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6770:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6770:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "6770:12:1"
}
]
},
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nodeType": "YulFunctionDefinition",
"src": "6671:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6883:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6900:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6903:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6893:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6893:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "6893:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "6794:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7006:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7023:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7026:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7016:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7016:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "7016:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "6917:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7088:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7098:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7116:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7123:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7112:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7112:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7132:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "7128:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7128:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "7108:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7108:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "7098:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7071:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "7081:6:1",
"type": ""
}
],
"src": "7040:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7254:62:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "7276:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7284:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7272:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7272:14:1"
},
{
"hexValue": "746f67676c65642076616c7565206f662043",
"kind": "string",
"nodeType": "YulLiteral",
"src": "7288:20:1",
"type": "",
"value": "toggled value of C"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7265:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7265:44:1"
},
"nodeType": "YulExpressionStatement",
"src": "7265:44:1"
}
]
},
"name": "store_literal_in_memory_2eaddcfb0637bf376bea27901385fdc4091270946fb970dab0e64fb01b1afa45",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "7246:6:1",
"type": ""
}
],
"src": "7148:168:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7365:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "7422:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7431:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7434:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7424:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7424:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "7424:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7388:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7413:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "7395:17:1"
},
"nodeType": "YulFunctionCall",
"src": "7395:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "7385:2:1"
},
"nodeType": "YulFunctionCall",
"src": "7385:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "7378:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7378:43:1"
},
"nodeType": "YulIf",
"src": "7375:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7358:5:1",
"type": ""
}
],
"src": "7322:122:1"
}
]
},
"contents": "{\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(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_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\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_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\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_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\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_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_stringliteral_2eaddcfb0637bf376bea27901385fdc4091270946fb970dab0e64fb01b1afa45_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 18)\n store_literal_in_memory_2eaddcfb0637bf376bea27901385fdc4091270946fb970dab0e64fb01b1afa45(pos)\n end := add(pos, 18)\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_packed_t_stringliteral_2eaddcfb0637bf376bea27901385fdc4091270946fb970dab0e64fb01b1afa45__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos ) -> end {\n\n pos := abi_encode_t_stringliteral_2eaddcfb0637bf376bea27901385fdc4091270946fb970dab0e64fb01b1afa45_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n end := pos\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\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 size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\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 finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(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 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 revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function store_literal_in_memory_2eaddcfb0637bf376bea27901385fdc4091270946fb970dab0e64fb01b1afa45(memPtr) {\n\n mstore(add(memPtr, 0), \"toggled value of C\")\n\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": "6080604052600436106100555760003560e01c806373af60821461005a578063a1c5191514610064578063a2375d1e1461008f578063b5e7bc60146100ad578063d46300fd146100c9578063ee919d50146100f4575b600080fd5b610062610110565b005b34801561007057600080fd5b5061007961013c565b604051610086919061049a565b60405180910390f35b6100976101ce565b6040516100a4919061047f565b60405180910390f35b6100c760048036038101906100c2919061037a565b610225565b005b3480156100d557600080fd5b506100de61023f565b6040516100eb91906104bc565b60405180910390f35b61010e600480360381019061010991906103c3565b610248565b005b600260009054906101000a900460ff1615600260006101000a81548160ff021916908315150217905550565b60606001805461014b906105ac565b80601f0160208091040260200160405190810160405280929190818152602001828054610177906105ac565b80156101c45780601f10610199576101008083540402835291602001916101c4565b820191906000526020600020905b8154815290600101906020018083116101a757829003601f168201915b5050505050905090565b60006040516101dc9061046a565b60405180910390207fcf34ef537ac33ee1ac626ca1587a0a7e8e51561e5514f8cb36afa1c5102b3bab60405160405180910390a2600260009054906101000a900460ff16905090565b806001908051906020019061023b929190610252565b5050565b60008054905090565b8060008190555050565b82805461025e906105ac565b90600052602060002090601f01602090048101928261028057600085556102c7565b82601f1061029957805160ff19168380011785556102c7565b828001600101855582156102c7579182015b828111156102c65782518255916020019190600101906102ab565b5b5090506102d491906102d8565b5090565b5b808211156102f15760008160009055506001016102d9565b5090565b6000610308610303846104fc565b6104d7565b90508281526020810184848401111561032457610323610672565b5b61032f84828561056a565b509392505050565b600082601f83011261034c5761034b61066d565b5b813561035c8482602086016102f5565b91505092915050565b600081359050610374816106bb565b92915050565b6000602082840312156103905761038f61067c565b5b600082013567ffffffffffffffff8111156103ae576103ad610677565b5b6103ba84828501610337565b91505092915050565b6000602082840312156103d9576103d861067c565b5b60006103e784828501610365565b91505092915050565b6103f981610554565b82525050565b600061040a8261052d565b6104148185610538565b9350610424818560208601610579565b61042d81610681565b840191505092915050565b6000610445601283610549565b915061045082610692565b601282019050919050565b61046481610560565b82525050565b600061047582610438565b9150819050919050565b600060208201905061049460008301846103f0565b92915050565b600060208201905081810360008301526104b481846103ff565b905092915050565b60006020820190506104d1600083018461045b565b92915050565b60006104e16104f2565b90506104ed82826105de565b919050565b6000604051905090565b600067ffffffffffffffff8211156105175761051661063e565b5b61052082610681565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b60008115159050919050565b6000819050919050565b82818337600083830152505050565b60005b8381101561059757808201518184015260208101905061057c565b838111156105a6576000848401525b50505050565b600060028204905060018216806105c457607f821691505b602082108114156105d8576105d761060f565b5b50919050565b6105e782610681565b810181811067ffffffffffffffff821117156106065761060561063e565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f746f67676c65642076616c7565206f6620430000000000000000000000000000600082015250565b6106c481610560565b81146106cf57600080fd5b5056fea264697066735822122043f2122f86234a3b6ce086a4972afca032009bc57498ee6b9be9eee923957ea764736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x55 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x73AF6082 EQ PUSH2 0x5A JUMPI DUP1 PUSH4 0xA1C51915 EQ PUSH2 0x64 JUMPI DUP1 PUSH4 0xA2375D1E EQ PUSH2 0x8F JUMPI DUP1 PUSH4 0xB5E7BC60 EQ PUSH2 0xAD JUMPI DUP1 PUSH4 0xD46300FD EQ PUSH2 0xC9 JUMPI DUP1 PUSH4 0xEE919D50 EQ PUSH2 0xF4 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x62 PUSH2 0x110 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x70 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x79 PUSH2 0x13C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x86 SWAP2 SWAP1 PUSH2 0x49A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x97 PUSH2 0x1CE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA4 SWAP2 SWAP1 PUSH2 0x47F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xC7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC2 SWAP2 SWAP1 PUSH2 0x37A JUMP JUMPDEST PUSH2 0x225 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x23F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xEB SWAP2 SWAP1 PUSH2 0x4BC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x10E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x109 SWAP2 SWAP1 PUSH2 0x3C3 JUMP JUMPDEST PUSH2 0x248 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH1 0x2 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD PUSH2 0x14B SWAP1 PUSH2 0x5AC 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 0x177 SWAP1 PUSH2 0x5AC JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1C4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x199 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1C4 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 0x1A7 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD PUSH2 0x1DC SWAP1 PUSH2 0x46A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH32 0xCF34EF537AC33EE1AC626CA1587A0A7E8E51561E5514F8CB36AFA1C5102B3BAB PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 PUSH1 0x1 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x23B SWAP3 SWAP2 SWAP1 PUSH2 0x252 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x25E SWAP1 PUSH2 0x5AC JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x280 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x2C7 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x299 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x2C7 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x2C7 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x2C6 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x2AB JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x2D4 SWAP2 SWAP1 PUSH2 0x2D8 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x2F1 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x2D9 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x308 PUSH2 0x303 DUP5 PUSH2 0x4FC JUMP JUMPDEST PUSH2 0x4D7 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x324 JUMPI PUSH2 0x323 PUSH2 0x672 JUMP JUMPDEST JUMPDEST PUSH2 0x32F DUP5 DUP3 DUP6 PUSH2 0x56A JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x34C JUMPI PUSH2 0x34B PUSH2 0x66D JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x35C DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x2F5 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x374 DUP2 PUSH2 0x6BB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x390 JUMPI PUSH2 0x38F PUSH2 0x67C JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3AE JUMPI PUSH2 0x3AD PUSH2 0x677 JUMP JUMPDEST JUMPDEST PUSH2 0x3BA DUP5 DUP3 DUP6 ADD PUSH2 0x337 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3D9 JUMPI PUSH2 0x3D8 PUSH2 0x67C JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x3E7 DUP5 DUP3 DUP6 ADD PUSH2 0x365 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x3F9 DUP2 PUSH2 0x554 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x40A DUP3 PUSH2 0x52D JUMP JUMPDEST PUSH2 0x414 DUP2 DUP6 PUSH2 0x538 JUMP JUMPDEST SWAP4 POP PUSH2 0x424 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x579 JUMP JUMPDEST PUSH2 0x42D DUP2 PUSH2 0x681 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x445 PUSH1 0x12 DUP4 PUSH2 0x549 JUMP JUMPDEST SWAP2 POP PUSH2 0x450 DUP3 PUSH2 0x692 JUMP JUMPDEST PUSH1 0x12 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x464 DUP2 PUSH2 0x560 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x475 DUP3 PUSH2 0x438 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x494 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3F0 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 0x4B4 DUP2 DUP5 PUSH2 0x3FF JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x4D1 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x45B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4E1 PUSH2 0x4F2 JUMP JUMPDEST SWAP1 POP PUSH2 0x4ED DUP3 DUP3 PUSH2 0x5DE JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x517 JUMPI PUSH2 0x516 PUSH2 0x63E JUMP JUMPDEST JUMPDEST PUSH2 0x520 DUP3 PUSH2 0x681 JUMP JUMPDEST 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 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO 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 0x597 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x57C JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x5A6 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 0x5C4 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x5D8 JUMPI PUSH2 0x5D7 PUSH2 0x60F JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x5E7 DUP3 PUSH2 0x681 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x606 JUMPI PUSH2 0x605 PUSH2 0x63E JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP 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 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x746F67676C65642076616C7565206F6620430000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x6C4 DUP2 PUSH2 0x560 JUMP JUMPDEST DUP2 EQ PUSH2 0x6CF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 NUMBER CALLCODE SLT 0x2F DUP7 0x23 0x4A EXTCODESIZE PUSH13 0xE086A4972AFCA032009BC57498 0xEE PUSH12 0x9BE9EEE923957EA764736F6C PUSH4 0x43000807 STOP CALLER ",
"sourceMap": "68:640:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;198:56;;;:::i;:::-;;496:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;583:114;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;333:72;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;415:73;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;262:63;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;198:56;245:1;;;;;;;;;;;244:2;240:1;;:6;;;;;;;;;;;;;;;;;;198:56::o;496:79::-;533:13;566:1;559:8;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;496:79;:::o;583:114::-;623:4;645:25;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;688:1;;;;;;;;;;;681:8;;583:114;:::o;333:72::-;395:2;391:1;:6;;;;;;;;;;;;:::i;:::-;;333:72;:::o;415:73::-;452:7;479:1;;472:8;;415:73;:::o;262:63::-;315:2;311:1;:6;;;;262:63;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:412:1:-;85:5;110:66;126:49;168:6;126:49;:::i;:::-;110:66;:::i;:::-;101:75;;199:6;192:5;185:21;237:4;230:5;226:16;275:3;266:6;261:3;257:16;254:25;251:112;;;282:79;;:::i;:::-;251:112;372:41;406:6;401:3;396;372:41;:::i;:::-;91:328;7:412;;;;;:::o;439:340::-;495:5;544:3;537:4;529:6;525:17;521:27;511:122;;552:79;;:::i;:::-;511:122;669:6;656:20;694:79;769:3;761:6;754:4;746:6;742:17;694:79;:::i;:::-;685:88;;501:278;439:340;;;;:::o;785:139::-;831:5;869:6;856:20;847:29;;885:33;912:5;885:33;:::i;:::-;785:139;;;;:::o;930:509::-;999:6;1048:2;1036:9;1027:7;1023:23;1019:32;1016:119;;;1054:79;;:::i;:::-;1016:119;1202:1;1191:9;1187:17;1174:31;1232:18;1224:6;1221:30;1218:117;;;1254:79;;:::i;:::-;1218:117;1359:63;1414:7;1405:6;1394:9;1390:22;1359:63;:::i;:::-;1349:73;;1145:287;930:509;;;;:::o;1445:329::-;1504:6;1553:2;1541:9;1532:7;1528:23;1524:32;1521:119;;;1559:79;;:::i;:::-;1521:119;1679:1;1704:53;1749:7;1740:6;1729:9;1725:22;1704:53;:::i;:::-;1694:63;;1650:117;1445:329;;;;:::o;1780:109::-;1861:21;1876:5;1861:21;:::i;:::-;1856:3;1849:34;1780:109;;:::o;1895:364::-;1983:3;2011:39;2044:5;2011:39;:::i;:::-;2066:71;2130:6;2125:3;2066:71;:::i;:::-;2059:78;;2146:52;2191:6;2186:3;2179:4;2172:5;2168:16;2146:52;:::i;:::-;2223:29;2245:6;2223:29;:::i;:::-;2218:3;2214:39;2207:46;;1987:272;1895:364;;;;:::o;2265:402::-;2425:3;2446:85;2528:2;2523:3;2446:85;:::i;:::-;2439:92;;2540:93;2629:3;2540:93;:::i;:::-;2658:2;2653:3;2649:12;2642:19;;2265:402;;;:::o;2673:118::-;2760:24;2778:5;2760:24;:::i;:::-;2755:3;2748:37;2673:118;;:::o;2797:381::-;2982:3;3004:148;3148:3;3004:148;:::i;:::-;2997:155;;3169:3;3162:10;;2797:381;;;:::o;3184:210::-;3271:4;3309:2;3298:9;3294:18;3286:26;;3322:65;3384:1;3373:9;3369:17;3360:6;3322:65;:::i;:::-;3184:210;;;;:::o;3400:313::-;3513:4;3551:2;3540:9;3536:18;3528:26;;3600:9;3594:4;3590:20;3586:1;3575:9;3571:17;3564:47;3628:78;3701:4;3692:6;3628:78;:::i;:::-;3620:86;;3400:313;;;;:::o;3719:222::-;3812:4;3850:2;3839:9;3835:18;3827:26;;3863:71;3931:1;3920:9;3916:17;3907:6;3863:71;:::i;:::-;3719:222;;;;:::o;3947:129::-;3981:6;4008:20;;:::i;:::-;3998:30;;4037:33;4065:4;4057:6;4037:33;:::i;:::-;3947:129;;;:::o;4082:75::-;4115:6;4148:2;4142:9;4132:19;;4082:75;:::o;4163:308::-;4225:4;4315:18;4307:6;4304:30;4301:56;;;4337:18;;:::i;:::-;4301:56;4375:29;4397:6;4375:29;:::i;:::-;4367:37;;4459:4;4453;4449:15;4441:23;;4163:308;;;:::o;4477:99::-;4529:6;4563:5;4557:12;4547:22;;4477:99;;;:::o;4582:169::-;4666:11;4700:6;4695:3;4688:19;4740:4;4735:3;4731:14;4716:29;;4582:169;;;;:::o;4757:148::-;4859:11;4896:3;4881:18;;4757:148;;;;:::o;4911:90::-;4945:7;4988:5;4981:13;4974:21;4963:32;;4911:90;;;:::o;5007:77::-;5044:7;5073:5;5062:16;;5007:77;;;:::o;5090:154::-;5174:6;5169:3;5164;5151:30;5236:1;5227:6;5222:3;5218:16;5211:27;5090:154;;;:::o;5250:307::-;5318:1;5328:113;5342:6;5339:1;5336:13;5328:113;;;5427:1;5422:3;5418:11;5412:18;5408:1;5403:3;5399:11;5392:39;5364:2;5361:1;5357:10;5352:15;;5328:113;;;5459:6;5456:1;5453:13;5450:101;;;5539:1;5530:6;5525:3;5521:16;5514:27;5450:101;5299:258;5250:307;;;:::o;5563:320::-;5607:6;5644:1;5638:4;5634:12;5624:22;;5691:1;5685:4;5681:12;5712:18;5702:81;;5768:4;5760:6;5756:17;5746:27;;5702:81;5830:2;5822:6;5819:14;5799:18;5796:38;5793:84;;;5849:18;;:::i;:::-;5793:84;5614:269;5563:320;;;:::o;5889:281::-;5972:27;5994:4;5972:27;:::i;:::-;5964:6;5960:40;6102:6;6090:10;6087:22;6066:18;6054:10;6051:34;6048:62;6045:88;;;6113:18;;:::i;:::-;6045:88;6153:10;6149:2;6142:22;5932:238;5889:281;;:::o;6176:180::-;6224:77;6221:1;6214:88;6321:4;6318:1;6311:15;6345:4;6342:1;6335:15;6362:180;6410:77;6407:1;6400:88;6507:4;6504:1;6497:15;6531:4;6528:1;6521:15;6548:117;6657:1;6654;6647:12;6671:117;6780:1;6777;6770:12;6794:117;6903:1;6900;6893:12;6917:117;7026:1;7023;7016:12;7040:102;7081:6;7132:2;7128:7;7123:2;7116:5;7112:14;7108:28;7098:38;;7040:102;;;:::o;7148:168::-;7288:20;7284:1;7276:6;7272:14;7265:44;7148:168;:::o;7322:122::-;7395:24;7413:5;7395:24;:::i;:::-;7388:5;7385:35;7375:63;;7434:1;7431;7424:12;7375:63;7322:122;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "360000",
"executionCost": "399",
"totalCost": "360399"
},
"external": {
"getA()": "2503",
"getB()": "infinite",
"getC()": "3892",
"setA(uint256)": "22584",
"setB(string)": "infinite",
"setC()": "26504"
}
},
"legacyAssembly": {
".code": [
{
"begin": 68,
"end": 708,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 68,
"end": 708,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 68,
"end": 708,
"name": "MSTORE",
"source": 0
},
{
"begin": 68,
"end": 708,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 68,
"end": 708,
"name": "DUP1",
"source": 0
},
{
"begin": 68,
"end": 708,
"name": "ISZERO",
"source": 0
},
{
"begin": 68,
"end": 708,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 68,
"end": 708,
"name": "JUMPI",
"source": 0
},
{
"begin": 68,
"end": 708,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 68,
"end": 708,
"name": "DUP1",
"source": 0
},
{
"begin": 68,
"end": 708,
"name": "REVERT",
"source": 0
},
{
"begin": 68,
"end": 708,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 68,
"end": 708,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 68,
"end": 708,
"name": "POP",
"source": 0
},
{
"begin": 68,
"end": 708,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 68,
"end": 708,
"name": "DUP1",
"source": 0
},
{
"begin": 68,
"end": 708,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 68,
"end": 708,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 68,
"end": 708,
"name": "CODECOPY",
"source": 0
},
{
"begin": 68,
"end": 708,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 68,
"end": 708,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a264697066735822122043f2122f86234a3b6ce086a4972afca032009bc57498ee6b9be9eee923957ea764736f6c63430008070033",
".code": [
{
"begin": 68,
"end": 708,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 68,
"end": 708,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 68,
"end": 708,
"name": "MSTORE",
"source": 0
},
{
"begin": 68,
"end": 708,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 68,
"end": 708,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 68,
"end": 708,
"name": "LT",
"source": 0
},
{
"begin": 68,
"end": 708,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 68,
"end": 708,
"name": "JUMPI",
"source": 0
},
{
"begin": 68,
"end": 708,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 68,
"end": 708,
"name": "CALLDATALOAD",
"source": 0
},
{
"begin": 68,
"end": 708,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 68,
"end": 708,
"name": "SHR",
"source": 0
},
{
"begin": 68,
"end": 708,
"name": "DUP1",
"source": 0
},
{
"begin": 68,
"end": 708,
"name": "PUSH",
"source": 0,
"value": "73AF6082"
},
{
"begin": 68,
"end": 708,
"name": "EQ",
"source": 0
},
{
"begin": 68,
"end": 708,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 68,
"end": 708,
"name": "JUMPI",
"source": 0
},
{
"begin": 68,
"end": 708,
"name": "DUP1",
"source": 0
},
{
"begin": 68,
"end": 708,
"name": "PUSH",
"source": 0,
"value": "A1C51915"
},
{
"begin": 68,
"end": 708,
"name": "EQ",
"source": 0
},
{
"begin": 68,
"end": 708,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 68,
"end": 708,
"name": "JUMPI",
"source": 0
},
{
"begin": 68,
"end": 708,
"name": "DUP1",
"source": 0
},
{
"begin": 68,
"end": 708,
"name": "PUSH",
"source": 0,
"value": "A2375D1E"
},
{
"begin": 68,
"end": 708,
"name": "EQ",
"source": 0
},
{
"begin": 68,
"end": 708,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 68,
"end": 708,
"name": "JUMPI",
"source": 0
},
{
"begin": 68,
"end": 708,
"name": "DUP1",
"source": 0
},
{
"begin": 68,
"end": 708,
"name": "PUSH",
"source": 0,
"value": "B5E7BC60"
},
{
"begin": 68,
"end": 708,
"name": "EQ",
"source": 0
},
{
"begin": 68,
"end": 708,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 68,
"end": 708,
"name": "JUMPI",
"source": 0
},
{
"begin": 68,
"end": 708,
"name": "DUP1",
"source": 0
},
{
"begin": 68,
"end": 708,
"name": "PUSH",
"source": 0,
"value": "D46300FD"
},
{
"begin": 68,
"end": 708,
"name": "EQ",
"source": 0
},
{
"begin": 68,
"end": 708,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 68,
"end": 708,
"name": "JUMPI",
"source": 0
},
{
"begin": 68,
"end": 708,
"name": "DUP1",
"source": 0
},
{
"begin": 68,
"end": 708,
"name": "PUSH",
"source": 0,
"value": "EE919D50"
},
{
"begin": 68,
"end": 708,
"name": "EQ",
"source": 0
},
{
"begin": 68,
"end": 708,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 68,
"end": 708,
"name": "JUMPI",
"source": 0
},
{
"begin": 68,
"end": 708,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 68,
"end": 708,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 68,
"end": 708,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 68,
"end": 708,
"name": "DUP1",
"source": 0
},
{
"begin": 68,
"end": 708,
"name": "REVERT",
"source": 0
},
{
"begin": 198,
"end": 254,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 198,
"end": 254,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 198,
"end": 254,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 198,
"end": 254,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 198,
"end": 254,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 198,
"end": 254,
"name": "tag",
"source": 0,
"value": "8"
},
{
"begin": 198,
"end": 254,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 198,
"end": 254,
"name": "STOP",
"source": 0
},
{
"begin": 496,
"end": 575,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 496,
"end": 575,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 496,
"end": 575,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 496,
"end": 575,
"name": "DUP1",
"source": 0
},
{
"begin": 496,
"end": 575,
"name": "ISZERO",
"source": 0
},
{
"begin": 496,
"end": 575,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 496,
"end": 575,
"name": "JUMPI",
"source": 0
},
{
"begin": 496,
"end": 575,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 496,
"end": 575,
"name": "DUP1",
"source": 0
},
{
"begin": 496,
"end": 575,
"name": "REVERT",
"source": 0
},
{
"begin": 496,
"end": 575,
"name": "tag",
"source": 0,
"value": "10"
},
{
"begin": 496,
"end": 575,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 496,
"end": 575,
"name": "POP",
"source": 0
},
{
"begin": 496,
"end": 575,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 496,
"end": 575,
"name": "PUSH [tag]",
"source": 0,
"value": "12"
},
{
"begin": 496,
"end": 575,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 496,
"end": 575,
"name": "tag",
"source": 0,
"value": "11"
},
{
"begin": 496,
"end": 575,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 496,
"end": 575,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 496,
"end": 575,
"name": "MLOAD",
"source": 0
},
{
"begin": 496,
"end": 575,
"name": "PUSH [tag]",
"source": 0,
"value": "13"
},
{
"begin": 496,
"end": 575,
"name": "SWAP2",
"source": 0
},
{
"begin": 496,
"end": 575,
"name": "SWAP1",
"source": 0
},
{
"begin": 496,
"end": 575,
"name": "PUSH [tag]",
"source": 0,
"value": "14"
},
{
"begin": 496,
"end": 575,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 496,
"end": 575,
"name": "tag",
"source": 0,
"value": "13"
},
{
"begin": 496,
"end": 575,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 496,
"end": 575,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 496,
"end": 575,
"name": "MLOAD",
"source": 0
},
{
"begin": 496,
"end": 575,
"name": "DUP1",
"source": 0
},
{
"begin": 496,
"end": 575,
"name": "SWAP2",
"source": 0
},
{
"begin": 496,
"end": 575,
"name": "SUB",
"source": 0
},
{
"begin": 496,
"end": 575,
"name": "SWAP1",
"source": 0
},
{
"begin": 496,
"end": 575,
"name": "RETURN",
"source": 0
},
{
"begin": 583,
"end": 697,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 583,
"end": 697,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 583,
"end": 697,
"name": "PUSH [tag]",
"source": 0,
"value": "15"
},
{
"begin": 583,
"end": 697,
"name": "PUSH [tag]",
"source": 0,
"value": "16"
},
{
"begin": 583,
"end": 697,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 583,
"end": 697,
"name": "tag",
"source": 0,
"value": "15"
},
{
"begin": 583,
"end": 697,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 583,
"end": 697,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 583,
"end": 697,
"name": "MLOAD",
"source": 0
},
{
"begin": 583,
"end": 697,
"name": "PUSH [tag]",
"source": 0,
"value": "17"
},
{
"begin": 583,
"end": 697,
"name": "SWAP2",
"source": 0
},
{
"begin": 583,
"end": 697,
"name": "SWAP1",
"source": 0
},
{
"begin": 583,
"end": 697,
"name": "PUSH [tag]",
"source": 0,
"value": "18"
},
{
"begin": 583,
"end": 697,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 583,
"end": 697,
"name": "tag",
"source": 0,
"value": "17"
},
{
"begin": 583,
"end": 697,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 583,
"end": 697,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 583,
"end": 697,
"name": "MLOAD",
"source": 0
},
{
"begin": 583,
"end": 697,
"name": "DUP1",
"source": 0
},
{
"begin": 583,
"end": 697,
"name": "SWAP2",
"source": 0
},
{
"begin": 583,
"end": 697,
"name": "SUB",
"source": 0
},
{
"begin": 583,
"end": 697,
"name": "SWAP1",
"source": 0
},
{
"begin": 583,
"end": 697,
"name": "RETURN",
"source": 0
},
{
"begin": 333,
"end": 405,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 333,
"end": 405,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 333,
"end": 405,
"name": "PUSH [tag]",
"source": 0,
"value": "19"
},
{
"begin": 333,
"end": 405,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 333,
"end": 405,
"name": "DUP1",
"source": 0
},
{
"begin": 333,
"end": 405,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 333,
"end": 405,
"name": "SUB",
"source": 0
},
{
"begin": 333,
"end": 405,
"name": "DUP2",
"source": 0
},
{
"begin": 333,
"end": 405,
"name": "ADD",
"source": 0
},
{
"begin": 333,
"end": 405,
"name": "SWAP1",
"source": 0
},
{
"begin": 333,
"end": 405,
"name": "PUSH [tag]",
"source": 0,
"value": "20"
},
{
"begin": 333,
"end": 405,
"name": "SWAP2",
"source": 0
},
{
"begin": 333,
"end": 405,
"name": "SWAP1",
"source": 0
},
{
"begin": 333,
"end": 405,
"name": "PUSH [tag]",
"source": 0,
"value": "21"
},
{
"begin": 333,
"end": 405,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 333,
"end": 405,
"name": "tag",
"source": 0,
"value": "20"
},
{
"begin": 333,
"end": 405,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 333,
"end": 405,
"name": "PUSH [tag]",
"source": 0,
"value": "22"
},
{
"begin": 333,
"end": 405,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 333,
"end": 405,
"name": "tag",
"source": 0,
"value": "19"
},
{
"begin": 333,
"end": 405,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 333,
"end": 405,
"name": "STOP",
"source": 0
},
{
"begin": 415,
"end": 488,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 415,
"end": 488,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 415,
"end": 488,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 415,
"end": 488,
"name": "DUP1",
"source": 0
},
{
"begin": 415,
"end": 488,
"name": "ISZERO",
"source": 0
},
{
"begin": 415,
"end": 488,
"name": "PUSH [tag]",
"source": 0,
"value": "23"
},
{
"begin": 415,
"end": 488,
"name": "JUMPI",
"source": 0
},
{
"begin": 415,
"end": 488,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 415,
"end": 488,
"name": "DUP1",
"source": 0
},
{
"begin": 415,
"end": 488,
"name": "REVERT",
"source": 0
},
{
"begin": 415,
"end": 488,
"name": "tag",
"source": 0,
"value": "23"
},
{
"begin": 415,
"end": 488,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 415,
"end": 488,
"name": "POP",
"source": 0
},
{
"begin": 415,
"end": 488,
"name": "PUSH [tag]",
"source": 0,
"value": "24"
},
{
"begin": 415,
"end": 488,
"name": "PUSH [tag]",
"source": 0,
"value": "25"
},
{
"begin": 415,
"end": 488,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 415,
"end": 488,
"name": "tag",
"source": 0,
"value": "24"
},
{
"begin": 415,
"end": 488,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 415,
"end": 488,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 415,
"end": 488,
"name": "MLOAD",
"source": 0
},
{
"begin": 415,
"end": 488,
"name": "PUSH [tag]",
"source": 0,
"value": "26"
},
{
"begin": 415,
"end": 488,
"name": "SWAP2",
"source": 0
},
{
"begin": 415,
"end": 488,
"name": "SWAP1",
"source": 0
},
{
"begin": 415,
"end": 488,
"name": "PUSH [tag]",
"source": 0,
"value": "27"
},
{
"begin": 415,
"end": 488,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 415,
"end": 488,
"name": "tag",
"source": 0,
"value": "26"
},
{
"begin": 415,
"end": 488,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 415,
"end": 488,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 415,
"end": 488,
"name": "MLOAD",
"source": 0
},
{
"begin": 415,
"end": 488,
"name": "DUP1",
"source": 0
},
{
"begin": 415,
"end": 488,
"name": "SWAP2",
"source": 0
},
{
"begin": 415,
"end": 488,
"name": "SUB",
"source": 0
},
{
"begin": 415,
"end": 488,
"name": "SWAP1",
"source": 0
},
{
"begin": 415,
"end": 488,
"name": "RETURN",
"source": 0
},
{
"begin": 262,
"end": 325,
"name": "tag",
"source": 0,
"value": "7"
},
{
"begin": 262,
"end": 325,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 262,
"end": 325,
"name": "PUSH [tag]",
"source": 0,
"value": "28"
},
{
"begin": 262,
"end": 325,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 262,
"end": 325,
"name": "DUP1",
"source": 0
},
{
"begin": 262,
"end": 325,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 262,
"end": 325,
"name": "SUB",
"source": 0
},
{
"begin": 262,
"end": 325,
"name": "DUP2",
"source": 0
},
{
"begin": 262,
"end": 325,
"name": "ADD",
"source": 0
},
{
"begin": 262,
"end": 325,
"name": "SWAP1",
"source": 0
},
{
"begin": 262,
"end": 325,
"name": "PUSH [tag]",
"source": 0,
"value": "29"
},
{
"begin": 262,
"end": 325,
"name": "SWAP2",
"source": 0
},
{
"begin": 262,
"end": 325,
"name": "SWAP1",
"source": 0
},
{
"begin": 262,
"end": 325,
"name": "PUSH [tag]",
"source": 0,
"value": "30"
},
{
"begin": 262,
"end": 325,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 262,
"end": 325,
"name": "tag",
"source": 0,
"value": "29"
},
{
"begin": 262,
"end": 325,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 262,
"end": 325,
"name": "PUSH [tag]",
"source": 0,
"value": "31"
},
{
"begin": 262,
"end": 325,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 262,
"end": 325,
"name": "tag",
"source": 0,
"value": "28"
},
{
"begin": 262,
"end": 325,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 262,
"end": 325,
"name": "STOP",
"source": 0
},
{
"begin": 198,
"end": 254,
"name": "tag",
"source": 0,
"value": "9"
},
{
"begin": 198,
"end": 254,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 245,
"end": 246,
"name": "PUSH",
"source": 0,
"value": "2"
},
{
"begin": 245,
"end": 246,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 245,
"end": 246,
"name": "SWAP1",
"source": 0
},
{
"begin": 245,
"end": 246,
"name": "SLOAD",
"source": 0
},
{
"begin": 245,
"end": 246,
"name": "SWAP1",
"source": 0
},
{
"begin": 245,
"end": 246,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 245,
"end": 246,
"name": "EXP",
"source": 0
},
{
"begin": 245,
"end": 246,
"name": "SWAP1",
"source": 0
},
{
"begin": 245,
"end": 246,
"name": "DIV",
"source": 0
},
{
"begin": 245,
"end": 246,
"name": "PUSH",
"source": 0,
"value": "FF"
},
{
"begin": 245,
"end": 246,
"name": "AND",
"source": 0
},
{
"begin": 244,
"end": 246,
"name": "ISZERO",
"source": 0
},
{
"begin": 240,
"end": 241,
"name": "PUSH",
"source": 0,
"value": "2"
},
{
"begin": 240,
"end": 241,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 240,
"end": 246,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 240,
"end": 246,
"name": "EXP",
"source": 0
},
{
"begin": 240,
"end": 246,
"name": "DUP2",
"source": 0
},
{
"begin": 240,
"end": 246,
"name": "SLOAD",
"source": 0
},
{
"begin": 240,
"end": 246,
"name": "DUP2",
"source": 0
},
{
"begin": 240,
"end": 246,
"name": "PUSH",
"source": 0,
"value": "FF"
},
{
"begin": 240,
"end": 246,
"name": "MUL",
"source": 0
},
{
"begin": 240,
"end": 246,
"name": "NOT",
"source": 0
},
{
"begin": 240,
"end": 246,
"name": "AND",
"source": 0
},
{
"begin": 240,
"end": 246,
"name": "SWAP1",
"source": 0
},
{
"begin": 240,
"end": 246,
"name": "DUP4",
"source": 0
},
{
"begin": 240,
"end": 246,
"name": "ISZERO",
"source": 0
},
{
"begin": 240,
"end": 246,
"name": "ISZERO",
"source": 0
},
{
"begin": 240,
"end": 246,
"name": "MUL",
"source": 0
},
{
"begin": 240,
"end": 246,
"name": "OR",
"source": 0
},
{
"begin": 240,
"end": 246,
"name": "SWAP1",
"source": 0
},
{
"begin": 240,
"end": 246,
"name": "SSTORE",
"source": 0
},
{
"begin": 240,
"end": 246,
"name": "POP",
"source": 0
},
{
"begin": 198,
"end": 254,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 496,
"end": 575,
"name": "tag",
"source": 0,
"value": "12"
},
{
"begin": 496,
"end": 575,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 533,
"end": 546,
"name": "PUSH",
"source": 0,
"value": "60"
},
{
"begin": 566,
"end": 567,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 559,
"end": 567,
"name": "DUP1",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "SLOAD",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "PUSH [tag]",
"source": 0,
"value": "34"
},
{
"begin": 559,
"end": 567,
"name": "SWAP1",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "PUSH [tag]",
"source": 0,
"value": "35"
},
{
"begin": 559,
"end": 567,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 559,
"end": 567,
"name": "tag",
"source": 0,
"value": "34"
},
{
"begin": 559,
"end": 567,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "DUP1",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 559,
"end": 567,
"name": "ADD",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 559,
"end": 567,
"name": "DUP1",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "SWAP2",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "DIV",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "MUL",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 559,
"end": 567,
"name": "ADD",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 559,
"end": 567,
"name": "MLOAD",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "SWAP1",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "DUP2",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "ADD",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 559,
"end": 567,
"name": "MSTORE",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "DUP1",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "SWAP3",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "SWAP2",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "SWAP1",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "DUP2",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "DUP2",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "MSTORE",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 559,
"end": 567,
"name": "ADD",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "DUP3",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "DUP1",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "SLOAD",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "PUSH [tag]",
"source": 0,
"value": "36"
},
{
"begin": 559,
"end": 567,
"name": "SWAP1",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "PUSH [tag]",
"source": 0,
"value": "35"
},
{
"begin": 559,
"end": 567,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 559,
"end": 567,
"name": "tag",
"source": 0,
"value": "36"
},
{
"begin": 559,
"end": 567,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "DUP1",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "ISZERO",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "PUSH [tag]",
"source": 0,
"value": "37"
},
{
"begin": 559,
"end": 567,
"name": "JUMPI",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "DUP1",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 559,
"end": 567,
"name": "LT",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "PUSH [tag]",
"source": 0,
"value": "38"
},
{
"begin": 559,
"end": 567,
"name": "JUMPI",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 559,
"end": 567,
"name": "DUP1",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "DUP4",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "SLOAD",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "DIV",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "MUL",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "DUP4",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "MSTORE",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "SWAP2",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 559,
"end": 567,
"name": "ADD",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "SWAP2",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "PUSH [tag]",
"source": 0,
"value": "37"
},
{
"begin": 559,
"end": 567,
"name": "JUMP",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "tag",
"source": 0,
"value": "38"
},
{
"begin": 559,
"end": 567,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "DUP3",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "ADD",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "SWAP2",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "SWAP1",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 559,
"end": 567,
"name": "MSTORE",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 559,
"end": 567,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 559,
"end": 567,
"name": "KECCAK256",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "SWAP1",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "tag",
"source": 0,
"value": "39"
},
{
"begin": 559,
"end": 567,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "DUP2",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "SLOAD",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "DUP2",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "MSTORE",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "SWAP1",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 559,
"end": 567,
"name": "ADD",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "SWAP1",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 559,
"end": 567,
"name": "ADD",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "DUP1",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "DUP4",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "GT",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "PUSH [tag]",
"source": 0,
"value": "39"
},
{
"begin": 559,
"end": 567,
"name": "JUMPI",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "DUP3",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "SWAP1",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "SUB",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 559,
"end": 567,
"name": "AND",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "DUP3",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "ADD",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "SWAP2",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "tag",
"source": 0,
"value": "37"
},
{
"begin": 559,
"end": 567,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "POP",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "POP",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "POP",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "POP",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "POP",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "SWAP1",
"source": 0
},
{
"begin": 559,
"end": 567,
"name": "POP",
"source": 0
},
{
"begin": 496,
"end": 575,
"name": "SWAP1",
"source": 0
},
{
"begin": 496,
"end": 575,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 583,
"end": 697,
"name": "tag",
"source": 0,
"value": "16"
},
{
"begin": 583,
"end": 697,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 623,
"end": 627,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 645,
"end": 670,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 645,
"end": 670,
"name": "MLOAD",
"source": 0
},
{
"begin": 645,
"end": 670,
"name": "PUSH [tag]",
"source": 0,
"value": "41"
},
{
"begin": 645,
"end": 670,
"name": "SWAP1",
"source": 0
},
{
"begin": 645,
"end": 670,
"name": "PUSH [tag]",
"source": 0,
"value": "42"
},
{
"begin": 645,
"end": 670,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 645,
"end": 670,
"name": "tag",
"source": 0,
"value": "41"
},
{
"begin": 645,
"end": 670,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 645,
"end": 670,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 645,
"end": 670,
"name": "MLOAD",
"source": 0
},
{
"begin": 645,
"end": 670,
"name": "DUP1",
"source": 0
},
{
"begin": 645,
"end": 670,
"name": "SWAP2",
"source": 0
},
{
"begin": 645,
"end": 670,
"name": "SUB",
"source": 0
},
{
"begin": 645,
"end": 670,
"name": "SWAP1",
"source": 0
},
{
"begin": 645,
"end": 670,
"name": "KECCAK256",
"source": 0
},
{
"begin": 645,
"end": 670,
"name": "PUSH",
"source": 0,
"value": "CF34EF537AC33EE1AC626CA1587A0A7E8E51561E5514F8CB36AFA1C5102B3BAB"
},
{
"begin": 645,
"end": 670,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 645,
"end": 670,
"name": "MLOAD",
"source": 0
},
{
"begin": 645,
"end": 670,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 645,
"end": 670,
"name": "MLOAD",
"source": 0
},
{
"begin": 645,
"end": 670,
"name": "DUP1",
"source": 0
},
{
"begin": 645,
"end": 670,
"name": "SWAP2",
"source": 0
},
{
"begin": 645,
"end": 670,
"name": "SUB",
"source": 0
},
{
"begin": 645,
"end": 670,
"name": "SWAP1",
"source": 0
},
{
"begin": 645,
"end": 670,
"name": "LOG2",
"source": 0
},
{
"begin": 688,
"end": 689,
"name": "PUSH",
"source": 0,
"value": "2"
},
{
"begin": 688,
"end": 689,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 688,
"end": 689,
"name": "SWAP1",
"source": 0
},
{
"begin": 688,
"end": 689,
"name": "SLOAD",
"source": 0
},
{
"begin": 688,
"end": 689,
"name": "SWAP1",
"source": 0
},
{
"begin": 688,
"end": 689,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 688,
"end": 689,
"name": "EXP",
"source": 0
},
{
"begin": 688,
"end": 689,
"name": "SWAP1",
"source": 0
},
{
"begin": 688,
"end": 689,
"name": "DIV",
"source": 0
},
{
"begin": 688,
"end": 689,
"name": "PUSH",
"source": 0,
"value": "FF"
},
{
"begin": 688,
"end": 689,
"name": "AND",
"source": 0
},
{
"begin": 681,
"end": 689,
"name": "SWAP1",
"source": 0
},
{
"begin": 681,
"end": 689,
"name": "POP",
"source": 0
},
{
"begin": 583,
"end": 697,
"name": "SWAP1",
"source": 0
},
{
"begin": 583,
"end": 697,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 333,
"end": 405,
"name": "tag",
"source": 0,
"value": "22"
},
{
"begin": 333,
"end": 405,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 395,
"end": 397,
"name": "DUP1",
"source": 0
},
{
"begin": 391,
"end": 392,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 391,
"end": 397,
"name": "SWAP1",
"source": 0
},
{
"begin": 391,
"end": 397,
"name": "DUP1",
"source": 0
},
{
"begin": 391,
"end": 397,
"name": "MLOAD",
"source": 0
},
{
"begin": 391,
"end": 397,
"name": "SWAP1",
"source": 0
},
{
"begin": 391,
"end": 397,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 391,
"end": 397,
"name": "ADD",
"source": 0
},
{
"begin": 391,
"end": 397,
"name": "SWAP1",
"source": 0
},
{
"begin": 391,
"end": 397,
"name": "PUSH [tag]",
"source": 0,
"value": "44"
},
{
"begin": 391,
"end": 397,
"name": "SWAP3",
"source": 0
},
{
"begin": 391,
"end": 397,
"name": "SWAP2",
"source": 0
},
{
"begin": 391,
"end": 397,
"name": "SWAP1",
"source": 0
},
{
"begin": 391,
"end": 397,
"name": "PUSH [tag]",
"source": 0,
"value": "45"
},
{
"begin": 391,
"end": 397,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 391,
"end": 397,
"name": "tag",
"source": 0,
"value": "44"
},
{
"begin": 391,
"end": 397,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 391,
"end": 397,
"name": "POP",
"source": 0
},
{
"begin": 333,
"end": 405,
"name": "POP",
"source": 0
},
{
"begin": 333,
"end": 405,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 415,
"end": 488,
"name": "tag",
"source": 0,
"value": "25"
},
{
"begin": 415,
"end": 488,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 452,
"end": 459,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 479,
"end": 480,
"name": "DUP1",
"source": 0
},
{
"begin": 479,
"end": 480,
"name": "SLOAD",
"source": 0
},
{
"begin": 472,
"end": 480,
"name": "SWAP1",
"source": 0
},
{
"begin": 472,
"end": 480,
"name": "POP",
"source": 0
},
{
"begin": 415,
"end": 488,
"name": "SWAP1",
"source": 0
},
{
"begin": 415,
"end": 488,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 262,
"end": 325,
"name": "tag",
"source": 0,
"value": "31"
},
{
"begin": 262,
"end": 325,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 315,
"end": 317,
"name": "DUP1",
"source": 0
},
{
"begin": 311,
"end": 312,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 311,
"end": 317,
"name": "DUP2",
"source": 0
},
{
"begin": 311,
"end": 317,
"name": "SWAP1",
"source": 0
},
{
"begin": 311,
"end": 317,
"name": "SSTORE",
"source": 0
},
{
"begin": 311,
"end": 317,
"name": "POP",
"source": 0
},
{
"begin": 262,
"end": 325,
"name": "POP",
"source": 0
},
{
"begin": 262,
"end": 325,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "45"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SLOAD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "48"
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "35"
},
{
"begin": -1,
"end": -1,
"name": "JUMP",
"source": -1,
"value": "[in]"
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "48"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "0"
},
{
"begin": -1,
"end": -1,
"name": "MSTORE",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "20"
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "0"
},
{
"begin": -1,
"end": -1,
"name": "KECCAK256",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "1F"
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "20"
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DIV",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP2",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "50"
},
{
"begin": -1,
"end": -1,
"name": "JUMPI",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "0"
},
{
"begin": -1,
"end": -1,
"name": "DUP6",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SSTORE",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "49"
},
{
"begin": -1,
"end": -1,
"name": "JUMP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "50"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "1F"
},
{
"begin": -1,
"end": -1,
"name": "LT",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "51"
},
{
"begin": -1,
"end": -1,
"name": "JUMPI",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "MLOAD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "FF"
},
{
"begin": -1,
"end": -1,
"name": "NOT",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "AND",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP4",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "OR",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP6",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SSTORE",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "49"
},
{
"begin": -1,
"end": -1,
"name": "JUMP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "51"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "1"
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP6",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SSTORE",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "ISZERO",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "49"
},
{
"begin": -1,
"end": -1,
"name": "JUMPI",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP2",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "52"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP2",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "GT",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "ISZERO",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "53"
},
{
"begin": -1,
"end": -1,
"name": "JUMPI",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "MLOAD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SSTORE",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP2",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "20"
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP2",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "1"
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "52"
},
{
"begin": -1,
"end": -1,
"name": "JUMP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "53"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "49"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "POP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "POP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "54"
},
{
"begin": -1,
"end": -1,
"name": "SWAP2",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "55"
},
{
"begin": -1,
"end": -1,
"name": "JUMP",
"source": -1,
"value": "[in]"
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "54"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "POP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "JUMP",
"source": -1,
"value": "[out]"
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "55"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "56"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "GT",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "ISZERO",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "57"
},
{
"begin": -1,
"end": -1,
"name": "JUMPI",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "0"
},
{
"begin": -1,
"end": -1,
"name": "DUP2",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "0"
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SSTORE",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "POP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "1"
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "56"
},
{
"begin": -1,
"end": -1,
"name": "JUMP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "57"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "POP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "JUMP",
"source": -1,
"value": "[out]"
},
{
"begin": 7,
"end": 419,
"name": "tag",
"source": 1,
"value": "59"
},
{
"begin": 7,
"end": 419,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 85,
"end": 90,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 110,
"end": 176,
"name": "PUSH [tag]",
"source": 1,
"value": "61"
},
{
"begin": 126,
"end": 175,
"name": "PUSH [tag]",
"source": 1,
"value": "62"
},
{
"begin": 168,
"end": 174,
"name": "DUP5",
"source": 1
},
{
"begin": 126,
"end": 175,
"name": "PUSH [tag]",
"source": 1,
"value": "63"
},
{
"begin": 126,
"end": 175,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 126,
"end": 175,
"name": "tag",
"source": 1,
"value": "62"
},
{
"begin": 126,
"end": 175,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 110,
"end": 176,
"name": "PUSH [tag]",
"source": 1,
"value": "64"
},
{
"begin": 110,
"end": 176,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 110,
"end": 176,
"name": "tag",
"source": 1,
"value": "61"
},
{
"begin": 110,
"end": 176,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 101,
"end": 176,
"name": "SWAP1",
"source": 1
},
{
"begin": 101,
"end": 176,
"name": "POP",
"source": 1
},
{
"begin": 199,
"end": 205,
"name": "DUP3",
"source": 1
},
{
"begin": 192,
"end": 197,
"name": "DUP2",
"source": 1
},
{
"begin": 185,
"end": 206,
"name": "MSTORE",
"source": 1
},
{
"begin": 237,
"end": 241,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 230,
"end": 235,
"name": "DUP2",
"source": 1
},
{
"begin": 226,
"end": 242,
"name": "ADD",
"source": 1
},
{
"begin": 275,
"end": 278,
"name": "DUP5",
"source": 1
},
{
"begin": 266,
"end": 272,
"name": "DUP5",
"source": 1
},
{
"begin": 261,
"end": 264,
"name": "DUP5",
"source": 1
},
{
"begin": 257,
"end": 273,
"name": "ADD",
"source": 1
},
{
"begin": 254,
"end": 279,
"name": "GT",
"source": 1
},
{
"begin": 251,
"end": 363,
"name": "ISZERO",
"source": 1
},
{
"begin": 251,
"end": 363,
"name": "PUSH [tag]",
"source": 1,
"value": "65"
},
{
"begin": 251,
"end": 363,
"name": "JUMPI",
"source": 1
},
{
"begin": 282,
"end": 361,
"name": "PUSH [tag]",
"source": 1,
"value": "66"
},
{
"begin": 282,
"end": 361,
"name": "PUSH [tag]",
"source": 1,
"value": "67"
},
{
"begin": 282,
"end": 361,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 282,
"end": 361,
"name": "tag",
"source": 1,
"value": "66"
},
{
"begin": 282,
"end": 361,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 251,
"end": 363,
"name": "tag",
"source": 1,
"value": "65"
},
{
"begin": 251,
"end": 363,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 372,
"end": 413,
"name": "PUSH [tag]",
"source": 1,
"value": "68"
},
{
"begin": 406,
"end": 412,
"name": "DUP5",
"source": 1
},
{
"begin": 401,
"end": 404,
"name": "DUP3",
"source": 1
},
{
"begin": 396,
"end": 399,
"name": "DUP6",
"source": 1
},
{
"begin": 372,
"end": 413,
"name": "PUSH [tag]",
"source": 1,
"value": "69"
},
{
"begin": 372,
"end": 413,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 372,
"end": 413,
"name": "tag",
"source": 1,
"value": "68"
},
{
"begin": 372,
"end": 413,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 91,
"end": 419,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 419,
"name": "SWAP4",
"source": 1
},
{
"begin": 7,
"end": 419,
"name": "SWAP3",
"source": 1
},
{
"begin": 7,
"end": 419,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 419,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 419,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 419,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 439,
"end": 779,
"name": "tag",
"source": 1,
"value": "70"
},
{
"begin": 439,
"end": 779,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 495,
"end": 500,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 544,
"end": 547,
"name": "DUP3",
"source": 1
},
{
"begin": 537,
"end": 541,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 529,
"end": 535,
"name": "DUP4",
"source": 1
},
{
"begin": 525,
"end": 542,
"name": "ADD",
"source": 1
},
{
"begin": 521,
"end": 548,
"name": "SLT",
"source": 1
},
{
"begin": 511,
"end": 633,
"name": "PUSH [tag]",
"source": 1,
"value": "72"
},
{
"begin": 511,
"end": 633,
"name": "JUMPI",
"source": 1
},
{
"begin": 552,
"end": 631,
"name": "PUSH [tag]",
"source": 1,
"value": "73"
},
{
"begin": 552,
"end": 631,
"name": "PUSH [tag]",
"source": 1,
"value": "74"
},
{
"begin": 552,
"end": 631,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 552,
"end": 631,
"name": "tag",
"source": 1,
"value": "73"
},
{
"begin": 552,
"end": 631,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 511,
"end": 633,
"name": "tag",
"source": 1,
"value": "72"
},
{
"begin": 511,
"end": 633,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 669,
"end": 675,
"name": "DUP2",
"source": 1
},
{
"begin": 656,
"end": 676,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 694,
"end": 773,
"name": "PUSH [tag]",
"source": 1,
"value": "75"
},
{
"begin": 769,
"end": 772,
"name": "DUP5",
"source": 1
},
{
"begin": 761,
"end": 767,
"name": "DUP3",
"source": 1
},
{
"begin": 754,
"end": 758,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 746,
"end": 752,
"name": "DUP7",
"source": 1
},
{
"begin": 742,
"end": 759,
"name": "ADD",
"source": 1
},
{
"begin": 694,
"end": 773,
"name": "PUSH [tag]",
"source": 1,
"value": "59"
},
{
"begin": 694,
"end": 773,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 694,
"end": 773,
"name": "tag",
"source": 1,
"value": "75"
},
{
"begin": 694,
"end": 773,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 685,
"end": 773,
"name": "SWAP2",
"source": 1
},
{
"begin": 685,
"end": 773,
"name": "POP",
"source": 1
},
{
"begin": 501,
"end": 779,
"name": "POP",
"source": 1
},
{
"begin": 439,
"end": 779,
"name": "SWAP3",
"source": 1
},
{
"begin": 439,
"end": 779,
"name": "SWAP2",
"source": 1
},
{
"begin": 439,
"end": 779,
"name": "POP",
"source": 1
},
{
"begin": 439,
"end": 779,
"name": "POP",
"source": 1
},
{
"begin": 439,
"end": 779,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 785,
"end": 924,
"name": "tag",
"source": 1,
"value": "76"
},
{
"begin": 785,
"end": 924,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 831,
"end": 836,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 869,
"end": 875,
"name": "DUP2",
"source": 1
},
{
"begin": 856,
"end": 876,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 847,
"end": 876,
"name": "SWAP1",
"source": 1
},
{
"begin": 847,
"end": 876,
"name": "POP",
"source": 1
},
{
"begin": 885,
"end": 918,
"name": "PUSH [tag]",
"source": 1,
"value": "78"
},
{
"begin": 912,
"end": 917,
"name": "DUP2",
"source": 1
},
{
"begin": 885,
"end": 918,
"name": "PUSH [tag]",
"source": 1,
"value": "79"
},
{
"begin": 885,
"end": 918,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 885,
"end": 918,
"name": "tag",
"source": 1,
"value": "78"
},
{
"begin": 885,
"end": 918,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 785,
"end": 924,
"name": "SWAP3",
"source": 1
},
{
"begin": 785,
"end": 924,
"name": "SWAP2",
"source": 1
},
{
"begin": 785,
"end": 924,
"name": "POP",
"source": 1
},
{
"begin": 785,
"end": 924,
"name": "POP",
"source": 1
},
{
"begin": 785,
"end": 924,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 930,
"end": 1439,
"name": "tag",
"source": 1,
"value": "21"
},
{
"begin": 930,
"end": 1439,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 999,
"end": 1005,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1048,
"end": 1050,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1036,
"end": 1045,
"name": "DUP3",
"source": 1
},
{
"begin": 1027,
"end": 1034,
"name": "DUP5",
"source": 1
},
{
"begin": 1023,
"end": 1046,
"name": "SUB",
"source": 1
},
{
"begin": 1019,
"end": 1051,
"name": "SLT",
"source": 1
},
{
"begin": 1016,
"end": 1135,
"name": "ISZERO",
"source": 1
},
{
"begin": 1016,
"end": 1135,
"name": "PUSH [tag]",
"source": 1,
"value": "81"
},
{
"begin": 1016,
"end": 1135,
"name": "JUMPI",
"source": 1
},
{
"begin": 1054,
"end": 1133,
"name": "PUSH [tag]",
"source": 1,
"value": "82"
},
{
"begin": 1054,
"end": 1133,
"name": "PUSH [tag]",
"source": 1,
"value": "83"
},
{
"begin": 1054,
"end": 1133,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1054,
"end": 1133,
"name": "tag",
"source": 1,
"value": "82"
},
{
"begin": 1054,
"end": 1133,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1016,
"end": 1135,
"name": "tag",
"source": 1,
"value": "81"
},
{
"begin": 1016,
"end": 1135,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1202,
"end": 1203,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1191,
"end": 1200,
"name": "DUP3",
"source": 1
},
{
"begin": 1187,
"end": 1204,
"name": "ADD",
"source": 1
},
{
"begin": 1174,
"end": 1205,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 1232,
"end": 1250,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFF"
},
{
"begin": 1224,
"end": 1230,
"name": "DUP2",
"source": 1
},
{
"begin": 1221,
"end": 1251,
"name": "GT",
"source": 1
},
{
"begin": 1218,
"end": 1335,
"name": "ISZERO",
"source": 1
},
{
"begin": 1218,
"end": 1335,
"name": "PUSH [tag]",
"source": 1,
"value": "84"
},
{
"begin": 1218,
"end": 1335,
"name": "JUMPI",
"source": 1
},
{
"begin": 1254,
"end": 1333,
"name": "PUSH [tag]",
"source": 1,
"value": "85"
},
{
"begin": 1254,
"end": 1333,
"name": "PUSH [tag]",
"source": 1,
"value": "86"
},
{
"begin": 1254,
"end": 1333,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1254,
"end": 1333,
"name": "tag",
"source": 1,
"value": "85"
},
{
"begin": 1254,
"end": 1333,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1218,
"end": 1335,
"name": "tag",
"source": 1,
"value": "84"
},
{
"begin": 1218,
"end": 1335,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1359,
"end": 1422,
"name": "PUSH [tag]",
"source": 1,
"value": "87"
},
{
"begin": 1414,
"end": 1421,
"name": "DUP5",
"source": 1
},
{
"begin": 1405,
"end": 1411,
"name": "DUP3",
"source": 1
},
{
"begin": 1394,
"end": 1403,
"name": "DUP6",
"source": 1
},
{
"begin": 1390,
"end": 1412,
"name": "ADD",
"source": 1
},
{
"begin": 1359,
"end": 1422,
"name": "PUSH [tag]",
"source": 1,
"value": "70"
},
{
"begin": 1359,
"end": 1422,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1359,
"end": 1422,
"name": "tag",
"source": 1,
"value": "87"
},
{
"begin": 1359,
"end": 1422,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1349,
"end": 1422,
"name": "SWAP2",
"source": 1
},
{
"begin": 1349,
"end": 1422,
"name": "POP",
"source": 1
},
{
"begin": 1145,
"end": 1432,
"name": "POP",
"source": 1
},
{
"begin": 930,
"end": 1439,
"name": "SWAP3",
"source": 1
},
{
"begin": 930,
"end": 1439,
"name": "SWAP2",
"source": 1
},
{
"begin": 930,
"end": 1439,
"name": "POP",
"source": 1
},
{
"begin": 930,
"end": 1439,
"name": "POP",
"source": 1
},
{
"begin": 930,
"end": 1439,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 1445,
"end": 1774,
"name": "tag",
"source": 1,
"value": "30"
},
{
"begin": 1445,
"end": 1774,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1504,
"end": 1510,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1553,
"end": 1555,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1541,
"end": 1550,
"name": "DUP3",
"source": 1
},
{
"begin": 1532,
"end": 1539,
"name": "DUP5",
"source": 1
},
{
"begin": 1528,
"end": 1551,
"name": "SUB",
"source": 1
},
{
"begin": 1524,
"end": 1556,
"name": "SLT",
"source": 1
},
{
"begin": 1521,
"end": 1640,
"name": "ISZERO",
"source": 1
},
{
"begin": 1521,
"end": 1640,
"name": "PUSH [tag]",
"source": 1,
"value": "89"
},
{
"begin": 1521,
"end": 1640,
"name": "JUMPI",
"source": 1
},
{
"begin": 1559,
"end": 1638,
"name": "PUSH [tag]",
"source": 1,
"value": "90"
},
{
"begin": 1559,
"end": 1638,
"name": "PUSH [tag]",
"source": 1,
"value": "83"
},
{
"begin": 1559,
"end": 1638,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1559,
"end": 1638,
"name": "tag",
"source": 1,
"value": "90"
},
{
"begin": 1559,
"end": 1638,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1521,
"end": 1640,
"name": "tag",
"source": 1,
"value": "89"
},
{
"begin": 1521,
"end": 1640,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1679,
"end": 1680,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1704,
"end": 1757,
"name": "PUSH [tag]",
"source": 1,
"value": "91"
},
{
"begin": 1749,
"end": 1756,
"name": "DUP5",
"source": 1
},
{
"begin": 1740,
"end": 1746,
"name": "DUP3",
"source": 1
},
{
"begin": 1729,
"end": 1738,
"name": "DUP6",
"source": 1
},
{
"begin": 1725,
"end": 1747,
"name": "ADD",
"source": 1
},
{
"begin": 1704,
"end": 1757,
"name": "PUSH [tag]",
"source": 1,
"value": "76"
},
{
"begin": 1704,
"end": 1757,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1704,
"end": 1757,
"name": "tag",
"source": 1,
"value": "91"
},
{
"begin": 1704,
"end": 1757,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1694,
"end": 1757,
"name": "SWAP2",
"source": 1
},
{
"begin": 1694,
"end": 1757,
"name": "POP",
"source": 1
},
{
"begin": 1650,
"end": 1767,
"name": "POP",
"source": 1
},
{
"begin": 1445,
"end": 1774,
"name": "SWAP3",
"source": 1
},
{
"begin": 1445,
"end": 1774,
"name": "SWAP2",
"source": 1
},
{
"begin": 1445,
"end": 1774,
"name": "POP",
"source": 1
},
{
"begin": 1445,
"end": 1774,
"name": "POP",
"source": 1
},
{
"begin": 1445,
"end": 1774,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 1780,
"end": 1889,
"name": "tag",
"source": 1,
"value": "92"
},
{
"begin": 1780,
"end": 1889,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1861,
"end": 1882,
"name": "PUSH [tag]",
"source": 1,
"value": "94"
},
{
"begin": 1876,
"end": 1881,
"name": "DUP2",
"source": 1
},
{
"begin": 1861,
"end": 1882,
"name": "PUSH [tag]",
"source": 1,
"value": "95"
},
{
"begin": 1861,
"end": 1882,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1861,
"end": 1882,
"name": "tag",
"source": 1,
"value": "94"
},
{
"begin": 1861,
"end": 1882,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1856,
"end": 1859,
"name": "DUP3",
"source": 1
},
{
"begin": 1849,
"end": 1883,
"name": "MSTORE",
"source": 1
},
{
"begin": 1780,
"end": 1889,
"name": "POP",
"source": 1
},
{
"begin": 1780,
"end": 1889,
"name": "POP",
"source": 1
},
{
"begin": 1780,
"end": 1889,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 1895,
"end": 2259,
"name": "tag",
"source": 1,
"value": "96"
},
{
"begin": 1895,
"end": 2259,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1983,
"end": 1986,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2011,
"end": 2050,
"name": "PUSH [tag]",
"source": 1,
"value": "98"
},
{
"begin": 2044,
"end": 2049,
"name": "DUP3",
"source": 1
},
{
"begin": 2011,
"end": 2050,
"name": "PUSH [tag]",
"source": 1,
"value": "99"
},
{
"begin": 2011,
"end": 2050,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 2011,
"end": 2050,
"name": "tag",
"source": 1,
"value": "98"
},
{
"begin": 2011,
"end": 2050,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2066,
"end": 2137,
"name": "PUSH [tag]",
"source": 1,
"value": "100"
},
{
"begin": 2130,
"end": 2136,
"name": "DUP2",
"source": 1
},
{
"begin": 2125,
"end": 2128,
"name": "DUP6",
"source": 1
},
{
"begin": 2066,
"end": 2137,
"name": "PUSH [tag]",
"source": 1,
"value": "101"
},
{
"begin": 2066,
"end": 2137,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 2066,
"end": 2137,
"name": "tag",
"source": 1,
"value": "100"
},
{
"begin": 2066,
"end": 2137,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2059,
"end": 2137,
"name": "SWAP4",
"source": 1
},
{
"begin": 2059,
"end": 2137,
"name": "POP",
"source": 1
},
{
"begin": 2146,
"end": 2198,
"name": "PUSH [tag]",
"source": 1,
"value": "102"
},
{
"begin": 2191,
"end": 2197,
"name": "DUP2",
"source": 1
},
{
"begin": 2186,
"end": 2189,
"name": "DUP6",
"source": 1
},
{
"begin": 2179,
"end": 2183,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 2172,
"end": 2177,
"name": "DUP7",
"source": 1
},
{
"begin": 2168,
"end": 2184,
"name": "ADD",
"source": 1
},
{
"begin": 2146,
"end": 2198,
"name": "PUSH [tag]",
"source": 1,
"value": "103"
},
{
"begin": 2146,
"end": 2198,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 2146,
"end": 2198,
"name": "tag",
"source": 1,
"value": "102"
},
{
"begin": 2146,
"end": 2198,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2223,
"end": 2252,
"name": "PUSH [tag]",
"source": 1,
"value": "104"
},
{
"begin": 2245,
"end": 2251,
"name": "DUP2",
"source": 1
},
{
"begin": 2223,
"end": 2252,
"name": "PUSH [tag]",
"source": 1,
"value": "105"
},
{
"begin": 2223,
"end": 2252,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 2223,
"end": 2252,
"name": "tag",
"source": 1,
"value": "104"
},
{
"begin": 2223,
"end": 2252,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2218,
"end": 2221,
"name": "DUP5",
"source": 1
},
{
"begin": 2214,
"end": 2253,
"name": "ADD",
"source": 1
},
{
"begin": 2207,
"end": 2253,
"name": "SWAP2",
"source": 1
},
{
"begin": 2207,
"end": 2253,
"name": "POP",
"source": 1
},
{
"begin": 1987,
"end": 2259,
"name": "POP",
"source": 1
},
{
"begin": 1895,
"end": 2259,
"name": "SWAP3",
"source": 1
},
{
"begin": 1895,
"end": 2259,
"name": "SWAP2",
"source": 1
},
{
"begin": 1895,
"end": 2259,
"name": "POP",
"source": 1
},
{
"begin": 1895,
"end": 2259,
"name": "POP",
"source": 1
},
{
"begin": 1895,
"end": 2259,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 2265,
"end": 2667,
"name": "tag",
"source": 1,
"value": "106"
},
{
"begin": 2265,
"end": 2667,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2425,
"end": 2428,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2446,
"end": 2531,
"name": "PUSH [tag]",
"source": 1,
"value": "108"
},
{
"begin": 2528,
"end": 2530,
"name": "PUSH",
"source": 1,
"value": "12"
},
{
"begin": 2523,
"end": 2526,
"name": "DUP4",
"source": 1
},
{
"begin": 2446,
"end": 2531,
"name": "PUSH [tag]",
"source": 1,
"value": "109"
},
{
"begin": 2446,
"end": 2531,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 2446,
"end": 2531,
"name": "tag",
"source": 1,
"value": "108"
},
{
"begin": 2446,
"end": 2531,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2439,
"end": 2531,
"name": "SWAP2",
"source": 1
},
{
"begin": 2439,
"end": 2531,
"name": "POP",
"source": 1
},
{
"begin": 2540,
"end": 2633,
"name": "PUSH [tag]",
"source": 1,
"value": "110"
},
{
"begin": 2629,
"end": 2632,
"name": "DUP3",
"source": 1
},
{
"begin": 2540,
"end": 2633,
"name": "PUSH [tag]",
"source": 1,
"value": "111"
},
{
"begin": 2540,
"end": 2633,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 2540,
"end": 2633,
"name": "tag",
"source": 1,
"value": "110"
},
{
"begin": 2540,
"end": 2633,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2658,
"end": 2660,
"name": "PUSH",
"source": 1,
"value": "12"
},
{
"begin": 2653,
"end": 2656,
"name": "DUP3",
"source": 1
},
{
"begin": 2649,
"end": 2661,
"name": "ADD",
"source": 1
},
{
"begin": 2642,
"end": 2661,
"name": "SWAP1",
"source": 1
},
{
"begin": 2642,
"end": 2661,
"name": "POP",
"source": 1
},
{
"begin": 2265,
"end": 2667,
"name": "SWAP2",
"source": 1
},
{
"begin": 2265,
"end": 2667,
"name": "SWAP1",
"source": 1
},
{
"begin": 2265,
"end": 2667,
"name": "POP",
"source": 1
},
{
"begin": 2265,
"end": 2667,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 2673,
"end": 2791,
"name": "tag",
"source": 1,
"value": "112"
},
{
"begin": 2673,
"end": 2791,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2760,
"end": 2784,
"name": "PUSH [tag]",
"source": 1,
"value": "114"
},
{
"begin": 2778,
"end": 2783,
"name": "DUP2",
"source": 1
},
{
"begin": 2760,
"end": 2784,
"name": "PUSH [tag]",
"source": 1,
"value": "115"
},
{
"begin": 2760,
"end": 2784,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 2760,
"end": 2784,
"name": "tag",
"source": 1,
"value": "114"
},
{
"begin": 2760,
"end": 2784,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2755,
"end": 2758,
"name": "DUP3",
"source": 1
},
{
"begin": 2748,
"end": 2785,
"name": "MSTORE",
"source": 1
},
{
"begin": 2673,
"end": 2791,
"name": "POP",
"source": 1
},
{
"begin": 2673,
"end": 2791,
"name": "POP",
"source": 1
},
{
"begin": 2673,
"end": 2791,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 2797,
"end": 3178,
"name": "tag",
"source": 1,
"value": "42"
},
{
"begin": 2797,
"end": 3178,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2982,
"end": 2985,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3004,
"end": 3152,
"name": "PUSH [tag]",
"source": 1,
"value": "117"
},
{
"begin": 3148,
"end": 3151,
"name": "DUP3",
"source": 1
},
{
"begin": 3004,
"end": 3152,
"name": "PUSH [tag]",
"source": 1,
"value": "106"
},
{
"begin": 3004,
"end": 3152,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 3004,
"end": 3152,
"name": "tag",
"source": 1,
"value": "117"
},
{
"begin": 3004,
"end": 3152,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2997,
"end": 3152,
"name": "SWAP2",
"source": 1
},
{
"begin": 2997,
"end": 3152,
"name": "POP",
"source": 1
},
{
"begin": 3169,
"end": 3172,
"name": "DUP2",
"source": 1
},
{
"begin": 3162,
"end": 3172,
"name": "SWAP1",
"source": 1
},
{
"begin": 3162,
"end": 3172,
"name": "POP",
"source": 1
},
{
"begin": 2797,
"end": 3178,
"name": "SWAP2",
"source": 1
},
{
"begin": 2797,
"end": 3178,
"name": "SWAP1",
"source": 1
},
{
"begin": 2797,
"end": 3178,
"name": "POP",
"source": 1
},
{
"begin": 2797,
"end": 3178,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 3184,
"end": 3394,
"name": "tag",
"source": 1,
"value": "18"
},
{
"begin": 3184,
"end": 3394,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3271,
"end": 3275,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3309,
"end": 3311,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 3298,
"end": 3307,
"name": "DUP3",
"source": 1
},
{
"begin": 3294,
"end": 3312,
"name": "ADD",
"source": 1
},
{
"begin": 3286,
"end": 3312,
"name": "SWAP1",
"source": 1
},
{
"begin": 3286,
"end": 3312,
"name": "POP",
"source": 1
},
{
"begin": 3322,
"end": 3387,
"name": "PUSH [tag]",
"source": 1,
"value": "119"
},
{
"begin": 3384,
"end": 3385,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3373,
"end": 3382,
"name": "DUP4",
"source": 1
},
{
"begin": 3369,
"end": 3386,
"name": "ADD",
"source": 1
},
{
"begin": 3360,
"end": 3366,
"name": "DUP5",
"source": 1
},
{
"begin": 3322,
"end": 3387,
"name": "PUSH [tag]",
"source": 1,
"value": "92"
},
{
"begin": 3322,
"end": 3387,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 3322,
"end": 3387,
"name": "tag",
"source": 1,
"value": "119"
},
{
"begin": 3322,
"end": 3387,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3184,
"end": 3394,
"name": "SWAP3",
"source": 1
},
{
"begin": 3184,
"end": 3394,
"name": "SWAP2",
"source": 1
},
{
"begin": 3184,
"end": 3394,
"name": "POP",
"source": 1
},
{
"begin": 3184,
"end": 3394,
"name": "POP",
"source": 1
},
{
"begin": 3184,
"end": 3394,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 3400,
"end": 3713,
"name": "tag",
"source": 1,
"value": "14"
},
{
"begin": 3400,
"end": 3713,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3513,
"end": 3517,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3551,
"end": 3553,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 3540,
"end": 3549,
"name": "DUP3",
"source": 1
},
{
"begin": 3536,
"end": 3554,
"name": "ADD",
"source": 1
},
{
"begin": 3528,
"end": 3554,
"name": "SWAP1",
"source": 1
},
{
"begin": 3528,
"end": 3554,
"name": "POP",
"source": 1
},
{
"begin": 3600,
"end": 3609,
"name": "DUP2",
"source": 1
},
{
"begin": 3594,
"end": 3598,
"name": "DUP2",
"source": 1
},
{
"begin": 3590,
"end": 3610,
"name": "SUB",
"source": 1
},
{
"begin": 3586,
"end": 3587,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3575,
"end": 3584,
"name": "DUP4",
"source": 1
},
{
"begin": 3571,
"end": 3588,
"name": "ADD",
"source": 1
},
{
"begin": 3564,
"end": 3611,
"name": "MSTORE",
"source": 1
},
{
"begin": 3628,
"end": 3706,
"name": "PUSH [tag]",
"source": 1,
"value": "121"
},
{
"begin": 3701,
"end": 3705,
"name": "DUP2",
"source": 1
},
{
"begin": 3692,
"end": 3698,
"name": "DUP5",
"source": 1
},
{
"begin": 3628,
"end": 3706,
"name": "PUSH [tag]",
"source": 1,
"value": "96"
},
{
"begin": 3628,
"end": 3706,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 3628,
"end": 3706,
"name": "tag",
"source": 1,
"value": "121"
},
{
"begin": 3628,
"end": 3706,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3620,
"end": 3706,
"name": "SWAP1",
"source": 1
},
{
"begin": 3620,
"end": 3706,
"name": "POP",
"source": 1
},
{
"begin": 3400,
"end": 3713,
"name": "SWAP3",
"source": 1
},
{
"begin": 3400,
"end": 3713,
"name": "SWAP2",
"source": 1
},
{
"begin": 3400,
"end": 3713,
"name": "POP",
"source": 1
},
{
"begin": 3400,
"end": 3713,
"name": "POP",
"source": 1
},
{
"begin": 3400,
"end": 3713,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 3719,
"end": 3941,
"name": "tag",
"source": 1,
"value": "27"
},
{
"begin": 3719,
"end": 3941,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3812,
"end": 3816,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3850,
"end": 3852,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 3839,
"end": 3848,
"name": "DUP3",
"source": 1
},
{
"begin": 3835,
"end": 3853,
"name": "ADD",
"source": 1
},
{
"begin": 3827,
"end": 3853,
"name": "SWAP1",
"source": 1
},
{
"begin": 3827,
"end": 3853,
"name": "POP",
"source": 1
},
{
"begin": 3863,
"end": 3934,
"name": "PUSH [tag]",
"source": 1,
"value": "123"
},
{
"begin": 3931,
"end": 3932,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3920,
"end": 3929,
"name": "DUP4",
"source": 1
},
{
"begin": 3916,
"end": 3933,
"name": "ADD",
"source": 1
},
{
"begin": 3907,
"end": 3913,
"name": "DUP5",
"source": 1
},
{
"begin": 3863,
"end": 3934,
"name": "PUSH [tag]",
"source": 1,
"value": "112"
},
{
"begin": 3863,
"end": 3934,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 3863,
"end": 3934,
"name": "tag",
"source": 1,
"value": "123"
},
{
"begin": 3863,
"end": 3934,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3719,
"end": 3941,
"name": "SWAP3",
"source": 1
},
{
"begin": 3719,
"end": 3941,
"name": "SWAP2",
"source": 1
},
{
"begin": 3719,
"end": 3941,
"name": "POP",
"source": 1
},
{
"begin": 3719,
"end": 3941,
"name": "POP",
"source": 1
},
{
"begin": 3719,
"end": 3941,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 3947,
"end": 4076,
"name": "tag",
"source": 1,
"value": "64"
},
{
"begin": 3947,
"end": 4076,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3981,
"end": 3987,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4008,
"end": 4028,
"name": "PUSH [tag]",
"source": 1,
"value": "125"
},
{
"begin": 4008,
"end": 4028,
"name": "PUSH [tag]",
"source": 1,
"value": "126"
},
{
"begin": 4008,
"end": 4028,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 4008,
"end": 4028,
"name": "tag",
"source": 1,
"value": "125"
},
{
"begin": 4008,
"end": 4028,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3998,
"end": 4028,
"name": "SWAP1",
"source": 1
},
{
"begin": 3998,
"end": 4028,
"name": "POP",
"source": 1
},
{
"begin": 4037,
"end": 4070,
"name": "PUSH [tag]",
"source": 1,
"value": "127"
},
{
"begin": 4065,
"end": 4069,
"name": "DUP3",
"source": 1
},
{
"begin": 4057,
"end": 4063,
"name": "DUP3",
"source": 1
},
{
"begin": 4037,
"end": 4070,
"name": "PUSH [tag]",
"source": 1,
"value": "128"
},
{
"begin": 4037,
"end": 4070,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 4037,
"end": 4070,
"name": "tag",
"source": 1,
"value": "127"
},
{
"begin": 4037,
"end": 4070,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3947,
"end": 4076,
"name": "SWAP2",
"source": 1
},
{
"begin": 3947,
"end": 4076,
"name": "SWAP1",
"source": 1
},
{
"begin": 3947,
"end": 4076,
"name": "POP",
"source": 1
},
{
"begin": 3947,
"end": 4076,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 4082,
"end": 4157,
"name": "tag",
"source": 1,
"value": "126"
},
{
"begin": 4082,
"end": 4157,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4115,
"end": 4121,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4148,
"end": 4150,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 4142,
"end": 4151,
"name": "MLOAD",
"source": 1
},
{
"begin": 4132,
"end": 4151,
"name": "SWAP1",
"source": 1
},
{
"begin": 4132,
"end": 4151,
"name": "POP",
"source": 1
},
{
"begin": 4082,
"end": 4157,
"name": "SWAP1",
"source": 1
},
{
"begin": 4082,
"end": 4157,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 4163,
"end": 4471,
"name": "tag",
"source": 1,
"value": "63"
},
{
"begin": 4163,
"end": 4471,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4225,
"end": 4229,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4315,
"end": 4333,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFF"
},
{
"begin": 4307,
"end": 4313,
"name": "DUP3",
"source": 1
},
{
"begin": 4304,
"end": 4334,
"name": "GT",
"source": 1
},
{
"begin": 4301,
"end": 4357,
"name": "ISZERO",
"source": 1
},
{
"begin": 4301,
"end": 4357,
"name": "PUSH [tag]",
"source": 1,
"value": "131"
},
{
"begin": 4301,
"end": 4357,
"name": "JUMPI",
"source": 1
},
{
"begin": 4337,
"end": 4355,
"name": "PUSH [tag]",
"source": 1,
"value": "132"
},
{
"begin": 4337,
"end": 4355,
"name": "PUSH [tag]",
"source": 1,
"value": "133"
},
{
"begin": 4337,
"end": 4355,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 4337,
"end": 4355,
"name": "tag",
"source": 1,
"value": "132"
},
{
"begin": 4337,
"end": 4355,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4301,
"end": 4357,
"name": "tag",
"source": 1,
"value": "131"
},
{
"begin": 4301,
"end": 4357,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4375,
"end": 4404,
"name": "PUSH [tag]",
"source": 1,
"value": "134"
},
{
"begin": 4397,
"end": 4403,
"name": "DUP3",
"source": 1
},
{
"begin": 4375,
"end": 4404,
"name": "PUSH [tag]",
"source": 1,
"value": "105"
},
{
"begin": 4375,
"end": 4404,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 4375,
"end": 4404,
"name": "tag",
"source": 1,
"value": "134"
},
{
"begin": 4375,
"end": 4404,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4367,
"end": 4404,
"name": "SWAP1",
"source": 1
},
{
"begin": 4367,
"end": 4404,
"name": "POP",
"source": 1
},
{
"begin": 4459,
"end": 4463,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 4453,
"end": 4457,
"name": "DUP2",
"source": 1
},
{
"begin": 4449,
"end": 4464,
"name": "ADD",
"source": 1
},
{
"begin": 4441,
"end": 4464,
"name": "SWAP1",
"source": 1
},
{
"begin": 4441,
"end": 4464,
"name": "POP",
"source": 1
},
{
"begin": 4163,
"end": 4471,
"name": "SWAP2",
"source": 1
},
{
"begin": 4163,
"end": 4471,
"name": "SWAP1",
"source": 1
},
{
"begin": 4163,
"end": 4471,
"name": "POP",
"source": 1
},
{
"begin": 4163,
"end": 4471,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 4477,
"end": 4576,
"name": "tag",
"source": 1,
"value": "99"
},
{
"begin": 4477,
"end": 4576,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4529,
"end": 4535,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4563,
"end": 4568,
"name": "DUP2",
"source": 1
},
{
"begin": 4557,
"end": 4569,
"name": "MLOAD",
"source": 1
},
{
"begin": 4547,
"end": 4569,
"name": "SWAP1",
"source": 1
},
{
"begin": 4547,
"end": 4569,
"name": "POP",
"source": 1
},
{
"begin": 4477,
"end": 4576,
"name": "SWAP2",
"source": 1
},
{
"begin": 4477,
"end": 4576,
"name": "SWAP1",
"source": 1
},
{
"begin": 4477,
"end": 4576,
"name": "POP",
"source": 1
},
{
"begin": 4477,
"end": 4576,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 4582,
"end": 4751,
"name": "tag",
"source": 1,
"value": "101"
},
{
"begin": 4582,
"end": 4751,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4666,
"end": 4677,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4700,
"end": 4706,
"name": "DUP3",
"source": 1
},
{
"begin": 4695,
"end": 4698,
"name": "DUP3",
"source": 1
},
{
"begin": 4688,
"end": 4707,
"name": "MSTORE",
"source": 1
},
{
"begin": 4740,
"end": 4744,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 4735,
"end": 4738,
"name": "DUP3",
"source": 1
},
{
"begin": 4731,
"end": 4745,
"name": "ADD",
"source": 1
},
{
"begin": 4716,
"end": 4745,
"name": "SWAP1",
"source": 1
},
{
"begin": 4716,
"end": 4745,
"name": "POP",
"source": 1
},
{
"begin": 4582,
"end": 4751,
"name": "SWAP3",
"source": 1
},
{
"begin": 4582,
"end": 4751,
"name": "SWAP2",
"source": 1
},
{
"begin": 4582,
"end": 4751,
"name": "POP",
"source": 1
},
{
"begin": 4582,
"end": 4751,
"name": "POP",
"source": 1
},
{
"begin": 4582,
"end": 4751,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 4757,
"end": 4905,
"name": "tag",
"source": 1,
"value": "109"
},
{
"begin": 4757,
"end": 4905,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4859,
"end": 4870,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4896,
"end": 4899,
"name": "DUP2",
"source": 1
},
{
"begin": 4881,
"end": 4899,
"name": "SWAP1",
"source": 1
},
{
"begin": 4881,
"end": 4899,
"name": "POP",
"source": 1
},
{
"begin": 4757,
"end": 4905,
"name": "SWAP3",
"source": 1
},
{
"begin": 4757,
"end": 4905,
"name": "SWAP2",
"source": 1
},
{
"begin": 4757,
"end": 4905,
"name": "POP",
"source": 1
},
{
"begin": 4757,
"end": 4905,
"name": "POP",
"source": 1
},
{
"begin": 4757,
"end": 4905,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 4911,
"end": 5001,
"name": "tag",
"source": 1,
"value": "95"
},
{
"begin": 4911,
"end": 5001,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4945,
"end": 4952,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4988,
"end": 4993,
"name": "DUP2",
"source": 1
},
{
"begin": 4981,
"end": 4994,
"name": "ISZERO",
"source": 1
},
{
"begin": 4974,
"end": 4995,
"name": "ISZERO",
"source": 1
},
{
"begin": 4963,
"end": 4995,
"name": "SWAP1",
"source": 1
},
{
"begin": 4963,
"end": 4995,
"name": "POP",
"source": 1
},
{
"begin": 4911,
"end": 5001,
"name": "SWAP2",
"source": 1
},
{
"begin": 4911,
"end": 5001,
"name": "SWAP1",
"source": 1
},
{
"begin": 4911,
"end": 5001,
"name": "POP",
"source": 1
},
{
"begin": 4911,
"end": 5001,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 5007,
"end": 5084,
"name": "tag",
"source": 1,
"value": "115"
},
{
"begin": 5007,
"end": 5084,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5044,
"end": 5051,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5073,
"end": 5078,
"name": "DUP2",
"source": 1
},
{
"begin": 5062,
"end": 5078,
"name": "SWAP1",
"source": 1
},
{
"begin": 5062,
"end": 5078,
"name": "POP",
"source": 1
},
{
"begin": 5007,
"end": 5084,
"name": "SWAP2",
"source": 1
},
{
"begin": 5007,
"end": 5084,
"name": "SWAP1",
"source": 1
},
{
"begin": 5007,
"end": 5084,
"name": "POP",
"source": 1
},
{
"begin": 5007,
"end": 5084,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 5090,
"end": 5244,
"name": "tag",
"source": 1,
"value": "69"
},
{
"begin": 5090,
"end": 5244,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5174,
"end": 5180,
"name": "DUP3",
"source": 1
},
{
"begin": 5169,
"end": 5172,
"name": "DUP2",
"source": 1
},
{
"begin": 5164,
"end": 5167,
"name": "DUP4",
"source": 1
},
{
"begin": 5151,
"end": 5181,
"name": "CALLDATACOPY",
"source": 1
},
{
"begin": 5236,
"end": 5237,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5227,
"end": 5233,
"name": "DUP4",
"source": 1
},
{
"begin": 5222,
"end": 5225,
"name": "DUP4",
"source": 1
},
{
"begin": 5218,
"end": 5234,
"name": "ADD",
"source": 1
},
{
"begin": 5211,
"end": 5238,
"name": "MSTORE",
"source": 1
},
{
"begin": 5090,
"end": 5244,
"name": "POP",
"source": 1
},
{
"begin": 5090,
"end": 5244,
"name": "POP",
"source": 1
},
{
"begin": 5090,
"end": 5244,
"name": "POP",
"source": 1
},
{
"begin": 5090,
"end": 5244,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 5250,
"end": 5557,
"name": "tag",
"source": 1,
"value": "103"
},
{
"begin": 5250,
"end": 5557,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5318,
"end": 5319,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5328,
"end": 5441,
"name": "tag",
"source": 1,
"value": "142"
},
{
"begin": 5328,
"end": 5441,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5342,
"end": 5348,
"name": "DUP4",
"source": 1
},
{
"begin": 5339,
"end": 5340,
"name": "DUP2",
"source": 1
},
{
"begin": 5336,
"end": 5349,
"name": "LT",
"source": 1
},
{
"begin": 5328,
"end": 5441,
"name": "ISZERO",
"source": 1
},
{
"begin": 5328,
"end": 5441,
"name": "PUSH [tag]",
"source": 1,
"value": "144"
},
{
"begin": 5328,
"end": 5441,
"name": "JUMPI",
"source": 1
},
{
"begin": 5427,
"end": 5428,
"name": "DUP1",
"source": 1
},
{
"begin": 5422,
"end": 5425,
"name": "DUP3",
"source": 1
},
{
"begin": 5418,
"end": 5429,
"name": "ADD",
"source": 1
},
{
"begin": 5412,
"end": 5430,
"name": "MLOAD",
"source": 1
},
{
"begin": 5408,
"end": 5409,
"name": "DUP2",
"source": 1
},
{
"begin": 5403,
"end": 5406,
"name": "DUP5",
"source": 1
},
{
"begin": 5399,
"end": 5410,
"name": "ADD",
"source": 1
},
{
"begin": 5392,
"end": 5431,
"name": "MSTORE",
"source": 1
},
{
"begin": 5364,
"end": 5366,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 5361,
"end": 5362,
"name": "DUP2",
"source": 1
},
{
"begin": 5357,
"end": 5367,
"name": "ADD",
"source": 1
},
{
"begin": 5352,
"end": 5367,
"name": "SWAP1",
"source": 1
},
{
"begin": 5352,
"end": 5367,
"name": "POP",
"source": 1
},
{
"begin": 5328,
"end": 5441,
"name": "PUSH [tag]",
"source": 1,
"value": "142"
},
{
"begin": 5328,
"end": 5441,
"name": "JUMP",
"source": 1
},
{
"begin": 5328,
"end": 5441,
"name": "tag",
"source": 1,
"value": "144"
},
{
"begin": 5328,
"end": 5441,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5459,
"end": 5465,
"name": "DUP4",
"source": 1
},
{
"begin": 5456,
"end": 5457,
"name": "DUP2",
"source": 1
},
{
"begin": 5453,
"end": 5466,
"name": "GT",
"source": 1
},
{
"begin": 5450,
"end": 5551,
"name": "ISZERO",
"source": 1
},
{
"begin": 5450,
"end": 5551,
"name": "PUSH [tag]",
"source": 1,
"value": "145"
},
{
"begin": 5450,
"end": 5551,
"name": "JUMPI",
"source": 1
},
{
"begin": 5539,
"end": 5540,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5530,
"end": 5536,
"name": "DUP5",
"source": 1
},
{
"begin": 5525,
"end": 5528,
"name": "DUP5",
"source": 1
},
{
"begin": 5521,
"end": 5537,
"name": "ADD",
"source": 1
},
{
"begin": 5514,
"end": 5541,
"name": "MSTORE",
"source": 1
},
{
"begin": 5450,
"end": 5551,
"name": "tag",
"source": 1,
"value": "145"
},
{
"begin": 5450,
"end": 5551,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5299,
"end": 5557,
"name": "POP",
"source": 1
},
{
"begin": 5250,
"end": 5557,
"name": "POP",
"source": 1
},
{
"begin": 5250,
"end": 5557,
"name": "POP",
"source": 1
},
{
"begin": 5250,
"end": 5557,
"name": "POP",
"source": 1
},
{
"begin": 5250,
"end": 5557,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 5563,
"end": 5883,
"name": "tag",
"source": 1,
"value": "35"
},
{
"begin": 5563,
"end": 5883,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5607,
"end": 5613,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5644,
"end": 5645,
"name": "PUSH",
"source": 1,
"value": "2"
},
{
"begin": 5638,
"end": 5642,
"name": "DUP3",
"source": 1
},
{
"begin": 5634,
"end": 5646,
"name": "DIV",
"source": 1
},
{
"begin": 5624,
"end": 5646,
"name": "SWAP1",
"source": 1
},
{
"begin": 5624,
"end": 5646,
"name": "POP",
"source": 1
},
{
"begin": 5691,
"end": 5692,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 5685,
"end": 5689,
"name": "DUP3",
"source": 1
},
{
"begin": 5681,
"end": 5693,
"name": "AND",
"source": 1
},
{
"begin": 5712,
"end": 5730,
"name": "DUP1",
"source": 1
},
{
"begin": 5702,
"end": 5783,
"name": "PUSH [tag]",
"source": 1,
"value": "147"
},
{
"begin": 5702,
"end": 5783,
"name": "JUMPI",
"source": 1
},
{
"begin": 5768,
"end": 5772,
"name": "PUSH",
"source": 1,
"value": "7F"
},
{
"begin": 5760,
"end": 5766,
"name": "DUP3",
"source": 1
},
{
"begin": 5756,
"end": 5773,
"name": "AND",
"source": 1
},
{
"begin": 5746,
"end": 5773,
"name": "SWAP2",
"source": 1
},
{
"begin": 5746,
"end": 5773,
"name": "POP",
"source": 1
},
{
"begin": 5702,
"end": 5783,
"name": "tag",
"source": 1,
"value": "147"
},
{
"begin": 5702,
"end": 5783,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5830,
"end": 5832,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 5822,
"end": 5828,
"name": "DUP3",
"source": 1
},
{
"begin": 5819,
"end": 5833,
"name": "LT",
"source": 1
},
{
"begin": 5799,
"end": 5817,
"name": "DUP2",
"source": 1
},
{
"begin": 5796,
"end": 5834,
"name": "EQ",
"source": 1
},
{
"begin": 5793,
"end": 5877,
"name": "ISZERO",
"source": 1
},
{
"begin": 5793,
"end": 5877,
"name": "PUSH [tag]",
"source": 1,
"value": "148"
},
{
"begin": 5793,
"end": 5877,
"name": "JUMPI",
"source": 1
},
{
"begin": 5849,
"end": 5867,
"name": "PUSH [tag]",
"source": 1,
"value": "149"
},
{
"begin": 5849,
"end": 5867,
"name": "PUSH [tag]",
"source": 1,
"value": "150"
},
{
"begin": 5849,
"end": 5867,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 5849,
"end": 5867,
"name": "tag",
"source": 1,
"value": "149"
},
{
"begin": 5849,
"end": 5867,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5793,
"end": 5877,
"name": "tag",
"source": 1,
"value": "148"
},
{
"begin": 5793,
"end": 5877,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5614,
"end": 5883,
"name": "POP",
"source": 1
},
{
"begin": 5563,
"end": 5883,
"name": "SWAP2",
"source": 1
},
{
"begin": 5563,
"end": 5883,
"name": "SWAP1",
"source": 1
},
{
"begin": 5563,
"end": 5883,
"name": "POP",
"source": 1
},
{
"begin": 5563,
"end": 5883,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 5889,
"end": 6170,
"name": "tag",
"source": 1,
"value": "128"
},
{
"begin": 5889,
"end": 6170,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5972,
"end": 5999,
"name": "PUSH [tag]",
"source": 1,
"value": "152"
},
{
"begin": 5994,
"end": 5998,
"name": "DUP3",
"source": 1
},
{
"begin": 5972,
"end": 5999,
"name": "PUSH [tag]",
"source": 1,
"value": "105"
},
{
"begin": 5972,
"end": 5999,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 5972,
"end": 5999,
"name": "tag",
"source": 1,
"value": "152"
},
{
"begin": 5972,
"end": 5999,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5964,
"end": 5970,
"name": "DUP2",
"source": 1
},
{
"begin": 5960,
"end": 6000,
"name": "ADD",
"source": 1
},
{
"begin": 6102,
"end": 6108,
"name": "DUP2",
"source": 1
},
{
"begin": 6090,
"end": 6100,
"name": "DUP2",
"source": 1
},
{
"begin": 6087,
"end": 6109,
"name": "LT",
"source": 1
},
{
"begin": 6066,
"end": 6084,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFF"
},
{
"begin": 6054,
"end": 6064,
"name": "DUP3",
"source": 1
},
{
"begin": 6051,
"end": 6085,
"name": "GT",
"source": 1
},
{
"begin": 6048,
"end": 6110,
"name": "OR",
"source": 1
},
{
"begin": 6045,
"end": 6133,
"name": "ISZERO",
"source": 1
},
{
"begin": 6045,
"end": 6133,
"name": "PUSH [tag]",
"source": 1,
"value": "153"
},
{
"begin": 6045,
"end": 6133,
"name": "JUMPI",
"source": 1
},
{
"begin": 6113,
"end": 6131,
"name": "PUSH [tag]",
"source": 1,
"value": "154"
},
{
"begin": 6113,
"end": 6131,
"name": "PUSH [tag]",
"source": 1,
"value": "133"
},
{
"begin": 6113,
"end": 6131,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 6113,
"end": 6131,
"name": "tag",
"source": 1,
"value": "154"
},
{
"begin": 6113,
"end": 6131,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6045,
"end": 6133,
"name": "tag",
"source": 1,
"value": "153"
},
{
"begin": 6045,
"end": 6133,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6153,
"end": 6163,
"name": "DUP1",
"source": 1
},
{
"begin": 6149,
"end": 6151,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 6142,
"end": 6164,
"name": "MSTORE",
"source": 1
},
{
"begin": 5932,
"end": 6170,
"name": "POP",
"source": 1
},
{
"begin": 5889,
"end": 6170,
"name": "POP",
"source": 1
},
{
"begin": 5889,
"end": 6170,
"name": "POP",
"source": 1
},
{
"begin": 5889,
"end": 6170,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 6176,
"end": 6356,
"name": "tag",
"source": 1,
"value": "150"
},
{
"begin": 6176,
"end": 6356,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6224,
"end": 6301,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 6221,
"end": 6222,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 6214,
"end": 6302,
"name": "MSTORE",
"source": 1
},
{
"begin": 6321,
"end": 6325,
"name": "PUSH",
"source": 1,
"value": "22"
},
{
"begin": 6318,
"end": 6319,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 6311,
"end": 6326,
"name": "MSTORE",
"source": 1
},
{
"begin": 6345,
"end": 6349,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 6342,
"end": 6343,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 6335,
"end": 6350,
"name": "REVERT",
"source": 1
},
{
"begin": 6362,
"end": 6542,
"name": "tag",
"source": 1,
"value": "133"
},
{
"begin": 6362,
"end": 6542,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6410,
"end": 6487,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 6407,
"end": 6408,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 6400,
"end": 6488,
"name": "MSTORE",
"source": 1
},
{
"begin": 6507,
"end": 6511,
"name": "PUSH",
"source": 1,
"value": "41"
},
{
"begin": 6504,
"end": 6505,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 6497,
"end": 6512,
"name": "MSTORE",
"source": 1
},
{
"begin": 6531,
"end": 6535,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 6528,
"end": 6529,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 6521,
"end": 6536,
"name": "REVERT",
"source": 1
},
{
"begin": 6548,
"end": 6665,
"name": "tag",
"source": 1,
"value": "74"
},
{
"begin": 6548,
"end": 6665,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6657,
"end": 6658,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 6654,
"end": 6655,
"name": "DUP1",
"source": 1
},
{
"begin": 6647,
"end": 6659,
"name": "REVERT",
"source": 1
},
{
"begin": 6671,
"end": 6788,
"name": "tag",
"source": 1,
"value": "67"
},
{
"begin": 6671,
"end": 6788,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6780,
"end": 6781,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 6777,
"end": 6778,
"name": "DUP1",
"source": 1
},
{
"begin": 6770,
"end": 6782,
"name": "REVERT",
"source": 1
},
{
"begin": 6794,
"end": 6911,
"name": "tag",
"source": 1,
"value": "86"
},
{
"begin": 6794,
"end": 6911,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6903,
"end": 6904,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 6900,
"end": 6901,
"name": "DUP1",
"source": 1
},
{
"begin": 6893,
"end": 6905,
"name": "REVERT",
"source": 1
},
{
"begin": 6917,
"end": 7034,
"name": "tag",
"source": 1,
"value": "83"
},
{
"begin": 6917,
"end": 7034,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7026,
"end": 7027,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 7023,
"end": 7024,
"name": "DUP1",
"source": 1
},
{
"begin": 7016,
"end": 7028,
"name": "REVERT",
"source": 1
},
{
"begin": 7040,
"end": 7142,
"name": "tag",
"source": 1,
"value": "105"
},
{
"begin": 7040,
"end": 7142,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7081,
"end": 7087,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 7132,
"end": 7134,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 7128,
"end": 7135,
"name": "NOT",
"source": 1
},
{
"begin": 7123,
"end": 7125,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 7116,
"end": 7121,
"name": "DUP4",
"source": 1
},
{
"begin": 7112,
"end": 7126,
"name": "ADD",
"source": 1
},
{
"begin": 7108,
"end": 7136,
"name": "AND",
"source": 1
},
{
"begin": 7098,
"end": 7136,
"name": "SWAP1",
"source": 1
},
{
"begin": 7098,
"end": 7136,
"name": "POP",
"source": 1
},
{
"begin": 7040,
"end": 7142,
"name": "SWAP2",
"source": 1
},
{
"begin": 7040,
"end": 7142,
"name": "SWAP1",
"source": 1
},
{
"begin": 7040,
"end": 7142,
"name": "POP",
"source": 1
},
{
"begin": 7040,
"end": 7142,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 7148,
"end": 7316,
"name": "tag",
"source": 1,
"value": "111"
},
{
"begin": 7148,
"end": 7316,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7288,
"end": 7308,
"name": "PUSH",
"source": 1,
"value": "746F67676C65642076616C7565206F6620430000000000000000000000000000"
},
{
"begin": 7284,
"end": 7285,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 7276,
"end": 7282,
"name": "DUP3",
"source": 1
},
{
"begin": 7272,
"end": 7286,
"name": "ADD",
"source": 1
},
{
"begin": 7265,
"end": 7309,
"name": "MSTORE",
"source": 1
},
{
"begin": 7148,
"end": 7316,
"name": "POP",
"source": 1
},
{
"begin": 7148,
"end": 7316,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 7322,
"end": 7444,
"name": "tag",
"source": 1,
"value": "79"
},
{
"begin": 7322,
"end": 7444,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7395,
"end": 7419,
"name": "PUSH [tag]",
"source": 1,
"value": "164"
},
{
"begin": 7413,
"end": 7418,
"name": "DUP2",
"source": 1
},
{
"begin": 7395,
"end": 7419,
"name": "PUSH [tag]",
"source": 1,
"value": "115"
},
{
"begin": 7395,
"end": 7419,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 7395,
"end": 7419,
"name": "tag",
"source": 1,
"value": "164"
},
{
"begin": 7395,
"end": 7419,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7388,
"end": 7393,
"name": "DUP2",
"source": 1
},
{
"begin": 7385,
"end": 7420,
"name": "EQ",
"source": 1
},
{
"begin": 7375,
"end": 7438,
"name": "PUSH [tag]",
"source": 1,
"value": "165"
},
{
"begin": 7375,
"end": 7438,
"name": "JUMPI",
"source": 1
},
{
"begin": 7434,
"end": 7435,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 7431,
"end": 7432,
"name": "DUP1",
"source": 1
},
{
"begin": 7424,
"end": 7436,
"name": "REVERT",
"source": 1
},
{
"begin": 7375,
"end": 7438,
"name": "tag",
"source": 1,
"value": "165"
},
{
"begin": 7375,
"end": 7438,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7322,
"end": 7444,
"name": "POP",
"source": 1
},
{
"begin": 7322,
"end": 7444,
"name": "JUMP",
"source": 1,
"value": "[out]"
}
]
}
}
},
"methodIdentifiers": {
"getA()": "d46300fd",
"getB()": "a1c51915",
"getC()": "a2375d1e",
"setA(uint256)": "ee919d50",
"setB(string)": "b5e7bc60",
"setC()": "73af6082"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"string\",\"name\":\"t\",\"type\":\"string\"}],\"name\":\"Log\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getA\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getB\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getC\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_x\",\"type\":\"uint256\"}],\"name\":\"setA\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_y\",\"type\":\"string\"}],\"name\":\"setB\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setC\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"Tutorial1/tutorial1.sol\":\"A1\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"Tutorial1/tutorial1.sol\":{\"keccak256\":\"0xd5a265ac160345cb70e51c37760dd199f05622391e5f5266a355e556b6431d35\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://c9126d37b30cc53fbcee1b01ff94d699d9220d8923d1e15587452b888988066f\",\"dweb:/ipfs/QmTzpMt35nLbNJVTn3u7nN47VvqooinB81pr61ZsCnTF9U\"]}},\"version\":1}",
"storageLayout": {
"storage": [
{
"astId": 3,
"contract": "Tutorial1/tutorial1.sol:A1",
"label": "a",
"offset": 0,
"slot": "0",
"type": "t_uint256"
},
{
"astId": 5,
"contract": "Tutorial1/tutorial1.sol:A1",
"label": "b",
"offset": 0,
"slot": "1",
"type": "t_string_storage"
},
{
"astId": 7,
"contract": "Tutorial1/tutorial1.sol:A1",
"label": "c",
"offset": 0,
"slot": "2",
"type": "t_bool"
}
],
"types": {
"t_bool": {
"encoding": "inplace",
"label": "bool",
"numberOfBytes": "1"
},
"t_string_storage": {
"encoding": "bytes",
"label": "string",
"numberOfBytes": "32"
},
"t_uint256": {
"encoding": "inplace",
"label": "uint256",
"numberOfBytes": "32"
}
}
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"sources": {
"Tutorial1/tutorial1.sol": {
"ast": {
"absolutePath": "Tutorial1/tutorial1.sol",
"exportedSymbols": {
"A1": [
69
]
},
"id": 70,
"license": "UNLICENSED",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"^",
"0.8",
".7"
],
"nodeType": "PragmaDirective",
"src": "0:23:0"
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 69,
"linearizedBaseContracts": [
69
],
"name": "A1",
"nameLocation": "77:2:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 3,
"mutability": "mutable",
"name": "a",
"nameLocation": "102:1:0",
"nodeType": "VariableDeclaration",
"scope": 69,
"src": "89:14:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "89:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "private"
},
{
"constant": false,
"id": 5,
"mutability": "mutable",
"name": "b",
"nameLocation": "125:1:0",
"nodeType": "VariableDeclaration",
"scope": 69,
"src": "110:16:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string"
},
"typeName": {
"id": 4,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "110:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "private"
},
{
"constant": false,
"id": 7,
"mutability": "mutable",
"name": "c",
"nameLocation": "138:1:0",
"nodeType": "VariableDeclaration",
"scope": 69,
"src": "133:6:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 6,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "133:4:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"visibility": "internal"
},
{
"anonymous": false,
"id": 11,
"name": "Log",
"nameLocation": "154:3:0",
"nodeType": "EventDefinition",
"parameters": {
"id": 10,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 9,
"indexed": true,
"mutability": "mutable",
"name": "t",
"nameLocation": "173:1:0",
"nodeType": "VariableDeclaration",
"scope": 11,
"src": "158:16:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 8,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "158:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "157:18:0"
},
"src": "148:28:0"
},
{
"body": {
"id": 19,
"nodeType": "Block",
"src": "229:25:0",
"statements": [
{
"expression": {
"id": 17,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 14,
"name": "c",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7,
"src": "240:1:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 16,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "!",
"prefix": true,
"src": "244:2:0",
"subExpression": {
"id": 15,
"name": "c",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7,
"src": "245:1:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"src": "240:6:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 18,
"nodeType": "ExpressionStatement",
"src": "240:6:0"
}
]
},
"functionSelector": "73af6082",
"id": 20,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "setC",
"nameLocation": "207:4:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 12,
"nodeType": "ParameterList",
"parameters": [],
"src": "211:2:0"
},
"returnParameters": {
"id": 13,
"nodeType": "ParameterList",
"parameters": [],
"src": "229:0:0"
},
"scope": 69,
"src": "198:56:0",
"stateMutability": "payable",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 29,
"nodeType": "Block",
"src": "300:25:0",
"statements": [
{
"expression": {
"id": 27,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 25,
"name": "a",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "311:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 26,
"name": "_x",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 22,
"src": "315:2:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "311:6:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 28,
"nodeType": "ExpressionStatement",
"src": "311:6:0"
}
]
},
"functionSelector": "ee919d50",
"id": 30,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "setA",
"nameLocation": "271:4:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 23,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 22,
"mutability": "mutable",
"name": "_x",
"nameLocation": "281:2:0",
"nodeType": "VariableDeclaration",
"scope": 30,
"src": "276:7:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 21,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "276:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "275:9:0"
},
"returnParameters": {
"id": 24,
"nodeType": "ParameterList",
"parameters": [],
"src": "300:0:0"
},
"scope": 69,
"src": "262:63:0",
"stateMutability": "payable",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 39,
"nodeType": "Block",
"src": "380:25:0",
"statements": [
{
"expression": {
"id": 37,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 35,
"name": "b",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5,
"src": "391:1:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 36,
"name": "_y",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 32,
"src": "395:2:0",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "391:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"id": 38,
"nodeType": "ExpressionStatement",
"src": "391:6:0"
}
]
},
"functionSelector": "b5e7bc60",
"id": 40,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "setB",
"nameLocation": "342:4:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 33,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 32,
"mutability": "mutable",
"name": "_y",
"nameLocation": "361:2:0",
"nodeType": "VariableDeclaration",
"scope": 40,
"src": "347:16:0",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 31,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "347:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "346:18:0"
},
"returnParameters": {
"id": 34,
"nodeType": "ParameterList",
"parameters": [],
"src": "380:0:0"
},
"scope": 69,
"src": "333:72:0",
"stateMutability": "payable",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 47,
"nodeType": "Block",
"src": "461:27:0",
"statements": [
{
"expression": {
"id": 45,
"name": "a",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "479:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 44,
"id": 46,
"nodeType": "Return",
"src": "472:8:0"
}
]
},
"functionSelector": "d46300fd",
"id": 48,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "getA",
"nameLocation": "424:4:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 41,
"nodeType": "ParameterList",
"parameters": [],
"src": "428:2:0"
},
"returnParameters": {
"id": 44,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 43,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 48,
"src": "452:7:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 42,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "452:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "451:9:0"
},
"scope": 69,
"src": "415:73:0",
"stateMutability": "view",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 55,
"nodeType": "Block",
"src": "548:27:0",
"statements": [
{
"expression": {
"id": 53,
"name": "b",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5,
"src": "566:1:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"functionReturnParameters": 52,
"id": 54,
"nodeType": "Return",
"src": "559:8:0"
}
]
},
"functionSelector": "a1c51915",
"id": 56,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "getB",
"nameLocation": "505:4:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 49,
"nodeType": "ParameterList",
"parameters": [],
"src": "509:2:0"
},
"returnParameters": {
"id": 52,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 51,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 56,
"src": "533:13:0",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 50,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "533:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "532:15:0"
},
"scope": 69,
"src": "496:79:0",
"stateMutability": "view",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 67,
"nodeType": "Block",
"src": "629:68:0",
"statements": [
{
"eventCall": {
"arguments": [
{
"hexValue": "746f67676c65642076616c7565206f662043",
"id": 62,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "649:20:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_2eaddcfb0637bf376bea27901385fdc4091270946fb970dab0e64fb01b1afa45",
"typeString": "literal_string \"toggled value of C\""
},
"value": "toggled value of C"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_2eaddcfb0637bf376bea27901385fdc4091270946fb970dab0e64fb01b1afa45",
"typeString": "literal_string \"toggled value of C\""
}
],
"id": 61,
"name": "Log",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11,
"src": "645:3:0",
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$",
"typeString": "function (string memory)"
}
},
"id": 63,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "645:25:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 64,
"nodeType": "EmitStatement",
"src": "640:30:0"
},
{
"expression": {
"id": 65,
"name": "c",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7,
"src": "688:1:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"functionReturnParameters": 60,
"id": 66,
"nodeType": "Return",
"src": "681:8:0"
}
]
},
"functionSelector": "a2375d1e",
"id": 68,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "getC",
"nameLocation": "592:4:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 57,
"nodeType": "ParameterList",
"parameters": [],
"src": "596:2:0"
},
"returnParameters": {
"id": 60,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 59,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 68,
"src": "623:4:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 58,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "623:4:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"visibility": "internal"
}
],
"src": "622:6:0"
},
"scope": 69,
"src": "583:114:0",
"stateMutability": "payable",
"virtual": false,
"visibility": "public"
}
],
"scope": 70,
"src": "68:640:0",
"usedErrors": []
}
],
"src": "0:714:0"
},
"id": 0
}
}
}
}PK
D4V)a3�$o $o c/.workspaces/default_workspace/Tutorial1/artifacts/build-info/d4cf8dfdd504f129949480fab34c4dbc.json{
"id": "d4cf8dfdd504f129949480fab34c4dbc",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.5.17",
"solcLongVersion": "0.5.17+commit.d19bba13",
"input": {
"language": "Solidity",
"sources": {
"Tutorial1/tutorial2.sol": {
"content": "pragma solidity ^0.5.1;\r\n\r\nlibrary SafeMath { \r\n function sub(uint256 a, uint256 b) internal pure returns (uint256) {\r\n assert(b <= a); //error handling condition\r\n return a - b;\r\n }\r\n\r\n function add(uint256 a, uint256 b) internal pure returns (uint256) {\r\n uint256 c = a + b;\r\n assert(c >= a);\r\n return c;\r\n }\r\n}\r\n \r\ncontract IntelliContract {\r\n\r\n string public constant name = \"IntelliCoin\"; // solidity automatically creates a getter function for public variables\r\n string public constant symbol = \"ITC\"; // getter function is a function used to retrive a specific value from ledger\r\n uint8 public constant decimals = 18; \r\n \r\n// Setter functions : Function Which Creates or Updates A Value on Legder.\r\n// Getter Functions : Function Which Get or Fetches A Value From Legder.\r\n\r\n event Approval(address indexed tokenOwner, address spender, uint tokens);\r\n event Transfer(address indexed from, address indexed to, uint tokens);\r\n\r\n \r\n\r\n\r\n modifier onlyOwner {\r\n require (msg.sender == ownerCon);\r\n _;\r\n }\r\n \r\n mapping(address => uint256) balances; \r\n mapping(address => mapping (address => uint256)) allowed; // nested mapping\r\n // Nested Mapping Has 2 Keys & 1 Value\r\n\r\n uint256 totalSupply_;\r\n address ownerCon;\r\n using SafeMath for uint256;\r\n\r\n\r\n constructor(uint256 total) public { // special function , only called at time of deployemnet\r\n\ttotalSupply_ = total ;\r\n\tbalances[msg.sender] = totalSupply_ ; // To Deposit all the newly generated tokens in owner's account\r\n\townerCon = msg.sender;\r\n } \r\n\r\n function totalSupply() public view returns (uint256) {\r\n\treturn totalSupply_;\r\n }\r\n // getter function\r\n\r\n function balanceOf(address inputAddress) public view returns (uint) {\r\n return balances[inputAddress] ;\r\n }\r\n // getter function \r\n \r\n function transfer(address receiver, uint numTokens) public returns (bool) {\r\n require(numTokens <= balances[msg.sender],\"You Don't Have Sufficient Balance\");\r\n balances[msg.sender] = balances[msg.sender].sub(numTokens);\r\n balances[receiver] = balances[receiver].add(numTokens);\r\n emit Transfer(msg.sender, receiver, numTokens); // logging these values using events\r\n return true;\r\n }\r\n\r\n\r\n function approve(address approved_addr, uint numTokens) public returns (bool) {\r\n allowed[msg.sender][approved_addr] = numTokens;\r\n emit Approval(msg.sender, approved_addr, numTokens);\r\n return true;\r\n }\r\n\r\n\r\n function allowance(address owner, address token_manger) public view returns (uint) {\r\n return allowed[owner][token_manger];\r\n }// what allowance has been provided by token_owner to Token_manager\r\n\r\n\r\n\r\n function transferFrom(address owner, address buyer, uint numTokens) public returns (bool) {\r\n require(numTokens <= balances[owner]); \r\n require(numTokens <= allowed[owner][msg.sender]);\r\n\r\n balances[owner] = balances[owner].sub(numTokens);\r\n allowed[owner][msg.sender] = allowed[owner][msg.sender].sub(numTokens);\r\n balances[buyer] = balances[buyer].add(numTokens);\r\n emit Transfer(owner, buyer, numTokens);\r\n return true;\r\n }\r\n\r\n // --------------------------------------------------------------------------------------------//\r\n\r\n // 1\r\n\r\n function selfDestruct() public onlyOwner {\r\n selfdestruct(msg.sender);\r\n }\r\n\r\n\r\n // 2\r\n\r\n\r\n function incrementSupply(uint256 amount) public onlyOwner {\r\n totalSupply_ += amount;\r\n }\r\n\r\n // 3\r\n\r\n function burnSupply(uint256 amount) public onlyOwner {\r\n totalSupply_ -= amount;\r\n }\r\n\r\n // 4 \r\n mapping(address => uint256) whiteList;\r\n uint256 whiteListCount = 0 ;\r\n\r\n function addAddress(address adr) public payable {\r\n if(whiteList[adr] == 0){\r\n whiteList[adr] = 1;\r\n whiteListCount += 1;\r\n }else{\r\n // logs to console that address is already present\r\n\r\n \r\n }\r\n }\r\n\r\n\r\n // modifier checkWhiteList()\r\n // UPDATED Transfer function\r\n\r\n function transferWhiteList(address receiver, uint numTokens) public returns (bool) {\r\n require(whiteList[receiver]==1,\"reciver not present in whitelist\");\r\n require(numTokens <= balances[msg.sender],\"You Don't Have Sufficient Balance\");\r\n balances[msg.sender] = balances[msg.sender].sub(numTokens);\r\n balances[receiver] = balances[receiver].add(numTokens);\r\n emit Transfer(msg.sender, receiver, numTokens); // logging these values using events\r\n return true;\r\n }\r\n\r\n\r\n\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": {
"Tutorial1/tutorial2.sol": {
"IntelliContract": {
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "total",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "tokenOwner",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "tokens",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "tokens",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "adr",
"type": "address"
}
],
"name": "addAddress",
"outputs": [],
"payable": true,
"stateMutability": "payable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "token_manger",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "approved_addr",
"type": "address"
},
{
"internalType": "uint256",
"name": "numTokens",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "address",
"name": "inputAddress",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "burnSupply",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "incrementSupply",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [],
"name": "selfDestruct",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
},
{
"internalType": "uint256",
"name": "numTokens",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "buyer",
"type": "address"
},
{
"internalType": "uint256",
"name": "numTokens",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
},
{
"internalType": "uint256",
"name": "numTokens",
"type": "uint256"
}
],
"name": "transferWhiteList",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"methods": {}
},
"evm": {
"assembly": " /* \"Tutorial1/tutorial2.sol\":355:4670 contract IntelliContract {\r... */\n mstore(0x40, 0x80)\n /* \"Tutorial1/tutorial2.sol\":3796:3797 0 */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":3771:3797 uint256 whiteListCount = 0 */\n 0x05\n sstore\n /* \"Tutorial1/tutorial2.sol\":1361:1616 constructor(uint256 total) public { // special function , only called at time of deployemnet\r... */\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_1\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x00\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\ntag_1:\n /* \"Tutorial1/tutorial2.sol\":1361:1616 constructor(uint256 total) public { // special function , only called at time of deployemnet\r... */\n pop\n mload(0x40)\n sub(codesize, bytecodeSize)\n dup1\n bytecodeSize\n dup4\n codecopy\n dup2\n dup2\n add\n 0x40\n mstore\n /* \"--CODEGEN--\":13:15 */\n 0x20\n /* \"--CODEGEN--\":8:11 */\n dup2\n /* \"--CODEGEN--\":5:16 */\n lt\n /* \"--CODEGEN--\":2:4 */\n iszero\n tag_2\n jumpi\n /* \"--CODEGEN--\":29:30 */\n 0x00\n /* \"--CODEGEN--\":26:27 */\n dup1\n /* \"--CODEGEN--\":19:31 */\n revert\n /* \"--CODEGEN--\":2:4 */\ntag_2:\n /* \"Tutorial1/tutorial2.sol\":1361:1616 constructor(uint256 total) public { // special function , only called at time of deployemnet\r... */\n dup2\n add\n swap1\n dup1\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n pop\n pop\n pop\n /* \"Tutorial1/tutorial2.sol\":1472:1477 total */\n dup1\n /* \"Tutorial1/tutorial2.sol\":1457:1469 totalSupply_ */\n 0x02\n /* \"Tutorial1/tutorial2.sol\":1457:1477 totalSupply_ = total */\n dup2\n swap1\n sstore\n pop\n /* \"Tutorial1/tutorial2.sol\":1505:1517 totalSupply_ */\n sload(0x02)\n /* \"Tutorial1/tutorial2.sol\":1482:1490 balances */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":1482:1502 balances[msg.sender] */\n dup1\n /* \"Tutorial1/tutorial2.sol\":1491:1501 msg.sender */\n caller\n /* \"Tutorial1/tutorial2.sol\":1482:1502 balances[msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"Tutorial1/tutorial2.sol\":1482:1517 balances[msg.sender] = totalSupply_ */\n dup2\n swap1\n sstore\n pop\n /* \"Tutorial1/tutorial2.sol\":1598:1608 msg.sender */\n caller\n /* \"Tutorial1/tutorial2.sol\":1587:1595 ownerCon */\n 0x03\n 0x00\n /* \"Tutorial1/tutorial2.sol\":1587:1608 ownerCon = msg.sender */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n mul\n not\n and\n swap1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n mul\n or\n swap1\n sstore\n pop\n /* \"Tutorial1/tutorial2.sol\":1361:1616 constructor(uint256 total) public { // special function , only called at time of deployemnet\r... */\n pop\n /* \"Tutorial1/tutorial2.sol\":355:4670 contract IntelliContract {\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 /* \"Tutorial1/tutorial2.sol\":355:4670 contract IntelliContract {\r... */\n mstore(0x40, 0x80)\n jumpi(tag_1, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x70a08231\n gt\n tag_16\n jumpi\n dup1\n 0xa9059cbb\n gt\n tag_17\n jumpi\n dup1\n 0xa9059cbb\n eq\n tag_12\n jumpi\n dup1\n 0xcbbd8a04\n eq\n tag_13\n jumpi\n dup1\n 0xd595c331\n eq\n tag_14\n jumpi\n dup1\n 0xdd62ed3e\n eq\n tag_15\n jumpi\n jump(tag_1)\n tag_17:\n dup1\n 0x70a08231\n eq\n tag_9\n jumpi\n dup1\n 0x95d89b41\n eq\n tag_10\n jumpi\n dup1\n 0x9cb8a26a\n eq\n tag_11\n jumpi\n jump(tag_1)\n tag_16:\n dup1\n 0x23b872dd\n gt\n tag_18\n jumpi\n dup1\n 0x23b872dd\n eq\n tag_5\n jumpi\n dup1\n 0x313ce567\n eq\n tag_6\n jumpi\n dup1\n 0x38eada1c\n eq\n tag_7\n jumpi\n dup1\n 0x5c0246c9\n eq\n tag_8\n jumpi\n jump(tag_1)\n tag_18:\n dup1\n 0x06fdde03\n eq\n tag_2\n jumpi\n dup1\n 0x095ea7b3\n eq\n tag_3\n jumpi\n dup1\n 0x18160ddd\n eq\n tag_4\n jumpi\n tag_1:\n 0x00\n dup1\n revert\n /* \"Tutorial1/tutorial2.sol\":389:432 string public constant name = \"IntelliCoin\" */\n tag_2:\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_19\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x00\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\n tag_19:\n /* \"Tutorial1/tutorial2.sol\":389:432 string public constant name = \"IntelliCoin\" */\n pop\n tag_20\n tag_21\n jump\t// in\n tag_20:\n mload(0x40)\n dup1\n dup1\n 0x20\n add\n dup3\n dup2\n sub\n dup3\n mstore\n dup4\n dup2\n dup2\n mload\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n dup1\n dup4\n dup4\n /* \"--CODEGEN--\":23:24 */\n 0x00\n /* \"--CODEGEN--\":8:108 */\n tag_22:\n /* \"--CODEGEN--\":33:36 */\n dup4\n /* \"--CODEGEN--\":30:31 */\n dup2\n /* \"--CODEGEN--\":27:37 */\n lt\n /* \"--CODEGEN--\":8:108 */\n iszero\n tag_24\n jumpi\n /* \"--CODEGEN--\":99:100 */\n dup1\n /* \"--CODEGEN--\":94:97 */\n dup3\n /* \"--CODEGEN--\":90:101 */\n add\n /* \"--CODEGEN--\":84:102 */\n mload\n /* \"--CODEGEN--\":80:81 */\n dup2\n /* \"--CODEGEN--\":75:78 */\n dup5\n /* \"--CODEGEN--\":71:82 */\n add\n /* \"--CODEGEN--\":64:103 */\n mstore\n /* \"--CODEGEN--\":52:54 */\n 0x20\n /* \"--CODEGEN--\":49:50 */\n dup2\n /* \"--CODEGEN--\":45:55 */\n add\n /* \"--CODEGEN--\":40:55 */\n swap1\n pop\n /* \"--CODEGEN--\":8:108 */\n jump(tag_22)\n tag_24:\n /* \"--CODEGEN--\":12:26 */\n pop\n /* \"Tutorial1/tutorial2.sol\":389:432 string public constant name = \"IntelliCoin\" */\n pop\n pop\n pop\n swap1\n pop\n swap1\n dup2\n add\n swap1\n 0x1f\n and\n dup1\n iszero\n tag_25\n jumpi\n dup1\n dup3\n sub\n dup1\n mload\n 0x01\n dup4\n 0x20\n sub\n 0x0100\n exp\n sub\n not\n and\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n tag_25:\n pop\n swap3\n pop\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"Tutorial1/tutorial2.sol\":2328:2555 function approve(address approved_addr, uint numTokens) public returns (bool) {\r... */\n tag_3:\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_26\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x00\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\n tag_26:\n /* \"Tutorial1/tutorial2.sol\":2328:2555 function approve(address approved_addr, uint numTokens) public returns (bool) {\r... */\n pop\n tag_27\n 0x04\n dup1\n calldatasize\n sub\n /* \"--CODEGEN--\":13:15 */\n 0x40\n /* \"--CODEGEN--\":8:11 */\n dup2\n /* \"--CODEGEN--\":5:16 */\n lt\n /* \"--CODEGEN--\":2:4 */\n iszero\n tag_28\n jumpi\n /* \"--CODEGEN--\":29:30 */\n 0x00\n /* \"--CODEGEN--\":26:27 */\n dup1\n /* \"--CODEGEN--\":19:31 */\n revert\n /* \"--CODEGEN--\":2:4 */\n tag_28:\n /* \"Tutorial1/tutorial2.sol\":2328:2555 function approve(address approved_addr, uint numTokens) public returns (bool) {\r... */\n dup2\n add\n swap1\n dup1\n dup1\n calldataload\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n dup1\n calldataload\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n pop\n pop\n pop\n tag_29\n jump\t// in\n tag_27:\n mload(0x40)\n dup1\n dup3\n iszero\n iszero\n iszero\n iszero\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"Tutorial1/tutorial2.sol\":1626:1710 function totalSupply() public view returns (uint256) {\r... */\n tag_4:\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_30\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x00\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\n tag_30:\n /* \"Tutorial1/tutorial2.sol\":1626:1710 function totalSupply() public view returns (uint256) {\r... */\n pop\n tag_31\n tag_32\n jump\t// in\n tag_31:\n mload(0x40)\n dup1\n dup3\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"Tutorial1/tutorial2.sol\":2781:3262 function transferFrom(address owner, address buyer, uint numTokens) public returns (bool) {\r... */\n tag_5:\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_33\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x00\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\n tag_33:\n /* \"Tutorial1/tutorial2.sol\":2781:3262 function transferFrom(address owner, address buyer, uint numTokens) public returns (bool) {\r... */\n pop\n tag_34\n 0x04\n dup1\n calldatasize\n sub\n /* \"--CODEGEN--\":13:15 */\n 0x60\n /* \"--CODEGEN--\":8:11 */\n dup2\n /* \"--CODEGEN--\":5:16 */\n lt\n /* \"--CODEGEN--\":2:4 */\n iszero\n tag_35\n jumpi\n /* \"--CODEGEN--\":29:30 */\n 0x00\n /* \"--CODEGEN--\":26:27 */\n dup1\n /* \"--CODEGEN--\":19:31 */\n revert\n /* \"--CODEGEN--\":2:4 */\n tag_35:\n /* \"Tutorial1/tutorial2.sol\":2781:3262 function transferFrom(address owner, address buyer, uint numTokens) public returns (bool) {\r... */\n dup2\n add\n swap1\n dup1\n dup1\n calldataload\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n dup1\n calldataload\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n dup1\n calldataload\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n pop\n pop\n pop\n tag_36\n jump\t// in\n tag_34:\n mload(0x40)\n dup1\n dup3\n iszero\n iszero\n iszero\n iszero\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"Tutorial1/tutorial2.sol\":634:669 uint8 public constant decimals = 18 */\n tag_6:\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_37\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x00\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\n tag_37:\n /* \"Tutorial1/tutorial2.sol\":634:669 uint8 public constant decimals = 18 */\n pop\n tag_38\n tag_39\n jump\t// in\n tag_38:\n mload(0x40)\n dup1\n dup3\n 0xff\n and\n 0xff\n and\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"Tutorial1/tutorial2.sol\":3807:4069 function addAddress(address adr) public payable {\r... */\n tag_7:\n tag_40\n 0x04\n dup1\n calldatasize\n sub\n /* \"--CODEGEN--\":13:15 */\n 0x20\n /* \"--CODEGEN--\":8:11 */\n dup2\n /* \"--CODEGEN--\":5:16 */\n lt\n /* \"--CODEGEN--\":2:4 */\n iszero\n tag_41\n jumpi\n /* \"--CODEGEN--\":29:30 */\n 0x00\n /* \"--CODEGEN--\":26:27 */\n dup1\n /* \"--CODEGEN--\":19:31 */\n revert\n /* \"--CODEGEN--\":2:4 */\n tag_41:\n /* \"Tutorial1/tutorial2.sol\":3807:4069 function addAddress(address adr) public payable {\r... */\n dup2\n add\n swap1\n dup1\n dup1\n calldataload\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n pop\n pop\n pop\n tag_42\n jump\t// in\n tag_40:\n stop\n /* \"Tutorial1/tutorial2.sol\":4149:4657 function transferWhiteList(address receiver, uint numTokens) public returns (bool) {\r... */\n tag_8:\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_43\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x00\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\n tag_43:\n /* \"Tutorial1/tutorial2.sol\":4149:4657 function transferWhiteList(address receiver, uint numTokens) public returns (bool) {\r... */\n pop\n tag_44\n 0x04\n dup1\n calldatasize\n sub\n /* \"--CODEGEN--\":13:15 */\n 0x40\n /* \"--CODEGEN--\":8:11 */\n dup2\n /* \"--CODEGEN--\":5:16 */\n lt\n /* \"--CODEGEN--\":2:4 */\n iszero\n tag_45\n jumpi\n /* \"--CODEGEN--\":29:30 */\n 0x00\n /* \"--CODEGEN--\":26:27 */\n dup1\n /* \"--CODEGEN--\":19:31 */\n revert\n /* \"--CODEGEN--\":2:4 */\n tag_45:\n /* \"Tutorial1/tutorial2.sol\":4149:4657 function transferWhiteList(address receiver, uint numTokens) public returns (bool) {\r... */\n dup2\n add\n swap1\n dup1\n dup1\n calldataload\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n dup1\n calldataload\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n pop\n pop\n pop\n tag_46\n jump\t// in\n tag_44:\n mload(0x40)\n dup1\n dup3\n iszero\n iszero\n iszero\n iszero\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"Tutorial1/tutorial2.sol\":1742:1859 function balanceOf(address inputAddress) public view returns (uint) {\r... */\n tag_9:\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_47\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x00\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\n tag_47:\n /* \"Tutorial1/tutorial2.sol\":1742:1859 function balanceOf(address inputAddress) public view returns (uint) {\r... */\n pop\n tag_48\n 0x04\n dup1\n calldatasize\n sub\n /* \"--CODEGEN--\":13:15 */\n 0x20\n /* \"--CODEGEN--\":8:11 */\n dup2\n /* \"--CODEGEN--\":5:16 */\n lt\n /* \"--CODEGEN--\":2:4 */\n iszero\n tag_49\n jumpi\n /* \"--CODEGEN--\":29:30 */\n 0x00\n /* \"--CODEGEN--\":26:27 */\n dup1\n /* \"--CODEGEN--\":19:31 */\n revert\n /* \"--CODEGEN--\":2:4 */\n tag_49:\n /* \"Tutorial1/tutorial2.sol\":1742:1859 function balanceOf(address inputAddress) public view returns (uint) {\r... */\n dup2\n add\n swap1\n dup1\n dup1\n calldataload\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n pop\n pop\n pop\n tag_50\n jump\t// in\n tag_48:\n mload(0x40)\n dup1\n dup3\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"Tutorial1/tutorial2.sol\":512:549 string public constant symbol = \"ITC\" */\n tag_10:\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_51\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x00\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\n tag_51:\n /* \"Tutorial1/tutorial2.sol\":512:549 string public constant symbol = \"ITC\" */\n pop\n tag_52\n tag_53\n jump\t// in\n tag_52:\n mload(0x40)\n dup1\n dup1\n 0x20\n add\n dup3\n dup2\n sub\n dup3\n mstore\n dup4\n dup2\n dup2\n mload\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n dup1\n dup4\n dup4\n /* \"--CODEGEN--\":23:24 */\n 0x00\n /* \"--CODEGEN--\":8:108 */\n tag_54:\n /* \"--CODEGEN--\":33:36 */\n dup4\n /* \"--CODEGEN--\":30:31 */\n dup2\n /* \"--CODEGEN--\":27:37 */\n lt\n /* \"--CODEGEN--\":8:108 */\n iszero\n tag_56\n jumpi\n /* \"--CODEGEN--\":99:100 */\n dup1\n /* \"--CODEGEN--\":94:97 */\n dup3\n /* \"--CODEGEN--\":90:101 */\n add\n /* \"--CODEGEN--\":84:102 */\n mload\n /* \"--CODEGEN--\":80:81 */\n dup2\n /* \"--CODEGEN--\":75:78 */\n dup5\n /* \"--CODEGEN--\":71:82 */\n add\n /* \"--CODEGEN--\":64:103 */\n mstore\n /* \"--CODEGEN--\":52:54 */\n 0x20\n /* \"--CODEGEN--\":49:50 */\n dup2\n /* \"--CODEGEN--\":45:55 */\n add\n /* \"--CODEGEN--\":40:55 */\n swap1\n pop\n /* \"--CODEGEN--\":8:108 */\n jump(tag_54)\n tag_56:\n /* \"--CODEGEN--\":12:26 */\n pop\n /* \"Tutorial1/tutorial2.sol\":512:549 string public constant symbol = \"ITC\" */\n pop\n pop\n pop\n swap1\n pop\n swap1\n dup2\n add\n swap1\n 0x1f\n and\n dup1\n iszero\n tag_57\n jumpi\n dup1\n dup3\n sub\n dup1\n mload\n 0x01\n dup4\n 0x20\n sub\n 0x0100\n exp\n sub\n not\n and\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n tag_57:\n pop\n swap3\n pop\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"Tutorial1/tutorial2.sol\":3387:3471 function selfDestruct() public onlyOwner {\r... */\n tag_11:\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_58\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x00\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\n tag_58:\n /* \"Tutorial1/tutorial2.sol\":3387:3471 function selfDestruct() public onlyOwner {\r... */\n pop\n tag_59\n tag_60\n jump\t// in\n tag_59:\n stop\n /* \"Tutorial1/tutorial2.sol\":1896:2318 function transfer(address receiver, uint numTokens) public returns (bool) {\r... */\n tag_12:\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_61\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x00\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\n tag_61:\n /* \"Tutorial1/tutorial2.sol\":1896:2318 function transfer(address receiver, uint numTokens) public returns (bool) {\r... */\n pop\n tag_62\n 0x04\n dup1\n calldatasize\n sub\n /* \"--CODEGEN--\":13:15 */\n 0x40\n /* \"--CODEGEN--\":8:11 */\n dup2\n /* \"--CODEGEN--\":5:16 */\n lt\n /* \"--CODEGEN--\":2:4 */\n iszero\n tag_63\n jumpi\n /* \"--CODEGEN--\":29:30 */\n 0x00\n /* \"--CODEGEN--\":26:27 */\n dup1\n /* \"--CODEGEN--\":19:31 */\n revert\n /* \"--CODEGEN--\":2:4 */\n tag_63:\n /* \"Tutorial1/tutorial2.sol\":1896:2318 function transfer(address receiver, uint numTokens) public returns (bool) {\r... */\n dup2\n add\n swap1\n dup1\n dup1\n calldataload\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n dup1\n calldataload\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n pop\n pop\n pop\n tag_64\n jump\t// in\n tag_62:\n mload(0x40)\n dup1\n dup3\n iszero\n iszero\n iszero\n iszero\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"Tutorial1/tutorial2.sol\":3495:3594 function incrementSupply(uint256 amount) public onlyOwner {\r... */\n tag_13:\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_65\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x00\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\n tag_65:\n /* \"Tutorial1/tutorial2.sol\":3495:3594 function incrementSupply(uint256 amount) public onlyOwner {\r... */\n pop\n tag_66\n 0x04\n dup1\n calldatasize\n sub\n /* \"--CODEGEN--\":13:15 */\n 0x20\n /* \"--CODEGEN--\":8:11 */\n dup2\n /* \"--CODEGEN--\":5:16 */\n lt\n /* \"--CODEGEN--\":2:4 */\n iszero\n tag_67\n jumpi\n /* \"--CODEGEN--\":29:30 */\n 0x00\n /* \"--CODEGEN--\":26:27 */\n dup1\n /* \"--CODEGEN--\":19:31 */\n revert\n /* \"--CODEGEN--\":2:4 */\n tag_67:\n /* \"Tutorial1/tutorial2.sol\":3495:3594 function incrementSupply(uint256 amount) public onlyOwner {\r... */\n dup2\n add\n swap1\n dup1\n dup1\n calldataload\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n pop\n pop\n pop\n tag_68\n jump\t// in\n tag_66:\n stop\n /* \"Tutorial1/tutorial2.sol\":3614:3708 function burnSupply(uint256 amount) public onlyOwner {\r... */\n tag_14:\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_69\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x00\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\n tag_69:\n /* \"Tutorial1/tutorial2.sol\":3614:3708 function burnSupply(uint256 amount) public onlyOwner {\r... */\n pop\n tag_70\n 0x04\n dup1\n calldatasize\n sub\n /* \"--CODEGEN--\":13:15 */\n 0x20\n /* \"--CODEGEN--\":8:11 */\n dup2\n /* \"--CODEGEN--\":5:16 */\n lt\n /* \"--CODEGEN--\":2:4 */\n iszero\n tag_71\n jumpi\n /* \"--CODEGEN--\":29:30 */\n 0x00\n /* \"--CODEGEN--\":26:27 */\n dup1\n /* \"--CODEGEN--\":19:31 */\n revert\n /* \"--CODEGEN--\":2:4 */\n tag_71:\n /* \"Tutorial1/tutorial2.sol\":3614:3708 function burnSupply(uint256 amount) public onlyOwner {\r... */\n dup2\n add\n swap1\n dup1\n dup1\n calldataload\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n pop\n pop\n pop\n tag_72\n jump\t// in\n tag_70:\n stop\n /* \"Tutorial1/tutorial2.sol\":2565:2702 function allowance(address owner, address token_manger) public view returns (uint) {\r... */\n tag_15:\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_73\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x00\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\n tag_73:\n /* \"Tutorial1/tutorial2.sol\":2565:2702 function allowance(address owner, address token_manger) public view returns (uint) {\r... */\n pop\n tag_74\n 0x04\n dup1\n calldatasize\n sub\n /* \"--CODEGEN--\":13:15 */\n 0x40\n /* \"--CODEGEN--\":8:11 */\n dup2\n /* \"--CODEGEN--\":5:16 */\n lt\n /* \"--CODEGEN--\":2:4 */\n iszero\n tag_75\n jumpi\n /* \"--CODEGEN--\":29:30 */\n 0x00\n /* \"--CODEGEN--\":26:27 */\n dup1\n /* \"--CODEGEN--\":19:31 */\n revert\n /* \"--CODEGEN--\":2:4 */\n tag_75:\n /* \"Tutorial1/tutorial2.sol\":2565:2702 function allowance(address owner, address token_manger) public view returns (uint) {\r... */\n dup2\n add\n swap1\n dup1\n dup1\n calldataload\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n dup1\n calldataload\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n pop\n pop\n pop\n tag_76\n jump\t// in\n tag_74:\n mload(0x40)\n dup1\n dup3\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"Tutorial1/tutorial2.sol\":389:432 string public constant name = \"IntelliCoin\" */\n tag_21:\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x0b\n dup2\n mstore\n 0x20\n add\n 0x496e74656c6c69436f696e000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n dup2\n jump\t// out\n /* \"Tutorial1/tutorial2.sol\":2328:2555 function approve(address approved_addr, uint numTokens) public returns (bool) {\r... */\n tag_29:\n /* \"Tutorial1/tutorial2.sol\":2400:2404 bool */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":2454:2463 numTokens */\n dup2\n /* \"Tutorial1/tutorial2.sol\":2417:2424 allowed */\n 0x01\n /* \"Tutorial1/tutorial2.sol\":2417:2436 allowed[msg.sender] */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":2425:2435 msg.sender */\n caller\n /* \"Tutorial1/tutorial2.sol\":2417:2436 allowed[msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"Tutorial1/tutorial2.sol\":2417:2451 allowed[msg.sender][approved_addr] */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":2437:2450 approved_addr */\n dup6\n /* \"Tutorial1/tutorial2.sol\":2417:2451 allowed[msg.sender][approved_addr] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"Tutorial1/tutorial2.sol\":2417:2463 allowed[msg.sender][approved_addr] = numTokens */\n dup2\n swap1\n sstore\n pop\n /* \"Tutorial1/tutorial2.sol\":2488:2498 msg.sender */\n caller\n /* \"Tutorial1/tutorial2.sol\":2479:2525 Approval(msg.sender, approved_addr, numTokens) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925\n /* \"Tutorial1/tutorial2.sol\":2500:2513 approved_addr */\n dup5\n /* \"Tutorial1/tutorial2.sol\":2515:2524 numTokens */\n dup5\n /* \"Tutorial1/tutorial2.sol\":2479:2525 Approval(msg.sender, approved_addr, numTokens) */\n mload(0x40)\n dup1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n dup3\n dup2\n mstore\n 0x20\n add\n swap3\n pop\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log2\n /* \"Tutorial1/tutorial2.sol\":2543:2547 true */\n 0x01\n /* \"Tutorial1/tutorial2.sol\":2536:2547 return true */\n swap1\n pop\n /* \"Tutorial1/tutorial2.sol\":2328:2555 function approve(address approved_addr, uint numTokens) public returns (bool) {\r... */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"Tutorial1/tutorial2.sol\":1626:1710 function totalSupply() public view returns (uint256) {\r... */\n tag_32:\n /* \"Tutorial1/tutorial2.sol\":1670:1677 uint256 */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":1690:1702 totalSupply_ */\n sload(0x02)\n /* \"Tutorial1/tutorial2.sol\":1683:1702 return totalSupply_ */\n swap1\n pop\n /* \"Tutorial1/tutorial2.sol\":1626:1710 function totalSupply() public view returns (uint256) {\r... */\n swap1\n jump\t// out\n /* \"Tutorial1/tutorial2.sol\":2781:3262 function transferFrom(address owner, address buyer, uint numTokens) public returns (bool) {\r... */\n tag_36:\n /* \"Tutorial1/tutorial2.sol\":2865:2869 bool */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":2903:2911 balances */\n dup1\n /* \"Tutorial1/tutorial2.sol\":2903:2918 balances[owner] */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":2912:2917 owner */\n dup6\n /* \"Tutorial1/tutorial2.sol\":2903:2918 balances[owner] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"Tutorial1/tutorial2.sol\":2890:2899 numTokens */\n dup3\n /* \"Tutorial1/tutorial2.sol\":2890:2918 numTokens <= balances[owner] */\n gt\n iszero\n /* \"Tutorial1/tutorial2.sol\":2882:2919 require(numTokens <= balances[owner]) */\n tag_80\n jumpi\n 0x00\n dup1\n revert\n tag_80:\n /* \"Tutorial1/tutorial2.sol\":2955:2962 allowed */\n 0x01\n /* \"Tutorial1/tutorial2.sol\":2955:2969 allowed[owner] */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":2963:2968 owner */\n dup6\n /* \"Tutorial1/tutorial2.sol\":2955:2969 allowed[owner] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"Tutorial1/tutorial2.sol\":2955:2981 allowed[owner][msg.sender] */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":2970:2980 msg.sender */\n caller\n /* \"Tutorial1/tutorial2.sol\":2955:2981 allowed[owner][msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"Tutorial1/tutorial2.sol\":2942:2951 numTokens */\n dup3\n /* \"Tutorial1/tutorial2.sol\":2942:2981 numTokens <= allowed[owner][msg.sender] */\n gt\n iszero\n /* \"Tutorial1/tutorial2.sol\":2934:2982 require(numTokens <= allowed[owner][msg.sender]) */\n tag_81\n jumpi\n 0x00\n dup1\n revert\n tag_81:\n /* \"Tutorial1/tutorial2.sol\":3013:3043 balances[owner].sub(numTokens) */\n tag_82\n /* \"Tutorial1/tutorial2.sol\":3033:3042 numTokens */\n dup3\n /* \"Tutorial1/tutorial2.sol\":3013:3021 balances */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":3013:3028 balances[owner] */\n dup1\n /* \"Tutorial1/tutorial2.sol\":3022:3027 owner */\n dup8\n /* \"Tutorial1/tutorial2.sol\":3013:3028 balances[owner] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"Tutorial1/tutorial2.sol\":3013:3032 balances[owner].sub */\n tag_83\n swap1\n /* \"Tutorial1/tutorial2.sol\":3013:3043 balances[owner].sub(numTokens) */\n swap2\n swap1\n 0xffffffff\n and\n jump\t// in\n tag_82:\n /* \"Tutorial1/tutorial2.sol\":2995:3003 balances */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":2995:3010 balances[owner] */\n dup1\n /* \"Tutorial1/tutorial2.sol\":3004:3009 owner */\n dup7\n /* \"Tutorial1/tutorial2.sol\":2995:3010 balances[owner] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"Tutorial1/tutorial2.sol\":2995:3043 balances[owner] = balances[owner].sub(numTokens) */\n dup2\n swap1\n sstore\n pop\n /* \"Tutorial1/tutorial2.sol\":3083:3124 allowed[owner][msg.sender].sub(numTokens) */\n tag_84\n /* \"Tutorial1/tutorial2.sol\":3114:3123 numTokens */\n dup3\n /* \"Tutorial1/tutorial2.sol\":3083:3090 allowed */\n 0x01\n /* \"Tutorial1/tutorial2.sol\":3083:3097 allowed[owner] */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":3091:3096 owner */\n dup8\n /* \"Tutorial1/tutorial2.sol\":3083:3097 allowed[owner] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"Tutorial1/tutorial2.sol\":3083:3109 allowed[owner][msg.sender] */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":3098:3108 msg.sender */\n caller\n /* \"Tutorial1/tutorial2.sol\":3083:3109 allowed[owner][msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"Tutorial1/tutorial2.sol\":3083:3113 allowed[owner][msg.sender].sub */\n tag_83\n swap1\n /* \"Tutorial1/tutorial2.sol\":3083:3124 allowed[owner][msg.sender].sub(numTokens) */\n swap2\n swap1\n 0xffffffff\n and\n jump\t// in\n tag_84:\n /* \"Tutorial1/tutorial2.sol\":3054:3061 allowed */\n 0x01\n /* \"Tutorial1/tutorial2.sol\":3054:3068 allowed[owner] */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":3062:3067 owner */\n dup7\n /* \"Tutorial1/tutorial2.sol\":3054:3068 allowed[owner] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"Tutorial1/tutorial2.sol\":3054:3080 allowed[owner][msg.sender] */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":3069:3079 msg.sender */\n caller\n /* \"Tutorial1/tutorial2.sol\":3054:3080 allowed[owner][msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"Tutorial1/tutorial2.sol\":3054:3124 allowed[owner][msg.sender] = allowed[owner][msg.sender].sub(numTokens) */\n dup2\n swap1\n sstore\n pop\n /* \"Tutorial1/tutorial2.sol\":3153:3183 balances[buyer].add(numTokens) */\n tag_85\n /* \"Tutorial1/tutorial2.sol\":3173:3182 numTokens */\n dup3\n /* \"Tutorial1/tutorial2.sol\":3153:3161 balances */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":3153:3168 balances[buyer] */\n dup1\n /* \"Tutorial1/tutorial2.sol\":3162:3167 buyer */\n dup7\n /* \"Tutorial1/tutorial2.sol\":3153:3168 balances[buyer] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"Tutorial1/tutorial2.sol\":3153:3172 balances[buyer].add */\n tag_86\n swap1\n /* \"Tutorial1/tutorial2.sol\":3153:3183 balances[buyer].add(numTokens) */\n swap2\n swap1\n 0xffffffff\n and\n jump\t// in\n tag_85:\n /* \"Tutorial1/tutorial2.sol\":3135:3143 balances */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":3135:3150 balances[buyer] */\n dup1\n /* \"Tutorial1/tutorial2.sol\":3144:3149 buyer */\n dup6\n /* \"Tutorial1/tutorial2.sol\":3135:3150 balances[buyer] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"Tutorial1/tutorial2.sol\":3135:3183 balances[buyer] = balances[buyer].add(numTokens) */\n dup2\n swap1\n sstore\n pop\n /* \"Tutorial1/tutorial2.sol\":3215:3220 buyer */\n dup3\n /* \"Tutorial1/tutorial2.sol\":3199:3232 Transfer(owner, buyer, numTokens) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"Tutorial1/tutorial2.sol\":3208:3213 owner */\n dup5\n /* \"Tutorial1/tutorial2.sol\":3199:3232 Transfer(owner, buyer, numTokens) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\n /* \"Tutorial1/tutorial2.sol\":3222:3231 numTokens */\n dup5\n /* \"Tutorial1/tutorial2.sol\":3199:3232 Transfer(owner, buyer, numTokens) */\n mload(0x40)\n dup1\n dup3\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log3\n /* \"Tutorial1/tutorial2.sol\":3250:3254 true */\n 0x01\n /* \"Tutorial1/tutorial2.sol\":3243:3254 return true */\n swap1\n pop\n /* \"Tutorial1/tutorial2.sol\":2781:3262 function transferFrom(address owner, address buyer, uint numTokens) public returns (bool) {\r... */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"Tutorial1/tutorial2.sol\":634:669 uint8 public constant decimals = 18 */\n tag_39:\n /* \"Tutorial1/tutorial2.sol\":667:669 18 */\n 0x12\n /* \"Tutorial1/tutorial2.sol\":634:669 uint8 public constant decimals = 18 */\n dup2\n jump\t// out\n /* \"Tutorial1/tutorial2.sol\":3807:4069 function addAddress(address adr) public payable {\r... */\n tag_42:\n /* \"Tutorial1/tutorial2.sol\":3888:3889 0 */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":3870:3879 whiteList */\n 0x04\n /* \"Tutorial1/tutorial2.sol\":3870:3884 whiteList[adr] */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":3880:3883 adr */\n dup4\n /* \"Tutorial1/tutorial2.sol\":3870:3884 whiteList[adr] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"Tutorial1/tutorial2.sol\":3870:3889 whiteList[adr] == 0 */\n eq\n /* \"Tutorial1/tutorial2.sol\":3867:4062 if(whiteList[adr] == 0){\r... */\n iszero\n tag_88\n jumpi\n /* \"Tutorial1/tutorial2.sol\":3923:3924 1 */\n 0x01\n /* \"Tutorial1/tutorial2.sol\":3906:3915 whiteList */\n 0x04\n /* \"Tutorial1/tutorial2.sol\":3906:3920 whiteList[adr] */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":3916:3919 adr */\n dup4\n /* \"Tutorial1/tutorial2.sol\":3906:3920 whiteList[adr] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"Tutorial1/tutorial2.sol\":3906:3924 whiteList[adr] = 1 */\n dup2\n swap1\n sstore\n pop\n /* \"Tutorial1/tutorial2.sol\":3958:3959 1 */\n 0x01\n /* \"Tutorial1/tutorial2.sol\":3940:3954 whiteListCount */\n 0x05\n 0x00\n /* \"Tutorial1/tutorial2.sol\":3940:3959 whiteListCount += 1 */\n dup3\n dup3\n sload\n add\n swap3\n pop\n pop\n dup2\n swap1\n sstore\n pop\n /* \"Tutorial1/tutorial2.sol\":3867:4062 if(whiteList[adr] == 0){\r... */\n jump(tag_89)\n tag_88:\n tag_89:\n /* \"Tutorial1/tutorial2.sol\":3807:4069 function addAddress(address adr) public payable {\r... */\n pop\n jump\t// out\n /* \"Tutorial1/tutorial2.sol\":4149:4657 function transferWhiteList(address receiver, uint numTokens) public returns (bool) {\r... */\n tag_46:\n /* \"Tutorial1/tutorial2.sol\":4227:4231 bool */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":4273:4274 1 */\n 0x01\n /* \"Tutorial1/tutorial2.sol\":4252:4261 whiteList */\n 0x04\n /* \"Tutorial1/tutorial2.sol\":4252:4271 whiteList[receiver] */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":4262:4270 receiver */\n dup6\n /* \"Tutorial1/tutorial2.sol\":4252:4271 whiteList[receiver] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"Tutorial1/tutorial2.sol\":4252:4274 whiteList[receiver]==1 */\n eq\n /* \"Tutorial1/tutorial2.sol\":4244:4310 require(whiteList[receiver]==1,\"reciver not present in whitelist\") */\n tag_91\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n dup1\n dup1\n 0x20\n add\n dup3\n dup2\n sub\n dup3\n mstore\n 0x20\n dup2\n mstore\n 0x20\n add\n dup1\n 0x72656369766572206e6f742070726573656e7420696e2077686974656c697374\n dup2\n mstore\n pop\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_91:\n /* \"Tutorial1/tutorial2.sol\":4342:4350 balances */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":4342:4362 balances[msg.sender] */\n dup1\n /* \"Tutorial1/tutorial2.sol\":4351:4361 msg.sender */\n caller\n /* \"Tutorial1/tutorial2.sol\":4342:4362 balances[msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"Tutorial1/tutorial2.sol\":4329:4338 numTokens */\n dup3\n /* \"Tutorial1/tutorial2.sol\":4329:4362 numTokens <= balances[msg.sender] */\n gt\n iszero\n /* \"Tutorial1/tutorial2.sol\":4321:4399 require(numTokens <= balances[msg.sender],\"You Don't Have Sufficient Balance\") */\n tag_92\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n dup1\n dup1\n 0x20\n add\n dup3\n dup2\n sub\n dup3\n mstore\n 0x21\n dup2\n mstore\n 0x20\n add\n dup1\n data_459e0dfb690370a8fb44e20926d960e5e65e9618653142c0dce84e4511e1dec4\n 0x21\n swap2\n codecopy\n 0x40\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_92:\n /* \"Tutorial1/tutorial2.sol\":4433:4468 balances[msg.sender].sub(numTokens) */\n tag_93\n /* \"Tutorial1/tutorial2.sol\":4458:4467 numTokens */\n dup3\n /* \"Tutorial1/tutorial2.sol\":4433:4441 balances */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":4433:4453 balances[msg.sender] */\n dup1\n /* \"Tutorial1/tutorial2.sol\":4442:4452 msg.sender */\n caller\n /* \"Tutorial1/tutorial2.sol\":4433:4453 balances[msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"Tutorial1/tutorial2.sol\":4433:4457 balances[msg.sender].sub */\n tag_83\n swap1\n /* \"Tutorial1/tutorial2.sol\":4433:4468 balances[msg.sender].sub(numTokens) */\n swap2\n swap1\n 0xffffffff\n and\n jump\t// in\n tag_93:\n /* \"Tutorial1/tutorial2.sol\":4410:4418 balances */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":4410:4430 balances[msg.sender] */\n dup1\n /* \"Tutorial1/tutorial2.sol\":4419:4429 msg.sender */\n caller\n /* \"Tutorial1/tutorial2.sol\":4410:4430 balances[msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"Tutorial1/tutorial2.sol\":4410:4468 balances[msg.sender] = balances[msg.sender].sub(numTokens) */\n dup2\n swap1\n sstore\n pop\n /* \"Tutorial1/tutorial2.sol\":4500:4533 balances[receiver].add(numTokens) */\n tag_94\n /* \"Tutorial1/tutorial2.sol\":4523:4532 numTokens */\n dup3\n /* \"Tutorial1/tutorial2.sol\":4500:4508 balances */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":4500:4518 balances[receiver] */\n dup1\n /* \"Tutorial1/tutorial2.sol\":4509:4517 receiver */\n dup7\n /* \"Tutorial1/tutorial2.sol\":4500:4518 balances[receiver] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"Tutorial1/tutorial2.sol\":4500:4522 balances[receiver].add */\n tag_86\n swap1\n /* \"Tutorial1/tutorial2.sol\":4500:4533 balances[receiver].add(numTokens) */\n swap2\n swap1\n 0xffffffff\n and\n jump\t// in\n tag_94:\n /* \"Tutorial1/tutorial2.sol\":4479:4487 balances */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":4479:4497 balances[receiver] */\n dup1\n /* \"Tutorial1/tutorial2.sol\":4488:4496 receiver */\n dup6\n /* \"Tutorial1/tutorial2.sol\":4479:4497 balances[receiver] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"Tutorial1/tutorial2.sol\":4479:4533 balances[receiver] = balances[receiver].add(numTokens) */\n dup2\n swap1\n sstore\n pop\n /* \"Tutorial1/tutorial2.sol\":4570:4578 receiver */\n dup3\n /* \"Tutorial1/tutorial2.sol\":4549:4590 Transfer(msg.sender, receiver, numTokens) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"Tutorial1/tutorial2.sol\":4558:4568 msg.sender */\n caller\n /* \"Tutorial1/tutorial2.sol\":4549:4590 Transfer(msg.sender, receiver, numTokens) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\n /* \"Tutorial1/tutorial2.sol\":4580:4589 numTokens */\n dup5\n /* \"Tutorial1/tutorial2.sol\":4549:4590 Transfer(msg.sender, receiver, numTokens) */\n mload(0x40)\n dup1\n dup3\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log3\n /* \"Tutorial1/tutorial2.sol\":4645:4649 true */\n 0x01\n /* \"Tutorial1/tutorial2.sol\":4638:4649 return true */\n swap1\n pop\n /* \"Tutorial1/tutorial2.sol\":4149:4657 function transferWhiteList(address receiver, uint numTokens) public returns (bool) {\r... */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"Tutorial1/tutorial2.sol\":1742:1859 function balanceOf(address inputAddress) public view returns (uint) {\r... */\n tag_50:\n /* \"Tutorial1/tutorial2.sol\":1804:1808 uint */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":1828:1836 balances */\n dup1\n /* \"Tutorial1/tutorial2.sol\":1828:1850 balances[inputAddress] */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":1837:1849 inputAddress */\n dup4\n /* \"Tutorial1/tutorial2.sol\":1828:1850 balances[inputAddress] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"Tutorial1/tutorial2.sol\":1821:1850 return balances[inputAddress] */\n swap1\n pop\n /* \"Tutorial1/tutorial2.sol\":1742:1859 function balanceOf(address inputAddress) public view returns (uint) {\r... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"Tutorial1/tutorial2.sol\":512:549 string public constant symbol = \"ITC\" */\n tag_53:\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 0x4954430000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n dup2\n jump\t// out\n /* \"Tutorial1/tutorial2.sol\":3387:3471 function selfDestruct() public onlyOwner {\r... */\n tag_60:\n /* \"Tutorial1/tutorial2.sol\":1061:1069 ownerCon */\n 0x03\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"Tutorial1/tutorial2.sol\":1047:1069 msg.sender == ownerCon */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"Tutorial1/tutorial2.sol\":1047:1057 msg.sender */\n caller\n /* \"Tutorial1/tutorial2.sol\":1047:1069 msg.sender == ownerCon */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n eq\n /* \"Tutorial1/tutorial2.sol\":1038:1070 require (msg.sender == ownerCon) */\n tag_97\n jumpi\n 0x00\n dup1\n revert\n tag_97:\n /* \"Tutorial1/tutorial2.sol\":3452:3462 msg.sender */\n caller\n /* \"Tutorial1/tutorial2.sol\":3439:3463 selfdestruct(msg.sender) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n selfdestruct\n /* \"Tutorial1/tutorial2.sol\":1896:2318 function transfer(address receiver, uint numTokens) public returns (bool) {\r... */\n tag_64:\n /* \"Tutorial1/tutorial2.sol\":1965:1969 bool */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":2003:2011 balances */\n dup1\n /* \"Tutorial1/tutorial2.sol\":2003:2023 balances[msg.sender] */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":2012:2022 msg.sender */\n caller\n /* \"Tutorial1/tutorial2.sol\":2003:2023 balances[msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"Tutorial1/tutorial2.sol\":1990:1999 numTokens */\n dup3\n /* \"Tutorial1/tutorial2.sol\":1990:2023 numTokens <= balances[msg.sender] */\n gt\n iszero\n /* \"Tutorial1/tutorial2.sol\":1982:2060 require(numTokens <= balances[msg.sender],\"You Don't Have Sufficient Balance\") */\n tag_100\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n dup1\n dup1\n 0x20\n add\n dup3\n dup2\n sub\n dup3\n mstore\n 0x21\n dup2\n mstore\n 0x20\n add\n dup1\n data_459e0dfb690370a8fb44e20926d960e5e65e9618653142c0dce84e4511e1dec4\n 0x21\n swap2\n codecopy\n 0x40\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_100:\n /* \"Tutorial1/tutorial2.sol\":2094:2129 balances[msg.sender].sub(numTokens) */\n tag_101\n /* \"Tutorial1/tutorial2.sol\":2119:2128 numTokens */\n dup3\n /* \"Tutorial1/tutorial2.sol\":2094:2102 balances */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":2094:2114 balances[msg.sender] */\n dup1\n /* \"Tutorial1/tutorial2.sol\":2103:2113 msg.sender */\n caller\n /* \"Tutorial1/tutorial2.sol\":2094:2114 balances[msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"Tutorial1/tutorial2.sol\":2094:2118 balances[msg.sender].sub */\n tag_83\n swap1\n /* \"Tutorial1/tutorial2.sol\":2094:2129 balances[msg.sender].sub(numTokens) */\n swap2\n swap1\n 0xffffffff\n and\n jump\t// in\n tag_101:\n /* \"Tutorial1/tutorial2.sol\":2071:2079 balances */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":2071:2091 balances[msg.sender] */\n dup1\n /* \"Tutorial1/tutorial2.sol\":2080:2090 msg.sender */\n caller\n /* \"Tutorial1/tutorial2.sol\":2071:2091 balances[msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"Tutorial1/tutorial2.sol\":2071:2129 balances[msg.sender] = balances[msg.sender].sub(numTokens) */\n dup2\n swap1\n sstore\n pop\n /* \"Tutorial1/tutorial2.sol\":2161:2194 balances[receiver].add(numTokens) */\n tag_102\n /* \"Tutorial1/tutorial2.sol\":2184:2193 numTokens */\n dup3\n /* \"Tutorial1/tutorial2.sol\":2161:2169 balances */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":2161:2179 balances[receiver] */\n dup1\n /* \"Tutorial1/tutorial2.sol\":2170:2178 receiver */\n dup7\n /* \"Tutorial1/tutorial2.sol\":2161:2179 balances[receiver] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"Tutorial1/tutorial2.sol\":2161:2183 balances[receiver].add */\n tag_86\n swap1\n /* \"Tutorial1/tutorial2.sol\":2161:2194 balances[receiver].add(numTokens) */\n swap2\n swap1\n 0xffffffff\n and\n jump\t// in\n tag_102:\n /* \"Tutorial1/tutorial2.sol\":2140:2148 balances */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":2140:2158 balances[receiver] */\n dup1\n /* \"Tutorial1/tutorial2.sol\":2149:2157 receiver */\n dup6\n /* \"Tutorial1/tutorial2.sol\":2140:2158 balances[receiver] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"Tutorial1/tutorial2.sol\":2140:2194 balances[receiver] = balances[receiver].add(numTokens) */\n dup2\n swap1\n sstore\n pop\n /* \"Tutorial1/tutorial2.sol\":2231:2239 receiver */\n dup3\n /* \"Tutorial1/tutorial2.sol\":2210:2251 Transfer(msg.sender, receiver, numTokens) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"Tutorial1/tutorial2.sol\":2219:2229 msg.sender */\n caller\n /* \"Tutorial1/tutorial2.sol\":2210:2251 Transfer(msg.sender, receiver, numTokens) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\n /* \"Tutorial1/tutorial2.sol\":2241:2250 numTokens */\n dup5\n /* \"Tutorial1/tutorial2.sol\":2210:2251 Transfer(msg.sender, receiver, numTokens) */\n mload(0x40)\n dup1\n dup3\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log3\n /* \"Tutorial1/tutorial2.sol\":2306:2310 true */\n 0x01\n /* \"Tutorial1/tutorial2.sol\":2299:2310 return true */\n swap1\n pop\n /* \"Tutorial1/tutorial2.sol\":1896:2318 function transfer(address receiver, uint numTokens) public returns (bool) {\r... */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"Tutorial1/tutorial2.sol\":3495:3594 function incrementSupply(uint256 amount) public onlyOwner {\r... */\n tag_68:\n /* \"Tutorial1/tutorial2.sol\":1061:1069 ownerCon */\n 0x03\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"Tutorial1/tutorial2.sol\":1047:1069 msg.sender == ownerCon */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"Tutorial1/tutorial2.sol\":1047:1057 msg.sender */\n caller\n /* \"Tutorial1/tutorial2.sol\":1047:1069 msg.sender == ownerCon */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n eq\n /* \"Tutorial1/tutorial2.sol\":1038:1070 require (msg.sender == ownerCon) */\n tag_104\n jumpi\n 0x00\n dup1\n revert\n tag_104:\n /* \"Tutorial1/tutorial2.sol\":3580:3586 amount */\n dup1\n /* \"Tutorial1/tutorial2.sol\":3564:3576 totalSupply_ */\n 0x02\n 0x00\n /* \"Tutorial1/tutorial2.sol\":3564:3586 totalSupply_ += amount */\n dup3\n dup3\n sload\n add\n swap3\n pop\n pop\n dup2\n swap1\n sstore\n pop\n /* \"Tutorial1/tutorial2.sol\":3495:3594 function incrementSupply(uint256 amount) public onlyOwner {\r... */\n pop\n jump\t// out\n /* \"Tutorial1/tutorial2.sol\":3614:3708 function burnSupply(uint256 amount) public onlyOwner {\r... */\n tag_72:\n /* \"Tutorial1/tutorial2.sol\":1061:1069 ownerCon */\n 0x03\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"Tutorial1/tutorial2.sol\":1047:1069 msg.sender == ownerCon */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"Tutorial1/tutorial2.sol\":1047:1057 msg.sender */\n caller\n /* \"Tutorial1/tutorial2.sol\":1047:1069 msg.sender == ownerCon */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n eq\n /* \"Tutorial1/tutorial2.sol\":1038:1070 require (msg.sender == ownerCon) */\n tag_107\n jumpi\n 0x00\n dup1\n revert\n tag_107:\n /* \"Tutorial1/tutorial2.sol\":3694:3700 amount */\n dup1\n /* \"Tutorial1/tutorial2.sol\":3678:3690 totalSupply_ */\n 0x02\n 0x00\n /* \"Tutorial1/tutorial2.sol\":3678:3700 totalSupply_ -= amount */\n dup3\n dup3\n sload\n sub\n swap3\n pop\n pop\n dup2\n swap1\n sstore\n pop\n /* \"Tutorial1/tutorial2.sol\":3614:3708 function burnSupply(uint256 amount) public onlyOwner {\r... */\n pop\n jump\t// out\n /* \"Tutorial1/tutorial2.sol\":2565:2702 function allowance(address owner, address token_manger) public view returns (uint) {\r... */\n tag_76:\n /* \"Tutorial1/tutorial2.sol\":2642:2646 uint */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":2666:2673 allowed */\n 0x01\n /* \"Tutorial1/tutorial2.sol\":2666:2680 allowed[owner] */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":2674:2679 owner */\n dup5\n /* \"Tutorial1/tutorial2.sol\":2666:2680 allowed[owner] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"Tutorial1/tutorial2.sol\":2666:2694 allowed[owner][token_manger] */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":2681:2693 token_manger */\n dup4\n /* \"Tutorial1/tutorial2.sol\":2666:2694 allowed[owner][token_manger] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"Tutorial1/tutorial2.sol\":2659:2694 return allowed[owner][token_manger] */\n swap1\n pop\n /* \"Tutorial1/tutorial2.sol\":2565:2702 function allowance(address owner, address token_manger) public view returns (uint) {\r... */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"Tutorial1/tutorial2.sol\":52:198 function sub(uint256 a, uint256 b) internal pure returns (uint256) {\r... */\n tag_83:\n /* \"Tutorial1/tutorial2.sol\":110:117 uint256 */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":140:141 a */\n dup3\n /* \"Tutorial1/tutorial2.sol\":135:136 b */\n dup3\n /* \"Tutorial1/tutorial2.sol\":135:141 b <= a */\n gt\n iszero\n /* \"Tutorial1/tutorial2.sol\":128:142 assert(b <= a) */\n tag_111\n jumpi\n invalid\n tag_111:\n /* \"Tutorial1/tutorial2.sol\":189:190 b */\n dup2\n /* \"Tutorial1/tutorial2.sol\":185:186 a */\n dup4\n /* \"Tutorial1/tutorial2.sol\":185:190 a - b */\n sub\n /* \"Tutorial1/tutorial2.sol\":178:190 return a - b */\n swap1\n pop\n /* \"Tutorial1/tutorial2.sol\":52:198 function sub(uint256 a, uint256 b) internal pure returns (uint256) {\r... */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"Tutorial1/tutorial2.sol\":206:347 function add(uint256 a, uint256 b) internal pure returns (uint256) {\r... */\n tag_86:\n /* \"Tutorial1/tutorial2.sol\":264:271 uint256 */\n 0x00\n /* \"Tutorial1/tutorial2.sol\":282:291 uint256 c */\n dup1\n /* \"Tutorial1/tutorial2.sol\":298:299 b */\n dup3\n /* \"Tutorial1/tutorial2.sol\":294:295 a */\n dup5\n /* \"Tutorial1/tutorial2.sol\":294:299 a + b */\n add\n /* \"Tutorial1/tutorial2.sol\":282:299 uint256 c = a + b */\n swap1\n pop\n /* \"Tutorial1/tutorial2.sol\":320:321 a */\n dup4\n /* \"Tutorial1/tutorial2.sol\":315:316 c */\n dup2\n /* \"Tutorial1/tutorial2.sol\":315:321 c >= a */\n lt\n iszero\n /* \"Tutorial1/tutorial2.sol\":308:322 assert(c >= a) */\n tag_113\n jumpi\n invalid\n tag_113:\n /* \"Tutorial1/tutorial2.sol\":338:339 c */\n dup1\n /* \"Tutorial1/tutorial2.sol\":331:339 return c */\n swap2\n pop\n pop\n /* \"Tutorial1/tutorial2.sol\":206:347 function add(uint256 a, uint256 b) internal pure returns (uint256) {\r... */\n swap3\n swap2\n pop\n pop\n jump\t// out\n stop\n data_459e0dfb690370a8fb44e20926d960e5e65e9618653142c0dce84e4511e1dec4 596f7520446f6e277420486176652053756666696369656e742042616c616e6365\n\n auxdata: 0xa265627a7a723158207b2abea7e03fd81ab29d56cc4de38e3ce9345e705dcc244ec343d548802f1ed064736f6c63430005110032\n}\n",
"bytecode": {
"linkReferences": {},
"object": "6080604052600060055534801561001557600080fd5b506040516114533803806114538339818101604052602081101561003857600080fd5b8101908080519060200190929190505050806002819055506002546000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505061136d806100e66000396000f3fe6080604052600436106100dd5760003560e01c806370a082311161007f578063a9059cbb11610059578063a9059cbb14610497578063cbbd8a041461050a578063d595c33114610545578063dd62ed3e14610580576100dd565b806370a082311461038b57806395d89b41146103f05780639cb8a26a14610480576100dd565b806323b872dd116100bb57806323b872dd14610210578063313ce567146102a357806338eada1c146102d45780635c0246c914610318576100dd565b806306fdde03146100e2578063095ea7b31461017257806318160ddd146101e5575b600080fd5b3480156100ee57600080fd5b506100f7610605565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561013757808201518184015260208101905061011c565b50505050905090810190601f1680156101645780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561017e57600080fd5b506101cb6004803603604081101561019557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061063e565b604051808215151515815260200191505060405180910390f35b3480156101f157600080fd5b506101fa61074d565b6040518082815260200191505060405180910390f35b34801561021c57600080fd5b506102896004803603606081101561023357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610757565b604051808215151515815260200191505060405180910390f35b3480156102af57600080fd5b506102b8610ad2565b604051808260ff1660ff16815260200191505060405180910390f35b610316600480360360208110156102ea57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ad7565b005b34801561032457600080fd5b506103716004803603604081101561033b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b7e565b604051808215151515815260200191505060405180910390f35b34801561039757600080fd5b506103da600480360360208110156103ae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e61565b6040518082815260200191505060405180910390f35b3480156103fc57600080fd5b50610405610ea9565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561044557808201518184015260208101905061042a565b50505050905090810190601f1680156104725780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561048c57600080fd5b50610495610ee2565b005b3480156104a357600080fd5b506104f0600480360360408110156104ba57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f55565b604051808215151515815260200191505060405180910390f35b34801561051657600080fd5b506105436004803603602081101561052d57600080fd5b8101908080359060200190929190505050611183565b005b34801561055157600080fd5b5061057e6004803603602081101561056857600080fd5b81019080803590602001909291905050506111f0565b005b34801561058c57600080fd5b506105ef600480360360408110156105a357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061125d565b6040518082815260200191505060405180910390f35b6040518060400160405280600b81526020017f496e74656c6c69436f696e00000000000000000000000000000000000000000081525081565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258484604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a26001905092915050565b6000600254905090565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156107a457600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561082d57600080fd5b61087e826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112e490919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061094f82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112e490919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a20826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112fb90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b601281565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415610b7a576001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600560008282540192505081905550610b7b565b5b50565b60006001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610c35576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f72656369766572206e6f742070726573656e7420696e2077686974656c69737481525060200191505060405180910390fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610ccc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806113186021913960400191505060405180910390fd5b610d1d826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112e490919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610db0826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112fb90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6040518060400160405280600381526020017f495443000000000000000000000000000000000000000000000000000000000081525081565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f3c57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff16ff5b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610fee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806113186021913960400191505060405180910390fd5b61103f826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112e490919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110d2826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112fb90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146111dd57600080fd5b8060026000828254019250508190555050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461124a57600080fd5b8060026000828254039250508190555050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000828211156112f057fe5b818303905092915050565b60008082840190508381101561130d57fe5b809150509291505056fe596f7520446f6e277420486176652053756666696369656e742042616c616e6365a265627a7a723158207b2abea7e03fd81ab29d56cc4de38e3ce9345e705dcc244ec343d548802f1ed064736f6c63430005110032",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 PUSH1 0x5 SSTORE CALLVALUE DUP1 ISZERO PUSH2 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x1453 CODESIZE SUB DUP1 PUSH2 0x1453 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x38 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP DUP1 PUSH1 0x2 DUP2 SWAP1 SSTORE POP PUSH1 0x2 SLOAD PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP CALLER PUSH1 0x3 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP PUSH2 0x136D DUP1 PUSH2 0xE6 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xDD JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x70A08231 GT PUSH2 0x7F JUMPI DUP1 PUSH4 0xA9059CBB GT PUSH2 0x59 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x497 JUMPI DUP1 PUSH4 0xCBBD8A04 EQ PUSH2 0x50A JUMPI DUP1 PUSH4 0xD595C331 EQ PUSH2 0x545 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x580 JUMPI PUSH2 0xDD JUMP JUMPDEST DUP1 PUSH4 0x70A08231 EQ PUSH2 0x38B JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x3F0 JUMPI DUP1 PUSH4 0x9CB8A26A EQ PUSH2 0x480 JUMPI PUSH2 0xDD JUMP JUMPDEST DUP1 PUSH4 0x23B872DD GT PUSH2 0xBB JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x210 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x2A3 JUMPI DUP1 PUSH4 0x38EADA1C EQ PUSH2 0x2D4 JUMPI DUP1 PUSH4 0x5C0246C9 EQ PUSH2 0x318 JUMPI PUSH2 0xDD JUMP JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xE2 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x172 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x1E5 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xEE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF7 PUSH2 0x605 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x137 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x11C JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x164 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x17E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1CB PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x195 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x63E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1FA PUSH2 0x74D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x21C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x289 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x60 DUP2 LT ISZERO PUSH2 0x233 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x757 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2AF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2B8 PUSH2 0xAD2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x316 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x2EA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0xAD7 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x324 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x371 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x33B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0xB7E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x397 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3DA PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x3AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0xE61 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3FC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x405 PUSH2 0xEA9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x445 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x42A JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x472 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x48C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x495 PUSH2 0xEE2 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4F0 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x4BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0xF55 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x516 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x543 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x52D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x1183 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x551 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x57E PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x568 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x11F0 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x58C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5EF PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x5A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x125D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xB DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x496E74656C6C69436F696E000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP5 DUP5 PUSH1 0x40 MLOAD DUP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO PUSH2 0x7A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO PUSH2 0x82D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x87E DUP3 PUSH1 0x0 DUP1 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x12E4 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x94F DUP3 PUSH1 0x1 PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x12E4 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0xA20 DUP3 PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x12FB SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x12 DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD EQ ISZERO PUSH2 0xB7A JUMPI PUSH1 0x1 PUSH1 0x4 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x5 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH2 0xB7B JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x4 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD EQ PUSH2 0xC35 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x72656369766572206E6F742070726573656E7420696E2077686974656C697374 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO PUSH2 0xCCC JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x21 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1318 PUSH1 0x21 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xD1D DUP3 PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x12E4 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0xDB0 DUP3 PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x12FB SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4954430000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xF3C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SELFDESTRUCT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO PUSH2 0xFEE JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x21 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1318 PUSH1 0x21 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x103F DUP3 PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x12E4 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x10D2 DUP3 PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x12FB SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x11DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x124A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 GT ISZERO PUSH2 0x12F0 JUMPI INVALID JUMPDEST DUP2 DUP4 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP5 ADD SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x130D JUMPI INVALID JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP INVALID MSIZE PUSH16 0x7520446F6E2774204861766520537566 PUSH7 0x696369656E7420 TIMESTAMP PUSH2 0x6C61 PUSH15 0x6365A265627A7A723158207B2ABEA7 0xE0 EXTCODEHASH 0xD8 BYTE 0xB2 SWAP14 JUMP 0xCC 0x4D 0xE3 DUP15 EXTCODECOPY 0xE9 CALLVALUE 0x5E PUSH17 0x5DCC244EC343D548802F1ED064736F6C63 NUMBER STOP SDIV GT STOP ORIGIN ",
"sourceMap": "355:4315:0:-;;;3796:1;3771:26;;1361:255;8:9:-1;5:2;;;30:1;27;20:12;5:2;1361:255:0;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1361:255:0;;;;;;;;;;;;;;;;1472:5;1457:12;:20;;;;1505:12;;1482:8;:20;1491:10;1482:20;;;;;;;;;;;;;;;:35;;;;1598:10;1587:8;;:21;;;;;;;;;;;;;;;;;;1361:255;355:4315;;;;;;"
},
"deployedBytecode": {
"linkReferences": {},
"object": "6080604052600436106100dd5760003560e01c806370a082311161007f578063a9059cbb11610059578063a9059cbb14610497578063cbbd8a041461050a578063d595c33114610545578063dd62ed3e14610580576100dd565b806370a082311461038b57806395d89b41146103f05780639cb8a26a14610480576100dd565b806323b872dd116100bb57806323b872dd14610210578063313ce567146102a357806338eada1c146102d45780635c0246c914610318576100dd565b806306fdde03146100e2578063095ea7b31461017257806318160ddd146101e5575b600080fd5b3480156100ee57600080fd5b506100f7610605565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561013757808201518184015260208101905061011c565b50505050905090810190601f1680156101645780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561017e57600080fd5b506101cb6004803603604081101561019557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061063e565b604051808215151515815260200191505060405180910390f35b3480156101f157600080fd5b506101fa61074d565b6040518082815260200191505060405180910390f35b34801561021c57600080fd5b506102896004803603606081101561023357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610757565b604051808215151515815260200191505060405180910390f35b3480156102af57600080fd5b506102b8610ad2565b604051808260ff1660ff16815260200191505060405180910390f35b610316600480360360208110156102ea57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ad7565b005b34801561032457600080fd5b506103716004803603604081101561033b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b7e565b604051808215151515815260200191505060405180910390f35b34801561039757600080fd5b506103da600480360360208110156103ae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e61565b6040518082815260200191505060405180910390f35b3480156103fc57600080fd5b50610405610ea9565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561044557808201518184015260208101905061042a565b50505050905090810190601f1680156104725780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561048c57600080fd5b50610495610ee2565b005b3480156104a357600080fd5b506104f0600480360360408110156104ba57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f55565b604051808215151515815260200191505060405180910390f35b34801561051657600080fd5b506105436004803603602081101561052d57600080fd5b8101908080359060200190929190505050611183565b005b34801561055157600080fd5b5061057e6004803603602081101561056857600080fd5b81019080803590602001909291905050506111f0565b005b34801561058c57600080fd5b506105ef600480360360408110156105a357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061125d565b6040518082815260200191505060405180910390f35b6040518060400160405280600b81526020017f496e74656c6c69436f696e00000000000000000000000000000000000000000081525081565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258484604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a26001905092915050565b6000600254905090565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156107a457600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561082d57600080fd5b61087e826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112e490919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061094f82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112e490919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a20826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112fb90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b601281565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415610b7a576001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600560008282540192505081905550610b7b565b5b50565b60006001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610c35576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f72656369766572206e6f742070726573656e7420696e2077686974656c69737481525060200191505060405180910390fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610ccc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806113186021913960400191505060405180910390fd5b610d1d826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112e490919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610db0826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112fb90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6040518060400160405280600381526020017f495443000000000000000000000000000000000000000000000000000000000081525081565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f3c57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff16ff5b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610fee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806113186021913960400191505060405180910390fd5b61103f826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112e490919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110d2826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112fb90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146111dd57600080fd5b8060026000828254019250508190555050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461124a57600080fd5b8060026000828254039250508190555050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000828211156112f057fe5b818303905092915050565b60008082840190508381101561130d57fe5b809150509291505056fe596f7520446f6e277420486176652053756666696369656e742042616c616e6365a265627a7a723158207b2abea7e03fd81ab29d56cc4de38e3ce9345e705dcc244ec343d548802f1ed064736f6c63430005110032",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xDD JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x70A08231 GT PUSH2 0x7F JUMPI DUP1 PUSH4 0xA9059CBB GT PUSH2 0x59 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x497 JUMPI DUP1 PUSH4 0xCBBD8A04 EQ PUSH2 0x50A JUMPI DUP1 PUSH4 0xD595C331 EQ PUSH2 0x545 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x580 JUMPI PUSH2 0xDD JUMP JUMPDEST DUP1 PUSH4 0x70A08231 EQ PUSH2 0x38B JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x3F0 JUMPI DUP1 PUSH4 0x9CB8A26A EQ PUSH2 0x480 JUMPI PUSH2 0xDD JUMP JUMPDEST DUP1 PUSH4 0x23B872DD GT PUSH2 0xBB JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x210 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x2A3 JUMPI DUP1 PUSH4 0x38EADA1C EQ PUSH2 0x2D4 JUMPI DUP1 PUSH4 0x5C0246C9 EQ PUSH2 0x318 JUMPI PUSH2 0xDD JUMP JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xE2 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x172 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x1E5 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xEE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF7 PUSH2 0x605 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x137 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x11C JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x164 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x17E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1CB PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x195 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x63E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1FA PUSH2 0x74D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x21C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x289 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x60 DUP2 LT ISZERO PUSH2 0x233 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x757 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2AF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2B8 PUSH2 0xAD2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x316 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x2EA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0xAD7 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x324 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x371 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x33B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0xB7E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x397 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3DA PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x3AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0xE61 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3FC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x405 PUSH2 0xEA9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x445 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x42A JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x472 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x48C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x495 PUSH2 0xEE2 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4F0 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x4BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0xF55 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x516 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x543 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x52D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x1183 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x551 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x57E PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x568 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x11F0 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x58C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5EF PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x5A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x125D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xB DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x496E74656C6C69436F696E000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP5 DUP5 PUSH1 0x40 MLOAD DUP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO PUSH2 0x7A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO PUSH2 0x82D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x87E DUP3 PUSH1 0x0 DUP1 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x12E4 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x94F DUP3 PUSH1 0x1 PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x12E4 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0xA20 DUP3 PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x12FB SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x12 DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD EQ ISZERO PUSH2 0xB7A JUMPI PUSH1 0x1 PUSH1 0x4 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x5 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH2 0xB7B JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x4 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD EQ PUSH2 0xC35 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x72656369766572206E6F742070726573656E7420696E2077686974656C697374 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO PUSH2 0xCCC JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x21 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1318 PUSH1 0x21 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xD1D DUP3 PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x12E4 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0xDB0 DUP3 PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x12FB SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4954430000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xF3C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SELFDESTRUCT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO PUSH2 0xFEE JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x21 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1318 PUSH1 0x21 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x103F DUP3 PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x12E4 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x10D2 DUP3 PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x12FB SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x11DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x124A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 GT ISZERO PUSH2 0x12F0 JUMPI INVALID JUMPDEST DUP2 DUP4 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP5 ADD SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x130D JUMPI INVALID JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP INVALID MSIZE PUSH16 0x7520446F6E2774204861766520537566 PUSH7 0x696369656E7420 TIMESTAMP PUSH2 0x6C61 PUSH15 0x6365A265627A7A723158207B2ABEA7 0xE0 EXTCODEHASH 0xD8 BYTE 0xB2 SWAP14 JUMP 0xCC 0x4D 0xE3 DUP15 EXTCODECOPY 0xE9 CALLVALUE 0x5E PUSH17 0x5DCC244EC343D548802F1ED064736F6C63 NUMBER STOP SDIV GT STOP ORIGIN ",
"sourceMap": "355:4315:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;389:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;389:43:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;389:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2328:227;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2328:227:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2328:227:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1626:84;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1626:84:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2781:481;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2781:481:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2781:481:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;634:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;634:35:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3807:262;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3807:262:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;4149:508;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4149:508:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4149:508:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1742:117;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1742:117:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1742:117:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;512:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;512:37:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;512:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3387:84;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3387:84:0;;;:::i;:::-;;1896:422;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1896:422:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1896:422:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3495:99;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3495:99:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3495:99:0;;;;;;;;;;;;;;;;;:::i;:::-;;3614:94;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3614:94:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3614:94:0;;;;;;;;;;;;;;;;;:::i;:::-;;2565:137;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2565:137:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2565:137:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;389:43;;;;;;;;;;;;;;;;;;;:::o;2328:227::-;2400:4;2454:9;2417:7;:19;2425:10;2417:19;;;;;;;;;;;;;;;:34;2437:13;2417:34;;;;;;;;;;;;;;;:46;;;;2488:10;2479:46;;;2500:13;2515:9;2479:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;2543:4;2536:11;;2328:227;;;;:::o;1626:84::-;1670:7;1690:12;;1683:19;;1626:84;:::o;2781:481::-;2865:4;2903:8;:15;2912:5;2903:15;;;;;;;;;;;;;;;;2890:9;:28;;2882:37;;;;;;2955:7;:14;2963:5;2955:14;;;;;;;;;;;;;;;:26;2970:10;2955:26;;;;;;;;;;;;;;;;2942:9;:39;;2934:48;;;;;;3013:30;3033:9;3013:8;:15;3022:5;3013:15;;;;;;;;;;;;;;;;:19;;:30;;;;:::i;:::-;2995:8;:15;3004:5;2995:15;;;;;;;;;;;;;;;:48;;;;3083:41;3114:9;3083:7;:14;3091:5;3083:14;;;;;;;;;;;;;;;:26;3098:10;3083:26;;;;;;;;;;;;;;;;:30;;:41;;;;:::i;:::-;3054:7;:14;3062:5;3054:14;;;;;;;;;;;;;;;:26;3069:10;3054:26;;;;;;;;;;;;;;;:70;;;;3153:30;3173:9;3153:8;:15;3162:5;3153:15;;;;;;;;;;;;;;;;:19;;:30;;;;:::i;:::-;3135:8;:15;3144:5;3135:15;;;;;;;;;;;;;;;:48;;;;3215:5;3199:33;;3208:5;3199:33;;;3222:9;3199:33;;;;;;;;;;;;;;;;;;3250:4;3243:11;;2781:481;;;;;:::o;634:35::-;667:2;634:35;:::o;3807:262::-;3888:1;3870:9;:14;3880:3;3870:14;;;;;;;;;;;;;;;;:19;3867:195;;;3923:1;3906:9;:14;3916:3;3906:14;;;;;;;;;;;;;;;:18;;;;3958:1;3940:14;;:19;;;;;;;;;;;3867:195;;;;3807:262;:::o;4149:508::-;4227:4;4273:1;4252:9;:19;4262:8;4252:19;;;;;;;;;;;;;;;;:22;4244:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4342:8;:20;4351:10;4342:20;;;;;;;;;;;;;;;;4329:9;:33;;4321:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4433:35;4458:9;4433:8;:20;4442:10;4433:20;;;;;;;;;;;;;;;;:24;;:35;;;;:::i;:::-;4410:8;:20;4419:10;4410:20;;;;;;;;;;;;;;;:58;;;;4500:33;4523:9;4500:8;:18;4509:8;4500:18;;;;;;;;;;;;;;;;:22;;:33;;;;:::i;:::-;4479:8;:18;4488:8;4479:18;;;;;;;;;;;;;;;:54;;;;4570:8;4549:41;;4558:10;4549:41;;;4580:9;4549:41;;;;;;;;;;;;;;;;;;4645:4;4638:11;;4149:508;;;;:::o;1742:117::-;1804:4;1828:8;:22;1837:12;1828:22;;;;;;;;;;;;;;;;1821:29;;1742:117;;;:::o;512:37::-;;;;;;;;;;;;;;;;;;;:::o;3387:84::-;1061:8;;;;;;;;;;;1047:22;;:10;:22;;;1038:32;;;;;;3452:10;3439:24;;;1896:422;1965:4;2003:8;:20;2012:10;2003:20;;;;;;;;;;;;;;;;1990:9;:33;;1982:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2094:35;2119:9;2094:8;:20;2103:10;2094:20;;;;;;;;;;;;;;;;:24;;:35;;;;:::i;:::-;2071:8;:20;2080:10;2071:20;;;;;;;;;;;;;;;:58;;;;2161:33;2184:9;2161:8;:18;2170:8;2161:18;;;;;;;;;;;;;;;;:22;;:33;;;;:::i;:::-;2140:8;:18;2149:8;2140:18;;;;;;;;;;;;;;;:54;;;;2231:8;2210:41;;2219:10;2210:41;;;2241:9;2210:41;;;;;;;;;;;;;;;;;;2306:4;2299:11;;1896:422;;;;:::o;3495:99::-;1061:8;;;;;;;;;;;1047:22;;:10;:22;;;1038:32;;;;;;3580:6;3564:12;;:22;;;;;;;;;;;3495:99;:::o;3614:94::-;1061:8;;;;;;;;;;;1047:22;;:10;:22;;;1038:32;;;;;;3694:6;3678:12;;:22;;;;;;;;;;;3614:94;:::o;2565:137::-;2642:4;2666:7;:14;2674:5;2666:14;;;;;;;;;;;;;;;:28;2681:12;2666:28;;;;;;;;;;;;;;;;2659:35;;2565:137;;;;:::o;52:146::-;110:7;140:1;135;:6;;128:14;;;;189:1;185;:5;178:12;;52:146;;;;:::o;206:141::-;264:7;282:9;298:1;294;:5;282:17;;320:1;315;:6;;308:14;;;;338:1;331:8;;;206:141;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "994600",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"addAddress(address)": "42141",
"allowance(address,address)": "1409",
"approve(address,uint256)": "22321",
"balanceOf(address)": "1219",
"burnSupply(uint256)": "21997",
"decimals()": "262",
"incrementSupply(uint256)": "21975",
"name()": "infinite",
"selfDestruct()": "31080",
"symbol()": "infinite",
"totalSupply()": "1081",
"transfer(address,uint256)": "infinite",
"transferFrom(address,address,uint256)": "infinite",
"transferWhiteList(address,uint256)": "infinite"
}
},
"legacyAssembly": {
".code": [
{
"begin": 355,
"end": 4670,
"name": "PUSH",
"value": "80"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH",
"value": "40"
},
{
"begin": 355,
"end": 4670,
"name": "MSTORE"
},
{
"begin": 3796,
"end": 3797,
"name": "PUSH",
"value": "0"
},
{
"begin": 3771,
"end": 3797,
"name": "PUSH",
"value": "5"
},
{
"begin": 3771,
"end": 3797,
"name": "SSTORE"
},
{
"begin": 1361,
"end": 1616,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "1"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "1"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 1361,
"end": 1616,
"name": "POP"
},
{
"begin": 1361,
"end": 1616,
"name": "PUSH",
"value": "40"
},
{
"begin": 1361,
"end": 1616,
"name": "MLOAD"
},
{
"begin": 1361,
"end": 1616,
"name": "PUSHSIZE"
},
{
"begin": 1361,
"end": 1616,
"name": "CODESIZE"
},
{
"begin": 1361,
"end": 1616,
"name": "SUB"
},
{
"begin": 1361,
"end": 1616,
"name": "DUP1"
},
{
"begin": 1361,
"end": 1616,
"name": "PUSHSIZE"
},
{
"begin": 1361,
"end": 1616,
"name": "DUP4"
},
{
"begin": 1361,
"end": 1616,
"name": "CODECOPY"
},
{
"begin": 1361,
"end": 1616,
"name": "DUP2"
},
{
"begin": 1361,
"end": 1616,
"name": "DUP2"
},
{
"begin": 1361,
"end": 1616,
"name": "ADD"
},
{
"begin": 1361,
"end": 1616,
"name": "PUSH",
"value": "40"
},
{
"begin": 1361,
"end": 1616,
"name": "MSTORE"
},
{
"begin": 13,
"end": 15,
"name": "PUSH",
"value": "20"
},
{
"begin": 8,
"end": 11,
"name": "DUP2"
},
{
"begin": 5,
"end": 16,
"name": "LT"
},
{
"begin": 2,
"end": 4,
"name": "ISZERO"
},
{
"begin": 2,
"end": 4,
"name": "PUSH [tag]",
"value": "2"
},
{
"begin": 2,
"end": 4,
"name": "JUMPI"
},
{
"begin": 29,
"end": 30,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 27,
"name": "DUP1"
},
{
"begin": 19,
"end": 31,
"name": "REVERT"
},
{
"begin": 2,
"end": 4,
"name": "tag",
"value": "2"
},
{
"begin": 2,
"end": 4,
"name": "JUMPDEST"
},
{
"begin": 1361,
"end": 1616,
"name": "DUP2"
},
{
"begin": 1361,
"end": 1616,
"name": "ADD"
},
{
"begin": 1361,
"end": 1616,
"name": "SWAP1"
},
{
"begin": 1361,
"end": 1616,
"name": "DUP1"
},
{
"begin": 1361,
"end": 1616,
"name": "DUP1"
},
{
"begin": 1361,
"end": 1616,
"name": "MLOAD"
},
{
"begin": 1361,
"end": 1616,
"name": "SWAP1"
},
{
"begin": 1361,
"end": 1616,
"name": "PUSH",
"value": "20"
},
{
"begin": 1361,
"end": 1616,
"name": "ADD"
},
{
"begin": 1361,
"end": 1616,
"name": "SWAP1"
},
{
"begin": 1361,
"end": 1616,
"name": "SWAP3"
},
{
"begin": 1361,
"end": 1616,
"name": "SWAP2"
},
{
"begin": 1361,
"end": 1616,
"name": "SWAP1"
},
{
"begin": 1361,
"end": 1616,
"name": "POP"
},
{
"begin": 1361,
"end": 1616,
"name": "POP"
},
{
"begin": 1361,
"end": 1616,
"name": "POP"
},
{
"begin": 1472,
"end": 1477,
"name": "DUP1"
},
{
"begin": 1457,
"end": 1469,
"name": "PUSH",
"value": "2"
},
{
"begin": 1457,
"end": 1477,
"name": "DUP2"
},
{
"begin": 1457,
"end": 1477,
"name": "SWAP1"
},
{
"begin": 1457,
"end": 1477,
"name": "SSTORE"
},
{
"begin": 1457,
"end": 1477,
"name": "POP"
},
{
"begin": 1505,
"end": 1517,
"name": "PUSH",
"value": "2"
},
{
"begin": 1505,
"end": 1517,
"name": "SLOAD"
},
{
"begin": 1482,
"end": 1490,
"name": "PUSH",
"value": "0"
},
{
"begin": 1482,
"end": 1502,
"name": "DUP1"
},
{
"begin": 1491,
"end": 1501,
"name": "CALLER"
},
{
"begin": 1482,
"end": 1502,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1482,
"end": 1502,
"name": "AND"
},
{
"begin": 1482,
"end": 1502,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1482,
"end": 1502,
"name": "AND"
},
{
"begin": 1482,
"end": 1502,
"name": "DUP2"
},
{
"begin": 1482,
"end": 1502,
"name": "MSTORE"
},
{
"begin": 1482,
"end": 1502,
"name": "PUSH",
"value": "20"
},
{
"begin": 1482,
"end": 1502,
"name": "ADD"
},
{
"begin": 1482,
"end": 1502,
"name": "SWAP1"
},
{
"begin": 1482,
"end": 1502,
"name": "DUP2"
},
{
"begin": 1482,
"end": 1502,
"name": "MSTORE"
},
{
"begin": 1482,
"end": 1502,
"name": "PUSH",
"value": "20"
},
{
"begin": 1482,
"end": 1502,
"name": "ADD"
},
{
"begin": 1482,
"end": 1502,
"name": "PUSH",
"value": "0"
},
{
"begin": 1482,
"end": 1502,
"name": "KECCAK256"
},
{
"begin": 1482,
"end": 1517,
"name": "DUP2"
},
{
"begin": 1482,
"end": 1517,
"name": "SWAP1"
},
{
"begin": 1482,
"end": 1517,
"name": "SSTORE"
},
{
"begin": 1482,
"end": 1517,
"name": "POP"
},
{
"begin": 1598,
"end": 1608,
"name": "CALLER"
},
{
"begin": 1587,
"end": 1595,
"name": "PUSH",
"value": "3"
},
{
"begin": 1587,
"end": 1595,
"name": "PUSH",
"value": "0"
},
{
"begin": 1587,
"end": 1608,
"name": "PUSH",
"value": "100"
},
{
"begin": 1587,
"end": 1608,
"name": "EXP"
},
{
"begin": 1587,
"end": 1608,
"name": "DUP2"
},
{
"begin": 1587,
"end": 1608,
"name": "SLOAD"
},
{
"begin": 1587,
"end": 1608,
"name": "DUP2"
},
{
"begin": 1587,
"end": 1608,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1587,
"end": 1608,
"name": "MUL"
},
{
"begin": 1587,
"end": 1608,
"name": "NOT"
},
{
"begin": 1587,
"end": 1608,
"name": "AND"
},
{
"begin": 1587,
"end": 1608,
"name": "SWAP1"
},
{
"begin": 1587,
"end": 1608,
"name": "DUP4"
},
{
"begin": 1587,
"end": 1608,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1587,
"end": 1608,
"name": "AND"
},
{
"begin": 1587,
"end": 1608,
"name": "MUL"
},
{
"begin": 1587,
"end": 1608,
"name": "OR"
},
{
"begin": 1587,
"end": 1608,
"name": "SWAP1"
},
{
"begin": 1587,
"end": 1608,
"name": "SSTORE"
},
{
"begin": 1587,
"end": 1608,
"name": "POP"
},
{
"begin": 1361,
"end": 1616,
"name": "POP"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH #[$]",
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 355,
"end": 4670,
"name": "DUP1"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH [$]",
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH",
"value": "0"
},
{
"begin": 355,
"end": 4670,
"name": "CODECOPY"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH",
"value": "0"
},
{
"begin": 355,
"end": 4670,
"name": "RETURN"
}
],
".data": {
"0": {
".auxdata": "a265627a7a723158207b2abea7e03fd81ab29d56cc4de38e3ce9345e705dcc244ec343d548802f1ed064736f6c63430005110032",
".code": [
{
"begin": 355,
"end": 4670,
"name": "PUSH",
"value": "80"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH",
"value": "40"
},
{
"begin": 355,
"end": 4670,
"name": "MSTORE"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH",
"value": "4"
},
{
"begin": 355,
"end": 4670,
"name": "CALLDATASIZE"
},
{
"begin": 355,
"end": 4670,
"name": "LT"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH [tag]",
"value": "1"
},
{
"begin": 355,
"end": 4670,
"name": "JUMPI"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH",
"value": "0"
},
{
"begin": 355,
"end": 4670,
"name": "CALLDATALOAD"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH",
"value": "E0"
},
{
"begin": 355,
"end": 4670,
"name": "SHR"
},
{
"begin": 355,
"end": 4670,
"name": "DUP1"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH",
"value": "70A08231"
},
{
"begin": 355,
"end": 4670,
"name": "GT"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH [tag]",
"value": "16"
},
{
"begin": 355,
"end": 4670,
"name": "JUMPI"
},
{
"begin": 355,
"end": 4670,
"name": "DUP1"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH",
"value": "A9059CBB"
},
{
"begin": 355,
"end": 4670,
"name": "GT"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH [tag]",
"value": "17"
},
{
"begin": 355,
"end": 4670,
"name": "JUMPI"
},
{
"begin": 355,
"end": 4670,
"name": "DUP1"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH",
"value": "A9059CBB"
},
{
"begin": 355,
"end": 4670,
"name": "EQ"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH [tag]",
"value": "12"
},
{
"begin": 355,
"end": 4670,
"name": "JUMPI"
},
{
"begin": 355,
"end": 4670,
"name": "DUP1"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH",
"value": "CBBD8A04"
},
{
"begin": 355,
"end": 4670,
"name": "EQ"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH [tag]",
"value": "13"
},
{
"begin": 355,
"end": 4670,
"name": "JUMPI"
},
{
"begin": 355,
"end": 4670,
"name": "DUP1"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH",
"value": "D595C331"
},
{
"begin": 355,
"end": 4670,
"name": "EQ"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH [tag]",
"value": "14"
},
{
"begin": 355,
"end": 4670,
"name": "JUMPI"
},
{
"begin": 355,
"end": 4670,
"name": "DUP1"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH",
"value": "DD62ED3E"
},
{
"begin": 355,
"end": 4670,
"name": "EQ"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH [tag]",
"value": "15"
},
{
"begin": 355,
"end": 4670,
"name": "JUMPI"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH [tag]",
"value": "1"
},
{
"begin": 355,
"end": 4670,
"name": "JUMP"
},
{
"begin": 355,
"end": 4670,
"name": "tag",
"value": "17"
},
{
"begin": 355,
"end": 4670,
"name": "JUMPDEST"
},
{
"begin": 355,
"end": 4670,
"name": "DUP1"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH",
"value": "70A08231"
},
{
"begin": 355,
"end": 4670,
"name": "EQ"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH [tag]",
"value": "9"
},
{
"begin": 355,
"end": 4670,
"name": "JUMPI"
},
{
"begin": 355,
"end": 4670,
"name": "DUP1"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH",
"value": "95D89B41"
},
{
"begin": 355,
"end": 4670,
"name": "EQ"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH [tag]",
"value": "10"
},
{
"begin": 355,
"end": 4670,
"name": "JUMPI"
},
{
"begin": 355,
"end": 4670,
"name": "DUP1"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH",
"value": "9CB8A26A"
},
{
"begin": 355,
"end": 4670,
"name": "EQ"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH [tag]",
"value": "11"
},
{
"begin": 355,
"end": 4670,
"name": "JUMPI"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH [tag]",
"value": "1"
},
{
"begin": 355,
"end": 4670,
"name": "JUMP"
},
{
"begin": 355,
"end": 4670,
"name": "tag",
"value": "16"
},
{
"begin": 355,
"end": 4670,
"name": "JUMPDEST"
},
{
"begin": 355,
"end": 4670,
"name": "DUP1"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH",
"value": "23B872DD"
},
{
"begin": 355,
"end": 4670,
"name": "GT"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH [tag]",
"value": "18"
},
{
"begin": 355,
"end": 4670,
"name": "JUMPI"
},
{
"begin": 355,
"end": 4670,
"name": "DUP1"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH",
"value": "23B872DD"
},
{
"begin": 355,
"end": 4670,
"name": "EQ"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH [tag]",
"value": "5"
},
{
"begin": 355,
"end": 4670,
"name": "JUMPI"
},
{
"begin": 355,
"end": 4670,
"name": "DUP1"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH",
"value": "313CE567"
},
{
"begin": 355,
"end": 4670,
"name": "EQ"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH [tag]",
"value": "6"
},
{
"begin": 355,
"end": 4670,
"name": "JUMPI"
},
{
"begin": 355,
"end": 4670,
"name": "DUP1"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH",
"value": "38EADA1C"
},
{
"begin": 355,
"end": 4670,
"name": "EQ"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH [tag]",
"value": "7"
},
{
"begin": 355,
"end": 4670,
"name": "JUMPI"
},
{
"begin": 355,
"end": 4670,
"name": "DUP1"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH",
"value": "5C0246C9"
},
{
"begin": 355,
"end": 4670,
"name": "EQ"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH [tag]",
"value": "8"
},
{
"begin": 355,
"end": 4670,
"name": "JUMPI"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH [tag]",
"value": "1"
},
{
"begin": 355,
"end": 4670,
"name": "JUMP"
},
{
"begin": 355,
"end": 4670,
"name": "tag",
"value": "18"
},
{
"begin": 355,
"end": 4670,
"name": "JUMPDEST"
},
{
"begin": 355,
"end": 4670,
"name": "DUP1"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH",
"value": "6FDDE03"
},
{
"begin": 355,
"end": 4670,
"name": "EQ"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH [tag]",
"value": "2"
},
{
"begin": 355,
"end": 4670,
"name": "JUMPI"
},
{
"begin": 355,
"end": 4670,
"name": "DUP1"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH",
"value": "95EA7B3"
},
{
"begin": 355,
"end": 4670,
"name": "EQ"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH [tag]",
"value": "3"
},
{
"begin": 355,
"end": 4670,
"name": "JUMPI"
},
{
"begin": 355,
"end": 4670,
"name": "DUP1"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH",
"value": "18160DDD"
},
{
"begin": 355,
"end": 4670,
"name": "EQ"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH [tag]",
"value": "4"
},
{
"begin": 355,
"end": 4670,
"name": "JUMPI"
},
{
"begin": 355,
"end": 4670,
"name": "tag",
"value": "1"
},
{
"begin": 355,
"end": 4670,
"name": "JUMPDEST"
},
{
"begin": 355,
"end": 4670,
"name": "PUSH",
"value": "0"
},
{
"begin": 355,
"end": 4670,
"name": "DUP1"
},
{
"begin": 355,
"end": 4670,
"name": "REVERT"
},
{
"begin": 389,
"end": 432,
"name": "tag",
"value": "2"
},
{
"begin": 389,
"end": 432,
"name": "JUMPDEST"
},
{
"begin": 389,
"end": 432,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "19"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "19"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 389,
"end": 432,
"name": "POP"
},
{
"begin": 389,
"end": 432,
"name": "PUSH [tag]",
"value": "20"
},
{
"begin": 389,
"end": 432,
"name": "PUSH [tag]",
"value": "21"
},
{
"begin": 389,
"end": 432,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 389,
"end": 432,
"name": "tag",
"value": "20"
},
{
"begin": 389,
"end": 432,
"name": "JUMPDEST"
},
{
"begin": 389,
"end": 432,
"name": "PUSH",
"value": "40"
},
{
"begin": 389,
"end": 432,
"name": "MLOAD"
},
{
"begin": 389,
"end": 432,
"name": "DUP1"
},
{
"begin": 389,
"end": 432,
"name": "DUP1"
},
{
"begin": 389,
"end": 432,
"name": "PUSH",
"value": "20"
},
{
"begin": 389,
"end": 432,
"name": "ADD"
},
{
"begin": 389,
"end": 432,
"name": "DUP3"
},
{
"begin": 389,
"end": 432,
"name": "DUP2"
},
{
"begin": 389,
"end": 432,
"name": "SUB"
},
{
"begin": 389,
"end": 432,
"name": "DUP3"
},
{
"begin": 389,
"end": 432,
"name": "MSTORE"
},
{
"begin": 389,
"end": 432,
"name": "DUP4"
},
{
"begin": 389,
"end": 432,
"name": "DUP2"
},
{
"begin": 389,
"end": 432,
"name": "DUP2"
},
{
"begin": 389,
"end": 432,
"name": "MLOAD"
},
{
"begin": 389,
"end": 432,
"name": "DUP2"
},
{
"begin": 389,
"end": 432,
"name": "MSTORE"
},
{
"begin": 389,
"end": 432,
"name": "PUSH",
"value": "20"
},
{
"begin": 389,
"end": 432,
"name": "ADD"
},
{
"begin": 389,
"end": 432,
"name": "SWAP2"
},
{
"begin": 389,
"end": 432,
"name": "POP"
},
{
"begin": 389,
"end": 432,
"name": "DUP1"
},
{
"begin": 389,
"end": 432,
"name": "MLOAD"
},
{
"begin": 389,
"end": 432,
"name": "SWAP1"
},
{
"begin": 389,
"end": 432,
"name": "PUSH",
"value": "20"
},
{
"begin": 389,
"end": 432,
"name": "ADD"
},
{
"begin": 389,
"end": 432,
"name": "SWAP1"
},
{
"begin": 389,
"end": 432,
"name": "DUP1"
},
{
"begin": 389,
"end": 432,
"name": "DUP4"
},
{
"begin": 389,
"end": 432,
"name": "DUP4"
},
{
"begin": 23,
"end": 24,
"name": "PUSH",
"value": "0"
},
{
"begin": 8,
"end": 108,
"name": "tag",
"value": "22"
},
{
"begin": 8,
"end": 108,
"name": "JUMPDEST"
},
{
"begin": 33,
"end": 36,
"name": "DUP4"
},
{
"begin": 30,
"end": 31,
"name": "DUP2"
},
{
"begin": 27,
"end": 37,
"name": "LT"
},
{
"begin": 8,
"end": 108,
"name": "ISZERO"
},
{
"begin": 8,
"end": 108,
"name": "PUSH [tag]",
"value": "24"
},
{
"begin": 8,
"end": 108,
"name": "JUMPI"
},
{
"begin": 99,
"end": 100,
"name": "DUP1"
},
{
"begin": 94,
"end": 97,
"name": "DUP3"
},
{
"begin": 90,
"end": 101,
"name": "ADD"
},
{
"begin": 84,
"end": 102,
"name": "MLOAD"
},
{
"begin": 80,
"end": 81,
"name": "DUP2"
},
{
"begin": 75,
"end": 78,
"name": "DUP5"
},
{
"begin": 71,
"end": 82,
"name": "ADD"
},
{
"begin": 64,
"end": 103,
"name": "MSTORE"
},
{
"begin": 52,
"end": 54,
"name": "PUSH",
"value": "20"
},
{
"begin": 49,
"end": 50,
"name": "DUP2"
},
{
"begin": 45,
"end": 55,
"name": "ADD"
},
{
"begin": 40,
"end": 55,
"name": "SWAP1"
},
{
"begin": 40,
"end": 55,
"name": "POP"
},
{
"begin": 8,
"end": 108,
"name": "PUSH [tag]",
"value": "22"
},
{
"begin": 8,
"end": 108,
"name": "JUMP"
},
{
"begin": 8,
"end": 108,
"name": "tag",
"value": "24"
},
{
"begin": 8,
"end": 108,
"name": "JUMPDEST"
},
{
"begin": 12,
"end": 26,
"name": "POP"
},
{
"begin": 389,
"end": 432,
"name": "POP"
},
{
"begin": 389,
"end": 432,
"name": "POP"
},
{
"begin": 389,
"end": 432,
"name": "POP"
},
{
"begin": 389,
"end": 432,
"name": "SWAP1"
},
{
"begin": 389,
"end": 432,
"name": "POP"
},
{
"begin": 389,
"end": 432,
"name": "SWAP1"
},
{
"begin": 389,
"end": 432,
"name": "DUP2"
},
{
"begin": 389,
"end": 432,
"name": "ADD"
},
{
"begin": 389,
"end": 432,
"name": "SWAP1"
},
{
"begin": 389,
"end": 432,
"name": "PUSH",
"value": "1F"
},
{
"begin": 389,
"end": 432,
"name": "AND"
},
{
"begin": 389,
"end": 432,
"name": "DUP1"
},
{
"begin": 389,
"end": 432,
"name": "ISZERO"
},
{
"begin": 389,
"end": 432,
"name": "PUSH [tag]",
"value": "25"
},
{
"begin": 389,
"end": 432,
"name": "JUMPI"
},
{
"begin": 389,
"end": 432,
"name": "DUP1"
},
{
"begin": 389,
"end": 432,
"name": "DUP3"
},
{
"begin": 389,
"end": 432,
"name": "SUB"
},
{
"begin": 389,
"end": 432,
"name": "DUP1"
},
{
"begin": 389,
"end": 432,
"name": "MLOAD"
},
{
"begin": 389,
"end": 432,
"name": "PUSH",
"value": "1"
},
{
"begin": 389,
"end": 432,
"name": "DUP4"
},
{
"begin": 389,
"end": 432,
"name": "PUSH",
"value": "20"
},
{
"begin": 389,
"end": 432,
"name": "SUB"
},
{
"begin": 389,
"end": 432,
"name": "PUSH",
"value": "100"
},
{
"begin": 389,
"end": 432,
"name": "EXP"
},
{
"begin": 389,
"end": 432,
"name": "SUB"
},
{
"begin": 389,
"end": 432,
"name": "NOT"
},
{
"begin": 389,
"end": 432,
"name": "AND"
},
{
"begin": 389,
"end": 432,
"name": "DUP2"
},
{
"begin": 389,
"end": 432,
"name": "MSTORE"
},
{
"begin": 389,
"end": 432,
"name": "PUSH",
"value": "20"
},
{
"begin": 389,
"end": 432,
"name": "ADD"
},
{
"begin": 389,
"end": 432,
"name": "SWAP2"
},
{
"begin": 389,
"end": 432,
"name": "POP"
},
{
"begin": 389,
"end": 432,
"name": "tag",
"value": "25"
},
{
"begin": 389,
"end": 432,
"name": "JUMPDEST"
},
{
"begin": 389,
"end": 432,
"name": "POP"
},
{
"begin": 389,
"end": 432,
"name": "SWAP3"
},
{
"begin": 389,
"end": 432,
"name": "POP"
},
{
"begin": 389,
"end": 432,
"name": "POP"
},
{
"begin": 389,
"end": 432,
"name": "POP"
},
{
"begin": 389,
"end": 432,
"name": "PUSH",
"value": "40"
},
{
"begin": 389,
"end": 432,
"name": "MLOAD"
},
{
"begin": 389,
"end": 432,
"name": "DUP1"
},
{
"begin": 389,
"end": 432,
"name": "SWAP2"
},
{
"begin": 389,
"end": 432,
"name": "SUB"
},
{
"begin": 389,
"end": 432,
"name": "SWAP1"
},
{
"begin": 389,
"end": 432,
"name": "RETURN"
},
{
"begin": 2328,
"end": 2555,
"name": "tag",
"value": "3"
},
{
"begin": 2328,
"end": 2555,
"name": "JUMPDEST"
},
{
"begin": 2328,
"end": 2555,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "26"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "26"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 2328,
"end": 2555,
"name": "POP"
},
{
"begin": 2328,
"end": 2555,
"name": "PUSH [tag]",
"value": "27"
},
{
"begin": 2328,
"end": 2555,
"name": "PUSH",
"value": "4"
},
{
"begin": 2328,
"end": 2555,
"name": "DUP1"
},
{
"begin": 2328,
"end": 2555,
"name": "CALLDATASIZE"
},
{
"begin": 2328,
"end": 2555,
"name": "SUB"
},
{
"begin": 13,
"end": 15,
"name": "PUSH",
"value": "40"
},
{
"begin": 8,
"end": 11,
"name": "DUP2"
},
{
"begin": 5,
"end": 16,
"name": "LT"
},
{
"begin": 2,
"end": 4,
"name": "ISZERO"
},
{
"begin": 2,
"end": 4,
"name": "PUSH [tag]",
"value": "28"
},
{
"begin": 2,
"end": 4,
"name": "JUMPI"
},
{
"begin": 29,
"end": 30,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 27,
"name": "DUP1"
},
{
"begin": 19,
"end": 31,
"name": "REVERT"
},
{
"begin": 2,
"end": 4,
"name": "tag",
"value": "28"
},
{
"begin": 2,
"end": 4,
"name": "JUMPDEST"
},
{
"begin": 2328,
"end": 2555,
"name": "DUP2"
},
{
"begin": 2328,
"end": 2555,
"name": "ADD"
},
{
"begin": 2328,
"end": 2555,
"name": "SWAP1"
},
{
"begin": 2328,
"end": 2555,
"name": "DUP1"
},
{
"begin": 2328,
"end": 2555,
"name": "DUP1"
},
{
"begin": 2328,
"end": 2555,
"name": "CALLDATALOAD"
},
{
"begin": 2328,
"end": 2555,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2328,
"end": 2555,
"name": "AND"
},
{
"begin": 2328,
"end": 2555,
"name": "SWAP1"
},
{
"begin": 2328,
"end": 2555,
"name": "PUSH",
"value": "20"
},
{
"begin": 2328,
"end": 2555,
"name": "ADD"
},
{
"begin": 2328,
"end": 2555,
"name": "SWAP1"
},
{
"begin": 2328,
"end": 2555,
"name": "SWAP3"
},
{
"begin": 2328,
"end": 2555,
"name": "SWAP2"
},
{
"begin": 2328,
"end": 2555,
"name": "SWAP1"
},
{
"begin": 2328,
"end": 2555,
"name": "DUP1"
},
{
"begin": 2328,
"end": 2555,
"name": "CALLDATALOAD"
},
{
"begin": 2328,
"end": 2555,
"name": "SWAP1"
},
{
"begin": 2328,
"end": 2555,
"name": "PUSH",
"value": "20"
},
{
"begin": 2328,
"end": 2555,
"name": "ADD"
},
{
"begin": 2328,
"end": 2555,
"name": "SWAP1"
},
{
"begin": 2328,
"end": 2555,
"name": "SWAP3"
},
{
"begin": 2328,
"end": 2555,
"name": "SWAP2"
},
{
"begin": 2328,
"end": 2555,
"name": "SWAP1"
},
{
"begin": 2328,
"end": 2555,
"name": "POP"
},
{
"begin": 2328,
"end": 2555,
"name": "POP"
},
{
"begin": 2328,
"end": 2555,
"name": "POP"
},
{
"begin": 2328,
"end": 2555,
"name": "PUSH [tag]",
"value": "29"
},
{
"begin": 2328,
"end": 2555,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 2328,
"end": 2555,
"name": "tag",
"value": "27"
},
{
"begin": 2328,
"end": 2555,
"name": "JUMPDEST"
},
{
"begin": 2328,
"end": 2555,
"name": "PUSH",
"value": "40"
},
{
"begin": 2328,
"end": 2555,
"name": "MLOAD"
},
{
"begin": 2328,
"end": 2555,
"name": "DUP1"
},
{
"begin": 2328,
"end": 2555,
"name": "DUP3"
},
{
"begin": 2328,
"end": 2555,
"name": "ISZERO"
},
{
"begin": 2328,
"end": 2555,
"name": "ISZERO"
},
{
"begin": 2328,
"end": 2555,
"name": "ISZERO"
},
{
"begin": 2328,
"end": 2555,
"name": "ISZERO"
},
{
"begin": 2328,
"end": 2555,
"name": "DUP2"
},
{
"begin": 2328,
"end": 2555,
"name": "MSTORE"
},
{
"begin": 2328,
"end": 2555,
"name": "PUSH",
"value": "20"
},
{
"begin": 2328,
"end": 2555,
"name": "ADD"
},
{
"begin": 2328,
"end": 2555,
"name": "SWAP2"
},
{
"begin": 2328,
"end": 2555,
"name": "POP"
},
{
"begin": 2328,
"end": 2555,
"name": "POP"
},
{
"begin": 2328,
"end": 2555,
"name": "PUSH",
"value": "40"
},
{
"begin": 2328,
"end": 2555,
"name": "MLOAD"
},
{
"begin": 2328,
"end": 2555,
"name": "DUP1"
},
{
"begin": 2328,
"end": 2555,
"name": "SWAP2"
},
{
"begin": 2328,
"end": 2555,
"name": "SUB"
},
{
"begin": 2328,
"end": 2555,
"name": "SWAP1"
},
{
"begin": 2328,
"end": 2555,
"name": "RETURN"
},
{
"begin": 1626,
"end": 1710,
"name": "tag",
"value": "4"
},
{
"begin": 1626,
"end": 1710,
"name": "JUMPDEST"
},
{
"begin": 1626,
"end": 1710,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "30"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "30"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 1626,
"end": 1710,
"name": "POP"
},
{
"begin": 1626,
"end": 1710,
"name": "PUSH [tag]",
"value": "31"
},
{
"begin": 1626,
"end": 1710,
"name": "PUSH [tag]",
"value": "32"
},
{
"begin": 1626,
"end": 1710,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 1626,
"end": 1710,
"name": "tag",
"value": "31"
},
{
"begin": 1626,
"end": 1710,
"name": "JUMPDEST"
},
{
"begin": 1626,
"end": 1710,
"name": "PUSH",
"value": "40"
},
{
"begin": 1626,
"end": 1710,
"name": "MLOAD"
},
{
"begin": 1626,
"end": 1710,
"name": "DUP1"
},
{
"begin": 1626,
"end": 1710,
"name": "DUP3"
},
{
"begin": 1626,
"end": 1710,
"name": "DUP2"
},
{
"begin": 1626,
"end": 1710,
"name": "MSTORE"
},
{
"begin": 1626,
"end": 1710,
"name": "PUSH",
"value": "20"
},
{
"begin": 1626,
"end": 1710,
"name": "ADD"
},
{
"begin": 1626,
"end": 1710,
"name": "SWAP2"
},
{
"begin": 1626,
"end": 1710,
"name": "POP"
},
{
"begin": 1626,
"end": 1710,
"name": "POP"
},
{
"begin": 1626,
"end": 1710,
"name": "PUSH",
"value": "40"
},
{
"begin": 1626,
"end": 1710,
"name": "MLOAD"
},
{
"begin": 1626,
"end": 1710,
"name": "DUP1"
},
{
"begin": 1626,
"end": 1710,
"name": "SWAP2"
},
{
"begin": 1626,
"end": 1710,
"name": "SUB"
},
{
"begin": 1626,
"end": 1710,
"name": "SWAP1"
},
{
"begin": 1626,
"end": 1710,
"name": "RETURN"
},
{
"begin": 2781,
"end": 3262,
"name": "tag",
"value": "5"
},
{
"begin": 2781,
"end": 3262,
"name": "JUMPDEST"
},
{
"begin": 2781,
"end": 3262,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "33"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "33"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 2781,
"end": 3262,
"name": "POP"
},
{
"begin": 2781,
"end": 3262,
"name": "PUSH [tag]",
"value": "34"
},
{
"begin": 2781,
"end": 3262,
"name": "PUSH",
"value": "4"
},
{
"begin": 2781,
"end": 3262,
"name": "DUP1"
},
{
"begin": 2781,
"end": 3262,
"name": "CALLDATASIZE"
},
{
"begin": 2781,
"end": 3262,
"name": "SUB"
},
{
"begin": 13,
"end": 15,
"name": "PUSH",
"value": "60"
},
{
"begin": 8,
"end": 11,
"name": "DUP2"
},
{
"begin": 5,
"end": 16,
"name": "LT"
},
{
"begin": 2,
"end": 4,
"name": "ISZERO"
},
{
"begin": 2,
"end": 4,
"name": "PUSH [tag]",
"value": "35"
},
{
"begin": 2,
"end": 4,
"name": "JUMPI"
},
{
"begin": 29,
"end": 30,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 27,
"name": "DUP1"
},
{
"begin": 19,
"end": 31,
"name": "REVERT"
},
{
"begin": 2,
"end": 4,
"name": "tag",
"value": "35"
},
{
"begin": 2,
"end": 4,
"name": "JUMPDEST"
},
{
"begin": 2781,
"end": 3262,
"name": "DUP2"
},
{
"begin": 2781,
"end": 3262,
"name": "ADD"
},
{
"begin": 2781,
"end": 3262,
"name": "SWAP1"
},
{
"begin": 2781,
"end": 3262,
"name": "DUP1"
},
{
"begin": 2781,
"end": 3262,
"name": "DUP1"
},
{
"begin": 2781,
"end": 3262,
"name": "CALLDATALOAD"
},
{
"begin": 2781,
"end": 3262,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2781,
"end": 3262,
"name": "AND"
},
{
"begin": 2781,
"end": 3262,
"name": "SWAP1"
},
{
"begin": 2781,
"end": 3262,
"name": "PUSH",
"value": "20"
},
{
"begin": 2781,
"end": 3262,
"name": "ADD"
},
{
"begin": 2781,
"end": 3262,
"name": "SWAP1"
},
{
"begin": 2781,
"end": 3262,
"name": "SWAP3"
},
{
"begin": 2781,
"end": 3262,
"name": "SWAP2"
},
{
"begin": 2781,
"end": 3262,
"name": "SWAP1"
},
{
"begin": 2781,
"end": 3262,
"name": "DUP1"
},
{
"begin": 2781,
"end": 3262,
"name": "CALLDATALOAD"
},
{
"begin": 2781,
"end": 3262,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2781,
"end": 3262,
"name": "AND"
},
{
"begin": 2781,
"end": 3262,
"name": "SWAP1"
},
{
"begin": 2781,
"end": 3262,
"name": "PUSH",
"value": "20"
},
{
"begin": 2781,
"end": 3262,
"name": "ADD"
},
{
"begin": 2781,
"end": 3262,
"name": "SWAP1"
},
{
"begin": 2781,
"end": 3262,
"name": "SWAP3"
},
{
"begin": 2781,
"end": 3262,
"name": "SWAP2"
},
{
"begin": 2781,
"end": 3262,
"name": "SWAP1"
},
{
"begin": 2781,
"end": 3262,
"name": "DUP1"
},
{
"begin": 2781,
"end": 3262,
"name": "CALLDATALOAD"
},
{
"begin": 2781,
"end": 3262,
"name": "SWAP1"
},
{
"begin": 2781,
"end": 3262,
"name": "PUSH",
"value": "20"
},
{
"begin": 2781,
"end": 3262,
"name": "ADD"
},
{
"begin": 2781,
"end": 3262,
"name": "SWAP1"
},
{
"begin": 2781,
"end": 3262,
"name": "SWAP3"
},
{
"begin": 2781,
"end": 3262,
"name": "SWAP2"
},
{
"begin": 2781,
"end": 3262,
"name": "SWAP1"
},
{
"begin": 2781,
"end": 3262,
"name": "POP"
},
{
"begin": 2781,
"end": 3262,
"name": "POP"
},
{
"begin": 2781,
"end": 3262,
"name": "POP"
},
{
"begin": 2781,
"end": 3262,
"name": "PUSH [tag]",
"value": "36"
},
{
"begin": 2781,
"end": 3262,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 2781,
"end": 3262,
"name": "tag",
"value": "34"
},
{
"begin": 2781,
"end": 3262,
"name": "JUMPDEST"
},
{
"begin": 2781,
"end": 3262,
"name": "PUSH",
"value": "40"
},
{
"begin": 2781,
"end": 3262,
"name": "MLOAD"
},
{
"begin": 2781,
"end": 3262,
"name": "DUP1"
},
{
"begin": 2781,
"end": 3262,
"name": "DUP3"
},
{
"begin": 2781,
"end": 3262,
"name": "ISZERO"
},
{
"begin": 2781,
"end": 3262,
"name": "ISZERO"
},
{
"begin": 2781,
"end": 3262,
"name": "ISZERO"
},
{
"begin": 2781,
"end": 3262,
"name": "ISZERO"
},
{
"begin": 2781,
"end": 3262,
"name": "DUP2"
},
{
"begin": 2781,
"end": 3262,
"name": "MSTORE"
},
{
"begin": 2781,
"end": 3262,
"name": "PUSH",
"value": "20"
},
{
"begin": 2781,
"end": 3262,
"name": "ADD"
},
{
"begin": 2781,
"end": 3262,
"name": "SWAP2"
},
{
"begin": 2781,
"end": 3262,
"name": "POP"
},
{
"begin": 2781,
"end": 3262,
"name": "POP"
},
{
"begin": 2781,
"end": 3262,
"name": "PUSH",
"value": "40"
},
{
"begin": 2781,
"end": 3262,
"name": "MLOAD"
},
{
"begin": 2781,
"end": 3262,
"name": "DUP1"
},
{
"begin": 2781,
"end": 3262,
"name": "SWAP2"
},
{
"begin": 2781,
"end": 3262,
"name": "SUB"
},
{
"begin": 2781,
"end": 3262,
"name": "SWAP1"
},
{
"begin": 2781,
"end": 3262,
"name": "RETURN"
},
{
"begin": 634,
"end": 669,
"name": "tag",
"value": "6"
},
{
"begin": 634,
"end": 669,
"name": "JUMPDEST"
},
{
"begin": 634,
"end": 669,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "37"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "37"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 634,
"end": 669,
"name": "POP"
},
{
"begin": 634,
"end": 669,
"name": "PUSH [tag]",
"value": "38"
},
{
"begin": 634,
"end": 669,
"name": "PUSH [tag]",
"value": "39"
},
{
"begin": 634,
"end": 669,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 634,
"end": 669,
"name": "tag",
"value": "38"
},
{
"begin": 634,
"end": 669,
"name": "JUMPDEST"
},
{
"begin": 634,
"end": 669,
"name": "PUSH",
"value": "40"
},
{
"begin": 634,
"end": 669,
"name": "MLOAD"
},
{
"begin": 634,
"end": 669,
"name": "DUP1"
},
{
"begin": 634,
"end": 669,
"name": "DUP3"
},
{
"begin": 634,
"end": 669,
"name": "PUSH",
"value": "FF"
},
{
"begin": 634,
"end": 669,
"name": "AND"
},
{
"begin": 634,
"end": 669,
"name": "PUSH",
"value": "FF"
},
{
"begin": 634,
"end": 669,
"name": "AND"
},
{
"begin": 634,
"end": 669,
"name": "DUP2"
},
{
"begin": 634,
"end": 669,
"name": "MSTORE"
},
{
"begin": 634,
"end": 669,
"name": "PUSH",
"value": "20"
},
{
"begin": 634,
"end": 669,
"name": "ADD"
},
{
"begin": 634,
"end": 669,
"name": "SWAP2"
},
{
"begin": 634,
"end": 669,
"name": "POP"
},
{
"begin": 634,
"end": 669,
"name": "POP"
},
{
"begin": 634,
"end": 669,
"name": "PUSH",
"value": "40"
},
{
"begin": 634,
"end": 669,
"name": "MLOAD"
},
{
"begin": 634,
"end": 669,
"name": "DUP1"
},
{
"begin": 634,
"end": 669,
"name": "SWAP2"
},
{
"begin": 634,
"end": 669,
"name": "SUB"
},
{
"begin": 634,
"end": 669,
"name": "SWAP1"
},
{
"begin": 634,
"end": 669,
"name": "RETURN"
},
{
"begin": 3807,
"end": 4069,
"name": "tag",
"value": "7"
},
{
"begin": 3807,
"end": 4069,
"name": "JUMPDEST"
},
{
"begin": 3807,
"end": 4069,
"name": "PUSH [tag]",
"value": "40"
},
{
"begin": 3807,
"end": 4069,
"name": "PUSH",
"value": "4"
},
{
"begin": 3807,
"end": 4069,
"name": "DUP1"
},
{
"begin": 3807,
"end": 4069,
"name": "CALLDATASIZE"
},
{
"begin": 3807,
"end": 4069,
"name": "SUB"
},
{
"begin": 13,
"end": 15,
"name": "PUSH",
"value": "20"
},
{
"begin": 8,
"end": 11,
"name": "DUP2"
},
{
"begin": 5,
"end": 16,
"name": "LT"
},
{
"begin": 2,
"end": 4,
"name": "ISZERO"
},
{
"begin": 2,
"end": 4,
"name": "PUSH [tag]",
"value": "41"
},
{
"begin": 2,
"end": 4,
"name": "JUMPI"
},
{
"begin": 29,
"end": 30,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 27,
"name": "DUP1"
},
{
"begin": 19,
"end": 31,
"name": "REVERT"
},
{
"begin": 2,
"end": 4,
"name": "tag",
"value": "41"
},
{
"begin": 2,
"end": 4,
"name": "JUMPDEST"
},
{
"begin": 3807,
"end": 4069,
"name": "DUP2"
},
{
"begin": 3807,
"end": 4069,
"name": "ADD"
},
{
"begin": 3807,
"end": 4069,
"name": "SWAP1"
},
{
"begin": 3807,
"end": 4069,
"name": "DUP1"
},
{
"begin": 3807,
"end": 4069,
"name": "DUP1"
},
{
"begin": 3807,
"end": 4069,
"name": "CALLDATALOAD"
},
{
"begin": 3807,
"end": 4069,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 3807,
"end": 4069,
"name": "AND"
},
{
"begin": 3807,
"end": 4069,
"name": "SWAP1"
},
{
"begin": 3807,
"end": 4069,
"name": "PUSH",
"value": "20"
},
{
"begin": 3807,
"end": 4069,
"name": "ADD"
},
{
"begin": 3807,
"end": 4069,
"name": "SWAP1"
},
{
"begin": 3807,
"end": 4069,
"name": "SWAP3"
},
{
"begin": 3807,
"end": 4069,
"name": "SWAP2"
},
{
"begin": 3807,
"end": 4069,
"name": "SWAP1"
},
{
"begin": 3807,
"end": 4069,
"name": "POP"
},
{
"begin": 3807,
"end": 4069,
"name": "POP"
},
{
"begin": 3807,
"end": 4069,
"name": "POP"
},
{
"begin": 3807,
"end": 4069,
"name": "PUSH [tag]",
"value": "42"
},
{
"begin": 3807,
"end": 4069,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 3807,
"end": 4069,
"name": "tag",
"value": "40"
},
{
"begin": 3807,
"end": 4069,
"name": "JUMPDEST"
},
{
"begin": 3807,
"end": 4069,
"name": "STOP"
},
{
"begin": 4149,
"end": 4657,
"name": "tag",
"value": "8"
},
{
"begin": 4149,
"end": 4657,
"name": "JUMPDEST"
},
{
"begin": 4149,
"end": 4657,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "43"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "43"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 4149,
"end": 4657,
"name": "POP"
},
{
"begin": 4149,
"end": 4657,
"name": "PUSH [tag]",
"value": "44"
},
{
"begin": 4149,
"end": 4657,
"name": "PUSH",
"value": "4"
},
{
"begin": 4149,
"end": 4657,
"name": "DUP1"
},
{
"begin": 4149,
"end": 4657,
"name": "CALLDATASIZE"
},
{
"begin": 4149,
"end": 4657,
"name": "SUB"
},
{
"begin": 13,
"end": 15,
"name": "PUSH",
"value": "40"
},
{
"begin": 8,
"end": 11,
"name": "DUP2"
},
{
"begin": 5,
"end": 16,
"name": "LT"
},
{
"begin": 2,
"end": 4,
"name": "ISZERO"
},
{
"begin": 2,
"end": 4,
"name": "PUSH [tag]",
"value": "45"
},
{
"begin": 2,
"end": 4,
"name": "JUMPI"
},
{
"begin": 29,
"end": 30,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 27,
"name": "DUP1"
},
{
"begin": 19,
"end": 31,
"name": "REVERT"
},
{
"begin": 2,
"end": 4,
"name": "tag",
"value": "45"
},
{
"begin": 2,
"end": 4,
"name": "JUMPDEST"
},
{
"begin": 4149,
"end": 4657,
"name": "DUP2"
},
{
"begin": 4149,
"end": 4657,
"name": "ADD"
},
{
"begin": 4149,
"end": 4657,
"name": "SWAP1"
},
{
"begin": 4149,
"end": 4657,
"name": "DUP1"
},
{
"begin": 4149,
"end": 4657,
"name": "DUP1"
},
{
"begin": 4149,
"end": 4657,
"name": "CALLDATALOAD"
},
{
"begin": 4149,
"end": 4657,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 4149,
"end": 4657,
"name": "AND"
},
{
"begin": 4149,
"end": 4657,
"name": "SWAP1"
},
{
"begin": 4149,
"end": 4657,
"name": "PUSH",
"value": "20"
},
{
"begin": 4149,
"end": 4657,
"name": "ADD"
},
{
"begin": 4149,
"end": 4657,
"name": "SWAP1"
},
{
"begin": 4149,
"end": 4657,
"name": "SWAP3"
},
{
"begin": 4149,
"end": 4657,
"name": "SWAP2"
},
{
"begin": 4149,
"end": 4657,
"name": "SWAP1"
},
{
"begin": 4149,
"end": 4657,
"name": "DUP1"
},
{
"begin": 4149,
"end": 4657,
"name": "CALLDATALOAD"
},
{
"begin": 4149,
"end": 4657,
"name": "SWAP1"
},
{
"begin": 4149,
"end": 4657,
"name": "PUSH",
"value": "20"
},
{
"begin": 4149,
"end": 4657,
"name": "ADD"
},
{
"begin": 4149,
"end": 4657,
"name": "SWAP1"
},
{
"begin": 4149,
"end": 4657,
"name": "SWAP3"
},
{
"begin": 4149,
"end": 4657,
"name": "SWAP2"
},
{
"begin": 4149,
"end": 4657,
"name": "SWAP1"
},
{
"begin": 4149,
"end": 4657,
"name": "POP"
},
{
"begin": 4149,
"end": 4657,
"name": "POP"
},
{
"begin": 4149,
"end": 4657,
"name": "POP"
},
{
"begin": 4149,
"end": 4657,
"name": "PUSH [tag]",
"value": "46"
},
{
"begin": 4149,
"end": 4657,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 4149,
"end": 4657,
"name": "tag",
"value": "44"
},
{
"begin": 4149,
"end": 4657,
"name": "JUMPDEST"
},
{
"begin": 4149,
"end": 4657,
"name": "PUSH",
"value": "40"
},
{
"begin": 4149,
"end": 4657,
"name": "MLOAD"
},
{
"begin": 4149,
"end": 4657,
"name": "DUP1"
},
{
"begin": 4149,
"end": 4657,
"name": "DUP3"
},
{
"begin": 4149,
"end": 4657,
"name": "ISZERO"
},
{
"begin": 4149,
"end": 4657,
"name": "ISZERO"
},
{
"begin": 4149,
"end": 4657,
"name": "ISZERO"
},
{
"begin": 4149,
"end": 4657,
"name": "ISZERO"
},
{
"begin": 4149,
"end": 4657,
"name": "DUP2"
},
{
"begin": 4149,
"end": 4657,
"name": "MSTORE"
},
{
"begin": 4149,
"end": 4657,
"name": "PUSH",
"value": "20"
},
{
"begin": 4149,
"end": 4657,
"name": "ADD"
},
{
"begin": 4149,
"end": 4657,
"name": "SWAP2"
},
{
"begin": 4149,
"end": 4657,
"name": "POP"
},
{
"begin": 4149,
"end": 4657,
"name": "POP"
},
{
"begin": 4149,
"end": 4657,
"name": "PUSH",
"value": "40"
},
{
"begin": 4149,
"end": 4657,
"name": "MLOAD"
},
{
"begin": 4149,
"end": 4657,
"name": "DUP1"
},
{
"begin": 4149,
"end": 4657,
"name": "SWAP2"
},
{
"begin": 4149,
"end": 4657,
"name": "SUB"
},
{
"begin": 4149,
"end": 4657,
"name": "SWAP1"
},
{
"begin": 4149,
"end": 4657,
"name": "RETURN"
},
{
"begin": 1742,
"end": 1859,
"name": "tag",
"value": "9"
},
{
"begin": 1742,
"end": 1859,
"name": "JUMPDEST"
},
{
"begin": 1742,
"end": 1859,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "47"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "47"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 1742,
"end": 1859,
"name": "POP"
},
{
"begin": 1742,
"end": 1859,
"name": "PUSH [tag]",
"value": "48"
},
{
"begin": 1742,
"end": 1859,
"name": "PUSH",
"value": "4"
},
{
"begin": 1742,
"end": 1859,
"name": "DUP1"
},
{
"begin": 1742,
"end": 1859,
"name": "CALLDATASIZE"
},
{
"begin": 1742,
"end": 1859,
"name": "SUB"
},
{
"begin": 13,
"end": 15,
"name": "PUSH",
"value": "20"
},
{
"begin": 8,
"end": 11,
"name": "DUP2"
},
{
"begin": 5,
"end": 16,
"name": "LT"
},
{
"begin": 2,
"end": 4,
"name": "ISZERO"
},
{
"begin": 2,
"end": 4,
"name": "PUSH [tag]",
"value": "49"
},
{
"begin": 2,
"end": 4,
"name": "JUMPI"
},
{
"begin": 29,
"end": 30,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 27,
"name": "DUP1"
},
{
"begin": 19,
"end": 31,
"name": "REVERT"
},
{
"begin": 2,
"end": 4,
"name": "tag",
"value": "49"
},
{
"begin": 2,
"end": 4,
"name": "JUMPDEST"
},
{
"begin": 1742,
"end": 1859,
"name": "DUP2"
},
{
"begin": 1742,
"end": 1859,
"name": "ADD"
},
{
"begin": 1742,
"end": 1859,
"name": "SWAP1"
},
{
"begin": 1742,
"end": 1859,
"name": "DUP1"
},
{
"begin": 1742,
"end": 1859,
"name": "DUP1"
},
{
"begin": 1742,
"end": 1859,
"name": "CALLDATALOAD"
},
{
"begin": 1742,
"end": 1859,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1742,
"end": 1859,
"name": "AND"
},
{
"begin": 1742,
"end": 1859,
"name": "SWAP1"
},
{
"begin": 1742,
"end": 1859,
"name": "PUSH",
"value": "20"
},
{
"begin": 1742,
"end": 1859,
"name": "ADD"
},
{
"begin": 1742,
"end": 1859,
"name": "SWAP1"
},
{
"begin": 1742,
"end": 1859,
"name": "SWAP3"
},
{
"begin": 1742,
"end": 1859,
"name": "SWAP2"
},
{
"begin": 1742,
"end": 1859,
"name": "SWAP1"
},
{
"begin": 1742,
"end": 1859,
"name": "POP"
},
{
"begin": 1742,
"end": 1859,
"name": "POP"
},
{
"begin": 1742,
"end": 1859,
"name": "POP"
},
{
"begin": 1742,
"end": 1859,
"name": "PUSH [tag]",
"value": "50"
},
{
"begin": 1742,
"end": 1859,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 1742,
"end": 1859,
"name": "tag",
"value": "48"
},
{
"begin": 1742,
"end": 1859,
"name": "JUMPDEST"
},
{
"begin": 1742,
"end": 1859,
"name": "PUSH",
"value": "40"
},
{
"begin": 1742,
"end": 1859,
"name": "MLOAD"
},
{
"begin": 1742,
"end": 1859,
"name": "DUP1"
},
{
"begin": 1742,
"end": 1859,
"name": "DUP3"
},
{
"begin": 1742,
"end": 1859,
"name": "DUP2"
},
{
"begin": 1742,
"end": 1859,
"name": "MSTORE"
},
{
"begin": 1742,
"end": 1859,
"name": "PUSH",
"value": "20"
},
{
"begin": 1742,
"end": 1859,
"name": "ADD"
},
{
"begin": 1742,
"end": 1859,
"name": "SWAP2"
},
{
"begin": 1742,
"end": 1859,
"name": "POP"
},
{
"begin": 1742,
"end": 1859,
"name": "POP"
},
{
"begin": 1742,
"end": 1859,
"name": "PUSH",
"value": "40"
},
{
"begin": 1742,
"end": 1859,
"name": "MLOAD"
},
{
"begin": 1742,
"end": 1859,
"name": "DUP1"
},
{
"begin": 1742,
"end": 1859,
"name": "SWAP2"
},
{
"begin": 1742,
"end": 1859,
"name": "SUB"
},
{
"begin": 1742,
"end": 1859,
"name": "SWAP1"
},
{
"begin": 1742,
"end": 1859,
"name": "RETURN"
},
{
"begin": 512,
"end": 549,
"name": "tag",
"value": "10"
},
{
"begin": 512,
"end": 549,
"name": "JUMPDEST"
},
{
"begin": 512,
"end": 549,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "51"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "51"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 512,
"end": 549,
"name": "POP"
},
{
"begin": 512,
"end": 549,
"name": "PUSH [tag]",
"value": "52"
},
{
"begin": 512,
"end": 549,
"name": "PUSH [tag]",
"value": "53"
},
{
"begin": 512,
"end": 549,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 512,
"end": 549,
"name": "tag",
"value": "52"
},
{
"begin": 512,
"end": 549,
"name": "JUMPDEST"
},
{
"begin": 512,
"end": 549,
"name": "PUSH",
"value": "40"
},
{
"begin": 512,
"end": 549,
"name": "MLOAD"
},
{
"begin": 512,
"end": 549,
"name": "DUP1"
},
{
"begin": 512,
"end": 549,
"name": "DUP1"
},
{
"begin": 512,
"end": 549,
"name": "PUSH",
"value": "20"
},
{
"begin": 512,
"end": 549,
"name": "ADD"
},
{
"begin": 512,
"end": 549,
"name": "DUP3"
},
{
"begin": 512,
"end": 549,
"name": "DUP2"
},
{
"begin": 512,
"end": 549,
"name": "SUB"
},
{
"begin": 512,
"end": 549,
"name": "DUP3"
},
{
"begin": 512,
"end": 549,
"name": "MSTORE"
},
{
"begin": 512,
"end": 549,
"name": "DUP4"
},
{
"begin": 512,
"end": 549,
"name": "DUP2"
},
{
"begin": 512,
"end": 549,
"name": "DUP2"
},
{
"begin": 512,
"end": 549,
"name": "MLOAD"
},
{
"begin": 512,
"end": 549,
"name": "DUP2"
},
{
"begin": 512,
"end": 549,
"name": "MSTORE"
},
{
"begin": 512,
"end": 549,
"name": "PUSH",
"value": "20"
},
{
"begin": 512,
"end": 549,
"name": "ADD"
},
{
"begin": 512,
"end": 549,
"name": "SWAP2"
},
{
"begin": 512,
"end": 549,
"name": "POP"
},
{
"begin": 512,
"end": 549,
"name": "DUP1"
},
{
"begin": 512,
"end": 549,
"name": "MLOAD"
},
{
"begin": 512,
"end": 549,
"name": "SWAP1"
},
{
"begin": 512,
"end": 549,
"name": "PUSH",
"value": "20"
},
{
"begin": 512,
"end": 549,
"name": "ADD"
},
{
"begin": 512,
"end": 549,
"name": "SWAP1"
},
{
"begin": 512,
"end": 549,
"name": "DUP1"
},
{
"begin": 512,
"end": 549,
"name": "DUP4"
},
{
"begin": 512,
"end": 549,
"name": "DUP4"
},
{
"begin": 23,
"end": 24,
"name": "PUSH",
"value": "0"
},
{
"begin": 8,
"end": 108,
"name": "tag",
"value": "54"
},
{
"begin": 8,
"end": 108,
"name": "JUMPDEST"
},
{
"begin": 33,
"end": 36,
"name": "DUP4"
},
{
"begin": 30,
"end": 31,
"name": "DUP2"
},
{
"begin": 27,
"end": 37,
"name": "LT"
},
{
"begin": 8,
"end": 108,
"name": "ISZERO"
},
{
"begin": 8,
"end": 108,
"name": "PUSH [tag]",
"value": "56"
},
{
"begin": 8,
"end": 108,
"name": "JUMPI"
},
{
"begin": 99,
"end": 100,
"name": "DUP1"
},
{
"begin": 94,
"end": 97,
"name": "DUP3"
},
{
"begin": 90,
"end": 101,
"name": "ADD"
},
{
"begin": 84,
"end": 102,
"name": "MLOAD"
},
{
"begin": 80,
"end": 81,
"name": "DUP2"
},
{
"begin": 75,
"end": 78,
"name": "DUP5"
},
{
"begin": 71,
"end": 82,
"name": "ADD"
},
{
"begin": 64,
"end": 103,
"name": "MSTORE"
},
{
"begin": 52,
"end": 54,
"name": "PUSH",
"value": "20"
},
{
"begin": 49,
"end": 50,
"name": "DUP2"
},
{
"begin": 45,
"end": 55,
"name": "ADD"
},
{
"begin": 40,
"end": 55,
"name": "SWAP1"
},
{
"begin": 40,
"end": 55,
"name": "POP"
},
{
"begin": 8,
"end": 108,
"name": "PUSH [tag]",
"value": "54"
},
{
"begin": 8,
"end": 108,
"name": "JUMP"
},
{
"begin": 8,
"end": 108,
"name": "tag",
"value": "56"
},
{
"begin": 8,
"end": 108,
"name": "JUMPDEST"
},
{
"begin": 12,
"end": 26,
"name": "POP"
},
{
"begin": 512,
"end": 549,
"name": "POP"
},
{
"begin": 512,
"end": 549,
"name": "POP"
},
{
"begin": 512,
"end": 549,
"name": "POP"
},
{
"begin": 512,
"end": 549,
"name": "SWAP1"
},
{
"begin": 512,
"end": 549,
"name": "POP"
},
{
"begin": 512,
"end": 549,
"name": "SWAP1"
},
{
"begin": 512,
"end": 549,
"name": "DUP2"
},
{
"begin": 512,
"end": 549,
"name": "ADD"
},
{
"begin": 512,
"end": 549,
"name": "SWAP1"
},
{
"begin": 512,
"end": 549,
"name": "PUSH",
"value": "1F"
},
{
"begin": 512,
"end": 549,
"name": "AND"
},
{
"begin": 512,
"end": 549,
"name": "DUP1"
},
{
"begin": 512,
"end": 549,
"name": "ISZERO"
},
{
"begin": 512,
"end": 549,
"name": "PUSH [tag]",
"value": "57"
},
{
"begin": 512,
"end": 549,
"name": "JUMPI"
},
{
"begin": 512,
"end": 549,
"name": "DUP1"
},
{
"begin": 512,
"end": 549,
"name": "DUP3"
},
{
"begin": 512,
"end": 549,
"name": "SUB"
},
{
"begin": 512,
"end": 549,
"name": "DUP1"
},
{
"begin": 512,
"end": 549,
"name": "MLOAD"
},
{
"begin": 512,
"end": 549,
"name": "PUSH",
"value": "1"
},
{
"begin": 512,
"end": 549,
"name": "DUP4"
},
{
"begin": 512,
"end": 549,
"name": "PUSH",
"value": "20"
},
{
"begin": 512,
"end": 549,
"name": "SUB"
},
{
"begin": 512,
"end": 549,
"name": "PUSH",
"value": "100"
},
{
"begin": 512,
"end": 549,
"name": "EXP"
},
{
"begin": 512,
"end": 549,
"name": "SUB"
},
{
"begin": 512,
"end": 549,
"name": "NOT"
},
{
"begin": 512,
"end": 549,
"name": "AND"
},
{
"begin": 512,
"end": 549,
"name": "DUP2"
},
{
"begin": 512,
"end": 549,
"name": "MSTORE"
},
{
"begin": 512,
"end": 549,
"name": "PUSH",
"value": "20"
},
{
"begin": 512,
"end": 549,
"name": "ADD"
},
{
"begin": 512,
"end": 549,
"name": "SWAP2"
},
{
"begin": 512,
"end": 549,
"name": "POP"
},
{
"begin": 512,
"end": 549,
"name": "tag",
"value": "57"
},
{
"begin": 512,
"end": 549,
"name": "JUMPDEST"
},
{
"begin": 512,
"end": 549,
"name": "POP"
},
{
"begin": 512,
"end": 549,
"name": "SWAP3"
},
{
"begin": 512,
"end": 549,
"name": "POP"
},
{
"begin": 512,
"end": 549,
"name": "POP"
},
{
"begin": 512,
"end": 549,
"name": "POP"
},
{
"begin": 512,
"end": 549,
"name": "PUSH",
"value": "40"
},
{
"begin": 512,
"end": 549,
"name": "MLOAD"
},
{
"begin": 512,
"end": 549,
"name": "DUP1"
},
{
"begin": 512,
"end": 549,
"name": "SWAP2"
},
{
"begin": 512,
"end": 549,
"name": "SUB"
},
{
"begin": 512,
"end": 549,
"name": "SWAP1"
},
{
"begin": 512,
"end": 549,
"name": "RETURN"
},
{
"begin": 3387,
"end": 3471,
"name": "tag",
"value": "11"
},
{
"begin": 3387,
"end": 3471,
"name": "JUMPDEST"
},
{
"begin": 3387,
"end": 3471,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "58"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "58"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 3387,
"end": 3471,
"name": "POP"
},
{
"begin": 3387,
"end": 3471,
"name": "PUSH [tag]",
"value": "59"
},
{
"begin": 3387,
"end": 3471,
"name": "PUSH [tag]",
"value": "60"
},
{
"begin": 3387,
"end": 3471,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 3387,
"end": 3471,
"name": "tag",
"value": "59"
},
{
"begin": 3387,
"end": 3471,
"name": "JUMPDEST"
},
{
"begin": 3387,
"end": 3471,
"name": "STOP"
},
{
"begin": 1896,
"end": 2318,
"name": "tag",
"value": "12"
},
{
"begin": 1896,
"end": 2318,
"name": "JUMPDEST"
},
{
"begin": 1896,
"end": 2318,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "61"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "61"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 1896,
"end": 2318,
"name": "POP"
},
{
"begin": 1896,
"end": 2318,
"name": "PUSH [tag]",
"value": "62"
},
{
"begin": 1896,
"end": 2318,
"name": "PUSH",
"value": "4"
},
{
"begin": 1896,
"end": 2318,
"name": "DUP1"
},
{
"begin": 1896,
"end": 2318,
"name": "CALLDATASIZE"
},
{
"begin": 1896,
"end": 2318,
"name": "SUB"
},
{
"begin": 13,
"end": 15,
"name": "PUSH",
"value": "40"
},
{
"begin": 8,
"end": 11,
"name": "DUP2"
},
{
"begin": 5,
"end": 16,
"name": "LT"
},
{
"begin": 2,
"end": 4,
"name": "ISZERO"
},
{
"begin": 2,
"end": 4,
"name": "PUSH [tag]",
"value": "63"
},
{
"begin": 2,
"end": 4,
"name": "JUMPI"
},
{
"begin": 29,
"end": 30,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 27,
"name": "DUP1"
},
{
"begin": 19,
"end": 31,
"name": "REVERT"
},
{
"begin": 2,
"end": 4,
"name": "tag",
"value": "63"
},
{
"begin": 2,
"end": 4,
"name": "JUMPDEST"
},
{
"begin": 1896,
"end": 2318,
"name": "DUP2"
},
{
"begin": 1896,
"end": 2318,
"name": "ADD"
},
{
"begin": 1896,
"end": 2318,
"name": "SWAP1"
},
{
"begin": 1896,
"end": 2318,
"name": "DUP1"
},
{
"begin": 1896,
"end": 2318,
"name": "DUP1"
},
{
"begin": 1896,
"end": 2318,
"name": "CALLDATALOAD"
},
{
"begin": 1896,
"end": 2318,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1896,
"end": 2318,
"name": "AND"
},
{
"begin": 1896,
"end": 2318,
"name": "SWAP1"
},
{
"begin": 1896,
"end": 2318,
"name": "PUSH",
"value": "20"
},
{
"begin": 1896,
"end": 2318,
"name": "ADD"
},
{
"begin": 1896,
"end": 2318,
"name": "SWAP1"
},
{
"begin": 1896,
"end": 2318,
"name": "SWAP3"
},
{
"begin": 1896,
"end": 2318,
"name": "SWAP2"
},
{
"begin": 1896,
"end": 2318,
"name": "SWAP1"
},
{
"begin": 1896,
"end": 2318,
"name": "DUP1"
},
{
"begin": 1896,
"end": 2318,
"name": "CALLDATALOAD"
},
{
"begin": 1896,
"end": 2318,
"name": "SWAP1"
},
{
"begin": 1896,
"end": 2318,
"name": "PUSH",
"value": "20"
},
{
"begin": 1896,
"end": 2318,
"name": "ADD"
},
{
"begin": 1896,
"end": 2318,
"name": "SWAP1"
},
{
"begin": 1896,
"end": 2318,
"name": "SWAP3"
},
{
"begin": 1896,
"end": 2318,
"name": "SWAP2"
},
{
"begin": 1896,
"end": 2318,
"name": "SWAP1"
},
{
"begin": 1896,
"end": 2318,
"name": "POP"
},
{
"begin": 1896,
"end": 2318,
"name": "POP"
},
{
"begin": 1896,
"end": 2318,
"name": "POP"
},
{
"begin": 1896,
"end": 2318,
"name": "PUSH [tag]",
"value": "64"
},
{
"begin": 1896,
"end": 2318,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 1896,
"end": 2318,
"name": "tag",
"value": "62"
},
{
"begin": 1896,
"end": 2318,
"name": "JUMPDEST"
},
{
"begin": 1896,
"end": 2318,
"name": "PUSH",
"value": "40"
},
{
"begin": 1896,
"end": 2318,
"name": "MLOAD"
},
{
"begin": 1896,
"end": 2318,
"name": "DUP1"
},
{
"begin": 1896,
"end": 2318,
"name": "DUP3"
},
{
"begin": 1896,
"end": 2318,
"name": "ISZERO"
},
{
"begin": 1896,
"end": 2318,
"name": "ISZERO"
},
{
"begin": 1896,
"end": 2318,
"name": "ISZERO"
},
{
"begin": 1896,
"end": 2318,
"name": "ISZERO"
},
{
"begin": 1896,
"end": 2318,
"name": "DUP2"
},
{
"begin": 1896,
"end": 2318,
"name": "MSTORE"
},
{
"begin": 1896,
"end": 2318,
"name": "PUSH",
"value": "20"
},
{
"begin": 1896,
"end": 2318,
"name": "ADD"
},
{
"begin": 1896,
"end": 2318,
"name": "SWAP2"
},
{
"begin": 1896,
"end": 2318,
"name": "POP"
},
{
"begin": 1896,
"end": 2318,
"name": "POP"
},
{
"begin": 1896,
"end": 2318,
"name": "PUSH",
"value": "40"
},
{
"begin": 1896,
"end": 2318,
"name": "MLOAD"
},
{
"begin": 1896,
"end": 2318,
"name": "DUP1"
},
{
"begin": 1896,
"end": 2318,
"name": "SWAP2"
},
{
"begin": 1896,
"end": 2318,
"name": "SUB"
},
{
"begin": 1896,
"end": 2318,
"name": "SWAP1"
},
{
"begin": 1896,
"end": 2318,
"name": "RETURN"
},
{
"begin": 3495,
"end": 3594,
"name": "tag",
"value": "13"
},
{
"begin": 3495,
"end": 3594,
"name": "JUMPDEST"
},
{
"begin": 3495,
"end": 3594,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "65"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "65"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 3495,
"end": 3594,
"name": "POP"
},
{
"begin": 3495,
"end": 3594,
"name": "PUSH [tag]",
"value": "66"
},
{
"begin": 3495,
"end": 3594,
"name": "PUSH",
"value": "4"
},
{
"begin": 3495,
"end": 3594,
"name": "DUP1"
},
{
"begin": 3495,
"end": 3594,
"name": "CALLDATASIZE"
},
{
"begin": 3495,
"end": 3594,
"name": "SUB"
},
{
"begin": 13,
"end": 15,
"name": "PUSH",
"value": "20"
},
{
"begin": 8,
"end": 11,
"name": "DUP2"
},
{
"begin": 5,
"end": 16,
"name": "LT"
},
{
"begin": 2,
"end": 4,
"name": "ISZERO"
},
{
"begin": 2,
"end": 4,
"name": "PUSH [tag]",
"value": "67"
},
{
"begin": 2,
"end": 4,
"name": "JUMPI"
},
{
"begin": 29,
"end": 30,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 27,
"name": "DUP1"
},
{
"begin": 19,
"end": 31,
"name": "REVERT"
},
{
"begin": 2,
"end": 4,
"name": "tag",
"value": "67"
},
{
"begin": 2,
"end": 4,
"name": "JUMPDEST"
},
{
"begin": 3495,
"end": 3594,
"name": "DUP2"
},
{
"begin": 3495,
"end": 3594,
"name": "ADD"
},
{
"begin": 3495,
"end": 3594,
"name": "SWAP1"
},
{
"begin": 3495,
"end": 3594,
"name": "DUP1"
},
{
"begin": 3495,
"end": 3594,
"name": "DUP1"
},
{
"begin": 3495,
"end": 3594,
"name": "CALLDATALOAD"
},
{
"begin": 3495,
"end": 3594,
"name": "SWAP1"
},
{
"begin": 3495,
"end": 3594,
"name": "PUSH",
"value": "20"
},
{
"begin": 3495,
"end": 3594,
"name": "ADD"
},
{
"begin": 3495,
"end": 3594,
"name": "SWAP1"
},
{
"begin": 3495,
"end": 3594,
"name": "SWAP3"
},
{
"begin": 3495,
"end": 3594,
"name": "SWAP2"
},
{
"begin": 3495,
"end": 3594,
"name": "SWAP1"
},
{
"begin": 3495,
"end": 3594,
"name": "POP"
},
{
"begin": 3495,
"end": 3594,
"name": "POP"
},
{
"begin": 3495,
"end": 3594,
"name": "POP"
},
{
"begin": 3495,
"end": 3594,
"name": "PUSH [tag]",
"value": "68"
},
{
"begin": 3495,
"end": 3594,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 3495,
"end": 3594,
"name": "tag",
"value": "66"
},
{
"begin": 3495,
"end": 3594,
"name": "JUMPDEST"
},
{
"begin": 3495,
"end": 3594,
"name": "STOP"
},
{
"begin": 3614,
"end": 3708,
"name": "tag",
"value": "14"
},
{
"begin": 3614,
"end": 3708,
"name": "JUMPDEST"
},
{
"begin": 3614,
"end": 3708,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "69"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "69"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 3614,
"end": 3708,
"name": "POP"
},
{
"begin": 3614,
"end": 3708,
"name": "PUSH [tag]",
"value": "70"
},
{
"begin": 3614,
"end": 3708,
"name": "PUSH",
"value": "4"
},
{
"begin": 3614,
"end": 3708,
"name": "DUP1"
},
{
"begin": 3614,
"end": 3708,
"name": "CALLDATASIZE"
},
{
"begin": 3614,
"end": 3708,
"name": "SUB"
},
{
"begin": 13,
"end": 15,
"name": "PUSH",
"value": "20"
},
{
"begin": 8,
"end": 11,
"name": "DUP2"
},
{
"begin": 5,
"end": 16,
"name": "LT"
},
{
"begin": 2,
"end": 4,
"name": "ISZERO"
},
{
"begin": 2,
"end": 4,
"name": "PUSH [tag]",
"value": "71"
},
{
"begin": 2,
"end": 4,
"name": "JUMPI"
},
{
"begin": 29,
"end": 30,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 27,
"name": "DUP1"
},
{
"begin": 19,
"end": 31,
"name": "REVERT"
},
{
"begin": 2,
"end": 4,
"name": "tag",
"value": "71"
},
{
"begin": 2,
"end": 4,
"name": "JUMPDEST"
},
{
"begin": 3614,
"end": 3708,
"name": "DUP2"
},
{
"begin": 3614,
"end": 3708,
"name": "ADD"
},
{
"begin": 3614,
"end": 3708,
"name": "SWAP1"
},
{
"begin": 3614,
"end": 3708,
"name": "DUP1"
},
{
"begin": 3614,
"end": 3708,
"name": "DUP1"
},
{
"begin": 3614,
"end": 3708,
"name": "CALLDATALOAD"
},
{
"begin": 3614,
"end": 3708,
"name": "SWAP1"
},
{
"begin": 3614,
"end": 3708,
"name": "PUSH",
"value": "20"
},
{
"begin": 3614,
"end": 3708,
"name": "ADD"
},
{
"begin": 3614,
"end": 3708,
"name": "SWAP1"
},
{
"begin": 3614,
"end": 3708,
"name": "SWAP3"
},
{
"begin": 3614,
"end": 3708,
"name": "SWAP2"
},
{
"begin": 3614,
"end": 3708,
"name": "SWAP1"
},
{
"begin": 3614,
"end": 3708,
"name": "POP"
},
{
"begin": 3614,
"end": 3708,
"name": "POP"
},
{
"begin": 3614,
"end": 3708,
"name": "POP"
},
{
"begin": 3614,
"end": 3708,
"name": "PUSH [tag]",
"value": "72"
},
{
"begin": 3614,
"end": 3708,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 3614,
"end": 3708,
"name": "tag",
"value": "70"
},
{
"begin": 3614,
"end": 3708,
"name": "JUMPDEST"
},
{
"begin": 3614,
"end": 3708,
"name": "STOP"
},
{
"begin": 2565,
"end": 2702,
"name": "tag",
"value": "15"
},
{
"begin": 2565,
"end": 2702,
"name": "JUMPDEST"
},
{
"begin": 2565,
"end": 2702,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "73"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "73"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 2565,
"end": 2702,
"name": "POP"
},
{
"begin": 2565,
"end": 2702,
"name": "PUSH [tag]",
"value": "74"
},
{
"begin": 2565,
"end": 2702,
"name": "PUSH",
"value": "4"
},
{
"begin": 2565,
"end": 2702,
"name": "DUP1"
},
{
"begin": 2565,
"end": 2702,
"name": "CALLDATASIZE"
},
{
"begin": 2565,
"end": 2702,
"name": "SUB"
},
{
"begin": 13,
"end": 15,
"name": "PUSH",
"value": "40"
},
{
"begin": 8,
"end": 11,
"name": "DUP2"
},
{
"begin": 5,
"end": 16,
"name": "LT"
},
{
"begin": 2,
"end": 4,
"name": "ISZERO"
},
{
"begin": 2,
"end": 4,
"name": "PUSH [tag]",
"value": "75"
},
{
"begin": 2,
"end": 4,
"name": "JUMPI"
},
{
"begin": 29,
"end": 30,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 27,
"name": "DUP1"
},
{
"begin": 19,
"end": 31,
"name": "REVERT"
},
{
"begin": 2,
"end": 4,
"name": "tag",
"value": "75"
},
{
"begin": 2,
"end": 4,
"name": "JUMPDEST"
},
{
"begin": 2565,
"end": 2702,
"name": "DUP2"
},
{
"begin": 2565,
"end": 2702,
"name": "ADD"
},
{
"begin": 2565,
"end": 2702,
"name": "SWAP1"
},
{
"begin": 2565,
"end": 2702,
"name": "DUP1"
},
{
"begin": 2565,
"end": 2702,
"name": "DUP1"
},
{
"begin": 2565,
"end": 2702,
"name": "CALLDATALOAD"
},
{
"begin": 2565,
"end": 2702,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2565,
"end": 2702,
"name": "AND"
},
{
"begin": 2565,
"end": 2702,
"name": "SWAP1"
},
{
"begin": 2565,
"end": 2702,
"name": "PUSH",
"value": "20"
},
{
"begin": 2565,
"end": 2702,
"name": "ADD"
},
{
"begin": 2565,
"end": 2702,
"name": "SWAP1"
},
{
"begin": 2565,
"end": 2702,
"name": "SWAP3"
},
{
"begin": 2565,
"end": 2702,
"name": "SWAP2"
},
{
"begin": 2565,
"end": 2702,
"name": "SWAP1"
},
{
"begin": 2565,
"end": 2702,
"name": "DUP1"
},
{
"begin": 2565,
"end": 2702,
"name": "CALLDATALOAD"
},
{
"begin": 2565,
"end": 2702,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2565,
"end": 2702,
"name": "AND"
},
{
"begin": 2565,
"end": 2702,
"name": "SWAP1"
},
{
"begin": 2565,
"end": 2702,
"name": "PUSH",
"value": "20"
},
{
"begin": 2565,
"end": 2702,
"name": "ADD"
},
{
"begin": 2565,
"end": 2702,
"name": "SWAP1"
},
{
"begin": 2565,
"end": 2702,
"name": "SWAP3"
},
{
"begin": 2565,
"end": 2702,
"name": "SWAP2"
},
{
"begin": 2565,
"end": 2702,
"name": "SWAP1"
},
{
"begin": 2565,
"end": 2702,
"name": "POP"
},
{
"begin": 2565,
"end": 2702,
"name": "POP"
},
{
"begin": 2565,
"end": 2702,
"name": "POP"
},
{
"begin": 2565,
"end": 2702,
"name": "PUSH [tag]",
"value": "76"
},
{
"begin": 2565,
"end": 2702,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 2565,
"end": 2702,
"name": "tag",
"value": "74"
},
{
"begin": 2565,
"end": 2702,
"name": "JUMPDEST"
},
{
"begin": 2565,
"end": 2702,
"name": "PUSH",
"value": "40"
},
{
"begin": 2565,
"end": 2702,
"name": "MLOAD"
},
{
"begin": 2565,
"end": 2702,
"name": "DUP1"
},
{
"begin": 2565,
"end": 2702,
"name": "DUP3"
},
{
"begin": 2565,
"end": 2702,
"name": "DUP2"
},
{
"begin": 2565,
"end": 2702,
"name": "MSTORE"
},
{
"begin": 2565,
"end": 2702,
"name": "PUSH",
"value": "20"
},
{
"begin": 2565,
"end": 2702,
"name": "ADD"
},
{
"begin": 2565,
"end": 2702,
"name": "SWAP2"
},
{
"begin": 2565,
"end": 2702,
"name": "POP"
},
{
"begin": 2565,
"end": 2702,
"name": "POP"
},
{
"begin": 2565,
"end": 2702,
"name": "PUSH",
"value": "40"
},
{
"begin": 2565,
"end": 2702,
"name": "MLOAD"
},
{
"begin": 2565,
"end": 2702,
"name": "DUP1"
},
{
"begin": 2565,
"end": 2702,
"name": "SWAP2"
},
{
"begin": 2565,
"end": 2702,
"name": "SUB"
},
{
"begin": 2565,
"end": 2702,
"name": "SWAP1"
},
{
"begin": 2565,
"end": 2702,
"name": "RETURN"
},
{
"begin": 389,
"end": 432,
"name": "tag",
"value": "21"
},
{
"begin": 389,
"end": 432,
"name": "JUMPDEST"
},
{
"begin": 389,
"end": 432,
"name": "PUSH",
"value": "40"
},
{
"begin": 389,
"end": 432,
"name": "MLOAD"
},
{
"begin": 389,
"end": 432,
"name": "DUP1"
},
{
"begin": 389,
"end": 432,
"name": "PUSH",
"value": "40"
},
{
"begin": 389,
"end": 432,
"name": "ADD"
},
{
"begin": 389,
"end": 432,
"name": "PUSH",
"value": "40"
},
{
"begin": 389,
"end": 432,
"name": "MSTORE"
},
{
"begin": 389,
"end": 432,
"name": "DUP1"
},
{
"begin": 389,
"end": 432,
"name": "PUSH",
"value": "B"
},
{
"begin": 389,
"end": 432,
"name": "DUP2"
},
{
"begin": 389,
"end": 432,
"name": "MSTORE"
},
{
"begin": 389,
"end": 432,
"name": "PUSH",
"value": "20"
},
{
"begin": 389,
"end": 432,
"name": "ADD"
},
{
"begin": 389,
"end": 432,
"name": "PUSH",
"value": "496E74656C6C69436F696E000000000000000000000000000000000000000000"
},
{
"begin": 389,
"end": 432,
"name": "DUP2"
},
{
"begin": 389,
"end": 432,
"name": "MSTORE"
},
{
"begin": 389,
"end": 432,
"name": "POP"
},
{
"begin": 389,
"end": 432,
"name": "DUP2"
},
{
"begin": 389,
"end": 432,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 2328,
"end": 2555,
"name": "tag",
"value": "29"
},
{
"begin": 2328,
"end": 2555,
"name": "JUMPDEST"
},
{
"begin": 2400,
"end": 2404,
"name": "PUSH",
"value": "0"
},
{
"begin": 2454,
"end": 2463,
"name": "DUP2"
},
{
"begin": 2417,
"end": 2424,
"name": "PUSH",
"value": "1"
},
{
"begin": 2417,
"end": 2436,
"name": "PUSH",
"value": "0"
},
{
"begin": 2425,
"end": 2435,
"name": "CALLER"
},
{
"begin": 2417,
"end": 2436,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2417,
"end": 2436,
"name": "AND"
},
{
"begin": 2417,
"end": 2436,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2417,
"end": 2436,
"name": "AND"
},
{
"begin": 2417,
"end": 2436,
"name": "DUP2"
},
{
"begin": 2417,
"end": 2436,
"name": "MSTORE"
},
{
"begin": 2417,
"end": 2436,
"name": "PUSH",
"value": "20"
},
{
"begin": 2417,
"end": 2436,
"name": "ADD"
},
{
"begin": 2417,
"end": 2436,
"name": "SWAP1"
},
{
"begin": 2417,
"end": 2436,
"name": "DUP2"
},
{
"begin": 2417,
"end": 2436,
"name": "MSTORE"
},
{
"begin": 2417,
"end": 2436,
"name": "PUSH",
"value": "20"
},
{
"begin": 2417,
"end": 2436,
"name": "ADD"
},
{
"begin": 2417,
"end": 2436,
"name": "PUSH",
"value": "0"
},
{
"begin": 2417,
"end": 2436,
"name": "KECCAK256"
},
{
"begin": 2417,
"end": 2451,
"name": "PUSH",
"value": "0"
},
{
"begin": 2437,
"end": 2450,
"name": "DUP6"
},
{
"begin": 2417,
"end": 2451,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2417,
"end": 2451,
"name": "AND"
},
{
"begin": 2417,
"end": 2451,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2417,
"end": 2451,
"name": "AND"
},
{
"begin": 2417,
"end": 2451,
"name": "DUP2"
},
{
"begin": 2417,
"end": 2451,
"name": "MSTORE"
},
{
"begin": 2417,
"end": 2451,
"name": "PUSH",
"value": "20"
},
{
"begin": 2417,
"end": 2451,
"name": "ADD"
},
{
"begin": 2417,
"end": 2451,
"name": "SWAP1"
},
{
"begin": 2417,
"end": 2451,
"name": "DUP2"
},
{
"begin": 2417,
"end": 2451,
"name": "MSTORE"
},
{
"begin": 2417,
"end": 2451,
"name": "PUSH",
"value": "20"
},
{
"begin": 2417,
"end": 2451,
"name": "ADD"
},
{
"begin": 2417,
"end": 2451,
"name": "PUSH",
"value": "0"
},
{
"begin": 2417,
"end": 2451,
"name": "KECCAK256"
},
{
"begin": 2417,
"end": 2463,
"name": "DUP2"
},
{
"begin": 2417,
"end": 2463,
"name": "SWAP1"
},
{
"begin": 2417,
"end": 2463,
"name": "SSTORE"
},
{
"begin": 2417,
"end": 2463,
"name": "POP"
},
{
"begin": 2488,
"end": 2498,
"name": "CALLER"
},
{
"begin": 2479,
"end": 2525,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2479,
"end": 2525,
"name": "AND"
},
{
"begin": 2479,
"end": 2525,
"name": "PUSH",
"value": "8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925"
},
{
"begin": 2500,
"end": 2513,
"name": "DUP5"
},
{
"begin": 2515,
"end": 2524,
"name": "DUP5"
},
{
"begin": 2479,
"end": 2525,
"name": "PUSH",
"value": "40"
},
{
"begin": 2479,
"end": 2525,
"name": "MLOAD"
},
{
"begin": 2479,
"end": 2525,
"name": "DUP1"
},
{
"begin": 2479,
"end": 2525,
"name": "DUP4"
},
{
"begin": 2479,
"end": 2525,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2479,
"end": 2525,
"name": "AND"
},
{
"begin": 2479,
"end": 2525,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2479,
"end": 2525,
"name": "AND"
},
{
"begin": 2479,
"end": 2525,
"name": "DUP2"
},
{
"begin": 2479,
"end": 2525,
"name": "MSTORE"
},
{
"begin": 2479,
"end": 2525,
"name": "PUSH",
"value": "20"
},
{
"begin": 2479,
"end": 2525,
"name": "ADD"
},
{
"begin": 2479,
"end": 2525,
"name": "DUP3"
},
{
"begin": 2479,
"end": 2525,
"name": "DUP2"
},
{
"begin": 2479,
"end": 2525,
"name": "MSTORE"
},
{
"begin": 2479,
"end": 2525,
"name": "PUSH",
"value": "20"
},
{
"begin": 2479,
"end": 2525,
"name": "ADD"
},
{
"begin": 2479,
"end": 2525,
"name": "SWAP3"
},
{
"begin": 2479,
"end": 2525,
"name": "POP"
},
{
"begin": 2479,
"end": 2525,
"name": "POP"
},
{
"begin": 2479,
"end": 2525,
"name": "POP"
},
{
"begin": 2479,
"end": 2525,
"name": "PUSH",
"value": "40"
},
{
"begin": 2479,
"end": 2525,
"name": "MLOAD"
},
{
"begin": 2479,
"end": 2525,
"name": "DUP1"
},
{
"begin": 2479,
"end": 2525,
"name": "SWAP2"
},
{
"begin": 2479,
"end": 2525,
"name": "SUB"
},
{
"begin": 2479,
"end": 2525,
"name": "SWAP1"
},
{
"begin": 2479,
"end": 2525,
"name": "LOG2"
},
{
"begin": 2543,
"end": 2547,
"name": "PUSH",
"value": "1"
},
{
"begin": 2536,
"end": 2547,
"name": "SWAP1"
},
{
"begin": 2536,
"end": 2547,
"name": "POP"
},
{
"begin": 2328,
"end": 2555,
"name": "SWAP3"
},
{
"begin": 2328,
"end": 2555,
"name": "SWAP2"
},
{
"begin": 2328,
"end": 2555,
"name": "POP"
},
{
"begin": 2328,
"end": 2555,
"name": "POP"
},
{
"begin": 2328,
"end": 2555,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 1626,
"end": 1710,
"name": "tag",
"value": "32"
},
{
"begin": 1626,
"end": 1710,
"name": "JUMPDEST"
},
{
"begin": 1670,
"end": 1677,
"name": "PUSH",
"value": "0"
},
{
"begin": 1690,
"end": 1702,
"name": "PUSH",
"value": "2"
},
{
"begin": 1690,
"end": 1702,
"name": "SLOAD"
},
{
"begin": 1683,
"end": 1702,
"name": "SWAP1"
},
{
"begin": 1683,
"end": 1702,
"name": "POP"
},
{
"begin": 1626,
"end": 1710,
"name": "SWAP1"
},
{
"begin": 1626,
"end": 1710,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 2781,
"end": 3262,
"name": "tag",
"value": "36"
},
{
"begin": 2781,
"end": 3262,
"name": "JUMPDEST"
},
{
"begin": 2865,
"end": 2869,
"name": "PUSH",
"value": "0"
},
{
"begin": 2903,
"end": 2911,
"name": "DUP1"
},
{
"begin": 2903,
"end": 2918,
"name": "PUSH",
"value": "0"
},
{
"begin": 2912,
"end": 2917,
"name": "DUP6"
},
{
"begin": 2903,
"end": 2918,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2903,
"end": 2918,
"name": "AND"
},
{
"begin": 2903,
"end": 2918,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2903,
"end": 2918,
"name": "AND"
},
{
"begin": 2903,
"end": 2918,
"name": "DUP2"
},
{
"begin": 2903,
"end": 2918,
"name": "MSTORE"
},
{
"begin": 2903,
"end": 2918,
"name": "PUSH",
"value": "20"
},
{
"begin": 2903,
"end": 2918,
"name": "ADD"
},
{
"begin": 2903,
"end": 2918,
"name": "SWAP1"
},
{
"begin": 2903,
"end": 2918,
"name": "DUP2"
},
{
"begin": 2903,
"end": 2918,
"name": "MSTORE"
},
{
"begin": 2903,
"end": 2918,
"name": "PUSH",
"value": "20"
},
{
"begin": 2903,
"end": 2918,
"name": "ADD"
},
{
"begin": 2903,
"end": 2918,
"name": "PUSH",
"value": "0"
},
{
"begin": 2903,
"end": 2918,
"name": "KECCAK256"
},
{
"begin": 2903,
"end": 2918,
"name": "SLOAD"
},
{
"begin": 2890,
"end": 2899,
"name": "DUP3"
},
{
"begin": 2890,
"end": 2918,
"name": "GT"
},
{
"begin": 2890,
"end": 2918,
"name": "ISZERO"
},
{
"begin": 2882,
"end": 2919,
"name": "PUSH [tag]",
"value": "80"
},
{
"begin": 2882,
"end": 2919,
"name": "JUMPI"
},
{
"begin": 2882,
"end": 2919,
"name": "PUSH",
"value": "0"
},
{
"begin": 2882,
"end": 2919,
"name": "DUP1"
},
{
"begin": 2882,
"end": 2919,
"name": "REVERT"
},
{
"begin": 2882,
"end": 2919,
"name": "tag",
"value": "80"
},
{
"begin": 2882,
"end": 2919,
"name": "JUMPDEST"
},
{
"begin": 2955,
"end": 2962,
"name": "PUSH",
"value": "1"
},
{
"begin": 2955,
"end": 2969,
"name": "PUSH",
"value": "0"
},
{
"begin": 2963,
"end": 2968,
"name": "DUP6"
},
{
"begin": 2955,
"end": 2969,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2955,
"end": 2969,
"name": "AND"
},
{
"begin": 2955,
"end": 2969,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2955,
"end": 2969,
"name": "AND"
},
{
"begin": 2955,
"end": 2969,
"name": "DUP2"
},
{
"begin": 2955,
"end": 2969,
"name": "MSTORE"
},
{
"begin": 2955,
"end": 2969,
"name": "PUSH",
"value": "20"
},
{
"begin": 2955,
"end": 2969,
"name": "ADD"
},
{
"begin": 2955,
"end": 2969,
"name": "SWAP1"
},
{
"begin": 2955,
"end": 2969,
"name": "DUP2"
},
{
"begin": 2955,
"end": 2969,
"name": "MSTORE"
},
{
"begin": 2955,
"end": 2969,
"name": "PUSH",
"value": "20"
},
{
"begin": 2955,
"end": 2969,
"name": "ADD"
},
{
"begin": 2955,
"end": 2969,
"name": "PUSH",
"value": "0"
},
{
"begin": 2955,
"end": 2969,
"name": "KECCAK256"
},
{
"begin": 2955,
"end": 2981,
"name": "PUSH",
"value": "0"
},
{
"begin": 2970,
"end": 2980,
"name": "CALLER"
},
{
"begin": 2955,
"end": 2981,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2955,
"end": 2981,
"name": "AND"
},
{
"begin": 2955,
"end": 2981,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2955,
"end": 2981,
"name": "AND"
},
{
"begin": 2955,
"end": 2981,
"name": "DUP2"
},
{
"begin": 2955,
"end": 2981,
"name": "MSTORE"
},
{
"begin": 2955,
"end": 2981,
"name": "PUSH",
"value": "20"
},
{
"begin": 2955,
"end": 2981,
"name": "ADD"
},
{
"begin": 2955,
"end": 2981,
"name": "SWAP1"
},
{
"begin": 2955,
"end": 2981,
"name": "DUP2"
},
{
"begin": 2955,
"end": 2981,
"name": "MSTORE"
},
{
"begin": 2955,
"end": 2981,
"name": "PUSH",
"value": "20"
},
{
"begin": 2955,
"end": 2981,
"name": "ADD"
},
{
"begin": 2955,
"end": 2981,
"name": "PUSH",
"value": "0"
},
{
"begin": 2955,
"end": 2981,
"name": "KECCAK256"
},
{
"begin": 2955,
"end": 2981,
"name": "SLOAD"
},
{
"begin": 2942,
"end": 2951,
"name": "DUP3"
},
{
"begin": 2942,
"end": 2981,
"name": "GT"
},
{
"begin": 2942,
"end": 2981,
"name": "ISZERO"
},
{
"begin": 2934,
"end": 2982,
"name": "PUSH [tag]",
"value": "81"
},
{
"begin": 2934,
"end": 2982,
"name": "JUMPI"
},
{
"begin": 2934,
"end": 2982,
"name": "PUSH",
"value": "0"
},
{
"begin": 2934,
"end": 2982,
"name": "DUP1"
},
{
"begin": 2934,
"end": 2982,
"name": "REVERT"
},
{
"begin": 2934,
"end": 2982,
"name": "tag",
"value": "81"
},
{
"begin": 2934,
"end": 2982,
"name": "JUMPDEST"
},
{
"begin": 3013,
"end": 3043,
"name": "PUSH [tag]",
"value": "82"
},
{
"begin": 3033,
"end": 3042,
"name": "DUP3"
},
{
"begin": 3013,
"end": 3021,
"name": "PUSH",
"value": "0"
},
{
"begin": 3013,
"end": 3028,
"name": "DUP1"
},
{
"begin": 3022,
"end": 3027,
"name": "DUP8"
},
{
"begin": 3013,
"end": 3028,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 3013,
"end": 3028,
"name": "AND"
},
{
"begin": 3013,
"end": 3028,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 3013,
"end": 3028,
"name": "AND"
},
{
"begin": 3013,
"end": 3028,
"name": "DUP2"
},
{
"begin": 3013,
"end": 3028,
"name": "MSTORE"
},
{
"begin": 3013,
"end": 3028,
"name": "PUSH",
"value": "20"
},
{
"begin": 3013,
"end": 3028,
"name": "ADD"
},
{
"begin": 3013,
"end": 3028,
"name": "SWAP1"
},
{
"begin": 3013,
"end": 3028,
"name": "DUP2"
},
{
"begin": 3013,
"end": 3028,
"name": "MSTORE"
},
{
"begin": 3013,
"end": 3028,
"name": "PUSH",
"value": "20"
},
{
"begin": 3013,
"end": 3028,
"name": "ADD"
},
{
"begin": 3013,
"end": 3028,
"name": "PUSH",
"value": "0"
},
{
"begin": 3013,
"end": 3028,
"name": "KECCAK256"
},
{
"begin": 3013,
"end": 3028,
"name": "SLOAD"
},
{
"begin": 3013,
"end": 3032,
"name": "PUSH [tag]",
"value": "83"
},
{
"begin": 3013,
"end": 3032,
"name": "SWAP1"
},
{
"begin": 3013,
"end": 3043,
"name": "SWAP2"
},
{
"begin": 3013,
"end": 3043,
"name": "SWAP1"
},
{
"begin": 3013,
"end": 3043,
"name": "PUSH",
"value": "FFFFFFFF"
},
{
"begin": 3013,
"end": 3043,
"name": "AND"
},
{
"begin": 3013,
"end": 3043,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 3013,
"end": 3043,
"name": "tag",
"value": "82"
},
{
"begin": 3013,
"end": 3043,
"name": "JUMPDEST"
},
{
"begin": 2995,
"end": 3003,
"name": "PUSH",
"value": "0"
},
{
"begin": 2995,
"end": 3010,
"name": "DUP1"
},
{
"begin": 3004,
"end": 3009,
"name": "DUP7"
},
{
"begin": 2995,
"end": 3010,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2995,
"end": 3010,
"name": "AND"
},
{
"begin": 2995,
"end": 3010,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2995,
"end": 3010,
"name": "AND"
},
{
"begin": 2995,
"end": 3010,
"name": "DUP2"
},
{
"begin": 2995,
"end": 3010,
"name": "MSTORE"
},
{
"begin": 2995,
"end": 3010,
"name": "PUSH",
"value": "20"
},
{
"begin": 2995,
"end": 3010,
"name": "ADD"
},
{
"begin": 2995,
"end": 3010,
"name": "SWAP1"
},
{
"begin": 2995,
"end": 3010,
"name": "DUP2"
},
{
"begin": 2995,
"end": 3010,
"name": "MSTORE"
},
{
"begin": 2995,
"end": 3010,
"name": "PUSH",
"value": "20"
},
{
"begin": 2995,
"end": 3010,
"name": "ADD"
},
{
"begin": 2995,
"end": 3010,
"name": "PUSH",
"value": "0"
},
{
"begin": 2995,
"end": 3010,
"name": "KECCAK256"
},
{
"begin": 2995,
"end": 3043,
"name": "DUP2"
},
{
"begin": 2995,
"end": 3043,
"name": "SWAP1"
},
{
"begin": 2995,
"end": 3043,
"name": "SSTORE"
},
{
"begin": 2995,
"end": 3043,
"name": "POP"
},
{
"begin": 3083,
"end": 3124,
"name": "PUSH [tag]",
"value": "84"
},
{
"begin": 3114,
"end": 3123,
"name": "DUP3"
},
{
"begin": 3083,
"end": 3090,
"name": "PUSH",
"value": "1"
},
{
"begin": 3083,
"end": 3097,
"name": "PUSH",
"value": "0"
},
{
"begin": 3091,
"end": 3096,
"name": "DUP8"
},
{
"begin": 3083,
"end": 3097,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 3083,
"end": 3097,
"name": "AND"
},
{
"begin": 3083,
"end": 3097,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 3083,
"end": 3097,
"name": "AND"
},
{
"begin": 3083,
"end": 3097,
"name": "DUP2"
},
{
"begin": 3083,
"end": 3097,
"name": "MSTORE"
},
{
"begin": 3083,
"end": 3097,
"name": "PUSH",
"value": "20"
},
{
"begin": 3083,
"end": 3097,
"name": "ADD"
},
{
"begin": 3083,
"end": 3097,
"name": "SWAP1"
},
{
"begin": 3083,
"end": 3097,
"name": "DUP2"
},
{
"begin": 3083,
"end": 3097,
"name": "MSTORE"
},
{
"begin": 3083,
"end": 3097,
"name": "PUSH",
"value": "20"
},
{
"begin": 3083,
"end": 3097,
"name": "ADD"
},
{
"begin": 3083,
"end": 3097,
"name": "PUSH",
"value": "0"
},
{
"begin": 3083,
"end": 3097,
"name": "KECCAK256"
},
{
"begin": 3083,
"end": 3109,
"name": "PUSH",
"value": "0"
},
{
"begin": 3098,
"end": 3108,
"name": "CALLER"
},
{
"begin": 3083,
"end": 3109,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 3083,
"end": 3109,
"name": "AND"
},
{
"begin": 3083,
"end": 3109,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 3083,
"end": 3109,
"name": "AND"
},
{
"begin": 3083,
"end": 3109,
"name": "DUP2"
},
{
"begin": 3083,
"end": 3109,
"name": "MSTORE"
},
{
"begin": 3083,
"end": 3109,
"name": "PUSH",
"value": "20"
},
{
"begin": 3083,
"end": 3109,
"name": "ADD"
},
{
"begin": 3083,
"end": 3109,
"name": "SWAP1"
},
{
"begin": 3083,
"end": 3109,
"name": "DUP2"
},
{
"begin": 3083,
"end": 3109,
"name": "MSTORE"
},
{
"begin": 3083,
"end": 3109,
"name": "PUSH",
"value": "20"
},
{
"begin": 3083,
"end": 3109,
"name": "ADD"
},
{
"begin": 3083,
"end": 3109,
"name": "PUSH",
"value": "0"
},
{
"begin": 3083,
"end": 3109,
"name": "KECCAK256"
},
{
"begin": 3083,
"end": 3109,
"name": "SLOAD"
},
{
"begin": 3083,
"end": 3113,
"name": "PUSH [tag]",
"value": "83"
},
{
"begin": 3083,
"end": 3113,
"name": "SWAP1"
},
{
"begin": 3083,
"end": 3124,
"name": "SWAP2"
},
{
"begin": 3083,
"end": 3124,
"name": "SWAP1"
},
{
"begin": 3083,
"end": 3124,
"name": "PUSH",
"value": "FFFFFFFF"
},
{
"begin": 3083,
"end": 3124,
"name": "AND"
},
{
"begin": 3083,
"end": 3124,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 3083,
"end": 3124,
"name": "tag",
"value": "84"
},
{
"begin": 3083,
"end": 3124,
"name": "JUMPDEST"
},
{
"begin": 3054,
"end": 3061,
"name": "PUSH",
"value": "1"
},
{
"begin": 3054,
"end": 3068,
"name": "PUSH",
"value": "0"
},
{
"begin": 3062,
"end": 3067,
"name": "DUP7"
},
{
"begin": 3054,
"end": 3068,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 3054,
"end": 3068,
"name": "AND"
},
{
"begin": 3054,
"end": 3068,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 3054,
"end": 3068,
"name": "AND"
},
{
"begin": 3054,
"end": 3068,
"name": "DUP2"
},
{
"begin": 3054,
"end": 3068,
"name": "MSTORE"
},
{
"begin": 3054,
"end": 3068,
"name": "PUSH",
"value": "20"
},
{
"begin": 3054,
"end": 3068,
"name": "ADD"
},
{
"begin": 3054,
"end": 3068,
"name": "SWAP1"
},
{
"begin": 3054,
"end": 3068,
"name": "DUP2"
},
{
"begin": 3054,
"end": 3068,
"name": "MSTORE"
},
{
"begin": 3054,
"end": 3068,
"name": "PUSH",
"value": "20"
},
{
"begin": 3054,
"end": 3068,
"name": "ADD"
},
{
"begin": 3054,
"end": 3068,
"name": "PUSH",
"value": "0"
},
{
"begin": 3054,
"end": 3068,
"name": "KECCAK256"
},
{
"begin": 3054,
"end": 3080,
"name": "PUSH",
"value": "0"
},
{
"begin": 3069,
"end": 3079,
"name": "CALLER"
},
{
"begin": 3054,
"end": 3080,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 3054,
"end": 3080,
"name": "AND"
},
{
"begin": 3054,
"end": 3080,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 3054,
"end": 3080,
"name": "AND"
},
{
"begin": 3054,
"end": 3080,
"name": "DUP2"
},
{
"begin": 3054,
"end": 3080,
"name": "MSTORE"
},
{
"begin": 3054,
"end": 3080,
"name": "PUSH",
"value": "20"
},
{
"begin": 3054,
"end": 3080,
"name": "ADD"
},
{
"begin": 3054,
"end": 3080,
"name": "SWAP1"
},
{
"begin": 3054,
"end": 3080,
"name": "DUP2"
},
{
"begin": 3054,
"end": 3080,
"name": "MSTORE"
},
{
"begin": 3054,
"end": 3080,
"name": "PUSH",
"value": "20"
},
{
"begin": 3054,
"end": 3080,
"name": "ADD"
},
{
"begin": 3054,
"end": 3080,
"name": "PUSH",
"value": "0"
},
{
"begin": 3054,
"end": 3080,
"name": "KECCAK256"
},
{
"begin": 3054,
"end": 3124,
"name": "DUP2"
},
{
"begin": 3054,
"end": 3124,
"name": "SWAP1"
},
{
"begin": 3054,
"end": 3124,
"name": "SSTORE"
},
{
"begin": 3054,
"end": 3124,
"name": "POP"
},
{
"begin": 3153,
"end": 3183,
"name": "PUSH [tag]",
"value": "85"
},
{
"begin": 3173,
"end": 3182,
"name": "DUP3"
},
{
"begin": 3153,
"end": 3161,
"name": "PUSH",
"value": "0"
},
{
"begin": 3153,
"end": 3168,
"name": "DUP1"
},
{
"begin": 3162,
"end": 3167,
"name": "DUP7"
},
{
"begin": 3153,
"end": 3168,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 3153,
"end": 3168,
"name": "AND"
},
{
"begin": 3153,
"end": 3168,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 3153,
"end": 3168,
"name": "AND"
},
{
"begin": 3153,
"end": 3168,
"name": "DUP2"
},
{
"begin": 3153,
"end": 3168,
"name": "MSTORE"
},
{
"begin": 3153,
"end": 3168,
"name": "PUSH",
"value": "20"
},
{
"begin": 3153,
"end": 3168,
"name": "ADD"
},
{
"begin": 3153,
"end": 3168,
"name": "SWAP1"
},
{
"begin": 3153,
"end": 3168,
"name": "DUP2"
},
{
"begin": 3153,
"end": 3168,
"name": "MSTORE"
},
{
"begin": 3153,
"end": 3168,
"name": "PUSH",
"value": "20"
},
{
"begin": 3153,
"end": 3168,
"name": "ADD"
},
{
"begin": 3153,
"end": 3168,
"name": "PUSH",
"value": "0"
},
{
"begin": 3153,
"end": 3168,
"name": "KECCAK256"
},
{
"begin": 3153,
"end": 3168,
"name": "SLOAD"
},
{
"begin": 3153,
"end": 3172,
"name": "PUSH [tag]",
"value": "86"
},
{
"begin": 3153,
"end": 3172,
"name": "SWAP1"
},
{
"begin": 3153,
"end": 3183,
"name": "SWAP2"
},
{
"begin": 3153,
"end": 3183,
"name": "SWAP1"
},
{
"begin": 3153,
"end": 3183,
"name": "PUSH",
"value": "FFFFFFFF"
},
{
"begin": 3153,
"end": 3183,
"name": "AND"
},
{
"begin": 3153,
"end": 3183,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 3153,
"end": 3183,
"name": "tag",
"value": "85"
},
{
"begin": 3153,
"end": 3183,
"name": "JUMPDEST"
},
{
"begin": 3135,
"end": 3143,
"name": "PUSH",
"value": "0"
},
{
"begin": 3135,
"end": 3150,
"name": "DUP1"
},
{
"begin": 3144,
"end": 3149,
"name": "DUP6"
},
{
"begin": 3135,
"end": 3150,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 3135,
"end": 3150,
"name": "AND"
},
{
"begin": 3135,
"end": 3150,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 3135,
"end": 3150,
"name": "AND"
},
{
"begin": 3135,
"end": 3150,
"name": "DUP2"
},
{
"begin": 3135,
"end": 3150,
"name": "MSTORE"
},
{
"begin": 3135,
"end": 3150,
"name": "PUSH",
"value": "20"
},
{
"begin": 3135,
"end": 3150,
"name": "ADD"
},
{
"begin": 3135,
"end": 3150,
"name": "SWAP1"
},
{
"begin": 3135,
"end": 3150,
"name": "DUP2"
},
{
"begin": 3135,
"end": 3150,
"name": "MSTORE"
},
{
"begin": 3135,
"end": 3150,
"name": "PUSH",
"value": "20"
},
{
"begin": 3135,
"end": 3150,
"name": "ADD"
},
{
"begin": 3135,
"end": 3150,
"name": "PUSH",
"value": "0"
},
{
"begin": 3135,
"end": 3150,
"name": "KECCAK256"
},
{
"begin": 3135,
"end": 3183,
"name": "DUP2"
},
{
"begin": 3135,
"end": 3183,
"name": "SWAP1"
},
{
"begin": 3135,
"end": 3183,
"name": "SSTORE"
},
{
"begin": 3135,
"end": 3183,
"name": "POP"
},
{
"begin": 3215,
"end": 3220,
"name": "DUP3"
},
{
"begin": 3199,
"end": 3232,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 3199,
"end": 3232,
"name": "AND"
},
{
"begin": 3208,
"end": 3213,
"name": "DUP5"
},
{
"begin": 3199,
"end": 3232,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 3199,
"end": 3232,
"name": "AND"
},
{
"begin": 3199,
"end": 3232,
"name": "PUSH",
"value": "DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF"
},
{
"begin": 3222,
"end": 3231,
"name": "DUP5"
},
{
"begin": 3199,
"end": 3232,
"name": "PUSH",
"value": "40"
},
{
"begin": 3199,
"end": 3232,
"name": "MLOAD"
},
{
"begin": 3199,
"end": 3232,
"name": "DUP1"
},
{
"begin": 3199,
"end": 3232,
"name": "DUP3"
},
{
"begin": 3199,
"end": 3232,
"name": "DUP2"
},
{
"begin": 3199,
"end": 3232,
"name": "MSTORE"
},
{
"begin": 3199,
"end": 3232,
"name": "PUSH",
"value": "20"
},
{
"begin": 3199,
"end": 3232,
"name": "ADD"
},
{
"begin": 3199,
"end": 3232,
"name": "SWAP2"
},
{
"begin": 3199,
"end": 3232,
"name": "POP"
},
{
"begin": 3199,
"end": 3232,
"name": "POP"
},
{
"begin": 3199,
"end": 3232,
"name": "PUSH",
"value": "40"
},
{
"begin": 3199,
"end": 3232,
"name": "MLOAD"
},
{
"begin": 3199,
"end": 3232,
"name": "DUP1"
},
{
"begin": 3199,
"end": 3232,
"name": "SWAP2"
},
{
"begin": 3199,
"end": 3232,
"name": "SUB"
},
{
"begin": 3199,
"end": 3232,
"name": "SWAP1"
},
{
"begin": 3199,
"end": 3232,
"name": "LOG3"
},
{
"begin": 3250,
"end": 3254,
"name": "PUSH",
"value": "1"
},
{
"begin": 3243,
"end": 3254,
"name": "SWAP1"
},
{
"begin": 3243,
"end": 3254,
"name": "POP"
},
{
"begin": 2781,
"end": 3262,
"name": "SWAP4"
},
{
"begin": 2781,
"end": 3262,
"name": "SWAP3"
},
{
"begin": 2781,
"end": 3262,
"name": "POP"
},
{
"begin": 2781,
"end": 3262,
"name": "POP"
},
{
"begin": 2781,
"end": 3262,
"name": "POP"
},
{
"begin": 2781,
"end": 3262,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 634,
"end": 669,
"name": "tag",
"value": "39"
},
{
"begin": 634,
"end": 669,
"name": "JUMPDEST"
},
{
"begin": 667,
"end": 669,
"name": "PUSH",
"value": "12"
},
{
"begin": 634,
"end": 669,
"name": "DUP2"
},
{
"begin": 634,
"end": 669,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 3807,
"end": 4069,
"name": "tag",
"value": "42"
},
{
"begin": 3807,
"end": 4069,
"name": "JUMPDEST"
},
{
"begin": 3888,
"end": 3889,
"name": "PUSH",
"value": "0"
},
{
"begin": 3870,
"end": 3879,
"name": "PUSH",
"value": "4"
},
{
"begin": 3870,
"end": 3884,
"name": "PUSH",
"value": "0"
},
{
"begin": 3880,
"end": 3883,
"name": "DUP4"
},
{
"begin": 3870,
"end": 3884,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 3870,
"end": 3884,
"name": "AND"
},
{
"begin": 3870,
"end": 3884,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 3870,
"end": 3884,
"name": "AND"
},
{
"begin": 3870,
"end": 3884,
"name": "DUP2"
},
{
"begin": 3870,
"end": 3884,
"name": "MSTORE"
},
{
"begin": 3870,
"end": 3884,
"name": "PUSH",
"value": "20"
},
{
"begin": 3870,
"end": 3884,
"name": "ADD"
},
{
"begin": 3870,
"end": 3884,
"name": "SWAP1"
},
{
"begin": 3870,
"end": 3884,
"name": "DUP2"
},
{
"begin": 3870,
"end": 3884,
"name": "MSTORE"
},
{
"begin": 3870,
"end": 3884,
"name": "PUSH",
"value": "20"
},
{
"begin": 3870,
"end": 3884,
"name": "ADD"
},
{
"begin": 3870,
"end": 3884,
"name": "PUSH",
"value": "0"
},
{
"begin": 3870,
"end": 3884,
"name": "KECCAK256"
},
{
"begin": 3870,
"end": 3884,
"name": "SLOAD"
},
{
"begin": 3870,
"end": 3889,
"name": "EQ"
},
{
"begin": 3867,
"end": 4062,
"name": "ISZERO"
},
{
"begin": 3867,
"end": 4062,
"name": "PUSH [tag]",
"value": "88"
},
{
"begin": 3867,
"end": 4062,
"name": "JUMPI"
},
{
"begin": 3923,
"end": 3924,
"name": "PUSH",
"value": "1"
},
{
"begin": 3906,
"end": 3915,
"name": "PUSH",
"value": "4"
},
{
"begin": 3906,
"end": 3920,
"name": "PUSH",
"value": "0"
},
{
"begin": 3916,
"end": 3919,
"name": "DUP4"
},
{
"begin": 3906,
"end": 3920,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 3906,
"end": 3920,
"name": "AND"
},
{
"begin": 3906,
"end": 3920,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 3906,
"end": 3920,
"name": "AND"
},
{
"begin": 3906,
"end": 3920,
"name": "DUP2"
},
{
"begin": 3906,
"end": 3920,
"name": "MSTORE"
},
{
"begin": 3906,
"end": 3920,
"name": "PUSH",
"value": "20"
},
{
"begin": 3906,
"end": 3920,
"name": "ADD"
},
{
"begin": 3906,
"end": 3920,
"name": "SWAP1"
},
{
"begin": 3906,
"end": 3920,
"name": "DUP2"
},
{
"begin": 3906,
"end": 3920,
"name": "MSTORE"
},
{
"begin": 3906,
"end": 3920,
"name": "PUSH",
"value": "20"
},
{
"begin": 3906,
"end": 3920,
"name": "ADD"
},
{
"begin": 3906,
"end": 3920,
"name": "PUSH",
"value": "0"
},
{
"begin": 3906,
"end": 3920,
"name": "KECCAK256"
},
{
"begin": 3906,
"end": 3924,
"name": "DUP2"
},
{
"begin": 3906,
"end": 3924,
"name": "SWAP1"
},
{
"begin": 3906,
"end": 3924,
"name": "SSTORE"
},
{
"begin": 3906,
"end": 3924,
"name": "POP"
},
{
"begin": 3958,
"end": 3959,
"name": "PUSH",
"value": "1"
},
{
"begin": 3940,
"end": 3954,
"name": "PUSH",
"value": "5"
},
{
"begin": 3940,
"end": 3954,
"name": "PUSH",
"value": "0"
},
{
"begin": 3940,
"end": 3959,
"name": "DUP3"
},
{
"begin": 3940,
"end": 3959,
"name": "DUP3"
},
{
"begin": 3940,
"end": 3959,
"name": "SLOAD"
},
{
"begin": 3940,
"end": 3959,
"name": "ADD"
},
{
"begin": 3940,
"end": 3959,
"name": "SWAP3"
},
{
"begin": 3940,
"end": 3959,
"name": "POP"
},
{
"begin": 3940,
"end": 3959,
"name": "POP"
},
{
"begin": 3940,
"end": 3959,
"name": "DUP2"
},
{
"begin": 3940,
"end": 3959,
"name": "SWAP1"
},
{
"begin": 3940,
"end": 3959,
"name": "SSTORE"
},
{
"begin": 3940,
"end": 3959,
"name": "POP"
},
{
"begin": 3867,
"end": 4062,
"name": "PUSH [tag]",
"value": "89"
},
{
"begin": 3867,
"end": 4062,
"name": "JUMP"
},
{
"begin": 3867,
"end": 4062,
"name": "tag",
"value": "88"
},
{
"begin": 3867,
"end": 4062,
"name": "JUMPDEST"
},
{
"begin": 3867,
"end": 4062,
"name": "tag",
"value": "89"
},
{
"begin": 3867,
"end": 4062,
"name": "JUMPDEST"
},
{
"begin": 3807,
"end": 4069,
"name": "POP"
},
{
"begin": 3807,
"end": 4069,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 4149,
"end": 4657,
"name": "tag",
"value": "46"
},
{
"begin": 4149,
"end": 4657,
"name": "JUMPDEST"
},
{
"begin": 4227,
"end": 4231,
"name": "PUSH",
"value": "0"
},
{
"begin": 4273,
"end": 4274,
"name": "PUSH",
"value": "1"
},
{
"begin": 4252,
"end": 4261,
"name": "PUSH",
"value": "4"
},
{
"begin": 4252,
"end": 4271,
"name": "PUSH",
"value": "0"
},
{
"begin": 4262,
"end": 4270,
"name": "DUP6"
},
{
"begin": 4252,
"end": 4271,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 4252,
"end": 4271,
"name": "AND"
},
{
"begin": 4252,
"end": 4271,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 4252,
"end": 4271,
"name": "AND"
},
{
"begin": 4252,
"end": 4271,
"name": "DUP2"
},
{
"begin": 4252,
"end": 4271,
"name": "MSTORE"
},
{
"begin": 4252,
"end": 4271,
"name": "PUSH",
"value": "20"
},
{
"begin": 4252,
"end": 4271,
"name": "ADD"
},
{
"begin": 4252,
"end": 4271,
"name": "SWAP1"
},
{
"begin": 4252,
"end": 4271,
"name": "DUP2"
},
{
"begin": 4252,
"end": 4271,
"name": "MSTORE"
},
{
"begin": 4252,
"end": 4271,
"name": "PUSH",
"value": "20"
},
{
"begin": 4252,
"end": 4271,
"name": "ADD"
},
{
"begin": 4252,
"end": 4271,
"name": "PUSH",
"value": "0"
},
{
"begin": 4252,
"end": 4271,
"name": "KECCAK256"
},
{
"begin": 4252,
"end": 4271,
"name": "SLOAD"
},
{
"begin": 4252,
"end": 4274,
"name": "EQ"
},
{
"begin": 4244,
"end": 4310,
"name": "PUSH [tag]",
"value": "91"
},
{
"begin": 4244,
"end": 4310,
"name": "JUMPI"
},
{
"begin": 4244,
"end": 4310,
"name": "PUSH",
"value": "40"
},
{
"begin": 4244,
"end": 4310,
"name": "MLOAD"
},
{
"begin": 4244,
"end": 4310,
"name": "PUSH",
"value": "8C379A000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 4244,
"end": 4310,
"name": "DUP2"
},
{
"begin": 4244,
"end": 4310,
"name": "MSTORE"
},
{
"begin": 4244,
"end": 4310,
"name": "PUSH",
"value": "4"
},
{
"begin": 4244,
"end": 4310,
"name": "ADD"
},
{
"begin": 4244,
"end": 4310,
"name": "DUP1"
},
{
"begin": 4244,
"end": 4310,
"name": "DUP1"
},
{
"begin": 4244,
"end": 4310,
"name": "PUSH",
"value": "20"
},
{
"begin": 4244,
"end": 4310,
"name": "ADD"
},
{
"begin": 4244,
"end": 4310,
"name": "DUP3"
},
{
"begin": 4244,
"end": 4310,
"name": "DUP2"
},
{
"begin": 4244,
"end": 4310,
"name": "SUB"
},
{
"begin": 4244,
"end": 4310,
"name": "DUP3"
},
{
"begin": 4244,
"end": 4310,
"name": "MSTORE"
},
{
"begin": 4244,
"end": 4310,
"name": "PUSH",
"value": "20"
},
{
"begin": 4244,
"end": 4310,
"name": "DUP2"
},
{
"begin": 4244,
"end": 4310,
"name": "MSTORE"
},
{
"begin": 4244,
"end": 4310,
"name": "PUSH",
"value": "20"
},
{
"begin": 4244,
"end": 4310,
"name": "ADD"
},
{
"begin": 4244,
"end": 4310,
"name": "DUP1"
},
{
"begin": 4244,
"end": 4310,
"name": "PUSH",
"value": "72656369766572206E6F742070726573656E7420696E2077686974656C697374"
},
{
"begin": 4244,
"end": 4310,
"name": "DUP2"
},
{
"begin": 4244,
"end": 4310,
"name": "MSTORE"
},
{
"begin": 4244,
"end": 4310,
"name": "POP"
},
{
"begin": 4244,
"end": 4310,
"name": "PUSH",
"value": "20"
},
{
"begin": 4244,
"end": 4310,
"name": "ADD"
},
{
"begin": 4244,
"end": 4310,
"name": "SWAP2"
},
{
"begin": 4244,
"end": 4310,
"name": "POP"
},
{
"begin": 4244,
"end": 4310,
"name": "POP"
},
{
"begin": 4244,
"end": 4310,
"name": "PUSH",
"value": "40"
},
{
"begin": 4244,
"end": 4310,
"name": "MLOAD"
},
{
"begin": 4244,
"end": 4310,
"name": "DUP1"
},
{
"begin": 4244,
"end": 4310,
"name": "SWAP2"
},
{
"begin": 4244,
"end": 4310,
"name": "SUB"
},
{
"begin": 4244,
"end": 4310,
"name": "SWAP1"
},
{
"begin": 4244,
"end": 4310,
"name": "REVERT"
},
{
"begin": 4244,
"end": 4310,
"name": "tag",
"value": "91"
},
{
"begin": 4244,
"end": 4310,
"name": "JUMPDEST"
},
{
"begin": 4342,
"end": 4350,
"name": "PUSH",
"value": "0"
},
{
"begin": 4342,
"end": 4362,
"name": "DUP1"
},
{
"begin": 4351,
"end": 4361,
"name": "CALLER"
},
{
"begin": 4342,
"end": 4362,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 4342,
"end": 4362,
"name": "AND"
},
{
"begin": 4342,
"end": 4362,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 4342,
"end": 4362,
"name": "AND"
},
{
"begin": 4342,
"end": 4362,
"name": "DUP2"
},
{
"begin": 4342,
"end": 4362,
"name": "MSTORE"
},
{
"begin": 4342,
"end": 4362,
"name": "PUSH",
"value": "20"
},
{
"begin": 4342,
"end": 4362,
"name": "ADD"
},
{
"begin": 4342,
"end": 4362,
"name": "SWAP1"
},
{
"begin": 4342,
"end": 4362,
"name": "DUP2"
},
{
"begin": 4342,
"end": 4362,
"name": "MSTORE"
},
{
"begin": 4342,
"end": 4362,
"name": "PUSH",
"value": "20"
},
{
"begin": 4342,
"end": 4362,
"name": "ADD"
},
{
"begin": 4342,
"end": 4362,
"name": "PUSH",
"value": "0"
},
{
"begin": 4342,
"end": 4362,
"name": "KECCAK256"
},
{
"begin": 4342,
"end": 4362,
"name": "SLOAD"
},
{
"begin": 4329,
"end": 4338,
"name": "DUP3"
},
{
"begin": 4329,
"end": 4362,
"name": "GT"
},
{
"begin": 4329,
"end": 4362,
"name": "ISZERO"
},
{
"begin": 4321,
"end": 4399,
"name": "PUSH [tag]",
"value": "92"
},
{
"begin": 4321,
"end": 4399,
"name": "JUMPI"
},
{
"begin": 4321,
"end": 4399,
"name": "PUSH",
"value": "40"
},
{
"begin": 4321,
"end": 4399,
"name": "MLOAD"
},
{
"begin": 4321,
"end": 4399,
"name": "PUSH",
"value": "8C379A000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 4321,
"end": 4399,
"name": "DUP2"
},
{
"begin": 4321,
"end": 4399,
"name": "MSTORE"
},
{
"begin": 4321,
"end": 4399,
"name": "PUSH",
"value": "4"
},
{
"begin": 4321,
"end": 4399,
"name": "ADD"
},
{
"begin": 4321,
"end": 4399,
"name": "DUP1"
},
{
"begin": 4321,
"end": 4399,
"name": "DUP1"
},
{
"begin": 4321,
"end": 4399,
"name": "PUSH",
"value": "20"
},
{
"begin": 4321,
"end": 4399,
"name": "ADD"
},
{
"begin": 4321,
"end": 4399,
"name": "DUP3"
},
{
"begin": 4321,
"end": 4399,
"name": "DUP2"
},
{
"begin": 4321,
"end": 4399,
"name": "SUB"
},
{
"begin": 4321,
"end": 4399,
"name": "DUP3"
},
{
"begin": 4321,
"end": 4399,
"name": "MSTORE"
},
{
"begin": 4321,
"end": 4399,
"name": "PUSH",
"value": "21"
},
{
"begin": 4321,
"end": 4399,
"name": "DUP2"
},
{
"begin": 4321,
"end": 4399,
"name": "MSTORE"
},
{
"begin": 4321,
"end": 4399,
"name": "PUSH",
"value": "20"
},
{
"begin": 4321,
"end": 4399,
"name": "ADD"
},
{
"begin": 4321,
"end": 4399,
"name": "DUP1"
},
{
"begin": 4321,
"end": 4399,
"name": "PUSH data",
"value": "459E0DFB690370A8FB44E20926D960E5E65E9618653142C0DCE84E4511E1DEC4"
},
{
"begin": 4321,
"end": 4399,
"name": "PUSH",
"value": "21"
},
{
"begin": 4321,
"end": 4399,
"name": "SWAP2"
},
{
"begin": 4321,
"end": 4399,
"name": "CODECOPY"
},
{
"begin": 4321,
"end": 4399,
"name": "PUSH",
"value": "40"
},
{
"begin": 4321,
"end": 4399,
"name": "ADD"
},
{
"begin": 4321,
"end": 4399,
"name": "SWAP2"
},
{
"begin": 4321,
"end": 4399,
"name": "POP"
},
{
"begin": 4321,
"end": 4399,
"name": "POP"
},
{
"begin": 4321,
"end": 4399,
"name": "PUSH",
"value": "40"
},
{
"begin": 4321,
"end": 4399,
"name": "MLOAD"
},
{
"begin": 4321,
"end": 4399,
"name": "DUP1"
},
{
"begin": 4321,
"end": 4399,
"name": "SWAP2"
},
{
"begin": 4321,
"end": 4399,
"name": "SUB"
},
{
"begin": 4321,
"end": 4399,
"name": "SWAP1"
},
{
"begin": 4321,
"end": 4399,
"name": "REVERT"
},
{
"begin": 4321,
"end": 4399,
"name": "tag",
"value": "92"
},
{
"begin": 4321,
"end": 4399,
"name": "JUMPDEST"
},
{
"begin": 4433,
"end": 4468,
"name": "PUSH [tag]",
"value": "93"
},
{
"begin": 4458,
"end": 4467,
"name": "DUP3"
},
{
"begin": 4433,
"end": 4441,
"name": "PUSH",
"value": "0"
},
{
"begin": 4433,
"end": 4453,
"name": "DUP1"
},
{
"begin": 4442,
"end": 4452,
"name": "CALLER"
},
{
"begin": 4433,
"end": 4453,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 4433,
"end": 4453,
"name": "AND"
},
{
"begin": 4433,
"end": 4453,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 4433,
"end": 4453,
"name": "AND"
},
{
"begin": 4433,
"end": 4453,
"name": "DUP2"
},
{
"begin": 4433,
"end": 4453,
"name": "MSTORE"
},
{
"begin": 4433,
"end": 4453,
"name": "PUSH",
"value": "20"
},
{
"begin": 4433,
"end": 4453,
"name": "ADD"
},
{
"begin": 4433,
"end": 4453,
"name": "SWAP1"
},
{
"begin": 4433,
"end": 4453,
"name": "DUP2"
},
{
"begin": 4433,
"end": 4453,
"name": "MSTORE"
},
{
"begin": 4433,
"end": 4453,
"name": "PUSH",
"value": "20"
},
{
"begin": 4433,
"end": 4453,
"name": "ADD"
},
{
"begin": 4433,
"end": 4453,
"name": "PUSH",
"value": "0"
},
{
"begin": 4433,
"end": 4453,
"name": "KECCAK256"
},
{
"begin": 4433,
"end": 4453,
"name": "SLOAD"
},
{
"begin": 4433,
"end": 4457,
"name": "PUSH [tag]",
"value": "83"
},
{
"begin": 4433,
"end": 4457,
"name": "SWAP1"
},
{
"begin": 4433,
"end": 4468,
"name": "SWAP2"
},
{
"begin": 4433,
"end": 4468,
"name": "SWAP1"
},
{
"begin": 4433,
"end": 4468,
"name": "PUSH",
"value": "FFFFFFFF"
},
{
"begin": 4433,
"end": 4468,
"name": "AND"
},
{
"begin": 4433,
"end": 4468,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 4433,
"end": 4468,
"name": "tag",
"value": "93"
},
{
"begin": 4433,
"end": 4468,
"name": "JUMPDEST"
},
{
"begin": 4410,
"end": 4418,
"name": "PUSH",
"value": "0"
},
{
"begin": 4410,
"end": 4430,
"name": "DUP1"
},
{
"begin": 4419,
"end": 4429,
"name": "CALLER"
},
{
"begin": 4410,
"end": 4430,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 4410,
"end": 4430,
"name": "AND"
},
{
"begin": 4410,
"end": 4430,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 4410,
"end": 4430,
"name": "AND"
},
{
"begin": 4410,
"end": 4430,
"name": "DUP2"
},
{
"begin": 4410,
"end": 4430,
"name": "MSTORE"
},
{
"begin": 4410,
"end": 4430,
"name": "PUSH",
"value": "20"
},
{
"begin": 4410,
"end": 4430,
"name": "ADD"
},
{
"begin": 4410,
"end": 4430,
"name": "SWAP1"
},
{
"begin": 4410,
"end": 4430,
"name": "DUP2"
},
{
"begin": 4410,
"end": 4430,
"name": "MSTORE"
},
{
"begin": 4410,
"end": 4430,
"name": "PUSH",
"value": "20"
},
{
"begin": 4410,
"end": 4430,
"name": "ADD"
},
{
"begin": 4410,
"end": 4430,
"name": "PUSH",
"value": "0"
},
{
"begin": 4410,
"end": 4430,
"name": "KECCAK256"
},
{
"begin": 4410,
"end": 4468,
"name": "DUP2"
},
{
"begin": 4410,
"end": 4468,
"name": "SWAP1"
},
{
"begin": 4410,
"end": 4468,
"name": "SSTORE"
},
{
"begin": 4410,
"end": 4468,
"name": "POP"
},
{
"begin": 4500,
"end": 4533,
"name": "PUSH [tag]",
"value": "94"
},
{
"begin": 4523,
"end": 4532,
"name": "DUP3"
},
{
"begin": 4500,
"end": 4508,
"name": "PUSH",
"value": "0"
},
{
"begin": 4500,
"end": 4518,
"name": "DUP1"
},
{
"begin": 4509,
"end": 4517,
"name": "DUP7"
},
{
"begin": 4500,
"end": 4518,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 4500,
"end": 4518,
"name": "AND"
},
{
"begin": 4500,
"end": 4518,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 4500,
"end": 4518,
"name": "AND"
},
{
"begin": 4500,
"end": 4518,
"name": "DUP2"
},
{
"begin": 4500,
"end": 4518,
"name": "MSTORE"
},
{
"begin": 4500,
"end": 4518,
"name": "PUSH",
"value": "20"
},
{
"begin": 4500,
"end": 4518,
"name": "ADD"
},
{
"begin": 4500,
"end": 4518,
"name": "SWAP1"
},
{
"begin": 4500,
"end": 4518,
"name": "DUP2"
},
{
"begin": 4500,
"end": 4518,
"name": "MSTORE"
},
{
"begin": 4500,
"end": 4518,
"name": "PUSH",
"value": "20"
},
{
"begin": 4500,
"end": 4518,
"name": "ADD"
},
{
"begin": 4500,
"end": 4518,
"name": "PUSH",
"value": "0"
},
{
"begin": 4500,
"end": 4518,
"name": "KECCAK256"
},
{
"begin": 4500,
"end": 4518,
"name": "SLOAD"
},
{
"begin": 4500,
"end": 4522,
"name": "PUSH [tag]",
"value": "86"
},
{
"begin": 4500,
"end": 4522,
"name": "SWAP1"
},
{
"begin": 4500,
"end": 4533,
"name": "SWAP2"
},
{
"begin": 4500,
"end": 4533,
"name": "SWAP1"
},
{
"begin": 4500,
"end": 4533,
"name": "PUSH",
"value": "FFFFFFFF"
},
{
"begin": 4500,
"end": 4533,
"name": "AND"
},
{
"begin": 4500,
"end": 4533,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 4500,
"end": 4533,
"name": "tag",
"value": "94"
},
{
"begin": 4500,
"end": 4533,
"name": "JUMPDEST"
},
{
"begin": 4479,
"end": 4487,
"name": "PUSH",
"value": "0"
},
{
"begin": 4479,
"end": 4497,
"name": "DUP1"
},
{
"begin": 4488,
"end": 4496,
"name": "DUP6"
},
{
"begin": 4479,
"end": 4497,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 4479,
"end": 4497,
"name": "AND"
},
{
"begin": 4479,
"end": 4497,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 4479,
"end": 4497,
"name": "AND"
},
{
"begin": 4479,
"end": 4497,
"name": "DUP2"
},
{
"begin": 4479,
"end": 4497,
"name": "MSTORE"
},
{
"begin": 4479,
"end": 4497,
"name": "PUSH",
"value": "20"
},
{
"begin": 4479,
"end": 4497,
"name": "ADD"
},
{
"begin": 4479,
"end": 4497,
"name": "SWAP1"
},
{
"begin": 4479,
"end": 4497,
"name": "DUP2"
},
{
"begin": 4479,
"end": 4497,
"name": "MSTORE"
},
{
"begin": 4479,
"end": 4497,
"name": "PUSH",
"value": "20"
},
{
"begin": 4479,
"end": 4497,
"name": "ADD"
},
{
"begin": 4479,
"end": 4497,
"name": "PUSH",
"value": "0"
},
{
"begin": 4479,
"end": 4497,
"name": "KECCAK256"
},
{
"begin": 4479,
"end": 4533,
"name": "DUP2"
},
{
"begin": 4479,
"end": 4533,
"name": "SWAP1"
},
{
"begin": 4479,
"end": 4533,
"name": "SSTORE"
},
{
"begin": 4479,
"end": 4533,
"name": "POP"
},
{
"begin": 4570,
"end": 4578,
"name": "DUP3"
},
{
"begin": 4549,
"end": 4590,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 4549,
"end": 4590,
"name": "AND"
},
{
"begin": 4558,
"end": 4568,
"name": "CALLER"
},
{
"begin": 4549,
"end": 4590,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 4549,
"end": 4590,
"name": "AND"
},
{
"begin": 4549,
"end": 4590,
"name": "PUSH",
"value": "DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF"
},
{
"begin": 4580,
"end": 4589,
"name": "DUP5"
},
{
"begin": 4549,
"end": 4590,
"name": "PUSH",
"value": "40"
},
{
"begin": 4549,
"end": 4590,
"name": "MLOAD"
},
{
"begin": 4549,
"end": 4590,
"name": "DUP1"
},
{
"begin": 4549,
"end": 4590,
"name": "DUP3"
},
{
"begin": 4549,
"end": 4590,
"name": "DUP2"
},
{
"begin": 4549,
"end": 4590,
"name": "MSTORE"
},
{
"begin": 4549,
"end": 4590,
"name": "PUSH",
"value": "20"
},
{
"begin": 4549,
"end": 4590,
"name": "ADD"
},
{
"begin": 4549,
"end": 4590,
"name": "SWAP2"
},
{
"begin": 4549,
"end": 4590,
"name": "POP"
},
{
"begin": 4549,
"end": 4590,
"name": "POP"
},
{
"begin": 4549,
"end": 4590,
"name": "PUSH",
"value": "40"
},
{
"begin": 4549,
"end": 4590,
"name": "MLOAD"
},
{
"begin": 4549,
"end": 4590,
"name": "DUP1"
},
{
"begin": 4549,
"end": 4590,
"name": "SWAP2"
},
{
"begin": 4549,
"end": 4590,
"name": "SUB"
},
{
"begin": 4549,
"end": 4590,
"name": "SWAP1"
},
{
"begin": 4549,
"end": 4590,
"name": "LOG3"
},
{
"begin": 4645,
"end": 4649,
"name": "PUSH",
"value": "1"
},
{
"begin": 4638,
"end": 4649,
"name": "SWAP1"
},
{
"begin": 4638,
"end": 4649,
"name": "POP"
},
{
"begin": 4149,
"end": 4657,
"name": "SWAP3"
},
{
"begin": 4149,
"end": 4657,
"name": "SWAP2"
},
{
"begin": 4149,
"end": 4657,
"name": "POP"
},
{
"begin": 4149,
"end": 4657,
"name": "POP"
},
{
"begin": 4149,
"end": 4657,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 1742,
"end": 1859,
"name": "tag",
"value": "50"
},
{
"begin": 1742,
"end": 1859,
"name": "JUMPDEST"
},
{
"begin": 1804,
"end": 1808,
"name": "PUSH",
"value": "0"
},
{
"begin": 1828,
"end": 1836,
"name": "DUP1"
},
{
"begin": 1828,
"end": 1850,
"name": "PUSH",
"value": "0"
},
{
"begin": 1837,
"end": 1849,
"name": "DUP4"
},
{
"begin": 1828,
"end": 1850,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1828,
"end": 1850,
"name": "AND"
},
{
"begin": 1828,
"end": 1850,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1828,
"end": 1850,
"name": "AND"
},
{
"begin": 1828,
"end": 1850,
"name": "DUP2"
},
{
"begin": 1828,
"end": 1850,
"name": "MSTORE"
},
{
"begin": 1828,
"end": 1850,
"name": "PUSH",
"value": "20"
},
{
"begin": 1828,
"end": 1850,
"name": "ADD"
},
{
"begin": 1828,
"end": 1850,
"name": "SWAP1"
},
{
"begin": 1828,
"end": 1850,
"name": "DUP2"
},
{
"begin": 1828,
"end": 1850,
"name": "MSTORE"
},
{
"begin": 1828,
"end": 1850,
"name": "PUSH",
"value": "20"
},
{
"begin": 1828,
"end": 1850,
"name": "ADD"
},
{
"begin": 1828,
"end": 1850,
"name": "PUSH",
"value": "0"
},
{
"begin": 1828,
"end": 1850,
"name": "KECCAK256"
},
{
"begin": 1828,
"end": 1850,
"name": "SLOAD"
},
{
"begin": 1821,
"end": 1850,
"name": "SWAP1"
},
{
"begin": 1821,
"end": 1850,
"name": "POP"
},
{
"begin": 1742,
"end": 1859,
"name": "SWAP2"
},
{
"begin": 1742,
"end": 1859,
"name": "SWAP1"
},
{
"begin": 1742,
"end": 1859,
"name": "POP"
},
{
"begin": 1742,
"end": 1859,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 512,
"end": 549,
"name": "tag",
"value": "53"
},
{
"begin": 512,
"end": 549,
"name": "JUMPDEST"
},
{
"begin": 512,
"end": 549,
"name": "PUSH",
"value": "40"
},
{
"begin": 512,
"end": 549,
"name": "MLOAD"
},
{
"begin": 512,
"end": 549,
"name": "DUP1"
},
{
"begin": 512,
"end": 549,
"name": "PUSH",
"value": "40"
},
{
"begin": 512,
"end": 549,
"name": "ADD"
},
{
"begin": 512,
"end": 549,
"name": "PUSH",
"value": "40"
},
{
"begin": 512,
"end": 549,
"name": "MSTORE"
},
{
"begin": 512,
"end": 549,
"name": "DUP1"
},
{
"begin": 512,
"end": 549,
"name": "PUSH",
"value": "3"
},
{
"begin": 512,
"end": 549,
"name": "DUP2"
},
{
"begin": 512,
"end": 549,
"name": "MSTORE"
},
{
"begin": 512,
"end": 549,
"name": "PUSH",
"value": "20"
},
{
"begin": 512,
"end": 549,
"name": "ADD"
},
{
"begin": 512,
"end": 549,
"name": "PUSH",
"value": "4954430000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 512,
"end": 549,
"name": "DUP2"
},
{
"begin": 512,
"end": 549,
"name": "MSTORE"
},
{
"begin": 512,
"end": 549,
"name": "POP"
},
{
"begin": 512,
"end": 549,
"name": "DUP2"
},
{
"begin": 512,
"end": 549,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 3387,
"end": 3471,
"name": "tag",
"value": "60"
},
{
"begin": 3387,
"end": 3471,
"name": "JUMPDEST"
},
{
"begin": 1061,
"end": 1069,
"name": "PUSH",
"value": "3"
},
{
"begin": 1061,
"end": 1069,
"name": "PUSH",
"value": "0"
},
{
"begin": 1061,
"end": 1069,
"name": "SWAP1"
},
{
"begin": 1061,
"end": 1069,
"name": "SLOAD"
},
{
"begin": 1061,
"end": 1069,
"name": "SWAP1"
},
{
"begin": 1061,
"end": 1069,
"name": "PUSH",
"value": "100"
},
{
"begin": 1061,
"end": 1069,
"name": "EXP"
},
{
"begin": 1061,
"end": 1069,
"name": "SWAP1"
},
{
"begin": 1061,
"end": 1069,
"name": "DIV"
},
{
"begin": 1061,
"end": 1069,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1061,
"end": 1069,
"name": "AND"
},
{
"begin": 1047,
"end": 1069,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1047,
"end": 1069,
"name": "AND"
},
{
"begin": 1047,
"end": 1057,
"name": "CALLER"
},
{
"begin": 1047,
"end": 1069,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1047,
"end": 1069,
"name": "AND"
},
{
"begin": 1047,
"end": 1069,
"name": "EQ"
},
{
"begin": 1038,
"end": 1070,
"name": "PUSH [tag]",
"value": "97"
},
{
"begin": 1038,
"end": 1070,
"name": "JUMPI"
},
{
"begin": 1038,
"end": 1070,
"name": "PUSH",
"value": "0"
},
{
"begin": 1038,
"end": 1070,
"name": "DUP1"
},
{
"begin": 1038,
"end": 1070,
"name": "REVERT"
},
{
"begin": 1038,
"end": 1070,
"name": "tag",
"value": "97"
},
{
"begin": 1038,
"end": 1070,
"name": "JUMPDEST"
},
{
"begin": 3452,
"end": 3462,
"name": "CALLER"
},
{
"begin": 3439,
"end": 3463,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 3439,
"end": 3463,
"name": "AND"
},
{
"begin": 3439,
"end": 3463,
"name": "SELFDESTRUCT"
},
{
"begin": 1896,
"end": 2318,
"name": "tag",
"value": "64"
},
{
"begin": 1896,
"end": 2318,
"name": "JUMPDEST"
},
{
"begin": 1965,
"end": 1969,
"name": "PUSH",
"value": "0"
},
{
"begin": 2003,
"end": 2011,
"name": "DUP1"
},
{
"begin": 2003,
"end": 2023,
"name": "PUSH",
"value": "0"
},
{
"begin": 2012,
"end": 2022,
"name": "CALLER"
},
{
"begin": 2003,
"end": 2023,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2003,
"end": 2023,
"name": "AND"
},
{
"begin": 2003,
"end": 2023,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2003,
"end": 2023,
"name": "AND"
},
{
"begin": 2003,
"end": 2023,
"name": "DUP2"
},
{
"begin": 2003,
"end": 2023,
"name": "MSTORE"
},
{
"begin": 2003,
"end": 2023,
"name": "PUSH",
"value": "20"
},
{
"begin": 2003,
"end": 2023,
"name": "ADD"
},
{
"begin": 2003,
"end": 2023,
"name": "SWAP1"
},
{
"begin": 2003,
"end": 2023,
"name": "DUP2"
},
{
"begin": 2003,
"end": 2023,
"name": "MSTORE"
},
{
"begin": 2003,
"end": 2023,
"name": "PUSH",
"value": "20"
},
{
"begin": 2003,
"end": 2023,
"name": "ADD"
},
{
"begin": 2003,
"end": 2023,
"name": "PUSH",
"value": "0"
},
{
"begin": 2003,
"end": 2023,
"name": "KECCAK256"
},
{
"begin": 2003,
"end": 2023,
"name": "SLOAD"
},
{
"begin": 1990,
"end": 1999,
"name": "DUP3"
},
{
"begin": 1990,
"end": 2023,
"name": "GT"
},
{
"begin": 1990,
"end": 2023,
"name": "ISZERO"
},
{
"begin": 1982,
"end": 2060,
"name": "PUSH [tag]",
"value": "100"
},
{
"begin": 1982,
"end": 2060,
"name": "JUMPI"
},
{
"begin": 1982,
"end": 2060,
"name": "PUSH",
"value": "40"
},
{
"begin": 1982,
"end": 2060,
"name": "MLOAD"
},
{
"begin": 1982,
"end": 2060,
"name": "PUSH",
"value": "8C379A000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 1982,
"end": 2060,
"name": "DUP2"
},
{
"begin": 1982,
"end": 2060,
"name": "MSTORE"
},
{
"begin": 1982,
"end": 2060,
"name": "PUSH",
"value": "4"
},
{
"begin": 1982,
"end": 2060,
"name": "ADD"
},
{
"begin": 1982,
"end": 2060,
"name": "DUP1"
},
{
"begin": 1982,
"end": 2060,
"name": "DUP1"
},
{
"begin": 1982,
"end": 2060,
"name": "PUSH",
"value": "20"
},
{
"begin": 1982,
"end": 2060,
"name": "ADD"
},
{
"begin": 1982,
"end": 2060,
"name": "DUP3"
},
{
"begin": 1982,
"end": 2060,
"name": "DUP2"
},
{
"begin": 1982,
"end": 2060,
"name": "SUB"
},
{
"begin": 1982,
"end": 2060,
"name": "DUP3"
},
{
"begin": 1982,
"end": 2060,
"name": "MSTORE"
},
{
"begin": 1982,
"end": 2060,
"name": "PUSH",
"value": "21"
},
{
"begin": 1982,
"end": 2060,
"name": "DUP2"
},
{
"begin": 1982,
"end": 2060,
"name": "MSTORE"
},
{
"begin": 1982,
"end": 2060,
"name": "PUSH",
"value": "20"
},
{
"begin": 1982,
"end": 2060,
"name": "ADD"
},
{
"begin": 1982,
"end": 2060,
"name": "DUP1"
},
{
"begin": 1982,
"end": 2060,
"name": "PUSH data",
"value": "459E0DFB690370A8FB44E20926D960E5E65E9618653142C0DCE84E4511E1DEC4"
},
{
"begin": 1982,
"end": 2060,
"name": "PUSH",
"value": "21"
},
{
"begin": 1982,
"end": 2060,
"name": "SWAP2"
},
{
"begin": 1982,
"end": 2060,
"name": "CODECOPY"
},
{
"begin": 1982,
"end": 2060,
"name": "PUSH",
"value": "40"
},
{
"begin": 1982,
"end": 2060,
"name": "ADD"
},
{
"begin": 1982,
"end": 2060,
"name": "SWAP2"
},
{
"begin": 1982,
"end": 2060,
"name": "POP"
},
{
"begin": 1982,
"end": 2060,
"name": "POP"
},
{
"begin": 1982,
"end": 2060,
"name": "PUSH",
"value": "40"
},
{
"begin": 1982,
"end": 2060,
"name": "MLOAD"
},
{
"begin": 1982,
"end": 2060,
"name": "DUP1"
},
{
"begin": 1982,
"end": 2060,
"name": "SWAP2"
},
{
"begin": 1982,
"end": 2060,
"name": "SUB"
},
{
"begin": 1982,
"end": 2060,
"name": "SWAP1"
},
{
"begin": 1982,
"end": 2060,
"name": "REVERT"
},
{
"begin": 1982,
"end": 2060,
"name": "tag",
"value": "100"
},
{
"begin": 1982,
"end": 2060,
"name": "JUMPDEST"
},
{
"begin": 2094,
"end": 2129,
"name": "PUSH [tag]",
"value": "101"
},
{
"begin": 2119,
"end": 2128,
"name": "DUP3"
},
{
"begin": 2094,
"end": 2102,
"name": "PUSH",
"value": "0"
},
{
"begin": 2094,
"end": 2114,
"name": "DUP1"
},
{
"begin": 2103,
"end": 2113,
"name": "CALLER"
},
{
"begin": 2094,
"end": 2114,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2094,
"end": 2114,
"name": "AND"
},
{
"begin": 2094,
"end": 2114,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2094,
"end": 2114,
"name": "AND"
},
{
"begin": 2094,
"end": 2114,
"name": "DUP2"
},
{
"begin": 2094,
"end": 2114,
"name": "MSTORE"
},
{
"begin": 2094,
"end": 2114,
"name": "PUSH",
"value": "20"
},
{
"begin": 2094,
"end": 2114,
"name": "ADD"
},
{
"begin": 2094,
"end": 2114,
"name": "SWAP1"
},
{
"begin": 2094,
"end": 2114,
"name": "DUP2"
},
{
"begin": 2094,
"end": 2114,
"name": "MSTORE"
},
{
"begin": 2094,
"end": 2114,
"name": "PUSH",
"value": "20"
},
{
"begin": 2094,
"end": 2114,
"name": "ADD"
},
{
"begin": 2094,
"end": 2114,
"name": "PUSH",
"value": "0"
},
{
"begin": 2094,
"end": 2114,
"name": "KECCAK256"
},
{
"begin": 2094,
"end": 2114,
"name": "SLOAD"
},
{
"begin": 2094,
"end": 2118,
"name": "PUSH [tag]",
"value": "83"
},
{
"begin": 2094,
"end": 2118,
"name": "SWAP1"
},
{
"begin": 2094,
"end": 2129,
"name": "SWAP2"
},
{
"begin": 2094,
"end": 2129,
"name": "SWAP1"
},
{
"begin": 2094,
"end": 2129,
"name": "PUSH",
"value": "FFFFFFFF"
},
{
"begin": 2094,
"end": 2129,
"name": "AND"
},
{
"begin": 2094,
"end": 2129,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 2094,
"end": 2129,
"name": "tag",
"value": "101"
},
{
"begin": 2094,
"end": 2129,
"name": "JUMPDEST"
},
{
"begin": 2071,
"end": 2079,
"name": "PUSH",
"value": "0"
},
{
"begin": 2071,
"end": 2091,
"name": "DUP1"
},
{
"begin": 2080,
"end": 2090,
"name": "CALLER"
},
{
"begin": 2071,
"end": 2091,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2071,
"end": 2091,
"name": "AND"
},
{
"begin": 2071,
"end": 2091,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2071,
"end": 2091,
"name": "AND"
},
{
"begin": 2071,
"end": 2091,
"name": "DUP2"
},
{
"begin": 2071,
"end": 2091,
"name": "MSTORE"
},
{
"begin": 2071,
"end": 2091,
"name": "PUSH",
"value": "20"
},
{
"begin": 2071,
"end": 2091,
"name": "ADD"
},
{
"begin": 2071,
"end": 2091,
"name": "SWAP1"
},
{
"begin": 2071,
"end": 2091,
"name": "DUP2"
},
{
"begin": 2071,
"end": 2091,
"name": "MSTORE"
},
{
"begin": 2071,
"end": 2091,
"name": "PUSH",
"value": "20"
},
{
"begin": 2071,
"end": 2091,
"name": "ADD"
},
{
"begin": 2071,
"end": 2091,
"name": "PUSH",
"value": "0"
},
{
"begin": 2071,
"end": 2091,
"name": "KECCAK256"
},
{
"begin": 2071,
"end": 2129,
"name": "DUP2"
},
{
"begin": 2071,
"end": 2129,
"name": "SWAP1"
},
{
"begin": 2071,
"end": 2129,
"name": "SSTORE"
},
{
"begin": 2071,
"end": 2129,
"name": "POP"
},
{
"begin": 2161,
"end": 2194,
"name": "PUSH [tag]",
"value": "102"
},
{
"begin": 2184,
"end": 2193,
"name": "DUP3"
},
{
"begin": 2161,
"end": 2169,
"name": "PUSH",
"value": "0"
},
{
"begin": 2161,
"end": 2179,
"name": "DUP1"
},
{
"begin": 2170,
"end": 2178,
"name": "DUP7"
},
{
"begin": 2161,
"end": 2179,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2161,
"end": 2179,
"name": "AND"
},
{
"begin": 2161,
"end": 2179,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2161,
"end": 2179,
"name": "AND"
},
{
"begin": 2161,
"end": 2179,
"name": "DUP2"
},
{
"begin": 2161,
"end": 2179,
"name": "MSTORE"
},
{
"begin": 2161,
"end": 2179,
"name": "PUSH",
"value": "20"
},
{
"begin": 2161,
"end": 2179,
"name": "ADD"
},
{
"begin": 2161,
"end": 2179,
"name": "SWAP1"
},
{
"begin": 2161,
"end": 2179,
"name": "DUP2"
},
{
"begin": 2161,
"end": 2179,
"name": "MSTORE"
},
{
"begin": 2161,
"end": 2179,
"name": "PUSH",
"value": "20"
},
{
"begin": 2161,
"end": 2179,
"name": "ADD"
},
{
"begin": 2161,
"end": 2179,
"name": "PUSH",
"value": "0"
},
{
"begin": 2161,
"end": 2179,
"name": "KECCAK256"
},
{
"begin": 2161,
"end": 2179,
"name": "SLOAD"
},
{
"begin": 2161,
"end": 2183,
"name": "PUSH [tag]",
"value": "86"
},
{
"begin": 2161,
"end": 2183,
"name": "SWAP1"
},
{
"begin": 2161,
"end": 2194,
"name": "SWAP2"
},
{
"begin": 2161,
"end": 2194,
"name": "SWAP1"
},
{
"begin": 2161,
"end": 2194,
"name": "PUSH",
"value": "FFFFFFFF"
},
{
"begin": 2161,
"end": 2194,
"name": "AND"
},
{
"begin": 2161,
"end": 2194,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 2161,
"end": 2194,
"name": "tag",
"value": "102"
},
{
"begin": 2161,
"end": 2194,
"name": "JUMPDEST"
},
{
"begin": 2140,
"end": 2148,
"name": "PUSH",
"value": "0"
},
{
"begin": 2140,
"end": 2158,
"name": "DUP1"
},
{
"begin": 2149,
"end": 2157,
"name": "DUP6"
},
{
"begin": 2140,
"end": 2158,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2140,
"end": 2158,
"name": "AND"
},
{
"begin": 2140,
"end": 2158,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2140,
"end": 2158,
"name": "AND"
},
{
"begin": 2140,
"end": 2158,
"name": "DUP2"
},
{
"begin": 2140,
"end": 2158,
"name": "MSTORE"
},
{
"begin": 2140,
"end": 2158,
"name": "PUSH",
"value": "20"
},
{
"begin": 2140,
"end": 2158,
"name": "ADD"
},
{
"begin": 2140,
"end": 2158,
"name": "SWAP1"
},
{
"begin": 2140,
"end": 2158,
"name": "DUP2"
},
{
"begin": 2140,
"end": 2158,
"name": "MSTORE"
},
{
"begin": 2140,
"end": 2158,
"name": "PUSH",
"value": "20"
},
{
"begin": 2140,
"end": 2158,
"name": "ADD"
},
{
"begin": 2140,
"end": 2158,
"name": "PUSH",
"value": "0"
},
{
"begin": 2140,
"end": 2158,
"name": "KECCAK256"
},
{
"begin": 2140,
"end": 2194,
"name": "DUP2"
},
{
"begin": 2140,
"end": 2194,
"name": "SWAP1"
},
{
"begin": 2140,
"end": 2194,
"name": "SSTORE"
},
{
"begin": 2140,
"end": 2194,
"name": "POP"
},
{
"begin": 2231,
"end": 2239,
"name": "DUP3"
},
{
"begin": 2210,
"end": 2251,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2210,
"end": 2251,
"name": "AND"
},
{
"begin": 2219,
"end": 2229,
"name": "CALLER"
},
{
"begin": 2210,
"end": 2251,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2210,
"end": 2251,
"name": "AND"
},
{
"begin": 2210,
"end": 2251,
"name": "PUSH",
"value": "DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF"
},
{
"begin": 2241,
"end": 2250,
"name": "DUP5"
},
{
"begin": 2210,
"end": 2251,
"name": "PUSH",
"value": "40"
},
{
"begin": 2210,
"end": 2251,
"name": "MLOAD"
},
{
"begin": 2210,
"end": 2251,
"name": "DUP1"
},
{
"begin": 2210,
"end": 2251,
"name": "DUP3"
},
{
"begin": 2210,
"end": 2251,
"name": "DUP2"
},
{
"begin": 2210,
"end": 2251,
"name": "MSTORE"
},
{
"begin": 2210,
"end": 2251,
"name": "PUSH",
"value": "20"
},
{
"begin": 2210,
"end": 2251,
"name": "ADD"
},
{
"begin": 2210,
"end": 2251,
"name": "SWAP2"
},
{
"begin": 2210,
"end": 2251,
"name": "POP"
},
{
"begin": 2210,
"end": 2251,
"name": "POP"
},
{
"begin": 2210,
"end": 2251,
"name": "PUSH",
"value": "40"
},
{
"begin": 2210,
"end": 2251,
"name": "MLOAD"
},
{
"begin": 2210,
"end": 2251,
"name": "DUP1"
},
{
"begin": 2210,
"end": 2251,
"name": "SWAP2"
},
{
"begin": 2210,
"end": 2251,
"name": "SUB"
},
{
"begin": 2210,
"end": 2251,
"name": "SWAP1"
},
{
"begin": 2210,
"end": 2251,
"name": "LOG3"
},
{
"begin": 2306,
"end": 2310,
"name": "PUSH",
"value": "1"
},
{
"begin": 2299,
"end": 2310,
"name": "SWAP1"
},
{
"begin": 2299,
"end": 2310,
"name": "POP"
},
{
"begin": 1896,
"end": 2318,
"name": "SWAP3"
},
{
"begin": 1896,
"end": 2318,
"name": "SWAP2"
},
{
"begin": 1896,
"end": 2318,
"name": "POP"
},
{
"begin": 1896,
"end": 2318,
"name": "POP"
},
{
"begin": 1896,
"end": 2318,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 3495,
"end": 3594,
"name": "tag",
"value": "68"
},
{
"begin": 3495,
"end": 3594,
"name": "JUMPDEST"
},
{
"begin": 1061,
"end": 1069,
"name": "PUSH",
"value": "3"
},
{
"begin": 1061,
"end": 1069,
"name": "PUSH",
"value": "0"
},
{
"begin": 1061,
"end": 1069,
"name": "SWAP1"
},
{
"begin": 1061,
"end": 1069,
"name": "SLOAD"
},
{
"begin": 1061,
"end": 1069,
"name": "SWAP1"
},
{
"begin": 1061,
"end": 1069,
"name": "PUSH",
"value": "100"
},
{
"begin": 1061,
"end": 1069,
"name": "EXP"
},
{
"begin": 1061,
"end": 1069,
"name": "SWAP1"
},
{
"begin": 1061,
"end": 1069,
"name": "DIV"
},
{
"begin": 1061,
"end": 1069,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1061,
"end": 1069,
"name": "AND"
},
{
"begin": 1047,
"end": 1069,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1047,
"end": 1069,
"name": "AND"
},
{
"begin": 1047,
"end": 1057,
"name": "CALLER"
},
{
"begin": 1047,
"end": 1069,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1047,
"end": 1069,
"name": "AND"
},
{
"begin": 1047,
"end": 1069,
"name": "EQ"
},
{
"begin": 1038,
"end": 1070,
"name": "PUSH [tag]",
"value": "104"
},
{
"begin": 1038,
"end": 1070,
"name": "JUMPI"
},
{
"begin": 1038,
"end": 1070,
"name": "PUSH",
"value": "0"
},
{
"begin": 1038,
"end": 1070,
"name": "DUP1"
},
{
"begin": 1038,
"end": 1070,
"name": "REVERT"
},
{
"begin": 1038,
"end": 1070,
"name": "tag",
"value": "104"
},
{
"begin": 1038,
"end": 1070,
"name": "JUMPDEST"
},
{
"begin": 3580,
"end": 3586,
"name": "DUP1"
},
{
"begin": 3564,
"end": 3576,
"name": "PUSH",
"value": "2"
},
{
"begin": 3564,
"end": 3576,
"name": "PUSH",
"value": "0"
},
{
"begin": 3564,
"end": 3586,
"name": "DUP3"
},
{
"begin": 3564,
"end": 3586,
"name": "DUP3"
},
{
"begin": 3564,
"end": 3586,
"name": "SLOAD"
},
{
"begin": 3564,
"end": 3586,
"name": "ADD"
},
{
"begin": 3564,
"end": 3586,
"name": "SWAP3"
},
{
"begin": 3564,
"end": 3586,
"name": "POP"
},
{
"begin": 3564,
"end": 3586,
"name": "POP"
},
{
"begin": 3564,
"end": 3586,
"name": "DUP2"
},
{
"begin": 3564,
"end": 3586,
"name": "SWAP1"
},
{
"begin": 3564,
"end": 3586,
"name": "SSTORE"
},
{
"begin": 3564,
"end": 3586,
"name": "POP"
},
{
"begin": 3495,
"end": 3594,
"name": "POP"
},
{
"begin": 3495,
"end": 3594,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 3614,
"end": 3708,
"name": "tag",
"value": "72"
},
{
"begin": 3614,
"end": 3708,
"name": "JUMPDEST"
},
{
"begin": 1061,
"end": 1069,
"name": "PUSH",
"value": "3"
},
{
"begin": 1061,
"end": 1069,
"name": "PUSH",
"value": "0"
},
{
"begin": 1061,
"end": 1069,
"name": "SWAP1"
},
{
"begin": 1061,
"end": 1069,
"name": "SLOAD"
},
{
"begin": 1061,
"end": 1069,
"name": "SWAP1"
},
{
"begin": 1061,
"end": 1069,
"name": "PUSH",
"value": "100"
},
{
"begin": 1061,
"end": 1069,
"name": "EXP"
},
{
"begin": 1061,
"end": 1069,
"name": "SWAP1"
},
{
"begin": 1061,
"end": 1069,
"name": "DIV"
},
{
"begin": 1061,
"end": 1069,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1061,
"end": 1069,
"name": "AND"
},
{
"begin": 1047,
"end": 1069,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1047,
"end": 1069,
"name": "AND"
},
{
"begin": 1047,
"end": 1057,
"name": "CALLER"
},
{
"begin": 1047,
"end": 1069,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1047,
"end": 1069,
"name": "AND"
},
{
"begin": 1047,
"end": 1069,
"name": "EQ"
},
{
"begin": 1038,
"end": 1070,
"name": "PUSH [tag]",
"value": "107"
},
{
"begin": 1038,
"end": 1070,
"name": "JUMPI"
},
{
"begin": 1038,
"end": 1070,
"name": "PUSH",
"value": "0"
},
{
"begin": 1038,
"end": 1070,
"name": "DUP1"
},
{
"begin": 1038,
"end": 1070,
"name": "REVERT"
},
{
"begin": 1038,
"end": 1070,
"name": "tag",
"value": "107"
},
{
"begin": 1038,
"end": 1070,
"name": "JUMPDEST"
},
{
"begin": 3694,
"end": 3700,
"name": "DUP1"
},
{
"begin": 3678,
"end": 3690,
"name": "PUSH",
"value": "2"
},
{
"begin": 3678,
"end": 3690,
"name": "PUSH",
"value": "0"
},
{
"begin": 3678,
"end": 3700,
"name": "DUP3"
},
{
"begin": 3678,
"end": 3700,
"name": "DUP3"
},
{
"begin": 3678,
"end": 3700,
"name": "SLOAD"
},
{
"begin": 3678,
"end": 3700,
"name": "SUB"
},
{
"begin": 3678,
"end": 3700,
"name": "SWAP3"
},
{
"begin": 3678,
"end": 3700,
"name": "POP"
},
{
"begin": 3678,
"end": 3700,
"name": "POP"
},
{
"begin": 3678,
"end": 3700,
"name": "DUP2"
},
{
"begin": 3678,
"end": 3700,
"name": "SWAP1"
},
{
"begin": 3678,
"end": 3700,
"name": "SSTORE"
},
{
"begin": 3678,
"end": 3700,
"name": "POP"
},
{
"begin": 3614,
"end": 3708,
"name": "POP"
},
{
"begin": 3614,
"end": 3708,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 2565,
"end": 2702,
"name": "tag",
"value": "76"
},
{
"begin": 2565,
"end": 2702,
"name": "JUMPDEST"
},
{
"begin": 2642,
"end": 2646,
"name": "PUSH",
"value": "0"
},
{
"begin": 2666,
"end": 2673,
"name": "PUSH",
"value": "1"
},
{
"begin": 2666,
"end": 2680,
"name": "PUSH",
"value": "0"
},
{
"begin": 2674,
"end": 2679,
"name": "DUP5"
},
{
"begin": 2666,
"end": 2680,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2666,
"end": 2680,
"name": "AND"
},
{
"begin": 2666,
"end": 2680,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2666,
"end": 2680,
"name": "AND"
},
{
"begin": 2666,
"end": 2680,
"name": "DUP2"
},
{
"begin": 2666,
"end": 2680,
"name": "MSTORE"
},
{
"begin": 2666,
"end": 2680,
"name": "PUSH",
"value": "20"
},
{
"begin": 2666,
"end": 2680,
"name": "ADD"
},
{
"begin": 2666,
"end": 2680,
"name": "SWAP1"
},
{
"begin": 2666,
"end": 2680,
"name": "DUP2"
},
{
"begin": 2666,
"end": 2680,
"name": "MSTORE"
},
{
"begin": 2666,
"end": 2680,
"name": "PUSH",
"value": "20"
},
{
"begin": 2666,
"end": 2680,
"name": "ADD"
},
{
"begin": 2666,
"end": 2680,
"name": "PUSH",
"value": "0"
},
{
"begin": 2666,
"end": 2680,
"name": "KECCAK256"
},
{
"begin": 2666,
"end": 2694,
"name": "PUSH",
"value": "0"
},
{
"begin": 2681,
"end": 2693,
"name": "DUP4"
},
{
"begin": 2666,
"end": 2694,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2666,
"end": 2694,
"name": "AND"
},
{
"begin": 2666,
"end": 2694,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2666,
"end": 2694,
"name": "AND"
},
{
"begin": 2666,
"end": 2694,
"name": "DUP2"
},
{
"begin": 2666,
"end": 2694,
"name": "MSTORE"
},
{
"begin": 2666,
"end": 2694,
"name": "PUSH",
"value": "20"
},
{
"begin": 2666,
"end": 2694,
"name": "ADD"
},
{
"begin": 2666,
"end": 2694,
"name": "SWAP1"
},
{
"begin": 2666,
"end": 2694,
"name": "DUP2"
},
{
"begin": 2666,
"end": 2694,
"name": "MSTORE"
},
{
"begin": 2666,
"end": 2694,
"name": "PUSH",
"value": "20"
},
{
"begin": 2666,
"end": 2694,
"name": "ADD"
},
{
"begin": 2666,
"end": 2694,
"name": "PUSH",
"value": "0"
},
{
"begin": 2666,
"end": 2694,
"name": "KECCAK256"
},
{
"begin": 2666,
"end": 2694,
"name": "SLOAD"
},
{
"begin": 2659,
"end": 2694,
"name": "SWAP1"
},
{
"begin": 2659,
"end": 2694,
"name": "POP"
},
{
"begin": 2565,
"end": 2702,
"name": "SWAP3"
},
{
"begin": 2565,
"end": 2702,
"name": "SWAP2"
},
{
"begin": 2565,
"end": 2702,
"name": "POP"
},
{
"begin": 2565,
"end": 2702,
"name": "POP"
},
{
"begin": 2565,
"end": 2702,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 52,
"end": 198,
"name": "tag",
"value": "83"
},
{
"begin": 52,
"end": 198,
"name": "JUMPDEST"
},
{
"begin": 110,
"end": 117,
"name": "PUSH",
"value": "0"
},
{
"begin": 140,
"end": 141,
"name": "DUP3"
},
{
"begin": 135,
"end": 136,
"name": "DUP3"
},
{
"begin": 135,
"end": 141,
"name": "GT"
},
{
"begin": 135,
"end": 141,
"name": "ISZERO"
},
{
"begin": 128,
"end": 142,
"name": "PUSH [tag]",
"value": "111"
},
{
"begin": 128,
"end": 142,
"name": "JUMPI"
},
{
"begin": 128,
"end": 142,
"name": "INVALID"
},
{
"begin": 128,
"end": 142,
"name": "tag",
"value": "111"
},
{
"begin": 128,
"end": 142,
"name": "JUMPDEST"
},
{
"begin": 189,
"end": 190,
"name": "DUP2"
},
{
"begin": 185,
"end": 186,
"name": "DUP4"
},
{
"begin": 185,
"end": 190,
"name": "SUB"
},
{
"begin": 178,
"end": 190,
"name": "SWAP1"
},
{
"begin": 178,
"end": 190,
"name": "POP"
},
{
"begin": 52,
"end": 198,
"name": "SWAP3"
},
{
"begin": 52,
"end": 198,
"name": "SWAP2"
},
{
"begin": 52,
"end": 198,
"name": "POP"
},
{
"begin": 52,
"end": 198,
"name": "POP"
},
{
"begin": 52,
"end": 198,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 206,
"end": 347,
"name": "tag",
"value": "86"
},
{
"begin": 206,
"end": 347,
"name": "JUMPDEST"
},
{
"begin": 264,
"end": 271,
"name": "PUSH",
"value": "0"
},
{
"begin": 282,
"end": 291,
"name": "DUP1"
},
{
"begin": 298,
"end": 299,
"name": "DUP3"
},
{
"begin": 294,
"end": 295,
"name": "DUP5"
},
{
"begin": 294,
"end": 299,
"name": "ADD"
},
{
"begin": 282,
"end": 299,
"name": "SWAP1"
},
{
"begin": 282,
"end": 299,
"name": "POP"
},
{
"begin": 320,
"end": 321,
"name": "DUP4"
},
{
"begin": 315,
"end": 316,
"name": "DUP2"
},
{
"begin": 315,
"end": 321,
"name": "LT"
},
{
"begin": 315,
"end": 321,
"name": "ISZERO"
},
{
"begin": 308,
"end": 322,
"name": "PUSH [tag]",
"value": "113"
},
{
"begin": 308,
"end": 322,
"name": "JUMPI"
},
{
"begin": 308,
"end": 322,
"name": "INVALID"
},
{
"begin": 308,
"end": 322,
"name": "tag",
"value": "113"
},
{
"begin": 308,
"end": 322,
"name": "JUMPDEST"
},
{
"begin": 338,
"end": 339,
"name": "DUP1"
},
{
"begin": 331,
"end": 339,
"name": "SWAP2"
},
{
"begin": 331,
"end": 339,
"name": "POP"
},
{
"begin": 331,
"end": 339,
"name": "POP"
},
{
"begin": 206,
"end": 347,
"name": "SWAP3"
},
{
"begin": 206,
"end": 347,
"name": "SWAP2"
},
{
"begin": 206,
"end": 347,
"name": "POP"
},
{
"begin": 206,
"end": 347,
"name": "POP"
},
{
"begin": 206,
"end": 347,
"name": "JUMP",
"value": "[out]"
}
],
".data": {
"459E0DFB690370A8FB44E20926D960E5E65E9618653142C0DCE84E4511E1DEC4": "596f7520446f6e277420486176652053756666696369656e742042616c616e6365"
}
}
}
},
"methodIdentifiers": {
"addAddress(address)": "38eada1c",
"allowance(address,address)": "dd62ed3e",
"approve(address,uint256)": "095ea7b3",
"balanceOf(address)": "70a08231",
"burnSupply(uint256)": "d595c331",
"decimals()": "313ce567",
"incrementSupply(uint256)": "cbbd8a04",
"name()": "06fdde03",
"selfDestruct()": "9cb8a26a",
"symbol()": "95d89b41",
"totalSupply()": "18160ddd",
"transfer(address,uint256)": "a9059cbb",
"transferFrom(address,address,uint256)": "23b872dd",
"transferWhiteList(address,uint256)": "5c0246c9"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"total\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"tokenOwner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokens\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokens\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"adr\",\"type\":\"address\"}],\"name\":\"addAddress\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token_manger\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"approved_addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"numTokens\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"inputAddress\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burnSupply\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"incrementSupply\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"selfDestruct\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"numTokens\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"numTokens\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"numTokens\",\"type\":\"uint256\"}],\"name\":\"transferWhiteList\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"Tutorial1/tutorial2.sol\":\"IntelliContract\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"Tutorial1/tutorial2.sol\":{\"keccak256\":\"0x2daf7f11762c4a3fa7a5b0319fa8748719829ebedd85b65c695e52e6281acb37\",\"urls\":[\"bzz-raw://619f3a9591ed64ff6f53eab7959ad73348145e09d14987bb6767e26aaa5f176a\",\"dweb:/ipfs/QmZyKpy11J79Z4UTfEXhGH4PngmGQF23WQBXZ6EBBEKvq3\"]}},\"version\":1}",
"storageLayout": {
"storage": [
{
"astId": 86,
"contract": "Tutorial1/tutorial2.sol:IntelliContract",
"label": "balances",
"offset": 0,
"slot": "0",
"type": "t_mapping(t_address,t_uint256)"
},
{
"astId": 92,
"contract": "Tutorial1/tutorial2.sol:IntelliContract",
"label": "allowed",
"offset": 0,
"slot": "1",
"type": "t_mapping(t_address,t_mapping(t_address,t_uint256))"
},
{
"astId": 94,
"contract": "Tutorial1/tutorial2.sol:IntelliContract",
"label": "totalSupply_",
"offset": 0,
"slot": "2",
"type": "t_uint256"
},
{
"astId": 96,
"contract": "Tutorial1/tutorial2.sol:IntelliContract",
"label": "ownerCon",
"offset": 0,
"slot": "3",
"type": "t_address"
},
{
"astId": 355,
"contract": "Tutorial1/tutorial2.sol:IntelliContract",
"label": "whiteList",
"offset": 0,
"slot": "4",
"type": "t_mapping(t_address,t_uint256)"
},
{
"astId": 358,
"contract": "Tutorial1/tutorial2.sol:IntelliContract",
"label": "whiteListCount",
"offset": 0,
"slot": "5",
"type": "t_uint256"
}
],
"types": {
"t_address": {
"encoding": "inplace",
"label": "address",
"numberOfBytes": "20"
},
"t_mapping(t_address,t_mapping(t_address,t_uint256))": {
"encoding": "mapping",
"key": "t_address",
"label": "mapping(address => mapping(address => uint256))",
"numberOfBytes": "32",
"value": "t_mapping(t_address,t_uint256)"
},
"t_mapping(t_address,t_uint256)": {
"encoding": "mapping",
"key": "t_address",
"label": "mapping(address => uint256)",
"numberOfBytes": "32",
"value": "t_uint256"
},
"t_uint256": {
"encoding": "inplace",
"label": "uint256",
"numberOfBytes": "32"
}
}
},
"userdoc": {
"methods": {}
}
},
"SafeMath": {
"abi": [],
"devdoc": {
"methods": {}
},
"evm": {
"assembly": " /* \"Tutorial1/tutorial2.sol\":27:350 library SafeMath { \r... */\n dataSize(sub_0)\n dataOffset(sub_0)\n /* \"--CODEGEN--\":132:134 */\n 0x0b\n /* \"--CODEGEN--\":166:173 */\n dup3\n /* \"--CODEGEN--\":155:164 */\n dup3\n /* \"--CODEGEN--\":146:153 */\n dup3\n /* \"--CODEGEN--\":137:174 */\n codecopy\n /* \"--CODEGEN--\":255:262 */\n dup1\n /* \"--CODEGEN--\":249:263 */\n mload\n /* \"--CODEGEN--\":246:247 */\n 0x00\n /* \"--CODEGEN--\":241:264 */\n byte\n /* \"--CODEGEN--\":235:239 */\n 0x73\n /* \"--CODEGEN--\":232:265 */\n eq\n /* \"--CODEGEN--\":222:224 */\n tag_1\n jumpi\n /* \"--CODEGEN--\":269:278 */\n invalid\n /* \"--CODEGEN--\":222:224 */\ntag_1:\n /* \"--CODEGEN--\":293:302 */\n address\n /* \"--CODEGEN--\":290:291 */\n 0x00\n /* \"--CODEGEN--\":283:303 */\n mstore\n /* \"--CODEGEN--\":323:327 */\n 0x73\n /* \"--CODEGEN--\":314:321 */\n dup2\n /* \"--CODEGEN--\":306:328 */\n mstore8\n /* \"--CODEGEN--\":347:354 */\n dup3\n /* \"--CODEGEN--\":338:345 */\n dup2\n /* \"--CODEGEN--\":331:355 */\n return\nstop\n\nsub_0: assembly {\n /* \"Tutorial1/tutorial2.sol\":27:350 library SafeMath { \r... */\n eq(address, deployTimeAddress())\n mstore(0x40, 0x80)\n 0x00\n dup1\n revert\n\n auxdata: 0xa265627a7a72315820ccb103d6c0946d17033a850ba036de662eda1c6096981da541d4d55f7119e5f264736f6c63430005110032\n}\n",
"bytecode": {
"linkReferences": {},
"object": "60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820ccb103d6c0946d17033a850ba036de662eda1c6096981da541d4d55f7119e5f264736f6c63430005110032",
"opcodes": "PUSH1 0x55 PUSH1 0x23 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x16 JUMPI INVALID JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH6 0x627A7A723158 KECCAK256 0xCC 0xB1 SUB 0xD6 0xC0 SWAP5 PUSH14 0x17033A850BA036DE662EDA1C6096 SWAP9 SAR 0xA5 COINBASE 0xD4 0xD5 0x5F PUSH18 0x19E5F264736F6C6343000511003200000000 ",
"sourceMap": "27:323:0:-;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24"
},
"deployedBytecode": {
"linkReferences": {},
"object": "73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820ccb103d6c0946d17033a850ba036de662eda1c6096981da541d4d55f7119e5f264736f6c63430005110032",
"opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH6 0x627A7A723158 KECCAK256 0xCC 0xB1 SUB 0xD6 0xC0 SWAP5 PUSH14 0x17033A850BA036DE662EDA1C6096 SWAP9 SAR 0xA5 COINBASE 0xD4 0xD5 0x5F PUSH18 0x19E5F264736F6C6343000511003200000000 ",
"sourceMap": "27:323:0:-;;;;;;;;"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "17000",
"executionCost": "94",
"totalCost": "17094"
},
"internal": {
"add(uint256,uint256)": "infinite",
"sub(uint256,uint256)": "infinite"
}
},
"legacyAssembly": {
".code": [
{
"begin": 27,
"end": 350,
"name": "PUSH #[$]",
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 27,
"end": 350,
"name": "PUSH [$]",
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 132,
"end": 134,
"name": "PUSH",
"value": "B"
},
{
"begin": 166,
"end": 173,
"name": "DUP3"
},
{
"begin": 155,
"end": 164,
"name": "DUP3"
},
{
"begin": 146,
"end": 153,
"name": "DUP3"
},
{
"begin": 137,
"end": 174,
"name": "CODECOPY"
},
{
"begin": 255,
"end": 262,
"name": "DUP1"
},
{
"begin": 249,
"end": 263,
"name": "MLOAD"
},
{
"begin": 246,
"end": 247,
"name": "PUSH",
"value": "0"
},
{
"begin": 241,
"end": 264,
"name": "BYTE"
},
{
"begin": 235,
"end": 239,
"name": "PUSH",
"value": "73"
},
{
"begin": 232,
"end": 265,
"name": "EQ"
},
{
"begin": 222,
"end": 224,
"name": "PUSH [tag]",
"value": "1"
},
{
"begin": 222,
"end": 224,
"name": "JUMPI"
},
{
"begin": 269,
"end": 278,
"name": "INVALID"
},
{
"begin": 222,
"end": 224,
"name": "tag",
"value": "1"
},
{
"begin": 222,
"end": 224,
"name": "JUMPDEST"
},
{
"begin": 293,
"end": 302,
"name": "ADDRESS"
},
{
"begin": 290,
"end": 291,
"name": "PUSH",
"value": "0"
},
{
"begin": 283,
"end": 303,
"name": "MSTORE"
},
{
"begin": 323,
"end": 327,
"name": "PUSH",
"value": "73"
},
{
"begin": 314,
"end": 321,
"name": "DUP2"
},
{
"begin": 306,
"end": 328,
"name": "MSTORE8"
},
{
"begin": 347,
"end": 354,
"name": "DUP3"
},
{
"begin": 338,
"end": 345,
"name": "DUP2"
},
{
"begin": 331,
"end": 355,
"name": "RETURN"
}
],
".data": {
"0": {
".auxdata": "a265627a7a72315820ccb103d6c0946d17033a850ba036de662eda1c6096981da541d4d55f7119e5f264736f6c63430005110032",
".code": [
{
"begin": 27,
"end": 350,
"name": "PUSHDEPLOYADDRESS"
},
{
"begin": 27,
"end": 350,
"name": "ADDRESS"
},
{
"begin": 27,
"end": 350,
"name": "EQ"
},
{
"begin": 27,
"end": 350,
"name": "PUSH",
"value": "80"
},
{
"begin": 27,
"end": 350,
"name": "PUSH",
"value": "40"
},
{
"begin": 27,
"end": 350,
"name": "MSTORE"
},
{
"begin": 27,
"end": 350,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 350,
"name": "DUP1"
},
{
"begin": 27,
"end": 350,
"name": "REVERT"
}
]
}
}
},
"methodIdentifiers": {}
},
"metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"Tutorial1/tutorial2.sol\":\"SafeMath\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"Tutorial1/tutorial2.sol\":{\"keccak256\":\"0x2daf7f11762c4a3fa7a5b0319fa8748719829ebedd85b65c695e52e6281acb37\",\"urls\":[\"bzz-raw://619f3a9591ed64ff6f53eab7959ad73348145e09d14987bb6767e26aaa5f176a\",\"dweb:/ipfs/QmZyKpy11J79Z4UTfEXhGH4PngmGQF23WQBXZ6EBBEKvq3\"]}},\"version\":1}",
"storageLayout": {
"storage": [],
"types": null
},
"userdoc": {
"methods": {}
}
}
}
},
"sources": {
"Tutorial1/tutorial2.sol": {
"ast": {
"absolutePath": "Tutorial1/tutorial2.sol",
"exportedSymbols": {
"IntelliContract": [
445
],
"SafeMath": [
46
]
},
"id": 446,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"^",
"0.5",
".1"
],
"nodeType": "PragmaDirective",
"src": "0:23:0"
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "library",
"documentation": null,
"fullyImplemented": true,
"id": 46,
"linearizedBaseContracts": [
46
],
"name": "SafeMath",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": {
"id": 20,
"nodeType": "Block",
"src": "119:79:0",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 13,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 11,
"name": "b",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5,
"src": "135:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<=",
"rightExpression": {
"argumentTypes": null,
"id": 12,
"name": "a",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "140:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "135:6:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
}
],
"id": 10,
"name": "assert",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 449,
"src": "128:6:0",
"typeDescriptions": {
"typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$",
"typeString": "function (bool) pure"
}
},
"id": 14,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "128:14:0",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 15,
"nodeType": "ExpressionStatement",
"src": "128:14:0"
},
{
"expression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 18,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 16,
"name": "a",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "185:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "-",
"rightExpression": {
"argumentTypes": null,
"id": 17,
"name": "b",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5,
"src": "189:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "185:5:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 9,
"id": 19,
"nodeType": "Return",
"src": "178:12:0"
}
]
},
"documentation": null,
"id": 21,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "sub",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 6,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 3,
"name": "a",
"nodeType": "VariableDeclaration",
"scope": 21,
"src": "65:9:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "65:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 5,
"name": "b",
"nodeType": "VariableDeclaration",
"scope": 21,
"src": "76:9:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 4,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "76:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "64:22:0"
},
"returnParameters": {
"id": 9,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 8,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 21,
"src": "110:7:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "110:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "109:9:0"
},
"scope": 46,
"src": "52:146:0",
"stateMutability": "pure",
"superFunction": null,
"visibility": "internal"
},
{
"body": {
"id": 44,
"nodeType": "Block",
"src": "273:74:0",
"statements": [
{
"assignments": [
31
],
"declarations": [
{
"constant": false,
"id": 31,
"name": "c",
"nodeType": "VariableDeclaration",
"scope": 44,
"src": "282:9:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 30,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "282:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 35,
"initialValue": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 34,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 32,
"name": "a",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 23,
"src": "294:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"argumentTypes": null,
"id": 33,
"name": "b",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 25,
"src": "298:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "294:5:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "282:17:0"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 39,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 37,
"name": "c",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 31,
"src": "315:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": ">=",
"rightExpression": {
"argumentTypes": null,
"id": 38,
"name": "a",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 23,
"src": "320:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "315:6:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
}
],
"id": 36,
"name": "assert",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 449,
"src": "308:6:0",
"typeDescriptions": {
"typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$",
"typeString": "function (bool) pure"
}
},
"id": 40,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "308:14:0",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 41,
"nodeType": "ExpressionStatement",
"src": "308:14:0"
},
{
"expression": {
"argumentTypes": null,
"id": 42,
"name": "c",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 31,
"src": "338:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 29,
"id": 43,
"nodeType": "Return",
"src": "331:8:0"
}
]
},
"documentation": null,
"id": 45,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "add",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 26,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 23,
"name": "a",
"nodeType": "VariableDeclaration",
"scope": 45,
"src": "219:9:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 22,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "219:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 25,
"name": "b",
"nodeType": "VariableDeclaration",
"scope": 45,
"src": "230:9:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 24,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "230:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "218:22:0"
},
"returnParameters": {
"id": 29,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 28,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 45,
"src": "264:7:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 27,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "264:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "263:9:0"
},
"scope": 46,
"src": "206:141:0",
"stateMutability": "pure",
"superFunction": null,
"visibility": "internal"
}
],
"scope": 446,
"src": "27:323:0"
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 445,
"linearizedBaseContracts": [
445
],
"name": "IntelliContract",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": true,
"id": 49,
"name": "name",
"nodeType": "VariableDeclaration",
"scope": 445,
"src": "389:43:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory",
"typeString": "string"
},
"typeName": {
"id": 47,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "389:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": {
"argumentTypes": null,
"hexValue": "496e74656c6c69436f696e",
"id": 48,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "419:13:0",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_3ab1fe60837081c128bd39ffa871e319b3c869ce53c69aa982b6834b361910e3",
"typeString": "literal_string \"IntelliCoin\""
},
"value": "IntelliCoin"
},
"visibility": "public"
},
{
"constant": true,
"id": 52,
"name": "symbol",
"nodeType": "VariableDeclaration",
"scope": 445,
"src": "512:37:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory",
"typeString": "string"
},
"typeName": {
"id": 50,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "512:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": {
"argumentTypes": null,
"hexValue": "495443",
"id": 51,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "544:5:0",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_2be63ad6c9dc22c3bcb4e494a85ef22c73f0025ba32027cd2769511789afbef1",
"typeString": "literal_string \"ITC\""
},
"value": "ITC"
},
"visibility": "public"
},
{
"constant": true,
"id": 55,
"name": "decimals",
"nodeType": "VariableDeclaration",
"scope": 445,
"src": "634:35:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 53,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "634:5:0",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": {
"argumentTypes": null,
"hexValue": "3138",
"id": 54,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "667:2:0",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_18_by_1",
"typeString": "int_const 18"
},
"value": "18"
},
"visibility": "public"
},
{
"anonymous": false,
"documentation": null,
"id": 63,
"name": "Approval",
"nodeType": "EventDefinition",
"parameters": {
"id": 62,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 57,
"indexed": true,
"name": "tokenOwner",
"nodeType": "VariableDeclaration",
"scope": 63,
"src": "854:26:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 56,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "854:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 59,
"indexed": false,
"name": "spender",
"nodeType": "VariableDeclaration",
"scope": 63,
"src": "882:16:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 58,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "882:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 61,
"indexed": false,
"name": "tokens",
"nodeType": "VariableDeclaration",
"scope": 63,
"src": "900:11:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 60,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "900:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "853:59:0"
},
"src": "839:74:0"
},
{
"anonymous": false,
"documentation": null,
"id": 71,
"name": "Transfer",
"nodeType": "EventDefinition",
"parameters": {
"id": 70,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 65,
"indexed": true,
"name": "from",
"nodeType": "VariableDeclaration",
"scope": 71,
"src": "934:20:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 64,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "934:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 67,
"indexed": true,
"name": "to",
"nodeType": "VariableDeclaration",
"scope": 71,
"src": "956:18:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 66,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "956:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 69,
"indexed": false,
"name": "tokens",
"nodeType": "VariableDeclaration",
"scope": 71,
"src": "976:11:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 68,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "976:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "933:55:0"
},
"src": "919:70:0"
},
{
"body": {
"id": 81,
"nodeType": "Block",
"src": "1027:63:0",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 77,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 74,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 460,
"src": "1047:3:0",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 75,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "1047:10:0",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"id": 76,
"name": "ownerCon",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 96,
"src": "1061:8:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "1047:22:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
}
],
"id": 73,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
463,
464
],
"referencedDeclaration": 463,
"src": "1038:7:0",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
"typeString": "function (bool) pure"
}
},
"id": 78,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1038:32:0",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 79,
"nodeType": "ExpressionStatement",
"src": "1038:32:0"
},
{
"id": 80,
"nodeType": "PlaceholderStatement",
"src": "1081:1:0"
}
]
},
"documentation": null,
"id": 82,
"name": "onlyOwner",
"nodeType": "ModifierDefinition",
"parameters": {
"id": 72,
"nodeType": "ParameterList",
"parameters": [],
"src": "1027:0:0"
},
"src": "1007:83:0",
"visibility": "internal"
},
{
"constant": false,
"id": 86,
"name": "balances",
"nodeType": "VariableDeclaration",
"scope": 445,
"src": "1102:36:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
},
"typeName": {
"id": 85,
"keyType": {
"id": 83,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1110:7:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Mapping",
"src": "1102:27:0",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
},
"valueType": {
"id": 84,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1121:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 92,
"name": "allowed",
"nodeType": "VariableDeclaration",
"scope": 445,
"src": "1147:56:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
"typeString": "mapping(address => mapping(address => uint256))"
},
"typeName": {
"id": 91,
"keyType": {
"id": 87,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1155:7:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Mapping",
"src": "1147:48:0",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
"typeString": "mapping(address => mapping(address => uint256))"
},
"valueType": {
"id": 90,
"keyType": {
"id": 88,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1175:7:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Mapping",
"src": "1166:28:0",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
},
"valueType": {
"id": 89,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1186:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 94,
"name": "totalSupply_",
"nodeType": "VariableDeclaration",
"scope": 445,
"src": "1275:20:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 93,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1275:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 96,
"name": "ownerCon",
"nodeType": "VariableDeclaration",
"scope": 445,
"src": "1302:16:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 95,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1302:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"id": 99,
"libraryName": {
"contractScope": null,
"id": 97,
"name": "SafeMath",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 46,
"src": "1331:8:0",
"typeDescriptions": {
"typeIdentifier": "t_contract$_SafeMath_$46",
"typeString": "library SafeMath"
}
},
"nodeType": "UsingForDirective",
"src": "1325:27:0",
"typeName": {
"id": 98,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1344:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
},
{
"body": {
"id": 120,
"nodeType": "Block",
"src": "1395:221:0",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 106,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 104,
"name": "totalSupply_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 94,
"src": "1457:12:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 105,
"name": "total",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 101,
"src": "1472:5:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "1457:20:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 107,
"nodeType": "ExpressionStatement",
"src": "1457:20:0"
},
{
"expression": {
"argumentTypes": null,
"id": 113,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 108,
"name": "balances",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 86,
"src": "1482:8:0",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
}
},
"id": 111,
"indexExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 109,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 460,
"src": "1491:3:0",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 110,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "1491:10:0",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
"src": "1482:20:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 112,
"name": "totalSupply_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 94,
"src": "1505:12:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "1482:35:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 114,
"nodeType": "ExpressionStatement",
"src": "1482:35:0"
},
{
"expression": {
"argumentTypes": null,
"id": 118,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 115,
"name": "ownerCon",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 96,
"src": "1587:8:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 116,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 460,
"src": "1598:3:0",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 117,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "1598:10:0",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
"src": "1587:21:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 119,
"nodeType": "ExpressionStatement",
"src": "1587:21:0"
}
]
},
"documentation": null,
"id": 121,
"implemented": true,
"kind": "constructor",
"modifiers": [],
"name": "",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 102,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 101,
"name": "total",
"nodeType": "VariableDeclaration",
"scope": 121,
"src": "1373:13:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 100,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1373:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1372:15:0"
},
"returnParameters": {
"id": 103,
"nodeType": "ParameterList",
"parameters": [],
"src": "1395:0:0"
},
"scope": 445,
"src": "1361:255:0",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 128,
"nodeType": "Block",
"src": "1679:31:0",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 126,
"name": "totalSupply_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 94,
"src": "1690:12:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 125,
"id": 127,
"nodeType": "Return",
"src": "1683:19:0"
}
]
},
"documentation": null,
"id": 129,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "totalSupply",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 122,
"nodeType": "ParameterList",
"parameters": [],
"src": "1646:2:0"
},
"returnParameters": {
"id": 125,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 124,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 129,
"src": "1670:7:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 123,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1670:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1669:9:0"
},
"scope": 445,
"src": "1626:84:0",
"stateMutability": "view",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 140,
"nodeType": "Block",
"src": "1810:49:0",
"statements": [
{
"expression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 136,
"name": "balances",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 86,
"src": "1828:8:0",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
}
},
"id": 138,
"indexExpression": {
"argumentTypes": null,
"id": 137,
"name": "inputAddress",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 131,
"src": "1837:12:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "1828:22:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 135,
"id": 139,
"nodeType": "Return",
"src": "1821:29:0"
}
]
},
"documentation": null,
"id": 141,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "balanceOf",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 132,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 131,
"name": "inputAddress",
"nodeType": "VariableDeclaration",
"scope": 141,
"src": "1761:20:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 130,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1761:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1760:22:0"
},
"returnParameters": {
"id": 135,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 134,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 141,
"src": "1804:4:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 133,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "1804:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1803:6:0"
},
"scope": 445,
"src": "1742:117:0",
"stateMutability": "view",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 193,
"nodeType": "Block",
"src": "1971:347:0",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 156,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 151,
"name": "numTokens",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 145,
"src": "1990:9:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<=",
"rightExpression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 152,
"name": "balances",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 86,
"src": "2003:8:0",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
}
},
"id": 155,
"indexExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 153,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 460,
"src": "2012:3:0",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 154,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "2012:10:0",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "2003:20:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "1990:33:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "596f7520446f6e277420486176652053756666696369656e742042616c616e6365",
"id": 157,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "2024:35:0",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_459e0dfb690370a8fb44e20926d960e5e65e9618653142c0dce84e4511e1dec4",
"typeString": "literal_string \"You Don't Have Sufficient Balance\""
},
"value": "You Don't Have Sufficient Balance"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_459e0dfb690370a8fb44e20926d960e5e65e9618653142c0dce84e4511e1dec4",
"typeString": "literal_string \"You Don't Have Sufficient Balance\""
}
],
"id": 150,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
463,
464
],
"referencedDeclaration": 464,
"src": "1982:7:0",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 158,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1982:78:0",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 159,
"nodeType": "ExpressionStatement",
"src": "1982:78:0"
},
{
"expression": {
"argumentTypes": null,
"id": 171,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 160,
"name": "balances",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 86,
"src": "2071:8:0",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
}
},
"id": 163,
"indexExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 161,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 460,
"src": "2080:3:0",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 162,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "2080:10:0",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
"src": "2071:20:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 169,
"name": "numTokens",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 145,
"src": "2119:9:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 164,
"name": "balances",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 86,
"src": "2094:8:0",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
}
},
"id": 167,
"indexExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 165,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 460,
"src": "2103:3:0",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 166,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "2103:10:0",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "2094:20:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 168,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sub",
"nodeType": "MemberAccess",
"referencedDeclaration": 21,
"src": "2094:24:0",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
"typeString": "function (uint256,uint256) pure returns (uint256)"
}
},
"id": 170,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2094:35:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "2071:58:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 172,
"nodeType": "ExpressionStatement",
"src": "2071:58:0"
},
{
"expression": {
"argumentTypes": null,
"id": 182,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 173,
"name": "balances",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 86,
"src": "2140:8:0",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
}
},
"id": 175,
"indexExpression": {
"argumentTypes": null,
"id": 174,
"name": "receiver",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 143,
"src": "2149:8:0",
"typeDescriptions": {
"typeIdentifier"
View raw

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

View raw

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

View raw

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

View raw

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

View raw

(Sorry about that, but we can’t show 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