TW
Tripwire
Find contracts. Test them. Review real vulns.

Analysis Run

019bab3b-ab05-7055-bef7-363c9c09e395

complete
Chain ID
1
Address
Block Number
Created
Sun, Jan 11, 2026 4:06 AM
Review Summary

What survived the funnel

Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?

Confirmed
0
Validated
0
Source
Verified
Review Backing
Present
Best current signal
Reentrancy enables double-withdraw of staked VIRTUE
crit 0 high 0 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
38450 artifact.fetch complete 1 / 3 3 months ago
38451 proxy.resolve complete 1 / 3 3 months ago
38452 tool.cast_disasm complete 1 / 3 3 months ago
38453 analysis.bundle complete 1 / 3 3 months ago
38454 capability.graph complete 1 / 3 3 months ago
38455 detector.run complete 1 / 3 3 months ago
38456 validation.fork complete 1 / 3 3 months ago
39009 report.consolidate complete 1 / 6 3 months ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no not_proxy
Implementation:
Verified Source: yes
Proxy evidence
{
    "status": "not_proxy"
}

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
3
No findings?
no
Summary
Found three issues: a reentrancy bug enabling double-withdraw of staked VIRTUE, and two accounting/math edge cases that can revert rewards/sales under zero-stake or heavy slashing scenarios.
View stdout
{"no_findings":false,"summary":"Found three issues: a reentrancy bug enabling double-withdraw of staked VIRTUE, and two accounting/math edge cases that can revert rewards/sales under zero-stake or heavy slashing scenarios.","findings":[{"severity":"high","category":"reentrancy","title":"Reentrancy enables double-withdraw of staked VIRTUE","exploit_scenario":"A malicious staker contract calls `decreaseVirtueStake`. During `claimEthRewards`, ETH is sent to the staker, triggering its fallback to reenter `decreaseVirtueStake` before `userStakes` is updated. The reentrant call transfers VIRTUE once, then the original call resumes and transfers again based on the stale `currentStake`, allowing withdrawal of more VIRTUE than staked.","recommendation":"Add `nonReentrant` to `increaseVirtueStake`/`decreaseVirtueStake` and follow checks-effects-interactions: update `userStakes`/`claimedSnapshots` before any external calls (including `claimEthRewards` and `extraRewards`), or restructure to compute rewards without external calls until state is finalized.","evidence":"`decreaseVirtueStake` calls external contracts and then `claimEthRewards` (which sends ETH) before updating `userStakes`, with no reentrancy guard on the function.","locations":["contracts/VirtueStaking.sol:92","contracts/VirtueStaking.sol:119","contracts/VirtueStaking.sol:131","contracts/VirtueStaking.sol:214"]},{"severity":"low","category":"math","title":"Division by zero when no VIRTUE is staked can revert sales/reward distribution","exploit_scenario":"If `getTotalVirtueStake()` is zero, `_distributeRewards` divides by zero and reverts. This can block `distributeRewards`, the `receive()` handler, and any marketplace sale that calls `_distributeRewards` until someone stakes again. An attacker could temporarily DoS sales by withdrawing the last stake right before a buy/accept.","recommendation":"Guard `_distributeRewards` with a zero-stake check; either skip distribution or accrue rewards in a buffer to be distributed once staking resumes.","evidence":"`_distributeRewards` divides by `getTotalVirtueStake()` without checking for zero.","locations":["contracts/VirtueStaking.sol:204"]},{"severity":"medium","category":"math","title":"Slashing can cause underflow and permanently block reward updates","exploit_scenario":"If stETH balance drops below `allocatedStethRewards` (e.g., severe slashing), `updateRewardPerGod` computes `stethBal - allocatedStethRewards`, which underflows and reverts. This prevents `updateRewardPerGod` from executing, leaving `rewardPerGod` overstated and making future reward claims revert due to insufficient stETH.","recommendation":"Handle the `stethBal < allocatedStethRewards` case explicitly by reducing `rewardPerGod` and/or `allocatedStethRewards` proportionally, or clamp the principal to zero without underflow.","evidence":"`updateRewardPerGod` subtracts `allocatedStethRewards` from `stethBal` under the slashing branch without guarding for `stethBal < allocatedStethRewards`.","locations":["contracts/IdolMain.sol:288","contracts/IdolMain.sol:295","contracts/IdolMain.sol:297"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-valssxo8
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bab85-a317-7262-9aa8-d592b293c29b
--------
user
You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.

Scope rules:
- You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party Solidity sources in this workspace.
- Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
- If there are only dependency files and no first-party sources, set no_findings=true and explain in summary.

Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.

Output constraints (IMPORTANT):
- severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
- category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
Keep summary short and concrete.
mcp startup: no servers

thinking
**Reading AUDIT_BUNDLE file**
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-valssxo8 succeeded in 9ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.

================================================================================
FILE: contracts/IdolMain.sol
================================================================================
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;

import "hardhat/console.sol";
import "./VirtueToken.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/security/ReentrancyGuard.sol";
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol";
import "@openzeppelin/contracts/interfaces/IERC20.sol";
import "@openzeppelin/contracts/interfaces/IERC2981.sol";

contract IdolMain is ERC721Enumerable, IERC2981, Ownable, ReentrancyGuard {
  // stethPrincipalBalance tracks the treasury's principal stETH balance.
  uint public stethPrincipalBalance;

thinking
**Preparing to parse audit bundle**
exec
/bin/bash -lc 'rg --no-line-number "''^FILE:" AUDIT_BUNDLE.txt' in /tmp/codex-valssxo8 succeeded in 12ms:
FILE: contracts/IdolMain.sol
FILE: contracts/IdolMarketplace.sol
FILE: contracts/VirtueStaking.sol
FILE: contracts/VirtueToken.sol
FILE: contracts/interface/IRewards.sol
FILE: hardhat/console.sol

thinking
**Planning file extraction**
exec
/bin/bash -lc 'rg -n "''^FILE:" AUDIT_BUNDLE.txt' in /tmp/codex-valssxo8 succeeded in 7ms:
5:FILE: contracts/IdolMain.sol
477:FILE: contracts/IdolMarketplace.sol
689:FILE: contracts/VirtueStaking.sol
933:FILE: contracts/VirtueToken.sol
1078:FILE: contracts/interface/IRewards.sol
1090:FILE: hardhat/console.sol

thinking
**Preparing to view file sections**
exec
/bin/bash -lc "sed -n '1,520p' AUDIT_BUNDLE.txt" in /tmp/codex-valssxo8 succeeded in 5ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.

================================================================================
FILE: contracts/IdolMain.sol
================================================================================
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;

import "hardhat/console.sol";
import "./VirtueToken.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/security/ReentrancyGuard.sol";
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol";
import "@openzeppelin/contracts/interfaces/IERC20.sol";
import "@openzeppelin/contracts/interfaces/IERC2981.sol";

contract IdolMain is ERC721Enumerable, IERC2981, Ownable, ReentrancyGuard {
  // stethPrincipalBalance tracks the treasury's principal stETH balance.
  uint public stethPrincipalBalance;

thinking
**Continuing to review IdolMarketplace code**
exec
/bin/bash -lc "sed -n '520,920p' AUDIT_BUNDLE.txt" in /tmp/codex-valssxo8 succeeded in 27ms:
  mapping (uint => Listing) public godListings;

  // Mapping containing the active bids for each god.
  mapping (uint => Bid) public godBids;

  // Mapping containing pending balances that users can withdraw.
  mapping (address => uint) public pendingWithdrawals;

  IdolMain public immutable idolMain;

  event GodListed(uint indexed _godId, uint _minValue, address indexed _toAddress);
  event GodBidEntered(uint indexed _godId, uint _value, address indexed _fromAddress);
  event GodBidWithdrawn(uint indexed _godId, uint _value, address indexed _fromAddress);
  event GodBought(uint indexed _godId, uint _value, address indexed _fromAddress, address indexed _toAddress, uint cumulativeETH);
  event GodUnlisted(uint indexed _godId);

  constructor(address _idolMintAddress, address _idolMainAddress, address _virtueTokenAddress)
    VirtueStaking(_idolMintAddress, _virtueTokenAddress)
  {
    idolMain = IdolMain(_idolMainAddress);
exec
/bin/bash -lc "sed -n '920,1220p' AUDIT_BUNDLE.txt" in /tmp/codex-valssxo8 succeeded in 13ms:
  function claimExtraRewards(address _user) public nonReentrant {
    for (uint i = 0; i < extraRewards.length; i++) {
      IRewards(extraRewards[i]).claimRewards(_user);
    }
  }

  modifier onlyMintContract {
    require(msg.sender == mintContractAddress);
    _;
  }
}

================================================================================
FILE: contracts/VirtueToken.sol
================================================================================
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;

import "hardhat/console.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol";



thinking
**Evaluating contract reentrancy and access controls**

I'm analyzing potential reentrancy and access control issues across the main contracts. There are uses of ReentrancyGuard that prevent some attacks, but certain external calls precede state updates, which is risky. I notice possible division-by-zero bugs causing transaction reverts if stakes drop to zero, which might lead to denial-of-service. Also, some privileged bypasses, like marketplace auto-approval and mintContract permissions, raise centralization risks. Reentrancy via external extraRewards calls looks concerning since state changes happen after these calls. Lastly, handling of undercollateralization and slashing in reward calculations seems fragile and prone to revert, which could block critical updates. I'll keep clarifying how these risks interplay.
thinking
**Identifying reentrancy in stake adjustments**

I'm exploring how increaseVirtueStake and decreaseVirtueStake allow reentrancy via external ETH transfers in claimEthRewards that can reenter these functions before state updates complete. This can enable double-withdrawal of tokens in decreaseVirtueStake by exploiting stale state variables, leading to a serious vulnerability. I’m also noting how external calls to owner-controlled extraRewards before state updates could worsen reentrancy risks. This looks like a critical issue needing fixes like nonReentrant guards or reordering state changes.
thinking
**Detailing specific vulnerability categories and locations**

I'm sorting the issues into categories: reentrancy from unguarded external calls in increase/decreaseVirtueStake, math errors like division by zero in _distributeRewards and underflow in updateRewardPerGod, and noting operational quirks like state updates after sends in withdrawPendingFunds. I want to confirm file and line references for key functions in VirtueStaking and IdolMarketplace to back these findings with evidence. This will help make the report precise and actionable.
exec
/bin/bash -lc 'rg -n "decreaseVirtueStake|increaseVirtueStake|_distributeRewards" contracts/VirtueStaking.sol' in /tmp/codex-valssxo8 succeeded in 17ms:
89:    @notice increaseVirtueStake increases a user's VIRTUE stake.
92:  function increaseVirtueStake(uint _virtueTokenAmt)
115:    @notice decreaseVirtueStake decreases a user's VIRTUE stake.
119:  function decreaseVirtueStake(uint _virtueTokenAmt)
193:    _distributeRewards(msg.value);
197:    @notice This contract's receive function also calls _distributeRewards if any ETH is sent to
201:    _distributeRewards(msg.value);
204:  function _distributeRewards(uint _ethAmt)

thinking
**Checking line numbers for functions**
exec
/bin/bash -lc "nl -ba contracts/VirtueStaking.sol | sed -n '90,170p'" in /tmp/codex-valssxo8 succeeded in 14ms:
    90	    @param _virtueTokenAmt The amount of VIRTUE to stake on behalf of the user
    91	  */
    92	  function increaseVirtueStake(uint _virtueTokenAmt)
    93	    external
    94	  {
    95	    // Also stake with any linked extraRewards contracts.
    96	    for (uint i = 0; i < extraRewards.length; i++) {
    97	      IRewards(extraRewards[i]).increaseStake(msg.sender, _virtueTokenAmt);
    98	    }
    99	
   100	    uint currentStake = userStakes[msg.sender];
   101	    // If the sender has any pending ETH gains from staking, claim them before increasing their stake.
   102	    if (currentStake > 0) {
   103	      claimEthRewards(msg.sender);
   104	    } else {
   105	      claimedSnapshots[msg.sender] = cumulativeETH;
   106	    }
   107	    userStakes[msg.sender] = currentStake + _virtueTokenAmt;
   108	    require(
   109	      virtueToken.transferFrom(msg.sender, address(this), _virtueTokenAmt),

thinking
**Requesting line numbers for function**
exec
/bin/bash -lc "nl -ba contracts/VirtueStaking.sol | sed -n '190,230p'" in /tmp/codex-valssxo8 succeeded in 14ms:
   190	    external
   191	    payable
   192	  {
   193	    _distributeRewards(msg.value);
   194	  }
   195	
   196	  /**
   197	    @notice This contract's receive function also calls _distributeRewards if any ETH is sent to
   198	      the contract.
   199	  */
   200	  receive() external payable {
   201	    _distributeRewards(msg.value);
   202	  }
   203	
   204	  function _distributeRewards(uint _ethAmt)
   205	    internal
   206	  {
   207	    cumulativeETH = cumulativeETH + (_ethAmt * DECIMAL_PRECISION) / getTotalVirtueStake();
   208	  }
   209	

thinking
**Considering IdolMain updateRewardPerGod**
exec
/bin/bash -lc 'rg -n "updateRewardPerGod" contracts/IdolMain.sol' in /tmp/codex-valssxo8 succeeded in 30ms:
135:      calling updateRewardPerGod.
288:  function updateRewardPerGod()
320:      updateRewardPerGod, as an incentive to spend the gas costs on calling the function.

thinking
**Navigating updateRewardPerGod function**
exec
/bin/bash -lc "nl -ba contracts/IdolMain.sol | sed -n '280,340p'" in /tmp/codex-valssxo8 succeeded in 6ms:
   280	    require(steth.transferFrom(msg.sender, address(this), _stethAmt));
   281	    stethPrincipalBalance = stethPrincipalBalance + _stethAmt;
   282	  }
   283	
   284	  /**
   285	      @notice this function updates rewardPerGod based on the relationship between steth prin bal
   286	      and actual steth in the contract
   287	  */
   288	  function updateRewardPerGod()
   289	      public
   290	      nonReentrant
   291	  {
   292	    uint256 stethBal = steth.balanceOf(address(this));
   293	    // This should only occur if steth has experienced slashing.
   294	    // Reduce stethPrincipalBalance to stethBal minus previously allocated rewards.
   295	    if (stethBal < (stethPrincipalBalance + allocatedStethRewards)) {
   296	      emit RewardPerGodUpdated(rewardPerGod, stethPrincipalBalance + allocatedStethRewards - stethBal, msg.sender);
   297	      stethPrincipalBalance = stethBal - allocatedStethRewards;
   298	      return;
   299	    }

thinking
**Summarizing audit findings and crafting JSON output**

I'm gathering key security issues like reentrancy in token withdrawal, division-by-zero causing DoS in reward distribution, and underflow risk in reward updates due to slashing. I'll organize these findings with evidence lines, severity levels, categories, attack scenarios, and recommendations before formatting them into the final JSON output per the schema.
codex
{"no_findings":false,"summary":"Found three issues: a reentrancy bug enabling double-withdraw of staked VIRTUE, and two accounting/math edge cases that can revert rewards/sales under zero-stake or heavy slashing scenarios.","findings":[{"severity":"high","category":"reentrancy","title":"Reentrancy enables double-withdraw of staked VIRTUE","exploit_scenario":"A malicious staker contract calls `decreaseVirtueStake`. During `claimEthRewards`, ETH is sent to the staker, triggering its fallback to reenter `decreaseVirtueStake` before `userStakes` is updated. The reentrant call transfers VIRTUE once, then the original call resumes and transfers again based on the stale `currentStake`, allowing withdrawal of more VIRTUE than staked.","recommendation":"Add `nonReentrant` to `increaseVirtueStake`/`decreaseVirtueStake` and follow checks-effects-interactions: update `userStakes`/`claimedSnapshots` before any external calls (including `claimEthRewards` and `extraRewards`), or restructure to compute rewards without external calls until state is finalized.","evidence":"`decreaseVirtueStake` calls external contracts and then `claimEthRewards` (which sends ETH) before updating `userStakes`, with no reentrancy guard on the function.","locations":["contracts/VirtueStaking.sol:92","contracts/VirtueStaking.sol:119","contracts/VirtueStaking.sol:131","contracts/VirtueStaking.sol:214"]},{"severity":"low","category":"math","title":"Division by zero when no VIRTUE is staked can revert sales/reward distribution","exploit_scenario":"If `getTotalVirtueStake()` is zero, `_distributeRewards` divides by zero and reverts. This can block `distributeRewards`, the `receive()` handler, and any marketplace sale that calls `_distributeRewards` until someone stakes again. An attacker could temporarily DoS sales by withdrawing the last stake right before a buy/accept.","recommendation":"Guard `_distributeRewards` with a zero-stake check; either skip distribution or accrue rewards in a buffer to be distributed once staking resumes.","evidence":"`_distributeRewards` divides by `getTotalVirtueStake()` without checking for zero.","locations":["contracts/VirtueStaking.sol:204"]},{"severity":"medium","category":"math","title":"Slashing can cause underflow and permanently block reward updates","exploit_scenario":"If stETH balance drops below `allocatedStethRewards` (e.g., severe slashing), `updateRewardPerGod` computes `stethBal - allocatedStethRewards`, which underflows and reverts. This prevents `updateRewardPerGod` from executing, leaving `rewardPerGod` overstated and making future reward claims revert due to insufficient stETH.","recommendation":"Handle the `stethBal < allocatedStethRewards` case explicitly by reducing `rewardPerGod` and/or `allocatedStethRewards` proportionally, or clamp the principal to zero without underflow.","evidence":"`updateRewardPerGod` subtracts `allocatedStethRewards` from `stethBal` under the slashing branch without guarding for `stethBal < allocatedStethRewards`.","locations":["contracts/IdolMain.sol:288","contracts/IdolMain.sol:295","contracts/IdolMain.sol:297"]}]}
tokens used
44,685
Metadata
{
    "codex": {
        "ran_at": "2026-01-11T05:30:37.185573+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "source",
        "file_count": 26,
        "import_count": 32,
        "first_party_contracts_count": 6
    },
    "summary": "Found three issues: a reentrancy bug enabling double-withdraw of staked VIRTUE, and two accounting/math edge cases that can revert rewards/sales under zero-stake or heavy slashing scenarios.",
    "raw_final": {
        "summary": "Found three issues: a reentrancy bug enabling double-withdraw of staked VIRTUE, and two accounting/math edge cases that can revert rewards/sales under zero-stake or heavy slashing scenarios.",
        "findings": [
            {
                "title": "Reentrancy enables double-withdraw of staked VIRTUE",
                "category": "reentrancy",
                "evidence": "`decreaseVirtueStake` calls external contracts and then `claimEthRewards` (which sends ETH) before updating `userStakes`, with no reentrancy guard on the function.",
                "severity": "high",
                "locations": [
                    "contracts/VirtueStaking.sol:92",
                    "contracts/VirtueStaking.sol:119",
                    "contracts/VirtueStaking.sol:131",
                    "contracts/VirtueStaking.sol:214"
                ],
                "recommendation": "Add `nonReentrant` to `increaseVirtueStake`/`decreaseVirtueStake` and follow checks-effects-interactions: update `userStakes`/`claimedSnapshots` before any external calls (including `claimEthRewards` and `extraRewards`), or restructure to compute rewards without external calls until state is finalized.",
                "exploit_scenario": "A malicious staker contract calls `decreaseVirtueStake`. During `claimEthRewards`, ETH is sent to the staker, triggering its fallback to reenter `decreaseVirtueStake` before `userStakes` is updated. The reentrant call transfers VIRTUE once, then the original call resumes and transfers again based on the stale `currentStake`, allowing withdrawal of more VIRTUE than staked."
            },
            {
                "title": "Division by zero when no VIRTUE is staked can revert sales/reward distribution",
                "category": "math",
                "evidence": "`_distributeRewards` divides by `getTotalVirtueStake()` without checking for zero.",
                "severity": "low",
                "locations": [
                    "contracts/VirtueStaking.sol:204"
                ],
                "recommendation": "Guard `_distributeRewards` with a zero-stake check; either skip distribution or accrue rewards in a buffer to be distributed once staking resumes.",
                "exploit_scenario": "If `getTotalVirtueStake()` is zero, `_distributeRewards` divides by zero and reverts. This can block `distributeRewards`, the `receive()` handler, and any marketplace sale that calls `_distributeRewards` until someone stakes again. An attacker could temporarily DoS sales by withdrawing the last stake right before a buy/accept."
            },
            {
                "title": "Slashing can cause underflow and permanently block reward updates",
                "category": "math",
                "evidence": "`updateRewardPerGod` subtracts `allocatedStethRewards` from `stethBal` under the slashing branch without guarding for `stethBal < allocatedStethRewards`.",
                "severity": "medium",
                "locations": [
                    "contracts/IdolMain.sol:288",
                    "contracts/IdolMain.sol:295",
                    "contracts/IdolMain.sol:297"
                ],
                "recommendation": "Handle the `stethBal < allocatedStethRewards` case explicitly by reducing `rewardPerGod` and/or `allocatedStethRewards` proportionally, or clamp the principal to zero without underflow.",
                "exploit_scenario": "If stETH balance drops below `allocatedStethRewards` (e.g., severe slashing), `updateRewardPerGod` computes `stethBal - allocatedStethRewards`, which underflows and reverts. This prevents `updateRewardPerGod` from executing, leaving `rewardPerGod` overstated and making future reward claims revert due to insufficient stETH."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
17
EXT*/BALANCE
16
Total opcodes
8550
Flags
heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x01e6
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x7e89236f
00000019: GT
0000001a: PUSH2 0x0102
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xd55a23f4
00000024: GT
00000025: PUSH2 0x0095
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xec81290e
0000002f: GT
00000030: PUSH2 0x0064
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xec81290e
0000003a: EQ
0000003b: PUSH2 0x067d
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xeee10501
00000045: EQ
00000046: PUSH2 0x06a6
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xf2fde38b
00000050: EQ
00000051: PUSH2 0x06d1
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xf3f43703
0000005b: EQ
0000005c: PUSH2 0x06fa
0000005f: JUMPI
00000060: PUSH2 0x01f6
00000063: JUMP
00000064: JUMPDEST
00000065: DUP1
00000066: PUSH4 0xd55a23f4
0000006b: EQ
0000006c: PUSH2 0x05c3
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0xda2d09c1
00000076: EQ
00000077: PUSH2 0x05ee
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0xdbe1499a
00000081: EQ
00000082: PUSH2 0x0617
00000085: JUMPI
00000086: DUP1
00000087: PUSH4 0xddeeacec
0000008c: EQ
0000008d: PUSH2 0x0640
00000090: JUMPI
00000091: PUSH2 0x01f6
00000094: JUMP
00000095: JUMPDEST
00000096: DUP1
00000097: PUSH4 0x8da5cb5b
0000009c: GT
0000009d: PUSH2 0x00d1
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0x8da5cb5b
000000a7: EQ
000000a8: PUSH2 0x051b
000000ab: JUMPI
000000ac: DUP1
000000ad: PUSH4 0xa41ba44f
000000b2: EQ
000000b3: PUSH2 0x0546
000000b6: JUMPI
000000b7: DUP1
000000b8: PUSH4 0xa65705f5
000000bd: EQ
000000be: PUSH2 0x056f
000000c1: JUMPI
000000c2: DUP1
000000c3: PUSH4 0xc115b22c
000000c8: EQ
000000c9: PUSH2 0x059a
000000cc: JUMPI
000000cd: PUSH2 0x01f6
000000d0: JUMP
000000d1: JUMPDEST
000000d2: DUP1
000000d3: PUSH4 0x7e89236f
000000d8: EQ
000000d9: PUSH2 0x044e
000000dc: JUMPI
000000dd: DUP1
000000de: PUSH4 0x804cc777
000000e3: EQ
000000e4: PUSH2 0x0477
000000e7: JUMPI
000000e8: DUP1
000000e9: PUSH4 0x86eebfba
000000ee: EQ
000000ef: PUSH2 0x04a0
000000f2: JUMPI
000000f3: DUP1
000000f4: PUSH4 0x8b9345ad
000000f9: EQ
000000fa: PUSH2 0x04de
000000fd: JUMPI
000000fe: PUSH2 0x01f6
00000101: JUMP
00000102: JUMPDEST
00000103: DUP1
00000104: PUSH4 0x483c2d6e
00000109: GT
0000010a: PUSH2 0x017a
0000010d: JUMPI
0000010e: DUP1
0000010f: PUSH4 0x5e43c47b
00000114: GT
00000115: PUSH2 0x0149
00000118: JUMPI
00000119: DUP1
0000011a: PUSH4 0x5e43c47b
0000011f: EQ
00000120: PUSH2 0x03d9
00000123: JUMPI
00000124: DUP1
00000125: PUSH4 0x682dd599
0000012a: EQ
0000012b: PUSH2 0x0402
0000012e: JUMPI
0000012f: DUP1
00000130: PUSH4 0x6f4a2cd0
00000135: EQ
00000136: PUSH2 0x042d
00000139: JUMPI
0000013a: DUP1
0000013b: PUSH4 0x715018a6
00000140: EQ
00000141: PUSH2 0x0437
00000144: JUMPI
00000145: PUSH2 0x01f6
00000148: JUMP
00000149: JUMPDEST
0000014a: DUP1
0000014b: PUSH4 0x483c2d6e
00000150: EQ
00000151: PUSH2 0x033e
00000154: JUMPI
00000155: DUP1
00000156: PUSH4 0x49c657db
0000015b: EQ
0000015c: PUSH2 0x035a
0000015f: JUMPI
00000160: DUP1
00000161: PUSH4 0x58cd5272
00000166: EQ
00000167: PUSH2 0x0385
0000016a: JUMPI
0000016b: DUP1
0000016c: PUSH4 0x5b1161ac
00000171: EQ
00000172: PUSH2 0x03b0
00000175: JUMPI
00000176: PUSH2 0x01f6
00000179: JUMP
0000017a: JUMPDEST
0000017b: DUP1
0000017c: PUSH4 0x217847d8
00000181: GT
00000182: PUSH2 0x01b6
00000185: JUMPI
00000186: DUP1
00000187: PUSH4 0x217847d8
0000018c: EQ
0000018d: PUSH2 0x0270
00000190: JUMPI
00000191: DUP1
00000192: PUSH4 0x2533a8c1
00000197: EQ
00000198: PUSH2 0x02af
0000019b: JUMPI
0000019c: DUP1
0000019d: PUSH4 0x40c35446
000001a2: EQ
000001a3: PUSH2 0x02d8
000001a6: JUMPI
000001a7: DUP1
000001a8: PUSH4 0x40d391af
000001ad: EQ
000001ae: PUSH2 0x0315
000001b1: JUMPI
000001b2: PUSH2 0x01f6
000001b5: JUMP
000001b6: JUMPDEST
000001b7: DUP1
000001b8: PUSH3 0xb82784
000001bc: EQ
000001bd: PUSH2 0x01fb
000001c0: JUMPI
000001c1: DUP1
000001c2: PUSH4 0x0569d388
000001c7: EQ
000001c8: PUSH2 0x0217
000001cb: JUMPI
000001cc: DUP1
000001cd: PUSH4 0x0a7636ac
000001d2: EQ
000001d3: PUSH2 0x022e
000001d6: JUMPI
000001d7: DUP1
000001d8: PUSH4 0x0ff24edb
000001dd: EQ
000001de: PUSH2 0x0245
000001e1: JUMPI
000001e2: PUSH2 0x01f6
000001e5: JUMP
000001e6: JUMPDEST
000001e7: CALLDATASIZE
000001e8: PUSH2 0x01f6
000001eb: JUMPI
000001ec: PUSH2 0x01f4
000001ef: CALLVALUE
000001f0: PUSH2 0x0737
000001f3: JUMP
000001f4: JUMPDEST
000001f5: STOP
000001f6: JUMPDEST
000001f7: PUSH1 0x00
000001f9: DUP1
000001fa: REVERT
000001fb: JUMPDEST
000001fc: PUSH2 0x0215
000001ff: PUSH1 0x04
00000201: DUP1
00000202: CALLDATASIZE
00000203: SUB
00000204: DUP2
00000205: ADD
00000206: SWAP1
00000207: PUSH2 0x0210
0000020a: SWAP2
0000020b: SWAP1
0000020c: PUSH2 0x3448
0000020f: JUMP
00000210: JUMPDEST
00000211: PUSH2 0x0773
00000214: JUMP
00000215: JUMPDEST
00000216: STOP
00000217: JUMPDEST
00000218: CALLVALUE
00000219: DUP1
0000021a: ISZERO
0000021b: PUSH2 0x0223
0000021e: JUMPI
0000021f: PUSH1 0x00
00000221: DUP1
00000222: REVERT
00000223: JUMPDEST
00000224: POP
00000225: PUSH2 0x022c
00000228: PUSH2 0x0c54
0000022b: JUMP
0000022c: JUMPDEST
0000022d: STOP
0000022e: JUMPDEST
0000022f: CALLVALUE
00000230: DUP1
00000231: ISZERO
00000232: PUSH2 0x023a
00000235: JUMPI
00000236: PUSH1 0x00
00000238: DUP1
00000239: REVERT
0000023a: JUMPDEST
0000023b: POP
0000023c: PUSH2 0x0243
0000023f: PUSH2 0x0ce0
00000242: JUMP
00000243: JUMPDEST
00000244: STOP
00000245: JUMPDEST
00000246: CALLVALUE
00000247: DUP1
00000248: ISZERO
00000249: PUSH2 0x0251
0000024c: JUMPI
0000024d: PUSH1 0x00
0000024f: DUP1
00000250: REVERT
00000251: JUMPDEST
00000252: POP
00000253: PUSH2 0x025a
00000256: PUSH2 0x0dc4
00000259: JUMP
0000025a: JUMPDEST
0000025b: PUSH1 0x40
0000025d: MLOAD
0000025e: PUSH2 0x0267
00000261: SWAP2
00000262: SWAP1
00000263: PUSH2 0x3484
00000266: JUMP
00000267: JUMPDEST
00000268: PUSH1 0x40
0000026a: MLOAD
0000026b: DUP1
0000026c: SWAP2
0000026d: SUB
0000026e: SWAP1
0000026f: RETURN
00000270: JUMPDEST
00000271: CALLVALUE
00000272: DUP1
00000273: ISZERO
00000274: PUSH2 0x027c
00000277: JUMPI
00000278: PUSH1 0x00
0000027a: DUP1
0000027b: REVERT
0000027c: JUMPDEST
0000027d: POP
0000027e: PUSH2 0x0297
00000281: PUSH1 0x04
00000283: DUP1
00000284: CALLDATASIZE
00000285: SUB
00000286: DUP2
00000287: ADD
00000288: SWAP1
00000289: PUSH2 0x0292
0000028c: SWAP2
0000028d: SWAP1
0000028e: PUSH2 0x3448
00000291: JUMP
00000292: JUMPDEST
00000293: PUSH2 0x0e76
00000296: JUMP
00000297: JUMPDEST
00000298: PUSH1 0x40
0000029a: MLOAD
0000029b: PUSH2 0x02a6
0000029e: SWAP4
0000029f: SWAP3
000002a0: SWAP2
000002a1: SWAP1
000002a2: PUSH2 0x34e0
000002a5: JUMP
000002a6: JUMPDEST
000002a7: PUSH1 0x40
000002a9: MLOAD
000002aa: DUP1
000002ab: SWAP2
000002ac: SUB
000002ad: SWAP1
000002ae: RETURN
000002af: JUMPDEST
000002b0: CALLVALUE
000002b1: DUP1
000002b2: ISZERO
000002b3: PUSH2 0x02bb
000002b6: JUMPI
000002b7: PUSH1 0x00
000002b9: DUP1
000002ba: REVERT
000002bb: JUMPDEST
000002bc: POP
000002bd: PUSH2 0x02d6
000002c0: PUSH1 0x04
000002c2: DUP1
000002c3: CALLDATASIZE
000002c4: SUB
000002c5: DUP2
000002c6: ADD
000002c7: SWAP1
000002c8: PUSH2 0x02d1
000002cb: SWAP2
000002cc: SWAP1
000002cd: PUSH2 0x3517
000002d0: JUMP
000002d1: JUMPDEST
000002d2: PUSH2 0x0ee0
000002d5: JUMP
000002d6: JUMPDEST
000002d7: STOP
000002d8: JUMPDEST
000002d9: CALLVALUE
000002da: DUP1
000002db: ISZERO
000002dc: PUSH2 0x02e4
000002df: JUMPI
000002e0: PUSH1 0x00
000002e2: DUP1
000002e3: REVERT
000002e4: JUMPDEST
000002e5: POP
000002e6: PUSH2 0x02ff
000002e9: PUSH1 0x04
000002eb: DUP1
000002ec: CALLDATASIZE
000002ed: SUB
000002ee: DUP2
000002ef: ADD
000002f0: SWAP1
000002f1: PUSH2 0x02fa
000002f4: SWAP2
000002f5: SWAP1
000002f6: PUSH2 0x3448
000002f9: JUMP
000002fa: JUMPDEST
000002fb: PUSH2 0x1198
000002fe: JUMP
000002ff: JUMPDEST
00000300: PUSH1 0x40
00000302: MLOAD
00000303: PUSH2 0x030c
00000306: SWAP2
00000307: SWAP1
00000308: PUSH2 0x3557
0000030b: JUMP
0000030c: JUMPDEST
0000030d: PUSH1 0x40
0000030f: MLOAD
00000310: DUP1
00000311: SWAP2
00000312: SUB
00000313: SWAP1
00000314: RETURN
00000315: JUMPDEST
00000316: CALLVALUE
00000317: DUP1
00000318: ISZERO
00000319: PUSH2 0x0321
0000031c: JUMPI
0000031d: PUSH1 0x00
0000031f: DUP1
00000320: REVERT
00000321: JUMPDEST
00000322: POP
00000323: PUSH2 0x033c
00000326: PUSH1 0x04
00000328: DUP1
00000329: CALLDATASIZE
0000032a: SUB
0000032b: DUP2
0000032c: ADD
0000032d: SWAP1
0000032e: PUSH2 0x0337
00000331: SWAP2
00000332: SWAP1
00000333: PUSH2 0x3448
00000336: JUMP
00000337: JUMPDEST
00000338: PUSH2 0x11d7
0000033b: JUMP
0000033c: JUMPDEST
0000033d: STOP
0000033e: JUMPDEST
0000033f: PUSH2 0x0358
00000342: PUSH1 0x04
00000344: DUP1
00000345: CALLDATASIZE
00000346: SUB
00000347: DUP2
00000348: ADD
00000349: SWAP1
0000034a: PUSH2 0x0353
0000034d: SWAP2
0000034e: SWAP1
0000034f: PUSH2 0x3448
00000352: JUMP
00000353: JUMPDEST
00000354: PUSH2 0x1674
00000357: JUMP
00000358: JUMPDEST
00000359: STOP
0000035a: JUMPDEST
0000035b: CALLVALUE
0000035c: DUP1
0000035d: ISZERO
0000035e: PUSH2 0x0366
00000361: JUMPI
00000362: PUSH1 0x00
00000364: DUP1
00000365: REVERT
00000366: JUMPDEST
00000367: POP
00000368: PUSH2 0x036f
0000036b: PUSH2 0x1cbf
0000036e: JUMP
0000036f: JUMPDEST
00000370: PUSH1 0x40
00000372: MLOAD
00000373: PUSH2 0x037c
00000376: SWAP2
00000377: SWAP1
00000378: PUSH2 0x3484
0000037b: JUMP
0000037c: JUMPDEST
0000037d: PUSH1 0x40
0000037f: MLOAD
00000380: DUP1
00000381: SWAP2
00000382: SUB
00000383: SWAP1
00000384: RETURN
00000385: JUMPDEST
00000386: CALLVALUE
00000387: DUP1
00000388: ISZERO
00000389: PUSH2 0x0391
0000038c: JUMPI
0000038d: PUSH1 0x00
0000038f: DUP1
00000390: REVERT
00000391: JUMPDEST
00000392: POP
00000393: PUSH2 0x039a
00000396: PUSH2 0x1cc5
00000399: JUMP
0000039a: JUMPDEST
0000039b: PUSH1 0x40
0000039d: MLOAD
0000039e: PUSH2 0x03a7
000003a1: SWAP2
000003a2: SWAP1
000003a3: PUSH2 0x3484
000003a6: JUMP
000003a7: JUMPDEST
000003a8: PUSH1 0x40
000003aa: MLOAD
000003ab: DUP1
000003ac: SWAP2
000003ad: SUB
000003ae: SWAP1
000003af: RETURN
000003b0: JUMPDEST
000003b1: CALLVALUE
000003b2: DUP1
000003b3: ISZERO
000003b4: PUSH2 0x03bc
000003b7: JUMPI
000003b8: PUSH1 0x00
000003ba: DUP1
000003bb: REVERT
000003bc: JUMPDEST
000003bd: POP
000003be: PUSH2 0x03d7
000003c1: PUSH1 0x04
000003c3: DUP1
000003c4: CALLDATASIZE
000003c5: SUB
000003c6: DUP2
000003c7: ADD
000003c8: SWAP1
000003c9: PUSH2 0x03d2
000003cc: SWAP2
000003cd: SWAP1
000003ce: PUSH2 0x359e
000003d1: JUMP
000003d2: JUMPDEST
000003d3: PUSH2 0x1ccb
000003d6: JUMP
000003d7: JUMPDEST
000003d8: STOP
000003d9: JUMPDEST
000003da: CALLVALUE
000003db: DUP1
000003dc: ISZERO
000003dd: PUSH2 0x03e5
000003e0: JUMPI
000003e1: PUSH1 0x00
000003e3: DUP1
000003e4: REVERT
000003e5: JUMPDEST
000003e6: POP
000003e7: PUSH2 0x0400
000003ea: PUSH1 0x04
000003ec: DUP1
000003ed: CALLDATASIZE
000003ee: SUB
000003ef: DUP2
000003f0: ADD
000003f1: SWAP1
000003f2: PUSH2 0x03fb
000003f5: SWAP2
000003f6: SWAP1
000003f7: PUSH2 0x35f1
000003fa: JUMP
000003fb: JUMPDEST
000003fc: PUSH2 0x1f82
000003ff: JUMP
00000400: JUMPDEST
00000401: STOP
00000402: JUMPDEST
00000403: CALLVALUE
00000404: DUP1
00000405: ISZERO
00000406: PUSH2 0x040e
00000409: JUMPI
0000040a: PUSH1 0x00
0000040c: DUP1
0000040d: REVERT
0000040e: JUMPDEST
0000040f: POP
00000410: PUSH2 0x0417
00000413: PUSH2 0x2064
00000416: JUMP
00000417: JUMPDEST
00000418: PUSH1 0x40
0000041a: MLOAD
0000041b: PUSH2 0x0424
0000041e: SWAP2
0000041f: SWAP1
00000420: PUSH2 0x3557
00000423: JUMP
00000424: JUMPDEST
00000425: PUSH1 0x40
00000427: MLOAD
00000428: DUP1
00000429: SWAP2
0000042a: SUB
0000042b: SWAP1
0000042c: RETURN
0000042d: JUMPDEST
0000042e: PUSH2 0x0435
00000431: PUSH2 0x2088
00000434: JUMP
00000435: JUMPDEST
00000436: STOP
00000437: JUMPDEST
00000438: CALLVALUE
00000439: DUP1
0000043a: ISZERO
0000043b: PUSH2 0x0443
0000043e: JUMPI
0000043f: PUSH1 0x00
00000441: DUP1
00000442: REVERT
00000443: JUMPDEST
00000444: POP
00000445: PUSH2 0x044c
00000448: PUSH2 0x2093
0000044b: JUMP
0000044c: JUMPDEST
0000044d: STOP
0000044e: JUMPDEST
0000044f: CALLVALUE
00000450: DUP1
00000451: ISZERO
00000452: PUSH2 0x045a
00000455: JUMPI
00000456: PUSH1 0x00
00000458: DUP1
00000459: REVERT
0000045a: JUMPDEST
0000045b: POP
0000045c: PUSH2 0x0475
0000045f: PUSH1 0x04
00000461: DUP1
00000462: CALLDATASIZE
00000463: SUB
00000464: DUP2
00000465: ADD
00000466: SWAP1
00000467: PUSH2 0x0470
0000046a: SWAP2
0000046b: SWAP1
0000046c: PUSH2 0x35f1
0000046f: JUMP
00000470: JUMPDEST
00000471: PUSH2 0x211b
00000474: JUMP
00000475: JUMPDEST
00000476: STOP
00000477: JUMPDEST
00000478: CALLVALUE
00000479: DUP1
0000047a: ISZERO
0000047b: PUSH2 0x0483
0000047e: JUMPI
0000047f: PUSH1 0x00
00000481: DUP1
00000482: REVERT
00000483: JUMPDEST
00000484: POP
00000485: PUSH2 0x049e
00000488: PUSH1 0x04
0000048a: DUP1
0000048b: CALLDATASIZE
0000048c: SUB
0000048d: DUP2
0000048e: ADD
0000048f: SWAP1
00000490: PUSH2 0x0499
00000493: SWAP2
00000494: SWAP1
00000495: PUSH2 0x3448
00000498: JUMP
00000499: JUMPDEST
0000049a: PUSH2 0x21b7
0000049d: JUMP
0000049e: JUMPDEST
0000049f: STOP
000004a0: JUMPDEST
000004a1: CALLVALUE
000004a2: DUP1
000004a3: ISZERO
000004a4: PUSH2 0x04ac
000004a7: JUMPI
000004a8: PUSH1 0x00
000004aa: DUP1
000004ab: REVERT
000004ac: JUMPDEST
000004ad: POP
000004ae: PUSH2 0x04c7
000004b1: PUSH1 0x04
000004b3: DUP1
000004b4: CALLDATASIZE
000004b5: SUB
000004b6: DUP2
000004b7: ADD
000004b8: SWAP1
000004b9: PUSH2 0x04c2
000004bc: SWAP2
000004bd: SWAP1
000004be: PUSH2 0x3448
000004c1: JUMP
000004c2: JUMPDEST
000004c3: PUSH2 0x236e
000004c6: JUMP
000004c7: JUMPDEST
000004c8: PUSH1 0x40
000004ca: MLOAD
000004cb: PUSH2 0x04d5
000004ce: SWAP3
000004cf: SWAP2
000004d0: SWAP1
000004d1: PUSH2 0x361e
000004d4: JUMP
000004d5: JUMPDEST
000004d6: PUSH1 0x40
000004d8: MLOAD
000004d9: DUP1
000004da: SWAP2
000004db: SUB
000004dc: SWAP1
000004dd: RETURN
000004de: JUMPDEST
000004df: CALLVALUE
000004e0: DUP1
000004e1: ISZERO
000004e2: PUSH2 0x04ea
000004e5: JUMPI
000004e6: PUSH1 0x00
000004e8: DUP1
000004e9: REVERT
000004ea: JUMPDEST
000004eb: POP
000004ec: PUSH2 0x0505
000004ef: PUSH1 0x04
000004f1: DUP1
000004f2: CALLDATASIZE
000004f3: SUB
000004f4: DUP2
000004f5: ADD
000004f6: SWAP1
000004f7: PUSH2 0x0500
000004fa: SWAP2
000004fb: SWAP1
000004fc: PUSH2 0x35f1
000004ff: JUMP
00000500: JUMPDEST
00000501: PUSH2 0x23b2
00000504: JUMP
00000505: JUMPDEST
00000506: PUSH1 0x40
00000508: MLOAD
00000509: PUSH2 0x0512
0000050c: SWAP2
0000050d: SWAP1
0000050e: PUSH2 0x3484
00000511: JUMP
00000512: JUMPDEST
00000513: PUSH1 0x40
00000515: MLOAD
00000516: DUP1
00000517: SWAP2
00000518: SUB
00000519: SWAP1
0000051a: RETURN
0000051b: JUMPDEST
0000051c: CALLVALUE
0000051d: DUP1
0000051e: ISZERO
0000051f: PUSH2 0x0527
00000522: JUMPI
00000523: PUSH1 0x00
00000525: DUP1
00000526: REVERT
00000527: JUMPDEST
00000528: POP
00000529: PUSH2 0x0530
0000052c: PUSH2 0x2465
0000052f: JUMP
00000530: JUMPDEST
00000531: PUSH1 0x40
00000533: MLOAD
00000534: PUSH2 0x053d
00000537: SWAP2
00000538: SWAP1
00000539: PUSH2 0x3557
0000053c: JUMP
0000053d: JUMPDEST
0000053e: PUSH1 0x40
00000540: MLOAD
00000541: DUP1
00000542: SWAP2
00000543: SUB
00000544: SWAP1
00000545: RETURN
00000546: JUMPDEST
00000547: CALLVALUE
00000548: DUP1
00000549: ISZERO
0000054a: PUSH2 0x0552
0000054d: JUMPI
0000054e: PUSH1 0x00
00000550: DUP1
00000551: REVERT
00000552: JUMPDEST
00000553: POP
00000554: PUSH2 0x056d
00000557: PUSH1 0x04
00000559: DUP1
0000055a: CALLDATASIZE
0000055b: SUB
0000055c: DUP2
0000055d: ADD
0000055e: SWAP1
0000055f: PUSH2 0x0568
00000562: SWAP2
00000563: SWAP1
00000564: PUSH2 0x35f1
00000567: JUMP
00000568: JUMPDEST
00000569: PUSH2 0x248f
0000056c: JUMP
0000056d: JUMPDEST
0000056e: STOP
0000056f: JUMPDEST
00000570: CALLVALUE
00000571: DUP1
00000572: ISZERO
00000573: PUSH2 0x057b
00000576: JUMPI
00000577: PUSH1 0x00
00000579: DUP1
0000057a: REVERT
0000057b: JUMPDEST
0000057c: POP
0000057d: PUSH2 0x0584
00000580: PUSH2 0x25b5
00000583: JUMP
00000584: JUMPDEST
00000585: PUSH1 0x40
00000587: MLOAD
00000588: PUSH2 0x0591
0000058b: SWAP2
0000058c: SWAP1
0000058d: PUSH2 0x36a6
00000590: JUMP
00000591: JUMPDEST
00000592: PUSH1 0x40
00000594: MLOAD
00000595: DUP1
00000596: SWAP2
00000597: SUB
00000598: SWAP1
00000599: RETURN
0000059a: JUMPDEST
0000059b: CALLVALUE
0000059c: DUP1
0000059d: ISZERO
0000059e: PUSH2 0x05a6
000005a1: JUMPI
000005a2: PUSH1 0x00
000005a4: DUP1
000005a5: REVERT
000005a6: JUMPDEST
000005a7: POP
000005a8: PUSH2 0x05c1
000005ab: PUSH1 0x04
000005ad: DUP1
000005ae: CALLDATASIZE
000005af: SUB
000005b0: DUP2
000005b1: ADD
000005b2: SWAP1
000005b3: PUSH2 0x05bc
000005b6: SWAP2
000005b7: SWAP1
000005b8: PUSH2 0x35f1
000005bb: JUMP
000005bc: JUMPDEST
000005bd: PUSH2 0x25db
000005c0: JUMP
000005c1: JUMPDEST
000005c2: STOP
000005c3: JUMPDEST
000005c4: CALLVALUE
000005c5: DUP1
000005c6: ISZERO
000005c7: PUSH2 0x05cf
000005ca: JUMPI
000005cb: PUSH1 0x00
000005cd: DUP1
000005ce: REVERT
000005cf: JUMPDEST
000005d0: POP
000005d1: PUSH2 0x05d8
000005d4: PUSH2 0x269c
000005d7: JUMP
000005d8: JUMPDEST
000005d9: PUSH1 0x40
000005db: MLOAD
000005dc: PUSH2 0x05e5
000005df: SWAP2
000005e0: SWAP1
000005e1: PUSH2 0x3484
000005e4: JUMP
000005e5: JUMPDEST
000005e6: PUSH1 0x40
000005e8: MLOAD
000005e9: DUP1
000005ea: SWAP2
000005eb: SUB
000005ec: SWAP1
000005ed: RETURN
000005ee: JUMPDEST
000005ef: CALLVALUE
000005f0: DUP1
000005f1: ISZERO
000005f2: PUSH2 0x05fa
000005f5: JUMPI
000005f6: PUSH1 0x00
000005f8: DUP1
000005f9: REVERT
000005fa: JUMPDEST
000005fb: POP
000005fc: PUSH2 0x0615
000005ff: PUSH1 0x04
00000601: DUP1
00000602: CALLDATASIZE
00000603: SUB
00000604: DUP2
00000605: ADD
00000606: SWAP1
00000607: PUSH2 0x0610
0000060a: SWAP2
0000060b: SWAP1
0000060c: PUSH2 0x3448
0000060f: JUMP
00000610: JUMPDEST
00000611: PUSH2 0x26a9
00000614: JUMP
00000615: JUMPDEST
00000616: STOP
00000617: JUMPDEST
00000618: CALLVALUE
00000619: DUP1
0000061a: ISZERO
0000061b: PUSH2 0x0623
0000061e: JUMPI
0000061f: PUSH1 0x00
00000621: DUP1
00000622: REVERT
00000623: JUMPDEST
00000624: POP
00000625: PUSH2 0x063e
00000628: PUSH1 0x04
0000062a: DUP1
0000062b: CALLDATASIZE
0000062c: SUB
0000062d: DUP2
0000062e: ADD
0000062f: SWAP1
00000630: PUSH2 0x0639
00000633: SWAP2
00000634: SWAP1
00000635: PUSH2 0x3448
00000638: JUMP
00000639: JUMPDEST
0000063a: PUSH2 0x295d
0000063d: JUMP
0000063e: JUMPDEST
0000063f: STOP
00000640: JUMPDEST
00000641: CALLVALUE
00000642: DUP1
00000643: ISZERO
00000644: PUSH2 0x064c
00000647: JUMPI
00000648: PUSH1 0x00
0000064a: DUP1
0000064b: REVERT
0000064c: JUMPDEST
0000064d: POP
0000064e: PUSH2 0x0667
00000651: PUSH1 0x04
00000653: DUP1
00000654: CALLDATASIZE
00000655: SUB
00000656: DUP2
00000657: ADD
00000658: SWAP1
00000659: PUSH2 0x0662
0000065c: SWAP2
0000065d: SWAP1
0000065e: PUSH2 0x35f1
00000661: JUMP
00000662: JUMPDEST
00000663: PUSH2 0x2a63
00000666: JUMP
00000667: JUMPDEST
00000668: PUSH1 0x40
0000066a: MLOAD
0000066b: PUSH2 0x0674
0000066e: SWAP2
0000066f: SWAP1
00000670: PUSH2 0x3484
00000673: JUMP
00000674: JUMPDEST
00000675: PUSH1 0x40
00000677: MLOAD
00000678: DUP1
00000679: SWAP2
0000067a: SUB
0000067b: SWAP1
0000067c: RETURN
0000067d: JUMPDEST
0000067e: CALLVALUE
0000067f: DUP1
00000680: ISZERO
00000681: PUSH2 0x0689
00000684: JUMPI
00000685: PUSH1 0x00
00000687: DUP1
00000688: REVERT
00000689: JUMPDEST
0000068a: POP
0000068b: PUSH2 0x06a4
0000068e: PUSH1 0x04
00000690: DUP1
00000691: CALLDATASIZE
00000692: SUB
00000693: DUP2
00000694: ADD
00000695: SWAP1
00000696: PUSH2 0x069f
00000699: SWAP2
0000069a: SWAP1
0000069b: PUSH2 0x3517
0000069e: JUMP
0000069f: JUMPDEST
000006a0: PUSH2 0x2aac
000006a3: JUMP
000006a4: JUMPDEST
000006a5: STOP
000006a6: JUMPDEST
000006a7: CALLVALUE
000006a8: DUP1
000006a9: ISZERO
000006aa: PUSH2 0x06b2
000006ad: JUMPI
000006ae: PUSH1 0x00
000006b0: DUP1
000006b1: REVERT
000006b2: JUMPDEST
000006b3: POP
000006b4: PUSH2 0x06bb
000006b7: PUSH2 0x2f7b
000006ba: JUMP
000006bb: JUMPDEST
000006bc: PUSH1 0x40
000006be: MLOAD
000006bf: PUSH2 0x06c8
000006c2: SWAP2
000006c3: SWAP1
000006c4: PUSH2 0x36e2
000006c7: JUMP
000006c8: JUMPDEST
000006c9: PUSH1 0x40
000006cb: MLOAD
000006cc: DUP1
000006cd: SWAP2
000006ce: SUB
000006cf: SWAP1
000006d0: RETURN
000006d1: JUMPDEST
000006d2: CALLVALUE
000006d3: DUP1
000006d4: ISZERO
000006d5: PUSH2 0x06dd
000006d8: JUMPI
000006d9: PUSH1 0x00
000006db: DUP1
000006dc: REVERT
000006dd: JUMPDEST
000006de: POP
000006df: PUSH2 0x06f8
000006e2: PUSH1 0x04
000006e4: DUP1
000006e5: CALLDATASIZE
000006e6: SUB
000006e7: DUP2
000006e8: ADD
000006e9: SWAP1
000006ea: PUSH2 0x06f3
000006ed: SWAP2
000006ee: SWAP1
000006ef: PUSH2 0x35f1
000006f2: JUMP
000006f3: JUMPDEST
000006f4: PUSH2 0x2f9f
000006f7: JUMP
000006f8: JUMPDEST
000006f9: STOP
000006fa: JUMPDEST
000006fb: CALLVALUE
000006fc: DUP1
000006fd: ISZERO
000006fe: PUSH2 0x0706
00000701: JUMPI
00000702: PUSH1 0x00
00000704: DUP1
00000705: REVERT
00000706: JUMPDEST
00000707: POP
00000708: PUSH2 0x0721
0000070b: PUSH1 0x04
0000070d: DUP1
0000070e: CALLDATASIZE
0000070f: SUB
00000710: DUP2
00000711: ADD
00000712: SWAP1
00000713: PUSH2 0x071c
00000716: SWAP2
00000717: SWAP1
00000718: PUSH2 0x35f1
0000071b: JUMP
0000071c: JUMPDEST
0000071d: PUSH2 0x3097
00000720: JUMP
00000721: JUMPDEST
00000722: PUSH1 0x40
00000724: MLOAD
00000725: PUSH2 0x072e
00000728: SWAP2
00000729: SWAP1
0000072a: PUSH2 0x3484
0000072d: JUMP
0000072e: JUMPDEST
0000072f: PUSH1 0x40
00000731: MLOAD
00000732: DUP1
00000733: SWAP2
00000734: SUB
00000735: SWAP1
00000736: RETURN
00000737: JUMPDEST
00000738: PUSH2 0x073f
0000073b: PUSH2 0x0dc4
0000073e: JUMP
0000073f: JUMPDEST
00000740: PUSH8 0x0de0b6b3a7640000
00000749: DUP3
0000074a: PUSH2 0x0753
0000074d: SWAP2
0000074e: SWAP1
0000074f: PUSH2 0x372c
00000752: JUMP
00000753: JUMPDEST
00000754: PUSH2 0x075d
00000757: SWAP2
00000758: SWAP1
00000759: PUSH2 0x37b5
0000075c: JUMP
0000075d: JUMPDEST
0000075e: PUSH1 0x03
00000760: SLOAD
00000761: PUSH2 0x076a
00000764: SWAP2
00000765: SWAP1
00000766: PUSH2 0x37e6
00000769: JUMP
0000076a: JUMPDEST
0000076b: PUSH1 0x03
0000076d: DUP2
0000076e: SWAP1
0000076f: SSTORE
00000770: POP
00000771: POP
00000772: JUMP
00000773: JUMPDEST
00000774: PUSH1 0x02
00000776: PUSH1 0x00
00000778: SLOAD
00000779: EQ
0000077a: ISZERO
0000077b: PUSH2 0x07b9
0000077e: JUMPI
0000077f: PUSH1 0x40
00000781: MLOAD
00000782: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000007a3: DUP2
000007a4: MSTORE
000007a5: PUSH1 0x04
000007a7: ADD
000007a8: PUSH2 0x07b0
000007ab: SWAP1
000007ac: PUSH2 0x3899
000007af: JUMP
000007b0: JUMPDEST
000007b1: PUSH1 0x40
000007b3: MLOAD
000007b4: DUP1
000007b5: SWAP2
000007b6: SUB
000007b7: SWAP1
000007b8: REVERT
000007b9: JUMPDEST
000007ba: PUSH1 0x02
000007bc: PUSH1 0x00
000007be: DUP2
000007bf: SWAP1
000007c0: SSTORE
000007c1: POP
000007c2: PUSH1 0x00
000007c4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007d9: AND
000007da: PUSH32 0x000000000000000000000000439cac149b935ae1d726569800972e1669d17094
000007fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000810: AND
00000811: PUSH4 0x6352211e
00000816: DUP4
00000817: PUSH1 0x40
00000819: MLOAD
0000081a: DUP3
0000081b: PUSH4 0xffffffff
00000820: AND
00000821: PUSH1 0xe0
00000823: SHL
00000824: DUP2
00000825: MSTORE
00000826: PUSH1 0x04
00000828: ADD
00000829: PUSH2 0x0832
0000082c: SWAP2
0000082d: SWAP1
0000082e: PUSH2 0x3484
00000831: JUMP
00000832: JUMPDEST
00000833: PUSH1 0x20
00000835: PUSH1 0x40
00000837: MLOAD
00000838: DUP1
00000839: DUP4
0000083a: SUB
0000083b: DUP2
0000083c: DUP7
0000083d: DUP1
0000083e: EXTCODESIZE
0000083f: ISZERO
00000840: DUP1
00000841: ISZERO
00000842: PUSH2 0x084a
00000845: JUMPI
00000846: PUSH1 0x00
00000848: DUP1
00000849: REVERT
0000084a: JUMPDEST
0000084b: POP
0000084c: GAS
0000084d: STATICCALL
0000084e: ISZERO
0000084f: DUP1
00000850: ISZERO
00000851: PUSH2 0x085e
00000854: JUMPI
00000855: RETURNDATASIZE
00000856: PUSH1 0x00
00000858: DUP1
00000859: RETURNDATACOPY
0000085a: RETURNDATASIZE
0000085b: PUSH1 0x00
0000085d: REVERT
0000085e: JUMPDEST
0000085f: POP
00000860: POP
00000861: POP
00000862: POP
00000863: PUSH1 0x40
00000865: MLOAD
00000866: RETURNDATASIZE
00000867: PUSH1 0x1f
00000869: NOT
0000086a: PUSH1 0x1f
0000086c: DUP3
0000086d: ADD
0000086e: AND
0000086f: DUP3
00000870: ADD
00000871: DUP1
00000872: PUSH1 0x40
00000874: MSTORE
00000875: POP
00000876: DUP2
00000877: ADD
00000878: SWAP1
00000879: PUSH2 0x0882
0000087c: SWAP2
0000087d: SWAP1
0000087e: PUSH2 0x38ce
00000881: JUMP
00000882: JUMPDEST
00000883: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000898: AND
00000899: EQ
0000089a: ISZERO
0000089b: PUSH2 0x08d9
0000089e: JUMPI
0000089f: PUSH1 0x40
000008a1: MLOAD
000008a2: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000008c3: DUP2
000008c4: MSTORE
000008c5: PUSH1 0x04
000008c7: ADD
000008c8: PUSH2 0x08d0
000008cb: SWAP1
000008cc: PUSH2 0x396d
000008cf: JUMP
000008d0: JUMPDEST
000008d1: PUSH1 0x40
000008d3: MLOAD
000008d4: DUP1
000008d5: SWAP2
000008d6: SUB
000008d7: SWAP1
000008d8: REVERT
000008d9: JUMPDEST
000008da: CALLER
000008db: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008f0: AND
000008f1: PUSH32 0x000000000000000000000000439cac149b935ae1d726569800972e1669d17094
00000912: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000927: AND
00000928: PUSH4 0x6352211e
0000092d: DUP4
0000092e: PUSH1 0x40
00000930: MLOAD
00000931: DUP3
00000932: PUSH4 0xffffffff
00000937: AND
00000938: PUSH1 0xe0
0000093a: SHL
0000093b: DUP2
0000093c: MSTORE
0000093d: PUSH1 0x04
0000093f: ADD
00000940: PUSH2 0x0949
00000943: SWAP2
00000944: SWAP1
00000945: PUSH2 0x3484
00000948: JUMP
00000949: JUMPDEST
0000094a: PUSH1 0x20
0000094c: PUSH1 0x40
0000094e: MLOAD
0000094f: DUP1
00000950: DUP4
00000951: SUB
00000952: DUP2
00000953: DUP7
00000954: DUP1
00000955: EXTCODESIZE
00000956: ISZERO
00000957: DUP1
00000958: ISZERO
00000959: PUSH2 0x0961
0000095c: JUMPI
0000095d: PUSH1 0x00
0000095f: DUP1
00000960: REVERT
00000961: JUMPDEST
00000962: POP
00000963: GAS
00000964: STATICCALL
00000965: ISZERO
00000966: DUP1
00000967: ISZERO
00000968: PUSH2 0x0975
0000096b: JUMPI
0000096c: RETURNDATASIZE
0000096d: PUSH1 0x00
0000096f: DUP1
00000970: RETURNDATACOPY
00000971: RETURNDATASIZE
00000972: PUSH1 0x00
00000974: REVERT
00000975: JUMPDEST
00000976: POP
00000977: POP
00000978: POP
00000979: POP
0000097a: PUSH1 0x40
0000097c: MLOAD
0000097d: RETURNDATASIZE
0000097e: PUSH1 0x1f
00000980: NOT
00000981: PUSH1 0x1f
00000983: DUP3
00000984: ADD
00000985: AND
00000986: DUP3
00000987: ADD
00000988: DUP1
00000989: PUSH1 0x40
0000098b: MSTORE
0000098c: POP
0000098d: DUP2
0000098e: ADD
0000098f: SWAP1
00000990: PUSH2 0x0999
00000993: SWAP2
00000994: SWAP1
00000995: PUSH2 0x38ce
00000998: JUMP
00000999: JUMPDEST
0000099a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009af: AND
000009b0: EQ
000009b1: ISZERO
000009b2: PUSH2 0x09f0
000009b5: JUMPI
000009b6: PUSH1 0x40
000009b8: MLOAD
000009b9: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000009da: DUP2
000009db: MSTORE
000009dc: PUSH1 0x04
000009de: ADD
000009df: PUSH2 0x09e7
000009e2: SWAP1
000009e3: PUSH2 0x39ff
000009e6: JUMP
000009e7: JUMPDEST
000009e8: PUSH1 0x40
000009ea: MLOAD
000009eb: DUP1
000009ec: SWAP2
000009ed: SUB
000009ee: SWAP1
000009ef: REVERT
000009f0: JUMPDEST
000009f1: PUSH1 0x00
000009f3: CALLVALUE
000009f4: GT
000009f5: PUSH2 0x0a33
000009f8: JUMPI
000009f9: PUSH1 0x40
000009fb: MLOAD
000009fc: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000a1d: DUP2
00000a1e: MSTORE
00000a1f: PUSH1 0x04
00000a21: ADD
00000a22: PUSH2 0x0a2a
00000a25: SWAP1
00000a26: PUSH2 0x3a91
00000a29: JUMP
00000a2a: JUMPDEST
00000a2b: PUSH1 0x40
00000a2d: MLOAD
00000a2e: DUP1
00000a2f: SWAP2
00000a30: SUB
00000a31: SWAP1
00000a32: REVERT
00000a33: JUMPDEST
00000a34: PUSH1 0x00
00000a36: PUSH1 0x08
00000a38: PUSH1 0x00
00000a3a: DUP4
00000a3b: DUP2
00000a3c: MSTORE
00000a3d: PUSH1 0x20
00000a3f: ADD
00000a40: SWAP1
00000a41: DUP2
00000a42: MSTORE
00000a43: PUSH1 0x20
00000a45: ADD
00000a46: PUSH1 0x00
00000a48: KECCAK256
00000a49: PUSH1 0x40
00000a4b: MLOAD
00000a4c: DUP1
00000a4d: PUSH1 0x40
00000a4f: ADD
00000a50: PUSH1 0x40
00000a52: MSTORE
00000a53: SWAP1
00000a54: DUP2
00000a55: PUSH1 0x00
00000a57: DUP3
00000a58: ADD
00000a59: PUSH1 0x00
00000a5b: SWAP1
00000a5c: SLOAD
00000a5d: SWAP1
00000a5e: PUSH2 0x0100
00000a61: EXP
00000a62: SWAP1
00000a63: DIV
00000a64: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a79: AND
00000a7a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a8f: AND
00000a90: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000aa5: AND
00000aa6: DUP2
00000aa7: MSTORE
00000aa8: PUSH1 0x20
00000aaa: ADD
00000aab: PUSH1 0x01
00000aad: DUP3
00000aae: ADD
00000aaf: SLOAD
00000ab0: DUP2
00000ab1: MSTORE
00000ab2: POP
00000ab3: POP
00000ab4: SWAP1
00000ab5: POP
00000ab6: DUP1
00000ab7: PUSH1 0x20
00000ab9: ADD
00000aba: MLOAD
00000abb: CALLVALUE
00000abc: GT
00000abd: PUSH2 0x0afb
00000ac0: JUMPI
00000ac1: PUSH1 0x40
00000ac3: MLOAD
00000ac4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000ae5: DUP2
00000ae6: MSTORE
00000ae7: PUSH1 0x04
00000ae9: ADD
00000aea: PUSH2 0x0af2
00000aed: SWAP1
00000aee: PUSH2 0x3b23
00000af1: JUMP
00000af2: JUMPDEST
00000af3: PUSH1 0x40
00000af5: MLOAD
00000af6: DUP1
00000af7: SWAP2
00000af8: SUB
00000af9: SWAP1
00000afa: REVERT
00000afb: JUMPDEST
00000afc: PUSH1 0x00
00000afe: DUP2
00000aff: PUSH1 0x20
00000b01: ADD
00000b02: MLOAD
00000b03: GT
00000b04: ISZERO
00000b05: PUSH2 0x0b67
00000b08: JUMPI
00000b09: DUP1
00000b0a: PUSH1 0x20
00000b0c: ADD
00000b0d: MLOAD
00000b0e: PUSH1 0x09
00000b10: PUSH1 0x00
00000b12: DUP4
00000b13: PUSH1 0x00
00000b15: ADD
00000b16: MLOAD
00000b17: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b2c: AND
00000b2d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b42: AND
00000b43: DUP2
00000b44: MSTORE
00000b45: PUSH1 0x20
00000b47: ADD
00000b48: SWAP1
00000b49: DUP2
00000b4a: MSTORE
00000b4b: PUSH1 0x20
00000b4d: ADD
00000b4e: PUSH1 0x00
00000b50: KECCAK256
00000b51: PUSH1 0x00
00000b53: DUP3
00000b54: DUP3
00000b55: SLOAD
00000b56: PUSH2 0x0b5f
00000b59: SWAP2
00000b5a: SWAP1
00000b5b: PUSH2 0x37e6
00000b5e: JUMP
00000b5f: JUMPDEST
00000b60: SWAP3
00000b61: POP
00000b62: POP
00000b63: DUP2
00000b64: SWAP1
00000b65: SSTORE
00000b66: POP
00000b67: JUMPDEST
00000b68: PUSH1 0x40
00000b6a: MLOAD
00000b6b: DUP1
00000b6c: PUSH1 0x40
00000b6e: ADD
00000b6f: PUSH1 0x40
00000b71: MSTORE
00000b72: DUP1
00000b73: CALLER
00000b74: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b89: AND
00000b8a: DUP2
00000b8b: MSTORE
00000b8c: PUSH1 0x20
00000b8e: ADD
00000b8f: CALLVALUE
00000b90: DUP2
00000b91: MSTORE
00000b92: POP
00000b93: PUSH1 0x08
00000b95: PUSH1 0x00
00000b97: DUP5
00000b98: DUP2
00000b99: MSTORE
00000b9a: PUSH1 0x20
00000b9c: ADD
00000b9d: SWAP1
00000b9e: DUP2
00000b9f: MSTORE
00000ba0: PUSH1 0x20
00000ba2: ADD
00000ba3: PUSH1 0x00
00000ba5: KECCAK256
00000ba6: PUSH1 0x00
00000ba8: DUP3
00000ba9: ADD
00000baa: MLOAD
00000bab: DUP2
00000bac: PUSH1 0x00
00000bae: ADD
00000baf: PUSH1 0x00
00000bb1: PUSH2 0x0100
00000bb4: EXP
00000bb5: DUP2
00000bb6: SLOAD
00000bb7: DUP2
00000bb8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000bcd: MUL
00000bce: NOT
00000bcf: AND
00000bd0: SWAP1
00000bd1: DUP4
00000bd2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000be7: AND
00000be8: MUL
00000be9: OR
00000bea: SWAP1
00000beb: SSTORE
00000bec: POP
00000bed: PUSH1 0x20
00000bef: DUP3
00000bf0: ADD
00000bf1: MLOAD
00000bf2: DUP2
00000bf3: PUSH1 0x01
00000bf5: ADD
00000bf6: SSTORE
00000bf7: SWAP1
00000bf8: POP
00000bf9: POP
00000bfa: CALLER
00000bfb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c10: AND
00000c11: DUP3
00000c12: PUSH32 0xd7a3862e3e7daca19b2761a32e2720e9beac70cfadbd48bc3c91af7b71d87060
00000c33: CALLVALUE
00000c34: PUSH1 0x40
00000c36: MLOAD
00000c37: PUSH2 0x0c40
00000c3a: SWAP2
00000c3b: SWAP1
00000c3c: PUSH2 0x3484
00000c3f: JUMP
00000c40: JUMPDEST
00000c41: PUSH1 0x40
00000c43: MLOAD
00000c44: DUP1
00000c45: SWAP2
00000c46: SUB
00000c47: SWAP1
00000c48: LOG3
00000c49: POP
00000c4a: PUSH1 0x01
00000c4c: PUSH1 0x00
00000c4e: DUP2
00000c4f: SWAP1
00000c50: SSTORE
00000c51: POP
00000c52: POP
00000c53: JUMP
00000c54: JUMPDEST
00000c55: PUSH2 0x0c5c
00000c58: PUSH2 0x30af
00000c5b: JUMP
00000c5c: JUMPDEST
00000c5d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c72: AND
00000c73: PUSH2 0x0c7a
00000c76: PUSH2 0x2465
00000c79: JUMP
00000c7a: JUMPDEST
00000c7b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c90: AND
00000c91: EQ
00000c92: PUSH2 0x0cd0
00000c95: JUMPI
00000c96: PUSH1 0x40
00000c98: MLOAD
00000c99: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000cba: DUP2
00000cbb: MSTORE
00000cbc: PUSH1 0x04
00000cbe: ADD
00000cbf: PUSH2 0x0cc7
00000cc2: SWAP1
00000cc3: PUSH2 0x3b8f
00000cc6: JUMP
00000cc7: JUMPDEST
00000cc8: PUSH1 0x40
00000cca: MLOAD
00000ccb: DUP1
00000ccc: SWAP2
00000ccd: SUB
00000cce: SWAP1
00000ccf: REVERT
00000cd0: JUMPDEST
00000cd1: PUSH1 0x06
00000cd3: PUSH1 0x00
00000cd5: PUSH2 0x0cde
00000cd8: SWAP2
00000cd9: SWAP1
00000cda: PUSH2 0x33cf
00000cdd: JUMP
00000cde: JUMPDEST
00000cdf: JUMP
00000ce0: JUMPDEST
00000ce1: PUSH1 0x02
00000ce3: PUSH1 0x00
00000ce5: SLOAD
00000ce6: EQ
00000ce7: ISZERO
00000ce8: PUSH2 0x0d26
00000ceb: JUMPI
00000cec: PUSH1 0x40
00000cee: MLOAD
00000cef: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000d10: DUP2
00000d11: MSTORE
00000d12: PUSH1 0x04
00000d14: ADD
00000d15: PUSH2 0x0d1d
00000d18: SWAP1
00000d19: PUSH2 0x3899
00000d1c: JUMP
00000d1d: JUMPDEST
00000d1e: PUSH1 0x40
00000d20: MLOAD
00000d21: DUP1
00000d22: SWAP2
00000d23: SUB
00000d24: SWAP1
00000d25: REVERT
00000d26: JUMPDEST
00000d27: PUSH1 0x02
00000d29: PUSH1 0x00
00000d2b: DUP2
00000d2c: SWAP1
00000d2d: SSTORE
00000d2e: POP
00000d2f: PUSH2 0x0d77
00000d32: CALLER
00000d33: PUSH1 0x09
00000d35: PUSH1 0x00
00000d37: CALLER
00000d38: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d4d: AND
00000d4e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d63: AND
00000d64: DUP2
00000d65: MSTORE
00000d66: PUSH1 0x20
00000d68: ADD
00000d69: SWAP1
00000d6a: DUP2
00000d6b: MSTORE
00000d6c: PUSH1 0x20
00000d6e: ADD
00000d6f: PUSH1 0x00
00000d71: KECCAK256
00000d72: SLOAD
00000d73: PUSH2 0x30b7
00000d76: JUMP
00000d77: JUMPDEST
00000d78: PUSH1 0x09
00000d7a: PUSH1 0x00
00000d7c: CALLER
00000d7d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d92: AND
00000d93: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000da8: AND
00000da9: DUP2
00000daa: MSTORE
00000dab: PUSH1 0x20
00000dad: ADD
00000dae: SWAP1
00000daf: DUP2
00000db0: MSTORE
00000db1: PUSH1 0x20
00000db3: ADD
00000db4: PUSH1 0x00
00000db6: KECCAK256
00000db7: PUSH1 0x00
00000db9: SWAP1
00000dba: SSTORE
00000dbb: PUSH1 0x01
00000dbd: PUSH1 0x00
00000dbf: DUP2
00000dc0: SWAP1
00000dc1: SSTORE
00000dc2: POP
00000dc3: JUMP
00000dc4: JUMPDEST
00000dc5: PUSH1 0x00
00000dc7: PUSH1 0x02
00000dc9: PUSH1 0x00
00000dcb: SWAP1
00000dcc: SLOAD
00000dcd: SWAP1
00000dce: PUSH2 0x0100
00000dd1: EXP
00000dd2: SWAP1
00000dd3: DIV
00000dd4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000de9: AND
00000dea: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000dff: AND
00000e00: PUSH4 0x70a08231
00000e05: ADDRESS
00000e06: PUSH1 0x40
00000e08: MLOAD
00000e09: DUP3
00000e0a: PUSH4 0xffffffff
00000e0f: AND
00000e10: PUSH1 0xe0
00000e12: SHL
00000e13: DUP2
00000e14: MSTORE
00000e15: PUSH1 0x04
00000e17: ADD
00000e18: PUSH2 0x0e21
00000e1b: SWAP2
00000e1c: SWAP1
00000e1d: PUSH2 0x3557
00000e20: JUMP
00000e21: JUMPDEST
00000e22: PUSH1 0x20
00000e24: PUSH1 0x40
00000e26: MLOAD
00000e27: DUP1
00000e28: DUP4
00000e29: SUB
00000e2a: DUP2
00000e2b: DUP7
00000e2c: DUP1
00000e2d: EXTCODESIZE
00000e2e: ISZERO
00000e2f: DUP1
00000e30: ISZERO
00000e31: PUSH2 0x0e39
00000e34: JUMPI
00000e35: PUSH1 0x00
00000e37: DUP1
00000e38: REVERT
00000e39: JUMPDEST
00000e3a: POP
00000e3b: GAS
00000e3c: STATICCALL
00000e3d: ISZERO
00000e3e: DUP1
00000e3f: ISZERO
00000e40: PUSH2 0x0e4d
00000e43: JUMPI
00000e44: RETURNDATASIZE
00000e45: PUSH1 0x00
00000e47: DUP1
00000e48: RETURNDATACOPY
00000e49: RETURNDATASIZE
00000e4a: PUSH1 0x00
00000e4c: REVERT
00000e4d: JUMPDEST
00000e4e: POP
00000e4f: POP
00000e50: POP
00000e51: POP
00000e52: PUSH1 0x40
00000e54: MLOAD
00000e55: RETURNDATASIZE
00000e56: PUSH1 0x1f
00000e58: NOT
00000e59: PUSH1 0x1f
00000e5b: DUP3
00000e5c: ADD
00000e5d: AND
00000e5e: DUP3
00000e5f: ADD
00000e60: DUP1
00000e61: PUSH1 0x40
00000e63: MSTORE
00000e64: POP
00000e65: DUP2
00000e66: ADD
00000e67: SWAP1
00000e68: PUSH2 0x0e71
00000e6b: SWAP2
00000e6c: SWAP1
00000e6d: PUSH2 0x3bc4
00000e70: JUMP
00000e71: JUMPDEST
00000e72: SWAP1
00000e73: POP
00000e74: SWAP1
00000e75: JUMP
00000e76: JUMPDEST
00000e77: PUSH1 0x07
00000e79: PUSH1 0x20
00000e7b: MSTORE
00000e7c: DUP1
00000e7d: PUSH1 0x00
00000e7f: MSTORE
00000e80: PUSH1 0x40
00000e82: PUSH1 0x00
00000e84: KECCAK256
00000e85: PUSH1 0x00
00000e87: SWAP2
00000e88: POP
00000e89: SWAP1
00000e8a: POP
00000e8b: DUP1
00000e8c: PUSH1 0x00
00000e8e: ADD
00000e8f: PUSH1 0x00
00000e91: SWAP1
00000e92: SLOAD
00000e93: SWAP1
00000e94: PUSH2 0x0100
00000e97: EXP
00000e98: SWAP1
00000e99: DIV
00000e9a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000eaf: AND
00000eb0: SWAP1
00000eb1: DUP1
00000eb2: PUSH1 0x01
00000eb4: ADD
00000eb5: SLOAD
00000eb6: SWAP1
00000eb7: DUP1
00000eb8: PUSH1 0x02
00000eba: ADD
00000ebb: PUSH1 0x00
00000ebd: SWAP1
00000ebe: SLOAD
00000ebf: SWAP1
00000ec0: PUSH2 0x0100
00000ec3: EXP
00000ec4: SWAP1
00000ec5: DIV
00000ec6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000edb: AND
00000edc: SWAP1
00000edd: POP
00000ede: DUP4
00000edf: JUMP
00000ee0: JUMPDEST
00000ee1: DUP2
00000ee2: PUSH32 0x000000000000000000000000439cac149b935ae1d726569800972e1669d17094
00000f03: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f18: AND
00000f19: PUSH4 0x6352211e
00000f1e: DUP3
00000f1f: PUSH1 0x40
00000f21: MLOAD
00000f22: DUP3
00000f23: PUSH4 0xffffffff
00000f28: AND
00000f29: PUSH1 0xe0
00000f2b: SHL
00000f2c: DUP2
00000f2d: MSTORE
00000f2e: PUSH1 0x04
00000f30: ADD
00000f31: PUSH2 0x0f3a
00000f34: SWAP2
00000f35: SWAP1
00000f36: PUSH2 0x3484
00000f39: JUMP
00000f3a: JUMPDEST
00000f3b: PUSH1 0x20
00000f3d: PUSH1 0x40
00000f3f: MLOAD
00000f40: DUP1
00000f41: DUP4
00000f42: SUB
00000f43: DUP2
00000f44: DUP7
00000f45: DUP1
00000f46: EXTCODESIZE
00000f47: ISZERO
00000f48: DUP1
00000f49: ISZERO
00000f4a: PUSH2 0x0f52
00000f4d: JUMPI
00000f4e: PUSH1 0x00
00000f50: DUP1
00000f51: REVERT
00000f52: JUMPDEST
00000f53: POP
00000f54: GAS
00000f55: STATICCALL
00000f56: ISZERO
00000f57: DUP1
00000f58: ISZERO
00000f59: PUSH2 0x0f66
00000f5c: JUMPI
00000f5d: RETURNDATASIZE
00000f5e: PUSH1 0x00
00000f60: DUP1
00000f61: RETURNDATACOPY
00000f62: RETURNDATASIZE
00000f63: PUSH1 0x00
00000f65: REVERT
00000f66: JUMPDEST
00000f67: POP
00000f68: POP
00000f69: POP
00000f6a: POP
00000f6b: PUSH1 0x40
00000f6d: MLOAD
00000f6e: RETURNDATASIZE
00000f6f: PUSH1 0x1f
00000f71: NOT
00000f72: PUSH1 0x1f
00000f74: DUP3
00000f75: ADD
00000f76: AND
00000f77: DUP3
00000f78: ADD
00000f79: DUP1
00000f7a: PUSH1 0x40
00000f7c: MSTORE
00000f7d: POP
00000f7e: DUP2
00000f7f: ADD
00000f80: SWAP1
00000f81: PUSH2 0x0f8a
00000f84: SWAP2
00000f85: SWAP1
00000f86: PUSH2 0x38ce
00000f89: JUMP
00000f8a: JUMPDEST
00000f8b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fa0: AND
00000fa1: CALLER
00000fa2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fb7: AND
00000fb8: EQ
00000fb9: PUSH2 0x0ff7
00000fbc: JUMPI
00000fbd: PUSH1 0x40
00000fbf: MLOAD
00000fc0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000fe1: DUP2
00000fe2: MSTORE
00000fe3: PUSH1 0x04
00000fe5: ADD
00000fe6: PUSH2 0x0fee
00000fe9: SWAP1
00000fea: PUSH2 0x3c63
00000fed: JUMP
00000fee: JUMPDEST
00000fef: PUSH1 0x40
00000ff1: MLOAD
00000ff2: DUP1
00000ff3: SWAP2
00000ff4: SUB
00000ff5: SWAP1
00000ff6: REVERT
00000ff7: JUMPDEST
00000ff8: PUSH1 0x02
00000ffa: PUSH1 0x00
00000ffc: SLOAD
00000ffd: EQ
00000ffe: ISZERO
00000fff: PUSH2 0x103d
00001002: JUMPI
00001003: PUSH1 0x40
00001005: MLOAD
00001006: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001027: DUP2
00001028: MSTORE
00001029: PUSH1 0x04
0000102b: ADD
0000102c: PUSH2 0x1034
0000102f: SWAP1
00001030: PUSH2 0x3899
00001033: JUMP
00001034: JUMPDEST
00001035: PUSH1 0x40
00001037: MLOAD
00001038: DUP1
00001039: SWAP2
0000103a: SUB
0000103b: SWAP1
0000103c: REVERT
0000103d: JUMPDEST
0000103e: PUSH1 0x02
00001040: PUSH1 0x00
00001042: DUP2
00001043: SWAP1
00001044: SSTORE
00001045: POP
00001046: PUSH1 0x40
00001048: MLOAD
00001049: DUP1
0000104a: PUSH1 0x60
0000104c: ADD
0000104d: PUSH1 0x40
0000104f: MSTORE
00001050: DUP1
00001051: CALLER
00001052: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001067: AND
00001068: DUP2
00001069: MSTORE
0000106a: PUSH1 0x20
0000106c: ADD
0000106d: DUP4
0000106e: DUP2
0000106f: MSTORE
00001070: PUSH1 0x20
00001072: ADD
00001073: PUSH1 0x00
00001075: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000108a: AND
0000108b: DUP2
0000108c: MSTORE
0000108d: POP
0000108e: PUSH1 0x07
00001090: PUSH1 0x00
00001092: DUP6
00001093: DUP2
00001094: MSTORE
00001095: PUSH1 0x20
00001097: ADD
00001098: SWAP1
00001099: DUP2
0000109a: MSTORE
0000109b: PUSH1 0x20
0000109d: ADD
0000109e: PUSH1 0x00
000010a0: KECCAK256
000010a1: PUSH1 0x00
000010a3: DUP3
000010a4: ADD
000010a5: MLOAD
000010a6: DUP2
000010a7: PUSH1 0x00
000010a9: ADD
000010aa: PUSH1 0x00
000010ac: PUSH2 0x0100
000010af: EXP
000010b0: DUP2
000010b1: SLOAD
000010b2: DUP2
000010b3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010c8: MUL
000010c9: NOT
000010ca: AND
000010cb: SWAP1
000010cc: DUP4
000010cd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010e2: AND
000010e3: MUL
000010e4: OR
000010e5: SWAP1
000010e6: SSTORE
000010e7: POP
000010e8: PUSH1 0x20
000010ea: DUP3
000010eb: ADD
000010ec: MLOAD
000010ed: DUP2
000010ee: PUSH1 0x01
000010f0: ADD
000010f1: SSTORE
000010f2: PUSH1 0x40
000010f4: DUP3
000010f5: ADD
000010f6: MLOAD
000010f7: DUP2
000010f8: PUSH1 0x02
000010fa: ADD
000010fb: PUSH1 0x00
000010fd: PUSH2 0x0100
00001100: EXP
00001101: DUP2
00001102: SLOAD
00001103: DUP2
00001104: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001119: MUL
0000111a: NOT
0000111b: AND
0000111c: SWAP1
0000111d: DUP4
0000111e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001133: AND
00001134: MUL
00001135: OR
00001136: SWAP1
00001137: SSTORE
00001138: POP
00001139: SWAP1
0000113a: POP
0000113b: POP
0000113c: PUSH1 0x00
0000113e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001153: AND
00001154: DUP4
00001155: PUSH32 0xb4068a58f26236f9510889485e92ef54b0ff6efea8e4d8067b8839e77fa9997a
00001176: DUP5
00001177: PUSH1 0x40
00001179: MLOAD
0000117a: PUSH2 0x1183
0000117d: SWAP2
0000117e: SWAP1
0000117f: PUSH2 0x3484
00001182: JUMP
00001183: JUMPDEST
00001184: PUSH1 0x40
00001186: MLOAD
00001187: DUP1
00001188: SWAP2
00001189: SUB
0000118a: SWAP1
0000118b: LOG3
0000118c: PUSH1 0x01
0000118e: PUSH1 0x00
00001190: DUP2
00001191: SWAP1
00001192: SSTORE
00001193: POP
00001194: POP
00001195: POP
00001196: POP
00001197: JUMP
00001198: JUMPDEST
00001199: PUSH1 0x06
0000119b: DUP2
0000119c: DUP2
0000119d: SLOAD
0000119e: DUP2
0000119f: LT
000011a0: PUSH2 0x11a8
000011a3: JUMPI
000011a4: PUSH1 0x00
000011a6: DUP1
000011a7: REVERT
000011a8: JUMPDEST
000011a9: SWAP1
000011aa: PUSH1 0x00
000011ac: MSTORE
000011ad: PUSH1 0x20
000011af: PUSH1 0x00
000011b1: KECCAK256
000011b2: ADD
000011b3: PUSH1 0x00
000011b5: SWAP2
000011b6: POP
000011b7: SLOAD
000011b8: SWAP1
000011b9: PUSH2 0x0100
000011bc: EXP
000011bd: SWAP1
000011be: DIV
000011bf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011d4: AND
000011d5: DUP2
000011d6: JUMP
000011d7: JUMPDEST
000011d8: PUSH1 0x00
000011da: PUSH1 0x05
000011dc: PUSH1 0x00
000011de: CALLER
000011df: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011f4: AND
000011f5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000120a: AND
0000120b: DUP2
0000120c: MSTORE
0000120d: PUSH1 0x20
0000120f: ADD
00001210: SWAP1
00001211: DUP2
00001212: MSTORE
00001213: PUSH1 0x20
00001215: ADD
00001216: PUSH1 0x00
00001218: KECCAK256
00001219: SLOAD
0000121a: SWAP1
0000121b: POP
0000121c: PUSH1 0x00
0000121e: DUP2
0000121f: GT
00001220: PUSH2 0x125e
00001223: JUMPI
00001224: PUSH1 0x40
00001226: MLOAD
00001227: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001248: DUP2
00001249: MSTORE
0000124a: PUSH1 0x04
0000124c: ADD
0000124d: PUSH2 0x1255
00001250: SWAP1
00001251: PUSH2 0x3cf5
00001254: JUMP
00001255: JUMPDEST
00001256: PUSH1 0x40
00001258: MLOAD
00001259: DUP1
0000125a: SWAP2
0000125b: SUB
0000125c: SWAP1
0000125d: REVERT
0000125e: JUMPDEST
0000125f: PUSH1 0x00
00001261: JUMPDEST
00001262: PUSH1 0x06
00001264: DUP1
00001265: SLOAD
00001266: SWAP1
00001267: POP
00001268: DUP2
00001269: LT
0000126a: ISZERO
0000126b: PUSH2 0x132c
0000126e: JUMPI
0000126f: PUSH1 0x06
00001271: DUP2
00001272: DUP2
00001273: SLOAD
00001274: DUP2
00001275: LT
00001276: PUSH2 0x1282
00001279: JUMPI
0000127a: PUSH2 0x1281
0000127d: PUSH2 0x3d15
00001280: JUMP
00001281: JUMPDEST
00001282: JUMPDEST
00001283: SWAP1
00001284: PUSH1 0x00
00001286: MSTORE
00001287: PUSH1 0x20
00001289: PUSH1 0x00
0000128b: KECCAK256
0000128c: ADD
0000128d: PUSH1 0x00
0000128f: SWAP1
00001290: SLOAD
00001291: SWAP1
00001292: PUSH2 0x0100
00001295: EXP
00001296: SWAP1
00001297: DIV
00001298: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012ad: AND
000012ae: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012c3: AND
000012c4: PUSH4 0x1a73ba01
000012c9: CALLER
000012ca: DUP6
000012cb: PUSH1 0x40
000012cd: MLOAD
000012ce: DUP4
000012cf: PUSH4 0xffffffff
000012d4: AND
000012d5: PUSH1 0xe0
000012d7: SHL
000012d8: DUP2
000012d9: MSTORE
000012da: PUSH1 0x04
000012dc: ADD
000012dd: PUSH2 0x12e7
000012e0: SWAP3
000012e1: SWAP2
000012e2: SWAP1
000012e3: PUSH2 0x361e
000012e6: JUMP
000012e7: JUMPDEST
000012e8: PUSH1 0x00
000012ea: PUSH1 0x40
000012ec: MLOAD
000012ed: DUP1
000012ee: DUP4
000012ef: SUB
000012f0: DUP2
000012f1: PUSH1 0x00
000012f3: DUP8
000012f4: DUP1
000012f5: EXTCODESIZE
000012f6: ISZERO
000012f7: DUP1
000012f8: ISZERO
000012f9: PUSH2 0x1301
000012fc: JUMPI
000012fd: PUSH1 0x00
000012ff: DUP1
00001300: REVERT
00001301: JUMPDEST
00001302: POP
00001303: GAS
00001304: CALL
00001305: ISZERO
00001306: DUP1
00001307: ISZERO
00001308: PUSH2 0x1315
0000130b: JUMPI
0000130c: RETURNDATASIZE
0000130d: PUSH1 0x00
0000130f: DUP1
00001310: RETURNDATACOPY
00001311: RETURNDATASIZE
00001312: PUSH1 0x00
00001314: REVERT
00001315: JUMPDEST
00001316: POP
00001317: POP
00001318: POP
00001319: POP
0000131a: DUP1
0000131b: DUP1
0000131c: PUSH2 0x1324
0000131f: SWAP1
00001320: PUSH2 0x3d44
00001323: JUMP
00001324: JUMPDEST
00001325: SWAP2
00001326: POP
00001327: POP
00001328: PUSH2 0x1261
0000132b: JUMP
0000132c: JUMPDEST
0000132d: POP
0000132e: PUSH2 0x1336
00001331: CALLER
00001332: PUSH2 0x25db
00001335: JUMP
00001336: JUMPDEST
00001337: DUP2
00001338: DUP2
00001339: GT
0000133a: PUSH2 0x14f4
0000133d: JUMPI
0000133e: PUSH1 0x05
00001340: PUSH1 0x00
00001342: CALLER
00001343: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001358: AND
00001359: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000136e: AND
0000136f: DUP2
00001370: MSTORE
00001371: PUSH1 0x20
00001373: ADD
00001374: SWAP1
00001375: DUP2
00001376: MSTORE
00001377: PUSH1 0x20
00001379: ADD
0000137a: PUSH1 0x00
0000137c: KECCAK256
0000137d: PUSH1 0x00
0000137f: SWAP1
00001380: SSTORE
00001381: PUSH1 0x04
00001383: PUSH1 0x00
00001385: CALLER
00001386: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000139b: AND
0000139c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000013b1: AND
000013b2: DUP2
000013b3: MSTORE
000013b4: PUSH1 0x20
000013b6: ADD
000013b7: SWAP1
000013b8: DUP2
000013b9: MSTORE
000013ba: PUSH1 0x20
000013bc: ADD
000013bd: PUSH1 0x00
000013bf: KECCAK256
000013c0: PUSH1 0x00
000013c2: SWAP1
000013c3: SSTORE
000013c4: PUSH2 0x1401
000013c7: PUSH1 0x40
000013c9: MLOAD
000013ca: DUP1
000013cb: PUSH1 0x40
000013cd: ADD
000013ce: PUSH1 0x40
000013d0: MSTORE
000013d1: DUP1
000013d2: PUSH1 0x04
000013d4: DUP2
000013d5: MSTORE
000013d6: PUSH1 0x20
000013d8: ADD
000013d9: PUSH32 0x6865726500000000000000000000000000000000000000000000000000000000
000013fa: DUP2
000013fb: MSTORE
000013fc: POP
000013fd: PUSH2 0x31ab
00001400: JUMP
00001401: JUMPDEST
00001402: PUSH1 0x02
00001404: PUSH1 0x00
00001406: SWAP1
00001407: SLOAD
00001408: SWAP1
00001409: PUSH2 0x0100
0000140c: EXP
0000140d: SWAP1
0000140e: DIV
0000140f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001424: AND
00001425: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000143a: AND
0000143b: PUSH4 0xa9059cbb
00001440: CALLER
00001441: DUP4
00001442: PUSH1 0x40
00001444: MLOAD
00001445: DUP4
00001446: PUSH4 0xffffffff
0000144b: AND
0000144c: PUSH1 0xe0
0000144e: SHL
0000144f: DUP2
00001450: MSTORE
00001451: PUSH1 0x04
00001453: ADD
00001454: PUSH2 0x145e
00001457: SWAP3
00001458: SWAP2
00001459: SWAP1
0000145a: PUSH2 0x361e
0000145d: JUMP
0000145e: JUMPDEST
0000145f: PUSH1 0x20
00001461: PUSH1 0x40
00001463: MLOAD
00001464: DUP1
00001465: DUP4
00001466: SUB
00001467: DUP2
00001468: PUSH1 0x00
0000146a: DUP8
0000146b: DUP1
0000146c: EXTCODESIZE
0000146d: ISZERO
0000146e: DUP1
0000146f: ISZERO
00001470: PUSH2 0x1478
00001473: JUMPI
00001474: PUSH1 0x00
00001476: DUP1
00001477: REVERT
00001478: JUMPDEST
00001479: POP
0000147a: GAS
0000147b: CALL
0000147c: ISZERO
0000147d: DUP1
0000147e: ISZERO
0000147f: PUSH2 0x148c
00001482: JUMPI
00001483: RETURNDATASIZE
00001484: PUSH1 0x00
00001486: DUP1
00001487: RETURNDATACOPY
00001488: RETURNDATASIZE
00001489: PUSH1 0x00
0000148b: REVERT
0000148c: JUMPDEST
0000148d: POP
0000148e: POP
0000148f: POP
00001490: POP
00001491: PUSH1 0x40
00001493: MLOAD
00001494: RETURNDATASIZE
00001495: PUSH1 0x1f
00001497: NOT
00001498: PUSH1 0x1f
0000149a: DUP3
0000149b: ADD
0000149c: AND
0000149d: DUP3
0000149e: ADD
0000149f: DUP1
000014a0: PUSH1 0x40
000014a2: MSTORE
000014a3: POP
000014a4: DUP2
000014a5: ADD
000014a6: SWAP1
000014a7: PUSH2 0x14b0
000014aa: SWAP2
000014ab: SWAP1
000014ac: PUSH2 0x3dc5
000014af: JUMP
000014b0: JUMPDEST
000014b1: PUSH2 0x14ef
000014b4: JUMPI
000014b5: PUSH1 0x40
000014b7: MLOAD
000014b8: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000014d9: DUP2
000014da: MSTORE
000014db: PUSH1 0x04
000014dd: ADD
000014de: PUSH2 0x14e6
000014e1: SWAP1
000014e2: PUSH2 0x3e64
000014e5: JUMP
000014e6: JUMPDEST
000014e7: PUSH1 0x40
000014e9: MLOAD
000014ea: DUP1
000014eb: SWAP2
000014ec: SUB
000014ed: SWAP1
000014ee: REVERT
000014ef: JUMPDEST
000014f0: PUSH2 0x1670
000014f3: JUMP
000014f4: JUMPDEST
000014f5: DUP2
000014f6: DUP2
000014f7: PUSH2 0x1500
000014fa: SWAP2
000014fb: SWAP1
000014fc: PUSH2 0x3e84
000014ff: JUMP
00001500: JUMPDEST
00001501: PUSH1 0x05
00001503: PUSH1 0x00
00001505: CALLER
00001506: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000151b: AND
0000151c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001531: AND
00001532: DUP2
00001533: MSTORE
00001534: PUSH1 0x20
00001536: ADD
00001537: SWAP1
00001538: DUP2
00001539: MSTORE
0000153a: PUSH1 0x20
0000153c: ADD
0000153d: PUSH1 0x00
0000153f: KECCAK256
00001540: DUP2
00001541: SWAP1
00001542: SSTORE
00001543: POP
00001544: PUSH2 0x1581
00001547: PUSH1 0x40
00001549: MLOAD
0000154a: DUP1
0000154b: PUSH1 0x40
0000154d: ADD
0000154e: PUSH1 0x40
00001550: MSTORE
00001551: DUP1
00001552: PUSH1 0x05
00001554: DUP2
00001555: MSTORE
00001556: PUSH1 0x20
00001558: ADD
00001559: PUSH32 0x7468657265000000000000000000000000000000000000000000000000000000
0000157a: DUP2
0000157b: MSTORE
0000157c: POP
0000157d: PUSH2 0x31ab
00001580: JUMP
00001581: JUMPDEST
00001582: PUSH1 0x02
00001584: PUSH1 0x00
00001586: SWAP1
00001587: SLOAD
00001588: SWAP1
00001589: PUSH2 0x0100
0000158c: EXP
0000158d: SWAP1
0000158e: DIV
0000158f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000015a4: AND
000015a5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000015ba: AND
000015bb: PUSH4 0xa9059cbb
000015c0: CALLER
000015c1: DUP5
000015c2: PUSH1 0x40
000015c4: MLOAD
000015c5: DUP4
000015c6: PUSH4 0xffffffff
000015cb: AND
000015cc: PUSH1 0xe0
000015ce: SHL
000015cf: DUP2
000015d0: MSTORE
000015d1: PUSH1 0x04
000015d3: ADD
000015d4: PUSH2 0x15de
000015d7: SWAP3
000015d8: SWAP2
000015d9: SWAP1
000015da: PUSH2 0x361e
000015dd: JUMP
000015de: JUMPDEST
000015df: PUSH1 0x20
000015e1: PUSH1 0x40
000015e3: MLOAD
000015e4: DUP1
000015e5: DUP4
000015e6: SUB
000015e7: DUP2
000015e8: PUSH1 0x00
000015ea: DUP8
000015eb: DUP1
000015ec: EXTCODESIZE
000015ed: ISZERO
000015ee: DUP1
000015ef: ISZERO
000015f0: PUSH2 0x15f8
000015f3: JUMPI
000015f4: PUSH1 0x00
000015f6: DUP1
000015f7: REVERT
000015f8: JUMPDEST
000015f9: POP
000015fa: GAS
000015fb: CALL
000015fc: ISZERO
000015fd: DUP1
000015fe: ISZERO
000015ff: PUSH2 0x160c
00001602: JUMPI
00001603: RETURNDATASIZE
00001604: PUSH1 0x00
00001606: DUP1
00001607: RETURNDATACOPY
00001608: RETURNDATASIZE
00001609: PUSH1 0x00
0000160b: REVERT
0000160c: JUMPDEST
0000160d: POP
0000160e: POP
0000160f: POP
00001610: POP
00001611: PUSH1 0x40
00001613: MLOAD
00001614: RETURNDATASIZE
00001615: PUSH1 0x1f
00001617: NOT
00001618: PUSH1 0x1f
0000161a: DUP3
0000161b: ADD
0000161c: AND
0000161d: DUP3
0000161e: ADD
0000161f: DUP1
00001620: PUSH1 0x40
00001622: MSTORE
00001623: POP
00001624: DUP2
00001625: ADD
00001626: SWAP1
00001627: PUSH2 0x1630
0000162a: SWAP2
0000162b: SWAP1
0000162c: PUSH2 0x3dc5
0000162f: JUMP
00001630: JUMPDEST
00001631: PUSH2 0x166f
00001634: JUMPI
00001635: PUSH1 0x40
00001637: MLOAD
00001638: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001659: DUP2
0000165a: MSTORE
0000165b: PUSH1 0x04
0000165d: ADD
0000165e: PUSH2 0x1666
00001661: SWAP1
00001662: PUSH2 0x3e64
00001665: JUMP
00001666: JUMPDEST
00001667: PUSH1 0x40
00001669: MLOAD
0000166a: DUP1
0000166b: SWAP2
0000166c: SUB
0000166d: SWAP1
0000166e: REVERT
0000166f: JUMPDEST
00001670: JUMPDEST
00001671: POP
00001672: POP
00001673: JUMP
00001674: JUMPDEST
00001675: PUSH1 0x02
00001677: PUSH1 0x00
00001679: SLOAD
0000167a: EQ
0000167b: ISZERO
0000167c: PUSH2 0x16ba
0000167f: JUMPI
00001680: PUSH1 0x40
00001682: MLOAD
00001683: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000016a4: DUP2
000016a5: MSTORE
000016a6: PUSH1 0x04
000016a8: ADD
000016a9: PUSH2 0x16b1
000016ac: SWAP1
000016ad: PUSH2 0x3899
000016b0: JUMP
000016b1: JUMPDEST
000016b2: PUSH1 0x40
000016b4: MLOAD
000016b5: DUP1
000016b6: SWAP2
000016b7: SUB
000016b8: SWAP1
000016b9: REVERT
000016ba: JUMPDEST
000016bb: PUSH1 0x02
000016bd: PUSH1 0x00
000016bf: DUP2
000016c0: SWAP1
000016c1: SSTORE
000016c2: POP
000016c3: PUSH1 0x00
000016c5: PUSH1 0x07
000016c7: PUSH1 0x00
000016c9: DUP4
000016ca: DUP2
000016cb: MSTORE
000016cc: PUSH1 0x20
000016ce: ADD
000016cf: SWAP1
000016d0: DUP2
000016d1: MSTORE
000016d2: PUSH1 0x20
000016d4: ADD
000016d5: PUSH1 0x00
000016d7: KECCAK256
000016d8: PUSH1 0x40
000016da: MLOAD
000016db: DUP1
000016dc: PUSH1 0x60
000016de: ADD
000016df: PUSH1 0x40
000016e1: MSTORE
000016e2: SWAP1
000016e3: DUP2
000016e4: PUSH1 0x00
000016e6: DUP3
000016e7: ADD
000016e8: PUSH1 0x00
000016ea: SWAP1
000016eb: SLOAD
000016ec: SWAP1
000016ed: PUSH2 0x0100
000016f0: EXP
000016f1: SWAP1
000016f2: DIV
000016f3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001708: AND
00001709: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000171e: AND
0000171f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001734: AND
00001735: DUP2
00001736: MSTORE
00001737: PUSH1 0x20
00001739: ADD
0000173a: PUSH1 0x01
0000173c: DUP3
0000173d: ADD
0000173e: SLOAD
0000173f: DUP2
00001740: MSTORE
00001741: PUSH1 0x20
00001743: ADD
00001744: PUSH1 0x02
00001746: DUP3
00001747: ADD
00001748: PUSH1 0x00
0000174a: SWAP1
0000174b: SLOAD
0000174c: SWAP1
0000174d: PUSH2 0x0100
00001750: EXP
00001751: SWAP1
00001752: DIV
00001753: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001768: AND
00001769: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000177e: AND
0000177f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001794: AND
00001795: DUP2
00001796: MSTORE
00001797: POP
00001798: POP
00001799: SWAP1
0000179a: POP
0000179b: PUSH1 0x00
0000179d: DUP2
0000179e: PUSH1 0x20
000017a0: ADD
000017a1: MLOAD
000017a2: GT
000017a3: PUSH2 0x17e1
000017a6: JUMPI
000017a7: PUSH1 0x40
000017a9: MLOAD
000017aa: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000017cb: DUP2
000017cc: MSTORE
000017cd: PUSH1 0x04
000017cf: ADD
000017d0: PUSH2 0x17d8
000017d3: SWAP1
000017d4: PUSH2 0x3f2a
000017d7: JUMP
000017d8: JUMPDEST
000017d9: PUSH1 0x40
000017db: MLOAD
000017dc: DUP1
000017dd: SWAP2
000017de: SUB
000017df: SWAP1
000017e0: REVERT
000017e1: JUMPDEST
000017e2: PUSH1 0x00
000017e4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017f9: AND
000017fa: DUP2
000017fb: PUSH1 0x40
000017fd: ADD
000017fe: MLOAD
000017ff: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001814: AND
00001815: EQ
00001816: DUP1
00001817: PUSH2 0x184f
0000181a: JUMPI
0000181b: POP
0000181c: CALLER
0000181d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001832: AND
00001833: DUP2
00001834: PUSH1 0x40
00001836: ADD
00001837: MLOAD
00001838: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000184d: AND
0000184e: EQ
0000184f: JUMPDEST
00001850: PUSH2 0x188e
00001853: JUMPI
00001854: PUSH1 0x40
00001856: MLOAD
00001857: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001878: DUP2
00001879: MSTORE
0000187a: PUSH1 0x04
0000187c: ADD
0000187d: PUSH2 0x1885
00001880: SWAP1
00001881: PUSH2 0x3fbc
00001884: JUMP
00001885: JUMPDEST
00001886: PUSH1 0x40
00001888: MLOAD
00001889: DUP1
0000188a: SWAP2
0000188b: SUB
0000188c: SWAP1
0000188d: REVERT
0000188e: JUMPDEST
0000188f: DUP1
00001890: PUSH1 0x20
00001892: ADD
00001893: MLOAD
00001894: CALLVALUE
00001895: LT
00001896: ISZERO
00001897: PUSH2 0x18d5
0000189a: JUMPI
0000189b: PUSH1 0x40
0000189d: MLOAD
0000189e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000018bf: DUP2
000018c0: MSTORE
000018c1: PUSH1 0x04
000018c3: ADD
000018c4: PUSH2 0x18cc
000018c7: SWAP1
000018c8: PUSH2 0x404e
000018cb: JUMP
000018cc: JUMPDEST
000018cd: PUSH1 0x40
000018cf: MLOAD
000018d0: DUP1
000018d1: SWAP2
000018d2: SUB
000018d3: SWAP1
000018d4: REVERT
000018d5: JUMPDEST
000018d6: PUSH32 0x000000000000000000000000439cac149b935ae1d726569800972e1669d17094
000018f7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000190c: AND
0000190d: PUSH4 0x6352211e
00001912: DUP4
00001913: PUSH1 0x40
00001915: MLOAD
00001916: DUP3
00001917: PUSH4 0xffffffff
0000191c: AND
0000191d: PUSH1 0xe0
0000191f: SHL
00001920: DUP2
00001921: MSTORE
00001922: PUSH1 0x04
00001924: ADD
00001925: PUSH2 0x192e
00001928: SWAP2
00001929: SWAP1
0000192a: PUSH2 0x3484
0000192d: JUMP
0000192e: JUMPDEST
0000192f: PUSH1 0x20
00001931: PUSH1 0x40
00001933: MLOAD
00001934: DUP1
00001935: DUP4
00001936: SUB
00001937: DUP2
00001938: DUP7
00001939: DUP1
0000193a: EXTCODESIZE
0000193b: ISZERO
0000193c: DUP1
0000193d: ISZERO
0000193e: PUSH2 0x1946
00001941: JUMPI
00001942: PUSH1 0x00
00001944: DUP1
00001945: REVERT
00001946: JUMPDEST
00001947: POP
00001948: GAS
00001949: STATICCALL
0000194a: ISZERO
0000194b: DUP1
0000194c: ISZERO
0000194d: PUSH2 0x195a
00001950: JUMPI
00001951: RETURNDATASIZE
00001952: PUSH1 0x00
00001954: DUP1
00001955: RETURNDATACOPY
00001956: RETURNDATASIZE
00001957: PUSH1 0x00
00001959: REVERT
0000195a: JUMPDEST
0000195b: POP
0000195c: POP
0000195d: POP
0000195e: POP
0000195f: PUSH1 0x40
00001961: MLOAD
00001962: RETURNDATASIZE
00001963: PUSH1 0x1f
00001965: NOT
00001966: PUSH1 0x1f
00001968: DUP3
00001969: ADD
0000196a: AND
0000196b: DUP3
0000196c: ADD
0000196d: DUP1
0000196e: PUSH1 0x40
00001970: MSTORE
00001971: POP
00001972: DUP2
00001973: ADD
00001974: SWAP1
00001975: PUSH2 0x197e
00001978: SWAP2
00001979: SWAP1
0000197a: PUSH2 0x38ce
0000197d: JUMP
0000197e: JUMPDEST
0000197f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001994: AND
00001995: DUP2
00001996: PUSH1 0x00
00001998: ADD
00001999: MLOAD
0000199a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019af: AND
000019b0: EQ
000019b1: PUSH2 0x19ef
000019b4: JUMPI
000019b5: PUSH1 0x40
000019b7: MLOAD
000019b8: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000019d9: DUP2
000019da: MSTORE
000019db: PUSH1 0x04
000019dd: ADD
000019de: PUSH2 0x19e6
000019e1: SWAP1
000019e2: PUSH2 0x4106
000019e5: JUMP
000019e6: JUMPDEST
000019e7: PUSH1 0x40
000019e9: MLOAD
000019ea: DUP1
000019eb: SWAP2
000019ec: SUB
000019ed: SWAP1
000019ee: REVERT
000019ef: JUMPDEST
000019f0: PUSH1 0x00
000019f2: DUP2
000019f3: PUSH1 0x00
000019f5: ADD
000019f6: MLOAD
000019f7: SWAP1
000019f8: POP
000019f9: PUSH2 0x1a01
000019fc: DUP4
000019fd: PUSH2 0x3244
00001a00: JUMP
00001a01: JUMPDEST
00001a02: PUSH32 0x000000000000000000000000439cac149b935ae1d726569800972e1669d17094
00001a23: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a38: AND
00001a39: PUSH4 0x42842e0e
00001a3e: DUP3
00001a3f: CALLER
00001a40: DUP7
00001a41: PUSH1 0x40
00001a43: MLOAD
00001a44: DUP5
00001a45: PUSH4 0xffffffff
00001a4a: AND
00001a4b: PUSH1 0xe0
00001a4d: SHL
00001a4e: DUP2
00001a4f: MSTORE
00001a50: PUSH1 0x04
00001a52: ADD
00001a53: PUSH2 0x1a5e
00001a56: SWAP4
00001a57: SWAP3
00001a58: SWAP2
00001a59: SWAP1
00001a5a: PUSH2 0x4126
00001a5d: JUMP
00001a5e: JUMPDEST
00001a5f: PUSH1 0x00
00001a61: PUSH1 0x40
00001a63: MLOAD
00001a64: DUP1
00001a65: DUP4
00001a66: SUB
00001a67: DUP2
00001a68: PUSH1 0x00
00001a6a: DUP8
00001a6b: DUP1
00001a6c: EXTCODESIZE
00001a6d: ISZERO
00001a6e: DUP1
00001a6f: ISZERO
00001a70: PUSH2 0x1a78
00001a73: JUMPI
00001a74: PUSH1 0x00
00001a76: DUP1
00001a77: REVERT
00001a78: JUMPDEST
00001a79: POP
00001a7a: GAS
00001a7b: CALL
00001a7c: ISZERO
00001a7d: DUP1
00001a7e: ISZERO
00001a7f: PUSH2 0x1a8c
00001a82: JUMPI
00001a83: RETURNDATASIZE
00001a84: PUSH1 0x00
00001a86: DUP1
00001a87: RETURNDATACOPY
00001a88: RETURNDATASIZE
00001a89: PUSH1 0x00
00001a8b: REVERT
00001a8c: JUMPDEST
00001a8d: POP
00001a8e: POP
00001a8f: POP
00001a90: POP
00001a91: PUSH1 0x00
00001a93: CALLVALUE
00001a94: SWAP1
00001a95: POP
00001a96: PUSH1 0x00
00001a98: PUSH2 0x2710
00001a9b: PUSH2 0x02ee
00001a9e: DUP4
00001a9f: PUSH2 0x1aa8
00001aa2: SWAP2
00001aa3: SWAP1
00001aa4: PUSH2 0x372c
00001aa7: JUMP
00001aa8: JUMPDEST
00001aa9: PUSH2 0x1ab2
00001aac: SWAP2
00001aad: SWAP1
00001aae: PUSH2 0x37b5
00001ab1: JUMP
00001ab2: JUMPDEST
00001ab3: SWAP1
00001ab4: POP
00001ab5: PUSH1 0x00
00001ab7: DUP2
00001ab8: DUP4
00001ab9: PUSH2 0x1ac2
00001abc: SWAP2
00001abd: SWAP1
00001abe: PUSH2 0x3e84
00001ac1: JUMP
00001ac2: JUMPDEST
00001ac3: SWAP1
00001ac4: POP
00001ac5: DUP1
00001ac6: PUSH1 0x09
00001ac8: PUSH1 0x00
00001aca: DUP7
00001acb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ae0: AND
00001ae1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001af6: AND
00001af7: DUP2
00001af8: MSTORE
00001af9: PUSH1 0x20
00001afb: ADD
00001afc: SWAP1
00001afd: DUP2
00001afe: MSTORE
00001aff: PUSH1 0x20
00001b01: ADD
00001b02: PUSH1 0x00
00001b04: KECCAK256
00001b05: PUSH1 0x00
00001b07: DUP3
00001b08: DUP3
00001b09: SLOAD
00001b0a: PUSH2 0x1b13
00001b0d: SWAP2
00001b0e: SWAP1
00001b0f: PUSH2 0x37e6
00001b12: JUMP
00001b13: JUMPDEST
00001b14: SWAP3
00001b15: POP
00001b16: POP
00001b17: DUP2
00001b18: SWAP1
00001b19: SSTORE
00001b1a: POP
00001b1b: PUSH2 0x1b23
00001b1e: DUP3
00001b1f: PUSH2 0x0737
00001b22: JUMP
00001b23: JUMPDEST
00001b24: CALLER
00001b25: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b3a: AND
00001b3b: DUP5
00001b3c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b51: AND
00001b52: DUP8
00001b53: PUSH32 0x10da7de539762d5a4215e91a34acd5eba17edf57b64b53ed63b52bfb248b6551
00001b74: CALLVALUE
00001b75: PUSH1 0x03
00001b77: SLOAD
00001b78: PUSH1 0x40
00001b7a: MLOAD
00001b7b: PUSH2 0x1b85
00001b7e: SWAP3
00001b7f: SWAP2
00001b80: SWAP1
00001b81: PUSH2 0x415d
00001b84: JUMP
00001b85: JUMPDEST
00001b86: PUSH1 0x40
00001b88: MLOAD
00001b89: DUP1
00001b8a: SWAP2
00001b8b: SUB
00001b8c: SWAP1
00001b8d: LOG4
00001b8e: CALLER
00001b8f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ba4: AND
00001ba5: PUSH1 0x08
00001ba7: PUSH1 0x00
00001ba9: DUP9
00001baa: DUP2
00001bab: MSTORE
00001bac: PUSH1 0x20
00001bae: ADD
00001baf: SWAP1
00001bb0: DUP2
00001bb1: MSTORE
00001bb2: PUSH1 0x20
00001bb4: ADD
00001bb5: PUSH1 0x00
00001bb7: KECCAK256
00001bb8: PUSH1 0x00
00001bba: ADD
00001bbb: PUSH1 0x00
00001bbd: SWAP1
00001bbe: SLOAD
00001bbf: SWAP1
00001bc0: PUSH2 0x0100
00001bc3: EXP
00001bc4: SWAP1
00001bc5: DIV
00001bc6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001bdb: AND
00001bdc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001bf1: AND
00001bf2: EQ
00001bf3: ISZERO
00001bf4: PUSH2 0x1caf
00001bf7: JUMPI
00001bf8: PUSH1 0x00
00001bfa: PUSH1 0x08
00001bfc: PUSH1 0x00
00001bfe: DUP9
00001bff: DUP2
00001c00: MSTORE
00001c01: PUSH1 0x20
00001c03: ADD
00001c04: SWAP1
00001c05: DUP2
00001c06: MSTORE
00001c07: PUSH1 0x20
00001c09: ADD
00001c0a: PUSH1 0x00
00001c0c: KECCAK256
00001c0d: PUSH1 0x01
00001c0f: ADD
00001c10: SLOAD
00001c11: SWAP1
00001c12: POP
00001c13: PUSH1 0x08
00001c15: PUSH1 0x00
00001c17: DUP9
00001c18: DUP2
00001c19: MSTORE
00001c1a: PUSH1 0x20
00001c1c: ADD
00001c1d: SWAP1
00001c1e: DUP2
00001c1f: MSTORE
00001c20: PUSH1 0x20
00001c22: ADD
00001c23: PUSH1 0x00
00001c25: KECCAK256
00001c26: PUSH1 0x00
00001c28: DUP1
00001c29: DUP3
00001c2a: ADD
00001c2b: PUSH1 0x00
00001c2d: PUSH2 0x0100
00001c30: EXP
00001c31: DUP2
00001c32: SLOAD
00001c33: SWAP1
00001c34: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c49: MUL
00001c4a: NOT
00001c4b: AND
00001c4c: SWAP1
00001c4d: SSTORE
00001c4e: PUSH1 0x01
00001c50: DUP3
00001c51: ADD
00001c52: PUSH1 0x00
00001c54: SWAP1
00001c55: SSTORE
00001c56: POP
00001c57: POP
00001c58: DUP1
00001c59: PUSH1 0x09
00001c5b: PUSH1 0x00
00001c5d: CALLER
00001c5e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c73: AND
00001c74: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c89: AND
00001c8a: DUP2
00001c8b: MSTORE
00001c8c: PUSH1 0x20
00001c8e: ADD
00001c8f: SWAP1
00001c90: DUP2
00001c91: MSTORE
00001c92: PUSH1 0x20
00001c94: ADD
00001c95: PUSH1 0x00
00001c97: KECCAK256
00001c98: PUSH1 0x00
00001c9a: DUP3
00001c9b: DUP3
00001c9c: SLOAD
00001c9d: PUSH2 0x1ca6
00001ca0: SWAP2
00001ca1: SWAP1
00001ca2: PUSH2 0x37e6
00001ca5: JUMP
00001ca6: JUMPDEST
00001ca7: SWAP3
00001ca8: POP
00001ca9: POP
00001caa: DUP2
00001cab: SWAP1
00001cac: SSTORE
00001cad: POP
00001cae: POP
00001caf: JUMPDEST
00001cb0: POP
00001cb1: POP
00001cb2: POP
00001cb3: POP
00001cb4: POP
00001cb5: PUSH1 0x01
00001cb7: PUSH1 0x00
00001cb9: DUP2
00001cba: SWAP1
00001cbb: SSTORE
00001cbc: POP
00001cbd: POP
00001cbe: JUMP
00001cbf: JUMPDEST
00001cc0: PUSH2 0x02ee
00001cc3: DUP2
00001cc4: JUMP
00001cc5: JUMPDEST
00001cc6: PUSH1 0x03
00001cc8: SLOAD
00001cc9: DUP2
00001cca: JUMP
00001ccb: JUMPDEST
00001ccc: DUP3
00001ccd: PUSH32 0x000000000000000000000000439cac149b935ae1d726569800972e1669d17094
00001cee: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d03: AND
00001d04: PUSH4 0x6352211e
00001d09: DUP3
00001d0a: PUSH1 0x40
00001d0c: MLOAD
00001d0d: DUP3
00001d0e: PUSH4 0xffffffff
00001d13: AND
00001d14: PUSH1 0xe0
00001d16: SHL
00001d17: DUP2
00001d18: MSTORE
00001d19: PUSH1 0x04
00001d1b: ADD
00001d1c: PUSH2 0x1d25
00001d1f: SWAP2
00001d20: SWAP1
00001d21: PUSH2 0x3484
00001d24: JUMP
00001d25: JUMPDEST
00001d26: PUSH1 0x20
00001d28: PUSH1 0x40
00001d2a: MLOAD
00001d2b: DUP1
00001d2c: DUP4
00001d2d: SUB
00001d2e: DUP2
00001d2f: DUP7
00001d30: DUP1
00001d31: EXTCODESIZE
00001d32: ISZERO
00001d33: DUP1
00001d34: ISZERO
00001d35: PUSH2 0x1d3d
00001d38: JUMPI
00001d39: PUSH1 0x00
00001d3b: DUP1
00001d3c: REVERT
00001d3d: JUMPDEST
00001d3e: POP
00001d3f: GAS
00001d40: STATICCALL
00001d41: ISZERO
00001d42: DUP1
00001d43: ISZERO
00001d44: PUSH2 0x1d51
00001d47: JUMPI
00001d48: RETURNDATASIZE
00001d49: PUSH1 0x00
00001d4b: DUP1
00001d4c: RETURNDATACOPY
00001d4d: RETURNDATASIZE
00001d4e: PUSH1 0x00
00001d50: REVERT
00001d51: JUMPDEST
00001d52: POP
00001d53: POP
00001d54: POP
00001d55: POP
00001d56: PUSH1 0x40
00001d58: MLOAD
00001d59: RETURNDATASIZE
00001d5a: PUSH1 0x1f
00001d5c: NOT
00001d5d: PUSH1 0x1f
00001d5f: DUP3
00001d60: ADD
00001d61: AND
00001d62: DUP3
00001d63: ADD
00001d64: DUP1
00001d65: PUSH1 0x40
00001d67: MSTORE
00001d68: POP
00001d69: DUP2
00001d6a: ADD
00001d6b: SWAP1
00001d6c: PUSH2 0x1d75
00001d6f: SWAP2
00001d70: SWAP1
00001d71: PUSH2 0x38ce
00001d74: JUMP
00001d75: JUMPDEST
00001d76: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d8b: AND
00001d8c: CALLER
00001d8d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001da2: AND
00001da3: EQ
00001da4: PUSH2 0x1de2
00001da7: JUMPI
00001da8: PUSH1 0x40
00001daa: MLOAD
00001dab: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001dcc: DUP2
00001dcd: MSTORE
00001dce: PUSH1 0x04
00001dd0: ADD
00001dd1: PUSH2 0x1dd9
00001dd4: SWAP1
00001dd5: PUSH2 0x3c63
00001dd8: JUMP
00001dd9: JUMPDEST
00001dda: PUSH1 0x40
00001ddc: MLOAD
00001ddd: DUP1
00001dde: SWAP2
00001ddf: SUB
00001de0: SWAP1
00001de1: REVERT
00001de2: JUMPDEST
00001de3: PUSH1 0x02
00001de5: PUSH1 0x00
00001de7: SLOAD
00001de8: EQ
00001de9: ISZERO
00001dea: PUSH2 0x1e28
00001ded: JUMPI
00001dee: PUSH1 0x40
00001df0: MLOAD
00001df1: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001e12: DUP2
00001e13: MSTORE
00001e14: PUSH1 0x04
00001e16: ADD
00001e17: PUSH2 0x1e1f
00001e1a: SWAP1
00001e1b: PUSH2 0x3899
00001e1e: JUMP
00001e1f: JUMPDEST
00001e20: PUSH1 0x40
00001e22: MLOAD
00001e23: DUP1
00001e24: SWAP2
00001e25: SUB
00001e26: SWAP1
00001e27: REVERT
00001e28: JUMPDEST
00001e29: PUSH1 0x02
00001e2b: PUSH1 0x00
00001e2d: DUP2
00001e2e: SWAP1
00001e2f: SSTORE
00001e30: POP
00001e31: PUSH1 0x40
00001e33: MLOAD
00001e34: DUP1
00001e35: PUSH1 0x60
00001e37: ADD
00001e38: PUSH1 0x40
00001e3a: MSTORE
00001e3b: DUP1
00001e3c: CALLER
00001e3d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e52: AND
00001e53: DUP2
00001e54: MSTORE
00001e55: PUSH1 0x20
00001e57: ADD
00001e58: DUP5
00001e59: DUP2
00001e5a: MSTORE
00001e5b: PUSH1 0x20
00001e5d: ADD
00001e5e: DUP4
00001e5f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e74: AND
00001e75: DUP2
00001e76: MSTORE
00001e77: POP
00001e78: PUSH1 0x07
00001e7a: PUSH1 0x00
00001e7c: DUP7
00001e7d: DUP2
00001e7e: MSTORE
00001e7f: PUSH1 0x20
00001e81: ADD
00001e82: SWAP1
00001e83: DUP2
00001e84: MSTORE
00001e85: PUSH1 0x20
00001e87: ADD
00001e88: PUSH1 0x00
00001e8a: KECCAK256
00001e8b: PUSH1 0x00
00001e8d: DUP3
00001e8e: ADD
00001e8f: MLOAD
00001e90: DUP2
00001e91: PUSH1 0x00
00001e93: ADD
00001e94: PUSH1 0x00
00001e96: PUSH2 0x0100
00001e99: EXP
00001e9a: DUP2
00001e9b: SLOAD
00001e9c: DUP2
00001e9d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001eb2: MUL
00001eb3: NOT
00001eb4: AND
00001eb5: SWAP1
00001eb6: DUP4
00001eb7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ecc: AND
00001ecd: MUL
00001ece: OR
00001ecf: SWAP1
00001ed0: SSTORE
00001ed1: POP
00001ed2: PUSH1 0x20
00001ed4: DUP3
00001ed5: ADD
00001ed6: MLOAD
00001ed7: DUP2
00001ed8: PUSH1 0x01
00001eda: ADD
00001edb: SSTORE
00001edc: PUSH1 0x40
00001ede: DUP3
00001edf: ADD
00001ee0: MLOAD
00001ee1: DUP2
00001ee2: PUSH1 0x02
00001ee4: ADD
00001ee5: PUSH1 0x00
00001ee7: PUSH2 0x0100
00001eea: EXP
00001eeb: DUP2
00001eec: SLOAD
00001eed: DUP2
00001eee: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f03: MUL
00001f04: NOT
00001f05: AND
00001f06: SWAP1
00001f07: DUP4
00001f08: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f1d: AND
00001f1e: MUL
00001f1f: OR
00001f20: SWAP1
00001f21: SSTORE
00001f22: POP
00001f23: SWAP1
00001f24: POP
00001f25: POP
00001f26: DUP2
00001f27: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f3c: AND
00001f3d: DUP5
00001f3e: PUSH32 0xb4068a58f26236f9510889485e92ef54b0ff6efea8e4d8067b8839e77fa9997a
00001f5f: DUP6
00001f60: PUSH1 0x40
00001f62: MLOAD
00001f63: PUSH2 0x1f6c
00001f66: SWAP2
00001f67: SWAP1
00001f68: PUSH2 0x3484
00001f6b: JUMP
00001f6c: JUMPDEST
00001f6d: PUSH1 0x40
00001f6f: MLOAD
00001f70: DUP1
00001f71: SWAP2
00001f72: SUB
00001f73: SWAP1
00001f74: LOG3
00001f75: PUSH1 0x01
00001f77: PUSH1 0x00
00001f79: DUP2
00001f7a: SWAP1
00001f7b: SSTORE
00001f7c: POP
00001f7d: POP
00001f7e: POP
00001f7f: POP
00001f80: POP
00001f81: JUMP
00001f82: JUMPDEST
00001f83: PUSH2 0x1f8a
00001f86: PUSH2 0x30af
00001f89: JUMP
00001f8a: JUMPDEST
00001f8b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001fa0: AND
00001fa1: PUSH2 0x1fa8
00001fa4: PUSH2 0x2465
00001fa7: JUMP
00001fa8: JUMPDEST
00001fa9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001fbe: AND
00001fbf: EQ
00001fc0: PUSH2 0x1ffe
00001fc3: JUMPI
00001fc4: PUSH1 0x40
00001fc6: MLOAD
00001fc7: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001fe8: DUP2
00001fe9: MSTORE
00001fea: PUSH1 0x04
00001fec: ADD
00001fed: PUSH2 0x1ff5
00001ff0: SWAP1
00001ff1: PUSH2 0x3b8f
00001ff4: JUMP
00001ff5: JUMPDEST
00001ff6: PUSH1 0x40
00001ff8: MLOAD
00001ff9: DUP1
00001ffa: SWAP2
00001ffb: SUB
00001ffc: SWAP1
00001ffd: REVERT
00001ffe: JUMPDEST
00001fff: PUSH1 0x06
00002001: DUP2
00002002: SWAP1
00002003: DUP1
00002004: PUSH1 0x01
00002006: DUP2
00002007: SLOAD
00002008: ADD
00002009: DUP1
0000200a: DUP3
0000200b: SSTORE
0000200c: DUP1
0000200d: SWAP2
0000200e: POP
0000200f: POP
00002010: PUSH1 0x01
00002012: SWAP1
00002013: SUB
00002014: SWAP1
00002015: PUSH1 0x00
00002017: MSTORE
00002018: PUSH1 0x20
0000201a: PUSH1 0x00
0000201c: KECCAK256
0000201d: ADD
0000201e: PUSH1 0x00
00002020: SWAP1
00002021: SWAP2
00002022: SWAP1
00002023: SWAP2
00002024: SWAP1
00002025: SWAP2
00002026: PUSH2 0x0100
00002029: EXP
0000202a: DUP2
0000202b: SLOAD
0000202c: DUP2
0000202d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002042: MUL
00002043: NOT
00002044: AND
00002045: SWAP1
00002046: DUP4
00002047: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000205c: AND
0000205d: MUL
0000205e: OR
0000205f: SWAP1
00002060: SSTORE
00002061: POP
00002062: POP
00002063: JUMP
00002064: JUMPDEST
00002065: PUSH32 0x0000000000000000000000007b4b02372d8e54c1c0454d97f01d85ef203cdc5e
00002086: DUP2
00002087: JUMP
00002088: JUMPDEST
00002089: PUSH2 0x2091
0000208c: CALLVALUE
0000208d: PUSH2 0x0737
00002090: JUMP
00002091: JUMPDEST
00002092: JUMP
00002093: JUMPDEST
00002094: PUSH2 0x209b
00002097: PUSH2 0x30af
0000209a: JUMP
0000209b: JUMPDEST
0000209c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000020b1: AND
000020b2: PUSH2 0x20b9
000020b5: PUSH2 0x2465
000020b8: JUMP
000020b9: JUMPDEST
000020ba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000020cf: AND
000020d0: EQ
000020d1: PUSH2 0x210f
000020d4: JUMPI
000020d5: PUSH1 0x40
000020d7: MLOAD
000020d8: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000020f9: DUP2
000020fa: MSTORE
000020fb: PUSH1 0x04
000020fd: ADD
000020fe: PUSH2 0x2106
00002101: SWAP1
00002102: PUSH2 0x3b8f
00002105: JUMP
00002106: JUMPDEST
00002107: PUSH1 0x40
00002109: MLOAD
0000210a: DUP1
0000210b: SWAP2
0000210c: SUB
0000210d: SWAP1
0000210e: REVERT
0000210f: JUMPDEST
00002110: PUSH2 0x2119
00002113: PUSH1 0x00
00002115: PUSH2 0x32e0
00002118: JUMP
00002119: JUMPDEST
0000211a: JUMP
0000211b: JUMPDEST
0000211c: PUSH32 0x0000000000000000000000007b4b02372d8e54c1c0454d97f01d85ef203cdc5e
0000213d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002152: AND
00002153: CALLER
00002154: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002169: AND
0000216a: EQ
0000216b: PUSH2 0x2173
0000216e: JUMPI
0000216f: PUSH1 0x00
00002171: DUP1
00002172: REVERT
00002173: JUMPDEST
00002174: DUP1
00002175: PUSH1 0x02
00002177: PUSH1 0x00
00002179: PUSH2 0x0100
0000217c: EXP
0000217d: DUP2
0000217e: SLOAD
0000217f: DUP2
00002180: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002195: MUL
00002196: NOT
00002197: AND
00002198: SWAP1
00002199: DUP4
0000219a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000021af: AND
000021b0: MUL
000021b1: OR
000021b2: SWAP1
000021b3: SSTORE
000021b4: POP
000021b5: POP
000021b6: JUMP
000021b7: JUMPDEST
000021b8: PUSH1 0x02
000021ba: PUSH1 0x00
000021bc: SLOAD
000021bd: EQ
000021be: ISZERO
000021bf: PUSH2 0x21fd
000021c2: JUMPI
000021c3: PUSH1 0x40
000021c5: MLOAD
000021c6: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000021e7: DUP2
000021e8: MSTORE
000021e9: PUSH1 0x04
000021eb: ADD
000021ec: PUSH2 0x21f4
000021ef: SWAP1
000021f0: PUSH2 0x3899
000021f3: JUMP
000021f4: JUMPDEST
000021f5: PUSH1 0x40
000021f7: MLOAD
000021f8: DUP1
000021f9: SWAP2
000021fa: SUB
000021fb: SWAP1
000021fc: REVERT
000021fd: JUMPDEST
000021fe: PUSH1 0x02
00002200: PUSH1 0x00
00002202: DUP2
00002203: SWAP1
00002204: SSTORE
00002205: POP
00002206: CALLER
00002207: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000221c: AND
0000221d: PUSH1 0x08
0000221f: PUSH1 0x00
00002221: DUP4
00002222: DUP2
00002223: MSTORE
00002224: PUSH1 0x20
00002226: ADD
00002227: SWAP1
00002228: DUP2
00002229: MSTORE
0000222a: PUSH1 0x20
0000222c: ADD
0000222d: PUSH1 0x00
0000222f: KECCAK256
00002230: PUSH1 0x00
00002232: ADD
00002233: PUSH1 0x00
00002235: SWAP1
00002236: SLOAD
00002237: SWAP1
00002238: PUSH2 0x0100
0000223b: EXP
0000223c: SWAP1
0000223d: DIV
0000223e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002253: AND
00002254: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002269: AND
0000226a: EQ
0000226b: PUSH2 0x22a9
0000226e: JUMPI
0000226f: PUSH1 0x40
00002271: MLOAD
00002272: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002293: DUP2
00002294: MSTORE
00002295: PUSH1 0x04
00002297: ADD
00002298: PUSH2 0x22a0
0000229b: SWAP1
0000229c: PUSH2 0x41f8
0000229f: JUMP
000022a0: JUMPDEST
000022a1: PUSH1 0x40
000022a3: MLOAD
000022a4: DUP1
000022a5: SWAP2
000022a6: SUB
000022a7: SWAP1
000022a8: REVERT
000022a9: JUMPDEST
000022aa: PUSH1 0x00
000022ac: PUSH1 0x08
000022ae: PUSH1 0x00
000022b0: DUP4
000022b1: DUP2
000022b2: MSTORE
000022b3: PUSH1 0x20
000022b5: ADD
000022b6: SWAP1
000022b7: DUP2
000022b8: MSTORE
000022b9: PUSH1 0x20
000022bb: ADD
000022bc: PUSH1 0x00
000022be: KECCAK256
000022bf: PUSH1 0x01
000022c1: ADD
000022c2: SLOAD
000022c3: SWAP1
000022c4: POP
000022c5: CALLER
000022c6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000022db: AND
000022dc: DUP3
000022dd: PUSH32 0xef51c4d065b866a9c198da97f97048098ecfff666a93233dc909f8f2dfe02a22
000022fe: DUP4
000022ff: PUSH1 0x40
00002301: MLOAD
00002302: PUSH2 0x230b
00002305: SWAP2
00002306: SWAP1
00002307: PUSH2 0x3484
0000230a: JUMP
0000230b: JUMPDEST
0000230c: PUSH1 0x40
0000230e: MLOAD
0000230f: DUP1
00002310: SWAP2
00002311: SUB
00002312: SWAP1
00002313: LOG3
00002314: PUSH1 0x08
00002316: PUSH1 0x00
00002318: DUP4
00002319: DUP2
0000231a: MSTORE
0000231b: PUSH1 0x20
0000231d: ADD
0000231e: SWAP1
0000231f: DUP2
00002320: MSTORE
00002321: PUSH1 0x20
00002323: ADD
00002324: PUSH1 0x00
00002326: KECCAK256
00002327: PUSH1 0x00
00002329: DUP1
0000232a: DUP3
0000232b: ADD
0000232c: PUSH1 0x00
0000232e: PUSH2 0x0100
00002331: EXP
00002332: DUP2
00002333: SLOAD
00002334: SWAP1
00002335: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000234a: MUL
0000234b: NOT
0000234c: AND
0000234d: SWAP1
0000234e: SSTORE
0000234f: PUSH1 0x01
00002351: DUP3
00002352: ADD
00002353: PUSH1 0x00
00002355: SWAP1
00002356: SSTORE
00002357: POP
00002358: POP
00002359: PUSH2 0x2362
0000235c: CALLER
0000235d: DUP3
0000235e: PUSH2 0x30b7
00002361: JUMP
00002362: JUMPDEST
00002363: POP
00002364: PUSH1 0x01
00002366: PUSH1 0x00
00002368: DUP2
00002369: SWAP1
0000236a: SSTORE
0000236b: POP
0000236c: POP
0000236d: JUMP
0000236e: JUMPDEST
0000236f: PUSH1 0x08
00002371: PUSH1 0x20
00002373: MSTORE
00002374: DUP1
00002375: PUSH1 0x00
00002377: MSTORE
00002378: PUSH1 0x40
0000237a: PUSH1 0x00
0000237c: KECCAK256
0000237d: PUSH1 0x00
0000237f: SWAP2
00002380: POP
00002381: SWAP1
00002382: POP
00002383: DUP1
00002384: PUSH1 0x00
00002386: ADD
00002387: PUSH1 0x00
00002389: SWAP1
0000238a: SLOAD
0000238b: SWAP1
0000238c: PUSH2 0x0100
0000238f: EXP
00002390: SWAP1
00002391: DIV
00002392: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000023a7: AND
000023a8: SWAP1
000023a9: DUP1
000023aa: PUSH1 0x01
000023ac: ADD
000023ad: SLOAD
000023ae: SWAP1
000023af: POP
000023b0: DUP3
000023b1: JUMP
000023b2: JUMPDEST
000023b3: PUSH1 0x00
000023b5: PUSH8 0x0de0b6b3a7640000
000023be: PUSH1 0x04
000023c0: PUSH1 0x00
000023c2: DUP5
000023c3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000023d8: AND
000023d9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000023ee: AND
000023ef: DUP2
000023f0: MSTORE
000023f1: PUSH1 0x20
000023f3: ADD
000023f4: SWAP1
000023f5: DUP2
000023f6: MSTORE
000023f7: PUSH1 0x20
000023f9: ADD
000023fa: PUSH1 0x00
000023fc: KECCAK256
000023fd: SLOAD
000023fe: PUSH1 0x03
00002400: SLOAD
00002401: PUSH2 0x240a
00002404: SWAP2
00002405: SWAP1
00002406: PUSH2 0x3e84
00002409: JUMP
0000240a: JUMPDEST
0000240b: PUSH1 0x05
0000240d: PUSH1 0x00
0000240f: DUP6
00002410: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002425: AND
00002426: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000243b: AND
0000243c: DUP2
0000243d: MSTORE
0000243e: PUSH1 0x20
00002440: ADD
00002441: SWAP1
00002442: DUP2
00002443: MSTORE
00002444: PUSH1 0x20
00002446: ADD
00002447: PUSH1 0x00
00002449: KECCAK256
0000244a: SLOAD
0000244b: PUSH2 0x2454
0000244e: SWAP2
0000244f: SWAP1
00002450: PUSH2 0x372c
00002453: JUMP
00002454: JUMPDEST
00002455: PUSH2 0x245e
00002458: SWAP2
00002459: SWAP1
0000245a: PUSH2 0x37b5
0000245d: JUMP
0000245e: JUMPDEST
0000245f: SWAP1
00002460: POP
00002461: SWAP2
00002462: SWAP1
00002463: POP
00002464: JUMP
00002465: JUMPDEST
00002466: PUSH1 0x00
00002468: PUSH1 0x01
0000246a: PUSH1 0x00
0000246c: SWAP1
0000246d: SLOAD
0000246e: SWAP1
0000246f: PUSH2 0x0100
00002472: EXP
00002473: SWAP1
00002474: DIV
00002475: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000248a: AND
0000248b: SWAP1
0000248c: POP
0000248d: SWAP1
0000248e: JUMP
0000248f: JUMPDEST
00002490: PUSH1 0x02
00002492: PUSH1 0x00
00002494: SLOAD
00002495: EQ
00002496: ISZERO
00002497: PUSH2 0x24d5
0000249a: JUMPI
0000249b: PUSH1 0x40
0000249d: MLOAD
0000249e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000024bf: DUP2
000024c0: MSTORE
000024c1: PUSH1 0x04
000024c3: ADD
000024c4: PUSH2 0x24cc
000024c7: SWAP1
000024c8: PUSH2 0x3899
000024cb: JUMP
000024cc: JUMPDEST
000024cd: PUSH1 0x40
000024cf: MLOAD
000024d0: DUP1
000024d1: SWAP2
000024d2: SUB
000024d3: SWAP1
000024d4: REVERT
000024d5: JUMPDEST
000024d6: PUSH1 0x02
000024d8: PUSH1 0x00
000024da: DUP2
000024db: SWAP1
000024dc: SSTORE
000024dd: POP
000024de: PUSH1 0x00
000024e0: JUMPDEST
000024e1: PUSH1 0x06
000024e3: DUP1
000024e4: SLOAD
000024e5: SWAP1
000024e6: POP
000024e7: DUP2
000024e8: LT
000024e9: ISZERO
000024ea: PUSH2 0x25a9
000024ed: JUMPI
000024ee: PUSH1 0x06
000024f0: DUP2
000024f1: DUP2
000024f2: SLOAD
000024f3: DUP2
000024f4: LT
000024f5: PUSH2 0x2501
000024f8: JUMPI
000024f9: PUSH2 0x2500
000024fc: PUSH2 0x3d15
000024ff: JUMP
00002500: JUMPDEST
00002501: JUMPDEST
00002502: SWAP1
00002503: PUSH1 0x00
00002505: MSTORE
00002506: PUSH1 0x20
00002508: PUSH1 0x00
0000250a: KECCAK256
0000250b: ADD
0000250c: PUSH1 0x00
0000250e: SWAP1
0000250f: SLOAD
00002510: SWAP1
00002511: PUSH2 0x0100
00002514: EXP
00002515: SWAP1
00002516: DIV
00002517: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000252c: AND
0000252d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002542: AND
00002543: PUSH4 0xef5cfb8c
00002548: DUP4
00002549: PUSH1 0x40
0000254b: MLOAD
0000254c: DUP3
0000254d: PUSH4 0xffffffff
00002552: AND
00002553: PUSH1 0xe0
00002555: SHL
00002556: DUP2
00002557: MSTORE
00002558: PUSH1 0x04
0000255a: ADD
0000255b: PUSH2 0x2564
0000255e: SWAP2
0000255f: SWAP1
00002560: PUSH2 0x3557
00002563: JUMP
00002564: JUMPDEST
00002565: PUSH1 0x00
00002567: PUSH1 0x40
00002569: MLOAD
0000256a: DUP1
0000256b: DUP4
0000256c: SUB
0000256d: DUP2
0000256e: PUSH1 0x00
00002570: DUP8
00002571: DUP1
00002572: EXTCODESIZE
00002573: ISZERO
00002574: DUP1
00002575: ISZERO
00002576: PUSH2 0x257e
00002579: JUMPI
0000257a: PUSH1 0x00
0000257c: DUP1
0000257d: REVERT
0000257e: JUMPDEST
0000257f: POP
00002580: GAS
00002581: CALL
00002582: ISZERO
00002583: DUP1
00002584: ISZERO
00002585: PUSH2 0x2592
00002588: JUMPI
00002589: RETURNDATASIZE
0000258a: PUSH1 0x00
0000258c: DUP1
0000258d: RETURNDATACOPY
0000258e: RETURNDATASIZE
0000258f: PUSH1 0x00
00002591: REVERT
00002592: JUMPDEST
00002593: POP
00002594: POP
00002595: POP
00002596: POP
00002597: DUP1
00002598: DUP1
00002599: PUSH2 0x25a1
0000259c: SWAP1
0000259d: PUSH2 0x3d44
000025a0: JUMP
000025a1: JUMPDEST
000025a2: SWAP2
000025a3: POP
000025a4: POP
000025a5: PUSH2 0x24e0
000025a8: JUMP
000025a9: JUMPDEST
000025aa: POP
000025ab: PUSH1 0x01
000025ad: PUSH1 0x00
000025af: DUP2
000025b0: SWAP1
000025b1: SSTORE
000025b2: POP
000025b3: POP
000025b4: JUMP
000025b5: JUMPDEST
000025b6: PUSH1 0x02
000025b8: PUSH1 0x00
000025ba: SWAP1
000025bb: SLOAD
000025bc: SWAP1
000025bd: PUSH2 0x0100
000025c0: EXP
000025c1: SWAP1
000025c2: DIV
000025c3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000025d8: AND
000025d9: DUP2
000025da: JUMP
000025db: JUMPDEST
000025dc: PUSH1 0x02
000025de: PUSH1 0x00
000025e0: SLOAD
000025e1: EQ
000025e2: ISZERO
000025e3: PUSH2 0x2621
000025e6: JUMPI
000025e7: PUSH1 0x40
000025e9: MLOAD
000025ea: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000260b: DUP2
0000260c: MSTORE
0000260d: PUSH1 0x04
0000260f: ADD
00002610: PUSH2 0x2618
00002613: SWAP1
00002614: PUSH2 0x3899
00002617: JUMP
00002618: JUMPDEST
00002619: PUSH1 0x40
0000261b: MLOAD
0000261c: DUP1
0000261d: SWAP2
0000261e: SUB
0000261f: SWAP1
00002620: REVERT
00002621: JUMPDEST
00002622: PUSH1 0x02
00002624: PUSH1 0x00
00002626: DUP2
00002627: SWAP1
00002628: SSTORE
00002629: POP
0000262a: PUSH1 0x00
0000262c: PUSH2 0x2634
0000262f: DUP3
00002630: PUSH2 0x23b2
00002633: JUMP
00002634: JUMPDEST
00002635: SWAP1
00002636: POP
00002637: PUSH1 0x00
00002639: DUP2
0000263a: GT
0000263b: ISZERO
0000263c: PUSH2 0x2690
0000263f: JUMPI
00002640: PUSH1 0x03
00002642: SLOAD
00002643: PUSH1 0x04
00002645: PUSH1 0x00
00002647: DUP5
00002648: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000265d: AND
0000265e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002673: AND
00002674: DUP2
00002675: MSTORE
00002676: PUSH1 0x20
00002678: ADD
00002679: SWAP1
0000267a: DUP2
0000267b: MSTORE
0000267c: PUSH1 0x20
0000267e: ADD
0000267f: PUSH1 0x00
00002681: KECCAK256
00002682: DUP2
00002683: SWAP1
00002684: SSTORE
00002685: POP
00002686: PUSH2 0x268f
00002689: DUP3
0000268a: DUP3
0000268b: PUSH2 0x30b7
0000268e: JUMP
0000268f: JUMPDEST
00002690: JUMPDEST
00002691: POP
00002692: PUSH1 0x01
00002694: PUSH1 0x00
00002696: DUP2
00002697: SWAP1
00002698: SSTORE
00002699: POP
0000269a: POP
0000269b: JUMP
0000269c: JUMPDEST
0000269d: PUSH1 0x00
0000269f: PUSH1 0x06
000026a1: DUP1
000026a2: SLOAD
000026a3: SWAP1
000026a4: POP
000026a5: SWAP1
000026a6: POP
000026a7: SWAP1
000026a8: JUMP
000026a9: JUMPDEST
000026aa: PUSH1 0x00
000026ac: JUMPDEST
000026ad: PUSH1 0x06
000026af: DUP1
000026b0: SLOAD
000026b1: SWAP1
000026b2: POP
000026b3: DUP2
000026b4: LT
000026b5: ISZERO
000026b6: PUSH2 0x2777
000026b9: JUMPI
000026ba: PUSH1 0x06
000026bc: DUP2
000026bd: DUP2
000026be: SLOAD
000026bf: DUP2
000026c0: LT
000026c1: PUSH2 0x26cd
000026c4: JUMPI
000026c5: PUSH2 0x26cc
000026c8: PUSH2 0x3d15
000026cb: JUMP
000026cc: JUMPDEST
000026cd: JUMPDEST
000026ce: SWAP1
000026cf: PUSH1 0x00
000026d1: MSTORE
000026d2: PUSH1 0x20
000026d4: PUSH1 0x00
000026d6: KECCAK256
000026d7: ADD
000026d8: PUSH1 0x00
000026da: SWAP1
000026db: SLOAD
000026dc: SWAP1
000026dd: PUSH2 0x0100
000026e0: EXP
000026e1: SWAP1
000026e2: DIV
000026e3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000026f8: AND
000026f9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000270e: AND
0000270f: PUSH4 0x5d7e9467
00002714: CALLER
00002715: DUP5
00002716: PUSH1 0x40
00002718: MLOAD
00002719: DUP4
0000271a: PUSH4 0xffffffff
0000271f: AND
00002720: PUSH1 0xe0
00002722: SHL
00002723: DUP2
00002724: MSTORE
00002725: PUSH1 0x04
00002727: ADD
00002728: PUSH2 0x2732
0000272b: SWAP3
0000272c: SWAP2
0000272d: SWAP1
0000272e: PUSH2 0x361e
00002731: JUMP
00002732: JUMPDEST
00002733: PUSH1 0x00
00002735: PUSH1 0x40
00002737: MLOAD
00002738: DUP1
00002739: DUP4
0000273a: SUB
0000273b: DUP2
0000273c: PUSH1 0x00
0000273e: DUP8
0000273f: DUP1
00002740: EXTCODESIZE
00002741: ISZERO
00002742: DUP1
00002743: ISZERO
00002744: PUSH2 0x274c
00002747: JUMPI
00002748: PUSH1 0x00
0000274a: DUP1
0000274b: REVERT
0000274c: JUMPDEST
0000274d: POP
0000274e: GAS
0000274f: CALL
00002750: ISZERO
00002751: DUP1
00002752: ISZERO
00002753: PUSH2 0x2760
00002756: JUMPI
00002757: RETURNDATASIZE
00002758: PUSH1 0x00
0000275a: DUP1
0000275b: RETURNDATACOPY
0000275c: RETURNDATASIZE
0000275d: PUSH1 0x00
0000275f: REVERT
00002760: JUMPDEST
00002761: POP
00002762: POP
00002763: POP
00002764: POP
00002765: DUP1
00002766: DUP1
00002767: PUSH2 0x276f
0000276a: SWAP1
0000276b: PUSH2 0x3d44
0000276e: JUMP
0000276f: JUMPDEST
00002770: SWAP2
00002771: POP
00002772: POP
00002773: PUSH2 0x26ac
00002776: JUMP
00002777: JUMPDEST
00002778: POP
00002779: PUSH1 0x00
0000277b: PUSH1 0x05
0000277d: PUSH1 0x00
0000277f: CALLER
00002780: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002795: AND
00002796: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000027ab: AND
000027ac: DUP2
000027ad: MSTORE
000027ae: PUSH1 0x20
000027b0: ADD
000027b1: SWAP1
000027b2: DUP2
000027b3: MSTORE
000027b4: PUSH1 0x20
000027b6: ADD
000027b7: PUSH1 0x00
000027b9: KECCAK256
000027ba: SLOAD
000027bb: SWAP1
000027bc: POP
000027bd: PUSH1 0x00
000027bf: DUP2
000027c0: GT
000027c1: ISZERO
000027c2: PUSH2 0x27d3
000027c5: JUMPI
000027c6: PUSH2 0x27ce
000027c9: CALLER
000027ca: PUSH2 0x25db
000027cd: JUMP
000027ce: JUMPDEST
000027cf: PUSH2 0x281a
000027d2: JUMP
000027d3: JUMPDEST
000027d4: PUSH1 0x03
000027d6: SLOAD
000027d7: PUSH1 0x04
000027d9: PUSH1 0x00
000027db: CALLER
000027dc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000027f1: AND
000027f2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002807: AND
00002808: DUP2
00002809: MSTORE
0000280a: PUSH1 0x20
0000280c: ADD
0000280d: SWAP1
0000280e: DUP2
0000280f: MSTORE
00002810: PUSH1 0x20
00002812: ADD
00002813: PUSH1 0x00
00002815: KECCAK256
00002816: DUP2
00002817: SWAP1
00002818: SSTORE
00002819: POP
0000281a: JUMPDEST
0000281b: DUP2
0000281c: DUP2
0000281d: PUSH2 0x2826
00002820: SWAP2
00002821: SWAP1
00002822: PUSH2 0x37e6
00002825: JUMP
00002826: JUMPDEST
00002827: PUSH1 0x05
00002829: PUSH1 0x00
0000282b: CALLER
0000282c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002841: AND
00002842: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002857: AND
00002858: DUP2
00002859: MSTORE
0000285a: PUSH1 0x20
0000285c: ADD
0000285d: SWAP1
0000285e: DUP2
0000285f: MSTORE
00002860: PUSH1 0x20
00002862: ADD
00002863: PUSH1 0x00
00002865: KECCAK256
00002866: DUP2
00002867: SWAP1
00002868: SSTORE
00002869: POP
0000286a: PUSH1 0x02
0000286c: PUSH1 0x00
0000286e: SWAP1
0000286f: SLOAD
00002870: SWAP1
00002871: PUSH2 0x0100
00002874: EXP
00002875: SWAP1
00002876: DIV
00002877: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000288c: AND
0000288d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000028a2: AND
000028a3: PUSH4 0x23b872dd
000028a8: CALLER
000028a9: ADDRESS
000028aa: DUP6
000028ab: PUSH1 0x40
000028ad: MLOAD
000028ae: DUP5
000028af: PUSH4 0xffffffff
000028b4: AND
000028b5: PUSH1 0xe0
000028b7: SHL
000028b8: DUP2
000028b9: MSTORE
000028ba: PUSH1 0x04
000028bc: ADD
000028bd: PUSH2 0x28c8
000028c0: SWAP4
000028c1: SWAP3
000028c2: SWAP2
000028c3: SWAP1
000028c4: PUSH2 0x4126
000028c7: JUMP
000028c8: JUMPDEST
000028c9: PUSH1 0x20
000028cb: PUSH1 0x40
000028cd: MLOAD
000028ce: DUP1
000028cf: DUP4
000028d0: SUB
000028d1: DUP2
000028d2: PUSH1 0x00
000028d4: DUP8
000028d5: DUP1
000028d6: EXTCODESIZE
000028d7: ISZERO
000028d8: DUP1
000028d9: ISZERO
000028da: PUSH2 0x28e2
000028dd: JUMPI
000028de: PUSH1 0x00
000028e0: DUP1
000028e1: REVERT
000028e2: JUMPDEST
000028e3: POP
000028e4: GAS
000028e5: CALL
000028e6: ISZERO
000028e7: DUP1
000028e8: ISZERO
000028e9: PUSH2 0x28f6
000028ec: JUMPI
000028ed: RETURNDATASIZE
000028ee: PUSH1 0x00
000028f0: DUP1
000028f1: RETURNDATACOPY
000028f2: RETURNDATASIZE
000028f3: PUSH1 0x00
000028f5: REVERT
000028f6: JUMPDEST
000028f7: POP
000028f8: POP
000028f9: POP
000028fa: POP
000028fb: PUSH1 0x40
000028fd: MLOAD
000028fe: RETURNDATASIZE
000028ff: PUSH1 0x1f
00002901: NOT
00002902: PUSH1 0x1f
00002904: DUP3
00002905: ADD
00002906: AND
00002907: DUP3
00002908: ADD
00002909: DUP1
0000290a: PUSH1 0x40
0000290c: MSTORE
0000290d: POP
0000290e: DUP2
0000290f: ADD
00002910: SWAP1
00002911: PUSH2 0x291a
00002914: SWAP2
00002915: SWAP1
00002916: PUSH2 0x3dc5
00002919: JUMP
0000291a: JUMPDEST
0000291b: PUSH2 0x2959
0000291e: JUMPI
0000291f: PUSH1 0x40
00002921: MLOAD
00002922: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002943: DUP2
00002944: MSTORE
00002945: PUSH1 0x04
00002947: ADD
00002948: PUSH2 0x2950
0000294b: SWAP1
0000294c: PUSH2 0x42b0
0000294f: JUMP
00002950: JUMPDEST
00002951: PUSH1 0x40
00002953: MLOAD
00002954: DUP1
00002955: SWAP2
00002956: SUB
00002957: SWAP1
00002958: REVERT
00002959: JUMPDEST
0000295a: POP
0000295b: POP
0000295c: JUMP
0000295d: JUMPDEST
0000295e: PUSH1 0x02
00002960: PUSH1 0x00
00002962: SLOAD
00002963: EQ
00002964: ISZERO
00002965: PUSH2 0x29a3
00002968: JUMPI
00002969: PUSH1 0x40
0000296b: MLOAD
0000296c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000298d: DUP2
0000298e: MSTORE
0000298f: PUSH1 0x04
00002991: ADD
00002992: PUSH2 0x299a
00002995: SWAP1
00002996: PUSH2 0x3899
00002999: JUMP
0000299a: JUMPDEST
0000299b: PUSH1 0x40
0000299d: MLOAD
0000299e: DUP1
0000299f: SWAP2
000029a0: SUB
000029a1: SWAP1
000029a2: REVERT
000029a3: JUMPDEST
000029a4: PUSH1 0x02
000029a6: PUSH1 0x00
000029a8: DUP2
000029a9: SWAP1
000029aa: SSTORE
000029ab: POP
000029ac: PUSH1 0x07
000029ae: PUSH1 0x00
000029b0: DUP3
000029b1: DUP2
000029b2: MSTORE
000029b3: PUSH1 0x20
000029b5: ADD
000029b6: SWAP1
000029b7: DUP2
000029b8: MSTORE
000029b9: PUSH1 0x20
000029bb: ADD
000029bc: PUSH1 0x00
000029be: KECCAK256
000029bf: PUSH1 0x00
000029c1: ADD
000029c2: PUSH1 0x00
000029c4: SWAP1
000029c5: SLOAD
000029c6: SWAP1
000029c7: PUSH2 0x0100
000029ca: EXP
000029cb: SWAP1
000029cc: DIV
000029cd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000029e2: AND
000029e3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000029f8: AND
000029f9: CALLER
000029fa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002a0f: AND
00002a10: EQ
00002a11: PUSH2 0x2a4f
00002a14: JUMPI
00002a15: PUSH1 0x40
00002a17: MLOAD
00002a18: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002a39: DUP2
00002a3a: MSTORE
00002a3b: PUSH1 0x04
00002a3d: ADD
00002a3e: PUSH2 0x2a46
00002a41: SWAP1
00002a42: PUSH2 0x4342
00002a45: JUMP
00002a46: JUMPDEST
00002a47: PUSH1 0x40
00002a49: MLOAD
00002a4a: DUP1
00002a4b: SWAP2
00002a4c: SUB
00002a4d: SWAP1
00002a4e: REVERT
00002a4f: JUMPDEST
00002a50: PUSH2 0x2a58
00002a53: DUP2
00002a54: PUSH2 0x3244
00002a57: JUMP
00002a58: JUMPDEST
00002a59: PUSH1 0x01
00002a5b: PUSH1 0x00
00002a5d: DUP2
00002a5e: SWAP1
00002a5f: SSTORE
00002a60: POP
00002a61: POP
00002a62: JUMP
00002a63: JUMPDEST
00002a64: PUSH1 0x00
00002a66: PUSH1 0x05
00002a68: PUSH1 0x00
00002a6a: DUP4
00002a6b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002a80: AND
00002a81: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002a96: AND
00002a97: DUP2
00002a98: MSTORE
00002a99: PUSH1 0x20
00002a9b: ADD
00002a9c: SWAP1
00002a9d: DUP2
00002a9e: MSTORE
00002a9f: PUSH1 0x20
00002aa1: ADD
00002aa2: PUSH1 0x00
00002aa4: KECCAK256
00002aa5: SLOAD
00002aa6: SWAP1
00002aa7: POP
00002aa8: SWAP2
00002aa9: SWAP1
00002aaa: POP
00002aab: JUMP
00002aac: JUMPDEST
00002aad: DUP2
00002aae: PUSH32 0x000000000000000000000000439cac149b935ae1d726569800972e1669d17094
00002acf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002ae4: AND
00002ae5: PUSH4 0x6352211e
00002aea: DUP3
00002aeb: PUSH1 0x40
00002aed: MLOAD
00002aee: DUP3
00002aef: PUSH4 0xffffffff
00002af4: AND
00002af5: PUSH1 0xe0
00002af7: SHL
00002af8: DUP2
00002af9: MSTORE
00002afa: PUSH1 0x04
00002afc: ADD
00002afd: PUSH2 0x2b06
00002b00: SWAP2
00002b01: SWAP1
00002b02: PUSH2 0x3484
00002b05: JUMP
00002b06: JUMPDEST
00002b07: PUSH1 0x20
00002b09: PUSH1 0x40
00002b0b: MLOAD
00002b0c: DUP1
00002b0d: DUP4
00002b0e: SUB
00002b0f: DUP2
00002b10: DUP7
00002b11: DUP1
00002b12: EXTCODESIZE
00002b13: ISZERO
00002b14: DUP1
00002b15: ISZERO
00002b16: PUSH2 0x2b1e
00002b19: JUMPI
00002b1a: PUSH1 0x00
00002b1c: DUP1
00002b1d: REVERT
00002b1e: JUMPDEST
00002b1f: POP
00002b20: GAS
00002b21: STATICCALL
00002b22: ISZERO
00002b23: DUP1
00002b24: ISZERO
00002b25: PUSH2 0x2b32
00002b28: JUMPI
00002b29: RETURNDATASIZE
00002b2a: PUSH1 0x00
00002b2c: DUP1
00002b2d: RETURNDATACOPY
00002b2e: RETURNDATASIZE
00002b2f: PUSH1 0x00
00002b31: REVERT
00002b32: JUMPDEST
00002b33: POP
00002b34: POP
00002b35: POP
00002b36: POP
00002b37: PUSH1 0x40
00002b39: MLOAD
00002b3a: RETURNDATASIZE
00002b3b: PUSH1 0x1f
00002b3d: NOT
00002b3e: PUSH1 0x1f
00002b40: DUP3
00002b41: ADD
00002b42: AND
00002b43: DUP3
00002b44: ADD
00002b45: DUP1
00002b46: PUSH1 0x40
00002b48: MSTORE
00002b49: POP
00002b4a: DUP2
00002b4b: ADD
00002b4c: SWAP1
00002b4d: PUSH2 0x2b56
00002b50: SWAP2
00002b51: SWAP1
00002b52: PUSH2 0x38ce
00002b55: JUMP
00002b56: JUMPDEST
00002b57: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002b6c: AND
00002b6d: CALLER
00002b6e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002b83: AND
00002b84: EQ
00002b85: PUSH2 0x2bc3
00002b88: JUMPI
00002b89: PUSH1 0x40
00002b8b: MLOAD
00002b8c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002bad: DUP2
00002bae: MSTORE
00002baf: PUSH1 0x04
00002bb1: ADD
00002bb2: PUSH2 0x2bba
00002bb5: SWAP1
00002bb6: PUSH2 0x3c63
00002bb9: JUMP
00002bba: JUMPDEST
00002bbb: PUSH1 0x40
00002bbd: MLOAD
00002bbe: DUP1
00002bbf: SWAP2
00002bc0: SUB
00002bc1: SWAP1
00002bc2: REVERT
00002bc3: JUMPDEST
00002bc4: PUSH1 0x02
00002bc6: PUSH1 0x00
00002bc8: SLOAD
00002bc9: EQ
00002bca: ISZERO
00002bcb: PUSH2 0x2c09
00002bce: JUMPI
00002bcf: PUSH1 0x40
00002bd1: MLOAD
00002bd2: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002bf3: DUP2
00002bf4: MSTORE
00002bf5: PUSH1 0x04
00002bf7: ADD
00002bf8: PUSH2 0x2c00
00002bfb: SWAP1
00002bfc: PUSH2 0x3899
00002bff: JUMP
00002c00: JUMPDEST
00002c01: PUSH1 0x40
00002c03: MLOAD
00002c04: DUP1
00002c05: SWAP2
00002c06: SUB
00002c07: SWAP1
00002c08: REVERT
00002c09: JUMPDEST
00002c0a: PUSH1 0x02
00002c0c: PUSH1 0x00
00002c0e: DUP2
00002c0f: SWAP1
00002c10: SSTORE
00002c11: POP
00002c12: PUSH1 0x00
00002c14: PUSH1 0x08
00002c16: PUSH1 0x00
00002c18: DUP6
00002c19: DUP2
00002c1a: MSTORE
00002c1b: PUSH1 0x20
00002c1d: ADD
00002c1e: SWAP1
00002c1f: DUP2
00002c20: MSTORE
00002c21: PUSH1 0x20
00002c23: ADD
00002c24: PUSH1 0x00
00002c26: KECCAK256
00002c27: PUSH1 0x40
00002c29: MLOAD
00002c2a: DUP1
00002c2b: PUSH1 0x40
00002c2d: ADD
00002c2e: PUSH1 0x40
00002c30: MSTORE
00002c31: SWAP1
00002c32: DUP2
00002c33: PUSH1 0x00
00002c35: DUP3
00002c36: ADD
00002c37: PUSH1 0x00
00002c39: SWAP1
00002c3a: SLOAD
00002c3b: SWAP1
00002c3c: PUSH2 0x0100
00002c3f: EXP
00002c40: SWAP1
00002c41: DIV
00002c42: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002c57: AND
00002c58: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002c6d: AND
00002c6e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002c83: AND
00002c84: DUP2
00002c85: MSTORE
00002c86: PUSH1 0x20
00002c88: ADD
00002c89: PUSH1 0x01
00002c8b: DUP3
00002c8c: ADD
00002c8d: SLOAD
00002c8e: DUP2
00002c8f: MSTORE
00002c90: POP
00002c91: POP
00002c92: SWAP1
00002c93: POP
00002c94: PUSH1 0x00
00002c96: DUP2
00002c97: PUSH1 0x20
00002c99: ADD
00002c9a: MLOAD
00002c9b: GT
00002c9c: PUSH2 0x2cda
00002c9f: JUMPI
00002ca0: PUSH1 0x40
00002ca2: MLOAD
00002ca3: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002cc4: DUP2
00002cc5: MSTORE
00002cc6: PUSH1 0x04
00002cc8: ADD
00002cc9: PUSH2 0x2cd1
00002ccc: SWAP1
00002ccd: PUSH2 0x43ae
00002cd0: JUMP
00002cd1: JUMPDEST
00002cd2: PUSH1 0x40
00002cd4: MLOAD
00002cd5: DUP1
00002cd6: SWAP2
00002cd7: SUB
00002cd8: SWAP1
00002cd9: REVERT
00002cda: JUMPDEST
00002cdb: DUP3
00002cdc: DUP2
00002cdd: PUSH1 0x20
00002cdf: ADD
00002ce0: MLOAD
00002ce1: LT
00002ce2: ISZERO
00002ce3: PUSH2 0x2d21
00002ce6: JUMPI
00002ce7: PUSH1 0x40
00002ce9: MLOAD
00002cea: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002d0b: DUP2
00002d0c: MSTORE
00002d0d: PUSH1 0x04
00002d0f: ADD
00002d10: PUSH2 0x2d18
00002d13: SWAP1
00002d14: PUSH2 0x4440
00002d17: JUMP
00002d18: JUMPDEST
00002d19: PUSH1 0x40
00002d1b: MLOAD
00002d1c: DUP1
00002d1d: SWAP2
00002d1e: SUB
00002d1f: SWAP1
00002d20: REVERT
00002d21: JUMPDEST
00002d22: PUSH1 0x07
00002d24: PUSH1 0x00
00002d26: DUP6
00002d27: DUP2
00002d28: MSTORE
00002d29: PUSH1 0x20
00002d2b: ADD
00002d2c: SWAP1
00002d2d: DUP2
00002d2e: MSTORE
00002d2f: PUSH1 0x20
00002d31: ADD
00002d32: PUSH1 0x00
00002d34: KECCAK256
00002d35: PUSH1 0x00
00002d37: DUP1
00002d38: DUP3
00002d39: ADD
00002d3a: PUSH1 0x00
00002d3c: PUSH2 0x0100
00002d3f: EXP
00002d40: DUP2
00002d41: SLOAD
00002d42: SWAP1
00002d43: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002d58: MUL
00002d59: NOT
00002d5a: AND
00002d5b: SWAP1
00002d5c: SSTORE
00002d5d: PUSH1 0x01
00002d5f: DUP3
00002d60: ADD
00002d61: PUSH1 0x00
00002d63: SWAP1
00002d64: SSTORE
00002d65: PUSH1 0x02
00002d67: DUP3
00002d68: ADD
00002d69: PUSH1 0x00
00002d6b: PUSH2 0x0100
00002d6e: EXP
00002d6f: DUP2
00002d70: SLOAD
00002d71: SWAP1
00002d72: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002d87: MUL
00002d88: NOT
00002d89: AND
00002d8a: SWAP1
00002d8b: SSTORE
00002d8c: POP
00002d8d: POP
00002d8e: PUSH32 0x000000000000000000000000439cac149b935ae1d726569800972e1669d17094
00002daf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002dc4: AND
00002dc5: PUSH4 0x42842e0e
00002dca: CALLER
00002dcb: DUP4
00002dcc: PUSH1 0x00
00002dce: ADD
00002dcf: MLOAD
00002dd0: DUP8
00002dd1: PUSH1 0x40
00002dd3: MLOAD
00002dd4: DUP5
00002dd5: PUSH4 0xffffffff
00002dda: AND
00002ddb: PUSH1 0xe0
00002ddd: SHL
00002dde: DUP2
00002ddf: MSTORE
00002de0: PUSH1 0x04
00002de2: ADD
00002de3: PUSH2 0x2dee
00002de6: SWAP4
00002de7: SWAP3
00002de8: SWAP2
00002de9: SWAP1
00002dea: PUSH2 0x4126
00002ded: JUMP
00002dee: JUMPDEST
00002def: PUSH1 0x00
00002df1: PUSH1 0x40
00002df3: MLOAD
00002df4: DUP1
00002df5: DUP4
00002df6: SUB
00002df7: DUP2
00002df8: PUSH1 0x00
00002dfa: DUP8
00002dfb: DUP1
00002dfc: EXTCODESIZE
00002dfd: ISZERO
00002dfe: DUP1
00002dff: ISZERO
00002e00: PUSH2 0x2e08
00002e03: JUMPI
00002e04: PUSH1 0x00
00002e06: DUP1
00002e07: REVERT
00002e08: JUMPDEST
00002e09: POP
00002e0a: GAS
00002e0b: CALL
00002e0c: ISZERO
00002e0d: DUP1
00002e0e: ISZERO
00002e0f: PUSH2 0x2e1c
00002e12: JUMPI
00002e13: RETURNDATASIZE
00002e14: PUSH1 0x00
00002e16: DUP1
00002e17: RETURNDATACOPY
00002e18: RETURNDATASIZE
00002e19: PUSH1 0x00
00002e1b: REVERT
00002e1c: JUMPDEST
00002e1d: POP
00002e1e: POP
00002e1f: POP
00002e20: POP
00002e21: PUSH1 0x00
00002e23: DUP2
00002e24: PUSH1 0x20
00002e26: ADD
00002e27: MLOAD
00002e28: SWAP1
00002e29: POP
00002e2a: PUSH1 0x08
00002e2c: PUSH1 0x00
00002e2e: DUP7
00002e2f: DUP2
00002e30: MSTORE
00002e31: PUSH1 0x20
00002e33: ADD
00002e34: SWAP1
00002e35: DUP2
00002e36: MSTORE
00002e37: PUSH1 0x20
00002e39: ADD
00002e3a: PUSH1 0x00
00002e3c: KECCAK256
00002e3d: PUSH1 0x00
00002e3f: DUP1
00002e40: DUP3
00002e41: ADD
00002e42: PUSH1 0x00
00002e44: PUSH2 0x0100
00002e47: EXP
00002e48: DUP2
00002e49: SLOAD
00002e4a: SWAP1
00002e4b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002e60: MUL
00002e61: NOT
00002e62: AND
00002e63: SWAP1
00002e64: SSTORE
00002e65: PUSH1 0x01
00002e67: DUP3
00002e68: ADD
00002e69: PUSH1 0x00
00002e6b: SWAP1
00002e6c: SSTORE
00002e6d: POP
00002e6e: POP
00002e6f: PUSH1 0x00
00002e71: PUSH2 0x2710
00002e74: PUSH2 0x02ee
00002e77: DUP4
00002e78: PUSH2 0x2e81
00002e7b: SWAP2
00002e7c: SWAP1
00002e7d: PUSH2 0x372c
00002e80: JUMP
00002e81: JUMPDEST
00002e82: PUSH2 0x2e8b
00002e85: SWAP2
00002e86: SWAP1
00002e87: PUSH2 0x37b5
00002e8a: JUMP
00002e8b: JUMPDEST
00002e8c: SWAP1
00002e8d: POP
00002e8e: PUSH1 0x00
00002e90: DUP2
00002e91: DUP4
00002e92: PUSH2 0x2e9b
00002e95: SWAP2
00002e96: SWAP1
00002e97: PUSH2 0x3e84
00002e9a: JUMP
00002e9b: JUMPDEST
00002e9c: SWAP1
00002e9d: POP
00002e9e: DUP1
00002e9f: PUSH1 0x09
00002ea1: PUSH1 0x00
00002ea3: CALLER
00002ea4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002eb9: AND
00002eba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002ecf: AND
00002ed0: DUP2
00002ed1: MSTORE
00002ed2: PUSH1 0x20
00002ed4: ADD
00002ed5: SWAP1
00002ed6: DUP2
00002ed7: MSTORE
00002ed8: PUSH1 0x20
00002eda: ADD
00002edb: PUSH1 0x00
00002edd: KECCAK256
00002ede: PUSH1 0x00
00002ee0: DUP3
00002ee1: DUP3
00002ee2: SLOAD
00002ee3: PUSH2 0x2eec
00002ee6: SWAP2
00002ee7: SWAP1
00002ee8: PUSH2 0x37e6
00002eeb: JUMP
00002eec: JUMPDEST
00002eed: SWAP3
00002eee: POP
00002eef: POP
00002ef0: DUP2
00002ef1: SWAP1
00002ef2: SSTORE
00002ef3: POP
00002ef4: PUSH2 0x2efc
00002ef7: DUP3
00002ef8: PUSH2 0x0737
00002efb: JUMP
00002efc: JUMPDEST
00002efd: DUP4
00002efe: PUSH1 0x00
00002f00: ADD
00002f01: MLOAD
00002f02: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002f17: AND
00002f18: CALLER
00002f19: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002f2e: AND
00002f2f: DUP9
00002f30: PUSH32 0x10da7de539762d5a4215e91a34acd5eba17edf57b64b53ed63b52bfb248b6551
00002f51: DUP7
00002f52: PUSH1 0x03
00002f54: SLOAD
00002f55: PUSH1 0x40
00002f57: MLOAD
00002f58: PUSH2 0x2f62
00002f5b: SWAP3
00002f5c: SWAP2
00002f5d: SWAP1
00002f5e: PUSH2 0x415d
00002f61: JUMP
00002f62: JUMPDEST
00002f63: PUSH1 0x40
00002f65: MLOAD
00002f66: DUP1
00002f67: SWAP2
00002f68: SUB
00002f69: SWAP1
00002f6a: LOG4
00002f6b: POP
00002f6c: POP
00002f6d: POP
00002f6e: POP
00002f6f: PUSH1 0x01
00002f71: PUSH1 0x00
00002f73: DUP2
00002f74: SWAP1
00002f75: SSTORE
00002f76: POP
00002f77: POP
00002f78: POP
00002f79: POP
00002f7a: JUMP
00002f7b: JUMPDEST
00002f7c: PUSH32 0x000000000000000000000000439cac149b935ae1d726569800972e1669d17094
00002f9d: DUP2
00002f9e: JUMP
00002f9f: JUMPDEST
00002fa0: PUSH2 0x2fa7
00002fa3: PUSH2 0x30af
00002fa6: JUMP
00002fa7: JUMPDEST
00002fa8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002fbd: AND
00002fbe: PUSH2 0x2fc5
00002fc1: PUSH2 0x2465
00002fc4: JUMP
00002fc5: JUMPDEST
00002fc6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002fdb: AND
00002fdc: EQ
00002fdd: PUSH2 0x301b
00002fe0: JUMPI
00002fe1: PUSH1 0x40
00002fe3: MLOAD
00002fe4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003005: DUP2
00003006: MSTORE
00003007: PUSH1 0x04
00003009: ADD
0000300a: PUSH2 0x3012
0000300d: SWAP1
0000300e: PUSH2 0x3b8f
00003011: JUMP
00003012: JUMPDEST
00003013: PUSH1 0x40
00003015: MLOAD
00003016: DUP1
00003017: SWAP2
00003018: SUB
00003019: SWAP1
0000301a: REVERT
0000301b: JUMPDEST
0000301c: PUSH1 0x00
0000301e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003033: AND
00003034: DUP2
00003035: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000304a: AND
0000304b: EQ
0000304c: ISZERO
0000304d: PUSH2 0x308b
00003050: JUMPI
00003051: PUSH1 0x40
00003053: MLOAD
00003054: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003075: DUP2
00003076: MSTORE
00003077: PUSH1 0x04
00003079: ADD
0000307a: PUSH2 0x3082
0000307d: SWAP1
0000307e: PUSH2 0x44d2
00003081: JUMP
00003082: JUMPDEST
00003083: PUSH1 0x40
00003085: MLOAD
00003086: DUP1
00003087: SWAP2
00003088: SUB
00003089: SWAP1
0000308a: REVERT
0000308b: JUMPDEST
0000308c: PUSH2 0x3094
0000308f: DUP2
00003090: PUSH2 0x32e0
00003093: JUMP
00003094: JUMPDEST
00003095: POP
00003096: JUMP
00003097: JUMPDEST
00003098: PUSH1 0x09
0000309a: PUSH1 0x20
0000309c: MSTORE
0000309d: DUP1
0000309e: PUSH1 0x00
000030a0: MSTORE
000030a1: PUSH1 0x40
000030a3: PUSH1 0x00
000030a5: KECCAK256
000030a6: PUSH1 0x00
000030a8: SWAP2
000030a9: POP
000030aa: SWAP1
000030ab: POP
000030ac: SLOAD
000030ad: DUP2
000030ae: JUMP
000030af: JUMPDEST
000030b0: PUSH1 0x00
000030b2: CALLER
000030b3: SWAP1
000030b4: POP
000030b5: SWAP1
000030b6: JUMP
000030b7: JUMPDEST
000030b8: DUP1
000030b9: SELFBALANCE
000030ba: LT
000030bb: ISZERO
000030bc: PUSH2 0x30fa
000030bf: JUMPI
000030c0: PUSH1 0x40
000030c2: MLOAD
000030c3: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000030e4: DUP2
000030e5: MSTORE
000030e6: PUSH1 0x04
000030e8: ADD
000030e9: PUSH2 0x30f1
000030ec: SWAP1
000030ed: PUSH2 0x453e
000030f0: JUMP
000030f1: JUMPDEST
000030f2: PUSH1 0x40
000030f4: MLOAD
000030f5: DUP1
000030f6: SWAP2
000030f7: SUB
000030f8: SWAP1
000030f9: REVERT
000030fa: JUMPDEST
000030fb: PUSH1 0x00
000030fd: DUP3
000030fe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003113: AND
00003114: DUP3
00003115: PUSH1 0x40
00003117: MLOAD
00003118: PUSH2 0x3120
0000311b: SWAP1
0000311c: PUSH2 0x458f
0000311f: JUMP
00003120: JUMPDEST
00003121: PUSH1 0x00
00003123: PUSH1 0x40
00003125: MLOAD
00003126: DUP1
00003127: DUP4
00003128: SUB
00003129: DUP2
0000312a: DUP6
0000312b: DUP8
0000312c: GAS
0000312d: CALL
0000312e: SWAP3
0000312f: POP
00003130: POP
00003131: POP
00003132: RETURNDATASIZE
00003133: DUP1
00003134: PUSH1 0x00
00003136: DUP2
00003137: EQ
00003138: PUSH2 0x315d
0000313b: JUMPI
0000313c: PUSH1 0x40
0000313e: MLOAD
0000313f: SWAP2
00003140: POP
00003141: PUSH1 0x1f
00003143: NOT
00003144: PUSH1 0x3f
00003146: RETURNDATASIZE
00003147: ADD
00003148: AND
00003149: DUP3
0000314a: ADD
0000314b: PUSH1 0x40
0000314d: MSTORE
0000314e: RETURNDATASIZE
0000314f: DUP3
00003150: MSTORE
00003151: RETURNDATASIZE
00003152: PUSH1 0x00
00003154: PUSH1 0x20
00003156: DUP5
00003157: ADD
00003158: RETURNDATACOPY
00003159: PUSH2 0x3162
0000315c: JUMP
0000315d: JUMPDEST
0000315e: PUSH1 0x60
00003160: SWAP2
00003161: POP
00003162: JUMPDEST
00003163: POP
00003164: POP
00003165: SWAP1
00003166: POP
00003167: DUP1
00003168: PUSH2 0x31a6
0000316b: JUMPI
0000316c: PUSH1 0x40
0000316e: MLOAD
0000316f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003190: DUP2
00003191: MSTORE
00003192: PUSH1 0x04
00003194: ADD
00003195: PUSH2 0x319d
00003198: SWAP1
00003199: PUSH2 0x4616
0000319c: JUMP
0000319d: JUMPDEST
0000319e: PUSH1 0x40
000031a0: MLOAD
000031a1: DUP1
000031a2: SWAP2
000031a3: SUB
000031a4: SWAP1
000031a5: REVERT
000031a6: JUMPDEST
000031a7: POP
000031a8: POP
000031a9: POP
000031aa: JUMP
000031ab: JUMPDEST
000031ac: PUSH2 0x3241
000031af: DUP2
000031b0: PUSH1 0x40
000031b2: MLOAD
000031b3: PUSH1 0x24
000031b5: ADD
000031b6: PUSH2 0x31bf
000031b9: SWAP2
000031ba: SWAP1
000031bb: PUSH2 0x46be
000031be: JUMP
000031bf: JUMPDEST
000031c0: PUSH1 0x40
000031c2: MLOAD
000031c3: PUSH1 0x20
000031c5: DUP2
000031c6: DUP4
000031c7: SUB
000031c8: SUB
000031c9: DUP2
000031ca: MSTORE
000031cb: SWAP1
000031cc: PUSH1 0x40
000031ce: MSTORE
000031cf: PUSH32 0x41304fac00000000000000000000000000000000000000000000000000000000
000031f0: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000320d: NOT
0000320e: AND
0000320f: PUSH1 0x20
00003211: DUP3
00003212: ADD
00003213: DUP1
00003214: MLOAD
00003215: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00003232: DUP4
00003233: DUP2
00003234: DUP4
00003235: AND
00003236: OR
00003237: DUP4
00003238: MSTORE
00003239: POP
0000323a: POP
0000323b: POP
0000323c: POP
0000323d: PUSH2 0x33a6
00003240: JUMP
00003241: JUMPDEST
00003242: POP
00003243: JUMP
00003244: JUMPDEST
00003245: PUSH1 0x07
00003247: PUSH1 0x00
00003249: DUP3
0000324a: DUP2
0000324b: MSTORE
0000324c: PUSH1 0x20
0000324e: ADD
0000324f: SWAP1
00003250: DUP2
00003251: MSTORE
00003252: PUSH1 0x20
00003254: ADD
00003255: PUSH1 0x00
00003257: KECCAK256
00003258: PUSH1 0x00
0000325a: DUP1
0000325b: DUP3
0000325c: ADD
0000325d: PUSH1 0x00
0000325f: PUSH2 0x0100
00003262: EXP
00003263: DUP2
00003264: SLOAD
00003265: SWAP1
00003266: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000327b: MUL
0000327c: NOT
0000327d: AND
0000327e: SWAP1
0000327f: SSTORE
00003280: PUSH1 0x01
00003282: DUP3
00003283: ADD
00003284: PUSH1 0x00
00003286: SWAP1
00003287: SSTORE
00003288: PUSH1 0x02
0000328a: DUP3
0000328b: ADD
0000328c: PUSH1 0x00
0000328e: PUSH2 0x0100
00003291: EXP
00003292: DUP2
00003293: SLOAD
00003294: SWAP1
00003295: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000032aa: MUL
000032ab: NOT
000032ac: AND
000032ad: SWAP1
000032ae: SSTORE
000032af: POP
000032b0: POP
000032b1: DUP1
000032b2: PUSH32 0x8cf331587d51f02fe3cd55b9d645a7a01c2b76d0477e35348e21b1344b9d79bc
000032d3: PUSH1 0x40
000032d5: MLOAD
000032d6: PUSH1 0x40
000032d8: MLOAD
000032d9: DUP1
000032da: SWAP2
000032db: SUB
000032dc: SWAP1
000032dd: LOG2
000032de: POP
000032df: JUMP
000032e0: JUMPDEST
000032e1: PUSH1 0x00
000032e3: PUSH1 0x01
000032e5: PUSH1 0x00
000032e7: SWAP1
000032e8: SLOAD
000032e9: SWAP1
000032ea: PUSH2 0x0100
000032ed: EXP
000032ee: SWAP1
000032ef: DIV
000032f0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003305: AND
00003306: SWAP1
00003307: POP
00003308: DUP2
00003309: PUSH1 0x01
0000330b: PUSH1 0x00
0000330d: PUSH2 0x0100
00003310: EXP
00003311: DUP2
00003312: SLOAD
00003313: DUP2
00003314: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003329: MUL
0000332a: NOT
0000332b: AND
0000332c: SWAP1
0000332d: DUP4
0000332e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003343: AND
00003344: MUL
00003345: OR
00003346: SWAP1
00003347: SSTORE
00003348: POP
00003349: DUP2
0000334a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000335f: AND
00003360: DUP2
00003361: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003376: AND
00003377: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00003398: PUSH1 0x40
0000339a: MLOAD
0000339b: PUSH1 0x40
0000339d: MLOAD
0000339e: DUP1
0000339f: SWAP2
000033a0: SUB
000033a1: SWAP1
000033a2: LOG3
000033a3: POP
000033a4: POP
000033a5: JUMP
000033a6: JUMPDEST
000033a7: PUSH1 0x00
000033a9: DUP2
000033aa: MLOAD
000033ab: SWAP1
000033ac: POP
000033ad: PUSH1 0x00
000033af: PUSH11 0x636f6e736f6c652e6c6f67
000033bb: SWAP1
000033bc: POP
000033bd: PUSH1 0x20
000033bf: DUP4
000033c0: ADD
000033c1: PUSH1 0x00
000033c3: DUP1
000033c4: DUP5
000033c5: DUP4
000033c6: DUP6
000033c7: GAS
000033c8: STATICCALL
000033c9: POP
000033ca: POP
000033cb: POP
000033cc: POP
000033cd: POP
000033ce: JUMP
000033cf: JUMPDEST
000033d0: POP
000033d1: DUP1
000033d2: SLOAD
000033d3: PUSH1 0x00
000033d5: DUP3
000033d6: SSTORE
000033d7: SWAP1
000033d8: PUSH1 0x00
000033da: MSTORE
000033db: PUSH1 0x20
000033dd: PUSH1 0x00
000033df: KECCAK256
000033e0: SWAP1
000033e1: DUP2
000033e2: ADD
000033e3: SWAP1
000033e4: PUSH2 0x33ed
000033e7: SWAP2
000033e8: SWAP1
000033e9: PUSH2 0x33f0
000033ec: JUMP
000033ed: JUMPDEST
000033ee: POP
000033ef: JUMP
000033f0: JUMPDEST
000033f1: JUMPDEST
000033f2: DUP1
000033f3: DUP3
000033f4: GT
000033f5: ISZERO
000033f6: PUSH2 0x3409
000033f9: JUMPI
000033fa: PUSH1 0x00
000033fc: DUP2
000033fd: PUSH1 0x00
000033ff: SWAP1
00003400: SSTORE
00003401: POP
00003402: PUSH1 0x01
00003404: ADD
00003405: PUSH2 0x33f1
00003408: JUMP
00003409: JUMPDEST
0000340a: POP
0000340b: SWAP1
0000340c: JUMP
0000340d: JUMPDEST
0000340e: PUSH1 0x00
00003410: DUP1
00003411: REVERT
00003412: JUMPDEST
00003413: PUSH1 0x00
00003415: DUP2
00003416: SWAP1
00003417: POP
00003418: SWAP2
00003419: SWAP1
0000341a: POP
0000341b: JUMP
0000341c: JUMPDEST
0000341d: PUSH2 0x3425
00003420: DUP2
00003421: PUSH2 0x3412
00003424: JUMP
00003425: JUMPDEST
00003426: DUP2
00003427: EQ
00003428: PUSH2 0x3430
0000342b: JUMPI
0000342c: PUSH1 0x00
0000342e: DUP1
0000342f: REVERT
00003430: JUMPDEST
00003431: POP
00003432: JUMP
00003433: JUMPDEST
00003434: PUSH1 0x00
00003436: DUP2
00003437: CALLDATALOAD
00003438: SWAP1
00003439: POP
0000343a: PUSH2 0x3442
0000343d: DUP2
0000343e: PUSH2 0x341c
00003441: JUMP
00003442: JUMPDEST
00003443: SWAP3
00003444: SWAP2
00003445: POP
00003446: POP
00003447: JUMP
00003448: JUMPDEST
00003449: PUSH1 0x00
0000344b: PUSH1 0x20
0000344d: DUP3
0000344e: DUP5
0000344f: SUB
00003450: SLT
00003451: ISZERO
00003452: PUSH2 0x345e
00003455: JUMPI
00003456: PUSH2 0x345d
00003459: PUSH2 0x340d
0000345c: JUMP
0000345d: JUMPDEST
0000345e: JUMPDEST
0000345f: PUSH1 0x00
00003461: PUSH2 0x346c
00003464: DUP5
00003465: DUP3
00003466: DUP6
00003467: ADD
00003468: PUSH2 0x3433
0000346b: JUMP
0000346c: JUMPDEST
0000346d: SWAP2
0000346e: POP
0000346f: POP
00003470: SWAP3
00003471: SWAP2
00003472: POP
00003473: POP
00003474: JUMP
00003475: JUMPDEST
00003476: PUSH2 0x347e
00003479: DUP2
0000347a: PUSH2 0x3412
0000347d: JUMP
0000347e: JUMPDEST
0000347f: DUP3
00003480: MSTORE
00003481: POP
00003482: POP
00003483: JUMP
00003484: JUMPDEST
00003485: PUSH1 0x00
00003487: PUSH1 0x20
00003489: DUP3
0000348a: ADD
0000348b: SWAP1
0000348c: POP
0000348d: PUSH2 0x3499
00003490: PUSH1 0x00
00003492: DUP4
00003493: ADD
00003494: DUP5
00003495: PUSH2 0x3475
00003498: JUMP
00003499: JUMPDEST
0000349a: SWAP3
0000349b: SWAP2
0000349c: POP
0000349d: POP
0000349e: JUMP
0000349f: JUMPDEST
000034a0: PUSH1 0x00
000034a2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000034b7: DUP3
000034b8: AND
000034b9: SWAP1
000034ba: POP
000034bb: SWAP2
000034bc: SWAP1
000034bd: POP
000034be: JUMP
000034bf: JUMPDEST
000034c0: PUSH1 0x00
000034c2: PUSH2 0x34ca
000034c5: DUP3
000034c6: PUSH2 0x349f
000034c9: JUMP
000034ca: JUMPDEST
000034cb: SWAP1
000034cc: POP
000034cd: SWAP2
000034ce: SWAP1
000034cf: POP
000034d0: JUMP
000034d1: JUMPDEST
000034d2: PUSH2 0x34da
000034d5: DUP2
000034d6: PUSH2 0x34bf
000034d9: JUMP
000034da: JUMPDEST
000034db: DUP3
000034dc: MSTORE
000034dd: POP
000034de: POP
000034df: JUMP
000034e0: JUMPDEST
000034e1: PUSH1 0x00
000034e3: PUSH1 0x60
000034e5: DUP3
000034e6: ADD
000034e7: SWAP1
000034e8: POP
000034e9: PUSH2 0x34f5
000034ec: PUSH1 0x00
000034ee: DUP4
000034ef: ADD
000034f0: DUP7
000034f1: PUSH2 0x34d1
000034f4: JUMP
000034f5: JUMPDEST
000034f6: PUSH2 0x3502
000034f9: PUSH1 0x20
000034fb: DUP4
000034fc: ADD
000034fd: DUP6
000034fe: PUSH2 0x3475
00003501: JUMP
00003502: JUMPDEST
00003503: PUSH2 0x350f
00003506: PUSH1 0x40
00003508: DUP4
00003509: ADD
0000350a: DUP5
0000350b: PUSH2 0x34d1
0000350e: JUMP
0000350f: JUMPDEST
00003510: SWAP5
00003511: SWAP4
00003512: POP
00003513: POP
00003514: POP
00003515: POP
00003516: JUMP
00003517: JUMPDEST
00003518: PUSH1 0x00
0000351a: DUP1
0000351b: PUSH1 0x40
0000351d: DUP4
0000351e: DUP6
0000351f: SUB
00003520: SLT
00003521: ISZERO
00003522: PUSH2 0x352e
00003525: JUMPI
00003526: PUSH2 0x352d
00003529: PUSH2 0x340d
0000352c: JUMP
0000352d: JUMPDEST
0000352e: JUMPDEST
0000352f: PUSH1 0x00
00003531: PUSH2 0x353c
00003534: DUP6
00003535: DUP3
00003536: DUP7
00003537: ADD
00003538: PUSH2 0x3433
0000353b: JUMP
0000353c: JUMPDEST
0000353d: SWAP3
0000353e: POP
0000353f: POP
00003540: PUSH1 0x20
00003542: PUSH2 0x354d
00003545: DUP6
00003546: DUP3
00003547: DUP7
00003548: ADD
00003549: PUSH2 0x3433
0000354c: JUMP
0000354d: JUMPDEST
0000354e: SWAP2
0000354f: POP
00003550: POP
00003551: SWAP3
00003552: POP
00003553: SWAP3
00003554: SWAP1
00003555: POP
00003556: JUMP
00003557: JUMPDEST
00003558: PUSH1 0x00
0000355a: PUSH1 0x20
0000355c: DUP3
0000355d: ADD
0000355e: SWAP1
0000355f: POP
00003560: PUSH2 0x356c
00003563: PUSH1 0x00
00003565: DUP4
00003566: ADD
00003567: DUP5
00003568: PUSH2 0x34d1
0000356b: JUMP
0000356c: JUMPDEST
0000356d: SWAP3
0000356e: SWAP2
0000356f: POP
00003570: POP
00003571: JUMP
00003572: JUMPDEST
00003573: PUSH2 0x357b
00003576: DUP2
00003577: PUSH2 0x34bf
0000357a: JUMP
0000357b: JUMPDEST
0000357c: DUP2
0000357d: EQ
0000357e: PUSH2 0x3586
00003581: JUMPI
00003582: PUSH1 0x00
00003584: DUP1
00003585: REVERT
00003586: JUMPDEST
00003587: POP
00003588: JUMP
00003589: JUMPDEST
0000358a: PUSH1 0x00
0000358c: DUP2
0000358d: CALLDATALOAD
0000358e: SWAP1
0000358f: POP
00003590: PUSH2 0x3598
00003593: DUP2
00003594: PUSH2 0x3572
00003597: JUMP
00003598: JUMPDEST
00003599: SWAP3
0000359a: SWAP2
0000359b: POP
0000359c: POP
0000359d: JUMP
0000359e: JUMPDEST
0000359f: PUSH1 0x00
000035a1: DUP1
000035a2: PUSH1 0x00
000035a4: PUSH1 0x60
000035a6: DUP5
000035a7: DUP7
000035a8: SUB
000035a9: SLT
000035aa: ISZERO
000035ab: PUSH2 0x35b7
000035ae: JUMPI
000035af: PUSH2 0x35b6
000035b2: PUSH2 0x340d
000035b5: JUMP
000035b6: JUMPDEST
000035b7: JUMPDEST
000035b8: PUSH1 0x00
000035ba: PUSH2 0x35c5
000035bd: DUP7
000035be: DUP3
000035bf: DUP8
000035c0: ADD
000035c1: PUSH2 0x3433
000035c4: JUMP
000035c5: JUMPDEST
000035c6: SWAP4
000035c7: POP
000035c8: POP
000035c9: PUSH1 0x20
000035cb: PUSH2 0x35d6
000035ce: DUP7
000035cf: DUP3
000035d0: DUP8
000035d1: ADD
000035d2: PUSH2 0x3433
000035d5: JUMP
000035d6: JUMPDEST
000035d7: SWAP3
000035d8: POP
000035d9: POP
000035da: PUSH1 0x40
000035dc: PUSH2 0x35e7
000035df: DUP7
000035e0: DUP3
000035e1: DUP8
000035e2: ADD
000035e3: PUSH2 0x3589
000035e6: JUMP
000035e7: JUMPDEST
000035e8: SWAP2
000035e9: POP
000035ea: POP
000035eb: SWAP3
000035ec: POP
000035ed: SWAP3
000035ee: POP
000035ef: SWAP3
000035f0: JUMP
000035f1: JUMPDEST
000035f2: PUSH1 0x00
000035f4: PUSH1 0x20
000035f6: DUP3
000035f7: DUP5
000035f8: SUB
000035f9: SLT
000035fa: ISZERO
000035fb: PUSH2 0x3607
000035fe: JUMPI
000035ff: PUSH2 0x3606
00003602: PUSH2 0x340d
00003605: JUMP
00003606: JUMPDEST
00003607: JUMPDEST
00003608: PUSH1 0x00
0000360a: PUSH2 0x3615
0000360d: DUP5
0000360e: DUP3
0000360f: DUP6
00003610: ADD
00003611: PUSH2 0x3589
00003614: JUMP
00003615: JUMPDEST
00003616: SWAP2
00003617: POP
00003618: POP
00003619: SWAP3
0000361a: SWAP2
0000361b: POP
0000361c: POP
0000361d: JUMP
0000361e: JUMPDEST
0000361f: PUSH1 0x00
00003621: PUSH1 0x40
00003623: DUP3
00003624: ADD
00003625: SWAP1
00003626: POP
00003627: PUSH2 0x3633
0000362a: PUSH1 0x00
0000362c: DUP4
0000362d: ADD
0000362e: DUP6
0000362f: PUSH2 0x34d1
00003632: JUMP
00003633: JUMPDEST
00003634: PUSH2 0x3640
00003637: PUSH1 0x20
00003639: DUP4
0000363a: ADD
0000363b: DUP5
0000363c: PUSH2 0x3475
0000363f: JUMP
00003640: JUMPDEST
00003641: SWAP4
00003642: SWAP3
00003643: POP
00003644: POP
00003645: POP
00003646: JUMP
00003647: JUMPDEST
00003648: PUSH1 0x00
0000364a: DUP2
0000364b: SWAP1
0000364c: POP
0000364d: SWAP2
0000364e: SWAP1
0000364f: POP
00003650: JUMP
00003651: JUMPDEST
00003652: PUSH1 0x00
00003654: PUSH2 0x366c
00003657: PUSH2 0x3667
0000365a: PUSH2 0x3662
0000365d: DUP5
0000365e: PUSH2 0x349f
00003661: JUMP
00003662: JUMPDEST
00003663: PUSH2 0x3647
00003666: JUMP
00003667: JUMPDEST
00003668: PUSH2 0x349f
0000366b: JUMP
0000366c: JUMPDEST
0000366d: SWAP1
0000366e: POP
0000366f: SWAP2
00003670: SWAP1
00003671: POP
00003672: JUMP
00003673: JUMPDEST
00003674: PUSH1 0x00
00003676: PUSH2 0x367e
00003679: DUP3
0000367a: PUSH2 0x3651
0000367d: JUMP
0000367e: JUMPDEST
0000367f: SWAP1
00003680: POP
00003681: SWAP2
00003682: SWAP1
00003683: POP
00003684: JUMP
00003685: JUMPDEST
00003686: PUSH1 0x00
00003688: PUSH2 0x3690
0000368b: DUP3
0000368c: PUSH2 0x3673
0000368f: JUMP
00003690: JUMPDEST
00003691: SWAP1
00003692: POP
00003693: SWAP2
00003694: SWAP1
00003695: POP
00003696: JUMP
00003697: JUMPDEST
00003698: PUSH2 0x36a0
0000369b: DUP2
0000369c: PUSH2 0x3685
0000369f: JUMP
000036a0: JUMPDEST
000036a1: DUP3
000036a2: MSTORE
000036a3: POP
000036a4: POP
000036a5: JUMP
000036a6: JUMPDEST
000036a7: PUSH1 0x00
000036a9: PUSH1 0x20
000036ab: DUP3
000036ac: ADD
000036ad: SWAP1
000036ae: POP
000036af: PUSH2 0x36bb
000036b2: PUSH1 0x00
000036b4: DUP4
000036b5: ADD
000036b6: DUP5
000036b7: PUSH2 0x3697
000036ba: JUMP
000036bb: JUMPDEST
000036bc: SWAP3
000036bd: SWAP2
000036be: POP
000036bf: POP
000036c0: JUMP
000036c1: JUMPDEST
000036c2: PUSH1 0x00
000036c4: PUSH2 0x36cc
000036c7: DUP3
000036c8: PUSH2 0x3673
000036cb: JUMP
000036cc: JUMPDEST
000036cd: SWAP1
000036ce: POP
000036cf: SWAP2
000036d0: SWAP1
000036d1: POP
000036d2: JUMP
000036d3: JUMPDEST
000036d4: PUSH2 0x36dc
000036d7: DUP2
000036d8: PUSH2 0x36c1
000036db: JUMP
000036dc: JUMPDEST
000036dd: DUP3
000036de: MSTORE
000036df: POP
000036e0: POP
000036e1: JUMP
000036e2: JUMPDEST
000036e3: PUSH1 0x00
000036e5: PUSH1 0x20
000036e7: DUP3
000036e8: ADD
000036e9: SWAP1
000036ea: POP
000036eb: PUSH2 0x36f7
000036ee: PUSH1 0x00
000036f0: DUP4
000036f1: ADD
000036f2: DUP5
000036f3: PUSH2 0x36d3
000036f6: JUMP
000036f7: JUMPDEST
000036f8: SWAP3
000036f9: SWAP2
000036fa: POP
000036fb: POP
000036fc: JUMP
000036fd: JUMPDEST
000036fe: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
0000371f: PUSH1 0x00
00003721: MSTORE
00003722: PUSH1 0x11
00003724: PUSH1 0x04
00003726: MSTORE
00003727: PUSH1 0x24
00003729: PUSH1 0x00
0000372b: REVERT
0000372c: JUMPDEST
0000372d: PUSH1 0x00
0000372f: PUSH2 0x3737
00003732: DUP3
00003733: PUSH2 0x3412
00003736: JUMP
00003737: JUMPDEST
00003738: SWAP2
00003739: POP
0000373a: PUSH2 0x3742
0000373d: DUP4
0000373e: PUSH2 0x3412
00003741: JUMP
00003742: JUMPDEST
00003743: SWAP3
00003744: POP
00003745: DUP2
00003746: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00003767: DIV
00003768: DUP4
00003769: GT
0000376a: DUP3
0000376b: ISZERO
0000376c: ISZERO
0000376d: AND
0000376e: ISZERO
0000376f: PUSH2 0x377b
00003772: JUMPI
00003773: PUSH2 0x377a
00003776: PUSH2 0x36fd
00003779: JUMP
0000377a: JUMPDEST
0000377b: JUMPDEST
0000377c: DUP3
0000377d: DUP3
0000377e: MUL
0000377f: SWAP1
00003780: POP
00003781: SWAP3
00003782: SWAP2
00003783: POP
00003784: POP
00003785: JUMP
00003786: JUMPDEST
00003787: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
000037a8: PUSH1 0x00
000037aa: MSTORE
000037ab: PUSH1 0x12
000037ad: PUSH1 0x04
000037af: MSTORE
000037b0: PUSH1 0x24
000037b2: PUSH1 0x00
000037b4: REVERT
000037b5: JUMPDEST
000037b6: PUSH1 0x00
000037b8: PUSH2 0x37c0
000037bb: DUP3
000037bc: PUSH2 0x3412
000037bf: JUMP
000037c0: JUMPDEST
000037c1: SWAP2
000037c2: POP
000037c3: PUSH2 0x37cb
000037c6: DUP4
000037c7: PUSH2 0x3412
000037ca: JUMP
000037cb: JUMPDEST
000037cc: SWAP3
000037cd: POP
000037ce: DUP3
000037cf: PUSH2 0x37db
000037d2: JUMPI
000037d3: PUSH2 0x37da
000037d6: PUSH2 0x3786
000037d9: JUMP
000037da: JUMPDEST
000037db: JUMPDEST
000037dc: DUP3
000037dd: DUP3
000037de: DIV
000037df: SWAP1
000037e0: POP
000037e1: SWAP3
000037e2: SWAP2
000037e3: POP
000037e4: POP
000037e5: JUMP
000037e6: JUMPDEST
000037e7: PUSH1 0x00
000037e9: PUSH2 0x37f1
000037ec: DUP3
000037ed: PUSH2 0x3412
000037f0: JUMP
000037f1: JUMPDEST
000037f2: SWAP2
000037f3: POP
000037f4: PUSH2 0x37fc
000037f7: DUP4
000037f8: PUSH2 0x3412
000037fb: JUMP
000037fc: JUMPDEST
000037fd: SWAP3
000037fe: POP
000037ff: DUP3
00003800: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00003821: SUB
00003822: DUP3
00003823: GT
00003824: ISZERO
00003825: PUSH2 0x3831
00003828: JUMPI
00003829: PUSH2 0x3830
0000382c: PUSH2 0x36fd
0000382f: JUMP
00003830: JUMPDEST
00003831: JUMPDEST
00003832: DUP3
00003833: DUP3
00003834: ADD
00003835: SWAP1
00003836: POP
00003837: SWAP3
00003838: SWAP2
00003839: POP
0000383a: POP
0000383b: JUMP
0000383c: JUMPDEST
0000383d: PUSH1 0x00
0000383f: DUP3
00003840: DUP3
00003841: MSTORE
00003842: PUSH1 0x20
00003844: DUP3
00003845: ADD
00003846: SWAP1
00003847: POP
00003848: SWAP3
00003849: SWAP2
0000384a: POP
0000384b: POP
0000384c: JUMP
0000384d: JUMPDEST
0000384e: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00
0000386f: PUSH1 0x00
00003871: DUP3
00003872: ADD
00003873: MSTORE
00003874: POP
00003875: JUMP
00003876: JUMPDEST
00003877: PUSH1 0x00
00003879: PUSH2 0x3883
0000387c: PUSH1 0x1f
0000387e: DUP4
0000387f: PUSH2 0x383c
00003882: JUMP
00003883: JUMPDEST
00003884: SWAP2
00003885: POP
00003886: PUSH2 0x388e
00003889: DUP3
0000388a: PUSH2 0x384d
0000388d: JUMP
0000388e: JUMPDEST
0000388f: PUSH1 0x20
00003891: DUP3
00003892: ADD
00003893: SWAP1
00003894: POP
00003895: SWAP2
00003896: SWAP1
00003897: POP
00003898: JUMP
00003899: JUMPDEST
0000389a: PUSH1 0x00
0000389c: PUSH1 0x20
0000389e: DUP3
0000389f: ADD
000038a0: SWAP1
000038a1: POP
000038a2: DUP2
000038a3: DUP2
000038a4: SUB
000038a5: PUSH1 0x00
000038a7: DUP4
000038a8: ADD
000038a9: MSTORE
000038aa: PUSH2 0x38b2
000038ad: DUP2
000038ae: PUSH2 0x3876
000038b1: JUMP
000038b2: JUMPDEST
000038b3: SWAP1
000038b4: POP
000038b5: SWAP2
000038b6: SWAP1
000038b7: POP
000038b8: JUMP
000038b9: JUMPDEST
000038ba: PUSH1 0x00
000038bc: DUP2
000038bd: MLOAD
000038be: SWAP1
000038bf: POP
000038c0: PUSH2 0x38c8
000038c3: DUP2
000038c4: PUSH2 0x3572
000038c7: JUMP
000038c8: JUMPDEST
000038c9: SWAP3
000038ca: SWAP2
000038cb: POP
000038cc: POP
000038cd: JUMP
000038ce: JUMPDEST
000038cf: PUSH1 0x00
000038d1: PUSH1 0x20
000038d3: DUP3
000038d4: DUP5
000038d5: SUB
000038d6: SLT
000038d7: ISZERO
000038d8: PUSH2 0x38e4
000038db: JUMPI
000038dc: PUSH2 0x38e3
000038df: PUSH2 0x340d
000038e2: JUMP
000038e3: JUMPDEST
000038e4: JUMPDEST
000038e5: PUSH1 0x00
000038e7: PUSH2 0x38f2
000038ea: DUP5
000038eb: DUP3
000038ec: DUP6
000038ed: ADD
000038ee: PUSH2 0x38b9
000038f1: JUMP
000038f2: JUMPDEST
000038f3: SWAP2
000038f4: POP
000038f5: POP
000038f6: SWAP3
000038f7: SWAP2
000038f8: POP
000038f9: POP
000038fa: JUMP
000038fb: JUMPDEST
000038fc: PUSH32 0x43616e6e6f7420626964206f6e20676f642061737369676e656420746f207468
0000391d: PUSH1 0x00
0000391f: DUP3
00003920: ADD
00003921: MSTORE
00003922: PUSH32 0x652030783020616464726573732e000000000000000000000000000000000000
00003943: PUSH1 0x20
00003945: DUP3
00003946: ADD
00003947: MSTORE
00003948: POP
00003949: JUMP
0000394a: JUMPDEST
0000394b: PUSH1 0x00
0000394d: PUSH2 0x3957
00003950: PUSH1 0x2e
00003952: DUP4
00003953: PUSH2 0x383c
00003956: JUMP
00003957: JUMPDEST
00003958: SWAP2
00003959: POP
0000395a: PUSH2 0x3962
0000395d: DUP3
0000395e: PUSH2 0x38fb
00003961: JUMP
00003962: JUMPDEST
00003963: PUSH1 0x40
00003965: DUP3
00003966: ADD
00003967: SWAP1
00003968: POP
00003969: SWAP2
0000396a: SWAP1
0000396b: POP
0000396c: JUMP
0000396d: JUMPDEST
0000396e: PUSH1 0x00
00003970: PUSH1 0x20
00003972: DUP3
00003973: ADD
00003974: SWAP1
00003975: POP
00003976: DUP2
00003977: DUP2
00003978: SUB
00003979: PUSH1 0x00
0000397b: DUP4
0000397c: ADD
0000397d: MSTORE
0000397e: PUSH2 0x3986
00003981: DUP2
00003982: PUSH2 0x394a
00003985: JUMP
00003986: JUMPDEST
00003987: SWAP1
00003988: POP
00003989: SWAP2
0000398a: SWAP1
0000398b: POP
0000398c: JUMP
0000398d: JUMPDEST
0000398e: PUSH32 0x43616e6e6f7420626964206f6e206120676f64206f776e656420627920746865
000039af: PUSH1 0x00
000039b1: DUP3
000039b2: ADD
000039b3: MSTORE
000039b4: PUSH32 0x206269646465722e000000000000000000000000000000000000000000000000
000039d5: PUSH1 0x20
000039d7: DUP3
000039d8: ADD
000039d9: MSTORE
000039da: POP
000039db: JUMP
000039dc: JUMPDEST
000039dd: PUSH1 0x00
000039df: PUSH2 0x39e9
000039e2: PUSH1 0x28
000039e4: DUP4
000039e5: PUSH2 0x383c
000039e8: JUMP
000039e9: JUMPDEST
000039ea: SWAP2
000039eb: POP
000039ec: PUSH2 0x39f4
000039ef: DUP3
000039f0: PUSH2 0x398d
000039f3: JUMP
000039f4: JUMPDEST
000039f5: PUSH1 0x40
000039f7: DUP3
000039f8: ADD
000039f9: SWAP1
000039fa: POP
000039fb: SWAP2
000039fc: SWAP1
000039fd: POP
000039fe: JUMP
000039ff: JUMPDEST
00003a00: PUSH1 0x00
00003a02: PUSH1 0x20
00003a04: DUP3
00003a05: ADD
00003a06: SWAP1
00003a07: POP
00003a08: DUP2
00003a09: DUP2
00003a0a: SUB
00003a0b: PUSH1 0x00
00003a0d: DUP4
00003a0e: ADD
00003a0f: MSTORE
00003a10: PUSH2 0x3a18
00003a13: DUP2
00003a14: PUSH2 0x39dc
00003a17: JUMP
00003a18: JUMPDEST
00003a19: SWAP1
00003a1a: POP
00003a1b: SWAP2
00003a1c: SWAP1
00003a1d: POP
00003a1e: JUMP
00003a1f: JUMPDEST
00003a20: PUSH32 0x4d757374206f666665722061206e6f6e7a65726f20616d6f756e7420666f7220
00003a41: PUSH1 0x00
00003a43: DUP3
00003a44: ADD
00003a45: MSTORE
00003a46: PUSH32 0x62696464696e672e000000000000000000000000000000000000000000000000
00003a67: PUSH1 0x20
00003a69: DUP3
00003a6a: ADD
00003a6b: MSTORE
00003a6c: POP
00003a6d: JUMP
00003a6e: JUMPDEST
00003a6f: PUSH1 0x00
00003a71: PUSH2 0x3a7b
00003a74: PUSH1 0x28
00003a76: DUP4
00003a77: PUSH2 0x383c
00003a7a: JUMP
00003a7b: JUMPDEST
00003a7c: SWAP2
00003a7d: POP
00003a7e: PUSH2 0x3a86
00003a81: DUP3
00003a82: PUSH2 0x3a1f
00003a85: JUMP
00003a86: JUMPDEST
00003a87: PUSH1 0x40
00003a89: DUP3
00003a8a: ADD
00003a8b: SWAP1
00003a8c: POP
00003a8d: SWAP2
00003a8e: SWAP1
00003a8f: POP
00003a90: JUMP
00003a91: JUMPDEST
00003a92: PUSH1 0x00
00003a94: PUSH1 0x20
00003a96: DUP3
00003a97: ADD
00003a98: SWAP1
00003a99: POP
00003a9a: DUP2
00003a9b: DUP2
00003a9c: SUB
00003a9d: PUSH1 0x00
00003a9f: DUP4
00003aa0: ADD
00003aa1: MSTORE
00003aa2: PUSH2 0x3aaa
00003aa5: DUP2
00003aa6: PUSH2 0x3a6e
00003aa9: JUMP
00003aaa: JUMPDEST
00003aab: SWAP1
00003aac: POP
00003aad: SWAP2
00003aae: SWAP1
00003aaf: POP
00003ab0: JUMP
00003ab1: JUMPDEST
00003ab2: PUSH32 0x4120686967686572206269642068617320616c7265616479206265656e206d61
00003ad3: PUSH1 0x00
00003ad5: DUP3
00003ad6: ADD
00003ad7: MSTORE
00003ad8: PUSH32 0x646520666f72207468697320676f642e00000000000000000000000000000000
00003af9: PUSH1 0x20
00003afb: DUP3
00003afc: ADD
00003afd: MSTORE
00003afe: POP
00003aff: JUMP
00003b00: JUMPDEST
00003b01: PUSH1 0x00
00003b03: PUSH2 0x3b0d
00003b06: PUSH1 0x30
00003b08: DUP4
00003b09: PUSH2 0x383c
00003b0c: JUMP
00003b0d: JUMPDEST
00003b0e: SWAP2
00003b0f: POP
00003b10: PUSH2 0x3b18
00003b13: DUP3
00003b14: PUSH2 0x3ab1
00003b17: JUMP
00003b18: JUMPDEST
00003b19: PUSH1 0x40
00003b1b: DUP3
00003b1c: ADD
00003b1d: SWAP1
00003b1e: POP
00003b1f: SWAP2
00003b20: SWAP1
00003b21: POP
00003b22: JUMP
00003b23: JUMPDEST
00003b24: PUSH1 0x00
00003b26: PUSH1 0x20
00003b28: DUP3
00003b29: ADD
00003b2a: SWAP1
00003b2b: POP
00003b2c: DUP2
00003b2d: DUP2
00003b2e: SUB
00003b2f: PUSH1 0x00
00003b31: DUP4
00003b32: ADD
00003b33: MSTORE
00003b34: PUSH2 0x3b3c
00003b37: DUP2
00003b38: PUSH2 0x3b00
00003b3b: JUMP
00003b3c: JUMPDEST
00003b3d: SWAP1
00003b3e: POP
00003b3f: SWAP2
00003b40: SWAP1
00003b41: POP
00003b42: JUMP
00003b43: JUMPDEST
00003b44: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
00003b65: PUSH1 0x00
00003b67: DUP3
00003b68: ADD
00003b69: MSTORE
00003b6a: POP
00003b6b: JUMP
00003b6c: JUMPDEST
00003b6d: PUSH1 0x00
00003b6f: PUSH2 0x3b79
00003b72: PUSH1 0x20
00003b74: DUP4
00003b75: PUSH2 0x383c
00003b78: JUMP
00003b79: JUMPDEST
00003b7a: SWAP2
00003b7b: POP
00003b7c: PUSH2 0x3b84
00003b7f: DUP3
00003b80: PUSH2 0x3b43
00003b83: JUMP
00003b84: JUMPDEST
00003b85: PUSH1 0x20
00003b87: DUP3
00003b88: ADD
00003b89: SWAP1
00003b8a: POP
00003b8b: SWAP2
00003b8c: SWAP1
00003b8d: POP
00003b8e: JUMP
00003b8f: JUMPDEST
00003b90: PUSH1 0x00
00003b92: PUSH1 0x20
00003b94: DUP3
00003b95: ADD
00003b96: SWAP1
00003b97: POP
00003b98: DUP2
00003b99: DUP2
00003b9a: SUB
00003b9b: PUSH1 0x00
00003b9d: DUP4
00003b9e: ADD
00003b9f: MSTORE
00003ba0: PUSH2 0x3ba8
00003ba3: DUP2
00003ba4: PUSH2 0x3b6c
00003ba7: JUMP
00003ba8: JUMPDEST
00003ba9: SWAP1
00003baa: POP
00003bab: SWAP2
00003bac: SWAP1
00003bad: POP
00003bae: JUMP
00003baf: JUMPDEST
00003bb0: PUSH1 0x00
00003bb2: DUP2
00003bb3: MLOAD
00003bb4: SWAP1
00003bb5: POP
00003bb6: PUSH2 0x3bbe
00003bb9: DUP2
00003bba: PUSH2 0x341c
00003bbd: JUMP
00003bbe: JUMPDEST
00003bbf: SWAP3
00003bc0: SWAP2
00003bc1: POP
00003bc2: POP
00003bc3: JUMP
00003bc4: JUMPDEST
00003bc5: PUSH1 0x00
00003bc7: PUSH1 0x20
00003bc9: DUP3
00003bca: DUP5
00003bcb: SUB
00003bcc: SLT
00003bcd: ISZERO
00003bce: PUSH2 0x3bda
00003bd1: JUMPI
00003bd2: PUSH2 0x3bd9
00003bd5: PUSH2 0x340d
00003bd8: JUMP
00003bd9: JUMPDEST
00003bda: JUMPDEST
00003bdb: PUSH1 0x00
00003bdd: PUSH2 0x3be8
00003be0: DUP5
00003be1: DUP3
00003be2: DUP6
00003be3: ADD
00003be4: PUSH2 0x3baf
00003be7: JUMP
00003be8: JUMPDEST
00003be9: SWAP2
00003bea: POP
00003beb: POP
00003bec: SWAP3
00003bed: SWAP2
00003bee: POP
00003bef: POP
00003bf0: JUMP
00003bf1: JUMPDEST
00003bf2: PUSH32 0x4d757374206f776e207468652073706563696669656420476f6420746f206361
00003c13: PUSH1 0x00
00003c15: DUP3
00003c16: ADD
00003c17: MSTORE
00003c18: PUSH32 0x6c6c20746869732066756e6374696f6e2e000000000000000000000000000000
00003c39: PUSH1 0x20
00003c3b: DUP3
00003c3c: ADD
00003c3d: MSTORE
00003c3e: POP
00003c3f: JUMP
00003c40: JUMPDEST
00003c41: PUSH1 0x00
00003c43: PUSH2 0x3c4d
00003c46: PUSH1 0x31
00003c48: DUP4
00003c49: PUSH2 0x383c
00003c4c: JUMP
00003c4d: JUMPDEST
00003c4e: SWAP2
00003c4f: POP
00003c50: PUSH2 0x3c58
00003c53: DUP3
00003c54: PUSH2 0x3bf1
00003c57: JUMP
00003c58: JUMPDEST
00003c59: PUSH1 0x40
00003c5b: DUP3
00003c5c: ADD
00003c5d: SWAP1
00003c5e: POP
00003c5f: SWAP2
00003c60: SWAP1
00003c61: POP
00003c62: JUMP
00003c63: JUMPDEST
00003c64: PUSH1 0x00
00003c66: PUSH1 0x20
00003c68: DUP3
00003c69: ADD
00003c6a: SWAP1
00003c6b: POP
00003c6c: DUP2
00003c6d: DUP2
00003c6e: SUB
00003c6f: PUSH1 0x00
00003c71: DUP4
00003c72: ADD
00003c73: MSTORE
00003c74: PUSH2 0x3c7c
00003c77: DUP2
00003c78: PUSH2 0x3c40
00003c7b: JUMP
00003c7c: JUMPDEST
00003c7d: SWAP1
00003c7e: POP
00003c7f: SWAP2
00003c80: SWAP1
00003c81: POP
00003c82: JUMP
00003c83: JUMPDEST
00003c84: PUSH32 0x55736572206d75737420686176652063757272656e74207374616b6520696e20
00003ca5: PUSH1 0x00
00003ca7: DUP3
00003ca8: ADD
00003ca9: MSTORE
00003caa: PUSH32 0x6f7264657220746f20756e7374616b6500000000000000000000000000000000
00003ccb: PUSH1 0x20
00003ccd: DUP3
00003cce: ADD
00003ccf: MSTORE
00003cd0: POP
00003cd1: JUMP
00003cd2: JUMPDEST
00003cd3: PUSH1 0x00
00003cd5: PUSH2 0x3cdf
00003cd8: PUSH1 0x30
00003cda: DUP4
00003cdb: PUSH2 0x383c
00003cde: JUMP
00003cdf: JUMPDEST
00003ce0: SWAP2
00003ce1: POP
00003ce2: PUSH2 0x3cea
00003ce5: DUP3
00003ce6: PUSH2 0x3c83
00003ce9: JUMP
00003cea: JUMPDEST
00003ceb: PUSH1 0x40
00003ced: DUP3
00003cee: ADD
00003cef: SWAP1
00003cf0: POP
00003cf1: SWAP2
00003cf2: SWAP1
00003cf3: POP
00003cf4: JUMP
00003cf5: JUMPDEST
00003cf6: PUSH1 0x00
00003cf8: PUSH1 0x20
00003cfa: DUP3
00003cfb: ADD
00003cfc: SWAP1
00003cfd: POP
00003cfe: DUP2
00003cff: DUP2
00003d00: SUB
00003d01: PUSH1 0x00
00003d03: DUP4
00003d04: ADD
00003d05: MSTORE
00003d06: PUSH2 0x3d0e
00003d09: DUP2
00003d0a: PUSH2 0x3cd2
00003d0d: JUMP
00003d0e: JUMPDEST
00003d0f: SWAP1
00003d10: POP
00003d11: SWAP2
00003d12: SWAP1
00003d13: POP
00003d14: JUMP
00003d15: JUMPDEST
00003d16: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00003d37: PUSH1 0x00
00003d39: MSTORE
00003d3a: PUSH1 0x32
00003d3c: PUSH1 0x04
00003d3e: MSTORE
00003d3f: PUSH1 0x24
00003d41: PUSH1 0x00
00003d43: REVERT
00003d44: JUMPDEST
00003d45: PUSH1 0x00
00003d47: PUSH2 0x3d4f
00003d4a: DUP3
00003d4b: PUSH2 0x3412
00003d4e: JUMP
00003d4f: JUMPDEST
00003d50: SWAP2
00003d51: POP
00003d52: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00003d73: DUP3
00003d74: EQ
00003d75: ISZERO
00003d76: PUSH2 0x3d82
00003d79: JUMPI
00003d7a: PUSH2 0x3d81
00003d7d: PUSH2 0x36fd
00003d80: JUMP
00003d81: JUMPDEST
00003d82: JUMPDEST
00003d83: PUSH1 0x01
00003d85: DUP3
00003d86: ADD
00003d87: SWAP1
00003d88: POP
00003d89: SWAP2
00003d8a: SWAP1
00003d8b: POP
00003d8c: JUMP
00003d8d: JUMPDEST
00003d8e: PUSH1 0x00
00003d90: DUP2
00003d91: ISZERO
00003d92: ISZERO
00003d93: SWAP1
00003d94: POP
00003d95: SWAP2
00003d96: SWAP1
00003d97: POP
00003d98: JUMP
00003d99: JUMPDEST
00003d9a: PUSH2 0x3da2
00003d9d: DUP2
00003d9e: PUSH2 0x3d8d
00003da1: JUMP
00003da2: JUMPDEST
00003da3: DUP2
00003da4: EQ
00003da5: PUSH2 0x3dad
00003da8: JUMPI
00003da9: PUSH1 0x00
00003dab: DUP1
00003dac: REVERT
00003dad: JUMPDEST
00003dae: POP
00003daf: JUMP
00003db0: JUMPDEST
00003db1: PUSH1 0x00
00003db3: DUP2
00003db4: MLOAD
00003db5: SWAP1
00003db6: POP
00003db7: PUSH2 0x3dbf
00003dba: DUP2
00003dbb: PUSH2 0x3d99
00003dbe: JUMP
00003dbf: JUMPDEST
00003dc0: SWAP3
00003dc1: SWAP2
00003dc2: POP
00003dc3: POP
00003dc4: JUMP
00003dc5: JUMPDEST
00003dc6: PUSH1 0x00
00003dc8: PUSH1 0x20
00003dca: DUP3
00003dcb: DUP5
00003dcc: SUB
00003dcd: SLT
00003dce: ISZERO
00003dcf: PUSH2 0x3ddb
00003dd2: JUMPI
00003dd3: PUSH2 0x3dda
00003dd6: PUSH2 0x340d
00003dd9: JUMP
00003dda: JUMPDEST
00003ddb: JUMPDEST
00003ddc: PUSH1 0x00
00003dde: PUSH2 0x3de9
00003de1: DUP5
00003de2: DUP3
00003de3: DUP6
00003de4: ADD
00003de5: PUSH2 0x3db0
00003de8: JUMP
00003de9: JUMPDEST
00003dea: SWAP2
00003deb: POP
00003dec: POP
00003ded: SWAP3
00003dee: SWAP2
00003def: POP
00003df0: POP
00003df1: JUMP
00003df2: JUMPDEST
00003df3: PUSH32 0x526576657274696e6720626563617573652063616c6c20746f20766972747565
00003e14: PUSH1 0x00
00003e16: DUP3
00003e17: ADD
00003e18: MSTORE
00003e19: PUSH32 0x546f6b656e2e7472616e736665722072657475726e65642066616c7365000000
00003e3a: PUSH1 0x20
00003e3c: DUP3
00003e3d: ADD
00003e3e: MSTORE
00003e3f: POP
00003e40: JUMP
00003e41: JUMPDEST
00003e42: PUSH1 0x00
00003e44: PUSH2 0x3e4e
00003e47: PUSH1 0x3d
00003e49: DUP4
00003e4a: PUSH2 0x383c
00003e4d: JUMP
00003e4e: JUMPDEST
00003e4f: SWAP2
00003e50: POP
00003e51: PUSH2 0x3e59
00003e54: DUP3
00003e55: PUSH2 0x3df2
00003e58: JUMP
00003e59: JUMPDEST
00003e5a: PUSH1 0x40
00003e5c: DUP3
00003e5d: ADD
00003e5e: SWAP1
00003e5f: POP
00003e60: SWAP2
00003e61: SWAP1
00003e62: POP
00003e63: JUMP
00003e64: JUMPDEST
00003e65: PUSH1 0x00
00003e67: PUSH1 0x20
00003e69: DUP3
00003e6a: ADD
00003e6b: SWAP1
00003e6c: POP
00003e6d: DUP2
00003e6e: DUP2
00003e6f: SUB
00003e70: PUSH1 0x00
00003e72: DUP4
00003e73: ADD
00003e74: MSTORE
00003e75: PUSH2 0x3e7d
00003e78: DUP2
00003e79: PUSH2 0x3e41
00003e7c: JUMP
00003e7d: JUMPDEST
00003e7e: SWAP1
00003e7f: POP
00003e80: SWAP2
00003e81: SWAP1
00003e82: POP
00003e83: JUMP
00003e84: JUMPDEST
00003e85: PUSH1 0x00
00003e87: PUSH2 0x3e8f
00003e8a: DUP3
00003e8b: PUSH2 0x3412
00003e8e: JUMP
00003e8f: JUMPDEST
00003e90: SWAP2
00003e91: POP
00003e92: PUSH2 0x3e9a
00003e95: DUP4
00003e96: PUSH2 0x3412
00003e99: JUMP
00003e9a: JUMPDEST
00003e9b: SWAP3
00003e9c: POP
00003e9d: DUP3
00003e9e: DUP3
00003e9f: LT
00003ea0: ISZERO
00003ea1: PUSH2 0x3ead
00003ea4: JUMPI
00003ea5: PUSH2 0x3eac
00003ea8: PUSH2 0x36fd
00003eab: JUMP
00003eac: JUMPDEST
00003ead: JUMPDEST
00003eae: DUP3
00003eaf: DUP3
00003eb0: SUB
00003eb1: SWAP1
00003eb2: POP
00003eb3: SWAP3
00003eb4: SWAP2
00003eb5: POP
00003eb6: POP
00003eb7: JUMP
00003eb8: JUMPDEST
00003eb9: PUSH32 0x43616e206f6e6c7920627579206120676f642074686174206973206c69737465
00003eda: PUSH1 0x00
00003edc: DUP3
00003edd: ADD
00003ede: MSTORE
00003edf: PUSH32 0x6420666f722073616c652e000000000000000000000000000000000000000000
00003f00: PUSH1 0x20
00003f02: DUP3
00003f03: ADD
00003f04: MSTORE
00003f05: POP
00003f06: JUMP
00003f07: JUMPDEST
00003f08: PUSH1 0x00
00003f0a: PUSH2 0x3f14
00003f0d: PUSH1 0x2b
00003f0f: DUP4
00003f10: PUSH2 0x383c
00003f13: JUMP
00003f14: JUMPDEST
00003f15: SWAP2
00003f16: POP
00003f17: PUSH2 0x3f1f
00003f1a: DUP3
00003f1b: PUSH2 0x3eb8
00003f1e: JUMP
00003f1f: JUMPDEST
00003f20: PUSH1 0x40
00003f22: DUP3
00003f23: ADD
00003f24: SWAP1
00003f25: POP
00003f26: SWAP2
00003f27: SWAP1
00003f28: POP
00003f29: JUMP
00003f2a: JUMPDEST
00003f2b: PUSH1 0x00
00003f2d: PUSH1 0x20
00003f2f: DUP3
00003f30: ADD
00003f31: SWAP1
00003f32: POP
00003f33: DUP2
00003f34: DUP2
00003f35: SUB
00003f36: PUSH1 0x00
00003f38: DUP4
00003f39: ADD
00003f3a: MSTORE
00003f3b: PUSH2 0x3f43
00003f3e: DUP2
00003f3f: PUSH2 0x3f07
00003f42: JUMP
00003f43: JUMPDEST
00003f44: SWAP1
00003f45: POP
00003f46: SWAP2
00003f47: SWAP1
00003f48: POP
00003f49: JUMP
00003f4a: JUMPDEST
00003f4b: PUSH32 0x4f776e65722068617320726573657276656420676f64206c697374696e672066
00003f6c: PUSH1 0x00
00003f6e: DUP3
00003f6f: ADD
00003f70: MSTORE
00003f71: PUSH32 0x6f72206120646966666572656e7420616464726573732e000000000000000000
00003f92: PUSH1 0x20
00003f94: DUP3
00003f95: ADD
00003f96: MSTORE
00003f97: POP
00003f98: JUMP
00003f99: JUMPDEST
00003f9a: PUSH1 0x00
00003f9c: PUSH2 0x3fa6
00003f9f: PUSH1 0x37
00003fa1: DUP4
00003fa2: PUSH2 0x383c
00003fa5: JUMP
00003fa6: JUMPDEST
00003fa7: SWAP2
00003fa8: POP
00003fa9: PUSH2 0x3fb1
00003fac: DUP3
00003fad: PUSH2 0x3f4a
00003fb0: JUMP
00003fb1: JUMPDEST
00003fb2: PUSH1 0x40
00003fb4: DUP3
00003fb5: ADD
00003fb6: SWAP1
00003fb7: POP
00003fb8: SWAP2
00003fb9: SWAP1
00003fba: POP
00003fbb: JUMP
00003fbc: JUMPDEST
00003fbd: PUSH1 0x00
00003fbf: PUSH1 0x20
00003fc1: DUP3
00003fc2: ADD
00003fc3: SWAP1
00003fc4: POP
00003fc5: DUP2
00003fc6: DUP2
00003fc7: SUB
00003fc8: PUSH1 0x00
00003fca: DUP4
00003fcb: ADD
00003fcc: MSTORE
00003fcd: PUSH2 0x3fd5
00003fd0: DUP2
00003fd1: PUSH2 0x3f99
00003fd4: JUMP
00003fd5: JUMPDEST
00003fd6: SWAP1
00003fd7: POP
00003fd8: SWAP2
00003fd9: SWAP1
00003fda: POP
00003fdb: JUMP
00003fdc: JUMPDEST
00003fdd: PUSH32 0x4d75737420706179206174206c6561737420746865206d696e50726963652074
00003ffe: PUSH1 0x00
00004000: DUP3
00004001: ADD
00004002: MSTORE
00004003: PUSH32 0x68617420746865206c697374696e67207370656369666965732e000000000000
00004024: PUSH1 0x20
00004026: DUP3
00004027: ADD
00004028: MSTORE
00004029: POP
0000402a: JUMP
0000402b: JUMPDEST
0000402c: PUSH1 0x00
0000402e: PUSH2 0x4038
00004031: PUSH1 0x3a
00004033: DUP4
00004034: PUSH2 0x383c
00004037: JUMP
00004038: JUMPDEST
00004039: SWAP2
0000403a: POP
0000403b: PUSH2 0x4043
0000403e: DUP3
0000403f: PUSH2 0x3fdc
00004042: JUMP
00004043: JUMPDEST
00004044: PUSH1 0x40
00004046: DUP3
00004047: ADD
00004048: SWAP1
00004049: POP
0000404a: SWAP2
0000404b: SWAP1
0000404c: POP
0000404d: JUMP
0000404e: JUMPDEST
0000404f: PUSH1 0x00
00004051: PUSH1 0x20
00004053: DUP3
00004054: ADD
00004055: SWAP1
00004056: POP
00004057: DUP2
00004058: DUP2
00004059: SUB
0000405a: PUSH1 0x00
0000405c: DUP4
0000405d: ADD
0000405e: MSTORE
0000405f: PUSH2 0x4067
00004062: DUP2
00004063: PUSH2 0x402b
00004066: JUMP
00004067: JUMPDEST
00004068: SWAP1
00004069: POP
0000406a: SWAP2
0000406b: SWAP1
0000406c: POP
0000406d: JUMP
0000406e: JUMPDEST
0000406f: PUSH32 0x4c697374696e67206973206f7574646174656420616e6420776173206e6f7420
00004090: PUSH1 0x00
00004092: DUP3
00004093: ADD
00004094: MSTORE
00004095: PUSH32 0x706f737465642062792074686520676f6427732063757272656e74206f776e65
000040b6: PUSH1 0x20
000040b8: DUP3
000040b9: ADD
000040ba: MSTORE
000040bb: PUSH32 0x722e000000000000000000000000000000000000000000000000000000000000
000040dc: PUSH1 0x40
000040de: DUP3
000040df: ADD
000040e0: MSTORE
000040e1: POP
000040e2: JUMP
000040e3: JUMPDEST
000040e4: PUSH1 0x00
000040e6: PUSH2 0x40f0
000040e9: PUSH1 0x42
000040eb: DUP4
000040ec: PUSH2 0x383c
000040ef: JUMP
000040f0: JUMPDEST
000040f1: SWAP2
000040f2: POP
000040f3: PUSH2 0x40fb
000040f6: DUP3
000040f7: PUSH2 0x406e
000040fa: JUMP
000040fb: JUMPDEST
000040fc: PUSH1 0x60
000040fe: DUP3
000040ff: ADD
00004100: SWAP1
00004101: POP
00004102: SWAP2
00004103: SWAP1
00004104: POP
00004105: JUMP
00004106: JUMPDEST
00004107: PUSH1 0x00
00004109: PUSH1 0x20
0000410b: DUP3
0000410c: ADD
0000410d: SWAP1
0000410e: POP
0000410f: DUP2
00004110: DUP2
00004111: SUB
00004112: PUSH1 0x00
00004114: DUP4
00004115: ADD
00004116: MSTORE
00004117: PUSH2 0x411f
0000411a: DUP2
0000411b: PUSH2 0x40e3
0000411e: JUMP
0000411f: JUMPDEST
00004120: SWAP1
00004121: POP
00004122: SWAP2
00004123: SWAP1
00004124: POP
00004125: JUMP
00004126: JUMPDEST
00004127: PUSH1 0x00
00004129: PUSH1 0x60
0000412b: DUP3
0000412c: ADD
0000412d: SWAP1
0000412e: POP
0000412f: PUSH2 0x413b
00004132: PUSH1 0x00
00004134: DUP4
00004135: ADD
00004136: DUP7
00004137: PUSH2 0x34d1
0000413a: JUMP
0000413b: JUMPDEST
0000413c: PUSH2 0x4148
0000413f: PUSH1 0x20
00004141: DUP4
00004142: ADD
00004143: DUP6
00004144: PUSH2 0x34d1
00004147: JUMP
00004148: JUMPDEST
00004149: PUSH2 0x4155
0000414c: PUSH1 0x40
0000414e: DUP4
0000414f: ADD
00004150: DUP5
00004151: PUSH2 0x3475
00004154: JUMP
00004155: JUMPDEST
00004156: SWAP5
00004157: SWAP4
00004158: POP
00004159: POP
0000415a: POP
0000415b: POP
0000415c: JUMP
0000415d: JUMPDEST
0000415e: PUSH1 0x00
00004160: PUSH1 0x40
00004162: DUP3
00004163: ADD
00004164: SWAP1
00004165: POP
00004166: PUSH2 0x4172
00004169: PUSH1 0x00
0000416b: DUP4
0000416c: ADD
0000416d: DUP6
0000416e: PUSH2 0x3475
00004171: JUMP
00004172: JUMPDEST
00004173: PUSH2 0x417f
00004176: PUSH1 0x20
00004178: DUP4
00004179: ADD
0000417a: DUP5
0000417b: PUSH2 0x3475
0000417e: JUMP
0000417f: JUMPDEST
00004180: SWAP4
00004181: SWAP3
00004182: POP
00004183: POP
00004184: POP
00004185: JUMP
00004186: JUMPDEST
00004187: PUSH32 0x43616e6e6f74207769746864726177206120626964206e6f74206d6164652062
000041a8: PUSH1 0x00
000041aa: DUP3
000041ab: ADD
000041ac: MSTORE
000041ad: PUSH32 0x79207468652073656e6465722e00000000000000000000000000000000000000
000041ce: PUSH1 0x20
000041d0: DUP3
000041d1: ADD
000041d2: MSTORE
000041d3: POP
000041d4: JUMP
000041d5: JUMPDEST
000041d6: PUSH1 0x00
000041d8: PUSH2 0x41e2
000041db: PUSH1 0x2d
000041dd: DUP4
000041de: PUSH2 0x383c
000041e1: JUMP
000041e2: JUMPDEST
000041e3: SWAP2
000041e4: POP
000041e5: PUSH2 0x41ed
000041e8: DUP3
000041e9: PUSH2 0x4186
000041ec: JUMP
000041ed: JUMPDEST
000041ee: PUSH1 0x40
000041f0: DUP3
000041f1: ADD
000041f2: SWAP1
000041f3: POP
000041f4: SWAP2
000041f5: SWAP1
000041f6: POP
000041f7: JUMP
000041f8: JUMPDEST
000041f9: PUSH1 0x00
000041fb: PUSH1 0x20
000041fd: DUP3
000041fe: ADD
000041ff: SWAP1
00004200: POP
00004201: DUP2
00004202: DUP2
00004203: SUB
00004204: PUSH1 0x00
00004206: DUP4
00004207: ADD
00004208: MSTORE
00004209: PUSH2 0x4211
0000420c: DUP2
0000420d: PUSH2 0x41d5
00004210: JUMP
00004211: JUMPDEST
00004212: SWAP1
00004213: POP
00004214: SWAP2
00004215: SWAP1
00004216: POP
00004217: JUMP
00004218: JUMPDEST
00004219: PUSH32 0x526576657274696e6720626563617573652063616c6c20746f20766972747565
0000423a: PUSH1 0x00
0000423c: DUP3
0000423d: ADD
0000423e: MSTORE
0000423f: PUSH32 0x546f6b656e2e7472616e7366657246726f6d2072657475726e65642066616c73
00004260: PUSH1 0x20
00004262: DUP3
00004263: ADD
00004264: MSTORE
00004265: PUSH32 0x6500000000000000000000000000000000000000000000000000000000000000
00004286: PUSH1 0x40
00004288: DUP3
00004289: ADD
0000428a: MSTORE
0000428b: POP
0000428c: JUMP
0000428d: JUMPDEST
0000428e: PUSH1 0x00
00004290: PUSH2 0x429a
00004293: PUSH1 0x41
00004295: DUP4
00004296: PUSH2 0x383c
00004299: JUMP
0000429a: JUMPDEST
0000429b: SWAP2
0000429c: POP
0000429d: PUSH2 0x42a5
000042a0: DUP3
000042a1: PUSH2 0x4218
000042a4: JUMP
000042a5: JUMPDEST
000042a6: PUSH1 0x60
000042a8: DUP3
000042a9: ADD
000042aa: SWAP1
000042ab: POP
000042ac: SWAP2
000042ad: SWAP1
000042ae: POP
000042af: JUMP
000042b0: JUMPDEST
000042b1: PUSH1 0x00
000042b3: PUSH1 0x20
000042b5: DUP3
000042b6: ADD
000042b7: SWAP1
000042b8: POP
000042b9: DUP2
000042ba: DUP2
000042bb: SUB
000042bc: PUSH1 0x00
000042be: DUP4
000042bf: ADD
000042c0: MSTORE
000042c1: PUSH2 0x42c9
000042c4: DUP2
000042c5: PUSH2 0x428d
000042c8: JUMP
000042c9: JUMPDEST
000042ca: SWAP1
000042cb: POP
000042cc: SWAP2
000042cd: SWAP1
000042ce: POP
000042cf: JUMP
000042d0: JUMPDEST
000042d1: PUSH32 0x43616e206f6e6c792072656d6f76652061206c697374696e6720776865726520
000042f2: PUSH1 0x00
000042f4: DUP3
000042f5: ADD
000042f6: MSTORE
000042f7: PUSH32 0x6d73672e73656e646572206973207468652073656c6c65720000000000000000
00004318: PUSH1 0x20
0000431a: DUP3
0000431b: ADD
0000431c: MSTORE
0000431d: POP
0000431e: JUMP
0000431f: JUMPDEST
00004320: PUSH1 0x00
00004322: PUSH2 0x432c
00004325: PUSH1 0x38
00004327: DUP4
00004328: PUSH2 0x383c
0000432b: JUMP
0000432c: JUMPDEST
0000432d: SWAP2
0000432e: POP
0000432f: PUSH2 0x4337
00004332: DUP3
00004333: PUSH2 0x42d0
00004336: JUMP
00004337: JUMPDEST
00004338: PUSH1 0x40
0000433a: DUP3
0000433b: ADD
0000433c: SWAP1
0000433d: POP
0000433e: SWAP2
0000433f: SWAP1
00004340: POP
00004341: JUMP
00004342: JUMPDEST
00004343: PUSH1 0x00
00004345: PUSH1 0x20
00004347: DUP3
00004348: ADD
00004349: SWAP1
0000434a: POP
0000434b: DUP2
0000434c: DUP2
0000434d: SUB
0000434e: PUSH1 0x00
00004350: DUP4
00004351: ADD
00004352: MSTORE
00004353: PUSH2 0x435b
00004356: DUP2
00004357: PUSH2 0x431f
0000435a: JUMP
0000435b: JUMPDEST
0000435c: SWAP1
0000435d: POP
0000435e: SWAP2
0000435f: SWAP1
00004360: POP
00004361: JUMP
00004362: JUMPDEST
00004363: PUSH32 0x43616e6e6f742061636365707420612030206269642e00000000000000000000
00004384: PUSH1 0x00
00004386: DUP3
00004387: ADD
00004388: MSTORE
00004389: POP
0000438a: JUMP
0000438b: JUMPDEST
0000438c: PUSH1 0x00
0000438e: PUSH2 0x4398
00004391: PUSH1 0x16
00004393: DUP4
00004394: PUSH2 0x383c
00004397: JUMP
00004398: JUMPDEST
00004399: SWAP2
0000439a: POP
0000439b: PUSH2 0x43a3
0000439e: DUP3
0000439f: PUSH2 0x4362
000043a2: JUMP
000043a3: JUMPDEST
000043a4: PUSH1 0x20
000043a6: DUP3
000043a7: ADD
000043a8: SWAP1
000043a9: POP
000043aa: SWAP2
000043ab: SWAP1
000043ac: POP
000043ad: JUMP
000043ae: JUMPDEST
000043af: PUSH1 0x00
000043b1: PUSH1 0x20
000043b3: DUP3
000043b4: ADD
000043b5: SWAP1
000043b6: POP
000043b7: DUP2
000043b8: DUP2
000043b9: SUB
000043ba: PUSH1 0x00
000043bc: DUP4
000043bd: ADD
000043be: MSTORE
000043bf: PUSH2 0x43c7
000043c2: DUP2
000043c3: PUSH2 0x438b
000043c6: JUMP
000043c7: JUMPDEST
000043c8: SWAP1
000043c9: POP
000043ca: SWAP2
000043cb: SWAP1
000043cc: POP
000043cd: JUMP
000043ce: JUMPDEST
000043cf: PUSH32 0x4578697374696e6720626964206973206c6f776572207468616e207468652073
000043f0: PUSH1 0x00
000043f2: DUP3
000043f3: ADD
000043f4: MSTORE
000043f5: PUSH32 0x7065636966696564205f6d696e50726963652e00000000000000000000000000
00004416: PUSH1 0x20
00004418: DUP3
00004419: ADD
0000441a: MSTORE
0000441b: POP
0000441c: JUMP
0000441d: JUMPDEST
0000441e: PUSH1 0x00
00004420: PUSH2 0x442a
00004423: PUSH1 0x33
00004425: DUP4
00004426: PUSH2 0x383c
00004429: JUMP
0000442a: JUMPDEST
0000442b: SWAP2
0000442c: POP
0000442d: PUSH2 0x4435
00004430: DUP3
00004431: PUSH2 0x43ce
00004434: JUMP
00004435: JUMPDEST
00004436: PUSH1 0x40
00004438: DUP3
00004439: ADD
0000443a: SWAP1
0000443b: POP
0000443c: SWAP2
0000443d: SWAP1
0000443e: POP
0000443f: JUMP
00004440: JUMPDEST
00004441: PUSH1 0x00
00004443: PUSH1 0x20
00004445: DUP3
00004446: ADD
00004447: SWAP1
00004448: POP
00004449: DUP2
0000444a: DUP2
0000444b: SUB
0000444c: PUSH1 0x00
0000444e: DUP4
0000444f: ADD
00004450: MSTORE
00004451: PUSH2 0x4459
00004454: DUP2
00004455: PUSH2 0x441d
00004458: JUMP
00004459: JUMPDEST
0000445a: SWAP1
0000445b: POP
0000445c: SWAP2
0000445d: SWAP1
0000445e: POP
0000445f: JUMP
00004460: JUMPDEST
00004461: PUSH32 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061
00004482: PUSH1 0x00
00004484: DUP3
00004485: ADD
00004486: MSTORE
00004487: PUSH32 0x6464726573730000000000000000000000000000000000000000000000000000
000044a8: PUSH1 0x20
000044aa: DUP3
000044ab: ADD
000044ac: MSTORE
000044ad: POP
000044ae: JUMP
000044af: JUMPDEST
000044b0: PUSH1 0x00
000044b2: PUSH2 0x44bc
000044b5: PUSH1 0x26
000044b7: DUP4
000044b8: PUSH2 0x383c
000044bb: JUMP
000044bc: JUMPDEST
000044bd: SWAP2
000044be: POP
000044bf: PUSH2 0x44c7
000044c2: DUP3
000044c3: PUSH2 0x4460
000044c6: JUMP
000044c7: JUMPDEST
000044c8: PUSH1 0x40
000044ca: DUP3
000044cb: ADD
000044cc: SWAP1
000044cd: POP
000044ce: SWAP2
000044cf: SWAP1
000044d0: POP
000044d1: JUMP
000044d2: JUMPDEST
000044d3: PUSH1 0x00
000044d5: PUSH1 0x20
000044d7: DUP3
000044d8: ADD
000044d9: SWAP1
000044da: POP
000044db: DUP2
000044dc: DUP2
000044dd: SUB
000044de: PUSH1 0x00
000044e0: DUP4
000044e1: ADD
000044e2: MSTORE
000044e3: PUSH2 0x44eb
000044e6: DUP2
000044e7: PUSH2 0x44af
000044ea: JUMP
000044eb: JUMPDEST
000044ec: SWAP1
000044ed: POP
000044ee: SWAP2
000044ef: SWAP1
000044f0: POP
000044f1: JUMP
000044f2: JUMPDEST
000044f3: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e6365000000
00004514: PUSH1 0x00
00004516: DUP3
00004517: ADD
00004518: MSTORE
00004519: POP
0000451a: JUMP
0000451b: JUMPDEST
0000451c: PUSH1 0x00
0000451e: PUSH2 0x4528
00004521: PUSH1 0x1d
00004523: DUP4
00004524: PUSH2 0x383c
00004527: JUMP
00004528: JUMPDEST
00004529: SWAP2
0000452a: POP
0000452b: PUSH2 0x4533
0000452e: DUP3
0000452f: PUSH2 0x44f2
00004532: JUMP
00004533: JUMPDEST
00004534: PUSH1 0x20
00004536: DUP3
00004537: ADD
00004538: SWAP1
00004539: POP
0000453a: SWAP2
0000453b: SWAP1
0000453c: POP
0000453d: JUMP
0000453e: JUMPDEST
0000453f: PUSH1 0x00
00004541: PUSH1 0x20
00004543: DUP3
00004544: ADD
00004545: SWAP1
00004546: POP
00004547: DUP2
00004548: DUP2
00004549: SUB
0000454a: PUSH1 0x00
0000454c: DUP4
0000454d: ADD
0000454e: MSTORE
0000454f: PUSH2 0x4557
00004552: DUP2
00004553: PUSH2 0x451b
00004556: JUMP
00004557: JUMPDEST
00004558: SWAP1
00004559: POP
0000455a: SWAP2
0000455b: SWAP1
0000455c: POP
0000455d: JUMP
0000455e: JUMPDEST
0000455f: PUSH1 0x00
00004561: DUP2
00004562: SWAP1
00004563: POP
00004564: SWAP3
00004565: SWAP2
00004566: POP
00004567: POP
00004568: JUMP
00004569: JUMPDEST
0000456a: POP
0000456b: JUMP
0000456c: JUMPDEST
0000456d: PUSH1 0x00
0000456f: PUSH2 0x4579
00004572: PUSH1 0x00
00004574: DUP4
00004575: PUSH2 0x455e
00004578: JUMP
00004579: JUMPDEST
0000457a: SWAP2
0000457b: POP
0000457c: PUSH2 0x4584
0000457f: DUP3
00004580: PUSH2 0x4569
00004583: JUMP
00004584: JUMPDEST
00004585: PUSH1 0x00
00004587: DUP3
00004588: ADD
00004589: SWAP1
0000458a: POP
0000458b: SWAP2
0000458c: SWAP1
0000458d: POP
0000458e: JUMP
0000458f: JUMPDEST
00004590: PUSH1 0x00
00004592: PUSH2 0x459a
00004595: DUP3
00004596: PUSH2 0x456c
00004599: JUMP
0000459a: JUMPDEST
0000459b: SWAP2
0000459c: POP
0000459d: DUP2
0000459e: SWAP1
0000459f: POP
000045a0: SWAP2
000045a1: SWAP1
000045a2: POP
000045a3: JUMP
000045a4: JUMPDEST
000045a5: PUSH32 0x416464726573733a20756e61626c6520746f2073656e642076616c75652c2072
000045c6: PUSH1 0x00
000045c8: DUP3
000045c9: ADD
000045ca: MSTORE
000045cb: PUSH32 0x6563697069656e74206d61792068617665207265766572746564000000000000
000045ec: PUSH1 0x20
000045ee: DUP3
000045ef: ADD
000045f0: MSTORE
000045f1: POP
000045f2: JUMP
000045f3: JUMPDEST
000045f4: PUSH1 0x00
000045f6: PUSH2 0x4600
000045f9: PUSH1 0x3a
000045fb: DUP4
000045fc: PUSH2 0x383c
000045ff: JUMP
00004600: JUMPDEST
00004601: SWAP2
00004602: POP
00004603: PUSH2 0x460b
00004606: DUP3
00004607: PUSH2 0x45a4
0000460a: JUMP
0000460b: JUMPDEST
0000460c: PUSH1 0x40
0000460e: DUP3
0000460f: ADD
00004610: SWAP1
00004611: POP
00004612: SWAP2
00004613: SWAP1
00004614: POP
00004615: JUMP
00004616: JUMPDEST
00004617: PUSH1 0x00
00004619: PUSH1 0x20
0000461b: DUP3
0000461c: ADD
0000461d: SWAP1
0000461e: POP
0000461f: DUP2
00004620: DUP2
00004621: SUB
00004622: PUSH1 0x00
00004624: DUP4
00004625: ADD
00004626: MSTORE
00004627: PUSH2 0x462f
0000462a: DUP2
0000462b: PUSH2 0x45f3
0000462e: JUMP
0000462f: JUMPDEST
00004630: SWAP1
00004631: POP
00004632: SWAP2
00004633: SWAP1
00004634: POP
00004635: JUMP
00004636: JUMPDEST
00004637: PUSH1 0x00
00004639: DUP2
0000463a: MLOAD
0000463b: SWAP1
0000463c: POP
0000463d: SWAP2
0000463e: SWAP1
0000463f: POP
00004640: JUMP
00004641: JUMPDEST
00004642: PUSH1 0x00
00004644: JUMPDEST
00004645: DUP4
00004646: DUP2
00004647: LT
00004648: ISZERO
00004649: PUSH2 0x465f
0000464c: JUMPI
0000464d: DUP1
0000464e: DUP3
0000464f: ADD
00004650: MLOAD
00004651: DUP2
00004652: DUP5
00004653: ADD
00004654: MSTORE
00004655: PUSH1 0x20
00004657: DUP2
00004658: ADD
00004659: SWAP1
0000465a: POP
0000465b: PUSH2 0x4644
0000465e: JUMP
0000465f: JUMPDEST
00004660: DUP4
00004661: DUP2
00004662: GT
00004663: ISZERO
00004664: PUSH2 0x466e
00004667: JUMPI
00004668: PUSH1 0x00
0000466a: DUP5
0000466b: DUP5
0000466c: ADD
0000466d: MSTORE
0000466e: JUMPDEST
0000466f: POP
00004670: POP
00004671: POP
00004672: POP
00004673: JUMP
00004674: JUMPDEST
00004675: PUSH1 0x00
00004677: PUSH1 0x1f
00004679: NOT
0000467a: PUSH1 0x1f
0000467c: DUP4
0000467d: ADD
0000467e: AND
0000467f: SWAP1
00004680: POP
00004681: SWAP2
00004682: SWAP1
00004683: POP
00004684: JUMP
00004685: JUMPDEST
00004686: PUSH1 0x00
00004688: PUSH2 0x4690
0000468b: DUP3
0000468c: PUSH2 0x4636
0000468f: JUMP
00004690: JUMPDEST
00004691: PUSH2 0x469a
00004694: DUP2
00004695: DUP6
00004696: PUSH2 0x383c
00004699: JUMP
0000469a: JUMPDEST
0000469b: SWAP4
0000469c: POP
0000469d: PUSH2 0x46aa
000046a0: DUP2
000046a1: DUP6
000046a2: PUSH1 0x20
000046a4: DUP7
000046a5: ADD
000046a6: PUSH2 0x4641
000046a9: JUMP
000046aa: JUMPDEST
000046ab: PUSH2 0x46b3
000046ae: DUP2
000046af: PUSH2 0x4674
000046b2: JUMP
000046b3: JUMPDEST
000046b4: DUP5
000046b5: ADD
000046b6: SWAP2
000046b7: POP
000046b8: POP
000046b9: SWAP3
000046ba: SWAP2
000046bb: POP
000046bc: POP
000046bd: JUMP
000046be: JUMPDEST
000046bf: PUSH1 0x00
000046c1: PUSH1 0x20
000046c3: DUP3
000046c4: ADD
000046c5: SWAP1
000046c6: POP
000046c7: DUP2
000046c8: DUP2
000046c9: SUB
000046ca: PUSH1 0x00
000046cc: DUP4
000046cd: ADD
000046ce: MSTORE
000046cf: PUSH2 0x46d8
000046d2: DUP2
000046d3: DUP5
000046d4: PUSH2 0x4685
000046d7: JUMP
000046d8: JUMPDEST
000046d9: SWAP1
000046da: POP
000046db: SWAP3
000046dc: SWAP2
000046dd: POP
000046de: POP
000046df: JUMP
000046e0: INVALID
000046e1: LOG2
000046e2: PUSH5 0x6970667358
000046e8: UNKNOWN(0x22)
000046e9: SLT
000046ea: KECCAK256
000046eb: UNKNOWN(0x2D)
000046ec: PUSH10 0x38282c9d665a3deb5e71
000046f7: UNKNOWN(0xFC)
000046f8: SWAP13
000046f9: PUSH6 0x12a652aee354
00004700: EXTCODESIZE
00004701: CALLDATACOPY
00004702: MCOPY
00004703: UNKNOWN(0xC1)
00004704: UNKNOWN(0x0E)
00004705: SWAP11
00004706: STOP
00004707: EXP
00004708: UNKNOWN(0xB4)
00004709: UNKNOWN(0xBC)
0000470a: LT
0000470b: PUSH5 0x736f6c6343
00004711: STOP
00004712: ADDMOD
00004713: MULMOD
00004714: STOP
00004715: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high reentrancy codex Reentrancy enables double-withdraw of staked VIRTUE 85 no
view
evidence_json
{
    "evidence": "`decreaseVirtueStake` calls external contracts and then `claimEthRewards` (which sends ETH) before updating `userStakes`, with no reentrancy guard on the function.",
    "locations": [
        "contracts/VirtueStaking.sol:92",
        "contracts/VirtueStaking.sol:119",
        "contracts/VirtueStaking.sol:131",
        "contracts/VirtueStaking.sol:214"
    ],
    "recommendation": "Add `nonReentrant` to `increaseVirtueStake`/`decreaseVirtueStake` and follow checks-effects-interactions: update `userStakes`/`claimedSnapshots` before any external calls (including `claimEthRewards` and `extraRewards`), or restructure to compute rewards without external calls until state is finalized.",
    "exploit_scenario": "A malicious staker contract calls `decreaseVirtueStake`. During `claimEthRewards`, ETH is sent to the staker, triggering its fallback to reenter `decreaseVirtueStake` before `userStakes` is updated. The reentrant call transfers VIRTUE once, then the original call resumes and transfers again based on the stale `currentStake`, allowing withdrawal of more VIRTUE than staked."
}
medium math codex Slashing can cause underflow and permanently block reward updates 75 no
view
evidence_json
{
    "evidence": "`updateRewardPerGod` subtracts `allocatedStethRewards` from `stethBal` under the slashing branch without guarding for `stethBal < allocatedStethRewards`.",
    "locations": [
        "contracts/IdolMain.sol:288",
        "contracts/IdolMain.sol:295",
        "contracts/IdolMain.sol:297"
    ],
    "recommendation": "Handle the `stethBal < allocatedStethRewards` case explicitly by reducing `rewardPerGod` and/or `allocatedStethRewards` proportionally, or clamp the principal to zero without underflow.",
    "exploit_scenario": "If stETH balance drops below `allocatedStethRewards` (e.g., severe slashing), `updateRewardPerGod` computes `stethBal - allocatedStethRewards`, which underflows and reverts. This prevents `updateRewardPerGod` from executing, leaving `rewardPerGod` overstated and making future reward claims revert due to insufficient stETH."
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x795c11d4db049140b57df3d43b4dc70e9b84b9c7066397caab885c3df76dc4b7
call_targets: 0x0dd5a35fe4cd65fe7928c7b923902b43d6ea29e7
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x795c11d4db049140b57df3d43b4dc70e9b84b9c7066397caab885c3df76dc4b7",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0dd5a35fe4cd65fe7928c7b923902b43d6ea29e7"
    ],
    "matched_probe": null,
    "target_varies": false,
    "classification": "constant_target"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xec81290e",
            "selector": "0xec81290e",
            "calldata_variants": [
                "0xec81290e",
                "0xec81290e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xeee10501",
            "selector": "0xeee10501",
            "calldata_variants": [
                "0xeee10501",
                "0xeee105010000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf3f43703",
            "selector": "0xf3f43703",
            "calldata_variants": [
                "0xf3f43703",
                "0xf3f437030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd55a23f4",
            "selector": "0xd55a23f4",
            "calldata_variants": [
                "0xd55a23f4",
                "0xd55a23f40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xda2d09c1",
            "selector": "0xda2d09c1",
            "calldata_variants": [
                "0xda2d09c1",
                "0xda2d09c10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdbe1499a",
            "selector": "0xdbe1499a",
            "calldata_variants": [
                "0xdbe1499a",
                "0xdbe1499a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xddeeacec",
            "selector": "0xddeeacec",
            "calldata_variants": [
                "0xddeeacec",
                "0xddeeacec0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 4868,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5243,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5627,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 9,
    "guards_detected": [
        {
            "pc": 4001,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 7564,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 8531,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 10745,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 11117,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ]
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x795c11d4db049140b57df3d43b4dc70e9b84b9c7066397caab885c3df76dc4b7
call_targets: 0x0dd5a35fe4cd65fe7928c7b923902b43d6ea29e7
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x795c11d4db049140b57df3d43b4dc70e9b84b9c7066397caab885c3df76dc4b7",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0dd5a35fe4cd65fe7928c7b923902b43d6ea29e7"
    ],
    "matched_probe": null,
    "target_varies": false,
    "classification": "constant_target"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xec81290e",
            "selector": "0xec81290e",
            "calldata_variants": [
                "0xec81290e",
                "0xec81290e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xeee10501",
            "selector": "0xeee10501",
            "calldata_variants": [
                "0xeee10501",
                "0xeee105010000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf3f43703",
            "selector": "0xf3f43703",
            "calldata_variants": [
                "0xf3f43703",
                "0xf3f437030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd55a23f4",
            "selector": "0xd55a23f4",
            "calldata_variants": [
                "0xd55a23f4",
                "0xd55a23f40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xda2d09c1",
            "selector": "0xda2d09c1",
            "calldata_variants": [
                "0xda2d09c1",
                "0xda2d09c10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdbe1499a",
            "selector": "0xdbe1499a",
            "calldata_variants": [
                "0xdbe1499a",
                "0xdbe1499a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xddeeacec",
            "selector": "0xddeeacec",
            "calldata_variants": [
                "0xddeeacec",
                "0xddeeacec0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 4868,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5243,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5627,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 9,
    "guards_detected": [
        {
            "pc": 4001,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 7564,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 8531,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 10745,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 11117,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ],
    "untrusted_call_count": 9
}
low math codex Division by zero when no VIRTUE is staked can revert sales/reward distribution 65 no
view
evidence_json
{
    "evidence": "`_distributeRewards` divides by `getTotalVirtueStake()` without checking for zero.",
    "locations": [
        "contracts/VirtueStaking.sol:204"
    ],
    "recommendation": "Guard `_distributeRewards` with a zero-stake check; either skip distribution or accrue rewards in a buffer to be distributed once staking resumes.",
    "exploit_scenario": "If `getTotalVirtueStake()` is zero, `_distributeRewards` divides by zero and reverts. This can block `distributeRewards`, the `receive()` handler, and any marketplace sale that calls `_distributeRewards` until someone stakes again. An attacker could temporarily DoS sales by withdrawing the last stake right before a buy/accept."
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 17
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 16
}