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

Analysis Run

019bab3c-a6af-702e-81df-bc4bc14e96dc

failed
Chain ID
1
Address
Block Number
Created
Sun, Jan 11, 2026 4:07 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
Untrusted DELEGATECALL target reachable
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
38989 artifact.fetch complete 1 / 3 3 months ago
38990 proxy.resolve complete 1 / 3 3 months ago
38991 tool.cast_disasm complete 1 / 3 3 months ago
38992 analysis.bundle complete 1 / 3 3 months ago
38993 capability.graph complete 1 / 3 3 months ago
38994 detector.run complete 1 / 3 3 months ago
38995 validation.fork complete 1 / 3 3 months ago
39235 report.consolidate complete 1 / 6 3 months ago
39236 tool.slither failed 2 / 2 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
Status
failed 500 Server Error: Internal Server Error for url: https://tripwire.topgun.bot/internal/jobs/39236/complete
Attempts
2 / 2
Findings
0
Solc
View stderr
Traceback (most recent call last):
  File "/var/www/tripwire/worker/worker.py", line 199, in main
    laravel_client.complete_job(job_id, payload if payload else None)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/www/tripwire/worker/laravel_client.py", line 27, in complete_job
    return self._post(f"/internal/jobs/{job_id}/complete", payload=payload)
           ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/www/tripwire/worker/laravel_client.py", line 17, in _post
    response.raise_for_status()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/requests/models.py", line 1026, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 500 Server Error: Internal Server Error for url: https://tripwire.topgun.bot/internal/jobs/39236/complete

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
3
No findings?
no
Summary
Found three issues: unchecked ERC20 transfer results, BNFT cancel flow missing local ownership checks, and a scheduling edge case that lets index-0 BNFT holders bypass intended validator limits.
View stdout
{"no_findings":false,"summary":"Found three issues: unchecked ERC20 transfer results, BNFT cancel flow missing local ownership checks, and a scheduling edge case that lets index-0 BNFT holders bypass intended validator limits.","findings":[{"severity":"medium","category":"other","title":"Unchecked eETH.transferFrom can mint withdrawal requests without locking funds","exploit_scenario":"If eETH.transferFrom returns false (non-standard ERC20 behavior or future upgrade), requestWithdraw/requestMembershipNFTWithdraw will still mint a WithdrawRequestNFT. The caller can later claim ETH without actually transferring/burning eETH, draining LP liquidity.","recommendation":"Use SafeERC20 and require transferFrom to succeed, or move the token transfer before minting the WithdrawRequestNFT and explicitly check the return value. Consider reverting if _amount > _permit.value in requestWithdrawWithPermit.","evidence":"requestWithdraw and requestMembershipNFTWithdraw call eETH.transferFrom without checking its return value after minting the withdrawal request.","locations":["src/LiquidityPool.sol:201","src/LiquidityPool.sol:205","src/LiquidityPool.sol:207","src/LiquidityPool.sol:235","src/LiquidityPool.sol:240","src/LiquidityPool.sol:242"]},{"severity":"medium","category":"access_control","title":"BNFT cancel path refunds caller without local ownership checks","exploit_scenario":"Any caller can invoke batchCancelDeposit with arbitrary validator IDs. If StakingManager does not strictly enforce ownership (or is upgraded with relaxed checks), an attacker could cancel other BNFT deposits and receive 1–2 ETH refunds per validator to their own address.","recommendation":"Enforce ownership or BNFT-holder authorization in LiquidityPool before issuing refunds (e.g., track validatorId -> BNFT holder and require match), or require an explicit success/authorization signal from StakingManager before sending ETH.","evidence":"batchCancelDeposit is externally callable and unconditionally refunds msg.sender based on validator phases, with no local ownership verification.","locations":["src/LiquidityPool.sol:361","src/LiquidityPool.sol:367","src/LiquidityPool.sol:377","src/LiquidityPool.sol:379","src/LiquidityPool.sol:382"]},{"severity":"low","category":"access_control","title":"Scheduling edge case lets index-0 BNFT holder bypass validator spin-up limits","exploit_scenario":"When numValidatorsToSpinUp < maxValidatorsPerOwner (or ==0), dutyForWeek returns (0,0). That makes only index-0 BNFT holder ‘assigned’, letting them call batchDepositAsBnftHolder with up to maxValidatorsPerOwner validators even when the admin intended none or fewer to spin up.","recommendation":"Handle the < maxValidatorsPerOwner case explicitly (e.g., set size=1 and cap _numberOfValidators by numValidatorsToSpinUp), or revert when numValidatorsToSpinUp is 0 to prevent unauthorized deposits.","evidence":"dutyForWeek returns (0,0) on low counts, and batchDepositAsBnftHolder doesn’t enforce numValidatorsToSpinUp or cap _numberOfValidators against it.","locations":["src/LiquidityPool.sol:446","src/LiquidityPool.sol:449","src/LiquidityPool.sol:257","src/LiquidityPool.sol:258","src/LiquidityPool.sol:268"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-9kxc7m8b
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bac23-1061-7bd2-9a88-834db6079a5b
--------
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
**Preparing to audit with shell read**
exec
/bin/bash -lc ls in /tmp/codex-9kxc7m8b succeeded in 5ms:
AUDIT_BUNDLE.txt
codex-output-schema.json
lib
src
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-9kxc7m8b succeeded in 8ms:
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: src/AuctionManager.sol
================================================================================
// SPDX-License-Identifier: MIT
pragma solidity 0.8.13;

import "./interfaces/IAuctionManager.sol";
import "./interfaces/INodeOperatorManager.sol";
import "./interfaces/IProtocolRevenueManager.sol";
import "@openzeppelin-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol";
import "@openzeppelin-upgradeable/contracts/security/PausableUpgradeable.sol";
import "@openzeppelin-upgradeable/contracts/access/OwnableUpgradeable.sol";
import "@openzeppelin-upgradeable/contracts/proxy/utils/Initializable.sol";
import "@openzeppelin-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol";

contract AuctionManager is
    Initializable,

thinking
**Planning full AUDIT_BUNDLE read**

I'm figuring out how to fully read the potentially large AUDIT_BUNDLE file despite output limits by planning to read it in line-range segments with sed or awk so I don’t miss anything important like the full LiquidityPool contents. I'll ensure I comply with instructions by processing the complete bundle gradually.
exec
/bin/bash -lc 'wc -l AUDIT_BUNDLE.txt' in /tmp/codex-9kxc7m8b succeeded in 5ms:
1733 AUDIT_BUNDLE.txt

thinking
**Reading file in segments**
exec
/bin/bash -lc "sed -n '1,400p' AUDIT_BUNDLE.txt" in /tmp/codex-9kxc7m8b 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: src/AuctionManager.sol
================================================================================
// SPDX-License-Identifier: MIT
pragma solidity 0.8.13;

import "./interfaces/IAuctionManager.sol";
import "./interfaces/INodeOperatorManager.sol";
import "./interfaces/IProtocolRevenueManager.sol";
import "@openzeppelin-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol";
import "@openzeppelin-upgradeable/contracts/security/PausableUpgradeable.sol";
import "@openzeppelin-upgradeable/contracts/access/OwnableUpgradeable.sol";
import "@openzeppelin-upgradeable/contracts/proxy/utils/Initializable.sol";
import "@openzeppelin-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol";

contract AuctionManager is
    Initializable,

thinking
**Continuing process**
exec
/bin/bash -lc "sed -n '400,800p' AUDIT_BUNDLE.txt" in /tmp/codex-9kxc7m8b succeeded in 5ms:
    //--------------------------------------------------------------------------------------
    //---------------------------------  STATE-VARIABLES  ----------------------------------
    //--------------------------------------------------------------------------------------

    IStakingManager public stakingManager;
    IEtherFiNodesManager public nodesManager;
    IRegulationsManager public DEPRECATED_regulationsManager;
    IMembershipManager public membershipManager;
    ITNFT public tNft;
    IeETH public eETH; 

    bool public DEPRECATED_eEthliquidStakingOpened;

    uint128 public totalValueOutOfLp;
    uint128 public totalValueInLp;

    address public DEPRECATED_admin;

    uint32 public numPendingDeposits; // number of deposits to the staking manager, which needs 'registerValidator'


thinking
**Continuing process**
exec
/bin/bash -lc "sed -n '800,1200p' AUDIT_BUNDLE.txt" in /tmp/codex-9kxc7m8b succeeded in 5ms:

        //Swap the end BNFT player with the BNFT player being removed
        bnftHolders[index] = bnftHolders[endIndex];
        bnftHoldersIndexes[endUser].index = uint32(index);
        
        //Pop the last user as we have swapped them around
        bnftHolders.pop();
        delete bnftHoldersIndexes[_bNftHolder];

        emit BnftHolderDeregistered(_bNftHolder, index);
    }

    /// @notice Calculate which BNFT players are currently scheduled and assigned to deposit as a BNFT player.
    ///         We don't hold any data, just have the function return a start and finish index of the selected users in the array.
    ///         When a user deposits, it calls this function and checks if the user depositing fits inside the first and last index returnd
    ///         by this function. The indices can wrap around as well. Lets look at an example of a BNFT array with size 10.
    ///
    ///         Example:
    ///         [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]  => firstIndex = 7
    ///                                         => lastIndex = 2

thinking
**Continuing previous actions**
exec
/bin/bash -lc "sed -n '1200,1600p' AUDIT_BUNDLE.txt" in /tmp/codex-9kxc7m8b succeeded in 24ms:
    //           |
    //           ↓
    //      FULLY_WITHDRAWN
    // Transitions are only allowed as directed above.
    // For instance, a transition from STAKE_DEPOSITED to either LIVE or CANCELLED is allowed,
    // but a transition from STAKE_DEPOSITED to NOT_INITIALIZED, BEING_SLASHED, or EXITED is not.
    //
    // All phase transitions should be made through the setPhase function,
    // which validates transitions based on these rules.
    //
    // Fully_WITHDRAWN or CANCELLED nodes can be recycled via resetWithdrawalSafe()
    enum VALIDATOR_PHASE {
        NOT_INITIALIZED,
        STAKE_DEPOSITED,
        LIVE,
        EXITED,
        FULLY_WITHDRAWN,
        CANCELLED,
        BEING_SLASHED,
        EVICTED,

thinking
**Checking for duplicated interfaces**
exec
/bin/bash -lc "sed -n '1600,1733p' AUDIT_BUNDLE.txt" in /tmp/codex-9kxc7m8b succeeded in 25ms:
pragma solidity 0.8.13;

interface IRegulationsManager {
    function initialize() external;

    function confirmEligibility(bytes32 hash) external;

    function removeFromWhitelist(address _user) external;

    function initializeNewWhitelist(bytes32 _newVersionHash) external;

    function isEligible(uint32 _whitelistVersion, address _user) external view returns (bool);

    function whitelistVersion() external view returns (uint32);

}

================================================================================
FILE: src/interfaces/IStakingManager.sol
================================================================================


thinking
**Analyzing reentrancy and access control risks**

I’m going through LiquidityPool and AuctionManager for potential vulnerabilities, focusing heavily on reentrancy risks from external calls without guards and access control gaps. I’m weighing where external contracts trusted by admin might be exploited and noting possible denial-of-service or state inconsistency issues due to unchecked edge cases and admin misconfigurations. There’s a lot here about interplay of trust, state updates before calls, and missing return-value checks that need careful consideration.
thinking
**Examining permit usage and ETH accounting nuances**

I’m unpacking how `requestWithdrawWithPermit` handles permit values versus transfer amounts, spotting potential mismatches if transferFrom returns false without revert. I’m also looking closely at how ETH sent directly or via selfdestruct affects internal accounting in `receive()`, alongside implications for share calculations and possible manipulation through the contract’s recorded totals versus actual ETH balance.
exec
/bin/bash -lc "rg -n \"call\\{value|delegatecall|transferFrom\" src/AuctionManager.sol src/LiquidityPool.sol" in /tmp/codex-9kxc7m8b succeeded in 12ms:
src/AuctionManager.sol:214:            (bool sent, ) = membershipManagerContractAddress.call{value: newAccumulatedRevenue}("");
src/AuctionManager.sol:224:        (bool sent, ) = membershipManagerContractAddress.call{value: transferAmount}("");
src/AuctionManager.sol:266:        (bool sent, ) = msg.sender.call{value: bid.amount}("");
src/LiquidityPool.sol:190:        (bool sent, ) = _recipient.call{value: _amount}("");
src/LiquidityPool.sol:207:        eETH.transferFrom(msg.sender, address(withdrawRequestNFT), amount);
src/LiquidityPool.sol:242:        eETH.transferFrom(msg.sender, address(withdrawRequestNFT), amount);
src/LiquidityPool.sol:297:            (bool sent, ) = msg.sender.call{value: returnAmount}("");
src/LiquidityPool.sol:382:        (bool sent, ) = address(msg.sender).call{value: returnAmount}("");



thinking
**Analyzing potential vulnerabilities and risks**

I'm reviewing various contract functions for issues like division by zero, unchecked return values on token transfers, reentrancy risks, access control gaps, and potential denial-of-service scenarios due to state or accounting inconsistencies. There are some nuanced concerns around permit validations, batch operations, admin controls, and token balance logic that might pose medium-to-low severity problems depending on external contract behaviors and upgrade paths. Let's explore these areas carefully!
thinking
**Investigating accounting and logic inconsistencies**

I’m exploring the interactions between ETH sent to the contract, how it shifts balances between staked and in-pool values, and potential edge cases in validator scheduling that may allow certain holders to deposit beyond intended limits. Some arithmetic casts, zero-address calls, and missing checks could cause misbehavior or unexpected fund loss, while logic in duty assignments might let the first BNFT holder bypass the validator spin-up limits. The complexity here definitely invites a closer look!
thinking
**Highlighting nuanced logic and access control concerns**

I’m weighing several subtle issues like unchecked token transfer returns that might let withdrawals proceed without locks, relaxed caller checks on batch cancellations potentially enabling unauthorized refunds, and a scheduling logic quirk that could let the first BNFT holder monopolize validator deposits. While many depend on complementary contract behaviors, these warrant cautious attention as they could affect fairness or allow protocol misuse under certain conditions.
exec
/bin/bash -lc "nl -ba src/LiquidityPool.sol | sed -n '160,260p'" in /tmp/codex-9kxc7m8b succeeded in 33ms:
   160	    // Used by ether.fan staking flow
   161	    function deposit(address _user, address _referral) external payable whenNotPaused returns (uint256) {
   162	        if (msg.sender != address(membershipManager)) {
   163	            revert IncorrectCaller();
   164	        }
   165	        require(_user == address(membershipManager) || _isWhitelisted(_user), "Invalid User");
   166	
   167	        emit Deposit(msg.sender, msg.value, SourceOfFunds.ETHER_FAN, _referral);
   168	
   169	        return _deposit();
   170	    }
   171	
   172	    /// @notice withdraw from pool
   173	    /// @dev Burns user balance from msg.senders account & Sends equal amount of ETH back to the recipient
   174	    /// @param _recipient the recipient who will receives the ETH
   175	    /// @param _amount the amount to withdraw from contract
   176	    /// it returns the amount of shares burned
   177	    function withdraw(address _recipient, uint256 _amount) external whenNotPaused returns (uint256) {
   178	        uint256 share = sharesForWithdrawalAmount(_amount);
   179	        require(msg.sender == address(withdrawRequestNFT) || msg.sender == address(membershipManager), "Incorrect Caller");

thinking
**Adding lines for batchCancelDeposit**
exec
/bin/bash -lc "nl -ba src/LiquidityPool.sol | sed -n '300,430p'" in /tmp/codex-9kxc7m8b succeeded in 11ms:
   300	        
   301	        return newValidators;
   302	    }
   303	
   304	    /// @notice BNFT players register validators they have deposited. This triggers a 1 ETH transaction to the beacon chain.
   305	    /// @dev This function can only be called by a BNFT player on IDs that have been deposited.  
   306	    /// @param _depositRoot This is the deposit root of the beacon chain. Can send in 0x00 to bypass this check in future
   307	    /// @param _validatorIds The ids of the validators to register
   308	    /// @param _registerValidatorDepositData As in the solo staking flow, the BNFT player must send in a deposit data object (see ILiquidityPool for struct data)
   309	    ///         to register the validators. However, the signature and deposit data root must be for a 1 ETH deposit
   310	    /// @param _depositDataRootApproval The deposit data roots for each validator for the 31 ETH transaction which will happen in the approval
   311	    ///         step. See the Staking Manager for details.
   312	    /// @param _signaturesForApprovalDeposit Much like the deposit data root. This is the signature for each validator for the 31 ETH 
   313	    ///         transaction which will happen in the approval step.
   314	    function batchRegisterAsBnftHolder(
   315	        bytes32 _depositRoot,
   316	        uint256[] calldata _validatorIds,
   317	        IStakingManager.DepositData[] calldata _registerValidatorDepositData,
   318	        bytes32[] calldata _depositDataRootApproval,
   319	        bytes[] calldata _signaturesForApprovalDeposit

thinking
**Checking relevant code lines**
exec
/bin/bash -lc "nl -ba src/LiquidityPool.sol | sed -n '430,560p'" in /tmp/codex-9kxc7m8b succeeded in 8ms:
   430	
   431	        emit BnftHolderDeregistered(_bNftHolder, index);
   432	    }
   433	
   434	    /// @notice Calculate which BNFT players are currently scheduled and assigned to deposit as a BNFT player.
   435	    ///         We don't hold any data, just have the function return a start and finish index of the selected users in the array.
   436	    ///         When a user deposits, it calls this function and checks if the user depositing fits inside the first and last index returnd
   437	    ///         by this function. The indices can wrap around as well. Lets look at an example of a BNFT array with size 10.
   438	    ///
   439	    ///         Example:
   440	    ///         [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]  => firstIndex = 7
   441	    ///                                         => lastIndex = 2
   442	    ///         Therefore: the selected range would be users [7, 8, 9, 0, 1, 2]. We use the isAssigned function to check if the user is in the selected indices.
   443	    ///
   444	    /// @return The first index that has been chosen in the array of BNFT holders
   445	    /// @return The last index that has been chosen in the array of BNFT holders
   446	    function dutyForWeek() public view returns (uint256, uint128) {
   447	        // Early termindation if there are no validators to spin up
   448	        uint32 numValidatorsToSpinUp = IEtherFiAdmin(etherFiAdminContract).numValidatorsToSpinUp();
   449	        if(maxValidatorsPerOwner == 0 || numValidatorsToSpinUp == 0 || numValidatorsToSpinUp / maxValidatorsPerOwner == 0) {

thinking
**Searching for allocateSourceOfFunds function location**
exec
/bin/bash -lc "nl -ba src/LiquidityPool.sol | sed -n '600,720p'" in /tmp/codex-9kxc7m8b succeeded in 7ms:
   600	        return uint256(keccak256(abi.encodePacked(block.timestamp / schedulingPeriodInSeconds))) % numberOfActiveSlots();
   601	    }
   602	
   603	    /// @notice Explain to an end user what this does
   604	    /// @dev Explain to a developer any extra details
   605	    /// @param _size how many BNFT players will be needed to fill the allotment 
   606	    /// @param _index The first index that we need to start from
   607	    /// @return lastIndex the last index to be used in the selection for the current schedule
   608	    function _fetchLastIndex(uint128 _size, uint256 _index) internal view returns (uint128 lastIndex){
   609	        uint32 numSlots = numberOfActiveSlots();
   610	        uint128 tempLastIndex = uint128(_index) + _size - 1;
   611	        lastIndex = (tempLastIndex + uint128(numSlots)) % uint128(numSlots);
   612	    }
   613	
   614	    function _isWhitelisted(address _user) internal view returns (bool) {
   615	        return (!whitelistEnabled || whitelisted[_user]);
   616	    }
   617	
   618	    function _sharesForDepositAmount(uint256 _depositAmount) internal view returns (uint256) {
   619	        uint256 totalPooledEther = getTotalPooledEther() - _depositAmount;

thinking
**Summarizing audit findings and crafting JSON**

I’m gathering detailed vulnerability descriptions, severity levels, categories, exploit scenarios, recommendations, and precise evidence line numbers and files to put together a concise JSON report with three key findings around unchecked token transfers, missing ownership checks, and scheduling gate bypass in LiquidityPool.sol.
codex
{"no_findings":false,"summary":"Found three issues: unchecked ERC20 transfer results, BNFT cancel flow missing local ownership checks, and a scheduling edge case that lets index-0 BNFT holders bypass intended validator limits.","findings":[{"severity":"medium","category":"other","title":"Unchecked eETH.transferFrom can mint withdrawal requests without locking funds","exploit_scenario":"If eETH.transferFrom returns false (non-standard ERC20 behavior or future upgrade), requestWithdraw/requestMembershipNFTWithdraw will still mint a WithdrawRequestNFT. The caller can later claim ETH without actually transferring/burning eETH, draining LP liquidity.","recommendation":"Use SafeERC20 and require transferFrom to succeed, or move the token transfer before minting the WithdrawRequestNFT and explicitly check the return value. Consider reverting if _amount > _permit.value in requestWithdrawWithPermit.","evidence":"requestWithdraw and requestMembershipNFTWithdraw call eETH.transferFrom without checking its return value after minting the withdrawal request.","locations":["src/LiquidityPool.sol:201","src/LiquidityPool.sol:205","src/LiquidityPool.sol:207","src/LiquidityPool.sol:235","src/LiquidityPool.sol:240","src/LiquidityPool.sol:242"]},{"severity":"medium","category":"access_control","title":"BNFT cancel path refunds caller without local ownership checks","exploit_scenario":"Any caller can invoke batchCancelDeposit with arbitrary validator IDs. If StakingManager does not strictly enforce ownership (or is upgraded with relaxed checks), an attacker could cancel other BNFT deposits and receive 1–2 ETH refunds per validator to their own address.","recommendation":"Enforce ownership or BNFT-holder authorization in LiquidityPool before issuing refunds (e.g., track validatorId -> BNFT holder and require match), or require an explicit success/authorization signal from StakingManager before sending ETH.","evidence":"batchCancelDeposit is externally callable and unconditionally refunds msg.sender based on validator phases, with no local ownership verification.","locations":["src/LiquidityPool.sol:361","src/LiquidityPool.sol:367","src/LiquidityPool.sol:377","src/LiquidityPool.sol:379","src/LiquidityPool.sol:382"]},{"severity":"low","category":"access_control","title":"Scheduling edge case lets index-0 BNFT holder bypass validator spin-up limits","exploit_scenario":"When numValidatorsToSpinUp < maxValidatorsPerOwner (or ==0), dutyForWeek returns (0,0). That makes only index-0 BNFT holder ‘assigned’, letting them call batchDepositAsBnftHolder with up to maxValidatorsPerOwner validators even when the admin intended none or fewer to spin up.","recommendation":"Handle the < maxValidatorsPerOwner case explicitly (e.g., set size=1 and cap _numberOfValidators by numValidatorsToSpinUp), or revert when numValidatorsToSpinUp is 0 to prevent unauthorized deposits.","evidence":"dutyForWeek returns (0,0) on low counts, and batchDepositAsBnftHolder doesn’t enforce numValidatorsToSpinUp or cap _numberOfValidators against it.","locations":["src/LiquidityPool.sol:446","src/LiquidityPool.sol:449","src/LiquidityPool.sol:257","src/LiquidityPool.sol:258","src/LiquidityPool.sol:268"]}]}
tokens used
145,312
Metadata
{
    "codex": {
        "ran_at": "2026-01-11T08:24:58.344293+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "source",
        "file_count": 46,
        "import_count": 52,
        "first_party_contracts_count": 15
    },
    "summary": "Found three issues: unchecked ERC20 transfer results, BNFT cancel flow missing local ownership checks, and a scheduling edge case that lets index-0 BNFT holders bypass intended validator limits.",
    "raw_final": {
        "summary": "Found three issues: unchecked ERC20 transfer results, BNFT cancel flow missing local ownership checks, and a scheduling edge case that lets index-0 BNFT holders bypass intended validator limits.",
        "findings": [
            {
                "title": "Unchecked eETH.transferFrom can mint withdrawal requests without locking funds",
                "category": "other",
                "evidence": "requestWithdraw and requestMembershipNFTWithdraw call eETH.transferFrom without checking its return value after minting the withdrawal request.",
                "severity": "medium",
                "locations": [
                    "src/LiquidityPool.sol:201",
                    "src/LiquidityPool.sol:205",
                    "src/LiquidityPool.sol:207",
                    "src/LiquidityPool.sol:235",
                    "src/LiquidityPool.sol:240",
                    "src/LiquidityPool.sol:242"
                ],
                "recommendation": "Use SafeERC20 and require transferFrom to succeed, or move the token transfer before minting the WithdrawRequestNFT and explicitly check the return value. Consider reverting if _amount > _permit.value in requestWithdrawWithPermit.",
                "exploit_scenario": "If eETH.transferFrom returns false (non-standard ERC20 behavior or future upgrade), requestWithdraw/requestMembershipNFTWithdraw will still mint a WithdrawRequestNFT. The caller can later claim ETH without actually transferring/burning eETH, draining LP liquidity."
            },
            {
                "title": "BNFT cancel path refunds caller without local ownership checks",
                "category": "access_control",
                "evidence": "batchCancelDeposit is externally callable and unconditionally refunds msg.sender based on validator phases, with no local ownership verification.",
                "severity": "medium",
                "locations": [
                    "src/LiquidityPool.sol:361",
                    "src/LiquidityPool.sol:367",
                    "src/LiquidityPool.sol:377",
                    "src/LiquidityPool.sol:379",
                    "src/LiquidityPool.sol:382"
                ],
                "recommendation": "Enforce ownership or BNFT-holder authorization in LiquidityPool before issuing refunds (e.g., track validatorId -> BNFT holder and require match), or require an explicit success/authorization signal from StakingManager before sending ETH.",
                "exploit_scenario": "Any caller can invoke batchCancelDeposit with arbitrary validator IDs. If StakingManager does not strictly enforce ownership (or is upgraded with relaxed checks), an attacker could cancel other BNFT deposits and receive 1\u20132 ETH refunds per validator to their own address."
            },
            {
                "title": "Scheduling edge case lets index-0 BNFT holder bypass validator spin-up limits",
                "category": "access_control",
                "evidence": "dutyForWeek returns (0,0) on low counts, and batchDepositAsBnftHolder doesn\u2019t enforce numValidatorsToSpinUp or cap _numberOfValidators against it.",
                "severity": "low",
                "locations": [
                    "src/LiquidityPool.sol:446",
                    "src/LiquidityPool.sol:449",
                    "src/LiquidityPool.sol:257",
                    "src/LiquidityPool.sol:258",
                    "src/LiquidityPool.sol:268"
                ],
                "recommendation": "Handle the < maxValidatorsPerOwner case explicitly (e.g., set size=1 and cap _numberOfValidators by numValidatorsToSpinUp), or revert when numValidatorsToSpinUp is 0 to prevent unauthorized deposits.",
                "exploit_scenario": "When numValidatorsToSpinUp < maxValidatorsPerOwner (or ==0), dutyForWeek returns (0,0). That makes only index-0 BNFT holder \u2018assigned\u2019, letting them call batchDepositAsBnftHolder with up to maxValidatorsPerOwner validators even when the admin intended none or fewer to spin up."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
1
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
8
EXT*/BALANCE
3
Total opcodes
6947
Flags
delegatecall_present
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x02f2
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x7edc80fd
00000019: GT
0000001a: PUSH2 0x018f
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xb7751c71
00000024: GT
00000025: PUSH2 0x00e1
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xdbdcedd2
0000002f: GT
00000030: PUSH2 0x008a
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xe30f7c4f
0000003a: GT
0000003b: PUSH2 0x0064
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xe30f7c4f
00000045: EQ
00000046: PUSH2 0x0911
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xf2fde38b
00000050: EQ
00000051: PUSH2 0x0932
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xffacef08
0000005b: EQ
0000005c: PUSH2 0x0952
0000005f: JUMPI
00000060: PUSH1 0x00
00000062: DUP1
00000063: REVERT
00000064: JUMPDEST
00000065: DUP1
00000066: PUSH4 0xdbdcedd2
0000006b: EQ
0000006c: PUSH2 0x08b1
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0xdfd269de
00000076: EQ
00000077: PUSH2 0x08d1
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0xe1ce002f
00000081: EQ
00000082: PUSH2 0x08f1
00000085: JUMPI
00000086: PUSH1 0x00
00000088: DUP1
00000089: REVERT
0000008a: JUMPDEST
0000008b: DUP1
0000008c: PUSH4 0xcdfb2b4e
00000091: GT
00000092: PUSH2 0x00bb
00000095: JUMPI
00000096: DUP1
00000097: PUSH4 0xcdfb2b4e
0000009c: EQ
0000009d: PUSH2 0x0867
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0xd4e01f71
000000a7: EQ
000000a8: PUSH2 0x087c
000000ab: JUMPI
000000ac: DUP1
000000ad: PUSH4 0xd6b0f484
000000b2: EQ
000000b3: PUSH2 0x089c
000000b6: JUMPI
000000b7: PUSH1 0x00
000000b9: DUP1
000000ba: REVERT
000000bb: JUMPDEST
000000bc: DUP1
000000bd: PUSH4 0xb7751c71
000000c2: EQ
000000c3: PUSH2 0x0812
000000c6: JUMPI
000000c7: DUP1
000000c8: PUSH4 0xbac15203
000000cd: EQ
000000ce: PUSH2 0x0832
000000d1: JUMPI
000000d2: DUP1
000000d3: PUSH4 0xc4d66de8
000000d8: EQ
000000d9: PUSH2 0x0847
000000dc: JUMPI
000000dd: PUSH1 0x00
000000df: DUP1
000000e0: REVERT
000000e1: JUMPDEST
000000e2: DUP1
000000e3: PUSH4 0x8da5cb5b
000000e8: GT
000000e9: PUSH2 0x0143
000000ec: JUMPI
000000ed: DUP1
000000ee: PUSH4 0xa24085e1
000000f3: GT
000000f4: PUSH2 0x011d
000000f7: JUMPI
000000f8: DUP1
000000f9: PUSH4 0xa24085e1
000000fe: EQ
000000ff: PUSH2 0x07bc
00000102: JUMPI
00000103: DUP1
00000104: PUSH4 0xaaf10f42
00000109: EQ
0000010a: PUSH2 0x07dd
0000010d: JUMPI
0000010e: DUP1
0000010f: PUSH4 0xb084eae5
00000114: EQ
00000115: PUSH2 0x07f2
00000118: JUMPI
00000119: PUSH1 0x00
0000011b: DUP1
0000011c: REVERT
0000011d: JUMPDEST
0000011e: DUP1
0000011f: PUSH4 0x8da5cb5b
00000124: EQ
00000125: PUSH2 0x0743
00000128: JUMPI
00000129: DUP1
0000012a: PUSH4 0x9703ef35
0000012f: EQ
00000130: PUSH2 0x0761
00000133: JUMPI
00000134: DUP1
00000135: PUSH4 0xa06287e6
0000013a: EQ
0000013b: PUSH2 0x0781
0000013e: JUMPI
0000013f: PUSH1 0x00
00000141: DUP1
00000142: REVERT
00000143: JUMPDEST
00000144: DUP1
00000145: PUSH4 0x860e4784
0000014a: GT
0000014b: PUSH2 0x0174
0000014e: JUMPI
0000014f: DUP1
00000150: PUSH4 0x860e4784
00000155: EQ
00000156: PUSH2 0x06c7
00000159: JUMPI
0000015a: DUP1
0000015b: PUSH4 0x861fe104
00000160: EQ
00000161: PUSH2 0x070d
00000164: JUMPI
00000165: DUP1
00000166: PUSH4 0x8af11723
0000016b: EQ
0000016c: PUSH2 0x0722
0000016f: JUMPI
00000170: PUSH1 0x00
00000172: DUP1
00000173: REVERT
00000174: JUMPDEST
00000175: DUP1
00000176: PUSH4 0x7edc80fd
0000017b: EQ
0000017c: PUSH2 0x0687
0000017f: JUMPI
00000180: DUP1
00000181: PUSH4 0x8270f552
00000186: EQ
00000187: PUSH2 0x06a7
0000018a: JUMPI
0000018b: PUSH1 0x00
0000018d: DUP1
0000018e: REVERT
0000018f: JUMPDEST
00000190: DUP1
00000191: PUSH4 0x49751788
00000196: GT
00000197: PUSH2 0x0248
0000019a: JUMPI
0000019b: DUP1
0000019c: PUSH4 0x52d1902d
000001a1: GT
000001a2: PUSH2 0x01fc
000001a5: JUMPI
000001a6: DUP1
000001a7: PUSH4 0x702685c9
000001ac: GT
000001ad: PUSH2 0x01d6
000001b0: JUMPI
000001b1: DUP1
000001b2: PUSH4 0x702685c9
000001b7: EQ
000001b8: PUSH2 0x0632
000001bb: JUMPI
000001bc: DUP1
000001bd: PUSH4 0x715018a6
000001c2: EQ
000001c3: PUSH2 0x0652
000001c6: JUMPI
000001c7: DUP1
000001c8: PUSH4 0x792f9b76
000001cd: EQ
000001ce: PUSH2 0x0667
000001d1: JUMPI
000001d2: PUSH1 0x00
000001d4: DUP1
000001d5: REVERT
000001d6: JUMPDEST
000001d7: DUP1
000001d8: PUSH4 0x52d1902d
000001dd: EQ
000001de: PUSH2 0x05e5
000001e1: JUMPI
000001e2: DUP1
000001e3: PUSH4 0x5c975abb
000001e8: EQ
000001e9: PUSH2 0x05fa
000001ec: JUMPI
000001ed: DUP1
000001ee: PUSH4 0x670a6fd9
000001f3: EQ
000001f4: PUSH2 0x0612
000001f7: JUMPI
000001f8: PUSH1 0x00
000001fa: DUP1
000001fb: REVERT
000001fc: JUMPDEST
000001fd: DUP1
000001fe: PUSH4 0x4f1ef286
00000203: GT
00000204: PUSH2 0x022d
00000207: JUMPI
00000208: DUP1
00000209: PUSH4 0x4f1ef286
0000020e: EQ
0000020f: PUSH2 0x058f
00000212: JUMPI
00000213: DUP1
00000214: PUSH4 0x50a8a553
00000219: EQ
0000021a: PUSH2 0x05a2
0000021d: JUMPI
0000021e: DUP1
0000021f: PUSH4 0x51fb012d
00000224: EQ
00000225: PUSH2 0x05c3
00000228: JUMPI
00000229: PUSH1 0x00
0000022b: DUP1
0000022c: REVERT
0000022d: JUMPDEST
0000022e: DUP1
0000022f: PUSH4 0x49751788
00000234: EQ
00000235: PUSH2 0x0524
00000238: JUMPI
00000239: DUP1
0000023a: PUSH4 0x4c9981f6
0000023f: EQ
00000240: PUSH2 0x0566
00000243: JUMPI
00000244: PUSH1 0x00
00000246: DUP1
00000247: REVERT
00000248: JUMPDEST
00000249: DUP1
0000024a: PUSH4 0x3659cfe6
0000024f: GT
00000250: PUSH2 0x02aa
00000253: JUMPI
00000254: DUP1
00000255: PUSH4 0x439766ce
0000025a: GT
0000025b: PUSH2 0x0284
0000025e: JUMPI
0000025f: DUP1
00000260: PUSH4 0x439766ce
00000265: EQ
00000266: PUSH2 0x0435
00000269: JUMPI
0000026a: DUP1
0000026b: PUSH4 0x4423c5f1
00000270: EQ
00000271: PUSH2 0x044a
00000274: JUMPI
00000275: DUP1
00000276: PUSH4 0x489b677c
0000027b: EQ
0000027c: PUSH2 0x04e4
0000027f: JUMPI
00000280: PUSH1 0x00
00000282: DUP1
00000283: REVERT
00000284: JUMPDEST
00000285: DUP1
00000286: PUSH4 0x3659cfe6
0000028b: EQ
0000028c: PUSH2 0x03b4
0000028f: JUMPI
00000290: DUP1
00000291: PUSH4 0x380c1ef5
00000296: EQ
00000297: PUSH2 0x03d4
0000029a: JUMPI
0000029b: DUP1
0000029c: PUSH4 0x429b62e5
000002a1: EQ
000002a2: PUSH2 0x03f4
000002a5: JUMPI
000002a6: PUSH1 0x00
000002a8: DUP1
000002a9: REVERT
000002aa: JUMPDEST
000002ab: DUP1
000002ac: PUSH4 0x17d531fc
000002b1: GT
000002b2: PUSH2 0x02db
000002b5: JUMPI
000002b6: DUP1
000002b7: PUSH4 0x17d531fc
000002bc: EQ
000002bd: PUSH2 0x0343
000002c0: JUMPI
000002c1: DUP1
000002c2: PUSH4 0x2f708968
000002c7: EQ
000002c8: PUSH2 0x035a
000002cb: JUMPI
000002cc: DUP1
000002cd: PUSH4 0x30453392
000002d2: EQ
000002d3: PUSH2 0x0393
000002d6: JUMPI
000002d7: PUSH1 0x00
000002d9: DUP1
000002da: REVERT
000002db: JUMPDEST
000002dc: DUP1
000002dd: PUSH4 0x048d885f
000002e2: EQ
000002e3: PUSH2 0x02f7
000002e6: JUMPI
000002e7: DUP1
000002e8: PUSH4 0x069ef863
000002ed: EQ
000002ee: PUSH2 0x0321
000002f1: JUMPI
000002f2: JUMPDEST
000002f3: PUSH1 0x00
000002f5: DUP1
000002f6: REVERT
000002f7: JUMPDEST
000002f8: CALLVALUE
000002f9: DUP1
000002fa: ISZERO
000002fb: PUSH2 0x0303
000002fe: JUMPI
000002ff: PUSH1 0x00
00000301: DUP1
00000302: REVERT
00000303: JUMPDEST
00000304: POP
00000305: PUSH2 0x030e
00000308: PUSH2 0x012f
0000030b: SLOAD
0000030c: DUP2
0000030d: JUMP
0000030e: JUMPDEST
0000030f: PUSH1 0x40
00000311: MLOAD
00000312: SWAP1
00000313: DUP2
00000314: MSTORE
00000315: PUSH1 0x20
00000317: ADD
00000318: JUMPDEST
00000319: PUSH1 0x40
0000031b: MLOAD
0000031c: DUP1
0000031d: SWAP2
0000031e: SUB
0000031f: SWAP1
00000320: RETURN
00000321: JUMPDEST
00000322: CALLVALUE
00000323: DUP1
00000324: ISZERO
00000325: PUSH2 0x032d
00000328: JUMPI
00000329: PUSH1 0x00
0000032b: DUP1
0000032c: REVERT
0000032d: JUMPDEST
0000032e: POP
0000032f: PUSH2 0x0341
00000332: PUSH2 0x033c
00000335: CALLDATASIZE
00000336: PUSH1 0x04
00000338: PUSH2 0x309c
0000033b: JUMP
0000033c: JUMPDEST
0000033d: PUSH2 0x0973
00000340: JUMP
00000341: JUMPDEST
00000342: STOP
00000343: JUMPDEST
00000344: CALLVALUE
00000345: DUP1
00000346: ISZERO
00000347: PUSH2 0x034f
0000034a: JUMPI
0000034b: PUSH1 0x00
0000034d: DUP1
0000034e: REVERT
0000034f: JUMPDEST
00000350: POP
00000351: PUSH2 0x030e
00000354: PUSH2 0x012e
00000357: SLOAD
00000358: DUP2
00000359: JUMP
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 0x0131
0000036b: SLOAD
0000036c: PUSH2 0x037b
0000036f: SWAP1
00000370: PUSH1 0x01
00000372: PUSH1 0x01
00000374: PUSH1 0xa0
00000376: SHL
00000377: SUB
00000378: AND
00000379: DUP2
0000037a: JUMP
0000037b: JUMPDEST
0000037c: PUSH1 0x40
0000037e: MLOAD
0000037f: PUSH1 0x01
00000381: PUSH1 0x01
00000383: PUSH1 0xa0
00000385: SHL
00000386: SUB
00000387: SWAP1
00000388: SWAP2
00000389: AND
0000038a: DUP2
0000038b: MSTORE
0000038c: PUSH1 0x20
0000038e: ADD
0000038f: PUSH2 0x0318
00000392: JUMP
00000393: JUMPDEST
00000394: CALLVALUE
00000395: DUP1
00000396: ISZERO
00000397: PUSH2 0x039f
0000039a: JUMPI
0000039b: PUSH1 0x00
0000039d: DUP1
0000039e: REVERT
0000039f: JUMPDEST
000003a0: POP
000003a1: PUSH2 0x0135
000003a4: SLOAD
000003a5: PUSH2 0x037b
000003a8: SWAP1
000003a9: PUSH1 0x01
000003ab: PUSH1 0x01
000003ad: PUSH1 0xa0
000003af: SHL
000003b0: SUB
000003b1: AND
000003b2: DUP2
000003b3: JUMP
000003b4: JUMPDEST
000003b5: CALLVALUE
000003b6: DUP1
000003b7: ISZERO
000003b8: PUSH2 0x03c0
000003bb: JUMPI
000003bc: PUSH1 0x00
000003be: DUP1
000003bf: REVERT
000003c0: JUMPDEST
000003c1: POP
000003c2: PUSH2 0x0341
000003c5: PUSH2 0x03cf
000003c8: CALLDATASIZE
000003c9: PUSH1 0x04
000003cb: PUSH2 0x30ce
000003ce: JUMP
000003cf: JUMPDEST
000003d0: PUSH2 0x0a2d
000003d3: JUMP
000003d4: JUMPDEST
000003d5: CALLVALUE
000003d6: DUP1
000003d7: ISZERO
000003d8: PUSH2 0x03e0
000003db: JUMPI
000003dc: PUSH1 0x00
000003de: DUP1
000003df: REVERT
000003e0: JUMPDEST
000003e1: POP
000003e2: PUSH2 0x0341
000003e5: PUSH2 0x03ef
000003e8: CALLDATASIZE
000003e9: PUSH1 0x04
000003eb: PUSH2 0x30e9
000003ee: JUMP
000003ef: JUMPDEST
000003f0: PUSH2 0x0bca
000003f3: JUMP
000003f4: JUMPDEST
000003f5: CALLVALUE
000003f6: DUP1
000003f7: ISZERO
000003f8: PUSH2 0x0400
000003fb: JUMPI
000003fc: PUSH1 0x00
000003fe: DUP1
000003ff: REVERT
00000400: JUMPDEST
00000401: POP
00000402: PUSH2 0x0425
00000405: PUSH2 0x040f
00000408: CALLDATASIZE
00000409: PUSH1 0x04
0000040b: PUSH2 0x30ce
0000040e: JUMP
0000040f: JUMPDEST
00000410: PUSH2 0x0137
00000413: PUSH1 0x20
00000415: MSTORE
00000416: PUSH1 0x00
00000418: SWAP1
00000419: DUP2
0000041a: MSTORE
0000041b: PUSH1 0x40
0000041d: SWAP1
0000041e: KECCAK256
0000041f: SLOAD
00000420: PUSH1 0xff
00000422: AND
00000423: DUP2
00000424: JUMP
00000425: JUMPDEST
00000426: PUSH1 0x40
00000428: MLOAD
00000429: SWAP1
0000042a: ISZERO
0000042b: ISZERO
0000042c: DUP2
0000042d: MSTORE
0000042e: PUSH1 0x20
00000430: ADD
00000431: PUSH2 0x0318
00000434: JUMP
00000435: JUMPDEST
00000436: CALLVALUE
00000437: DUP1
00000438: ISZERO
00000439: PUSH2 0x0441
0000043c: JUMPI
0000043d: PUSH1 0x00
0000043f: DUP1
00000440: REVERT
00000441: JUMPDEST
00000442: POP
00000443: PUSH2 0x0341
00000446: PUSH2 0x0cf9
00000449: JUMP
0000044a: JUMPDEST
0000044b: CALLVALUE
0000044c: DUP1
0000044d: ISZERO
0000044e: PUSH2 0x0456
00000451: JUMPI
00000452: PUSH1 0x00
00000454: DUP1
00000455: REVERT
00000456: JUMPDEST
00000457: POP
00000458: PUSH2 0x04ab
0000045b: PUSH2 0x0465
0000045e: CALLDATASIZE
0000045f: PUSH1 0x04
00000461: PUSH2 0x30e9
00000464: JUMP
00000465: JUMPDEST
00000466: PUSH2 0x0133
00000469: PUSH1 0x20
0000046b: MSTORE
0000046c: PUSH1 0x00
0000046e: SWAP1
0000046f: DUP2
00000470: MSTORE
00000471: PUSH1 0x40
00000473: SWAP1
00000474: KECCAK256
00000475: DUP1
00000476: SLOAD
00000477: PUSH1 0x01
00000479: SWAP1
0000047a: SWAP2
0000047b: ADD
0000047c: SLOAD
0000047d: PUSH8 0xffffffffffffffff
00000486: DUP2
00000487: AND
00000488: SWAP1
00000489: PUSH9 0x010000000000000000
00000493: DUP2
00000494: DIV
00000495: PUSH1 0x01
00000497: PUSH1 0x01
00000499: PUSH1 0xa0
0000049b: SHL
0000049c: SUB
0000049d: AND
0000049e: SWAP1
0000049f: PUSH1 0x01
000004a1: PUSH1 0xe0
000004a3: SHL
000004a4: SWAP1
000004a5: DIV
000004a6: PUSH1 0xff
000004a8: AND
000004a9: DUP5
000004aa: JUMP
000004ab: JUMPDEST
000004ac: PUSH1 0x40
000004ae: DUP1
000004af: MLOAD
000004b0: SWAP5
000004b1: DUP6
000004b2: MSTORE
000004b3: PUSH8 0xffffffffffffffff
000004bc: SWAP1
000004bd: SWAP4
000004be: AND
000004bf: PUSH1 0x20
000004c1: DUP6
000004c2: ADD
000004c3: MSTORE
000004c4: PUSH1 0x01
000004c6: PUSH1 0x01
000004c8: PUSH1 0xa0
000004ca: SHL
000004cb: SUB
000004cc: SWAP1
000004cd: SWAP2
000004ce: AND
000004cf: SWAP2
000004d0: DUP4
000004d1: ADD
000004d2: SWAP2
000004d3: SWAP1
000004d4: SWAP2
000004d5: MSTORE
000004d6: ISZERO
000004d7: ISZERO
000004d8: PUSH1 0x60
000004da: DUP3
000004db: ADD
000004dc: MSTORE
000004dd: PUSH1 0x80
000004df: ADD
000004e0: PUSH2 0x0318
000004e3: JUMP
000004e4: JUMPDEST
000004e5: CALLVALUE
000004e6: DUP1
000004e7: ISZERO
000004e8: PUSH2 0x04f0
000004eb: JUMPI
000004ec: PUSH1 0x00
000004ee: DUP1
000004ef: REVERT
000004f0: JUMPDEST
000004f1: POP
000004f2: PUSH2 0x0136
000004f5: SLOAD
000004f6: PUSH2 0x050c
000004f9: SWAP1
000004fa: PUSH1 0x01
000004fc: PUSH1 0x80
000004fe: SHL
000004ff: SWAP1
00000500: DIV
00000501: PUSH1 0x01
00000503: PUSH1 0x01
00000505: PUSH1 0x80
00000507: SHL
00000508: SUB
00000509: AND
0000050a: DUP2
0000050b: JUMP
0000050c: JUMPDEST
0000050d: PUSH1 0x40
0000050f: MLOAD
00000510: PUSH1 0x01
00000512: PUSH1 0x01
00000514: PUSH1 0x80
00000516: SHL
00000517: SUB
00000518: SWAP1
00000519: SWAP2
0000051a: AND
0000051b: DUP2
0000051c: MSTORE
0000051d: PUSH1 0x20
0000051f: ADD
00000520: PUSH2 0x0318
00000523: JUMP
00000524: JUMPDEST
00000525: CALLVALUE
00000526: DUP1
00000527: ISZERO
00000528: PUSH2 0x0530
0000052b: JUMPI
0000052c: PUSH1 0x00
0000052e: DUP1
0000052f: REVERT
00000530: JUMPDEST
00000531: POP
00000532: PUSH2 0x012d
00000535: SLOAD
00000536: PUSH2 0x054d
00000539: SWAP1
0000053a: PUSH1 0x01
0000053c: PUSH1 0x80
0000053e: SHL
0000053f: SWAP1
00000540: DIV
00000541: PUSH8 0xffffffffffffffff
0000054a: AND
0000054b: DUP2
0000054c: JUMP
0000054d: JUMPDEST
0000054e: PUSH1 0x40
00000550: MLOAD
00000551: PUSH8 0xffffffffffffffff
0000055a: SWAP1
0000055b: SWAP2
0000055c: AND
0000055d: DUP2
0000055e: MSTORE
0000055f: PUSH1 0x20
00000561: ADD
00000562: PUSH2 0x0318
00000565: JUMP
00000566: JUMPDEST
00000567: CALLVALUE
00000568: DUP1
00000569: ISZERO
0000056a: PUSH2 0x0572
0000056d: JUMPI
0000056e: PUSH1 0x00
00000570: DUP1
00000571: REVERT
00000572: JUMPDEST
00000573: POP
00000574: PUSH2 0x012d
00000577: SLOAD
00000578: PUSH2 0x054d
0000057b: SWAP1
0000057c: PUSH1 0x01
0000057e: PUSH1 0xc0
00000580: SHL
00000581: SWAP1
00000582: DIV
00000583: PUSH8 0xffffffffffffffff
0000058c: AND
0000058d: DUP2
0000058e: JUMP
0000058f: JUMPDEST
00000590: PUSH2 0x0341
00000593: PUSH2 0x059d
00000596: CALLDATASIZE
00000597: PUSH1 0x04
00000599: PUSH2 0x3118
0000059c: JUMP
0000059d: JUMPDEST
0000059e: PUSH2 0x0d63
000005a1: JUMP
000005a2: JUMPDEST
000005a3: CALLVALUE
000005a4: DUP1
000005a5: ISZERO
000005a6: PUSH2 0x05ae
000005a9: JUMPI
000005aa: PUSH1 0x00
000005ac: DUP1
000005ad: REVERT
000005ae: JUMPDEST
000005af: POP
000005b0: PUSH2 0x0134
000005b3: SLOAD
000005b4: PUSH2 0x037b
000005b7: SWAP1
000005b8: PUSH1 0x01
000005ba: PUSH1 0x01
000005bc: PUSH1 0xa0
000005be: SHL
000005bf: SUB
000005c0: AND
000005c1: DUP2
000005c2: JUMP
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 0x0132
000005d4: SLOAD
000005d5: PUSH2 0x0425
000005d8: SWAP1
000005d9: PUSH1 0x01
000005db: PUSH1 0xa0
000005dd: SHL
000005de: SWAP1
000005df: DIV
000005e0: PUSH1 0xff
000005e2: AND
000005e3: DUP2
000005e4: JUMP
000005e5: JUMPDEST
000005e6: CALLVALUE
000005e7: DUP1
000005e8: ISZERO
000005e9: PUSH2 0x05f1
000005ec: JUMPI
000005ed: PUSH1 0x00
000005ef: DUP1
000005f0: REVERT
000005f1: JUMPDEST
000005f2: POP
000005f3: PUSH2 0x030e
000005f6: PUSH2 0x0ef1
000005f9: JUMP
000005fa: JUMPDEST
000005fb: CALLVALUE
000005fc: DUP1
000005fd: ISZERO
000005fe: PUSH2 0x0606
00000601: JUMPI
00000602: PUSH1 0x00
00000604: DUP1
00000605: REVERT
00000606: JUMPDEST
00000607: POP
00000608: PUSH1 0x33
0000060a: SLOAD
0000060b: PUSH1 0xff
0000060d: AND
0000060e: PUSH2 0x0425
00000611: JUMP
00000612: JUMPDEST
00000613: CALLVALUE
00000614: DUP1
00000615: ISZERO
00000616: PUSH2 0x061e
00000619: JUMPI
0000061a: PUSH1 0x00
0000061c: DUP1
0000061d: REVERT
0000061e: JUMPDEST
0000061f: POP
00000620: PUSH2 0x0341
00000623: PUSH2 0x062d
00000626: CALLDATASIZE
00000627: PUSH1 0x04
00000629: PUSH2 0x31e8
0000062c: JUMP
0000062d: JUMPDEST
0000062e: PUSH2 0x0fb6
00000631: JUMP
00000632: JUMPDEST
00000633: CALLVALUE
00000634: DUP1
00000635: ISZERO
00000636: PUSH2 0x063e
00000639: JUMPI
0000063a: PUSH1 0x00
0000063c: DUP1
0000063d: REVERT
0000063e: JUMPDEST
0000063f: POP
00000640: PUSH2 0x0341
00000643: PUSH2 0x064d
00000646: CALLDATASIZE
00000647: PUSH1 0x04
00000649: PUSH2 0x3235
0000064c: JUMP
0000064d: JUMPDEST
0000064e: PUSH2 0x1040
00000651: JUMP
00000652: JUMPDEST
00000653: CALLVALUE
00000654: DUP1
00000655: ISZERO
00000656: PUSH2 0x065e
00000659: JUMPI
0000065a: PUSH1 0x00
0000065c: DUP1
0000065d: REVERT
0000065e: JUMPDEST
0000065f: POP
00000660: PUSH2 0x0341
00000663: PUSH2 0x11d6
00000666: JUMP
00000667: JUMPDEST
00000668: CALLVALUE
00000669: DUP1
0000066a: ISZERO
0000066b: PUSH2 0x0673
0000066e: JUMPI
0000066f: PUSH1 0x00
00000671: DUP1
00000672: REVERT
00000673: JUMPDEST
00000674: POP
00000675: PUSH2 0x0341
00000678: PUSH2 0x0682
0000067b: CALLDATASIZE
0000067c: PUSH1 0x04
0000067e: PUSH2 0x3252
00000681: JUMP
00000682: JUMPDEST
00000683: PUSH2 0x11e8
00000686: JUMP
00000687: JUMPDEST
00000688: CALLVALUE
00000689: DUP1
0000068a: ISZERO
0000068b: PUSH2 0x0693
0000068e: JUMPI
0000068f: PUSH1 0x00
00000691: DUP1
00000692: REVERT
00000693: JUMPDEST
00000694: POP
00000695: PUSH2 0x0341
00000698: PUSH2 0x06a2
0000069b: CALLDATASIZE
0000069c: PUSH1 0x04
0000069e: PUSH2 0x3235
000006a1: JUMP
000006a2: JUMPDEST
000006a3: PUSH2 0x12e2
000006a6: JUMP
000006a7: JUMPDEST
000006a8: CALLVALUE
000006a9: DUP1
000006aa: ISZERO
000006ab: PUSH2 0x06b3
000006ae: JUMPI
000006af: PUSH1 0x00
000006b1: DUP1
000006b2: REVERT
000006b3: JUMPDEST
000006b4: POP
000006b5: PUSH2 0x0341
000006b8: PUSH2 0x06c2
000006bb: CALLDATASIZE
000006bc: PUSH1 0x04
000006be: PUSH2 0x32a6
000006c1: JUMP
000006c2: JUMPDEST
000006c3: PUSH2 0x13e4
000006c6: JUMP
000006c7: JUMPDEST
000006c8: CALLVALUE
000006c9: DUP1
000006ca: ISZERO
000006cb: PUSH2 0x06d3
000006ce: JUMPI
000006cf: PUSH1 0x00
000006d1: DUP1
000006d2: REVERT
000006d3: JUMPDEST
000006d4: POP
000006d5: PUSH2 0x037b
000006d8: PUSH2 0x06e2
000006db: CALLDATASIZE
000006dc: PUSH1 0x04
000006de: PUSH2 0x30e9
000006e1: JUMP
000006e2: JUMPDEST
000006e3: PUSH1 0x00
000006e5: SWAP1
000006e6: DUP2
000006e7: MSTORE
000006e8: PUSH2 0x0133
000006eb: PUSH1 0x20
000006ed: MSTORE
000006ee: PUSH1 0x40
000006f0: SWAP1
000006f1: KECCAK256
000006f2: PUSH1 0x01
000006f4: ADD
000006f5: SLOAD
000006f6: PUSH9 0x010000000000000000
00000700: SWAP1
00000701: DIV
00000702: PUSH1 0x01
00000704: PUSH1 0x01
00000706: PUSH1 0xa0
00000708: SHL
00000709: SUB
0000070a: AND
0000070b: SWAP1
0000070c: JUMP
0000070d: JUMPDEST
0000070e: CALLVALUE
0000070f: DUP1
00000710: ISZERO
00000711: PUSH2 0x0719
00000714: JUMPI
00000715: PUSH1 0x00
00000717: DUP1
00000718: REVERT
00000719: JUMPDEST
0000071a: POP
0000071b: PUSH2 0x0341
0000071e: PUSH2 0x142f
00000721: JUMP
00000722: JUMPDEST
00000723: CALLVALUE
00000724: DUP1
00000725: ISZERO
00000726: PUSH2 0x072e
00000729: JUMPI
0000072a: PUSH1 0x00
0000072c: DUP1
0000072d: REVERT
0000072e: JUMPDEST
0000072f: POP
00000730: PUSH2 0x012d
00000733: SLOAD
00000734: PUSH2 0x050c
00000737: SWAP1
00000738: PUSH1 0x01
0000073a: PUSH1 0x01
0000073c: PUSH1 0x80
0000073e: SHL
0000073f: SUB
00000740: AND
00000741: DUP2
00000742: JUMP
00000743: JUMPDEST
00000744: CALLVALUE
00000745: DUP1
00000746: ISZERO
00000747: PUSH2 0x074f
0000074a: JUMPI
0000074b: PUSH1 0x00
0000074d: DUP1
0000074e: REVERT
0000074f: JUMPDEST
00000750: POP
00000751: PUSH1 0x65
00000753: SLOAD
00000754: PUSH1 0x01
00000756: PUSH1 0x01
00000758: PUSH1 0xa0
0000075a: SHL
0000075b: SUB
0000075c: AND
0000075d: PUSH2 0x037b
00000760: JUMP
00000761: JUMPDEST
00000762: CALLVALUE
00000763: DUP1
00000764: ISZERO
00000765: PUSH2 0x076d
00000768: JUMPI
00000769: PUSH1 0x00
0000076b: DUP1
0000076c: REVERT
0000076d: JUMPDEST
0000076e: POP
0000076f: PUSH2 0x0341
00000772: PUSH2 0x077c
00000775: CALLDATASIZE
00000776: PUSH1 0x04
00000778: PUSH2 0x30e9
0000077b: JUMP
0000077c: JUMPDEST
0000077d: PUSH2 0x155b
00000780: JUMP
00000781: JUMPDEST
00000782: CALLVALUE
00000783: DUP1
00000784: ISZERO
00000785: PUSH2 0x078d
00000788: JUMPI
00000789: PUSH1 0x00
0000078b: DUP1
0000078c: REVERT
0000078d: JUMPDEST
0000078e: POP
0000078f: PUSH2 0x0425
00000792: PUSH2 0x079c
00000795: CALLDATASIZE
00000796: PUSH1 0x04
00000798: PUSH2 0x30e9
0000079b: JUMP
0000079c: JUMPDEST
0000079d: PUSH1 0x00
0000079f: SWAP1
000007a0: DUP2
000007a1: MSTORE
000007a2: PUSH2 0x0133
000007a5: PUSH1 0x20
000007a7: MSTORE
000007a8: PUSH1 0x40
000007aa: SWAP1
000007ab: KECCAK256
000007ac: PUSH1 0x01
000007ae: ADD
000007af: SLOAD
000007b0: PUSH1 0x01
000007b2: PUSH1 0xe0
000007b4: SHL
000007b5: SWAP1
000007b6: DIV
000007b7: PUSH1 0xff
000007b9: AND
000007ba: SWAP1
000007bb: JUMP
000007bc: JUMPDEST
000007bd: CALLVALUE
000007be: DUP1
000007bf: ISZERO
000007c0: PUSH2 0x07c8
000007c3: JUMPI
000007c4: PUSH1 0x00
000007c6: DUP1
000007c7: REVERT
000007c8: JUMPDEST
000007c9: POP
000007ca: PUSH2 0x0132
000007cd: SLOAD
000007ce: PUSH2 0x037b
000007d1: SWAP1
000007d2: PUSH1 0x01
000007d4: PUSH1 0x01
000007d6: PUSH1 0xa0
000007d8: SHL
000007d9: SUB
000007da: AND
000007db: DUP2
000007dc: JUMP
000007dd: JUMPDEST
000007de: CALLVALUE
000007df: DUP1
000007e0: ISZERO
000007e1: PUSH2 0x07e9
000007e4: JUMPI
000007e5: PUSH1 0x00
000007e7: DUP1
000007e8: REVERT
000007e9: JUMPDEST
000007ea: POP
000007eb: PUSH2 0x037b
000007ee: PUSH2 0x156c
000007f1: JUMP
000007f2: JUMPDEST
000007f3: CALLVALUE
000007f4: DUP1
000007f5: ISZERO
000007f6: PUSH2 0x07fe
000007f9: JUMPI
000007fa: PUSH1 0x00
000007fc: DUP1
000007fd: REVERT
000007fe: JUMPDEST
000007ff: POP
00000800: PUSH2 0x0341
00000803: PUSH2 0x080d
00000806: CALLDATASIZE
00000807: PUSH1 0x04
00000809: PUSH2 0x30ce
0000080c: JUMP
0000080d: JUMPDEST
0000080e: PUSH2 0x15a4
00000811: JUMP
00000812: JUMPDEST
00000813: PUSH2 0x0825
00000816: PUSH2 0x0820
00000819: CALLDATASIZE
0000081a: PUSH1 0x04
0000081c: PUSH2 0x331b
0000081f: JUMP
00000820: JUMPDEST
00000821: PUSH2 0x15dc
00000824: JUMP
00000825: JUMPDEST
00000826: PUSH1 0x40
00000828: MLOAD
00000829: PUSH2 0x0318
0000082c: SWAP2
0000082d: SWAP1
0000082e: PUSH2 0x3378
00000831: JUMP
00000832: JUMPDEST
00000833: CALLVALUE
00000834: DUP1
00000835: ISZERO
00000836: PUSH2 0x083e
00000839: JUMPI
0000083a: PUSH1 0x00
0000083c: DUP1
0000083d: REVERT
0000083e: JUMPDEST
0000083f: POP
00000840: PUSH2 0x0341
00000843: PUSH2 0x1c81
00000846: JUMP
00000847: JUMPDEST
00000848: CALLVALUE
00000849: DUP1
0000084a: ISZERO
0000084b: PUSH2 0x0853
0000084e: JUMPI
0000084f: PUSH1 0x00
00000851: DUP1
00000852: REVERT
00000853: JUMPDEST
00000854: POP
00000855: PUSH2 0x0341
00000858: PUSH2 0x0862
0000085b: CALLDATASIZE
0000085c: PUSH1 0x04
0000085e: PUSH2 0x30ce
00000861: JUMP
00000862: JUMPDEST
00000863: PUSH2 0x1ce9
00000866: JUMP
00000867: JUMPDEST
00000868: CALLVALUE
00000869: DUP1
0000086a: ISZERO
0000086b: PUSH2 0x0873
0000086e: JUMPI
0000086f: PUSH1 0x00
00000871: DUP1
00000872: REVERT
00000873: JUMPDEST
00000874: POP
00000875: PUSH2 0x0341
00000878: PUSH2 0x1efc
0000087b: JUMP
0000087c: JUMPDEST
0000087d: CALLVALUE
0000087e: DUP1
0000087f: ISZERO
00000880: PUSH2 0x0888
00000883: JUMPI
00000884: PUSH1 0x00
00000886: DUP1
00000887: REVERT
00000888: JUMPDEST
00000889: POP
0000088a: PUSH2 0x0341
0000088d: PUSH2 0x0897
00000890: CALLDATASIZE
00000891: PUSH1 0x04
00000893: PUSH2 0x30e9
00000896: JUMP
00000897: JUMPDEST
00000898: PUSH2 0x1fd1
0000089b: JUMP
0000089c: JUMPDEST
0000089d: CALLVALUE
0000089e: DUP1
0000089f: ISZERO
000008a0: PUSH2 0x08a8
000008a3: JUMPI
000008a4: PUSH1 0x00
000008a6: DUP1
000008a7: REVERT
000008a8: JUMPDEST
000008a9: POP
000008aa: PUSH2 0x0341
000008ad: PUSH2 0x2173
000008b0: JUMP
000008b1: JUMPDEST
000008b2: CALLVALUE
000008b3: DUP1
000008b4: ISZERO
000008b5: PUSH2 0x08bd
000008b8: JUMPI
000008b9: PUSH1 0x00
000008bb: DUP1
000008bc: REVERT
000008bd: JUMPDEST
000008be: POP
000008bf: PUSH2 0x0341
000008c2: PUSH2 0x08cc
000008c5: CALLDATASIZE
000008c6: PUSH1 0x04
000008c8: PUSH2 0x30ce
000008cb: JUMP
000008cc: JUMPDEST
000008cd: PUSH2 0x223c
000008d0: JUMP
000008d1: JUMPDEST
000008d2: CALLVALUE
000008d3: DUP1
000008d4: ISZERO
000008d5: PUSH2 0x08dd
000008d8: JUMPI
000008d9: PUSH1 0x00
000008db: DUP1
000008dc: REVERT
000008dd: JUMPDEST
000008de: POP
000008df: PUSH2 0x0341
000008e2: PUSH2 0x08ec
000008e5: CALLDATASIZE
000008e6: PUSH1 0x04
000008e8: PUSH2 0x30e9
000008eb: JUMP
000008ec: JUMPDEST
000008ed: PUSH2 0x2324
000008f0: JUMP
000008f1: JUMPDEST
000008f2: CALLVALUE
000008f3: DUP1
000008f4: ISZERO
000008f5: PUSH2 0x08fd
000008f8: JUMPI
000008f9: PUSH1 0x00
000008fb: DUP1
000008fc: REVERT
000008fd: JUMPDEST
000008fe: POP
000008ff: PUSH2 0x0341
00000902: PUSH2 0x090c
00000905: CALLDATASIZE
00000906: PUSH1 0x04
00000908: PUSH2 0x309c
0000090b: JUMP
0000090c: JUMPDEST
0000090d: PUSH2 0x2421
00000910: JUMP
00000911: JUMPDEST
00000912: CALLVALUE
00000913: DUP1
00000914: ISZERO
00000915: PUSH2 0x091d
00000918: JUMPI
00000919: PUSH1 0x00
0000091b: DUP1
0000091c: REVERT
0000091d: JUMPDEST
0000091e: POP
0000091f: PUSH2 0x0130
00000922: SLOAD
00000923: PUSH2 0x037b
00000926: SWAP1
00000927: PUSH1 0x01
00000929: PUSH1 0x01
0000092b: PUSH1 0xa0
0000092d: SHL
0000092e: SUB
0000092f: AND
00000930: DUP2
00000931: JUMP
00000932: JUMPDEST
00000933: CALLVALUE
00000934: DUP1
00000935: ISZERO
00000936: PUSH2 0x093e
00000939: JUMPI
0000093a: PUSH1 0x00
0000093c: DUP1
0000093d: REVERT
0000093e: JUMPDEST
0000093f: POP
00000940: PUSH2 0x0341
00000943: PUSH2 0x094d
00000946: CALLDATASIZE
00000947: PUSH1 0x04
00000949: PUSH2 0x30ce
0000094c: JUMP
0000094d: JUMPDEST
0000094e: PUSH2 0x24a1
00000951: JUMP
00000952: JUMPDEST
00000953: CALLVALUE
00000954: DUP1
00000955: ISZERO
00000956: PUSH2 0x095e
00000959: JUMPI
0000095a: PUSH1 0x00
0000095c: DUP1
0000095d: REVERT
0000095e: JUMPDEST
0000095f: POP
00000960: PUSH2 0x0136
00000963: SLOAD
00000964: PUSH2 0x050c
00000967: SWAP1
00000968: PUSH1 0x01
0000096a: PUSH1 0x01
0000096c: PUSH1 0x80
0000096e: SHL
0000096f: SUB
00000970: AND
00000971: DUP2
00000972: JUMP
00000973: JUMPDEST
00000974: PUSH2 0x097b
00000977: PUSH2 0x252e
0000097a: JUMP
0000097b: JUMPDEST
0000097c: PUSH2 0x012d
0000097f: SLOAD
00000980: PUSH1 0x01
00000982: PUSH1 0x80
00000984: SHL
00000985: SWAP1
00000986: DIV
00000987: PUSH8 0xffffffffffffffff
00000990: AND
00000991: PUSH1 0x01
00000993: PUSH1 0x01
00000995: PUSH1 0x80
00000997: SHL
00000998: SUB
00000999: DUP3
0000099a: AND
0000099b: LT
0000099c: DUP1
0000099d: ISZERO
0000099e: PUSH2 0x09b0
000009a1: JUMPI
000009a2: POP
000009a3: PUSH1 0x00
000009a5: DUP2
000009a6: PUSH1 0x01
000009a8: PUSH1 0x01
000009aa: PUSH1 0x80
000009ac: SHL
000009ad: SUB
000009ae: AND
000009af: GT
000009b0: JUMPDEST
000009b1: PUSH2 0x0a01
000009b4: JUMPI
000009b5: PUSH1 0x40
000009b7: MLOAD
000009b8: PUSH3 0x461bcd
000009bc: PUSH1 0xe5
000009be: SHL
000009bf: DUP2
000009c0: MSTORE
000009c1: PUSH1 0x20
000009c3: PUSH1 0x04
000009c5: DUP3
000009c6: ADD
000009c7: MSTORE
000009c8: PUSH1 0x0e
000009ca: PUSH1 0x24
000009cc: DUP3
000009cd: ADD
000009ce: MSTORE
000009cf: PUSH32 0x496e76616c696420416d6f756e74000000000000000000000000000000000000
000009f0: PUSH1 0x44
000009f2: DUP3
000009f3: ADD
000009f4: MSTORE
000009f5: PUSH1 0x64
000009f7: ADD
000009f8: JUMPDEST
000009f9: PUSH1 0x40
000009fb: MLOAD
000009fc: DUP1
000009fd: SWAP2
000009fe: SUB
000009ff: SWAP1
00000a00: REVERT
00000a01: JUMPDEST
00000a02: PUSH2 0x012d
00000a05: DUP1
00000a06: SLOAD
00000a07: PUSH16 0xffffffffffffffffffffffffffffffff
00000a18: NOT
00000a19: AND
00000a1a: PUSH1 0x01
00000a1c: PUSH1 0x01
00000a1e: PUSH1 0x80
00000a20: SHL
00000a21: SUB
00000a22: SWAP3
00000a23: SWAP1
00000a24: SWAP3
00000a25: AND
00000a26: SWAP2
00000a27: SWAP1
00000a28: SWAP2
00000a29: OR
00000a2a: SWAP1
00000a2b: SSTORE
00000a2c: JUMP
00000a2d: JUMPDEST
00000a2e: PUSH1 0x01
00000a30: PUSH1 0x01
00000a32: PUSH1 0xa0
00000a34: SHL
00000a35: SUB
00000a36: PUSH32 0x00000000000000000000000068fe80c6e97e0c8613e2fed344358c6635ba5366
00000a57: AND
00000a58: ADDRESS
00000a59: SUB
00000a5a: PUSH2 0x0acb
00000a5d: JUMPI
00000a5e: PUSH1 0x40
00000a60: MLOAD
00000a61: PUSH3 0x461bcd
00000a65: PUSH1 0xe5
00000a67: SHL
00000a68: DUP2
00000a69: MSTORE
00000a6a: PUSH1 0x20
00000a6c: PUSH1 0x04
00000a6e: DUP3
00000a6f: ADD
00000a70: MSTORE
00000a71: PUSH1 0x2c
00000a73: PUSH1 0x24
00000a75: DUP3
00000a76: ADD
00000a77: MSTORE
00000a78: PUSH32 0x46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820
00000a99: PUSH1 0x44
00000a9b: DUP3
00000a9c: ADD
00000a9d: MSTORE
00000a9e: PUSH32 0x64656c656761746563616c6c0000000000000000000000000000000000000000
00000abf: PUSH1 0x64
00000ac1: DUP3
00000ac2: ADD
00000ac3: MSTORE
00000ac4: PUSH1 0x84
00000ac6: ADD
00000ac7: PUSH2 0x09f8
00000aca: JUMP
00000acb: JUMPDEST
00000acc: PUSH32 0x00000000000000000000000068fe80c6e97e0c8613e2fed344358c6635ba5366
00000aed: PUSH1 0x01
00000aef: PUSH1 0x01
00000af1: PUSH1 0xa0
00000af3: SHL
00000af4: SUB
00000af5: AND
00000af6: PUSH2 0x0b26
00000af9: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
00000b1a: SLOAD
00000b1b: PUSH1 0x01
00000b1d: PUSH1 0x01
00000b1f: PUSH1 0xa0
00000b21: SHL
00000b22: SUB
00000b23: AND
00000b24: SWAP1
00000b25: JUMP
00000b26: JUMPDEST
00000b27: PUSH1 0x01
00000b29: PUSH1 0x01
00000b2b: PUSH1 0xa0
00000b2d: SHL
00000b2e: SUB
00000b2f: AND
00000b30: EQ
00000b31: PUSH2 0x0ba2
00000b34: JUMPI
00000b35: PUSH1 0x40
00000b37: MLOAD
00000b38: PUSH3 0x461bcd
00000b3c: PUSH1 0xe5
00000b3e: SHL
00000b3f: DUP2
00000b40: MSTORE
00000b41: PUSH1 0x20
00000b43: PUSH1 0x04
00000b45: DUP3
00000b46: ADD
00000b47: MSTORE
00000b48: PUSH1 0x2c
00000b4a: PUSH1 0x24
00000b4c: DUP3
00000b4d: ADD
00000b4e: MSTORE
00000b4f: PUSH32 0x46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820
00000b70: PUSH1 0x44
00000b72: DUP3
00000b73: ADD
00000b74: MSTORE
00000b75: PUSH32 0x6163746976652070726f78790000000000000000000000000000000000000000
00000b96: PUSH1 0x64
00000b98: DUP3
00000b99: ADD
00000b9a: MSTORE
00000b9b: PUSH1 0x84
00000b9d: ADD
00000b9e: PUSH2 0x09f8
00000ba1: JUMP
00000ba2: JUMPDEST
00000ba3: PUSH2 0x0bab
00000ba6: DUP2
00000ba7: PUSH2 0x2588
00000baa: JUMP
00000bab: JUMPDEST
00000bac: PUSH1 0x40
00000bae: DUP1
00000baf: MLOAD
00000bb0: PUSH1 0x00
00000bb2: DUP1
00000bb3: DUP3
00000bb4: MSTORE
00000bb5: PUSH1 0x20
00000bb7: DUP3
00000bb8: ADD
00000bb9: SWAP1
00000bba: SWAP3
00000bbb: MSTORE
00000bbc: PUSH2 0x0bc7
00000bbf: SWAP2
00000bc0: DUP4
00000bc1: SWAP2
00000bc2: SWAP1
00000bc3: PUSH2 0x2590
00000bc6: JUMP
00000bc7: JUMPDEST
00000bc8: POP
00000bc9: JUMP
00000bca: JUMPDEST
00000bcb: PUSH2 0x0132
00000bce: SLOAD
00000bcf: PUSH1 0x01
00000bd1: PUSH1 0x01
00000bd3: PUSH1 0xa0
00000bd5: SHL
00000bd6: SUB
00000bd7: AND
00000bd8: CALLER
00000bd9: EQ
00000bda: PUSH2 0x0c34
00000bdd: JUMPI
00000bde: PUSH1 0x40
00000be0: MLOAD
00000be1: PUSH3 0x461bcd
00000be5: PUSH1 0xe5
00000be7: SHL
00000be8: DUP2
00000be9: MSTORE
00000bea: PUSH1 0x20
00000bec: PUSH1 0x04
00000bee: DUP3
00000bef: ADD
00000bf0: MSTORE
00000bf1: PUSH1 0x26
00000bf3: PUSH1 0x24
00000bf5: DUP3
00000bf6: ADD
00000bf7: MSTORE
00000bf8: PUSH32 0x4f6e6c79207374616b696e67206d616e6167657220636f6e7472616374206675
00000c19: PUSH1 0x44
00000c1b: DUP3
00000c1c: ADD
00000c1d: MSTORE
00000c1e: PUSH6 0x3731ba34b7b7
00000c25: PUSH1 0xd1
00000c27: SHL
00000c28: PUSH1 0x64
00000c2a: DUP3
00000c2b: ADD
00000c2c: MSTORE
00000c2d: PUSH1 0x84
00000c2f: ADD
00000c30: PUSH2 0x09f8
00000c33: JUMP
00000c34: JUMPDEST
00000c35: PUSH1 0x00
00000c37: DUP2
00000c38: DUP2
00000c39: MSTORE
00000c3a: PUSH2 0x0133
00000c3d: PUSH1 0x20
00000c3f: MSTORE
00000c40: PUSH1 0x40
00000c42: SWAP1
00000c43: KECCAK256
00000c44: PUSH1 0x01
00000c46: DUP2
00000c47: ADD
00000c48: SLOAD
00000c49: PUSH1 0x01
00000c4b: PUSH1 0xe0
00000c4d: SHL
00000c4e: SWAP1
00000c4f: DIV
00000c50: PUSH1 0xff
00000c52: AND
00000c53: ISZERO
00000c54: PUSH2 0x0c9f
00000c57: JUMPI
00000c58: PUSH1 0x40
00000c5a: MLOAD
00000c5b: PUSH3 0x461bcd
00000c5f: PUSH1 0xe5
00000c61: SHL
00000c62: DUP2
00000c63: MSTORE
00000c64: PUSH1 0x20
00000c66: PUSH1 0x04
00000c68: DUP3
00000c69: ADD
00000c6a: MSTORE
00000c6b: PUSH1 0x12
00000c6d: PUSH1 0x24
00000c6f: DUP3
00000c70: ADD
00000c71: MSTORE
00000c72: PUSH32 0x42696420616c7265616479206163746976650000000000000000000000000000
00000c93: PUSH1 0x44
00000c95: DUP3
00000c96: ADD
00000c97: MSTORE
00000c98: PUSH1 0x64
00000c9a: ADD
00000c9b: PUSH2 0x09f8
00000c9e: JUMP
00000c9f: JUMPDEST
00000ca0: PUSH1 0x01
00000ca2: DUP2
00000ca3: ADD
00000ca4: DUP1
00000ca5: SLOAD
00000ca6: PUSH1 0xff
00000ca8: PUSH1 0xe0
00000caa: SHL
00000cab: NOT
00000cac: AND
00000cad: PUSH1 0x01
00000caf: PUSH1 0xe0
00000cb1: SHL
00000cb2: OR
00000cb3: SWAP1
00000cb4: SSTORE
00000cb5: PUSH2 0x012f
00000cb8: DUP1
00000cb9: SLOAD
00000cba: SWAP1
00000cbb: PUSH1 0x00
00000cbd: PUSH2 0x0cc5
00000cc0: DUP4
00000cc1: PUSH2 0x33a1
00000cc4: JUMP
00000cc5: JUMPDEST
00000cc6: SWAP1
00000cc7: SWAP2
00000cc8: SSTORE
00000cc9: POP
00000cca: POP
00000ccb: PUSH1 0x40
00000ccd: MLOAD
00000cce: DUP3
00000ccf: SWAP1
00000cd0: PUSH32 0x1802028266951666513c5a864fe410f4b304e79bf39af3297ab000391b75c495
00000cf1: SWAP1
00000cf2: PUSH1 0x00
00000cf4: SWAP1
00000cf5: LOG2
00000cf6: POP
00000cf7: POP
00000cf8: JUMP
00000cf9: JUMPDEST
00000cfa: CALLER
00000cfb: PUSH1 0x00
00000cfd: SWAP1
00000cfe: DUP2
00000cff: MSTORE
00000d00: PUSH2 0x0137
00000d03: PUSH1 0x20
00000d05: MSTORE
00000d06: PUSH1 0x40
00000d08: SWAP1
00000d09: KECCAK256
00000d0a: SLOAD
00000d0b: PUSH1 0xff
00000d0d: AND
00000d0e: PUSH2 0x0d59
00000d11: JUMPI
00000d12: PUSH1 0x40
00000d14: MLOAD
00000d15: PUSH3 0x461bcd
00000d19: PUSH1 0xe5
00000d1b: SHL
00000d1c: DUP2
00000d1d: MSTORE
00000d1e: PUSH1 0x20
00000d20: PUSH1 0x04
00000d22: DUP3
00000d23: ADD
00000d24: MSTORE
00000d25: PUSH1 0x17
00000d27: PUSH1 0x24
00000d29: DUP3
00000d2a: ADD
00000d2b: MSTORE
00000d2c: PUSH32 0x43616c6c6572206973206e6f74207468652061646d696e000000000000000000
00000d4d: PUSH1 0x44
00000d4f: DUP3
00000d50: ADD
00000d51: MSTORE
00000d52: PUSH1 0x64
00000d54: ADD
00000d55: PUSH2 0x09f8
00000d58: JUMP
00000d59: JUMPDEST
00000d5a: PUSH2 0x0d61
00000d5d: PUSH2 0x2730
00000d60: JUMP
00000d61: JUMPDEST
00000d62: JUMP
00000d63: JUMPDEST
00000d64: PUSH1 0x01
00000d66: PUSH1 0x01
00000d68: PUSH1 0xa0
00000d6a: SHL
00000d6b: SUB
00000d6c: PUSH32 0x00000000000000000000000068fe80c6e97e0c8613e2fed344358c6635ba5366
00000d8d: AND
00000d8e: ADDRESS
00000d8f: SUB
00000d90: PUSH2 0x0e01
00000d93: JUMPI
00000d94: PUSH1 0x40
00000d96: MLOAD
00000d97: PUSH3 0x461bcd
00000d9b: PUSH1 0xe5
00000d9d: SHL
00000d9e: DUP2
00000d9f: MSTORE
00000da0: PUSH1 0x20
00000da2: PUSH1 0x04
00000da4: DUP3
00000da5: ADD
00000da6: MSTORE
00000da7: PUSH1 0x2c
00000da9: PUSH1 0x24
00000dab: DUP3
00000dac: ADD
00000dad: MSTORE
00000dae: PUSH32 0x46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820
00000dcf: PUSH1 0x44
00000dd1: DUP3
00000dd2: ADD
00000dd3: MSTORE
00000dd4: PUSH32 0x64656c656761746563616c6c0000000000000000000000000000000000000000
00000df5: PUSH1 0x64
00000df7: DUP3
00000df8: ADD
00000df9: MSTORE
00000dfa: PUSH1 0x84
00000dfc: ADD
00000dfd: PUSH2 0x09f8
00000e00: JUMP
00000e01: JUMPDEST
00000e02: PUSH32 0x00000000000000000000000068fe80c6e97e0c8613e2fed344358c6635ba5366
00000e23: PUSH1 0x01
00000e25: PUSH1 0x01
00000e27: PUSH1 0xa0
00000e29: SHL
00000e2a: SUB
00000e2b: AND
00000e2c: PUSH2 0x0e5c
00000e2f: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
00000e50: SLOAD
00000e51: PUSH1 0x01
00000e53: PUSH1 0x01
00000e55: PUSH1 0xa0
00000e57: SHL
00000e58: SUB
00000e59: AND
00000e5a: SWAP1
00000e5b: JUMP
00000e5c: JUMPDEST
00000e5d: PUSH1 0x01
00000e5f: PUSH1 0x01
00000e61: PUSH1 0xa0
00000e63: SHL
00000e64: SUB
00000e65: AND
00000e66: EQ
00000e67: PUSH2 0x0ed8
00000e6a: JUMPI
00000e6b: PUSH1 0x40
00000e6d: MLOAD
00000e6e: PUSH3 0x461bcd
00000e72: PUSH1 0xe5
00000e74: SHL
00000e75: DUP2
00000e76: MSTORE
00000e77: PUSH1 0x20
00000e79: PUSH1 0x04
00000e7b: DUP3
00000e7c: ADD
00000e7d: MSTORE
00000e7e: PUSH1 0x2c
00000e80: PUSH1 0x24
00000e82: DUP3
00000e83: ADD
00000e84: MSTORE
00000e85: PUSH32 0x46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820
00000ea6: PUSH1 0x44
00000ea8: DUP3
00000ea9: ADD
00000eaa: MSTORE
00000eab: PUSH32 0x6163746976652070726f78790000000000000000000000000000000000000000
00000ecc: PUSH1 0x64
00000ece: DUP3
00000ecf: ADD
00000ed0: MSTORE
00000ed1: PUSH1 0x84
00000ed3: ADD
00000ed4: PUSH2 0x09f8
00000ed7: JUMP
00000ed8: JUMPDEST
00000ed9: PUSH2 0x0ee1
00000edc: DUP3
00000edd: PUSH2 0x2588
00000ee0: JUMP
00000ee1: JUMPDEST
00000ee2: PUSH2 0x0eed
00000ee5: DUP3
00000ee6: DUP3
00000ee7: PUSH1 0x01
00000ee9: PUSH2 0x2590
00000eec: JUMP
00000eed: JUMPDEST
00000eee: POP
00000eef: POP
00000ef0: JUMP
00000ef1: JUMPDEST
00000ef2: PUSH1 0x00
00000ef4: ADDRESS
00000ef5: PUSH1 0x01
00000ef7: PUSH1 0x01
00000ef9: PUSH1 0xa0
00000efb: SHL
00000efc: SUB
00000efd: PUSH32 0x00000000000000000000000068fe80c6e97e0c8613e2fed344358c6635ba5366
00000f1e: AND
00000f1f: EQ
00000f20: PUSH2 0x0f91
00000f23: JUMPI
00000f24: PUSH1 0x40
00000f26: MLOAD
00000f27: PUSH3 0x461bcd
00000f2b: PUSH1 0xe5
00000f2d: SHL
00000f2e: DUP2
00000f2f: MSTORE
00000f30: PUSH1 0x20
00000f32: PUSH1 0x04
00000f34: DUP3
00000f35: ADD
00000f36: MSTORE
00000f37: PUSH1 0x38
00000f39: PUSH1 0x24
00000f3b: DUP3
00000f3c: ADD
00000f3d: MSTORE
00000f3e: PUSH32 0x555550535570677261646561626c653a206d757374206e6f742062652063616c
00000f5f: PUSH1 0x44
00000f61: DUP3
00000f62: ADD
00000f63: MSTORE
00000f64: PUSH32 0x6c6564207468726f7567682064656c656761746563616c6c0000000000000000
00000f85: PUSH1 0x64
00000f87: DUP3
00000f88: ADD
00000f89: MSTORE
00000f8a: PUSH1 0x84
00000f8c: ADD
00000f8d: PUSH2 0x09f8
00000f90: JUMP
00000f91: JUMPDEST
00000f92: POP
00000f93: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
00000fb4: SWAP1
00000fb5: JUMP
00000fb6: JUMPDEST
00000fb7: PUSH2 0x0fbe
00000fba: PUSH2 0x252e
00000fbd: JUMP
00000fbe: JUMPDEST
00000fbf: PUSH1 0x01
00000fc1: PUSH1 0x01
00000fc3: PUSH1 0xa0
00000fc5: SHL
00000fc6: SUB
00000fc7: DUP3
00000fc8: AND
00000fc9: PUSH2 0x1014
00000fcc: JUMPI
00000fcd: PUSH1 0x40
00000fcf: MLOAD
00000fd0: PUSH3 0x461bcd
00000fd4: PUSH1 0xe5
00000fd6: SHL
00000fd7: DUP2
00000fd8: MSTORE
00000fd9: PUSH1 0x20
00000fdb: PUSH1 0x04
00000fdd: DUP3
00000fde: ADD
00000fdf: MSTORE
00000fe0: PUSH1 0x16
00000fe2: PUSH1 0x24
00000fe4: DUP3
00000fe5: ADD
00000fe6: MSTORE
00000fe7: PUSH32 0x43616e6e6f742062652061646472657373207a65726f00000000000000000000
00001008: PUSH1 0x44
0000100a: DUP3
0000100b: ADD
0000100c: MSTORE
0000100d: PUSH1 0x64
0000100f: ADD
00001010: PUSH2 0x09f8
00001013: JUMP
00001014: JUMPDEST
00001015: PUSH1 0x01
00001017: PUSH1 0x01
00001019: PUSH1 0xa0
0000101b: SHL
0000101c: SUB
0000101d: SWAP2
0000101e: SWAP1
0000101f: SWAP2
00001020: AND
00001021: PUSH1 0x00
00001023: SWAP1
00001024: DUP2
00001025: MSTORE
00001026: PUSH2 0x0137
00001029: PUSH1 0x20
0000102b: MSTORE
0000102c: PUSH1 0x40
0000102e: SWAP1
0000102f: KECCAK256
00001030: DUP1
00001031: SLOAD
00001032: PUSH1 0xff
00001034: NOT
00001035: AND
00001036: SWAP2
00001037: ISZERO
00001038: ISZERO
00001039: SWAP2
0000103a: SWAP1
0000103b: SWAP2
0000103c: OR
0000103d: SWAP1
0000103e: SSTORE
0000103f: JUMP
00001040: JUMPDEST
00001041: CALLER
00001042: PUSH1 0x00
00001044: SWAP1
00001045: DUP2
00001046: MSTORE
00001047: PUSH2 0x0137
0000104a: PUSH1 0x20
0000104c: MSTORE
0000104d: PUSH1 0x40
0000104f: SWAP1
00001050: KECCAK256
00001051: SLOAD
00001052: PUSH1 0xff
00001054: AND
00001055: PUSH2 0x10a0
00001058: JUMPI
00001059: PUSH1 0x40
0000105b: MLOAD
0000105c: PUSH3 0x461bcd
00001060: PUSH1 0xe5
00001062: SHL
00001063: DUP2
00001064: MSTORE
00001065: PUSH1 0x20
00001067: PUSH1 0x04
00001069: DUP3
0000106a: ADD
0000106b: MSTORE
0000106c: PUSH1 0x17
0000106e: PUSH1 0x24
00001070: DUP3
00001071: ADD
00001072: MSTORE
00001073: PUSH32 0x43616c6c6572206973206e6f74207468652061646d696e000000000000000000
00001094: PUSH1 0x44
00001096: DUP3
00001097: ADD
00001098: MSTORE
00001099: PUSH1 0x64
0000109b: ADD
0000109c: PUSH2 0x09f8
0000109f: JUMP
000010a0: JUMPDEST
000010a1: PUSH2 0x012d
000010a4: SLOAD
000010a5: PUSH8 0xffffffffffffffff
000010ae: PUSH1 0x01
000010b0: PUSH1 0xc0
000010b2: SHL
000010b3: SWAP1
000010b4: SWAP2
000010b5: DIV
000010b6: DUP2
000010b7: AND
000010b8: SWAP1
000010b9: DUP3
000010ba: AND
000010bb: LT
000010bc: PUSH2 0x1107
000010bf: JUMPI
000010c0: PUSH1 0x40
000010c2: MLOAD
000010c3: PUSH3 0x461bcd
000010c7: PUSH1 0xe5
000010c9: SHL
000010ca: DUP2
000010cb: MSTORE
000010cc: PUSH1 0x20
000010ce: PUSH1 0x04
000010d0: DUP3
000010d1: ADD
000010d2: MSTORE
000010d3: PUSH1 0x17
000010d5: PUSH1 0x24
000010d7: DUP3
000010d8: ADD
000010d9: MSTORE
000010da: PUSH32 0x4d696e206269642065786365656473206d617820626964000000000000000000
000010fb: PUSH1 0x44
000010fd: DUP3
000010fe: ADD
000010ff: MSTORE
00001100: PUSH1 0x64
00001102: ADD
00001103: PUSH2 0x09f8
00001106: JUMP
00001107: JUMPDEST
00001108: PUSH2 0x012d
0000110b: SLOAD
0000110c: PUSH1 0x01
0000110e: PUSH1 0x01
00001110: PUSH1 0x80
00001112: SHL
00001113: SUB
00001114: AND
00001115: PUSH8 0xffffffffffffffff
0000111e: DUP3
0000111f: AND
00001120: LT
00001121: ISZERO
00001122: PUSH2 0x1193
00001125: JUMPI
00001126: PUSH1 0x40
00001128: MLOAD
00001129: PUSH3 0x461bcd
0000112d: PUSH1 0xe5
0000112f: SHL
00001130: DUP2
00001131: MSTORE
00001132: PUSH1 0x20
00001134: PUSH1 0x04
00001136: DUP3
00001137: ADD
00001138: MSTORE
00001139: PUSH1 0x26
0000113b: PUSH1 0x24
0000113d: DUP3
0000113e: ADD
0000113f: MSTORE
00001140: PUSH32 0x4d696e20626964206c657373207468616e2077686974656c6973742062696420
00001161: PUSH1 0x44
00001163: DUP3
00001164: ADD
00001165: MSTORE
00001166: PUSH32 0x616d6f756e740000000000000000000000000000000000000000000000000000
00001187: PUSH1 0x64
00001189: DUP3
0000118a: ADD
0000118b: MSTORE
0000118c: PUSH1 0x84
0000118e: ADD
0000118f: PUSH2 0x09f8
00001192: JUMP
00001193: JUMPDEST
00001194: PUSH2 0x012d
00001197: DUP1
00001198: SLOAD
00001199: PUSH8 0xffffffffffffffff
000011a2: SWAP1
000011a3: SWAP3
000011a4: AND
000011a5: PUSH1 0x01
000011a7: PUSH1 0x80
000011a9: SHL
000011aa: MUL
000011ab: PUSH32 0xffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff
000011cc: SWAP1
000011cd: SWAP3
000011ce: AND
000011cf: SWAP2
000011d0: SWAP1
000011d1: SWAP2
000011d2: OR
000011d3: SWAP1
000011d4: SSTORE
000011d5: JUMP
000011d6: JUMPDEST
000011d7: PUSH2 0x11de
000011da: PUSH2 0x252e
000011dd: JUMP
000011de: JUMPDEST
000011df: PUSH2 0x0d61
000011e2: PUSH1 0x00
000011e4: PUSH2 0x2785
000011e7: JUMP
000011e8: JUMPDEST
000011e9: PUSH2 0x11f0
000011ec: PUSH2 0x252e
000011ef: JUMP
000011f0: JUMPDEST
000011f1: PUSH1 0x01
000011f3: PUSH1 0x01
000011f5: PUSH1 0xa0
000011f7: SHL
000011f8: SUB
000011f9: DUP5
000011fa: AND
000011fb: ISZERO
000011fc: DUP1
000011fd: ISZERO
000011fe: SWAP1
000011ff: PUSH2 0x1210
00001202: JUMPI
00001203: POP
00001204: PUSH1 0x01
00001206: PUSH1 0x01
00001208: PUSH1 0xa0
0000120a: SHL
0000120b: SUB
0000120c: DUP3
0000120d: AND
0000120e: ISZERO
0000120f: ISZERO
00001210: JUMPDEST
00001211: DUP1
00001212: ISZERO
00001213: PUSH2 0x1224
00001216: JUMPI
00001217: POP
00001218: PUSH1 0x01
0000121a: PUSH1 0x01
0000121c: PUSH1 0xa0
0000121e: SHL
0000121f: SUB
00001220: DUP2
00001221: AND
00001222: ISZERO
00001223: ISZERO
00001224: JUMPDEST
00001225: PUSH2 0x1270
00001228: JUMPI
00001229: PUSH1 0x40
0000122b: MLOAD
0000122c: PUSH3 0x461bcd
00001230: PUSH1 0xe5
00001232: SHL
00001233: DUP2
00001234: MSTORE
00001235: PUSH1 0x20
00001237: PUSH1 0x04
00001239: DUP3
0000123a: ADD
0000123b: MSTORE
0000123c: PUSH1 0x11
0000123e: PUSH1 0x24
00001240: DUP3
00001241: ADD
00001242: MSTORE
00001243: PUSH32 0x4e6f205a65726f20416464726573736573000000000000000000000000000000
00001264: PUSH1 0x44
00001266: DUP3
00001267: ADD
00001268: MSTORE
00001269: PUSH1 0x64
0000126b: ADD
0000126c: PUSH2 0x09f8
0000126f: JUMP
00001270: JUMPDEST
00001271: PUSH2 0x0135
00001274: DUP1
00001275: SLOAD
00001276: PUSH1 0x01
00001278: PUSH1 0x01
0000127a: PUSH1 0xa0
0000127c: SHL
0000127d: SUB
0000127e: SWAP6
0000127f: DUP7
00001280: AND
00001281: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001296: NOT
00001297: SWAP2
00001298: DUP3
00001299: AND
0000129a: OR
0000129b: SWAP1
0000129c: SWAP2
0000129d: SSTORE
0000129e: PUSH2 0x0130
000012a1: DUP1
000012a2: SLOAD
000012a3: SWAP3
000012a4: DUP7
000012a5: AND
000012a6: SWAP3
000012a7: SWAP1
000012a8: SWAP2
000012a9: AND
000012aa: SWAP2
000012ab: SWAP1
000012ac: SWAP2
000012ad: OR
000012ae: SWAP1
000012af: SSTORE
000012b0: PUSH1 0x01
000012b2: PUSH1 0x01
000012b4: PUSH1 0x80
000012b6: SHL
000012b7: SUB
000012b8: SWAP2
000012b9: SWAP1
000012ba: SWAP2
000012bb: AND
000012bc: PUSH1 0x01
000012be: PUSH1 0x80
000012c0: SHL
000012c1: MUL
000012c2: PUSH2 0x0136
000012c5: SSTORE
000012c6: AND
000012c7: PUSH1 0x00
000012c9: SWAP1
000012ca: DUP2
000012cb: MSTORE
000012cc: PUSH2 0x0137
000012cf: PUSH1 0x20
000012d1: MSTORE
000012d2: PUSH1 0x40
000012d4: SWAP1
000012d5: KECCAK256
000012d6: DUP1
000012d7: SLOAD
000012d8: PUSH1 0xff
000012da: NOT
000012db: AND
000012dc: PUSH1 0x01
000012de: OR
000012df: SWAP1
000012e0: SSTORE
000012e1: JUMP
000012e2: JUMPDEST
000012e3: CALLER
000012e4: PUSH1 0x00
000012e6: SWAP1
000012e7: DUP2
000012e8: MSTORE
000012e9: PUSH2 0x0137
000012ec: PUSH1 0x20
000012ee: MSTORE
000012ef: PUSH1 0x40
000012f1: SWAP1
000012f2: KECCAK256
000012f3: SLOAD
000012f4: PUSH1 0xff
000012f6: AND
000012f7: PUSH2 0x1342
000012fa: JUMPI
000012fb: PUSH1 0x40
000012fd: MLOAD
000012fe: PUSH3 0x461bcd
00001302: PUSH1 0xe5
00001304: SHL
00001305: DUP2
00001306: MSTORE
00001307: PUSH1 0x20
00001309: PUSH1 0x04
0000130b: DUP3
0000130c: ADD
0000130d: MSTORE
0000130e: PUSH1 0x17
00001310: PUSH1 0x24
00001312: DUP3
00001313: ADD
00001314: MSTORE
00001315: PUSH32 0x43616c6c6572206973206e6f74207468652061646d696e000000000000000000
00001336: PUSH1 0x44
00001338: DUP3
00001339: ADD
0000133a: MSTORE
0000133b: PUSH1 0x64
0000133d: ADD
0000133e: PUSH2 0x09f8
00001341: JUMP
00001342: JUMPDEST
00001343: PUSH2 0x012d
00001346: SLOAD
00001347: PUSH8 0xffffffffffffffff
00001350: PUSH1 0x01
00001352: PUSH1 0x80
00001354: SHL
00001355: SWAP1
00001356: SWAP2
00001357: DIV
00001358: DUP2
00001359: AND
0000135a: SWAP1
0000135b: DUP3
0000135c: AND
0000135d: GT
0000135e: PUSH2 0x13a9
00001361: JUMPI
00001362: PUSH1 0x40
00001364: MLOAD
00001365: PUSH3 0x461bcd
00001369: PUSH1 0xe5
0000136b: SHL
0000136c: DUP2
0000136d: MSTORE
0000136e: PUSH1 0x20
00001370: PUSH1 0x04
00001372: DUP3
00001373: ADD
00001374: MSTORE
00001375: PUSH1 0x17
00001377: PUSH1 0x24
00001379: DUP3
0000137a: ADD
0000137b: MSTORE
0000137c: PUSH32 0x4d696e206269642065786365656473206d617820626964000000000000000000
0000139d: PUSH1 0x44
0000139f: DUP3
000013a0: ADD
000013a1: MSTORE
000013a2: PUSH1 0x64
000013a4: ADD
000013a5: PUSH2 0x09f8
000013a8: JUMP
000013a9: JUMPDEST
000013aa: PUSH2 0x012d
000013ad: DUP1
000013ae: SLOAD
000013af: PUSH8 0xffffffffffffffff
000013b8: SWAP1
000013b9: SWAP3
000013ba: AND
000013bb: PUSH1 0x01
000013bd: PUSH1 0xc0
000013bf: SHL
000013c0: MUL
000013c1: PUSH24 0xffffffffffffffffffffffffffffffffffffffffffffffff
000013da: SWAP1
000013db: SWAP3
000013dc: AND
000013dd: SWAP2
000013de: SWAP1
000013df: SWAP2
000013e0: OR
000013e1: SWAP1
000013e2: SSTORE
000013e3: JUMP
000013e4: JUMPDEST
000013e5: PUSH2 0x13ec
000013e8: PUSH2 0x27e4
000013eb: JUMP
000013ec: JUMPDEST
000013ed: PUSH1 0x00
000013ef: JUMPDEST
000013f0: DUP2
000013f1: DUP2
000013f2: LT
000013f3: ISZERO
000013f4: PUSH2 0x142a
000013f7: JUMPI
000013f8: PUSH2 0x1418
000013fb: DUP4
000013fc: DUP4
000013fd: DUP4
000013fe: DUP2
000013ff: DUP2
00001400: LT
00001401: PUSH2 0x140c
00001404: JUMPI
00001405: PUSH2 0x140c
00001408: PUSH2 0x33bb
0000140b: JUMP
0000140c: JUMPDEST
0000140d: SWAP1
0000140e: POP
0000140f: PUSH1 0x20
00001411: MUL
00001412: ADD
00001413: CALLDATALOAD
00001414: PUSH2 0x2837
00001417: JUMP
00001418: JUMPDEST
00001419: DUP1
0000141a: PUSH2 0x1422
0000141d: DUP2
0000141e: PUSH2 0x33a1
00001421: JUMP
00001422: JUMPDEST
00001423: SWAP2
00001424: POP
00001425: POP
00001426: PUSH2 0x13ef
00001429: JUMP
0000142a: JUMPDEST
0000142b: POP
0000142c: POP
0000142d: POP
0000142e: JUMP
0000142f: JUMPDEST
00001430: CALLER
00001431: PUSH1 0x00
00001433: SWAP1
00001434: DUP2
00001435: MSTORE
00001436: PUSH2 0x0137
00001439: PUSH1 0x20
0000143b: MSTORE
0000143c: PUSH1 0x40
0000143e: SWAP1
0000143f: KECCAK256
00001440: SLOAD
00001441: PUSH1 0xff
00001443: AND
00001444: PUSH2 0x148f
00001447: JUMPI
00001448: PUSH1 0x40
0000144a: MLOAD
0000144b: PUSH3 0x461bcd
0000144f: PUSH1 0xe5
00001451: SHL
00001452: DUP2
00001453: MSTORE
00001454: PUSH1 0x20
00001456: PUSH1 0x04
00001458: DUP3
00001459: ADD
0000145a: MSTORE
0000145b: PUSH1 0x17
0000145d: PUSH1 0x24
0000145f: DUP3
00001460: ADD
00001461: MSTORE
00001462: PUSH32 0x43616c6c6572206973206e6f74207468652061646d696e000000000000000000
00001483: PUSH1 0x44
00001485: DUP3
00001486: ADD
00001487: MSTORE
00001488: PUSH1 0x64
0000148a: ADD
0000148b: PUSH2 0x09f8
0000148e: JUMP
0000148f: JUMPDEST
00001490: PUSH2 0x0136
00001493: DUP1
00001494: SLOAD
00001495: PUSH16 0xffffffffffffffffffffffffffffffff
000014a6: NOT
000014a7: DUP2
000014a8: AND
000014a9: SWAP1
000014aa: SWAP2
000014ab: SSTORE
000014ac: PUSH2 0x0135
000014af: SLOAD
000014b0: PUSH1 0x40
000014b2: MLOAD
000014b3: PUSH1 0x01
000014b5: PUSH1 0x01
000014b7: PUSH1 0x80
000014b9: SHL
000014ba: SUB
000014bb: SWAP1
000014bc: SWAP3
000014bd: AND
000014be: SWAP2
000014bf: PUSH1 0x00
000014c1: SWAP2
000014c2: PUSH1 0x01
000014c4: PUSH1 0x01
000014c6: PUSH1 0xa0
000014c8: SHL
000014c9: SUB
000014ca: AND
000014cb: SWAP1
000014cc: DUP4
000014cd: SWAP1
000014ce: DUP4
000014cf: DUP2
000014d0: DUP2
000014d1: DUP2
000014d2: DUP6
000014d3: DUP8
000014d4: GAS
000014d5: CALL
000014d6: SWAP3
000014d7: POP
000014d8: POP
000014d9: POP
000014da: RETURNDATASIZE
000014db: DUP1
000014dc: PUSH1 0x00
000014de: DUP2
000014df: EQ
000014e0: PUSH2 0x1505
000014e3: JUMPI
000014e4: PUSH1 0x40
000014e6: MLOAD
000014e7: SWAP2
000014e8: POP
000014e9: PUSH1 0x1f
000014eb: NOT
000014ec: PUSH1 0x3f
000014ee: RETURNDATASIZE
000014ef: ADD
000014f0: AND
000014f1: DUP3
000014f2: ADD
000014f3: PUSH1 0x40
000014f5: MSTORE
000014f6: RETURNDATASIZE
000014f7: DUP3
000014f8: MSTORE
000014f9: RETURNDATASIZE
000014fa: PUSH1 0x00
000014fc: PUSH1 0x20
000014fe: DUP5
000014ff: ADD
00001500: RETURNDATACOPY
00001501: PUSH2 0x150a
00001504: JUMP
00001505: JUMPDEST
00001506: PUSH1 0x60
00001508: SWAP2
00001509: POP
0000150a: JUMPDEST
0000150b: POP
0000150c: POP
0000150d: SWAP1
0000150e: POP
0000150f: DUP1
00001510: PUSH2 0x0eed
00001513: JUMPI
00001514: PUSH1 0x40
00001516: MLOAD
00001517: PUSH3 0x461bcd
0000151b: PUSH1 0xe5
0000151d: SHL
0000151e: DUP2
0000151f: MSTORE
00001520: PUSH1 0x20
00001522: PUSH1 0x04
00001524: DUP3
00001525: ADD
00001526: MSTORE
00001527: PUSH1 0x14
00001529: PUSH1 0x24
0000152b: DUP3
0000152c: ADD
0000152d: MSTORE
0000152e: PUSH32 0x4661696c656420746f2073656e64204574686572000000000000000000000000
0000154f: PUSH1 0x44
00001551: DUP3
00001552: ADD
00001553: MSTORE
00001554: PUSH1 0x64
00001556: ADD
00001557: PUSH2 0x09f8
0000155a: JUMP
0000155b: JUMPDEST
0000155c: PUSH2 0x1563
0000155f: PUSH2 0x27e4
00001562: JUMP
00001563: JUMPDEST
00001564: PUSH2 0x0bc7
00001567: DUP2
00001568: PUSH2 0x2837
0000156b: JUMP
0000156c: JUMPDEST
0000156d: PUSH1 0x00
0000156f: PUSH2 0x159f
00001572: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
00001593: SLOAD
00001594: PUSH1 0x01
00001596: PUSH1 0x01
00001598: PUSH1 0xa0
0000159a: SHL
0000159b: SUB
0000159c: AND
0000159d: SWAP1
0000159e: JUMP
0000159f: JUMPDEST
000015a0: SWAP1
000015a1: POP
000015a2: SWAP1
000015a3: JUMP
000015a4: JUMPDEST
000015a5: PUSH2 0x15ac
000015a8: PUSH2 0x252e
000015ab: JUMP
000015ac: JUMPDEST
000015ad: PUSH2 0x0130
000015b0: DUP1
000015b1: SLOAD
000015b2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000015c7: NOT
000015c8: AND
000015c9: PUSH1 0x01
000015cb: PUSH1 0x01
000015cd: PUSH1 0xa0
000015cf: SHL
000015d0: SUB
000015d1: SWAP3
000015d2: SWAP1
000015d3: SWAP3
000015d4: AND
000015d5: SWAP2
000015d6: SWAP1
000015d7: SWAP2
000015d8: OR
000015d9: SWAP1
000015da: SSTORE
000015db: JUMP
000015dc: JUMPDEST
000015dd: PUSH1 0x60
000015df: PUSH2 0x15e6
000015e2: PUSH2 0x27e4
000015e5: JUMP
000015e6: JUMPDEST
000015e7: PUSH2 0x15ee
000015ea: PUSH2 0x29f6
000015ed: JUMP
000015ee: JUMPDEST
000015ef: PUSH1 0x00
000015f1: DUP4
000015f2: GT
000015f3: PUSH2 0x163e
000015f6: JUMPI
000015f7: PUSH1 0x40
000015f9: MLOAD
000015fa: PUSH3 0x461bcd
000015fe: PUSH1 0xe5
00001600: SHL
00001601: DUP2
00001602: MSTORE
00001603: PUSH1 0x20
00001605: PUSH1 0x04
00001607: DUP3
00001608: ADD
00001609: MSTORE
0000160a: PUSH1 0x15
0000160c: PUSH1 0x24
0000160e: DUP3
0000160f: ADD
00001610: MSTORE
00001611: PUSH32 0x4269642073697a6520697320746f6f20736d616c6c0000000000000000000000
00001632: PUSH1 0x44
00001634: DUP3
00001635: ADD
00001636: MSTORE
00001637: PUSH1 0x64
00001639: ADD
0000163a: PUSH2 0x09f8
0000163d: JUMP
0000163e: JUMPDEST
0000163f: PUSH2 0x0132
00001642: SLOAD
00001643: PUSH1 0x01
00001645: PUSH1 0xa0
00001647: SHL
00001648: SWAP1
00001649: DIV
0000164a: PUSH1 0xff
0000164c: AND
0000164d: ISZERO
0000164e: PUSH2 0x17b8
00001651: JUMPI
00001652: PUSH2 0x0130
00001655: SLOAD
00001656: PUSH1 0x40
00001658: MLOAD
00001659: PUSH32 0x3af32abf00000000000000000000000000000000000000000000000000000000
0000167a: DUP2
0000167b: MSTORE
0000167c: CALLER
0000167d: PUSH1 0x04
0000167f: DUP3
00001680: ADD
00001681: MSTORE
00001682: PUSH1 0x01
00001684: PUSH1 0x01
00001686: PUSH1 0xa0
00001688: SHL
00001689: SUB
0000168a: SWAP1
0000168b: SWAP2
0000168c: AND
0000168d: SWAP1
0000168e: PUSH4 0x3af32abf
00001693: SWAP1
00001694: PUSH1 0x24
00001696: ADD
00001697: PUSH1 0x20
00001699: PUSH1 0x40
0000169b: MLOAD
0000169c: DUP1
0000169d: DUP4
0000169e: SUB
0000169f: DUP2
000016a0: DUP7
000016a1: GAS
000016a2: STATICCALL
000016a3: ISZERO
000016a4: DUP1
000016a5: ISZERO
000016a6: PUSH2 0x16b3
000016a9: JUMPI
000016aa: RETURNDATASIZE
000016ab: PUSH1 0x00
000016ad: DUP1
000016ae: RETURNDATACOPY
000016af: RETURNDATASIZE
000016b0: PUSH1 0x00
000016b2: REVERT
000016b3: JUMPDEST
000016b4: POP
000016b5: POP
000016b6: POP
000016b7: POP
000016b8: PUSH1 0x40
000016ba: MLOAD
000016bb: RETURNDATASIZE
000016bc: PUSH1 0x1f
000016be: NOT
000016bf: PUSH1 0x1f
000016c1: DUP3
000016c2: ADD
000016c3: AND
000016c4: DUP3
000016c5: ADD
000016c6: DUP1
000016c7: PUSH1 0x40
000016c9: MSTORE
000016ca: POP
000016cb: DUP2
000016cc: ADD
000016cd: SWAP1
000016ce: PUSH2 0x16d7
000016d1: SWAP2
000016d2: SWAP1
000016d3: PUSH2 0x33d1
000016d6: JUMP
000016d7: JUMPDEST
000016d8: PUSH2 0x1723
000016db: JUMPI
000016dc: PUSH1 0x40
000016de: MLOAD
000016df: PUSH3 0x461bcd
000016e3: PUSH1 0xe5
000016e5: SHL
000016e6: DUP2
000016e7: MSTORE
000016e8: PUSH1 0x20
000016ea: PUSH1 0x04
000016ec: DUP3
000016ed: ADD
000016ee: MSTORE
000016ef: PUSH1 0x1a
000016f1: PUSH1 0x24
000016f3: DUP3
000016f4: ADD
000016f5: MSTORE
000016f6: PUSH32 0x4f6e6c792077686974656c697374656420616464726573736573000000000000
00001717: PUSH1 0x44
00001719: DUP3
0000171a: ADD
0000171b: MSTORE
0000171c: PUSH1 0x64
0000171e: ADD
0000171f: PUSH2 0x09f8
00001722: JUMP
00001723: JUMPDEST
00001724: PUSH2 0x172d
00001727: DUP3
00001728: DUP5
00001729: PUSH2 0x33ee
0000172c: JUMP
0000172d: JUMPDEST
0000172e: CALLVALUE
0000172f: EQ
00001730: DUP1
00001731: ISZERO
00001732: PUSH2 0x1747
00001735: JUMPI
00001736: POP
00001737: PUSH2 0x012d
0000173a: SLOAD
0000173b: PUSH1 0x01
0000173d: PUSH1 0x01
0000173f: PUSH1 0x80
00001741: SHL
00001742: SUB
00001743: AND
00001744: DUP3
00001745: LT
00001746: ISZERO
00001747: JUMPDEST
00001748: DUP1
00001749: ISZERO
0000174a: PUSH2 0x1767
0000174d: JUMPI
0000174e: POP
0000174f: PUSH2 0x012d
00001752: SLOAD
00001753: PUSH1 0x01
00001755: PUSH1 0xc0
00001757: SHL
00001758: SWAP1
00001759: DIV
0000175a: PUSH8 0xffffffffffffffff
00001763: AND
00001764: DUP3
00001765: GT
00001766: ISZERO
00001767: JUMPDEST
00001768: PUSH2 0x17b3
0000176b: JUMPI
0000176c: PUSH1 0x40
0000176e: MLOAD
0000176f: PUSH3 0x461bcd
00001773: PUSH1 0xe5
00001775: SHL
00001776: DUP2
00001777: MSTORE
00001778: PUSH1 0x20
0000177a: PUSH1 0x04
0000177c: DUP3
0000177d: ADD
0000177e: MSTORE
0000177f: PUSH1 0x13
00001781: PUSH1 0x24
00001783: DUP3
00001784: ADD
00001785: MSTORE
00001786: PUSH32 0x496e636f7272656374206269642076616c756500000000000000000000000000
000017a7: PUSH1 0x44
000017a9: DUP3
000017aa: ADD
000017ab: MSTORE
000017ac: PUSH1 0x64
000017ae: ADD
000017af: PUSH2 0x09f8
000017b2: JUMP
000017b3: JUMPDEST
000017b4: PUSH2 0x18e5
000017b7: JUMP
000017b8: JUMPDEST
000017b9: PUSH2 0x0130
000017bc: SLOAD
000017bd: PUSH1 0x40
000017bf: MLOAD
000017c0: PUSH32 0x3af32abf00000000000000000000000000000000000000000000000000000000
000017e1: DUP2
000017e2: MSTORE
000017e3: CALLER
000017e4: PUSH1 0x04
000017e6: DUP3
000017e7: ADD
000017e8: MSTORE
000017e9: PUSH1 0x01
000017eb: PUSH1 0x01
000017ed: PUSH1 0xa0
000017ef: SHL
000017f0: SUB
000017f1: SWAP1
000017f2: SWAP2
000017f3: AND
000017f4: SWAP1
000017f5: PUSH4 0x3af32abf
000017fa: SWAP1
000017fb: PUSH1 0x24
000017fd: ADD
000017fe: PUSH1 0x20
00001800: PUSH1 0x40
00001802: MLOAD
00001803: DUP1
00001804: DUP4
00001805: SUB
00001806: DUP2
00001807: DUP7
00001808: GAS
00001809: STATICCALL
0000180a: ISZERO
0000180b: DUP1
0000180c: ISZERO
0000180d: PUSH2 0x181a
00001810: JUMPI
00001811: RETURNDATASIZE
00001812: PUSH1 0x00
00001814: DUP1
00001815: RETURNDATACOPY
00001816: RETURNDATASIZE
00001817: PUSH1 0x00
00001819: REVERT
0000181a: JUMPDEST
0000181b: POP
0000181c: POP
0000181d: POP
0000181e: POP
0000181f: PUSH1 0x40
00001821: MLOAD
00001822: RETURNDATASIZE
00001823: PUSH1 0x1f
00001825: NOT
00001826: PUSH1 0x1f
00001828: DUP3
00001829: ADD
0000182a: AND
0000182b: DUP3
0000182c: ADD
0000182d: DUP1
0000182e: PUSH1 0x40
00001830: MSTORE
00001831: POP
00001832: DUP2
00001833: ADD
00001834: SWAP1
00001835: PUSH2 0x183e
00001838: SWAP2
00001839: SWAP1
0000183a: PUSH2 0x33d1
0000183d: JUMP
0000183e: JUMPDEST
0000183f: ISZERO
00001840: PUSH2 0x184d
00001843: JUMPI
00001844: PUSH2 0x172d
00001847: DUP3
00001848: DUP5
00001849: PUSH2 0x33ee
0000184c: JUMP
0000184d: JUMPDEST
0000184e: PUSH2 0x1857
00001851: DUP3
00001852: DUP5
00001853: PUSH2 0x33ee
00001856: JUMP
00001857: JUMPDEST
00001858: CALLVALUE
00001859: EQ
0000185a: DUP1
0000185b: ISZERO
0000185c: PUSH2 0x1879
0000185f: JUMPI
00001860: POP
00001861: PUSH2 0x012d
00001864: SLOAD
00001865: PUSH1 0x01
00001867: PUSH1 0x80
00001869: SHL
0000186a: SWAP1
0000186b: DIV
0000186c: PUSH8 0xffffffffffffffff
00001875: AND
00001876: DUP3
00001877: LT
00001878: ISZERO
00001879: JUMPDEST
0000187a: DUP1
0000187b: ISZERO
0000187c: PUSH2 0x1899
0000187f: JUMPI
00001880: POP
00001881: PUSH2 0x012d
00001884: SLOAD
00001885: PUSH1 0x01
00001887: PUSH1 0xc0
00001889: SHL
0000188a: SWAP1
0000188b: DIV
0000188c: PUSH8 0xffffffffffffffff
00001895: AND
00001896: DUP3
00001897: GT
00001898: ISZERO
00001899: JUMPDEST
0000189a: PUSH2 0x18e5
0000189d: JUMPI
0000189e: PUSH1 0x40
000018a0: MLOAD
000018a1: PUSH3 0x461bcd
000018a5: PUSH1 0xe5
000018a7: SHL
000018a8: DUP2
000018a9: MSTORE
000018aa: PUSH1 0x20
000018ac: PUSH1 0x04
000018ae: DUP3
000018af: ADD
000018b0: MSTORE
000018b1: PUSH1 0x13
000018b3: PUSH1 0x24
000018b5: DUP3
000018b6: ADD
000018b7: MSTORE
000018b8: PUSH32 0x496e636f7272656374206269642076616c756500000000000000000000000000
000018d9: PUSH1 0x44
000018db: DUP3
000018dc: ADD
000018dd: MSTORE
000018de: PUSH1 0x64
000018e0: ADD
000018e1: PUSH2 0x09f8
000018e4: JUMP
000018e5: JUMPDEST
000018e6: PUSH2 0x0130
000018e9: SLOAD
000018ea: PUSH1 0x40
000018ec: MLOAD
000018ed: PUSH32 0x6b5e571200000000000000000000000000000000000000000000000000000000
0000190e: DUP2
0000190f: MSTORE
00001910: CALLER
00001911: PUSH1 0x04
00001913: DUP3
00001914: ADD
00001915: MSTORE
00001916: PUSH1 0x00
00001918: SWAP2
00001919: PUSH1 0x01
0000191b: PUSH1 0x01
0000191d: PUSH1 0xa0
0000191f: SHL
00001920: SUB
00001921: AND
00001922: SWAP1
00001923: PUSH4 0x6b5e5712
00001928: SWAP1
00001929: PUSH1 0x24
0000192b: ADD
0000192c: PUSH1 0x20
0000192e: PUSH1 0x40
00001930: MLOAD
00001931: DUP1
00001932: DUP4
00001933: SUB
00001934: DUP2
00001935: DUP7
00001936: GAS
00001937: STATICCALL
00001938: ISZERO
00001939: DUP1
0000193a: ISZERO
0000193b: PUSH2 0x1948
0000193e: JUMPI
0000193f: RETURNDATASIZE
00001940: PUSH1 0x00
00001942: DUP1
00001943: RETURNDATACOPY
00001944: RETURNDATASIZE
00001945: PUSH1 0x00
00001947: REVERT
00001948: JUMPDEST
00001949: POP
0000194a: POP
0000194b: POP
0000194c: POP
0000194d: PUSH1 0x40
0000194f: MLOAD
00001950: RETURNDATASIZE
00001951: PUSH1 0x1f
00001953: NOT
00001954: PUSH1 0x1f
00001956: DUP3
00001957: ADD
00001958: AND
00001959: DUP3
0000195a: ADD
0000195b: DUP1
0000195c: PUSH1 0x40
0000195e: MSTORE
0000195f: POP
00001960: DUP2
00001961: ADD
00001962: SWAP1
00001963: PUSH2 0x196c
00001966: SWAP2
00001967: SWAP1
00001968: PUSH2 0x340d
0000196b: JUMP
0000196c: JUMPDEST
0000196d: SWAP1
0000196e: POP
0000196f: DUP1
00001970: PUSH8 0xffffffffffffffff
00001979: AND
0000197a: DUP5
0000197b: GT
0000197c: ISZERO
0000197d: PUSH2 0x19c8
00001980: JUMPI
00001981: PUSH1 0x40
00001983: MLOAD
00001984: PUSH3 0x461bcd
00001988: PUSH1 0xe5
0000198a: SHL
0000198b: DUP2
0000198c: MSTORE
0000198d: PUSH1 0x20
0000198f: PUSH1 0x04
00001991: DUP3
00001992: ADD
00001993: MSTORE
00001994: PUSH1 0x18
00001996: PUSH1 0x24
00001998: DUP3
00001999: ADD
0000199a: MSTORE
0000199b: PUSH32 0x496e73756666696369656e74207075626c6963206b6579730000000000000000
000019bc: PUSH1 0x44
000019be: DUP3
000019bf: ADD
000019c0: MSTORE
000019c1: PUSH1 0x64
000019c3: ADD
000019c4: PUSH2 0x09f8
000019c7: JUMP
000019c8: JUMPDEST
000019c9: PUSH1 0x00
000019cb: DUP5
000019cc: PUSH8 0xffffffffffffffff
000019d5: DUP2
000019d6: GT
000019d7: ISZERO
000019d8: PUSH2 0x19e3
000019db: JUMPI
000019dc: PUSH2 0x19e3
000019df: PUSH2 0x3102
000019e2: JUMP
000019e3: JUMPDEST
000019e4: PUSH1 0x40
000019e6: MLOAD
000019e7: SWAP1
000019e8: DUP1
000019e9: DUP3
000019ea: MSTORE
000019eb: DUP1
000019ec: PUSH1 0x20
000019ee: MUL
000019ef: PUSH1 0x20
000019f1: ADD
000019f2: DUP3
000019f3: ADD
000019f4: PUSH1 0x40
000019f6: MSTORE
000019f7: DUP1
000019f8: ISZERO
000019f9: PUSH2 0x1a0c
000019fc: JUMPI
000019fd: DUP2
000019fe: PUSH1 0x20
00001a00: ADD
00001a01: PUSH1 0x20
00001a03: DUP3
00001a04: MUL
00001a05: DUP1
00001a06: CALLDATASIZE
00001a07: DUP4
00001a08: CALLDATACOPY
00001a09: ADD
00001a0a: SWAP1
00001a0b: POP
00001a0c: JUMPDEST
00001a0d: POP
00001a0e: SWAP1
00001a0f: POP
00001a10: PUSH1 0x00
00001a12: DUP6
00001a13: PUSH8 0xffffffffffffffff
00001a1c: DUP2
00001a1d: GT
00001a1e: ISZERO
00001a1f: PUSH2 0x1a2a
00001a22: JUMPI
00001a23: PUSH2 0x1a2a
00001a26: PUSH2 0x3102
00001a29: JUMP
00001a2a: JUMPDEST
00001a2b: PUSH1 0x40
00001a2d: MLOAD
00001a2e: SWAP1
00001a2f: DUP1
00001a30: DUP3
00001a31: MSTORE
00001a32: DUP1
00001a33: PUSH1 0x20
00001a35: MUL
00001a36: PUSH1 0x20
00001a38: ADD
00001a39: DUP3
00001a3a: ADD
00001a3b: PUSH1 0x40
00001a3d: MSTORE
00001a3e: DUP1
00001a3f: ISZERO
00001a40: PUSH2 0x1a53
00001a43: JUMPI
00001a44: DUP2
00001a45: PUSH1 0x20
00001a47: ADD
00001a48: PUSH1 0x20
00001a4a: DUP3
00001a4b: MUL
00001a4c: DUP1
00001a4d: CALLDATASIZE
00001a4e: DUP4
00001a4f: CALLDATACOPY
00001a50: ADD
00001a51: SWAP1
00001a52: POP
00001a53: JUMPDEST
00001a54: POP
00001a55: SWAP1
00001a56: POP
00001a57: PUSH1 0x00
00001a59: JUMPDEST
00001a5a: DUP7
00001a5b: DUP2
00001a5c: LT
00001a5d: ISZERO
00001a5e: PUSH2 0x1bfc
00001a61: JUMPI
00001a62: PUSH2 0x0130
00001a65: SLOAD
00001a66: PUSH1 0x40
00001a68: MLOAD
00001a69: PUSH32 0x1a5729b200000000000000000000000000000000000000000000000000000000
00001a8a: DUP2
00001a8b: MSTORE
00001a8c: CALLER
00001a8d: PUSH1 0x04
00001a8f: DUP3
00001a90: ADD
00001a91: MSTORE
00001a92: PUSH1 0x00
00001a94: SWAP2
00001a95: PUSH1 0x01
00001a97: PUSH1 0x01
00001a99: PUSH1 0xa0
00001a9b: SHL
00001a9c: SUB
00001a9d: AND
00001a9e: SWAP1
00001a9f: PUSH4 0x1a5729b2
00001aa4: SWAP1
00001aa5: PUSH1 0x24
00001aa7: ADD
00001aa8: PUSH1 0x20
00001aaa: PUSH1 0x40
00001aac: MLOAD
00001aad: DUP1
00001aae: DUP4
00001aaf: SUB
00001ab0: DUP2
00001ab1: PUSH1 0x00
00001ab3: DUP8
00001ab4: GAS
00001ab5: CALL
00001ab6: ISZERO
00001ab7: DUP1
00001ab8: ISZERO
00001ab9: PUSH2 0x1ac6
00001abc: JUMPI
00001abd: RETURNDATASIZE
00001abe: PUSH1 0x00
00001ac0: DUP1
00001ac1: RETURNDATACOPY
00001ac2: RETURNDATASIZE
00001ac3: PUSH1 0x00
00001ac5: REVERT
00001ac6: JUMPDEST
00001ac7: POP
00001ac8: POP
00001ac9: POP
00001aca: POP
00001acb: PUSH1 0x40
00001acd: MLOAD
00001ace: RETURNDATASIZE
00001acf: PUSH1 0x1f
00001ad1: NOT
00001ad2: PUSH1 0x1f
00001ad4: DUP3
00001ad5: ADD
00001ad6: AND
00001ad7: DUP3
00001ad8: ADD
00001ad9: DUP1
00001ada: PUSH1 0x40
00001adc: MSTORE
00001add: POP
00001ade: DUP2
00001adf: ADD
00001ae0: SWAP1
00001ae1: PUSH2 0x1aea
00001ae4: SWAP2
00001ae5: SWAP1
00001ae6: PUSH2 0x340d
00001ae9: JUMP
00001aea: JUMPDEST
00001aeb: SWAP1
00001aec: POP
00001aed: PUSH1 0x00
00001aef: DUP3
00001af0: PUSH2 0x012e
00001af3: SLOAD
00001af4: PUSH2 0x1afd
00001af7: SWAP2
00001af8: SWAP1
00001af9: PUSH2 0x342a
00001afc: JUMP
00001afd: JUMPDEST
00001afe: SWAP1
00001aff: POP
00001b00: DUP1
00001b01: DUP6
00001b02: DUP5
00001b03: DUP2
00001b04: MLOAD
00001b05: DUP2
00001b06: LT
00001b07: PUSH2 0x1b12
00001b0a: JUMPI
00001b0b: PUSH2 0x1b12
00001b0e: PUSH2 0x33bb
00001b11: JUMP
00001b12: JUMPDEST
00001b13: PUSH1 0x20
00001b15: MUL
00001b16: PUSH1 0x20
00001b18: ADD
00001b19: ADD
00001b1a: DUP2
00001b1b: DUP2
00001b1c: MSTORE
00001b1d: POP
00001b1e: POP
00001b1f: DUP2
00001b20: DUP5
00001b21: DUP5
00001b22: DUP2
00001b23: MLOAD
00001b24: DUP2
00001b25: LT
00001b26: PUSH2 0x1b31
00001b29: JUMPI
00001b2a: PUSH2 0x1b31
00001b2d: PUSH2 0x33bb
00001b30: JUMP
00001b31: JUMPDEST
00001b32: PUSH8 0xffffffffffffffff
00001b3b: SWAP3
00001b3c: DUP4
00001b3d: AND
00001b3e: PUSH1 0x20
00001b40: SWAP2
00001b41: DUP3
00001b42: MUL
00001b43: SWAP3
00001b44: SWAP1
00001b45: SWAP3
00001b46: ADD
00001b47: DUP2
00001b48: ADD
00001b49: SWAP2
00001b4a: SWAP1
00001b4b: SWAP2
00001b4c: MSTORE
00001b4d: PUSH1 0x40
00001b4f: DUP1
00001b50: MLOAD
00001b51: PUSH1 0x80
00001b53: DUP2
00001b54: ADD
00001b55: DUP3
00001b56: MSTORE
00001b57: DUP12
00001b58: DUP2
00001b59: MSTORE
00001b5a: SWAP5
00001b5b: DUP4
00001b5c: AND
00001b5d: DUP6
00001b5e: DUP4
00001b5f: ADD
00001b60: SWAP1
00001b61: DUP2
00001b62: MSTORE
00001b63: CALLER
00001b64: DUP7
00001b65: DUP4
00001b66: ADD
00001b67: SWAP1
00001b68: DUP2
00001b69: MSTORE
00001b6a: PUSH1 0x01
00001b6c: PUSH1 0x60
00001b6e: DUP9
00001b6f: ADD
00001b70: DUP2
00001b71: DUP2
00001b72: MSTORE
00001b73: PUSH1 0x00
00001b75: SWAP8
00001b76: DUP9
00001b77: MSTORE
00001b78: PUSH2 0x0133
00001b7b: SWAP1
00001b7c: SWAP6
00001b7d: MSTORE
00001b7e: SWAP3
00001b7f: SWAP1
00001b80: SWAP6
00001b81: KECCAK256
00001b82: SWAP6
00001b83: MLOAD
00001b84: DUP7
00001b85: SSTORE
00001b86: MLOAD
00001b87: SWAP5
00001b88: ADD
00001b89: DUP1
00001b8a: SLOAD
00001b8b: SWAP4
00001b8c: MLOAD
00001b8d: SWAP2
00001b8e: MLOAD
00001b8f: ISZERO
00001b90: ISZERO
00001b91: PUSH1 0x01
00001b93: PUSH1 0xe0
00001b95: SHL
00001b96: MUL
00001b97: PUSH1 0xff
00001b99: PUSH1 0xe0
00001b9b: SHL
00001b9c: NOT
00001b9d: PUSH1 0x01
00001b9f: PUSH1 0x01
00001ba1: PUSH1 0xa0
00001ba3: SHL
00001ba4: SUB
00001ba5: SWAP4
00001ba6: SWAP1
00001ba7: SWAP4
00001ba8: AND
00001ba9: PUSH9 0x010000000000000000
00001bb3: MUL
00001bb4: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
00001bd5: SWAP1
00001bd6: SWAP6
00001bd7: AND
00001bd8: SWAP6
00001bd9: SWAP1
00001bda: SWAP4
00001bdb: AND
00001bdc: SWAP5
00001bdd: SWAP1
00001bde: SWAP5
00001bdf: OR
00001be0: SWAP3
00001be1: SWAP1
00001be2: SWAP3
00001be3: OR
00001be4: SWAP2
00001be5: SWAP1
00001be6: SWAP2
00001be7: AND
00001be8: OR
00001be9: SWAP1
00001bea: SSTORE
00001beb: DUP1
00001bec: PUSH2 0x1bf4
00001bef: DUP2
00001bf0: PUSH2 0x33a1
00001bf3: JUMP
00001bf4: JUMPDEST
00001bf5: SWAP2
00001bf6: POP
00001bf7: POP
00001bf8: PUSH2 0x1a59
00001bfb: JUMP
00001bfc: JUMPDEST
00001bfd: POP
00001bfe: DUP6
00001bff: PUSH2 0x012e
00001c02: PUSH1 0x00
00001c04: DUP3
00001c05: DUP3
00001c06: SLOAD
00001c07: PUSH2 0x1c10
00001c0a: SWAP2
00001c0b: SWAP1
00001c0c: PUSH2 0x342a
00001c0f: JUMP
00001c10: JUMPDEST
00001c11: SWAP3
00001c12: POP
00001c13: POP
00001c14: DUP2
00001c15: SWAP1
00001c16: SSTORE
00001c17: POP
00001c18: DUP6
00001c19: PUSH2 0x012f
00001c1c: PUSH1 0x00
00001c1e: DUP3
00001c1f: DUP3
00001c20: SLOAD
00001c21: PUSH2 0x1c2a
00001c24: SWAP2
00001c25: SWAP1
00001c26: PUSH2 0x342a
00001c29: JUMP
00001c2a: JUMPDEST
00001c2b: SWAP1
00001c2c: SWAP2
00001c2d: SSTORE
00001c2e: POP
00001c2f: POP
00001c30: PUSH1 0x40
00001c32: MLOAD
00001c33: CALLER
00001c34: SWAP1
00001c35: PUSH32 0x5ac259179cc7e5e7986fdb545b3ac088788061a3924596f10ee30c42c79fcd4c
00001c56: SWAP1
00001c57: PUSH2 0x1c65
00001c5a: SWAP1
00001c5b: DUP9
00001c5c: SWAP1
00001c5d: DUP7
00001c5e: SWAP1
00001c5f: DUP7
00001c60: SWAP1
00001c61: PUSH2 0x3442
00001c64: JUMP
00001c65: JUMPDEST
00001c66: PUSH1 0x40
00001c68: MLOAD
00001c69: DUP1
00001c6a: SWAP2
00001c6b: SUB
00001c6c: SWAP1
00001c6d: LOG2
00001c6e: POP
00001c6f: SWAP2
00001c70: POP
00001c71: POP
00001c72: PUSH2 0x1c7b
00001c75: PUSH1 0x01
00001c77: PUSH1 0x97
00001c79: SSTORE
00001c7a: JUMP
00001c7b: JUMPDEST
00001c7c: SWAP3
00001c7d: SWAP2
00001c7e: POP
00001c7f: POP
00001c80: JUMP
00001c81: JUMPDEST
00001c82: CALLER
00001c83: PUSH1 0x00
00001c85: SWAP1
00001c86: DUP2
00001c87: MSTORE
00001c88: PUSH2 0x0137
00001c8b: PUSH1 0x20
00001c8d: MSTORE
00001c8e: PUSH1 0x40
00001c90: SWAP1
00001c91: KECCAK256
00001c92: SLOAD
00001c93: PUSH1 0xff
00001c95: AND
00001c96: PUSH2 0x1ce1
00001c99: JUMPI
00001c9a: PUSH1 0x40
00001c9c: MLOAD
00001c9d: PUSH3 0x461bcd
00001ca1: PUSH1 0xe5
00001ca3: SHL
00001ca4: DUP2
00001ca5: MSTORE
00001ca6: PUSH1 0x20
00001ca8: PUSH1 0x04
00001caa: DUP3
00001cab: ADD
00001cac: MSTORE
00001cad: PUSH1 0x17
00001caf: PUSH1 0x24
00001cb1: DUP3
00001cb2: ADD
00001cb3: MSTORE
00001cb4: PUSH32 0x43616c6c6572206973206e6f74207468652061646d696e000000000000000000
00001cd5: PUSH1 0x44
00001cd7: DUP3
00001cd8: ADD
00001cd9: MSTORE
00001cda: PUSH1 0x64
00001cdc: ADD
00001cdd: PUSH2 0x09f8
00001ce0: JUMP
00001ce1: JUMPDEST
00001ce2: PUSH2 0x0d61
00001ce5: PUSH2 0x2a56
00001ce8: JUMP
00001ce9: JUMPDEST
00001cea: PUSH1 0x00
00001cec: SLOAD
00001ced: PUSH2 0x0100
00001cf0: SWAP1
00001cf1: DIV
00001cf2: PUSH1 0xff
00001cf4: AND
00001cf5: ISZERO
00001cf6: DUP1
00001cf7: DUP1
00001cf8: ISZERO
00001cf9: PUSH2 0x1d09
00001cfc: JUMPI
00001cfd: POP
00001cfe: PUSH1 0x00
00001d00: SLOAD
00001d01: PUSH1 0x01
00001d03: PUSH1 0xff
00001d05: SWAP1
00001d06: SWAP2
00001d07: AND
00001d08: LT
00001d09: JUMPDEST
00001d0a: DUP1
00001d0b: PUSH2 0x1d23
00001d0e: JUMPI
00001d0f: POP
00001d10: ADDRESS
00001d11: EXTCODESIZE
00001d12: ISZERO
00001d13: DUP1
00001d14: ISZERO
00001d15: PUSH2 0x1d23
00001d18: JUMPI
00001d19: POP
00001d1a: PUSH1 0x00
00001d1c: SLOAD
00001d1d: PUSH1 0xff
00001d1f: AND
00001d20: PUSH1 0x01
00001d22: EQ
00001d23: JUMPDEST
00001d24: PUSH2 0x1d95
00001d27: JUMPI
00001d28: PUSH1 0x40
00001d2a: MLOAD
00001d2b: PUSH3 0x461bcd
00001d2f: PUSH1 0xe5
00001d31: SHL
00001d32: DUP2
00001d33: MSTORE
00001d34: PUSH1 0x20
00001d36: PUSH1 0x04
00001d38: DUP3
00001d39: ADD
00001d3a: MSTORE
00001d3b: PUSH1 0x2e
00001d3d: PUSH1 0x24
00001d3f: DUP3
00001d40: ADD
00001d41: MSTORE
00001d42: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561
00001d63: PUSH1 0x44
00001d65: DUP3
00001d66: ADD
00001d67: MSTORE
00001d68: PUSH32 0x647920696e697469616c697a6564000000000000000000000000000000000000
00001d89: PUSH1 0x64
00001d8b: DUP3
00001d8c: ADD
00001d8d: MSTORE
00001d8e: PUSH1 0x84
00001d90: ADD
00001d91: PUSH2 0x09f8
00001d94: JUMP
00001d95: JUMPDEST
00001d96: PUSH1 0x00
00001d98: DUP1
00001d99: SLOAD
00001d9a: PUSH1 0xff
00001d9c: NOT
00001d9d: AND
00001d9e: PUSH1 0x01
00001da0: OR
00001da1: SWAP1
00001da2: SSTORE
00001da3: DUP1
00001da4: ISZERO
00001da5: PUSH2 0x1db8
00001da8: JUMPI
00001da9: PUSH1 0x00
00001dab: DUP1
00001dac: SLOAD
00001dad: PUSH2 0xff00
00001db0: NOT
00001db1: AND
00001db2: PUSH2 0x0100
00001db5: OR
00001db6: SWAP1
00001db7: SSTORE
00001db8: JUMPDEST
00001db9: PUSH1 0x01
00001dbb: PUSH1 0x01
00001dbd: PUSH1 0xa0
00001dbf: SHL
00001dc0: SUB
00001dc1: DUP3
00001dc2: AND
00001dc3: PUSH2 0x1e0e
00001dc6: JUMPI
00001dc7: PUSH1 0x40
00001dc9: MLOAD
00001dca: PUSH3 0x461bcd
00001dce: PUSH1 0xe5
00001dd0: SHL
00001dd1: DUP2
00001dd2: MSTORE
00001dd3: PUSH1 0x20
00001dd5: PUSH1 0x04
00001dd7: DUP3
00001dd8: ADD
00001dd9: MSTORE
00001dda: PUSH1 0x11
00001ddc: PUSH1 0x24
00001dde: DUP3
00001ddf: ADD
00001de0: MSTORE
00001de1: PUSH32 0x4e6f205a65726f20416464726573736573000000000000000000000000000000
00001e02: PUSH1 0x44
00001e04: DUP3
00001e05: ADD
00001e06: MSTORE
00001e07: PUSH1 0x64
00001e09: ADD
00001e0a: PUSH2 0x09f8
00001e0d: JUMP
00001e0e: JUMPDEST
00001e0f: PUSH32 0x4563918244f40000002386f26fc10000000000000000000000038d7ea4c68000
00001e30: PUSH2 0x012d
00001e33: SSTORE
00001e34: PUSH1 0x01
00001e36: PUSH2 0x012e
00001e39: SSTORE
00001e3a: PUSH2 0x0132
00001e3d: DUP1
00001e3e: SLOAD
00001e3f: PUSH32 0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff
00001e60: AND
00001e61: PUSH1 0x01
00001e63: PUSH1 0xa0
00001e65: SHL
00001e66: OR
00001e67: SWAP1
00001e68: SSTORE
00001e69: PUSH2 0x0130
00001e6c: DUP1
00001e6d: SLOAD
00001e6e: PUSH1 0x01
00001e70: PUSH1 0x01
00001e72: PUSH1 0xa0
00001e74: SHL
00001e75: SUB
00001e76: DUP5
00001e77: AND
00001e78: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e8d: NOT
00001e8e: SWAP1
00001e8f: SWAP2
00001e90: AND
00001e91: OR
00001e92: SWAP1
00001e93: SSTORE
00001e94: PUSH2 0x1e9b
00001e97: PUSH2 0x2a8f
00001e9a: JUMP
00001e9b: JUMPDEST
00001e9c: PUSH2 0x1ea3
00001e9f: PUSH2 0x2b02
00001ea2: JUMP
00001ea3: JUMPDEST
00001ea4: PUSH2 0x1eab
00001ea7: PUSH2 0x2b75
00001eaa: JUMP
00001eab: JUMPDEST
00001eac: PUSH2 0x1eb3
00001eaf: PUSH2 0x2be0
00001eb2: JUMP
00001eb3: JUMPDEST
00001eb4: DUP1
00001eb5: ISZERO
00001eb6: PUSH2 0x0eed
00001eb9: JUMPI
00001eba: PUSH1 0x00
00001ebc: DUP1
00001ebd: SLOAD
00001ebe: PUSH2 0xff00
00001ec1: NOT
00001ec2: AND
00001ec3: SWAP1
00001ec4: SSTORE
00001ec5: PUSH1 0x40
00001ec7: MLOAD
00001ec8: PUSH1 0x01
00001eca: DUP2
00001ecb: MSTORE
00001ecc: PUSH32 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498
00001eed: SWAP1
00001eee: PUSH1 0x20
00001ef0: ADD
00001ef1: PUSH1 0x40
00001ef3: MLOAD
00001ef4: DUP1
00001ef5: SWAP2
00001ef6: SUB
00001ef7: SWAP1
00001ef8: LOG1
00001ef9: POP
00001efa: POP
00001efb: JUMP
00001efc: JUMPDEST
00001efd: CALLER
00001efe: PUSH1 0x00
00001f00: SWAP1
00001f01: DUP2
00001f02: MSTORE
00001f03: PUSH2 0x0137
00001f06: PUSH1 0x20
00001f08: MSTORE
00001f09: PUSH1 0x40
00001f0b: SWAP1
00001f0c: KECCAK256
00001f0d: SLOAD
00001f0e: PUSH1 0xff
00001f10: AND
00001f11: PUSH2 0x1f5c
00001f14: JUMPI
00001f15: PUSH1 0x40
00001f17: MLOAD
00001f18: PUSH3 0x461bcd
00001f1c: PUSH1 0xe5
00001f1e: SHL
00001f1f: DUP2
00001f20: MSTORE
00001f21: PUSH1 0x20
00001f23: PUSH1 0x04
00001f25: DUP3
00001f26: ADD
00001f27: MSTORE
00001f28: PUSH1 0x17
00001f2a: PUSH1 0x24
00001f2c: DUP3
00001f2d: ADD
00001f2e: MSTORE
00001f2f: PUSH32 0x43616c6c6572206973206e6f74207468652061646d696e000000000000000000
00001f50: PUSH1 0x44
00001f52: DUP3
00001f53: ADD
00001f54: MSTORE
00001f55: PUSH1 0x64
00001f57: ADD
00001f58: PUSH2 0x09f8
00001f5b: JUMP
00001f5c: JUMPDEST
00001f5d: PUSH2 0x0132
00001f60: DUP1
00001f61: SLOAD
00001f62: PUSH32 0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff
00001f83: AND
00001f84: PUSH1 0x01
00001f86: PUSH1 0xa0
00001f88: SHL
00001f89: SWAP1
00001f8a: DUP2
00001f8b: OR
00001f8c: SWAP2
00001f8d: DUP3
00001f8e: SWAP1
00001f8f: SSTORE
00001f90: PUSH1 0x40
00001f92: MLOAD
00001f93: PUSH32 0x9bea0dd3cae4438dc4c54c3110002aedc380f4075b6edae73ae0536105a2008a
00001fb4: SWAP3
00001fb5: PUSH2 0x1fc7
00001fb8: SWAP3
00001fb9: SWAP1
00001fba: DIV
00001fbb: PUSH1 0xff
00001fbd: AND
00001fbe: ISZERO
00001fbf: ISZERO
00001fc0: DUP2
00001fc1: MSTORE
00001fc2: PUSH1 0x20
00001fc4: ADD
00001fc5: SWAP1
00001fc6: JUMP
00001fc7: JUMPDEST
00001fc8: PUSH1 0x40
00001fca: MLOAD
00001fcb: DUP1
00001fcc: SWAP2
00001fcd: SUB
00001fce: SWAP1
00001fcf: LOG1
00001fd0: JUMP
00001fd1: JUMPDEST
00001fd2: PUSH2 0x0132
00001fd5: SLOAD
00001fd6: PUSH1 0x01
00001fd8: PUSH1 0x01
00001fda: PUSH1 0xa0
00001fdc: SHL
00001fdd: SUB
00001fde: AND
00001fdf: CALLER
00001fe0: EQ
00001fe1: PUSH2 0x203b
00001fe4: JUMPI
00001fe5: PUSH1 0x40
00001fe7: MLOAD
00001fe8: PUSH3 0x461bcd
00001fec: PUSH1 0xe5
00001fee: SHL
00001fef: DUP2
00001ff0: MSTORE
00001ff1: PUSH1 0x20
00001ff3: PUSH1 0x04
00001ff5: DUP3
00001ff6: ADD
00001ff7: MSTORE
00001ff8: PUSH1 0x26
00001ffa: PUSH1 0x24
00001ffc: DUP3
00001ffd: ADD
00001ffe: MSTORE
00001fff: PUSH32 0x4f6e6c79207374616b696e67206d616e6167657220636f6e7472616374206675
00002020: PUSH1 0x44
00002022: DUP3
00002023: ADD
00002024: MSTORE
00002025: PUSH6 0x3731ba34b7b7
0000202c: PUSH1 0xd1
0000202e: SHL
0000202f: PUSH1 0x64
00002031: DUP3
00002032: ADD
00002033: MSTORE
00002034: PUSH1 0x84
00002036: ADD
00002037: PUSH2 0x09f8
0000203a: JUMP
0000203b: JUMPDEST
0000203c: PUSH1 0x00
0000203e: DUP2
0000203f: DUP2
00002040: MSTORE
00002041: PUSH2 0x0133
00002044: PUSH1 0x20
00002046: MSTORE
00002047: PUSH1 0x40
00002049: DUP2
0000204a: KECCAK256
0000204b: SLOAD
0000204c: PUSH2 0x0136
0000204f: SLOAD
00002050: SWAP1
00002051: SWAP2
00002052: SWAP1
00002053: PUSH2 0x2066
00002056: SWAP1
00002057: DUP4
00002058: SWAP1
00002059: PUSH1 0x01
0000205b: PUSH1 0x01
0000205d: PUSH1 0x80
0000205f: SHL
00002060: SUB
00002061: AND
00002062: PUSH2 0x342a
00002065: JUMP
00002066: JUMPDEST
00002067: PUSH2 0x0136
0000206a: SLOAD
0000206b: SWAP1
0000206c: SWAP2
0000206d: POP
0000206e: PUSH1 0x01
00002070: PUSH1 0x80
00002072: SHL
00002073: SWAP1
00002074: DIV
00002075: PUSH1 0x01
00002077: PUSH1 0x01
00002079: PUSH1 0x80
0000207b: SHL
0000207c: SUB
0000207d: AND
0000207e: DUP2
0000207f: LT
00002080: PUSH2 0x2147
00002083: JUMPI
00002084: PUSH2 0x0136
00002087: DUP1
00002088: SLOAD
00002089: PUSH16 0xffffffffffffffffffffffffffffffff
0000209a: NOT
0000209b: AND
0000209c: SWAP1
0000209d: SSTORE
0000209e: PUSH2 0x0135
000020a1: SLOAD
000020a2: PUSH1 0x40
000020a4: MLOAD
000020a5: PUSH1 0x00
000020a7: SWAP2
000020a8: PUSH1 0x01
000020aa: PUSH1 0x01
000020ac: PUSH1 0xa0
000020ae: SHL
000020af: SUB
000020b0: AND
000020b1: SWAP1
000020b2: DUP4
000020b3: SWAP1
000020b4: DUP4
000020b5: DUP2
000020b6: DUP2
000020b7: DUP2
000020b8: DUP6
000020b9: DUP8
000020ba: GAS
000020bb: CALL
000020bc: SWAP3
000020bd: POP
000020be: POP
000020bf: POP
000020c0: RETURNDATASIZE
000020c1: DUP1
000020c2: PUSH1 0x00
000020c4: DUP2
000020c5: EQ
000020c6: PUSH2 0x20eb
000020c9: JUMPI
000020ca: PUSH1 0x40
000020cc: MLOAD
000020cd: SWAP2
000020ce: POP
000020cf: PUSH1 0x1f
000020d1: NOT
000020d2: PUSH1 0x3f
000020d4: RETURNDATASIZE
000020d5: ADD
000020d6: AND
000020d7: DUP3
000020d8: ADD
000020d9: PUSH1 0x40
000020db: MSTORE
000020dc: RETURNDATASIZE
000020dd: DUP3
000020de: MSTORE
000020df: RETURNDATASIZE
000020e0: PUSH1 0x00
000020e2: PUSH1 0x20
000020e4: DUP5
000020e5: ADD
000020e6: RETURNDATACOPY
000020e7: PUSH2 0x20f0
000020ea: JUMP
000020eb: JUMPDEST
000020ec: PUSH1 0x60
000020ee: SWAP2
000020ef: POP
000020f0: JUMPDEST
000020f1: POP
000020f2: POP
000020f3: SWAP1
000020f4: POP
000020f5: DUP1
000020f6: PUSH2 0x2141
000020f9: JUMPI
000020fa: PUSH1 0x40
000020fc: MLOAD
000020fd: PUSH3 0x461bcd
00002101: PUSH1 0xe5
00002103: SHL
00002104: DUP2
00002105: MSTORE
00002106: PUSH1 0x20
00002108: PUSH1 0x04
0000210a: DUP3
0000210b: ADD
0000210c: MSTORE
0000210d: PUSH1 0x14
0000210f: PUSH1 0x24
00002111: DUP3
00002112: ADD
00002113: MSTORE
00002114: PUSH32 0x4661696c656420746f2073656e64204574686572000000000000000000000000
00002135: PUSH1 0x44
00002137: DUP3
00002138: ADD
00002139: MSTORE
0000213a: PUSH1 0x64
0000213c: ADD
0000213d: PUSH2 0x09f8
00002140: JUMP
00002141: JUMPDEST
00002142: POP
00002143: POP
00002144: POP
00002145: POP
00002146: JUMP
00002147: JUMPDEST
00002148: PUSH2 0x0136
0000214b: DUP1
0000214c: SLOAD
0000214d: PUSH1 0x01
0000214f: PUSH1 0x01
00002151: PUSH1 0x80
00002153: SHL
00002154: SUB
00002155: DUP4
00002156: AND
00002157: PUSH16 0xffffffffffffffffffffffffffffffff
00002168: NOT
00002169: SWAP1
0000216a: SWAP2
0000216b: AND
0000216c: OR
0000216d: SWAP1
0000216e: SSTORE
0000216f: POP
00002170: POP
00002171: POP
00002172: JUMP
00002173: JUMPDEST
00002174: CALLER
00002175: PUSH1 0x00
00002177: SWAP1
00002178: DUP2
00002179: MSTORE
0000217a: PUSH2 0x0137
0000217d: PUSH1 0x20
0000217f: MSTORE
00002180: PUSH1 0x40
00002182: SWAP1
00002183: KECCAK256
00002184: SLOAD
00002185: PUSH1 0xff
00002187: AND
00002188: PUSH2 0x21d3
0000218b: JUMPI
0000218c: PUSH1 0x40
0000218e: MLOAD
0000218f: PUSH3 0x461bcd
00002193: PUSH1 0xe5
00002195: SHL
00002196: DUP2
00002197: MSTORE
00002198: PUSH1 0x20
0000219a: PUSH1 0x04
0000219c: DUP3
0000219d: ADD
0000219e: MSTORE
0000219f: PUSH1 0x17
000021a1: PUSH1 0x24
000021a3: DUP3
000021a4: ADD
000021a5: MSTORE
000021a6: PUSH32 0x43616c6c6572206973206e6f74207468652061646d696e000000000000000000
000021c7: PUSH1 0x44
000021c9: DUP3
000021ca: ADD
000021cb: MSTORE
000021cc: PUSH1 0x64
000021ce: ADD
000021cf: PUSH2 0x09f8
000021d2: JUMP
000021d3: JUMPDEST
000021d4: PUSH2 0x0132
000021d7: DUP1
000021d8: SLOAD
000021d9: PUSH32 0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff
000021fa: AND
000021fb: SWAP1
000021fc: DUP2
000021fd: SWAP1
000021fe: SSTORE
000021ff: PUSH1 0x40
00002201: MLOAD
00002202: PUSH32 0x3339dbd4fb585c70a2b8d61f33bc30da050195b8b986a441dd33624b88f87970
00002223: SWAP2
00002224: PUSH2 0x1fc7
00002227: SWAP2
00002228: PUSH1 0x01
0000222a: PUSH1 0xa0
0000222c: SHL
0000222d: SWAP1
0000222e: SWAP2
0000222f: DIV
00002230: PUSH1 0xff
00002232: AND
00002233: ISZERO
00002234: ISZERO
00002235: DUP2
00002236: MSTORE
00002237: PUSH1 0x20
00002239: ADD
0000223a: SWAP1
0000223b: JUMP
0000223c: JUMPDEST
0000223d: PUSH2 0x2244
00002240: PUSH2 0x252e
00002243: JUMP
00002244: JUMPDEST
00002245: PUSH2 0x0132
00002248: SLOAD
00002249: PUSH1 0x01
0000224b: PUSH1 0x01
0000224d: PUSH1 0xa0
0000224f: SHL
00002250: SUB
00002251: AND
00002252: ISZERO
00002253: PUSH2 0x229e
00002256: JUMPI
00002257: PUSH1 0x40
00002259: MLOAD
0000225a: PUSH3 0x461bcd
0000225e: PUSH1 0xe5
00002260: SHL
00002261: DUP2
00002262: MSTORE
00002263: PUSH1 0x20
00002265: PUSH1 0x04
00002267: DUP3
00002268: ADD
00002269: MSTORE
0000226a: PUSH1 0x13
0000226c: PUSH1 0x24
0000226e: DUP3
0000226f: ADD
00002270: MSTORE
00002271: PUSH32 0x4164647265737320616c72656164792073657400000000000000000000000000
00002292: PUSH1 0x44
00002294: DUP3
00002295: ADD
00002296: MSTORE
00002297: PUSH1 0x64
00002299: ADD
0000229a: PUSH2 0x09f8
0000229d: JUMP
0000229e: JUMPDEST
0000229f: PUSH1 0x01
000022a1: PUSH1 0x01
000022a3: PUSH1 0xa0
000022a5: SHL
000022a6: SUB
000022a7: DUP2
000022a8: AND
000022a9: PUSH2 0x22f4
000022ac: JUMPI
000022ad: PUSH1 0x40
000022af: MLOAD
000022b0: PUSH3 0x461bcd
000022b4: PUSH1 0xe5
000022b6: SHL
000022b7: DUP2
000022b8: MSTORE
000022b9: PUSH1 0x20
000022bb: PUSH1 0x04
000022bd: DUP3
000022be: ADD
000022bf: MSTORE
000022c0: PUSH1 0x11
000022c2: PUSH1 0x24
000022c4: DUP3
000022c5: ADD
000022c6: MSTORE
000022c7: PUSH32 0x4e6f207a65726f20616464726573736573000000000000000000000000000000
000022e8: PUSH1 0x44
000022ea: DUP3
000022eb: ADD
000022ec: MSTORE
000022ed: PUSH1 0x64
000022ef: ADD
000022f0: PUSH2 0x09f8
000022f3: JUMP
000022f4: JUMPDEST
000022f5: PUSH2 0x0132
000022f8: DUP1
000022f9: SLOAD
000022fa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000230f: NOT
00002310: AND
00002311: PUSH1 0x01
00002313: PUSH1 0x01
00002315: PUSH1 0xa0
00002317: SHL
00002318: SUB
00002319: SWAP3
0000231a: SWAP1
0000231b: SWAP3
0000231c: AND
0000231d: SWAP2
0000231e: SWAP1
0000231f: SWAP2
00002320: OR
00002321: SWAP1
00002322: SSTORE
00002323: JUMP
00002324: JUMPDEST
00002325: PUSH2 0x0132
00002328: SLOAD
00002329: PUSH1 0x01
0000232b: PUSH1 0x01
0000232d: PUSH1 0xa0
0000232f: SHL
00002330: SUB
00002331: AND
00002332: CALLER
00002333: EQ
00002334: PUSH2 0x238e
00002337: JUMPI
00002338: PUSH1 0x40
0000233a: MLOAD
0000233b: PUSH3 0x461bcd
0000233f: PUSH1 0xe5
00002341: SHL
00002342: DUP2
00002343: MSTORE
00002344: PUSH1 0x20
00002346: PUSH1 0x04
00002348: DUP3
00002349: ADD
0000234a: MSTORE
0000234b: PUSH1 0x26
0000234d: PUSH1 0x24
0000234f: DUP3
00002350: ADD
00002351: MSTORE
00002352: PUSH32 0x4f6e6c79207374616b696e67206d616e6167657220636f6e7472616374206675
00002373: PUSH1 0x44
00002375: DUP3
00002376: ADD
00002377: MSTORE
00002378: PUSH6 0x3731ba34b7b7
0000237f: PUSH1 0xd1
00002381: SHL
00002382: PUSH1 0x64
00002384: DUP3
00002385: ADD
00002386: MSTORE
00002387: PUSH1 0x84
00002389: ADD
0000238a: PUSH2 0x09f8
0000238d: JUMP
0000238e: JUMPDEST
0000238f: PUSH1 0x00
00002391: DUP2
00002392: DUP2
00002393: MSTORE
00002394: PUSH2 0x0133
00002397: PUSH1 0x20
00002399: MSTORE
0000239a: PUSH1 0x40
0000239c: SWAP1
0000239d: KECCAK256
0000239e: PUSH1 0x01
000023a0: DUP2
000023a1: ADD
000023a2: SLOAD
000023a3: PUSH1 0x01
000023a5: PUSH1 0xe0
000023a7: SHL
000023a8: SWAP1
000023a9: DIV
000023aa: PUSH1 0xff
000023ac: AND
000023ad: PUSH2 0x23f8
000023b0: JUMPI
000023b1: PUSH1 0x40
000023b3: MLOAD
000023b4: PUSH3 0x461bcd
000023b8: PUSH1 0xe5
000023ba: SHL
000023bb: DUP2
000023bc: MSTORE
000023bd: PUSH1 0x20
000023bf: PUSH1 0x04
000023c1: DUP3
000023c2: ADD
000023c3: MSTORE
000023c4: PUSH1 0x15
000023c6: PUSH1 0x24
000023c8: DUP3
000023c9: ADD
000023ca: MSTORE
000023cb: PUSH32 0x54686520626964206973206e6f74206163746976650000000000000000000000
000023ec: PUSH1 0x44
000023ee: DUP3
000023ef: ADD
000023f0: MSTORE
000023f1: PUSH1 0x64
000023f3: ADD
000023f4: PUSH2 0x09f8
000023f7: JUMP
000023f8: JUMPDEST
000023f9: PUSH1 0x01
000023fb: DUP2
000023fc: ADD
000023fd: DUP1
000023fe: SLOAD
000023ff: PUSH1 0xff
00002401: PUSH1 0xe0
00002403: SHL
00002404: NOT
00002405: AND
00002406: SWAP1
00002407: SSTORE
00002408: PUSH2 0x012f
0000240b: DUP1
0000240c: SLOAD
0000240d: SWAP1
0000240e: PUSH1 0x00
00002410: PUSH2 0x2418
00002413: DUP4
00002414: PUSH2 0x34a7
00002417: JUMP
00002418: JUMPDEST
00002419: SWAP2
0000241a: SWAP1
0000241b: POP
0000241c: SSTORE
0000241d: POP
0000241e: POP
0000241f: POP
00002420: JUMP
00002421: JUMPDEST
00002422: CALLER
00002423: PUSH1 0x00
00002425: SWAP1
00002426: DUP2
00002427: MSTORE
00002428: PUSH2 0x0137
0000242b: PUSH1 0x20
0000242d: MSTORE
0000242e: PUSH1 0x40
00002430: SWAP1
00002431: KECCAK256
00002432: SLOAD
00002433: PUSH1 0xff
00002435: AND
00002436: PUSH2 0x2481
00002439: JUMPI
0000243a: PUSH1 0x40
0000243c: MLOAD
0000243d: PUSH3 0x461bcd
00002441: PUSH1 0xe5
00002443: SHL
00002444: DUP2
00002445: MSTORE
00002446: PUSH1 0x20
00002448: PUSH1 0x04
0000244a: DUP3
0000244b: ADD
0000244c: MSTORE
0000244d: PUSH1 0x17
0000244f: PUSH1 0x24
00002451: DUP3
00002452: ADD
00002453: MSTORE
00002454: PUSH32 0x43616c6c6572206973206e6f74207468652061646d696e000000000000000000
00002475: PUSH1 0x44
00002477: DUP3
00002478: ADD
00002479: MSTORE
0000247a: PUSH1 0x64
0000247c: ADD
0000247d: PUSH2 0x09f8
00002480: JUMP
00002481: JUMPDEST
00002482: PUSH2 0x0136
00002485: DUP1
00002486: SLOAD
00002487: PUSH1 0x01
00002489: PUSH1 0x01
0000248b: PUSH1 0x80
0000248d: SHL
0000248e: SUB
0000248f: SWAP3
00002490: DUP4
00002491: AND
00002492: PUSH1 0x01
00002494: PUSH1 0x80
00002496: SHL
00002497: MUL
00002498: SWAP3
00002499: AND
0000249a: SWAP2
0000249b: SWAP1
0000249c: SWAP2
0000249d: OR
0000249e: SWAP1
0000249f: SSTORE
000024a0: JUMP
000024a1: JUMPDEST
000024a2: PUSH2 0x24a9
000024a5: PUSH2 0x252e
000024a8: JUMP
000024a9: JUMPDEST
000024aa: PUSH1 0x01
000024ac: PUSH1 0x01
000024ae: PUSH1 0xa0
000024b0: SHL
000024b1: SUB
000024b2: DUP2
000024b3: AND
000024b4: PUSH2 0x2525
000024b7: JUMPI
000024b8: PUSH1 0x40
000024ba: MLOAD
000024bb: PUSH3 0x461bcd
000024bf: PUSH1 0xe5
000024c1: SHL
000024c2: DUP2
000024c3: MSTORE
000024c4: PUSH1 0x20
000024c6: PUSH1 0x04
000024c8: DUP3
000024c9: ADD
000024ca: MSTORE
000024cb: PUSH1 0x26
000024cd: PUSH1 0x24
000024cf: DUP3
000024d0: ADD
000024d1: MSTORE
000024d2: PUSH32 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061
000024f3: PUSH1 0x44
000024f5: DUP3
000024f6: ADD
000024f7: MSTORE
000024f8: PUSH32 0x6464726573730000000000000000000000000000000000000000000000000000
00002519: PUSH1 0x64
0000251b: DUP3
0000251c: ADD
0000251d: MSTORE
0000251e: PUSH1 0x84
00002520: ADD
00002521: PUSH2 0x09f8
00002524: JUMP
00002525: JUMPDEST
00002526: PUSH2 0x0bc7
00002529: DUP2
0000252a: PUSH2 0x2785
0000252d: JUMP
0000252e: JUMPDEST
0000252f: PUSH1 0x65
00002531: SLOAD
00002532: PUSH1 0x01
00002534: PUSH1 0x01
00002536: PUSH1 0xa0
00002538: SHL
00002539: SUB
0000253a: AND
0000253b: CALLER
0000253c: EQ
0000253d: PUSH2 0x0d61
00002540: JUMPI
00002541: PUSH1 0x40
00002543: MLOAD
00002544: PUSH3 0x461bcd
00002548: PUSH1 0xe5
0000254a: SHL
0000254b: DUP2
0000254c: MSTORE
0000254d: PUSH1 0x20
0000254f: PUSH1 0x04
00002551: DUP3
00002552: ADD
00002553: DUP2
00002554: SWAP1
00002555: MSTORE
00002556: PUSH1 0x24
00002558: DUP3
00002559: ADD
0000255a: MSTORE
0000255b: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
0000257c: PUSH1 0x44
0000257e: DUP3
0000257f: ADD
00002580: MSTORE
00002581: PUSH1 0x64
00002583: ADD
00002584: PUSH2 0x09f8
00002587: JUMP
00002588: JUMPDEST
00002589: PUSH2 0x0bc7
0000258c: PUSH2 0x252e
0000258f: JUMP
00002590: JUMPDEST
00002591: PUSH32 0x4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143
000025b2: SLOAD
000025b3: PUSH1 0xff
000025b5: AND
000025b6: ISZERO
000025b7: PUSH2 0x25c3
000025ba: JUMPI
000025bb: PUSH2 0x142a
000025be: DUP4
000025bf: PUSH2 0x2c53
000025c2: JUMP
000025c3: JUMPDEST
000025c4: DUP3
000025c5: PUSH1 0x01
000025c7: PUSH1 0x01
000025c9: PUSH1 0xa0
000025cb: SHL
000025cc: SUB
000025cd: AND
000025ce: PUSH4 0x52d1902d
000025d3: PUSH1 0x40
000025d5: MLOAD
000025d6: DUP2
000025d7: PUSH4 0xffffffff
000025dc: AND
000025dd: PUSH1 0xe0
000025df: SHL
000025e0: DUP2
000025e1: MSTORE
000025e2: PUSH1 0x04
000025e4: ADD
000025e5: PUSH1 0x20
000025e7: PUSH1 0x40
000025e9: MLOAD
000025ea: DUP1
000025eb: DUP4
000025ec: SUB
000025ed: DUP2
000025ee: DUP7
000025ef: GAS
000025f0: STATICCALL
000025f1: SWAP3
000025f2: POP
000025f3: POP
000025f4: POP
000025f5: DUP1
000025f6: ISZERO
000025f7: PUSH2 0x261d
000025fa: JUMPI
000025fb: POP
000025fc: PUSH1 0x40
000025fe: DUP1
000025ff: MLOAD
00002600: PUSH1 0x1f
00002602: RETURNDATASIZE
00002603: SWAP1
00002604: DUP2
00002605: ADD
00002606: PUSH1 0x1f
00002608: NOT
00002609: AND
0000260a: DUP3
0000260b: ADD
0000260c: SWAP1
0000260d: SWAP3
0000260e: MSTORE
0000260f: PUSH2 0x261a
00002612: SWAP2
00002613: DUP2
00002614: ADD
00002615: SWAP1
00002616: PUSH2 0x34be
00002619: JUMP
0000261a: JUMPDEST
0000261b: PUSH1 0x01
0000261d: JUMPDEST
0000261e: PUSH2 0x268f
00002621: JUMPI
00002622: PUSH1 0x40
00002624: MLOAD
00002625: PUSH3 0x461bcd
00002629: PUSH1 0xe5
0000262b: SHL
0000262c: DUP2
0000262d: MSTORE
0000262e: PUSH1 0x20
00002630: PUSH1 0x04
00002632: DUP3
00002633: ADD
00002634: MSTORE
00002635: PUSH1 0x2e
00002637: PUSH1 0x24
00002639: DUP3
0000263a: ADD
0000263b: MSTORE
0000263c: PUSH32 0x45524331393637557067726164653a206e657720696d706c656d656e74617469
0000265d: PUSH1 0x44
0000265f: DUP3
00002660: ADD
00002661: MSTORE
00002662: PUSH32 0x6f6e206973206e6f742055555053000000000000000000000000000000000000
00002683: PUSH1 0x64
00002685: DUP3
00002686: ADD
00002687: MSTORE
00002688: PUSH1 0x84
0000268a: ADD
0000268b: PUSH2 0x09f8
0000268e: JUMP
0000268f: JUMPDEST
00002690: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
000026b1: DUP2
000026b2: EQ
000026b3: PUSH2 0x2724
000026b6: JUMPI
000026b7: PUSH1 0x40
000026b9: MLOAD
000026ba: PUSH3 0x461bcd
000026be: PUSH1 0xe5
000026c0: SHL
000026c1: DUP2
000026c2: MSTORE
000026c3: PUSH1 0x20
000026c5: PUSH1 0x04
000026c7: DUP3
000026c8: ADD
000026c9: MSTORE
000026ca: PUSH1 0x29
000026cc: PUSH1 0x24
000026ce: DUP3
000026cf: ADD
000026d0: MSTORE
000026d1: PUSH32 0x45524331393637557067726164653a20756e737570706f727465642070726f78
000026f2: PUSH1 0x44
000026f4: DUP3
000026f5: ADD
000026f6: MSTORE
000026f7: PUSH32 0x6961626c65555549440000000000000000000000000000000000000000000000
00002718: PUSH1 0x64
0000271a: DUP3
0000271b: ADD
0000271c: MSTORE
0000271d: PUSH1 0x84
0000271f: ADD
00002720: PUSH2 0x09f8
00002723: JUMP
00002724: JUMPDEST
00002725: POP
00002726: PUSH2 0x142a
00002729: DUP4
0000272a: DUP4
0000272b: DUP4
0000272c: PUSH2 0x2d1e
0000272f: JUMP
00002730: JUMPDEST
00002731: PUSH2 0x2738
00002734: PUSH2 0x27e4
00002737: JUMP
00002738: JUMPDEST
00002739: PUSH1 0x33
0000273b: DUP1
0000273c: SLOAD
0000273d: PUSH1 0xff
0000273f: NOT
00002740: AND
00002741: PUSH1 0x01
00002743: OR
00002744: SWAP1
00002745: SSTORE
00002746: PUSH32 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258
00002767: PUSH2 0x276d
0000276a: CALLER
0000276b: SWAP1
0000276c: JUMP
0000276d: JUMPDEST
0000276e: PUSH1 0x40
00002770: MLOAD
00002771: PUSH1 0x01
00002773: PUSH1 0x01
00002775: PUSH1 0xa0
00002777: SHL
00002778: SUB
00002779: SWAP1
0000277a: SWAP2
0000277b: AND
0000277c: DUP2
0000277d: MSTORE
0000277e: PUSH1 0x20
00002780: ADD
00002781: PUSH2 0x1fc7
00002784: JUMP
00002785: JUMPDEST
00002786: PUSH1 0x65
00002788: DUP1
00002789: SLOAD
0000278a: PUSH1 0x01
0000278c: PUSH1 0x01
0000278e: PUSH1 0xa0
00002790: SHL
00002791: SUB
00002792: DUP4
00002793: DUP2
00002794: AND
00002795: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000027aa: NOT
000027ab: DUP4
000027ac: AND
000027ad: DUP2
000027ae: OR
000027af: SWAP1
000027b0: SWAP4
000027b1: SSTORE
000027b2: PUSH1 0x40
000027b4: MLOAD
000027b5: SWAP2
000027b6: AND
000027b7: SWAP2
000027b8: SWAP1
000027b9: DUP3
000027ba: SWAP1
000027bb: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
000027dc: SWAP1
000027dd: PUSH1 0x00
000027df: SWAP1
000027e0: LOG3
000027e1: POP
000027e2: POP
000027e3: JUMP
000027e4: JUMPDEST
000027e5: PUSH1 0x33
000027e7: SLOAD
000027e8: PUSH1 0xff
000027ea: AND
000027eb: ISZERO
000027ec: PUSH2 0x0d61
000027ef: JUMPI
000027f0: PUSH1 0x40
000027f2: MLOAD
000027f3: PUSH3 0x461bcd
000027f7: PUSH1 0xe5
000027f9: SHL
000027fa: DUP2
000027fb: MSTORE
000027fc: PUSH1 0x20
000027fe: PUSH1 0x04
00002800: DUP3
00002801: ADD
00002802: MSTORE
00002803: PUSH1 0x10
00002805: PUSH1 0x24
00002807: DUP3
00002808: ADD
00002809: MSTORE
0000280a: PUSH32 0x5061757361626c653a2070617573656400000000000000000000000000000000
0000282b: PUSH1 0x44
0000282d: DUP3
0000282e: ADD
0000282f: MSTORE
00002830: PUSH1 0x64
00002832: ADD
00002833: PUSH2 0x09f8
00002836: JUMP
00002837: JUMPDEST
00002838: PUSH1 0x00
0000283a: DUP2
0000283b: DUP2
0000283c: MSTORE
0000283d: PUSH2 0x0133
00002840: PUSH1 0x20
00002842: MSTORE
00002843: PUSH1 0x40
00002845: SWAP1
00002846: KECCAK256
00002847: PUSH1 0x01
00002849: DUP2
0000284a: ADD
0000284b: SLOAD
0000284c: PUSH9 0x010000000000000000
00002856: SWAP1
00002857: DIV
00002858: PUSH1 0x01
0000285a: PUSH1 0x01
0000285c: PUSH1 0xa0
0000285e: SHL
0000285f: SUB
00002860: AND
00002861: CALLER
00002862: EQ
00002863: PUSH2 0x28ae
00002866: JUMPI
00002867: PUSH1 0x40
00002869: MLOAD
0000286a: PUSH3 0x461bcd
0000286e: PUSH1 0xe5
00002870: SHL
00002871: DUP2
00002872: MSTORE
00002873: PUSH1 0x20
00002875: PUSH1 0x04
00002877: DUP3
00002878: ADD
00002879: MSTORE
0000287a: PUSH1 0x0b
0000287c: PUSH1 0x24
0000287e: DUP3
0000287f: ADD
00002880: MSTORE
00002881: PUSH32 0x496e76616c696420626964000000000000000000000000000000000000000000
000028a2: PUSH1 0x44
000028a4: DUP3
000028a5: ADD
000028a6: MSTORE
000028a7: PUSH1 0x64
000028a9: ADD
000028aa: PUSH2 0x09f8
000028ad: JUMP
000028ae: JUMPDEST
000028af: PUSH1 0x01
000028b1: DUP2
000028b2: ADD
000028b3: SLOAD
000028b4: PUSH1 0x01
000028b6: PUSH1 0xe0
000028b8: SHL
000028b9: SWAP1
000028ba: DIV
000028bb: PUSH1 0xff
000028bd: AND
000028be: PUSH2 0x2909
000028c1: JUMPI
000028c2: PUSH1 0x40
000028c4: MLOAD
000028c5: PUSH3 0x461bcd
000028c9: PUSH1 0xe5
000028cb: SHL
000028cc: DUP2
000028cd: MSTORE
000028ce: PUSH1 0x20
000028d0: PUSH1 0x04
000028d2: DUP3
000028d3: ADD
000028d4: MSTORE
000028d5: PUSH1 0x15
000028d7: PUSH1 0x24
000028d9: DUP3
000028da: ADD
000028db: MSTORE
000028dc: PUSH32 0x42696420616c72656164792063616e63656c6c65640000000000000000000000
000028fd: PUSH1 0x44
000028ff: DUP3
00002900: ADD
00002901: MSTORE
00002902: PUSH1 0x64
00002904: ADD
00002905: PUSH2 0x09f8
00002908: JUMP
00002909: JUMPDEST
0000290a: PUSH1 0x01
0000290c: DUP2
0000290d: ADD
0000290e: DUP1
0000290f: SLOAD
00002910: PUSH1 0xff
00002912: PUSH1 0xe0
00002914: SHL
00002915: NOT
00002916: AND
00002917: SWAP1
00002918: SSTORE
00002919: PUSH2 0x012f
0000291c: DUP1
0000291d: SLOAD
0000291e: SWAP1
0000291f: PUSH1 0x00
00002921: PUSH2 0x2929
00002924: DUP4
00002925: PUSH2 0x34a7
00002928: JUMP
00002929: JUMPDEST
0000292a: SWAP1
0000292b: SWAP2
0000292c: SSTORE
0000292d: POP
0000292e: POP
0000292f: DUP1
00002930: SLOAD
00002931: PUSH1 0x40
00002933: MLOAD
00002934: PUSH1 0x00
00002936: SWAP2
00002937: CALLER
00002938: SWAP2
00002939: DUP4
0000293a: DUP2
0000293b: DUP2
0000293c: DUP2
0000293d: DUP6
0000293e: DUP8
0000293f: GAS
00002940: CALL
00002941: SWAP3
00002942: POP
00002943: POP
00002944: POP
00002945: RETURNDATASIZE
00002946: DUP1
00002947: PUSH1 0x00
00002949: DUP2
0000294a: EQ
0000294b: PUSH2 0x2970
0000294e: JUMPI
0000294f: PUSH1 0x40
00002951: MLOAD
00002952: SWAP2
00002953: POP
00002954: PUSH1 0x1f
00002956: NOT
00002957: PUSH1 0x3f
00002959: RETURNDATASIZE
0000295a: ADD
0000295b: AND
0000295c: DUP3
0000295d: ADD
0000295e: PUSH1 0x40
00002960: MSTORE
00002961: RETURNDATASIZE
00002962: DUP3
00002963: MSTORE
00002964: RETURNDATASIZE
00002965: PUSH1 0x00
00002967: PUSH1 0x20
00002969: DUP5
0000296a: ADD
0000296b: RETURNDATACOPY
0000296c: PUSH2 0x2975
0000296f: JUMP
00002970: JUMPDEST
00002971: PUSH1 0x60
00002973: SWAP2
00002974: POP
00002975: JUMPDEST
00002976: POP
00002977: POP
00002978: SWAP1
00002979: POP
0000297a: DUP1
0000297b: PUSH2 0x29c6
0000297e: JUMPI
0000297f: PUSH1 0x40
00002981: MLOAD
00002982: PUSH3 0x461bcd
00002986: PUSH1 0xe5
00002988: SHL
00002989: DUP2
0000298a: MSTORE
0000298b: PUSH1 0x20
0000298d: PUSH1 0x04
0000298f: DUP3
00002990: ADD
00002991: MSTORE
00002992: PUSH1 0x14
00002994: PUSH1 0x24
00002996: DUP3
00002997: ADD
00002998: MSTORE
00002999: PUSH32 0x4661696c656420746f2073656e64204574686572000000000000000000000000
000029ba: PUSH1 0x44
000029bc: DUP3
000029bd: ADD
000029be: MSTORE
000029bf: PUSH1 0x64
000029c1: ADD
000029c2: PUSH2 0x09f8
000029c5: JUMP
000029c6: JUMPDEST
000029c7: PUSH1 0x40
000029c9: MLOAD
000029ca: DUP4
000029cb: SWAP1
000029cc: PUSH32 0xc1546e394b1975212fe013e7e6995653585f44e568c407d1157483f7d4b94581
000029ed: SWAP1
000029ee: PUSH1 0x00
000029f0: SWAP1
000029f1: LOG2
000029f2: POP
000029f3: POP
000029f4: POP
000029f5: JUMP
000029f6: JUMPDEST
000029f7: PUSH1 0x02
000029f9: PUSH1 0x97
000029fb: SLOAD
000029fc: SUB
000029fd: PUSH2 0x2a48
00002a00: JUMPI
00002a01: PUSH1 0x40
00002a03: MLOAD
00002a04: PUSH3 0x461bcd
00002a08: PUSH1 0xe5
00002a0a: SHL
00002a0b: DUP2
00002a0c: MSTORE
00002a0d: PUSH1 0x20
00002a0f: PUSH1 0x04
00002a11: DUP3
00002a12: ADD
00002a13: MSTORE
00002a14: PUSH1 0x1f
00002a16: PUSH1 0x24
00002a18: DUP3
00002a19: ADD
00002a1a: MSTORE
00002a1b: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00
00002a3c: PUSH1 0x44
00002a3e: DUP3
00002a3f: ADD
00002a40: MSTORE
00002a41: PUSH1 0x64
00002a43: ADD
00002a44: PUSH2 0x09f8
00002a47: JUMP
00002a48: JUMPDEST
00002a49: PUSH1 0x02
00002a4b: PUSH1 0x97
00002a4d: SSTORE
00002a4e: JUMP
00002a4f: JUMPDEST
00002a50: PUSH1 0x01
00002a52: PUSH1 0x97
00002a54: SSTORE
00002a55: JUMP
00002a56: JUMPDEST
00002a57: PUSH2 0x2a5e
00002a5a: PUSH2 0x2d43
00002a5d: JUMP
00002a5e: JUMPDEST
00002a5f: PUSH1 0x33
00002a61: DUP1
00002a62: SLOAD
00002a63: PUSH1 0xff
00002a65: NOT
00002a66: AND
00002a67: SWAP1
00002a68: SSTORE
00002a69: PUSH32 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa
00002a8a: CALLER
00002a8b: PUSH2 0x276d
00002a8e: JUMP
00002a8f: JUMPDEST
00002a90: PUSH1 0x00
00002a92: SLOAD
00002a93: PUSH2 0x0100
00002a96: SWAP1
00002a97: DIV
00002a98: PUSH1 0xff
00002a9a: AND
00002a9b: PUSH2 0x2afa
00002a9e: JUMPI
00002a9f: PUSH1 0x40
00002aa1: MLOAD
00002aa2: PUSH3 0x461bcd
00002aa6: PUSH1 0xe5
00002aa8: SHL
00002aa9: DUP2
00002aaa: MSTORE
00002aab: PUSH1 0x20
00002aad: PUSH1 0x04
00002aaf: DUP3
00002ab0: ADD
00002ab1: MSTORE
00002ab2: PUSH1 0x2b
00002ab4: PUSH1 0x24
00002ab6: DUP3
00002ab7: ADD
00002ab8: MSTORE
00002ab9: PUSH32 0x496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069
00002ada: PUSH1 0x44
00002adc: DUP3
00002add: ADD
00002ade: MSTORE
00002adf: PUSH11 0x6e697469616c697a696e67
00002aeb: PUSH1 0xa8
00002aed: SHL
00002aee: PUSH1 0x64
00002af0: DUP3
00002af1: ADD
00002af2: MSTORE
00002af3: PUSH1 0x84
00002af5: ADD
00002af6: PUSH2 0x09f8
00002af9: JUMP
00002afa: JUMPDEST
00002afb: PUSH2 0x0d61
00002afe: PUSH2 0x2d95
00002b01: JUMP
00002b02: JUMPDEST
00002b03: PUSH1 0x00
00002b05: SLOAD
00002b06: PUSH2 0x0100
00002b09: SWAP1
00002b0a: DIV
00002b0b: PUSH1 0xff
00002b0d: AND
00002b0e: PUSH2 0x2b6d
00002b11: JUMPI
00002b12: PUSH1 0x40
00002b14: MLOAD
00002b15: PUSH3 0x461bcd
00002b19: PUSH1 0xe5
00002b1b: SHL
00002b1c: DUP2
00002b1d: MSTORE
00002b1e: PUSH1 0x20
00002b20: PUSH1 0x04
00002b22: DUP3
00002b23: ADD
00002b24: MSTORE
00002b25: PUSH1 0x2b
00002b27: PUSH1 0x24
00002b29: DUP3
00002b2a: ADD
00002b2b: MSTORE
00002b2c: PUSH32 0x496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069
00002b4d: PUSH1 0x44
00002b4f: DUP3
00002b50: ADD
00002b51: MSTORE
00002b52: PUSH11 0x6e697469616c697a696e67
00002b5e: PUSH1 0xa8
00002b60: SHL
00002b61: PUSH1 0x64
00002b63: DUP3
00002b64: ADD
00002b65: MSTORE
00002b66: PUSH1 0x84
00002b68: ADD
00002b69: PUSH2 0x09f8
00002b6c: JUMP
00002b6d: JUMPDEST
00002b6e: PUSH2 0x0d61
00002b71: PUSH2 0x2e0c
00002b74: JUMP
00002b75: JUMPDEST
00002b76: PUSH1 0x00
00002b78: SLOAD
00002b79: PUSH2 0x0100
00002b7c: SWAP1
00002b7d: DIV
00002b7e: PUSH1 0xff
00002b80: AND
00002b81: PUSH2 0x0d61
00002b84: JUMPI
00002b85: PUSH1 0x40
00002b87: MLOAD
00002b88: PUSH3 0x461bcd
00002b8c: PUSH1 0xe5
00002b8e: SHL
00002b8f: DUP2
00002b90: MSTORE
00002b91: PUSH1 0x20
00002b93: PUSH1 0x04
00002b95: DUP3
00002b96: ADD
00002b97: MSTORE
00002b98: PUSH1 0x2b
00002b9a: PUSH1 0x24
00002b9c: DUP3
00002b9d: ADD
00002b9e: MSTORE
00002b9f: PUSH32 0x496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069
00002bc0: PUSH1 0x44
00002bc2: DUP3
00002bc3: ADD
00002bc4: MSTORE
00002bc5: PUSH11 0x6e697469616c697a696e67
00002bd1: PUSH1 0xa8
00002bd3: SHL
00002bd4: PUSH1 0x64
00002bd6: DUP3
00002bd7: ADD
00002bd8: MSTORE
00002bd9: PUSH1 0x84
00002bdb: ADD
00002bdc: PUSH2 0x09f8
00002bdf: JUMP
00002be0: JUMPDEST
00002be1: PUSH1 0x00
00002be3: SLOAD
00002be4: PUSH2 0x0100
00002be7: SWAP1
00002be8: DIV
00002be9: PUSH1 0xff
00002beb: AND
00002bec: PUSH2 0x2c4b
00002bef: JUMPI
00002bf0: PUSH1 0x40
00002bf2: MLOAD
00002bf3: PUSH3 0x461bcd
00002bf7: PUSH1 0xe5
00002bf9: SHL
00002bfa: DUP2
00002bfb: MSTORE
00002bfc: PUSH1 0x20
00002bfe: PUSH1 0x04
00002c00: DUP3
00002c01: ADD
00002c02: MSTORE
00002c03: PUSH1 0x2b
00002c05: PUSH1 0x24
00002c07: DUP3
00002c08: ADD
00002c09: MSTORE
00002c0a: PUSH32 0x496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069
00002c2b: PUSH1 0x44
00002c2d: DUP3
00002c2e: ADD
00002c2f: MSTORE
00002c30: PUSH11 0x6e697469616c697a696e67
00002c3c: PUSH1 0xa8
00002c3e: SHL
00002c3f: PUSH1 0x64
00002c41: DUP3
00002c42: ADD
00002c43: MSTORE
00002c44: PUSH1 0x84
00002c46: ADD
00002c47: PUSH2 0x09f8
00002c4a: JUMP
00002c4b: JUMPDEST
00002c4c: PUSH2 0x0d61
00002c4f: PUSH2 0x2e80
00002c52: JUMP
00002c53: JUMPDEST
00002c54: PUSH1 0x01
00002c56: PUSH1 0x01
00002c58: PUSH1 0xa0
00002c5a: SHL
00002c5b: SUB
00002c5c: DUP2
00002c5d: AND
00002c5e: EXTCODESIZE
00002c5f: PUSH2 0x2cd0
00002c62: JUMPI
00002c63: PUSH1 0x40
00002c65: MLOAD
00002c66: PUSH3 0x461bcd
00002c6a: PUSH1 0xe5
00002c6c: SHL
00002c6d: DUP2
00002c6e: MSTORE
00002c6f: PUSH1 0x20
00002c71: PUSH1 0x04
00002c73: DUP3
00002c74: ADD
00002c75: MSTORE
00002c76: PUSH1 0x2d
00002c78: PUSH1 0x24
00002c7a: DUP3
00002c7b: ADD
00002c7c: MSTORE
00002c7d: PUSH32 0x455243313936373a206e657720696d706c656d656e746174696f6e206973206e
00002c9e: PUSH1 0x44
00002ca0: DUP3
00002ca1: ADD
00002ca2: MSTORE
00002ca3: PUSH32 0x6f74206120636f6e747261637400000000000000000000000000000000000000
00002cc4: PUSH1 0x64
00002cc6: DUP3
00002cc7: ADD
00002cc8: MSTORE
00002cc9: PUSH1 0x84
00002ccb: ADD
00002ccc: PUSH2 0x09f8
00002ccf: JUMP
00002cd0: JUMPDEST
00002cd1: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
00002cf2: DUP1
00002cf3: SLOAD
00002cf4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002d09: NOT
00002d0a: AND
00002d0b: PUSH1 0x01
00002d0d: PUSH1 0x01
00002d0f: PUSH1 0xa0
00002d11: SHL
00002d12: SUB
00002d13: SWAP3
00002d14: SWAP1
00002d15: SWAP3
00002d16: AND
00002d17: SWAP2
00002d18: SWAP1
00002d19: SWAP2
00002d1a: OR
00002d1b: SWAP1
00002d1c: SSTORE
00002d1d: JUMP
00002d1e: JUMPDEST
00002d1f: PUSH2 0x2d27
00002d22: DUP4
00002d23: PUSH2 0x2eeb
00002d26: JUMP
00002d27: JUMPDEST
00002d28: PUSH1 0x00
00002d2a: DUP3
00002d2b: MLOAD
00002d2c: GT
00002d2d: DUP1
00002d2e: PUSH2 0x2d34
00002d31: JUMPI
00002d32: POP
00002d33: DUP1
00002d34: JUMPDEST
00002d35: ISZERO
00002d36: PUSH2 0x142a
00002d39: JUMPI
00002d3a: PUSH2 0x2141
00002d3d: DUP4
00002d3e: DUP4
00002d3f: PUSH2 0x2f2b
00002d42: JUMP
00002d43: JUMPDEST
00002d44: PUSH1 0x33
00002d46: SLOAD
00002d47: PUSH1 0xff
00002d49: AND
00002d4a: PUSH2 0x0d61
00002d4d: JUMPI
00002d4e: PUSH1 0x40
00002d50: MLOAD
00002d51: PUSH3 0x461bcd
00002d55: PUSH1 0xe5
00002d57: SHL
00002d58: DUP2
00002d59: MSTORE
00002d5a: PUSH1 0x20
00002d5c: PUSH1 0x04
00002d5e: DUP3
00002d5f: ADD
00002d60: MSTORE
00002d61: PUSH1 0x14
00002d63: PUSH1 0x24
00002d65: DUP3
00002d66: ADD
00002d67: MSTORE
00002d68: PUSH32 0x5061757361626c653a206e6f7420706175736564000000000000000000000000
00002d89: PUSH1 0x44
00002d8b: DUP3
00002d8c: ADD
00002d8d: MSTORE
00002d8e: PUSH1 0x64
00002d90: ADD
00002d91: PUSH2 0x09f8
00002d94: JUMP
00002d95: JUMPDEST
00002d96: PUSH1 0x00
00002d98: SLOAD
00002d99: PUSH2 0x0100
00002d9c: SWAP1
00002d9d: DIV
00002d9e: PUSH1 0xff
00002da0: AND
00002da1: PUSH2 0x2e00
00002da4: JUMPI
00002da5: PUSH1 0x40
00002da7: MLOAD
00002da8: PUSH3 0x461bcd
00002dac: PUSH1 0xe5
00002dae: SHL
00002daf: DUP2
00002db0: MSTORE
00002db1: PUSH1 0x20
00002db3: PUSH1 0x04
00002db5: DUP3
00002db6: ADD
00002db7: MSTORE
00002db8: PUSH1 0x2b
00002dba: PUSH1 0x24
00002dbc: DUP3
00002dbd: ADD
00002dbe: MSTORE
00002dbf: PUSH32 0x496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069
00002de0: PUSH1 0x44
00002de2: DUP3
00002de3: ADD
00002de4: MSTORE
00002de5: PUSH11 0x6e697469616c697a696e67
00002df1: PUSH1 0xa8
00002df3: SHL
00002df4: PUSH1 0x64
00002df6: DUP3
00002df7: ADD
00002df8: MSTORE
00002df9: PUSH1 0x84
00002dfb: ADD
00002dfc: PUSH2 0x09f8
00002dff: JUMP
00002e00: JUMPDEST
00002e01: PUSH1 0x33
00002e03: DUP1
00002e04: SLOAD
00002e05: PUSH1 0xff
00002e07: NOT
00002e08: AND
00002e09: SWAP1
00002e0a: SSTORE
00002e0b: JUMP
00002e0c: JUMPDEST
00002e0d: PUSH1 0x00
00002e0f: SLOAD
00002e10: PUSH2 0x0100
00002e13: SWAP1
00002e14: DIV
00002e15: PUSH1 0xff
00002e17: AND
00002e18: PUSH2 0x2e77
00002e1b: JUMPI
00002e1c: PUSH1 0x40
00002e1e: MLOAD
00002e1f: PUSH3 0x461bcd
00002e23: PUSH1 0xe5
00002e25: SHL
00002e26: DUP2
00002e27: MSTORE
00002e28: PUSH1 0x20
00002e2a: PUSH1 0x04
00002e2c: DUP3
00002e2d: ADD
00002e2e: MSTORE
00002e2f: PUSH1 0x2b
00002e31: PUSH1 0x24
00002e33: DUP3
00002e34: ADD
00002e35: MSTORE
00002e36: PUSH32 0x496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069
00002e57: PUSH1 0x44
00002e59: DUP3
00002e5a: ADD
00002e5b: MSTORE
00002e5c: PUSH11 0x6e697469616c697a696e67
00002e68: PUSH1 0xa8
00002e6a: SHL
00002e6b: PUSH1 0x64
00002e6d: DUP3
00002e6e: ADD
00002e6f: MSTORE
00002e70: PUSH1 0x84
00002e72: ADD
00002e73: PUSH2 0x09f8
00002e76: JUMP
00002e77: JUMPDEST
00002e78: PUSH2 0x0d61
00002e7b: CALLER
00002e7c: PUSH2 0x2785
00002e7f: JUMP
00002e80: JUMPDEST
00002e81: PUSH1 0x00
00002e83: SLOAD
00002e84: PUSH2 0x0100
00002e87: SWAP1
00002e88: DIV
00002e89: PUSH1 0xff
00002e8b: AND
00002e8c: PUSH2 0x2a4f
00002e8f: JUMPI
00002e90: PUSH1 0x40
00002e92: MLOAD
00002e93: PUSH3 0x461bcd
00002e97: PUSH1 0xe5
00002e99: SHL
00002e9a: DUP2
00002e9b: MSTORE
00002e9c: PUSH1 0x20
00002e9e: PUSH1 0x04
00002ea0: DUP3
00002ea1: ADD
00002ea2: MSTORE
00002ea3: PUSH1 0x2b
00002ea5: PUSH1 0x24
00002ea7: DUP3
00002ea8: ADD
00002ea9: MSTORE
00002eaa: PUSH32 0x496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069
00002ecb: PUSH1 0x44
00002ecd: DUP3
00002ece: ADD
00002ecf: MSTORE
00002ed0: PUSH11 0x6e697469616c697a696e67
00002edc: PUSH1 0xa8
00002ede: SHL
00002edf: PUSH1 0x64
00002ee1: DUP3
00002ee2: ADD
00002ee3: MSTORE
00002ee4: PUSH1 0x84
00002ee6: ADD
00002ee7: PUSH2 0x09f8
00002eea: JUMP
00002eeb: JUMPDEST
00002eec: PUSH2 0x2ef4
00002eef: DUP2
00002ef0: PUSH2 0x2c53
00002ef3: JUMP
00002ef4: JUMPDEST
00002ef5: PUSH1 0x40
00002ef7: MLOAD
00002ef8: PUSH1 0x01
00002efa: PUSH1 0x01
00002efc: PUSH1 0xa0
00002efe: SHL
00002eff: SUB
00002f00: DUP3
00002f01: AND
00002f02: SWAP1
00002f03: PUSH32 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b
00002f24: SWAP1
00002f25: PUSH1 0x00
00002f27: SWAP1
00002f28: LOG2
00002f29: POP
00002f2a: JUMP
00002f2b: JUMPDEST
00002f2c: PUSH1 0x60
00002f2e: PUSH1 0x01
00002f30: PUSH1 0x01
00002f32: PUSH1 0xa0
00002f34: SHL
00002f35: SUB
00002f36: DUP4
00002f37: AND
00002f38: EXTCODESIZE
00002f39: PUSH2 0x2faa
00002f3c: JUMPI
00002f3d: PUSH1 0x40
00002f3f: MLOAD
00002f40: PUSH3 0x461bcd
00002f44: PUSH1 0xe5
00002f46: SHL
00002f47: DUP2
00002f48: MSTORE
00002f49: PUSH1 0x20
00002f4b: PUSH1 0x04
00002f4d: DUP3
00002f4e: ADD
00002f4f: MSTORE
00002f50: PUSH1 0x26
00002f52: PUSH1 0x24
00002f54: DUP3
00002f55: ADD
00002f56: MSTORE
00002f57: PUSH32 0x416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f
00002f78: PUSH1 0x44
00002f7a: DUP3
00002f7b: ADD
00002f7c: MSTORE
00002f7d: PUSH32 0x6e74726163740000000000000000000000000000000000000000000000000000
00002f9e: PUSH1 0x64
00002fa0: DUP3
00002fa1: ADD
00002fa2: MSTORE
00002fa3: PUSH1 0x84
00002fa5: ADD
00002fa6: PUSH2 0x09f8
00002fa9: JUMP
00002faa: JUMPDEST
00002fab: PUSH1 0x00
00002fad: DUP1
00002fae: DUP5
00002faf: PUSH1 0x01
00002fb1: PUSH1 0x01
00002fb3: PUSH1 0xa0
00002fb5: SHL
00002fb6: SUB
00002fb7: AND
00002fb8: DUP5
00002fb9: PUSH1 0x40
00002fbb: MLOAD
00002fbc: PUSH2 0x2fc5
00002fbf: SWAP2
00002fc0: SWAP1
00002fc1: PUSH2 0x3503
00002fc4: JUMP
00002fc5: JUMPDEST
00002fc6: PUSH1 0x00
00002fc8: PUSH1 0x40
00002fca: MLOAD
00002fcb: DUP1
00002fcc: DUP4
00002fcd: SUB
00002fce: DUP2
00002fcf: DUP6
00002fd0: GAS
00002fd1: DELEGATECALL
00002fd2: SWAP2
00002fd3: POP
00002fd4: POP
00002fd5: RETURNDATASIZE
00002fd6: DUP1
00002fd7: PUSH1 0x00
00002fd9: DUP2
00002fda: EQ
00002fdb: PUSH2 0x3000
00002fde: JUMPI
00002fdf: PUSH1 0x40
00002fe1: MLOAD
00002fe2: SWAP2
00002fe3: POP
00002fe4: PUSH1 0x1f
00002fe6: NOT
00002fe7: PUSH1 0x3f
00002fe9: RETURNDATASIZE
00002fea: ADD
00002feb: AND
00002fec: DUP3
00002fed: ADD
00002fee: PUSH1 0x40
00002ff0: MSTORE
00002ff1: RETURNDATASIZE
00002ff2: DUP3
00002ff3: MSTORE
00002ff4: RETURNDATASIZE
00002ff5: PUSH1 0x00
00002ff7: PUSH1 0x20
00002ff9: DUP5
00002ffa: ADD
00002ffb: RETURNDATACOPY
00002ffc: PUSH2 0x3005
00002fff: JUMP
00003000: JUMPDEST
00003001: PUSH1 0x60
00003003: SWAP2
00003004: POP
00003005: JUMPDEST
00003006: POP
00003007: SWAP2
00003008: POP
00003009: SWAP2
0000300a: POP
0000300b: PUSH2 0x302d
0000300e: DUP3
0000300f: DUP3
00003010: PUSH1 0x40
00003012: MLOAD
00003013: DUP1
00003014: PUSH1 0x60
00003016: ADD
00003017: PUSH1 0x40
00003019: MSTORE
0000301a: DUP1
0000301b: PUSH1 0x27
0000301d: DUP2
0000301e: MSTORE
0000301f: PUSH1 0x20
00003021: ADD
00003022: PUSH2 0x3553
00003025: PUSH1 0x27
00003027: SWAP2
00003028: CODECOPY
00003029: PUSH2 0x3036
0000302c: JUMP
0000302d: JUMPDEST
0000302e: SWAP6
0000302f: SWAP5
00003030: POP
00003031: POP
00003032: POP
00003033: POP
00003034: POP
00003035: JUMP
00003036: JUMPDEST
00003037: PUSH1 0x60
00003039: DUP4
0000303a: ISZERO
0000303b: PUSH2 0x3045
0000303e: JUMPI
0000303f: POP
00003040: DUP2
00003041: PUSH2 0x304f
00003044: JUMP
00003045: JUMPDEST
00003046: PUSH2 0x304f
00003049: DUP4
0000304a: DUP4
0000304b: PUSH2 0x3056
0000304e: JUMP
0000304f: JUMPDEST
00003050: SWAP4
00003051: SWAP3
00003052: POP
00003053: POP
00003054: POP
00003055: JUMP
00003056: JUMPDEST
00003057: DUP2
00003058: MLOAD
00003059: ISZERO
0000305a: PUSH2 0x3066
0000305d: JUMPI
0000305e: DUP2
0000305f: MLOAD
00003060: DUP1
00003061: DUP4
00003062: PUSH1 0x20
00003064: ADD
00003065: REVERT
00003066: JUMPDEST
00003067: DUP1
00003068: PUSH1 0x40
0000306a: MLOAD
0000306b: PUSH3 0x461bcd
0000306f: PUSH1 0xe5
00003071: SHL
00003072: DUP2
00003073: MSTORE
00003074: PUSH1 0x04
00003076: ADD
00003077: PUSH2 0x09f8
0000307a: SWAP2
0000307b: SWAP1
0000307c: PUSH2 0x351f
0000307f: JUMP
00003080: JUMPDEST
00003081: DUP1
00003082: CALLDATALOAD
00003083: PUSH1 0x01
00003085: PUSH1 0x01
00003087: PUSH1 0x80
00003089: SHL
0000308a: SUB
0000308b: DUP2
0000308c: AND
0000308d: DUP2
0000308e: EQ
0000308f: PUSH2 0x3097
00003092: JUMPI
00003093: PUSH1 0x00
00003095: DUP1
00003096: REVERT
00003097: JUMPDEST
00003098: SWAP2
00003099: SWAP1
0000309a: POP
0000309b: JUMP
0000309c: JUMPDEST
0000309d: PUSH1 0x00
0000309f: PUSH1 0x20
000030a1: DUP3
000030a2: DUP5
000030a3: SUB
000030a4: SLT
000030a5: ISZERO
000030a6: PUSH2 0x30ae
000030a9: JUMPI
000030aa: PUSH1 0x00
000030ac: DUP1
000030ad: REVERT
000030ae: JUMPDEST
000030af: PUSH2 0x304f
000030b2: DUP3
000030b3: PUSH2 0x3080
000030b6: JUMP
000030b7: JUMPDEST
000030b8: DUP1
000030b9: CALLDATALOAD
000030ba: PUSH1 0x01
000030bc: PUSH1 0x01
000030be: PUSH1 0xa0
000030c0: SHL
000030c1: SUB
000030c2: DUP2
000030c3: AND
000030c4: DUP2
000030c5: EQ
000030c6: PUSH2 0x3097
000030c9: JUMPI
000030ca: PUSH1 0x00
000030cc: DUP1
000030cd: REVERT
000030ce: JUMPDEST
000030cf: PUSH1 0x00
000030d1: PUSH1 0x20
000030d3: DUP3
000030d4: DUP5
000030d5: SUB
000030d6: SLT
000030d7: ISZERO
000030d8: PUSH2 0x30e0
000030db: JUMPI
000030dc: PUSH1 0x00
000030de: DUP1
000030df: REVERT
000030e0: JUMPDEST
000030e1: PUSH2 0x304f
000030e4: DUP3
000030e5: PUSH2 0x30b7
000030e8: JUMP
000030e9: JUMPDEST
000030ea: PUSH1 0x00
000030ec: PUSH1 0x20
000030ee: DUP3
000030ef: DUP5
000030f0: SUB
000030f1: SLT
000030f2: ISZERO
000030f3: PUSH2 0x30fb
000030f6: JUMPI
000030f7: PUSH1 0x00
000030f9: DUP1
000030fa: REVERT
000030fb: JUMPDEST
000030fc: POP
000030fd: CALLDATALOAD
000030fe: SWAP2
000030ff: SWAP1
00003100: POP
00003101: JUMP
00003102: JUMPDEST
00003103: PUSH4 0x4e487b71
00003108: PUSH1 0xe0
0000310a: SHL
0000310b: PUSH1 0x00
0000310d: MSTORE
0000310e: PUSH1 0x41
00003110: PUSH1 0x04
00003112: MSTORE
00003113: PUSH1 0x24
00003115: PUSH1 0x00
00003117: REVERT
00003118: JUMPDEST
00003119: PUSH1 0x00
0000311b: DUP1
0000311c: PUSH1 0x40
0000311e: DUP4
0000311f: DUP6
00003120: SUB
00003121: SLT
00003122: ISZERO
00003123: PUSH2 0x312b
00003126: JUMPI
00003127: PUSH1 0x00
00003129: DUP1
0000312a: REVERT
0000312b: JUMPDEST
0000312c: PUSH2 0x3134
0000312f: DUP4
00003130: PUSH2 0x30b7
00003133: JUMP
00003134: JUMPDEST
00003135: SWAP2
00003136: POP
00003137: PUSH1 0x20
00003139: DUP4
0000313a: ADD
0000313b: CALLDATALOAD
0000313c: PUSH8 0xffffffffffffffff
00003145: DUP1
00003146: DUP3
00003147: GT
00003148: ISZERO
00003149: PUSH2 0x3151
0000314c: JUMPI
0000314d: PUSH1 0x00
0000314f: DUP1
00003150: REVERT
00003151: JUMPDEST
00003152: DUP2
00003153: DUP6
00003154: ADD
00003155: SWAP2
00003156: POP
00003157: DUP6
00003158: PUSH1 0x1f
0000315a: DUP4
0000315b: ADD
0000315c: SLT
0000315d: PUSH2 0x3165
00003160: JUMPI
00003161: PUSH1 0x00
00003163: DUP1
00003164: REVERT
00003165: JUMPDEST
00003166: DUP2
00003167: CALLDATALOAD
00003168: DUP2
00003169: DUP2
0000316a: GT
0000316b: ISZERO
0000316c: PUSH2 0x3177
0000316f: JUMPI
00003170: PUSH2 0x3177
00003173: PUSH2 0x3102
00003176: JUMP
00003177: JUMPDEST
00003178: PUSH1 0x40
0000317a: MLOAD
0000317b: PUSH1 0x1f
0000317d: DUP3
0000317e: ADD
0000317f: PUSH1 0x1f
00003181: NOT
00003182: SWAP1
00003183: DUP2
00003184: AND
00003185: PUSH1 0x3f
00003187: ADD
00003188: AND
00003189: DUP2
0000318a: ADD
0000318b: SWAP1
0000318c: DUP4
0000318d: DUP3
0000318e: GT
0000318f: DUP2
00003190: DUP4
00003191: LT
00003192: OR
00003193: ISZERO
00003194: PUSH2 0x319f
00003197: JUMPI
00003198: PUSH2 0x319f
0000319b: PUSH2 0x3102
0000319e: JUMP
0000319f: JUMPDEST
000031a0: DUP2
000031a1: PUSH1 0x40
000031a3: MSTORE
000031a4: DUP3
000031a5: DUP2
000031a6: MSTORE
000031a7: DUP9
000031a8: PUSH1 0x20
000031aa: DUP5
000031ab: DUP8
000031ac: ADD
000031ad: ADD
000031ae: GT
000031af: ISZERO
000031b0: PUSH2 0x31b8
000031b3: JUMPI
000031b4: PUSH1 0x00
000031b6: DUP1
000031b7: REVERT
000031b8: JUMPDEST
000031b9: DUP3
000031ba: PUSH1 0x20
000031bc: DUP7
000031bd: ADD
000031be: PUSH1 0x20
000031c0: DUP4
000031c1: ADD
000031c2: CALLDATACOPY
000031c3: PUSH1 0x00
000031c5: PUSH1 0x20
000031c7: DUP5
000031c8: DUP4
000031c9: ADD
000031ca: ADD
000031cb: MSTORE
000031cc: DUP1
000031cd: SWAP6
000031ce: POP
000031cf: POP
000031d0: POP
000031d1: POP
000031d2: POP
000031d3: POP
000031d4: SWAP3
000031d5: POP
000031d6: SWAP3
000031d7: SWAP1
000031d8: POP
000031d9: JUMP
000031da: JUMPDEST
000031db: DUP1
000031dc: ISZERO
000031dd: ISZERO
000031de: DUP2
000031df: EQ
000031e0: PUSH2 0x0bc7
000031e3: JUMPI
000031e4: PUSH1 0x00
000031e6: DUP1
000031e7: REVERT
000031e8: JUMPDEST
000031e9: PUSH1 0x00
000031eb: DUP1
000031ec: PUSH1 0x40
000031ee: DUP4
000031ef: DUP6
000031f0: SUB
000031f1: SLT
000031f2: ISZERO
000031f3: PUSH2 0x31fb
000031f6: JUMPI
000031f7: PUSH1 0x00
000031f9: DUP1
000031fa: REVERT
000031fb: JUMPDEST
000031fc: PUSH2 0x3204
000031ff: DUP4
00003200: PUSH2 0x30b7
00003203: JUMP
00003204: JUMPDEST
00003205: SWAP2
00003206: POP
00003207: PUSH1 0x20
00003209: DUP4
0000320a: ADD
0000320b: CALLDATALOAD
0000320c: PUSH2 0x3214
0000320f: DUP2
00003210: PUSH2 0x31da
00003213: JUMP
00003214: JUMPDEST
00003215: DUP1
00003216: SWAP2
00003217: POP
00003218: POP
00003219: SWAP3
0000321a: POP
0000321b: SWAP3
0000321c: SWAP1
0000321d: POP
0000321e: JUMP
0000321f: JUMPDEST
00003220: PUSH8 0xffffffffffffffff
00003229: DUP2
0000322a: AND
0000322b: DUP2
0000322c: EQ
0000322d: PUSH2 0x0bc7
00003230: JUMPI
00003231: PUSH1 0x00
00003233: DUP1
00003234: REVERT
00003235: JUMPDEST
00003236: PUSH1 0x00
00003238: PUSH1 0x20
0000323a: DUP3
0000323b: DUP5
0000323c: SUB
0000323d: SLT
0000323e: ISZERO
0000323f: PUSH2 0x3247
00003242: JUMPI
00003243: PUSH1 0x00
00003245: DUP1
00003246: REVERT
00003247: JUMPDEST
00003248: DUP2
00003249: CALLDATALOAD
0000324a: PUSH2 0x304f
0000324d: DUP2
0000324e: PUSH2 0x321f
00003251: JUMP
00003252: JUMPDEST
00003253: PUSH1 0x00
00003255: DUP1
00003256: PUSH1 0x00
00003258: DUP1
00003259: PUSH1 0x80
0000325b: DUP6
0000325c: DUP8
0000325d: SUB
0000325e: SLT
0000325f: ISZERO
00003260: PUSH2 0x3268
00003263: JUMPI
00003264: PUSH1 0x00
00003266: DUP1
00003267: REVERT
00003268: JUMPDEST
00003269: PUSH2 0x3271
0000326c: DUP6
0000326d: PUSH2 0x30b7
00003270: JUMP
00003271: JUMPDEST
00003272: SWAP4
00003273: POP
00003274: PUSH2 0x327f
00003277: PUSH1 0x20
00003279: DUP7
0000327a: ADD
0000327b: PUSH2 0x3080
0000327e: JUMP
0000327f: JUMPDEST
00003280: SWAP3
00003281: POP
00003282: PUSH2 0x328d
00003285: PUSH1 0x40
00003287: DUP7
00003288: ADD
00003289: PUSH2 0x30b7
0000328c: JUMP
0000328d: JUMPDEST
0000328e: SWAP2
0000328f: POP
00003290: PUSH2 0x329b
00003293: PUSH1 0x60
00003295: DUP7
00003296: ADD
00003297: PUSH2 0x30b7
0000329a: JUMP
0000329b: JUMPDEST
0000329c: SWAP1
0000329d: POP
0000329e: SWAP3
0000329f: SWAP6
000032a0: SWAP2
000032a1: SWAP5
000032a2: POP
000032a3: SWAP3
000032a4: POP
000032a5: JUMP
000032a6: JUMPDEST
000032a7: PUSH1 0x00
000032a9: DUP1
000032aa: PUSH1 0x20
000032ac: DUP4
000032ad: DUP6
000032ae: SUB
000032af: SLT
000032b0: ISZERO
000032b1: PUSH2 0x32b9
000032b4: JUMPI
000032b5: PUSH1 0x00
000032b7: DUP1
000032b8: REVERT
000032b9: JUMPDEST
000032ba: DUP3
000032bb: CALLDATALOAD
000032bc: PUSH8 0xffffffffffffffff
000032c5: DUP1
000032c6: DUP3
000032c7: GT
000032c8: ISZERO
000032c9: PUSH2 0x32d1
000032cc: JUMPI
000032cd: PUSH1 0x00
000032cf: DUP1
000032d0: REVERT
000032d1: JUMPDEST
000032d2: DUP2
000032d3: DUP6
000032d4: ADD
000032d5: SWAP2
000032d6: POP
000032d7: DUP6
000032d8: PUSH1 0x1f
000032da: DUP4
000032db: ADD
000032dc: SLT
000032dd: PUSH2 0x32e5
000032e0: JUMPI
000032e1: PUSH1 0x00
000032e3: DUP1
000032e4: REVERT
000032e5: JUMPDEST
000032e6: DUP2
000032e7: CALLDATALOAD
000032e8: DUP2
000032e9: DUP2
000032ea: GT
000032eb: ISZERO
000032ec: PUSH2 0x32f4
000032ef: JUMPI
000032f0: PUSH1 0x00
000032f2: DUP1
000032f3: REVERT
000032f4: JUMPDEST
000032f5: DUP7
000032f6: PUSH1 0x20
000032f8: DUP3
000032f9: PUSH1 0x05
000032fb: SHL
000032fc: DUP6
000032fd: ADD
000032fe: ADD
000032ff: GT
00003300: ISZERO
00003301: PUSH2 0x3309
00003304: JUMPI
00003305: PUSH1 0x00
00003307: DUP1
00003308: REVERT
00003309: JUMPDEST
0000330a: PUSH1 0x20
0000330c: SWAP3
0000330d: SWAP1
0000330e: SWAP3
0000330f: ADD
00003310: SWAP7
00003311: SWAP2
00003312: SWAP6
00003313: POP
00003314: SWAP1
00003315: SWAP4
00003316: POP
00003317: POP
00003318: POP
00003319: POP
0000331a: JUMP
0000331b: JUMPDEST
0000331c: PUSH1 0x00
0000331e: DUP1
0000331f: PUSH1 0x40
00003321: DUP4
00003322: DUP6
00003323: SUB
00003324: SLT
00003325: ISZERO
00003326: PUSH2 0x332e
00003329: JUMPI
0000332a: PUSH1 0x00
0000332c: DUP1
0000332d: REVERT
0000332e: JUMPDEST
0000332f: POP
00003330: POP
00003331: DUP1
00003332: CALLDATALOAD
00003333: SWAP3
00003334: PUSH1 0x20
00003336: SWAP1
00003337: SWAP2
00003338: ADD
00003339: CALLDATALOAD
0000333a: SWAP2
0000333b: POP
0000333c: JUMP
0000333d: JUMPDEST
0000333e: PUSH1 0x00
00003340: DUP2
00003341: MLOAD
00003342: DUP1
00003343: DUP5
00003344: MSTORE
00003345: PUSH1 0x20
00003347: DUP1
00003348: DUP6
00003349: ADD
0000334a: SWAP5
0000334b: POP
0000334c: DUP1
0000334d: DUP5
0000334e: ADD
0000334f: PUSH1 0x00
00003351: JUMPDEST
00003352: DUP4
00003353: DUP2
00003354: LT
00003355: ISZERO
00003356: PUSH2 0x336d
00003359: JUMPI
0000335a: DUP2
0000335b: MLOAD
0000335c: DUP8
0000335d: MSTORE
0000335e: SWAP6
0000335f: DUP3
00003360: ADD
00003361: SWAP6
00003362: SWAP1
00003363: DUP3
00003364: ADD
00003365: SWAP1
00003366: PUSH1 0x01
00003368: ADD
00003369: PUSH2 0x3351
0000336c: JUMP
0000336d: JUMPDEST
0000336e: POP
0000336f: SWAP5
00003370: SWAP6
00003371: SWAP5
00003372: POP
00003373: POP
00003374: POP
00003375: POP
00003376: POP
00003377: JUMP
00003378: JUMPDEST
00003379: PUSH1 0x20
0000337b: DUP2
0000337c: MSTORE
0000337d: PUSH1 0x00
0000337f: PUSH2 0x304f
00003382: PUSH1 0x20
00003384: DUP4
00003385: ADD
00003386: DUP5
00003387: PUSH2 0x333d
0000338a: JUMP
0000338b: JUMPDEST
0000338c: PUSH4 0x4e487b71
00003391: PUSH1 0xe0
00003393: SHL
00003394: PUSH1 0x00
00003396: MSTORE
00003397: PUSH1 0x11
00003399: PUSH1 0x04
0000339b: MSTORE
0000339c: PUSH1 0x24
0000339e: PUSH1 0x00
000033a0: REVERT
000033a1: JUMPDEST
000033a2: PUSH1 0x00
000033a4: PUSH1 0x00
000033a6: NOT
000033a7: DUP3
000033a8: SUB
000033a9: PUSH2 0x33b4
000033ac: JUMPI
000033ad: PUSH2 0x33b4
000033b0: PUSH2 0x338b
000033b3: JUMP
000033b4: JUMPDEST
000033b5: POP
000033b6: PUSH1 0x01
000033b8: ADD
000033b9: SWAP1
000033ba: JUMP
000033bb: JUMPDEST
000033bc: PUSH4 0x4e487b71
000033c1: PUSH1 0xe0
000033c3: SHL
000033c4: PUSH1 0x00
000033c6: MSTORE
000033c7: PUSH1 0x32
000033c9: PUSH1 0x04
000033cb: MSTORE
000033cc: PUSH1 0x24
000033ce: PUSH1 0x00
000033d0: REVERT
000033d1: JUMPDEST
000033d2: PUSH1 0x00
000033d4: PUSH1 0x20
000033d6: DUP3
000033d7: DUP5
000033d8: SUB
000033d9: SLT
000033da: ISZERO
000033db: PUSH2 0x33e3
000033de: JUMPI
000033df: PUSH1 0x00
000033e1: DUP1
000033e2: REVERT
000033e3: JUMPDEST
000033e4: DUP2
000033e5: MLOAD
000033e6: PUSH2 0x304f
000033e9: DUP2
000033ea: PUSH2 0x31da
000033ed: JUMP
000033ee: JUMPDEST
000033ef: PUSH1 0x00
000033f1: DUP2
000033f2: PUSH1 0x00
000033f4: NOT
000033f5: DIV
000033f6: DUP4
000033f7: GT
000033f8: DUP3
000033f9: ISZERO
000033fa: ISZERO
000033fb: AND
000033fc: ISZERO
000033fd: PUSH2 0x3408
00003400: JUMPI
00003401: PUSH2 0x3408
00003404: PUSH2 0x338b
00003407: JUMP
00003408: JUMPDEST
00003409: POP
0000340a: MUL
0000340b: SWAP1
0000340c: JUMP
0000340d: JUMPDEST
0000340e: PUSH1 0x00
00003410: PUSH1 0x20
00003412: DUP3
00003413: DUP5
00003414: SUB
00003415: SLT
00003416: ISZERO
00003417: PUSH2 0x341f
0000341a: JUMPI
0000341b: PUSH1 0x00
0000341d: DUP1
0000341e: REVERT
0000341f: JUMPDEST
00003420: DUP2
00003421: MLOAD
00003422: PUSH2 0x304f
00003425: DUP2
00003426: PUSH2 0x321f
00003429: JUMP
0000342a: JUMPDEST
0000342b: PUSH1 0x00
0000342d: DUP3
0000342e: NOT
0000342f: DUP3
00003430: GT
00003431: ISZERO
00003432: PUSH2 0x343d
00003435: JUMPI
00003436: PUSH2 0x343d
00003439: PUSH2 0x338b
0000343c: JUMP
0000343d: JUMPDEST
0000343e: POP
0000343f: ADD
00003440: SWAP1
00003441: JUMP
00003442: JUMPDEST
00003443: DUP4
00003444: DUP2
00003445: MSTORE
00003446: PUSH1 0x00
00003448: PUSH1 0x20
0000344a: PUSH1 0x60
0000344c: DUP2
0000344d: DUP5
0000344e: ADD
0000344f: MSTORE
00003450: PUSH2 0x345c
00003453: PUSH1 0x60
00003455: DUP5
00003456: ADD
00003457: DUP7
00003458: PUSH2 0x333d
0000345b: JUMP
0000345c: JUMPDEST
0000345d: DUP4
0000345e: DUP2
0000345f: SUB
00003460: PUSH1 0x40
00003462: DUP6
00003463: ADD
00003464: MSTORE
00003465: DUP5
00003466: MLOAD
00003467: DUP1
00003468: DUP3
00003469: MSTORE
0000346a: DUP3
0000346b: DUP7
0000346c: ADD
0000346d: SWAP2
0000346e: DUP4
0000346f: ADD
00003470: SWAP1
00003471: PUSH1 0x00
00003473: JUMPDEST
00003474: DUP2
00003475: DUP2
00003476: LT
00003477: ISZERO
00003478: PUSH2 0x3499
0000347b: JUMPI
0000347c: DUP4
0000347d: MLOAD
0000347e: PUSH8 0xffffffffffffffff
00003487: AND
00003488: DUP4
00003489: MSTORE
0000348a: SWAP3
0000348b: DUP5
0000348c: ADD
0000348d: SWAP3
0000348e: SWAP2
0000348f: DUP5
00003490: ADD
00003491: SWAP2
00003492: PUSH1 0x01
00003494: ADD
00003495: PUSH2 0x3473
00003498: JUMP
00003499: JUMPDEST
0000349a: POP
0000349b: SWAP1
0000349c: SWAP9
0000349d: SWAP8
0000349e: POP
0000349f: POP
000034a0: POP
000034a1: POP
000034a2: POP
000034a3: POP
000034a4: POP
000034a5: POP
000034a6: JUMP
000034a7: JUMPDEST
000034a8: PUSH1 0x00
000034aa: DUP2
000034ab: PUSH2 0x34b6
000034ae: JUMPI
000034af: PUSH2 0x34b6
000034b2: PUSH2 0x338b
000034b5: JUMP
000034b6: JUMPDEST
000034b7: POP
000034b8: PUSH1 0x00
000034ba: NOT
000034bb: ADD
000034bc: SWAP1
000034bd: JUMP
000034be: JUMPDEST
000034bf: PUSH1 0x00
000034c1: PUSH1 0x20
000034c3: DUP3
000034c4: DUP5
000034c5: SUB
000034c6: SLT
000034c7: ISZERO
000034c8: PUSH2 0x34d0
000034cb: JUMPI
000034cc: PUSH1 0x00
000034ce: DUP1
000034cf: REVERT
000034d0: JUMPDEST
000034d1: POP
000034d2: MLOAD
000034d3: SWAP2
000034d4: SWAP1
000034d5: POP
000034d6: JUMP
000034d7: JUMPDEST
000034d8: PUSH1 0x00
000034da: JUMPDEST
000034db: DUP4
000034dc: DUP2
000034dd: LT
000034de: ISZERO
000034df: PUSH2 0x34f2
000034e2: JUMPI
000034e3: DUP2
000034e4: DUP2
000034e5: ADD
000034e6: MLOAD
000034e7: DUP4
000034e8: DUP3
000034e9: ADD
000034ea: MSTORE
000034eb: PUSH1 0x20
000034ed: ADD
000034ee: PUSH2 0x34da
000034f1: JUMP
000034f2: JUMPDEST
000034f3: DUP4
000034f4: DUP2
000034f5: GT
000034f6: ISZERO
000034f7: PUSH2 0x2141
000034fa: JUMPI
000034fb: POP
000034fc: POP
000034fd: PUSH1 0x00
000034ff: SWAP2
00003500: ADD
00003501: MSTORE
00003502: JUMP
00003503: JUMPDEST
00003504: PUSH1 0x00
00003506: DUP3
00003507: MLOAD
00003508: PUSH2 0x3515
0000350b: DUP2
0000350c: DUP5
0000350d: PUSH1 0x20
0000350f: DUP8
00003510: ADD
00003511: PUSH2 0x34d7
00003514: JUMP
00003515: JUMPDEST
00003516: SWAP2
00003517: SWAP1
00003518: SWAP2
00003519: ADD
0000351a: SWAP3
0000351b: SWAP2
0000351c: POP
0000351d: POP
0000351e: JUMP
0000351f: JUMPDEST
00003520: PUSH1 0x20
00003522: DUP2
00003523: MSTORE
00003524: PUSH1 0x00
00003526: DUP3
00003527: MLOAD
00003528: DUP1
00003529: PUSH1 0x20
0000352b: DUP5
0000352c: ADD
0000352d: MSTORE
0000352e: PUSH2 0x353e
00003531: DUP2
00003532: PUSH1 0x40
00003534: DUP6
00003535: ADD
00003536: PUSH1 0x20
00003538: DUP8
00003539: ADD
0000353a: PUSH2 0x34d7
0000353d: JUMP
0000353e: JUMPDEST
0000353f: PUSH1 0x1f
00003541: ADD
00003542: PUSH1 0x1f
00003544: NOT
00003545: AND
00003546: SWAP2
00003547: SWAP1
00003548: SWAP2
00003549: ADD
0000354a: PUSH1 0x40
0000354c: ADD
0000354d: SWAP3
0000354e: SWAP2
0000354f: POP
00003550: POP
00003551: JUMP
00003552: INVALID
00003553: COINBASE
00003554: PUSH5 0x6472657373
0000355a: GASPRICE
0000355b: KECCAK256
0000355c: PUSH13 0x6f772d6c6576656c2064656c65
0000356a: PUSH8 0x6174652063616c6c
00003573: KECCAK256
00003574: PUSH7 0x61696c6564a264
0000357c: PUSH10 0x70667358221220a222f6
00003587: UNKNOWN(0x4D)
00003588: SWAP4
00003589: MSTORE
0000358a: UNKNOWN(0xB9)
0000358b: UNKNOWN(0x4E)
0000358c: UNKNOWN(0xD8)
0000358d: EXP
0000358e: DUP12
0000358f: DUP5
00003590: UNKNOWN(0xCD)
00003591: MULMOD
00003592: LOG2
00003593: UNKNOWN(0xCA)
00003594: UNKNOWN(0xC4)
00003595: SWAP12
00003596: SWAP14
00003597: UNKNOWN(0x2A)
00003598: PUSH31

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
critical upgradeability detector Untrusted DELEGATECALL target reachable 70 no no
view
trace_id: 0x7f4211765336938bb3d633f6358cc38b4ee618a277c73c332d7c8564274eea98
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "unknown",
    "attempts": 192,
    "trace_id": "0x7f4211765336938bb3d633f6358cc38b4ee618a277c73c332d7c8564274eea98",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xe30f7c4f",
            "selector": "0xe30f7c4f",
            "calldata_variants": [
                "0xe30f7c4f",
                "0xe30f7c4f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xffacef08",
            "selector": "0xffacef08",
            "calldata_variants": [
                "0xffacef08",
                "0xffacef080000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdbdcedd2",
            "selector": "0xdbdcedd2",
            "calldata_variants": [
                "0xdbdcedd2",
                "0xdbdcedd20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdfd269de",
            "selector": "0xdfd269de",
            "calldata_variants": [
                "0xdfd269de",
                "0xdfd269de0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe1ce002f",
            "selector": "0xe1ce002f",
            "calldata_variants": [
                "0xe1ce002f",
                "0xe1ce002f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcdfb2b4e",
            "selector": "0xcdfb2b4e",
            "calldata_variants": [
                "0xcdfb2b4e",
                "0xcdfb2b4e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd4e01f71",
            "selector": "0xd4e01f71",
            "calldata_variants": [
                "0xd4e01f71",
                "0xd4e01f710000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 12241,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [],
    "delegatecall_count": 1,
    "untrusted_delegatecall_count": 1
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0xdf8ba5afd756577184514f4f40b3aa36f1ff685d8973e6d67ac661bc78a97548
call_targets: 0x68fe80c6e97e0c8613e2fed344358c6635ba5366
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xdf8ba5afd756577184514f4f40b3aa36f1ff685d8973e6d67ac661bc78a97548",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x68fe80c6e97e0c8613e2fed344358c6635ba5366"
    ],
    "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": "0xe30f7c4f",
            "selector": "0xe30f7c4f",
            "calldata_variants": [
                "0xe30f7c4f",
                "0xe30f7c4f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xffacef08",
            "selector": "0xffacef08",
            "calldata_variants": [
                "0xffacef08",
                "0xffacef080000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdbdcedd2",
            "selector": "0xdbdcedd2",
            "calldata_variants": [
                "0xdbdcedd2",
                "0xdbdcedd20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdfd269de",
            "selector": "0xdfd269de",
            "calldata_variants": [
                "0xdfd269de",
                "0xdfd269de0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe1ce002f",
            "selector": "0xe1ce002f",
            "calldata_variants": [
                "0xe1ce002f",
                "0xe1ce002f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcdfb2b4e",
            "selector": "0xcdfb2b4e",
            "calldata_variants": [
                "0xcdfb2b4e",
                "0xcdfb2b4e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd4e01f71",
            "selector": "0xd4e01f71",
            "calldata_variants": [
                "0xd4e01f71",
                "0xd4e01f710000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 5333,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6837,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "constant",
            "target_expression_category": "storage-derived"
        },
        {
            "pc": 8379,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 4,
    "guards_detected": [],
    "untrusted_call_count": 4
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0xdf8ba5afd756577184514f4f40b3aa36f1ff685d8973e6d67ac661bc78a97548
call_targets: 0x68fe80c6e97e0c8613e2fed344358c6635ba5366
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xdf8ba5afd756577184514f4f40b3aa36f1ff685d8973e6d67ac661bc78a97548",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x68fe80c6e97e0c8613e2fed344358c6635ba5366"
    ],
    "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": "0xe30f7c4f",
            "selector": "0xe30f7c4f",
            "calldata_variants": [
                "0xe30f7c4f",
                "0xe30f7c4f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xffacef08",
            "selector": "0xffacef08",
            "calldata_variants": [
                "0xffacef08",
                "0xffacef080000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdbdcedd2",
            "selector": "0xdbdcedd2",
            "calldata_variants": [
                "0xdbdcedd2",
                "0xdbdcedd20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdfd269de",
            "selector": "0xdfd269de",
            "calldata_variants": [
                "0xdfd269de",
                "0xdfd269de0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe1ce002f",
            "selector": "0xe1ce002f",
            "calldata_variants": [
                "0xe1ce002f",
                "0xe1ce002f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcdfb2b4e",
            "selector": "0xcdfb2b4e",
            "calldata_variants": [
                "0xcdfb2b4e",
                "0xcdfb2b4e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd4e01f71",
            "selector": "0xd4e01f71",
            "calldata_variants": [
                "0xd4e01f71",
                "0xd4e01f710000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 5333,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6837,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "constant",
            "target_expression_category": "storage-derived"
        },
        {
            "pc": 8379,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 4,
    "guards_detected": []
}
medium access_control codex BNFT cancel path refunds caller without local ownership checks 75 no
view
evidence_json
{
    "evidence": "batchCancelDeposit is externally callable and unconditionally refunds msg.sender based on validator phases, with no local ownership verification.",
    "locations": [
        "src/LiquidityPool.sol:361",
        "src/LiquidityPool.sol:367",
        "src/LiquidityPool.sol:377",
        "src/LiquidityPool.sol:379",
        "src/LiquidityPool.sol:382"
    ],
    "recommendation": "Enforce ownership or BNFT-holder authorization in LiquidityPool before issuing refunds (e.g., track validatorId -> BNFT holder and require match), or require an explicit success/authorization signal from StakingManager before sending ETH.",
    "exploit_scenario": "Any caller can invoke batchCancelDeposit with arbitrary validator IDs. If StakingManager does not strictly enforce ownership (or is upgraded with relaxed checks), an attacker could cancel other BNFT deposits and receive 1\u20132 ETH refunds per validator to their own address."
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 1
}
medium other codex Unchecked eETH.transferFrom can mint withdrawal requests without locking funds 75 no
view
evidence_json
{
    "evidence": "requestWithdraw and requestMembershipNFTWithdraw call eETH.transferFrom without checking its return value after minting the withdrawal request.",
    "locations": [
        "src/LiquidityPool.sol:201",
        "src/LiquidityPool.sol:205",
        "src/LiquidityPool.sol:207",
        "src/LiquidityPool.sol:235",
        "src/LiquidityPool.sol:240",
        "src/LiquidityPool.sol:242"
    ],
    "recommendation": "Use SafeERC20 and require transferFrom to succeed, or move the token transfer before minting the WithdrawRequestNFT and explicitly check the return value. Consider reverting if _amount > _permit.value in requestWithdrawWithPermit.",
    "exploit_scenario": "If eETH.transferFrom returns false (non-standard ERC20 behavior or future upgrade), requestWithdraw/requestMembershipNFTWithdraw will still mint a WithdrawRequestNFT. The caller can later claim ETH without actually transferring/burning eETH, draining LP liquidity."
}
low access_control codex Scheduling edge case lets index-0 BNFT holder bypass validator spin-up limits 65 no
view
evidence_json
{
    "evidence": "dutyForWeek returns (0,0) on low counts, and batchDepositAsBnftHolder doesn\u2019t enforce numValidatorsToSpinUp or cap _numberOfValidators against it.",
    "locations": [
        "src/LiquidityPool.sol:446",
        "src/LiquidityPool.sol:449",
        "src/LiquidityPool.sol:257",
        "src/LiquidityPool.sol:258",
        "src/LiquidityPool.sol:268"
    ],
    "recommendation": "Handle the < maxValidatorsPerOwner case explicitly (e.g., set size=1 and cap _numberOfValidators by numValidatorsToSpinUp), or revert when numValidatorsToSpinUp is 0 to prevent unauthorized deposits.",
    "exploit_scenario": "When numValidatorsToSpinUp < maxValidatorsPerOwner (or ==0), dutyForWeek returns (0,0). That makes only index-0 BNFT holder \u2018assigned\u2019, letting them call batchDepositAsBnftHolder with up to maxValidatorsPerOwner validators even when the admin intended none or fewer to spin up."
}