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

Analysis Run

4b8be3d2-a217-469b-8019-21ef3302b0a8

complete
Chain ID
1
Address
Block Number
Created
Wed, Dec 31, 2025 9:20 PM
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
Unprotected initializer lets anyone seize auctioneer role and upgrade to a draining master copy
crit 0 high 0 proxy context implementation known
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
30930 report.consolidate complete 1 / 1 3 months ago
94591 artifact.fetch complete 1 / 3 1 week ago
94592 tool.cast_disasm complete 1 / 3 1 week ago
94593 analysis.bundle complete 1 / 3 1 week ago
94594 capability.graph complete 1 / 3 1 week ago
94595 detector.run complete 1 / 3 1 week ago
94596 validation.fork complete 1 / 3 1 week ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: yes
Verified Source: yes

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
1
No findings?
no
Summary
Found 1 critical proxy-hijack path via an unprotected initializer that lets an attacker take over and upgrade the exchange implementation.
View stderr
[codex:339855] OpenAI Codex v0.77.0 (research preview)
[codex:339855] --------
[codex:339855] workdir: /tmp/codex-multi-sb_pebx5
[codex:339855] model: gpt-5.2-codex
[codex:339855] provider: openai
[codex:339855] approval: never
[codex:339855] sandbox: read-only
[codex:339855] reasoning effort: xhigh
[codex:339855] reasoning summaries: auto
[codex:339855] session id: 019b7643-22ae-7e43-be1d-0b9359e9c178
[codex:339855] --------
[codex:339855] user
[codex:339855] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:339855] 
[codex:339855] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:339855] 
[codex:339855] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:339855] - Gas inefficiency, code quality, naming, or best practices
[codex:339855] - Theoretical vulnerabilities without a clear extraction path
[codex:339855] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:339855] - Front-running unless it enables theft beyond MEV
[codex:339855] - DoS, griefing, or issues that don't result in attacker profit
[codex:339855] - Missing events, view function issues, or informational findings
[codex:339855] 
[codex:339855] HIGH-VALUE PATTERNS TO HUNT:
[codex:339855] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:339855] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:339855] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:339855] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:339855] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:339855] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:339855] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:339855] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:339855] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:339855] 
[codex:339855] For each finding, you MUST provide:
[codex:339855] 1. Exact file and line numbers of vulnerable code
[codex:339855] 2. Step-by-step exploit transaction sequence
[codex:339855] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:339855] 
[codex:339855] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:339855] 
[codex:339855] Output MUST be valid JSON matching the provided schema.
[codex:339855] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:339855] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:339855] mcp startup: no servers
[codex:339855] 
[codex:339855] thinking
[codex:339855] **Preparing to read AUDIT_BUNDLE.txt**
[codex:339855] exec
[codex:339855] /bin/bash -lc ls in /tmp/codex-multi-sb_pebx5 succeeded in 5ms:
[codex:339855] AUDIT_BUNDLE.txt
[codex:339855] codex-output-schema.json
[codex:339855] contracts
[codex:339855] exec
[codex:339855] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-sb_pebx5 succeeded in 6ms:
[codex:339855] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:339855] 
[codex:339855] ================================================================================
[codex:339855] FILE: contracts/Contract.sol
[codex:339855] ================================================================================
[codex:339855] pragma solidity ^0.5.2;
[codex:339855] 
[codex:339855] // File: @gnosis.pm/util-contracts/contracts/Proxy.sol
[codex:339855] 
[codex:339855] /// @title Proxied - indicates that a contract will be proxied. Also defines storage requirements for Proxy.
[codex:339855] /// @author Alan Lu - <alan@gnosis.pm>
[codex:339855] contract Proxied {
[codex:339855]     address public masterCopy;
[codex:339855] }
[codex:339855] 
[codex:339855] /// @title Proxy - Generic proxy contract allows to execute all transactions applying the code of a master contract.
[codex:339855] /// @author Stefan George - <stefan@gnosis.pm>
[codex:339855] contract Proxy is Proxied {
[codex:339855]     /// @dev Constructor function sets address of master copy contract.
[codex:339855]     /// @param _masterCopy Master copy address.
[codex:339855] 
[codex:339855] thinking
[codex:339855] **Searching for DutchX contract**
[codex:339855] exec
[codex:339855] /bin/bash -lc 'rg -n "contract" AUDIT_BUNDLE.txt | head' in /tmp/codex-multi-sb_pebx5 succeeded in 7ms:
[codex:339855] 4:FILE: contracts/Contract.sol
[codex:339855] 8:// File: @gnosis.pm/util-contracts/contracts/Proxy.sol
[codex:339855] 10:/// @title Proxied - indicates that a contract will be proxied. Also defines storage requirements for Proxy.
[codex:339855] 12:contract Proxied {
[codex:339855] 16:/// @title Proxy - Generic proxy contract allows to execute all transactions applying the code of a master contract.
[codex:339855] 18:contract Proxy is Proxied {
[codex:339855] 19:    /// @dev Constructor function sets address of master copy contract.
[codex:339855] 44:// File: @gnosis.pm/util-contracts/contracts/Token.sol
[codex:339855] 49:/// @title Abstract token contract - Functions to be implemented by token contracts
[codex:339855] 50:contract Token {
[codex:339855] 
[codex:339855] thinking
[codex:339855] **Searching for DutchExchange contract**
[codex:339855] exec
[codex:339855] /bin/bash -lc 'rg -n "contract .*Dutch|Dutch" AUDIT_BUNDLE.txt | head -n 50' in /tmp/codex-multi-sb_pebx5 succeeded in 7ms:
[codex:339855] 1343:// File: contracts/DutchExchange.sol
[codex:339855] 1345:/// @title Dutch Exchange - exchange token pairs with the clever mechanism of the dutch auction
[codex:339855] 1349:contract DutchExchange is DxUpgrade, TokenWhitelist, EthOracle, SafeTransfer {
[codex:339855] 1395:    // balances stores a user's balance in the DutchX
[codex:339855] 1553:    function setupDutchExchange(
[codex:339855] 
[codex:339855] thinking
[codex:339855] **Analyzing DutchExchange for vulnerabilities**
[codex:339855] exec
[codex:339855] /bin/bash -lc 'rg -n "initialize|init|setup" AUDIT_BUNDLE.txt | head -n 50' in /tmp/codex-multi-sb_pebx5 succeeded in 7ms:
[codex:339855] 622:        require(minter != address(0), "The minter must be initialized");
[codex:339855] 1294:    function initiateEthUsdOracleUpdate(PriceOracleInterface _ethUSDOracle) public onlyAuctioneer {
[codex:339855] 1553:    function setupDutchExchange(
[codex:339855] 1563:        // Make sure contract hasn't been initialised
[codex:339855] 1564:        require(ethToken == address(0), "The contract must be uninitialized");
[codex:339855] 1590:    /// @param initialClosingPriceNum initial price will be 2 * initialClosingPrice. This is its numerator
[codex:339855] 1591:    /// @param initialClosingPriceDen initial price will be 2 * initialClosingPrice. This is its denominator
[codex:339855] 1597:        uint initialClosingPriceNum,
[codex:339855] 1598:        uint initialClosingPriceDen
[codex:339855] 1605:        require(initialClosingPriceNum != 0, "You must set the numerator for the initial price");
[codex:339855] 1608:        require(initialClosingPriceDen != 0, "You must set the denominator for the initial price");
[codex:339855] 1614:        require(initialClosingPriceNum < 10 ** 18, "You must set a smaller numerator for the initial price");
[codex:339855] 1617:        require(initialClosingPriceDen < 10 ** 18, "You must set a smaller denominator for the initial price");
[codex:339855] 1659:        closingPrices[token1][token2][0] = Fraction(initialClosingPriceNum, initialClosingPriceDen);
[codex:339855] 1660:        closingPrices[token2][token1][0] = Fraction(initialClosingPriceDen, initialClosingPriceNum);
[codex:339855] 
[codex:339855] thinking
[codex:339855] **Checking function access controls**
[codex:339855] exec
[codex:339855] /bin/bash -lc "sed -n '1450,1705p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-sb_pebx5 succeeded in 5ms:
[codex:339855] 
[codex:339855]     /// @dev for multiple claims
[codex:339855]     /// @param auctionSellTokens are the sellTokens defining an auctionPair
[codex:339855]     /// @param auctionBuyTokens are the buyTokens defining an auctionPair
[codex:339855]     /// @param auctionIndices are the auction indices on which an token should be claimedAmounts
[codex:339855]     /// @param user is the user who wants to his tokens
[codex:339855]     function claimTokensFromSeveralAuctionsAsBuyer(
[codex:339855]         address[] calldata auctionSellTokens,
[codex:339855]         address[] calldata auctionBuyTokens,
[codex:339855]         uint[] calldata auctionIndices,
[codex:339855]         address user
[codex:339855]     ) external returns (uint[] memory, uint[] memory)
[codex:339855]     {
[codex:339855]         uint length = checkLengthsForSeveralAuctionClaiming(auctionSellTokens, auctionBuyTokens, auctionIndices);
[codex:339855] 
[codex:339855]         uint[] memory claimAmounts = new uint[](length);
[codex:339855]         uint[] memory frtsIssuedList = new uint[](length);
[codex:339855] 
[codex:339855]         for (uint i = 0; i < length; i++) {
[codex:339855]             (claimAmounts[i], frtsIssuedList[i]) = claimBuyerFunds(
[codex:339855] 
[codex:339855] thinking
[codex:339855] **Analyzing unprotected proxy initialization risks**
[codex:339855] exec
[codex:339855] /bin/bash -lc 'rg -n "DxUpgrade" -n AUDIT_BUNDLE.txt' in /tmp/codex-multi-sb_pebx5 succeeded in 6ms:
[codex:339855] 1312:// File: contracts/base/DxUpgrade.sol
[codex:339855] 1314:contract DxUpgrade is Proxied, AuctioneerManaged, DxMath {
[codex:339855] 1349:contract DutchExchange is DxUpgrade, TokenWhitelist, EthOracle, SafeTransfer {
[codex:339855] exec
[codex:339855] /bin/bash -lc "sed -n '1230,1375p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-sb_pebx5 succeeded in 5ms:
[codex:339855]     modifier onlyOwner() {
[codex:339855]         require(msg.sender == owner, "Only the owner can do the operation");
[codex:339855]         _;
[codex:339855]     }
[codex:339855] 
[codex:339855]     /// @dev constructor of the contract
[codex:339855]     /// @param _priceFeedSource address of price Feed Source -> should be maker feeds Medianizer contract
[codex:339855]     constructor(address _owner, address _priceFeedSource) public {
[codex:339855]         owner = _owner;
[codex:339855]         priceFeedSource = _priceFeedSource;
[codex:339855]     }
[codex:339855]     
[codex:339855]     /// @dev gives the owner the possibility to put the Interface into an emergencyMode, which will
[codex:339855]     /// output always a price of 600 USD. This gives everyone time to set up a new pricefeed.
[codex:339855]     function raiseEmergency(bool _emergencyMode) public onlyOwner {
[codex:339855]         emergencyMode = _emergencyMode;
[codex:339855]     }
[codex:339855] 
[codex:339855]     /// @dev updates the priceFeedSource
[codex:339855]     /// @param _owner address of owner
[codex:339855] 
[codex:339855] thinking
[codex:339855] **Searching specific modules**
[codex:339855] exec
[codex:339855] /bin/bash -lc 'rg -n "contract AuctioneerManaged|onlyAuctioneer" AUDIT_BUNDLE.txt' in /tmp/codex-multi-sb_pebx5 succeeded in 8ms:
[codex:339855] 678:contract AuctioneerManaged {
[codex:339855] 682:    function updateAuctioneer(address _auctioneer) public onlyAuctioneer {
[codex:339855] 688:    modifier onlyAuctioneer() {
[codex:339855] 721:    function updateApprovalOfToken(address[] memory token, bool approved) public onlyAuctioneer {
[codex:339855] 1294:    function initiateEthUsdOracleUpdate(PriceOracleInterface _ethUSDOracle) public onlyAuctioneer {
[codex:339855] 1323:    function startMasterCopyCountdown(address _masterCopy) public onlyAuctioneer {
[codex:339855] 1582:    function updateThresholdNewTokenPair(uint _thresholdNewTokenPair) public onlyAuctioneer {
[codex:339855] 1586:    function updateThresholdNewAuction(uint _thresholdNewAuction) public onlyAuctioneer {
[codex:339855] exec
[codex:339855] /bin/bash -lc "sed -n '650,730p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-sb_pebx5 succeeded in 6ms:
[codex:339855]             BadToken(token).transferFrom(msg.sender, address(this), value);
[codex:339855]         } else {
[codex:339855]             BadToken(token).transfer(to, value);
[codex:339855]         }
[codex:339855] 
[codex:339855]         // solium-disable-next-line security/no-inline-assembly
[codex:339855]         assembly {
[codex:339855]             switch returndatasize
[codex:339855]                 case 0 {
[codex:339855]                     // This is our BadToken
[codex:339855]                     result := not(0) // result is true
[codex:339855]                 }
[codex:339855]                 case 32 {
[codex:339855]                     // This is our GoodToken
[codex:339855]                     returndatacopy(0, 0, 32)
[codex:339855]                     result := mload(0) // result == returndata of external call
[codex:339855]                 }
[codex:339855]                 default {
[codex:339855]                     // This is not an ERC20 token
[codex:339855]                     result := 0
[codex:339855] 
[codex:339855] thinking
[codex:339855] **Analyzing setup and token transfer vulnerabilities**
[codex:339855] exec
[codex:339855] /bin/bash -lc 'rg -n "approvedTokens|approve" AUDIT_BUNDLE.txt | head -n 50' in /tmp/codex-multi-sb_pebx5 succeeded in 7ms:
[codex:339855] 62:    function approve(address spender, uint value) public returns (bool);
[codex:339855] 389:    /// @dev Sets approved amount of tokens for spender. Returns success
[codex:339855] 391:    /// @param value Number of approved tokens
[codex:339855] 393:    function approve(address spender, uint value) public returns (bool) {
[codex:339855] 700:    // Mapping that stores the tokens, which are approved
[codex:339855] 701:    // Only tokens approved by auctioneer generate frtToken tokens
[codex:339855] 703:    mapping(address => bool) public approvedTokens;
[codex:339855] 705:    event Approval(address indexed token, bool approved);
[codex:339855] 707:    /// @dev for quick overview of approved Tokens
[codex:339855] 708:    /// @param addressesToCheck are the ERC-20 token addresses to be checked whether they are approved
[codex:339855] 715:            isApproved[i] = approvedTokens[addressesToCheck[i]];
[codex:339855] 721:    function updateApprovalOfToken(address[] memory token, bool approved) public onlyAuctioneer {
[codex:339855] 723:            approvedTokens[token[i]] = approved;
[codex:339855] 724:            emit Approval(token[i], approved);
[codex:339855] 2366:        if (approvedTokens[primaryToken] && approvedTokens[secondaryToken]) {
[codex:339855] 
[codex:339855] thinking
[codex:339855] **Analyzing token trading risks and SafeTransfer contract**
[codex:339855] exec
[codex:339855] /bin/bash -lc 'rg -n "contract SafeTransfer|safeTransfer" AUDIT_BUNDLE.txt | head -n 50' in /tmp/codex-multi-sb_pebx5 succeeded in 9ms:
[codex:339855] 647:contract SafeTransfer {
[codex:339855] 648:    function safeTransfer(address token, address to, uint value, bool from) internal returns (bool result) {
[codex:339855] 1668:        require(safeTransfer(tokenAddress, msg.sender, amount, true), "The deposit transaction must succeed");
[codex:339855] 1690:        require(safeTransfer(tokenAddress, msg.sender, amount, false), "The withdraw transfer must succeed");
[codex:339855] 
[codex:339855] thinking
[codex:339855] **Locating SafeTransfer function**
[codex:339855] exec
[codex:339855] /bin/bash -lc "sed -n '600,660p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-sb_pebx5 succeeded in 5ms:
[codex:339855]     }
[codex:339855] 
[codex:339855]     function getMasterCopy() public view returns (address) {
[codex:339855]         return masterCopy;
[codex:339855]     }
[codex:339855] 
[codex:339855]     /// @dev Set minter. Only the creator of this contract can call this.
[codex:339855]     /// @param newMinter The new address authorized to mint this token
[codex:339855]     function setMinter(address newMinter) public onlyCreator {
[codex:339855]         minter = newMinter;
[codex:339855]     }
[codex:339855] 
[codex:339855]     /// @dev change owner/creator of the contract. Only the creator/owner of this contract can call this.
[codex:339855]     /// @param newOwner The new address, which should become the owner
[codex:339855]     function setNewOwner(address newOwner) public onlyCreator {
[codex:339855]         creator = newOwner;
[codex:339855]     }
[codex:339855] 
[codex:339855]     /// @dev Mints OWL.
[codex:339855]     /// @param to Address to which the minted token will be given
[codex:339855] 
[codex:339855] thinking
[codex:339855] **Analyzing reentrancy and phantom deposit risks**
[codex:339855] exec
[codex:339855] /bin/bash -lc 'rg -n "claimSellerFunds|claimBuyerFunds" -n AUDIT_BUNDLE.txt' in /tmp/codex-multi-sb_pebx5 succeeded in 7ms:
[codex:339855] 1418:        (returned, frtsIssued) = claimSellerFunds(sellToken, buyToken, user, auctionIndex);
[codex:339855] 1440:            (claimAmounts[i], frtsIssuedList[i]) = claimSellerFunds(
[codex:339855] 1469:            (claimAmounts[i], frtsIssuedList[i]) = claimBuyerFunds(
[codex:339855] 1496:            (claimAmounts[i], claimFrts) = claimSellerFunds(
[codex:339855] 1527:            (claimAmounts[i], claimFrts) = claimBuyerFunds(
[codex:339855] 1838:    function claimSellerFunds(address sellToken, address buyToken, address user, uint auctionIndex)
[codex:339855] 1888:    function claimBuyerFunds(address sellToken, address buyToken, address user, uint auctionIndex)
[codex:339855] exec
[codex:339855] /bin/bash -lc "sed -n '1800,1925p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-sb_pebx5 succeeded in 6ms:
[codex:339855]         // To calculate overbuy, we first get current price
[codex:339855]         uint sellVolume = sellVolumesCurrent[sellToken][buyToken];
[codex:339855] 
[codex:339855]         uint num;
[codex:339855]         uint den;
[codex:339855]         (num, den) = getCurrentAuctionPrice(sellToken, buyToken, auctionIndex);
[codex:339855]         // 10^30 * 10^37 = 10^67
[codex:339855]         uint outstandingVolume = atleastZero(int(mul(sellVolume, num) / den - buyVolume));
[codex:339855] 
[codex:339855]         uint amountAfterFee;
[codex:339855]         if (amount < outstandingVolume) {
[codex:339855]             if (amount > 0) {
[codex:339855]                 amountAfterFee = settleFee(buyToken, sellToken, auctionIndex, amount);
[codex:339855]             }
[codex:339855]         } else {
[codex:339855]             amount = outstandingVolume;
[codex:339855]             amountAfterFee = outstandingVolume;
[codex:339855]         }
[codex:339855] 
[codex:339855]         // Here we could also use outstandingVolume or amountAfterFee, it doesn't matter
[codex:339855] exec
[codex:339855] /bin/bash -lc "sed -n '1925,2060p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-sb_pebx5 succeeded in 5ms:
[codex:339855]                 mul(buyerBalance, den) / num,
[codex:339855]                 auctionIndex,
[codex:339855]                 buyerBalance,
[codex:339855]                 user
[codex:339855]             );
[codex:339855] 
[codex:339855]             // Auction has closed
[codex:339855]             // Reset buyerBalances and claimedAmounts
[codex:339855]             buyerBalances[sellToken][buyToken][auctionIndex][user] = 0;
[codex:339855]             claimedAmounts[sellToken][buyToken][auctionIndex][user] = 0;
[codex:339855]         }
[codex:339855] 
[codex:339855]         // Claim tokens
[codex:339855]         if (returned > 0) {
[codex:339855]             balances[sellToken][user] = add(balances[sellToken][user], returned);
[codex:339855]         }
[codex:339855] 
[codex:339855]         emit NewBuyerFundsClaim(
[codex:339855]             sellToken,
[codex:339855]             buyToken,
[codex:339855] 
[codex:339855] thinking
[codex:339855] **Analyzing reentrancy and token trust assumptions**
[codex:339855] exec
[codex:339855] /bin/bash -lc "sed -n '430,620p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-sb_pebx5 succeeded in 7ms:
[codex:339855] 
[codex:339855]     struct UnlockedToken {
[codex:339855]         uint amountUnlocked;
[codex:339855]         uint withdrawalTime;
[codex:339855]     }
[codex:339855] 
[codex:339855]     /*
[codex:339855]      *  Storage
[codex:339855]      */
[codex:339855]     address public minter;
[codex:339855] 
[codex:339855]     // user => UnlockedToken
[codex:339855]     mapping(address => UnlockedToken) public unlockedTokens;
[codex:339855] 
[codex:339855]     // user => amount
[codex:339855]     mapping(address => uint) public lockedTokenBalances;
[codex:339855] 
[codex:339855]     /*
[codex:339855]      *  Public functions
[codex:339855]      */
[codex:339855] 
[codex:339855] thinking
[codex:339855] **Investigating source file structure**
[codex:339855] exec
[codex:339855] /bin/bash -lc 'rg --files contracts' in /tmp/codex-multi-sb_pebx5 succeeded in 9ms:
[codex:339855] contracts/Contract.sol
[codex:339855] 
[codex:339855] thinking
[codex:339855] **Locating relevant code lines**
[codex:339855] exec
[codex:339855] /bin/bash -lc 'rg -n "safeTransfer" contracts/Contract.sol' in /tmp/codex-multi-sb_pebx5 succeeded in 7ms:
[codex:339855] 643:    function safeTransfer(address token, address to, uint value, bool from) internal returns (bool result) {
[codex:339855] 1663:        require(safeTransfer(tokenAddress, msg.sender, amount, true), "The deposit transaction must succeed");
[codex:339855] 1685:        require(safeTransfer(tokenAddress, msg.sender, amount, false), "The withdraw transfer must succeed");
[codex:339855] 
[codex:339855] thinking
[codex:339855] **Checking specific lines in Contract.sol**
[codex:339855] exec
[codex:339855] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '630,705p'" in /tmp/codex-multi-sb_pebx5 succeeded in 6ms:
[codex:339855]    630	        totalTokens = totalTokens.sub(amount);
[codex:339855]    631	        emit Burnt(msg.sender, user, amount);
[codex:339855]    632	    }
[codex:339855]    633	}
[codex:339855]    634	
[codex:339855]    635	// File: contracts/base/SafeTransfer.sol
[codex:339855]    636	
[codex:339855]    637	interface BadToken {
[codex:339855]    638	    function transfer(address to, uint value) external;
[codex:339855]    639	    function transferFrom(address from, address to, uint value) external;
[codex:339855]    640	}
[codex:339855]    641	
[codex:339855]    642	contract SafeTransfer {
[codex:339855]    643	    function safeTransfer(address token, address to, uint value, bool from) internal returns (bool result) {
[codex:339855]    644	        if (from) {
[codex:339855]    645	            BadToken(token).transferFrom(msg.sender, address(this), value);
[codex:339855]    646	        } else {
[codex:339855]    647	            BadToken(token).transfer(to, value);
[codex:339855]    648	        }
[codex:339855]    649	
[codex:339855] 
[codex:339855] thinking
[codex:339855] **Reviewing deposit and withdraw lines**
[codex:339855] exec
[codex:339855] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '1645,1705p'" in /tmp/codex-multi-sb_pebx5 succeeded in 6ms:
[codex:339855]   1645	                ethTokenMem,
[codex:339855]   1646	                ethUSDPrice
[codex:339855]   1647	            );
[codex:339855]   1648	        }
[codex:339855]   1649	
[codex:339855]   1650	        // R5
[codex:339855]   1651	        require(fundedValueUSD >= thresholdNewTokenPair, "You should surplus the threshold for adding token pairs");
[codex:339855]   1652	
[codex:339855]   1653	        // Save prices of opposite auctions
[codex:339855]   1654	        closingPrices[token1][token2][0] = Fraction(initialClosingPriceNum, initialClosingPriceDen);
[codex:339855]   1655	        closingPrices[token2][token1][0] = Fraction(initialClosingPriceDen, initialClosingPriceNum);
[codex:339855]   1656	
[codex:339855]   1657	        // Split into two fns because of 16 local-var cap
[codex:339855]   1658	        addTokenPairSecondPart(token1, token2, token1Funding, token2Funding);
[codex:339855]   1659	    }
[codex:339855]   1660	
[codex:339855]   1661	    function deposit(address tokenAddress, uint amount) public returns (uint) {
[codex:339855]   1662	        // R1
[codex:339855]   1663	        require(safeTransfer(tokenAddress, msg.sender, amount, true), "The deposit transaction must succeed");
[codex:339855]   1664	
[codex:339855] 
[codex:339855] thinking
[codex:339855] **Analyzing potential token transfer exploits**
[codex:339855] exec
[codex:339855] /bin/bash -lc 'rg -n "TokenFRT|constructor" contracts/Contract.sol' in /tmp/codex-multi-sb_pebx5 succeeded in 11ms:
[codex:339855] 16:    constructor(address _masterCopy) public {
[codex:339855] 416:// File: contracts/TokenFRT.sol
[codex:339855] 419:contract TokenFRT is Proxied, GnosisStandardToken {
[codex:339855] 978:    constructor() public {
[codex:339855] 1230:    /// @dev constructor of the contract
[codex:339855] 1232:    constructor(address _owner, address _priceFeedSource) public {
[codex:339855] 1365:    TokenFRT public frtToken;
[codex:339855] 1549:        TokenFRT _frtToken,
[codex:339855] 
[codex:339855] thinking
[codex:339855] **Inspecting constructor in contract region**
[codex:339855] exec
[codex:339855] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '930,1015p'" in /tmp/codex-multi-sb_pebx5 succeeded in 6ms:
[codex:339855]    930	        //   and applying the equation for even x gives
[codex:339855]    931	        //    x^n = x * (x^2)^((n-1) / 2).
[codex:339855]    932	        //
[codex:339855]    933	        //  Also, EVM division is flooring and
[codex:339855]    934	        //    floor[(n-1) / 2] = floor[n / 2].
[codex:339855]    935	
[codex:339855]    936	        z = n % 2 != 0 ? x : RAY;
[codex:339855]    937	
[codex:339855]    938	        for (n /= 2; n != 0; n /= 2) {
[codex:339855]    939	            x = rmul(x, x);
[codex:339855]    940	
[codex:339855]    941	            if (n % 2 != 0) {
[codex:339855]    942	                z = rmul(z, x);
[codex:339855]    943	            }
[codex:339855]    944	        }
[codex:339855]    945	    }
[codex:339855]    946	
[codex:339855]    947	    function rmin(uint128 x, uint128 y) internal pure returns (uint128) {
[codex:339855]    948	        return hmin(x, y);
[codex:339855]    949	    }
[codex:339855] 
[codex:339855] thinking
[codex:339855] **Analyzing potential exploit paths**
[codex:339855] exec
[codex:339855] /bin/bash -lc "sed -n '730,900p' contracts/Contract.sol" in /tmp/codex-multi-sb_pebx5 succeeded in 6ms:
[codex:339855]         if (a < b) {
[codex:339855]             return a;
[codex:339855]         } else {
[codex:339855]             return b;
[codex:339855]         }
[codex:339855]     }
[codex:339855] 
[codex:339855]     function atleastZero(int a) public pure returns (uint) {
[codex:339855]         if (a < 0) {
[codex:339855]             return 0;
[codex:339855]         } else {
[codex:339855]             return uint(a);
[codex:339855]         }
[codex:339855]     }
[codex:339855]     
[codex:339855]     /// @dev Returns whether an add operation causes an overflow
[codex:339855]     /// @param a First addend
[codex:339855]     /// @param b Second addend
[codex:339855]     /// @return Did no overflow occur?
[codex:339855]     function safeToAdd(uint a, uint b) public pure returns (bool) {
[codex:339855] 
[codex:339855] thinking
[codex:339855] **Analyzing potential vulnerabilities and reentrancy**
[codex:339855] exec
[codex:339855] /bin/bash -lc "sed -n '1690,1795p' contracts/Contract.sol" in /tmp/codex-multi-sb_pebx5 succeeded in 7ms:
[codex:339855] 
[codex:339855]     function postSellOrder(address sellToken, address buyToken, uint auctionIndex, uint amount)
[codex:339855]         public
[codex:339855]         returns (uint, uint)
[codex:339855]     {
[codex:339855]         // Note: if a user specifies auctionIndex of 0, it
[codex:339855]         // means he is agnostic which auction his sell order goes into
[codex:339855] 
[codex:339855]         amount = min(amount, balances[sellToken][msg.sender]);
[codex:339855] 
[codex:339855]         // R1
[codex:339855]         // require(amount >= 0, "Sell amount should be greater than 0");
[codex:339855] 
[codex:339855]         // R2
[codex:339855]         uint latestAuctionIndex = getAuctionIndex(sellToken, buyToken);
[codex:339855]         require(latestAuctionIndex > 0);
[codex:339855] 
[codex:339855]         // R3
[codex:339855]         uint auctionStart = getAuctionStart(sellToken, buyToken);
[codex:339855]         if (auctionStart == AUCTION_START_WAITING_FOR_FUNDING || auctionStart > now) {
[codex:339855] 
[codex:339855] thinking
[codex:339855] **Analyzing potential reentrancy and initialization risks**
[codex:339855] exec
[codex:339855] /bin/bash -lc 'rg -n "setup|initialize|init" contracts/Contract.sol' in /tmp/codex-multi-sb_pebx5 succeeded in 6ms:
[codex:339855] 617:        require(minter != address(0), "The minter must be initialized");
[codex:339855] 1289:    function initiateEthUsdOracleUpdate(PriceOracleInterface _ethUSDOracle) public onlyAuctioneer {
[codex:339855] 1548:    function setupDutchExchange(
[codex:339855] 1558:        // Make sure contract hasn't been initialised
[codex:339855] 1559:        require(ethToken == address(0), "The contract must be uninitialized");
[codex:339855] 1585:    /// @param initialClosingPriceNum initial price will be 2 * initialClosingPrice. This is its numerator
[codex:339855] 1586:    /// @param initialClosingPriceDen initial price will be 2 * initialClosingPrice. This is its denominator
[codex:339855] 1592:        uint initialClosingPriceNum,
[codex:339855] 1593:        uint initialClosingPriceDen
[codex:339855] 1600:        require(initialClosingPriceNum != 0, "You must set the numerator for the initial price");
[codex:339855] 1603:        require(initialClosingPriceDen != 0, "You must set the denominator for the initial price");
[codex:339855] 1609:        require(initialClosingPriceNum < 10 ** 18, "You must set a smaller numerator for the initial price");
[codex:339855] 1612:        require(initialClosingPriceDen < 10 ** 18, "You must set a smaller denominator for the initial price");
[codex:339855] 1654:        closingPrices[token1][token2][0] = Fraction(initialClosingPriceNum, initialClosingPriceDen);
[codex:339855] 1655:        closingPrices[token2][token1][0] = Fraction(initialClosingPriceDen, initialClosingPriceNum);
[codex:339855] 
[codex:339855] thinking
[codex:339855] **Analyzing unprotected initializer and proxy hijacking vulnerability**
[codex:339855] 
[codex:339855] I’m evaluating the risk in `setupDutchExchange` as an unprotected initialize function in proxies that lets an attacker seize control if called before legit initialization. This enables a step-by-step exploit to set malicious tokens, upgrade the master copy after 30 days, and drain all contract funds. I’m weighing if unchecked token transfers cause a new exploit but lean toward only reporting the proxy hijack due to its clear profit path and code patterns flagged in instructions.
[codex:339855] exec
[codex:339855] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '1308,1345p'" in /tmp/codex-multi-sb_pebx5 succeeded in 9ms:
[codex:339855]   1308	
[codex:339855]   1309	contract DxUpgrade is Proxied, AuctioneerManaged, DxMath {
[codex:339855]   1310	    uint constant WAITING_PERIOD_CHANGE_MASTERCOPY = 30 days;
[codex:339855]   1311	
[codex:339855]   1312	    address public newMasterCopy;
[codex:339855]   1313	    // Time when new masterCopy is updatabale
[codex:339855]   1314	    uint public masterCopyCountdown;
[codex:339855]   1315	
[codex:339855]   1316	    event NewMasterCopyProposal(address newMasterCopy);
[codex:339855]   1317	
[codex:339855]   1318	    function startMasterCopyCountdown(address _masterCopy) public onlyAuctioneer {
[codex:339855]   1319	        require(_masterCopy != address(0), "The new master copy must be a valid address");
[codex:339855]   1320	
[codex:339855]   1321	        // Update masterCopyCountdown
[codex:339855]   1322	        newMasterCopy = _masterCopy;
[codex:339855]   1323	        masterCopyCountdown = add(block.timestamp, WAITING_PERIOD_CHANGE_MASTERCOPY);
[codex:339855]   1324	        emit NewMasterCopyProposal(_masterCopy);
[codex:339855]   1325	    }
[codex:339855]   1326	
[codex:339855]   1327	    function updateMasterCopy() public {
[codex:339855] 
[codex:339855] thinking
[codex:339855] **Preparing to show line numbers**
[codex:339855] exec
[codex:339855] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '1538,1595p'" in /tmp/codex-multi-sb_pebx5 succeeded in 7ms:
[codex:339855]   1538	        return masterCopy;
[codex:339855]   1539	    }
[codex:339855]   1540	
[codex:339855]   1541	    /// @dev Constructor-Function creates exchange
[codex:339855]   1542	    /// @param _frtToken - address of frtToken ERC-20 token
[codex:339855]   1543	    /// @param _owlToken - address of owlToken ERC-20 token
[codex:339855]   1544	    /// @param _auctioneer - auctioneer for managing interfaces
[codex:339855]   1545	    /// @param _ethToken - address of ETH ERC-20 token
[codex:339855]   1546	    /// @param _ethUSDOracle - address of the oracle contract for fetching feeds
[codex:339855]   1547	    /// @param _thresholdNewTokenPair - Minimum required sell funding for adding a new token pair, in USD
[codex:339855]   1548	    function setupDutchExchange(
[codex:339855]   1549	        TokenFRT _frtToken,
[codex:339855]   1550	        TokenOWL _owlToken,
[codex:339855]   1551	        address _auctioneer,
[codex:339855]   1552	        address _ethToken,
[codex:339855]   1553	        PriceOracleInterface _ethUSDOracle,
[codex:339855]   1554	        uint _thresholdNewTokenPair,
[codex:339855]   1555	        uint _thresholdNewAuction
[codex:339855]   1556	    ) public
[codex:339855]   1557	    {
[codex:339855] 
[codex:339855] thinking
[codex:339855] **Composing detailed security report JSON**
[codex:339855] codex
[codex:339855] {"no_findings":false,"summary":"Found 1 critical proxy-hijack path via an unprotected initializer that lets an attacker take over and upgrade the exchange implementation.","findings":[{"severity":"critical","category":"upgradeability","title":"Unprotected initializer lets anyone seize auctioneer role and upgrade to a draining master copy","exploit_scenario":"1) Monitor for a newly deployed DutchExchange proxy that has not yet been initialized (ethToken == address(0)). 2) Call setupDutchExchange with attacker-controlled parameters, setting auctioneer to the attacker and optionally pointing ethToken/frtToken/owlToken to attacker-controlled contracts. 3) As auctioneer, call startMasterCopyCountdown with a malicious implementation; after 30 days, call updateMasterCopy. 4) Invoke the malicious implementation’s drain function (or use the fake ethToken path to trade worthless tokens for real deposits) to transfer all escrowed assets to the attacker.","recommendation":"Restrict setupDutchExchange to a trusted initializer (e.g., onlyDeployer/onlyOwner), and initialize the proxy in the same transaction as deployment. Consider an explicit initializer guard (e.g., OpenZeppelin Initializable) and/or disabling initialization on the master copy.","evidence":"setupDutchExchange is public and only checks ethToken == address(0) before setting auctioneer and core addresses, allowing any first caller to take control.","locations":["contracts/Contract.sol:1548","contracts/Contract.sol:1558","contracts/Contract.sol:1568","contracts/Contract.sol:1318","contracts/Contract.sol:1327"]}]}
[codex:339855] tokens used
[codex:339855] 98,626
[codex:339855] {"no_findings":false,"summary":"Found 1 critical proxy-hijack path via an unprotected initializer that lets an attacker take over and upgrade the exchange implementation.","findings":[{"severity":"critical","category":"upgradeability","title":"Unprotected initializer lets anyone seize auctioneer role and upgrade to a draining master copy","exploit_scenario":"1) Monitor for a newly deployed DutchExchange proxy that has not yet been initialized (ethToken == address(0)). 2) Call setupDutchExchange with attacker-controlled parameters, setting auctioneer to the attacker and optionally pointing ethToken/frtToken/owlToken to attacker-controlled contracts. 3) As auctioneer, call startMasterCopyCountdown with a malicious implementation; after 30 days, call updateMasterCopy. 4) Invoke the malicious implementation’s drain function (or use the fake ethToken path to trade worthless tokens for real deposits) to transfer all escrowed assets to the attacker.","recommendation":"Restrict setupDutchExchange to a trusted initializer (e.g., onlyDeployer/onlyOwner), and initialize the proxy in the same transaction as deployment. Consider an explicit initializer guard (e.g., OpenZeppelin Initializable) and/or disabling initialization on the master copy.","evidence":"setupDutchExchange is public and only checks ethToken == address(0) before setting auctioneer and core addresses, allowing any first caller to take control.","locations":["contracts/Contract.sol:1548","contracts/Contract.sol:1558","contracts/Contract.sol:1568","contracts/Contract.sol:1318","contracts/Contract.sol:1327"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-31T21:20:25.362367+00:00",
        "returncode": 0
    },
    "summary": "Found 1 critical proxy-hijack path via an unprotected initializer that lets an attacker take over and upgrade the exchange implementation.",
    "raw_final": {
        "summary": "Found 1 critical proxy-hijack path via an unprotected initializer that lets an attacker take over and upgrade the exchange implementation.",
        "findings": [
            {
                "title": "Unprotected initializer lets anyone seize auctioneer role and upgrade to a draining master copy",
                "category": "upgradeability",
                "evidence": "setupDutchExchange is public and only checks ethToken == address(0) before setting auctioneer and core addresses, allowing any first caller to take control.",
                "severity": "critical",
                "locations": [
                    "contracts/Contract.sol:1548",
                    "contracts/Contract.sol:1558",
                    "contracts/Contract.sol:1568",
                    "contracts/Contract.sol:1318",
                    "contracts/Contract.sol:1327"
                ],
                "recommendation": "Restrict setupDutchExchange to a trusted initializer (e.g., onlyDeployer/onlyOwner), and initialize the proxy in the same transaction as deployment. Consider an explicit initializer guard (e.g., OpenZeppelin Initializable) and/or disabling initialization on the master copy.",
                "exploit_scenario": "1) Monitor for a newly deployed DutchExchange proxy that has not yet been initialized (ethToken == address(0)). 2) Call setupDutchExchange with attacker-controlled parameters, setting auctioneer to the attacker and optionally pointing ethToken/frtToken/owlToken to attacker-controlled contracts. 3) As auctioneer, call startMasterCopyCountdown with a malicious implementation; after 30 days, call updateMasterCopy. 4) Invoke the malicious implementation\u2019s drain function (or use the fake ethToken path to trade worthless tokens for real deposits) to transfer all escrowed assets to the attacker."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
12
EXT*/BALANCE
11
Total opcodes
15513
Flags
heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLVALUE
00000006: DUP1
00000007: ISZERO
00000008: PUSH2 0x0010
0000000b: JUMPI
0000000c: PUSH1 0x00
0000000e: DUP1
0000000f: REVERT
00000010: JUMPDEST
00000011: POP
00000012: PUSH1 0x04
00000014: CALLDATASIZE
00000015: LT
00000016: PUSH2 0x03f4
00000019: JUMPI
0000001a: PUSH1 0x00
0000001c: CALLDATALOAD
0000001d: PUSH1 0xe0
0000001f: PUSH1 0x02
00000021: EXP
00000022: SWAP1
00000023: DIV
00000024: DUP1
00000025: PUSH4 0x82a57b43
0000002a: GT
0000002b: PUSH2 0x0219
0000002e: JUMPI
0000002f: DUP1
00000030: PUSH4 0xcd94a2a4
00000035: GT
00000036: PUSH2 0x0129
00000039: JUMPI
0000003a: DUP1
0000003b: PUSH4 0xedd0b5cb
00000040: GT
00000041: PUSH2 0x00bc
00000044: JUMPI
00000045: DUP1
00000046: PUSH4 0xf4279d1f
0000004b: GT
0000004c: PUSH2 0x008b
0000004f: JUMPI
00000050: DUP1
00000051: PUSH4 0xf4279d1f
00000056: EQ
00000057: PUSH2 0x1397
0000005a: JUMPI
0000005b: DUP1
0000005c: PUSH4 0xf625ee28
00000061: EQ
00000062: PUSH2 0x139f
00000065: JUMPI
00000066: DUP1
00000067: PUSH4 0xf79710fd
0000006c: EQ
0000006d: PUSH2 0x13c5
00000070: JUMPI
00000071: DUP1
00000072: PUSH4 0xfac7abe3
00000077: EQ
00000078: PUSH2 0x13fb
0000007b: JUMPI
0000007c: DUP1
0000007d: PUSH4 0xfdab1b7b
00000082: EQ
00000083: PUSH2 0x1429
00000086: JUMPI
00000087: PUSH2 0x03f4
0000008a: JUMP
0000008b: JUMPDEST
0000008c: DUP1
0000008d: PUSH4 0xedd0b5cb
00000092: EQ
00000093: PUSH2 0x1317
00000096: JUMPI
00000097: DUP1
00000098: PUSH4 0xee93114c
0000009d: EQ
0000009e: PUSH2 0x133d
000000a1: JUMPI
000000a2: DUP1
000000a3: PUSH4 0xf3fef3a3
000000a8: EQ
000000a9: PUSH2 0x1345
000000ac: JUMPI
000000ad: DUP1
000000ae: PUSH4 0xf41d97fc
000000b3: EQ
000000b4: PUSH2 0x1371
000000b7: JUMPI
000000b8: PUSH2 0x03f4
000000bb: JUMP
000000bc: JUMPDEST
000000bd: DUP1
000000be: PUSH4 0xe1c95bb9
000000c3: GT
000000c4: PUSH2 0x00f8
000000c7: JUMPI
000000c8: DUP1
000000c9: PUSH4 0xe1c95bb9
000000ce: EQ
000000cf: PUSH2 0x1259
000000d2: JUMPI
000000d3: DUP1
000000d4: PUSH4 0xe31c71c4
000000d9: EQ
000000da: PUSH2 0x1276
000000dd: JUMPI
000000de: DUP1
000000df: PUSH4 0xe9f8cd70
000000e4: EQ
000000e5: PUSH2 0x1299
000000e8: JUMPI
000000e9: DUP1
000000ea: PUSH4 0xebcc0de1
000000ef: EQ
000000f0: PUSH2 0x12e1
000000f3: JUMPI
000000f4: PUSH2 0x03f4
000000f7: JUMP
000000f8: JUMPDEST
000000f9: DUP1
000000fa: PUSH4 0xcd94a2a4
000000ff: EQ
00000100: PUSH2 0x10ca
00000103: JUMPI
00000104: DUP1
00000105: PUSH4 0xd3cc8d1c
0000010a: EQ
0000010b: PUSH2 0x10d2
0000010e: JUMPI
0000010f: DUP1
00000110: PUSH4 0xdae595e5
00000115: EQ
00000116: PUSH2 0x11ef
00000119: JUMPI
0000011a: DUP1
0000011b: PUSH4 0xdf6af7d1
00000120: EQ
00000121: PUSH2 0x121d
00000124: JUMPI
00000125: PUSH2 0x03f4
00000128: JUMP
00000129: JUMPDEST
0000012a: DUP1
0000012b: PUSH4 0xb64c4905
00000130: GT
00000131: PUSH2 0x01ac
00000134: JUMPI
00000135: DUP1
00000136: PUSH4 0xc23f001f
0000013b: GT
0000013c: PUSH2 0x017b
0000013f: JUMPI
00000140: DUP1
00000141: PUSH4 0xc23f001f
00000146: EQ
00000147: PUSH2 0x1031
0000014a: JUMPI
0000014b: DUP1
0000014c: PUSH4 0xc6af43f9
00000151: EQ
00000152: PUSH2 0x105f
00000155: JUMPI
00000156: DUP1
00000157: PUSH4 0xc8a4ac9c
0000015c: EQ
0000015d: PUSH2 0x107c
00000160: JUMPI
00000161: DUP1
00000162: PUSH4 0xcb10fa76
00000167: EQ
00000168: PUSH2 0x109f
0000016b: JUMPI
0000016c: DUP1
0000016d: PUSH4 0xcd04ccfc
00000172: EQ
00000173: PUSH2 0x10c2
00000176: JUMPI
00000177: PUSH2 0x03f4
0000017a: JUMP
0000017b: JUMPDEST
0000017c: DUP1
0000017d: PUSH4 0xb64c4905
00000182: EQ
00000183: PUSH2 0x0f76
00000186: JUMPI
00000187: DUP1
00000188: PUSH4 0xb67d77c5
0000018d: EQ
0000018e: PUSH2 0x0fa4
00000191: JUMPI
00000192: DUP1
00000193: PUSH4 0xb8beafd6
00000198: EQ
00000199: PUSH2 0x0fc7
0000019c: JUMPI
0000019d: DUP1
0000019e: PUSH4 0xc1a21bf3
000001a3: EQ
000001a4: PUSH2 0x0ff5
000001a7: JUMPI
000001a8: PUSH2 0x03f4
000001ab: JUMP
000001ac: JUMPDEST
000001ad: DUP1
000001ae: PUSH4 0xacb10351
000001b3: GT
000001b4: PUSH2 0x01e8
000001b7: JUMPI
000001b8: DUP1
000001b9: PUSH4 0xacb10351
000001be: EQ
000001bf: PUSH2 0x0e84
000001c2: JUMPI
000001c3: DUP1
000001c4: PUSH4 0xb0293850
000001c9: EQ
000001ca: PUSH2 0x0ed6
000001cd: JUMPI
000001ce: DUP1
000001cf: PUSH4 0xb04c0239
000001d4: EQ
000001d5: PUSH2 0x0f12
000001d8: JUMPI
000001d9: DUP1
000001da: PUSH4 0xb3c2083f
000001df: EQ
000001e0: PUSH2 0x0f48
000001e3: JUMPI
000001e4: PUSH2 0x03f4
000001e7: JUMP
000001e8: JUMPDEST
000001e9: DUP1
000001ea: PUSH4 0x82a57b43
000001ef: EQ
000001f0: PUSH2 0x0d24
000001f3: JUMPI
000001f4: DUP1
000001f5: PUSH4 0x9fec8e96
000001fa: EQ
000001fb: PUSH2 0x0e38
000001fe: JUMPI
000001ff: DUP1
00000200: PUSH4 0xa48cef4a
00000205: EQ
00000206: PUSH2 0x0e74
00000209: JUMPI
0000020a: DUP1
0000020b: PUSH4 0xa619486e
00000210: EQ
00000211: PUSH2 0x0e7c
00000214: JUMPI
00000215: PUSH2 0x03f4
00000218: JUMP
00000219: JUMPDEST
0000021a: DUP1
0000021b: PUSH4 0x5e7f22c2
00000220: GT
00000221: PUSH2 0x0314
00000224: JUMPI
00000225: DUP1
00000226: PUSH4 0x706eb3ab
0000022b: GT
0000022c: PUSH2 0x02a7
0000022f: JUMPI
00000230: DUP1
00000231: PUSH4 0x796a8076
00000236: GT
00000237: PUSH2 0x0276
0000023a: JUMPI
0000023b: DUP1
0000023c: PUSH4 0x796a8076
00000241: EQ
00000242: PUSH2 0x0c95
00000245: JUMPI
00000246: DUP1
00000247: PUSH4 0x7ae2b5c7
0000024c: EQ
0000024d: PUSH2 0x0cbb
00000250: JUMPI
00000251: DUP1
00000252: PUSH4 0x7bf1a627
00000257: EQ
00000258: PUSH2 0x0cde
0000025b: JUMPI
0000025c: DUP1
0000025d: PUSH4 0x821b98f3
00000262: EQ
00000263: PUSH2 0x0ce6
00000266: JUMPI
00000267: DUP1
00000268: PUSH4 0x8261eb1b
0000026d: EQ
0000026e: PUSH2 0x0d1c
00000271: JUMPI
00000272: PUSH2 0x03f4
00000275: JUMP
00000276: JUMPDEST
00000277: DUP1
00000278: PUSH4 0x706eb3ab
0000027d: EQ
0000027e: PUSH2 0x0a7e
00000281: JUMPI
00000282: DUP1
00000283: PUSH4 0x7420a32f
00000288: EQ
00000289: PUSH2 0x0a86
0000028c: JUMPI
0000028d: DUP1
0000028e: PUSH4 0x771602f7
00000293: EQ
00000294: PUSH2 0x0abc
00000297: JUMPI
00000298: DUP1
00000299: PUSH4 0x7895dd21
0000029e: EQ
0000029f: PUSH2 0x0adf
000002a2: JUMPI
000002a3: PUSH2 0x03f4
000002a6: JUMP
000002a7: JUMPDEST
000002a8: DUP1
000002a9: PUSH4 0x65b0d711
000002ae: GT
000002af: PUSH2 0x02e3
000002b2: JUMPI
000002b3: DUP1
000002b4: PUSH4 0x65b0d711
000002b9: EQ
000002ba: PUSH2 0x09a3
000002bd: JUMPI
000002be: DUP1
000002bf: PUSH4 0x6d1ea3fa
000002c4: EQ
000002c5: PUSH2 0x0a48
000002c8: JUMPI
000002c9: DUP1
000002ca: PUSH4 0x6e6260fa
000002cf: EQ
000002d0: PUSH2 0x0a6e
000002d3: JUMPI
000002d4: DUP1
000002d5: PUSH4 0x6ea68360
000002da: EQ
000002db: PUSH2 0x0a76
000002de: JUMPI
000002df: PUSH2 0x03f4
000002e2: JUMP
000002e3: JUMPDEST
000002e4: DUP1
000002e5: PUSH4 0x5e7f22c2
000002ea: EQ
000002eb: PUSH2 0x08ed
000002ee: JUMPI
000002ef: DUP1
000002f0: PUSH4 0x5ec2c7bf
000002f5: EQ
000002f6: PUSH2 0x0929
000002f9: JUMPI
000002fa: DUP1
000002fb: PUSH4 0x65054e55
00000300: EQ
00000301: PUSH2 0x0931
00000304: JUMPI
00000305: DUP1
00000306: PUSH4 0x657a37ad
0000030b: EQ
0000030c: PUSH2 0x096d
0000030f: JUMPI
00000310: PUSH2 0x03f4
00000313: JUMP
00000314: JUMPDEST
00000315: DUP1
00000316: PUSH4 0x2cef4dac
0000031b: GT
0000031c: PUSH2 0x038c
0000031f: JUMPI
00000320: DUP1
00000321: PUSH4 0x47e7ef24
00000326: GT
00000327: PUSH2 0x035b
0000032a: JUMPI
0000032b: DUP1
0000032c: PUSH4 0x47e7ef24
00000331: EQ
00000332: PUSH2 0x07ff
00000335: JUMPI
00000336: DUP1
00000337: PUSH4 0x4bf8e7a2
0000033c: EQ
0000033d: PUSH2 0x082b
00000340: JUMPI
00000341: DUP1
00000342: PUSH4 0x4e30a66c
00000347: EQ
00000348: PUSH2 0x087a
0000034b: JUMPI
0000034c: DUP1
0000034d: PUSH4 0x59f96ae5
00000352: EQ
00000353: PUSH2 0x08b1
00000356: JUMPI
00000357: PUSH2 0x03f4
0000035a: JUMP
0000035b: JUMPDEST
0000035c: DUP1
0000035d: PUSH4 0x2cef4dac
00000362: EQ
00000363: PUSH2 0x0776
00000366: JUMPI
00000367: DUP1
00000368: PUSH4 0x30690468
0000036d: EQ
0000036e: PUSH2 0x0780
00000371: JUMPI
00000372: DUP1
00000373: PUSH4 0x37775807
00000378: EQ
00000379: PUSH2 0x079d
0000037c: JUMPI
0000037d: DUP1
0000037e: PUSH4 0x403fbf54
00000383: EQ
00000384: PUSH2 0x07d9
00000387: JUMPI
00000388: PUSH2 0x03f4
0000038b: JUMP
0000038c: JUMPDEST
0000038d: DUP1
0000038e: PUSH4 0x0c57cfba
00000393: GT
00000394: PUSH2 0x03c8
00000397: JUMPI
00000398: DUP1
00000399: PUSH4 0x0c57cfba
0000039e: EQ
0000039f: PUSH2 0x0591
000003a2: JUMPI
000003a3: DUP1
000003a4: PUSH4 0x0e7c0f80
000003a9: EQ
000003aa: PUSH2 0x0700
000003ad: JUMPI
000003ae: DUP1
000003af: PUSH4 0x1006a41f
000003b4: EQ
000003b5: PUSH2 0x071a
000003b8: JUMPI
000003b9: DUP1
000003ba: PUSH4 0x14584a9d
000003bf: EQ
000003c0: PUSH2 0x0748
000003c3: JUMPI
000003c4: PUSH2 0x03f4
000003c7: JUMP
000003c8: JUMPDEST
000003c9: DUP1
000003ca: PUSH3 0x599e65
000003ce: EQ
000003cf: PUSH2 0x03f9
000003d2: JUMPI
000003d3: DUP1
000003d4: PUSH4 0x02ffc0b0
000003d9: EQ
000003da: PUSH2 0x044d
000003dd: JUMPI
000003de: DUP1
000003df: PUSH4 0x04e80e90
000003e4: EQ
000003e5: PUSH2 0x050d
000003e8: JUMPI
000003e9: DUP1
000003ea: PUSH4 0x06d58f2a
000003ef: EQ
000003f0: PUSH2 0x0531
000003f3: JUMPI
000003f4: JUMPDEST
000003f5: PUSH1 0x00
000003f7: DUP1
000003f8: REVERT
000003f9: JUMPDEST
000003fa: PUSH2 0x0427
000003fd: PUSH1 0x04
000003ff: DUP1
00000400: CALLDATASIZE
00000401: SUB
00000402: PUSH1 0x40
00000404: DUP2
00000405: LT
00000406: ISZERO
00000407: PUSH2 0x040f
0000040a: JUMPI
0000040b: PUSH1 0x00
0000040d: DUP1
0000040e: REVERT
0000040f: JUMPDEST
00000410: POP
00000411: PUSH1 0x01
00000413: PUSH1 0xa0
00000415: PUSH1 0x02
00000417: EXP
00000418: SUB
00000419: DUP2
0000041a: CALLDATALOAD
0000041b: DUP2
0000041c: AND
0000041d: SWAP2
0000041e: PUSH1 0x20
00000420: ADD
00000421: CALLDATALOAD
00000422: AND
00000423: PUSH2 0x145f
00000426: JUMP
00000427: JUMPDEST
00000428: PUSH1 0x40
0000042a: DUP1
0000042b: MLOAD
0000042c: PUSH1 0x01
0000042e: PUSH1 0xa0
00000430: PUSH1 0x02
00000432: EXP
00000433: SUB
00000434: SWAP4
00000435: DUP5
00000436: AND
00000437: DUP2
00000438: MSTORE
00000439: SWAP2
0000043a: SWAP1
0000043b: SWAP3
0000043c: AND
0000043d: PUSH1 0x20
0000043f: DUP3
00000440: ADD
00000441: MSTORE
00000442: DUP2
00000443: MLOAD
00000444: SWAP1
00000445: DUP2
00000446: SWAP1
00000447: SUB
00000448: SWAP1
00000449: SWAP2
0000044a: ADD
0000044b: SWAP1
0000044c: RETURN
0000044d: JUMPDEST
0000044e: PUSH2 0x04bd
00000451: PUSH1 0x04
00000453: DUP1
00000454: CALLDATASIZE
00000455: SUB
00000456: PUSH1 0x20
00000458: DUP2
00000459: LT
0000045a: ISZERO
0000045b: PUSH2 0x0463
0000045e: JUMPI
0000045f: PUSH1 0x00
00000461: DUP1
00000462: REVERT
00000463: JUMPDEST
00000464: DUP2
00000465: ADD
00000466: SWAP1
00000467: PUSH1 0x20
00000469: DUP2
0000046a: ADD
0000046b: DUP2
0000046c: CALLDATALOAD
0000046d: PUSH5 0x0100000000
00000473: DUP2
00000474: GT
00000475: ISZERO
00000476: PUSH2 0x047e
00000479: JUMPI
0000047a: PUSH1 0x00
0000047c: DUP1
0000047d: REVERT
0000047e: JUMPDEST
0000047f: DUP3
00000480: ADD
00000481: DUP4
00000482: PUSH1 0x20
00000484: DUP3
00000485: ADD
00000486: GT
00000487: ISZERO
00000488: PUSH2 0x0490
0000048b: JUMPI
0000048c: PUSH1 0x00
0000048e: DUP1
0000048f: REVERT
00000490: JUMPDEST
00000491: DUP1
00000492: CALLDATALOAD
00000493: SWAP1
00000494: PUSH1 0x20
00000496: ADD
00000497: SWAP2
00000498: DUP5
00000499: PUSH1 0x20
0000049b: DUP4
0000049c: MUL
0000049d: DUP5
0000049e: ADD
0000049f: GT
000004a0: PUSH5 0x0100000000
000004a6: DUP4
000004a7: GT
000004a8: OR
000004a9: ISZERO
000004aa: PUSH2 0x04b2
000004ad: JUMPI
000004ae: PUSH1 0x00
000004b0: DUP1
000004b1: REVERT
000004b2: JUMPDEST
000004b3: POP
000004b4: SWAP1
000004b5: SWAP3
000004b6: POP
000004b7: SWAP1
000004b8: POP
000004b9: PUSH2 0x1488
000004bc: JUMP
000004bd: JUMPDEST
000004be: PUSH1 0x40
000004c0: DUP1
000004c1: MLOAD
000004c2: PUSH1 0x20
000004c4: DUP1
000004c5: DUP3
000004c6: MSTORE
000004c7: DUP4
000004c8: MLOAD
000004c9: DUP2
000004ca: DUP4
000004cb: ADD
000004cc: MSTORE
000004cd: DUP4
000004ce: MLOAD
000004cf: SWAP2
000004d0: SWAP3
000004d1: DUP4
000004d2: SWAP3
000004d3: SWAP1
000004d4: DUP4
000004d5: ADD
000004d6: SWAP2
000004d7: DUP6
000004d8: DUP2
000004d9: ADD
000004da: SWAP2
000004db: MUL
000004dc: DUP1
000004dd: DUP4
000004de: DUP4
000004df: PUSH1 0x00
000004e1: JUMPDEST
000004e2: DUP4
000004e3: DUP2
000004e4: LT
000004e5: ISZERO
000004e6: PUSH2 0x04f9
000004e9: JUMPI
000004ea: DUP2
000004eb: DUP2
000004ec: ADD
000004ed: MLOAD
000004ee: DUP4
000004ef: DUP3
000004f0: ADD
000004f1: MSTORE
000004f2: PUSH1 0x20
000004f4: ADD
000004f5: PUSH2 0x04e1
000004f8: JUMP
000004f9: JUMPDEST
000004fa: POP
000004fb: POP
000004fc: POP
000004fd: POP
000004fe: SWAP1
000004ff: POP
00000500: ADD
00000501: SWAP3
00000502: POP
00000503: POP
00000504: POP
00000505: PUSH1 0x40
00000507: MLOAD
00000508: DUP1
00000509: SWAP2
0000050a: SUB
0000050b: SWAP1
0000050c: RETURN
0000050d: JUMPDEST
0000050e: PUSH2 0x0515
00000511: PUSH2 0x1544
00000514: JUMP
00000515: JUMPDEST
00000516: PUSH1 0x40
00000518: DUP1
00000519: MLOAD
0000051a: PUSH1 0x01
0000051c: PUSH1 0xa0
0000051e: PUSH1 0x02
00000520: EXP
00000521: SUB
00000522: SWAP1
00000523: SWAP3
00000524: AND
00000525: DUP3
00000526: MSTORE
00000527: MLOAD
00000528: SWAP1
00000529: DUP2
0000052a: SWAP1
0000052b: SUB
0000052c: PUSH1 0x20
0000052e: ADD
0000052f: SWAP1
00000530: RETURN
00000531: JUMPDEST
00000532: PUSH2 0x0573
00000535: PUSH1 0x04
00000537: DUP1
00000538: CALLDATASIZE
00000539: SUB
0000053a: PUSH1 0xa0
0000053c: DUP2
0000053d: LT
0000053e: ISZERO
0000053f: PUSH2 0x0547
00000542: JUMPI
00000543: PUSH1 0x00
00000545: DUP1
00000546: REVERT
00000547: JUMPDEST
00000548: POP
00000549: PUSH1 0x01
0000054b: PUSH1 0xa0
0000054d: PUSH1 0x02
0000054f: EXP
00000550: SUB
00000551: DUP2
00000552: CALLDATALOAD
00000553: DUP2
00000554: AND
00000555: SWAP2
00000556: PUSH1 0x20
00000558: DUP2
00000559: ADD
0000055a: CALLDATALOAD
0000055b: DUP3
0000055c: AND
0000055d: SWAP2
0000055e: PUSH1 0x40
00000560: DUP3
00000561: ADD
00000562: CALLDATALOAD
00000563: AND
00000564: SWAP1
00000565: PUSH1 0x60
00000567: DUP2
00000568: ADD
00000569: CALLDATALOAD
0000056a: SWAP1
0000056b: PUSH1 0x80
0000056d: ADD
0000056e: CALLDATALOAD
0000056f: PUSH2 0x1553
00000572: JUMP
00000573: JUMPDEST
00000574: PUSH1 0x40
00000576: DUP1
00000577: MLOAD
00000578: SWAP4
00000579: DUP5
0000057a: MSTORE
0000057b: PUSH1 0x20
0000057d: DUP5
0000057e: ADD
0000057f: SWAP3
00000580: SWAP1
00000581: SWAP3
00000582: MSTORE
00000583: DUP3
00000584: DUP3
00000585: ADD
00000586: MSTORE
00000587: MLOAD
00000588: SWAP1
00000589: DUP2
0000058a: SWAP1
0000058b: SUB
0000058c: PUSH1 0x60
0000058e: ADD
0000058f: SWAP1
00000590: RETURN
00000591: JUMPDEST
00000592: PUSH2 0x06a5
00000595: PUSH1 0x04
00000597: DUP1
00000598: CALLDATASIZE
00000599: SUB
0000059a: PUSH1 0x60
0000059c: DUP2
0000059d: LT
0000059e: ISZERO
0000059f: PUSH2 0x05a7
000005a2: JUMPI
000005a3: PUSH1 0x00
000005a5: DUP1
000005a6: REVERT
000005a7: JUMPDEST
000005a8: DUP2
000005a9: ADD
000005aa: SWAP1
000005ab: PUSH1 0x20
000005ad: DUP2
000005ae: ADD
000005af: DUP2
000005b0: CALLDATALOAD
000005b1: PUSH5 0x0100000000
000005b7: DUP2
000005b8: GT
000005b9: ISZERO
000005ba: PUSH2 0x05c2
000005bd: JUMPI
000005be: PUSH1 0x00
000005c0: DUP1
000005c1: REVERT
000005c2: JUMPDEST
000005c3: DUP3
000005c4: ADD
000005c5: DUP4
000005c6: PUSH1 0x20
000005c8: DUP3
000005c9: ADD
000005ca: GT
000005cb: ISZERO
000005cc: PUSH2 0x05d4
000005cf: JUMPI
000005d0: PUSH1 0x00
000005d2: DUP1
000005d3: REVERT
000005d4: JUMPDEST
000005d5: DUP1
000005d6: CALLDATALOAD
000005d7: SWAP1
000005d8: PUSH1 0x20
000005da: ADD
000005db: SWAP2
000005dc: DUP5
000005dd: PUSH1 0x20
000005df: DUP4
000005e0: MUL
000005e1: DUP5
000005e2: ADD
000005e3: GT
000005e4: PUSH5 0x0100000000
000005ea: DUP4
000005eb: GT
000005ec: OR
000005ed: ISZERO
000005ee: PUSH2 0x05f6
000005f1: JUMPI
000005f2: PUSH1 0x00
000005f4: DUP1
000005f5: REVERT
000005f6: JUMPDEST
000005f7: SWAP2
000005f8: SWAP4
000005f9: SWAP1
000005fa: SWAP3
000005fb: SWAP1
000005fc: SWAP2
000005fd: PUSH1 0x20
000005ff: DUP2
00000600: ADD
00000601: SWAP1
00000602: CALLDATALOAD
00000603: PUSH5 0x0100000000
00000609: DUP2
0000060a: GT
0000060b: ISZERO
0000060c: PUSH2 0x0614
0000060f: JUMPI
00000610: PUSH1 0x00
00000612: DUP1
00000613: REVERT
00000614: JUMPDEST
00000615: DUP3
00000616: ADD
00000617: DUP4
00000618: PUSH1 0x20
0000061a: DUP3
0000061b: ADD
0000061c: GT
0000061d: ISZERO
0000061e: PUSH2 0x0626
00000621: JUMPI
00000622: PUSH1 0x00
00000624: DUP1
00000625: REVERT
00000626: JUMPDEST
00000627: DUP1
00000628: CALLDATALOAD
00000629: SWAP1
0000062a: PUSH1 0x20
0000062c: ADD
0000062d: SWAP2
0000062e: DUP5
0000062f: PUSH1 0x20
00000631: DUP4
00000632: MUL
00000633: DUP5
00000634: ADD
00000635: GT
00000636: PUSH5 0x0100000000
0000063c: DUP4
0000063d: GT
0000063e: OR
0000063f: ISZERO
00000640: PUSH2 0x0648
00000643: JUMPI
00000644: PUSH1 0x00
00000646: DUP1
00000647: REVERT
00000648: JUMPDEST
00000649: SWAP2
0000064a: SWAP4
0000064b: SWAP1
0000064c: SWAP3
0000064d: SWAP1
0000064e: SWAP2
0000064f: PUSH1 0x20
00000651: DUP2
00000652: ADD
00000653: SWAP1
00000654: CALLDATALOAD
00000655: PUSH5 0x0100000000
0000065b: DUP2
0000065c: GT
0000065d: ISZERO
0000065e: PUSH2 0x0666
00000661: JUMPI
00000662: PUSH1 0x00
00000664: DUP1
00000665: REVERT
00000666: JUMPDEST
00000667: DUP3
00000668: ADD
00000669: DUP4
0000066a: PUSH1 0x20
0000066c: DUP3
0000066d: ADD
0000066e: GT
0000066f: ISZERO
00000670: PUSH2 0x0678
00000673: JUMPI
00000674: PUSH1 0x00
00000676: DUP1
00000677: REVERT
00000678: JUMPDEST
00000679: DUP1
0000067a: CALLDATALOAD
0000067b: SWAP1
0000067c: PUSH1 0x20
0000067e: ADD
0000067f: SWAP2
00000680: DUP5
00000681: PUSH1 0x20
00000683: DUP4
00000684: MUL
00000685: DUP5
00000686: ADD
00000687: GT
00000688: PUSH5 0x0100000000
0000068e: DUP4
0000068f: GT
00000690: OR
00000691: ISZERO
00000692: PUSH2 0x069a
00000695: JUMPI
00000696: PUSH1 0x00
00000698: DUP1
00000699: REVERT
0000069a: JUMPDEST
0000069b: POP
0000069c: SWAP1
0000069d: SWAP3
0000069e: POP
0000069f: SWAP1
000006a0: POP
000006a1: PUSH2 0x1580
000006a4: JUMP
000006a5: JUMPDEST
000006a6: PUSH1 0x40
000006a8: MLOAD
000006a9: DUP1
000006aa: DUP1
000006ab: PUSH1 0x20
000006ad: ADD
000006ae: DUP4
000006af: DUP2
000006b0: MSTORE
000006b1: PUSH1 0x20
000006b3: ADD
000006b4: DUP3
000006b5: DUP2
000006b6: SUB
000006b7: DUP3
000006b8: MSTORE
000006b9: DUP5
000006ba: DUP2
000006bb: DUP2
000006bc: MLOAD
000006bd: DUP2
000006be: MSTORE
000006bf: PUSH1 0x20
000006c1: ADD
000006c2: SWAP2
000006c3: POP
000006c4: DUP1
000006c5: MLOAD
000006c6: SWAP1
000006c7: PUSH1 0x20
000006c9: ADD
000006ca: SWAP1
000006cb: PUSH1 0x20
000006cd: MUL
000006ce: DUP1
000006cf: DUP4
000006d0: DUP4
000006d1: PUSH1 0x00
000006d3: JUMPDEST
000006d4: DUP4
000006d5: DUP2
000006d6: LT
000006d7: ISZERO
000006d8: PUSH2 0x06eb
000006db: JUMPI
000006dc: DUP2
000006dd: DUP2
000006de: ADD
000006df: MLOAD
000006e0: DUP4
000006e1: DUP3
000006e2: ADD
000006e3: MSTORE
000006e4: PUSH1 0x20
000006e6: ADD
000006e7: PUSH2 0x06d3
000006ea: JUMP
000006eb: JUMPDEST
000006ec: POP
000006ed: POP
000006ee: POP
000006ef: POP
000006f0: SWAP1
000006f1: POP
000006f2: ADD
000006f3: SWAP4
000006f4: POP
000006f5: POP
000006f6: POP
000006f7: POP
000006f8: PUSH1 0x40
000006fa: MLOAD
000006fb: DUP1
000006fc: SWAP2
000006fd: SUB
000006fe: SWAP1
000006ff: RETURN
00000700: JUMPDEST
00000701: PUSH2 0x0708
00000704: PUSH2 0x172f
00000707: JUMP
00000708: JUMPDEST
00000709: PUSH1 0x40
0000070b: DUP1
0000070c: MLOAD
0000070d: SWAP2
0000070e: DUP3
0000070f: MSTORE
00000710: MLOAD
00000711: SWAP1
00000712: DUP2
00000713: SWAP1
00000714: SUB
00000715: PUSH1 0x20
00000717: ADD
00000718: SWAP1
00000719: RETURN
0000071a: JUMPDEST
0000071b: PUSH2 0x0708
0000071e: PUSH1 0x04
00000720: DUP1
00000721: CALLDATASIZE
00000722: SUB
00000723: PUSH1 0x40
00000725: DUP2
00000726: LT
00000727: ISZERO
00000728: PUSH2 0x0730
0000072b: JUMPI
0000072c: PUSH1 0x00
0000072e: DUP1
0000072f: REVERT
00000730: JUMPDEST
00000731: POP
00000732: PUSH1 0x01
00000734: PUSH1 0xa0
00000736: PUSH1 0x02
00000738: EXP
00000739: SUB
0000073a: DUP2
0000073b: CALLDATALOAD
0000073c: DUP2
0000073d: AND
0000073e: SWAP2
0000073f: PUSH1 0x20
00000741: ADD
00000742: CALLDATALOAD
00000743: AND
00000744: PUSH2 0x1735
00000747: JUMP
00000748: JUMPDEST
00000749: PUSH2 0x0708
0000074c: PUSH1 0x04
0000074e: DUP1
0000074f: CALLDATASIZE
00000750: SUB
00000751: PUSH1 0x40
00000753: DUP2
00000754: LT
00000755: ISZERO
00000756: PUSH2 0x075e
00000759: JUMPI
0000075a: PUSH1 0x00
0000075c: DUP1
0000075d: REVERT
0000075e: JUMPDEST
0000075f: POP
00000760: PUSH1 0x01
00000762: PUSH1 0xa0
00000764: PUSH1 0x02
00000766: EXP
00000767: SUB
00000768: DUP2
00000769: CALLDATALOAD
0000076a: DUP2
0000076b: AND
0000076c: SWAP2
0000076d: PUSH1 0x20
0000076f: ADD
00000770: CALLDATALOAD
00000771: AND
00000772: PUSH2 0x1752
00000775: JUMP
00000776: JUMPDEST
00000777: PUSH2 0x077e
0000077a: PUSH2 0x178d
0000077d: JUMP
0000077e: JUMPDEST
0000077f: STOP
00000780: JUMPDEST
00000781: PUSH2 0x0708
00000784: PUSH1 0x04
00000786: DUP1
00000787: CALLDATASIZE
00000788: SUB
00000789: PUSH1 0x20
0000078b: DUP2
0000078c: LT
0000078d: ISZERO
0000078e: PUSH2 0x0796
00000791: JUMPI
00000792: PUSH1 0x00
00000794: DUP1
00000795: REVERT
00000796: JUMPDEST
00000797: POP
00000798: CALLDATALOAD
00000799: PUSH2 0x1851
0000079c: JUMP
0000079d: JUMPDEST
0000079e: PUSH2 0x0708
000007a1: PUSH1 0x04
000007a3: DUP1
000007a4: CALLDATASIZE
000007a5: SUB
000007a6: PUSH1 0x80
000007a8: DUP2
000007a9: LT
000007aa: ISZERO
000007ab: PUSH2 0x07b3
000007ae: JUMPI
000007af: PUSH1 0x00
000007b1: DUP1
000007b2: REVERT
000007b3: JUMPDEST
000007b4: POP
000007b5: PUSH1 0x01
000007b7: PUSH1 0xa0
000007b9: PUSH1 0x02
000007bb: EXP
000007bc: SUB
000007bd: DUP2
000007be: CALLDATALOAD
000007bf: DUP2
000007c0: AND
000007c1: SWAP2
000007c2: PUSH1 0x20
000007c4: DUP2
000007c5: ADD
000007c6: CALLDATALOAD
000007c7: DUP3
000007c8: AND
000007c9: SWAP2
000007ca: PUSH1 0x40
000007cc: DUP3
000007cd: ADD
000007ce: CALLDATALOAD
000007cf: SWAP2
000007d0: PUSH1 0x60
000007d2: ADD
000007d3: CALLDATALOAD
000007d4: AND
000007d5: PUSH2 0x186b
000007d8: JUMP
000007d9: JUMPDEST
000007da: PUSH2 0x077e
000007dd: PUSH1 0x04
000007df: DUP1
000007e0: CALLDATASIZE
000007e1: SUB
000007e2: PUSH1 0x20
000007e4: DUP2
000007e5: LT
000007e6: ISZERO
000007e7: PUSH2 0x07ef
000007ea: JUMPI
000007eb: PUSH1 0x00
000007ed: DUP1
000007ee: REVERT
000007ef: JUMPDEST
000007f0: POP
000007f1: CALLDATALOAD
000007f2: PUSH1 0x01
000007f4: PUSH1 0xa0
000007f6: PUSH1 0x02
000007f8: EXP
000007f9: SUB
000007fa: AND
000007fb: PUSH2 0x1897
000007fe: JUMP
000007ff: JUMPDEST
00000800: PUSH2 0x0708
00000803: PUSH1 0x04
00000805: DUP1
00000806: CALLDATASIZE
00000807: SUB
00000808: PUSH1 0x40
0000080a: DUP2
0000080b: LT
0000080c: ISZERO
0000080d: PUSH2 0x0815
00000810: JUMPI
00000811: PUSH1 0x00
00000813: DUP1
00000814: REVERT
00000815: JUMPDEST
00000816: POP
00000817: PUSH1 0x01
00000819: PUSH1 0xa0
0000081b: PUSH1 0x02
0000081d: EXP
0000081e: SUB
0000081f: DUP2
00000820: CALLDATALOAD
00000821: AND
00000822: SWAP1
00000823: PUSH1 0x20
00000825: ADD
00000826: CALLDATALOAD
00000827: PUSH2 0x19ba
0000082a: JUMP
0000082b: JUMPDEST
0000082c: PUSH2 0x0861
0000082f: PUSH1 0x04
00000831: DUP1
00000832: CALLDATASIZE
00000833: SUB
00000834: PUSH1 0x60
00000836: DUP2
00000837: LT
00000838: ISZERO
00000839: PUSH2 0x0841
0000083c: JUMPI
0000083d: PUSH1 0x00
0000083f: DUP1
00000840: REVERT
00000841: JUMPDEST
00000842: POP
00000843: PUSH1 0x01
00000845: PUSH1 0xa0
00000847: PUSH1 0x02
00000849: EXP
0000084a: SUB
0000084b: DUP2
0000084c: CALLDATALOAD
0000084d: DUP2
0000084e: AND
0000084f: SWAP2
00000850: PUSH1 0x20
00000852: DUP2
00000853: ADD
00000854: CALLDATALOAD
00000855: SWAP1
00000856: SWAP2
00000857: AND
00000858: SWAP1
00000859: PUSH1 0x40
0000085b: ADD
0000085c: CALLDATALOAD
0000085d: PUSH2 0x1a9c
00000860: JUMP
00000861: JUMPDEST
00000862: PUSH1 0x40
00000864: DUP1
00000865: MLOAD
00000866: SWAP3
00000867: DUP4
00000868: MSTORE
00000869: PUSH1 0x20
0000086b: DUP4
0000086c: ADD
0000086d: SWAP2
0000086e: SWAP1
0000086f: SWAP2
00000870: MSTORE
00000871: DUP1
00000872: MLOAD
00000873: SWAP2
00000874: DUP3
00000875: SWAP1
00000876: SUB
00000877: ADD
00000878: SWAP1
00000879: RETURN
0000087a: JUMPDEST
0000087b: PUSH2 0x089d
0000087e: PUSH1 0x04
00000880: DUP1
00000881: CALLDATASIZE
00000882: SUB
00000883: PUSH1 0x40
00000885: DUP2
00000886: LT
00000887: ISZERO
00000888: PUSH2 0x0890
0000088b: JUMPI
0000088c: PUSH1 0x00
0000088e: DUP1
0000088f: REVERT
00000890: JUMPDEST
00000891: POP
00000892: DUP1
00000893: CALLDATALOAD
00000894: SWAP1
00000895: PUSH1 0x20
00000897: ADD
00000898: CALLDATALOAD
00000899: PUSH2 0x1c27
0000089c: JUMP
0000089d: JUMPDEST
0000089e: PUSH1 0x40
000008a0: DUP1
000008a1: MLOAD
000008a2: SWAP2
000008a3: ISZERO
000008a4: ISZERO
000008a5: DUP3
000008a6: MSTORE
000008a7: MLOAD
000008a8: SWAP1
000008a9: DUP2
000008aa: SWAP1
000008ab: SUB
000008ac: PUSH1 0x20
000008ae: ADD
000008af: SWAP1
000008b0: RETURN
000008b1: JUMPDEST
000008b2: PUSH2 0x0861
000008b5: PUSH1 0x04
000008b7: DUP1
000008b8: CALLDATASIZE
000008b9: SUB
000008ba: PUSH1 0x80
000008bc: DUP2
000008bd: LT
000008be: ISZERO
000008bf: PUSH2 0x08c7
000008c2: JUMPI
000008c3: PUSH1 0x00
000008c5: DUP1
000008c6: REVERT
000008c7: JUMPDEST
000008c8: POP
000008c9: PUSH1 0x01
000008cb: PUSH1 0xa0
000008cd: PUSH1 0x02
000008cf: EXP
000008d0: SUB
000008d1: DUP2
000008d2: CALLDATALOAD
000008d3: DUP2
000008d4: AND
000008d5: SWAP2
000008d6: PUSH1 0x20
000008d8: DUP2
000008d9: ADD
000008da: CALLDATALOAD
000008db: SWAP1
000008dc: SWAP2
000008dd: AND
000008de: SWAP1
000008df: PUSH1 0x40
000008e1: DUP2
000008e2: ADD
000008e3: CALLDATALOAD
000008e4: SWAP1
000008e5: PUSH1 0x60
000008e7: ADD
000008e8: CALLDATALOAD
000008e9: PUSH2 0x1c2e
000008ec: JUMP
000008ed: JUMPDEST
000008ee: PUSH2 0x0708
000008f1: PUSH1 0x04
000008f3: DUP1
000008f4: CALLDATASIZE
000008f5: SUB
000008f6: PUSH1 0x80
000008f8: DUP2
000008f9: LT
000008fa: ISZERO
000008fb: PUSH2 0x0903
000008fe: JUMPI
000008ff: PUSH1 0x00
00000901: DUP1
00000902: REVERT
00000903: JUMPDEST
00000904: POP
00000905: PUSH1 0x01
00000907: PUSH1 0xa0
00000909: PUSH1 0x02
0000090b: EXP
0000090c: SUB
0000090d: DUP2
0000090e: CALLDATALOAD
0000090f: DUP2
00000910: AND
00000911: SWAP2
00000912: PUSH1 0x20
00000914: DUP2
00000915: ADD
00000916: CALLDATALOAD
00000917: SWAP1
00000918: SWAP2
00000919: AND
0000091a: SWAP1
0000091b: PUSH1 0x40
0000091d: DUP2
0000091e: ADD
0000091f: CALLDATALOAD
00000920: SWAP1
00000921: PUSH1 0x60
00000923: ADD
00000924: CALLDATALOAD
00000925: PUSH2 0x1fcb
00000928: JUMP
00000929: JUMPDEST
0000092a: PUSH2 0x0515
0000092d: PUSH2 0x2413
00000930: JUMP
00000931: JUMPDEST
00000932: PUSH2 0x0861
00000935: PUSH1 0x04
00000937: DUP1
00000938: CALLDATASIZE
00000939: SUB
0000093a: PUSH1 0x80
0000093c: DUP2
0000093d: LT
0000093e: ISZERO
0000093f: PUSH2 0x0947
00000942: JUMPI
00000943: PUSH1 0x00
00000945: DUP1
00000946: REVERT
00000947: JUMPDEST
00000948: POP
00000949: PUSH1 0x01
0000094b: PUSH1 0xa0
0000094d: PUSH1 0x02
0000094f: EXP
00000950: SUB
00000951: DUP2
00000952: CALLDATALOAD
00000953: DUP2
00000954: AND
00000955: SWAP2
00000956: PUSH1 0x20
00000958: DUP2
00000959: ADD
0000095a: CALLDATALOAD
0000095b: DUP3
0000095c: AND
0000095d: SWAP2
0000095e: PUSH1 0x40
00000960: DUP3
00000961: ADD
00000962: CALLDATALOAD
00000963: AND
00000964: SWAP1
00000965: PUSH1 0x60
00000967: ADD
00000968: CALLDATALOAD
00000969: PUSH2 0x2422
0000096c: JUMP
0000096d: JUMPDEST
0000096e: PUSH2 0x0573
00000971: PUSH1 0x04
00000973: DUP1
00000974: CALLDATASIZE
00000975: SUB
00000976: PUSH1 0x60
00000978: DUP2
00000979: LT
0000097a: ISZERO
0000097b: PUSH2 0x0983
0000097e: JUMPI
0000097f: PUSH1 0x00
00000981: DUP1
00000982: REVERT
00000983: JUMPDEST
00000984: POP
00000985: PUSH1 0x01
00000987: PUSH1 0xa0
00000989: PUSH1 0x02
0000098b: EXP
0000098c: SUB
0000098d: DUP2
0000098e: CALLDATALOAD
0000098f: DUP2
00000990: AND
00000991: SWAP2
00000992: PUSH1 0x20
00000994: DUP2
00000995: ADD
00000996: CALLDATALOAD
00000997: SWAP1
00000998: SWAP2
00000999: AND
0000099a: SWAP1
0000099b: PUSH1 0x40
0000099d: ADD
0000099e: CALLDATALOAD
0000099f: PUSH2 0x25f6
000009a2: JUMP
000009a3: JUMPDEST
000009a4: PUSH2 0x077e
000009a7: PUSH1 0x04
000009a9: DUP1
000009aa: CALLDATASIZE
000009ab: SUB
000009ac: PUSH1 0x40
000009ae: DUP2
000009af: LT
000009b0: ISZERO
000009b1: PUSH2 0x09b9
000009b4: JUMPI
000009b5: PUSH1 0x00
000009b7: DUP1
000009b8: REVERT
000009b9: JUMPDEST
000009ba: DUP2
000009bb: ADD
000009bc: SWAP1
000009bd: PUSH1 0x20
000009bf: DUP2
000009c0: ADD
000009c1: DUP2
000009c2: CALLDATALOAD
000009c3: PUSH5 0x0100000000
000009c9: DUP2
000009ca: GT
000009cb: ISZERO
000009cc: PUSH2 0x09d4
000009cf: JUMPI
000009d0: PUSH1 0x00
000009d2: DUP1
000009d3: REVERT
000009d4: JUMPDEST
000009d5: DUP3
000009d6: ADD
000009d7: DUP4
000009d8: PUSH1 0x20
000009da: DUP3
000009db: ADD
000009dc: GT
000009dd: ISZERO
000009de: PUSH2 0x09e6
000009e1: JUMPI
000009e2: PUSH1 0x00
000009e4: DUP1
000009e5: REVERT
000009e6: JUMPDEST
000009e7: DUP1
000009e8: CALLDATALOAD
000009e9: SWAP1
000009ea: PUSH1 0x20
000009ec: ADD
000009ed: SWAP2
000009ee: DUP5
000009ef: PUSH1 0x20
000009f1: DUP4
000009f2: MUL
000009f3: DUP5
000009f4: ADD
000009f5: GT
000009f6: PUSH5 0x0100000000
000009fc: DUP4
000009fd: GT
000009fe: OR
000009ff: ISZERO
00000a00: PUSH2 0x0a08
00000a03: JUMPI
00000a04: PUSH1 0x00
00000a06: DUP1
00000a07: REVERT
00000a08: JUMPDEST
00000a09: SWAP2
00000a0a: SWAP1
00000a0b: DUP1
00000a0c: DUP1
00000a0d: PUSH1 0x20
00000a0f: MUL
00000a10: PUSH1 0x20
00000a12: ADD
00000a13: PUSH1 0x40
00000a15: MLOAD
00000a16: SWAP1
00000a17: DUP2
00000a18: ADD
00000a19: PUSH1 0x40
00000a1b: MSTORE
00000a1c: DUP1
00000a1d: SWAP4
00000a1e: SWAP3
00000a1f: SWAP2
00000a20: SWAP1
00000a21: DUP2
00000a22: DUP2
00000a23: MSTORE
00000a24: PUSH1 0x20
00000a26: ADD
00000a27: DUP4
00000a28: DUP4
00000a29: PUSH1 0x20
00000a2b: MUL
00000a2c: DUP1
00000a2d: DUP3
00000a2e: DUP5
00000a2f: CALLDATACOPY
00000a30: PUSH1 0x00
00000a32: SWAP3
00000a33: ADD
00000a34: SWAP2
00000a35: SWAP1
00000a36: SWAP2
00000a37: MSTORE
00000a38: POP
00000a39: SWAP3
00000a3a: SWAP6
00000a3b: POP
00000a3c: POP
00000a3d: POP
00000a3e: POP
00000a3f: CALLDATALOAD
00000a40: ISZERO
00000a41: ISZERO
00000a42: SWAP1
00000a43: POP
00000a44: PUSH2 0x2623
00000a47: JUMP
00000a48: JUMPDEST
00000a49: PUSH2 0x089d
00000a4c: PUSH1 0x04
00000a4e: DUP1
00000a4f: CALLDATASIZE
00000a50: SUB
00000a51: PUSH1 0x20
00000a53: DUP2
00000a54: LT
00000a55: ISZERO
00000a56: PUSH2 0x0a5e
00000a59: JUMPI
00000a5a: PUSH1 0x00
00000a5c: DUP1
00000a5d: REVERT
00000a5e: JUMPDEST
00000a5f: POP
00000a60: CALLDATALOAD
00000a61: PUSH1 0x01
00000a63: PUSH1 0xa0
00000a65: PUSH1 0x02
00000a67: EXP
00000a68: SUB
00000a69: AND
00000a6a: PUSH2 0x2729
00000a6d: JUMP
00000a6e: JUMPDEST
00000a6f: PUSH2 0x0708
00000a72: PUSH2 0x273e
00000a75: JUMP
00000a76: JUMPDEST
00000a77: PUSH2 0x0515
00000a7a: PUSH2 0x2744
00000a7d: JUMP
00000a7e: JUMPDEST
00000a7f: PUSH2 0x0515
00000a82: PUSH2 0x2753
00000a85: JUMP
00000a86: JUMPDEST
00000a87: PUSH2 0x0708
00000a8a: PUSH1 0x04
00000a8c: DUP1
00000a8d: CALLDATASIZE
00000a8e: SUB
00000a8f: PUSH1 0x60
00000a91: DUP2
00000a92: LT
00000a93: ISZERO
00000a94: PUSH2 0x0a9c
00000a97: JUMPI
00000a98: PUSH1 0x00
00000a9a: DUP1
00000a9b: REVERT
00000a9c: JUMPDEST
00000a9d: POP
00000a9e: PUSH1 0x01
00000aa0: PUSH1 0xa0
00000aa2: PUSH1 0x02
00000aa4: EXP
00000aa5: SUB
00000aa6: DUP2
00000aa7: CALLDATALOAD
00000aa8: DUP2
00000aa9: AND
00000aaa: SWAP2
00000aab: PUSH1 0x20
00000aad: DUP2
00000aae: ADD
00000aaf: CALLDATALOAD
00000ab0: SWAP1
00000ab1: SWAP2
00000ab2: AND
00000ab3: SWAP1
00000ab4: PUSH1 0x40
00000ab6: ADD
00000ab7: CALLDATALOAD
00000ab8: PUSH2 0x2762
00000abb: JUMP
00000abc: JUMPDEST
00000abd: PUSH2 0x0708
00000ac0: PUSH1 0x04
00000ac2: DUP1
00000ac3: CALLDATASIZE
00000ac4: SUB
00000ac5: PUSH1 0x40
00000ac7: DUP2
00000ac8: LT
00000ac9: ISZERO
00000aca: PUSH2 0x0ad2
00000acd: JUMPI
00000ace: PUSH1 0x00
00000ad0: DUP1
00000ad1: REVERT
00000ad2: JUMPDEST
00000ad3: POP
00000ad4: DUP1
00000ad5: CALLDATALOAD
00000ad6: SWAP1
00000ad7: PUSH1 0x20
00000ad9: ADD
00000ada: CALLDATALOAD
00000adb: PUSH2 0x27a7
00000ade: JUMP
00000adf: JUMPDEST
00000ae0: PUSH2 0x0bfc
00000ae3: PUSH1 0x04
00000ae5: DUP1
00000ae6: CALLDATASIZE
00000ae7: SUB
00000ae8: PUSH1 0x80
00000aea: DUP2
00000aeb: LT
00000aec: ISZERO
00000aed: PUSH2 0x0af5
00000af0: JUMPI
00000af1: PUSH1 0x00
00000af3: DUP1
00000af4: REVERT
00000af5: JUMPDEST
00000af6: DUP2
00000af7: ADD
00000af8: SWAP1
00000af9: PUSH1 0x20
00000afb: DUP2
00000afc: ADD
00000afd: DUP2
00000afe: CALLDATALOAD
00000aff: PUSH5 0x0100000000
00000b05: DUP2
00000b06: GT
00000b07: ISZERO
00000b08: PUSH2 0x0b10
00000b0b: JUMPI
00000b0c: PUSH1 0x00
00000b0e: DUP1
00000b0f: REVERT
00000b10: JUMPDEST
00000b11: DUP3
00000b12: ADD
00000b13: DUP4
00000b14: PUSH1 0x20
00000b16: DUP3
00000b17: ADD
00000b18: GT
00000b19: ISZERO
00000b1a: PUSH2 0x0b22
00000b1d: JUMPI
00000b1e: PUSH1 0x00
00000b20: DUP1
00000b21: REVERT
00000b22: JUMPDEST
00000b23: DUP1
00000b24: CALLDATALOAD
00000b25: SWAP1
00000b26: PUSH1 0x20
00000b28: ADD
00000b29: SWAP2
00000b2a: DUP5
00000b2b: PUSH1 0x20
00000b2d: DUP4
00000b2e: MUL
00000b2f: DUP5
00000b30: ADD
00000b31: GT
00000b32: PUSH5 0x0100000000
00000b38: DUP4
00000b39: GT
00000b3a: OR
00000b3b: ISZERO
00000b3c: PUSH2 0x0b44
00000b3f: JUMPI
00000b40: PUSH1 0x00
00000b42: DUP1
00000b43: REVERT
00000b44: JUMPDEST
00000b45: SWAP2
00000b46: SWAP4
00000b47: SWAP1
00000b48: SWAP3
00000b49: SWAP1
00000b4a: SWAP2
00000b4b: PUSH1 0x20
00000b4d: DUP2
00000b4e: ADD
00000b4f: SWAP1
00000b50: CALLDATALOAD
00000b51: PUSH5 0x0100000000
00000b57: DUP2
00000b58: GT
00000b59: ISZERO
00000b5a: PUSH2 0x0b62
00000b5d: JUMPI
00000b5e: PUSH1 0x00
00000b60: DUP1
00000b61: REVERT
00000b62: JUMPDEST
00000b63: DUP3
00000b64: ADD
00000b65: DUP4
00000b66: PUSH1 0x20
00000b68: DUP3
00000b69: ADD
00000b6a: GT
00000b6b: ISZERO
00000b6c: PUSH2 0x0b74
00000b6f: JUMPI
00000b70: PUSH1 0x00
00000b72: DUP1
00000b73: REVERT
00000b74: JUMPDEST
00000b75: DUP1
00000b76: CALLDATALOAD
00000b77: SWAP1
00000b78: PUSH1 0x20
00000b7a: ADD
00000b7b: SWAP2
00000b7c: DUP5
00000b7d: PUSH1 0x20
00000b7f: DUP4
00000b80: MUL
00000b81: DUP5
00000b82: ADD
00000b83: GT
00000b84: PUSH5 0x0100000000
00000b8a: DUP4
00000b8b: GT
00000b8c: OR
00000b8d: ISZERO
00000b8e: PUSH2 0x0b96
00000b91: JUMPI
00000b92: PUSH1 0x00
00000b94: DUP1
00000b95: REVERT
00000b96: JUMPDEST
00000b97: SWAP2
00000b98: SWAP4
00000b99: SWAP1
00000b9a: SWAP3
00000b9b: SWAP1
00000b9c: SWAP2
00000b9d: PUSH1 0x20
00000b9f: DUP2
00000ba0: ADD
00000ba1: SWAP1
00000ba2: CALLDATALOAD
00000ba3: PUSH5 0x0100000000
00000ba9: DUP2
00000baa: GT
00000bab: ISZERO
00000bac: PUSH2 0x0bb4
00000baf: JUMPI
00000bb0: PUSH1 0x00
00000bb2: DUP1
00000bb3: REVERT
00000bb4: JUMPDEST
00000bb5: DUP3
00000bb6: ADD
00000bb7: DUP4
00000bb8: PUSH1 0x20
00000bba: DUP3
00000bbb: ADD
00000bbc: GT
00000bbd: ISZERO
00000bbe: PUSH2 0x0bc6
00000bc1: JUMPI
00000bc2: PUSH1 0x00
00000bc4: DUP1
00000bc5: REVERT
00000bc6: JUMPDEST
00000bc7: DUP1
00000bc8: CALLDATALOAD
00000bc9: SWAP1
00000bca: PUSH1 0x20
00000bcc: ADD
00000bcd: SWAP2
00000bce: DUP5
00000bcf: PUSH1 0x20
00000bd1: DUP4
00000bd2: MUL
00000bd3: DUP5
00000bd4: ADD
00000bd5: GT
00000bd6: PUSH5 0x0100000000
00000bdc: DUP4
00000bdd: GT
00000bde: OR
00000bdf: ISZERO
00000be0: PUSH2 0x0be8
00000be3: JUMPI
00000be4: PUSH1 0x00
00000be6: DUP1
00000be7: REVERT
00000be8: JUMPDEST
00000be9: SWAP2
00000bea: SWAP4
00000beb: POP
00000bec: SWAP2
00000bed: POP
00000bee: CALLDATALOAD
00000bef: PUSH1 0x01
00000bf1: PUSH1 0xa0
00000bf3: PUSH1 0x02
00000bf5: EXP
00000bf6: SUB
00000bf7: AND
00000bf8: PUSH2 0x27c3
00000bfb: JUMP
00000bfc: JUMPDEST
00000bfd: PUSH1 0x40
00000bff: MLOAD
00000c00: DUP1
00000c01: DUP1
00000c02: PUSH1 0x20
00000c04: ADD
00000c05: DUP1
00000c06: PUSH1 0x20
00000c08: ADD
00000c09: DUP4
00000c0a: DUP2
00000c0b: SUB
00000c0c: DUP4
00000c0d: MSTORE
00000c0e: DUP6
00000c0f: DUP2
00000c10: DUP2
00000c11: MLOAD
00000c12: DUP2
00000c13: MSTORE
00000c14: PUSH1 0x20
00000c16: ADD
00000c17: SWAP2
00000c18: POP
00000c19: DUP1
00000c1a: MLOAD
00000c1b: SWAP1
00000c1c: PUSH1 0x20
00000c1e: ADD
00000c1f: SWAP1
00000c20: PUSH1 0x20
00000c22: MUL
00000c23: DUP1
00000c24: DUP4
00000c25: DUP4
00000c26: PUSH1 0x00
00000c28: JUMPDEST
00000c29: DUP4
00000c2a: DUP2
00000c2b: LT
00000c2c: ISZERO
00000c2d: PUSH2 0x0c40
00000c30: JUMPI
00000c31: DUP2
00000c32: DUP2
00000c33: ADD
00000c34: MLOAD
00000c35: DUP4
00000c36: DUP3
00000c37: ADD
00000c38: MSTORE
00000c39: PUSH1 0x20
00000c3b: ADD
00000c3c: PUSH2 0x0c28
00000c3f: JUMP
00000c40: JUMPDEST
00000c41: POP
00000c42: POP
00000c43: POP
00000c44: POP
00000c45: SWAP1
00000c46: POP
00000c47: ADD
00000c48: DUP4
00000c49: DUP2
00000c4a: SUB
00000c4b: DUP3
00000c4c: MSTORE
00000c4d: DUP5
00000c4e: DUP2
00000c4f: DUP2
00000c50: MLOAD
00000c51: DUP2
00000c52: MSTORE
00000c53: PUSH1 0x20
00000c55: ADD
00000c56: SWAP2
00000c57: POP
00000c58: DUP1
00000c59: MLOAD
00000c5a: SWAP1
00000c5b: PUSH1 0x20
00000c5d: ADD
00000c5e: SWAP1
00000c5f: PUSH1 0x20
00000c61: MUL
00000c62: DUP1
00000c63: DUP4
00000c64: DUP4
00000c65: PUSH1 0x00
00000c67: JUMPDEST
00000c68: DUP4
00000c69: DUP2
00000c6a: LT
00000c6b: ISZERO
00000c6c: PUSH2 0x0c7f
00000c6f: JUMPI
00000c70: DUP2
00000c71: DUP2
00000c72: ADD
00000c73: MLOAD
00000c74: DUP4
00000c75: DUP3
00000c76: ADD
00000c77: MSTORE
00000c78: PUSH1 0x20
00000c7a: ADD
00000c7b: PUSH2 0x0c67
00000c7e: JUMP
00000c7f: JUMPDEST
00000c80: POP
00000c81: POP
00000c82: POP
00000c83: POP
00000c84: SWAP1
00000c85: POP
00000c86: ADD
00000c87: SWAP5
00000c88: POP
00000c89: POP
00000c8a: POP
00000c8b: POP
00000c8c: POP
00000c8d: PUSH1 0x40
00000c8f: MLOAD
00000c90: DUP1
00000c91: SWAP2
00000c92: SUB
00000c93: SWAP1
00000c94: RETURN
00000c95: JUMPDEST
00000c96: PUSH2 0x077e
00000c99: PUSH1 0x04
00000c9b: DUP1
00000c9c: CALLDATASIZE
00000c9d: SUB
00000c9e: PUSH1 0x20
00000ca0: DUP2
00000ca1: LT
00000ca2: ISZERO
00000ca3: PUSH2 0x0cab
00000ca6: JUMPI
00000ca7: PUSH1 0x00
00000ca9: DUP1
00000caa: REVERT
00000cab: JUMPDEST
00000cac: POP
00000cad: CALLDATALOAD
00000cae: PUSH1 0x01
00000cb0: PUSH1 0xa0
00000cb2: PUSH1 0x02
00000cb4: EXP
00000cb5: SUB
00000cb6: AND
00000cb7: PUSH2 0x2976
00000cba: JUMP
00000cbb: JUMPDEST
00000cbc: PUSH2 0x0708
00000cbf: PUSH1 0x04
00000cc1: DUP1
00000cc2: CALLDATASIZE
00000cc3: SUB
00000cc4: PUSH1 0x40
00000cc6: DUP2
00000cc7: LT
00000cc8: ISZERO
00000cc9: PUSH2 0x0cd1
00000ccc: JUMPI
00000ccd: PUSH1 0x00
00000ccf: DUP1
00000cd0: REVERT
00000cd1: JUMPDEST
00000cd2: POP
00000cd3: DUP1
00000cd4: CALLDATALOAD
00000cd5: SWAP1
00000cd6: PUSH1 0x20
00000cd8: ADD
00000cd9: CALLDATALOAD
00000cda: PUSH2 0x2a3b
00000cdd: JUMP
00000cde: JUMPDEST
00000cdf: PUSH2 0x0515
00000ce2: PUSH2 0x2a53
00000ce5: JUMP
00000ce6: JUMPDEST
00000ce7: PUSH2 0x077e
00000cea: PUSH1 0x04
00000cec: DUP1
00000ced: CALLDATASIZE
00000cee: SUB
00000cef: PUSH1 0x60
00000cf1: DUP2
00000cf2: LT
00000cf3: ISZERO
00000cf4: PUSH2 0x0cfc
00000cf7: JUMPI
00000cf8: PUSH1 0x00
00000cfa: DUP1
00000cfb: REVERT
00000cfc: JUMPDEST
00000cfd: POP
00000cfe: PUSH1 0x01
00000d00: PUSH1 0xa0
00000d02: PUSH1 0x02
00000d04: EXP
00000d05: SUB
00000d06: DUP2
00000d07: CALLDATALOAD
00000d08: DUP2
00000d09: AND
00000d0a: SWAP2
00000d0b: PUSH1 0x20
00000d0d: DUP2
00000d0e: ADD
00000d0f: CALLDATALOAD
00000d10: SWAP1
00000d11: SWAP2
00000d12: AND
00000d13: SWAP1
00000d14: PUSH1 0x40
00000d16: ADD
00000d17: CALLDATALOAD
00000d18: PUSH2 0x2a62
00000d1b: JUMP
00000d1c: JUMPDEST
00000d1d: PUSH2 0x0515
00000d20: PUSH2 0x2b37
00000d23: JUMP
00000d24: JUMPDEST
00000d25: PUSH2 0x06a5
00000d28: PUSH1 0x04
00000d2a: DUP1
00000d2b: CALLDATASIZE
00000d2c: SUB
00000d2d: PUSH1 0x60
00000d2f: DUP2
00000d30: LT
00000d31: ISZERO
00000d32: PUSH2 0x0d3a
00000d35: JUMPI
00000d36: PUSH1 0x00
00000d38: DUP1
00000d39: REVERT
00000d3a: JUMPDEST
00000d3b: DUP2
00000d3c: ADD
00000d3d: SWAP1
00000d3e: PUSH1 0x20
00000d40: DUP2
00000d41: ADD
00000d42: DUP2
00000d43: CALLDATALOAD
00000d44: PUSH5 0x0100000000
00000d4a: DUP2
00000d4b: GT
00000d4c: ISZERO
00000d4d: PUSH2 0x0d55
00000d50: JUMPI
00000d51: PUSH1 0x00
00000d53: DUP1
00000d54: REVERT
00000d55: JUMPDEST
00000d56: DUP3
00000d57: ADD
00000d58: DUP4
00000d59: PUSH1 0x20
00000d5b: DUP3
00000d5c: ADD
00000d5d: GT
00000d5e: ISZERO
00000d5f: PUSH2 0x0d67
00000d62: JUMPI
00000d63: PUSH1 0x00
00000d65: DUP1
00000d66: REVERT
00000d67: JUMPDEST
00000d68: DUP1
00000d69: CALLDATALOAD
00000d6a: SWAP1
00000d6b: PUSH1 0x20
00000d6d: ADD
00000d6e: SWAP2
00000d6f: DUP5
00000d70: PUSH1 0x20
00000d72: DUP4
00000d73: MUL
00000d74: DUP5
00000d75: ADD
00000d76: GT
00000d77: PUSH5 0x0100000000
00000d7d: DUP4
00000d7e: GT
00000d7f: OR
00000d80: ISZERO
00000d81: PUSH2 0x0d89
00000d84: JUMPI
00000d85: PUSH1 0x00
00000d87: DUP1
00000d88: REVERT
00000d89: JUMPDEST
00000d8a: SWAP2
00000d8b: SWAP4
00000d8c: SWAP1
00000d8d: SWAP3
00000d8e: SWAP1
00000d8f: SWAP2
00000d90: PUSH1 0x20
00000d92: DUP2
00000d93: ADD
00000d94: SWAP1
00000d95: CALLDATALOAD
00000d96: PUSH5 0x0100000000
00000d9c: DUP2
00000d9d: GT
00000d9e: ISZERO
00000d9f: PUSH2 0x0da7
00000da2: JUMPI
00000da3: PUSH1 0x00
00000da5: DUP1
00000da6: REVERT
00000da7: JUMPDEST
00000da8: DUP3
00000da9: ADD
00000daa: DUP4
00000dab: PUSH1 0x20
00000dad: DUP3
00000dae: ADD
00000daf: GT
00000db0: ISZERO
00000db1: PUSH2 0x0db9
00000db4: JUMPI
00000db5: PUSH1 0x00
00000db7: DUP1
00000db8: REVERT
00000db9: JUMPDEST
00000dba: DUP1
00000dbb: CALLDATALOAD
00000dbc: SWAP1
00000dbd: PUSH1 0x20
00000dbf: ADD
00000dc0: SWAP2
00000dc1: DUP5
00000dc2: PUSH1 0x20
00000dc4: DUP4
00000dc5: MUL
00000dc6: DUP5
00000dc7: ADD
00000dc8: GT
00000dc9: PUSH5 0x0100000000
00000dcf: DUP4
00000dd0: GT
00000dd1: OR
00000dd2: ISZERO
00000dd3: PUSH2 0x0ddb
00000dd6: JUMPI
00000dd7: PUSH1 0x00
00000dd9: DUP1
00000dda: REVERT
00000ddb: JUMPDEST
00000ddc: SWAP2
00000ddd: SWAP4
00000dde: SWAP1
00000ddf: SWAP3
00000de0: SWAP1
00000de1: SWAP2
00000de2: PUSH1 0x20
00000de4: DUP2
00000de5: ADD
00000de6: SWAP1
00000de7: CALLDATALOAD
00000de8: PUSH5 0x0100000000
00000dee: DUP2
00000def: GT
00000df0: ISZERO
00000df1: PUSH2 0x0df9
00000df4: JUMPI
00000df5: PUSH1 0x00
00000df7: DUP1
00000df8: REVERT
00000df9: JUMPDEST
00000dfa: DUP3
00000dfb: ADD
00000dfc: DUP4
00000dfd: PUSH1 0x20
00000dff: DUP3
00000e00: ADD
00000e01: GT
00000e02: ISZERO
00000e03: PUSH2 0x0e0b
00000e06: JUMPI
00000e07: PUSH1 0x00
00000e09: DUP1
00000e0a: REVERT
00000e0b: JUMPDEST
00000e0c: DUP1
00000e0d: CALLDATALOAD
00000e0e: SWAP1
00000e0f: PUSH1 0x20
00000e11: ADD
00000e12: SWAP2
00000e13: DUP5
00000e14: PUSH1 0x20
00000e16: DUP4
00000e17: MUL
00000e18: DUP5
00000e19: ADD
00000e1a: GT
00000e1b: PUSH5 0x0100000000
00000e21: DUP4
00000e22: GT
00000e23: OR
00000e24: ISZERO
00000e25: PUSH2 0x0e2d
00000e28: JUMPI
00000e29: PUSH1 0x00
00000e2b: DUP1
00000e2c: REVERT
00000e2d: JUMPDEST
00000e2e: POP
00000e2f: SWAP1
00000e30: SWAP3
00000e31: POP
00000e32: SWAP1
00000e33: POP
00000e34: PUSH2 0x2b46
00000e37: JUMP
00000e38: JUMPDEST
00000e39: PUSH2 0x0708
00000e3c: PUSH1 0x04
00000e3e: DUP1
00000e3f: CALLDATASIZE
00000e40: SUB
00000e41: PUSH1 0x80
00000e43: DUP2
00000e44: LT
00000e45: ISZERO
00000e46: PUSH2 0x0e4e
00000e49: JUMPI
00000e4a: PUSH1 0x00
00000e4c: DUP1
00000e4d: REVERT
00000e4e: JUMPDEST
00000e4f: POP
00000e50: PUSH1 0x01
00000e52: PUSH1 0xa0
00000e54: PUSH1 0x02
00000e56: EXP
00000e57: SUB
00000e58: DUP2
00000e59: CALLDATALOAD
00000e5a: DUP2
00000e5b: AND
00000e5c: SWAP2
00000e5d: PUSH1 0x20
00000e5f: DUP2
00000e60: ADD
00000e61: CALLDATALOAD
00000e62: DUP3
00000e63: AND
00000e64: SWAP2
00000e65: PUSH1 0x40
00000e67: DUP3
00000e68: ADD
00000e69: CALLDATALOAD
00000e6a: SWAP2
00000e6b: PUSH1 0x60
00000e6d: ADD
00000e6e: CALLDATALOAD
00000e6f: AND
00000e70: PUSH2 0x2cab
00000e73: JUMP
00000e74: JUMPDEST
00000e75: PUSH2 0x0708
00000e78: PUSH2 0x2cd7
00000e7b: JUMP
00000e7c: JUMPDEST
00000e7d: PUSH2 0x0515
00000e80: PUSH2 0x2cdd
00000e83: JUMP
00000e84: JUMPDEST
00000e85: PUSH2 0x077e
00000e88: PUSH1 0x04
00000e8a: DUP1
00000e8b: CALLDATASIZE
00000e8c: SUB
00000e8d: PUSH1 0xe0
00000e8f: DUP2
00000e90: LT
00000e91: ISZERO
00000e92: PUSH2 0x0e9a
00000e95: JUMPI
00000e96: PUSH1 0x00
00000e98: DUP1
00000e99: REVERT
00000e9a: JUMPDEST
00000e9b: POP
00000e9c: PUSH1 0x01
00000e9e: PUSH1 0xa0
00000ea0: PUSH1 0x02
00000ea2: EXP
00000ea3: SUB
00000ea4: DUP2
00000ea5: CALLDATALOAD
00000ea6: DUP2
00000ea7: AND
00000ea8: SWAP2
00000ea9: PUSH1 0x20
00000eab: DUP2
00000eac: ADD
00000ead: CALLDATALOAD
00000eae: DUP3
00000eaf: AND
00000eb0: SWAP2
00000eb1: PUSH1 0x40
00000eb3: DUP3
00000eb4: ADD
00000eb5: CALLDATALOAD
00000eb6: DUP2
00000eb7: AND
00000eb8: SWAP2
00000eb9: PUSH1 0x60
00000ebb: DUP2
00000ebc: ADD
00000ebd: CALLDATALOAD
00000ebe: DUP3
00000ebf: AND
00000ec0: SWAP2
00000ec1: PUSH1 0x80
00000ec3: DUP3
00000ec4: ADD
00000ec5: CALLDATALOAD
00000ec6: AND
00000ec7: SWAP1
00000ec8: PUSH1 0xa0
00000eca: DUP2
00000ecb: ADD
00000ecc: CALLDATALOAD
00000ecd: SWAP1
00000ece: PUSH1 0xc0
00000ed0: ADD
00000ed1: CALLDATALOAD
00000ed2: PUSH2 0x2cec
00000ed5: JUMP
00000ed6: JUMPDEST
00000ed7: PUSH2 0x0861
00000eda: PUSH1 0x04
00000edc: DUP1
00000edd: CALLDATASIZE
00000ede: SUB
00000edf: PUSH1 0x80
00000ee1: DUP2
00000ee2: LT
00000ee3: ISZERO
00000ee4: PUSH2 0x0eec
00000ee7: JUMPI
00000ee8: PUSH1 0x00
00000eea: DUP1
00000eeb: REVERT
00000eec: JUMPDEST
00000eed: POP
00000eee: PUSH1 0x01
00000ef0: PUSH1 0xa0
00000ef2: PUSH1 0x02
00000ef4: EXP
00000ef5: SUB
00000ef6: DUP2
00000ef7: CALLDATALOAD
00000ef8: DUP2
00000ef9: AND
00000efa: SWAP2
00000efb: PUSH1 0x20
00000efd: DUP2
00000efe: ADD
00000eff: CALLDATALOAD
00000f00: DUP3
00000f01: AND
00000f02: SWAP2
00000f03: PUSH1 0x40
00000f05: DUP3
00000f06: ADD
00000f07: CALLDATALOAD
00000f08: AND
00000f09: SWAP1
00000f0a: PUSH1 0x60
00000f0c: ADD
00000f0d: CALLDATALOAD
00000f0e: PUSH2 0x2f78
00000f11: JUMP
00000f12: JUMPDEST
00000f13: PUSH2 0x0708
00000f16: PUSH1 0x04
00000f18: DUP1
00000f19: CALLDATASIZE
00000f1a: SUB
00000f1b: PUSH1 0x60
00000f1d: DUP2
00000f1e: LT
00000f1f: ISZERO
00000f20: PUSH2 0x0f28
00000f23: JUMPI
00000f24: PUSH1 0x00
00000f26: DUP1
00000f27: REVERT
00000f28: JUMPDEST
00000f29: POP
00000f2a: PUSH1 0x01
00000f2c: PUSH1 0xa0
00000f2e: PUSH1 0x02
00000f30: EXP
00000f31: SUB
00000f32: DUP2
00000f33: CALLDATALOAD
00000f34: DUP2
00000f35: AND
00000f36: SWAP2
00000f37: PUSH1 0x20
00000f39: DUP2
00000f3a: ADD
00000f3b: CALLDATALOAD
00000f3c: SWAP1
00000f3d: SWAP2
00000f3e: AND
00000f3f: SWAP1
00000f40: PUSH1 0x40
00000f42: ADD
00000f43: CALLDATALOAD
00000f44: PUSH2 0x32d2
00000f47: JUMP
00000f48: JUMPDEST
00000f49: PUSH2 0x0708
00000f4c: PUSH1 0x04
00000f4e: DUP1
00000f4f: CALLDATASIZE
00000f50: SUB
00000f51: PUSH1 0x40
00000f53: DUP2
00000f54: LT
00000f55: ISZERO
00000f56: PUSH2 0x0f5e
00000f59: JUMPI
00000f5a: PUSH1 0x00
00000f5c: DUP1
00000f5d: REVERT
00000f5e: JUMPDEST
00000f5f: POP
00000f60: PUSH1 0x01
00000f62: PUSH1 0xa0
00000f64: PUSH1 0x02
00000f66: EXP
00000f67: SUB
00000f68: DUP2
00000f69: CALLDATALOAD
00000f6a: DUP2
00000f6b: AND
00000f6c: SWAP2
00000f6d: PUSH1 0x20
00000f6f: ADD
00000f70: CALLDATALOAD
00000f71: AND
00000f72: PUSH2 0x32f5
00000f75: JUMP
00000f76: JUMPDEST
00000f77: PUSH2 0x0708
00000f7a: PUSH1 0x04
00000f7c: DUP1
00000f7d: CALLDATASIZE
00000f7e: SUB
00000f7f: PUSH1 0x40
00000f81: DUP2
00000f82: LT
00000f83: ISZERO
00000f84: PUSH2 0x0f8c
00000f87: JUMPI
00000f88: PUSH1 0x00
00000f8a: DUP1
00000f8b: REVERT
00000f8c: JUMPDEST
00000f8d: POP
00000f8e: PUSH1 0x01
00000f90: PUSH1 0xa0
00000f92: PUSH1 0x02
00000f94: EXP
00000f95: SUB
00000f96: DUP2
00000f97: CALLDATALOAD
00000f98: DUP2
00000f99: AND
00000f9a: SWAP2
00000f9b: PUSH1 0x20
00000f9d: ADD
00000f9e: CALLDATALOAD
00000f9f: AND
00000fa0: PUSH2 0x3312
00000fa3: JUMP
00000fa4: JUMPDEST
00000fa5: PUSH2 0x0708
00000fa8: PUSH1 0x04
00000faa: DUP1
00000fab: CALLDATASIZE
00000fac: SUB
00000fad: PUSH1 0x40
00000faf: DUP2
00000fb0: LT
00000fb1: ISZERO
00000fb2: PUSH2 0x0fba
00000fb5: JUMPI
00000fb6: PUSH1 0x00
00000fb8: DUP1
00000fb9: REVERT
00000fba: JUMPDEST
00000fbb: POP
00000fbc: DUP1
00000fbd: CALLDATALOAD
00000fbe: SWAP1
00000fbf: PUSH1 0x20
00000fc1: ADD
00000fc2: CALLDATALOAD
00000fc3: PUSH2 0x332f
00000fc6: JUMP
00000fc7: JUMPDEST
00000fc8: PUSH2 0x0708
00000fcb: PUSH1 0x04
00000fcd: DUP1
00000fce: CALLDATASIZE
00000fcf: SUB
00000fd0: PUSH1 0x40
00000fd2: DUP2
00000fd3: LT
00000fd4: ISZERO
00000fd5: PUSH2 0x0fdd
00000fd8: JUMPI
00000fd9: PUSH1 0x00
00000fdb: DUP1
00000fdc: REVERT
00000fdd: JUMPDEST
00000fde: POP
00000fdf: PUSH1 0x01
00000fe1: PUSH1 0xa0
00000fe3: PUSH1 0x02
00000fe5: EXP
00000fe6: SUB
00000fe7: DUP2
00000fe8: CALLDATALOAD
00000fe9: DUP2
00000fea: AND
00000feb: SWAP2
00000fec: PUSH1 0x20
00000fee: ADD
00000fef: CALLDATALOAD
00000ff0: AND
00000ff1: PUSH2 0x334c
00000ff4: JUMP
00000ff5: JUMPDEST
00000ff6: PUSH2 0x0708
00000ff9: PUSH1 0x04
00000ffb: DUP1
00000ffc: CALLDATASIZE
00000ffd: SUB
00000ffe: PUSH1 0x80
00001000: DUP2
00001001: LT
00001002: ISZERO
00001003: PUSH2 0x100b
00001006: JUMPI
00001007: PUSH1 0x00
00001009: DUP1
0000100a: REVERT
0000100b: JUMPDEST
0000100c: POP
0000100d: PUSH1 0x01
0000100f: PUSH1 0xa0
00001011: PUSH1 0x02
00001013: EXP
00001014: SUB
00001015: DUP2
00001016: CALLDATALOAD
00001017: DUP2
00001018: AND
00001019: SWAP2
0000101a: PUSH1 0x20
0000101c: DUP2
0000101d: ADD
0000101e: CALLDATALOAD
0000101f: DUP3
00001020: AND
00001021: SWAP2
00001022: PUSH1 0x40
00001024: DUP3
00001025: ADD
00001026: CALLDATALOAD
00001027: SWAP2
00001028: PUSH1 0x60
0000102a: ADD
0000102b: CALLDATALOAD
0000102c: AND
0000102d: PUSH2 0x3369
00001030: JUMP
00001031: JUMPDEST
00001032: PUSH2 0x0708
00001035: PUSH1 0x04
00001037: DUP1
00001038: CALLDATASIZE
00001039: SUB
0000103a: PUSH1 0x40
0000103c: DUP2
0000103d: LT
0000103e: ISZERO
0000103f: PUSH2 0x1047
00001042: JUMPI
00001043: PUSH1 0x00
00001045: DUP1
00001046: REVERT
00001047: JUMPDEST
00001048: POP
00001049: PUSH1 0x01
0000104b: PUSH1 0xa0
0000104d: PUSH1 0x02
0000104f: EXP
00001050: SUB
00001051: DUP2
00001052: CALLDATALOAD
00001053: DUP2
00001054: AND
00001055: SWAP2
00001056: PUSH1 0x20
00001058: ADD
00001059: CALLDATALOAD
0000105a: AND
0000105b: PUSH2 0x3395
0000105e: JUMP
0000105f: JUMPDEST
00001060: PUSH2 0x077e
00001063: PUSH1 0x04
00001065: DUP1
00001066: CALLDATASIZE
00001067: SUB
00001068: PUSH1 0x20
0000106a: DUP2
0000106b: LT
0000106c: ISZERO
0000106d: PUSH2 0x1075
00001070: JUMPI
00001071: PUSH1 0x00
00001073: DUP1
00001074: REVERT
00001075: JUMPDEST
00001076: POP
00001077: CALLDATALOAD
00001078: PUSH2 0x33b2
0000107b: JUMP
0000107c: JUMPDEST
0000107d: PUSH2 0x0708
00001080: PUSH1 0x04
00001082: DUP1
00001083: CALLDATASIZE
00001084: SUB
00001085: PUSH1 0x40
00001087: DUP2
00001088: LT
00001089: ISZERO
0000108a: PUSH2 0x1092
0000108d: JUMPI
0000108e: PUSH1 0x00
00001090: DUP1
00001091: REVERT
00001092: JUMPDEST
00001093: POP
00001094: DUP1
00001095: CALLDATALOAD
00001096: SWAP1
00001097: PUSH1 0x20
00001099: ADD
0000109a: CALLDATALOAD
0000109b: PUSH2 0x3403
0000109e: JUMP
0000109f: JUMPDEST
000010a0: PUSH2 0x089d
000010a3: PUSH1 0x04
000010a5: DUP1
000010a6: CALLDATASIZE
000010a7: SUB
000010a8: PUSH1 0x40
000010aa: DUP2
000010ab: LT
000010ac: ISZERO
000010ad: PUSH2 0x10b5
000010b0: JUMPI
000010b1: PUSH1 0x00
000010b3: DUP1
000010b4: REVERT
000010b5: JUMPDEST
000010b6: POP
000010b7: DUP1
000010b8: CALLDATALOAD
000010b9: SWAP1
000010ba: PUSH1 0x20
000010bc: ADD
000010bd: CALLDATALOAD
000010be: PUSH2 0x341f
000010c1: JUMP
000010c2: JUMPDEST
000010c3: PUSH2 0x0515
000010c6: PUSH2 0x3441
000010c9: JUMP
000010ca: JUMPDEST
000010cb: PUSH2 0x0515
000010ce: PUSH2 0x3450
000010d1: JUMP
000010d2: JUMPDEST
000010d3: PUSH2 0x0bfc
000010d6: PUSH1 0x04
000010d8: DUP1
000010d9: CALLDATASIZE
000010da: SUB
000010db: PUSH1 0x80
000010dd: DUP2
000010de: LT
000010df: ISZERO
000010e0: PUSH2 0x10e8
000010e3: JUMPI
000010e4: PUSH1 0x00
000010e6: DUP1
000010e7: REVERT
000010e8: JUMPDEST
000010e9: DUP2
000010ea: ADD
000010eb: SWAP1
000010ec: PUSH1 0x20
000010ee: DUP2
000010ef: ADD
000010f0: DUP2
000010f1: CALLDATALOAD
000010f2: PUSH5 0x0100000000
000010f8: DUP2
000010f9: GT
000010fa: ISZERO
000010fb: PUSH2 0x1103
000010fe: JUMPI
000010ff: PUSH1 0x00
00001101: DUP1
00001102: REVERT
00001103: JUMPDEST
00001104: DUP3
00001105: ADD
00001106: DUP4
00001107: PUSH1 0x20
00001109: DUP3
0000110a: ADD
0000110b: GT
0000110c: ISZERO
0000110d: PUSH2 0x1115
00001110: JUMPI
00001111: PUSH1 0x00
00001113: DUP1
00001114: REVERT
00001115: JUMPDEST
00001116: DUP1
00001117: CALLDATALOAD
00001118: SWAP1
00001119: PUSH1 0x20
0000111b: ADD
0000111c: SWAP2
0000111d: DUP5
0000111e: PUSH1 0x20
00001120: DUP4
00001121: MUL
00001122: DUP5
00001123: ADD
00001124: GT
00001125: PUSH5 0x0100000000
0000112b: DUP4
0000112c: GT
0000112d: OR
0000112e: ISZERO
0000112f: PUSH2 0x1137
00001132: JUMPI
00001133: PUSH1 0x00
00001135: DUP1
00001136: REVERT
00001137: JUMPDEST
00001138: SWAP2
00001139: SWAP4
0000113a: SWAP1
0000113b: SWAP3
0000113c: SWAP1
0000113d: SWAP2
0000113e: PUSH1 0x20
00001140: DUP2
00001141: ADD
00001142: SWAP1
00001143: CALLDATALOAD
00001144: PUSH5 0x0100000000
0000114a: DUP2
0000114b: GT
0000114c: ISZERO
0000114d: PUSH2 0x1155
00001150: JUMPI
00001151: PUSH1 0x00
00001153: DUP1
00001154: REVERT
00001155: JUMPDEST
00001156: DUP3
00001157: ADD
00001158: DUP4
00001159: PUSH1 0x20
0000115b: DUP3
0000115c: ADD
0000115d: GT
0000115e: ISZERO
0000115f: PUSH2 0x1167
00001162: JUMPI
00001163: PUSH1 0x00
00001165: DUP1
00001166: REVERT
00001167: JUMPDEST
00001168: DUP1
00001169: CALLDATALOAD
0000116a: SWAP1
0000116b: PUSH1 0x20
0000116d: ADD
0000116e: SWAP2
0000116f: DUP5
00001170: PUSH1 0x20
00001172: DUP4
00001173: MUL
00001174: DUP5
00001175: ADD
00001176: GT
00001177: PUSH5 0x0100000000
0000117d: DUP4
0000117e: GT
0000117f: OR
00001180: ISZERO
00001181: PUSH2 0x1189
00001184: JUMPI
00001185: PUSH1 0x00
00001187: DUP1
00001188: REVERT
00001189: JUMPDEST
0000118a: SWAP2
0000118b: SWAP4
0000118c: SWAP1
0000118d: SWAP3
0000118e: SWAP1
0000118f: SWAP2
00001190: PUSH1 0x20
00001192: DUP2
00001193: ADD
00001194: SWAP1
00001195: CALLDATALOAD
00001196: PUSH5 0x0100000000
0000119c: DUP2
0000119d: GT
0000119e: ISZERO
0000119f: PUSH2 0x11a7
000011a2: JUMPI
000011a3: PUSH1 0x00
000011a5: DUP1
000011a6: REVERT
000011a7: JUMPDEST
000011a8: DUP3
000011a9: ADD
000011aa: DUP4
000011ab: PUSH1 0x20
000011ad: DUP3
000011ae: ADD
000011af: GT
000011b0: ISZERO
000011b1: PUSH2 0x11b9
000011b4: JUMPI
000011b5: PUSH1 0x00
000011b7: DUP1
000011b8: REVERT
000011b9: JUMPDEST
000011ba: DUP1
000011bb: CALLDATALOAD
000011bc: SWAP1
000011bd: PUSH1 0x20
000011bf: ADD
000011c0: SWAP2
000011c1: DUP5
000011c2: PUSH1 0x20
000011c4: DUP4
000011c5: MUL
000011c6: DUP5
000011c7: ADD
000011c8: GT
000011c9: PUSH5 0x0100000000
000011cf: DUP4
000011d0: GT
000011d1: OR
000011d2: ISZERO
000011d3: PUSH2 0x11db
000011d6: JUMPI
000011d7: PUSH1 0x00
000011d9: DUP1
000011da: REVERT
000011db: JUMPDEST
000011dc: SWAP2
000011dd: SWAP4
000011de: POP
000011df: SWAP2
000011e0: POP
000011e1: CALLDATALOAD
000011e2: PUSH1 0x01
000011e4: PUSH1 0xa0
000011e6: PUSH1 0x02
000011e8: EXP
000011e9: SUB
000011ea: AND
000011eb: PUSH2 0x345f
000011ee: JUMP
000011ef: JUMPDEST
000011f0: PUSH2 0x0708
000011f3: PUSH1 0x04
000011f5: DUP1
000011f6: CALLDATASIZE
000011f7: SUB
000011f8: PUSH1 0x40
000011fa: DUP2
000011fb: LT
000011fc: ISZERO
000011fd: PUSH2 0x1205
00001200: JUMPI
00001201: PUSH1 0x00
00001203: DUP1
00001204: REVERT
00001205: JUMPDEST
00001206: POP
00001207: PUSH1 0x01
00001209: PUSH1 0xa0
0000120b: PUSH1 0x02
0000120d: EXP
0000120e: SUB
0000120f: DUP2
00001210: CALLDATALOAD
00001211: DUP2
00001212: AND
00001213: SWAP2
00001214: PUSH1 0x20
00001216: ADD
00001217: CALLDATALOAD
00001218: AND
00001219: PUSH2 0x35f4
0000121c: JUMP
0000121d: JUMPDEST
0000121e: PUSH2 0x0573
00001221: PUSH1 0x04
00001223: DUP1
00001224: CALLDATASIZE
00001225: SUB
00001226: PUSH1 0x80
00001228: DUP2
00001229: LT
0000122a: ISZERO
0000122b: PUSH2 0x1233
0000122e: JUMPI
0000122f: PUSH1 0x00
00001231: DUP1
00001232: REVERT
00001233: JUMPDEST
00001234: POP
00001235: PUSH1 0x01
00001237: PUSH1 0xa0
00001239: PUSH1 0x02
0000123b: EXP
0000123c: SUB
0000123d: DUP2
0000123e: CALLDATALOAD
0000123f: DUP2
00001240: AND
00001241: SWAP2
00001242: PUSH1 0x20
00001244: DUP2
00001245: ADD
00001246: CALLDATALOAD
00001247: DUP3
00001248: AND
00001249: SWAP2
0000124a: PUSH1 0x40
0000124c: DUP3
0000124d: ADD
0000124e: CALLDATALOAD
0000124f: AND
00001250: SWAP1
00001251: PUSH1 0x60
00001253: ADD
00001254: CALLDATALOAD
00001255: PUSH2 0x362f
00001258: JUMP
00001259: JUMPDEST
0000125a: PUSH2 0x077e
0000125d: PUSH1 0x04
0000125f: DUP1
00001260: CALLDATASIZE
00001261: SUB
00001262: PUSH1 0x20
00001264: DUP2
00001265: LT
00001266: ISZERO
00001267: PUSH2 0x126f
0000126a: JUMPI
0000126b: PUSH1 0x00
0000126d: DUP1
0000126e: REVERT
0000126f: JUMPDEST
00001270: POP
00001271: CALLDATALOAD
00001272: PUSH2 0x36e9
00001275: JUMP
00001276: JUMPDEST
00001277: PUSH2 0x089d
0000127a: PUSH1 0x04
0000127c: DUP1
0000127d: CALLDATASIZE
0000127e: SUB
0000127f: PUSH1 0x40
00001281: DUP2
00001282: LT
00001283: ISZERO
00001284: PUSH2 0x128c
00001287: JUMPI
00001288: PUSH1 0x00
0000128a: DUP1
0000128b: REVERT
0000128c: JUMPDEST
0000128d: POP
0000128e: DUP1
0000128f: CALLDATALOAD
00001290: SWAP1
00001291: PUSH1 0x20
00001293: ADD
00001294: CALLDATALOAD
00001295: PUSH2 0x373a
00001298: JUMP
00001299: JUMPDEST
0000129a: PUSH2 0x077e
0000129d: PUSH1 0x04
0000129f: DUP1
000012a0: CALLDATASIZE
000012a1: SUB
000012a2: PUSH1 0xc0
000012a4: DUP2
000012a5: LT
000012a6: ISZERO
000012a7: PUSH2 0x12af
000012aa: JUMPI
000012ab: PUSH1 0x00
000012ad: DUP1
000012ae: REVERT
000012af: JUMPDEST
000012b0: POP
000012b1: PUSH1 0x01
000012b3: PUSH1 0xa0
000012b5: PUSH1 0x02
000012b7: EXP
000012b8: SUB
000012b9: DUP2
000012ba: CALLDATALOAD
000012bb: DUP2
000012bc: AND
000012bd: SWAP2
000012be: PUSH1 0x20
000012c0: DUP2
000012c1: ADD
000012c2: CALLDATALOAD
000012c3: SWAP1
000012c4: SWAP2
000012c5: AND
000012c6: SWAP1
000012c7: PUSH1 0x40
000012c9: DUP2
000012ca: ADD
000012cb: CALLDATALOAD
000012cc: SWAP1
000012cd: PUSH1 0x60
000012cf: DUP2
000012d0: ADD
000012d1: CALLDATALOAD
000012d2: SWAP1
000012d3: PUSH1 0x80
000012d5: DUP2
000012d6: ADD
000012d7: CALLDATALOAD
000012d8: SWAP1
000012d9: PUSH1 0xa0
000012db: ADD
000012dc: CALLDATALOAD
000012dd: PUSH2 0x373f
000012e0: JUMP
000012e1: JUMPDEST
000012e2: PUSH2 0x0861
000012e5: PUSH1 0x04
000012e7: DUP1
000012e8: CALLDATASIZE
000012e9: SUB
000012ea: PUSH1 0x60
000012ec: DUP2
000012ed: LT
000012ee: ISZERO
000012ef: PUSH2 0x12f7
000012f2: JUMPI
000012f3: PUSH1 0x00
000012f5: DUP1
000012f6: REVERT
000012f7: JUMPDEST
000012f8: POP
000012f9: PUSH1 0x01
000012fb: PUSH1 0xa0
000012fd: PUSH1 0x02
000012ff: EXP
00001300: SUB
00001301: DUP2
00001302: CALLDATALOAD
00001303: DUP2
00001304: AND
00001305: SWAP2
00001306: PUSH1 0x20
00001308: DUP2
00001309: ADD
0000130a: CALLDATALOAD
0000130b: SWAP1
0000130c: SWAP2
0000130d: AND
0000130e: SWAP1
0000130f: PUSH1 0x40
00001311: ADD
00001312: CALLDATALOAD
00001313: PUSH2 0x3c44
00001316: JUMP
00001317: JUMPDEST
00001318: PUSH2 0x0861
0000131b: PUSH1 0x04
0000131d: DUP1
0000131e: CALLDATASIZE
0000131f: SUB
00001320: PUSH1 0x20
00001322: DUP2
00001323: LT
00001324: ISZERO
00001325: PUSH2 0x132d
00001328: JUMPI
00001329: PUSH1 0x00
0000132b: DUP1
0000132c: REVERT
0000132d: JUMPDEST
0000132e: POP
0000132f: CALLDATALOAD
00001330: PUSH1 0x01
00001332: PUSH1 0xa0
00001334: PUSH1 0x02
00001336: EXP
00001337: SUB
00001338: AND
00001339: PUSH2 0x3c6e
0000133c: JUMP
0000133d: JUMPDEST
0000133e: PUSH2 0x0708
00001341: PUSH2 0x3e08
00001344: JUMP
00001345: JUMPDEST
00001346: PUSH2 0x0708
00001349: PUSH1 0x04
0000134b: DUP1
0000134c: CALLDATASIZE
0000134d: SUB
0000134e: PUSH1 0x40
00001350: DUP2
00001351: LT
00001352: ISZERO
00001353: PUSH2 0x135b
00001356: JUMPI
00001357: PUSH1 0x00
00001359: DUP1
0000135a: REVERT
0000135b: JUMPDEST
0000135c: POP
0000135d: PUSH1 0x01
0000135f: PUSH1 0xa0
00001361: PUSH1 0x02
00001363: EXP
00001364: SUB
00001365: DUP2
00001366: CALLDATALOAD
00001367: AND
00001368: SWAP1
00001369: PUSH1 0x20
0000136b: ADD
0000136c: CALLDATALOAD
0000136d: PUSH2 0x3e0e
00001370: JUMP
00001371: JUMPDEST
00001372: PUSH2 0x0861
00001375: PUSH1 0x04
00001377: DUP1
00001378: CALLDATASIZE
00001379: SUB
0000137a: PUSH1 0x20
0000137c: DUP2
0000137d: LT
0000137e: ISZERO
0000137f: PUSH2 0x1387
00001382: JUMPI
00001383: PUSH1 0x00
00001385: DUP1
00001386: REVERT
00001387: JUMPDEST
00001388: POP
00001389: CALLDATALOAD
0000138a: PUSH1 0x01
0000138c: PUSH1 0xa0
0000138e: PUSH1 0x02
00001390: EXP
00001391: SUB
00001392: AND
00001393: PUSH2 0x3f49
00001396: JUMP
00001397: JUMPDEST
00001398: PUSH2 0x077e
0000139b: PUSH2 0x3f91
0000139e: JUMP
0000139f: JUMPDEST
000013a0: PUSH2 0x077e
000013a3: PUSH1 0x04
000013a5: DUP1
000013a6: CALLDATASIZE
000013a7: SUB
000013a8: PUSH1 0x20
000013aa: DUP2
000013ab: LT
000013ac: ISZERO
000013ad: PUSH2 0x13b5
000013b0: JUMPI
000013b1: PUSH1 0x00
000013b3: DUP1
000013b4: REVERT
000013b5: JUMPDEST
000013b6: POP
000013b7: CALLDATALOAD
000013b8: PUSH1 0x01
000013ba: PUSH1 0xa0
000013bc: PUSH1 0x02
000013be: EXP
000013bf: SUB
000013c0: AND
000013c1: PUSH2 0x4054
000013c4: JUMP
000013c5: JUMPDEST
000013c6: PUSH2 0x0708
000013c9: PUSH1 0x04
000013cb: DUP1
000013cc: CALLDATASIZE
000013cd: SUB
000013ce: PUSH1 0x60
000013d0: DUP2
000013d1: LT
000013d2: ISZERO
000013d3: PUSH2 0x13db
000013d6: JUMPI
000013d7: PUSH1 0x00
000013d9: DUP1
000013da: REVERT
000013db: JUMPDEST
000013dc: POP
000013dd: PUSH1 0x01
000013df: PUSH1 0xa0
000013e1: PUSH1 0x02
000013e3: EXP
000013e4: SUB
000013e5: DUP2
000013e6: CALLDATALOAD
000013e7: DUP2
000013e8: AND
000013e9: SWAP2
000013ea: PUSH1 0x20
000013ec: DUP2
000013ed: ADD
000013ee: CALLDATALOAD
000013ef: SWAP1
000013f0: SWAP2
000013f1: AND
000013f2: SWAP1
000013f3: PUSH1 0x40
000013f5: ADD
000013f6: CALLDATALOAD
000013f7: PUSH2 0x4161
000013fa: JUMP
000013fb: JUMPDEST
000013fc: PUSH2 0x0708
000013ff: PUSH1 0x04
00001401: DUP1
00001402: CALLDATASIZE
00001403: SUB
00001404: PUSH1 0x40
00001406: DUP2
00001407: LT
00001408: ISZERO
00001409: PUSH2 0x1411
0000140c: JUMPI
0000140d: PUSH1 0x00
0000140f: DUP1
00001410: REVERT
00001411: JUMPDEST
00001412: POP
00001413: PUSH1 0x01
00001415: PUSH1 0xa0
00001417: PUSH1 0x02
00001419: EXP
0000141a: SUB
0000141b: DUP2
0000141c: CALLDATALOAD
0000141d: DUP2
0000141e: AND
0000141f: SWAP2
00001420: PUSH1 0x20
00001422: ADD
00001423: CALLDATALOAD
00001424: AND
00001425: PUSH2 0x4184
00001428: JUMP
00001429: JUMPDEST
0000142a: PUSH2 0x0861
0000142d: PUSH1 0x04
0000142f: DUP1
00001430: CALLDATASIZE
00001431: SUB
00001432: PUSH1 0x60
00001434: DUP2
00001435: LT
00001436: ISZERO
00001437: PUSH2 0x143f
0000143a: JUMPI
0000143b: PUSH1 0x00
0000143d: DUP1
0000143e: REVERT
0000143f: JUMPDEST
00001440: POP
00001441: PUSH1 0x01
00001443: PUSH1 0xa0
00001445: PUSH1 0x02
00001447: EXP
00001448: SUB
00001449: DUP2
0000144a: CALLDATALOAD
0000144b: DUP2
0000144c: AND
0000144d: SWAP2
0000144e: PUSH1 0x20
00001450: DUP2
00001451: ADD
00001452: CALLDATALOAD
00001453: SWAP1
00001454: SWAP2
00001455: AND
00001456: SWAP1
00001457: PUSH1 0x40
00001459: ADD
0000145a: CALLDATALOAD
0000145b: PUSH2 0x41a1
0000145e: JUMP
0000145f: JUMPDEST
00001460: PUSH1 0x00
00001462: DUP1
00001463: DUP4
00001464: PUSH1 0x01
00001466: PUSH1 0xa0
00001468: PUSH1 0x02
0000146a: EXP
0000146b: SUB
0000146c: AND
0000146d: DUP4
0000146e: PUSH1 0x01
00001470: PUSH1 0xa0
00001472: PUSH1 0x02
00001474: EXP
00001475: SUB
00001476: AND
00001477: LT
00001478: ISZERO
00001479: PUSH2 0x1480
0000147c: JUMPI
0000147d: SWAP2
0000147e: SWAP3
0000147f: SWAP2
00001480: JUMPDEST
00001481: POP
00001482: SWAP2
00001483: SWAP3
00001484: SWAP1
00001485: SWAP2
00001486: POP
00001487: JUMP
00001488: JUMPDEST
00001489: PUSH1 0x40
0000148b: DUP1
0000148c: MLOAD
0000148d: DUP3
0000148e: DUP2
0000148f: MSTORE
00001490: PUSH1 0x20
00001492: DUP1
00001493: DUP5
00001494: MUL
00001495: DUP3
00001496: ADD
00001497: ADD
00001498: SWAP1
00001499: SWAP2
0000149a: MSTORE
0000149b: PUSH1 0x60
0000149d: SWAP1
0000149e: DUP3
0000149f: SWAP1
000014a0: DUP3
000014a1: SWAP1
000014a2: DUP3
000014a3: DUP1
000014a4: ISZERO
000014a5: PUSH2 0x14b8
000014a8: JUMPI
000014a9: DUP2
000014aa: PUSH1 0x20
000014ac: ADD
000014ad: PUSH1 0x20
000014af: DUP3
000014b0: MUL
000014b1: DUP1
000014b2: CODESIZE
000014b3: DUP4
000014b4: CODECOPY
000014b5: ADD
000014b6: SWAP1
000014b7: POP
000014b8: JUMPDEST
000014b9: POP
000014ba: SWAP1
000014bb: POP
000014bc: PUSH1 0x00
000014be: JUMPDEST
000014bf: DUP3
000014c0: DUP2
000014c1: LT
000014c2: ISZERO
000014c3: PUSH2 0x1539
000014c6: JUMPI
000014c7: PUSH1 0x04
000014c9: PUSH1 0x00
000014cb: DUP8
000014cc: DUP8
000014cd: DUP5
000014ce: DUP2
000014cf: DUP2
000014d0: LT
000014d1: PUSH2 0x14d6
000014d4: JUMPI
000014d5: INVALID
000014d6: JUMPDEST
000014d7: SWAP1
000014d8: POP
000014d9: PUSH1 0x20
000014db: MUL
000014dc: ADD
000014dd: CALLDATALOAD
000014de: PUSH1 0x01
000014e0: PUSH1 0xa0
000014e2: PUSH1 0x02
000014e4: EXP
000014e5: SUB
000014e6: AND
000014e7: PUSH1 0x01
000014e9: PUSH1 0xa0
000014eb: PUSH1 0x02
000014ed: EXP
000014ee: SUB
000014ef: AND
000014f0: PUSH1 0x01
000014f2: PUSH1 0xa0
000014f4: PUSH1 0x02
000014f6: EXP
000014f7: SUB
000014f8: AND
000014f9: DUP2
000014fa: MSTORE
000014fb: PUSH1 0x20
000014fd: ADD
000014fe: SWAP1
000014ff: DUP2
00001500: MSTORE
00001501: PUSH1 0x20
00001503: ADD
00001504: PUSH1 0x00
00001506: KECCAK256
00001507: PUSH1 0x00
00001509: SWAP1
0000150a: SLOAD
0000150b: SWAP1
0000150c: PUSH2 0x0100
0000150f: EXP
00001510: SWAP1
00001511: DIV
00001512: PUSH1 0xff
00001514: AND
00001515: DUP3
00001516: DUP3
00001517: DUP2
00001518: MLOAD
00001519: DUP2
0000151a: LT
0000151b: ISZERO
0000151c: ISZERO
0000151d: PUSH2 0x1522
00001520: JUMPI
00001521: INVALID
00001522: JUMPDEST
00001523: SWAP2
00001524: ISZERO
00001525: ISZERO
00001526: PUSH1 0x20
00001528: SWAP3
00001529: DUP4
0000152a: MUL
0000152b: SWAP1
0000152c: SWAP2
0000152d: ADD
0000152e: SWAP1
0000152f: SWAP2
00001530: ADD
00001531: MSTORE
00001532: PUSH1 0x01
00001534: ADD
00001535: PUSH2 0x14be
00001538: JUMP
00001539: JUMPDEST
0000153a: POP
0000153b: SWAP2
0000153c: POP
0000153d: POP
0000153e: JUMPDEST
0000153f: SWAP3
00001540: SWAP2
00001541: POP
00001542: POP
00001543: JUMP
00001544: JUMPDEST
00001545: PUSH1 0x00
00001547: SLOAD
00001548: PUSH1 0x01
0000154a: PUSH1 0xa0
0000154c: PUSH1 0x02
0000154e: EXP
0000154f: SUB
00001550: AND
00001551: SWAP1
00001552: JUMP
00001553: JUMPDEST
00001554: PUSH1 0x00
00001556: DUP1
00001557: PUSH1 0x00
00001559: PUSH2 0x1564
0000155c: DUP9
0000155d: DUP9
0000155e: DUP9
0000155f: DUP9
00001560: PUSH2 0x2422
00001563: JUMP
00001564: JUMPDEST
00001565: SWAP1
00001566: SWAP4
00001567: POP
00001568: SWAP2
00001569: POP
0000156a: PUSH2 0x1573
0000156d: DUP8
0000156e: DUP6
0000156f: PUSH2 0x3e0e
00001572: JUMP
00001573: JUMPDEST
00001574: SWAP1
00001575: POP
00001576: SWAP6
00001577: POP
00001578: SWAP6
00001579: POP
0000157a: SWAP6
0000157b: SWAP3
0000157c: POP
0000157d: POP
0000157e: POP
0000157f: JUMP
00001580: JUMPDEST
00001581: PUSH1 0x60
00001583: PUSH1 0x00
00001585: DUP1
00001586: PUSH2 0x1623
00001589: DUP10
0000158a: DUP10
0000158b: DUP1
0000158c: DUP1
0000158d: PUSH1 0x20
0000158f: MUL
00001590: PUSH1 0x20
00001592: ADD
00001593: PUSH1 0x40
00001595: MLOAD
00001596: SWAP1
00001597: DUP2
00001598: ADD
00001599: PUSH1 0x40
0000159b: MSTORE
0000159c: DUP1
0000159d: SWAP4
0000159e: SWAP3
0000159f: SWAP2
000015a0: SWAP1
000015a1: DUP2
000015a2: DUP2
000015a3: MSTORE
000015a4: PUSH1 0x20
000015a6: ADD
000015a7: DUP4
000015a8: DUP4
000015a9: PUSH1 0x20
000015ab: MUL
000015ac: DUP1
000015ad: DUP3
000015ae: DUP5
000015af: CALLDATACOPY
000015b0: PUSH1 0x00
000015b2: SWAP3
000015b3: ADD
000015b4: SWAP2
000015b5: SWAP1
000015b6: SWAP2
000015b7: MSTORE
000015b8: POP
000015b9: POP
000015ba: PUSH1 0x40
000015bc: DUP1
000015bd: MLOAD
000015be: PUSH1 0x20
000015c0: DUP1
000015c1: DUP14
000015c2: MUL
000015c3: DUP3
000015c4: DUP2
000015c5: ADD
000015c6: DUP3
000015c7: ADD
000015c8: SWAP1
000015c9: SWAP4
000015ca: MSTORE
000015cb: DUP13
000015cc: DUP3
000015cd: MSTORE
000015ce: SWAP1
000015cf: SWAP4
000015d0: POP
000015d1: DUP13
000015d2: SWAP3
000015d3: POP
000015d4: DUP12
000015d5: SWAP2
000015d6: DUP3
000015d7: SWAP2
000015d8: DUP6
000015d9: ADD
000015da: SWAP1
000015db: DUP5
000015dc: SWAP1
000015dd: DUP1
000015de: DUP3
000015df: DUP5
000015e0: CALLDATACOPY
000015e1: PUSH1 0x00
000015e3: SWAP3
000015e4: ADD
000015e5: SWAP2
000015e6: SWAP1
000015e7: SWAP2
000015e8: MSTORE
000015e9: POP
000015ea: POP
000015eb: PUSH1 0x40
000015ed: DUP1
000015ee: MLOAD
000015ef: PUSH1 0x20
000015f1: DUP1
000015f2: DUP13
000015f3: MUL
000015f4: DUP3
000015f5: DUP2
000015f6: ADD
000015f7: DUP3
000015f8: ADD
000015f9: SWAP1
000015fa: SWAP4
000015fb: MSTORE
000015fc: DUP12
000015fd: DUP3
000015fe: MSTORE
000015ff: SWAP1
00001600: SWAP4
00001601: POP
00001602: DUP12
00001603: SWAP3
00001604: POP
00001605: DUP11
00001606: SWAP2
00001607: DUP3
00001608: SWAP2
00001609: DUP6
0000160a: ADD
0000160b: SWAP1
0000160c: DUP5
0000160d: SWAP1
0000160e: DUP1
0000160f: DUP3
00001610: DUP5
00001611: CALLDATACOPY
00001612: PUSH1 0x00
00001614: SWAP3
00001615: ADD
00001616: SWAP2
00001617: SWAP1
00001618: SWAP2
00001619: MSTORE
0000161a: POP
0000161b: PUSH2 0x432e
0000161e: SWAP3
0000161f: POP
00001620: POP
00001621: POP
00001622: JUMP
00001623: JUMPDEST
00001624: SWAP1
00001625: POP
00001626: PUSH1 0x60
00001628: DUP2
00001629: PUSH1 0x40
0000162b: MLOAD
0000162c: SWAP1
0000162d: DUP1
0000162e: DUP3
0000162f: MSTORE
00001630: DUP1
00001631: PUSH1 0x20
00001633: MUL
00001634: PUSH1 0x20
00001636: ADD
00001637: DUP3
00001638: ADD
00001639: PUSH1 0x40
0000163b: MSTORE
0000163c: DUP1
0000163d: ISZERO
0000163e: PUSH2 0x1651
00001641: JUMPI
00001642: DUP2
00001643: PUSH1 0x20
00001645: ADD
00001646: PUSH1 0x20
00001648: DUP3
00001649: MUL
0000164a: DUP1
0000164b: CODESIZE
0000164c: DUP4
0000164d: CODECOPY
0000164e: ADD
0000164f: SWAP1
00001650: POP
00001651: JUMPDEST
00001652: POP
00001653: SWAP1
00001654: POP
00001655: PUSH1 0x00
00001657: DUP1
00001658: JUMPDEST
00001659: DUP4
0000165a: DUP2
0000165b: LT
0000165c: ISZERO
0000165d: PUSH2 0x171e
00001660: JUMPI
00001661: PUSH2 0x16b8
00001664: DUP13
00001665: DUP13
00001666: DUP4
00001667: DUP2
00001668: DUP2
00001669: LT
0000166a: PUSH2 0x166f
0000166d: JUMPI
0000166e: INVALID
0000166f: JUMPDEST
00001670: SWAP1
00001671: POP
00001672: PUSH1 0x20
00001674: MUL
00001675: ADD
00001676: CALLDATALOAD
00001677: PUSH1 0x01
00001679: PUSH1 0xa0
0000167b: PUSH1 0x02
0000167d: EXP
0000167e: SUB
0000167f: AND
00001680: DUP12
00001681: DUP12
00001682: DUP5
00001683: DUP2
00001684: DUP2
00001685: LT
00001686: ISZERO
00001687: ISZERO
00001688: PUSH2 0x168d
0000168b: JUMPI
0000168c: INVALID
0000168d: JUMPDEST
0000168e: SWAP1
0000168f: POP
00001690: PUSH1 0x20
00001692: MUL
00001693: ADD
00001694: CALLDATALOAD
00001695: PUSH1 0x01
00001697: PUSH1 0xa0
00001699: PUSH1 0x02
0000169b: EXP
0000169c: SUB
0000169d: AND
0000169e: CALLER
0000169f: DUP12
000016a0: DUP12
000016a1: DUP7
000016a2: DUP2
000016a3: DUP2
000016a4: LT
000016a5: ISZERO
000016a6: ISZERO
000016a7: PUSH2 0x16ac
000016aa: JUMPI
000016ab: INVALID
000016ac: JUMPDEST
000016ad: SWAP1
000016ae: POP
000016af: PUSH1 0x20
000016b1: MUL
000016b2: ADD
000016b3: CALLDATALOAD
000016b4: PUSH2 0x2f78
000016b7: JUMP
000016b8: JUMPDEST
000016b9: DUP5
000016ba: DUP4
000016bb: DUP2
000016bc: MLOAD
000016bd: DUP2
000016be: LT
000016bf: ISZERO
000016c0: ISZERO
000016c1: PUSH2 0x16c6
000016c4: JUMPI
000016c5: INVALID
000016c6: JUMPDEST
000016c7: PUSH1 0x20
000016c9: SWAP1
000016ca: DUP2
000016cb: MUL
000016cc: SWAP1
000016cd: SWAP2
000016ce: ADD
000016cf: ADD
000016d0: SWAP2
000016d1: SWAP1
000016d2: SWAP2
000016d3: MSTORE
000016d4: SWAP5
000016d5: DUP6
000016d6: ADD
000016d7: SWAP5
000016d8: SWAP2
000016d9: POP
000016da: PUSH2 0x1715
000016dd: DUP13
000016de: DUP13
000016df: DUP4
000016e0: DUP2
000016e1: DUP2
000016e2: LT
000016e3: PUSH2 0x16e8
000016e6: JUMPI
000016e7: INVALID
000016e8: JUMPDEST
000016e9: SWAP1
000016ea: POP
000016eb: PUSH1 0x20
000016ed: MUL
000016ee: ADD
000016ef: CALLDATALOAD
000016f0: PUSH1 0x01
000016f2: PUSH1 0xa0
000016f4: PUSH1 0x02
000016f6: EXP
000016f7: SUB
000016f8: AND
000016f9: DUP5
000016fa: DUP4
000016fb: DUP2
000016fc: MLOAD
000016fd: DUP2
000016fe: LT
000016ff: ISZERO
00001700: ISZERO
00001701: PUSH2 0x1706
00001704: JUMPI
00001705: INVALID
00001706: JUMPDEST
00001707: SWAP1
00001708: PUSH1 0x20
0000170a: ADD
0000170b: SWAP1
0000170c: PUSH1 0x20
0000170e: MUL
0000170f: ADD
00001710: MLOAD
00001711: PUSH2 0x3e0e
00001714: JUMP
00001715: JUMPDEST
00001716: POP
00001717: PUSH1 0x01
00001719: ADD
0000171a: PUSH2 0x1658
0000171d: JUMP
0000171e: JUMPDEST
0000171f: POP
00001720: SWAP1
00001721: SWAP4
00001722: POP
00001723: POP
00001724: POP
00001725: SWAP7
00001726: POP
00001727: SWAP7
00001728: SWAP5
00001729: POP
0000172a: POP
0000172b: POP
0000172c: POP
0000172d: POP
0000172e: JUMP
0000172f: JUMPDEST
00001730: PUSH1 0x03
00001732: SLOAD
00001733: DUP2
00001734: JUMP
00001735: JUMPDEST
00001736: PUSH1 0x0e
00001738: PUSH1 0x20
0000173a: SWAP1
0000173b: DUP2
0000173c: MSTORE
0000173d: PUSH1 0x00
0000173f: SWAP3
00001740: DUP4
00001741: MSTORE
00001742: PUSH1 0x40
00001744: DUP1
00001745: DUP5
00001746: KECCAK256
00001747: SWAP1
00001748: SWAP2
00001749: MSTORE
0000174a: SWAP1
0000174b: DUP3
0000174c: MSTORE
0000174d: SWAP1
0000174e: KECCAK256
0000174f: SLOAD
00001750: DUP2
00001751: JUMP
00001752: JUMPDEST
00001753: PUSH1 0x00
00001755: PUSH2 0x175e
00001758: DUP4
00001759: DUP4
0000175a: PUSH2 0x145f
0000175d: JUMP
0000175e: JUMPDEST
0000175f: PUSH1 0x01
00001761: PUSH1 0xa0
00001763: PUSH1 0x02
00001765: EXP
00001766: SUB
00001767: SWAP2
00001768: DUP3
00001769: AND
0000176a: PUSH1 0x00
0000176c: SWAP1
0000176d: DUP2
0000176e: MSTORE
0000176f: PUSH1 0x0d
00001771: PUSH1 0x20
00001773: SWAP1
00001774: DUP2
00001775: MSTORE
00001776: PUSH1 0x40
00001778: DUP1
00001779: DUP4
0000177a: KECCAK256
0000177b: SWAP4
0000177c: SWAP1
0000177d: SWAP5
0000177e: AND
0000177f: DUP3
00001780: MSTORE
00001781: SWAP2
00001782: SWAP1
00001783: SWAP2
00001784: MSTORE
00001785: KECCAK256
00001786: SLOAD
00001787: SWAP4
00001788: SWAP3
00001789: POP
0000178a: POP
0000178b: POP
0000178c: JUMP
0000178d: JUMPDEST
0000178e: PUSH1 0x02
00001790: SLOAD
00001791: PUSH1 0x01
00001793: PUSH1 0xa0
00001795: PUSH1 0x02
00001797: EXP
00001798: SUB
00001799: AND
0000179a: ISZERO
0000179b: ISZERO
0000179c: PUSH2 0x17d9
0000179f: JUMPI
000017a0: PUSH1 0x40
000017a2: MLOAD
000017a3: PUSH1 0xe5
000017a5: PUSH1 0x02
000017a7: EXP
000017a8: PUSH3 0x461bcd
000017ac: MUL
000017ad: DUP2
000017ae: MSTORE
000017af: PUSH1 0x04
000017b1: ADD
000017b2: DUP1
000017b3: DUP1
000017b4: PUSH1 0x20
000017b6: ADD
000017b7: DUP3
000017b8: DUP2
000017b9: SUB
000017ba: DUP3
000017bb: MSTORE
000017bc: PUSH1 0x2b
000017be: DUP2
000017bf: MSTORE
000017c0: PUSH1 0x20
000017c2: ADD
000017c3: DUP1
000017c4: PUSH2 0x54fd
000017c7: PUSH1 0x2b
000017c9: SWAP2
000017ca: CODECOPY
000017cb: PUSH1 0x40
000017cd: ADD
000017ce: SWAP2
000017cf: POP
000017d0: POP
000017d1: PUSH1 0x40
000017d3: MLOAD
000017d4: DUP1
000017d5: SWAP2
000017d6: SUB
000017d7: SWAP1
000017d8: REVERT
000017d9: JUMPDEST
000017da: PUSH1 0x03
000017dc: SLOAD
000017dd: TIMESTAMP
000017de: LT
000017df: ISZERO
000017e0: PUSH2 0x181d
000017e3: JUMPI
000017e4: PUSH1 0x40
000017e6: MLOAD
000017e7: PUSH1 0xe5
000017e9: PUSH1 0x02
000017eb: EXP
000017ec: PUSH3 0x461bcd
000017f0: MUL
000017f1: DUP2
000017f2: MSTORE
000017f3: PUSH1 0x04
000017f5: ADD
000017f6: DUP1
000017f7: DUP1
000017f8: PUSH1 0x20
000017fa: ADD
000017fb: DUP3
000017fc: DUP2
000017fd: SUB
000017fe: DUP3
000017ff: MSTORE
00001800: PUSH1 0x39
00001802: DUP2
00001803: MSTORE
00001804: PUSH1 0x20
00001806: ADD
00001807: DUP1
00001808: PUSH2 0x546e
0000180b: PUSH1 0x39
0000180d: SWAP2
0000180e: CODECOPY
0000180f: PUSH1 0x40
00001811: ADD
00001812: SWAP2
00001813: POP
00001814: POP
00001815: PUSH1 0x40
00001817: MLOAD
00001818: DUP1
00001819: SWAP2
0000181a: SUB
0000181b: SWAP1
0000181c: REVERT
0000181d: JUMPDEST
0000181e: PUSH1 0x02
00001820: DUP1
00001821: SLOAD
00001822: PUSH1 0x00
00001824: DUP1
00001825: SLOAD
00001826: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000183b: NOT
0000183c: SWAP1
0000183d: DUP2
0000183e: AND
0000183f: PUSH1 0x01
00001841: PUSH1 0xa0
00001843: PUSH1 0x02
00001845: EXP
00001846: SUB
00001847: DUP5
00001848: AND
00001849: OR
0000184a: SWAP1
0000184b: SWAP2
0000184c: SSTORE
0000184d: AND
0000184e: SWAP1
0000184f: SSTORE
00001850: JUMP
00001851: JUMPDEST
00001852: PUSH1 0x00
00001854: DUP1
00001855: DUP3
00001856: SLT
00001857: ISZERO
00001858: PUSH2 0x1863
0000185b: JUMPI
0000185c: POP
0000185d: PUSH1 0x00
0000185f: PUSH2 0x1866
00001862: JUMP
00001863: JUMPDEST
00001864: POP
00001865: DUP1
00001866: JUMPDEST
00001867: SWAP2
00001868: SWAP1
00001869: POP
0000186a: JUMP
0000186b: JUMPDEST
0000186c: PUSH1 0x17
0000186e: PUSH1 0x20
00001870: SWAP1
00001871: DUP2
00001872: MSTORE
00001873: PUSH1 0x00
00001875: SWAP5
00001876: DUP6
00001877: MSTORE
00001878: PUSH1 0x40
0000187a: DUP1
0000187b: DUP7
0000187c: KECCAK256
0000187d: DUP3
0000187e: MSTORE
0000187f: SWAP4
00001880: DUP6
00001881: MSTORE
00001882: DUP4
00001883: DUP6
00001884: KECCAK256
00001885: DUP2
00001886: MSTORE
00001887: SWAP2
00001888: DUP5
00001889: MSTORE
0000188a: DUP3
0000188b: DUP5
0000188c: KECCAK256
0000188d: SWAP1
0000188e: SWAP2
0000188f: MSTORE
00001890: DUP3
00001891: MSTORE
00001892: SWAP1
00001893: KECCAK256
00001894: SLOAD
00001895: DUP2
00001896: JUMP
00001897: JUMPDEST
00001898: PUSH1 0x01
0000189a: SLOAD
0000189b: PUSH1 0x01
0000189d: PUSH1 0xa0
0000189f: PUSH1 0x02
000018a1: EXP
000018a2: SUB
000018a3: AND
000018a4: CALLER
000018a5: EQ
000018a6: PUSH2 0x18e3
000018a9: JUMPI
000018aa: PUSH1 0x40
000018ac: MLOAD
000018ad: PUSH1 0xe5
000018af: PUSH1 0x02
000018b1: EXP
000018b2: PUSH3 0x461bcd
000018b6: MUL
000018b7: DUP2
000018b8: MSTORE
000018b9: PUSH1 0x04
000018bb: ADD
000018bc: DUP1
000018bd: DUP1
000018be: PUSH1 0x20
000018c0: ADD
000018c1: DUP3
000018c2: DUP2
000018c3: SUB
000018c4: DUP3
000018c5: MSTORE
000018c6: PUSH1 0x2a
000018c8: DUP2
000018c9: MSTORE
000018ca: PUSH1 0x20
000018cc: ADD
000018cd: DUP1
000018ce: PUSH2 0x54a7
000018d1: PUSH1 0x2a
000018d3: SWAP2
000018d4: CODECOPY
000018d5: PUSH1 0x40
000018d7: ADD
000018d8: SWAP2
000018d9: POP
000018da: POP
000018db: PUSH1 0x40
000018dd: MLOAD
000018de: DUP1
000018df: SWAP2
000018e0: SUB
000018e1: SWAP1
000018e2: REVERT
000018e3: JUMPDEST
000018e4: PUSH1 0x01
000018e6: PUSH1 0xa0
000018e8: PUSH1 0x02
000018ea: EXP
000018eb: SUB
000018ec: DUP2
000018ed: AND
000018ee: ISZERO
000018ef: ISZERO
000018f0: PUSH2 0x1943
000018f3: JUMPI
000018f4: PUSH1 0x40
000018f6: DUP1
000018f7: MLOAD
000018f8: PUSH1 0xe5
000018fa: PUSH1 0x02
000018fc: EXP
000018fd: PUSH3 0x461bcd
00001901: MUL
00001902: DUP2
00001903: MSTORE
00001904: PUSH1 0x20
00001906: PUSH1 0x04
00001908: DUP3
00001909: ADD
0000190a: DUP2
0000190b: SWAP1
0000190c: MSTORE
0000190d: PUSH1 0x24
0000190f: DUP3
00001910: ADD
00001911: MSTORE
00001912: PUSH32 0x546865206f7261636c652061646472657373206d7573742062652076616c6964
00001933: PUSH1 0x44
00001935: DUP3
00001936: ADD
00001937: MSTORE
00001938: SWAP1
00001939: MLOAD
0000193a: SWAP1
0000193b: DUP2
0000193c: SWAP1
0000193d: SUB
0000193e: PUSH1 0x64
00001940: ADD
00001941: SWAP1
00001942: REVERT
00001943: JUMPDEST
00001944: PUSH1 0x06
00001946: DUP1
00001947: SLOAD
00001948: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000195d: NOT
0000195e: AND
0000195f: PUSH1 0x01
00001961: PUSH1 0xa0
00001963: PUSH1 0x02
00001965: EXP
00001966: SUB
00001967: DUP4
00001968: AND
00001969: OR
0000196a: SWAP1
0000196b: SSTORE
0000196c: PUSH2 0x1978
0000196f: TIMESTAMP
00001970: PUSH3 0x278d00
00001974: PUSH2 0x27a7
00001977: JUMP
00001978: JUMPDEST
00001979: PUSH1 0x07
0000197b: SSTORE
0000197c: PUSH1 0x40
0000197e: DUP1
0000197f: MLOAD
00001980: PUSH1 0x01
00001982: PUSH1 0xa0
00001984: PUSH1 0x02
00001986: EXP
00001987: SUB
00001988: DUP4
00001989: AND
0000198a: DUP2
0000198b: MSTORE
0000198c: SWAP1
0000198d: MLOAD
0000198e: PUSH32 0x3f174cfd713408ca6e4620d1efcc241b23fc39aa7d4694bd98610d3384dc001c
000019af: SWAP2
000019b0: DUP2
000019b1: SWAP1
000019b2: SUB
000019b3: PUSH1 0x20
000019b5: ADD
000019b6: SWAP1
000019b7: LOG1
000019b8: POP
000019b9: JUMP
000019ba: JUMPDEST
000019bb: PUSH1 0x00
000019bd: PUSH2 0x19c9
000019c0: DUP4
000019c1: CALLER
000019c2: DUP5
000019c3: PUSH1 0x01
000019c5: PUSH2 0x4355
000019c8: JUMP
000019c9: JUMPDEST
000019ca: ISZERO
000019cb: ISZERO
000019cc: PUSH2 0x1a09
000019cf: JUMPI
000019d0: PUSH1 0x40
000019d2: MLOAD
000019d3: PUSH1 0xe5
000019d5: PUSH1 0x02
000019d7: EXP
000019d8: PUSH3 0x461bcd
000019dc: MUL
000019dd: DUP2
000019de: MSTORE
000019df: PUSH1 0x04
000019e1: ADD
000019e2: DUP1
000019e3: DUP1
000019e4: PUSH1 0x20
000019e6: ADD
000019e7: DUP3
000019e8: DUP2
000019e9: SUB
000019ea: DUP3
000019eb: MSTORE
000019ec: PUSH1 0x24
000019ee: DUP2
000019ef: MSTORE
000019f0: PUSH1 0x20
000019f2: ADD
000019f3: DUP1
000019f4: PUSH2 0x5598
000019f7: PUSH1 0x24
000019f9: SWAP2
000019fa: CODECOPY
000019fb: PUSH1 0x40
000019fd: ADD
000019fe: SWAP2
000019ff: POP
00001a00: POP
00001a01: PUSH1 0x40
00001a03: MLOAD
00001a04: DUP1
00001a05: SWAP2
00001a06: SUB
00001a07: SWAP1
00001a08: REVERT
00001a09: JUMPDEST
00001a0a: PUSH1 0x01
00001a0c: PUSH1 0xa0
00001a0e: PUSH1 0x02
00001a10: EXP
00001a11: SUB
00001a12: DUP4
00001a13: AND
00001a14: PUSH1 0x00
00001a16: SWAP1
00001a17: DUP2
00001a18: MSTORE
00001a19: PUSH1 0x14
00001a1b: PUSH1 0x20
00001a1d: SWAP1
00001a1e: DUP2
00001a1f: MSTORE
00001a20: PUSH1 0x40
00001a22: DUP1
00001a23: DUP4
00001a24: KECCAK256
00001a25: CALLER
00001a26: DUP5
00001a27: MSTORE
00001a28: SWAP1
00001a29: SWAP2
00001a2a: MSTORE
00001a2b: DUP2
00001a2c: KECCAK256
00001a2d: SLOAD
00001a2e: PUSH2 0x1a37
00001a31: SWAP1
00001a32: DUP5
00001a33: PUSH2 0x27a7
00001a36: JUMP
00001a37: JUMPDEST
00001a38: PUSH1 0x01
00001a3a: PUSH1 0xa0
00001a3c: PUSH1 0x02
00001a3e: EXP
00001a3f: SUB
00001a40: DUP6
00001a41: AND
00001a42: PUSH1 0x00
00001a44: DUP2
00001a45: DUP2
00001a46: MSTORE
00001a47: PUSH1 0x14
00001a49: PUSH1 0x20
00001a4b: SWAP1
00001a4c: DUP2
00001a4d: MSTORE
00001a4e: PUSH1 0x40
00001a50: DUP1
00001a51: DUP4
00001a52: KECCAK256
00001a53: CALLER
00001a54: DUP5
00001a55: MSTORE
00001a56: DUP3
00001a57: MSTORE
00001a58: SWAP2
00001a59: DUP3
00001a5a: SWAP1
00001a5b: KECCAK256
00001a5c: DUP5
00001a5d: SWAP1
00001a5e: SSTORE
00001a5f: DUP2
00001a60: MLOAD
00001a61: DUP8
00001a62: DUP2
00001a63: MSTORE
00001a64: SWAP2
00001a65: MLOAD
00001a66: SWAP4
00001a67: SWAP5
00001a68: POP
00001a69: SWAP2
00001a6a: SWAP3
00001a6b: PUSH32 0x2cb77763bc1e8490c1a904905c4d74b4269919aca114464f4bb4d911e60de364
00001a8c: SWAP3
00001a8d: SWAP2
00001a8e: DUP2
00001a8f: SWAP1
00001a90: SUB
00001a91: SWAP1
00001a92: SWAP2
00001a93: ADD
00001a94: SWAP1
00001a95: LOG2
00001a96: SWAP4
00001a97: SWAP3
00001a98: POP
00001a99: POP
00001a9a: POP
00001a9b: JUMP
00001a9c: JUMPDEST
00001a9d: PUSH1 0x00
00001a9f: DUP1
00001aa0: DUP4
00001aa1: PUSH1 0x01
00001aa3: PUSH1 0xa0
00001aa5: PUSH1 0x02
00001aa7: EXP
00001aa8: SUB
00001aa9: AND
00001aaa: DUP6
00001aab: PUSH1 0x01
00001aad: PUSH1 0xa0
00001aaf: PUSH1 0x02
00001ab1: EXP
00001ab2: SUB
00001ab3: AND
00001ab4: EQ
00001ab5: ISZERO
00001ab6: PUSH2 0x1ac4
00001ab9: JUMPI
00001aba: POP
00001abb: PUSH1 0x01
00001abd: SWAP1
00001abe: POP
00001abf: DUP1
00001ac0: PUSH2 0x1c1f
00001ac3: JUMP
00001ac4: JUMPDEST
00001ac5: PUSH2 0x1ace
00001ac8: DUP6
00001ac9: DUP6
00001aca: PUSH2 0x1752
00001acd: JUMP
00001ace: JUMPDEST
00001acf: DUP4
00001ad0: GT
00001ad1: ISZERO
00001ad2: PUSH2 0x1ada
00001ad5: JUMPI
00001ad6: PUSH1 0x00
00001ad8: DUP1
00001ad9: REVERT
00001ada: JUMPDEST
00001adb: PUSH1 0x00
00001add: DUP1
00001ade: PUSH2 0x1ae5
00001ae1: PUSH2 0x5327
00001ae4: JUMP
00001ae5: JUMPDEST
00001ae6: PUSH2 0x1aed
00001ae9: PUSH2 0x5327
00001aec: JUMP
00001aed: JUMPDEST
00001aee: JUMPDEST
00001aef: DUP3
00001af0: ISZERO
00001af1: ISZERO
00001af2: PUSH2 0x1bb3
00001af5: JUMPI
00001af6: POP
00001af7: POP
00001af8: PUSH1 0x01
00001afa: PUSH1 0xa0
00001afc: PUSH1 0x02
00001afe: EXP
00001aff: SUB
00001b00: DUP1
00001b01: DUP8
00001b02: AND
00001b03: PUSH1 0x00
00001b05: DUP2
00001b06: DUP2
00001b07: MSTORE
00001b08: PUSH1 0x10
00001b0a: PUSH1 0x20
00001b0c: DUP2
00001b0d: DUP2
00001b0e: MSTORE
00001b0f: PUSH1 0x40
00001b11: DUP1
00001b12: DUP5
00001b13: KECCAK256
00001b14: SWAP6
00001b15: DUP14
00001b16: AND
00001b17: DUP1
00001b18: DUP6
00001b19: MSTORE
00001b1a: SWAP6
00001b1b: DUP3
00001b1c: MSTORE
00001b1d: DUP1
00001b1e: DUP5
00001b1f: KECCAK256
00001b20: DUP9
00001b21: DUP13
00001b22: SUB
00001b23: DUP1
00001b24: DUP7
00001b25: MSTORE
00001b26: SWAP1
00001b27: DUP4
00001b28: MSTORE
00001b29: DUP2
00001b2a: DUP6
00001b2b: KECCAK256
00001b2c: DUP3
00001b2d: MLOAD
00001b2e: DUP1
00001b2f: DUP5
00001b30: ADD
00001b31: DUP5
00001b32: MSTORE
00001b33: DUP2
00001b34: SLOAD
00001b35: DUP2
00001b36: MSTORE
00001b37: PUSH1 0x01
00001b39: SWAP2
00001b3a: DUP3
00001b3b: ADD
00001b3c: SLOAD
00001b3d: DUP2
00001b3e: DUP7
00001b3f: ADD
00001b40: MSTORE
00001b41: SWAP8
00001b42: DUP7
00001b43: MSTORE
00001b44: SWAP4
00001b45: DUP4
00001b46: MSTORE
00001b47: DUP2
00001b48: DUP6
00001b49: KECCAK256
00001b4a: SWAP6
00001b4b: DUP6
00001b4c: MSTORE
00001b4d: SWAP5
00001b4e: DUP3
00001b4f: MSTORE
00001b50: DUP1
00001b51: DUP5
00001b52: KECCAK256
00001b53: SWAP5
00001b54: DUP5
00001b55: MSTORE
00001b56: SWAP4
00001b57: DUP2
00001b58: MSTORE
00001b59: DUP4
00001b5a: DUP4
00001b5b: KECCAK256
00001b5c: DUP5
00001b5d: MLOAD
00001b5e: DUP1
00001b5f: DUP7
00001b60: ADD
00001b61: SWAP1
00001b62: SWAP6
00001b63: MSTORE
00001b64: DUP1
00001b65: SLOAD
00001b66: DUP1
00001b67: DUP7
00001b68: MSTORE
00001b69: SWAP3
00001b6a: ADD
00001b6b: SLOAD
00001b6c: SWAP1
00001b6d: DUP5
00001b6e: ADD
00001b6f: MSTORE
00001b70: SWAP2
00001b71: SWAP3
00001b72: SWAP2
00001b73: GT
00001b74: DUP1
00001b75: ISZERO
00001b76: PUSH2 0x1b83
00001b79: JUMPI
00001b7a: POP
00001b7b: PUSH1 0x00
00001b7d: DUP3
00001b7e: PUSH1 0x20
00001b80: ADD
00001b81: MLOAD
00001b82: GT
00001b83: JUMPDEST
00001b84: DUP1
00001b85: PUSH2 0x1b9e
00001b88: JUMPI
00001b89: POP
00001b8a: DUP1
00001b8b: MLOAD
00001b8c: PUSH1 0x00
00001b8e: LT
00001b8f: DUP1
00001b90: ISZERO
00001b91: PUSH2 0x1b9e
00001b94: JUMPI
00001b95: POP
00001b96: PUSH1 0x00
00001b98: DUP2
00001b99: PUSH1 0x20
00001b9b: ADD
00001b9c: MLOAD
00001b9d: GT
00001b9e: JUMPDEST
00001b9f: ISZERO
00001ba0: PUSH2 0x1ba8
00001ba3: JUMPI
00001ba4: PUSH1 0x01
00001ba6: SWAP3
00001ba7: POP
00001ba8: JUMPDEST
00001ba9: PUSH1 0x01
00001bab: SWAP1
00001bac: SWAP4
00001bad: ADD
00001bae: SWAP3
00001baf: PUSH2 0x1aee
00001bb2: JUMP
00001bb3: JUMPDEST
00001bb4: DUP2
00001bb5: MLOAD
00001bb6: ISZERO
00001bb7: DUP1
00001bb8: PUSH2 0x1bc3
00001bbb: JUMPI
00001bbc: POP
00001bbd: PUSH1 0x20
00001bbf: DUP3
00001bc0: ADD
00001bc1: MLOAD
00001bc2: ISZERO
00001bc3: JUMPDEST
00001bc4: ISZERO
00001bc5: PUSH2 0x1bd9
00001bc8: JUMPI
00001bc9: PUSH1 0x20
00001bcb: DUP2
00001bcc: ADD
00001bcd: MLOAD
00001bce: DUP2
00001bcf: MLOAD
00001bd0: SWAP1
00001bd1: SWAP7
00001bd2: POP
00001bd3: SWAP5
00001bd4: POP
00001bd5: PUSH2 0x1c1a
00001bd8: JUMP
00001bd9: JUMPDEST
00001bda: DUP1
00001bdb: MLOAD
00001bdc: ISZERO
00001bdd: DUP1
00001bde: PUSH2 0x1be9
00001be1: JUMPI
00001be2: POP
00001be3: PUSH1 0x20
00001be5: DUP2
00001be6: ADD
00001be7: MLOAD
00001be8: ISZERO
00001be9: JUMPDEST
00001bea: ISZERO
00001beb: PUSH2 0x1bff
00001bee: JUMPI
00001bef: DUP2
00001bf0: MLOAD
00001bf1: PUSH1 0x20
00001bf3: DUP4
00001bf4: ADD
00001bf5: MLOAD
00001bf6: SWAP1
00001bf7: SWAP7
00001bf8: POP
00001bf9: SWAP5
00001bfa: POP
00001bfb: PUSH2 0x1c1a
00001bfe: JUMP
00001bff: JUMPDEST
00001c00: DUP2
00001c01: PUSH1 0x00
00001c03: ADD
00001c04: MLOAD
00001c05: DUP2
00001c06: PUSH1 0x20
00001c08: ADD
00001c09: MLOAD
00001c0a: ADD
00001c0b: SWAP6
00001c0c: POP
00001c0d: DUP2
00001c0e: PUSH1 0x20
00001c10: ADD
00001c11: MLOAD
00001c12: DUP2
00001c13: PUSH1 0x00
00001c15: ADD
00001c16: MLOAD
00001c17: ADD
00001c18: SWAP5
00001c19: POP
00001c1a: JUMPDEST
00001c1b: POP
00001c1c: POP
00001c1d: POP
00001c1e: POP
00001c1f: JUMPDEST
00001c20: SWAP4
00001c21: POP
00001c22: SWAP4
00001c23: SWAP2
00001c24: POP
00001c25: POP
00001c26: JUMP
00001c27: JUMPDEST
00001c28: DUP2
00001c29: ADD
00001c2a: LT
00001c2b: ISZERO
00001c2c: SWAP1
00001c2d: JUMP
00001c2e: JUMPDEST
00001c2f: PUSH1 0x01
00001c31: PUSH1 0xa0
00001c33: PUSH1 0x02
00001c35: EXP
00001c36: SUB
00001c37: DUP5
00001c38: AND
00001c39: PUSH1 0x00
00001c3b: SWAP1
00001c3c: DUP2
00001c3d: MSTORE
00001c3e: PUSH1 0x14
00001c40: PUSH1 0x20
00001c42: SWAP1
00001c43: DUP2
00001c44: MSTORE
00001c45: PUSH1 0x40
00001c47: DUP1
00001c48: DUP4
00001c49: KECCAK256
00001c4a: CALLER
00001c4b: DUP5
00001c4c: MSTORE
00001c4d: SWAP1
00001c4e: SWAP2
00001c4f: MSTORE
00001c50: DUP2
00001c51: KECCAK256
00001c52: SLOAD
00001c53: DUP2
00001c54: SWAP1
00001c55: PUSH2 0x1c5f
00001c58: SWAP1
00001c59: DUP5
00001c5a: SWAP1
00001c5b: PUSH2 0x2a3b
00001c5e: JUMP
00001c5f: JUMPDEST
00001c60: SWAP3
00001c61: POP
00001c62: PUSH1 0x00
00001c64: PUSH2 0x1c6d
00001c67: DUP8
00001c68: DUP8
00001c69: PUSH2 0x1752
00001c6c: JUMP
00001c6d: JUMPDEST
00001c6e: SWAP1
00001c6f: POP
00001c70: PUSH1 0x00
00001c72: DUP2
00001c73: GT
00001c74: PUSH2 0x1c7c
00001c77: JUMPI
00001c78: PUSH1 0x00
00001c7a: DUP1
00001c7b: REVERT
00001c7c: JUMPDEST
00001c7d: PUSH1 0x00
00001c7f: PUSH2 0x1c88
00001c82: DUP9
00001c83: DUP9
00001c84: PUSH2 0x35f4
00001c87: JUMP
00001c88: JUMPDEST
00001c89: SWAP1
00001c8a: POP
00001c8b: PUSH1 0x01
00001c8d: DUP2
00001c8e: EQ
00001c8f: DUP1
00001c90: PUSH2 0x1c98
00001c93: JUMPI
00001c94: POP
00001c95: TIMESTAMP
00001c96: DUP2
00001c97: GT
00001c98: JUMPDEST
00001c99: ISZERO
00001c9a: PUSH2 0x1d3b
00001c9d: JUMPI
00001c9e: DUP6
00001c9f: ISZERO
00001ca0: ISZERO
00001ca1: PUSH2 0x1cac
00001ca4: JUMPI
00001ca5: DUP2
00001ca6: SWAP6
00001ca7: POP
00001ca8: PUSH2 0x1ced
00001cab: JUMP
00001cac: JUMPDEST
00001cad: DUP6
00001cae: DUP3
00001caf: EQ
00001cb0: PUSH2 0x1ced
00001cb3: JUMPI
00001cb4: PUSH1 0x40
00001cb6: MLOAD
00001cb7: PUSH1 0xe5
00001cb9: PUSH1 0x02
00001cbb: EXP
00001cbc: PUSH3 0x461bcd
00001cc0: MUL
00001cc1: DUP2
00001cc2: MSTORE
00001cc3: PUSH1 0x04
00001cc5: ADD
00001cc6: DUP1
00001cc7: DUP1
00001cc8: PUSH1 0x20
00001cca: ADD
00001ccb: DUP3
00001ccc: DUP2
00001ccd: SUB
00001cce: DUP3
00001ccf: MSTORE
00001cd0: PUSH1 0x35
00001cd2: DUP2
00001cd3: MSTORE
00001cd4: PUSH1 0x20
00001cd6: ADD
00001cd7: DUP1
00001cd8: PUSH2 0x55de
00001cdb: PUSH1 0x35
00001cdd: SWAP2
00001cde: CODECOPY
00001cdf: PUSH1 0x40
00001ce1: ADD
00001ce2: SWAP2
00001ce3: POP
00001ce4: POP
00001ce5: PUSH1 0x40
00001ce7: MLOAD
00001ce8: DUP1
00001ce9: SWAP2
00001cea: SUB
00001ceb: SWAP1
00001cec: REVERT
00001ced: JUMPDEST
00001cee: PUSH1 0x01
00001cf0: PUSH1 0xa0
00001cf2: PUSH1 0x02
00001cf4: EXP
00001cf5: SUB
00001cf6: DUP1
00001cf7: DUP10
00001cf8: AND
00001cf9: PUSH1 0x00
00001cfb: SWAP1
00001cfc: DUP2
00001cfd: MSTORE
00001cfe: PUSH1 0x11
00001d00: PUSH1 0x20
00001d02: SWAP1
00001d03: DUP2
00001d04: MSTORE
00001d05: PUSH1 0x40
00001d07: DUP1
00001d08: DUP4
00001d09: KECCAK256
00001d0a: SWAP4
00001d0b: DUP12
00001d0c: AND
00001d0d: DUP4
00001d0e: MSTORE
00001d0f: SWAP3
00001d10: SWAP1
00001d11: MSTORE
00001d12: KECCAK256
00001d13: SLOAD
00001d14: PUSH13 0x0c9f2c9cd04674edea40000000
00001d22: SWAP1
00001d23: PUSH2 0x1d2c
00001d26: SWAP1
00001d27: DUP8
00001d28: PUSH2 0x27a7
00001d2b: JUMP
00001d2c: JUMPDEST
00001d2d: LT
00001d2e: PUSH2 0x1d36
00001d31: JUMPI
00001d32: PUSH1 0x00
00001d34: DUP1
00001d35: REVERT
00001d36: JUMPDEST
00001d37: PUSH2 0x1da5
00001d3a: JUMP
00001d3b: JUMPDEST
00001d3c: DUP6
00001d3d: ISZERO
00001d3e: ISZERO
00001d3f: PUSH2 0x1d4d
00001d42: JUMPI
00001d43: DUP2
00001d44: PUSH1 0x01
00001d46: ADD
00001d47: SWAP6
00001d48: POP
00001d49: PUSH2 0x1d5c
00001d4c: JUMP
00001d4d: JUMPDEST
00001d4e: PUSH1 0x01
00001d50: DUP3
00001d51: ADD
00001d52: DUP7
00001d53: EQ
00001d54: PUSH2 0x1d5c
00001d57: JUMPI
00001d58: PUSH1 0x00
00001d5a: DUP1
00001d5b: REVERT
00001d5c: JUMPDEST
00001d5d: PUSH1 0x01
00001d5f: PUSH1 0xa0
00001d61: PUSH1 0x02
00001d63: EXP
00001d64: SUB
00001d65: DUP1
00001d66: DUP10
00001d67: AND
00001d68: PUSH1 0x00
00001d6a: SWAP1
00001d6b: DUP2
00001d6c: MSTORE
00001d6d: PUSH1 0x12
00001d6f: PUSH1 0x20
00001d71: SWAP1
00001d72: DUP2
00001d73: MSTORE
00001d74: PUSH1 0x40
00001d76: DUP1
00001d77: DUP4
00001d78: KECCAK256
00001d79: SWAP4
00001d7a: DUP12
00001d7b: AND
00001d7c: DUP4
00001d7d: MSTORE
00001d7e: SWAP3
00001d7f: SWAP1
00001d80: MSTORE
00001d81: KECCAK256
00001d82: SLOAD
00001d83: PUSH13 0x0c9f2c9cd04674edea40000000
00001d91: SWAP1
00001d92: PUSH2 0x1d9b
00001d95: SWAP1
00001d96: DUP8
00001d97: PUSH2 0x27a7
00001d9a: JUMP
00001d9b: JUMPDEST
00001d9c: LT
00001d9d: PUSH2 0x1da5
00001da0: JUMPI
00001da1: PUSH1 0x00
00001da3: DUP1
00001da4: REVERT
00001da5: JUMPDEST
00001da6: PUSH1 0x00
00001da8: PUSH2 0x1db3
00001dab: DUP10
00001dac: DUP10
00001dad: DUP10
00001dae: DUP10
00001daf: PUSH2 0x449a
00001db2: JUMP
00001db3: JUMPDEST
00001db4: PUSH1 0x01
00001db6: PUSH1 0xa0
00001db8: PUSH1 0x02
00001dba: EXP
00001dbb: SUB
00001dbc: DUP11
00001dbd: AND
00001dbe: PUSH1 0x00
00001dc0: SWAP1
00001dc1: DUP2
00001dc2: MSTORE
00001dc3: PUSH1 0x14
00001dc5: PUSH1 0x20
00001dc7: SWAP1
00001dc8: DUP2
00001dc9: MSTORE
00001dca: PUSH1 0x40
00001dcc: DUP1
00001dcd: DUP4
00001dce: KECCAK256
00001dcf: CALLER
00001dd0: DUP5
00001dd1: MSTORE
00001dd2: SWAP1
00001dd3: SWAP2
00001dd4: MSTORE
00001dd5: SWAP1
00001dd6: KECCAK256
00001dd7: SLOAD
00001dd8: SWAP1
00001dd9: SWAP2
00001dda: POP
00001ddb: PUSH2 0x1de4
00001dde: SWAP1
00001ddf: DUP8
00001de0: PUSH2 0x332f
00001de3: JUMP
00001de4: JUMPDEST
00001de5: PUSH1 0x01
00001de7: PUSH1 0xa0
00001de9: PUSH1 0x02
00001deb: EXP
00001dec: SUB
00001ded: DUP1
00001dee: DUP12
00001def: AND
00001df0: PUSH1 0x00
00001df2: DUP2
00001df3: DUP2
00001df4: MSTORE
00001df5: PUSH1 0x14
00001df7: PUSH1 0x20
00001df9: SWAP1
00001dfa: DUP2
00001dfb: MSTORE
00001dfc: PUSH1 0x40
00001dfe: DUP1
00001dff: DUP4
00001e00: KECCAK256
00001e01: CALLER
00001e02: DUP1
00001e03: DUP6
00001e04: MSTORE
00001e05: SWAP1
00001e06: DUP4
00001e07: MSTORE
00001e08: DUP2
00001e09: DUP5
00001e0a: KECCAK256
00001e0b: SWAP7
00001e0c: SWAP1
00001e0d: SWAP7
00001e0e: SSTORE
00001e0f: SWAP3
00001e10: DUP3
00001e11: MSTORE
00001e12: PUSH1 0x16
00001e14: DUP2
00001e15: MSTORE
00001e16: DUP3
00001e17: DUP3
00001e18: KECCAK256
00001e19: SWAP4
00001e1a: DUP14
00001e1b: AND
00001e1c: DUP3
00001e1d: MSTORE
00001e1e: SWAP3
00001e1f: DUP4
00001e20: MSTORE
00001e21: DUP2
00001e22: DUP2
00001e23: KECCAK256
00001e24: DUP12
00001e25: DUP3
00001e26: MSTORE
00001e27: DUP4
00001e28: MSTORE
00001e29: DUP2
00001e2a: DUP2
00001e2b: KECCAK256
00001e2c: SWAP4
00001e2d: DUP2
00001e2e: MSTORE
00001e2f: SWAP3
00001e30: SWAP1
00001e31: SWAP2
00001e32: MSTORE
00001e33: DUP2
00001e34: KECCAK256
00001e35: SLOAD
00001e36: PUSH2 0x1e3f
00001e39: SWAP1
00001e3a: DUP4
00001e3b: PUSH2 0x27a7
00001e3e: JUMP
00001e3f: JUMPDEST
00001e40: PUSH1 0x01
00001e42: PUSH1 0xa0
00001e44: PUSH1 0x02
00001e46: EXP
00001e47: SUB
00001e48: DUP1
00001e49: DUP13
00001e4a: AND
00001e4b: PUSH1 0x00
00001e4d: SWAP1
00001e4e: DUP2
00001e4f: MSTORE
00001e50: PUSH1 0x16
00001e52: PUSH1 0x20
00001e54: SWAP1
00001e55: DUP2
00001e56: MSTORE
00001e57: PUSH1 0x40
00001e59: DUP1
00001e5a: DUP4
00001e5b: KECCAK256
00001e5c: SWAP4
00001e5d: DUP15
00001e5e: AND
00001e5f: DUP4
00001e60: MSTORE
00001e61: SWAP3
00001e62: DUP2
00001e63: MSTORE
00001e64: DUP3
00001e65: DUP3
00001e66: KECCAK256
00001e67: DUP13
00001e68: DUP4
00001e69: MSTORE
00001e6a: DUP2
00001e6b: MSTORE
00001e6c: DUP3
00001e6d: DUP3
00001e6e: KECCAK256
00001e6f: CALLER
00001e70: DUP4
00001e71: MSTORE
00001e72: SWAP1
00001e73: MSTORE
00001e74: KECCAK256
00001e75: DUP2
00001e76: SWAP1
00001e77: SSTORE
00001e78: SWAP1
00001e79: POP
00001e7a: PUSH1 0x01
00001e7c: DUP4
00001e7d: EQ
00001e7e: DUP1
00001e7f: PUSH2 0x1e87
00001e82: JUMPI
00001e83: POP
00001e84: TIMESTAMP
00001e85: DUP4
00001e86: GT
00001e87: JUMPDEST
00001e88: ISZERO
00001e89: PUSH2 0x1ee8
00001e8c: JUMPI
00001e8d: PUSH1 0x01
00001e8f: PUSH1 0xa0
00001e91: PUSH1 0x02
00001e93: EXP
00001e94: SUB
00001e95: DUP1
00001e96: DUP12
00001e97: AND
00001e98: PUSH1 0x00
00001e9a: SWAP1
00001e9b: DUP2
00001e9c: MSTORE
00001e9d: PUSH1 0x11
00001e9f: PUSH1 0x20
00001ea1: SWAP1
00001ea2: DUP2
00001ea3: MSTORE
00001ea4: PUSH1 0x40
00001ea6: DUP1
00001ea7: DUP4
00001ea8: KECCAK256
00001ea9: SWAP4
00001eaa: DUP14
00001eab: AND
00001eac: DUP4
00001ead: MSTORE
00001eae: SWAP3
00001eaf: SWAP1
00001eb0: MSTORE
00001eb1: KECCAK256
00001eb2: SLOAD
00001eb3: PUSH2 0x1ebc
00001eb6: DUP2
00001eb7: DUP5
00001eb8: PUSH2 0x27a7
00001ebb: JUMP
00001ebc: JUMPDEST
00001ebd: PUSH1 0x01
00001ebf: PUSH1 0xa0
00001ec1: PUSH1 0x02
00001ec3: EXP
00001ec4: SUB
00001ec5: DUP1
00001ec6: DUP14
00001ec7: AND
00001ec8: PUSH1 0x00
00001eca: SWAP1
00001ecb: DUP2
00001ecc: MSTORE
00001ecd: PUSH1 0x11
00001ecf: PUSH1 0x20
00001ed1: SWAP1
00001ed2: DUP2
00001ed3: MSTORE
00001ed4: PUSH1 0x40
00001ed6: DUP1
00001ed7: DUP4
00001ed8: KECCAK256
00001ed9: SWAP4
00001eda: DUP16
00001edb: AND
00001edc: DUP4
00001edd: MSTORE
00001ede: SWAP3
00001edf: SWAP1
00001ee0: MSTORE
00001ee1: KECCAK256
00001ee2: SSTORE
00001ee3: POP
00001ee4: PUSH2 0x1f4b
00001ee7: JUMP
00001ee8: JUMPDEST
00001ee9: PUSH1 0x01
00001eeb: PUSH1 0xa0
00001eed: PUSH1 0x02
00001eef: EXP
00001ef0: SUB
00001ef1: DUP1
00001ef2: DUP12
00001ef3: AND
00001ef4: PUSH1 0x00
00001ef6: SWAP1
00001ef7: DUP2
00001ef8: MSTORE
00001ef9: PUSH1 0x12
00001efb: PUSH1 0x20
00001efd: SWAP1
00001efe: DUP2
00001eff: MSTORE
00001f00: PUSH1 0x40
00001f02: DUP1
00001f03: DUP4
00001f04: KECCAK256
00001f05: SWAP4
00001f06: DUP14
00001f07: AND
00001f08: DUP4
00001f09: MSTORE
00001f0a: SWAP3
00001f0b: SWAP1
00001f0c: MSTORE
00001f0d: KECCAK256
00001f0e: SLOAD
00001f0f: PUSH2 0x1f18
00001f12: DUP2
00001f13: DUP5
00001f14: PUSH2 0x27a7
00001f17: JUMP
00001f18: JUMPDEST
00001f19: PUSH1 0x01
00001f1b: PUSH1 0xa0
00001f1d: PUSH1 0x02
00001f1f: EXP
00001f20: SUB
00001f21: DUP1
00001f22: DUP14
00001f23: AND
00001f24: PUSH1 0x00
00001f26: SWAP1
00001f27: DUP2
00001f28: MSTORE
00001f29: PUSH1 0x12
00001f2b: PUSH1 0x20
00001f2d: SWAP1
00001f2e: DUP2
00001f2f: MSTORE
00001f30: PUSH1 0x40
00001f32: DUP1
00001f33: DUP4
00001f34: KECCAK256
00001f35: SWAP4
00001f36: DUP16
00001f37: AND
00001f38: DUP4
00001f39: MSTORE
00001f3a: SWAP3
00001f3b: SWAP1
00001f3c: MSTORE
00001f3d: KECCAK256
00001f3e: SSTORE
00001f3f: PUSH2 0x1f49
00001f42: DUP12
00001f43: DUP12
00001f44: DUP8
00001f45: PUSH2 0x2a62
00001f48: JUMP
00001f49: JUMPDEST
00001f4a: POP
00001f4b: JUMPDEST
00001f4c: PUSH1 0x01
00001f4e: DUP4
00001f4f: EQ
00001f50: ISZERO
00001f51: PUSH2 0x1f5e
00001f54: JUMPI
00001f55: PUSH2 0x1f5e
00001f58: DUP11
00001f59: DUP11
00001f5a: PUSH2 0x459f
00001f5d: JUMP
00001f5e: JUMPDEST
00001f5f: CALLER
00001f60: PUSH1 0x01
00001f62: PUSH1 0xa0
00001f64: PUSH1 0x02
00001f66: EXP
00001f67: SUB
00001f68: AND
00001f69: DUP10
00001f6a: PUSH1 0x01
00001f6c: PUSH1 0xa0
00001f6e: PUSH1 0x02
00001f70: EXP
00001f71: SUB
00001f72: AND
00001f73: DUP12
00001f74: PUSH1 0x01
00001f76: PUSH1 0xa0
00001f78: PUSH1 0x02
00001f7a: EXP
00001f7b: SUB
00001f7c: AND
00001f7d: PUSH32 0x3681d6f6ad159bac260c32828859f6df545bbf841c6e70787bcf0acbc390512a
00001f9e: DUP12
00001f9f: DUP7
00001fa0: PUSH1 0x40
00001fa2: MLOAD
00001fa3: DUP1
00001fa4: DUP4
00001fa5: DUP2
00001fa6: MSTORE
00001fa7: PUSH1 0x20
00001fa9: ADD
00001faa: DUP3
00001fab: DUP2
00001fac: MSTORE
00001fad: PUSH1 0x20
00001faf: ADD
00001fb0: SWAP3
00001fb1: POP
00001fb2: POP
00001fb3: POP
00001fb4: PUSH1 0x40
00001fb6: MLOAD
00001fb7: DUP1
00001fb8: SWAP2
00001fb9: SUB
00001fba: SWAP1
00001fbb: LOG4
00001fbc: SWAP7
00001fbd: SWAP10
00001fbe: SWAP7
00001fbf: SWAP9
00001fc0: POP
00001fc1: SWAP6
00001fc2: SWAP7
00001fc3: POP
00001fc4: POP
00001fc5: POP
00001fc6: POP
00001fc7: POP
00001fc8: POP
00001fc9: POP
00001fca: JUMP
00001fcb: JUMPDEST
00001fcc: PUSH1 0x01
00001fce: PUSH1 0xa0
00001fd0: PUSH1 0x02
00001fd2: EXP
00001fd3: SUB
00001fd4: DUP1
00001fd5: DUP6
00001fd6: AND
00001fd7: PUSH1 0x00
00001fd9: SWAP1
00001fda: DUP2
00001fdb: MSTORE
00001fdc: PUSH1 0x10
00001fde: PUSH1 0x20
00001fe0: SWAP1
00001fe1: DUP2
00001fe2: MSTORE
00001fe3: PUSH1 0x40
00001fe5: DUP1
00001fe6: DUP4
00001fe7: KECCAK256
00001fe8: SWAP4
00001fe9: DUP8
00001fea: AND
00001feb: DUP4
00001fec: MSTORE
00001fed: SWAP3
00001fee: DUP2
00001fef: MSTORE
00001ff0: DUP3
00001ff1: DUP3
00001ff2: KECCAK256
00001ff3: DUP6
00001ff4: DUP4
00001ff5: MSTORE
00001ff6: SWAP1
00001ff7: MSTORE
00001ff8: SWAP1
00001ff9: DUP2
00001ffa: KECCAK256
00001ffb: PUSH1 0x01
00001ffd: ADD
00001ffe: SLOAD
00001fff: ISZERO
00002000: PUSH2 0x2008
00002003: JUMPI
00002004: PUSH1 0x00
00002006: DUP1
00002007: REVERT
00002008: JUMPDEST
00002009: PUSH1 0x00
0000200b: PUSH2 0x2014
0000200e: DUP7
0000200f: DUP7
00002010: PUSH2 0x35f4
00002013: JUMP
00002014: JUMPDEST
00002015: SWAP1
00002016: POP
00002017: TIMESTAMP
00002018: DUP2
00002019: GT
0000201a: ISZERO
0000201b: PUSH2 0x2023
0000201e: JUMPI
0000201f: PUSH1 0x00
00002021: DUP1
00002022: REVERT
00002023: JUMPDEST
00002024: PUSH2 0x202d
00002027: DUP7
00002028: DUP7
00002029: PUSH2 0x1752
0000202c: JUMP
0000202d: JUMPDEST
0000202e: DUP5
0000202f: EQ
00002030: PUSH2 0x2038
00002033: JUMPI
00002034: PUSH1 0x00
00002036: DUP1
00002037: REVERT
00002038: JUMPDEST
00002039: PUSH1 0x01
0000203b: DUP2
0000203c: GT
0000203d: PUSH2 0x2045
00002040: JUMPI
00002041: PUSH1 0x00
00002043: DUP1
00002044: REVERT
00002045: JUMPDEST
00002046: PUSH1 0x01
00002048: PUSH1 0xa0
0000204a: PUSH1 0x02
0000204c: EXP
0000204d: SUB
0000204e: DUP1
0000204f: DUP8
00002050: AND
00002051: PUSH1 0x00
00002053: SWAP1
00002054: DUP2
00002055: MSTORE
00002056: PUSH1 0x11
00002058: PUSH1 0x20
0000205a: SWAP1
0000205b: DUP2
0000205c: MSTORE
0000205d: PUSH1 0x40
0000205f: DUP1
00002060: DUP4
00002061: KECCAK256
00002062: SWAP4
00002063: DUP10
00002064: AND
00002065: DUP4
00002066: MSTORE
00002067: SWAP3
00002068: SWAP1
00002069: MSTORE
0000206a: SWAP1
0000206b: DUP2
0000206c: KECCAK256
0000206d: SLOAD
0000206e: GT
0000206f: PUSH2 0x2077
00002072: JUMPI
00002073: PUSH1 0x00
00002075: DUP1
00002076: REVERT
00002077: JUMPDEST
00002078: PUSH1 0x01
0000207a: PUSH1 0xa0
0000207c: PUSH1 0x02
0000207e: EXP
0000207f: SUB
00002080: DUP1
00002081: DUP8
00002082: AND
00002083: PUSH1 0x00
00002085: SWAP1
00002086: DUP2
00002087: MSTORE
00002088: PUSH1 0x13
0000208a: PUSH1 0x20
0000208c: SWAP1
0000208d: DUP2
0000208e: MSTORE
0000208f: PUSH1 0x40
00002091: DUP1
00002092: DUP4
00002093: KECCAK256
00002094: SWAP4
00002095: DUP10
00002096: AND
00002097: DUP4
00002098: MSTORE
00002099: SWAP3
0000209a: DUP2
0000209b: MSTORE
0000209c: DUP3
0000209d: DUP3
0000209e: KECCAK256
0000209f: SLOAD
000020a0: PUSH1 0x14
000020a2: DUP3
000020a3: MSTORE
000020a4: DUP4
000020a5: DUP4
000020a6: KECCAK256
000020a7: CALLER
000020a8: DUP5
000020a9: MSTORE
000020aa: SWAP1
000020ab: SWAP2
000020ac: MSTORE
000020ad: SWAP2
000020ae: SWAP1
000020af: KECCAK256
000020b0: SLOAD
000020b1: PUSH2 0x20bb
000020b4: SWAP1
000020b5: DUP6
000020b6: SWAP1
000020b7: PUSH2 0x2a3b
000020ba: JUMP
000020bb: JUMPDEST
000020bc: SWAP4
000020bd: POP
000020be: PUSH13 0x0c9f2c9cd04674edea40000000
000020cc: PUSH2 0x20d5
000020cf: DUP3
000020d0: DUP7
000020d1: PUSH2 0x27a7
000020d4: JUMP
000020d5: JUMPDEST
000020d6: LT
000020d7: PUSH2 0x20df
000020da: JUMPI
000020db: PUSH1 0x00
000020dd: DUP1
000020de: REVERT
000020df: JUMPDEST
000020e0: PUSH1 0x01
000020e2: PUSH1 0xa0
000020e4: PUSH1 0x02
000020e6: EXP
000020e7: SUB
000020e8: DUP1
000020e9: DUP9
000020ea: AND
000020eb: PUSH1 0x00
000020ed: SWAP1
000020ee: DUP2
000020ef: MSTORE
000020f0: PUSH1 0x11
000020f2: PUSH1 0x20
000020f4: SWAP1
000020f5: DUP2
000020f6: MSTORE
000020f7: PUSH1 0x40
000020f9: DUP1
000020fa: DUP4
000020fb: KECCAK256
000020fc: SWAP4
000020fd: DUP11
000020fe: AND
000020ff: DUP4
00002100: MSTORE
00002101: SWAP3
00002102: SWAP1
00002103: MSTORE
00002104: SWAP1
00002105: DUP2
00002106: KECCAK256
00002107: SLOAD
00002108: SWAP1
00002109: DUP1
0000210a: PUSH2 0x2114
0000210d: DUP11
0000210e: DUP11
0000210f: DUP11
00002110: PUSH2 0x41a1
00002113: JUMP
00002114: JUMPDEST
00002115: SWAP1
00002116: SWAP3
00002117: POP
00002118: SWAP1
00002119: POP
0000211a: PUSH1 0x00
0000211c: PUSH2 0x213a
0000211f: DUP6
00002120: DUP4
00002121: PUSH2 0x212a
00002124: DUP8
00002125: DUP8
00002126: PUSH2 0x3403
00002129: JUMP
0000212a: JUMPDEST
0000212b: DUP2
0000212c: ISZERO
0000212d: ISZERO
0000212e: PUSH2 0x2133
00002131: JUMPI
00002132: INVALID
00002133: JUMPDEST
00002134: DIV
00002135: SUB
00002136: PUSH2 0x1851
00002139: JUMP
0000213a: JUMPDEST
0000213b: SWAP1
0000213c: POP
0000213d: PUSH1 0x00
0000213f: DUP2
00002140: DUP10
00002141: LT
00002142: ISZERO
00002143: PUSH2 0x2163
00002146: JUMPI
00002147: PUSH1 0x00
00002149: DUP10
0000214a: GT
0000214b: ISZERO
0000214c: PUSH2 0x215e
0000214f: JUMPI
00002150: PUSH2 0x215b
00002153: DUP12
00002154: DUP14
00002155: DUP13
00002156: DUP13
00002157: PUSH2 0x449a
0000215a: JUMP
0000215b: JUMPDEST
0000215c: SWAP1
0000215d: POP
0000215e: JUMPDEST
0000215f: PUSH2 0x2169
00002162: JUMP
00002163: JUMPDEST
00002164: POP
00002165: SWAP7
00002166: POP
00002167: DUP7
00002168: DUP1
00002169: JUMPDEST
0000216a: PUSH1 0x00
0000216c: DUP10
0000216d: GT
0000216e: ISZERO
0000216f: PUSH2 0x23f1
00002172: JUMPI
00002173: PUSH1 0x01
00002175: PUSH1 0xa0
00002177: PUSH1 0x02
00002179: EXP
0000217a: SUB
0000217b: DUP12
0000217c: AND
0000217d: PUSH1 0x00
0000217f: SWAP1
00002180: DUP2
00002181: MSTORE
00002182: PUSH1 0x14
00002184: PUSH1 0x20
00002186: SWAP1
00002187: DUP2
00002188: MSTORE
00002189: PUSH1 0x40
0000218b: DUP1
0000218c: DUP4
0000218d: KECCAK256
0000218e: CALLER
0000218f: DUP5
00002190: MSTORE
00002191: SWAP1
00002192: SWAP2
00002193: MSTORE
00002194: SWAP1
00002195: KECCAK256
00002196: SLOAD
00002197: PUSH2 0x21a0
0000219a: SWAP1
0000219b: DUP11
0000219c: PUSH2 0x332f
0000219f: JUMP
000021a0: JUMPDEST
000021a1: PUSH1 0x14
000021a3: PUSH1 0x00
000021a5: DUP14
000021a6: PUSH1 0x01
000021a8: PUSH1 0xa0
000021aa: PUSH1 0x02
000021ac: EXP
000021ad: SUB
000021ae: AND
000021af: PUSH1 0x01
000021b1: PUSH1 0xa0
000021b3: PUSH1 0x02
000021b5: EXP
000021b6: SUB
000021b7: AND
000021b8: DUP2
000021b9: MSTORE
000021ba: PUSH1 0x20
000021bc: ADD
000021bd: SWAP1
000021be: DUP2
000021bf: MSTORE
000021c0: PUSH1 0x20
000021c2: ADD
000021c3: PUSH1 0x00
000021c5: KECCAK256
000021c6: PUSH1 0x00
000021c8: CALLER
000021c9: PUSH1 0x01
000021cb: PUSH1 0xa0
000021cd: PUSH1 0x02
000021cf: EXP
000021d0: SUB
000021d1: AND
000021d2: PUSH1 0x01
000021d4: PUSH1 0xa0
000021d6: PUSH1 0x02
000021d8: EXP
000021d9: SUB
000021da: AND
000021db: DUP2
000021dc: MSTORE
000021dd: PUSH1 0x20
000021df: ADD
000021e0: SWAP1
000021e1: DUP2
000021e2: MSTORE
000021e3: PUSH1 0x20
000021e5: ADD
000021e6: PUSH1 0x00
000021e8: KECCAK256
000021e9: DUP2
000021ea: SWAP1
000021eb: SSTORE
000021ec: POP
000021ed: PUSH2 0x2272
000021f0: PUSH1 0x17
000021f2: PUSH1 0x00
000021f4: DUP15
000021f5: PUSH1 0x01
000021f7: PUSH1 0xa0
000021f9: PUSH1 0x02
000021fb: EXP
000021fc: SUB
000021fd: AND
000021fe: PUSH1 0x01
00002200: PUSH1 0xa0
00002202: PUSH1 0x02
00002204: EXP
00002205: SUB
00002206: AND
00002207: DUP2
00002208: MSTORE
00002209: PUSH1 0x20
0000220b: ADD
0000220c: SWAP1
0000220d: DUP2
0000220e: MSTORE
0000220f: PUSH1 0x20
00002211: ADD
00002212: PUSH1 0x00
00002214: KECCAK256
00002215: PUSH1 0x00
00002217: DUP14
00002218: PUSH1 0x01
0000221a: PUSH1 0xa0
0000221c: PUSH1 0x02
0000221e: EXP
0000221f: SUB
00002220: AND
00002221: PUSH1 0x01
00002223: PUSH1 0xa0
00002225: PUSH1 0x02
00002227: EXP
00002228: SUB
00002229: AND
0000222a: DUP2
0000222b: MSTORE
0000222c: PUSH1 0x20
0000222e: ADD
0000222f: SWAP1
00002230: DUP2
00002231: MSTORE
00002232: PUSH1 0x20
00002234: ADD
00002235: PUSH1 0x00
00002237: KECCAK256
00002238: PUSH1 0x00
0000223a: DUP13
0000223b: DUP2
0000223c: MSTORE
0000223d: PUSH1 0x20
0000223f: ADD
00002240: SWAP1
00002241: DUP2
00002242: MSTORE
00002243: PUSH1 0x20
00002245: ADD
00002246: PUSH1 0x00
00002248: KECCAK256
00002249: PUSH1 0x00
0000224b: CALLER
0000224c: PUSH1 0x01
0000224e: PUSH1 0xa0
00002250: PUSH1 0x02
00002252: EXP
00002253: SUB
00002254: AND
00002255: PUSH1 0x01
00002257: PUSH1 0xa0
00002259: PUSH1 0x02
0000225b: EXP
0000225c: SUB
0000225d: AND
0000225e: DUP2
0000225f: MSTORE
00002260: PUSH1 0x20
00002262: ADD
00002263: SWAP1
00002264: DUP2
00002265: MSTORE
00002266: PUSH1 0x20
00002268: ADD
00002269: PUSH1 0x00
0000226b: KECCAK256
0000226c: SLOAD
0000226d: DUP3
0000226e: PUSH2 0x27a7
00002271: JUMP
00002272: JUMPDEST
00002273: SWAP8
00002274: POP
00002275: DUP8
00002276: PUSH1 0x17
00002278: PUSH1 0x00
0000227a: DUP15
0000227b: PUSH1 0x01
0000227d: PUSH1 0xa0
0000227f: PUSH1 0x02
00002281: EXP
00002282: SUB
00002283: AND
00002284: PUSH1 0x01
00002286: PUSH1 0xa0
00002288: PUSH1 0x02
0000228a: EXP
0000228b: SUB
0000228c: AND
0000228d: DUP2
0000228e: MSTORE
0000228f: PUSH1 0x20
00002291: ADD
00002292: SWAP1
00002293: DUP2
00002294: MSTORE
00002295: PUSH1 0x20
00002297: ADD
00002298: PUSH1 0x00
0000229a: KECCAK256
0000229b: PUSH1 0x00
0000229d: DUP14
0000229e: PUSH1 0x01
000022a0: PUSH1 0xa0
000022a2: PUSH1 0x02
000022a4: EXP
000022a5: SUB
000022a6: AND
000022a7: PUSH1 0x01
000022a9: PUSH1 0xa0
000022ab: PUSH1 0x02
000022ad: EXP
000022ae: SUB
000022af: AND
000022b0: DUP2
000022b1: MSTORE
000022b2: PUSH1 0x20
000022b4: ADD
000022b5: SWAP1
000022b6: DUP2
000022b7: MSTORE
000022b8: PUSH1 0x20
000022ba: ADD
000022bb: PUSH1 0x00
000022bd: KECCAK256
000022be: PUSH1 0x00
000022c0: DUP13
000022c1: DUP2
000022c2: MSTORE
000022c3: PUSH1 0x20
000022c5: ADD
000022c6: SWAP1
000022c7: DUP2
000022c8: MSTORE
000022c9: PUSH1 0x20
000022cb: ADD
000022cc: PUSH1 0x00
000022ce: KECCAK256
000022cf: PUSH1 0x00
000022d1: CALLER
000022d2: PUSH1 0x01
000022d4: PUSH1 0xa0
000022d6: PUSH1 0x02
000022d8: EXP
000022d9: SUB
000022da: AND
000022db: PUSH1 0x01
000022dd: PUSH1 0xa0
000022df: PUSH1 0x02
000022e1: EXP
000022e2: SUB
000022e3: AND
000022e4: DUP2
000022e5: MSTORE
000022e6: PUSH1 0x20
000022e8: ADD
000022e9: SWAP1
000022ea: DUP2
000022eb: MSTORE
000022ec: PUSH1 0x20
000022ee: ADD
000022ef: PUSH1 0x00
000022f1: KECCAK256
000022f2: DUP2
000022f3: SWAP1
000022f4: SSTORE
000022f5: POP
000022f6: PUSH2 0x2347
000022f9: PUSH1 0x13
000022fb: PUSH1 0x00
000022fd: DUP15
000022fe: PUSH1 0x01
00002300: PUSH1 0xa0
00002302: PUSH1 0x02
00002304: EXP
00002305: SUB
00002306: AND
00002307: PUSH1 0x01
00002309: PUSH1 0xa0
0000230b: PUSH1 0x02
0000230d: EXP
0000230e: SUB
0000230f: AND
00002310: DUP2
00002311: MSTORE
00002312: PUSH1 0x20
00002314: ADD
00002315: SWAP1
00002316: DUP2
00002317: MSTORE
00002318: PUSH1 0x20
0000231a: ADD
0000231b: PUSH1 0x00
0000231d: KECCAK256
0000231e: PUSH1 0x00
00002320: DUP14
00002321: PUSH1 0x01
00002323: PUSH1 0xa0
00002325: PUSH1 0x02
00002327: EXP
00002328: SUB
00002329: AND
0000232a: PUSH1 0x01
0000232c: PUSH1 0xa0
0000232e: PUSH1 0x02
00002330: EXP
00002331: SUB
00002332: AND
00002333: DUP2
00002334: MSTORE
00002335: PUSH1 0x20
00002337: ADD
00002338: SWAP1
00002339: DUP2
0000233a: MSTORE
0000233b: PUSH1 0x20
0000233d: ADD
0000233e: PUSH1 0x00
00002340: KECCAK256
00002341: SLOAD
00002342: DUP3
00002343: PUSH2 0x27a7
00002346: JUMP
00002347: JUMPDEST
00002348: PUSH1 0x13
0000234a: PUSH1 0x00
0000234c: DUP15
0000234d: PUSH1 0x01
0000234f: PUSH1 0xa0
00002351: PUSH1 0x02
00002353: EXP
00002354: SUB
00002355: AND
00002356: PUSH1 0x01
00002358: PUSH1 0xa0
0000235a: PUSH1 0x02
0000235c: EXP
0000235d: SUB
0000235e: AND
0000235f: DUP2
00002360: MSTORE
00002361: PUSH1 0x20
00002363: ADD
00002364: SWAP1
00002365: DUP2
00002366: MSTORE
00002367: PUSH1 0x20
00002369: ADD
0000236a: PUSH1 0x00
0000236c: KECCAK256
0000236d: PUSH1 0x00
0000236f: DUP14
00002370: PUSH1 0x01
00002372: PUSH1 0xa0
00002374: PUSH1 0x02
00002376: EXP
00002377: SUB
00002378: AND
00002379: PUSH1 0x01
0000237b: PUSH1 0xa0
0000237d: PUSH1 0x02
0000237f: EXP
00002380: SUB
00002381: AND
00002382: DUP2
00002383: MSTORE
00002384: PUSH1 0x20
00002386: ADD
00002387: SWAP1
00002388: DUP2
00002389: MSTORE
0000238a: PUSH1 0x20
0000238c: ADD
0000238d: PUSH1 0x00
0000238f: KECCAK256
00002390: DUP2
00002391: SWAP1
00002392: SSTORE
00002393: POP
00002394: CALLER
00002395: PUSH1 0x01
00002397: PUSH1 0xa0
00002399: PUSH1 0x02
0000239b: EXP
0000239c: SUB
0000239d: AND
0000239e: DUP12
0000239f: PUSH1 0x01
000023a1: PUSH1 0xa0
000023a3: PUSH1 0x02
000023a5: EXP
000023a6: SUB
000023a7: AND
000023a8: DUP14
000023a9: PUSH1 0x01
000023ab: PUSH1 0xa0
000023ad: PUSH1 0x02
000023af: EXP
000023b0: SUB
000023b1: AND
000023b2: PUSH32 0xf1751a362067564d5feb9ed26f1898bb14c17e1254e3724d454bc2ae80195c25
000023d3: DUP14
000023d4: DUP6
000023d5: PUSH1 0x40
000023d7: MLOAD
000023d8: DUP1
000023d9: DUP4
000023da: DUP2
000023db: MSTORE
000023dc: PUSH1 0x20
000023de: ADD
000023df: DUP3
000023e0: DUP2
000023e1: MSTORE
000023e2: PUSH1 0x20
000023e4: ADD
000023e5: SWAP3
000023e6: POP
000023e7: POP
000023e8: POP
000023e9: PUSH1 0x40
000023eb: MLOAD
000023ec: DUP1
000023ed: SWAP2
000023ee: SUB
000023ef: SWAP1
000023f0: LOG4
000023f1: JUMPDEST
000023f2: DUP2
000023f3: DUP10
000023f4: LT
000023f5: PUSH2 0x2404
000023f8: JUMPI
000023f9: PUSH2 0x2404
000023fc: DUP13
000023fd: DUP13
000023fe: DUP13
000023ff: DUP9
00002400: PUSH2 0x4633
00002403: JUMP
00002404: JUMPDEST
00002405: POP
00002406: POP
00002407: POP
00002408: POP
00002409: POP
0000240a: POP
0000240b: POP
0000240c: SWAP5
0000240d: SWAP4
0000240e: POP
0000240f: POP
00002410: POP
00002411: POP
00002412: JUMP
00002413: JUMPDEST
00002414: PUSH1 0x01
00002416: SLOAD
00002417: PUSH1 0x01
00002419: PUSH1 0xa0
0000241b: PUSH1 0x02
0000241d: EXP
0000241e: SUB
0000241f: AND
00002420: DUP2
00002421: JUMP
00002422: JUMPDEST
00002423: PUSH1 0x00
00002425: DUP1
00002426: PUSH2 0x2430
00002429: DUP7
0000242a: DUP7
0000242b: DUP6
0000242c: PUSH2 0x2a62
0000242f: JUMP
00002430: JUMPDEST
00002431: PUSH1 0x01
00002433: PUSH1 0xa0
00002435: PUSH1 0x02
00002437: EXP
00002438: SUB
00002439: DUP1
0000243a: DUP8
0000243b: AND
0000243c: PUSH1 0x00
0000243e: SWAP1
0000243f: DUP2
00002440: MSTORE
00002441: PUSH1 0x16
00002443: PUSH1 0x20
00002445: SWAP1
00002446: DUP2
00002447: MSTORE
00002448: PUSH1 0x40
0000244a: DUP1
0000244b: DUP4
0000244c: KECCAK256
0000244d: DUP10
0000244e: DUP6
0000244f: AND
00002450: DUP5
00002451: MSTORE
00002452: DUP3
00002453: MSTORE
00002454: DUP1
00002455: DUP4
00002456: KECCAK256
00002457: DUP8
00002458: DUP5
00002459: MSTORE
0000245a: DUP3
0000245b: MSTORE
0000245c: DUP1
0000245d: DUP4
0000245e: KECCAK256
0000245f: SWAP4
00002460: DUP9
00002461: AND
00002462: DUP4
00002463: MSTORE
00002464: SWAP3
00002465: SWAP1
00002466: MSTORE
00002467: SWAP1
00002468: DUP2
00002469: KECCAK256
0000246a: SLOAD
0000246b: SWAP1
0000246c: DUP2
0000246d: GT
0000246e: PUSH2 0x2476
00002471: JUMPI
00002472: PUSH1 0x00
00002474: DUP1
00002475: REVERT
00002476: JUMPDEST
00002477: PUSH2 0x247e
0000247a: PUSH2 0x5327
0000247d: JUMP
0000247e: JUMPDEST
0000247f: POP
00002480: PUSH1 0x01
00002482: PUSH1 0xa0
00002484: PUSH1 0x02
00002486: EXP
00002487: SUB
00002488: DUP1
00002489: DUP9
0000248a: AND
0000248b: PUSH1 0x00
0000248d: SWAP1
0000248e: DUP2
0000248f: MSTORE
00002490: PUSH1 0x10
00002492: PUSH1 0x20
00002494: SWAP1
00002495: DUP2
00002496: MSTORE
00002497: PUSH1 0x40
00002499: DUP1
0000249a: DUP4
0000249b: KECCAK256
0000249c: SWAP4
0000249d: DUP11
0000249e: AND
0000249f: DUP4
000024a0: MSTORE
000024a1: SWAP3
000024a2: DUP2
000024a3: MSTORE
000024a4: DUP3
000024a5: DUP3
000024a6: KECCAK256
000024a7: DUP8
000024a8: DUP4
000024a9: MSTORE
000024aa: DUP2
000024ab: MSTORE
000024ac: DUP3
000024ad: DUP3
000024ae: KECCAK256
000024af: DUP4
000024b0: MLOAD
000024b1: DUP1
000024b2: DUP6
000024b3: ADD
000024b4: SWAP1
000024b5: SWAP5
000024b6: MSTORE
000024b7: DUP1
000024b8: SLOAD
000024b9: DUP1
000024ba: DUP6
000024bb: MSTORE
000024bc: PUSH1 0x01
000024be: SWAP1
000024bf: SWAP2
000024c0: ADD
000024c1: SLOAD
000024c2: SWAP2
000024c3: DUP5
000024c4: ADD
000024c5: DUP3
000024c6: SWAP1
000024c7: MSTORE
000024c8: SWAP2
000024c9: DUP2
000024ca: GT
000024cb: PUSH2 0x24d3
000024ce: JUMPI
000024cf: PUSH1 0x00
000024d1: DUP1
000024d2: REVERT
000024d3: JUMPDEST
000024d4: DUP1
000024d5: PUSH2 0x24de
000024d8: DUP6
000024d9: DUP5
000024da: PUSH2 0x3403
000024dd: JUMP
000024de: JUMPDEST
000024df: DUP2
000024e0: ISZERO
000024e1: ISZERO
000024e2: PUSH2 0x24e7
000024e5: JUMPI
000024e6: INVALID
000024e7: JUMPDEST
000024e8: DIV
000024e9: SWAP6
000024ea: POP
000024eb: PUSH2 0x24f8
000024ee: DUP11
000024ef: DUP11
000024f0: DUP9
000024f1: DUP11
000024f2: DUP9
000024f3: DUP14
000024f4: PUSH2 0x4958
000024f7: JUMP
000024f8: JUMPDEST
000024f9: PUSH1 0x01
000024fb: PUSH1 0xa0
000024fd: PUSH1 0x02
000024ff: EXP
00002500: SUB
00002501: DUP1
00002502: DUP13
00002503: AND
00002504: PUSH1 0x00
00002506: SWAP1
00002507: DUP2
00002508: MSTORE
00002509: PUSH1 0x16
0000250b: PUSH1 0x20
0000250d: SWAP1
0000250e: DUP2
0000250f: MSTORE
00002510: PUSH1 0x40
00002512: DUP1
00002513: DUP4
00002514: KECCAK256
00002515: DUP15
00002516: DUP6
00002517: AND
00002518: DUP5
00002519: MSTORE
0000251a: DUP3
0000251b: MSTORE
0000251c: DUP1
0000251d: DUP4
0000251e: KECCAK256
0000251f: DUP13
00002520: DUP5
00002521: MSTORE
00002522: DUP3
00002523: MSTORE
00002524: DUP1
00002525: DUP4
00002526: KECCAK256
00002527: SWAP4
00002528: DUP14
00002529: AND
0000252a: DUP4
0000252b: MSTORE
0000252c: SWAP3
0000252d: SWAP1
0000252e: MSTORE
0000252f: SWAP1
00002530: DUP2
00002531: KECCAK256
00002532: DUP2
00002533: SWAP1
00002534: SSTORE
00002535: SWAP1
00002536: SWAP6
00002537: POP
00002538: DUP7
00002539: GT
0000253a: ISZERO
0000253b: PUSH2 0x2595
0000253e: JUMPI
0000253f: PUSH1 0x01
00002541: PUSH1 0xa0
00002543: PUSH1 0x02
00002545: EXP
00002546: SUB
00002547: DUP1
00002548: DUP11
00002549: AND
0000254a: PUSH1 0x00
0000254c: SWAP1
0000254d: DUP2
0000254e: MSTORE
0000254f: PUSH1 0x14
00002551: PUSH1 0x20
00002553: SWAP1
00002554: DUP2
00002555: MSTORE
00002556: PUSH1 0x40
00002558: DUP1
00002559: DUP4
0000255a: KECCAK256
0000255b: SWAP4
0000255c: DUP13
0000255d: AND
0000255e: DUP4
0000255f: MSTORE
00002560: SWAP3
00002561: SWAP1
00002562: MSTORE
00002563: KECCAK256
00002564: SLOAD
00002565: PUSH2 0x256e
00002568: SWAP1
00002569: DUP8
0000256a: PUSH2 0x27a7
0000256d: JUMP
0000256e: JUMPDEST
0000256f: PUSH1 0x01
00002571: PUSH1 0xa0
00002573: PUSH1 0x02
00002575: EXP
00002576: SUB
00002577: DUP1
00002578: DUP12
00002579: AND
0000257a: PUSH1 0x00
0000257c: SWAP1
0000257d: DUP2
0000257e: MSTORE
0000257f: PUSH1 0x14
00002581: PUSH1 0x20
00002583: SWAP1
00002584: DUP2
00002585: MSTORE
00002586: PUSH1 0x40
00002588: DUP1
00002589: DUP4
0000258a: KECCAK256
0000258b: SWAP4
0000258c: DUP14
0000258d: AND
0000258e: DUP4
0000258f: MSTORE
00002590: SWAP3
00002591: SWAP1
00002592: MSTORE
00002593: KECCAK256
00002594: SSTORE
00002595: JUMPDEST
00002596: PUSH1 0x40
00002598: DUP1
00002599: MLOAD
0000259a: DUP9
0000259b: DUP2
0000259c: MSTORE
0000259d: PUSH1 0x20
0000259f: DUP2
000025a0: ADD
000025a1: DUP9
000025a2: SWAP1
000025a3: MSTORE
000025a4: DUP1
000025a5: DUP3
000025a6: ADD
000025a7: DUP8
000025a8: SWAP1
000025a9: MSTORE
000025aa: SWAP1
000025ab: MLOAD
000025ac: PUSH1 0x01
000025ae: PUSH1 0xa0
000025b0: PUSH1 0x02
000025b2: EXP
000025b3: SUB
000025b4: DUP1
000025b5: DUP12
000025b6: AND
000025b7: SWAP3
000025b8: DUP13
000025b9: DUP3
000025ba: AND
000025bb: SWAP3
000025bc: SWAP2
000025bd: DUP15
000025be: AND
000025bf: SWAP2
000025c0: PUSH32 0xa3ac9b53d029621ef95693b5f9b1d0b0da75029fe8530389271be02715e24c13
000025e1: SWAP2
000025e2: DUP2
000025e3: SWAP1
000025e4: SUB
000025e5: PUSH1 0x60
000025e7: ADD
000025e8: SWAP1
000025e9: LOG4
000025ea: POP
000025eb: POP
000025ec: POP
000025ed: POP
000025ee: SWAP5
000025ef: POP
000025f0: SWAP5
000025f1: SWAP3
000025f2: POP
000025f3: POP
000025f4: POP
000025f5: JUMP
000025f6: JUMPDEST
000025f7: PUSH1 0x00
000025f9: DUP1
000025fa: PUSH1 0x00
000025fc: PUSH2 0x2605
000025ff: DUP7
00002600: DUP6
00002601: PUSH2 0x19ba
00002604: JUMP
00002605: JUMPDEST
00002606: SWAP3
00002607: POP
00002608: PUSH2 0x2614
0000260b: DUP7
0000260c: DUP7
0000260d: PUSH1 0x00
0000260f: DUP8
00002610: PUSH2 0x1c2e
00002613: JUMP
00002614: JUMPDEST
00002615: SWAP4
00002616: SWAP8
00002617: SWAP1
00002618: SWAP7
00002619: POP
0000261a: SWAP3
0000261b: SWAP5
0000261c: POP
0000261d: SWAP2
0000261e: SWAP3
0000261f: POP
00002620: POP
00002621: POP
00002622: JUMP
00002623: JUMPDEST
00002624: PUSH1 0x01
00002626: SLOAD
00002627: PUSH1 0x01
00002629: PUSH1 0xa0
0000262b: PUSH1 0x02
0000262d: EXP
0000262e: SUB
0000262f: AND
00002630: CALLER
00002631: EQ
00002632: PUSH2 0x266f
00002635: JUMPI
00002636: PUSH1 0x40
00002638: MLOAD
00002639: PUSH1 0xe5
0000263b: PUSH1 0x02
0000263d: EXP
0000263e: PUSH3 0x461bcd
00002642: MUL
00002643: DUP2
00002644: MSTORE
00002645: PUSH1 0x04
00002647: ADD
00002648: DUP1
00002649: DUP1
0000264a: PUSH1 0x20
0000264c: ADD
0000264d: DUP3
0000264e: DUP2
0000264f: SUB
00002650: DUP3
00002651: MSTORE
00002652: PUSH1 0x2a
00002654: DUP2
00002655: MSTORE
00002656: PUSH1 0x20
00002658: ADD
00002659: DUP1
0000265a: PUSH2 0x54a7
0000265d: PUSH1 0x2a
0000265f: SWAP2
00002660: CODECOPY
00002661: PUSH1 0x40
00002663: ADD
00002664: SWAP2
00002665: POP
00002666: POP
00002667: PUSH1 0x40
00002669: MLOAD
0000266a: DUP1
0000266b: SWAP2
0000266c: SUB
0000266d: SWAP1
0000266e: REVERT
0000266f: JUMPDEST
00002670: PUSH1 0x00
00002672: JUMPDEST
00002673: DUP3
00002674: MLOAD
00002675: DUP2
00002676: LT
00002677: ISZERO
00002678: PUSH2 0x2724
0000267b: JUMPI
0000267c: DUP2
0000267d: PUSH1 0x04
0000267f: PUSH1 0x00
00002681: DUP6
00002682: DUP5
00002683: DUP2
00002684: MLOAD
00002685: DUP2
00002686: LT
00002687: ISZERO
00002688: ISZERO
00002689: PUSH2 0x268e
0000268c: JUMPI
0000268d: INVALID
0000268e: JUMPDEST
0000268f: PUSH1 0x20
00002691: SWAP1
00002692: DUP2
00002693: MUL
00002694: SWAP2
00002695: SWAP1
00002696: SWAP2
00002697: ADD
00002698: DUP2
00002699: ADD
0000269a: MLOAD
0000269b: PUSH1 0x01
0000269d: PUSH1 0xa0
0000269f: PUSH1 0x02
000026a1: EXP
000026a2: SUB
000026a3: AND
000026a4: DUP3
000026a5: MSTORE
000026a6: DUP2
000026a7: ADD
000026a8: SWAP2
000026a9: SWAP1
000026aa: SWAP2
000026ab: MSTORE
000026ac: PUSH1 0x40
000026ae: ADD
000026af: PUSH1 0x00
000026b1: KECCAK256
000026b2: DUP1
000026b3: SLOAD
000026b4: PUSH1 0xff
000026b6: NOT
000026b7: AND
000026b8: SWAP2
000026b9: ISZERO
000026ba: ISZERO
000026bb: SWAP2
000026bc: SWAP1
000026bd: SWAP2
000026be: OR
000026bf: SWAP1
000026c0: SSTORE
000026c1: DUP3
000026c2: MLOAD
000026c3: DUP4
000026c4: SWAP1
000026c5: DUP3
000026c6: SWAP1
000026c7: DUP2
000026c8: LT
000026c9: PUSH2 0x26ce
000026cc: JUMPI
000026cd: INVALID
000026ce: JUMPDEST
000026cf: SWAP1
000026d0: PUSH1 0x20
000026d2: ADD
000026d3: SWAP1
000026d4: PUSH1 0x20
000026d6: MUL
000026d7: ADD
000026d8: MLOAD
000026d9: PUSH1 0x01
000026db: PUSH1 0xa0
000026dd: PUSH1 0x02
000026df: EXP
000026e0: SUB
000026e1: AND
000026e2: PUSH32 0xc091bf3abd3a42f670f8ad1a6ad5b849311210403e1d85d6ac31f43114d5ca6e
00002703: DUP4
00002704: PUSH1 0x40
00002706: MLOAD
00002707: DUP1
00002708: DUP3
00002709: ISZERO
0000270a: ISZERO
0000270b: ISZERO
0000270c: ISZERO
0000270d: DUP2
0000270e: MSTORE
0000270f: PUSH1 0x20
00002711: ADD
00002712: SWAP2
00002713: POP
00002714: POP
00002715: PUSH1 0x40
00002717: MLOAD
00002718: DUP1
00002719: SWAP2
0000271a: SUB
0000271b: SWAP1
0000271c: LOG2
0000271d: PUSH1 0x01
0000271f: ADD
00002720: PUSH2 0x2672
00002723: JUMP
00002724: JUMPDEST
00002725: POP
00002726: POP
00002727: POP
00002728: JUMP
00002729: JUMPDEST
0000272a: PUSH1 0x04
0000272c: PUSH1 0x20
0000272e: MSTORE
0000272f: PUSH1 0x00
00002731: SWAP1
00002732: DUP2
00002733: MSTORE
00002734: PUSH1 0x40
00002736: SWAP1
00002737: KECCAK256
00002738: SLOAD
00002739: PUSH1 0xff
0000273b: AND
0000273c: DUP2
0000273d: JUMP
0000273e: JUMPDEST
0000273f: PUSH1 0x09
00002741: SLOAD
00002742: DUP2
00002743: JUMP
00002744: JUMPDEST
00002745: PUSH1 0x02
00002747: SLOAD
00002748: PUSH1 0x01
0000274a: PUSH1 0xa0
0000274c: PUSH1 0x02
0000274e: EXP
0000274f: SUB
00002750: AND
00002751: DUP2
00002752: JUMP
00002753: JUMPDEST
00002754: PUSH1 0x05
00002756: SLOAD
00002757: PUSH1 0x01
00002759: PUSH1 0xa0
0000275b: PUSH1 0x02
0000275d: EXP
0000275e: SUB
0000275f: AND
00002760: DUP2
00002761: JUMP
00002762: JUMPDEST
00002763: PUSH1 0x00
00002765: PUSH2 0x276e
00002768: DUP5
00002769: DUP5
0000276a: PUSH2 0x145f
0000276d: JUMP
0000276e: JUMPDEST
0000276f: PUSH1 0x01
00002771: PUSH1 0xa0
00002773: PUSH1 0x02
00002775: EXP
00002776: SUB
00002777: SWAP2
00002778: DUP3
00002779: AND
0000277a: PUSH1 0x00
0000277c: SWAP1
0000277d: DUP2
0000277e: MSTORE
0000277f: PUSH1 0x0f
00002781: PUSH1 0x20
00002783: SWAP1
00002784: DUP2
00002785: MSTORE
00002786: PUSH1 0x40
00002788: DUP1
00002789: DUP4
0000278a: KECCAK256
0000278b: SWAP4
0000278c: SWAP1
0000278d: SWAP5
0000278e: AND
0000278f: DUP3
00002790: MSTORE
00002791: SWAP2
00002792: DUP3
00002793: MSTORE
00002794: DUP3
00002795: DUP2
00002796: KECCAK256
00002797: SWAP5
00002798: DUP2
00002799: MSTORE
0000279a: SWAP4
0000279b: SWAP1
0000279c: MSTORE
0000279d: SWAP1
0000279e: SWAP2
0000279f: KECCAK256
000027a0: SLOAD
000027a1: SWAP4
000027a2: SWAP3
000027a3: POP
000027a4: POP
000027a5: POP
000027a6: JUMP
000027a7: JUMPDEST
000027a8: PUSH1 0x00
000027aa: PUSH2 0x27b3
000027ad: DUP4
000027ae: DUP4
000027af: PUSH2 0x1c27
000027b2: JUMP
000027b3: JUMPDEST
000027b4: ISZERO
000027b5: ISZERO
000027b6: PUSH2 0x27be
000027b9: JUMPI
000027ba: PUSH1 0x00
000027bc: DUP1
000027bd: REVERT
000027be: JUMPDEST
000027bf: POP
000027c0: ADD
000027c1: SWAP1
000027c2: JUMP
000027c3: JUMPDEST
000027c4: PUSH1 0x60
000027c6: DUP1
000027c7: PUSH1 0x00
000027c9: PUSH2 0x2866
000027cc: DUP11
000027cd: DUP11
000027ce: DUP1
000027cf: DUP1
000027d0: PUSH1 0x20
000027d2: MUL
000027d3: PUSH1 0x20
000027d5: ADD
000027d6: PUSH1 0x40
000027d8: MLOAD
000027d9: SWAP1
000027da: DUP2
000027db: ADD
000027dc: PUSH1 0x40
000027de: MSTORE
000027df: DUP1
000027e0: SWAP4
000027e1: SWAP3
000027e2: SWAP2
000027e3: SWAP1
000027e4: DUP2
000027e5: DUP2
000027e6: MSTORE
000027e7: PUSH1 0x20
000027e9: ADD
000027ea: DUP4
000027eb: DUP4
000027ec: PUSH1 0x20
000027ee: MUL
000027ef: DUP1
000027f0: DUP3
000027f1: DUP5
000027f2: CALLDATACOPY
000027f3: PUSH1 0x00
000027f5: SWAP3
000027f6: ADD
000027f7: SWAP2
000027f8: SWAP1
000027f9: SWAP2
000027fa: MSTORE
000027fb: POP
000027fc: POP
000027fd: PUSH1 0x40
000027ff: DUP1
00002800: MLOAD
00002801: PUSH1 0x20
00002803: DUP1
00002804: DUP15
00002805: MUL
00002806: DUP3
00002807: DUP2
00002808: ADD
00002809: DUP3
0000280a: ADD
0000280b: SWAP1
0000280c: SWAP4
0000280d: MSTORE
0000280e: DUP14
0000280f: DUP3
00002810: MSTORE
00002811: SWAP1
00002812: SWAP4
00002813: POP
00002814: DUP14
00002815: SWAP3
00002816: POP
00002817: DUP13
00002818: SWAP2
00002819: DUP3
0000281a: SWAP2
0000281b: DUP6
0000281c: ADD
0000281d: SWAP1
0000281e: DUP5
0000281f: SWAP1
00002820: DUP1
00002821: DUP3
00002822: DUP5
00002823: CALLDATACOPY
00002824: PUSH1 0x00
00002826: SWAP3
00002827: ADD
00002828: SWAP2
00002829: SWAP1
0000282a: SWAP2
0000282b: MSTORE
0000282c: POP
0000282d: POP
0000282e: PUSH1 0x40
00002830: DUP1
00002831: MLOAD
00002832: PUSH1 0x20
00002834: DUP1
00002835: DUP14
00002836: MUL
00002837: DUP3
00002838: DUP2
00002839: ADD
0000283a: DUP3
0000283b: ADD
0000283c: SWAP1
0000283d: SWAP4
0000283e: MSTORE
0000283f: DUP13
00002840: DUP3
00002841: MSTORE
00002842: SWAP1
00002843: SWAP4
00002844: POP
00002845: DUP13
00002846: SWAP3
00002847: POP
00002848: DUP12
00002849: SWAP2
0000284a: DUP3
0000284b: SWAP2
0000284c: DUP6
0000284d: ADD
0000284e: SWAP1
0000284f: DUP5
00002850: SWAP1
00002851: DUP1
00002852: DUP3
00002853: DUP5
00002854: CALLDATACOPY
00002855: PUSH1 0x00
00002857: SWAP3
00002858: ADD
00002859: SWAP2
0000285a: SWAP1
0000285b: SWAP2
0000285c: MSTORE
0000285d: POP
0000285e: PUSH2 0x432e
00002861: SWAP3
00002862: POP
00002863: POP
00002864: POP
00002865: JUMP
00002866: JUMPDEST
00002867: SWAP1
00002868: POP
00002869: PUSH1 0x60
0000286b: DUP2
0000286c: PUSH1 0x40
0000286e: MLOAD
0000286f: SWAP1
00002870: DUP1
00002871: DUP3
00002872: MSTORE
00002873: DUP1
00002874: PUSH1 0x20
00002876: MUL
00002877: PUSH1 0x20
00002879: ADD
0000287a: DUP3
0000287b: ADD
0000287c: PUSH1 0x40
0000287e: MSTORE
0000287f: DUP1
00002880: ISZERO
00002881: PUSH2 0x2894
00002884: JUMPI
00002885: DUP2
00002886: PUSH1 0x20
00002888: ADD
00002889: PUSH1 0x20
0000288b: DUP3
0000288c: MUL
0000288d: DUP1
0000288e: CODESIZE
0000288f: DUP4
00002890: CODECOPY
00002891: ADD
00002892: SWAP1
00002893: POP
00002894: JUMPDEST
00002895: POP
00002896: SWAP1
00002897: POP
00002898: PUSH1 0x60
0000289a: DUP3
0000289b: PUSH1 0x40
0000289d: MLOAD
0000289e: SWAP1
0000289f: DUP1
000028a0: DUP3
000028a1: MSTORE
000028a2: DUP1
000028a3: PUSH1 0x20
000028a5: MUL
000028a6: PUSH1 0x20
000028a8: ADD
000028a9: DUP3
000028aa: ADD
000028ab: PUSH1 0x40
000028ad: MSTORE
000028ae: DUP1
000028af: ISZERO
000028b0: PUSH2 0x28c3
000028b3: JUMPI
000028b4: DUP2
000028b5: PUSH1 0x20
000028b7: ADD
000028b8: PUSH1 0x20
000028ba: DUP3
000028bb: MUL
000028bc: DUP1
000028bd: CODESIZE
000028be: DUP4
000028bf: CODECOPY
000028c0: ADD
000028c1: SWAP1
000028c2: POP
000028c3: JUMPDEST
000028c4: POP
000028c5: SWAP1
000028c6: POP
000028c7: PUSH1 0x00
000028c9: JUMPDEST
000028ca: DUP4
000028cb: DUP2
000028cc: LT
000028cd: ISZERO
000028ce: PUSH2 0x2964
000028d1: JUMPI
000028d2: PUSH2 0x2929
000028d5: DUP14
000028d6: DUP14
000028d7: DUP4
000028d8: DUP2
000028d9: DUP2
000028da: LT
000028db: PUSH2 0x28e0
000028de: JUMPI
000028df: INVALID
000028e0: JUMPDEST
000028e1: SWAP1
000028e2: POP
000028e3: PUSH1 0x20
000028e5: MUL
000028e6: ADD
000028e7: CALLDATALOAD
000028e8: PUSH1 0x01
000028ea: PUSH1 0xa0
000028ec: PUSH1 0x02
000028ee: EXP
000028ef: SUB
000028f0: AND
000028f1: DUP13
000028f2: DUP13
000028f3: DUP5
000028f4: DUP2
000028f5: DUP2
000028f6: LT
000028f7: ISZERO
000028f8: ISZERO
000028f9: PUSH2 0x28fe
000028fc: JUMPI
000028fd: INVALID
000028fe: JUMPDEST
000028ff: SWAP1
00002900: POP
00002901: PUSH1 0x20
00002903: MUL
00002904: ADD
00002905: CALLDATALOAD
00002906: PUSH1 0x01
00002908: PUSH1 0xa0
0000290a: PUSH1 0x02
0000290c: EXP
0000290d: SUB
0000290e: AND
0000290f: DUP10
00002910: DUP13
00002911: DUP13
00002912: DUP7
00002913: DUP2
00002914: DUP2
00002915: LT
00002916: ISZERO
00002917: ISZERO
00002918: PUSH2 0x291d
0000291b: JUMPI
0000291c: INVALID
0000291d: JUMPDEST
0000291e: SWAP1
0000291f: POP
00002920: PUSH1 0x20
00002922: MUL
00002923: ADD
00002924: CALLDATALOAD
00002925: PUSH2 0x2422
00002928: JUMP
00002929: JUMPDEST
0000292a: DUP5
0000292b: DUP4
0000292c: DUP2
0000292d: MLOAD
0000292e: DUP2
0000292f: LT
00002930: ISZERO
00002931: ISZERO
00002932: PUSH2 0x2937
00002935: JUMPI
00002936: INVALID
00002937: JUMPDEST
00002938: SWAP1
00002939: PUSH1 0x20
0000293b: ADD
0000293c: SWAP1
0000293d: PUSH1 0x20
0000293f: MUL
00002940: ADD
00002941: DUP5
00002942: DUP5
00002943: DUP2
00002944: MLOAD
00002945: DUP2
00002946: LT
00002947: ISZERO
00002948: ISZERO
00002949: PUSH2 0x294e
0000294c: JUMPI
0000294d: INVALID
0000294e: JUMPDEST
0000294f: PUSH1 0x20
00002951: SWAP1
00002952: DUP2
00002953: MUL
00002954: SWAP1
00002955: SWAP2
00002956: ADD
00002957: ADD
00002958: SWAP2
00002959: SWAP1
0000295a: SWAP2
0000295b: MSTORE
0000295c: MSTORE
0000295d: PUSH1 0x01
0000295f: ADD
00002960: PUSH2 0x28c9
00002963: JUMP
00002964: JUMPDEST
00002965: POP
00002966: SWAP1
00002967: SWAP12
00002968: SWAP1
00002969: SWAP11
0000296a: POP
0000296b: SWAP9
0000296c: POP
0000296d: POP
0000296e: POP
0000296f: POP
00002970: POP
00002971: POP
00002972: POP
00002973: POP
00002974: POP
00002975: JUMP
00002976: JUMPDEST
00002977: PUSH1 0x01
00002979: SLOAD
0000297a: PUSH1 0x01
0000297c: PUSH1 0xa0
0000297e: PUSH1 0x02
00002980: EXP
00002981: SUB
00002982: AND
00002983: CALLER
00002984: EQ
00002985: PUSH2 0x29c2
00002988: JUMPI
00002989: PUSH1 0x40
0000298b: MLOAD
0000298c: PUSH1 0xe5
0000298e: PUSH1 0x02
00002990: EXP
00002991: PUSH3 0x461bcd
00002995: MUL
00002996: DUP2
00002997: MSTORE
00002998: PUSH1 0x04
0000299a: ADD
0000299b: DUP1
0000299c: DUP1
0000299d: PUSH1 0x20
0000299f: ADD
000029a0: DUP3
000029a1: DUP2
000029a2: SUB
000029a3: DUP3
000029a4: MSTORE
000029a5: PUSH1 0x2a
000029a7: DUP2
000029a8: MSTORE
000029a9: PUSH1 0x20
000029ab: ADD
000029ac: DUP1
000029ad: PUSH2 0x54a7
000029b0: PUSH1 0x2a
000029b2: SWAP2
000029b3: CODECOPY
000029b4: PUSH1 0x40
000029b6: ADD
000029b7: SWAP2
000029b8: POP
000029b9: POP
000029ba: PUSH1 0x40
000029bc: MLOAD
000029bd: DUP1
000029be: SWAP2
000029bf: SUB
000029c0: SWAP1
000029c1: REVERT
000029c2: JUMPDEST
000029c3: PUSH1 0x01
000029c5: PUSH1 0xa0
000029c7: PUSH1 0x02
000029c9: EXP
000029ca: SUB
000029cb: DUP2
000029cc: AND
000029cd: ISZERO
000029ce: ISZERO
000029cf: PUSH2 0x2a0c
000029d2: JUMPI
000029d3: PUSH1 0x40
000029d5: MLOAD
000029d6: PUSH1 0xe5
000029d8: PUSH1 0x02
000029da: EXP
000029db: PUSH3 0x461bcd
000029df: MUL
000029e0: DUP2
000029e1: MSTORE
000029e2: PUSH1 0x04
000029e4: ADD
000029e5: DUP1
000029e6: DUP1
000029e7: PUSH1 0x20
000029e9: ADD
000029ea: DUP3
000029eb: DUP2
000029ec: SUB
000029ed: DUP3
000029ee: MSTORE
000029ef: PUSH1 0x26
000029f1: DUP2
000029f2: MSTORE
000029f3: PUSH1 0x20
000029f5: ADD
000029f6: DUP1
000029f7: PUSH2 0x5448
000029fa: PUSH1 0x26
000029fc: SWAP2
000029fd: CODECOPY
000029fe: PUSH1 0x40
00002a00: ADD
00002a01: SWAP2
00002a02: POP
00002a03: POP
00002a04: PUSH1 0x40
00002a06: MLOAD
00002a07: DUP1
00002a08: SWAP2
00002a09: SUB
00002a0a: SWAP1
00002a0b: REVERT
00002a0c: JUMPDEST
00002a0d: PUSH1 0x01
00002a0f: DUP1
00002a10: SLOAD
00002a11: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002a26: NOT
00002a27: AND
00002a28: PUSH1 0x01
00002a2a: PUSH1 0xa0
00002a2c: PUSH1 0x02
00002a2e: EXP
00002a2f: SUB
00002a30: SWAP3
00002a31: SWAP1
00002a32: SWAP3
00002a33: AND
00002a34: SWAP2
00002a35: SWAP1
00002a36: SWAP2
00002a37: OR
00002a38: SWAP1
00002a39: SSTORE
00002a3a: JUMP
00002a3b: JUMPDEST
00002a3c: PUSH1 0x00
00002a3e: DUP2
00002a3f: DUP4
00002a40: LT
00002a41: ISZERO
00002a42: PUSH2 0x2a4c
00002a45: JUMPI
00002a46: POP
00002a47: DUP2
00002a48: PUSH2 0x153e
00002a4b: JUMP
00002a4c: JUMPDEST
00002a4d: POP
00002a4e: DUP1
00002a4f: PUSH2 0x153e
00002a52: JUMP
00002a53: JUMPDEST
00002a54: PUSH1 0x08
00002a56: SLOAD
00002a57: PUSH1 0x01
00002a59: PUSH1 0xa0
00002a5b: PUSH1 0x02
00002a5d: EXP
00002a5e: SUB
00002a5f: AND
00002a60: DUP2
00002a61: JUMP
00002a62: JUMPDEST
00002a63: PUSH2 0x2a6c
00002a66: DUP3
00002a67: DUP5
00002a68: PUSH2 0x1752
00002a6b: JUMP
00002a6c: JUMPDEST
00002a6d: DUP2
00002a6e: EQ
00002a6f: DUP1
00002a70: ISZERO
00002a71: PUSH2 0x2aa5
00002a74: JUMPI
00002a75: POP
00002a76: PUSH1 0x01
00002a78: PUSH1 0xa0
00002a7a: PUSH1 0x02
00002a7c: EXP
00002a7d: SUB
00002a7e: DUP1
00002a7f: DUP5
00002a80: AND
00002a81: PUSH1 0x00
00002a83: SWAP1
00002a84: DUP2
00002a85: MSTORE
00002a86: PUSH1 0x10
00002a88: PUSH1 0x20
00002a8a: SWAP1
00002a8b: DUP2
00002a8c: MSTORE
00002a8d: PUSH1 0x40
00002a8f: DUP1
00002a90: DUP4
00002a91: KECCAK256
00002a92: SWAP4
00002a93: DUP7
00002a94: AND
00002a95: DUP4
00002a96: MSTORE
00002a97: SWAP3
00002a98: DUP2
00002a99: MSTORE
00002a9a: DUP3
00002a9b: DUP3
00002a9c: KECCAK256
00002a9d: DUP5
00002a9e: DUP4
00002a9f: MSTORE
00002aa0: SWAP1
00002aa1: MSTORE
00002aa2: KECCAK256
00002aa3: SLOAD
00002aa4: ISZERO
00002aa5: JUMPDEST
00002aa6: ISZERO
00002aa7: PUSH2 0x2724
00002aaa: JUMPI
00002aab: PUSH1 0x01
00002aad: PUSH1 0xa0
00002aaf: PUSH1 0x02
00002ab1: EXP
00002ab2: SUB
00002ab3: DUP1
00002ab4: DUP5
00002ab5: AND
00002ab6: PUSH1 0x00
00002ab8: DUP2
00002ab9: DUP2
00002aba: MSTORE
00002abb: PUSH1 0x13
00002abd: PUSH1 0x20
00002abf: SWAP1
00002ac0: DUP2
00002ac1: MSTORE
00002ac2: PUSH1 0x40
00002ac4: DUP1
00002ac5: DUP4
00002ac6: KECCAK256
00002ac7: SWAP5
00002ac8: DUP8
00002ac9: AND
00002aca: DUP1
00002acb: DUP5
00002acc: MSTORE
00002acd: SWAP5
00002ace: DUP3
00002acf: MSTORE
00002ad0: DUP1
00002ad1: DUP4
00002ad2: KECCAK256
00002ad3: SLOAD
00002ad4: SWAP4
00002ad5: DUP4
00002ad6: MSTORE
00002ad7: PUSH1 0x11
00002ad9: DUP3
00002ada: MSTORE
00002adb: DUP1
00002adc: DUP4
00002add: KECCAK256
00002ade: SWAP5
00002adf: DUP4
00002ae0: MSTORE
00002ae1: SWAP4
00002ae2: SWAP1
00002ae3: MSTORE
00002ae4: SWAP2
00002ae5: DUP3
00002ae6: KECCAK256
00002ae7: SLOAD
00002ae8: SWAP1
00002ae9: SWAP2
00002aea: DUP1
00002aeb: PUSH2 0x2af5
00002aee: DUP8
00002aef: DUP8
00002af0: DUP8
00002af1: PUSH2 0x41a1
00002af4: JUMP
00002af5: JUMPDEST
00002af6: SWAP1
00002af7: SWAP3
00002af8: POP
00002af9: SWAP1
00002afa: POP
00002afb: PUSH1 0x00
00002afd: DUP4
00002afe: GT
00002aff: ISZERO
00002b00: PUSH2 0x2b2e
00002b03: JUMPI
00002b04: PUSH1 0x00
00002b06: PUSH2 0x2b14
00002b09: DUP6
00002b0a: DUP4
00002b0b: PUSH2 0x212a
00002b0e: DUP8
00002b0f: DUP8
00002b10: PUSH2 0x3403
00002b13: JUMP
00002b14: JUMPDEST
00002b15: SWAP1
00002b16: POP
00002b17: DUP1
00002b18: ISZERO
00002b19: ISZERO
00002b1a: PUSH2 0x2b2c
00002b1d: JUMPI
00002b1e: PUSH2 0x2b2a
00002b21: DUP9
00002b22: DUP9
00002b23: DUP9
00002b24: PUSH1 0x00
00002b26: PUSH2 0x1fcb
00002b29: JUMP
00002b2a: JUMPDEST
00002b2b: POP
00002b2c: JUMPDEST
00002b2d: POP
00002b2e: JUMPDEST
00002b2f: POP
00002b30: POP
00002b31: POP
00002b32: POP
00002b33: POP
00002b34: POP
00002b35: POP
00002b36: JUMP
00002b37: JUMPDEST
00002b38: PUSH1 0x0b
00002b3a: SLOAD
00002b3b: PUSH1 0x01
00002b3d: PUSH1 0xa0
00002b3f: PUSH1 0x02
00002b41: EXP
00002b42: SUB
00002b43: AND
00002b44: DUP2
00002b45: JUMP
00002b46: JUMPDEST
00002b47: PUSH1 0x60
00002b49: PUSH1 0x00
00002b4b: DUP1
00002b4c: PUSH2 0x2be9
00002b4f: DUP10
00002b50: DUP10
00002b51: DUP1
00002b52: DUP1
00002b53: PUSH1 0x20
00002b55: MUL
00002b56: PUSH1 0x20
00002b58: ADD
00002b59: PUSH1 0x40
00002b5b: MLOAD
00002b5c: SWAP1
00002b5d: DUP2
00002b5e: ADD
00002b5f: PUSH1 0x40
00002b61: MSTORE
00002b62: DUP1
00002b63: SWAP4
00002b64: SWAP3
00002b65: SWAP2
00002b66: SWAP1
00002b67: DUP2
00002b68: DUP2
00002b69: MSTORE
00002b6a: PUSH1 0x20
00002b6c: ADD
00002b6d: DUP4
00002b6e: DUP4
00002b6f: PUSH1 0x20
00002b71: MUL
00002b72: DUP1
00002b73: DUP3
00002b74: DUP5
00002b75: CALLDATACOPY
00002b76: PUSH1 0x00
00002b78: SWAP3
00002b79: ADD
00002b7a: SWAP2
00002b7b: SWAP1
00002b7c: SWAP2
00002b7d: MSTORE
00002b7e: POP
00002b7f: POP
00002b80: PUSH1 0x40
00002b82: DUP1
00002b83: MLOAD
00002b84: PUSH1 0x20
00002b86: DUP1
00002b87: DUP14
00002b88: MUL
00002b89: DUP3
00002b8a: DUP2
00002b8b: ADD
00002b8c: DUP3
00002b8d: ADD
00002b8e: SWAP1
00002b8f: SWAP4
00002b90: MSTORE
00002b91: DUP13
00002b92: DUP3
00002b93: MSTORE
00002b94: SWAP1
00002b95: SWAP4
00002b96: POP
00002b97: DUP13
00002b98: SWAP3
00002b99: POP
00002b9a: DUP12
00002b9b: SWAP2
00002b9c: DUP3
00002b9d: SWAP2
00002b9e: DUP6
00002b9f: ADD
00002ba0: SWAP1
00002ba1: DUP5
00002ba2: SWAP1
00002ba3: DUP1
00002ba4: DUP3
00002ba5: DUP5
00002ba6: CALLDATACOPY
00002ba7: PUSH1 0x00
00002ba9: SWAP3
00002baa: ADD
00002bab: SWAP2
00002bac: SWAP1
00002bad: SWAP2
00002bae: MSTORE
00002baf: POP
00002bb0: POP
00002bb1: PUSH1 0x40
00002bb3: DUP1
00002bb4: MLOAD
00002bb5: PUSH1 0x20
00002bb7: DUP1
00002bb8: DUP13
00002bb9: MUL
00002bba: DUP3
00002bbb: DUP2
00002bbc: ADD
00002bbd: DUP3
00002bbe: ADD
00002bbf: SWAP1
00002bc0: SWAP4
00002bc1: MSTORE
00002bc2: DUP12
00002bc3: DUP3
00002bc4: MSTORE
00002bc5: SWAP1
00002bc6: SWAP4
00002bc7: POP
00002bc8: DUP12
00002bc9: SWAP3
00002bca: POP
00002bcb: DUP11
00002bcc: SWAP2
00002bcd: DUP3
00002bce: SWAP2
00002bcf: DUP6
00002bd0: ADD
00002bd1: SWAP1
00002bd2: DUP5
00002bd3: SWAP1
00002bd4: DUP1
00002bd5: DUP3
00002bd6: DUP5
00002bd7: CALLDATACOPY
00002bd8: PUSH1 0x00
00002bda: SWAP3
00002bdb: ADD
00002bdc: SWAP2
00002bdd: SWAP1
00002bde: SWAP2
00002bdf: MSTORE
00002be0: POP
00002be1: PUSH2 0x432e
00002be4: SWAP3
00002be5: POP
00002be6: POP
00002be7: POP
00002be8: JUMP
00002be9: JUMPDEST
00002bea: SWAP1
00002beb: POP
00002bec: PUSH1 0x60
00002bee: DUP2
00002bef: PUSH1 0x40
00002bf1: MLOAD
00002bf2: SWAP1
00002bf3: DUP1
00002bf4: DUP3
00002bf5: MSTORE
00002bf6: DUP1
00002bf7: PUSH1 0x20
00002bf9: MUL
00002bfa: PUSH1 0x20
00002bfc: ADD
00002bfd: DUP3
00002bfe: ADD
00002bff: PUSH1 0x40
00002c01: MSTORE
00002c02: DUP1
00002c03: ISZERO
00002c04: PUSH2 0x2c17
00002c07: JUMPI
00002c08: DUP2
00002c09: PUSH1 0x20
00002c0b: ADD
00002c0c: PUSH1 0x20
00002c0e: DUP3
00002c0f: MUL
00002c10: DUP1
00002c11: CODESIZE
00002c12: DUP4
00002c13: CODECOPY
00002c14: ADD
00002c15: SWAP1
00002c16: POP
00002c17: JUMPDEST
00002c18: POP
00002c19: SWAP1
00002c1a: POP
00002c1b: PUSH1 0x00
00002c1d: DUP1
00002c1e: JUMPDEST
00002c1f: DUP4
00002c20: DUP2
00002c21: LT
00002c22: ISZERO
00002c23: PUSH2 0x171e
00002c26: JUMPI
00002c27: PUSH2 0x2c72
00002c2a: DUP13
00002c2b: DUP13
00002c2c: DUP4
00002c2d: DUP2
00002c2e: DUP2
00002c2f: LT
00002c30: PUSH2 0x2c35
00002c33: JUMPI
00002c34: INVALID
00002c35: JUMPDEST
00002c36: SWAP1
00002c37: POP
00002c38: PUSH1 0x20
00002c3a: MUL
00002c3b: ADD
00002c3c: CALLDATALOAD
00002c3d: PUSH1 0x01
00002c3f: PUSH1 0xa0
00002c41: PUSH1 0x02
00002c43: EXP
00002c44: SUB
00002c45: AND
00002c46: DUP12
00002c47: DUP12
00002c48: DUP5
00002c49: DUP2
00002c4a: DUP2
00002c4b: LT
00002c4c: ISZERO
00002c4d: ISZERO
00002c4e: PUSH2 0x2c53
00002c51: JUMPI
00002c52: INVALID
00002c53: JUMPDEST
00002c54: SWAP1
00002c55: POP
00002c56: PUSH1 0x20
00002c58: MUL
00002c59: ADD
00002c5a: CALLDATALOAD
00002c5b: PUSH1 0x01
00002c5d: PUSH1 0xa0
00002c5f: PUSH1 0x02
00002c61: EXP
00002c62: SUB
00002c63: AND
00002c64: CALLER
00002c65: DUP12
00002c66: DUP12
00002c67: DUP7
00002c68: DUP2
00002c69: DUP2
00002c6a: LT
00002c6b: ISZERO
00002c6c: ISZERO
00002c6d: PUSH2 0x291d
00002c70: JUMPI
00002c71: INVALID
00002c72: JUMPDEST
00002c73: DUP5
00002c74: DUP4
00002c75: DUP2
00002c76: MLOAD
00002c77: DUP2
00002c78: LT
00002c79: ISZERO
00002c7a: ISZERO
00002c7b: PUSH2 0x2c80
00002c7e: JUMPI
00002c7f: INVALID
00002c80: JUMPDEST
00002c81: PUSH1 0x20
00002c83: SWAP1
00002c84: DUP2
00002c85: MUL
00002c86: SWAP1
00002c87: SWAP2
00002c88: ADD
00002c89: ADD
00002c8a: SWAP2
00002c8b: SWAP1
00002c8c: SWAP2
00002c8d: MSTORE
00002c8e: SWAP5
00002c8f: DUP6
00002c90: ADD
00002c91: SWAP5
00002c92: SWAP2
00002c93: POP
00002c94: PUSH2 0x2ca2
00002c97: DUP11
00002c98: DUP11
00002c99: DUP4
00002c9a: DUP2
00002c9b: DUP2
00002c9c: LT
00002c9d: PUSH2 0x16e8
00002ca0: JUMPI
00002ca1: INVALID
00002ca2: JUMPDEST
00002ca3: POP
00002ca4: PUSH1 0x01
00002ca6: ADD
00002ca7: PUSH2 0x2c1e
00002caa: JUMP
00002cab: JUMPDEST
00002cac: PUSH1 0x18
00002cae: PUSH1 0x20
00002cb0: SWAP1
00002cb1: DUP2
00002cb2: MSTORE
00002cb3: PUSH1 0x00
00002cb5: SWAP5
00002cb6: DUP6
00002cb7: MSTORE
00002cb8: PUSH1 0x40
00002cba: DUP1
00002cbb: DUP7
00002cbc: KECCAK256
00002cbd: DUP3
00002cbe: MSTORE
00002cbf: SWAP4
00002cc0: DUP6
00002cc1: MSTORE
00002cc2: DUP4
00002cc3: DUP6
00002cc4: KECCAK256
00002cc5: DUP2
00002cc6: MSTORE
00002cc7: SWAP2
00002cc8: DUP5
00002cc9: MSTORE
00002cca: DUP3
00002ccb: DUP5
00002ccc: KECCAK256
00002ccd: SWAP1
00002cce: SWAP2
00002ccf: MSTORE
00002cd0: DUP3
00002cd1: MSTORE
00002cd2: SWAP1
00002cd3: KECCAK256
00002cd4: SLOAD
00002cd5: DUP2
00002cd6: JUMP
00002cd7: JUMPDEST
00002cd8: PUSH1 0x07
00002cda: SLOAD
00002cdb: DUP2
00002cdc: JUMP
00002cdd: JUMPDEST
00002cde: PUSH1 0x00
00002ce0: SLOAD
00002ce1: PUSH1 0x01
00002ce3: PUSH1 0xa0
00002ce5: PUSH1 0x02
00002ce7: EXP
00002ce8: SUB
00002ce9: AND
00002cea: DUP2
00002ceb: JUMP
00002cec: JUMPDEST
00002ced: PUSH1 0x08
00002cef: SLOAD
00002cf0: PUSH1 0x01
00002cf2: PUSH1 0xa0
00002cf4: PUSH1 0x02
00002cf6: EXP
00002cf7: SUB
00002cf8: AND
00002cf9: ISZERO
00002cfa: PUSH2 0x2d37
00002cfd: JUMPI
00002cfe: PUSH1 0x40
00002d00: MLOAD
00002d01: PUSH1 0xe5
00002d03: PUSH1 0x02
00002d05: EXP
00002d06: PUSH3 0x461bcd
00002d0a: MUL
00002d0b: DUP2
00002d0c: MSTORE
00002d0d: PUSH1 0x04
00002d0f: ADD
00002d10: DUP1
00002d11: DUP1
00002d12: PUSH1 0x20
00002d14: ADD
00002d15: DUP3
00002d16: DUP2
00002d17: SUB
00002d18: DUP3
00002d19: MSTORE
00002d1a: PUSH1 0x22
00002d1c: DUP2
00002d1d: MSTORE
00002d1e: PUSH1 0x20
00002d20: ADD
00002d21: DUP1
00002d22: PUSH2 0x53c8
00002d25: PUSH1 0x22
00002d27: SWAP2
00002d28: CODECOPY
00002d29: PUSH1 0x40
00002d2b: ADD
00002d2c: SWAP2
00002d2d: POP
00002d2e: POP
00002d2f: PUSH1 0x40
00002d31: MLOAD
00002d32: DUP1
00002d33: SWAP2
00002d34: SUB
00002d35: SWAP1
00002d36: REVERT
00002d37: JUMPDEST
00002d38: PUSH1 0x01
00002d3a: PUSH1 0xa0
00002d3c: PUSH1 0x02
00002d3e: EXP
00002d3f: SUB
00002d40: DUP7
00002d41: AND
00002d42: ISZERO
00002d43: ISZERO
00002d44: PUSH2 0x2d97
00002d47: JUMPI
00002d48: PUSH1 0x40
00002d4a: DUP1
00002d4b: MLOAD
00002d4c: PUSH1 0xe5
00002d4e: PUSH1 0x02
00002d50: EXP
00002d51: PUSH3 0x461bcd
00002d55: MUL
00002d56: DUP2
00002d57: MSTORE
00002d58: PUSH1 0x20
00002d5a: PUSH1 0x04
00002d5c: DUP3
00002d5d: ADD
00002d5e: MSTORE
00002d5f: PUSH1 0x1d
00002d61: PUSH1 0x24
00002d63: DUP3
00002d64: ADD
00002d65: MSTORE
00002d66: PUSH32 0x546865204f574c2061646472657373206d7573742062652076616c6964000000
00002d87: PUSH1 0x44
00002d89: DUP3
00002d8a: ADD
00002d8b: MSTORE
00002d8c: SWAP1
00002d8d: MLOAD
00002d8e: SWAP1
00002d8f: DUP2
00002d90: SWAP1
00002d91: SUB
00002d92: PUSH1 0x64
00002d94: ADD
00002d95: SWAP1
00002d96: REVERT
00002d97: JUMPDEST
00002d98: PUSH1 0x01
00002d9a: PUSH1 0xa0
00002d9c: PUSH1 0x02
00002d9e: EXP
00002d9f: SUB
00002da0: DUP8
00002da1: AND
00002da2: ISZERO
00002da3: ISZERO
00002da4: PUSH2 0x2df7
00002da7: JUMPI
00002da8: PUSH1 0x40
00002daa: DUP1
00002dab: MLOAD
00002dac: PUSH1 0xe5
00002dae: PUSH1 0x02
00002db0: EXP
00002db1: PUSH3 0x461bcd
00002db5: MUL
00002db6: DUP2
00002db7: MSTORE
00002db8: PUSH1 0x20
00002dba: PUSH1 0x04
00002dbc: DUP3
00002dbd: ADD
00002dbe: MSTORE
00002dbf: PUSH1 0x1d
00002dc1: PUSH1 0x24
00002dc3: DUP3
00002dc4: ADD
00002dc5: MSTORE
00002dc6: PUSH32 0x546865204652542061646472657373206d7573742062652076616c6964000000
00002de7: PUSH1 0x44
00002de9: DUP3
00002dea: ADD
00002deb: MSTORE
00002dec: SWAP1
00002ded: MLOAD
00002dee: SWAP1
00002def: DUP2
00002df0: SWAP1
00002df1: SUB
00002df2: PUSH1 0x64
00002df4: ADD
00002df5: SWAP1
00002df6: REVERT
00002df7: JUMPDEST
00002df8: PUSH1 0x01
00002dfa: PUSH1 0xa0
00002dfc: PUSH1 0x02
00002dfe: EXP
00002dff: SUB
00002e00: DUP6
00002e01: AND
00002e02: ISZERO
00002e03: ISZERO
00002e04: PUSH2 0x2e41
00002e07: JUMPI
00002e08: PUSH1 0x40
00002e0a: MLOAD
00002e0b: PUSH1 0xe5
00002e0d: PUSH1 0x02
00002e0f: EXP
00002e10: PUSH3 0x461bcd
00002e14: MUL
00002e15: DUP2
00002e16: MSTORE
00002e17: PUSH1 0x04
00002e19: ADD
00002e1a: DUP1
00002e1b: DUP1
00002e1c: PUSH1 0x20
00002e1e: ADD
00002e1f: DUP3
00002e20: DUP2
00002e21: SUB
00002e22: DUP3
00002e23: MSTORE
00002e24: PUSH1 0x24
00002e26: DUP2
00002e27: MSTORE
00002e28: PUSH1 0x20
00002e2a: ADD
00002e2b: DUP1
00002e2c: PUSH2 0x5613
00002e2f: PUSH1 0x24
00002e31: SWAP2
00002e32: CODECOPY
00002e33: PUSH1 0x40
00002e35: ADD
00002e36: SWAP2
00002e37: POP
00002e38: POP
00002e39: PUSH1 0x40
00002e3b: MLOAD
00002e3c: DUP1
00002e3d: SWAP2
00002e3e: SUB
00002e3f: SWAP1
00002e40: REVERT
00002e41: JUMPDEST
00002e42: PUSH1 0x01
00002e44: PUSH1 0xa0
00002e46: PUSH1 0x02
00002e48: EXP
00002e49: SUB
00002e4a: DUP5
00002e4b: AND
00002e4c: ISZERO
00002e4d: ISZERO
00002e4e: PUSH2 0x2ea1
00002e51: JUMPI
00002e52: PUSH1 0x40
00002e54: DUP1
00002e55: MLOAD
00002e56: PUSH1 0xe5
00002e58: PUSH1 0x02
00002e5a: EXP
00002e5b: PUSH3 0x461bcd
00002e5f: MUL
00002e60: DUP2
00002e61: MSTORE
00002e62: PUSH1 0x20
00002e64: PUSH1 0x04
00002e66: DUP3
00002e67: ADD
00002e68: MSTORE
00002e69: PUSH1 0x1e
00002e6b: PUSH1 0x24
00002e6d: DUP3
00002e6e: ADD
00002e6f: MSTORE
00002e70: PUSH32 0x54686520574554482061646472657373206d7573742062652076616c69640000
00002e91: PUSH1 0x44
00002e93: DUP3
00002e94: ADD
00002e95: MSTORE
00002e96: SWAP1
00002e97: MLOAD
00002e98: SWAP1
00002e99: DUP2
00002e9a: SWAP1
00002e9b: SUB
00002e9c: PUSH1 0x64
00002e9e: ADD
00002e9f: SWAP1
00002ea0: REVERT
00002ea1: JUMPDEST
00002ea2: PUSH1 0x01
00002ea4: PUSH1 0xa0
00002ea6: PUSH1 0x02
00002ea8: EXP
00002ea9: SUB
00002eaa: DUP4
00002eab: AND
00002eac: ISZERO
00002ead: ISZERO
00002eae: PUSH2 0x2f01
00002eb1: JUMPI
00002eb2: PUSH1 0x40
00002eb4: DUP1
00002eb5: MLOAD
00002eb6: PUSH1 0xe5
00002eb8: PUSH1 0x02
00002eba: EXP
00002ebb: PUSH3 0x461bcd
00002ebf: MUL
00002ec0: DUP2
00002ec1: MSTORE
00002ec2: PUSH1 0x20
00002ec4: PUSH1 0x04
00002ec6: DUP3
00002ec7: ADD
00002ec8: DUP2
00002ec9: SWAP1
00002eca: MSTORE
00002ecb: PUSH1 0x24
00002ecd: DUP3
00002ece: ADD
00002ecf: MSTORE
00002ed0: PUSH32 0x546865206f7261636c652061646472657373206d7573742062652076616c6964
00002ef1: PUSH1 0x44
00002ef3: DUP3
00002ef4: ADD
00002ef5: MSTORE
00002ef6: SWAP1
00002ef7: MLOAD
00002ef8: SWAP1
00002ef9: DUP2
00002efa: SWAP1
00002efb: SUB
00002efc: PUSH1 0x64
00002efe: ADD
00002eff: SWAP1
00002f00: REVERT
00002f01: JUMPDEST
00002f02: PUSH1 0x0b
00002f04: DUP1
00002f05: SLOAD
00002f06: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002f1b: NOT
00002f1c: SWAP1
00002f1d: DUP2
00002f1e: AND
00002f1f: PUSH1 0x01
00002f21: PUSH1 0xa0
00002f23: PUSH1 0x02
00002f25: EXP
00002f26: SUB
00002f27: SWAP10
00002f28: DUP11
00002f29: AND
00002f2a: OR
00002f2b: SWAP1
00002f2c: SWAP2
00002f2d: SSTORE
00002f2e: PUSH1 0x0c
00002f30: DUP1
00002f31: SLOAD
00002f32: DUP3
00002f33: AND
00002f34: SWAP8
00002f35: DUP10
00002f36: AND
00002f37: SWAP8
00002f38: SWAP1
00002f39: SWAP8
00002f3a: OR
00002f3b: SWAP1
00002f3c: SWAP7
00002f3d: SSTORE
00002f3e: PUSH1 0x01
00002f40: DUP1
00002f41: SLOAD
00002f42: DUP8
00002f43: AND
00002f44: SWAP6
00002f45: DUP9
00002f46: AND
00002f47: SWAP6
00002f48: SWAP1
00002f49: SWAP6
00002f4a: OR
00002f4b: SWAP1
00002f4c: SWAP5
00002f4d: SSTORE
00002f4e: PUSH1 0x08
00002f50: DUP1
00002f51: SLOAD
00002f52: DUP7
00002f53: AND
00002f54: SWAP4
00002f55: DUP8
00002f56: AND
00002f57: SWAP4
00002f58: SWAP1
00002f59: SWAP4
00002f5a: OR
00002f5b: SWAP1
00002f5c: SWAP3
00002f5d: SSTORE
00002f5e: PUSH1 0x05
00002f60: DUP1
00002f61: SLOAD
00002f62: SWAP1
00002f63: SWAP5
00002f64: AND
00002f65: SWAP5
00002f66: AND
00002f67: SWAP4
00002f68: SWAP1
00002f69: SWAP4
00002f6a: OR
00002f6b: SWAP1
00002f6c: SWAP2
00002f6d: SSTORE
00002f6e: PUSH1 0x09
00002f70: SWAP2
00002f71: SWAP1
00002f72: SWAP2
00002f73: SSTORE
00002f74: PUSH1 0x0a
00002f76: SSTORE
00002f77: JUMP
00002f78: JUMPDEST
00002f79: PUSH1 0x00
00002f7b: DUP1
00002f7c: PUSH2 0x2f86
00002f7f: DUP7
00002f80: DUP7
00002f81: DUP6
00002f82: PUSH2 0x2a62
00002f85: JUMP
00002f86: JUMPDEST
00002f87: PUSH1 0x00
00002f89: DUP1
00002f8a: PUSH2 0x2f95
00002f8d: DUP9
00002f8e: DUP9
00002f8f: DUP9
00002f90: DUP9
00002f91: PUSH2 0x362f
00002f94: JUMP
00002f95: JUMPDEST
00002f96: PUSH1 0x01
00002f98: PUSH1 0xa0
00002f9a: PUSH1 0x02
00002f9c: EXP
00002f9d: SUB
00002f9e: DUP1
00002f9f: DUP13
00002fa0: AND
00002fa1: PUSH1 0x00
00002fa3: SWAP1
00002fa4: DUP2
00002fa5: MSTORE
00002fa6: PUSH1 0x10
00002fa8: PUSH1 0x20
00002faa: SWAP1
00002fab: DUP2
00002fac: MSTORE
00002fad: PUSH1 0x40
00002faf: DUP1
00002fb0: DUP4
00002fb1: KECCAK256
00002fb2: SWAP4
00002fb3: DUP15
00002fb4: AND
00002fb5: DUP4
00002fb6: MSTORE
00002fb7: SWAP3
00002fb8: DUP2
00002fb9: MSTORE
00002fba: DUP3
00002fbb: DUP3
00002fbc: KECCAK256
00002fbd: DUP12
00002fbe: DUP4
00002fbf: MSTORE
00002fc0: SWAP1
00002fc1: MSTORE
00002fc2: KECCAK256
00002fc3: PUSH1 0x01
00002fc5: ADD
00002fc6: SLOAD
00002fc7: SWAP3
00002fc8: SWAP7
00002fc9: POP
00002fca: SWAP1
00002fcb: SWAP4
00002fcc: POP
00002fcd: SWAP2
00002fce: POP
00002fcf: ISZERO
00002fd0: ISZERO
00002fd1: PUSH2 0x3053
00002fd4: JUMPI
00002fd5: PUSH1 0x01
00002fd7: PUSH1 0xa0
00002fd9: PUSH1 0x02
00002fdb: EXP
00002fdc: SUB
00002fdd: DUP1
00002fde: DUP10
00002fdf: AND
00002fe0: PUSH1 0x00
00002fe2: SWAP1
00002fe3: DUP2
00002fe4: MSTORE
00002fe5: PUSH1 0x18
00002fe7: PUSH1 0x20
00002fe9: SWAP1
00002fea: DUP2
00002feb: MSTORE
00002fec: PUSH1 0x40
00002fee: DUP1
00002fef: DUP4
00002ff0: KECCAK256
00002ff1: DUP12
00002ff2: DUP6
00002ff3: AND
00002ff4: DUP5
00002ff5: MSTORE
00002ff6: DUP3
00002ff7: MSTORE
00002ff8: DUP1
00002ff9: DUP4
00002ffa: KECCAK256
00002ffb: DUP10
00002ffc: DUP5
00002ffd: MSTORE
00002ffe: DUP3
00002fff: MSTORE
00003000: DUP1
00003001: DUP4
00003002: KECCAK256
00003003: SWAP4
00003004: DUP11
00003005: AND
00003006: DUP4
00003007: MSTORE
00003008: SWAP3
00003009: SWAP1
0000300a: MSTORE
0000300b: KECCAK256
0000300c: SLOAD
0000300d: PUSH2 0x3016
00003010: SWAP1
00003011: DUP6
00003012: PUSH2 0x27a7
00003015: JUMP
00003016: JUMPDEST
00003017: PUSH1 0x01
00003019: PUSH1 0xa0
0000301b: PUSH1 0x02
0000301d: EXP
0000301e: SUB
0000301f: DUP1
00003020: DUP11
00003021: AND
00003022: PUSH1 0x00
00003024: SWAP1
00003025: DUP2
00003026: MSTORE
00003027: PUSH1 0x18
00003029: PUSH1 0x20
0000302b: SWAP1
0000302c: DUP2
0000302d: MSTORE
0000302e: PUSH1 0x40
00003030: DUP1
00003031: DUP4
00003032: KECCAK256
00003033: DUP13
00003034: DUP6
00003035: AND
00003036: DUP5
00003037: MSTORE
00003038: DUP3
00003039: MSTORE
0000303a: DUP1
0000303b: DUP4
0000303c: KECCAK256
0000303d: DUP11
0000303e: DUP5
0000303f: MSTORE
00003040: DUP3
00003041: MSTORE
00003042: DUP1
00003043: DUP4
00003044: KECCAK256
00003045: SWAP4
00003046: DUP12
00003047: AND
00003048: DUP4
00003049: MSTORE
0000304a: SWAP3
0000304b: SWAP1
0000304c: MSTORE
0000304d: KECCAK256
0000304e: SSTORE
0000304f: PUSH2 0x3213
00003052: JUMP
00003053: JUMPDEST
00003054: PUSH1 0x01
00003056: PUSH1 0xa0
00003058: PUSH1 0x02
0000305a: EXP
0000305b: SUB
0000305c: DUP1
0000305d: DUP10
0000305e: AND
0000305f: PUSH1 0x00
00003061: DUP2
00003062: DUP2
00003063: MSTORE
00003064: PUSH1 0x15
00003066: PUSH1 0x20
00003068: SWAP1
00003069: DUP2
0000306a: MSTORE
0000306b: PUSH1 0x40
0000306d: DUP1
0000306e: DUP4
0000306f: KECCAK256
00003070: DUP13
00003071: DUP7
00003072: AND
00003073: DUP1
00003074: DUP6
00003075: MSTORE
00003076: SWAP1
00003077: DUP4
00003078: MSTORE
00003079: DUP2
0000307a: DUP5
0000307b: KECCAK256
0000307c: DUP12
0000307d: DUP6
0000307e: MSTORE
0000307f: DUP4
00003080: MSTORE
00003081: DUP2
00003082: DUP5
00003083: KECCAK256
00003084: SLOAD
00003085: DUP6
00003086: DUP6
00003087: MSTORE
00003088: PUSH1 0x17
0000308a: DUP5
0000308b: MSTORE
0000308c: DUP3
0000308d: DUP6
0000308e: KECCAK256
0000308f: DUP3
00003090: DUP7
00003091: MSTORE
00003092: DUP5
00003093: MSTORE
00003094: DUP3
00003095: DUP6
00003096: KECCAK256
00003097: DUP13
00003098: DUP7
00003099: MSTORE
0000309a: DUP5
0000309b: MSTORE
0000309c: DUP3
0000309d: DUP6
0000309e: KECCAK256
0000309f: SWAP7
000030a0: DUP14
000030a1: AND
000030a2: DUP6
000030a3: MSTORE
000030a4: SWAP6
000030a5: DUP4
000030a6: MSTORE
000030a7: DUP2
000030a8: DUP5
000030a9: KECCAK256
000030aa: SLOAD
000030ab: SWAP5
000030ac: DUP5
000030ad: MSTORE
000030ae: PUSH1 0x10
000030b0: DUP4
000030b1: MSTORE
000030b2: DUP2
000030b3: DUP5
000030b4: KECCAK256
000030b5: SWAP1
000030b6: DUP5
000030b7: MSTORE
000030b8: DUP3
000030b9: MSTORE
000030ba: DUP1
000030bb: DUP4
000030bc: KECCAK256
000030bd: DUP11
000030be: DUP5
000030bf: MSTORE
000030c0: SWAP1
000030c1: SWAP2
000030c2: MSTORE
000030c3: DUP2
000030c4: KECCAK256
000030c5: SLOAD
000030c6: PUSH2 0x30cf
000030c9: DUP4
000030ca: DUP6
000030cb: PUSH2 0x3403
000030ce: JUMP
000030cf: JUMPDEST
000030d0: DUP2
000030d1: ISZERO
000030d2: ISZERO
000030d3: PUSH2 0x30d8
000030d6: JUMPI
000030d7: INVALID
000030d8: JUMPDEST
000030d9: DIV
000030da: SWAP1
000030db: POP
000030dc: PUSH2 0x30e5
000030df: DUP8
000030e0: DUP3
000030e1: PUSH2 0x27a7
000030e4: JUMP
000030e5: JUMPDEST
000030e6: SWAP7
000030e7: POP
000030e8: PUSH2 0x3109
000030eb: DUP11
000030ec: DUP13
000030ed: DUP8
000030ee: PUSH2 0x30f7
000030f1: DUP7
000030f2: DUP10
000030f3: PUSH2 0x3403
000030f6: JUMP
000030f7: JUMPDEST
000030f8: DUP2
000030f9: ISZERO
000030fa: ISZERO
000030fb: PUSH2 0x3100
000030fe: JUMPI
000030ff: INVALID
00003100: JUMPDEST
00003101: DIV
00003102: DUP12
00003103: DUP7
00003104: DUP15
00003105: PUSH2 0x4958
00003108: JUMP
00003109: JUMPDEST
0000310a: SWAP6
0000310b: POP
0000310c: PUSH1 0x00
0000310e: PUSH1 0x17
00003110: PUSH1 0x00
00003112: DUP14
00003113: PUSH1 0x01
00003115: PUSH1 0xa0
00003117: PUSH1 0x02
00003119: EXP
0000311a: SUB
0000311b: AND
0000311c: PUSH1 0x01
0000311e: PUSH1 0xa0
00003120: PUSH1 0x02
00003122: EXP
00003123: SUB
00003124: AND
00003125: DUP2
00003126: MSTORE
00003127: PUSH1 0x20
00003129: ADD
0000312a: SWAP1
0000312b: DUP2
0000312c: MSTORE
0000312d: PUSH1 0x20
0000312f: ADD
00003130: PUSH1 0x00
00003132: KECCAK256
00003133: PUSH1 0x00
00003135: DUP13
00003136: PUSH1 0x01
00003138: PUSH1 0xa0
0000313a: PUSH1 0x02
0000313c: EXP
0000313d: SUB
0000313e: AND
0000313f: PUSH1 0x01
00003141: PUSH1 0xa0
00003143: PUSH1 0x02
00003145: EXP
00003146: SUB
00003147: AND
00003148: DUP2
00003149: MSTORE
0000314a: PUSH1 0x20
0000314c: ADD
0000314d: SWAP1
0000314e: DUP2
0000314f: MSTORE
00003150: PUSH1 0x20
00003152: ADD
00003153: PUSH1 0x00
00003155: KECCAK256
00003156: PUSH1 0x00
00003158: DUP11
00003159: DUP2
0000315a: MSTORE
0000315b: PUSH1 0x20
0000315d: ADD
0000315e: SWAP1
0000315f: DUP2
00003160: MSTORE
00003161: PUSH1 0x20
00003163: ADD
00003164: PUSH1 0x00
00003166: KECCAK256
00003167: PUSH1 0x00
00003169: DUP12
0000316a: PUSH1 0x01
0000316c: PUSH1 0xa0
0000316e: PUSH1 0x02
00003170: EXP
00003171: SUB
00003172: AND
00003173: PUSH1 0x01
00003175: PUSH1 0xa0
00003177: PUSH1 0x02
00003179: EXP
0000317a: SUB
0000317b: AND
0000317c: DUP2
0000317d: MSTORE
0000317e: PUSH1 0x20
00003180: ADD
00003181: SWAP1
00003182: DUP2
00003183: MSTORE
00003184: PUSH1 0x20
00003186: ADD
00003187: PUSH1 0x00
00003189: KECCAK256
0000318a: DUP2
0000318b: SWAP1
0000318c: SSTORE
0000318d: POP
0000318e: PUSH1 0x00
00003190: PUSH1 0x18
00003192: PUSH1 0x00
00003194: DUP14
00003195: PUSH1 0x01
00003197: PUSH1 0xa0
00003199: PUSH1 0x02
0000319b: EXP
0000319c: SUB
0000319d: AND
0000319e: PUSH1 0x01
000031a0: PUSH1 0xa0
000031a2: PUSH1 0x02
000031a4: EXP
000031a5: SUB
000031a6: AND
000031a7: DUP2
000031a8: MSTORE
000031a9: PUSH1 0x20
000031ab: ADD
000031ac: SWAP1
000031ad: DUP2
000031ae: MSTORE
000031af: PUSH1 0x20
000031b1: ADD
000031b2: PUSH1 0x00
000031b4: KECCAK256
000031b5: PUSH1 0x00
000031b7: DUP13
000031b8: PUSH1 0x01
000031ba: PUSH1 0xa0
000031bc: PUSH1 0x02
000031be: EXP
000031bf: SUB
000031c0: AND
000031c1: PUSH1 0x01
000031c3: PUSH1 0xa0
000031c5: PUSH1 0x02
000031c7: EXP
000031c8: SUB
000031c9: AND
000031ca: DUP2
000031cb: MSTORE
000031cc: PUSH1 0x20
000031ce: ADD
000031cf: SWAP1
000031d0: DUP2
000031d1: MSTORE
000031d2: PUSH1 0x20
000031d4: ADD
000031d5: PUSH1 0x00
000031d7: KECCAK256
000031d8: PUSH1 0x00
000031da: DUP11
000031db: DUP2
000031dc: MSTORE
000031dd: PUSH1 0x20
000031df: ADD
000031e0: SWAP1
000031e1: DUP2
000031e2: MSTORE
000031e3: PUSH1 0x20
000031e5: ADD
000031e6: PUSH1 0x00
000031e8: KECCAK256
000031e9: PUSH1 0x00
000031eb: DUP12
000031ec: PUSH1 0x01
000031ee: PUSH1 0xa0
000031f0: PUSH1 0x02
000031f2: EXP
000031f3: SUB
000031f4: AND
000031f5: PUSH1 0x01
000031f7: PUSH1 0xa0
000031f9: PUSH1 0x02
000031fb: EXP
000031fc: SUB
000031fd: AND
000031fe: DUP2
000031ff: MSTORE
00003200: PUSH1 0x20
00003202: ADD
00003203: SWAP1
00003204: DUP2
00003205: MSTORE
00003206: PUSH1 0x20
00003208: ADD
00003209: PUSH1 0x00
0000320b: KECCAK256
0000320c: DUP2
0000320d: SWAP1
0000320e: SSTORE
0000320f: POP
00003210: POP
00003211: POP
00003212: POP
00003213: JUMPDEST
00003214: PUSH1 0x00
00003216: DUP5
00003217: GT
00003218: ISZERO
00003219: PUSH2 0x3273
0000321c: JUMPI
0000321d: PUSH1 0x01
0000321f: PUSH1 0xa0
00003221: PUSH1 0x02
00003223: EXP
00003224: SUB
00003225: DUP1
00003226: DUP10
00003227: AND
00003228: PUSH1 0x00
0000322a: SWAP1
0000322b: DUP2
0000322c: MSTORE
0000322d: PUSH1 0x14
0000322f: PUSH1 0x20
00003231: SWAP1
00003232: DUP2
00003233: MSTORE
00003234: PUSH1 0x40
00003236: DUP1
00003237: DUP4
00003238: KECCAK256
00003239: SWAP4
0000323a: DUP11
0000323b: AND
0000323c: DUP4
0000323d: MSTORE
0000323e: SWAP3
0000323f: SWAP1
00003240: MSTORE
00003241: KECCAK256
00003242: SLOAD
00003243: PUSH2 0x324c
00003246: SWAP1
00003247: DUP6
00003248: PUSH2 0x27a7
0000324b: JUMP
0000324c: JUMPDEST
0000324d: PUSH1 0x01
0000324f: PUSH1 0xa0
00003251: PUSH1 0x02
00003253: EXP
00003254: SUB
00003255: DUP1
00003256: DUP11
00003257: AND
00003258: PUSH1 0x00
0000325a: SWAP1
0000325b: DUP2
0000325c: MSTORE
0000325d: PUSH1 0x14
0000325f: PUSH1 0x20
00003261: SWAP1
00003262: DUP2
00003263: MSTORE
00003264: PUSH1 0x40
00003266: DUP1
00003267: DUP4
00003268: KECCAK256
00003269: SWAP4
0000326a: DUP12
0000326b: AND
0000326c: DUP4
0000326d: MSTORE
0000326e: SWAP3
0000326f: SWAP1
00003270: MSTORE
00003271: KECCAK256
00003272: SSTORE
00003273: JUMPDEST
00003274: PUSH1 0x40
00003276: DUP1
00003277: MLOAD
00003278: DUP7
00003279: DUP2
0000327a: MSTORE
0000327b: PUSH1 0x20
0000327d: DUP2
0000327e: ADD
0000327f: DUP7
00003280: SWAP1
00003281: MSTORE
00003282: DUP1
00003283: DUP3
00003284: ADD
00003285: DUP6
00003286: SWAP1
00003287: MSTORE
00003288: SWAP1
00003289: MLOAD
0000328a: PUSH1 0x01
0000328c: PUSH1 0xa0
0000328e: PUSH1 0x02
00003290: EXP
00003291: SUB
00003292: DUP1
00003293: DUP10
00003294: AND
00003295: SWAP3
00003296: DUP11
00003297: DUP3
00003298: AND
00003299: SWAP3
0000329a: SWAP2
0000329b: DUP13
0000329c: AND
0000329d: SWAP2
0000329e: PUSH32 0x4d1c39fd1a9c74f88b9f90c7b439b7e5dc6f26b6ff280fd497fdec5c538aaf52
000032bf: SWAP2
000032c0: DUP2
000032c1: SWAP1
000032c2: SUB
000032c3: PUSH1 0x60
000032c5: ADD
000032c6: SWAP1
000032c7: LOG4
000032c8: POP
000032c9: POP
000032ca: SWAP5
000032cb: POP
000032cc: SWAP5
000032cd: SWAP3
000032ce: POP
000032cf: POP
000032d0: POP
000032d1: JUMP
000032d2: JUMPDEST
000032d3: PUSH1 0x0f
000032d5: PUSH1 0x20
000032d7: SWAP1
000032d8: DUP2
000032d9: MSTORE
000032da: PUSH1 0x00
000032dc: SWAP4
000032dd: DUP5
000032de: MSTORE
000032df: PUSH1 0x40
000032e1: DUP1
000032e2: DUP6
000032e3: KECCAK256
000032e4: DUP3
000032e5: MSTORE
000032e6: SWAP3
000032e7: DUP5
000032e8: MSTORE
000032e9: DUP3
000032ea: DUP5
000032eb: KECCAK256
000032ec: SWAP1
000032ed: MSTORE
000032ee: DUP3
000032ef: MSTORE
000032f0: SWAP1
000032f1: KECCAK256
000032f2: SLOAD
000032f3: DUP2
000032f4: JUMP
000032f5: JUMPDEST
000032f6: PUSH1 0x12
000032f8: PUSH1 0x20
000032fa: SWAP1
000032fb: DUP2
000032fc: MSTORE
000032fd: PUSH1 0x00
000032ff: SWAP3
00003300: DUP4
00003301: MSTORE
00003302: PUSH1 0x40
00003304: DUP1
00003305: DUP5
00003306: KECCAK256
00003307: SWAP1
00003308: SWAP2
00003309: MSTORE
0000330a: SWAP1
0000330b: DUP3
0000330c: MSTORE
0000330d: SWAP1
0000330e: KECCAK256
0000330f: SLOAD
00003310: DUP2
00003311: JUMP
00003312: JUMPDEST
00003313: PUSH1 0x11
00003315: PUSH1 0x20
00003317: SWAP1
00003318: DUP2
00003319: MSTORE
0000331a: PUSH1 0x00
0000331c: SWAP3
0000331d: DUP4
0000331e: MSTORE
0000331f: PUSH1 0x40
00003321: DUP1
00003322: DUP5
00003323: KECCAK256
00003324: SWAP1
00003325: SWAP2
00003326: MSTORE
00003327: SWAP1
00003328: DUP3
00003329: MSTORE
0000332a: SWAP1
0000332b: KECCAK256
0000332c: SLOAD
0000332d: DUP2
0000332e: JUMP
0000332f: JUMPDEST
00003330: PUSH1 0x00
00003332: PUSH2 0x333b
00003335: DUP4
00003336: DUP4
00003337: PUSH2 0x373a
0000333a: JUMP
0000333b: JUMPDEST
0000333c: ISZERO
0000333d: ISZERO
0000333e: PUSH2 0x3346
00003341: JUMPI
00003342: PUSH1 0x00
00003344: DUP1
00003345: REVERT
00003346: JUMPDEST
00003347: POP
00003348: SWAP1
00003349: SUB
0000334a: SWAP1
0000334b: JUMP
0000334c: JUMPDEST
0000334d: PUSH1 0x13
0000334f: PUSH1 0x20
00003351: SWAP1
00003352: DUP2
00003353: MSTORE
00003354: PUSH1 0x00
00003356: SWAP3
00003357: DUP4
00003358: MSTORE
00003359: PUSH1 0x40
0000335b: DUP1
0000335c: DUP5
0000335d: KECCAK256
0000335e: SWAP1
0000335f: SWAP2
00003360: MSTORE
00003361: SWAP1
00003362: DUP3
00003363: MSTORE
00003364: SWAP1
00003365: KECCAK256
00003366: SLOAD
00003367: DUP2
00003368: JUMP
00003369: JUMPDEST
0000336a: PUSH1 0x16
0000336c: PUSH1 0x20
0000336e: SWAP1
0000336f: DUP2
00003370: MSTORE
00003371: PUSH1 0x00
00003373: SWAP5
00003374: DUP6
00003375: MSTORE
00003376: PUSH1 0x40
00003378: DUP1
00003379: DUP7
0000337a: KECCAK256
0000337b: DUP3
0000337c: MSTORE
0000337d: SWAP4
0000337e: DUP6
0000337f: MSTORE
00003380: DUP4
00003381: DUP6
00003382: KECCAK256
00003383: DUP2
00003384: MSTORE
00003385: SWAP2
00003386: DUP5
00003387: MSTORE
00003388: DUP3
00003389: DUP5
0000338a: KECCAK256
0000338b: SWAP1
0000338c: SWAP2
0000338d: MSTORE
0000338e: DUP3
0000338f: MSTORE
00003390: SWAP1
00003391: KECCAK256
00003392: SLOAD
00003393: DUP2
00003394: JUMP
00003395: JUMPDEST
00003396: PUSH1 0x14
00003398: PUSH1 0x20
0000339a: SWAP1
0000339b: DUP2
0000339c: MSTORE
0000339d: PUSH1 0x00
0000339f: SWAP3
000033a0: DUP4
000033a1: MSTORE
000033a2: PUSH1 0x40
000033a4: DUP1
000033a5: DUP5
000033a6: KECCAK256
000033a7: SWAP1
000033a8: SWAP2
000033a9: MSTORE
000033aa: SWAP1
000033ab: DUP3
000033ac: MSTORE
000033ad: SWAP1
000033ae: KECCAK256
000033af: SLOAD
000033b0: DUP2
000033b1: JUMP
000033b2: JUMPDEST
000033b3: PUSH1 0x01
000033b5: SLOAD
000033b6: PUSH1 0x01
000033b8: PUSH1 0xa0
000033ba: PUSH1 0x02
000033bc: EXP
000033bd: SUB
000033be: AND
000033bf: CALLER
000033c0: EQ
000033c1: PUSH2 0x33fe
000033c4: JUMPI
000033c5: PUSH1 0x40
000033c7: MLOAD
000033c8: PUSH1 0xe5
000033ca: PUSH1 0x02
000033cc: EXP
000033cd: PUSH3 0x461bcd
000033d1: MUL
000033d2: DUP2
000033d3: MSTORE
000033d4: PUSH1 0x04
000033d6: ADD
000033d7: DUP1
000033d8: DUP1
000033d9: PUSH1 0x20
000033db: ADD
000033dc: DUP3
000033dd: DUP2
000033de: SUB
000033df: DUP3
000033e0: MSTORE
000033e1: PUSH1 0x2a
000033e3: DUP2
000033e4: MSTORE
000033e5: PUSH1 0x20
000033e7: ADD
000033e8: DUP1
000033e9: PUSH2 0x54a7
000033ec: PUSH1 0x2a
000033ee: SWAP2
000033ef: CODECOPY
000033f0: PUSH1 0x40
000033f2: ADD
000033f3: SWAP2
000033f4: POP
000033f5: POP
000033f6: PUSH1 0x40
000033f8: MLOAD
000033f9: DUP1
000033fa: SWAP2
000033fb: SUB
000033fc: SWAP1
000033fd: REVERT
000033fe: JUMPDEST
000033ff: PUSH1 0x0a
00003401: SSTORE
00003402: JUMP
00003403: JUMPDEST
00003404: PUSH1 0x00
00003406: PUSH2 0x340f
00003409: DUP4
0000340a: DUP4
0000340b: PUSH2 0x341f
0000340e: JUMP
0000340f: JUMPDEST
00003410: ISZERO
00003411: ISZERO
00003412: PUSH2 0x341a
00003415: JUMPI
00003416: PUSH1 0x00
00003418: DUP1
00003419: REVERT
0000341a: JUMPDEST
0000341b: POP
0000341c: MUL
0000341d: SWAP1
0000341e: JUMP
0000341f: JUMPDEST
00003420: PUSH1 0x00
00003422: DUP2
00003423: ISZERO
00003424: DUP1
00003425: PUSH2 0x343a
00003428: JUMPI
00003429: POP
0000342a: DUP3
0000342b: DUP3
0000342c: DUP4
0000342d: DUP6
0000342e: MUL
0000342f: DUP2
00003430: ISZERO
00003431: ISZERO
00003432: PUSH2 0x3437
00003435: JUMPI
00003436: INVALID
00003437: JUMPDEST
00003438: DIV
00003439: EQ
0000343a: JUMPDEST
0000343b: SWAP4
0000343c: SWAP3
0000343d: POP
0000343e: POP
0000343f: POP
00003440: JUMP
00003441: JUMPDEST
00003442: PUSH1 0x06
00003444: SLOAD
00003445: PUSH1 0x01
00003447: PUSH1 0xa0
00003449: PUSH1 0x02
0000344b: EXP
0000344c: SUB
0000344d: AND
0000344e: DUP2
0000344f: JUMP
00003450: JUMPDEST
00003451: PUSH1 0x0c
00003453: SLOAD
00003454: PUSH1 0x01
00003456: PUSH1 0xa0
00003458: PUSH1 0x02
0000345a: EXP
0000345b: SUB
0000345c: AND
0000345d: DUP2
0000345e: JUMP
0000345f: JUMPDEST
00003460: PUSH1 0x60
00003462: DUP1
00003463: PUSH1 0x00
00003465: PUSH2 0x3502
00003468: DUP11
00003469: DUP11
0000346a: DUP1
0000346b: DUP1
0000346c: PUSH1 0x20
0000346e: MUL
0000346f: PUSH1 0x20
00003471: ADD
00003472: PUSH1 0x40
00003474: MLOAD
00003475: SWAP1
00003476: DUP2
00003477: ADD
00003478: PUSH1 0x40
0000347a: MSTORE
0000347b: DUP1
0000347c: SWAP4
0000347d: SWAP3
0000347e: SWAP2
0000347f: SWAP1
00003480: DUP2
00003481: DUP2
00003482: MSTORE
00003483: PUSH1 0x20
00003485: ADD
00003486: DUP4
00003487: DUP4
00003488: PUSH1 0x20
0000348a: MUL
0000348b: DUP1
0000348c: DUP3
0000348d: DUP5
0000348e: CALLDATACOPY
0000348f: PUSH1 0x00
00003491: SWAP3
00003492: ADD
00003493: SWAP2
00003494: SWAP1
00003495: SWAP2
00003496: MSTORE
00003497: POP
00003498: POP
00003499: PUSH1 0x40
0000349b: DUP1
0000349c: MLOAD
0000349d: PUSH1 0x20
0000349f: DUP1
000034a0: DUP15
000034a1: MUL
000034a2: DUP3
000034a3: DUP2
000034a4: ADD
000034a5: DUP3
000034a6: ADD
000034a7: SWAP1
000034a8: SWAP4
000034a9: MSTORE
000034aa: DUP14
000034ab: DUP3
000034ac: MSTORE
000034ad: SWAP1
000034ae: SWAP4
000034af: POP
000034b0: DUP14
000034b1: SWAP3
000034b2: POP
000034b3: DUP13
000034b4: SWAP2
000034b5: DUP3
000034b6: SWAP2
000034b7: DUP6
000034b8: ADD
000034b9: SWAP1
000034ba: DUP5
000034bb: SWAP1
000034bc: DUP1
000034bd: DUP3
000034be: DUP5
000034bf: CALLDATACOPY
000034c0: PUSH1 0x00
000034c2: SWAP3
000034c3: ADD
000034c4: SWAP2
000034c5: SWAP1
000034c6: SWAP2
000034c7: MSTORE
000034c8: POP
000034c9: POP
000034ca: PUSH1 0x40
000034cc: DUP1
000034cd: MLOAD
000034ce: PUSH1 0x20
000034d0: DUP1
000034d1: DUP14
000034d2: MUL
000034d3: DUP3
000034d4: DUP2
000034d5: ADD
000034d6: DUP3
000034d7: ADD
000034d8: SWAP1
000034d9: SWAP4
000034da: MSTORE
000034db: DUP13
000034dc: DUP3
000034dd: MSTORE
000034de: SWAP1
000034df: SWAP4
000034e0: POP
000034e1: DUP13
000034e2: SWAP3
000034e3: POP
000034e4: DUP12
000034e5: SWAP2
000034e6: DUP3
000034e7: SWAP2
000034e8: DUP6
000034e9: ADD
000034ea: SWAP1
000034eb: DUP5
000034ec: SWAP1
000034ed: DUP1
000034ee: DUP3
000034ef: DUP5
000034f0: CALLDATACOPY
000034f1: PUSH1 0x00
000034f3: SWAP3
000034f4: ADD
000034f5: SWAP2
000034f6: SWAP1
000034f7: SWAP2
000034f8: MSTORE
000034f9: POP
000034fa: PUSH2 0x432e
000034fd: SWAP3
000034fe: POP
000034ff: POP
00003500: POP
00003501: JUMP
00003502: JUMPDEST
00003503: SWAP1
00003504: POP
00003505: PUSH1 0x60
00003507: DUP2
00003508: PUSH1 0x40
0000350a: MLOAD
0000350b: SWAP1
0000350c: DUP1
0000350d: DUP3
0000350e: MSTORE
0000350f: DUP1
00003510: PUSH1 0x20
00003512: MUL
00003513: PUSH1 0x20
00003515: ADD
00003516: DUP3
00003517: ADD
00003518: PUSH1 0x40
0000351a: MSTORE
0000351b: DUP1
0000351c: ISZERO
0000351d: PUSH2 0x3530
00003520: JUMPI
00003521: DUP2
00003522: PUSH1 0x20
00003524: ADD
00003525: PUSH1 0x20
00003527: DUP3
00003528: MUL
00003529: DUP1
0000352a: CODESIZE
0000352b: DUP4
0000352c: CODECOPY
0000352d: ADD
0000352e: SWAP1
0000352f: POP
00003530: JUMPDEST
00003531: POP
00003532: SWAP1
00003533: POP
00003534: PUSH1 0x60
00003536: DUP3
00003537: PUSH1 0x40
00003539: MLOAD
0000353a: SWAP1
0000353b: DUP1
0000353c: DUP3
0000353d: MSTORE
0000353e: DUP1
0000353f: PUSH1 0x20
00003541: MUL
00003542: PUSH1 0x20
00003544: ADD
00003545: DUP3
00003546: ADD
00003547: PUSH1 0x40
00003549: MSTORE
0000354a: DUP1
0000354b: ISZERO
0000354c: PUSH2 0x355f
0000354f: JUMPI
00003550: DUP2
00003551: PUSH1 0x20
00003553: ADD
00003554: PUSH1 0x20
00003556: DUP3
00003557: MUL
00003558: DUP1
00003559: CODESIZE
0000355a: DUP4
0000355b: CODECOPY
0000355c: ADD
0000355d: SWAP1
0000355e: POP
0000355f: JUMPDEST
00003560: POP
00003561: SWAP1
00003562: POP
00003563: PUSH1 0x00
00003565: JUMPDEST
00003566: DUP4
00003567: DUP2
00003568: LT
00003569: ISZERO
0000356a: PUSH2 0x2964
0000356d: JUMPI
0000356e: PUSH2 0x35b9
00003571: DUP14
00003572: DUP14
00003573: DUP4
00003574: DUP2
00003575: DUP2
00003576: LT
00003577: PUSH2 0x357c
0000357a: JUMPI
0000357b: INVALID
0000357c: JUMPDEST
0000357d: SWAP1
0000357e: POP
0000357f: PUSH1 0x20
00003581: MUL
00003582: ADD
00003583: CALLDATALOAD
00003584: PUSH1 0x01
00003586: PUSH1 0xa0
00003588: PUSH1 0x02
0000358a: EXP
0000358b: SUB
0000358c: AND
0000358d: DUP13
0000358e: DUP13
0000358f: DUP5
00003590: DUP2
00003591: DUP2
00003592: LT
00003593: ISZERO
00003594: ISZERO
00003595: PUSH2 0x359a
00003598: JUMPI
00003599: INVALID
0000359a: JUMPDEST
0000359b: SWAP1
0000359c: POP
0000359d: PUSH1 0x20
0000359f: MUL
000035a0: ADD
000035a1: CALLDATALOAD
000035a2: PUSH1 0x01
000035a4: PUSH1 0xa0
000035a6: PUSH1 0x02
000035a8: EXP
000035a9: SUB
000035aa: AND
000035ab: DUP10
000035ac: DUP13
000035ad: DUP13
000035ae: DUP7
000035af: DUP2
000035b0: DUP2
000035b1: LT
000035b2: ISZERO
000035b3: ISZERO
000035b4: PUSH2 0x16ac
000035b7: JUMPI
000035b8: INVALID
000035b9: JUMPDEST
000035ba: DUP5
000035bb: DUP4
000035bc: DUP2
000035bd: MLOAD
000035be: DUP2
000035bf: LT
000035c0: ISZERO
000035c1: ISZERO
000035c2: PUSH2 0x35c7
000035c5: JUMPI
000035c6: INVALID
000035c7: JUMPDEST
000035c8: SWAP1
000035c9: PUSH1 0x20
000035cb: ADD
000035cc: SWAP1
000035cd: PUSH1 0x20
000035cf: MUL
000035d0: ADD
000035d1: DUP5
000035d2: DUP5
000035d3: DUP2
000035d4: MLOAD
000035d5: DUP2
000035d6: LT
000035d7: ISZERO
000035d8: ISZERO
000035d9: PUSH2 0x35de
000035dc: JUMPI
000035dd: INVALID
000035de: JUMPDEST
000035df: PUSH1 0x20
000035e1: SWAP1
000035e2: DUP2
000035e3: MUL
000035e4: SWAP1
000035e5: SWAP2
000035e6: ADD
000035e7: ADD
000035e8: SWAP2
000035e9: SWAP1
000035ea: SWAP2
000035eb: MSTORE
000035ec: MSTORE
000035ed: PUSH1 0x01
000035ef: ADD
000035f0: PUSH2 0x3565
000035f3: JUMP
000035f4: JUMPDEST
000035f5: PUSH1 0x00
000035f7: PUSH2 0x3600
000035fa: DUP4
000035fb: DUP4
000035fc: PUSH2 0x145f
000035ff: JUMP
00003600: JUMPDEST
00003601: PUSH1 0x01
00003603: PUSH1 0xa0
00003605: PUSH1 0x02
00003607: EXP
00003608: SUB
00003609: SWAP2
0000360a: DUP3
0000360b: AND
0000360c: PUSH1 0x00
0000360e: SWAP1
0000360f: DUP2
00003610: MSTORE
00003611: PUSH1 0x0e
00003613: PUSH1 0x20
00003615: SWAP1
00003616: DUP2
00003617: MSTORE
00003618: PUSH1 0x40
0000361a: DUP1
0000361b: DUP4
0000361c: KECCAK256
0000361d: SWAP4
0000361e: SWAP1
0000361f: SWAP5
00003620: AND
00003621: DUP3
00003622: MSTORE
00003623: SWAP2
00003624: SWAP1
00003625: SWAP2
00003626: MSTORE
00003627: KECCAK256
00003628: SLOAD
00003629: SWAP4
0000362a: SWAP3
0000362b: POP
0000362c: POP
0000362d: POP
0000362e: JUMP
0000362f: JUMPDEST
00003630: PUSH1 0x00
00003632: DUP1
00003633: PUSH1 0x00
00003635: PUSH2 0x363e
00003638: DUP8
00003639: DUP8
0000363a: PUSH2 0x1752
0000363d: JUMP
0000363e: JUMPDEST
0000363f: DUP5
00003640: GT
00003641: ISZERO
00003642: PUSH2 0x364a
00003645: JUMPI
00003646: PUSH1 0x00
00003648: DUP1
00003649: REVERT
0000364a: JUMPDEST
0000364b: PUSH2 0x3655
0000364e: DUP8
0000364f: DUP8
00003650: DUP7
00003651: PUSH2 0x41a1
00003654: JUMP
00003655: JUMPDEST
00003656: SWAP1
00003657: SWAP3
00003658: POP
00003659: SWAP1
0000365a: POP
0000365b: DUP2
0000365c: ISZERO
0000365d: ISZERO
0000365e: PUSH2 0x366a
00003661: JUMPI
00003662: PUSH1 0x00
00003664: SWAP3
00003665: POP
00003666: PUSH2 0x36df
00003669: JUMP
0000366a: JUMPDEST
0000366b: PUSH1 0x01
0000366d: PUSH1 0xa0
0000366f: PUSH1 0x02
00003671: EXP
00003672: SUB
00003673: DUP1
00003674: DUP9
00003675: AND
00003676: PUSH1 0x00
00003678: DUP2
00003679: DUP2
0000367a: MSTORE
0000367b: PUSH1 0x17
0000367d: PUSH1 0x20
0000367f: SWAP1
00003680: DUP2
00003681: MSTORE
00003682: PUSH1 0x40
00003684: DUP1
00003685: DUP4
00003686: KECCAK256
00003687: DUP12
00003688: DUP7
00003689: AND
0000368a: DUP1
0000368b: DUP6
0000368c: MSTORE
0000368d: SWAP1
0000368e: DUP4
0000368f: MSTORE
00003690: DUP2
00003691: DUP5
00003692: KECCAK256
00003693: DUP11
00003694: DUP6
00003695: MSTORE
00003696: DUP4
00003697: MSTORE
00003698: DUP2
00003699: DUP5
0000369a: KECCAK256
0000369b: SWAP6
0000369c: DUP12
0000369d: AND
0000369e: DUP1
0000369f: DUP6
000036a0: MSTORE
000036a1: SWAP6
000036a2: DUP4
000036a3: MSTORE
000036a4: DUP2
000036a5: DUP5
000036a6: KECCAK256
000036a7: SLOAD
000036a8: SWAP5
000036a9: DUP5
000036aa: MSTORE
000036ab: PUSH1 0x18
000036ad: DUP4
000036ae: MSTORE
000036af: DUP2
000036b0: DUP5
000036b1: KECCAK256
000036b2: SWAP1
000036b3: DUP5
000036b4: MSTORE
000036b5: DUP3
000036b6: MSTORE
000036b7: DUP1
000036b8: DUP4
000036b9: KECCAK256
000036ba: DUP10
000036bb: DUP5
000036bc: MSTORE
000036bd: DUP3
000036be: MSTORE
000036bf: DUP1
000036c0: DUP4
000036c1: KECCAK256
000036c2: SWAP5
000036c3: DUP4
000036c4: MSTORE
000036c5: SWAP4
000036c6: SWAP1
000036c7: MSTORE
000036c8: SWAP2
000036c9: SWAP1
000036ca: SWAP2
000036cb: KECCAK256
000036cc: SLOAD
000036cd: PUSH2 0x36db
000036d0: SWAP1
000036d1: DUP5
000036d2: PUSH2 0x212a
000036d5: DUP5
000036d6: DUP7
000036d7: PUSH2 0x3403
000036da: JUMP
000036db: JUMPDEST
000036dc: SWAP4
000036dd: POP
000036de: POP
000036df: JUMPDEST
000036e0: SWAP5
000036e1: POP
000036e2: SWAP5
000036e3: POP
000036e4: SWAP5
000036e5: SWAP2
000036e6: POP
000036e7: POP
000036e8: JUMP
000036e9: JUMPDEST
000036ea: PUSH1 0x01
000036ec: SLOAD
000036ed: PUSH1 0x01
000036ef: PUSH1 0xa0
000036f1: PUSH1 0x02
000036f3: EXP
000036f4: SUB
000036f5: AND
000036f6: CALLER
000036f7: EQ
000036f8: PUSH2 0x3735
000036fb: JUMPI
000036fc: PUSH1 0x40
000036fe: MLOAD
000036ff: PUSH1 0xe5
00003701: PUSH1 0x02
00003703: EXP
00003704: PUSH3 0x461bcd
00003708: MUL
00003709: DUP2
0000370a: MSTORE
0000370b: PUSH1 0x04
0000370d: ADD
0000370e: DUP1
0000370f: DUP1
00003710: PUSH1 0x20
00003712: ADD
00003713: DUP3
00003714: DUP2
00003715: SUB
00003716: DUP3
00003717: MSTORE
00003718: PUSH1 0x2a
0000371a: DUP2
0000371b: MSTORE
0000371c: PUSH1 0x20
0000371e: ADD
0000371f: DUP1
00003720: PUSH2 0x54a7
00003723: PUSH1 0x2a
00003725: SWAP2
00003726: CODECOPY
00003727: PUSH1 0x40
00003729: ADD
0000372a: SWAP2
0000372b: POP
0000372c: POP
0000372d: PUSH1 0x40
0000372f: MLOAD
00003730: DUP1
00003731: SWAP2
00003732: SUB
00003733: SWAP1
00003734: REVERT
00003735: JUMPDEST
00003736: PUSH1 0x09
00003738: SSTORE
00003739: JUMP
0000373a: JUMPDEST
0000373b: GT
0000373c: ISZERO
0000373d: SWAP1
0000373e: JUMP
0000373f: JUMPDEST
00003740: PUSH1 0x01
00003742: PUSH1 0xa0
00003744: PUSH1 0x02
00003746: EXP
00003747: SUB
00003748: DUP7
00003749: DUP2
0000374a: AND
0000374b: SWAP1
0000374c: DUP7
0000374d: AND
0000374e: EQ
0000374f: ISZERO
00003750: PUSH2 0x378d
00003753: JUMPI
00003754: PUSH1 0x40
00003756: MLOAD
00003757: PUSH1 0xe5
00003759: PUSH1 0x02
0000375b: EXP
0000375c: PUSH3 0x461bcd
00003760: MUL
00003761: DUP2
00003762: MSTORE
00003763: PUSH1 0x04
00003765: ADD
00003766: DUP1
00003767: DUP1
00003768: PUSH1 0x20
0000376a: ADD
0000376b: DUP3
0000376c: DUP2
0000376d: SUB
0000376e: DUP3
0000376f: MSTORE
00003770: PUSH1 0x30
00003772: DUP2
00003773: MSTORE
00003774: PUSH1 0x20
00003776: ADD
00003777: DUP1
00003778: PUSH2 0x5528
0000377b: PUSH1 0x30
0000377d: SWAP2
0000377e: CODECOPY
0000377f: PUSH1 0x40
00003781: ADD
00003782: SWAP2
00003783: POP
00003784: POP
00003785: PUSH1 0x40
00003787: MLOAD
00003788: DUP1
00003789: SWAP2
0000378a: SUB
0000378b: SWAP1
0000378c: REVERT
0000378d: JUMPDEST
0000378e: DUP2
0000378f: ISZERO
00003790: ISZERO
00003791: PUSH2 0x37ce
00003794: JUMPI
00003795: PUSH1 0x40
00003797: MLOAD
00003798: PUSH1 0xe5
0000379a: PUSH1 0x02
0000379c: EXP
0000379d: PUSH3 0x461bcd
000037a1: MUL
000037a2: DUP2
000037a3: MSTORE
000037a4: PUSH1 0x04
000037a6: ADD
000037a7: DUP1
000037a8: DUP1
000037a9: PUSH1 0x20
000037ab: ADD
000037ac: DUP3
000037ad: DUP2
000037ae: SUB
000037af: DUP3
000037b0: MSTORE
000037b1: PUSH1 0x30
000037b3: DUP2
000037b4: MSTORE
000037b5: PUSH1 0x20
000037b7: ADD
000037b8: DUP1
000037b9: PUSH2 0x566f
000037bc: PUSH1 0x30
000037be: SWAP2
000037bf: CODECOPY
000037c0: PUSH1 0x40
000037c2: ADD
000037c3: SWAP2
000037c4: POP
000037c5: POP
000037c6: PUSH1 0x40
000037c8: MLOAD
000037c9: DUP1
000037ca: SWAP2
000037cb: SUB
000037cc: SWAP1
000037cd: REVERT
000037ce: JUMPDEST
000037cf: DUP1
000037d0: ISZERO
000037d1: ISZERO
000037d2: PUSH2 0x380f
000037d5: JUMPI
000037d6: PUSH1 0x40
000037d8: MLOAD
000037d9: PUSH1 0xe5
000037db: PUSH1 0x02
000037dd: EXP
000037de: PUSH3 0x461bcd
000037e2: MUL
000037e3: DUP2
000037e4: MSTORE
000037e5: PUSH1 0x04
000037e7: ADD
000037e8: DUP1
000037e9: DUP1
000037ea: PUSH1 0x20
000037ec: ADD
000037ed: DUP3
000037ee: DUP2
000037ef: SUB
000037f0: DUP3
000037f1: MSTORE
000037f2: PUSH1 0x32
000037f4: DUP2
000037f5: MSTORE
000037f6: PUSH1 0x20
000037f8: ADD
000037f9: DUP1
000037fa: PUSH2 0x5375
000037fd: PUSH1 0x32
000037ff: SWAP2
00003800: CODECOPY
00003801: PUSH1 0x40
00003803: ADD
00003804: SWAP2
00003805: POP
00003806: POP
00003807: PUSH1 0x40
00003809: MLOAD
0000380a: DUP1
0000380b: SWAP2
0000380c: SUB
0000380d: SWAP1
0000380e: REVERT
0000380f: JUMPDEST
00003810: PUSH2 0x3819
00003813: DUP7
00003814: DUP7
00003815: PUSH2 0x1752
00003818: JUMP
00003819: JUMPDEST
0000381a: ISZERO
0000381b: PUSH2 0x386e
0000381e: JUMPI
0000381f: PUSH1 0x40
00003821: DUP1
00003822: MLOAD
00003823: PUSH1 0xe5
00003825: PUSH1 0x02
00003827: EXP
00003828: PUSH3 0x461bcd
0000382c: MUL
0000382d: DUP2
0000382e: MSTORE
0000382f: PUSH1 0x20
00003831: PUSH1 0x04
00003833: DUP3
00003834: ADD
00003835: DUP2
00003836: SWAP1
00003837: MSTORE
00003838: PUSH1 0x24
0000383a: DUP3
0000383b: ADD
0000383c: MSTORE
0000383d: PUSH32 0x54686520746f6b656e20706169722077617320616c7265616479206164646564
0000385e: PUSH1 0x44
00003860: DUP3
00003861: ADD
00003862: MSTORE
00003863: SWAP1
00003864: MLOAD
00003865: SWAP1
00003866: DUP2
00003867: SWAP1
00003868: SUB
00003869: PUSH1 0x64
0000386b: ADD
0000386c: SWAP1
0000386d: REVERT
0000386e: JUMPDEST
0000386f: PUSH8 0x0de0b6b3a7640000
00003878: DUP3
00003879: LT
0000387a: PUSH2 0x38b7
0000387d: JUMPI
0000387e: PUSH1 0x40
00003880: MLOAD
00003881: PUSH1 0xe5
00003883: PUSH1 0x02
00003885: EXP
00003886: PUSH3 0x461bcd
0000388a: MUL
0000388b: DUP2
0000388c: MSTORE
0000388d: PUSH1 0x04
0000388f: ADD
00003890: DUP1
00003891: DUP1
00003892: PUSH1 0x20
00003894: ADD
00003895: DUP3
00003896: DUP2
00003897: SUB
00003898: DUP3
00003899: MSTORE
0000389a: PUSH1 0x36
0000389c: DUP2
0000389d: MSTORE
0000389e: PUSH1 0x20
000038a0: ADD
000038a1: DUP1
000038a2: PUSH2 0x533f
000038a5: PUSH1 0x36
000038a7: SWAP2
000038a8: CODECOPY
000038a9: PUSH1 0x40
000038ab: ADD
000038ac: SWAP2
000038ad: POP
000038ae: POP
000038af: PUSH1 0x40
000038b1: MLOAD
000038b2: DUP1
000038b3: SWAP2
000038b4: SUB
000038b5: SWAP1
000038b6: REVERT
000038b7: JUMPDEST
000038b8: PUSH8 0x0de0b6b3a7640000
000038c1: DUP2
000038c2: LT
000038c3: PUSH2 0x3900
000038c6: JUMPI
000038c7: PUSH1 0x40
000038c9: MLOAD
000038ca: PUSH1 0xe5
000038cc: PUSH1 0x02
000038ce: EXP
000038cf: PUSH3 0x461bcd
000038d3: MUL
000038d4: DUP2
000038d5: MSTORE
000038d6: PUSH1 0x04
000038d8: ADD
000038d9: DUP1
000038da: DUP1
000038db: PUSH1 0x20
000038dd: ADD
000038de: DUP3
000038df: DUP2
000038e0: SUB
000038e1: DUP3
000038e2: MSTORE
000038e3: PUSH1 0x38
000038e5: DUP2
000038e6: MSTORE
000038e7: PUSH1 0x20
000038e9: ADD
000038ea: DUP1
000038eb: PUSH2 0x5637
000038ee: PUSH1 0x38
000038f0: SWAP2
000038f1: CODECOPY
000038f2: PUSH1 0x40
000038f4: ADD
000038f5: SWAP2
000038f6: POP
000038f7: POP
000038f8: PUSH1 0x40
000038fa: MLOAD
000038fb: DUP1
000038fc: SWAP2
000038fd: SUB
000038fe: SWAP1
000038ff: REVERT
00003900: JUMPDEST
00003901: PUSH2 0x390a
00003904: DUP7
00003905: DUP7
00003906: PUSH2 0x4aab
00003909: JUMP
0000390a: JUMPDEST
0000390b: PUSH1 0x01
0000390d: PUSH1 0xa0
0000390f: PUSH1 0x02
00003911: EXP
00003912: SUB
00003913: DUP7
00003914: AND
00003915: PUSH1 0x00
00003917: SWAP1
00003918: DUP2
00003919: MSTORE
0000391a: PUSH1 0x14
0000391c: PUSH1 0x20
0000391e: SWAP1
0000391f: DUP2
00003920: MSTORE
00003921: PUSH1 0x40
00003923: DUP1
00003924: DUP4
00003925: KECCAK256
00003926: CALLER
00003927: DUP5
00003928: MSTORE
00003929: SWAP1
0000392a: SWAP2
0000392b: MSTORE
0000392c: SWAP1
0000392d: KECCAK256
0000392e: SLOAD
0000392f: PUSH2 0x3939
00003932: SWAP1
00003933: DUP6
00003934: SWAP1
00003935: PUSH2 0x2a3b
00003938: JUMP
00003939: JUMPDEST
0000393a: PUSH1 0x01
0000393c: PUSH1 0xa0
0000393e: PUSH1 0x02
00003940: EXP
00003941: SUB
00003942: DUP7
00003943: AND
00003944: PUSH1 0x00
00003946: SWAP1
00003947: DUP2
00003948: MSTORE
00003949: PUSH1 0x14
0000394b: PUSH1 0x20
0000394d: SWAP1
0000394e: DUP2
0000394f: MSTORE
00003950: PUSH1 0x40
00003952: DUP1
00003953: DUP4
00003954: KECCAK256
00003955: CALLER
00003956: DUP5
00003957: MSTORE
00003958: SWAP1
00003959: SWAP2
0000395a: MSTORE
0000395b: SWAP1
0000395c: KECCAK256
0000395d: SLOAD
0000395e: SWAP1
0000395f: SWAP5
00003960: POP
00003961: PUSH2 0x396b
00003964: SWAP1
00003965: DUP5
00003966: SWAP1
00003967: PUSH2 0x2a3b
0000396a: JUMP
0000396b: JUMPDEST
0000396c: SWAP3
0000396d: POP
0000396e: PUSH13 0x0c9f2c9cd04674edea40000000
0000397c: DUP5
0000397d: LT
0000397e: PUSH2 0x39bb
00003981: JUMPI
00003982: PUSH1 0x40
00003984: MLOAD
00003985: PUSH1 0xe5
00003987: PUSH1 0x02
00003989: EXP
0000398a: PUSH3 0x461bcd
0000398e: MUL
0000398f: DUP2
00003990: MSTORE
00003991: PUSH1 0x04
00003993: ADD
00003994: DUP1
00003995: DUP1
00003996: PUSH1 0x20
00003998: ADD
00003999: DUP3
0000399a: DUP2
0000399b: SUB
0000399c: DUP3
0000399d: MSTORE
0000399e: PUSH1 0x2c
000039a0: DUP2
000039a1: MSTORE
000039a2: PUSH1 0x20
000039a4: ADD
000039a5: DUP1
000039a6: PUSH2 0x569f
000039a9: PUSH1 0x2c
000039ab: SWAP2
000039ac: CODECOPY
000039ad: PUSH1 0x40
000039af: ADD
000039b0: SWAP2
000039b1: POP
000039b2: POP
000039b3: PUSH1 0x40
000039b5: MLOAD
000039b6: DUP1
000039b7: SWAP2
000039b8: SUB
000039b9: SWAP1
000039ba: REVERT
000039bb: JUMPDEST
000039bc: PUSH13 0x0c9f2c9cd04674edea40000000
000039ca: DUP4
000039cb: LT
000039cc: PUSH2 0x3a09
000039cf: JUMPI
000039d0: PUSH1 0x40
000039d2: MLOAD
000039d3: PUSH1 0xe5
000039d5: PUSH1 0x02
000039d7: EXP
000039d8: PUSH3 0x461bcd
000039dc: MUL
000039dd: DUP2
000039de: MSTORE
000039df: PUSH1 0x04
000039e1: ADD
000039e2: DUP1
000039e3: DUP1
000039e4: PUSH1 0x20
000039e6: ADD
000039e7: DUP3
000039e8: DUP2
000039e9: SUB
000039ea: DUP3
000039eb: MSTORE
000039ec: PUSH1 0x2c
000039ee: DUP2
000039ef: MSTORE
000039f0: PUSH1 0x20
000039f2: ADD
000039f3: DUP1
000039f4: PUSH2 0x54d1
000039f7: PUSH1 0x2c
000039f9: SWAP2
000039fa: CODECOPY
000039fb: PUSH1 0x40
000039fd: ADD
000039fe: SWAP2
000039ff: POP
00003a00: POP
00003a01: PUSH1 0x40
00003a03: MLOAD
00003a04: DUP1
00003a05: SWAP2
00003a06: SUB
00003a07: SWAP1
00003a08: REVERT
00003a09: JUMPDEST
00003a0a: PUSH1 0x00
00003a0c: DUP1
00003a0d: PUSH1 0x05
00003a0f: PUSH1 0x00
00003a11: SWAP1
00003a12: SLOAD
00003a13: SWAP1
00003a14: PUSH2 0x0100
00003a17: EXP
00003a18: SWAP1
00003a19: DIV
00003a1a: PUSH1 0x01
00003a1c: PUSH1 0xa0
00003a1e: PUSH1 0x02
00003a20: EXP
00003a21: SUB
00003a22: AND
00003a23: PUSH1 0x01
00003a25: PUSH1 0xa0
00003a27: PUSH1 0x02
00003a29: EXP
00003a2a: SUB
00003a2b: AND
00003a2c: PUSH4 0xa3ca17b2
00003a31: PUSH1 0x40
00003a33: MLOAD
00003a34: DUP2
00003a35: PUSH4 0xffffffff
00003a3a: AND
00003a3b: PUSH1 0xe0
00003a3d: PUSH1 0x02
00003a3f: EXP
00003a40: MUL
00003a41: DUP2
00003a42: MSTORE
00003a43: PUSH1 0x04
00003a45: ADD
00003a46: PUSH1 0x20
00003a48: PUSH1 0x40
00003a4a: MLOAD
00003a4b: DUP1
00003a4c: DUP4
00003a4d: SUB
00003a4e: DUP2
00003a4f: DUP7
00003a50: DUP1
00003a51: EXTCODESIZE
00003a52: ISZERO
00003a53: DUP1
00003a54: ISZERO
00003a55: PUSH2 0x3a5d
00003a58: JUMPI
00003a59: PUSH1 0x00
00003a5b: DUP1
00003a5c: REVERT
00003a5d: JUMPDEST
00003a5e: POP
00003a5f: GAS
00003a60: STATICCALL
00003a61: ISZERO
00003a62: DUP1
00003a63: ISZERO
00003a64: PUSH2 0x3a71
00003a67: JUMPI
00003a68: RETURNDATASIZE
00003a69: PUSH1 0x00
00003a6b: DUP1
00003a6c: RETURNDATACOPY
00003a6d: RETURNDATASIZE
00003a6e: PUSH1 0x00
00003a70: REVERT
00003a71: JUMPDEST
00003a72: POP
00003a73: POP
00003a74: POP
00003a75: POP
00003a76: PUSH1 0x40
00003a78: MLOAD
00003a79: RETURNDATASIZE
00003a7a: PUSH1 0x20
00003a7c: DUP2
00003a7d: LT
00003a7e: ISZERO
00003a7f: PUSH2 0x3a87
00003a82: JUMPI
00003a83: PUSH1 0x00
00003a85: DUP1
00003a86: REVERT
00003a87: JUMPDEST
00003a88: POP
00003a89: MLOAD
00003a8a: PUSH1 0x08
00003a8c: SLOAD
00003a8d: SWAP1
00003a8e: SWAP2
00003a8f: POP
00003a90: PUSH1 0x01
00003a92: PUSH1 0xa0
00003a94: PUSH1 0x02
00003a96: EXP
00003a97: SUB
00003a98: SWAP1
00003a99: DUP2
00003a9a: AND
00003a9b: SWAP1
00003a9c: DUP10
00003a9d: AND
00003a9e: DUP2
00003a9f: EQ
00003aa0: ISZERO
00003aa1: PUSH2 0x3ab5
00003aa4: JUMPI
00003aa5: PUSH2 0x3aae
00003aa8: DUP8
00003aa9: DUP4
00003aaa: PUSH2 0x3403
00003aad: JUMP
00003aae: JUMPDEST
00003aaf: SWAP3
00003ab0: POP
00003ab1: PUSH2 0x3aea
00003ab4: JUMP
00003ab5: JUMPDEST
00003ab6: DUP1
00003ab7: PUSH1 0x01
00003ab9: PUSH1 0xa0
00003abb: PUSH1 0x02
00003abd: EXP
00003abe: SUB
00003abf: AND
00003ac0: DUP9
00003ac1: PUSH1 0x01
00003ac3: PUSH1 0xa0
00003ac5: PUSH1 0x02
00003ac7: EXP
00003ac8: SUB
00003ac9: AND
00003aca: EQ
00003acb: ISZERO
00003acc: PUSH2 0x3ad9
00003acf: JUMPI
00003ad0: PUSH2 0x3aae
00003ad3: DUP7
00003ad4: DUP4
00003ad5: PUSH2 0x3403
00003ad8: JUMP
00003ad9: JUMPDEST
00003ada: PUSH2 0x3ae7
00003add: DUP10
00003ade: DUP10
00003adf: DUP10
00003ae0: DUP10
00003ae1: DUP6
00003ae2: DUP8
00003ae3: PUSH2 0x4ae7
00003ae6: JUMP
00003ae7: JUMPDEST
00003ae8: SWAP3
00003ae9: POP
00003aea: JUMPDEST
00003aeb: PUSH1 0x09
00003aed: SLOAD
00003aee: DUP4
00003aef: LT
00003af0: ISZERO
00003af1: PUSH2 0x3b2e
00003af4: JUMPI
00003af5: PUSH1 0x40
00003af7: MLOAD
00003af8: PUSH1 0xe5
00003afa: PUSH1 0x02
00003afc: EXP
00003afd: PUSH3 0x461bcd
00003b01: MUL
00003b02: DUP2
00003b03: MSTORE
00003b04: PUSH1 0x04
00003b06: ADD
00003b07: DUP1
00003b08: DUP1
00003b09: PUSH1 0x20
00003b0b: ADD
00003b0c: DUP3
00003b0d: DUP2
00003b0e: SUB
00003b0f: DUP3
00003b10: MSTORE
00003b11: PUSH1 0x37
00003b13: DUP2
00003b14: MSTORE
00003b15: PUSH1 0x20
00003b17: ADD
00003b18: DUP1
00003b19: PUSH2 0x53ea
00003b1c: PUSH1 0x37
00003b1e: SWAP2
00003b1f: CODECOPY
00003b20: PUSH1 0x40
00003b22: ADD
00003b23: SWAP2
00003b24: POP
00003b25: POP
00003b26: PUSH1 0x40
00003b28: MLOAD
00003b29: DUP1
00003b2a: SWAP2
00003b2b: SUB
00003b2c: SWAP1
00003b2d: REVERT
00003b2e: JUMPDEST
00003b2f: PUSH1 0x40
00003b31: DUP1
00003b32: MLOAD
00003b33: SWAP1
00003b34: DUP2
00003b35: ADD
00003b36: PUSH1 0x40
00003b38: MSTORE
00003b39: DUP1
00003b3a: DUP7
00003b3b: DUP2
00003b3c: MSTORE
00003b3d: PUSH1 0x20
00003b3f: ADD
00003b40: DUP6
00003b41: DUP2
00003b42: MSTORE
00003b43: POP
00003b44: PUSH1 0x10
00003b46: PUSH1 0x00
00003b48: DUP12
00003b49: PUSH1 0x01
00003b4b: PUSH1 0xa0
00003b4d: PUSH1 0x02
00003b4f: EXP
00003b50: SUB
00003b51: AND
00003b52: PUSH1 0x01
00003b54: PUSH1 0xa0
00003b56: PUSH1 0x02
00003b58: EXP
00003b59: SUB
00003b5a: AND
00003b5b: DUP2
00003b5c: MSTORE
00003b5d: PUSH1 0x20
00003b5f: ADD
00003b60: SWAP1
00003b61: DUP2
00003b62: MSTORE
00003b63: PUSH1 0x20
00003b65: ADD
00003b66: PUSH1 0x00
00003b68: KECCAK256
00003b69: PUSH1 0x00
00003b6b: DUP11
00003b6c: PUSH1 0x01
00003b6e: PUSH1 0xa0
00003b70: PUSH1 0x02
00003b72: EXP
00003b73: SUB
00003b74: AND
00003b75: PUSH1 0x01
00003b77: PUSH1 0xa0
00003b79: PUSH1 0x02
00003b7b: EXP
00003b7c: SUB
00003b7d: AND
00003b7e: DUP2
00003b7f: MSTORE
00003b80: PUSH1 0x20
00003b82: ADD
00003b83: SWAP1
00003b84: DUP2
00003b85: MSTORE
00003b86: PUSH1 0x20
00003b88: ADD
00003b89: PUSH1 0x00
00003b8b: KECCAK256
00003b8c: PUSH1 0x00
00003b8e: DUP1
00003b8f: DUP2
00003b90: MSTORE
00003b91: PUSH1 0x20
00003b93: ADD
00003b94: SWAP1
00003b95: DUP2
00003b96: MSTORE
00003b97: PUSH1 0x20
00003b99: ADD
00003b9a: PUSH1 0x00
00003b9c: KECCAK256
00003b9d: PUSH1 0x00
00003b9f: DUP3
00003ba0: ADD
00003ba1: MLOAD
00003ba2: DUP2
00003ba3: PUSH1 0x00
00003ba5: ADD
00003ba6: SSTORE
00003ba7: PUSH1 0x20
00003ba9: DUP3
00003baa: ADD
00003bab: MLOAD
00003bac: DUP2
00003bad: PUSH1 0x01
00003baf: ADD
00003bb0: SSTORE
00003bb1: SWAP1
00003bb2: POP
00003bb3: POP
00003bb4: PUSH1 0x40
00003bb6: DUP1
00003bb7: MLOAD
00003bb8: SWAP1
00003bb9: DUP2
00003bba: ADD
00003bbb: PUSH1 0x40
00003bbd: MSTORE
00003bbe: DUP1
00003bbf: DUP6
00003bc0: DUP2
00003bc1: MSTORE
00003bc2: PUSH1 0x20
00003bc4: ADD
00003bc5: DUP7
00003bc6: DUP2
00003bc7: MSTORE
00003bc8: POP
00003bc9: PUSH1 0x10
00003bcb: PUSH1 0x00
00003bcd: DUP11
00003bce: PUSH1 0x01
00003bd0: PUSH1 0xa0
00003bd2: PUSH1 0x02
00003bd4: EXP
00003bd5: SUB
00003bd6: AND
00003bd7: PUSH1 0x01
00003bd9: PUSH1 0xa0
00003bdb: PUSH1 0x02
00003bdd: EXP
00003bde: SUB
00003bdf: AND
00003be0: DUP2
00003be1: MSTORE
00003be2: PUSH1 0x20
00003be4: ADD
00003be5: SWAP1
00003be6: DUP2
00003be7: MSTORE
00003be8: PUSH1 0x20
00003bea: ADD
00003beb: PUSH1 0x00
00003bed: KECCAK256
00003bee: PUSH1 0x00
00003bf0: DUP12
00003bf1: PUSH1 0x01
00003bf3: PUSH1 0xa0
00003bf5: PUSH1 0x02
00003bf7: EXP
00003bf8: SUB
00003bf9: AND
00003bfa: PUSH1 0x01
00003bfc: PUSH1 0xa0
00003bfe: PUSH1 0x02
00003c00: EXP
00003c01: SUB
00003c02: AND
00003c03: DUP2
00003c04: MSTORE
00003c05: PUSH1 0x20
00003c07: ADD
00003c08: SWAP1
00003c09: DUP2
00003c0a: MSTORE
00003c0b: PUSH1 0x20
00003c0d: ADD
00003c0e: PUSH1 0x00
00003c10: KECCAK256
00003c11: PUSH1 0x00
00003c13: DUP1
00003c14: DUP2
00003c15: MSTORE
00003c16: PUSH1 0x20
00003c18: ADD
00003c19: SWAP1
00003c1a: DUP2
00003c1b: MSTORE
00003c1c: PUSH1 0x20
00003c1e: ADD
00003c1f: PUSH1 0x00
00003c21: KECCAK256
00003c22: PUSH1 0x00
00003c24: DUP3
00003c25: ADD
00003c26: MLOAD
00003c27: DUP2
00003c28: PUSH1 0x00
00003c2a: ADD
00003c2b: SSTORE
00003c2c: PUSH1 0x20
00003c2e: DUP3
00003c2f: ADD
00003c30: MLOAD
00003c31: DUP2
00003c32: PUSH1 0x01
00003c34: ADD
00003c35: SSTORE
00003c36: SWAP1
00003c37: POP
00003c38: POP
00003c39: PUSH2 0x2b2a
00003c3c: DUP10
00003c3d: DUP10
00003c3e: DUP10
00003c3f: DUP10
00003c40: PUSH2 0x4b7f
00003c43: JUMP
00003c44: JUMPDEST
00003c45: PUSH1 0x10
00003c47: PUSH1 0x20
00003c49: SWAP1
00003c4a: DUP2
00003c4b: MSTORE
00003c4c: PUSH1 0x00
00003c4e: SWAP4
00003c4f: DUP5
00003c50: MSTORE
00003c51: PUSH1 0x40
00003c53: DUP1
00003c54: DUP6
00003c55: KECCAK256
00003c56: DUP3
00003c57: MSTORE
00003c58: SWAP3
00003c59: DUP5
00003c5a: MSTORE
00003c5b: DUP3
00003c5c: DUP5
00003c5d: KECCAK256
00003c5e: SWAP1
00003c5f: MSTORE
00003c60: DUP3
00003c61: MSTORE
00003c62: SWAP1
00003c63: KECCAK256
00003c64: DUP1
00003c65: SLOAD
00003c66: PUSH1 0x01
00003c68: SWAP1
00003c69: SWAP2
00003c6a: ADD
00003c6b: SLOAD
00003c6c: DUP3
00003c6d: JUMP
00003c6e: JUMPDEST
00003c6f: PUSH1 0x00
00003c71: DUP1
00003c72: PUSH1 0x00
00003c74: PUSH1 0x0b
00003c76: PUSH1 0x00
00003c78: SWAP1
00003c79: SLOAD
00003c7a: SWAP1
00003c7b: PUSH2 0x0100
00003c7e: EXP
00003c7f: SWAP1
00003c80: DIV
00003c81: PUSH1 0x01
00003c83: PUSH1 0xa0
00003c85: PUSH1 0x02
00003c87: EXP
00003c88: SUB
00003c89: AND
00003c8a: PUSH1 0x01
00003c8c: PUSH1 0xa0
00003c8e: PUSH1 0x02
00003c90: EXP
00003c91: SUB
00003c92: AND
00003c93: PUSH4 0x18160ddd
00003c98: PUSH1 0x40
00003c9a: MLOAD
00003c9b: DUP2
00003c9c: PUSH4 0xffffffff
00003ca1: AND
00003ca2: PUSH1 0xe0
00003ca4: PUSH1 0x02
00003ca6: EXP
00003ca7: MUL
00003ca8: DUP2
00003ca9: MSTORE
00003caa: PUSH1 0x04
00003cac: ADD
00003cad: PUSH1 0x20
00003caf: PUSH1 0x40
00003cb1: MLOAD
00003cb2: DUP1
00003cb3: DUP4
00003cb4: SUB
00003cb5: DUP2
00003cb6: DUP7
00003cb7: DUP1
00003cb8: EXTCODESIZE
00003cb9: ISZERO
00003cba: DUP1
00003cbb: ISZERO
00003cbc: PUSH2 0x3cc4
00003cbf: JUMPI
00003cc0: PUSH1 0x00
00003cc2: DUP1
00003cc3: REVERT
00003cc4: JUMPDEST
00003cc5: POP
00003cc6: GAS
00003cc7: STATICCALL
00003cc8: ISZERO
00003cc9: DUP1
00003cca: ISZERO
00003ccb: PUSH2 0x3cd8
00003cce: JUMPI
00003ccf: RETURNDATASIZE
00003cd0: PUSH1 0x00
00003cd2: DUP1
00003cd3: RETURNDATACOPY
00003cd4: RETURNDATASIZE
00003cd5: PUSH1 0x00
00003cd7: REVERT
00003cd8: JUMPDEST
00003cd9: POP
00003cda: POP
00003cdb: POP
00003cdc: POP
00003cdd: PUSH1 0x40
00003cdf: MLOAD
00003ce0: RETURNDATASIZE
00003ce1: PUSH1 0x20
00003ce3: DUP2
00003ce4: LT
00003ce5: ISZERO
00003ce6: PUSH2 0x3cee
00003ce9: JUMPI
00003cea: PUSH1 0x00
00003cec: DUP1
00003ced: REVERT
00003cee: JUMPDEST
00003cef: POP
00003cf0: MLOAD
00003cf1: PUSH1 0x0b
00003cf3: SLOAD
00003cf4: PUSH1 0x40
00003cf6: DUP1
00003cf7: MLOAD
00003cf8: PUSH32 0x8b525d0c00000000000000000000000000000000000000000000000000000000
00003d19: DUP2
00003d1a: MSTORE
00003d1b: PUSH1 0x01
00003d1d: PUSH1 0xa0
00003d1f: PUSH1 0x02
00003d21: EXP
00003d22: SUB
00003d23: DUP9
00003d24: DUP2
00003d25: AND
00003d26: PUSH1 0x04
00003d28: DUP4
00003d29: ADD
00003d2a: MSTORE
00003d2b: SWAP2
00003d2c: MLOAD
00003d2d: SWAP4
00003d2e: SWAP5
00003d2f: POP
00003d30: PUSH1 0x00
00003d32: SWAP4
00003d33: SWAP2
00003d34: SWAP1
00003d35: SWAP3
00003d36: AND
00003d37: SWAP2
00003d38: PUSH4 0x8b525d0c
00003d3d: SWAP2
00003d3e: PUSH1 0x24
00003d40: DUP1
00003d41: DUP4
00003d42: ADD
00003d43: SWAP3
00003d44: PUSH1 0x20
00003d46: SWAP3
00003d47: SWAP2
00003d48: SWAP1
00003d49: DUP3
00003d4a: SWAP1
00003d4b: SUB
00003d4c: ADD
00003d4d: DUP2
00003d4e: DUP7
00003d4f: DUP1
00003d50: EXTCODESIZE
00003d51: ISZERO
00003d52: DUP1
00003d53: ISZERO
00003d54: PUSH2 0x3d5c
00003d57: JUMPI
00003d58: PUSH1 0x00
00003d5a: DUP1
00003d5b: REVERT
00003d5c: JUMPDEST
00003d5d: POP
00003d5e: GAS
00003d5f: STATICCALL
00003d60: ISZERO
00003d61: DUP1
00003d62: ISZERO
00003d63: PUSH2 0x3d70
00003d66: JUMPI
00003d67: RETURNDATASIZE
00003d68: PUSH1 0x00
00003d6a: DUP1
00003d6b: RETURNDATACOPY
00003d6c: RETURNDATASIZE
00003d6d: PUSH1 0x00
00003d6f: REVERT
00003d70: JUMPDEST
00003d71: POP
00003d72: POP
00003d73: POP
00003d74: POP
00003d75: PUSH1 0x40
00003d77: MLOAD
00003d78: RETURNDATASIZE
00003d79: PUSH1 0x20
00003d7b: DUP2
00003d7c: LT
00003d7d: ISZERO
00003d7e: PUSH2 0x3d86
00003d81: JUMPI
00003d82: PUSH1 0x00
00003d84: DUP1
00003d85: REVERT
00003d86: JUMPDEST
00003d87: POP
00003d88: MLOAD
00003d89: SWAP1
00003d8a: POP
00003d8b: PUSH2 0x2710
00003d8e: DUP2
00003d8f: MUL
00003d90: DUP3
00003d91: GT
00003d92: DUP1
00003d93: PUSH2 0x3d9a
00003d96: JUMPI
00003d97: POP
00003d98: DUP2
00003d99: ISZERO
00003d9a: JUMPDEST
00003d9b: ISZERO
00003d9c: PUSH2 0x3dac
00003d9f: JUMPI
00003da0: PUSH1 0x01
00003da2: SWAP4
00003da3: POP
00003da4: PUSH1 0xc8
00003da6: SWAP3
00003da7: POP
00003da8: PUSH2 0x3e01
00003dab: JUMP
00003dac: JUMPDEST
00003dad: DUP2
00003dae: DUP2
00003daf: PUSH2 0x03e8
00003db2: MUL
00003db3: LT
00003db4: ISZERO
00003db5: PUSH2 0x3dc5
00003db8: JUMPI
00003db9: PUSH1 0x01
00003dbb: SWAP4
00003dbc: POP
00003dbd: PUSH1 0xfa
00003dbf: SWAP3
00003dc0: POP
00003dc1: PUSH2 0x3e01
00003dc4: JUMP
00003dc5: JUMPDEST
00003dc6: DUP2
00003dc7: DUP2
00003dc8: PUSH1 0x64
00003dca: MUL
00003dcb: LT
00003dcc: ISZERO
00003dcd: PUSH2 0x3dde
00003dd0: JUMPI
00003dd1: PUSH1 0x03
00003dd3: SWAP4
00003dd4: POP
00003dd5: PUSH2 0x03e8
00003dd8: SWAP3
00003dd9: POP
00003dda: PUSH2 0x3e01
00003ddd: JUMP
00003dde: JUMPDEST
00003ddf: DUP2
00003de0: DUP2
00003de1: PUSH1 0x0a
00003de3: MUL
00003de4: LT
00003de5: ISZERO
00003de6: PUSH2 0x3df7
00003de9: JUMPI
00003dea: PUSH1 0x01
00003dec: SWAP4
00003ded: POP
00003dee: PUSH2 0x01f4
00003df1: SWAP3
00003df2: POP
00003df3: PUSH2 0x3e01
00003df6: JUMP
00003df7: JUMPDEST
00003df8: PUSH1 0x01
00003dfa: SWAP4
00003dfb: POP
00003dfc: PUSH2 0x03e8
00003dff: SWAP3
00003e00: POP
00003e01: JUMPDEST
00003e02: POP
00003e03: POP
00003e04: SWAP2
00003e05: POP
00003e06: SWAP2
00003e07: JUMP
00003e08: JUMPDEST
00003e09: PUSH1 0x0a
00003e0b: SLOAD
00003e0c: DUP2
00003e0d: JUMP
00003e0e: JUMPDEST
00003e0f: PUSH1 0x01
00003e11: PUSH1 0xa0
00003e13: PUSH1 0x02
00003e15: EXP
00003e16: SUB
00003e17: DUP3
00003e18: AND
00003e19: PUSH1 0x00
00003e1b: SWAP1
00003e1c: DUP2
00003e1d: MSTORE
00003e1e: PUSH1 0x14
00003e20: PUSH1 0x20
00003e22: SWAP1
00003e23: DUP2
00003e24: MSTORE
00003e25: PUSH1 0x40
00003e27: DUP1
00003e28: DUP4
00003e29: KECCAK256
00003e2a: CALLER
00003e2b: DUP5
00003e2c: MSTORE
00003e2d: SWAP1
00003e2e: SWAP2
00003e2f: MSTORE
00003e30: DUP2
00003e31: KECCAK256
00003e32: SLOAD
00003e33: PUSH2 0x3e3c
00003e36: DUP4
00003e37: DUP3
00003e38: PUSH2 0x2a3b
00003e3b: JUMP
00003e3c: JUMPDEST
00003e3d: SWAP3
00003e3e: POP
00003e3f: PUSH1 0x00
00003e41: DUP4
00003e42: GT
00003e43: PUSH2 0x3e80
00003e46: JUMPI
00003e47: PUSH1 0x40
00003e49: MLOAD
00003e4a: PUSH1 0xe5
00003e4c: PUSH1 0x02
00003e4e: EXP
00003e4f: PUSH3 0x461bcd
00003e53: MUL
00003e54: DUP2
00003e55: MSTORE
00003e56: PUSH1 0x04
00003e58: ADD
00003e59: DUP1
00003e5a: DUP1
00003e5b: PUSH1 0x20
00003e5d: ADD
00003e5e: DUP3
00003e5f: DUP2
00003e60: SUB
00003e61: DUP3
00003e62: MSTORE
00003e63: PUSH1 0x21
00003e65: DUP2
00003e66: MSTORE
00003e67: PUSH1 0x20
00003e69: ADD
00003e6a: DUP1
00003e6b: PUSH2 0x53a7
00003e6e: PUSH1 0x21
00003e70: SWAP2
00003e71: CODECOPY
00003e72: PUSH1 0x40
00003e74: ADD
00003e75: SWAP2
00003e76: POP
00003e77: POP
00003e78: PUSH1 0x40
00003e7a: MLOAD
00003e7b: DUP1
00003e7c: SWAP2
00003e7d: SUB
00003e7e: SWAP1
00003e7f: REVERT
00003e80: JUMPDEST
00003e81: PUSH1 0x00
00003e83: PUSH2 0x3e8c
00003e86: DUP3
00003e87: DUP6
00003e88: PUSH2 0x332f
00003e8b: JUMP
00003e8c: JUMPDEST
00003e8d: PUSH1 0x01
00003e8f: PUSH1 0xa0
00003e91: PUSH1 0x02
00003e93: EXP
00003e94: SUB
00003e95: DUP7
00003e96: AND
00003e97: PUSH1 0x00
00003e99: SWAP1
00003e9a: DUP2
00003e9b: MSTORE
00003e9c: PUSH1 0x14
00003e9e: PUSH1 0x20
00003ea0: SWAP1
00003ea1: DUP2
00003ea2: MSTORE
00003ea3: PUSH1 0x40
00003ea5: DUP1
00003ea6: DUP4
00003ea7: KECCAK256
00003ea8: CALLER
00003ea9: DUP1
00003eaa: DUP6
00003eab: MSTORE
00003eac: SWAP3
00003ead: MSTORE
00003eae: DUP3
00003eaf: KECCAK256
00003eb0: DUP4
00003eb1: SWAP1
00003eb2: SSTORE
00003eb3: SWAP2
00003eb4: SWAP3
00003eb5: POP
00003eb6: PUSH2 0x3ec2
00003eb9: SWAP2
00003eba: DUP8
00003ebb: SWAP2
00003ebc: DUP8
00003ebd: SWAP1
00003ebe: PUSH2 0x4355
00003ec1: JUMP
00003ec2: JUMPDEST
00003ec3: ISZERO
00003ec4: ISZERO
00003ec5: PUSH2 0x3f02
00003ec8: JUMPI
00003ec9: PUSH1 0x40
00003ecb: MLOAD
00003ecc: PUSH1 0xe5
00003ece: PUSH1 0x02
00003ed0: EXP
00003ed1: PUSH3 0x461bcd
00003ed5: MUL
00003ed6: DUP2
00003ed7: MSTORE
00003ed8: PUSH1 0x04
00003eda: ADD
00003edb: DUP1
00003edc: DUP1
00003edd: PUSH1 0x20
00003edf: ADD
00003ee0: DUP3
00003ee1: DUP2
00003ee2: SUB
00003ee3: DUP3
00003ee4: MSTORE
00003ee5: PUSH1 0x22
00003ee7: DUP2
00003ee8: MSTORE
00003ee9: PUSH1 0x20
00003eeb: ADD
00003eec: DUP1
00003eed: PUSH2 0x55bc
00003ef0: PUSH1 0x22
00003ef2: SWAP2
00003ef3: CODECOPY
00003ef4: PUSH1 0x40
00003ef6: ADD
00003ef7: SWAP2
00003ef8: POP
00003ef9: POP
00003efa: PUSH1 0x40
00003efc: MLOAD
00003efd: DUP1
00003efe: SWAP2
00003eff: SUB
00003f00: SWAP1
00003f01: REVERT
00003f02: JUMPDEST
00003f03: PUSH1 0x40
00003f05: DUP1
00003f06: MLOAD
00003f07: DUP6
00003f08: DUP2
00003f09: MSTORE
00003f0a: SWAP1
00003f0b: MLOAD
00003f0c: PUSH1 0x01
00003f0e: PUSH1 0xa0
00003f10: PUSH1 0x02
00003f12: EXP
00003f13: SUB
00003f14: DUP8
00003f15: AND
00003f16: SWAP2
00003f17: PUSH32 0x6e2e05fb6a732995d6952d9158ca6b75f11cc6bf5a4af943aa1eb475a249440b
00003f38: SWAP2
00003f39: SWAP1
00003f3a: DUP2
00003f3b: SWAP1
00003f3c: SUB
00003f3d: PUSH1 0x20
00003f3f: ADD
00003f40: SWAP1
00003f41: LOG2
00003f42: SWAP5
00003f43: SWAP4
00003f44: POP
00003f45: POP
00003f46: POP
00003f47: POP
00003f48: JUMP
00003f49: JUMPDEST
00003f4a: PUSH1 0x08
00003f4c: SLOAD
00003f4d: PUSH1 0x00
00003f4f: SWAP1
00003f50: DUP2
00003f51: SWAP1
00003f52: DUP2
00003f53: SWAP1
00003f54: PUSH2 0x3f67
00003f57: SWAP1
00003f58: DUP6
00003f59: SWAP1
00003f5a: PUSH1 0x01
00003f5c: PUSH1 0xa0
00003f5e: PUSH1 0x02
00003f60: EXP
00003f61: SUB
00003f62: AND
00003f63: PUSH2 0x1752
00003f66: JUMP
00003f67: JUMPDEST
00003f68: PUSH1 0x08
00003f6a: SLOAD
00003f6b: SWAP1
00003f6c: SWAP2
00003f6d: POP
00003f6e: PUSH2 0x3f86
00003f71: SWAP1
00003f72: DUP6
00003f73: SWAP1
00003f74: PUSH1 0x01
00003f76: PUSH1 0xa0
00003f78: PUSH1 0x02
00003f7a: EXP
00003f7b: SUB
00003f7c: AND
00003f7d: PUSH1 0x00
00003f7f: NOT
00003f80: DUP5
00003f81: ADD
00003f82: PUSH2 0x1a9c
00003f85: JUMP
00003f86: JUMPDEST
00003f87: SWAP1
00003f88: SWAP6
00003f89: SWAP1
00003f8a: SWAP5
00003f8b: POP
00003f8c: SWAP3
00003f8d: POP
00003f8e: POP
00003f8f: POP
00003f90: JUMP
00003f91: JUMPDEST
00003f92: PUSH1 0x06
00003f94: SLOAD
00003f95: PUSH1 0x01
00003f97: PUSH1 0xa0
00003f99: PUSH1 0x02
00003f9b: EXP
00003f9c: SUB
00003f9d: AND
00003f9e: ISZERO
00003f9f: ISZERO
00003fa0: PUSH2 0x3fdd
00003fa3: JUMPI
00003fa4: PUSH1 0x40
00003fa6: MLOAD
00003fa7: PUSH1 0xe5
00003fa9: PUSH1 0x02
00003fab: EXP
00003fac: PUSH3 0x461bcd
00003fb0: MUL
00003fb1: DUP2
00003fb2: MSTORE
00003fb3: PUSH1 0x04
00003fb5: ADD
00003fb6: DUP1
00003fb7: DUP1
00003fb8: PUSH1 0x20
00003fba: ADD
00003fbb: DUP3
00003fbc: DUP2
00003fbd: SUB
00003fbe: DUP3
00003fbf: MSTORE
00003fc0: PUSH1 0x27
00003fc2: DUP2
00003fc3: MSTORE
00003fc4: PUSH1 0x20
00003fc6: ADD
00003fc7: DUP1
00003fc8: PUSH2 0x5421
00003fcb: PUSH1 0x27
00003fcd: SWAP2
00003fce: CODECOPY
00003fcf: PUSH1 0x40
00003fd1: ADD
00003fd2: SWAP2
00003fd3: POP
00003fd4: POP
00003fd5: PUSH1 0x40
00003fd7: MLOAD
00003fd8: DUP1
00003fd9: SWAP2
00003fda: SUB
00003fdb: SWAP1
00003fdc: REVERT
00003fdd: JUMPDEST
00003fde: PUSH1 0x07
00003fe0: SLOAD
00003fe1: TIMESTAMP
00003fe2: GT
00003fe3: PUSH2 0x4020
00003fe6: JUMPI
00003fe7: PUSH1 0x40
00003fe9: MLOAD
00003fea: PUSH1 0xe5
00003fec: PUSH1 0x02
00003fee: EXP
00003fef: PUSH3 0x461bcd
00003ff3: MUL
00003ff4: DUP2
00003ff5: MSTORE
00003ff6: PUSH1 0x04
00003ff8: ADD
00003ff9: DUP1
00003ffa: DUP1
00003ffb: PUSH1 0x20
00003ffd: ADD
00003ffe: DUP3
00003fff: DUP2
00004000: SUB
00004001: DUP3
00004002: MSTORE
00004003: PUSH1 0x40
00004005: DUP2
00004006: MSTORE
00004007: PUSH1 0x20
00004009: ADD
0000400a: DUP1
0000400b: PUSH2 0x5558
0000400e: PUSH1 0x40
00004010: SWAP2
00004011: CODECOPY
00004012: PUSH1 0x40
00004014: ADD
00004015: SWAP2
00004016: POP
00004017: POP
00004018: PUSH1 0x40
0000401a: MLOAD
0000401b: DUP1
0000401c: SWAP2
0000401d: SUB
0000401e: SWAP1
0000401f: REVERT
00004020: JUMPDEST
00004021: PUSH1 0x06
00004023: DUP1
00004024: SLOAD
00004025: PUSH1 0x05
00004027: DUP1
00004028: SLOAD
00004029: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000403e: NOT
0000403f: SWAP1
00004040: DUP2
00004041: AND
00004042: PUSH1 0x01
00004044: PUSH1 0xa0
00004046: PUSH1 0x02
00004048: EXP
00004049: SUB
0000404a: DUP5
0000404b: AND
0000404c: OR
0000404d: SWAP1
0000404e: SWAP2
0000404f: SSTORE
00004050: AND
00004051: SWAP1
00004052: SSTORE
00004053: JUMP
00004054: JUMPDEST
00004055: PUSH1 0x01
00004057: SLOAD
00004058: PUSH1 0x01
0000405a: PUSH1 0xa0
0000405c: PUSH1 0x02
0000405e: EXP
0000405f: SUB
00004060: AND
00004061: CALLER
00004062: EQ
00004063: PUSH2 0x40a0
00004066: JUMPI
00004067: PUSH1 0x40
00004069: MLOAD
0000406a: PUSH1 0xe5
0000406c: PUSH1 0x02
0000406e: EXP
0000406f: PUSH3 0x461bcd
00004073: MUL
00004074: DUP2
00004075: MSTORE
00004076: PUSH1 0x04
00004078: ADD
00004079: DUP1
0000407a: DUP1
0000407b: PUSH1 0x20
0000407d: ADD
0000407e: DUP3
0000407f: DUP2
00004080: SUB
00004081: DUP3
00004082: MSTORE
00004083: PUSH1 0x2a
00004085: DUP2
00004086: MSTORE
00004087: PUSH1 0x20
00004089: ADD
0000408a: DUP1
0000408b: PUSH2 0x54a7
0000408e: PUSH1 0x2a
00004090: SWAP2
00004091: CODECOPY
00004092: PUSH1 0x40
00004094: ADD
00004095: SWAP2
00004096: POP
00004097: POP
00004098: PUSH1 0x40
0000409a: MLOAD
0000409b: DUP1
0000409c: SWAP2
0000409d: SUB
0000409e: SWAP1
0000409f: REVERT
000040a0: JUMPDEST
000040a1: PUSH1 0x01
000040a3: PUSH1 0xa0
000040a5: PUSH1 0x02
000040a7: EXP
000040a8: SUB
000040a9: DUP2
000040aa: AND
000040ab: ISZERO
000040ac: ISZERO
000040ad: PUSH2 0x40ea
000040b0: JUMPI
000040b1: PUSH1 0x40
000040b3: MLOAD
000040b4: PUSH1 0xe5
000040b6: PUSH1 0x02
000040b8: EXP
000040b9: PUSH3 0x461bcd
000040bd: MUL
000040be: DUP2
000040bf: MSTORE
000040c0: PUSH1 0x04
000040c2: ADD
000040c3: DUP1
000040c4: DUP1
000040c5: PUSH1 0x20
000040c7: ADD
000040c8: DUP3
000040c9: DUP2
000040ca: SUB
000040cb: DUP3
000040cc: MSTORE
000040cd: PUSH1 0x2b
000040cf: DUP2
000040d0: MSTORE
000040d1: PUSH1 0x20
000040d3: ADD
000040d4: DUP1
000040d5: PUSH2 0x54fd
000040d8: PUSH1 0x2b
000040da: SWAP2
000040db: CODECOPY
000040dc: PUSH1 0x40
000040de: ADD
000040df: SWAP2
000040e0: POP
000040e1: POP
000040e2: PUSH1 0x40
000040e4: MLOAD
000040e5: DUP1
000040e6: SWAP2
000040e7: SUB
000040e8: SWAP1
000040e9: REVERT
000040ea: JUMPDEST
000040eb: PUSH1 0x02
000040ed: DUP1
000040ee: SLOAD
000040ef: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004104: NOT
00004105: AND
00004106: PUSH1 0x01
00004108: PUSH1 0xa0
0000410a: PUSH1 0x02
0000410c: EXP
0000410d: SUB
0000410e: DUP4
0000410f: AND
00004110: OR
00004111: SWAP1
00004112: SSTORE
00004113: PUSH2 0x411f
00004116: TIMESTAMP
00004117: PUSH3 0x278d00
0000411b: PUSH2 0x27a7
0000411e: JUMP
0000411f: JUMPDEST
00004120: PUSH1 0x03
00004122: SSTORE
00004123: PUSH1 0x40
00004125: DUP1
00004126: MLOAD
00004127: PUSH1 0x01
00004129: PUSH1 0xa0
0000412b: PUSH1 0x02
0000412d: EXP
0000412e: SUB
0000412f: DUP4
00004130: AND
00004131: DUP2
00004132: MSTORE
00004133: SWAP1
00004134: MLOAD
00004135: PUSH32 0x36dceb79f427eda3edba9ac3c1d4db7a6e4d0b8637d97320847d93fa8e2f7a04
00004156: SWAP2
00004157: DUP2
00004158: SWAP1
00004159: SUB
0000415a: PUSH1 0x20
0000415c: ADD
0000415d: SWAP1
0000415e: LOG1
0000415f: POP
00004160: JUMP
00004161: JUMPDEST
00004162: PUSH1 0x15
00004164: PUSH1 0x20
00004166: SWAP1
00004167: DUP2
00004168: MSTORE
00004169: PUSH1 0x00
0000416b: SWAP4
0000416c: DUP5
0000416d: MSTORE
0000416e: PUSH1 0x40
00004170: DUP1
00004171: DUP6
00004172: KECCAK256
00004173: DUP3
00004174: MSTORE
00004175: SWAP3
00004176: DUP5
00004177: MSTORE
00004178: DUP3
00004179: DUP5
0000417a: KECCAK256
0000417b: SWAP1
0000417c: MSTORE
0000417d: DUP3
0000417e: MSTORE
0000417f: SWAP1
00004180: KECCAK256
00004181: SLOAD
00004182: DUP2
00004183: JUMP
00004184: JUMPDEST
00004185: PUSH1 0x0d
00004187: PUSH1 0x20
00004189: SWAP1
0000418a: DUP2
0000418b: MSTORE
0000418c: PUSH1 0x00
0000418e: SWAP3
0000418f: DUP4
00004190: MSTORE
00004191: PUSH1 0x40
00004193: DUP1
00004194: DUP5
00004195: KECCAK256
00004196: SWAP1
00004197: SWAP2
00004198: MSTORE
00004199: SWAP1
0000419a: DUP3
0000419b: MSTORE
0000419c: SWAP1
0000419d: KECCAK256
0000419e: SLOAD
0000419f: DUP2
000041a0: JUMP
000041a1: JUMPDEST
000041a2: PUSH1 0x00
000041a4: DUP1
000041a5: PUSH2 0x41ac
000041a8: PUSH2 0x5327
000041ab: JUMP
000041ac: JUMPDEST
000041ad: POP
000041ae: PUSH1 0x01
000041b0: PUSH1 0xa0
000041b2: PUSH1 0x02
000041b4: EXP
000041b5: SUB
000041b6: DUP1
000041b7: DUP7
000041b8: AND
000041b9: PUSH1 0x00
000041bb: SWAP1
000041bc: DUP2
000041bd: MSTORE
000041be: PUSH1 0x10
000041c0: PUSH1 0x20
000041c2: SWAP1
000041c3: DUP2
000041c4: MSTORE
000041c5: PUSH1 0x40
000041c7: DUP1
000041c8: DUP4
000041c9: KECCAK256
000041ca: SWAP4
000041cb: DUP9
000041cc: AND
000041cd: DUP4
000041ce: MSTORE
000041cf: SWAP3
000041d0: DUP2
000041d1: MSTORE
000041d2: DUP3
000041d3: DUP3
000041d4: KECCAK256
000041d5: DUP7
000041d6: DUP4
000041d7: MSTORE
000041d8: DUP2
000041d9: MSTORE
000041da: SWAP1
000041db: DUP3
000041dc: SWAP1
000041dd: KECCAK256
000041de: DUP3
000041df: MLOAD
000041e0: DUP1
000041e1: DUP5
000041e2: ADD
000041e3: SWAP1
000041e4: SWAP4
000041e5: MSTORE
000041e6: DUP1
000041e7: SLOAD
000041e8: DUP4
000041e9: MSTORE
000041ea: PUSH1 0x01
000041ec: ADD
000041ed: SLOAD
000041ee: SWAP1
000041ef: DUP3
000041f0: ADD
000041f1: DUP2
000041f2: SWAP1
000041f3: MSTORE
000041f4: ISZERO
000041f5: PUSH2 0x4209
000041f8: JUMPI
000041f9: DUP1
000041fa: MLOAD
000041fb: PUSH1 0x20
000041fd: DUP3
000041fe: ADD
000041ff: MLOAD
00004200: SWAP1
00004201: SWAP4
00004202: POP
00004203: SWAP2
00004204: POP
00004205: PUSH2 0x4325
00004208: JUMP
00004209: JUMPDEST
0000420a: PUSH2 0x4213
0000420d: DUP7
0000420e: DUP7
0000420f: PUSH2 0x1752
00004212: JUMP
00004213: JUMPDEST
00004214: DUP5
00004215: GT
00004216: ISZERO
00004217: PUSH2 0x4226
0000421a: JUMPI
0000421b: PUSH1 0x00
0000421d: SWAP3
0000421e: POP
0000421f: DUP3
00004220: SWAP2
00004221: POP
00004222: PUSH2 0x4325
00004225: JUMP
00004226: JUMPDEST
00004227: PUSH1 0x00
00004229: DUP1
0000422a: PUSH2 0x4237
0000422d: DUP9
0000422e: DUP9
0000422f: PUSH1 0x01
00004231: DUP10
00004232: SUB
00004233: PUSH2 0x1a9c
00004236: JUMP
00004237: JUMPDEST
00004238: SWAP1
00004239: SWAP3
0000423a: POP
0000423b: SWAP1
0000423c: POP
0000423d: PUSH1 0x00
0000423f: PUSH2 0x4252
00004242: PUSH2 0x424b
00004245: DUP11
00004246: DUP11
00004247: PUSH2 0x35f4
0000424a: JUMP
0000424b: JUMPDEST
0000424c: TIMESTAMP
0000424d: SUB
0000424e: PUSH2 0x1851
00004251: JUMP
00004252: JUMPDEST
00004253: SWAP1
00004254: POP
00004255: PUSH2 0x4264
00004258: DUP4
00004259: DUP3
0000425a: PUSH3 0x015180
0000425e: SUB
0000425f: MUL
00004260: PUSH2 0x1851
00004263: JUMP
00004264: JUMPDEST
00004265: SWAP6
00004266: POP
00004267: PUSH2 0x4274
0000426a: DUP2
0000426b: PUSH2 0xa8c0
0000426e: ADD
0000426f: DUP4
00004270: PUSH2 0x3403
00004273: JUMP
00004274: JUMPDEST
00004275: PUSH1 0x01
00004277: PUSH1 0xa0
00004279: PUSH1 0x02
0000427b: EXP
0000427c: SUB
0000427d: DUP1
0000427e: DUP12
0000427f: AND
00004280: PUSH1 0x00
00004282: SWAP1
00004283: DUP2
00004284: MSTORE
00004285: PUSH1 0x13
00004287: PUSH1 0x20
00004289: SWAP1
0000428a: DUP2
0000428b: MSTORE
0000428c: PUSH1 0x40
0000428e: DUP1
0000428f: DUP4
00004290: KECCAK256
00004291: SWAP4
00004292: DUP14
00004293: AND
00004294: DUP4
00004295: MSTORE
00004296: SWAP3
00004297: SWAP1
00004298: MSTORE
00004299: KECCAK256
0000429a: SLOAD
0000429b: SWAP1
0000429c: SWAP6
0000429d: POP
0000429e: PUSH2 0x42a8
000042a1: SWAP1
000042a2: DUP7
000042a3: SWAP1
000042a4: PUSH2 0x3403
000042a7: JUMP
000042a8: JUMPDEST
000042a9: PUSH1 0x01
000042ab: PUSH1 0xa0
000042ad: PUSH1 0x02
000042af: EXP
000042b0: SUB
000042b1: DUP1
000042b2: DUP12
000042b3: AND
000042b4: PUSH1 0x00
000042b6: SWAP1
000042b7: DUP2
000042b8: MSTORE
000042b9: PUSH1 0x11
000042bb: PUSH1 0x20
000042bd: SWAP1
000042be: DUP2
000042bf: MSTORE
000042c0: PUSH1 0x40
000042c2: DUP1
000042c3: DUP4
000042c4: KECCAK256
000042c5: SWAP4
000042c6: DUP14
000042c7: AND
000042c8: DUP4
000042c9: MSTORE
000042ca: SWAP3
000042cb: SWAP1
000042cc: MSTORE
000042cd: KECCAK256
000042ce: SLOAD
000042cf: PUSH2 0x42d9
000042d2: SWAP1
000042d3: DUP9
000042d4: SWAP1
000042d5: PUSH2 0x3403
000042d8: JUMP
000042d9: JUMPDEST
000042da: GT
000042db: PUSH2 0x1c1a
000042de: JUMPI
000042df: PUSH1 0x01
000042e1: PUSH1 0xa0
000042e3: PUSH1 0x02
000042e5: EXP
000042e6: SUB
000042e7: DUP1
000042e8: DUP11
000042e9: AND
000042ea: PUSH1 0x00
000042ec: DUP2
000042ed: DUP2
000042ee: MSTORE
000042ef: PUSH1 0x13
000042f1: PUSH1 0x20
000042f3: SWAP1
000042f4: DUP2
000042f5: MSTORE
000042f6: PUSH1 0x40
000042f8: DUP1
000042f9: DUP4
000042fa: KECCAK256
000042fb: SWAP5
000042fc: DUP14
000042fd: AND
000042fe: DUP1
000042ff: DUP5
00004300: MSTORE
00004301: SWAP5
00004302: DUP3
00004303: MSTORE
00004304: DUP1
00004305: DUP4
00004306: KECCAK256
00004307: SLOAD
00004308: SWAP4
00004309: DUP4
0000430a: MSTORE
0000430b: PUSH1 0x11
0000430d: DUP3
0000430e: MSTORE
0000430f: DUP1
00004310: DUP4
00004311: KECCAK256
00004312: SWAP5
00004313: DUP4
00004314: MSTORE
00004315: SWAP4
00004316: SWAP1
00004317: MSTORE
00004318: SWAP2
00004319: SWAP1
0000431a: SWAP2
0000431b: KECCAK256
0000431c: SLOAD
0000431d: SWAP1
0000431e: SWAP7
0000431f: POP
00004320: SWAP5
00004321: POP
00004322: POP
00004323: POP
00004324: POP
00004325: JUMPDEST
00004326: POP
00004327: SWAP4
00004328: POP
00004329: SWAP4
0000432a: SWAP2
0000432b: POP
0000432c: POP
0000432d: JUMP
0000432e: JUMPDEST
0000432f: DUP3
00004330: MLOAD
00004331: DUP3
00004332: MLOAD
00004333: DUP1
00004334: DUP3
00004335: EQ
00004336: PUSH2 0x433e
00004339: JUMPI
0000433a: PUSH1 0x00
0000433c: DUP1
0000433d: REVERT
0000433e: JUMPDEST
0000433f: DUP3
00004340: MLOAD
00004341: DUP2
00004342: DUP2
00004343: EQ
00004344: PUSH2 0x434c
00004347: JUMPI
00004348: PUSH1 0x00
0000434a: DUP1
0000434b: REVERT
0000434c: JUMPDEST
0000434d: POP
0000434e: POP
0000434f: SWAP4
00004350: SWAP3
00004351: POP
00004352: POP
00004353: POP
00004354: JUMP
00004355: JUMPDEST
00004356: PUSH1 0x00
00004358: DUP2
00004359: ISZERO
0000435a: PUSH2 0x43e7
0000435d: JUMPI
0000435e: PUSH1 0x40
00004360: DUP1
00004361: MLOAD
00004362: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000
00004383: DUP2
00004384: MSTORE
00004385: CALLER
00004386: PUSH1 0x04
00004388: DUP3
00004389: ADD
0000438a: MSTORE
0000438b: ADDRESS
0000438c: PUSH1 0x24
0000438e: DUP3
0000438f: ADD
00004390: MSTORE
00004391: PUSH1 0x44
00004393: DUP2
00004394: ADD
00004395: DUP6
00004396: SWAP1
00004397: MSTORE
00004398: SWAP1
00004399: MLOAD
0000439a: PUSH1 0x01
0000439c: PUSH1 0xa0
0000439e: PUSH1 0x02
000043a0: EXP
000043a1: SUB
000043a2: DUP8
000043a3: AND
000043a4: SWAP2
000043a5: PUSH4 0x23b872dd
000043aa: SWAP2
000043ab: PUSH1 0x64
000043ad: DUP1
000043ae: DUP4
000043af: ADD
000043b0: SWAP3
000043b1: PUSH1 0x00
000043b3: SWAP3
000043b4: SWAP2
000043b5: SWAP1
000043b6: DUP3
000043b7: SWAP1
000043b8: SUB
000043b9: ADD
000043ba: DUP2
000043bb: DUP4
000043bc: DUP8
000043bd: DUP1
000043be: EXTCODESIZE
000043bf: ISZERO
000043c0: DUP1
000043c1: ISZERO
000043c2: PUSH2 0x43ca
000043c5: JUMPI
000043c6: PUSH1 0x00
000043c8: DUP1
000043c9: REVERT
000043ca: JUMPDEST
000043cb: POP
000043cc: GAS
000043cd: CALL
000043ce: ISZERO
000043cf: DUP1
000043d0: ISZERO
000043d1: PUSH2 0x43de
000043d4: JUMPI
000043d5: RETURNDATASIZE
000043d6: PUSH1 0x00
000043d8: DUP1
000043d9: RETURNDATACOPY
000043da: RETURNDATASIZE
000043db: PUSH1 0x00
000043dd: REVERT
000043de: JUMPDEST
000043df: POP
000043e0: POP
000043e1: POP
000043e2: POP
000043e3: PUSH2 0x4463
000043e6: JUMP
000043e7: JUMPDEST
000043e8: DUP5
000043e9: PUSH1 0x01
000043eb: PUSH1 0xa0
000043ed: PUSH1 0x02
000043ef: EXP
000043f0: SUB
000043f1: AND
000043f2: PUSH4 0xa9059cbb
000043f7: DUP6
000043f8: DUP6
000043f9: PUSH1 0x40
000043fb: MLOAD
000043fc: DUP4
000043fd: PUSH4 0xffffffff
00004402: AND
00004403: PUSH1 0xe0
00004405: PUSH1 0x02
00004407: EXP
00004408: MUL
00004409: DUP2
0000440a: MSTORE
0000440b: PUSH1 0x04
0000440d: ADD
0000440e: DUP1
0000440f: DUP4
00004410: PUSH1 0x01
00004412: PUSH1 0xa0
00004414: PUSH1 0x02
00004416: EXP
00004417: SUB
00004418: AND
00004419: PUSH1 0x01
0000441b: PUSH1 0xa0
0000441d: PUSH1 0x02
0000441f: EXP
00004420: SUB
00004421: AND
00004422: DUP2
00004423: MSTORE
00004424: PUSH1 0x20
00004426: ADD
00004427: DUP3
00004428: DUP2
00004429: MSTORE
0000442a: PUSH1 0x20
0000442c: ADD
0000442d: SWAP3
0000442e: POP
0000442f: POP
00004430: POP
00004431: PUSH1 0x00
00004433: PUSH1 0x40
00004435: MLOAD
00004436: DUP1
00004437: DUP4
00004438: SUB
00004439: DUP2
0000443a: PUSH1 0x00
0000443c: DUP8
0000443d: DUP1
0000443e: EXTCODESIZE
0000443f: ISZERO
00004440: DUP1
00004441: ISZERO
00004442: PUSH2 0x444a
00004445: JUMPI
00004446: PUSH1 0x00
00004448: DUP1
00004449: REVERT
0000444a: JUMPDEST
0000444b: POP
0000444c: GAS
0000444d: CALL
0000444e: ISZERO
0000444f: DUP1
00004450: ISZERO
00004451: PUSH2 0x445e
00004454: JUMPI
00004455: RETURNDATASIZE
00004456: PUSH1 0x00
00004458: DUP1
00004459: RETURNDATACOPY
0000445a: RETURNDATASIZE
0000445b: PUSH1 0x00
0000445d: REVERT
0000445e: JUMPDEST
0000445f: POP
00004460: POP
00004461: POP
00004462: POP
00004463: JUMPDEST
00004464: RETURNDATASIZE
00004465: DUP1
00004466: ISZERO
00004467: PUSH2 0x447b
0000446a: JUMPI
0000446b: PUSH1 0x20
0000446d: DUP2
0000446e: EQ
0000446f: PUSH2 0x4485
00004472: JUMPI
00004473: PUSH1 0x00
00004475: SWAP2
00004476: POP
00004477: PUSH2 0x4491
0000447a: JUMP
0000447b: JUMPDEST
0000447c: PUSH1 0x00
0000447e: NOT
0000447f: SWAP2
00004480: POP
00004481: PUSH2 0x4491
00004484: JUMP
00004485: JUMPDEST
00004486: PUSH1 0x20
00004488: PUSH1 0x00
0000448a: DUP1
0000448b: RETURNDATACOPY
0000448c: PUSH1 0x00
0000448e: MLOAD
0000448f: SWAP2
00004490: POP
00004491: JUMPDEST
00004492: POP
00004493: SWAP5
00004494: SWAP4
00004495: POP
00004496: POP
00004497: POP
00004498: POP
00004499: JUMP
0000449a: JUMPDEST
0000449b: PUSH1 0x00
0000449d: DUP1
0000449e: PUSH1 0x00
000044a0: PUSH2 0x44a8
000044a3: CALLER
000044a4: PUSH2 0x3c6e
000044a7: JUMP
000044a8: JUMPDEST
000044a9: SWAP1
000044aa: SWAP3
000044ab: POP
000044ac: SWAP1
000044ad: POP
000044ae: PUSH1 0x00
000044b0: DUP2
000044b1: PUSH2 0x44ba
000044b4: DUP7
000044b5: DUP6
000044b6: PUSH2 0x3403
000044b9: JUMP
000044ba: JUMPDEST
000044bb: DUP2
000044bc: ISZERO
000044bd: ISZERO
000044be: PUSH2 0x44c3
000044c1: JUMPI
000044c2: INVALID
000044c3: JUMPDEST
000044c4: DIV
000044c5: SWAP1
000044c6: POP
000044c7: PUSH1 0x00
000044c9: DUP2
000044ca: GT
000044cb: ISZERO
000044cc: PUSH2 0x4589
000044cf: JUMPI
000044d0: PUSH2 0x44d9
000044d3: DUP9
000044d4: DUP3
000044d5: PUSH2 0x4d61
000044d8: JUMP
000044d9: JUMPDEST
000044da: PUSH1 0x01
000044dc: PUSH1 0xa0
000044de: PUSH1 0x02
000044e0: EXP
000044e1: SUB
000044e2: DUP1
000044e3: DUP11
000044e4: AND
000044e5: PUSH1 0x00
000044e7: SWAP1
000044e8: DUP2
000044e9: MSTORE
000044ea: PUSH1 0x15
000044ec: PUSH1 0x20
000044ee: SWAP1
000044ef: DUP2
000044f0: MSTORE
000044f1: PUSH1 0x40
000044f3: DUP1
000044f4: DUP4
000044f5: KECCAK256
000044f6: SWAP4
000044f7: DUP13
000044f8: AND
000044f9: DUP4
000044fa: MSTORE
000044fb: SWAP3
000044fc: DUP2
000044fd: MSTORE
000044fe: DUP3
000044ff: DUP3
00004500: KECCAK256
00004501: PUSH1 0x01
00004503: DUP12
00004504: ADD
00004505: DUP4
00004506: MSTORE
00004507: SWAP1
00004508: MSTORE
00004509: KECCAK256
0000450a: SLOAD
0000450b: SWAP1
0000450c: SWAP2
0000450d: POP
0000450e: PUSH2 0x4517
00004511: DUP2
00004512: DUP4
00004513: PUSH2 0x27a7
00004516: JUMP
00004517: JUMPDEST
00004518: PUSH1 0x01
0000451a: PUSH1 0xa0
0000451c: PUSH1 0x02
0000451e: EXP
0000451f: SUB
00004520: DUP1
00004521: DUP12
00004522: AND
00004523: PUSH1 0x00
00004525: DUP2
00004526: DUP2
00004527: MSTORE
00004528: PUSH1 0x15
0000452a: PUSH1 0x20
0000452c: SWAP1
0000452d: DUP2
0000452e: MSTORE
0000452f: PUSH1 0x40
00004531: DUP1
00004532: DUP4
00004533: KECCAK256
00004534: SWAP5
00004535: DUP15
00004536: AND
00004537: DUP1
00004538: DUP5
00004539: MSTORE
0000453a: SWAP5
0000453b: DUP3
0000453c: MSTORE
0000453d: DUP1
0000453e: DUP4
0000453f: KECCAK256
00004540: PUSH1 0x01
00004542: DUP15
00004543: ADD
00004544: DUP5
00004545: MSTORE
00004546: DUP3
00004547: MSTORE
00004548: SWAP2
00004549: DUP3
0000454a: SWAP1
0000454b: KECCAK256
0000454c: SWAP5
0000454d: SWAP1
0000454e: SWAP5
0000454f: SSTORE
00004550: DUP1
00004551: MLOAD
00004552: DUP12
00004553: DUP2
00004554: MSTORE
00004555: SWAP4
00004556: DUP5
00004557: ADD
00004558: DUP7
00004559: SWAP1
0000455a: MSTORE
0000455b: DUP1
0000455c: MLOAD
0000455d: CALLER
0000455e: SWAP5
0000455f: PUSH32 0x30c4d3fe752442ffa2415fd4e6398cb9e378bab963f042ce30ef4363b6ad93b6
00004580: SWAP3
00004581: SWAP1
00004582: DUP3
00004583: SWAP1
00004584: SUB
00004585: ADD
00004586: SWAP1
00004587: LOG4
00004588: POP
00004589: JUMPDEST
0000458a: PUSH2 0x4593
0000458d: DUP6
0000458e: DUP3
0000458f: PUSH2 0x332f
00004592: JUMP
00004593: JUMPDEST
00004594: SWAP9
00004595: SWAP8
00004596: POP
00004597: POP
00004598: POP
00004599: POP
0000459a: POP
0000459b: POP
0000459c: POP
0000459d: POP
0000459e: JUMP
0000459f: JUMPDEST
000045a0: PUSH1 0x00
000045a2: DUP1
000045a3: PUSH2 0x45ac
000045a6: DUP5
000045a7: DUP5
000045a8: PUSH2 0x5027
000045ab: JUMP
000045ac: JUMPDEST
000045ad: PUSH1 0x0a
000045af: SLOAD
000045b0: SWAP2
000045b1: SWAP4
000045b2: POP
000045b3: SWAP2
000045b4: POP
000045b5: DUP1
000045b6: DUP4
000045b7: LT
000045b8: DUP1
000045b9: ISZERO
000045ba: SWAP2
000045bb: DUP4
000045bc: LT
000045bd: ISZERO
000045be: SWAP1
000045bf: PUSH1 0x00
000045c1: SWAP1
000045c2: DUP4
000045c3: SWAP1
000045c4: PUSH2 0x45ca
000045c7: JUMPI
000045c8: POP
000045c9: DUP2
000045ca: JUMPDEST
000045cb: ISZERO
000045cc: PUSH2 0x45d7
000045cf: JUMPI
000045d0: POP
000045d1: PUSH1 0x01
000045d3: PUSH2 0x4611
000045d6: JUMP
000045d7: JUMPDEST
000045d8: DUP3
000045d9: DUP1
000045da: PUSH2 0x45e0
000045dd: JUMPI
000045de: POP
000045df: DUP2
000045e0: JUMPDEST
000045e1: ISZERO
000045e2: PUSH2 0x4611
000045e5: JUMPI
000045e6: PUSH1 0x00
000045e8: PUSH2 0x45f1
000045eb: DUP9
000045ec: DUP9
000045ed: PUSH2 0x1752
000045f0: JUMP
000045f1: JUMPDEST
000045f2: SWAP1
000045f3: POP
000045f4: PUSH1 0x00
000045f6: PUSH2 0x4603
000045f9: DUP10
000045fa: DUP10
000045fb: PUSH1 0x01
000045fd: DUP6
000045fe: SUB
000045ff: PUSH2 0x2762
00004602: JUMP
00004603: JUMPDEST
00004604: PUSH3 0x01517f
00004608: NOT
00004609: TIMESTAMP
0000460a: ADD
0000460b: LT
0000460c: ISZERO
0000460d: SWAP3
0000460e: POP
0000460f: POP
00004610: POP
00004611: JUMPDEST
00004612: DUP1
00004613: ISZERO
00004614: PUSH2 0x4629
00004617: JUMPI
00004618: PUSH2 0x4624
0000461b: DUP8
0000461c: DUP8
0000461d: PUSH2 0x0258
00004620: PUSH2 0x5165
00004623: JUMP
00004624: JUMPDEST
00004625: PUSH2 0x2b2e
00004628: JUMP
00004629: JUMPDEST
0000462a: PUSH2 0x2b2e
0000462d: DUP8
0000462e: DUP8
0000462f: PUSH2 0x51f9
00004632: JUMP
00004633: JUMPDEST
00004634: PUSH1 0x01
00004636: PUSH1 0xa0
00004638: PUSH1 0x02
0000463a: EXP
0000463b: SUB
0000463c: DUP1
0000463d: DUP6
0000463e: AND
0000463f: PUSH1 0x00
00004641: DUP2
00004642: DUP2
00004643: MSTORE
00004644: PUSH1 0x13
00004646: PUSH1 0x20
00004648: SWAP1
00004649: DUP2
0000464a: MSTORE
0000464b: PUSH1 0x40
0000464d: DUP1
0000464e: DUP4
0000464f: KECCAK256
00004650: SWAP5
00004651: DUP9
00004652: AND
00004653: DUP1
00004654: DUP5
00004655: MSTORE
00004656: SWAP5
00004657: DUP3
00004658: MSTORE
00004659: DUP1
0000465a: DUP4
0000465b: KECCAK256
0000465c: SLOAD
0000465d: PUSH1 0x11
0000465f: DUP4
00004660: MSTORE
00004661: DUP2
00004662: DUP5
00004663: KECCAK256
00004664: DUP6
00004665: DUP6
00004666: MSTORE
00004667: DUP4
00004668: MSTORE
00004669: DUP2
0000466a: DUP5
0000466b: KECCAK256
0000466c: SLOAD
0000466d: SWAP6
0000466e: DUP5
0000466f: MSTORE
00004670: PUSH1 0x10
00004672: DUP4
00004673: MSTORE
00004674: DUP2
00004675: DUP5
00004676: KECCAK256
00004677: SWAP5
00004678: DUP5
00004679: MSTORE
0000467a: SWAP4
0000467b: DUP3
0000467c: MSTORE
0000467d: DUP1
0000467e: DUP4
0000467f: KECCAK256
00004680: DUP8
00004681: DUP5
00004682: MSTORE
00004683: SWAP1
00004684: SWAP2
00004685: MSTORE
00004686: DUP2
00004687: KECCAK256
00004688: PUSH1 0x01
0000468a: ADD
0000468b: SLOAD
0000468c: SWAP2
0000468d: SWAP3
0000468e: SWAP2
0000468f: SWAP1
00004690: PUSH2 0x4699
00004693: DUP9
00004694: DUP9
00004695: PUSH2 0x35f4
00004698: JUMP
00004699: JUMPDEST
0000469a: SWAP1
0000469b: POP
0000469c: PUSH1 0x00
0000469e: DUP6
0000469f: GT
000046a0: ISZERO
000046a1: PUSH2 0x46f0
000046a4: JUMPI
000046a5: PUSH1 0x40
000046a7: DUP1
000046a8: MLOAD
000046a9: DUP1
000046aa: DUP3
000046ab: ADD
000046ac: DUP3
000046ad: MSTORE
000046ae: DUP6
000046af: DUP2
000046b0: MSTORE
000046b1: PUSH1 0x20
000046b3: DUP1
000046b4: DUP3
000046b5: ADD
000046b6: DUP9
000046b7: DUP2
000046b8: MSTORE
000046b9: PUSH1 0x01
000046bb: PUSH1 0xa0
000046bd: PUSH1 0x02
000046bf: EXP
000046c0: SUB
000046c1: DUP1
000046c2: DUP14
000046c3: AND
000046c4: PUSH1 0x00
000046c6: SWAP1
000046c7: DUP2
000046c8: MSTORE
000046c9: PUSH1 0x10
000046cb: DUP5
000046cc: MSTORE
000046cd: DUP6
000046ce: DUP2
000046cf: KECCAK256
000046d0: SWAP2
000046d1: DUP14
000046d2: AND
000046d3: DUP2
000046d4: MSTORE
000046d5: SWAP1
000046d6: DUP4
000046d7: MSTORE
000046d8: DUP5
000046d9: DUP2
000046da: KECCAK256
000046db: DUP12
000046dc: DUP3
000046dd: MSTORE
000046de: SWAP1
000046df: SWAP3
000046e0: MSTORE
000046e1: SWAP3
000046e2: SWAP1
000046e3: KECCAK256
000046e4: SWAP1
000046e5: MLOAD
000046e6: DUP2
000046e7: SSTORE
000046e8: SWAP1
000046e9: MLOAD
000046ea: PUSH1 0x01
000046ec: SWAP1
000046ed: SWAP2
000046ee: ADD
000046ef: SSTORE
000046f0: JUMPDEST
000046f1: DUP3
000046f2: ISZERO
000046f3: DUP1
000046f4: PUSH2 0x4702
000046f7: JUMPI
000046f8: POP
000046f9: DUP1
000046fa: PUSH3 0x015180
000046fe: ADD
000046ff: TIMESTAMP
00004700: LT
00004701: ISZERO
00004702: JUMPDEST
00004703: DUP1
00004704: PUSH2 0x470d
00004707: JUMPI
00004708: POP
00004709: PUSH1 0x00
0000470b: DUP3
0000470c: GT
0000470d: JUMPDEST
0000470e: ISZERO
0000470f: PUSH2 0x48fa
00004712: JUMPI
00004713: PUSH1 0x01
00004715: PUSH1 0xa0
00004717: PUSH1 0x02
00004719: EXP
0000471a: SUB
0000471b: DUP1
0000471c: DUP9
0000471d: AND
0000471e: PUSH1 0x00
00004720: SWAP1
00004721: DUP2
00004722: MSTORE
00004723: PUSH1 0x13
00004725: PUSH1 0x20
00004727: SWAP1
00004728: DUP2
00004729: MSTORE
0000472a: PUSH1 0x40
0000472c: DUP1
0000472d: DUP4
0000472e: KECCAK256
0000472f: SWAP4
00004730: DUP13
00004731: AND
00004732: DUP4
00004733: MSTORE
00004734: SWAP3
00004735: SWAP1
00004736: MSTORE
00004737: KECCAK256
00004738: SLOAD
00004739: DUP3
0000473a: ISZERO
0000473b: DUP1
0000473c: ISZERO
0000473d: PUSH2 0x4746
00004740: JUMPI
00004741: POP
00004742: PUSH1 0x00
00004744: DUP5
00004745: GT
00004746: JUMPDEST
00004747: ISZERO
00004748: PUSH2 0x4797
0000474b: JUMPI
0000474c: PUSH1 0x40
0000474e: DUP1
0000474f: MLOAD
00004750: DUP1
00004751: DUP3
00004752: ADD
00004753: DUP3
00004754: MSTORE
00004755: DUP3
00004756: DUP2
00004757: MSTORE
00004758: PUSH1 0x20
0000475a: DUP1
0000475b: DUP3
0000475c: ADD
0000475d: DUP8
0000475e: DUP2
0000475f: MSTORE
00004760: PUSH1 0x01
00004762: PUSH1 0xa0
00004764: PUSH1 0x02
00004766: EXP
00004767: SUB
00004768: DUP1
00004769: DUP14
0000476a: AND
0000476b: PUSH1 0x00
0000476d: SWAP1
0000476e: DUP2
0000476f: MSTORE
00004770: PUSH1 0x10
00004772: DUP5
00004773: MSTORE
00004774: DUP6
00004775: DUP2
00004776: KECCAK256
00004777: SWAP2
00004778: DUP16
00004779: AND
0000477a: DUP2
0000477b: MSTORE
0000477c: SWAP1
0000477d: DUP4
0000477e: MSTORE
0000477f: DUP5
00004780: DUP2
00004781: KECCAK256
00004782: DUP13
00004783: DUP3
00004784: MSTORE
00004785: SWAP1
00004786: SWAP3
00004787: MSTORE
00004788: SWAP3
00004789: SWAP1
0000478a: KECCAK256
0000478b: SWAP1
0000478c: MLOAD
0000478d: DUP2
0000478e: SSTORE
0000478f: SWAP1
00004790: MLOAD
00004791: PUSH1 0x01
00004793: SWAP1
00004794: SWAP2
00004795: ADD
00004796: SSTORE
00004797: JUMPDEST
00004798: PUSH1 0x01
0000479a: PUSH1 0xa0
0000479c: PUSH1 0x02
0000479e: EXP
0000479f: SUB
000047a0: DUP1
000047a1: DUP11
000047a2: AND
000047a3: PUSH1 0x00
000047a5: DUP2
000047a6: DUP2
000047a7: MSTORE
000047a8: PUSH1 0x12
000047aa: PUSH1 0x20
000047ac: DUP2
000047ad: DUP2
000047ae: MSTORE
000047af: PUSH1 0x40
000047b1: DUP1
000047b2: DUP5
000047b3: KECCAK256
000047b4: SWAP6
000047b5: DUP15
000047b6: AND
000047b7: DUP1
000047b8: DUP6
000047b9: MSTORE
000047ba: SWAP6
000047bb: DUP3
000047bc: MSTORE
000047bd: DUP1
000047be: DUP5
000047bf: KECCAK256
000047c0: SLOAD
000047c1: SWAP3
000047c2: DUP3
000047c3: MSTORE
000047c4: DUP1
000047c5: DUP5
000047c6: KECCAK256
000047c7: SWAP5
000047c8: DUP5
000047c9: MSTORE
000047ca: SWAP4
000047cb: DUP2
000047cc: MSTORE
000047cd: DUP4
000047ce: DUP4
000047cf: KECCAK256
000047d0: SLOAD
000047d1: PUSH1 0x11
000047d3: DUP3
000047d4: MSTORE
000047d5: DUP5
000047d6: DUP5
000047d7: KECCAK256
000047d8: SWAP6
000047d9: DUP5
000047da: MSTORE
000047db: SWAP5
000047dc: SWAP1
000047dd: MSTORE
000047de: SWAP2
000047df: DUP2
000047e0: KECCAK256
000047e1: DUP3
000047e2: SWAP1
000047e3: SSTORE
000047e4: SWAP1
000047e5: SWAP2
000047e6: SWAP1
000047e7: DUP3
000047e8: GT
000047e9: ISZERO
000047ea: PUSH2 0x4816
000047ed: JUMPI
000047ee: PUSH1 0x01
000047f0: PUSH1 0xa0
000047f2: PUSH1 0x02
000047f4: EXP
000047f5: SUB
000047f6: DUP1
000047f7: DUP13
000047f8: AND
000047f9: PUSH1 0x00
000047fb: SWAP1
000047fc: DUP2
000047fd: MSTORE
000047fe: PUSH1 0x12
00004800: PUSH1 0x20
00004802: SWAP1
00004803: DUP2
00004804: MSTORE
00004805: PUSH1 0x40
00004807: DUP1
00004808: DUP4
00004809: KECCAK256
0000480a: SWAP4
0000480b: DUP15
0000480c: AND
0000480d: DUP4
0000480e: MSTORE
0000480f: SWAP3
00004810: SWAP1
00004811: MSTORE
00004812: SWAP1
00004813: DUP2
00004814: KECCAK256
00004815: SSTORE
00004816: JUMPDEST
00004817: PUSH1 0x00
00004819: DUP8
0000481a: GT
0000481b: ISZERO
0000481c: PUSH2 0x4848
0000481f: JUMPI
00004820: PUSH1 0x01
00004822: PUSH1 0xa0
00004824: PUSH1 0x02
00004826: EXP
00004827: SUB
00004828: DUP1
00004829: DUP13
0000482a: AND
0000482b: PUSH1 0x00
0000482d: SWAP1
0000482e: DUP2
0000482f: MSTORE
00004830: PUSH1 0x13
00004832: PUSH1 0x20
00004834: SWAP1
00004835: DUP2
00004836: MSTORE
00004837: PUSH1 0x40
00004839: DUP1
0000483a: DUP4
0000483b: KECCAK256
0000483c: SWAP4
0000483d: DUP15
0000483e: AND
0000483f: DUP4
00004840: MSTORE
00004841: SWAP3
00004842: SWAP1
00004843: MSTORE
00004844: SWAP1
00004845: DUP2
00004846: KECCAK256
00004847: SSTORE
00004848: JUMPDEST
00004849: PUSH1 0x01
0000484b: PUSH1 0xa0
0000484d: PUSH1 0x02
0000484f: EXP
00004850: SUB
00004851: DUP1
00004852: DUP12
00004853: AND
00004854: PUSH1 0x00
00004856: SWAP1
00004857: DUP2
00004858: MSTORE
00004859: PUSH1 0x11
0000485b: PUSH1 0x20
0000485d: SWAP1
0000485e: DUP2
0000485f: MSTORE
00004860: PUSH1 0x40
00004862: DUP1
00004863: DUP4
00004864: KECCAK256
00004865: SWAP4
00004866: DUP16
00004867: AND
00004868: DUP4
00004869: MSTORE
0000486a: SWAP3
0000486b: SWAP1
0000486c: MSTORE
0000486d: SWAP1
0000486e: DUP2
0000486f: KECCAK256
00004870: DUP3
00004871: SWAP1
00004872: SSTORE
00004873: DUP2
00004874: GT
00004875: ISZERO
00004876: PUSH2 0x48a2
00004879: JUMPI
0000487a: PUSH1 0x01
0000487c: PUSH1 0xa0
0000487e: PUSH1 0x02
00004880: EXP
00004881: SUB
00004882: DUP1
00004883: DUP12
00004884: AND
00004885: PUSH1 0x00
00004887: SWAP1
00004888: DUP2
00004889: MSTORE
0000488a: PUSH1 0x12
0000488c: PUSH1 0x20
0000488e: SWAP1
0000488f: DUP2
00004890: MSTORE
00004891: PUSH1 0x40
00004893: DUP1
00004894: DUP4
00004895: KECCAK256
00004896: SWAP4
00004897: DUP16
00004898: AND
00004899: DUP4
0000489a: MSTORE
0000489b: SWAP3
0000489c: SWAP1
0000489d: MSTORE
0000489e: SWAP1
0000489f: DUP2
000048a0: KECCAK256
000048a1: SSTORE
000048a2: JUMPDEST
000048a3: PUSH1 0x00
000048a5: DUP4
000048a6: GT
000048a7: ISZERO
000048a8: PUSH2 0x48d4
000048ab: JUMPI
000048ac: PUSH1 0x01
000048ae: PUSH1 0xa0
000048b0: PUSH1 0x02
000048b2: EXP
000048b3: SUB
000048b4: DUP1
000048b5: DUP12
000048b6: AND
000048b7: PUSH1 0x00
000048b9: SWAP1
000048ba: DUP2
000048bb: MSTORE
000048bc: PUSH1 0x13
000048be: PUSH1 0x20
000048c0: SWAP1
000048c1: DUP2
000048c2: MSTORE
000048c3: PUSH1 0x40
000048c5: DUP1
000048c6: DUP4
000048c7: KECCAK256
000048c8: SWAP4
000048c9: DUP16
000048ca: AND
000048cb: DUP4
000048cc: MSTORE
000048cd: SWAP3
000048ce: SWAP1
000048cf: MSTORE
000048d0: SWAP1
000048d1: DUP2
000048d2: KECCAK256
000048d3: SSTORE
000048d4: JUMPDEST
000048d5: PUSH2 0x48e2
000048d8: DUP12
000048d9: DUP12
000048da: DUP12
000048db: DUP8
000048dc: DUP13
000048dd: DUP13
000048de: PUSH2 0x5263
000048e1: JUMP
000048e2: JUMPDEST
000048e3: PUSH2 0x48ec
000048e6: DUP12
000048e7: DUP12
000048e8: PUSH2 0x4aab
000048eb: JUMP
000048ec: JUMPDEST
000048ed: PUSH2 0x48f6
000048f0: DUP12
000048f1: DUP12
000048f2: PUSH2 0x459f
000048f5: JUMP
000048f6: JUMPDEST
000048f7: POP
000048f8: POP
000048f9: POP
000048fa: JUMPDEST
000048fb: DUP6
000048fc: DUP8
000048fd: PUSH1 0x01
000048ff: PUSH1 0xa0
00004901: PUSH1 0x02
00004903: EXP
00004904: SUB
00004905: AND
00004906: DUP10
00004907: PUSH1 0x01
00004909: PUSH1 0xa0
0000490b: PUSH1 0x02
0000490d: EXP
0000490e: SUB
0000490f: AND
00004910: PUSH32 0xb5806f8610464e96807c2b147620cc721c65309647f16cfccdf9fb7bd95152ac
00004931: DUP9
00004932: DUP9
00004933: PUSH1 0x40
00004935: MLOAD
00004936: DUP1
00004937: DUP4
00004938: DUP2
00004939: MSTORE
0000493a: PUSH1 0x20
0000493c: ADD
0000493d: DUP3
0000493e: DUP2
0000493f: MSTORE
00004940: PUSH1 0x20
00004942: ADD
00004943: SWAP3
00004944: POP
00004945: POP
00004946: POP
00004947: PUSH1 0x40
00004949: MLOAD
0000494a: DUP1
0000494b: SWAP2
0000494c: SUB
0000494d: SWAP1
0000494e: LOG4
0000494f: POP
00004950: POP
00004951: POP
00004952: POP
00004953: POP
00004954: POP
00004955: POP
00004956: POP
00004957: JUMP
00004958: JUMPDEST
00004959: PUSH1 0x01
0000495b: PUSH1 0xa0
0000495d: PUSH1 0x02
0000495f: EXP
00004960: SUB
00004961: DUP7
00004962: AND
00004963: PUSH1 0x00
00004965: SWAP1
00004966: DUP2
00004967: MSTORE
00004968: PUSH1 0x04
0000496a: PUSH1 0x20
0000496c: MSTORE
0000496d: PUSH1 0x40
0000496f: DUP2
00004970: KECCAK256
00004971: SLOAD
00004972: PUSH1 0xff
00004974: AND
00004975: DUP1
00004976: ISZERO
00004977: PUSH2 0x4998
0000497a: JUMPI
0000497b: POP
0000497c: PUSH1 0x01
0000497e: PUSH1 0xa0
00004980: PUSH1 0x02
00004982: EXP
00004983: SUB
00004984: DUP7
00004985: AND
00004986: PUSH1 0x00
00004988: SWAP1
00004989: DUP2
0000498a: MSTORE
0000498b: PUSH1 0x04
0000498d: PUSH1 0x20
0000498f: MSTORE
00004990: PUSH1 0x40
00004992: SWAP1
00004993: KECCAK256
00004994: SLOAD
00004995: PUSH1 0xff
00004997: AND
00004998: JUMPDEST
00004999: ISZERO
0000499a: PUSH2 0x4aa1
0000499d: JUMPI
0000499e: PUSH1 0x08
000049a0: SLOAD
000049a1: PUSH1 0x01
000049a3: PUSH1 0xa0
000049a5: PUSH1 0x02
000049a7: EXP
000049a8: SUB
000049a9: SWAP1
000049aa: DUP2
000049ab: AND
000049ac: SWAP1
000049ad: DUP9
000049ae: AND
000049af: DUP2
000049b0: EQ
000049b1: ISZERO
000049b2: PUSH2 0x49bd
000049b5: JUMPI
000049b6: DUP4
000049b7: SWAP2
000049b8: POP
000049b9: PUSH2 0x4a0f
000049bc: JUMP
000049bd: JUMPDEST
000049be: DUP1
000049bf: PUSH1 0x01
000049c1: PUSH1 0xa0
000049c3: PUSH1 0x02
000049c5: EXP
000049c6: SUB
000049c7: AND
000049c8: DUP8
000049c9: PUSH1 0x01
000049cb: PUSH1 0xa0
000049cd: PUSH1 0x02
000049cf: EXP
000049d0: SUB
000049d1: AND
000049d2: EQ
000049d3: ISZERO
000049d4: PUSH2 0x49df
000049d7: JUMPI
000049d8: DUP6
000049d9: SWAP2
000049da: POP
000049db: PUSH2 0x4a0f
000049de: JUMP
000049df: JUMPDEST
000049e0: PUSH1 0x00
000049e2: DUP1
000049e3: PUSH2 0x49f0
000049e6: DUP11
000049e7: DUP5
000049e8: PUSH1 0x01
000049ea: DUP11
000049eb: SUB
000049ec: PUSH2 0x1a9c
000049ef: JUMP
000049f0: JUMPDEST
000049f1: SWAP1
000049f2: SWAP3
000049f3: POP
000049f4: SWAP1
000049f5: POP
000049f6: DUP1
000049f7: PUSH2 0x4a00
000049fa: DUP8
000049fb: DUP5
000049fc: PUSH2 0x3403
000049ff: JUMP
00004a00: JUMPDEST
00004a01: DUP2
00004a02: ISZERO
00004a03: ISZERO
00004a04: PUSH2 0x4a09
00004a07: JUMPI
00004a08: INVALID
00004a09: JUMPDEST
00004a0a: DIV
00004a0b: SWAP4
00004a0c: POP
00004a0d: POP
00004a0e: POP
00004a0f: JUMPDEST
00004a10: PUSH1 0x00
00004a12: DUP3
00004a13: GT
00004a14: ISZERO
00004a15: PUSH2 0x4a9f
00004a18: JUMPI
00004a19: PUSH1 0x0b
00004a1b: SLOAD
00004a1c: PUSH1 0x40
00004a1e: DUP1
00004a1f: MLOAD
00004a20: PUSH32 0xf0dda65c00000000000000000000000000000000000000000000000000000000
00004a41: DUP2
00004a42: MSTORE
00004a43: PUSH1 0x01
00004a45: PUSH1 0xa0
00004a47: PUSH1 0x02
00004a49: EXP
00004a4a: SUB
00004a4b: DUP7
00004a4c: DUP2
00004a4d: AND
00004a4e: PUSH1 0x04
00004a50: DUP4
00004a51: ADD
00004a52: MSTORE
00004a53: PUSH1 0x24
00004a55: DUP3
00004a56: ADD
00004a57: DUP7
00004a58: SWAP1
00004a59: MSTORE
00004a5a: SWAP2
00004a5b: MLOAD
00004a5c: SWAP2
00004a5d: SWAP1
00004a5e: SWAP3
00004a5f: AND
00004a60: SWAP2
00004a61: PUSH4 0xf0dda65c
00004a66: SWAP2
00004a67: PUSH1 0x44
00004a69: DUP1
00004a6a: DUP4
00004a6b: ADD
00004a6c: SWAP3
00004a6d: PUSH1 0x00
00004a6f: SWAP3
00004a70: SWAP2
00004a71: SWAP1
00004a72: DUP3
00004a73: SWAP1
00004a74: SUB
00004a75: ADD
00004a76: DUP2
00004a77: DUP4
00004a78: DUP8
00004a79: DUP1
00004a7a: EXTCODESIZE
00004a7b: ISZERO
00004a7c: DUP1
00004a7d: ISZERO
00004a7e: PUSH2 0x4a86
00004a81: JUMPI
00004a82: PUSH1 0x00
00004a84: DUP1
00004a85: REVERT
00004a86: JUMPDEST
00004a87: POP
00004a88: GAS
00004a89: CALL
00004a8a: ISZERO
00004a8b: DUP1
00004a8c: ISZERO
00004a8d: PUSH2 0x4a9a
00004a90: JUMPI
00004a91: RETURNDATASIZE
00004a92: PUSH1 0x00
00004a94: DUP1
00004a95: RETURNDATACOPY
00004a96: RETURNDATASIZE
00004a97: PUSH1 0x00
00004a99: REVERT
00004a9a: JUMPDEST
00004a9b: POP
00004a9c: POP
00004a9d: POP
00004a9e: POP
00004a9f: JUMPDEST
00004aa0: POP
00004aa1: JUMPDEST
00004aa2: SWAP7
00004aa3: SWAP6
00004aa4: POP
00004aa5: POP
00004aa6: POP
00004aa7: POP
00004aa8: POP
00004aa9: POP
00004aaa: JUMP
00004aab: JUMPDEST
00004aac: PUSH2 0x4ab5
00004aaf: DUP3
00004ab0: DUP3
00004ab1: PUSH2 0x145f
00004ab4: JUMP
00004ab5: JUMPDEST
00004ab6: PUSH1 0x01
00004ab8: PUSH1 0xa0
00004aba: PUSH1 0x02
00004abc: EXP
00004abd: SUB
00004abe: SWAP2
00004abf: DUP3
00004ac0: AND
00004ac1: PUSH1 0x00
00004ac3: SWAP1
00004ac4: DUP2
00004ac5: MSTORE
00004ac6: PUSH1 0x0d
00004ac8: PUSH1 0x20
00004aca: SWAP1
00004acb: DUP2
00004acc: MSTORE
00004acd: PUSH1 0x40
00004acf: DUP1
00004ad0: DUP4
00004ad1: KECCAK256
00004ad2: SWAP4
00004ad3: SWAP1
00004ad4: SWAP5
00004ad5: AND
00004ad6: DUP3
00004ad7: MSTORE
00004ad8: SWAP2
00004ad9: SWAP1
00004ada: SWAP2
00004adb: MSTORE
00004adc: KECCAK256
00004add: DUP1
00004ade: SLOAD
00004adf: PUSH1 0x01
00004ae1: ADD
00004ae2: SWAP1
00004ae3: SSTORE
00004ae4: POP
00004ae5: POP
00004ae6: JUMP
00004ae7: JUMPDEST
00004ae8: PUSH1 0x00
00004aea: DUP1
00004aeb: PUSH2 0x4af4
00004aee: DUP9
00004aef: DUP6
00004af0: PUSH2 0x1752
00004af3: JUMP
00004af4: JUMPDEST
00004af5: GT
00004af6: PUSH2 0x4afe
00004af9: JUMPI
00004afa: PUSH1 0x00
00004afc: DUP1
00004afd: REVERT
00004afe: JUMPDEST
00004aff: PUSH1 0x00
00004b01: PUSH2 0x4b0a
00004b04: DUP8
00004b05: DUP6
00004b06: PUSH2 0x1752
00004b09: JUMP
00004b0a: JUMPDEST
00004b0b: GT
00004b0c: PUSH2 0x4b14
00004b0f: JUMPI
00004b10: PUSH1 0x00
00004b12: DUP1
00004b13: REVERT
00004b14: JUMPDEST
00004b15: PUSH1 0x00
00004b17: DUP1
00004b18: PUSH2 0x4b20
00004b1b: DUP10
00004b1c: PUSH2 0x3f49
00004b1f: JUMP
00004b20: JUMPDEST
00004b21: SWAP1
00004b22: SWAP3
00004b23: POP
00004b24: SWAP1
00004b25: POP
00004b26: PUSH1 0x00
00004b28: DUP1
00004b29: PUSH2 0x4b31
00004b2c: DUP11
00004b2d: PUSH2 0x3f49
00004b30: JUMP
00004b31: JUMPDEST
00004b32: SWAP1
00004b33: SWAP3
00004b34: POP
00004b35: SWAP1
00004b36: POP
00004b37: PUSH1 0x00
00004b39: PUSH2 0x4b63
00004b3c: DUP5
00004b3d: PUSH2 0x4b46
00004b40: DUP13
00004b41: DUP9
00004b42: PUSH2 0x3403
00004b45: JUMP
00004b46: JUMPDEST
00004b47: DUP2
00004b48: ISZERO
00004b49: ISZERO
00004b4a: PUSH2 0x4b4f
00004b4d: JUMPI
00004b4e: INVALID
00004b4f: JUMPDEST
00004b50: DIV
00004b51: DUP4
00004b52: DUP6
00004b53: DUP13
00004b54: MUL
00004b55: DUP2
00004b56: ISZERO
00004b57: ISZERO
00004b58: PUSH2 0x4b5d
00004b5b: JUMPI
00004b5c: INVALID
00004b5d: JUMPDEST
00004b5e: DIV
00004b5f: PUSH2 0x27a7
00004b62: JUMP
00004b63: JUMPDEST
00004b64: SWAP1
00004b65: POP
00004b66: PUSH2 0x4b6f
00004b69: DUP2
00004b6a: DUP9
00004b6b: PUSH2 0x3403
00004b6e: JUMP
00004b6f: JUMPDEST
00004b70: SWAP13
00004b71: SWAP12
00004b72: POP
00004b73: POP
00004b74: POP
00004b75: POP
00004b76: POP
00004b77: POP
00004b78: POP
00004b79: POP
00004b7a: POP
00004b7b: POP
00004b7c: POP
00004b7d: POP
00004b7e: JUMP
00004b7f: JUMPDEST
00004b80: PUSH1 0x01
00004b82: PUSH1 0xa0
00004b84: PUSH1 0x02
00004b86: EXP
00004b87: SUB
00004b88: DUP5
00004b89: AND
00004b8a: PUSH1 0x00
00004b8c: SWAP1
00004b8d: DUP2
00004b8e: MSTORE
00004b8f: PUSH1 0x14
00004b91: PUSH1 0x20
00004b93: SWAP1
00004b94: DUP2
00004b95: MSTORE
00004b96: PUSH1 0x40
00004b98: DUP1
00004b99: DUP4
00004b9a: KECCAK256
00004b9b: CALLER
00004b9c: DUP5
00004b9d: MSTORE
00004b9e: SWAP1
00004b9f: SWAP2
00004ba0: MSTORE
00004ba1: SWAP1
00004ba2: KECCAK256
00004ba3: SLOAD
00004ba4: PUSH2 0x4bad
00004ba7: SWAP1
00004ba8: DUP4
00004ba9: PUSH2 0x332f
00004bac: JUMP
00004bad: JUMPDEST
00004bae: PUSH1 0x01
00004bb0: PUSH1 0xa0
00004bb2: PUSH1 0x02
00004bb4: EXP
00004bb5: SUB
00004bb6: DUP1
00004bb7: DUP7
00004bb8: AND
00004bb9: PUSH1 0x00
00004bbb: SWAP1
00004bbc: DUP2
00004bbd: MSTORE
00004bbe: PUSH1 0x14
00004bc0: PUSH1 0x20
00004bc2: DUP2
00004bc3: DUP2
00004bc4: MSTORE
00004bc5: PUSH1 0x40
00004bc7: DUP1
00004bc8: DUP5
00004bc9: KECCAK256
00004bca: CALLER
00004bcb: DUP1
00004bcc: DUP7
00004bcd: MSTORE
00004bce: SWAP1
00004bcf: DUP4
00004bd0: MSTORE
00004bd1: DUP2
00004bd2: DUP6
00004bd3: KECCAK256
00004bd4: SWAP7
00004bd5: SWAP1
00004bd6: SWAP7
00004bd7: SSTORE
00004bd8: SWAP4
00004bd9: DUP9
00004bda: AND
00004bdb: DUP4
00004bdc: MSTORE
00004bdd: SWAP1
00004bde: DUP2
00004bdf: MSTORE
00004be0: DUP3
00004be1: DUP3
00004be2: KECCAK256
00004be3: SWAP4
00004be4: DUP3
00004be5: MSTORE
00004be6: SWAP3
00004be7: SWAP1
00004be8: SWAP3
00004be9: MSTORE
00004bea: SWAP1
00004beb: KECCAK256
00004bec: SLOAD
00004bed: PUSH2 0x4bf6
00004bf0: SWAP1
00004bf1: DUP3
00004bf2: PUSH2 0x332f
00004bf5: JUMP
00004bf6: JUMPDEST
00004bf7: PUSH1 0x01
00004bf9: PUSH1 0xa0
00004bfb: PUSH1 0x02
00004bfd: EXP
00004bfe: SUB
00004bff: DUP5
00004c00: AND
00004c01: PUSH1 0x00
00004c03: SWAP1
00004c04: DUP2
00004c05: MSTORE
00004c06: PUSH1 0x14
00004c08: PUSH1 0x20
00004c0a: SWAP1
00004c0b: DUP2
00004c0c: MSTORE
00004c0d: PUSH1 0x40
00004c0f: DUP1
00004c10: DUP4
00004c11: KECCAK256
00004c12: CALLER
00004c13: DUP5
00004c14: MSTORE
00004c15: SWAP1
00004c16: SWAP2
00004c17: MSTORE
00004c18: DUP2
00004c19: KECCAK256
00004c1a: SWAP2
00004c1b: SWAP1
00004c1c: SWAP2
00004c1d: SSTORE
00004c1e: PUSH2 0x4c2a
00004c21: DUP6
00004c22: DUP6
00004c23: PUSH1 0x01
00004c25: DUP7
00004c26: PUSH2 0x449a
00004c29: JUMP
00004c2a: JUMPDEST
00004c2b: SWAP1
00004c2c: POP
00004c2d: PUSH1 0x00
00004c2f: PUSH2 0x4c3b
00004c32: DUP6
00004c33: DUP8
00004c34: PUSH1 0x01
00004c36: DUP7
00004c37: PUSH2 0x449a
00004c3a: JUMP
00004c3b: JUMPDEST
00004c3c: PUSH1 0x01
00004c3e: PUSH1 0xa0
00004c40: PUSH1 0x02
00004c42: EXP
00004c43: SUB
00004c44: DUP1
00004c45: DUP9
00004c46: AND
00004c47: PUSH1 0x00
00004c49: DUP2
00004c4a: DUP2
00004c4b: MSTORE
00004c4c: PUSH1 0x11
00004c4e: PUSH1 0x20
00004c50: DUP2
00004c51: DUP2
00004c52: MSTORE
00004c53: PUSH1 0x40
00004c55: DUP1
00004c56: DUP5
00004c57: KECCAK256
00004c58: SWAP6
00004c59: DUP13
00004c5a: AND
00004c5b: DUP1
00004c5c: DUP6
00004c5d: MSTORE
00004c5e: SWAP6
00004c5f: DUP3
00004c60: MSTORE
00004c61: DUP1
00004c62: DUP5
00004c63: KECCAK256
00004c64: DUP10
00004c65: SWAP1
00004c66: SSTORE
00004c67: SWAP2
00004c68: DUP2
00004c69: MSTORE
00004c6a: DUP2
00004c6b: DUP4
00004c6c: KECCAK256
00004c6d: DUP5
00004c6e: DUP5
00004c6f: MSTORE
00004c70: DUP2
00004c71: MSTORE
00004c72: DUP2
00004c73: DUP4
00004c74: KECCAK256
00004c75: DUP7
00004c76: SWAP1
00004c77: SSTORE
00004c78: PUSH1 0x16
00004c7a: DUP1
00004c7b: DUP3
00004c7c: MSTORE
00004c7d: DUP3
00004c7e: DUP5
00004c7f: KECCAK256
00004c80: DUP7
00004c81: DUP6
00004c82: MSTORE
00004c83: DUP3
00004c84: MSTORE
00004c85: DUP3
00004c86: DUP5
00004c87: KECCAK256
00004c88: PUSH1 0x01
00004c8a: DUP1
00004c8b: DUP7
00004c8c: MSTORE
00004c8d: SWAP1
00004c8e: DUP4
00004c8f: MSTORE
00004c90: DUP4
00004c91: DUP6
00004c92: KECCAK256
00004c93: CALLER
00004c94: DUP1
00004c95: DUP8
00004c96: MSTORE
00004c97: SWAP1
00004c98: DUP5
00004c99: MSTORE
00004c9a: DUP5
00004c9b: DUP7
00004c9c: KECCAK256
00004c9d: DUP12
00004c9e: SWAP1
00004c9f: SSTORE
00004ca0: SWAP7
00004ca1: DUP6
00004ca2: MSTORE
00004ca3: SWAP1
00004ca4: DUP3
00004ca5: MSTORE
00004ca6: DUP3
00004ca7: DUP5
00004ca8: KECCAK256
00004ca9: SWAP5
00004caa: DUP5
00004cab: MSTORE
00004cac: SWAP4
00004cad: DUP2
00004cae: MSTORE
00004caf: DUP2
00004cb0: DUP4
00004cb1: KECCAK256
00004cb2: SWAP4
00004cb3: DUP4
00004cb4: MSTORE
00004cb5: SWAP3
00004cb6: DUP4
00004cb7: MSTORE
00004cb8: DUP1
00004cb9: DUP3
00004cba: KECCAK256
00004cbb: SWAP4
00004cbc: DUP3
00004cbd: MSTORE
00004cbe: SWAP3
00004cbf: SWAP1
00004cc0: SWAP2
00004cc1: MSTORE
00004cc2: SWAP1
00004cc3: DUP2
00004cc4: KECCAK256
00004cc5: DUP3
00004cc6: SWAP1
00004cc7: SSTORE
00004cc8: SWAP1
00004cc9: SWAP2
00004cca: POP
00004ccb: DUP1
00004ccc: PUSH2 0x4cd5
00004ccf: DUP9
00004cd0: DUP9
00004cd1: PUSH2 0x145f
00004cd4: JUMP
00004cd5: JUMPDEST
00004cd6: PUSH1 0x01
00004cd8: PUSH1 0xa0
00004cda: PUSH1 0x02
00004cdc: EXP
00004cdd: SUB
00004cde: DUP1
00004cdf: DUP4
00004ce0: AND
00004ce1: PUSH1 0x00
00004ce3: SWAP1
00004ce4: DUP2
00004ce5: MSTORE
00004ce6: PUSH1 0x0f
00004ce8: PUSH1 0x20
00004cea: SWAP1
00004ceb: DUP2
00004cec: MSTORE
00004ced: PUSH1 0x40
00004cef: DUP1
00004cf0: DUP4
00004cf1: KECCAK256
00004cf2: SWAP4
00004cf3: DUP6
00004cf4: AND
00004cf5: DUP4
00004cf6: MSTORE
00004cf7: SWAP3
00004cf8: DUP2
00004cf9: MSTORE
00004cfa: DUP3
00004cfb: DUP3
00004cfc: KECCAK256
00004cfd: DUP3
00004cfe: DUP1
00004cff: MSTORE
00004d00: SWAP1
00004d01: MSTORE
00004d02: KECCAK256
00004d03: TIMESTAMP
00004d04: SWAP1
00004d05: SSTORE
00004d06: SWAP1
00004d07: SWAP3
00004d08: POP
00004d09: SWAP1
00004d0a: POP
00004d0b: PUSH2 0x4d17
00004d0e: DUP9
00004d0f: DUP9
00004d10: PUSH2 0x5460
00004d13: PUSH2 0x5165
00004d16: JUMP
00004d17: JUMPDEST
00004d18: DUP7
00004d19: PUSH1 0x01
00004d1b: PUSH1 0xa0
00004d1d: PUSH1 0x02
00004d1f: EXP
00004d20: SUB
00004d21: AND
00004d22: DUP9
00004d23: PUSH1 0x01
00004d25: PUSH1 0xa0
00004d27: PUSH1 0x02
00004d29: EXP
00004d2a: SUB
00004d2b: AND
00004d2c: PUSH32 0x6f4b2adffa0c3e90e47fdcd9d2c36f48b57eb3271dce519997271073dac17be9
00004d4d: PUSH1 0x40
00004d4f: MLOAD
00004d50: PUSH1 0x40
00004d52: MLOAD
00004d53: DUP1
00004d54: SWAP2
00004d55: SUB
00004d56: SWAP1
00004d57: LOG3
00004d58: POP
00004d59: POP
00004d5a: POP
00004d5b: POP
00004d5c: POP
00004d5d: POP
00004d5e: POP
00004d5f: POP
00004d60: JUMP
00004d61: JUMPDEST
00004d62: PUSH1 0x00
00004d64: DUP1
00004d65: PUSH1 0x00
00004d67: PUSH2 0x4d6f
00004d6a: DUP6
00004d6b: PUSH2 0x3f49
00004d6e: JUMP
00004d6f: JUMPDEST
00004d70: SWAP1
00004d71: SWAP3
00004d72: POP
00004d73: SWAP1
00004d74: POP
00004d75: PUSH1 0x00
00004d77: DUP2
00004d78: PUSH2 0x4d81
00004d7b: DUP7
00004d7c: DUP6
00004d7d: PUSH2 0x3403
00004d80: JUMP
00004d81: JUMPDEST
00004d82: DUP2
00004d83: ISZERO
00004d84: ISZERO
00004d85: PUSH2 0x4d8a
00004d88: JUMPI
00004d89: INVALID
00004d8a: JUMPDEST
00004d8b: DIV
00004d8c: SWAP1
00004d8d: POP
00004d8e: PUSH1 0x00
00004d90: PUSH1 0x05
00004d92: PUSH1 0x00
00004d94: SWAP1
00004d95: SLOAD
00004d96: SWAP1
00004d97: PUSH2 0x0100
00004d9a: EXP
00004d9b: SWAP1
00004d9c: DIV
00004d9d: PUSH1 0x01
00004d9f: PUSH1 0xa0
00004da1: PUSH1 0x02
00004da3: EXP
00004da4: SUB
00004da5: AND
00004da6: PUSH1 0x01
00004da8: PUSH1 0xa0
00004daa: PUSH1 0x02
00004dac: EXP
00004dad: SUB
00004dae: AND
00004daf: PUSH4 0xa3ca17b2
00004db4: PUSH1 0x40
00004db6: MLOAD
00004db7: DUP2
00004db8: PUSH4 0xffffffff
00004dbd: AND
00004dbe: PUSH1 0xe0
00004dc0: PUSH1 0x02
00004dc2: EXP
00004dc3: MUL
00004dc4: DUP2
00004dc5: MSTORE
00004dc6: PUSH1 0x04
00004dc8: ADD
00004dc9: PUSH1 0x20
00004dcb: PUSH1 0x40
00004dcd: MLOAD
00004dce: DUP1
00004dcf: DUP4
00004dd0: SUB
00004dd1: DUP2
00004dd2: DUP7
00004dd3: DUP1
00004dd4: EXTCODESIZE
00004dd5: ISZERO
00004dd6: DUP1
00004dd7: ISZERO
00004dd8: PUSH2 0x4de0
00004ddb: JUMPI
00004ddc: PUSH1 0x00
00004dde: DUP1
00004ddf: REVERT
00004de0: JUMPDEST
00004de1: POP
00004de2: GAS
00004de3: STATICCALL
00004de4: ISZERO
00004de5: DUP1
00004de6: ISZERO
00004de7: PUSH2 0x4df4
00004dea: JUMPI
00004deb: RETURNDATASIZE
00004dec: PUSH1 0x00
00004dee: DUP1
00004def: RETURNDATACOPY
00004df0: RETURNDATASIZE
00004df1: PUSH1 0x00
00004df3: REVERT
00004df4: JUMPDEST
00004df5: POP
00004df6: POP
00004df7: POP
00004df8: POP
00004df9: PUSH1 0x40
00004dfb: MLOAD
00004dfc: RETURNDATASIZE
00004dfd: PUSH1 0x20
00004dff: DUP2
00004e00: LT
00004e01: ISZERO
00004e02: PUSH2 0x4e0a
00004e05: JUMPI
00004e06: PUSH1 0x00
00004e08: DUP1
00004e09: REVERT
00004e0a: JUMPDEST
00004e0b: POP
00004e0c: MLOAD
00004e0d: SWAP1
00004e0e: POP
00004e0f: PUSH1 0x00
00004e11: PUSH2 0x4e1a
00004e14: DUP4
00004e15: DUP4
00004e16: PUSH2 0x3403
00004e19: JUMP
00004e1a: JUMPDEST
00004e1b: PUSH1 0x0c
00004e1d: SLOAD
00004e1e: PUSH1 0x40
00004e20: DUP1
00004e21: MLOAD
00004e22: PUSH32 0xdd62ed3e00000000000000000000000000000000000000000000000000000000
00004e43: DUP2
00004e44: MSTORE
00004e45: CALLER
00004e46: PUSH1 0x04
00004e48: DUP3
00004e49: ADD
00004e4a: MSTORE
00004e4b: ADDRESS
00004e4c: PUSH1 0x24
00004e4e: DUP3
00004e4f: ADD
00004e50: MSTORE
00004e51: SWAP1
00004e52: MLOAD
00004e53: SWAP3
00004e54: SWAP4
00004e55: POP
00004e56: PUSH1 0x00
00004e58: SWAP3
00004e59: PUSH2 0x4ec0
00004e5c: SWAP3
00004e5d: PUSH1 0x01
00004e5f: PUSH1 0xa0
00004e61: PUSH1 0x02
00004e63: EXP
00004e64: SUB
00004e65: AND
00004e66: SWAP2
00004e67: PUSH4 0xdd62ed3e
00004e6c: SWAP2
00004e6d: PUSH1 0x44
00004e6f: DUP1
00004e70: DUP4
00004e71: ADD
00004e72: SWAP3
00004e73: PUSH1 0x20
00004e75: SWAP3
00004e76: SWAP2
00004e77: SWAP1
00004e78: DUP3
00004e79: SWAP1
00004e7a: SUB
00004e7b: ADD
00004e7c: DUP2
00004e7d: DUP7
00004e7e: DUP1
00004e7f: EXTCODESIZE
00004e80: ISZERO
00004e81: DUP1
00004e82: ISZERO
00004e83: PUSH2 0x4e8b
00004e86: JUMPI
00004e87: PUSH1 0x00
00004e89: DUP1
00004e8a: REVERT
00004e8b: JUMPDEST
00004e8c: POP
00004e8d: GAS
00004e8e: STATICCALL
00004e8f: ISZERO
00004e90: DUP1
00004e91: ISZERO
00004e92: PUSH2 0x4e9f
00004e95: JUMPI
00004e96: RETURNDATASIZE
00004e97: PUSH1 0x00
00004e99: DUP1
00004e9a: RETURNDATACOPY
00004e9b: RETURNDATASIZE
00004e9c: PUSH1 0x00
00004e9e: REVERT
00004e9f: JUMPDEST
00004ea0: POP
00004ea1: POP
00004ea2: POP
00004ea3: POP
00004ea4: PUSH1 0x40
00004ea6: MLOAD
00004ea7: RETURNDATASIZE
00004ea8: PUSH1 0x20
00004eaa: DUP2
00004eab: LT
00004eac: ISZERO
00004ead: PUSH2 0x4eb5
00004eb0: JUMPI
00004eb1: PUSH1 0x00
00004eb3: DUP1
00004eb4: REVERT
00004eb5: JUMPDEST
00004eb6: POP
00004eb7: MLOAD
00004eb8: PUSH1 0x02
00004eba: DUP5
00004ebb: DIV
00004ebc: PUSH2 0x2a3b
00004ebf: JUMP
00004ec0: JUMPDEST
00004ec1: PUSH1 0x0c
00004ec3: SLOAD
00004ec4: PUSH1 0x40
00004ec6: DUP1
00004ec7: MLOAD
00004ec8: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
00004ee9: DUP2
00004eea: MSTORE
00004eeb: CALLER
00004eec: PUSH1 0x04
00004eee: DUP3
00004eef: ADD
00004ef0: MSTORE
00004ef1: SWAP1
00004ef2: MLOAD
00004ef3: SWAP3
00004ef4: SWAP4
00004ef5: POP
00004ef6: PUSH2 0x4f5d
00004ef9: SWAP3
00004efa: PUSH1 0x01
00004efc: PUSH1 0xa0
00004efe: PUSH1 0x02
00004f00: EXP
00004f01: SUB
00004f02: SWAP1
00004f03: SWAP3
00004f04: AND
00004f05: SWAP2
00004f06: PUSH4 0x70a08231
00004f0b: SWAP2
00004f0c: PUSH1 0x24
00004f0e: DUP1
00004f0f: DUP3
00004f10: ADD
00004f11: SWAP3
00004f12: PUSH1 0x20
00004f14: SWAP3
00004f15: SWAP1
00004f16: SWAP2
00004f17: SWAP1
00004f18: DUP3
00004f19: SWAP1
00004f1a: SUB
00004f1b: ADD
00004f1c: DUP2
00004f1d: DUP7
00004f1e: DUP1
00004f1f: EXTCODESIZE
00004f20: ISZERO
00004f21: DUP1
00004f22: ISZERO
00004f23: PUSH2 0x4f2b
00004f26: JUMPI
00004f27: PUSH1 0x00
00004f29: DUP1
00004f2a: REVERT
00004f2b: JUMPDEST
00004f2c: POP
00004f2d: GAS
00004f2e: STATICCALL
00004f2f: ISZERO
00004f30: DUP1
00004f31: ISZERO
00004f32: PUSH2 0x4f3f
00004f35: JUMPI
00004f36: RETURNDATASIZE
00004f37: PUSH1 0x00
00004f39: DUP1
00004f3a: RETURNDATACOPY
00004f3b: RETURNDATASIZE
00004f3c: PUSH1 0x00
00004f3e: REVERT
00004f3f: JUMPDEST
00004f40: POP
00004f41: POP
00004f42: POP
00004f43: POP
00004f44: PUSH1 0x40
00004f46: MLOAD
00004f47: RETURNDATASIZE
00004f48: PUSH1 0x20
00004f4a: DUP2
00004f4b: LT
00004f4c: ISZERO
00004f4d: PUSH2 0x4f55
00004f50: JUMPI
00004f51: PUSH1 0x00
00004f53: DUP1
00004f54: REVERT
00004f55: JUMPDEST
00004f56: POP
00004f57: MLOAD
00004f58: DUP3
00004f59: PUSH2 0x2a3b
00004f5c: JUMP
00004f5d: JUMPDEST
00004f5e: SWAP1
00004f5f: POP
00004f60: PUSH1 0x00
00004f62: DUP2
00004f63: GT
00004f64: ISZERO
00004f65: PUSH2 0x5017
00004f68: JUMPI
00004f69: PUSH1 0x0c
00004f6b: SLOAD
00004f6c: PUSH1 0x40
00004f6e: DUP1
00004f6f: MLOAD
00004f70: PUSH32 0x4417f4db00000000000000000000000000000000000000000000000000000000
00004f91: DUP2
00004f92: MSTORE
00004f93: CALLER
00004f94: PUSH1 0x04
00004f96: DUP3
00004f97: ADD
00004f98: MSTORE
00004f99: PUSH1 0x24
00004f9b: DUP2
00004f9c: ADD
00004f9d: DUP5
00004f9e: SWAP1
00004f9f: MSTORE
00004fa0: SWAP1
00004fa1: MLOAD
00004fa2: PUSH1 0x01
00004fa4: PUSH1 0xa0
00004fa6: PUSH1 0x02
00004fa8: EXP
00004fa9: SUB
00004faa: SWAP1
00004fab: SWAP3
00004fac: AND
00004fad: SWAP2
00004fae: PUSH4 0x4417f4db
00004fb3: SWAP2
00004fb4: PUSH1 0x44
00004fb6: DUP1
00004fb7: DUP3
00004fb8: ADD
00004fb9: SWAP3
00004fba: PUSH1 0x00
00004fbc: SWAP3
00004fbd: SWAP1
00004fbe: SWAP2
00004fbf: SWAP1
00004fc0: DUP3
00004fc1: SWAP1
00004fc2: SUB
00004fc3: ADD
00004fc4: DUP2
00004fc5: DUP4
00004fc6: DUP8
00004fc7: DUP1
00004fc8: EXTCODESIZE
00004fc9: ISZERO
00004fca: DUP1
00004fcb: ISZERO
00004fcc: PUSH2 0x4fd4
00004fcf: JUMPI
00004fd0: PUSH1 0x00
00004fd2: DUP1
00004fd3: REVERT
00004fd4: JUMPDEST
00004fd5: POP
00004fd6: GAS
00004fd7: CALL
00004fd8: ISZERO
00004fd9: DUP1
00004fda: ISZERO
00004fdb: PUSH2 0x4fe8
00004fde: JUMPI
00004fdf: RETURNDATASIZE
00004fe0: PUSH1 0x00
00004fe2: DUP1
00004fe3: RETURNDATACOPY
00004fe4: RETURNDATASIZE
00004fe5: PUSH1 0x00
00004fe7: REVERT
00004fe8: JUMPDEST
00004fe9: POP
00004fea: POP
00004feb: POP
00004fec: POP
00004fed: PUSH1 0x00
00004fef: DUP3
00004ff0: PUSH2 0x4ff9
00004ff3: DUP4
00004ff4: DUP12
00004ff5: PUSH2 0x3403
00004ff8: JUMP
00004ff9: JUMPDEST
00004ffa: DUP2
00004ffb: ISZERO
00004ffc: ISZERO
00004ffd: PUSH2 0x5002
00005000: JUMPI
00005001: INVALID
00005002: JUMPDEST
00005003: DIV
00005004: SWAP1
00005005: POP
00005006: PUSH2 0x500f
00005009: DUP10
0000500a: DUP3
0000500b: PUSH2 0x332f
0000500e: JUMP
0000500f: JUMPDEST
00005010: SWAP8
00005011: POP
00005012: POP
00005013: PUSH2 0x501b
00005016: JUMP
00005017: JUMPDEST
00005018: DUP8
00005019: SWAP7
0000501a: POP
0000501b: JUMPDEST
0000501c: POP
0000501d: POP
0000501e: POP
0000501f: POP
00005020: POP
00005021: POP
00005022: SWAP3
00005023: SWAP2
00005024: POP
00005025: POP
00005026: JUMP
00005027: JUMPDEST
00005028: PUSH1 0x00
0000502a: DUP1
0000502b: PUSH1 0x00
0000502d: PUSH1 0x05
0000502f: PUSH1 0x00
00005031: SWAP1
00005032: SLOAD
00005033: SWAP1
00005034: PUSH2 0x0100
00005037: EXP
00005038: SWAP1
00005039: DIV
0000503a: PUSH1 0x01
0000503c: PUSH1 0xa0
0000503e: PUSH1 0x02
00005040: EXP
00005041: SUB
00005042: AND
00005043: PUSH1 0x01
00005045: PUSH1 0xa0
00005047: PUSH1 0x02
00005049: EXP
0000504a: SUB
0000504b: AND
0000504c: PUSH4 0xa3ca17b2
00005051: PUSH1 0x40
00005053: MLOAD
00005054: DUP2
00005055: PUSH4 0xffffffff
0000505a: AND
0000505b: PUSH1 0xe0
0000505d: PUSH1 0x02
0000505f: EXP
00005060: MUL
00005061: DUP2
00005062: MSTORE
00005063: PUSH1 0x04
00005065: ADD
00005066: PUSH1 0x20
00005068: PUSH1 0x40
0000506a: MLOAD
0000506b: DUP1
0000506c: DUP4
0000506d: SUB
0000506e: DUP2
0000506f: DUP7
00005070: DUP1
00005071: EXTCODESIZE
00005072: ISZERO
00005073: DUP1
00005074: ISZERO
00005075: PUSH2 0x507d
00005078: JUMPI
00005079: PUSH1 0x00
0000507b: DUP1
0000507c: REVERT
0000507d: JUMPDEST
0000507e: POP
0000507f: GAS
00005080: STATICCALL
00005081: ISZERO
00005082: DUP1
00005083: ISZERO
00005084: PUSH2 0x5091
00005087: JUMPI
00005088: RETURNDATASIZE
00005089: PUSH1 0x00
0000508b: DUP1
0000508c: RETURNDATACOPY
0000508d: RETURNDATASIZE
0000508e: PUSH1 0x00
00005090: REVERT
00005091: JUMPDEST
00005092: POP
00005093: POP
00005094: POP
00005095: POP
00005096: PUSH1 0x40
00005098: MLOAD
00005099: RETURNDATASIZE
0000509a: PUSH1 0x20
0000509c: DUP2
0000509d: LT
0000509e: ISZERO
0000509f: PUSH2 0x50a7
000050a2: JUMPI
000050a3: PUSH1 0x00
000050a5: DUP1
000050a6: REVERT
000050a7: JUMPDEST
000050a8: POP
000050a9: MLOAD
000050aa: SWAP1
000050ab: POP
000050ac: PUSH1 0x00
000050ae: DUP1
000050af: PUSH2 0x50b7
000050b2: DUP8
000050b3: PUSH2 0x3f49
000050b6: JUMP
000050b7: JUMPDEST
000050b8: SWAP1
000050b9: SWAP3
000050ba: POP
000050bb: SWAP1
000050bc: POP
000050bd: PUSH1 0x00
000050bf: DUP1
000050c0: PUSH2 0x50c8
000050c3: DUP9
000050c4: PUSH2 0x3f49
000050c7: JUMP
000050c8: JUMPDEST
000050c9: PUSH1 0x01
000050cb: PUSH1 0xa0
000050cd: PUSH1 0x02
000050cf: EXP
000050d0: SUB
000050d1: DUP1
000050d2: DUP13
000050d3: AND
000050d4: PUSH1 0x00
000050d6: SWAP1
000050d7: DUP2
000050d8: MSTORE
000050d9: PUSH1 0x11
000050db: PUSH1 0x20
000050dd: SWAP1
000050de: DUP2
000050df: MSTORE
000050e0: PUSH1 0x40
000050e2: DUP1
000050e3: DUP4
000050e4: KECCAK256
000050e5: SWAP4
000050e6: DUP15
000050e7: AND
000050e8: DUP4
000050e9: MSTORE
000050ea: SWAP3
000050eb: SWAP1
000050ec: MSTORE
000050ed: KECCAK256
000050ee: SLOAD
000050ef: SWAP2
000050f0: SWAP4
000050f1: POP
000050f2: SWAP2
000050f3: POP
000050f4: DUP4
000050f5: SWAP1
000050f6: PUSH2 0x5109
000050f9: SWAP1
000050fa: PUSH2 0x5103
000050fd: SWAP1
000050fe: DUP8
000050ff: PUSH2 0x3403
00005102: JUMP
00005103: JUMPDEST
00005104: DUP8
00005105: PUSH2 0x3403
00005108: JUMP
00005109: JUMPDEST
0000510a: DUP2
0000510b: ISZERO
0000510c: ISZERO
0000510d: PUSH2 0x5112
00005110: JUMPI
00005111: INVALID
00005112: JUMPDEST
00005113: PUSH1 0x01
00005115: PUSH1 0xa0
00005117: PUSH1 0x02
00005119: EXP
0000511a: SUB
0000511b: DUP1
0000511c: DUP12
0000511d: AND
0000511e: PUSH1 0x00
00005120: SWAP1
00005121: DUP2
00005122: MSTORE
00005123: PUSH1 0x11
00005125: PUSH1 0x20
00005127: SWAP1
00005128: DUP2
00005129: MSTORE
0000512a: PUSH1 0x40
0000512c: DUP1
0000512d: DUP4
0000512e: KECCAK256
0000512f: SWAP4
00005130: DUP16
00005131: AND
00005132: DUP4
00005133: MSTORE
00005134: SWAP3
00005135: SWAP1
00005136: MSTORE
00005137: KECCAK256
00005138: SLOAD
00005139: SWAP2
0000513a: SWAP1
0000513b: DIV
0000513c: SWAP8
0000513d: POP
0000513e: DUP2
0000513f: SWAP1
00005140: PUSH2 0x514d
00005143: SWAP1
00005144: PUSH2 0x5103
00005147: SWAP1
00005148: DUP6
00005149: PUSH2 0x3403
0000514c: JUMP
0000514d: JUMPDEST
0000514e: DUP2
0000514f: ISZERO
00005150: ISZERO
00005151: PUSH2 0x5156
00005154: JUMPI
00005155: INVALID
00005156: JUMPDEST
00005157: DIV
00005158: SWAP6
00005159: POP
0000515a: POP
0000515b: POP
0000515c: POP
0000515d: POP
0000515e: POP
0000515f: SWAP3
00005160: POP
00005161: SWAP3
00005162: SWAP1
00005163: POP
00005164: JUMP
00005165: JUMPDEST
00005166: PUSH2 0x516f
00005169: DUP4
0000516a: DUP4
0000516b: PUSH2 0x145f
0000516e: JUMP
0000516f: JUMPDEST
00005170: PUSH1 0x01
00005172: PUSH1 0xa0
00005174: PUSH1 0x02
00005176: EXP
00005177: SUB
00005178: DUP1
00005179: DUP4
0000517a: AND
0000517b: PUSH1 0x00
0000517d: DUP2
0000517e: DUP2
0000517f: MSTORE
00005180: PUSH1 0x0d
00005182: PUSH1 0x20
00005184: SWAP1
00005185: DUP2
00005186: MSTORE
00005187: PUSH1 0x40
00005189: DUP1
0000518a: DUP4
0000518b: KECCAK256
0000518c: SWAP5
0000518d: DUP7
0000518e: AND
0000518f: DUP1
00005190: DUP5
00005191: MSTORE
00005192: SWAP5
00005193: DUP3
00005194: MSTORE
00005195: DUP1
00005196: DUP4
00005197: KECCAK256
00005198: SLOAD
00005199: DUP5
0000519a: DUP5
0000519b: MSTORE
0000519c: PUSH1 0x0e
0000519e: DUP4
0000519f: MSTORE
000051a0: DUP2
000051a1: DUP5
000051a2: KECCAK256
000051a3: DUP7
000051a4: DUP6
000051a5: MSTORE
000051a6: DUP4
000051a7: MSTORE
000051a8: SWAP3
000051a9: DUP2
000051aa: SWAP1
000051ab: KECCAK256
000051ac: TIMESTAMP
000051ad: DUP10
000051ae: ADD
000051af: SWAP1
000051b0: DUP2
000051b1: SWAP1
000051b2: SSTORE
000051b3: DUP2
000051b4: MLOAD
000051b5: DUP2
000051b6: DUP2
000051b7: MSTORE
000051b8: SWAP2
000051b9: MLOAD
000051ba: SWAP8
000051bb: SWAP11
000051bc: POP
000051bd: SWAP6
000051be: SWAP9
000051bf: POP
000051c0: SWAP5
000051c1: SWAP6
000051c2: SWAP2
000051c3: SWAP5
000051c4: DUP6
000051c5: SWAP5
000051c6: SWAP4
000051c7: SWAP3
000051c8: PUSH32 0x20017e7b1ef8e7882103f55ff346ca3135c4afe13dff1da2f01b482aece766a5
000051e9: SWAP3
000051ea: SWAP2
000051eb: DUP2
000051ec: SWAP1
000051ed: SUB
000051ee: SWAP1
000051ef: SWAP2
000051f0: ADD
000051f1: SWAP1
000051f2: LOG4
000051f3: POP
000051f4: POP
000051f5: POP
000051f6: POP
000051f7: POP
000051f8: JUMP
000051f9: JUMPDEST
000051fa: PUSH2 0x5203
000051fd: DUP3
000051fe: DUP3
000051ff: PUSH2 0x145f
00005202: JUMP
00005203: JUMPDEST
00005204: PUSH1 0x01
00005206: PUSH1 0xa0
00005208: PUSH1 0x02
0000520a: EXP
0000520b: SUB
0000520c: DUP1
0000520d: DUP4
0000520e: AND
0000520f: PUSH1 0x00
00005211: SWAP1
00005212: DUP2
00005213: MSTORE
00005214: PUSH1 0x0e
00005216: PUSH1 0x20
00005218: SWAP1
00005219: DUP2
0000521a: MSTORE
0000521b: PUSH1 0x40
0000521d: DUP1
0000521e: DUP4
0000521f: KECCAK256
00005220: SWAP4
00005221: DUP6
00005222: AND
00005223: DUP4
00005224: MSTORE
00005225: SWAP3
00005226: SWAP1
00005227: MSTORE
00005228: KECCAK256
00005229: SLOAD
0000522a: SWAP2
0000522b: SWAP4
0000522c: POP
0000522d: SWAP2
0000522e: POP
0000522f: PUSH1 0x01
00005231: EQ
00005232: PUSH2 0x525f
00005235: JUMPI
00005236: PUSH1 0x01
00005238: PUSH1 0xa0
0000523a: PUSH1 0x02
0000523c: EXP
0000523d: SUB
0000523e: DUP1
0000523f: DUP4
00005240: AND
00005241: PUSH1 0x00
00005243: SWAP1
00005244: DUP2
00005245: MSTORE
00005246: PUSH1 0x0e
00005248: PUSH1 0x20
0000524a: SWAP1
0000524b: DUP2
0000524c: MSTORE
0000524d: PUSH1 0x40
0000524f: DUP1
00005250: DUP4
00005251: KECCAK256
00005252: SWAP4
00005253: DUP6
00005254: AND
00005255: DUP4
00005256: MSTORE
00005257: SWAP3
00005258: SWAP1
00005259: MSTORE
0000525a: KECCAK256
0000525b: PUSH1 0x01
0000525d: SWAP1
0000525e: SSTORE
0000525f: JUMPDEST
00005260: POP
00005261: POP
00005262: JUMP
00005263: JUMPDEST
00005264: PUSH1 0x00
00005266: DUP1
00005267: PUSH2 0x5274
0000526a: DUP9
0000526b: DUP9
0000526c: PUSH1 0x01
0000526e: DUP10
0000526f: SUB
00005270: PUSH2 0x1a9c
00005273: JUMP
00005274: JUMPDEST
00005275: SWAP2
00005276: POP
00005277: SWAP2
00005278: POP
00005279: PUSH1 0x00
0000527b: PUSH2 0x52ad
0000527e: PUSH2 0x5293
00005281: PUSH2 0x528a
00005284: DUP6
00005285: DUP9
00005286: PUSH2 0x3403
00005289: JUMP
0000528a: JUMPDEST
0000528b: PUSH3 0x015180
0000528f: PUSH2 0x3403
00005292: JUMP
00005293: JUMPDEST
00005294: PUSH2 0x52a8
00005297: PUSH2 0x52a0
0000529a: DUP8
0000529b: DUP7
0000529c: PUSH2 0x3403
0000529f: JUMP
000052a0: JUMPDEST
000052a1: PUSH2 0xa8c0
000052a4: PUSH2 0x3403
000052a7: JUMP
000052a8: JUMPDEST
000052a9: PUSH2 0x332f
000052ac: JUMP
000052ad: JUMPDEST
000052ae: SWAP1
000052af: POP
000052b0: PUSH1 0x00
000052b2: PUSH2 0x52cd
000052b5: PUSH2 0x52be
000052b8: DUP8
000052b9: DUP7
000052ba: PUSH2 0x3403
000052bd: JUMP
000052be: JUMPDEST
000052bf: PUSH2 0x52c8
000052c2: DUP8
000052c3: DUP7
000052c4: PUSH2 0x3403
000052c7: JUMP
000052c8: JUMPDEST
000052c9: PUSH2 0x27a7
000052cc: JUMP
000052cd: JUMPDEST
000052ce: DUP3
000052cf: DUP2
000052d0: ISZERO
000052d1: ISZERO
000052d2: PUSH2 0x52d7
000052d5: JUMPI
000052d6: INVALID
000052d7: JUMPDEST
000052d8: DIV
000052d9: SWAP1
000052da: POP
000052db: DUP7
000052dc: DUP2
000052dd: ADD
000052de: PUSH2 0x52e7
000052e1: DUP12
000052e2: DUP12
000052e3: PUSH2 0x145f
000052e6: JUMP
000052e7: JUMPDEST
000052e8: PUSH1 0x01
000052ea: PUSH1 0xa0
000052ec: PUSH1 0x02
000052ee: EXP
000052ef: SUB
000052f0: SWAP2
000052f1: DUP3
000052f2: AND
000052f3: PUSH1 0x00
000052f5: SWAP1
000052f6: DUP2
000052f7: MSTORE
000052f8: PUSH1 0x0f
000052fa: PUSH1 0x20
000052fc: SWAP1
000052fd: DUP2
000052fe: MSTORE
000052ff: PUSH1 0x40
00005301: DUP1
00005302: DUP4
00005303: KECCAK256
00005304: SWAP4
00005305: SWAP1
00005306: SWAP5
00005307: AND
00005308: DUP3
00005309: MSTORE
0000530a: SWAP2
0000530b: DUP3
0000530c: MSTORE
0000530d: DUP3
0000530e: DUP2
0000530f: KECCAK256
00005310: SWAP12
00005311: DUP2
00005312: MSTORE
00005313: SWAP11
00005314: SWAP1
00005315: MSTORE
00005316: SWAP1
00005317: SWAP9
00005318: KECCAK256
00005319: SWAP8
0000531a: SWAP1
0000531b: SWAP8
0000531c: SSTORE
0000531d: POP
0000531e: POP
0000531f: POP
00005320: POP
00005321: POP
00005322: POP
00005323: POP
00005324: POP
00005325: POP
00005326: JUMP
00005327: JUMPDEST
00005328: PUSH1 0x40
0000532a: DUP1
0000532b: MLOAD
0000532c: DUP1
0000532d: DUP3
0000532e: ADD
0000532f: SWAP1
00005330: SWAP2
00005331: MSTORE
00005332: PUSH1 0x00
00005334: DUP1
00005335: DUP3
00005336: MSTORE
00005337: PUSH1 0x20
00005339: DUP3
0000533a: ADD
0000533b: MSTORE
0000533c: SWAP1
0000533d: JUMP
0000533e: INVALID
0000533f: MSIZE
00005340: PUSH16 0x75206d75737420736574206120736d61
00005351: PUSH13 0x6c6572206e756d657261746f72
0000535f: KECCAK256
00005360: PUSH7 0x6f722074686520
00005368: PUSH10 0x6e697469616c20707269
00005373: PUSH4 0x65596f75
00005378: KECCAK256
00005379: PUSH14 0x7573742073657420746865206465
00005388: PUSH15 0x6f6d696e61746f7220666f72207468
00005398: PUSH6 0x20696e697469
0000539f: PUSH2 0x6c20
000053a2: PUSH17 0x7269636554686520616d6f756e74206d75
000053b4: PUSH20 0x742062652067726561746572207468616e203054
000053c9: PUSH9 0x6520636f6e74726163
000053d3: PUSH21 0x206d75737420626520756e696e697469616c697a65
000053e9: PUSH5 0x596f752073
000053ef: PUSH9 0x6f756c642073757270
000053f9: PUSH13 0x75732074686520746872657368
00005407: PUSH16 0x6c6420666f7220616464696e6720746f
00005418: PUSH12 0x656e20706169727354686520
00005425: PUSH15 0x65772070726f706f73616c206d7573
00005435: PUSH21 0x20626520612076616c696420616464726573546865
0000544b: KECCAK256
0000544c: PUSH2 0x7563
0000544f: PUSH21 0x696f6e656572206d75737420626520612076616c69
00005465: PUSH5 0x2061646472
0000546b: PUSH6 0x737354686520
00005472: PUSH14 0x617374657220636f6e7472616374
00005481: KECCAK256
00005482: PUSH4 0x616e6e6f
00005487: PUSH21 0x206265207570646174656420696e20612077616974
0000549d: PUSH10 0x6e6720706572696f644f
000054a8: PUSH15 0x6c79207468652061756374696f6e65
000054b8: PUSH6 0x722063616e20
000054bf: PUSH15 0x6f6d696e6174652061206e6577206f
000054cf: PUSH15 0x65596f752073686f756c6420757365
000054df: KECCAK256
000054e0: PUSH2 0x2073
000054e3: PUSH14 0x616c6c65722066756e64696e6720
000054f2: PUSH7 0x6f7220746f6b65
000054fa: PUSH15 0x2032546865206e6577206d61737465
0000550a: PUSH19 0x20636f7079206d75737420626520612076616c
0000551e: PUSH10 0x64206164647265737359
00005529: PUSH16 0x752063616e6e6f742061646420612074
0000553a: PUSH16 0x6b656e2070616972207573696e672074
0000554b: PUSH9 0x652073616d6520746f
00005555: PUSH12 0x656e49742773206e6f742070
00005562: PUSH16 0x737369626c6520746f20757064617465
00005573: KECCAK256
00005574: PUSH21 0x6865206f7261636c6520647572696e672074686520
0000558a: PUSH24 0x616974696e6720706572696f64546865206465706f736974
000055a3: KECCAK256
000055a4: PUSH21 0x72616e73616374696f6e206d757374207375636365
000055ba: PUSH6 0x645468652077
000055c1: PUSH10 0x74686472617720747261
000055cc: PUSH15 0x73666572206d757374207375636365
000055dc: PUSH6 0x644175637469
000055e3: PUSH16 0x6e20696e6465782073686f756c642062
000055f4: PUSH6 0x20657175616c
000055fb: KECCAK256
000055fc: PUSH21 0x6f206c61746573742061756374696f6e20696e6465
00005612: PUSH25 0x5468652061756374696f6e6565722061646472657373206d75
0000562c: PUSH20 0x742062652076616c6964596f75206d7573742073
00005641: PUSH6 0x74206120736d
00005648: PUSH2 0x6c6c
0000564b: PUSH6 0x722064656e6f
00005652: PUSH14 0x696e61746f7220666f7220746865
00005661: KECCAK256
00005662: PUSH10 0x6e697469616c20707269
0000566d: PUSH4 0x65596f75
00005672: KECCAK256
00005673: PUSH14 0x7573742073657420746865206e75
00005682: PUSH14 0x657261746f7220666f7220746865
00005691: KECCAK256
00005692: PUSH10 0x6e697469616c20707269
0000569d: PUSH4 0x65596f75
000056a2: KECCAK256
000056a3: PUSH20 0x686f756c6420757365206120736d616c6c657220
000056b8: PUSH7 0x756e64696e6720
000056c0: PUSH7 0x6f7220746f6b65
000056c8: PUSH15 0x2031a165627a7a723058207c2888b0
000056d8: UNKNOWN(0x4E)
000056d9: PUSH8 0x5c63e2fcd95ada8c
000056e2: CHAINID
000056e3: GASLIMIT
000056e4: UNKNOWN(0xE1)
000056e5: UNKNOWN(0xB6)
000056e6: UNKNOWN(0xE4)
000056e7: SWAP1
000056e8: UNKNOWN(0xB9)
000056e9: PUSH0
000056ea: DUP13
000056eb: RETURNDATACOPY
000056ec: UNKNOWN(0xCD)
000056ed: UNKNOWN(0xCF)
000056ee: UNKNOWN(0x29)
000056ef: UNKNOWN(0xCC)
000056f0: SWAP13
000056f1: ADDMOD
000056f2: STATICCALL
000056f3: UNKNOWN(0xCA)
000056f4: STOP
000056f5: UNKNOWN(0x29)

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
critical upgradeability codex Unprotected initializer lets anyone seize auctioneer role and upgrade to a draining master copy 90 no
view
evidence_json
{
    "evidence": "setupDutchExchange is public and only checks ethToken == address(0) before setting auctioneer and core addresses, allowing any first caller to take control.",
    "locations": [
        "contracts/Contract.sol:1548",
        "contracts/Contract.sol:1558",
        "contracts/Contract.sol:1568",
        "contracts/Contract.sol:1318",
        "contracts/Contract.sol:1327"
    ],
    "recommendation": "Restrict setupDutchExchange to a trusted initializer (e.g., onlyDeployer/onlyOwner), and initialize the proxy in the same transaction as deployment. Consider an explicit initializer guard (e.g., OpenZeppelin Initializable) and/or disabling initialization on the master copy.",
    "exploit_scenario": "1) Monitor for a newly deployed DutchExchange proxy that has not yet been initialized (ethToken == address(0)). 2) Call setupDutchExchange with attacker-controlled parameters, setting auctioneer to the attacker and optionally pointing ethToken/frtToken/owlToken to attacker-controlled contracts. 3) As auctioneer, call startMasterCopyCountdown with a malicious implementation; after 30 days, call updateMasterCopy. 4) Invoke the malicious implementation\u2019s drain function (or use the fake ethToken path to trade worthless tokens for real deposits) to transfer all escrowed assets to the attacker."
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0xe19afe5030423cb470f93b2f3798fe67efe0c254cff409e59f4a6a8ef190ac35
call_targets: 0x2bae491b065032a76be1db9e9ecf5738afae203e
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xe19afe5030423cb470f93b2f3798fe67efe0c254cff409e59f4a6a8ef190ac35",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x2bae491b065032a76be1db9e9ecf5738afae203e"
    ],
    "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": "0xf4279d1f",
            "selector": "0xf4279d1f",
            "calldata_variants": [
                "0xf4279d1f",
                "0xf4279d1f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf625ee28",
            "selector": "0xf625ee28",
            "calldata_variants": [
                "0xf625ee28",
                "0xf625ee280000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf79710fd",
            "selector": "0xf79710fd",
            "calldata_variants": [
                "0xf79710fd",
                "0xf79710fd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfac7abe3",
            "selector": "0xfac7abe3",
            "calldata_variants": [
                "0xfac7abe3",
                "0xfac7abe30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfdab1b7b",
            "selector": "0xfdab1b7b",
            "calldata_variants": [
                "0xfdab1b7b",
                "0xfdab1b7b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xedd0b5cb",
            "selector": "0xedd0b5cb",
            "calldata_variants": [
                "0xedd0b5cb",
                "0xedd0b5cb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xee93114c",
            "selector": "0xee93114c",
            "calldata_variants": [
                "0xee93114c",
                "0xee93114c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf3fef3a3",
            "selector": "0xf3fef3a3",
            "calldata_variants": [
                "0xf3fef3a3",
                "0xf3fef3a30000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 17357,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 17485,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 19081,
            "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: 0xe19afe5030423cb470f93b2f3798fe67efe0c254cff409e59f4a6a8ef190ac35
call_targets: 0x2bae491b065032a76be1db9e9ecf5738afae203e
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xe19afe5030423cb470f93b2f3798fe67efe0c254cff409e59f4a6a8ef190ac35",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x2bae491b065032a76be1db9e9ecf5738afae203e"
    ],
    "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": "0xf4279d1f",
            "selector": "0xf4279d1f",
            "calldata_variants": [
                "0xf4279d1f",
                "0xf4279d1f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf625ee28",
            "selector": "0xf625ee28",
            "calldata_variants": [
                "0xf625ee28",
                "0xf625ee280000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf79710fd",
            "selector": "0xf79710fd",
            "calldata_variants": [
                "0xf79710fd",
                "0xf79710fd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfac7abe3",
            "selector": "0xfac7abe3",
            "calldata_variants": [
                "0xfac7abe3",
                "0xfac7abe30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfdab1b7b",
            "selector": "0xfdab1b7b",
            "calldata_variants": [
                "0xfdab1b7b",
                "0xfdab1b7b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xedd0b5cb",
            "selector": "0xedd0b5cb",
            "calldata_variants": [
                "0xedd0b5cb",
                "0xedd0b5cb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xee93114c",
            "selector": "0xee93114c",
            "calldata_variants": [
                "0xee93114c",
                "0xee93114c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf3fef3a3",
            "selector": "0xf3fef3a3",
            "calldata_variants": [
                "0xf3fef3a3",
                "0xf3fef3a30000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 17357,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 17485,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 19081,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 4,
    "guards_detected": []
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 11
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 12
}