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

Analysis Run

fb8fd757-6def-433f-8414-4c2b5d1995b5

complete
Chain ID
1
Address
Block Number
Created
Tue, Dec 30, 2025 9:17 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
Untrusted CALL target/value reachable
crit 0 high 0 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
30770 report.consolidate complete 1 / 1 3 months ago
75616 artifact.fetch complete 1 / 3 1 week ago
75617 tool.cast_disasm complete 1 / 3 1 week ago
75618 analysis.bundle complete 1 / 3 1 week ago
75619 capability.graph complete 1 / 3 1 week ago
75620 detector.run complete 1 / 3 1 week ago
75621 validation.fork complete 1 / 3 1 week ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
2
No findings?
no
Summary
Found 2 issues in PayerV3: public claim griefing for bonus payouts and balance accounting that breaks with fee-on-transfer tokens.
View stderr
[codex:1083503] OpenAI Codex v0.77.0 (research preview)
[codex:1083503] --------
[codex:1083503] workdir: /tmp/codex-multi-uu4qlrp9
[codex:1083503] model: gpt-5.2-codex
[codex:1083503] provider: openai
[codex:1083503] approval: never
[codex:1083503] sandbox: read-only
[codex:1083503] reasoning effort: xhigh
[codex:1083503] reasoning summaries: auto
[codex:1083503] session id: 019b7119-2407-70d1-b866-ae8b8b02a342
[codex:1083503] --------
[codex:1083503] user
[codex:1083503] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:1083503] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:1083503] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:1083503] 
[codex:1083503] Scope rules:
[codex:1083503] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:1083503] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:1083503] 
[codex:1083503] Output MUST be valid JSON matching the provided schema.
[codex:1083503] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:1083503] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:1083503] 
[codex:1083503] Output constraints (IMPORTANT):
[codex:1083503] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1083503] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1083503] mcp startup: no servers
[codex:1083503] 
[codex:1083503] thinking
[codex:1083503] **Reviewing instructions and audit bundle**
[codex:1083503] exec
[codex:1083503] /bin/bash -lc ls in /tmp/codex-multi-uu4qlrp9 succeeded in 5ms:
[codex:1083503] AUDIT_BUNDLE.txt
[codex:1083503] codex-output-schema.json
[codex:1083503] contracts
[codex:1083503] exec
[codex:1083503] /bin/bash -lc "sed -n '1,200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-uu4qlrp9 succeeded in 5ms:
[codex:1083503] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1083503] 
[codex:1083503] ================================================================================
[codex:1083503] FILE: contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol
[codex:1083503] ================================================================================
[codex:1083503] // SPDX-License-Identifier: MIT
[codex:1083503] // OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/IERC20.sol)
[codex:1083503] 
[codex:1083503] pragma solidity ^0.8.20;
[codex:1083503] 
[codex:1083503] /**
[codex:1083503]  * @dev Interface of the ERC20 standard as defined in the EIP.
[codex:1083503]  */
[codex:1083503] interface IERC20 {
[codex:1083503]     /**
[codex:1083503]      * @dev Emitted when `value` tokens are moved from one account (`from`) to
[codex:1083503]      * another (`to`).
[codex:1083503]      *
[codex:1083503]      * Note that `value` may be zero.
[codex:1083503]      */
[codex:1083503] 
[codex:1083503] thinking
[codex:1083503] **Planning full AUDIT_BUNDLE.txt read**
[codex:1083503] exec
[codex:1083503] /bin/bash -lc 'rg -n "''^FILE:" AUDIT_BUNDLE.txt' in /tmp/codex-multi-uu4qlrp9 succeeded in 12ms:
[codex:1083503] 4:FILE: contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol
[codex:1083503] 87:FILE: contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol
[codex:1083503] 117:FILE: contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol
[codex:1083503] 211:FILE: contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol
[codex:1083503] 333:FILE: contracts/@openzeppelin/contracts/utils/Address.sol
[codex:1083503] 496:FILE: contracts/@uniswap/v3-core/contracts/interfaces/callback/IUniswapV3SwapCallback.sol
[codex:1083503] 521:FILE: contracts/@uniswap/v3-periphery/contracts/interfaces/ISwapRouter.sol
[codex:1083503] 592:FILE: contracts/contracts/PayerV3.sol
[codex:1083503] 1264:FILE: contracts/contracts/lib/ArrayUtils.sol
[codex:1083503] 1291:FILE: contracts/contracts/lib/Errors.sol
[codex:1083503] 
[codex:1083503] thinking
[codex:1083503] **Planning to read entire file**
[codex:1083503] exec
[codex:1083503] /bin/bash -lc "sed -n '200,400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-uu4qlrp9 succeeded in 6ms:
[codex:1083503]      */
[codex:1083503]     function nonces(address owner) external view returns (uint256);
[codex:1083503] 
[codex:1083503]     /**
[codex:1083503]      * @dev Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.
[codex:1083503]      */
[codex:1083503]     // solhint-disable-next-line func-name-mixedcase
[codex:1083503]     function DOMAIN_SEPARATOR() external view returns (bytes32);
[codex:1083503] }
[codex:1083503] 
[codex:1083503] ================================================================================
[codex:1083503] FILE: contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol
[codex:1083503] ================================================================================
[codex:1083503] // SPDX-License-Identifier: MIT
[codex:1083503] // OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/utils/SafeERC20.sol)
[codex:1083503] 
[codex:1083503] pragma solidity ^0.8.20;
[codex:1083503] 
[codex:1083503] import {IERC20} from "../IERC20.sol";
[codex:1083503] import {IERC20Permit} from "../extensions/IERC20Permit.sol";
[codex:1083503] 
[codex:1083503] thinking
[codex:1083503] **Continuing to read through content**
[codex:1083503] exec
[codex:1083503] /bin/bash -lc "sed -n '400,800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-uu4qlrp9 succeeded in 6ms:
[codex:1083503]      *
[codex:1083503]      * - `target` must be a contract.
[codex:1083503]      * - calling `target` with `data` must not revert.
[codex:1083503]      */
[codex:1083503]     function functionCall(address target, bytes memory data) internal returns (bytes memory) {
[codex:1083503]         return functionCallWithValue(target, data, 0);
[codex:1083503]     }
[codex:1083503] 
[codex:1083503]     /**
[codex:1083503]      * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
[codex:1083503]      * but also transferring `value` wei to `target`.
[codex:1083503]      *
[codex:1083503]      * Requirements:
[codex:1083503]      *
[codex:1083503]      * - the calling contract must have an ETH balance of at least `value`.
[codex:1083503]      * - the called Solidity function must be `payable`.
[codex:1083503]      */
[codex:1083503]     function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
[codex:1083503]         if (address(this).balance < value) {
[codex:1083503]             revert AddressInsufficientBalance(address(this));
[codex:1083503] 
[codex:1083503] thinking
[codex:1083503] **Continuing analysis**
[codex:1083503] exec
[codex:1083503] /bin/bash -lc "sed -n '800,1200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-uu4qlrp9 succeeded in 6ms:
[codex:1083503]             msg.sender,
[codex:1083503]             address(this),
[codex:1083503]             _amount
[codex:1083503]         );
[codex:1083503]         // Adds the amount to the user's balance and performs the token transfer.
[codex:1083503]         balances[_tokenAddress][msg.sender] =
[codex:1083503]             balances[_tokenAddress][msg.sender] +
[codex:1083503]             _amount;
[codex:1083503]         _updateUserActionTime(); // Updates the timestamp of the user's last action.
[codex:1083503]         emit Deposit(msg.sender, _tokenAddress, _amount);
[codex:1083503]     }
[codex:1083503] 
[codex:1083503]     /**
[codex:1083503]      * @dev Allows a user to deposit ETH, which is automatically wrapped into WETH.
[codex:1083503]      * Emits a {Deposit} events.
[codex:1083503]      */
[codex:1083503]     function depositEth() public payable {
[codex:1083503]         // Checks for non-zero ETH amount.
[codex:1083503]         if (!(msg.value > 0)) {
[codex:1083503]             revert Errors.NotAllowedZero();
[codex:1083503] exec
[codex:1083503] /bin/bash -lc "sed -n '1200,1600p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-uu4qlrp9 succeeded in 6ms:
[codex:1083503]         if (!sent) {
[codex:1083503]             revert Errors.FailedToSendEther();
[codex:1083503]         }
[codex:1083503]     }
[codex:1083503] 
[codex:1083503]     /**
[codex:1083503]      * @dev Allows owners to transfer out a user's tokens in emergency situations.
[codex:1083503]      * NOTE: This function is intended as a last resort, for example if a user loses access to their account.
[codex:1083503]      */
[codex:1083503]     function emergencyQuit(
[codex:1083503]         address _user,
[codex:1083503]         address _tokenAddress,
[codex:1083503]         uint256 _amount
[codex:1083503]     ) external onlyOwners {
[codex:1083503]         if (!(block.timestamp > lastUserActionTime[_user] + fullAccessAfter)) {
[codex:1083503]             revert Errors.WrongTimestamp();
[codex:1083503]         }
[codex:1083503]         _balanceTransfer(_tokenAddress, _user, payerAddress, _amount);
[codex:1083503]     }
[codex:1083503] 
[codex:1083503] 
[codex:1083503] thinking
[codex:1083503] **Preparing for security audit**
[codex:1083503] exec
[codex:1083503] /bin/bash -lc 'nl -ba contracts/contracts/PayerV3.sol' in /tmp/codex-multi-uu4qlrp9 succeeded in 6ms:
[codex:1083503]      1	// SPDX-License-Identifier: BUSL-1.1
[codex:1083503]      2	
[codex:1083503]      3	pragma solidity =0.8.20;
[codex:1083503]      4	pragma abicoder v2;
[codex:1083503]      5	import "@uniswap/v3-periphery/contracts/interfaces/ISwapRouter.sol"; // Interface for Uniswap v3's swap router, for executing token swaps.
[codex:1083503]      6	import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:1083503]      7	import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:1083503]      8	import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
[codex:1083503]      9	import "./lib/ArrayUtils.sol";
[codex:1083503]     10	import {Errors} from "./lib/Errors.sol";
[codex:1083503]     11	
[codex:1083503]     12	interface IWETH9 is IERC20 {
[codex:1083503]     13	    function deposit() external payable;
[codex:1083503]     14	
[codex:1083503]     15	    function withdraw(uint256) external payable;
[codex:1083503]     16	}
[codex:1083503]     17	
[codex:1083503]     18	contract PayerV3 {
[codex:1083503]     19	    using SafeERC20 for IERC20;
[codex:1083503]     20	    using ArrayUtils for address[]; // Enables ArrayUtils operations for address arrays.
[codex:1083503] 
[codex:1083503] thinking
[codex:1083503] **Checking ArrayUtils line numbers**
[codex:1083503] exec
[codex:1083503] /bin/bash -lc 'nl -ba contracts/contracts/lib/ArrayUtils.sol' in /tmp/codex-multi-uu4qlrp9 succeeded in 5ms:
[codex:1083503]      1	// SPDX-License-Identifier: GPL-3.0
[codex:1083503]      2	pragma solidity =0.8.20;
[codex:1083503]      3	
[codex:1083503]      4	library ArrayUtils {
[codex:1083503]      5	    function deleteItem(address[] storage self, address item)
[codex:1083503]      6	        internal
[codex:1083503]      7	        returns (bool success)
[codex:1083503]      8	    {
[codex:1083503]      9	        uint256 length = self.length;
[codex:1083503]     10	        for (uint256 i = 0; i < length; i++) {
[codex:1083503]     11	            if (self[i] == item) {
[codex:1083503]     12	                uint256 newLength = self.length - 1;
[codex:1083503]     13	                if (i != newLength) {
[codex:1083503]     14	                    self[i] = self[newLength];
[codex:1083503]     15	                }
[codex:1083503]     16	                self[newLength] = self[self.length - 1];
[codex:1083503]     17	                self.pop();
[codex:1083503]     18	
[codex:1083503]     19	                return true;
[codex:1083503]     20	            }
[codex:1083503] 
[codex:1083503] 
[codex:1083503] 
[codex:1083503] 
[codex:1083503] 
[codex:1083503] 
[codex:1083503] thinking
[codex:1083503] **Analyzing security risks in PayerV3**
[codex:1083503] 
[codex:1083503] I’m carefully reviewing PayerV3’s key functions for reentrancy, access control, math correctness, and external calls. I see thoughtful patterns but spot subtle concerns like claimOrder letting anyone mark orders claimed with arbitrary USD tokens—potentially blocking rightful payouts—and that price=0 orders could cause execution reverts. Also, missing zero-address checks and stale token data might lead to quirks, though not outright exploits. I’ll keep digging into these nuanced possibilities!
[codex:1083503] thinking
[codex:1083503] **Reviewing advanced token handling and timing logic**
[codex:1083503] 
[codex:1083503] I’m exploring nuanced behaviors around reentrancy, last action time updates, and token swapping. There’s a risk that third-party claims can delay activity timestamps affecting emergencyQuit timing. The swap execution enforces price checks via underflow reverts, which is clever. I’m also considering subtle issues like leftover ETH in contract, reentrancy with token callbacks, and how internal accounting balances sync with real token holdings. Some minor edge cases pop up but nothing obvious to exploit — still, these deserve extra care!
[codex:1083503] thinking
[codex:1083503] **Analyzing complex token swap and order execution edge cases**
[codex:1083503] 
[codex:1083503] I’m investigating several nuanced issues like allowance persistence for the swap router, state resetting after order execution failures, and the potential for stale swap data to cause incorrect token distributions when tokens are removed from the accepted list. The interplay between token removal, outstanding orders, and stale internal mappings could lead to accounting inconsistencies or transaction reverts. There’s also the possibility of third parties calling claimOrder to deny users bonus rewards, revealing some subtle logic flaws worth considering carefully.
[codex:1083503] thinking
[codex:1083503] **Evaluating order duplication and token transfer edge cases**
[codex:1083503] 
[codex:1083503] I’m digging into how duplicate order IDs in executeOrders could lead to unintended repeated swaps draining excess tokens if the contract holds extra balances, which is a significant owner/service risk. I also explored the issue with fee-on-transfer tokens causing internal accounting mismatches since the contract credits users the amount requested rather than the actual received tokens, potentially affecting withdrawals and user balances. Lastly, the public claimOrder function enables third parties to claim orders on behalf of users, which might let them deny users bonus rewards or affect timing-based protections—these subtle logic issues are worth highlighting.
[codex:1083503] thinking
[codex:1083503] **Highlighting reentrancy and token accounting concerns**
[codex:1083503] 
[codex:1083503] I’m reviewing how reentrancy risks arise from external calls in deposit before state update, enabling potential recursive calls that might cause logic confusion without direct benefit. Also, the contract’s accounting doesn’t account for fee-on-transfer tokens properly, since it credits users with the full requested amount regardless of actual tokens received, which can cause insolvency and imbalance among users if such tokens are accepted. Lastly, I’m considering the claimOrder’s open access that allows others to finalize orders choosing payout tokens, potentially blocking users from receiving expected bonuses—a low-severity yet meaningful issue.
[codex:1083503] thinking
[codex:1083503] **Detailing key vulnerabilities for JSON report**
[codex:1083503] 
[codex:1083503] I’m organizing two main findings for output: first, the claimOrder function’s public access allowing any caller to choose the payout USD token, which can cause users to lose additionalAmount bonuses if the chosen token lacks balance; second, the deposit function’s accounting flaw that credits user balances without verifying actual received tokens, risking insolvency with fee-on-transfer tokens. I’m noting severity levels, evidence lines, and considering common edge cases before preparing the final structured JSON output.
[codex:1083503] exec
[codex:1083503] /bin/bash -lc 'cat codex-output-schema.json' in /tmp/codex-multi-uu4qlrp9 succeeded in 7ms:
[codex:1083503] {"type": "object", "additionalProperties": false, "required": ["no_findings", "summary", "findings"], "properties": {"no_findings": {"type": "boolean"}, "summary": {"type": "string"}, "findings": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["severity", "category", "title", "evidence", "locations", "exploit_scenario", "recommendation"], "properties": {"severity": {"type": "string", "enum": ["info", "low", "medium", "high", "critical"]}, "category": {"type": "string", "enum": ["access_control", "reentrancy", "math", "oracle", "upgradeability", "auth", "other"]}, "title": {"type": "string"}, "exploit_scenario": {"type": "string"}, "recommendation": {"type": "string"}, "evidence": {"type": "string"}, "locations": {"type": "array", "items": {"type": "string"}}}}}}}
[codex:1083503] 
[codex:1083503] thinking
[codex:1083503] **Generating JSON summary with findings**
[codex:1083503] 
[codex:1083503] I'm creating a concise ASCII JSON report detailing two findings in PayerV3.sol, including code locations, severity, categories, evidence descriptions, and a brief summary capturing access control and accounting issues.
[codex:1083503] codex
[codex:1083503] {"no_findings":false,"summary":"Found 2 issues in PayerV3: public claim griefing for bonus payouts and balance accounting that breaks with fee-on-transfer tokens.","findings":[{"severity":"medium","category":"other","title":"Deposits credit the requested amount without verifying actual tokens received","exploit_scenario":"If an owner mistakenly whitelists a fee-on-transfer or rebasing token, a user can deposit 100 tokens, the contract receives less (e.g., 90), but the user is credited with 100. Early withdrawers can redeem their full credited balance, leaving later withdrawers insolvent and unable to withdraw all funds.","recommendation":"Credit users based on the actual amount received by measuring balance before/after `safeTransferFrom`, or explicitly reject fee-on-transfer/rebasing tokens in `editAcceptableToken` and document the invariant.","evidence":"`deposit` calls `safeTransferFrom` and then increments `balances` by `_amount` without checking the contract's actual received balance.","locations":["contracts/contracts/PayerV3.sol:198","contracts/contracts/PayerV3.sol:206","contracts/contracts/PayerV3.sol:212"]},{"severity":"low","category":"access_control","title":"Anyone can claim orders and choose the USD payout token, enabling bonus denial/griefing","exploit_scenario":"A third party can front-run or proactively call `claimOrder` for someone else using a USD token that has insufficient `payerAddress` balance. The order is marked claimed and the user can no longer claim with a different USD token that has funds, causing loss of the intended additionalAmount bonus.","recommendation":"Restrict non-force `claimOrder` to the order owner (or owner/service), or store the payout token at execution time and require it, or revert if `payerAddress` lacks sufficient balance so the user can re-claim later.","evidence":"`claimOrder` is public, allows any caller to supply `_usdToken`, and marks the order claimed even if no bonus is transferred.","locations":["contracts/contracts/PayerV3.sol:419","contracts/contracts/PayerV3.sol:436","contracts/contracts/PayerV3.sol:441","contracts/contracts/PayerV3.sol:466"]}]}
[codex:1083503] tokens used
[codex:1083503] 45,744
[codex:1083503] {"no_findings":false,"summary":"Found 2 issues in PayerV3: public claim griefing for bonus payouts and balance accounting that breaks with fee-on-transfer tokens.","findings":[{"severity":"medium","category":"other","title":"Deposits credit the requested amount without verifying actual tokens received","exploit_scenario":"If an owner mistakenly whitelists a fee-on-transfer or rebasing token, a user can deposit 100 tokens, the contract receives less (e.g., 90), but the user is credited with 100. Early withdrawers can redeem their full credited balance, leaving later withdrawers insolvent and unable to withdraw all funds.","recommendation":"Credit users based on the actual amount received by measuring balance before/after `safeTransferFrom`, or explicitly reject fee-on-transfer/rebasing tokens in `editAcceptableToken` and document the invariant.","evidence":"`deposit` calls `safeTransferFrom` and then increments `balances` by `_amount` without checking the contract's actual received balance.","locations":["contracts/contracts/PayerV3.sol:198","contracts/contracts/PayerV3.sol:206","contracts/contracts/PayerV3.sol:212"]},{"severity":"low","category":"access_control","title":"Anyone can claim orders and choose the USD payout token, enabling bonus denial/griefing","exploit_scenario":"A third party can front-run or proactively call `claimOrder` for someone else using a USD token that has insufficient `payerAddress` balance. The order is marked claimed and the user can no longer claim with a different USD token that has funds, causing loss of the intended additionalAmount bonus.","recommendation":"Restrict non-force `claimOrder` to the order owner (or owner/service), or store the payout token at execution time and require it, or revert if `payerAddress` lacks sufficient balance so the user can re-claim later.","evidence":"`claimOrder` is public, allows any caller to supply `_usdToken`, and marks the order claimed even if no bonus is transferred.","locations":["contracts/contracts/PayerV3.sol:419","contracts/contracts/PayerV3.sol:436","contracts/contracts/PayerV3.sol:441","contracts/contracts/PayerV3.sol:466"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-30T21:17:31.360880+00:00",
        "returncode": 0
    },
    "summary": "Found 2 issues in PayerV3: public claim griefing for bonus payouts and balance accounting that breaks with fee-on-transfer tokens.",
    "raw_final": {
        "summary": "Found 2 issues in PayerV3: public claim griefing for bonus payouts and balance accounting that breaks with fee-on-transfer tokens.",
        "findings": [
            {
                "title": "Deposits credit the requested amount without verifying actual tokens received",
                "category": "other",
                "evidence": "`deposit` calls `safeTransferFrom` and then increments `balances` by `_amount` without checking the contract's actual received balance.",
                "severity": "medium",
                "locations": [
                    "contracts/contracts/PayerV3.sol:198",
                    "contracts/contracts/PayerV3.sol:206",
                    "contracts/contracts/PayerV3.sol:212"
                ],
                "recommendation": "Credit users based on the actual amount received by measuring balance before/after `safeTransferFrom`, or explicitly reject fee-on-transfer/rebasing tokens in `editAcceptableToken` and document the invariant.",
                "exploit_scenario": "If an owner mistakenly whitelists a fee-on-transfer or rebasing token, a user can deposit 100 tokens, the contract receives less (e.g., 90), but the user is credited with 100. Early withdrawers can redeem their full credited balance, leaving later withdrawers insolvent and unable to withdraw all funds."
            },
            {
                "title": "Anyone can claim orders and choose the USD payout token, enabling bonus denial/griefing",
                "category": "access_control",
                "evidence": "`claimOrder` is public, allows any caller to supply `_usdToken`, and marks the order claimed even if no bonus is transferred.",
                "severity": "low",
                "locations": [
                    "contracts/contracts/PayerV3.sol:419",
                    "contracts/contracts/PayerV3.sol:436",
                    "contracts/contracts/PayerV3.sol:441",
                    "contracts/contracts/PayerV3.sol:466"
                ],
                "recommendation": "Restrict non-force `claimOrder` to the order owner (or owner/service), or store the payout token at execution time and require it, or revert if `payerAddress` lacks sufficient balance so the user can re-claim later.",
                "exploit_scenario": "A third party can front-run or proactively call `claimOrder` for someone else using a USD token that has insufficient `payerAddress` balance. The order is marked claimed and the user can no longer claim with a different USD token that has funds, causing loss of the intended additionalAmount bonus."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
1
CALL-family (heavy)
11
EXT*/BALANCE
4
Total opcodes
8178
Flags
create_opcodes_present
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x02e0
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x70ed0ada
00000019: GT
0000001a: PUSH2 0x0184
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xc23f001f
00000024: GT
00000025: PUSH2 0x00d6
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xd598d4c9
0000002f: GT
00000030: PUSH2 0x008a
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xf43084f7
0000003a: GT
0000003b: PUSH2 0x0064
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xf43084f7
00000045: EQ
00000046: PUSH2 0x0905
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xf6e39640
00000050: EQ
00000051: PUSH2 0x0918
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xf7888aec
0000005b: EQ
0000005c: PUSH2 0x0938
0000005f: JUMPI
00000060: PUSH1 0x00
00000062: DUP1
00000063: REVERT
00000064: JUMPDEST
00000065: DUP1
00000066: PUSH4 0xd598d4c9
0000006b: EQ
0000006c: PUSH2 0x08ac
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0xdbb1b5e0
00000076: EQ
00000077: PUSH2 0x08d9
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0xde153a48
00000081: EQ
00000082: PUSH2 0x08ef
00000085: JUMPI
00000086: PUSH1 0x00
00000088: DUP1
00000089: REVERT
0000008a: JUMPDEST
0000008b: DUP1
0000008c: PUSH4 0xc9df6508
00000091: GT
00000092: PUSH2 0x00bb
00000095: JUMPI
00000096: DUP1
00000097: PUSH4 0xc9df6508
0000009c: EQ
0000009d: PUSH2 0x0839
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0xcd626c28
000000a7: EQ
000000a8: PUSH2 0x0869
000000ab: JUMPI
000000ac: DUP1
000000ad: PUSH4 0xcd69bef5
000000b2: EQ
000000b3: PUSH2 0x087f
000000b6: JUMPI
000000b7: PUSH1 0x00
000000b9: DUP1
000000ba: REVERT
000000bb: JUMPDEST
000000bc: DUP1
000000bd: PUSH4 0xc23f001f
000000c2: EQ
000000c3: PUSH2 0x07d9
000000c6: JUMPI
000000c7: DUP1
000000c8: PUSH4 0xc31c9c07
000000cd: EQ
000000ce: PUSH2 0x0811
000000d1: JUMPI
000000d2: PUSH1 0x00
000000d4: DUP1
000000d5: REVERT
000000d6: JUMPDEST
000000d7: DUP1
000000d8: PUSH4 0xa85c38ef
000000dd: GT
000000de: PUSH2 0x0138
000000e1: JUMPI
000000e2: DUP1
000000e3: PUSH4 0xb5e1a2cc
000000e8: GT
000000e9: PUSH2 0x0112
000000ec: JUMPI
000000ed: DUP1
000000ee: PUSH4 0xb5e1a2cc
000000f3: EQ
000000f4: PUSH2 0x0779
000000f7: JUMPI
000000f8: DUP1
000000f9: PUSH4 0xbb5c08fb
000000fe: EQ
000000ff: PUSH2 0x0799
00000102: JUMPI
00000103: DUP1
00000104: PUSH4 0xbc66359e
00000109: EQ
0000010a: PUSH2 0x07b9
0000010d: JUMPI
0000010e: PUSH1 0x00
00000110: DUP1
00000111: REVERT
00000112: JUMPDEST
00000113: DUP1
00000114: PUSH4 0xa85c38ef
00000119: EQ
0000011a: PUSH2 0x0692
0000011d: JUMPI
0000011e: DUP1
0000011f: PUSH4 0xb202416c
00000124: EQ
00000125: PUSH2 0x0719
00000128: JUMPI
00000129: DUP1
0000012a: PUSH4 0xb54ae16e
0000012f: EQ
00000130: PUSH2 0x0759
00000133: JUMPI
00000134: PUSH1 0x00
00000136: DUP1
00000137: REVERT
00000138: JUMPDEST
00000139: DUP1
0000013a: PUSH4 0x73dd250c
0000013f: GT
00000140: PUSH2 0x0169
00000143: JUMPI
00000144: DUP1
00000145: PUSH4 0x73dd250c
0000014a: EQ
0000014b: PUSH2 0x060d
0000014e: JUMPI
0000014f: DUP1
00000150: PUSH4 0x8a66cfd5
00000155: EQ
00000156: PUSH2 0x062d
00000159: JUMPI
0000015a: DUP1
0000015b: PUSH4 0x9e43c9c9
00000160: EQ
00000161: PUSH2 0x065a
00000164: JUMPI
00000165: PUSH1 0x00
00000167: DUP1
00000168: REVERT
00000169: JUMPDEST
0000016a: DUP1
0000016b: PUSH4 0x70ed0ada
00000170: EQ
00000171: PUSH2 0x05cd
00000174: JUMPI
00000175: DUP1
00000176: PUSH4 0x73688914
0000017b: EQ
0000017c: PUSH2 0x05e0
0000017f: JUMPI
00000180: PUSH1 0x00
00000182: DUP1
00000183: REVERT
00000184: JUMPDEST
00000185: DUP1
00000186: PUSH4 0x3d2e9f46
0000018b: GT
0000018c: PUSH2 0x023d
0000018f: JUMPI
00000190: DUP1
00000191: PUSH4 0x4f0e0ef3
00000196: GT
00000197: PUSH2 0x01f1
0000019a: JUMPI
0000019b: DUP1
0000019c: PUSH4 0x6d626290
000001a1: GT
000001a2: PUSH2 0x01cb
000001a5: JUMPI
000001a6: DUP1
000001a7: PUSH4 0x6d626290
000001ac: EQ
000001ad: PUSH2 0x0576
000001b0: JUMPI
000001b1: DUP1
000001b2: PUSH4 0x6d6de7e9
000001b7: EQ
000001b8: PUSH2 0x0596
000001bb: JUMPI
000001bc: DUP1
000001bd: PUSH4 0x6db5c8fd
000001c2: EQ
000001c3: PUSH2 0x05b6
000001c6: JUMPI
000001c7: PUSH1 0x00
000001c9: DUP1
000001ca: REVERT
000001cb: JUMPDEST
000001cc: DUP1
000001cd: PUSH4 0x4f0e0ef3
000001d2: EQ
000001d3: PUSH2 0x050e
000001d6: JUMPI
000001d7: DUP1
000001d8: PUSH4 0x52709725
000001dd: EQ
000001de: PUSH2 0x0536
000001e1: JUMPI
000001e2: DUP1
000001e3: PUSH4 0x66e0a4cd
000001e8: EQ
000001e9: PUSH2 0x0563
000001ec: JUMPI
000001ed: PUSH1 0x00
000001ef: DUP1
000001f0: REVERT
000001f1: JUMPDEST
000001f2: DUP1
000001f3: PUSH4 0x46c8fe64
000001f8: GT
000001f9: PUSH2 0x0222
000001fc: JUMPI
000001fd: DUP1
000001fe: PUSH4 0x46c8fe64
00000203: EQ
00000204: PUSH2 0x04c8
00000207: JUMPI
00000208: DUP1
00000209: PUSH4 0x47b352e5
0000020e: EQ
0000020f: PUSH2 0x04db
00000212: JUMPI
00000213: DUP1
00000214: PUSH4 0x47e7ef24
00000219: EQ
0000021a: PUSH2 0x04fb
0000021d: JUMPI
0000021e: PUSH1 0x00
00000220: DUP1
00000221: REVERT
00000222: JUMPDEST
00000223: DUP1
00000224: PUSH4 0x3d2e9f46
00000229: EQ
0000022a: PUSH2 0x04a0
0000022d: JUMPI
0000022e: DUP1
0000022f: PUSH4 0x439370b1
00000234: EQ
00000235: PUSH2 0x04c0
00000238: JUMPI
00000239: PUSH1 0x00
0000023b: DUP1
0000023c: REVERT
0000023d: JUMPDEST
0000023e: DUP1
0000023f: PUSH4 0x2133e3b9
00000244: GT
00000245: PUSH2 0x0294
00000248: JUMPI
00000249: DUP1
0000024a: PUSH4 0x2c3f35b8
0000024f: GT
00000250: PUSH2 0x0279
00000253: JUMPI
00000254: DUP1
00000255: PUSH4 0x2c3f35b8
0000025a: EQ
0000025b: PUSH2 0x0448
0000025e: JUMPI
0000025f: DUP1
00000260: PUSH4 0x35b00d06
00000265: EQ
00000266: PUSH2 0x0460
00000269: JUMPI
0000026a: DUP1
0000026b: PUSH4 0x3aecd0e3
00000270: EQ
00000271: PUSH2 0x0480
00000274: JUMPI
00000275: PUSH1 0x00
00000277: DUP1
00000278: REVERT
00000279: JUMPDEST
0000027a: DUP1
0000027b: PUSH4 0x2133e3b9
00000280: EQ
00000281: PUSH2 0x03d6
00000284: JUMPI
00000285: DUP1
00000286: PUSH4 0x2b2f1e14
0000028b: EQ
0000028c: PUSH2 0x03f6
0000028f: JUMPI
00000290: PUSH1 0x00
00000292: DUP1
00000293: REVERT
00000294: JUMPDEST
00000295: DUP1
00000296: PUSH4 0x089fe6aa
0000029b: GT
0000029c: PUSH2 0x02c5
0000029f: JUMPI
000002a0: DUP1
000002a1: PUSH4 0x089fe6aa
000002a6: EQ
000002a7: PUSH2 0x0323
000002aa: JUMPI
000002ab: DUP1
000002ac: PUSH4 0x18a042ec
000002b1: EQ
000002b2: PUSH2 0x0370
000002b5: JUMPI
000002b6: DUP1
000002b7: PUSH4 0x1980bc16
000002bc: EQ
000002bd: PUSH2 0x0390
000002c0: JUMPI
000002c1: PUSH1 0x00
000002c3: DUP1
000002c4: REVERT
000002c5: JUMPDEST
000002c6: DUP1
000002c7: PUSH4 0x04012690
000002cc: EQ
000002cd: PUSH2 0x02ec
000002d0: JUMPI
000002d1: DUP1
000002d2: PUSH4 0x068bcaba
000002d7: EQ
000002d8: PUSH2 0x0303
000002db: JUMPI
000002dc: PUSH1 0x00
000002de: DUP1
000002df: REVERT
000002e0: JUMPDEST
000002e1: CALLDATASIZE
000002e2: PUSH2 0x02e7
000002e5: JUMPI
000002e6: STOP
000002e7: JUMPDEST
000002e8: PUSH1 0x00
000002ea: DUP1
000002eb: REVERT
000002ec: JUMPDEST
000002ed: CALLVALUE
000002ee: DUP1
000002ef: ISZERO
000002f0: PUSH2 0x02f8
000002f3: JUMPI
000002f4: PUSH1 0x00
000002f6: DUP1
000002f7: REVERT
000002f8: JUMPDEST
000002f9: POP
000002fa: PUSH2 0x0301
000002fd: PUSH2 0x098b
00000300: JUMP
00000301: JUMPDEST
00000302: STOP
00000303: JUMPDEST
00000304: CALLVALUE
00000305: DUP1
00000306: ISZERO
00000307: PUSH2 0x030f
0000030a: JUMPI
0000030b: PUSH1 0x00
0000030d: DUP1
0000030e: REVERT
0000030f: JUMPDEST
00000310: POP
00000311: PUSH2 0x0301
00000314: PUSH2 0x031e
00000317: CALLDATASIZE
00000318: PUSH1 0x04
0000031a: PUSH2 0x37c2
0000031d: JUMP
0000031e: JUMPDEST
0000031f: PUSH2 0x0a2e
00000322: JUMP
00000323: JUMPDEST
00000324: CALLVALUE
00000325: DUP1
00000326: ISZERO
00000327: PUSH2 0x032f
0000032a: JUMPI
0000032b: PUSH1 0x00
0000032d: DUP1
0000032e: REVERT
0000032f: JUMPDEST
00000330: POP
00000331: PUSH1 0x02
00000333: SLOAD
00000334: PUSH2 0x0357
00000337: SWAP1
00000338: PUSH21 0x010000000000000000000000000000000000000000
0000034e: SWAP1
0000034f: DIV
00000350: PUSH3 0xffffff
00000354: AND
00000355: DUP2
00000356: JUMP
00000357: JUMPDEST
00000358: PUSH1 0x40
0000035a: MLOAD
0000035b: PUSH3 0xffffff
0000035f: SWAP1
00000360: SWAP2
00000361: AND
00000362: DUP2
00000363: MSTORE
00000364: PUSH1 0x20
00000366: ADD
00000367: JUMPDEST
00000368: PUSH1 0x40
0000036a: MLOAD
0000036b: DUP1
0000036c: SWAP2
0000036d: SUB
0000036e: SWAP1
0000036f: RETURN
00000370: JUMPDEST
00000371: CALLVALUE
00000372: DUP1
00000373: ISZERO
00000374: PUSH2 0x037c
00000377: JUMPI
00000378: PUSH1 0x00
0000037a: DUP1
0000037b: REVERT
0000037c: JUMPDEST
0000037d: POP
0000037e: PUSH2 0x0301
00000381: PUSH2 0x038b
00000384: CALLDATASIZE
00000385: PUSH1 0x04
00000387: PUSH2 0x37df
0000038a: JUMP
0000038b: JUMPDEST
0000038c: PUSH2 0x0aec
0000038f: JUMP
00000390: JUMPDEST
00000391: CALLVALUE
00000392: DUP1
00000393: ISZERO
00000394: PUSH2 0x039c
00000397: JUMPI
00000398: PUSH1 0x00
0000039a: DUP1
0000039b: REVERT
0000039c: JUMPDEST
0000039d: POP
0000039e: PUSH2 0x03c8
000003a1: PUSH2 0x03ab
000003a4: CALLDATASIZE
000003a5: PUSH1 0x04
000003a7: PUSH2 0x380b
000003aa: JUMP
000003ab: JUMPDEST
000003ac: PUSH1 0x06
000003ae: PUSH1 0x20
000003b0: SWAP1
000003b1: DUP2
000003b2: MSTORE
000003b3: PUSH1 0x00
000003b5: SWAP3
000003b6: DUP4
000003b7: MSTORE
000003b8: PUSH1 0x40
000003ba: DUP1
000003bb: DUP5
000003bc: KECCAK256
000003bd: SWAP1
000003be: SWAP2
000003bf: MSTORE
000003c0: SWAP1
000003c1: DUP3
000003c2: MSTORE
000003c3: SWAP1
000003c4: KECCAK256
000003c5: SLOAD
000003c6: DUP2
000003c7: JUMP
000003c8: JUMPDEST
000003c9: PUSH1 0x40
000003cb: MLOAD
000003cc: SWAP1
000003cd: DUP2
000003ce: MSTORE
000003cf: PUSH1 0x20
000003d1: ADD
000003d2: PUSH2 0x0367
000003d5: JUMP
000003d6: JUMPDEST
000003d7: CALLVALUE
000003d8: DUP1
000003d9: ISZERO
000003da: PUSH2 0x03e2
000003dd: JUMPI
000003de: PUSH1 0x00
000003e0: DUP1
000003e1: REVERT
000003e2: JUMPDEST
000003e3: POP
000003e4: PUSH2 0x03c8
000003e7: PUSH2 0x03f1
000003ea: CALLDATASIZE
000003eb: PUSH1 0x04
000003ed: PUSH2 0x3844
000003f0: JUMP
000003f1: JUMPDEST
000003f2: PUSH2 0x0c3a
000003f5: JUMP
000003f6: JUMPDEST
000003f7: CALLVALUE
000003f8: DUP1
000003f9: ISZERO
000003fa: PUSH2 0x0402
000003fd: JUMPI
000003fe: PUSH1 0x00
00000400: DUP1
00000401: REVERT
00000402: JUMPDEST
00000403: POP
00000404: PUSH1 0x0d
00000406: SLOAD
00000407: PUSH2 0x0423
0000040a: SWAP1
0000040b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000420: AND
00000421: DUP2
00000422: JUMP
00000423: JUMPDEST
00000424: PUSH1 0x40
00000426: MLOAD
00000427: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000043c: SWAP1
0000043d: SWAP2
0000043e: AND
0000043f: DUP2
00000440: MSTORE
00000441: PUSH1 0x20
00000443: ADD
00000444: PUSH2 0x0367
00000447: JUMP
00000448: JUMPDEST
00000449: CALLVALUE
0000044a: DUP1
0000044b: ISZERO
0000044c: PUSH2 0x0454
0000044f: JUMPI
00000450: PUSH1 0x00
00000452: DUP1
00000453: REVERT
00000454: JUMPDEST
00000455: POP
00000456: PUSH2 0x03c8
00000459: PUSH4 0x01e13380
0000045e: DUP2
0000045f: JUMP
00000460: JUMPDEST
00000461: CALLVALUE
00000462: DUP1
00000463: ISZERO
00000464: PUSH2 0x046c
00000467: JUMPI
00000468: PUSH1 0x00
0000046a: DUP1
0000046b: REVERT
0000046c: JUMPDEST
0000046d: POP
0000046e: PUSH2 0x0301
00000471: PUSH2 0x047b
00000474: CALLDATASIZE
00000475: PUSH1 0x04
00000477: PUSH2 0x387f
0000047a: JUMP
0000047b: JUMPDEST
0000047c: PUSH2 0x0c5c
0000047f: JUMP
00000480: JUMPDEST
00000481: CALLVALUE
00000482: DUP1
00000483: ISZERO
00000484: PUSH2 0x048c
00000487: JUMPI
00000488: PUSH1 0x00
0000048a: DUP1
0000048b: REVERT
0000048c: JUMPDEST
0000048d: POP
0000048e: PUSH2 0x03c8
00000491: PUSH2 0x049b
00000494: CALLDATASIZE
00000495: PUSH1 0x04
00000497: PUSH2 0x37c2
0000049a: JUMP
0000049b: JUMPDEST
0000049c: PUSH2 0x15e3
0000049f: JUMP
000004a0: JUMPDEST
000004a1: CALLVALUE
000004a2: DUP1
000004a3: ISZERO
000004a4: PUSH2 0x04ac
000004a7: JUMPI
000004a8: PUSH1 0x00
000004aa: DUP1
000004ab: REVERT
000004ac: JUMPDEST
000004ad: POP
000004ae: PUSH2 0x0301
000004b1: PUSH2 0x04bb
000004b4: CALLDATASIZE
000004b5: PUSH1 0x04
000004b7: PUSH2 0x3943
000004ba: JUMP
000004bb: JUMPDEST
000004bc: PUSH2 0x1674
000004bf: JUMP
000004c0: JUMPDEST
000004c1: PUSH2 0x0301
000004c4: PUSH2 0x1784
000004c7: JUMP
000004c8: JUMPDEST
000004c9: PUSH2 0x0301
000004cc: PUSH2 0x04d6
000004cf: CALLDATASIZE
000004d0: PUSH1 0x04
000004d2: PUSH2 0x3984
000004d5: JUMP
000004d6: JUMPDEST
000004d7: PUSH2 0x18f6
000004da: JUMP
000004db: JUMPDEST
000004dc: CALLVALUE
000004dd: DUP1
000004de: ISZERO
000004df: PUSH2 0x04e7
000004e2: JUMPI
000004e3: PUSH1 0x00
000004e5: DUP1
000004e6: REVERT
000004e7: JUMPDEST
000004e8: POP
000004e9: PUSH2 0x0301
000004ec: PUSH2 0x04f6
000004ef: CALLDATASIZE
000004f0: PUSH1 0x04
000004f2: PUSH2 0x39bf
000004f5: JUMP
000004f6: JUMPDEST
000004f7: PUSH2 0x1925
000004fa: JUMP
000004fb: JUMPDEST
000004fc: PUSH2 0x0301
000004ff: PUSH2 0x0509
00000502: CALLDATASIZE
00000503: PUSH1 0x04
00000505: PUSH2 0x37df
00000508: JUMP
00000509: JUMPDEST
0000050a: PUSH2 0x1b7a
0000050d: JUMP
0000050e: JUMPDEST
0000050f: CALLVALUE
00000510: DUP1
00000511: ISZERO
00000512: PUSH2 0x051a
00000515: JUMPI
00000516: PUSH1 0x00
00000518: DUP1
00000519: REVERT
0000051a: JUMPDEST
0000051b: POP
0000051c: PUSH2 0x0423
0000051f: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000534: DUP2
00000535: JUMP
00000536: JUMPDEST
00000537: CALLVALUE
00000538: DUP1
00000539: ISZERO
0000053a: PUSH2 0x0542
0000053d: JUMPI
0000053e: PUSH1 0x00
00000540: DUP1
00000541: REVERT
00000542: JUMPDEST
00000543: POP
00000544: PUSH1 0x01
00000546: SLOAD
00000547: PUSH2 0x0423
0000054a: SWAP1
0000054b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000560: AND
00000561: DUP2
00000562: JUMP
00000563: JUMPDEST
00000564: PUSH2 0x0301
00000567: PUSH2 0x0571
0000056a: CALLDATASIZE
0000056b: PUSH1 0x04
0000056d: PUSH2 0x3a10
00000570: JUMP
00000571: JUMPDEST
00000572: PUSH2 0x1cf7
00000575: JUMP
00000576: JUMPDEST
00000577: CALLVALUE
00000578: DUP1
00000579: ISZERO
0000057a: PUSH2 0x0582
0000057d: JUMPI
0000057e: PUSH1 0x00
00000580: DUP1
00000581: REVERT
00000582: JUMPDEST
00000583: POP
00000584: PUSH2 0x0301
00000587: PUSH2 0x0591
0000058a: CALLDATASIZE
0000058b: PUSH1 0x04
0000058d: PUSH2 0x3a29
00000590: JUMP
00000591: JUMPDEST
00000592: PUSH2 0x1f27
00000595: JUMP
00000596: JUMPDEST
00000597: CALLVALUE
00000598: DUP1
00000599: ISZERO
0000059a: PUSH2 0x05a2
0000059d: JUMPI
0000059e: PUSH1 0x00
000005a0: DUP1
000005a1: REVERT
000005a2: JUMPDEST
000005a3: POP
000005a4: PUSH2 0x0301
000005a7: PUSH2 0x05b1
000005aa: CALLDATASIZE
000005ab: PUSH1 0x04
000005ad: PUSH2 0x37c2
000005b0: JUMP
000005b1: JUMPDEST
000005b2: PUSH2 0x22f7
000005b5: JUMP
000005b6: JUMPDEST
000005b7: CALLVALUE
000005b8: DUP1
000005b9: ISZERO
000005ba: PUSH2 0x05c2
000005bd: JUMPI
000005be: PUSH1 0x00
000005c0: DUP1
000005c1: REVERT
000005c2: JUMPDEST
000005c3: POP
000005c4: PUSH2 0x03c8
000005c7: PUSH3 0x76a700
000005cb: DUP2
000005cc: JUMP
000005cd: JUMPDEST
000005ce: CALLVALUE
000005cf: DUP1
000005d0: ISZERO
000005d1: PUSH2 0x05d9
000005d4: JUMPI
000005d5: PUSH1 0x00
000005d7: DUP1
000005d8: REVERT
000005d9: JUMPDEST
000005da: POP
000005db: SELFBALANCE
000005dc: PUSH2 0x03c8
000005df: JUMP
000005e0: JUMPDEST
000005e1: CALLVALUE
000005e2: DUP1
000005e3: ISZERO
000005e4: PUSH2 0x05ec
000005e7: JUMPI
000005e8: PUSH1 0x00
000005ea: DUP1
000005eb: REVERT
000005ec: JUMPDEST
000005ed: POP
000005ee: PUSH1 0x00
000005f0: SLOAD
000005f1: PUSH2 0x0423
000005f4: SWAP1
000005f5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000060a: AND
0000060b: DUP2
0000060c: JUMP
0000060d: JUMPDEST
0000060e: CALLVALUE
0000060f: DUP1
00000610: ISZERO
00000611: PUSH2 0x0619
00000614: JUMPI
00000615: PUSH1 0x00
00000617: DUP1
00000618: REVERT
00000619: JUMPDEST
0000061a: POP
0000061b: PUSH2 0x0301
0000061e: PUSH2 0x0628
00000621: CALLDATASIZE
00000622: PUSH1 0x04
00000624: PUSH2 0x3a7a
00000627: JUMP
00000628: JUMPDEST
00000629: PUSH2 0x23b5
0000062c: JUMP
0000062d: JUMPDEST
0000062e: CALLVALUE
0000062f: DUP1
00000630: ISZERO
00000631: PUSH2 0x0639
00000634: JUMPI
00000635: PUSH1 0x00
00000637: DUP1
00000638: REVERT
00000639: JUMPDEST
0000063a: POP
0000063b: PUSH2 0x03c8
0000063e: PUSH2 0x0648
00000641: CALLDATASIZE
00000642: PUSH1 0x04
00000644: PUSH2 0x37c2
00000647: JUMP
00000648: JUMPDEST
00000649: PUSH1 0x07
0000064b: PUSH1 0x20
0000064d: MSTORE
0000064e: PUSH1 0x00
00000650: SWAP1
00000651: DUP2
00000652: MSTORE
00000653: PUSH1 0x40
00000655: SWAP1
00000656: KECCAK256
00000657: SLOAD
00000658: DUP2
00000659: JUMP
0000065a: JUMPDEST
0000065b: CALLVALUE
0000065c: DUP1
0000065d: ISZERO
0000065e: PUSH2 0x0666
00000661: JUMPI
00000662: PUSH1 0x00
00000664: DUP1
00000665: REVERT
00000666: JUMPDEST
00000667: POP
00000668: PUSH2 0x03c8
0000066b: PUSH2 0x0675
0000066e: CALLDATASIZE
0000066f: PUSH1 0x04
00000671: PUSH2 0x380b
00000674: JUMP
00000675: JUMPDEST
00000676: PUSH1 0x05
00000678: PUSH1 0x20
0000067a: SWAP1
0000067b: DUP2
0000067c: MSTORE
0000067d: PUSH1 0x00
0000067f: SWAP3
00000680: DUP4
00000681: MSTORE
00000682: PUSH1 0x40
00000684: DUP1
00000685: DUP5
00000686: KECCAK256
00000687: SWAP1
00000688: SWAP2
00000689: MSTORE
0000068a: SWAP1
0000068b: DUP3
0000068c: MSTORE
0000068d: SWAP1
0000068e: KECCAK256
0000068f: SLOAD
00000690: DUP2
00000691: JUMP
00000692: JUMPDEST
00000693: CALLVALUE
00000694: DUP1
00000695: ISZERO
00000696: PUSH2 0x069e
00000699: JUMPI
0000069a: PUSH1 0x00
0000069c: DUP1
0000069d: REVERT
0000069e: JUMPDEST
0000069f: POP
000006a0: PUSH2 0x06b2
000006a3: PUSH2 0x06ad
000006a6: CALLDATASIZE
000006a7: PUSH1 0x04
000006a9: PUSH2 0x3a10
000006ac: JUMP
000006ad: JUMPDEST
000006ae: PUSH2 0x247a
000006b1: JUMP
000006b2: JUMPDEST
000006b3: PUSH1 0x40
000006b5: DUP1
000006b6: MLOAD
000006b7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006cc: SWAP12
000006cd: DUP13
000006ce: AND
000006cf: DUP2
000006d0: MSTORE
000006d1: SWAP10
000006d2: DUP12
000006d3: AND
000006d4: PUSH1 0x20
000006d6: DUP12
000006d7: ADD
000006d8: MSTORE
000006d9: DUP10
000006da: ADD
000006db: SWAP8
000006dc: SWAP1
000006dd: SWAP8
000006de: MSTORE
000006df: SWAP8
000006e0: SWAP1
000006e1: SWAP5
000006e2: AND
000006e3: PUSH1 0x60
000006e5: DUP8
000006e6: ADD
000006e7: MSTORE
000006e8: PUSH1 0x80
000006ea: DUP7
000006eb: ADD
000006ec: SWAP3
000006ed: SWAP1
000006ee: SWAP3
000006ef: MSTORE
000006f0: PUSH1 0xa0
000006f2: DUP6
000006f3: ADD
000006f4: MSTORE
000006f5: PUSH1 0xc0
000006f7: DUP5
000006f8: ADD
000006f9: MSTORE
000006fa: PUSH1 0xe0
000006fc: DUP4
000006fd: ADD
000006fe: MSTORE
000006ff: SWAP2
00000700: ISZERO
00000701: ISZERO
00000702: PUSH2 0x0100
00000705: DUP3
00000706: ADD
00000707: MSTORE
00000708: SWAP1
00000709: ISZERO
0000070a: ISZERO
0000070b: PUSH2 0x0120
0000070e: DUP3
0000070f: ADD
00000710: MSTORE
00000711: PUSH2 0x0140
00000714: ADD
00000715: PUSH2 0x0367
00000718: JUMP
00000719: JUMPDEST
0000071a: CALLVALUE
0000071b: DUP1
0000071c: ISZERO
0000071d: PUSH2 0x0725
00000720: JUMPI
00000721: PUSH1 0x00
00000723: DUP1
00000724: REVERT
00000725: JUMPDEST
00000726: POP
00000727: PUSH2 0x0749
0000072a: PUSH2 0x0734
0000072d: CALLDATASIZE
0000072e: PUSH1 0x04
00000730: PUSH2 0x37c2
00000733: JUMP
00000734: JUMPDEST
00000735: PUSH1 0x09
00000737: PUSH1 0x20
00000739: MSTORE
0000073a: PUSH1 0x00
0000073c: SWAP1
0000073d: DUP2
0000073e: MSTORE
0000073f: PUSH1 0x40
00000741: SWAP1
00000742: KECCAK256
00000743: SLOAD
00000744: PUSH1 0xff
00000746: AND
00000747: DUP2
00000748: JUMP
00000749: JUMPDEST
0000074a: PUSH1 0x40
0000074c: MLOAD
0000074d: SWAP1
0000074e: ISZERO
0000074f: ISZERO
00000750: DUP2
00000751: MSTORE
00000752: PUSH1 0x20
00000754: ADD
00000755: PUSH2 0x0367
00000758: JUMP
00000759: JUMPDEST
0000075a: CALLVALUE
0000075b: DUP1
0000075c: ISZERO
0000075d: PUSH2 0x0765
00000760: JUMPI
00000761: PUSH1 0x00
00000763: DUP1
00000764: REVERT
00000765: JUMPDEST
00000766: POP
00000767: PUSH2 0x03c8
0000076a: PUSH2 0x0774
0000076d: CALLDATASIZE
0000076e: PUSH1 0x04
00000770: PUSH2 0x3a9f
00000773: JUMP
00000774: JUMPDEST
00000775: PUSH2 0x24fd
00000778: JUMP
00000779: JUMPDEST
0000077a: CALLVALUE
0000077b: DUP1
0000077c: ISZERO
0000077d: PUSH2 0x0785
00000780: JUMPI
00000781: PUSH1 0x00
00000783: DUP1
00000784: REVERT
00000785: JUMPDEST
00000786: POP
00000787: PUSH2 0x0423
0000078a: PUSH2 0x0794
0000078d: CALLDATASIZE
0000078e: PUSH1 0x04
00000790: PUSH2 0x3a10
00000793: JUMP
00000794: JUMPDEST
00000795: PUSH2 0x251e
00000798: JUMP
00000799: JUMPDEST
0000079a: CALLVALUE
0000079b: DUP1
0000079c: ISZERO
0000079d: PUSH2 0x07a5
000007a0: JUMPI
000007a1: PUSH1 0x00
000007a3: DUP1
000007a4: REVERT
000007a5: JUMPDEST
000007a6: POP
000007a7: PUSH2 0x0301
000007aa: PUSH2 0x07b4
000007ad: CALLDATASIZE
000007ae: PUSH1 0x04
000007b0: PUSH2 0x3acb
000007b3: JUMP
000007b4: JUMPDEST
000007b5: PUSH2 0x2555
000007b8: JUMP
000007b9: JUMPDEST
000007ba: CALLVALUE
000007bb: DUP1
000007bc: ISZERO
000007bd: PUSH2 0x07c5
000007c0: JUMPI
000007c1: PUSH1 0x00
000007c3: DUP1
000007c4: REVERT
000007c5: JUMPDEST
000007c6: POP
000007c7: PUSH2 0x0301
000007ca: PUSH2 0x07d4
000007cd: CALLDATASIZE
000007ce: PUSH1 0x04
000007d0: PUSH2 0x3b0d
000007d3: JUMP
000007d4: JUMPDEST
000007d5: PUSH2 0x28df
000007d8: JUMP
000007d9: JUMPDEST
000007da: CALLVALUE
000007db: DUP1
000007dc: ISZERO
000007dd: PUSH2 0x07e5
000007e0: JUMPI
000007e1: PUSH1 0x00
000007e3: DUP1
000007e4: REVERT
000007e5: JUMPDEST
000007e6: POP
000007e7: PUSH2 0x03c8
000007ea: PUSH2 0x07f4
000007ed: CALLDATASIZE
000007ee: PUSH1 0x04
000007f0: PUSH2 0x380b
000007f3: JUMP
000007f4: JUMPDEST
000007f5: PUSH1 0x04
000007f7: PUSH1 0x20
000007f9: SWAP1
000007fa: DUP2
000007fb: MSTORE
000007fc: PUSH1 0x00
000007fe: SWAP3
000007ff: DUP4
00000800: MSTORE
00000801: PUSH1 0x40
00000803: DUP1
00000804: DUP5
00000805: KECCAK256
00000806: SWAP1
00000807: SWAP2
00000808: MSTORE
00000809: SWAP1
0000080a: DUP3
0000080b: MSTORE
0000080c: SWAP1
0000080d: KECCAK256
0000080e: SLOAD
0000080f: DUP2
00000810: JUMP
00000811: JUMPDEST
00000812: CALLVALUE
00000813: DUP1
00000814: ISZERO
00000815: PUSH2 0x081d
00000818: JUMPI
00000819: PUSH1 0x00
0000081b: DUP1
0000081c: REVERT
0000081d: JUMPDEST
0000081e: POP
0000081f: PUSH2 0x0423
00000822: PUSH20 0xe592427a0aece92de3edee1f18e0157c05861564
00000837: DUP2
00000838: JUMP
00000839: JUMPDEST
0000083a: CALLVALUE
0000083b: DUP1
0000083c: ISZERO
0000083d: PUSH2 0x0845
00000840: JUMPI
00000841: PUSH1 0x00
00000843: DUP1
00000844: REVERT
00000845: JUMPDEST
00000846: POP
00000847: PUSH2 0x0749
0000084a: PUSH2 0x0854
0000084d: CALLDATASIZE
0000084e: PUSH1 0x04
00000850: PUSH2 0x37c2
00000853: JUMP
00000854: JUMPDEST
00000855: PUSH1 0x0a
00000857: PUSH1 0x20
00000859: MSTORE
0000085a: PUSH1 0x00
0000085c: SWAP1
0000085d: DUP2
0000085e: MSTORE
0000085f: PUSH1 0x40
00000861: SWAP1
00000862: KECCAK256
00000863: SLOAD
00000864: PUSH1 0xff
00000866: AND
00000867: DUP2
00000868: JUMP
00000869: JUMPDEST
0000086a: CALLVALUE
0000086b: DUP1
0000086c: ISZERO
0000086d: PUSH2 0x0875
00000870: JUMPI
00000871: PUSH1 0x00
00000873: DUP1
00000874: REVERT
00000875: JUMPDEST
00000876: POP
00000877: PUSH2 0x03c8
0000087a: PUSH1 0x03
0000087c: SLOAD
0000087d: DUP2
0000087e: JUMP
0000087f: JUMPDEST
00000880: CALLVALUE
00000881: DUP1
00000882: ISZERO
00000883: PUSH2 0x088b
00000886: JUMPI
00000887: PUSH1 0x00
00000889: DUP1
0000088a: REVERT
0000088b: JUMPDEST
0000088c: POP
0000088d: PUSH2 0x03c8
00000890: PUSH2 0x089a
00000893: CALLDATASIZE
00000894: PUSH1 0x04
00000896: PUSH2 0x37c2
00000899: JUMP
0000089a: JUMPDEST
0000089b: PUSH1 0x0b
0000089d: PUSH1 0x20
0000089f: MSTORE
000008a0: PUSH1 0x00
000008a2: SWAP1
000008a3: DUP2
000008a4: MSTORE
000008a5: PUSH1 0x40
000008a7: SWAP1
000008a8: KECCAK256
000008a9: SLOAD
000008aa: DUP2
000008ab: JUMP
000008ac: JUMPDEST
000008ad: CALLVALUE
000008ae: DUP1
000008af: ISZERO
000008b0: PUSH2 0x08b8
000008b3: JUMPI
000008b4: PUSH1 0x00
000008b6: DUP1
000008b7: REVERT
000008b8: JUMPDEST
000008b9: POP
000008ba: PUSH1 0x02
000008bc: SLOAD
000008bd: PUSH2 0x0423
000008c0: SWAP1
000008c1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008d6: AND
000008d7: DUP2
000008d8: JUMP
000008d9: JUMPDEST
000008da: CALLVALUE
000008db: DUP1
000008dc: ISZERO
000008dd: PUSH2 0x08e5
000008e0: JUMPI
000008e1: PUSH1 0x00
000008e3: DUP1
000008e4: REVERT
000008e5: JUMPDEST
000008e6: POP
000008e7: PUSH2 0x0357
000008ea: PUSH2 0x02ee
000008ed: DUP2
000008ee: JUMP
000008ef: JUMPDEST
000008f0: CALLVALUE
000008f1: DUP1
000008f2: ISZERO
000008f3: PUSH2 0x08fb
000008f6: JUMPI
000008f7: PUSH1 0x00
000008f9: DUP1
000008fa: REVERT
000008fb: JUMPDEST
000008fc: POP
000008fd: PUSH2 0x03c8
00000900: PUSH2 0x0e10
00000903: DUP2
00000904: JUMP
00000905: JUMPDEST
00000906: PUSH2 0x0301
00000909: PUSH2 0x0913
0000090c: CALLDATASIZE
0000090d: PUSH1 0x04
0000090f: PUSH2 0x37df
00000912: JUMP
00000913: JUMPDEST
00000914: PUSH2 0x28fe
00000917: JUMP
00000918: JUMPDEST
00000919: CALLVALUE
0000091a: DUP1
0000091b: ISZERO
0000091c: PUSH2 0x0924
0000091f: JUMPI
00000920: PUSH1 0x00
00000922: DUP1
00000923: REVERT
00000924: JUMPDEST
00000925: POP
00000926: PUSH2 0x0301
00000929: PUSH2 0x0933
0000092c: CALLDATASIZE
0000092d: PUSH1 0x04
0000092f: PUSH2 0x37c2
00000932: JUMP
00000933: JUMPDEST
00000934: PUSH2 0x2a0f
00000937: JUMP
00000938: JUMPDEST
00000939: CALLVALUE
0000093a: DUP1
0000093b: ISZERO
0000093c: PUSH2 0x0944
0000093f: JUMPI
00000940: PUSH1 0x00
00000942: DUP1
00000943: REVERT
00000944: JUMPDEST
00000945: POP
00000946: PUSH2 0x03c8
00000949: PUSH2 0x0953
0000094c: CALLDATASIZE
0000094d: PUSH1 0x04
0000094f: PUSH2 0x380b
00000952: JUMP
00000953: JUMPDEST
00000954: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000969: SWAP2
0000096a: DUP3
0000096b: AND
0000096c: PUSH1 0x00
0000096e: SWAP1
0000096f: DUP2
00000970: MSTORE
00000971: PUSH1 0x04
00000973: PUSH1 0x20
00000975: SWAP1
00000976: DUP2
00000977: MSTORE
00000978: PUSH1 0x40
0000097a: DUP1
0000097b: DUP4
0000097c: KECCAK256
0000097d: SWAP4
0000097e: SWAP1
0000097f: SWAP5
00000980: AND
00000981: DUP3
00000982: MSTORE
00000983: SWAP2
00000984: SWAP1
00000985: SWAP2
00000986: MSTORE
00000987: KECCAK256
00000988: SLOAD
00000989: SWAP1
0000098a: JUMP
0000098b: JUMPDEST
0000098c: PUSH1 0x00
0000098e: SLOAD
0000098f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009a4: AND
000009a5: CALLER
000009a6: EQ
000009a7: DUP1
000009a8: ISZERO
000009a9: SWAP1
000009aa: PUSH2 0x09cb
000009ad: JUMPI
000009ae: POP
000009af: PUSH1 0x01
000009b1: SLOAD
000009b2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009c7: AND
000009c8: CALLER
000009c9: EQ
000009ca: ISZERO
000009cb: JUMPDEST
000009cc: ISZERO
000009cd: PUSH2 0x0a02
000009d0: JUMPI
000009d1: PUSH1 0x40
000009d3: MLOAD
000009d4: PUSH32 0x1a06d0fe00000000000000000000000000000000000000000000000000000000
000009f5: DUP2
000009f6: MSTORE
000009f7: PUSH1 0x04
000009f9: ADD
000009fa: PUSH1 0x40
000009fc: MLOAD
000009fd: DUP1
000009fe: SWAP2
000009ff: SUB
00000a00: SWAP1
00000a01: REVERT
00000a02: JUMPDEST
00000a03: PUSH1 0x0d
00000a05: DUP1
00000a06: SLOAD
00000a07: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00000a28: AND
00000a29: CALLER
00000a2a: OR
00000a2b: SWAP1
00000a2c: SSTORE
00000a2d: JUMP
00000a2e: JUMPDEST
00000a2f: PUSH1 0x00
00000a31: SLOAD
00000a32: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a47: AND
00000a48: CALLER
00000a49: EQ
00000a4a: DUP1
00000a4b: ISZERO
00000a4c: SWAP1
00000a4d: PUSH2 0x0a6e
00000a50: JUMPI
00000a51: POP
00000a52: PUSH1 0x01
00000a54: SLOAD
00000a55: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a6a: AND
00000a6b: CALLER
00000a6c: EQ
00000a6d: ISZERO
00000a6e: JUMPDEST
00000a6f: ISZERO
00000a70: PUSH2 0x0aa5
00000a73: JUMPI
00000a74: PUSH1 0x40
00000a76: MLOAD
00000a77: PUSH32 0x1a06d0fe00000000000000000000000000000000000000000000000000000000
00000a98: DUP2
00000a99: MSTORE
00000a9a: PUSH1 0x04
00000a9c: ADD
00000a9d: PUSH1 0x40
00000a9f: MLOAD
00000aa0: DUP1
00000aa1: SWAP2
00000aa2: SUB
00000aa3: SWAP1
00000aa4: REVERT
00000aa5: JUMPDEST
00000aa6: PUSH1 0x01
00000aa8: DUP1
00000aa9: SLOAD
00000aaa: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00000acb: AND
00000acc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ae1: SWAP3
00000ae2: SWAP1
00000ae3: SWAP3
00000ae4: AND
00000ae5: SWAP2
00000ae6: SWAP1
00000ae7: SWAP2
00000ae8: OR
00000ae9: SWAP1
00000aea: SSTORE
00000aeb: JUMP
00000aec: JUMPDEST
00000aed: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b02: DUP3
00000b03: AND
00000b04: PUSH1 0x00
00000b06: SWAP1
00000b07: DUP2
00000b08: MSTORE
00000b09: PUSH1 0x04
00000b0b: PUSH1 0x20
00000b0d: SWAP1
00000b0e: DUP2
00000b0f: MSTORE
00000b10: PUSH1 0x40
00000b12: DUP1
00000b13: DUP4
00000b14: KECCAK256
00000b15: CALLER
00000b16: DUP5
00000b17: MSTORE
00000b18: SWAP1
00000b19: SWAP2
00000b1a: MSTORE
00000b1b: SWAP1
00000b1c: KECCAK256
00000b1d: SLOAD
00000b1e: DUP2
00000b1f: GT
00000b20: ISZERO
00000b21: PUSH2 0x0b56
00000b24: JUMPI
00000b25: PUSH1 0x40
00000b27: MLOAD
00000b28: PUSH32 0x7b7b36da00000000000000000000000000000000000000000000000000000000
00000b49: DUP2
00000b4a: MSTORE
00000b4b: PUSH1 0x04
00000b4d: ADD
00000b4e: PUSH1 0x40
00000b50: MLOAD
00000b51: DUP1
00000b52: SWAP2
00000b53: SUB
00000b54: SWAP1
00000b55: REVERT
00000b56: JUMPDEST
00000b57: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b6c: DUP3
00000b6d: AND
00000b6e: PUSH1 0x00
00000b70: SWAP1
00000b71: DUP2
00000b72: MSTORE
00000b73: PUSH1 0x04
00000b75: PUSH1 0x20
00000b77: SWAP1
00000b78: DUP2
00000b79: MSTORE
00000b7a: PUSH1 0x40
00000b7c: DUP1
00000b7d: DUP4
00000b7e: KECCAK256
00000b7f: CALLER
00000b80: DUP5
00000b81: MSTORE
00000b82: SWAP1
00000b83: SWAP2
00000b84: MSTORE
00000b85: SWAP1
00000b86: KECCAK256
00000b87: SLOAD
00000b88: PUSH2 0x0b92
00000b8b: SWAP1
00000b8c: DUP3
00000b8d: SWAP1
00000b8e: PUSH2 0x3b95
00000b91: JUMP
00000b92: JUMPDEST
00000b93: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ba8: DUP4
00000ba9: AND
00000baa: PUSH1 0x00
00000bac: DUP2
00000bad: DUP2
00000bae: MSTORE
00000baf: PUSH1 0x04
00000bb1: PUSH1 0x20
00000bb3: SWAP1
00000bb4: DUP2
00000bb5: MSTORE
00000bb6: PUSH1 0x40
00000bb8: DUP1
00000bb9: DUP4
00000bba: KECCAK256
00000bbb: CALLER
00000bbc: DUP1
00000bbd: DUP6
00000bbe: MSTORE
00000bbf: SWAP3
00000bc0: MSTORE
00000bc1: SWAP1
00000bc2: SWAP2
00000bc3: KECCAK256
00000bc4: SWAP3
00000bc5: SWAP1
00000bc6: SWAP3
00000bc7: SSTORE
00000bc8: PUSH2 0x0bd1
00000bcb: SWAP2
00000bcc: DUP4
00000bcd: PUSH2 0x2acd
00000bd0: JUMP
00000bd1: JUMPDEST
00000bd2: PUSH2 0x0be8
00000bd5: CALLER
00000bd6: PUSH1 0x00
00000bd8: SWAP1
00000bd9: DUP2
00000bda: MSTORE
00000bdb: PUSH1 0x07
00000bdd: PUSH1 0x20
00000bdf: MSTORE
00000be0: PUSH1 0x40
00000be2: SWAP1
00000be3: KECCAK256
00000be4: TIMESTAMP
00000be5: SWAP1
00000be6: SSTORE
00000be7: JUMP
00000be8: JUMPDEST
00000be9: PUSH1 0x40
00000beb: MLOAD
00000bec: DUP2
00000bed: DUP2
00000bee: MSTORE
00000bef: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c04: DUP4
00000c05: AND
00000c06: SWAP1
00000c07: CALLER
00000c08: SWAP1
00000c09: PUSH32 0xf2abf94c6b0da8d85e7c6cb49df089e622137e0f674d2d019b4ee40660e38153
00000c2a: SWAP1
00000c2b: PUSH1 0x20
00000c2d: ADD
00000c2e: JUMPDEST
00000c2f: PUSH1 0x40
00000c31: MLOAD
00000c32: DUP1
00000c33: SWAP2
00000c34: SUB
00000c35: SWAP1
00000c36: LOG3
00000c37: POP
00000c38: POP
00000c39: JUMP
00000c3a: JUMPDEST
00000c3b: PUSH1 0x00
00000c3d: PUSH2 0x2710
00000c40: PUSH2 0x0c49
00000c43: DUP4
00000c44: DUP6
00000c45: PUSH2 0x3ba8
00000c48: JUMP
00000c49: JUMPDEST
00000c4a: PUSH2 0x0c53
00000c4d: SWAP2
00000c4e: SWAP1
00000c4f: PUSH2 0x3bbf
00000c52: JUMP
00000c53: JUMPDEST
00000c54: SWAP1
00000c55: POP
00000c56: JUMPDEST
00000c57: SWAP3
00000c58: SWAP2
00000c59: POP
00000c5a: POP
00000c5b: JUMP
00000c5c: JUMPDEST
00000c5d: PUSH1 0x00
00000c5f: SLOAD
00000c60: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c75: AND
00000c76: CALLER
00000c77: EQ
00000c78: DUP1
00000c79: ISZERO
00000c7a: SWAP1
00000c7b: PUSH2 0x0c9c
00000c7e: JUMPI
00000c7f: POP
00000c80: PUSH1 0x01
00000c82: SLOAD
00000c83: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c98: AND
00000c99: CALLER
00000c9a: EQ
00000c9b: ISZERO
00000c9c: JUMPDEST
00000c9d: DUP1
00000c9e: ISZERO
00000c9f: PUSH2 0x0cc0
00000ca2: JUMPI
00000ca3: POP
00000ca4: PUSH1 0x02
00000ca6: SLOAD
00000ca7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000cbc: AND
00000cbd: CALLER
00000cbe: EQ
00000cbf: ISZERO
00000cc0: JUMPDEST
00000cc1: ISZERO
00000cc2: PUSH2 0x0cf7
00000cc5: JUMPI
00000cc6: PUSH1 0x40
00000cc8: MLOAD
00000cc9: PUSH32 0x1a06d0fe00000000000000000000000000000000000000000000000000000000
00000cea: DUP2
00000ceb: MSTORE
00000cec: PUSH1 0x04
00000cee: ADD
00000cef: PUSH1 0x40
00000cf1: MLOAD
00000cf2: DUP1
00000cf3: SWAP2
00000cf4: SUB
00000cf5: SWAP1
00000cf6: REVERT
00000cf7: JUMPDEST
00000cf8: PUSH1 0x00
00000cfa: PUSH2 0x0d03
00000cfd: DUP7
00000cfe: DUP1
00000cff: PUSH2 0x3bfa
00000d02: JUMP
00000d03: JUMPDEST
00000d04: SWAP2
00000d05: POP
00000d06: PUSH2 0x0d14
00000d09: SWAP1
00000d0a: POP
00000d0b: PUSH1 0x20
00000d0d: DUP8
00000d0e: ADD
00000d0f: DUP8
00000d10: PUSH2 0x3bfa
00000d13: JUMP
00000d14: JUMPDEST
00000d15: SWAP1
00000d16: POP
00000d17: DUP2
00000d18: EQ
00000d19: DUP1
00000d1a: ISZERO
00000d1b: PUSH2 0x0d3f
00000d1e: JUMPI
00000d1f: POP
00000d20: PUSH2 0x0d2c
00000d23: PUSH1 0x40
00000d25: DUP8
00000d26: ADD
00000d27: DUP8
00000d28: PUSH2 0x3bfa
00000d2b: JUMP
00000d2c: JUMPDEST
00000d2d: SWAP1
00000d2e: POP
00000d2f: PUSH2 0x0d3b
00000d32: PUSH1 0x20
00000d34: DUP9
00000d35: ADD
00000d36: DUP9
00000d37: PUSH2 0x3bfa
00000d3a: JUMP
00000d3b: JUMPDEST
00000d3c: SWAP1
00000d3d: POP
00000d3e: EQ
00000d3f: JUMPDEST
00000d40: PUSH2 0x0d75
00000d43: JUMPI
00000d44: PUSH1 0x40
00000d46: MLOAD
00000d47: PUSH32 0xd9183d2b00000000000000000000000000000000000000000000000000000000
00000d68: DUP2
00000d69: MSTORE
00000d6a: PUSH1 0x04
00000d6c: ADD
00000d6d: PUSH1 0x40
00000d6f: MLOAD
00000d70: DUP1
00000d71: SWAP2
00000d72: SUB
00000d73: SWAP1
00000d74: REVERT
00000d75: JUMPDEST
00000d76: PUSH1 0x00
00000d78: JUMPDEST
00000d79: DUP2
00000d7a: DUP2
00000d7b: LT
00000d7c: ISZERO
00000d7d: PUSH2 0x0f1f
00000d80: JUMPI
00000d81: PUSH1 0x00
00000d83: PUSH1 0x08
00000d85: PUSH2 0x0d8e
00000d88: DUP10
00000d89: DUP1
00000d8a: PUSH2 0x3bfa
00000d8d: JUMP
00000d8e: JUMPDEST
00000d8f: DUP5
00000d90: DUP2
00000d91: DUP2
00000d92: LT
00000d93: PUSH2 0x0d9e
00000d96: JUMPI
00000d97: PUSH2 0x0d9e
00000d9a: PUSH2 0x3c69
00000d9d: JUMP
00000d9e: JUMPDEST
00000d9f: SWAP1
00000da0: POP
00000da1: PUSH1 0x20
00000da3: MUL
00000da4: ADD
00000da5: CALLDATALOAD
00000da6: DUP2
00000da7: SLOAD
00000da8: DUP2
00000da9: LT
00000daa: PUSH2 0x0db5
00000dad: JUMPI
00000dae: PUSH2 0x0db5
00000db1: PUSH2 0x3c69
00000db4: JUMP
00000db5: JUMPDEST
00000db6: SWAP1
00000db7: PUSH1 0x00
00000db9: MSTORE
00000dba: PUSH1 0x20
00000dbc: PUSH1 0x00
00000dbe: KECCAK256
00000dbf: SWAP1
00000dc0: PUSH1 0x09
00000dc2: MUL
00000dc3: ADD
00000dc4: SWAP1
00000dc5: POP
00000dc6: DUP1
00000dc7: PUSH1 0x07
00000dc9: ADD
00000dca: SLOAD
00000dcb: TIMESTAMP
00000dcc: LT
00000dcd: ISZERO
00000dce: PUSH2 0x0e03
00000dd1: JUMPI
00000dd2: PUSH1 0x40
00000dd4: MLOAD
00000dd5: PUSH32 0xb621e1bf00000000000000000000000000000000000000000000000000000000
00000df6: DUP2
00000df7: MSTORE
00000df8: PUSH1 0x04
00000dfa: ADD
00000dfb: PUSH1 0x40
00000dfd: MLOAD
00000dfe: DUP1
00000dff: SWAP2
00000e00: SUB
00000e01: SWAP1
00000e02: REVERT
00000e03: JUMPDEST
00000e04: PUSH1 0x08
00000e06: DUP2
00000e07: ADD
00000e08: SLOAD
00000e09: PUSH2 0x0100
00000e0c: SWAP1
00000e0d: DIV
00000e0e: PUSH1 0xff
00000e10: AND
00000e11: ISZERO
00000e12: PUSH2 0x0e47
00000e15: JUMPI
00000e16: PUSH1 0x40
00000e18: MLOAD
00000e19: PUSH32 0x5fdb34e800000000000000000000000000000000000000000000000000000000
00000e3a: DUP2
00000e3b: MSTORE
00000e3c: PUSH1 0x04
00000e3e: ADD
00000e3f: PUSH1 0x40
00000e41: MLOAD
00000e42: DUP1
00000e43: SWAP2
00000e44: SUB
00000e45: SWAP1
00000e46: REVERT
00000e47: JUMPDEST
00000e48: PUSH1 0x08
00000e4a: DUP2
00000e4b: ADD
00000e4c: SLOAD
00000e4d: PUSH1 0xff
00000e4f: AND
00000e50: ISZERO
00000e51: PUSH2 0x0e86
00000e54: JUMPI
00000e55: PUSH1 0x40
00000e57: MLOAD
00000e58: PUSH32 0x0368368700000000000000000000000000000000000000000000000000000000
00000e79: DUP2
00000e7a: MSTORE
00000e7b: PUSH1 0x04
00000e7d: ADD
00000e7e: PUSH1 0x40
00000e80: MLOAD
00000e81: DUP1
00000e82: SWAP2
00000e83: SUB
00000e84: SWAP1
00000e85: REVERT
00000e86: JUMPDEST
00000e87: PUSH2 0x0e93
00000e8a: PUSH1 0x20
00000e8c: DUP10
00000e8d: ADD
00000e8e: DUP10
00000e8f: PUSH2 0x3bfa
00000e92: JUMP
00000e93: JUMPDEST
00000e94: DUP4
00000e95: DUP2
00000e96: DUP2
00000e97: LT
00000e98: PUSH2 0x0ea3
00000e9b: JUMPI
00000e9c: PUSH2 0x0ea3
00000e9f: PUSH2 0x3c69
00000ea2: JUMP
00000ea3: JUMPDEST
00000ea4: SWAP1
00000ea5: POP
00000ea6: PUSH1 0x20
00000ea8: MUL
00000ea9: ADD
00000eaa: PUSH1 0x20
00000eac: DUP2
00000ead: ADD
00000eae: SWAP1
00000eaf: PUSH2 0x0eb8
00000eb2: SWAP2
00000eb3: SWAP1
00000eb4: PUSH2 0x3c98
00000eb7: JUMP
00000eb8: JUMPDEST
00000eb9: ISZERO
00000eba: PUSH2 0x0f16
00000ebd: JUMPI
00000ebe: PUSH1 0x02
00000ec0: DUP2
00000ec1: ADD
00000ec2: SLOAD
00000ec3: PUSH1 0x01
00000ec5: DUP3
00000ec6: ADD
00000ec7: SLOAD
00000ec8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000edd: SWAP1
00000ede: DUP2
00000edf: AND
00000ee0: PUSH1 0x00
00000ee2: SWAP1
00000ee3: DUP2
00000ee4: MSTORE
00000ee5: PUSH1 0x05
00000ee7: PUSH1 0x20
00000ee9: SWAP1
00000eea: DUP2
00000eeb: MSTORE
00000eec: PUSH1 0x40
00000eee: DUP1
00000eef: DUP4
00000ef0: KECCAK256
00000ef1: PUSH1 0x03
00000ef3: DUP8
00000ef4: ADD
00000ef5: SLOAD
00000ef6: SWAP1
00000ef7: SWAP5
00000ef8: AND
00000ef9: DUP4
00000efa: MSTORE
00000efb: SWAP3
00000efc: SWAP1
00000efd: MSTORE
00000efe: SWAP1
00000eff: DUP2
00000f00: KECCAK256
00000f01: DUP1
00000f02: SLOAD
00000f03: SWAP1
00000f04: SWAP2
00000f05: SWAP1
00000f06: PUSH2 0x0f10
00000f09: SWAP1
00000f0a: DUP5
00000f0b: SWAP1
00000f0c: PUSH2 0x3cb5
00000f0f: JUMP
00000f10: JUMPDEST
00000f11: SWAP1
00000f12: SWAP2
00000f13: SSTORE
00000f14: POP
00000f15: POP
00000f16: JUMPDEST
00000f17: POP
00000f18: PUSH1 0x01
00000f1a: ADD
00000f1b: PUSH2 0x0d78
00000f1e: JUMP
00000f1f: JUMPDEST
00000f20: POP
00000f21: PUSH1 0x00
00000f23: DUP1
00000f24: JUMPDEST
00000f25: PUSH1 0x03
00000f27: SLOAD
00000f28: DUP2
00000f29: LT
00000f2a: ISZERO
00000f2b: PUSH2 0x143d
00000f2e: JUMPI
00000f2f: PUSH1 0x00
00000f31: JUMPDEST
00000f32: PUSH1 0x03
00000f34: SLOAD
00000f35: DUP2
00000f36: LT
00000f37: ISZERO
00000f38: PUSH2 0x1434
00000f3b: JUMPI
00000f3c: PUSH1 0x00
00000f3e: PUSH1 0x05
00000f40: PUSH1 0x00
00000f42: PUSH1 0x0c
00000f44: DUP6
00000f45: DUP2
00000f46: SLOAD
00000f47: DUP2
00000f48: LT
00000f49: PUSH2 0x0f54
00000f4c: JUMPI
00000f4d: PUSH2 0x0f54
00000f50: PUSH2 0x3c69
00000f53: JUMP
00000f54: JUMPDEST
00000f55: PUSH1 0x00
00000f57: SWAP2
00000f58: DUP3
00000f59: MSTORE
00000f5a: PUSH1 0x20
00000f5c: DUP1
00000f5d: DUP4
00000f5e: KECCAK256
00000f5f: SWAP1
00000f60: SWAP2
00000f61: ADD
00000f62: SLOAD
00000f63: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f78: AND
00000f79: DUP4
00000f7a: MSTORE
00000f7b: DUP3
00000f7c: ADD
00000f7d: SWAP3
00000f7e: SWAP1
00000f7f: SWAP3
00000f80: MSTORE
00000f81: PUSH1 0x40
00000f83: ADD
00000f84: DUP2
00000f85: KECCAK256
00000f86: PUSH1 0x0c
00000f88: DUP1
00000f89: SLOAD
00000f8a: SWAP2
00000f8b: SWAP3
00000f8c: SWAP2
00000f8d: DUP6
00000f8e: SWAP1
00000f8f: DUP2
00000f90: LT
00000f91: PUSH2 0x0f9c
00000f94: JUMPI
00000f95: PUSH2 0x0f9c
00000f98: PUSH2 0x3c69
00000f9b: JUMP
00000f9c: JUMPDEST
00000f9d: PUSH1 0x00
00000f9f: SWAP2
00000fa0: DUP3
00000fa1: MSTORE
00000fa2: PUSH1 0x20
00000fa4: DUP1
00000fa5: DUP4
00000fa6: KECCAK256
00000fa7: SWAP1
00000fa8: SWAP2
00000fa9: ADD
00000faa: SLOAD
00000fab: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fc0: AND
00000fc1: DUP4
00000fc2: MSTORE
00000fc3: DUP3
00000fc4: ADD
00000fc5: SWAP3
00000fc6: SWAP1
00000fc7: SWAP3
00000fc8: MSTORE
00000fc9: PUSH1 0x40
00000fcb: ADD
00000fcc: SWAP1
00000fcd: KECCAK256
00000fce: SLOAD
00000fcf: GT
00000fd0: ISZERO
00000fd1: PUSH2 0x142c
00000fd4: JUMPI
00000fd5: PUSH2 0x10ba
00000fd8: PUSH20 0xe592427a0aece92de3edee1f18e0157c05861564
00000fed: PUSH1 0x05
00000fef: PUSH1 0x00
00000ff1: PUSH1 0x0c
00000ff3: DUP7
00000ff4: DUP2
00000ff5: SLOAD
00000ff6: DUP2
00000ff7: LT
00000ff8: PUSH2 0x1003
00000ffb: JUMPI
00000ffc: PUSH2 0x1003
00000fff: PUSH2 0x3c69
00001002: JUMP
00001003: JUMPDEST
00001004: PUSH1 0x00
00001006: SWAP2
00001007: DUP3
00001008: MSTORE
00001009: PUSH1 0x20
0000100b: DUP1
0000100c: DUP4
0000100d: KECCAK256
0000100e: SWAP1
0000100f: SWAP2
00001010: ADD
00001011: SLOAD
00001012: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001027: AND
00001028: DUP4
00001029: MSTORE
0000102a: DUP3
0000102b: ADD
0000102c: SWAP3
0000102d: SWAP1
0000102e: SWAP3
0000102f: MSTORE
00001030: PUSH1 0x40
00001032: ADD
00001033: DUP2
00001034: KECCAK256
00001035: PUSH1 0x0c
00001037: DUP1
00001038: SLOAD
00001039: SWAP2
0000103a: SWAP3
0000103b: SWAP2
0000103c: DUP7
0000103d: SWAP1
0000103e: DUP2
0000103f: LT
00001040: PUSH2 0x104b
00001043: JUMPI
00001044: PUSH2 0x104b
00001047: PUSH2 0x3c69
0000104a: JUMP
0000104b: JUMPDEST
0000104c: PUSH1 0x00
0000104e: SWAP2
0000104f: DUP3
00001050: MSTORE
00001051: PUSH1 0x20
00001053: DUP1
00001054: DUP4
00001055: KECCAK256
00001056: SWAP1
00001057: SWAP2
00001058: ADD
00001059: SLOAD
0000105a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000106f: AND
00001070: DUP4
00001071: MSTORE
00001072: DUP3
00001073: ADD
00001074: SWAP3
00001075: SWAP1
00001076: SWAP3
00001077: MSTORE
00001078: PUSH1 0x40
0000107a: ADD
0000107b: SWAP1
0000107c: KECCAK256
0000107d: SLOAD
0000107e: PUSH1 0x0c
00001080: DUP1
00001081: SLOAD
00001082: DUP7
00001083: SWAP1
00001084: DUP2
00001085: LT
00001086: PUSH2 0x1091
00001089: JUMPI
0000108a: PUSH2 0x1091
0000108d: PUSH2 0x3c69
00001090: JUMP
00001091: JUMPDEST
00001092: PUSH1 0x00
00001094: SWAP2
00001095: DUP3
00001096: MSTORE
00001097: PUSH1 0x20
00001099: SWAP1
0000109a: SWAP2
0000109b: KECCAK256
0000109c: ADD
0000109d: SLOAD
0000109e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010b3: AND
000010b4: SWAP2
000010b5: SWAP1
000010b6: PUSH2 0x2b4e
000010b9: JUMP
000010ba: JUMPDEST
000010bb: PUSH1 0x00
000010bd: PUSH1 0x40
000010bf: MLOAD
000010c0: DUP1
000010c1: PUSH2 0x0100
000010c4: ADD
000010c5: PUSH1 0x40
000010c7: MSTORE
000010c8: DUP1
000010c9: PUSH1 0x0c
000010cb: DUP6
000010cc: DUP2
000010cd: SLOAD
000010ce: DUP2
000010cf: LT
000010d0: PUSH2 0x10db
000010d3: JUMPI
000010d4: PUSH2 0x10db
000010d7: PUSH2 0x3c69
000010da: JUMP
000010db: JUMPDEST
000010dc: PUSH1 0x00
000010de: SWAP2
000010df: DUP3
000010e0: MSTORE
000010e1: PUSH1 0x20
000010e3: SWAP2
000010e4: DUP3
000010e5: SWAP1
000010e6: KECCAK256
000010e7: ADD
000010e8: SLOAD
000010e9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010fe: AND
000010ff: DUP3
00001100: MSTORE
00001101: PUSH1 0x0c
00001103: DUP1
00001104: SLOAD
00001105: SWAP3
00001106: SWAP1
00001107: SWAP2
00001108: ADD
00001109: SWAP2
0000110a: DUP6
0000110b: SWAP1
0000110c: DUP2
0000110d: LT
0000110e: PUSH2 0x1119
00001111: JUMPI
00001112: PUSH2 0x1119
00001115: PUSH2 0x3c69
00001118: JUMP
00001119: JUMPDEST
0000111a: PUSH1 0x00
0000111c: SWAP2
0000111d: DUP3
0000111e: MSTORE
0000111f: PUSH1 0x20
00001121: SWAP2
00001122: DUP3
00001123: SWAP1
00001124: KECCAK256
00001125: ADD
00001126: SLOAD
00001127: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000113c: AND
0000113d: DUP3
0000113e: MSTORE
0000113f: PUSH1 0x02
00001141: SLOAD
00001142: PUSH21 0x010000000000000000000000000000000000000000
00001158: SWAP1
00001159: DIV
0000115a: PUSH3 0xffffff
0000115e: AND
0000115f: SWAP1
00001160: DUP3
00001161: ADD
00001162: MSTORE
00001163: ADDRESS
00001164: PUSH1 0x40
00001166: DUP3
00001167: ADD
00001168: MSTORE
00001169: PUSH1 0x60
0000116b: ADD
0000116c: PUSH2 0x1177
0000116f: PUSH2 0x0258
00001172: TIMESTAMP
00001173: PUSH2 0x3cb5
00001176: JUMP
00001177: JUMPDEST
00001178: DUP2
00001179: MSTORE
0000117a: PUSH1 0x20
0000117c: ADD
0000117d: PUSH1 0x05
0000117f: PUSH1 0x00
00001181: PUSH1 0x0c
00001183: DUP8
00001184: DUP2
00001185: SLOAD
00001186: DUP2
00001187: LT
00001188: PUSH2 0x1193
0000118b: JUMPI
0000118c: PUSH2 0x1193
0000118f: PUSH2 0x3c69
00001192: JUMP
00001193: JUMPDEST
00001194: PUSH1 0x00
00001196: SWAP2
00001197: DUP3
00001198: MSTORE
00001199: PUSH1 0x20
0000119b: DUP1
0000119c: DUP4
0000119d: KECCAK256
0000119e: SWAP1
0000119f: SWAP2
000011a0: ADD
000011a1: SLOAD
000011a2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011b7: AND
000011b8: DUP4
000011b9: MSTORE
000011ba: DUP3
000011bb: ADD
000011bc: SWAP3
000011bd: SWAP1
000011be: SWAP3
000011bf: MSTORE
000011c0: PUSH1 0x40
000011c2: ADD
000011c3: DUP2
000011c4: KECCAK256
000011c5: PUSH1 0x0c
000011c7: DUP1
000011c8: SLOAD
000011c9: SWAP2
000011ca: SWAP3
000011cb: SWAP2
000011cc: DUP8
000011cd: SWAP1
000011ce: DUP2
000011cf: LT
000011d0: PUSH2 0x11db
000011d3: JUMPI
000011d4: PUSH2 0x11db
000011d7: PUSH2 0x3c69
000011da: JUMP
000011db: JUMPDEST
000011dc: PUSH1 0x00
000011de: SWAP2
000011df: DUP3
000011e0: MSTORE
000011e1: PUSH1 0x20
000011e3: DUP1
000011e4: DUP4
000011e5: KECCAK256
000011e6: SWAP1
000011e7: SWAP2
000011e8: ADD
000011e9: SLOAD
000011ea: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011ff: AND
00001200: DUP4
00001201: MSTORE
00001202: DUP3
00001203: DUP2
00001204: ADD
00001205: SWAP4
00001206: SWAP1
00001207: SWAP4
00001208: MSTORE
00001209: PUSH1 0x40
0000120b: SWAP1
0000120c: SWAP2
0000120d: ADD
0000120e: SWAP1
0000120f: KECCAK256
00001210: SLOAD
00001211: DUP3
00001212: MSTORE
00001213: ADD
00001214: DUP11
00001215: DUP11
00001216: DUP8
00001217: DUP2
00001218: DUP2
00001219: LT
0000121a: PUSH2 0x1225
0000121d: JUMPI
0000121e: PUSH2 0x1225
00001221: PUSH2 0x3c69
00001224: JUMP
00001225: JUMPDEST
00001226: PUSH1 0x20
00001228: SWAP1
00001229: DUP2
0000122a: MUL
0000122b: SWAP3
0000122c: SWAP1
0000122d: SWAP3
0000122e: ADD
0000122f: CALLDATALOAD
00001230: DUP4
00001231: MSTORE
00001232: POP
00001233: PUSH1 0x00
00001235: SWAP2
00001236: DUP2
00001237: ADD
00001238: DUP3
00001239: SWAP1
0000123a: MSTORE
0000123b: PUSH1 0x40
0000123d: DUP1
0000123e: MLOAD
0000123f: PUSH32 0x414bf38900000000000000000000000000000000000000000000000000000000
00001260: DUP2
00001261: MSTORE
00001262: DUP5
00001263: MLOAD
00001264: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001279: SWAP1
0000127a: DUP2
0000127b: AND
0000127c: PUSH1 0x04
0000127e: DUP4
0000127f: ADD
00001280: MSTORE
00001281: SWAP3
00001282: DUP6
00001283: ADD
00001284: MLOAD
00001285: DUP4
00001286: AND
00001287: PUSH1 0x24
00001289: DUP3
0000128a: ADD
0000128b: MSTORE
0000128c: SWAP1
0000128d: DUP5
0000128e: ADD
0000128f: MLOAD
00001290: PUSH3 0xffffff
00001294: AND
00001295: PUSH1 0x44
00001297: DUP3
00001298: ADD
00001299: MSTORE
0000129a: PUSH1 0x60
0000129c: DUP5
0000129d: ADD
0000129e: MLOAD
0000129f: DUP3
000012a0: AND
000012a1: PUSH1 0x64
000012a3: DUP3
000012a4: ADD
000012a5: MSTORE
000012a6: PUSH1 0x80
000012a8: DUP5
000012a9: ADD
000012aa: MLOAD
000012ab: PUSH1 0x84
000012ad: DUP3
000012ae: ADD
000012af: MSTORE
000012b0: PUSH1 0xa0
000012b2: DUP5
000012b3: ADD
000012b4: MLOAD
000012b5: PUSH1 0xa4
000012b7: DUP3
000012b8: ADD
000012b9: MSTORE
000012ba: PUSH1 0xc0
000012bc: DUP5
000012bd: ADD
000012be: MLOAD
000012bf: PUSH1 0xc4
000012c1: DUP3
000012c2: ADD
000012c3: MSTORE
000012c4: PUSH1 0xe0
000012c6: DUP5
000012c7: ADD
000012c8: MLOAD
000012c9: SWAP1
000012ca: SWAP2
000012cb: AND
000012cc: PUSH1 0xe4
000012ce: DUP3
000012cf: ADD
000012d0: MSTORE
000012d1: SWAP2
000012d2: SWAP3
000012d3: POP
000012d4: SWAP1
000012d5: PUSH20 0xe592427a0aece92de3edee1f18e0157c05861564
000012ea: SWAP1
000012eb: PUSH4 0x414bf389
000012f0: SWAP1
000012f1: PUSH2 0x0104
000012f4: ADD
000012f5: PUSH1 0x20
000012f7: PUSH1 0x40
000012f9: MLOAD
000012fa: DUP1
000012fb: DUP4
000012fc: SUB
000012fd: DUP2
000012fe: PUSH1 0x00
00001300: DUP8
00001301: GAS
00001302: CALL
00001303: ISZERO
00001304: DUP1
00001305: ISZERO
00001306: PUSH2 0x1313
00001309: JUMPI
0000130a: RETURNDATASIZE
0000130b: PUSH1 0x00
0000130d: DUP1
0000130e: RETURNDATACOPY
0000130f: RETURNDATASIZE
00001310: PUSH1 0x00
00001312: REVERT
00001313: JUMPDEST
00001314: POP
00001315: POP
00001316: POP
00001317: POP
00001318: PUSH1 0x40
0000131a: MLOAD
0000131b: RETURNDATASIZE
0000131c: PUSH1 0x1f
0000131e: NOT
0000131f: PUSH1 0x1f
00001321: DUP3
00001322: ADD
00001323: AND
00001324: DUP3
00001325: ADD
00001326: DUP1
00001327: PUSH1 0x40
00001329: MSTORE
0000132a: POP
0000132b: DUP2
0000132c: ADD
0000132d: SWAP1
0000132e: PUSH2 0x1337
00001331: SWAP2
00001332: SWAP1
00001333: PUSH2 0x3cc8
00001336: JUMP
00001337: JUMPDEST
00001338: SWAP1
00001339: POP
0000133a: DUP10
0000133b: DUP10
0000133c: DUP7
0000133d: DUP2
0000133e: DUP2
0000133f: LT
00001340: PUSH2 0x134b
00001343: JUMPI
00001344: PUSH2 0x134b
00001347: PUSH2 0x3c69
0000134a: JUMP
0000134b: JUMPDEST
0000134c: SWAP1
0000134d: POP
0000134e: PUSH1 0x20
00001350: MUL
00001351: ADD
00001352: CALLDATALOAD
00001353: DUP2
00001354: GT
00001355: PUSH2 0x138a
00001358: JUMPI
00001359: PUSH1 0x40
0000135b: MLOAD
0000135c: PUSH32 0x1321051400000000000000000000000000000000000000000000000000000000
0000137d: DUP2
0000137e: MSTORE
0000137f: PUSH1 0x04
00001381: ADD
00001382: PUSH1 0x40
00001384: MLOAD
00001385: DUP1
00001386: SWAP2
00001387: SUB
00001388: SWAP1
00001389: REVERT
0000138a: JUMPDEST
0000138b: DUP1
0000138c: PUSH1 0x06
0000138e: PUSH1 0x00
00001390: PUSH1 0x0c
00001392: DUP8
00001393: DUP2
00001394: SLOAD
00001395: DUP2
00001396: LT
00001397: PUSH2 0x13a2
0000139a: JUMPI
0000139b: PUSH2 0x13a2
0000139e: PUSH2 0x3c69
000013a1: JUMP
000013a2: JUMPDEST
000013a3: PUSH1 0x00
000013a5: SWAP2
000013a6: DUP3
000013a7: MSTORE
000013a8: PUSH1 0x20
000013aa: DUP1
000013ab: DUP4
000013ac: KECCAK256
000013ad: SWAP1
000013ae: SWAP2
000013af: ADD
000013b0: SLOAD
000013b1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000013c6: AND
000013c7: DUP4
000013c8: MSTORE
000013c9: DUP3
000013ca: ADD
000013cb: SWAP3
000013cc: SWAP1
000013cd: SWAP3
000013ce: MSTORE
000013cf: PUSH1 0x40
000013d1: ADD
000013d2: DUP2
000013d3: KECCAK256
000013d4: PUSH1 0x0c
000013d6: DUP1
000013d7: SLOAD
000013d8: SWAP2
000013d9: SWAP3
000013da: SWAP2
000013db: DUP8
000013dc: SWAP1
000013dd: DUP2
000013de: LT
000013df: PUSH2 0x13ea
000013e2: JUMPI
000013e3: PUSH2 0x13ea
000013e6: PUSH2 0x3c69
000013e9: JUMP
000013ea: JUMPDEST
000013eb: PUSH1 0x00
000013ed: SWAP2
000013ee: DUP3
000013ef: MSTORE
000013f0: PUSH1 0x20
000013f2: DUP1
000013f3: DUP4
000013f4: KECCAK256
000013f5: SWAP1
000013f6: SWAP2
000013f7: ADD
000013f8: SLOAD
000013f9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000140e: AND
0000140f: DUP4
00001410: MSTORE
00001411: DUP3
00001412: ADD
00001413: SWAP3
00001414: SWAP1
00001415: SWAP3
00001416: MSTORE
00001417: PUSH1 0x40
00001419: ADD
0000141a: SWAP1
0000141b: KECCAK256
0000141c: SSTORE
0000141d: DUP5
0000141e: PUSH2 0x1426
00001421: DUP2
00001422: PUSH2 0x3ce1
00001425: JUMP
00001426: JUMPDEST
00001427: SWAP6
00001428: POP
00001429: POP
0000142a: POP
0000142b: POP
0000142c: JUMPDEST
0000142d: PUSH1 0x01
0000142f: ADD
00001430: PUSH2 0x0f31
00001433: JUMP
00001434: JUMPDEST
00001435: POP
00001436: PUSH1 0x01
00001438: ADD
00001439: PUSH2 0x0f24
0000143c: JUMP
0000143d: JUMPDEST
0000143e: POP
0000143f: PUSH1 0x00
00001441: JUMPDEST
00001442: DUP3
00001443: DUP2
00001444: LT
00001445: ISZERO
00001446: PUSH2 0x14d3
00001449: JUMPI
0000144a: PUSH2 0x14cb
0000144d: PUSH2 0x1456
00001450: DUP10
00001451: DUP1
00001452: PUSH2 0x3bfa
00001455: JUMP
00001456: JUMPDEST
00001457: DUP4
00001458: DUP2
00001459: DUP2
0000145a: LT
0000145b: PUSH2 0x1466
0000145e: JUMPI
0000145f: PUSH2 0x1466
00001462: PUSH2 0x3c69
00001465: JUMP
00001466: JUMPDEST
00001467: SWAP1
00001468: POP
00001469: PUSH1 0x20
0000146b: MUL
0000146c: ADD
0000146d: CALLDATALOAD
0000146e: DUP10
0000146f: DUP1
00001470: PUSH1 0x20
00001472: ADD
00001473: SWAP1
00001474: PUSH2 0x147d
00001477: SWAP2
00001478: SWAP1
00001479: PUSH2 0x3bfa
0000147c: JUMP
0000147d: JUMPDEST
0000147e: DUP5
0000147f: DUP2
00001480: DUP2
00001481: LT
00001482: PUSH2 0x148d
00001485: JUMPI
00001486: PUSH2 0x148d
00001489: PUSH2 0x3c69
0000148c: JUMP
0000148d: JUMPDEST
0000148e: SWAP1
0000148f: POP
00001490: PUSH1 0x20
00001492: MUL
00001493: ADD
00001494: PUSH1 0x20
00001496: DUP2
00001497: ADD
00001498: SWAP1
00001499: PUSH2 0x14a2
0000149c: SWAP2
0000149d: SWAP1
0000149e: PUSH2 0x3c98
000014a1: JUMP
000014a2: JUMPDEST
000014a3: PUSH2 0x14af
000014a6: PUSH1 0x40
000014a8: DUP13
000014a9: ADD
000014aa: DUP13
000014ab: PUSH2 0x3bfa
000014ae: JUMP
000014af: JUMPDEST
000014b0: DUP6
000014b1: DUP2
000014b2: DUP2
000014b3: LT
000014b4: PUSH2 0x14bf
000014b7: JUMPI
000014b8: PUSH2 0x14bf
000014bb: PUSH2 0x3c69
000014be: JUMP
000014bf: JUMPDEST
000014c0: SWAP1
000014c1: POP
000014c2: PUSH1 0x20
000014c4: MUL
000014c5: ADD
000014c6: CALLDATALOAD
000014c7: PUSH2 0x2c26
000014ca: JUMP
000014cb: JUMPDEST
000014cc: PUSH1 0x01
000014ce: ADD
000014cf: PUSH2 0x1441
000014d2: JUMP
000014d3: JUMPDEST
000014d4: POP
000014d5: DUP4
000014d6: ISZERO
000014d7: PUSH2 0x151b
000014da: JUMPI
000014db: PUSH1 0x00
000014dd: JUMPDEST
000014de: DUP3
000014df: DUP2
000014e0: LT
000014e1: ISZERO
000014e2: PUSH2 0x1519
000014e5: JUMPI
000014e6: PUSH2 0x1511
000014e9: PUSH2 0x14f2
000014ec: DUP10
000014ed: DUP1
000014ee: PUSH2 0x3bfa
000014f1: JUMP
000014f2: JUMPDEST
000014f3: DUP4
000014f4: DUP2
000014f5: DUP2
000014f6: LT
000014f7: PUSH2 0x1502
000014fa: JUMPI
000014fb: PUSH2 0x1502
000014fe: PUSH2 0x3c69
00001501: JUMP
00001502: JUMPDEST
00001503: SWAP1
00001504: POP
00001505: PUSH1 0x20
00001507: MUL
00001508: ADD
00001509: CALLDATALOAD
0000150a: DUP6
0000150b: PUSH1 0x00
0000150d: PUSH2 0x2555
00001510: JUMP
00001511: JUMPDEST
00001512: PUSH1 0x01
00001514: ADD
00001515: PUSH2 0x14dd
00001518: JUMP
00001519: JUMPDEST
0000151a: POP
0000151b: JUMPDEST
0000151c: PUSH1 0x00
0000151e: JUMPDEST
0000151f: PUSH1 0x03
00001521: SLOAD
00001522: DUP2
00001523: LT
00001524: ISZERO
00001525: PUSH2 0x15d9
00001528: JUMPI
00001529: PUSH1 0x00
0000152b: JUMPDEST
0000152c: PUSH1 0x03
0000152e: SLOAD
0000152f: DUP2
00001530: LT
00001531: ISZERO
00001532: PUSH2 0x15d0
00001535: JUMPI
00001536: PUSH1 0x00
00001538: PUSH1 0x05
0000153a: PUSH1 0x00
0000153c: PUSH1 0x0c
0000153e: DUP6
0000153f: DUP2
00001540: SLOAD
00001541: DUP2
00001542: LT
00001543: PUSH2 0x154e
00001546: JUMPI
00001547: PUSH2 0x154e
0000154a: PUSH2 0x3c69
0000154d: JUMP
0000154e: JUMPDEST
0000154f: PUSH1 0x00
00001551: SWAP2
00001552: DUP3
00001553: MSTORE
00001554: PUSH1 0x20
00001556: DUP1
00001557: DUP4
00001558: KECCAK256
00001559: SWAP1
0000155a: SWAP2
0000155b: ADD
0000155c: SLOAD
0000155d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001572: AND
00001573: DUP4
00001574: MSTORE
00001575: DUP3
00001576: ADD
00001577: SWAP3
00001578: SWAP1
00001579: SWAP3
0000157a: MSTORE
0000157b: PUSH1 0x40
0000157d: ADD
0000157e: DUP2
0000157f: KECCAK256
00001580: PUSH1 0x0c
00001582: DUP1
00001583: SLOAD
00001584: SWAP2
00001585: SWAP3
00001586: SWAP2
00001587: DUP6
00001588: SWAP1
00001589: DUP2
0000158a: LT
0000158b: PUSH2 0x1596
0000158e: JUMPI
0000158f: PUSH2 0x1596
00001592: PUSH2 0x3c69
00001595: JUMP
00001596: JUMPDEST
00001597: PUSH1 0x00
00001599: SWAP2
0000159a: DUP3
0000159b: MSTORE
0000159c: PUSH1 0x20
0000159e: DUP1
0000159f: DUP4
000015a0: KECCAK256
000015a1: SWAP1
000015a2: SWAP2
000015a3: ADD
000015a4: SLOAD
000015a5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000015ba: AND
000015bb: DUP4
000015bc: MSTORE
000015bd: DUP3
000015be: ADD
000015bf: SWAP3
000015c0: SWAP1
000015c1: SWAP3
000015c2: MSTORE
000015c3: PUSH1 0x40
000015c5: ADD
000015c6: SWAP1
000015c7: KECCAK256
000015c8: SSTORE
000015c9: PUSH1 0x01
000015cb: ADD
000015cc: PUSH2 0x152b
000015cf: JUMP
000015d0: JUMPDEST
000015d1: POP
000015d2: PUSH1 0x01
000015d4: ADD
000015d5: PUSH2 0x151e
000015d8: JUMP
000015d9: JUMPDEST
000015da: POP
000015db: POP
000015dc: POP
000015dd: POP
000015de: POP
000015df: POP
000015e0: POP
000015e1: POP
000015e2: JUMP
000015e3: JUMPDEST
000015e4: PUSH1 0x40
000015e6: MLOAD
000015e7: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
00001608: DUP2
00001609: MSTORE
0000160a: ADDRESS
0000160b: PUSH1 0x04
0000160d: DUP3
0000160e: ADD
0000160f: MSTORE
00001610: PUSH1 0x00
00001612: SWAP1
00001613: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001628: DUP4
00001629: AND
0000162a: SWAP1
0000162b: PUSH4 0x70a08231
00001630: SWAP1
00001631: PUSH1 0x24
00001633: ADD
00001634: PUSH1 0x20
00001636: PUSH1 0x40
00001638: MLOAD
00001639: DUP1
0000163a: DUP4
0000163b: SUB
0000163c: DUP2
0000163d: DUP7
0000163e: GAS
0000163f: STATICCALL
00001640: ISZERO
00001641: DUP1
00001642: ISZERO
00001643: PUSH2 0x1650
00001646: JUMPI
00001647: RETURNDATASIZE
00001648: PUSH1 0x00
0000164a: DUP1
0000164b: RETURNDATACOPY
0000164c: RETURNDATASIZE
0000164d: PUSH1 0x00
0000164f: REVERT
00001650: JUMPDEST
00001651: POP
00001652: POP
00001653: POP
00001654: POP
00001655: PUSH1 0x40
00001657: MLOAD
00001658: RETURNDATASIZE
00001659: PUSH1 0x1f
0000165b: NOT
0000165c: PUSH1 0x1f
0000165e: DUP3
0000165f: ADD
00001660: AND
00001661: DUP3
00001662: ADD
00001663: DUP1
00001664: PUSH1 0x40
00001666: MSTORE
00001667: POP
00001668: DUP2
00001669: ADD
0000166a: SWAP1
0000166b: PUSH2 0x0c56
0000166e: SWAP2
0000166f: SWAP1
00001670: PUSH2 0x3cc8
00001673: JUMP
00001674: JUMPDEST
00001675: PUSH1 0x00
00001677: SLOAD
00001678: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000168d: AND
0000168e: CALLER
0000168f: EQ
00001690: DUP1
00001691: ISZERO
00001692: SWAP1
00001693: PUSH2 0x16b4
00001696: JUMPI
00001697: POP
00001698: PUSH1 0x01
0000169a: SLOAD
0000169b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000016b0: AND
000016b1: CALLER
000016b2: EQ
000016b3: ISZERO
000016b4: JUMPDEST
000016b5: ISZERO
000016b6: PUSH2 0x16eb
000016b9: JUMPI
000016ba: PUSH1 0x40
000016bc: MLOAD
000016bd: PUSH32 0x1a06d0fe00000000000000000000000000000000000000000000000000000000
000016de: DUP2
000016df: MSTORE
000016e0: PUSH1 0x04
000016e2: ADD
000016e3: PUSH1 0x40
000016e5: MLOAD
000016e6: DUP1
000016e7: SWAP2
000016e8: SUB
000016e9: SWAP1
000016ea: REVERT
000016eb: JUMPDEST
000016ec: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001701: DUP4
00001702: AND
00001703: PUSH1 0x00
00001705: SWAP1
00001706: DUP2
00001707: MSTORE
00001708: PUSH1 0x07
0000170a: PUSH1 0x20
0000170c: MSTORE
0000170d: PUSH1 0x40
0000170f: SWAP1
00001710: KECCAK256
00001711: SLOAD
00001712: PUSH2 0x1720
00001715: SWAP1
00001716: PUSH4 0x01e13380
0000171b: SWAP1
0000171c: PUSH2 0x3cb5
0000171f: JUMP
00001720: JUMPDEST
00001721: TIMESTAMP
00001722: GT
00001723: PUSH2 0x1758
00001726: JUMPI
00001727: PUSH1 0x40
00001729: MLOAD
0000172a: PUSH32 0x2c6dda0800000000000000000000000000000000000000000000000000000000
0000174b: DUP2
0000174c: MSTORE
0000174d: PUSH1 0x04
0000174f: ADD
00001750: PUSH1 0x40
00001752: MLOAD
00001753: DUP1
00001754: SWAP2
00001755: SUB
00001756: SWAP1
00001757: REVERT
00001758: JUMPDEST
00001759: PUSH1 0x0d
0000175b: SLOAD
0000175c: PUSH2 0x177f
0000175f: SWAP1
00001760: DUP4
00001761: SWAP1
00001762: DUP6
00001763: SWAP1
00001764: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001779: AND
0000177a: DUP5
0000177b: PUSH2 0x317e
0000177e: JUMP
0000177f: JUMPDEST
00001780: POP
00001781: POP
00001782: POP
00001783: JUMP
00001784: JUMPDEST
00001785: PUSH1 0x00
00001787: CALLVALUE
00001788: GT
00001789: PUSH2 0x17be
0000178c: JUMPI
0000178d: PUSH1 0x40
0000178f: MLOAD
00001790: PUSH32 0x1fa6205f00000000000000000000000000000000000000000000000000000000
000017b1: DUP2
000017b2: MSTORE
000017b3: PUSH1 0x04
000017b5: ADD
000017b6: PUSH1 0x40
000017b8: MLOAD
000017b9: DUP1
000017ba: SWAP2
000017bb: SUB
000017bc: SWAP1
000017bd: REVERT
000017be: JUMPDEST
000017bf: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
000017d4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017e9: AND
000017ea: PUSH4 0xd0e30db0
000017ef: CALLVALUE
000017f0: PUSH1 0x40
000017f2: MLOAD
000017f3: DUP3
000017f4: PUSH4 0xffffffff
000017f9: AND
000017fa: PUSH1 0xe0
000017fc: SHL
000017fd: DUP2
000017fe: MSTORE
000017ff: PUSH1 0x04
00001801: ADD
00001802: PUSH1 0x00
00001804: PUSH1 0x40
00001806: MLOAD
00001807: DUP1
00001808: DUP4
00001809: SUB
0000180a: DUP2
0000180b: DUP6
0000180c: DUP9
0000180d: DUP1
0000180e: EXTCODESIZE
0000180f: ISZERO
00001810: DUP1
00001811: ISZERO
00001812: PUSH2 0x181a
00001815: JUMPI
00001816: PUSH1 0x00
00001818: DUP1
00001819: REVERT
0000181a: JUMPDEST
0000181b: POP
0000181c: GAS
0000181d: CALL
0000181e: ISZERO
0000181f: DUP1
00001820: ISZERO
00001821: PUSH2 0x182e
00001824: JUMPI
00001825: RETURNDATASIZE
00001826: PUSH1 0x00
00001828: DUP1
00001829: RETURNDATACOPY
0000182a: RETURNDATASIZE
0000182b: PUSH1 0x00
0000182d: REVERT
0000182e: JUMPDEST
0000182f: POP
00001830: POP
00001831: CALLER
00001832: PUSH1 0x00
00001834: SWAP1
00001835: DUP2
00001836: MSTORE
00001837: PUSH31 0x137c28eabea4eda5601e544e6551e6761ee561d32c4142c29e0f892835a361
00001857: PUSH1 0x20
00001859: MSTORE
0000185a: PUSH1 0x40
0000185c: SWAP1
0000185d: KECCAK256
0000185e: SLOAD
0000185f: PUSH2 0x186d
00001862: SWAP4
00001863: POP
00001864: CALLVALUE
00001865: SWAP3
00001866: POP
00001867: SWAP1
00001868: POP
00001869: PUSH2 0x3cb5
0000186c: JUMP
0000186d: JUMPDEST
0000186e: CALLER
0000186f: PUSH1 0x00
00001871: SWAP1
00001872: DUP2
00001873: MSTORE
00001874: PUSH31 0x137c28eabea4eda5601e544e6551e6761ee561d32c4142c29e0f892835a361
00001894: PUSH1 0x20
00001896: SWAP1
00001897: DUP2
00001898: MSTORE
00001899: PUSH1 0x40
0000189b: DUP1
0000189c: DUP4
0000189d: KECCAK256
0000189e: SWAP4
0000189f: SWAP1
000018a0: SWAP4
000018a1: SSTORE
000018a2: PUSH1 0x07
000018a4: SWAP1
000018a5: MSTORE
000018a6: KECCAK256
000018a7: TIMESTAMP
000018a8: SWAP1
000018a9: SSTORE
000018aa: PUSH1 0x40
000018ac: MLOAD
000018ad: CALLVALUE
000018ae: DUP2
000018af: MSTORE
000018b0: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
000018c5: SWAP1
000018c6: CALLER
000018c7: SWAP1
000018c8: PUSH32 0x5548c837ab068cf56a2c2479df0882a4922fd203edb7517321831d95078c5f62
000018e9: SWAP1
000018ea: PUSH1 0x20
000018ec: ADD
000018ed: PUSH1 0x40
000018ef: MLOAD
000018f0: DUP1
000018f1: SWAP2
000018f2: SUB
000018f3: SWAP1
000018f4: LOG3
000018f5: JUMP
000018f6: JUMPDEST
000018f7: PUSH2 0x18fe
000018fa: PUSH2 0x1784
000018fd: JUMP
000018fe: JUMPDEST
000018ff: PUSH2 0x191f
00001902: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00001917: DUP6
00001918: DUP6
00001919: DUP6
0000191a: DUP6
0000191b: PUSH2 0x1f27
0000191e: JUMP
0000191f: JUMPDEST
00001920: POP
00001921: POP
00001922: POP
00001923: POP
00001924: JUMP
00001925: JUMPDEST
00001926: PUSH1 0x00
00001928: SLOAD
00001929: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000193e: AND
0000193f: CALLER
00001940: EQ
00001941: DUP1
00001942: ISZERO
00001943: SWAP1
00001944: PUSH2 0x1965
00001947: JUMPI
00001948: POP
00001949: PUSH1 0x01
0000194b: SLOAD
0000194c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001961: AND
00001962: CALLER
00001963: EQ
00001964: ISZERO
00001965: JUMPDEST
00001966: ISZERO
00001967: PUSH2 0x199c
0000196a: JUMPI
0000196b: PUSH1 0x40
0000196d: MLOAD
0000196e: PUSH32 0x1a06d0fe00000000000000000000000000000000000000000000000000000000
0000198f: DUP2
00001990: MSTORE
00001991: PUSH1 0x04
00001993: ADD
00001994: PUSH1 0x40
00001996: MLOAD
00001997: DUP1
00001998: SWAP2
00001999: SUB
0000199a: SWAP1
0000199b: REVERT
0000199c: JUMPDEST
0000199d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019b2: DUP5
000019b3: AND
000019b4: PUSH1 0x00
000019b6: SWAP1
000019b7: DUP2
000019b8: MSTORE
000019b9: PUSH1 0x0a
000019bb: PUSH1 0x20
000019bd: MSTORE
000019be: PUSH1 0x40
000019c0: SWAP1
000019c1: KECCAK256
000019c2: DUP1
000019c3: SLOAD
000019c4: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
000019e5: AND
000019e6: DUP4
000019e7: ISZERO
000019e8: ISZERO
000019e9: OR
000019ea: SWAP1
000019eb: SSTORE
000019ec: DUP3
000019ed: ISZERO
000019ee: PUSH2 0x1b0f
000019f1: JUMPI
000019f2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a07: DUP5
00001a08: AND
00001a09: PUSH1 0x00
00001a0b: SWAP1
00001a0c: DUP2
00001a0d: MSTORE
00001a0e: PUSH1 0x09
00001a10: PUSH1 0x20
00001a12: MSTORE
00001a13: PUSH1 0x40
00001a15: SWAP1
00001a16: KECCAK256
00001a17: SLOAD
00001a18: PUSH1 0xff
00001a1a: AND
00001a1b: ISZERO
00001a1c: PUSH2 0x1a51
00001a1f: JUMPI
00001a20: PUSH1 0x40
00001a22: MLOAD
00001a23: PUSH32 0x464e3f6a00000000000000000000000000000000000000000000000000000000
00001a44: DUP2
00001a45: MSTORE
00001a46: PUSH1 0x04
00001a48: ADD
00001a49: PUSH1 0x40
00001a4b: MLOAD
00001a4c: DUP1
00001a4d: SWAP2
00001a4e: SUB
00001a4f: SWAP1
00001a50: REVERT
00001a51: JUMPDEST
00001a52: DUP1
00001a53: PUSH1 0x00
00001a55: SUB
00001a56: PUSH2 0x1a8b
00001a59: JUMPI
00001a5a: PUSH1 0x40
00001a5c: MLOAD
00001a5d: PUSH32 0x1fa6205f00000000000000000000000000000000000000000000000000000000
00001a7e: DUP2
00001a7f: MSTORE
00001a80: PUSH1 0x04
00001a82: ADD
00001a83: PUSH1 0x40
00001a85: MLOAD
00001a86: DUP1
00001a87: SWAP2
00001a88: SUB
00001a89: SWAP1
00001a8a: REVERT
00001a8b: JUMPDEST
00001a8c: PUSH1 0x0c
00001a8e: DUP1
00001a8f: SLOAD
00001a90: PUSH1 0x01
00001a92: DUP2
00001a93: ADD
00001a94: SWAP1
00001a95: SWAP2
00001a96: SSTORE
00001a97: PUSH32 0xdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7
00001ab8: ADD
00001ab9: DUP1
00001aba: SLOAD
00001abb: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00001adc: AND
00001add: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001af2: DUP7
00001af3: AND
00001af4: SWAP1
00001af5: DUP2
00001af6: OR
00001af7: SWAP1
00001af8: SWAP2
00001af9: SSTORE
00001afa: PUSH1 0x00
00001afc: SWAP1
00001afd: DUP2
00001afe: MSTORE
00001aff: PUSH1 0x0b
00001b01: PUSH1 0x20
00001b03: MSTORE
00001b04: PUSH1 0x40
00001b06: SWAP1
00001b07: KECCAK256
00001b08: DUP2
00001b09: SWAP1
00001b0a: SSTORE
00001b0b: PUSH2 0x1b1c
00001b0e: JUMP
00001b0f: JUMPDEST
00001b10: PUSH2 0x1b1a
00001b13: PUSH1 0x0c
00001b15: DUP6
00001b16: PUSH2 0x3245
00001b19: JUMP
00001b1a: JUMPDEST
00001b1b: POP
00001b1c: JUMPDEST
00001b1d: POP
00001b1e: POP
00001b1f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b34: SWAP2
00001b35: SWAP1
00001b36: SWAP2
00001b37: AND
00001b38: PUSH1 0x00
00001b3a: SWAP1
00001b3b: DUP2
00001b3c: MSTORE
00001b3d: PUSH1 0x09
00001b3f: PUSH1 0x20
00001b41: MSTORE
00001b42: PUSH1 0x40
00001b44: SWAP1
00001b45: KECCAK256
00001b46: DUP1
00001b47: SLOAD
00001b48: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
00001b69: AND
00001b6a: SWAP2
00001b6b: ISZERO
00001b6c: ISZERO
00001b6d: SWAP2
00001b6e: SWAP1
00001b6f: SWAP2
00001b70: OR
00001b71: SWAP1
00001b72: SSTORE
00001b73: PUSH1 0x0c
00001b75: SLOAD
00001b76: PUSH1 0x03
00001b78: SSTORE
00001b79: JUMP
00001b7a: JUMPDEST
00001b7b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b90: DUP3
00001b91: AND
00001b92: PUSH1 0x00
00001b94: SWAP1
00001b95: DUP2
00001b96: MSTORE
00001b97: PUSH1 0x09
00001b99: PUSH1 0x20
00001b9b: MSTORE
00001b9c: PUSH1 0x40
00001b9e: SWAP1
00001b9f: KECCAK256
00001ba0: SLOAD
00001ba1: PUSH1 0xff
00001ba3: AND
00001ba4: PUSH2 0x1bd9
00001ba7: JUMPI
00001ba8: PUSH1 0x40
00001baa: MLOAD
00001bab: PUSH32 0xe1478bb000000000000000000000000000000000000000000000000000000000
00001bcc: DUP2
00001bcd: MSTORE
00001bce: PUSH1 0x04
00001bd0: ADD
00001bd1: PUSH1 0x40
00001bd3: MLOAD
00001bd4: DUP1
00001bd5: SWAP2
00001bd6: SUB
00001bd7: SWAP1
00001bd8: REVERT
00001bd9: JUMPDEST
00001bda: DUP1
00001bdb: PUSH1 0x00
00001bdd: SUB
00001bde: PUSH2 0x1c13
00001be1: JUMPI
00001be2: PUSH1 0x40
00001be4: MLOAD
00001be5: PUSH32 0x1fa6205f00000000000000000000000000000000000000000000000000000000
00001c06: DUP2
00001c07: MSTORE
00001c08: PUSH1 0x04
00001c0a: ADD
00001c0b: PUSH1 0x40
00001c0d: MLOAD
00001c0e: DUP1
00001c0f: SWAP2
00001c10: SUB
00001c11: SWAP1
00001c12: REVERT
00001c13: JUMPDEST
00001c14: PUSH2 0x1c35
00001c17: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c2c: DUP4
00001c2d: AND
00001c2e: CALLER
00001c2f: ADDRESS
00001c30: DUP5
00001c31: PUSH2 0x348a
00001c34: JUMP
00001c35: JUMPDEST
00001c36: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c4b: DUP3
00001c4c: AND
00001c4d: PUSH1 0x00
00001c4f: SWAP1
00001c50: DUP2
00001c51: MSTORE
00001c52: PUSH1 0x04
00001c54: PUSH1 0x20
00001c56: SWAP1
00001c57: DUP2
00001c58: MSTORE
00001c59: PUSH1 0x40
00001c5b: DUP1
00001c5c: DUP4
00001c5d: KECCAK256
00001c5e: CALLER
00001c5f: DUP5
00001c60: MSTORE
00001c61: SWAP1
00001c62: SWAP2
00001c63: MSTORE
00001c64: SWAP1
00001c65: KECCAK256
00001c66: SLOAD
00001c67: PUSH2 0x1c71
00001c6a: SWAP1
00001c6b: DUP3
00001c6c: SWAP1
00001c6d: PUSH2 0x3cb5
00001c70: JUMP
00001c71: JUMPDEST
00001c72: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c87: DUP4
00001c88: AND
00001c89: PUSH1 0x00
00001c8b: SWAP1
00001c8c: DUP2
00001c8d: MSTORE
00001c8e: PUSH1 0x04
00001c90: PUSH1 0x20
00001c92: SWAP1
00001c93: DUP2
00001c94: MSTORE
00001c95: PUSH1 0x40
00001c97: DUP1
00001c98: DUP4
00001c99: KECCAK256
00001c9a: CALLER
00001c9b: DUP5
00001c9c: MSTORE
00001c9d: DUP3
00001c9e: MSTORE
00001c9f: DUP1
00001ca0: DUP4
00001ca1: KECCAK256
00001ca2: SWAP4
00001ca3: SWAP1
00001ca4: SWAP4
00001ca5: SSTORE
00001ca6: PUSH1 0x07
00001ca8: SWAP1
00001ca9: MSTORE
00001caa: KECCAK256
00001cab: TIMESTAMP
00001cac: SWAP1
00001cad: SSTORE
00001cae: PUSH1 0x40
00001cb0: MLOAD
00001cb1: DUP2
00001cb2: DUP2
00001cb3: MSTORE
00001cb4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001cc9: DUP4
00001cca: AND
00001ccb: SWAP1
00001ccc: CALLER
00001ccd: SWAP1
00001cce: PUSH32 0x5548c837ab068cf56a2c2479df0882a4922fd203edb7517321831d95078c5f62
00001cef: SWAP1
00001cf0: PUSH1 0x20
00001cf2: ADD
00001cf3: PUSH2 0x0c2e
00001cf6: JUMP
00001cf7: JUMPDEST
00001cf8: CALLER
00001cf9: PUSH1 0x00
00001cfb: SWAP1
00001cfc: DUP2
00001cfd: MSTORE
00001cfe: PUSH31 0x137c28eabea4eda5601e544e6551e6761ee561d32c4142c29e0f892835a361
00001d1e: PUSH1 0x20
00001d20: MSTORE
00001d21: PUSH1 0x40
00001d23: SWAP1
00001d24: KECCAK256
00001d25: SLOAD
00001d26: DUP2
00001d27: GT
00001d28: ISZERO
00001d29: PUSH2 0x1d5e
00001d2c: JUMPI
00001d2d: PUSH1 0x40
00001d2f: MLOAD
00001d30: PUSH32 0x7b7b36da00000000000000000000000000000000000000000000000000000000
00001d51: DUP2
00001d52: MSTORE
00001d53: PUSH1 0x04
00001d55: ADD
00001d56: PUSH1 0x40
00001d58: MLOAD
00001d59: DUP1
00001d5a: SWAP2
00001d5b: SUB
00001d5c: SWAP1
00001d5d: REVERT
00001d5e: JUMPDEST
00001d5f: CALLER
00001d60: PUSH1 0x00
00001d62: SWAP1
00001d63: DUP2
00001d64: MSTORE
00001d65: PUSH31 0x137c28eabea4eda5601e544e6551e6761ee561d32c4142c29e0f892835a361
00001d85: PUSH1 0x20
00001d87: MSTORE
00001d88: PUSH1 0x40
00001d8a: SWAP1
00001d8b: KECCAK256
00001d8c: SLOAD
00001d8d: PUSH2 0x1d97
00001d90: SWAP1
00001d91: DUP3
00001d92: SWAP1
00001d93: PUSH2 0x3b95
00001d96: JUMP
00001d97: JUMPDEST
00001d98: CALLER
00001d99: PUSH1 0x00
00001d9b: SWAP1
00001d9c: DUP2
00001d9d: MSTORE
00001d9e: PUSH31 0x137c28eabea4eda5601e544e6551e6761ee561d32c4142c29e0f892835a361
00001dbe: PUSH1 0x20
00001dc0: MSTORE
00001dc1: PUSH1 0x40
00001dc3: SWAP1
00001dc4: DUP2
00001dc5: SWAP1
00001dc6: KECCAK256
00001dc7: SWAP2
00001dc8: SWAP1
00001dc9: SWAP2
00001dca: SSTORE
00001dcb: MLOAD
00001dcc: PUSH32 0x2e1a7d4d00000000000000000000000000000000000000000000000000000000
00001ded: DUP2
00001dee: MSTORE
00001def: PUSH1 0x04
00001df1: DUP2
00001df2: ADD
00001df3: DUP3
00001df4: SWAP1
00001df5: MSTORE
00001df6: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00001e0b: SWAP1
00001e0c: PUSH4 0x2e1a7d4d
00001e11: SWAP1
00001e12: PUSH1 0x24
00001e14: ADD
00001e15: PUSH1 0x00
00001e17: PUSH1 0x40
00001e19: MLOAD
00001e1a: DUP1
00001e1b: DUP4
00001e1c: SUB
00001e1d: DUP2
00001e1e: PUSH1 0x00
00001e20: DUP8
00001e21: DUP1
00001e22: EXTCODESIZE
00001e23: ISZERO
00001e24: DUP1
00001e25: ISZERO
00001e26: PUSH2 0x1e2e
00001e29: JUMPI
00001e2a: PUSH1 0x00
00001e2c: DUP1
00001e2d: REVERT
00001e2e: JUMPDEST
00001e2f: POP
00001e30: GAS
00001e31: CALL
00001e32: ISZERO
00001e33: DUP1
00001e34: ISZERO
00001e35: PUSH2 0x1e42
00001e38: JUMPI
00001e39: RETURNDATASIZE
00001e3a: PUSH1 0x00
00001e3c: DUP1
00001e3d: RETURNDATACOPY
00001e3e: RETURNDATASIZE
00001e3f: PUSH1 0x00
00001e41: REVERT
00001e42: JUMPDEST
00001e43: POP
00001e44: POP
00001e45: PUSH1 0x40
00001e47: MLOAD
00001e48: PUSH1 0x00
00001e4a: SWAP3
00001e4b: POP
00001e4c: CALLER
00001e4d: SWAP2
00001e4e: POP
00001e4f: DUP4
00001e50: SWAP1
00001e51: DUP4
00001e52: DUP2
00001e53: DUP2
00001e54: DUP2
00001e55: DUP6
00001e56: DUP8
00001e57: GAS
00001e58: CALL
00001e59: SWAP3
00001e5a: POP
00001e5b: POP
00001e5c: POP
00001e5d: RETURNDATASIZE
00001e5e: DUP1
00001e5f: PUSH1 0x00
00001e61: DUP2
00001e62: EQ
00001e63: PUSH2 0x1e88
00001e66: JUMPI
00001e67: PUSH1 0x40
00001e69: MLOAD
00001e6a: SWAP2
00001e6b: POP
00001e6c: PUSH1 0x1f
00001e6e: NOT
00001e6f: PUSH1 0x3f
00001e71: RETURNDATASIZE
00001e72: ADD
00001e73: AND
00001e74: DUP3
00001e75: ADD
00001e76: PUSH1 0x40
00001e78: MSTORE
00001e79: RETURNDATASIZE
00001e7a: DUP3
00001e7b: MSTORE
00001e7c: RETURNDATASIZE
00001e7d: PUSH1 0x00
00001e7f: PUSH1 0x20
00001e81: DUP5
00001e82: ADD
00001e83: RETURNDATACOPY
00001e84: PUSH2 0x1e8d
00001e87: JUMP
00001e88: JUMPDEST
00001e89: PUSH1 0x60
00001e8b: SWAP2
00001e8c: POP
00001e8d: JUMPDEST
00001e8e: POP
00001e8f: POP
00001e90: SWAP1
00001e91: POP
00001e92: DUP1
00001e93: PUSH2 0x1ec8
00001e96: JUMPI
00001e97: PUSH1 0x40
00001e99: MLOAD
00001e9a: PUSH32 0xdcf35db000000000000000000000000000000000000000000000000000000000
00001ebb: DUP2
00001ebc: MSTORE
00001ebd: PUSH1 0x04
00001ebf: ADD
00001ec0: PUSH1 0x40
00001ec2: MLOAD
00001ec3: DUP1
00001ec4: SWAP2
00001ec5: SUB
00001ec6: SWAP1
00001ec7: REVERT
00001ec8: JUMPDEST
00001ec9: PUSH2 0x1edf
00001ecc: CALLER
00001ecd: PUSH1 0x00
00001ecf: SWAP1
00001ed0: DUP2
00001ed1: MSTORE
00001ed2: PUSH1 0x07
00001ed4: PUSH1 0x20
00001ed6: MSTORE
00001ed7: PUSH1 0x40
00001ed9: SWAP1
00001eda: KECCAK256
00001edb: TIMESTAMP
00001edc: SWAP1
00001edd: SSTORE
00001ede: JUMP
00001edf: JUMPDEST
00001ee0: PUSH1 0x40
00001ee2: MLOAD
00001ee3: DUP3
00001ee4: DUP2
00001ee5: MSTORE
00001ee6: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00001efb: SWAP1
00001efc: CALLER
00001efd: SWAP1
00001efe: PUSH32 0xf2abf94c6b0da8d85e7c6cb49df089e622137e0f674d2d019b4ee40660e38153
00001f1f: SWAP1
00001f20: PUSH1 0x20
00001f22: ADD
00001f23: PUSH2 0x0c2e
00001f26: JUMP
00001f27: JUMPDEST
00001f28: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f3d: DUP6
00001f3e: AND
00001f3f: PUSH1 0x00
00001f41: SWAP1
00001f42: DUP2
00001f43: MSTORE
00001f44: PUSH1 0x04
00001f46: PUSH1 0x20
00001f48: SWAP1
00001f49: DUP2
00001f4a: MSTORE
00001f4b: PUSH1 0x40
00001f4d: DUP1
00001f4e: DUP4
00001f4f: KECCAK256
00001f50: CALLER
00001f51: DUP5
00001f52: MSTORE
00001f53: SWAP1
00001f54: SWAP2
00001f55: MSTORE
00001f56: SWAP1
00001f57: KECCAK256
00001f58: SLOAD
00001f59: DUP4
00001f5a: GT
00001f5b: ISZERO
00001f5c: PUSH2 0x1f91
00001f5f: JUMPI
00001f60: PUSH1 0x40
00001f62: MLOAD
00001f63: PUSH32 0x7b7b36da00000000000000000000000000000000000000000000000000000000
00001f84: DUP2
00001f85: MSTORE
00001f86: PUSH1 0x04
00001f88: ADD
00001f89: PUSH1 0x40
00001f8b: MLOAD
00001f8c: DUP1
00001f8d: SWAP2
00001f8e: SUB
00001f8f: SWAP1
00001f90: REVERT
00001f91: JUMPDEST
00001f92: DUP4
00001f93: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001fa8: AND
00001fa9: DUP6
00001faa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001fbf: AND
00001fc0: SUB
00001fc1: PUSH2 0x1ff6
00001fc4: JUMPI
00001fc5: PUSH1 0x40
00001fc7: MLOAD
00001fc8: PUSH32 0x3445e17c00000000000000000000000000000000000000000000000000000000
00001fe9: DUP2
00001fea: MSTORE
00001feb: PUSH1 0x04
00001fed: ADD
00001fee: PUSH1 0x40
00001ff0: MLOAD
00001ff1: DUP1
00001ff2: SWAP2
00001ff3: SUB
00001ff4: SWAP1
00001ff5: REVERT
00001ff6: JUMPDEST
00001ff7: PUSH3 0x76a700
00001ffb: DUP2
00001ffc: LT
00001ffd: PUSH2 0x2032
00002000: JUMPI
00002001: PUSH1 0x40
00002003: MLOAD
00002004: PUSH32 0xf59db0ce00000000000000000000000000000000000000000000000000000000
00002025: DUP2
00002026: MSTORE
00002027: PUSH1 0x04
00002029: ADD
0000202a: PUSH1 0x40
0000202c: MLOAD
0000202d: DUP1
0000202e: SWAP2
0000202f: SUB
00002030: SWAP1
00002031: REVERT
00002032: JUMPDEST
00002033: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002048: DUP6
00002049: AND
0000204a: PUSH1 0x00
0000204c: SWAP1
0000204d: DUP2
0000204e: MSTORE
0000204f: PUSH1 0x0b
00002051: PUSH1 0x20
00002053: MSTORE
00002054: PUSH1 0x40
00002056: SWAP1
00002057: KECCAK256
00002058: SLOAD
00002059: DUP4
0000205a: LT
0000205b: ISZERO
0000205c: PUSH2 0x2091
0000205f: JUMPI
00002060: PUSH1 0x40
00002062: MLOAD
00002063: PUSH32 0x49986e7300000000000000000000000000000000000000000000000000000000
00002084: DUP2
00002085: MSTORE
00002086: PUSH1 0x04
00002088: ADD
00002089: PUSH1 0x40
0000208b: MLOAD
0000208c: DUP1
0000208d: SWAP2
0000208e: SUB
0000208f: SWAP1
00002090: REVERT
00002091: JUMPDEST
00002092: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000020a7: DUP6
000020a8: AND
000020a9: PUSH1 0x00
000020ab: SWAP1
000020ac: DUP2
000020ad: MSTORE
000020ae: PUSH1 0x04
000020b0: PUSH1 0x20
000020b2: SWAP1
000020b3: DUP2
000020b4: MSTORE
000020b5: PUSH1 0x40
000020b7: DUP1
000020b8: DUP4
000020b9: KECCAK256
000020ba: CALLER
000020bb: DUP5
000020bc: MSTORE
000020bd: SWAP1
000020be: SWAP2
000020bf: MSTORE
000020c0: SWAP1
000020c1: KECCAK256
000020c2: SLOAD
000020c3: PUSH2 0x20cd
000020c6: SWAP1
000020c7: DUP5
000020c8: SWAP1
000020c9: PUSH2 0x3b95
000020cc: JUMP
000020cd: JUMPDEST
000020ce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000020e3: DUP1
000020e4: DUP8
000020e5: AND
000020e6: PUSH1 0x00
000020e8: DUP2
000020e9: DUP2
000020ea: MSTORE
000020eb: PUSH1 0x04
000020ed: PUSH1 0x20
000020ef: SWAP1
000020f0: DUP2
000020f1: MSTORE
000020f2: PUSH1 0x40
000020f4: DUP1
000020f5: DUP4
000020f6: KECCAK256
000020f7: CALLER
000020f8: DUP1
000020f9: DUP6
000020fa: MSTORE
000020fb: SWAP1
000020fc: DUP4
000020fd: MSTORE
000020fe: DUP2
000020ff: DUP5
00002100: KECCAK256
00002101: SWAP7
00002102: SWAP1
00002103: SWAP7
00002104: SSTORE
00002105: DUP1
00002106: MLOAD
00002107: PUSH2 0x0140
0000210a: DUP2
0000210b: ADD
0000210c: DUP3
0000210d: MSTORE
0000210e: SWAP6
0000210f: DUP7
00002110: MSTORE
00002111: SWAP1
00002112: DUP6
00002113: ADD
00002114: SWAP3
00002115: SWAP1
00002116: SWAP3
00002117: MSTORE
00002118: SWAP1
00002119: DUP4
0000211a: ADD
0000211b: DUP7
0000211c: SWAP1
0000211d: MSTORE
0000211e: SWAP1
0000211f: DUP7
00002120: AND
00002121: PUSH1 0x60
00002123: DUP4
00002124: ADD
00002125: MSTORE
00002126: PUSH1 0x80
00002128: DUP3
00002129: ADD
0000212a: DUP2
0000212b: SWAP1
0000212c: MSTORE
0000212d: PUSH1 0xa0
0000212f: DUP3
00002130: ADD
00002131: DUP5
00002132: SWAP1
00002133: MSTORE
00002134: PUSH1 0xc0
00002136: DUP3
00002137: ADD
00002138: MSTORE
00002139: PUSH1 0x08
0000213b: SWAP1
0000213c: PUSH1 0xe0
0000213e: DUP2
0000213f: ADD
00002140: PUSH2 0x2149
00002143: DUP5
00002144: TIMESTAMP
00002145: PUSH2 0x3cb5
00002148: JUMP
00002149: JUMPDEST
0000214a: DUP2
0000214b: MSTORE
0000214c: PUSH1 0x00
0000214e: PUSH1 0x20
00002150: DUP1
00002151: DUP4
00002152: ADD
00002153: DUP3
00002154: SWAP1
00002155: MSTORE
00002156: PUSH1 0x40
00002158: SWAP3
00002159: DUP4
0000215a: ADD
0000215b: DUP3
0000215c: SWAP1
0000215d: MSTORE
0000215e: DUP5
0000215f: SLOAD
00002160: PUSH1 0x01
00002162: DUP1
00002163: DUP3
00002164: ADD
00002165: DUP8
00002166: SSTORE
00002167: SWAP6
00002168: DUP4
00002169: MSTORE
0000216a: DUP2
0000216b: DUP4
0000216c: KECCAK256
0000216d: DUP6
0000216e: MLOAD
0000216f: PUSH1 0x09
00002171: SWAP1
00002172: SWAP3
00002173: MUL
00002174: ADD
00002175: DUP1
00002176: SLOAD
00002177: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00002198: SWAP1
00002199: DUP2
0000219a: AND
0000219b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000021b0: SWAP4
000021b1: DUP5
000021b2: AND
000021b3: OR
000021b4: DUP3
000021b5: SSTORE
000021b6: DUP7
000021b7: DUP5
000021b8: ADD
000021b9: MLOAD
000021ba: SWAP8
000021bb: DUP3
000021bc: ADD
000021bd: DUP1
000021be: SLOAD
000021bf: DUP3
000021c0: AND
000021c1: SWAP9
000021c2: DUP5
000021c3: AND
000021c4: SWAP9
000021c5: SWAP1
000021c6: SWAP9
000021c7: OR
000021c8: SWAP1
000021c9: SWAP8
000021ca: SSTORE
000021cb: DUP6
000021cc: DUP6
000021cd: ADD
000021ce: MLOAD
000021cf: PUSH1 0x02
000021d1: DUP3
000021d2: ADD
000021d3: SSTORE
000021d4: PUSH1 0x60
000021d6: DUP7
000021d7: ADD
000021d8: MLOAD
000021d9: PUSH1 0x03
000021db: DUP3
000021dc: ADD
000021dd: DUP1
000021de: SLOAD
000021df: SWAP1
000021e0: SWAP9
000021e1: AND
000021e2: SWAP3
000021e3: AND
000021e4: SWAP2
000021e5: SWAP1
000021e6: SWAP2
000021e7: OR
000021e8: SWAP1
000021e9: SWAP6
000021ea: SSTORE
000021eb: PUSH1 0x80
000021ed: DUP5
000021ee: ADD
000021ef: MLOAD
000021f0: PUSH1 0x04
000021f2: DUP7
000021f3: ADD
000021f4: SSTORE
000021f5: PUSH1 0xa0
000021f7: DUP5
000021f8: ADD
000021f9: MLOAD
000021fa: PUSH1 0x05
000021fc: DUP7
000021fd: ADD
000021fe: SSTORE
000021ff: PUSH1 0xc0
00002201: DUP5
00002202: ADD
00002203: MLOAD
00002204: PUSH1 0x06
00002206: DUP7
00002207: ADD
00002208: SSTORE
00002209: PUSH1 0xe0
0000220b: DUP5
0000220c: ADD
0000220d: MLOAD
0000220e: PUSH1 0x07
00002210: DUP1
00002211: DUP8
00002212: ADD
00002213: SWAP2
00002214: SWAP1
00002215: SWAP2
00002216: SSTORE
00002217: PUSH2 0x0100
0000221a: DUP1
0000221b: DUP7
0000221c: ADD
0000221d: MLOAD
0000221e: PUSH1 0x08
00002220: SWAP1
00002221: SWAP8
00002222: ADD
00002223: DUP1
00002224: SLOAD
00002225: PUSH2 0x0120
00002228: SWAP1
00002229: SWAP8
0000222a: ADD
0000222b: MLOAD
0000222c: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000
0000224d: SWAP1
0000224e: SWAP8
0000224f: AND
00002250: SWAP8
00002251: ISZERO
00002252: ISZERO
00002253: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff
00002274: AND
00002275: SWAP8
00002276: SWAP1
00002277: SWAP8
00002278: OR
00002279: SWAP6
0000227a: ISZERO
0000227b: ISZERO
0000227c: MUL
0000227d: SWAP5
0000227e: SWAP1
0000227f: SWAP5
00002280: OR
00002281: SWAP1
00002282: SWAP5
00002283: SSTORE
00002284: CALLER
00002285: DUP2
00002286: MSTORE
00002287: SWAP2
00002288: SWAP1
00002289: SWAP3
0000228a: MSTORE
0000228b: KECCAK256
0000228c: TIMESTAMP
0000228d: SWAP1
0000228e: SSTORE
0000228f: PUSH1 0x08
00002291: SLOAD
00002292: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000022a7: DUP7
000022a8: AND
000022a9: SWAP1
000022aa: CALLER
000022ab: SWAP1
000022ac: PUSH2 0x22b7
000022af: SWAP1
000022b0: PUSH1 0x01
000022b2: SWAP1
000022b3: PUSH2 0x3b95
000022b6: JUMP
000022b7: JUMPDEST
000022b8: PUSH1 0x40
000022ba: DUP1
000022bb: MLOAD
000022bc: DUP8
000022bd: DUP2
000022be: MSTORE
000022bf: PUSH1 0x20
000022c1: DUP2
000022c2: ADD
000022c3: DUP7
000022c4: SWAP1
000022c5: MSTORE
000022c6: PUSH32 0xe8e781512b2b69f39d5e2d87b1a162b544f3ca1fc67f40c2c5344ce6ae71300c
000022e7: SWAP2
000022e8: ADD
000022e9: PUSH1 0x40
000022eb: MLOAD
000022ec: DUP1
000022ed: SWAP2
000022ee: SUB
000022ef: SWAP1
000022f0: LOG4
000022f1: POP
000022f2: POP
000022f3: POP
000022f4: POP
000022f5: POP
000022f6: JUMP
000022f7: JUMPDEST
000022f8: PUSH1 0x00
000022fa: SLOAD
000022fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002310: AND
00002311: CALLER
00002312: EQ
00002313: DUP1
00002314: ISZERO
00002315: SWAP1
00002316: PUSH2 0x2337
00002319: JUMPI
0000231a: POP
0000231b: PUSH1 0x01
0000231d: SLOAD
0000231e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002333: AND
00002334: CALLER
00002335: EQ
00002336: ISZERO
00002337: JUMPDEST
00002338: ISZERO
00002339: PUSH2 0x236e
0000233c: JUMPI
0000233d: PUSH1 0x40
0000233f: MLOAD
00002340: PUSH32 0x1a06d0fe00000000000000000000000000000000000000000000000000000000
00002361: DUP2
00002362: MSTORE
00002363: PUSH1 0x04
00002365: ADD
00002366: PUSH1 0x40
00002368: MLOAD
00002369: DUP1
0000236a: SWAP2
0000236b: SUB
0000236c: SWAP1
0000236d: REVERT
0000236e: JUMPDEST
0000236f: PUSH1 0x00
00002371: DUP1
00002372: SLOAD
00002373: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00002394: AND
00002395: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000023aa: SWAP3
000023ab: SWAP1
000023ac: SWAP3
000023ad: AND
000023ae: SWAP2
000023af: SWAP1
000023b0: SWAP2
000023b1: OR
000023b2: SWAP1
000023b3: SSTORE
000023b4: JUMP
000023b5: JUMPDEST
000023b6: PUSH1 0x00
000023b8: SLOAD
000023b9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000023ce: AND
000023cf: CALLER
000023d0: EQ
000023d1: DUP1
000023d2: ISZERO
000023d3: SWAP1
000023d4: PUSH2 0x23f5
000023d7: JUMPI
000023d8: POP
000023d9: PUSH1 0x01
000023db: SLOAD
000023dc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000023f1: AND
000023f2: CALLER
000023f3: EQ
000023f4: ISZERO
000023f5: JUMPDEST
000023f6: ISZERO
000023f7: PUSH2 0x242c
000023fa: JUMPI
000023fb: PUSH1 0x40
000023fd: MLOAD
000023fe: PUSH32 0x1a06d0fe00000000000000000000000000000000000000000000000000000000
0000241f: DUP2
00002420: MSTORE
00002421: PUSH1 0x04
00002423: ADD
00002424: PUSH1 0x40
00002426: MLOAD
00002427: DUP1
00002428: SWAP2
00002429: SUB
0000242a: SWAP1
0000242b: REVERT
0000242c: JUMPDEST
0000242d: PUSH1 0x02
0000242f: DUP1
00002430: SLOAD
00002431: PUSH3 0xffffff
00002435: SWAP1
00002436: SWAP3
00002437: AND
00002438: PUSH21 0x010000000000000000000000000000000000000000
0000244e: MUL
0000244f: PUSH32 0xffffffffffffffffff000000ffffffffffffffffffffffffffffffffffffffff
00002470: SWAP1
00002471: SWAP3
00002472: AND
00002473: SWAP2
00002474: SWAP1
00002475: SWAP2
00002476: OR
00002477: SWAP1
00002478: SSTORE
00002479: JUMP
0000247a: JUMPDEST
0000247b: PUSH1 0x08
0000247d: DUP2
0000247e: DUP2
0000247f: SLOAD
00002480: DUP2
00002481: LT
00002482: PUSH2 0x248a
00002485: JUMPI
00002486: PUSH1 0x00
00002488: DUP1
00002489: REVERT
0000248a: JUMPDEST
0000248b: PUSH1 0x00
0000248d: SWAP2
0000248e: DUP3
0000248f: MSTORE
00002490: PUSH1 0x20
00002492: SWAP1
00002493: SWAP2
00002494: KECCAK256
00002495: PUSH1 0x09
00002497: SWAP1
00002498: SWAP2
00002499: MUL
0000249a: ADD
0000249b: DUP1
0000249c: SLOAD
0000249d: PUSH1 0x01
0000249f: DUP3
000024a0: ADD
000024a1: SLOAD
000024a2: PUSH1 0x02
000024a4: DUP4
000024a5: ADD
000024a6: SLOAD
000024a7: PUSH1 0x03
000024a9: DUP5
000024aa: ADD
000024ab: SLOAD
000024ac: PUSH1 0x04
000024ae: DUP6
000024af: ADD
000024b0: SLOAD
000024b1: PUSH1 0x05
000024b3: DUP7
000024b4: ADD
000024b5: SLOAD
000024b6: PUSH1 0x06
000024b8: DUP8
000024b9: ADD
000024ba: SLOAD
000024bb: PUSH1 0x07
000024bd: DUP9
000024be: ADD
000024bf: SLOAD
000024c0: PUSH1 0x08
000024c2: SWAP1
000024c3: SWAP9
000024c4: ADD
000024c5: SLOAD
000024c6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000024db: SWAP8
000024dc: DUP9
000024dd: AND
000024de: SWAP10
000024df: POP
000024e0: SWAP6
000024e1: DUP8
000024e2: AND
000024e3: SWAP8
000024e4: SWAP5
000024e5: SWAP7
000024e6: SWAP1
000024e7: SWAP4
000024e8: AND
000024e9: SWAP5
000024ea: SWAP2
000024eb: SWAP4
000024ec: SWAP1
000024ed: SWAP3
000024ee: SWAP2
000024ef: PUSH1 0xff
000024f1: DUP1
000024f2: DUP3
000024f3: AND
000024f4: SWAP2
000024f5: PUSH2 0x0100
000024f8: SWAP1
000024f9: DIV
000024fa: AND
000024fb: DUP11
000024fc: JUMP
000024fd: JUMPDEST
000024fe: PUSH1 0x00
00002500: DUP3
00002501: PUSH2 0x250a
00002504: DUP4
00002505: DUP7
00002506: PUSH2 0x3ba8
00002509: JUMP
0000250a: JUMPDEST
0000250b: PUSH2 0x2514
0000250e: SWAP2
0000250f: SWAP1
00002510: PUSH2 0x3bbf
00002513: JUMP
00002514: JUMPDEST
00002515: SWAP1
00002516: POP
00002517: JUMPDEST
00002518: SWAP4
00002519: SWAP3
0000251a: POP
0000251b: POP
0000251c: POP
0000251d: JUMP
0000251e: JUMPDEST
0000251f: PUSH1 0x0c
00002521: DUP2
00002522: DUP2
00002523: SLOAD
00002524: DUP2
00002525: LT
00002526: PUSH2 0x252e
00002529: JUMPI
0000252a: PUSH1 0x00
0000252c: DUP1
0000252d: REVERT
0000252e: JUMPDEST
0000252f: PUSH1 0x00
00002531: SWAP2
00002532: DUP3
00002533: MSTORE
00002534: PUSH1 0x20
00002536: SWAP1
00002537: SWAP2
00002538: KECCAK256
00002539: ADD
0000253a: SLOAD
0000253b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002550: AND
00002551: SWAP1
00002552: POP
00002553: DUP2
00002554: JUMP
00002555: JUMPDEST
00002556: PUSH1 0x00
00002558: PUSH1 0x08
0000255a: DUP5
0000255b: DUP2
0000255c: SLOAD
0000255d: DUP2
0000255e: LT
0000255f: PUSH2 0x256a
00002562: JUMPI
00002563: PUSH2 0x256a
00002566: PUSH2 0x3c69
00002569: JUMP
0000256a: JUMPDEST
0000256b: SWAP1
0000256c: PUSH1 0x00
0000256e: MSTORE
0000256f: PUSH1 0x20
00002571: PUSH1 0x00
00002573: KECCAK256
00002574: SWAP1
00002575: PUSH1 0x09
00002577: MUL
00002578: ADD
00002579: SWAP1
0000257a: POP
0000257b: DUP1
0000257c: PUSH1 0x08
0000257e: ADD
0000257f: PUSH1 0x01
00002581: SWAP1
00002582: SLOAD
00002583: SWAP1
00002584: PUSH2 0x0100
00002587: EXP
00002588: SWAP1
00002589: DIV
0000258a: PUSH1 0xff
0000258c: AND
0000258d: ISZERO
0000258e: PUSH2 0x25c3
00002591: JUMPI
00002592: PUSH1 0x40
00002594: MLOAD
00002595: PUSH32 0x5fdb34e800000000000000000000000000000000000000000000000000000000
000025b6: DUP2
000025b7: MSTORE
000025b8: PUSH1 0x04
000025ba: ADD
000025bb: PUSH1 0x40
000025bd: MLOAD
000025be: DUP1
000025bf: SWAP2
000025c0: SUB
000025c1: SWAP1
000025c2: REVERT
000025c3: JUMPDEST
000025c4: PUSH1 0x08
000025c6: DUP2
000025c7: ADD
000025c8: SLOAD
000025c9: PUSH1 0xff
000025cb: AND
000025cc: DUP1
000025cd: PUSH2 0x25e6
000025d0: JUMPI
000025d1: POP
000025d2: PUSH2 0x0e10
000025d5: DUP2
000025d6: PUSH1 0x07
000025d8: ADD
000025d9: SLOAD
000025da: PUSH2 0x25e3
000025dd: SWAP2
000025de: SWAP1
000025df: PUSH2 0x3cb5
000025e2: JUMP
000025e3: JUMPDEST
000025e4: TIMESTAMP
000025e5: GT
000025e6: JUMPDEST
000025e7: PUSH2 0x261c
000025ea: JUMPI
000025eb: PUSH1 0x40
000025ed: MLOAD
000025ee: PUSH32 0x4771047900000000000000000000000000000000000000000000000000000000
0000260f: DUP2
00002610: MSTORE
00002611: PUSH1 0x04
00002613: ADD
00002614: PUSH1 0x40
00002616: MLOAD
00002617: DUP1
00002618: SWAP2
00002619: SUB
0000261a: SWAP1
0000261b: REVERT
0000261c: JUMPDEST
0000261d: DUP2
0000261e: PUSH2 0x2708
00002621: JUMPI
00002622: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002637: DUP4
00002638: AND
00002639: PUSH1 0x00
0000263b: SWAP1
0000263c: DUP2
0000263d: MSTORE
0000263e: PUSH1 0x0a
00002640: PUSH1 0x20
00002642: MSTORE
00002643: PUSH1 0x40
00002645: SWAP1
00002646: KECCAK256
00002647: SLOAD
00002648: PUSH1 0xff
0000264a: AND
0000264b: PUSH2 0x2680
0000264e: JUMPI
0000264f: PUSH1 0x40
00002651: MLOAD
00002652: PUSH32 0x532dcedb00000000000000000000000000000000000000000000000000000000
00002673: DUP2
00002674: MSTORE
00002675: PUSH1 0x04
00002677: ADD
00002678: PUSH1 0x40
0000267a: MLOAD
0000267b: DUP1
0000267c: SWAP2
0000267d: SUB
0000267e: SWAP1
0000267f: REVERT
00002680: JUMPDEST
00002681: PUSH1 0x00
00002683: DUP2
00002684: PUSH1 0x06
00002686: ADD
00002687: SLOAD
00002688: GT
00002689: DUP1
0000268a: ISZERO
0000268b: PUSH2 0x26cd
0000268e: JUMPI
0000268f: POP
00002690: PUSH1 0x06
00002692: DUP2
00002693: ADD
00002694: SLOAD
00002695: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000026aa: DUP1
000026ab: DUP6
000026ac: AND
000026ad: PUSH1 0x00
000026af: SWAP1
000026b0: DUP2
000026b1: MSTORE
000026b2: PUSH1 0x04
000026b4: PUSH1 0x20
000026b6: SWAP1
000026b7: DUP2
000026b8: MSTORE
000026b9: PUSH1 0x40
000026bb: DUP1
000026bc: DUP4
000026bd: KECCAK256
000026be: PUSH1 0x0d
000026c0: SLOAD
000026c1: SWAP1
000026c2: SWAP5
000026c3: AND
000026c4: DUP4
000026c5: MSTORE
000026c6: SWAP3
000026c7: SWAP1
000026c8: MSTORE
000026c9: KECCAK256
000026ca: SLOAD
000026cb: LT
000026cc: ISZERO
000026cd: JUMPDEST
000026ce: ISZERO
000026cf: PUSH2 0x2703
000026d2: JUMPI
000026d3: PUSH1 0x0d
000026d5: SLOAD
000026d6: DUP2
000026d7: SLOAD
000026d8: PUSH1 0x06
000026da: DUP4
000026db: ADD
000026dc: SLOAD
000026dd: PUSH2 0x2703
000026e0: SWAP3
000026e1: DUP7
000026e2: SWAP3
000026e3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000026f8: SWAP2
000026f9: DUP3
000026fa: AND
000026fb: SWAP3
000026fc: SWAP2
000026fd: AND
000026fe: SWAP1
000026ff: PUSH2 0x317e
00002702: JUMP
00002703: JUMPDEST
00002704: PUSH2 0x2758
00002707: JUMP
00002708: JUMPDEST
00002709: DUP1
0000270a: SLOAD
0000270b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002720: AND
00002721: CALLER
00002722: EQ
00002723: PUSH2 0x2758
00002726: JUMPI
00002727: PUSH1 0x40
00002729: MLOAD
0000272a: PUSH32 0x8ecfde6200000000000000000000000000000000000000000000000000000000
0000274b: DUP2
0000274c: MSTORE
0000274d: PUSH1 0x04
0000274f: ADD
00002750: PUSH1 0x40
00002752: MLOAD
00002753: DUP1
00002754: SWAP2
00002755: SUB
00002756: SWAP1
00002757: REVERT
00002758: JUMPDEST
00002759: PUSH1 0x08
0000275b: DUP2
0000275c: ADD
0000275d: SLOAD
0000275e: PUSH1 0xff
00002760: AND
00002761: ISZERO
00002762: DUP1
00002763: ISZERO
00002764: PUSH2 0x277d
00002767: JUMPI
00002768: POP
00002769: PUSH2 0x0e10
0000276c: DUP2
0000276d: PUSH1 0x07
0000276f: ADD
00002770: SLOAD
00002771: PUSH2 0x277a
00002774: SWAP2
00002775: SWAP1
00002776: PUSH2 0x3cb5
00002779: JUMP
0000277a: JUMPDEST
0000277b: TIMESTAMP
0000277c: GT
0000277d: JUMPDEST
0000277e: ISZERO
0000277f: PUSH2 0x27d8
00002782: JUMPI
00002783: PUSH1 0x01
00002785: DUP2
00002786: ADD
00002787: SLOAD
00002788: PUSH1 0x03
0000278a: DUP3
0000278b: ADD
0000278c: DUP1
0000278d: SLOAD
0000278e: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
000027af: AND
000027b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000027c5: SWAP1
000027c6: SWAP3
000027c7: AND
000027c8: SWAP2
000027c9: SWAP1
000027ca: SWAP2
000027cb: OR
000027cc: SWAP1
000027cd: SSTORE
000027ce: PUSH1 0x02
000027d0: DUP2
000027d1: ADD
000027d2: SLOAD
000027d3: PUSH1 0x04
000027d5: DUP3
000027d6: ADD
000027d7: SSTORE
000027d8: JUMPDEST
000027d9: PUSH1 0x04
000027db: DUP1
000027dc: DUP3
000027dd: ADD
000027de: SLOAD
000027df: PUSH1 0x03
000027e1: DUP4
000027e2: ADD
000027e3: SLOAD
000027e4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000027f9: SWAP1
000027fa: DUP2
000027fb: AND
000027fc: PUSH1 0x00
000027fe: SWAP1
000027ff: DUP2
00002800: MSTORE
00002801: PUSH1 0x20
00002803: SWAP4
00002804: DUP5
00002805: MSTORE
00002806: PUSH1 0x40
00002808: DUP1
00002809: DUP3
0000280a: KECCAK256
0000280b: DUP7
0000280c: SLOAD
0000280d: SWAP1
0000280e: SWAP4
0000280f: AND
00002810: DUP3
00002811: MSTORE
00002812: SWAP2
00002813: SWAP1
00002814: SWAP4
00002815: MSTORE
00002816: SWAP1
00002817: SWAP2
00002818: KECCAK256
00002819: SLOAD
0000281a: PUSH2 0x2823
0000281d: SWAP2
0000281e: SWAP1
0000281f: PUSH2 0x3cb5
00002822: JUMP
00002823: JUMPDEST
00002824: PUSH1 0x03
00002826: DUP3
00002827: ADD
00002828: SLOAD
00002829: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000283e: SWAP1
0000283f: DUP2
00002840: AND
00002841: PUSH1 0x00
00002843: SWAP1
00002844: DUP2
00002845: MSTORE
00002846: PUSH1 0x04
00002848: PUSH1 0x20
0000284a: SWAP1
0000284b: DUP2
0000284c: MSTORE
0000284d: PUSH1 0x40
0000284f: DUP1
00002850: DUP4
00002851: KECCAK256
00002852: DUP7
00002853: SLOAD
00002854: DUP6
00002855: AND
00002856: DUP5
00002857: MSTORE
00002858: SWAP1
00002859: SWAP2
0000285a: MSTORE
0000285b: SWAP1
0000285c: KECCAK256
0000285d: SWAP2
0000285e: SWAP1
0000285f: SWAP2
00002860: SSTORE
00002861: PUSH1 0x08
00002863: DUP3
00002864: ADD
00002865: DUP1
00002866: SLOAD
00002867: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff
00002888: AND
00002889: PUSH2 0x0100
0000288c: OR
0000288d: SWAP1
0000288e: SSTORE
0000288f: DUP2
00002890: SLOAD
00002891: AND
00002892: CALLER
00002893: SUB
00002894: PUSH2 0x191f
00002897: JUMPI
00002898: PUSH2 0x28ae
0000289b: CALLER
0000289c: PUSH1 0x00
0000289e: SWAP1
0000289f: DUP2
000028a0: MSTORE
000028a1: PUSH1 0x07
000028a3: PUSH1 0x20
000028a5: MSTORE
000028a6: PUSH1 0x40
000028a8: SWAP1
000028a9: KECCAK256
000028aa: TIMESTAMP
000028ab: SWAP1
000028ac: SSTORE
000028ad: JUMP
000028ae: JUMPDEST
000028af: PUSH1 0x40
000028b1: MLOAD
000028b2: DUP5
000028b3: SWAP1
000028b4: PUSH32 0x3fcc63d4c63f7973d46fabc12bae28bd4c806f711ac836cb6efd2ea0d3961a91
000028d5: SWAP1
000028d6: PUSH1 0x00
000028d8: SWAP1
000028d9: LOG2
000028da: POP
000028db: POP
000028dc: POP
000028dd: POP
000028de: JUMP
000028df: JUMPDEST
000028e0: PUSH2 0x28e9
000028e3: DUP7
000028e4: DUP6
000028e5: PUSH2 0x1b7a
000028e8: JUMP
000028e9: JUMPDEST
000028ea: PUSH2 0x28f6
000028ed: DUP7
000028ee: DUP7
000028ef: DUP6
000028f0: DUP6
000028f1: DUP6
000028f2: PUSH2 0x1f27
000028f5: JUMP
000028f6: JUMPDEST
000028f7: POP
000028f8: POP
000028f9: POP
000028fa: POP
000028fb: POP
000028fc: POP
000028fd: JUMP
000028fe: JUMPDEST
000028ff: PUSH1 0x00
00002901: SLOAD
00002902: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002917: AND
00002918: CALLER
00002919: EQ
0000291a: DUP1
0000291b: ISZERO
0000291c: SWAP1
0000291d: PUSH2 0x293e
00002920: JUMPI
00002921: POP
00002922: PUSH1 0x01
00002924: SLOAD
00002925: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000293a: AND
0000293b: CALLER
0000293c: EQ
0000293d: ISZERO
0000293e: JUMPDEST
0000293f: ISZERO
00002940: PUSH2 0x2975
00002943: JUMPI
00002944: PUSH1 0x40
00002946: MLOAD
00002947: PUSH32 0x1a06d0fe00000000000000000000000000000000000000000000000000000000
00002968: DUP2
00002969: MSTORE
0000296a: PUSH1 0x04
0000296c: ADD
0000296d: PUSH1 0x40
0000296f: MLOAD
00002970: DUP1
00002971: SWAP2
00002972: SUB
00002973: SWAP1
00002974: REVERT
00002975: JUMPDEST
00002976: PUSH1 0x00
00002978: DUP3
00002979: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000298e: AND
0000298f: DUP3
00002990: PUSH1 0x40
00002992: MLOAD
00002993: PUSH1 0x00
00002995: PUSH1 0x40
00002997: MLOAD
00002998: DUP1
00002999: DUP4
0000299a: SUB
0000299b: DUP2
0000299c: DUP6
0000299d: DUP8
0000299e: GAS
0000299f: CALL
000029a0: SWAP3
000029a1: POP
000029a2: POP
000029a3: POP
000029a4: RETURNDATASIZE
000029a5: DUP1
000029a6: PUSH1 0x00
000029a8: DUP2
000029a9: EQ
000029aa: PUSH2 0x29cf
000029ad: JUMPI
000029ae: PUSH1 0x40
000029b0: MLOAD
000029b1: SWAP2
000029b2: POP
000029b3: PUSH1 0x1f
000029b5: NOT
000029b6: PUSH1 0x3f
000029b8: RETURNDATASIZE
000029b9: ADD
000029ba: AND
000029bb: DUP3
000029bc: ADD
000029bd: PUSH1 0x40
000029bf: MSTORE
000029c0: RETURNDATASIZE
000029c1: DUP3
000029c2: MSTORE
000029c3: RETURNDATASIZE
000029c4: PUSH1 0x00
000029c6: PUSH1 0x20
000029c8: DUP5
000029c9: ADD
000029ca: RETURNDATACOPY
000029cb: PUSH2 0x29d4
000029ce: JUMP
000029cf: JUMPDEST
000029d0: PUSH1 0x60
000029d2: SWAP2
000029d3: POP
000029d4: JUMPDEST
000029d5: POP
000029d6: POP
000029d7: SWAP1
000029d8: POP
000029d9: DUP1
000029da: PUSH2 0x177f
000029dd: JUMPI
000029de: PUSH1 0x40
000029e0: MLOAD
000029e1: PUSH32 0xdcf35db000000000000000000000000000000000000000000000000000000000
00002a02: DUP2
00002a03: MSTORE
00002a04: PUSH1 0x04
00002a06: ADD
00002a07: PUSH1 0x40
00002a09: MLOAD
00002a0a: DUP1
00002a0b: SWAP2
00002a0c: SUB
00002a0d: SWAP1
00002a0e: REVERT
00002a0f: JUMPDEST
00002a10: PUSH1 0x00
00002a12: SLOAD
00002a13: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002a28: AND
00002a29: CALLER
00002a2a: EQ
00002a2b: DUP1
00002a2c: ISZERO
00002a2d: SWAP1
00002a2e: PUSH2 0x2a4f
00002a31: JUMPI
00002a32: POP
00002a33: PUSH1 0x01
00002a35: SLOAD
00002a36: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002a4b: AND
00002a4c: CALLER
00002a4d: EQ
00002a4e: ISZERO
00002a4f: JUMPDEST
00002a50: ISZERO
00002a51: PUSH2 0x2a86
00002a54: JUMPI
00002a55: PUSH1 0x40
00002a57: MLOAD
00002a58: PUSH32 0x1a06d0fe00000000000000000000000000000000000000000000000000000000
00002a79: DUP2
00002a7a: MSTORE
00002a7b: PUSH1 0x04
00002a7d: ADD
00002a7e: PUSH1 0x40
00002a80: MLOAD
00002a81: DUP1
00002a82: SWAP2
00002a83: SUB
00002a84: SWAP1
00002a85: REVERT
00002a86: JUMPDEST
00002a87: PUSH1 0x02
00002a89: DUP1
00002a8a: SLOAD
00002a8b: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00002aac: AND
00002aad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002ac2: SWAP3
00002ac3: SWAP1
00002ac4: SWAP3
00002ac5: AND
00002ac6: SWAP2
00002ac7: SWAP1
00002ac8: SWAP2
00002ac9: OR
00002aca: SWAP1
00002acb: SSTORE
00002acc: JUMP
00002acd: JUMPDEST
00002ace: PUSH1 0x40
00002ad0: MLOAD
00002ad1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002ae6: DUP4
00002ae7: DUP2
00002ae8: AND
00002ae9: PUSH1 0x24
00002aeb: DUP4
00002aec: ADD
00002aed: MSTORE
00002aee: PUSH1 0x44
00002af0: DUP3
00002af1: ADD
00002af2: DUP4
00002af3: SWAP1
00002af4: MSTORE
00002af5: PUSH2 0x177f
00002af8: SWAP2
00002af9: DUP6
00002afa: SWAP2
00002afb: DUP3
00002afc: AND
00002afd: SWAP1
00002afe: PUSH4 0xa9059cbb
00002b03: SWAP1
00002b04: PUSH1 0x64
00002b06: ADD
00002b07: JUMPDEST
00002b08: PUSH1 0x40
00002b0a: MLOAD
00002b0b: PUSH1 0x20
00002b0d: DUP2
00002b0e: DUP4
00002b0f: SUB
00002b10: SUB
00002b11: DUP2
00002b12: MSTORE
00002b13: SWAP1
00002b14: PUSH1 0x40
00002b16: MSTORE
00002b17: SWAP2
00002b18: POP
00002b19: PUSH1 0xe0
00002b1b: SHL
00002b1c: PUSH1 0x20
00002b1e: DUP3
00002b1f: ADD
00002b20: DUP1
00002b21: MLOAD
00002b22: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002b3f: DUP4
00002b40: DUP2
00002b41: DUP4
00002b42: AND
00002b43: OR
00002b44: DUP4
00002b45: MSTORE
00002b46: POP
00002b47: POP
00002b48: POP
00002b49: POP
00002b4a: PUSH2 0x34d0
00002b4d: JUMP
00002b4e: JUMPDEST
00002b4f: PUSH1 0x40
00002b51: DUP1
00002b52: MLOAD
00002b53: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002b68: DUP5
00002b69: AND
00002b6a: PUSH1 0x24
00002b6c: DUP3
00002b6d: ADD
00002b6e: MSTORE
00002b6f: PUSH1 0x44
00002b71: DUP1
00002b72: DUP3
00002b73: ADD
00002b74: DUP5
00002b75: SWAP1
00002b76: MSTORE
00002b77: DUP3
00002b78: MLOAD
00002b79: DUP1
00002b7a: DUP4
00002b7b: SUB
00002b7c: SWAP1
00002b7d: SWAP2
00002b7e: ADD
00002b7f: DUP2
00002b80: MSTORE
00002b81: PUSH1 0x64
00002b83: SWAP1
00002b84: SWAP2
00002b85: ADD
00002b86: SWAP1
00002b87: SWAP2
00002b88: MSTORE
00002b89: PUSH1 0x20
00002b8b: DUP2
00002b8c: ADD
00002b8d: DUP1
00002b8e: MLOAD
00002b8f: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002bac: AND
00002bad: PUSH32 0x095ea7b300000000000000000000000000000000000000000000000000000000
00002bce: OR
00002bcf: SWAP1
00002bd0: MSTORE
00002bd1: PUSH2 0x2bda
00002bd4: DUP5
00002bd5: DUP3
00002bd6: PUSH2 0x356b
00002bd9: JUMP
00002bda: JUMPDEST
00002bdb: PUSH2 0x191f
00002bde: JUMPI
00002bdf: PUSH1 0x40
00002be1: MLOAD
00002be2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002bf7: DUP5
00002bf8: DUP2
00002bf9: AND
00002bfa: PUSH1 0x24
00002bfc: DUP4
00002bfd: ADD
00002bfe: MSTORE
00002bff: PUSH1 0x00
00002c01: PUSH1 0x44
00002c03: DUP4
00002c04: ADD
00002c05: MSTORE
00002c06: PUSH2 0x2c1c
00002c09: SWAP2
00002c0a: DUP7
00002c0b: SWAP2
00002c0c: DUP3
00002c0d: AND
00002c0e: SWAP1
00002c0f: PUSH4 0x095ea7b3
00002c14: SWAP1
00002c15: PUSH1 0x64
00002c17: ADD
00002c18: PUSH2 0x2b07
00002c1b: JUMP
00002c1c: JUMPDEST
00002c1d: PUSH2 0x191f
00002c20: DUP5
00002c21: DUP3
00002c22: PUSH2 0x34d0
00002c25: JUMP
00002c26: JUMPDEST
00002c27: PUSH1 0x00
00002c29: PUSH1 0x08
00002c2b: DUP5
00002c2c: DUP2
00002c2d: SLOAD
00002c2e: DUP2
00002c2f: LT
00002c30: PUSH2 0x2c3b
00002c33: JUMPI
00002c34: PUSH2 0x2c3b
00002c37: PUSH2 0x3c69
00002c3a: JUMP
00002c3b: JUMPDEST
00002c3c: PUSH1 0x00
00002c3e: SWAP2
00002c3f: DUP3
00002c40: MSTORE
00002c41: PUSH1 0x20
00002c43: SWAP1
00002c44: SWAP2
00002c45: KECCAK256
00002c46: PUSH1 0x06
00002c48: PUSH1 0x09
00002c4a: SWAP1
00002c4b: SWAP3
00002c4c: MUL
00002c4d: ADD
00002c4e: SWAP1
00002c4f: DUP2
00002c50: ADD
00002c51: DUP4
00002c52: SWAP1
00002c53: SSTORE
00002c54: PUSH1 0x08
00002c56: DUP2
00002c57: ADD
00002c58: DUP1
00002c59: SLOAD
00002c5a: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
00002c7b: AND
00002c7c: PUSH1 0x01
00002c7e: OR
00002c7f: SWAP1
00002c80: SSTORE
00002c81: SWAP1
00002c82: POP
00002c83: DUP3
00002c84: ISZERO
00002c85: PUSH2 0x3123
00002c88: JUMPI
00002c89: PUSH1 0x03
00002c8b: DUP2
00002c8c: ADD
00002c8d: SLOAD
00002c8e: PUSH1 0x00
00002c90: SWAP1
00002c91: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002ca6: AND
00002ca7: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00002cbc: EQ
00002cbd: PUSH2 0x2d63
00002cc0: JUMPI
00002cc1: DUP2
00002cc2: PUSH1 0x03
00002cc4: ADD
00002cc5: PUSH1 0x00
00002cc7: SWAP1
00002cc8: SLOAD
00002cc9: SWAP1
00002cca: PUSH2 0x0100
00002ccd: EXP
00002cce: SWAP1
00002ccf: DIV
00002cd0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002ce5: AND
00002ce6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002cfb: AND
00002cfc: PUSH4 0x313ce567
00002d01: PUSH1 0x40
00002d03: MLOAD
00002d04: DUP2
00002d05: PUSH4 0xffffffff
00002d0a: AND
00002d0b: PUSH1 0xe0
00002d0d: SHL
00002d0e: DUP2
00002d0f: MSTORE
00002d10: PUSH1 0x04
00002d12: ADD
00002d13: PUSH1 0x20
00002d15: PUSH1 0x40
00002d17: MLOAD
00002d18: DUP1
00002d19: DUP4
00002d1a: SUB
00002d1b: DUP2
00002d1c: DUP7
00002d1d: GAS
00002d1e: STATICCALL
00002d1f: ISZERO
00002d20: DUP1
00002d21: ISZERO
00002d22: PUSH2 0x2d2f
00002d25: JUMPI
00002d26: RETURNDATASIZE
00002d27: PUSH1 0x00
00002d29: DUP1
00002d2a: RETURNDATACOPY
00002d2b: RETURNDATASIZE
00002d2c: PUSH1 0x00
00002d2e: REVERT
00002d2f: JUMPDEST
00002d30: POP
00002d31: POP
00002d32: POP
00002d33: POP
00002d34: PUSH1 0x40
00002d36: MLOAD
00002d37: RETURNDATASIZE
00002d38: PUSH1 0x1f
00002d3a: NOT
00002d3b: PUSH1 0x1f
00002d3d: DUP3
00002d3e: ADD
00002d3f: AND
00002d40: DUP3
00002d41: ADD
00002d42: DUP1
00002d43: PUSH1 0x40
00002d45: MSTORE
00002d46: POP
00002d47: DUP2
00002d48: ADD
00002d49: SWAP1
00002d4a: PUSH2 0x2d53
00002d4d: SWAP2
00002d4e: SWAP1
00002d4f: PUSH2 0x3d19
00002d52: JUMP
00002d53: JUMPDEST
00002d54: PUSH2 0x2d5e
00002d57: SWAP1
00002d58: PUSH1 0x0a
00002d5a: PUSH2 0x3e5c
00002d5d: JUMP
00002d5e: JUMPDEST
00002d5f: PUSH2 0x2d6a
00002d62: JUMP
00002d63: JUMPDEST
00002d64: PUSH5 0x02540be400
00002d6a: JUMPDEST
00002d6b: PUSH1 0x01
00002d6d: DUP4
00002d6e: ADD
00002d6f: SLOAD
00002d70: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002d85: SWAP1
00002d86: DUP2
00002d87: AND
00002d88: PUSH1 0x00
00002d8a: SWAP1
00002d8b: DUP2
00002d8c: MSTORE
00002d8d: PUSH1 0x05
00002d8f: PUSH1 0x20
00002d91: SWAP1
00002d92: DUP2
00002d93: MSTORE
00002d94: PUSH1 0x40
00002d96: DUP1
00002d97: DUP4
00002d98: KECCAK256
00002d99: PUSH1 0x03
00002d9b: DUP9
00002d9c: ADD
00002d9d: SLOAD
00002d9e: SWAP1
00002d9f: SWAP5
00002da0: AND
00002da1: DUP4
00002da2: MSTORE
00002da3: SWAP3
00002da4: SWAP1
00002da5: MSTORE
00002da6: SWAP1
00002da7: DUP2
00002da8: KECCAK256
00002da9: SLOAD
00002daa: PUSH1 0x02
00002dac: DUP6
00002dad: ADD
00002dae: SLOAD
00002daf: SWAP3
00002db0: SWAP4
00002db1: POP
00002db2: SWAP1
00002db3: SWAP2
00002db4: PUSH2 0x2dbe
00002db7: SWAP2
00002db8: SWAP1
00002db9: DUP5
00002dba: PUSH2 0x24fd
00002dbd: JUMP
00002dbe: JUMPDEST
00002dbf: PUSH1 0x01
00002dc1: DUP5
00002dc2: ADD
00002dc3: SLOAD
00002dc4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002dd9: SWAP1
00002dda: DUP2
00002ddb: AND
00002ddc: PUSH1 0x00
00002dde: SWAP1
00002ddf: DUP2
00002de0: MSTORE
00002de1: PUSH1 0x06
00002de3: PUSH1 0x20
00002de5: SWAP1
00002de6: DUP2
00002de7: MSTORE
00002de8: PUSH1 0x40
00002dea: DUP1
00002deb: DUP4
00002dec: KECCAK256
00002ded: PUSH1 0x03
00002def: DUP10
00002df0: ADD
00002df1: SLOAD
00002df2: SWAP1
00002df3: SWAP5
00002df4: AND
00002df5: DUP4
00002df6: MSTORE
00002df7: SWAP3
00002df8: SWAP1
00002df9: MSTORE
00002dfa: SWAP1
00002dfb: DUP2
00002dfc: KECCAK256
00002dfd: SLOAD
00002dfe: SWAP2
00002dff: SWAP3
00002e00: POP
00002e01: SWAP1
00002e02: DUP3
00002e03: SWAP1
00002e04: PUSH2 0x2e0e
00002e07: SWAP1
00002e08: DUP6
00002e09: SWAP1
00002e0a: PUSH2 0x3ba8
00002e0d: JUMP
00002e0e: JUMPDEST
00002e0f: PUSH2 0x2e18
00002e12: SWAP2
00002e13: SWAP1
00002e14: PUSH2 0x3bbf
00002e17: JUMP
00002e18: JUMPDEST
00002e19: PUSH1 0x01
00002e1b: DUP6
00002e1c: ADD
00002e1d: SLOAD
00002e1e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002e33: AND
00002e34: PUSH1 0x00
00002e36: SWAP1
00002e37: DUP2
00002e38: MSTORE
00002e39: PUSH1 0x0a
00002e3b: PUSH1 0x20
00002e3d: MSTORE
00002e3e: PUSH1 0x40
00002e40: DUP2
00002e41: KECCAK256
00002e42: SLOAD
00002e43: SWAP2
00002e44: SWAP3
00002e45: POP
00002e46: SWAP1
00002e47: PUSH1 0xff
00002e49: AND
00002e4a: ISZERO
00002e4b: PUSH2 0x2f6c
00002e4e: JUMPI
00002e4f: DUP5
00002e50: PUSH1 0x05
00002e52: ADD
00002e53: SLOAD
00002e54: DUP6
00002e55: PUSH1 0x03
00002e57: ADD
00002e58: PUSH1 0x00
00002e5a: SWAP1
00002e5b: SLOAD
00002e5c: SWAP1
00002e5d: PUSH2 0x0100
00002e60: EXP
00002e61: SWAP1
00002e62: DIV
00002e63: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002e78: AND
00002e79: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002e8e: AND
00002e8f: PUSH4 0x313ce567
00002e94: PUSH1 0x40
00002e96: MLOAD
00002e97: DUP2
00002e98: PUSH4 0xffffffff
00002e9d: AND
00002e9e: PUSH1 0xe0
00002ea0: SHL
00002ea1: DUP2
00002ea2: MSTORE
00002ea3: PUSH1 0x04
00002ea5: ADD
00002ea6: PUSH1 0x20
00002ea8: PUSH1 0x40
00002eaa: MLOAD
00002eab: DUP1
00002eac: DUP4
00002ead: SUB
00002eae: DUP2
00002eaf: DUP7
00002eb0: GAS
00002eb1: STATICCALL
00002eb2: ISZERO
00002eb3: DUP1
00002eb4: ISZERO
00002eb5: PUSH2 0x2ec2
00002eb8: JUMPI
00002eb9: RETURNDATASIZE
00002eba: PUSH1 0x00
00002ebc: DUP1
00002ebd: RETURNDATACOPY
00002ebe: RETURNDATASIZE
00002ebf: PUSH1 0x00
00002ec1: REVERT
00002ec2: JUMPDEST
00002ec3: POP
00002ec4: POP
00002ec5: POP
00002ec6: POP
00002ec7: PUSH1 0x40
00002ec9: MLOAD
00002eca: RETURNDATASIZE
00002ecb: PUSH1 0x1f
00002ecd: NOT
00002ece: PUSH1 0x1f
00002ed0: DUP3
00002ed1: ADD
00002ed2: AND
00002ed3: DUP3
00002ed4: ADD
00002ed5: DUP1
00002ed6: PUSH1 0x40
00002ed8: MSTORE
00002ed9: POP
00002eda: DUP2
00002edb: ADD
00002edc: SWAP1
00002edd: PUSH2 0x2ee6
00002ee0: SWAP2
00002ee1: SWAP1
00002ee2: PUSH2 0x3d19
00002ee5: JUMP
00002ee6: JUMPDEST
00002ee7: PUSH2 0x2ef1
00002eea: SWAP1
00002eeb: PUSH1 0x0a
00002eed: PUSH2 0x3e5c
00002ef0: JUMP
00002ef1: JUMPDEST
00002ef2: DUP7
00002ef3: PUSH1 0x02
00002ef5: ADD
00002ef6: SLOAD
00002ef7: PUSH2 0x2f00
00002efa: SWAP2
00002efb: SWAP1
00002efc: PUSH2 0x3ba8
00002eff: JUMP
00002f00: JUMPDEST
00002f01: PUSH2 0x2f0a
00002f04: SWAP2
00002f05: SWAP1
00002f06: PUSH2 0x3bbf
00002f09: JUMP
00002f0a: JUMPDEST
00002f0b: PUSH2 0x2f14
00002f0e: SWAP1
00002f0f: DUP4
00002f10: PUSH2 0x3b95
00002f13: JUMP
00002f14: JUMPDEST
00002f15: SWAP1
00002f16: POP
00002f17: PUSH2 0x2f2b
00002f1a: DUP6
00002f1b: PUSH1 0x02
00002f1d: ADD
00002f1e: SLOAD
00002f1f: PUSH2 0x02ee
00002f22: PUSH3 0xffffff
00002f26: AND
00002f27: PUSH2 0x0c3a
00002f2a: JUMP
00002f2b: JUMPDEST
00002f2c: DUP6
00002f2d: PUSH1 0x06
00002f2f: ADD
00002f30: SLOAD
00002f31: LT
00002f32: PUSH2 0x2f67
00002f35: JUMPI
00002f36: PUSH1 0x40
00002f38: MLOAD
00002f39: PUSH32 0xedc54d1d00000000000000000000000000000000000000000000000000000000
00002f5a: DUP2
00002f5b: MSTORE
00002f5c: PUSH1 0x04
00002f5e: ADD
00002f5f: PUSH1 0x40
00002f61: MLOAD
00002f62: DUP1
00002f63: SWAP2
00002f64: SUB
00002f65: SWAP1
00002f66: REVERT
00002f67: JUMPDEST
00002f68: PUSH2 0x3085
00002f6b: JUMP
00002f6c: JUMPDEST
00002f6d: DUP5
00002f6e: PUSH1 0x01
00002f70: ADD
00002f71: PUSH1 0x00
00002f73: SWAP1
00002f74: SLOAD
00002f75: SWAP1
00002f76: PUSH2 0x0100
00002f79: EXP
00002f7a: SWAP1
00002f7b: DIV
00002f7c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002f91: AND
00002f92: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002fa7: AND
00002fa8: PUSH4 0x313ce567
00002fad: PUSH1 0x40
00002faf: MLOAD
00002fb0: DUP2
00002fb1: PUSH4 0xffffffff
00002fb6: AND
00002fb7: PUSH1 0xe0
00002fb9: SHL
00002fba: DUP2
00002fbb: MSTORE
00002fbc: PUSH1 0x04
00002fbe: ADD
00002fbf: PUSH1 0x20
00002fc1: PUSH1 0x40
00002fc3: MLOAD
00002fc4: DUP1
00002fc5: DUP4
00002fc6: SUB
00002fc7: DUP2
00002fc8: DUP7
00002fc9: GAS
00002fca: STATICCALL
00002fcb: ISZERO
00002fcc: DUP1
00002fcd: ISZERO
00002fce: PUSH2 0x2fdb
00002fd1: JUMPI
00002fd2: RETURNDATASIZE
00002fd3: PUSH1 0x00
00002fd5: DUP1
00002fd6: RETURNDATACOPY
00002fd7: RETURNDATASIZE
00002fd8: PUSH1 0x00
00002fda: REVERT
00002fdb: JUMPDEST
00002fdc: POP
00002fdd: POP
00002fde: POP
00002fdf: POP
00002fe0: PUSH1 0x40
00002fe2: MLOAD
00002fe3: RETURNDATASIZE
00002fe4: PUSH1 0x1f
00002fe6: NOT
00002fe7: PUSH1 0x1f
00002fe9: DUP3
00002fea: ADD
00002feb: AND
00002fec: DUP3
00002fed: ADD
00002fee: DUP1
00002fef: PUSH1 0x40
00002ff1: MSTORE
00002ff2: POP
00002ff3: DUP2
00002ff4: ADD
00002ff5: SWAP1
00002ff6: PUSH2 0x2fff
00002ff9: SWAP2
00002ffa: SWAP1
00002ffb: PUSH2 0x3d19
00002ffe: JUMP
00002fff: JUMPDEST
00003000: PUSH2 0x300a
00003003: SWAP1
00003004: PUSH1 0x0a
00003006: PUSH2 0x3e5c
00003009: JUMP
0000300a: JUMPDEST
0000300b: DUP6
0000300c: PUSH1 0x05
0000300e: ADD
0000300f: SLOAD
00003010: DUP7
00003011: PUSH1 0x02
00003013: ADD
00003014: SLOAD
00003015: PUSH2 0x301e
00003018: SWAP2
00003019: SWAP1
0000301a: PUSH2 0x3ba8
0000301d: JUMP
0000301e: JUMPDEST
0000301f: PUSH2 0x3028
00003022: SWAP2
00003023: SWAP1
00003024: PUSH2 0x3bbf
00003027: JUMP
00003028: JUMPDEST
00003029: PUSH2 0x3032
0000302c: SWAP1
0000302d: DUP4
0000302e: PUSH2 0x3b95
00003031: JUMP
00003032: JUMPDEST
00003033: SWAP1
00003034: POP
00003035: PUSH2 0x3049
00003038: PUSH2 0x3041
0000303b: DUP3
0000303c: DUP5
0000303d: PUSH2 0x3b95
00003040: JUMP
00003041: JUMPDEST
00003042: PUSH2 0x02ee
00003045: PUSH2 0x0c3a
00003048: JUMP
00003049: JUMPDEST
0000304a: DUP6
0000304b: PUSH1 0x06
0000304d: ADD
0000304e: SLOAD
0000304f: LT
00003050: PUSH2 0x3085
00003053: JUMPI
00003054: PUSH1 0x40
00003056: MLOAD
00003057: PUSH32 0xedc54d1d00000000000000000000000000000000000000000000000000000000
00003078: DUP2
00003079: MSTORE
0000307a: PUSH1 0x04
0000307c: ADD
0000307d: PUSH1 0x40
0000307f: MLOAD
00003080: DUP1
00003081: SWAP2
00003082: SUB
00003083: SWAP1
00003084: REVERT
00003085: JUMPDEST
00003086: PUSH2 0x308f
00003089: DUP2
0000308a: DUP4
0000308b: PUSH2 0x3b95
0000308e: JUMP
0000308f: JUMPDEST
00003090: PUSH1 0x04
00003092: DUP1
00003093: DUP8
00003094: ADD
00003095: SWAP2
00003096: SWAP1
00003097: SWAP2
00003098: SSTORE
00003099: PUSH1 0x03
0000309b: DUP7
0000309c: ADD
0000309d: SLOAD
0000309e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000030b3: SWAP1
000030b4: DUP2
000030b5: AND
000030b6: PUSH1 0x00
000030b8: SWAP1
000030b9: DUP2
000030ba: MSTORE
000030bb: PUSH1 0x20
000030bd: SWAP3
000030be: DUP4
000030bf: MSTORE
000030c0: PUSH1 0x40
000030c2: DUP1
000030c3: DUP3
000030c4: KECCAK256
000030c5: PUSH1 0x0d
000030c7: SLOAD
000030c8: SWAP1
000030c9: SWAP4
000030ca: AND
000030cb: DUP3
000030cc: MSTORE
000030cd: SWAP2
000030ce: SWAP1
000030cf: SWAP3
000030d0: MSTORE
000030d1: SWAP1
000030d2: KECCAK256
000030d3: SLOAD
000030d4: PUSH2 0x30de
000030d7: SWAP1
000030d8: DUP3
000030d9: SWAP1
000030da: PUSH2 0x3cb5
000030dd: JUMP
000030de: JUMPDEST
000030df: PUSH1 0x03
000030e1: DUP7
000030e2: ADD
000030e3: SLOAD
000030e4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000030f9: SWAP1
000030fa: DUP2
000030fb: AND
000030fc: PUSH1 0x00
000030fe: SWAP1
000030ff: DUP2
00003100: MSTORE
00003101: PUSH1 0x04
00003103: PUSH1 0x20
00003105: SWAP1
00003106: DUP2
00003107: MSTORE
00003108: PUSH1 0x40
0000310a: DUP1
0000310b: DUP4
0000310c: KECCAK256
0000310d: PUSH1 0x0d
0000310f: SLOAD
00003110: SWAP1
00003111: SWAP5
00003112: AND
00003113: DUP4
00003114: MSTORE
00003115: SWAP3
00003116: SWAP1
00003117: MSTORE
00003118: KECCAK256
00003119: SSTORE
0000311a: POP
0000311b: PUSH2 0x191f
0000311e: SWAP3
0000311f: POP
00003120: POP
00003121: POP
00003122: JUMP
00003123: JUMPDEST
00003124: PUSH1 0x01
00003126: DUP2
00003127: ADD
00003128: SLOAD
00003129: PUSH1 0x03
0000312b: DUP3
0000312c: ADD
0000312d: DUP1
0000312e: SLOAD
0000312f: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00003150: AND
00003151: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003166: SWAP1
00003167: SWAP3
00003168: AND
00003169: SWAP2
0000316a: SWAP1
0000316b: SWAP2
0000316c: OR
0000316d: SWAP1
0000316e: SSTORE
0000316f: PUSH1 0x02
00003171: DUP2
00003172: ADD
00003173: SLOAD
00003174: PUSH1 0x04
00003176: DUP3
00003177: ADD
00003178: SSTORE
00003179: POP
0000317a: POP
0000317b: POP
0000317c: POP
0000317d: JUMP
0000317e: JUMPDEST
0000317f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003194: DUP1
00003195: DUP6
00003196: AND
00003197: PUSH1 0x00
00003199: SWAP1
0000319a: DUP2
0000319b: MSTORE
0000319c: PUSH1 0x04
0000319e: PUSH1 0x20
000031a0: SWAP1
000031a1: DUP2
000031a2: MSTORE
000031a3: PUSH1 0x40
000031a5: DUP1
000031a6: DUP4
000031a7: KECCAK256
000031a8: SWAP4
000031a9: DUP8
000031aa: AND
000031ab: DUP4
000031ac: MSTORE
000031ad: SWAP3
000031ae: SWAP1
000031af: MSTORE
000031b0: KECCAK256
000031b1: SLOAD
000031b2: PUSH2 0x31bc
000031b5: SWAP1
000031b6: DUP3
000031b7: SWAP1
000031b8: PUSH2 0x3b95
000031bb: JUMP
000031bc: JUMPDEST
000031bd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000031d2: DUP6
000031d3: DUP2
000031d4: AND
000031d5: PUSH1 0x00
000031d7: SWAP1
000031d8: DUP2
000031d9: MSTORE
000031da: PUSH1 0x04
000031dc: PUSH1 0x20
000031de: SWAP1
000031df: DUP2
000031e0: MSTORE
000031e1: PUSH1 0x40
000031e3: DUP1
000031e4: DUP4
000031e5: KECCAK256
000031e6: DUP9
000031e7: DUP6
000031e8: AND
000031e9: DUP5
000031ea: MSTORE
000031eb: SWAP1
000031ec: SWAP2
000031ed: MSTORE
000031ee: DUP1
000031ef: DUP3
000031f0: KECCAK256
000031f1: SWAP4
000031f2: SWAP1
000031f3: SWAP4
000031f4: SSTORE
000031f5: SWAP1
000031f6: DUP5
000031f7: AND
000031f8: DUP2
000031f9: MSTORE
000031fa: KECCAK256
000031fb: SLOAD
000031fc: PUSH2 0x3206
000031ff: SWAP1
00003200: DUP3
00003201: SWAP1
00003202: PUSH2 0x3cb5
00003205: JUMP
00003206: JUMPDEST
00003207: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000321c: SWAP5
0000321d: DUP6
0000321e: AND
0000321f: PUSH1 0x00
00003221: SWAP1
00003222: DUP2
00003223: MSTORE
00003224: PUSH1 0x04
00003226: PUSH1 0x20
00003228: SWAP1
00003229: DUP2
0000322a: MSTORE
0000322b: PUSH1 0x40
0000322d: DUP1
0000322e: DUP4
0000322f: KECCAK256
00003230: SWAP6
00003231: SWAP1
00003232: SWAP8
00003233: AND
00003234: DUP3
00003235: MSTORE
00003236: SWAP4
00003237: SWAP1
00003238: SWAP4
00003239: MSTORE
0000323a: SWAP4
0000323b: SWAP1
0000323c: SWAP2
0000323d: KECCAK256
0000323e: SWAP3
0000323f: SWAP1
00003240: SWAP3
00003241: SSTORE
00003242: POP
00003243: POP
00003244: JUMP
00003245: JUMPDEST
00003246: DUP2
00003247: SLOAD
00003248: PUSH1 0x00
0000324a: SWAP1
0000324b: DUP2
0000324c: JUMPDEST
0000324d: DUP2
0000324e: DUP2
0000324f: LT
00003250: ISZERO
00003251: PUSH2 0x3482
00003254: JUMPI
00003255: DUP4
00003256: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000326b: AND
0000326c: DUP6
0000326d: DUP3
0000326e: DUP2
0000326f: SLOAD
00003270: DUP2
00003271: LT
00003272: PUSH2 0x327d
00003275: JUMPI
00003276: PUSH2 0x327d
00003279: PUSH2 0x3c69
0000327c: JUMP
0000327d: JUMPDEST
0000327e: PUSH1 0x00
00003280: SWAP2
00003281: DUP3
00003282: MSTORE
00003283: PUSH1 0x20
00003285: SWAP1
00003286: SWAP2
00003287: KECCAK256
00003288: ADD
00003289: SLOAD
0000328a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000329f: AND
000032a0: SUB
000032a1: PUSH2 0x3470
000032a4: JUMPI
000032a5: DUP5
000032a6: SLOAD
000032a7: PUSH1 0x00
000032a9: SWAP1
000032aa: PUSH2 0x32b5
000032ad: SWAP1
000032ae: PUSH1 0x01
000032b0: SWAP1
000032b1: PUSH2 0x3b95
000032b4: JUMP
000032b5: JUMPDEST
000032b6: SWAP1
000032b7: POP
000032b8: DUP1
000032b9: DUP3
000032ba: EQ
000032bb: PUSH2 0x3356
000032be: JUMPI
000032bf: DUP6
000032c0: DUP2
000032c1: DUP2
000032c2: SLOAD
000032c3: DUP2
000032c4: LT
000032c5: PUSH2 0x32d0
000032c8: JUMPI
000032c9: PUSH2 0x32d0
000032cc: PUSH2 0x3c69
000032cf: JUMP
000032d0: JUMPDEST
000032d1: SWAP1
000032d2: PUSH1 0x00
000032d4: MSTORE
000032d5: PUSH1 0x20
000032d7: PUSH1 0x00
000032d9: KECCAK256
000032da: ADD
000032db: PUSH1 0x00
000032dd: SWAP1
000032de: SLOAD
000032df: SWAP1
000032e0: PUSH2 0x0100
000032e3: EXP
000032e4: SWAP1
000032e5: DIV
000032e6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000032fb: AND
000032fc: DUP7
000032fd: DUP4
000032fe: DUP2
000032ff: SLOAD
00003300: DUP2
00003301: LT
00003302: PUSH2 0x330d
00003305: JUMPI
00003306: PUSH2 0x330d
00003309: PUSH2 0x3c69
0000330c: JUMP
0000330d: JUMPDEST
0000330e: SWAP1
0000330f: PUSH1 0x00
00003311: MSTORE
00003312: PUSH1 0x20
00003314: PUSH1 0x00
00003316: KECCAK256
00003317: ADD
00003318: PUSH1 0x00
0000331a: PUSH2 0x0100
0000331d: EXP
0000331e: DUP2
0000331f: SLOAD
00003320: DUP2
00003321: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003336: MUL
00003337: NOT
00003338: AND
00003339: SWAP1
0000333a: DUP4
0000333b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003350: AND
00003351: MUL
00003352: OR
00003353: SWAP1
00003354: SSTORE
00003355: POP
00003356: JUMPDEST
00003357: DUP6
00003358: SLOAD
00003359: DUP7
0000335a: SWAP1
0000335b: PUSH2 0x3366
0000335e: SWAP1
0000335f: PUSH1 0x01
00003361: SWAP1
00003362: PUSH2 0x3b95
00003365: JUMP
00003366: JUMPDEST
00003367: DUP2
00003368: SLOAD
00003369: DUP2
0000336a: LT
0000336b: PUSH2 0x3376
0000336e: JUMPI
0000336f: PUSH2 0x3376
00003372: PUSH2 0x3c69
00003375: JUMP
00003376: JUMPDEST
00003377: SWAP1
00003378: PUSH1 0x00
0000337a: MSTORE
0000337b: PUSH1 0x20
0000337d: PUSH1 0x00
0000337f: KECCAK256
00003380: ADD
00003381: PUSH1 0x00
00003383: SWAP1
00003384: SLOAD
00003385: SWAP1
00003386: PUSH2 0x0100
00003389: EXP
0000338a: SWAP1
0000338b: DIV
0000338c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000033a1: AND
000033a2: DUP7
000033a3: DUP3
000033a4: DUP2
000033a5: SLOAD
000033a6: DUP2
000033a7: LT
000033a8: PUSH2 0x33b3
000033ab: JUMPI
000033ac: PUSH2 0x33b3
000033af: PUSH2 0x3c69
000033b2: JUMP
000033b3: JUMPDEST
000033b4: SWAP1
000033b5: PUSH1 0x00
000033b7: MSTORE
000033b8: PUSH1 0x20
000033ba: PUSH1 0x00
000033bc: KECCAK256
000033bd: ADD
000033be: PUSH1 0x00
000033c0: PUSH2 0x0100
000033c3: EXP
000033c4: DUP2
000033c5: SLOAD
000033c6: DUP2
000033c7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000033dc: MUL
000033dd: NOT
000033de: AND
000033df: SWAP1
000033e0: DUP4
000033e1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000033f6: AND
000033f7: MUL
000033f8: OR
000033f9: SWAP1
000033fa: SSTORE
000033fb: POP
000033fc: DUP6
000033fd: DUP1
000033fe: SLOAD
000033ff: DUP1
00003400: PUSH2 0x340b
00003403: JUMPI
00003404: PUSH2 0x340b
00003407: PUSH2 0x3e6b
0000340a: JUMP
0000340b: JUMPDEST
0000340c: PUSH1 0x00
0000340e: DUP3
0000340f: DUP2
00003410: MSTORE
00003411: PUSH1 0x20
00003413: SWAP1
00003414: KECCAK256
00003415: DUP2
00003416: ADD
00003417: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00003438: SWAP1
00003439: DUP2
0000343a: ADD
0000343b: DUP1
0000343c: SLOAD
0000343d: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
0000345e: AND
0000345f: SWAP1
00003460: SSTORE
00003461: ADD
00003462: SWAP1
00003463: SSTORE
00003464: POP
00003465: PUSH1 0x01
00003467: SWAP3
00003468: POP
00003469: PUSH2 0x0c56
0000346c: SWAP2
0000346d: POP
0000346e: POP
0000346f: JUMP
00003470: JUMPDEST
00003471: DUP1
00003472: PUSH2 0x347a
00003475: DUP2
00003476: PUSH2 0x3ce1
00003479: JUMP
0000347a: JUMPDEST
0000347b: SWAP2
0000347c: POP
0000347d: POP
0000347e: PUSH2 0x324c
00003481: JUMP
00003482: JUMPDEST
00003483: POP
00003484: POP
00003485: SWAP3
00003486: SWAP2
00003487: POP
00003488: POP
00003489: JUMP
0000348a: JUMPDEST
0000348b: PUSH1 0x40
0000348d: MLOAD
0000348e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000034a3: DUP5
000034a4: DUP2
000034a5: AND
000034a6: PUSH1 0x24
000034a8: DUP4
000034a9: ADD
000034aa: MSTORE
000034ab: DUP4
000034ac: DUP2
000034ad: AND
000034ae: PUSH1 0x44
000034b0: DUP4
000034b1: ADD
000034b2: MSTORE
000034b3: PUSH1 0x64
000034b5: DUP3
000034b6: ADD
000034b7: DUP4
000034b8: SWAP1
000034b9: MSTORE
000034ba: PUSH2 0x191f
000034bd: SWAP2
000034be: DUP7
000034bf: SWAP2
000034c0: DUP3
000034c1: AND
000034c2: SWAP1
000034c3: PUSH4 0x23b872dd
000034c8: SWAP1
000034c9: PUSH1 0x84
000034cb: ADD
000034cc: PUSH2 0x2b07
000034cf: JUMP
000034d0: JUMPDEST
000034d1: PUSH1 0x00
000034d3: PUSH2 0x34f2
000034d6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000034eb: DUP5
000034ec: AND
000034ed: DUP4
000034ee: PUSH2 0x362d
000034f1: JUMP
000034f2: JUMPDEST
000034f3: SWAP1
000034f4: POP
000034f5: DUP1
000034f6: MLOAD
000034f7: PUSH1 0x00
000034f9: EQ
000034fa: ISZERO
000034fb: DUP1
000034fc: ISZERO
000034fd: PUSH2 0x3517
00003500: JUMPI
00003501: POP
00003502: DUP1
00003503: DUP1
00003504: PUSH1 0x20
00003506: ADD
00003507: SWAP1
00003508: MLOAD
00003509: DUP2
0000350a: ADD
0000350b: SWAP1
0000350c: PUSH2 0x3515
0000350f: SWAP2
00003510: SWAP1
00003511: PUSH2 0x3e9a
00003514: JUMP
00003515: JUMPDEST
00003516: ISZERO
00003517: JUMPDEST
00003518: ISZERO
00003519: PUSH2 0x177f
0000351c: JUMPI
0000351d: PUSH1 0x40
0000351f: MLOAD
00003520: PUSH32 0x5274afe700000000000000000000000000000000000000000000000000000000
00003541: DUP2
00003542: MSTORE
00003543: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003558: DUP5
00003559: AND
0000355a: PUSH1 0x04
0000355c: DUP3
0000355d: ADD
0000355e: MSTORE
0000355f: PUSH1 0x24
00003561: ADD
00003562: JUMPDEST
00003563: PUSH1 0x40
00003565: MLOAD
00003566: DUP1
00003567: SWAP2
00003568: SUB
00003569: SWAP1
0000356a: REVERT
0000356b: JUMPDEST
0000356c: PUSH1 0x00
0000356e: DUP1
0000356f: PUSH1 0x00
00003571: DUP5
00003572: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003587: AND
00003588: DUP5
00003589: PUSH1 0x40
0000358b: MLOAD
0000358c: PUSH2 0x3595
0000358f: SWAP2
00003590: SWAP1
00003591: PUSH2 0x3eb7
00003594: JUMP
00003595: JUMPDEST
00003596: PUSH1 0x00
00003598: PUSH1 0x40
0000359a: MLOAD
0000359b: DUP1
0000359c: DUP4
0000359d: SUB
0000359e: DUP2
0000359f: PUSH1 0x00
000035a1: DUP7
000035a2: GAS
000035a3: CALL
000035a4: SWAP2
000035a5: POP
000035a6: POP
000035a7: RETURNDATASIZE
000035a8: DUP1
000035a9: PUSH1 0x00
000035ab: DUP2
000035ac: EQ
000035ad: PUSH2 0x35d2
000035b0: JUMPI
000035b1: PUSH1 0x40
000035b3: MLOAD
000035b4: SWAP2
000035b5: POP
000035b6: PUSH1 0x1f
000035b8: NOT
000035b9: PUSH1 0x3f
000035bb: RETURNDATASIZE
000035bc: ADD
000035bd: AND
000035be: DUP3
000035bf: ADD
000035c0: PUSH1 0x40
000035c2: MSTORE
000035c3: RETURNDATASIZE
000035c4: DUP3
000035c5: MSTORE
000035c6: RETURNDATASIZE
000035c7: PUSH1 0x00
000035c9: PUSH1 0x20
000035cb: DUP5
000035cc: ADD
000035cd: RETURNDATACOPY
000035ce: PUSH2 0x35d7
000035d1: JUMP
000035d2: JUMPDEST
000035d3: PUSH1 0x60
000035d5: SWAP2
000035d6: POP
000035d7: JUMPDEST
000035d8: POP
000035d9: SWAP2
000035da: POP
000035db: SWAP2
000035dc: POP
000035dd: DUP2
000035de: DUP1
000035df: ISZERO
000035e0: PUSH2 0x3601
000035e3: JUMPI
000035e4: POP
000035e5: DUP1
000035e6: MLOAD
000035e7: ISZERO
000035e8: DUP1
000035e9: PUSH2 0x3601
000035ec: JUMPI
000035ed: POP
000035ee: DUP1
000035ef: DUP1
000035f0: PUSH1 0x20
000035f2: ADD
000035f3: SWAP1
000035f4: MLOAD
000035f5: DUP2
000035f6: ADD
000035f7: SWAP1
000035f8: PUSH2 0x3601
000035fb: SWAP2
000035fc: SWAP1
000035fd: PUSH2 0x3e9a
00003600: JUMP
00003601: JUMPDEST
00003602: DUP1
00003603: ISZERO
00003604: PUSH2 0x3624
00003607: JUMPI
00003608: POP
00003609: PUSH1 0x00
0000360b: DUP6
0000360c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003621: AND
00003622: EXTCODESIZE
00003623: GT
00003624: JUMPDEST
00003625: SWAP6
00003626: SWAP5
00003627: POP
00003628: POP
00003629: POP
0000362a: POP
0000362b: POP
0000362c: JUMP
0000362d: JUMPDEST
0000362e: PUSH1 0x60
00003630: PUSH2 0x0c53
00003633: DUP4
00003634: DUP4
00003635: PUSH1 0x00
00003637: DUP5
00003638: PUSH1 0x00
0000363a: DUP1
0000363b: DUP6
0000363c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003651: AND
00003652: DUP5
00003653: DUP7
00003654: PUSH1 0x40
00003656: MLOAD
00003657: PUSH2 0x3660
0000365a: SWAP2
0000365b: SWAP1
0000365c: PUSH2 0x3eb7
0000365f: JUMP
00003660: JUMPDEST
00003661: PUSH1 0x00
00003663: PUSH1 0x40
00003665: MLOAD
00003666: DUP1
00003667: DUP4
00003668: SUB
00003669: DUP2
0000366a: DUP6
0000366b: DUP8
0000366c: GAS
0000366d: CALL
0000366e: SWAP3
0000366f: POP
00003670: POP
00003671: POP
00003672: RETURNDATASIZE
00003673: DUP1
00003674: PUSH1 0x00
00003676: DUP2
00003677: EQ
00003678: PUSH2 0x369d
0000367b: JUMPI
0000367c: PUSH1 0x40
0000367e: MLOAD
0000367f: SWAP2
00003680: POP
00003681: PUSH1 0x1f
00003683: NOT
00003684: PUSH1 0x3f
00003686: RETURNDATASIZE
00003687: ADD
00003688: AND
00003689: DUP3
0000368a: ADD
0000368b: PUSH1 0x40
0000368d: MSTORE
0000368e: RETURNDATASIZE
0000368f: DUP3
00003690: MSTORE
00003691: RETURNDATASIZE
00003692: PUSH1 0x00
00003694: PUSH1 0x20
00003696: DUP5
00003697: ADD
00003698: RETURNDATACOPY
00003699: PUSH2 0x36a2
0000369c: JUMP
0000369d: JUMPDEST
0000369e: PUSH1 0x60
000036a0: SWAP2
000036a1: POP
000036a2: JUMPDEST
000036a3: POP
000036a4: SWAP2
000036a5: POP
000036a6: SWAP2
000036a7: POP
000036a8: PUSH2 0x36b2
000036ab: DUP7
000036ac: DUP4
000036ad: DUP4
000036ae: PUSH2 0x36bc
000036b1: JUMP
000036b2: JUMPDEST
000036b3: SWAP7
000036b4: SWAP6
000036b5: POP
000036b6: POP
000036b7: POP
000036b8: POP
000036b9: POP
000036ba: POP
000036bb: JUMP
000036bc: JUMPDEST
000036bd: PUSH1 0x60
000036bf: DUP3
000036c0: PUSH2 0x36d1
000036c3: JUMPI
000036c4: PUSH2 0x36cc
000036c7: DUP3
000036c8: PUSH2 0x374b
000036cb: JUMP
000036cc: JUMPDEST
000036cd: PUSH2 0x2517
000036d0: JUMP
000036d1: JUMPDEST
000036d2: DUP2
000036d3: MLOAD
000036d4: ISZERO
000036d5: DUP1
000036d6: ISZERO
000036d7: PUSH2 0x36f5
000036da: JUMPI
000036db: POP
000036dc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000036f1: DUP5
000036f2: AND
000036f3: EXTCODESIZE
000036f4: ISZERO
000036f5: JUMPDEST
000036f6: ISZERO
000036f7: PUSH2 0x3744
000036fa: JUMPI
000036fb: PUSH1 0x40
000036fd: MLOAD
000036fe: PUSH32 0x9996b31500000000000000000000000000000000000000000000000000000000
0000371f: DUP2
00003720: MSTORE
00003721: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003736: DUP6
00003737: AND
00003738: PUSH1 0x04
0000373a: DUP3
0000373b: ADD
0000373c: MSTORE
0000373d: PUSH1 0x24
0000373f: ADD
00003740: PUSH2 0x3562
00003743: JUMP
00003744: JUMPDEST
00003745: POP
00003746: DUP1
00003747: PUSH2 0x2517
0000374a: JUMP
0000374b: JUMPDEST
0000374c: DUP1
0000374d: MLOAD
0000374e: ISZERO
0000374f: PUSH2 0x375b
00003752: JUMPI
00003753: DUP1
00003754: MLOAD
00003755: DUP1
00003756: DUP3
00003757: PUSH1 0x20
00003759: ADD
0000375a: REVERT
0000375b: JUMPDEST
0000375c: PUSH1 0x40
0000375e: MLOAD
0000375f: PUSH32 0x1425ea4200000000000000000000000000000000000000000000000000000000
00003780: DUP2
00003781: MSTORE
00003782: PUSH1 0x04
00003784: ADD
00003785: PUSH1 0x40
00003787: MLOAD
00003788: DUP1
00003789: SWAP2
0000378a: SUB
0000378b: SWAP1
0000378c: REVERT
0000378d: JUMPDEST
0000378e: POP
0000378f: JUMP
00003790: JUMPDEST
00003791: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000037a6: DUP2
000037a7: AND
000037a8: DUP2
000037a9: EQ
000037aa: PUSH2 0x378d
000037ad: JUMPI
000037ae: PUSH1 0x00
000037b0: DUP1
000037b1: REVERT
000037b2: JUMPDEST
000037b3: DUP1
000037b4: CALLDATALOAD
000037b5: PUSH2 0x37bd
000037b8: DUP2
000037b9: PUSH2 0x3790
000037bc: JUMP
000037bd: JUMPDEST
000037be: SWAP2
000037bf: SWAP1
000037c0: POP
000037c1: JUMP
000037c2: JUMPDEST
000037c3: PUSH1 0x00
000037c5: PUSH1 0x20
000037c7: DUP3
000037c8: DUP5
000037c9: SUB
000037ca: SLT
000037cb: ISZERO
000037cc: PUSH2 0x37d4
000037cf: JUMPI
000037d0: PUSH1 0x00
000037d2: DUP1
000037d3: REVERT
000037d4: JUMPDEST
000037d5: DUP2
000037d6: CALLDATALOAD
000037d7: PUSH2 0x2517
000037da: DUP2
000037db: PUSH2 0x3790
000037de: JUMP
000037df: JUMPDEST
000037e0: PUSH1 0x00
000037e2: DUP1
000037e3: PUSH1 0x40
000037e5: DUP4
000037e6: DUP6
000037e7: SUB
000037e8: SLT
000037e9: ISZERO
000037ea: PUSH2 0x37f2
000037ed: JUMPI
000037ee: PUSH1 0x00
000037f0: DUP1
000037f1: REVERT
000037f2: JUMPDEST
000037f3: DUP3
000037f4: CALLDATALOAD
000037f5: PUSH2 0x37fd
000037f8: DUP2
000037f9: PUSH2 0x3790
000037fc: JUMP
000037fd: JUMPDEST
000037fe: SWAP5
000037ff: PUSH1 0x20
00003801: SWAP4
00003802: SWAP1
00003803: SWAP4
00003804: ADD
00003805: CALLDATALOAD
00003806: SWAP4
00003807: POP
00003808: POP
00003809: POP
0000380a: JUMP
0000380b: JUMPDEST
0000380c: PUSH1 0x00
0000380e: DUP1
0000380f: PUSH1 0x40
00003811: DUP4
00003812: DUP6
00003813: SUB
00003814: SLT
00003815: ISZERO
00003816: PUSH2 0x381e
00003819: JUMPI
0000381a: PUSH1 0x00
0000381c: DUP1
0000381d: REVERT
0000381e: JUMPDEST
0000381f: DUP3
00003820: CALLDATALOAD
00003821: PUSH2 0x3829
00003824: DUP2
00003825: PUSH2 0x3790
00003828: JUMP
00003829: JUMPDEST
0000382a: SWAP2
0000382b: POP
0000382c: PUSH1 0x20
0000382e: DUP4
0000382f: ADD
00003830: CALLDATALOAD
00003831: PUSH2 0x3839
00003834: DUP2
00003835: PUSH2 0x3790
00003838: JUMP
00003839: JUMPDEST
0000383a: DUP1
0000383b: SWAP2
0000383c: POP
0000383d: POP
0000383e: SWAP3
0000383f: POP
00003840: SWAP3
00003841: SWAP1
00003842: POP
00003843: JUMP
00003844: JUMPDEST
00003845: PUSH1 0x00
00003847: DUP1
00003848: PUSH1 0x40
0000384a: DUP4
0000384b: DUP6
0000384c: SUB
0000384d: SLT
0000384e: ISZERO
0000384f: PUSH2 0x3857
00003852: JUMPI
00003853: PUSH1 0x00
00003855: DUP1
00003856: REVERT
00003857: JUMPDEST
00003858: POP
00003859: POP
0000385a: DUP1
0000385b: CALLDATALOAD
0000385c: SWAP3
0000385d: PUSH1 0x20
0000385f: SWAP1
00003860: SWAP2
00003861: ADD
00003862: CALLDATALOAD
00003863: SWAP2
00003864: POP
00003865: JUMP
00003866: JUMPDEST
00003867: DUP1
00003868: ISZERO
00003869: ISZERO
0000386a: DUP2
0000386b: EQ
0000386c: PUSH2 0x378d
0000386f: JUMPI
00003870: PUSH1 0x00
00003872: DUP1
00003873: REVERT
00003874: JUMPDEST
00003875: DUP1
00003876: CALLDATALOAD
00003877: PUSH2 0x37bd
0000387a: DUP2
0000387b: PUSH2 0x3866
0000387e: JUMP
0000387f: JUMPDEST
00003880: PUSH1 0x00
00003882: DUP1
00003883: PUSH1 0x00
00003885: DUP1
00003886: PUSH1 0x00
00003888: PUSH1 0x80
0000388a: DUP7
0000388b: DUP9
0000388c: SUB
0000388d: SLT
0000388e: ISZERO
0000388f: PUSH2 0x3897
00003892: JUMPI
00003893: PUSH1 0x00
00003895: DUP1
00003896: REVERT
00003897: JUMPDEST
00003898: DUP6
00003899: CALLDATALOAD
0000389a: PUSH8 0xffffffffffffffff
000038a3: DUP1
000038a4: DUP3
000038a5: GT
000038a6: ISZERO
000038a7: PUSH2 0x38af
000038aa: JUMPI
000038ab: PUSH1 0x00
000038ad: DUP1
000038ae: REVERT
000038af: JUMPDEST
000038b0: SWAP1
000038b1: DUP8
000038b2: ADD
000038b3: SWAP1
000038b4: PUSH1 0x60
000038b6: DUP3
000038b7: DUP11
000038b8: SUB
000038b9: SLT
000038ba: ISZERO
000038bb: PUSH2 0x38c3
000038be: JUMPI
000038bf: PUSH1 0x00
000038c1: DUP1
000038c2: REVERT
000038c3: JUMPDEST
000038c4: SWAP1
000038c5: SWAP6
000038c6: POP
000038c7: PUSH1 0x20
000038c9: DUP8
000038ca: ADD
000038cb: CALLDATALOAD
000038cc: SWAP1
000038cd: DUP1
000038ce: DUP3
000038cf: GT
000038d0: ISZERO
000038d1: PUSH2 0x38d9
000038d4: JUMPI
000038d5: PUSH1 0x00
000038d7: DUP1
000038d8: REVERT
000038d9: JUMPDEST
000038da: DUP2
000038db: DUP9
000038dc: ADD
000038dd: SWAP2
000038de: POP
000038df: DUP9
000038e0: PUSH1 0x1f
000038e2: DUP4
000038e3: ADD
000038e4: SLT
000038e5: PUSH2 0x38ed
000038e8: JUMPI
000038e9: PUSH1 0x00
000038eb: DUP1
000038ec: REVERT
000038ed: JUMPDEST
000038ee: DUP2
000038ef: CALLDATALOAD
000038f0: DUP2
000038f1: DUP2
000038f2: GT
000038f3: ISZERO
000038f4: PUSH2 0x38fc
000038f7: JUMPI
000038f8: PUSH1 0x00
000038fa: DUP1
000038fb: REVERT
000038fc: JUMPDEST
000038fd: DUP10
000038fe: PUSH1 0x20
00003900: DUP3
00003901: PUSH1 0x05
00003903: SHL
00003904: DUP6
00003905: ADD
00003906: ADD
00003907: GT
00003908: ISZERO
00003909: PUSH2 0x3911
0000390c: JUMPI
0000390d: PUSH1 0x00
0000390f: DUP1
00003910: REVERT
00003911: JUMPDEST
00003912: PUSH1 0x20
00003914: DUP4
00003915: ADD
00003916: SWAP7
00003917: POP
00003918: DUP1
00003919: SWAP6
0000391a: POP
0000391b: POP
0000391c: POP
0000391d: POP
0000391e: PUSH2 0x3929
00003921: PUSH1 0x40
00003923: DUP8
00003924: ADD
00003925: PUSH2 0x3874
00003928: JUMP
00003929: JUMPDEST
0000392a: SWAP2
0000392b: POP
0000392c: PUSH2 0x3937
0000392f: PUSH1 0x60
00003931: DUP8
00003932: ADD
00003933: PUSH2 0x37b2
00003936: JUMP
00003937: JUMPDEST
00003938: SWAP1
00003939: POP
0000393a: SWAP3
0000393b: SWAP6
0000393c: POP
0000393d: SWAP3
0000393e: SWAP6
0000393f: SWAP1
00003940: SWAP4
00003941: POP
00003942: JUMP
00003943: JUMPDEST
00003944: PUSH1 0x00
00003946: DUP1
00003947: PUSH1 0x00
00003949: PUSH1 0x60
0000394b: DUP5
0000394c: DUP7
0000394d: SUB
0000394e: SLT
0000394f: ISZERO
00003950: PUSH2 0x3958
00003953: JUMPI
00003954: PUSH1 0x00
00003956: DUP1
00003957: REVERT
00003958: JUMPDEST
00003959: DUP4
0000395a: CALLDATALOAD
0000395b: PUSH2 0x3963
0000395e: DUP2
0000395f: PUSH2 0x3790
00003962: JUMP
00003963: JUMPDEST
00003964: SWAP3
00003965: POP
00003966: PUSH1 0x20
00003968: DUP5
00003969: ADD
0000396a: CALLDATALOAD
0000396b: PUSH2 0x3973
0000396e: DUP2
0000396f: PUSH2 0x3790
00003972: JUMP
00003973: JUMPDEST
00003974: SWAP3
00003975: SWAP6
00003976: SWAP3
00003977: SWAP5
00003978: POP
00003979: POP
0000397a: POP
0000397b: PUSH1 0x40
0000397d: SWAP2
0000397e: SWAP1
0000397f: SWAP2
00003980: ADD
00003981: CALLDATALOAD
00003982: SWAP1
00003983: JUMP
00003984: JUMPDEST
00003985: PUSH1 0x00
00003987: DUP1
00003988: PUSH1 0x00
0000398a: DUP1
0000398b: PUSH1 0x80
0000398d: DUP6
0000398e: DUP8
0000398f: SUB
00003990: SLT
00003991: ISZERO
00003992: PUSH2 0x399a
00003995: JUMPI
00003996: PUSH1 0x00
00003998: DUP1
00003999: REVERT
0000399a: JUMPDEST
0000399b: DUP5
0000399c: CALLDATALOAD
0000399d: PUSH2 0x39a5
000039a0: DUP2
000039a1: PUSH2 0x3790
000039a4: JUMP
000039a5: JUMPDEST
000039a6: SWAP7
000039a7: PUSH1 0x20
000039a9: DUP7
000039aa: ADD
000039ab: CALLDATALOAD
000039ac: SWAP7
000039ad: POP
000039ae: PUSH1 0x40
000039b0: DUP7
000039b1: ADD
000039b2: CALLDATALOAD
000039b3: SWAP6
000039b4: PUSH1 0x60
000039b6: ADD
000039b7: CALLDATALOAD
000039b8: SWAP5
000039b9: POP
000039ba: SWAP3
000039bb: POP
000039bc: POP
000039bd: POP
000039be: JUMP
000039bf: JUMPDEST
000039c0: PUSH1 0x00
000039c2: DUP1
000039c3: PUSH1 0x00
000039c5: DUP1
000039c6: PUSH1 0x80
000039c8: DUP6
000039c9: DUP8
000039ca: SUB
000039cb: SLT
000039cc: ISZERO
000039cd: PUSH2 0x39d5
000039d0: JUMPI
000039d1: PUSH1 0x00
000039d3: DUP1
000039d4: REVERT
000039d5: JUMPDEST
000039d6: DUP5
000039d7: CALLDATALOAD
000039d8: PUSH2 0x39e0
000039db: DUP2
000039dc: PUSH2 0x3790
000039df: JUMP
000039e0: JUMPDEST
000039e1: SWAP4
000039e2: POP
000039e3: PUSH1 0x20
000039e5: DUP6
000039e6: ADD
000039e7: CALLDATALOAD
000039e8: PUSH2 0x39f0
000039eb: DUP2
000039ec: PUSH2 0x3866
000039ef: JUMP
000039f0: JUMPDEST
000039f1: SWAP3
000039f2: POP
000039f3: PUSH1 0x40
000039f5: DUP6
000039f6: ADD
000039f7: CALLDATALOAD
000039f8: PUSH2 0x3a00
000039fb: DUP2
000039fc: PUSH2 0x3866
000039ff: JUMP
00003a00: JUMPDEST
00003a01: SWAP4
00003a02: SWAP7
00003a03: SWAP3
00003a04: SWAP6
00003a05: POP
00003a06: SWAP3
00003a07: SWAP4
00003a08: PUSH1 0x60
00003a0a: ADD
00003a0b: CALLDATALOAD
00003a0c: SWAP3
00003a0d: POP
00003a0e: POP
00003a0f: JUMP
00003a10: JUMPDEST
00003a11: PUSH1 0x00
00003a13: PUSH1 0x20
00003a15: DUP3
00003a16: DUP5
00003a17: SUB
00003a18: SLT
00003a19: ISZERO
00003a1a: PUSH2 0x3a22
00003a1d: JUMPI
00003a1e: PUSH1 0x00
00003a20: DUP1
00003a21: REVERT
00003a22: JUMPDEST
00003a23: POP
00003a24: CALLDATALOAD
00003a25: SWAP2
00003a26: SWAP1
00003a27: POP
00003a28: JUMP
00003a29: JUMPDEST
00003a2a: PUSH1 0x00
00003a2c: DUP1
00003a2d: PUSH1 0x00
00003a2f: DUP1
00003a30: PUSH1 0x00
00003a32: PUSH1 0xa0
00003a34: DUP7
00003a35: DUP9
00003a36: SUB
00003a37: SLT
00003a38: ISZERO
00003a39: PUSH2 0x3a41
00003a3c: JUMPI
00003a3d: PUSH1 0x00
00003a3f: DUP1
00003a40: REVERT
00003a41: JUMPDEST
00003a42: DUP6
00003a43: CALLDATALOAD
00003a44: PUSH2 0x3a4c
00003a47: DUP2
00003a48: PUSH2 0x3790
00003a4b: JUMP
00003a4c: JUMPDEST
00003a4d: SWAP5
00003a4e: POP
00003a4f: PUSH1 0x20
00003a51: DUP7
00003a52: ADD
00003a53: CALLDATALOAD
00003a54: PUSH2 0x3a5c
00003a57: DUP2
00003a58: PUSH2 0x3790
00003a5b: JUMP
00003a5c: JUMPDEST
00003a5d: SWAP5
00003a5e: SWAP8
00003a5f: SWAP5
00003a60: SWAP7
00003a61: POP
00003a62: POP
00003a63: POP
00003a64: POP
00003a65: PUSH1 0x40
00003a67: DUP4
00003a68: ADD
00003a69: CALLDATALOAD
00003a6a: SWAP3
00003a6b: PUSH1 0x60
00003a6d: DUP2
00003a6e: ADD
00003a6f: CALLDATALOAD
00003a70: SWAP3
00003a71: PUSH1 0x80
00003a73: SWAP1
00003a74: SWAP2
00003a75: ADD
00003a76: CALLDATALOAD
00003a77: SWAP2
00003a78: POP
00003a79: JUMP
00003a7a: JUMPDEST
00003a7b: PUSH1 0x00
00003a7d: PUSH1 0x20
00003a7f: DUP3
00003a80: DUP5
00003a81: SUB
00003a82: SLT
00003a83: ISZERO
00003a84: PUSH2 0x3a8c
00003a87: JUMPI
00003a88: PUSH1 0x00
00003a8a: DUP1
00003a8b: REVERT
00003a8c: JUMPDEST
00003a8d: DUP2
00003a8e: CALLDATALOAD
00003a8f: PUSH3 0xffffff
00003a93: DUP2
00003a94: AND
00003a95: DUP2
00003a96: EQ
00003a97: PUSH2 0x2517
00003a9a: JUMPI
00003a9b: PUSH1 0x00
00003a9d: DUP1
00003a9e: REVERT
00003a9f: JUMPDEST
00003aa0: PUSH1 0x00
00003aa2: DUP1
00003aa3: PUSH1 0x00
00003aa5: PUSH1 0x60
00003aa7: DUP5
00003aa8: DUP7
00003aa9: SUB
00003aaa: SLT
00003aab: ISZERO
00003aac: PUSH2 0x3ab4
00003aaf: JUMPI
00003ab0: PUSH1 0x00
00003ab2: DUP1
00003ab3: REVERT
00003ab4: JUMPDEST
00003ab5: POP
00003ab6: POP
00003ab7: DUP2
00003ab8: CALLDATALOAD
00003ab9: SWAP4
00003aba: PUSH1 0x20
00003abc: DUP4
00003abd: ADD
00003abe: CALLDATALOAD
00003abf: SWAP4
00003ac0: POP
00003ac1: PUSH1 0x40
00003ac3: SWAP1
00003ac4: SWAP3
00003ac5: ADD
00003ac6: CALLDATALOAD
00003ac7: SWAP2
00003ac8: SWAP1
00003ac9: POP
00003aca: JUMP
00003acb: JUMPDEST
00003acc: PUSH1 0x00
00003ace: DUP1
00003acf: PUSH1 0x00
00003ad1: PUSH1 0x60
00003ad3: DUP5
00003ad4: DUP7
00003ad5: SUB
00003ad6: SLT
00003ad7: ISZERO
00003ad8: PUSH2 0x3ae0
00003adb: JUMPI
00003adc: PUSH1 0x00
00003ade: DUP1
00003adf: REVERT
00003ae0: JUMPDEST
00003ae1: DUP4
00003ae2: CALLDATALOAD
00003ae3: SWAP3
00003ae4: POP
00003ae5: PUSH1 0x20
00003ae7: DUP5
00003ae8: ADD
00003ae9: CALLDATALOAD
00003aea: PUSH2 0x3af2
00003aed: DUP2
00003aee: PUSH2 0x3790
00003af1: JUMP
00003af2: JUMPDEST
00003af3: SWAP2
00003af4: POP
00003af5: PUSH1 0x40
00003af7: DUP5
00003af8: ADD
00003af9: CALLDATALOAD
00003afa: PUSH2 0x3b02
00003afd: DUP2
00003afe: PUSH2 0x3866
00003b01: JUMP
00003b02: JUMPDEST
00003b03: DUP1
00003b04: SWAP2
00003b05: POP
00003b06: POP
00003b07: SWAP3
00003b08: POP
00003b09: SWAP3
00003b0a: POP
00003b0b: SWAP3
00003b0c: JUMP
00003b0d: JUMPDEST
00003b0e: PUSH1 0x00
00003b10: DUP1
00003b11: PUSH1 0x00
00003b13: DUP1
00003b14: PUSH1 0x00
00003b16: DUP1
00003b17: PUSH1 0xc0
00003b19: DUP8
00003b1a: DUP10
00003b1b: SUB
00003b1c: SLT
00003b1d: ISZERO
00003b1e: PUSH2 0x3b26
00003b21: JUMPI
00003b22: PUSH1 0x00
00003b24: DUP1
00003b25: REVERT
00003b26: JUMPDEST
00003b27: DUP7
00003b28: CALLDATALOAD
00003b29: PUSH2 0x3b31
00003b2c: DUP2
00003b2d: PUSH2 0x3790
00003b30: JUMP
00003b31: JUMPDEST
00003b32: SWAP6
00003b33: POP
00003b34: PUSH1 0x20
00003b36: DUP8
00003b37: ADD
00003b38: CALLDATALOAD
00003b39: PUSH2 0x3b41
00003b3c: DUP2
00003b3d: PUSH2 0x3790
00003b40: JUMP
00003b41: JUMPDEST
00003b42: SWAP6
00003b43: SWAP9
00003b44: SWAP6
00003b45: SWAP8
00003b46: POP
00003b47: POP
00003b48: POP
00003b49: POP
00003b4a: PUSH1 0x40
00003b4c: DUP5
00003b4d: ADD
00003b4e: CALLDATALOAD
00003b4f: SWAP4
00003b50: PUSH1 0x60
00003b52: DUP2
00003b53: ADD
00003b54: CALLDATALOAD
00003b55: SWAP4
00003b56: PUSH1 0x80
00003b58: DUP3
00003b59: ADD
00003b5a: CALLDATALOAD
00003b5b: SWAP4
00003b5c: POP
00003b5d: PUSH1 0xa0
00003b5f: SWAP1
00003b60: SWAP2
00003b61: ADD
00003b62: CALLDATALOAD
00003b63: SWAP2
00003b64: POP
00003b65: JUMP
00003b66: JUMPDEST
00003b67: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00003b88: PUSH1 0x00
00003b8a: MSTORE
00003b8b: PUSH1 0x11
00003b8d: PUSH1 0x04
00003b8f: MSTORE
00003b90: PUSH1 0x24
00003b92: PUSH1 0x00
00003b94: REVERT
00003b95: JUMPDEST
00003b96: DUP2
00003b97: DUP2
00003b98: SUB
00003b99: DUP2
00003b9a: DUP2
00003b9b: GT
00003b9c: ISZERO
00003b9d: PUSH2 0x0c56
00003ba0: JUMPI
00003ba1: PUSH2 0x0c56
00003ba4: PUSH2 0x3b66
00003ba7: JUMP
00003ba8: JUMPDEST
00003ba9: DUP1
00003baa: DUP3
00003bab: MUL
00003bac: DUP2
00003bad: ISZERO
00003bae: DUP3
00003baf: DUP3
00003bb0: DIV
00003bb1: DUP5
00003bb2: EQ
00003bb3: OR
00003bb4: PUSH2 0x0c56
00003bb7: JUMPI
00003bb8: PUSH2 0x0c56
00003bbb: PUSH2 0x3b66
00003bbe: JUMP
00003bbf: JUMPDEST
00003bc0: PUSH1 0x00
00003bc2: DUP3
00003bc3: PUSH2 0x3bf5
00003bc6: JUMPI
00003bc7: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00003be8: PUSH1 0x00
00003bea: MSTORE
00003beb: PUSH1 0x12
00003bed: PUSH1 0x04
00003bef: MSTORE
00003bf0: PUSH1 0x24
00003bf2: PUSH1 0x00
00003bf4: REVERT
00003bf5: JUMPDEST
00003bf6: POP
00003bf7: DIV
00003bf8: SWAP1
00003bf9: JUMP
00003bfa: JUMPDEST
00003bfb: PUSH1 0x00
00003bfd: DUP1
00003bfe: DUP4
00003bff: CALLDATALOAD
00003c00: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1
00003c21: DUP5
00003c22: CALLDATASIZE
00003c23: SUB
00003c24: ADD
00003c25: DUP2
00003c26: SLT
00003c27: PUSH2 0x3c2f
00003c2a: JUMPI
00003c2b: PUSH1 0x00
00003c2d: DUP1
00003c2e: REVERT
00003c2f: JUMPDEST
00003c30: DUP4
00003c31: ADD
00003c32: DUP1
00003c33: CALLDATALOAD
00003c34: SWAP2
00003c35: POP
00003c36: PUSH8 0xffffffffffffffff
00003c3f: DUP3
00003c40: GT
00003c41: ISZERO
00003c42: PUSH2 0x3c4a
00003c45: JUMPI
00003c46: PUSH1 0x00
00003c48: DUP1
00003c49: REVERT
00003c4a: JUMPDEST
00003c4b: PUSH1 0x20
00003c4d: ADD
00003c4e: SWAP2
00003c4f: POP
00003c50: PUSH1 0x05
00003c52: DUP2
00003c53: SWAP1
00003c54: SHL
00003c55: CALLDATASIZE
00003c56: SUB
00003c57: DUP3
00003c58: SGT
00003c59: ISZERO
00003c5a: PUSH2 0x3c62
00003c5d: JUMPI
00003c5e: PUSH1 0x00
00003c60: DUP1
00003c61: REVERT
00003c62: JUMPDEST
00003c63: SWAP3
00003c64: POP
00003c65: SWAP3
00003c66: SWAP1
00003c67: POP
00003c68: JUMP
00003c69: JUMPDEST
00003c6a: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00003c8b: PUSH1 0x00
00003c8d: MSTORE
00003c8e: PUSH1 0x32
00003c90: PUSH1 0x04
00003c92: MSTORE
00003c93: PUSH1 0x24
00003c95: PUSH1 0x00
00003c97: REVERT
00003c98: JUMPDEST
00003c99: PUSH1 0x00
00003c9b: PUSH1 0x20
00003c9d: DUP3
00003c9e: DUP5
00003c9f: SUB
00003ca0: SLT
00003ca1: ISZERO
00003ca2: PUSH2 0x3caa
00003ca5: JUMPI
00003ca6: PUSH1 0x00
00003ca8: DUP1
00003ca9: REVERT
00003caa: JUMPDEST
00003cab: DUP2
00003cac: CALLDATALOAD
00003cad: PUSH2 0x2517
00003cb0: DUP2
00003cb1: PUSH2 0x3866
00003cb4: JUMP
00003cb5: JUMPDEST
00003cb6: DUP1
00003cb7: DUP3
00003cb8: ADD
00003cb9: DUP1
00003cba: DUP3
00003cbb: GT
00003cbc: ISZERO
00003cbd: PUSH2 0x0c56
00003cc0: JUMPI
00003cc1: PUSH2 0x0c56
00003cc4: PUSH2 0x3b66
00003cc7: JUMP
00003cc8: JUMPDEST
00003cc9: PUSH1 0x00
00003ccb: PUSH1 0x20
00003ccd: DUP3
00003cce: DUP5
00003ccf: SUB
00003cd0: SLT
00003cd1: ISZERO
00003cd2: PUSH2 0x3cda
00003cd5: JUMPI
00003cd6: PUSH1 0x00
00003cd8: DUP1
00003cd9: REVERT
00003cda: JUMPDEST
00003cdb: POP
00003cdc: MLOAD
00003cdd: SWAP2
00003cde: SWAP1
00003cdf: POP
00003ce0: JUMP
00003ce1: JUMPDEST
00003ce2: PUSH1 0x00
00003ce4: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00003d05: DUP3
00003d06: SUB
00003d07: PUSH2 0x3d12
00003d0a: JUMPI
00003d0b: PUSH2 0x3d12
00003d0e: PUSH2 0x3b66
00003d11: JUMP
00003d12: JUMPDEST
00003d13: POP
00003d14: PUSH1 0x01
00003d16: ADD
00003d17: SWAP1
00003d18: JUMP
00003d19: JUMPDEST
00003d1a: PUSH1 0x00
00003d1c: PUSH1 0x20
00003d1e: DUP3
00003d1f: DUP5
00003d20: SUB
00003d21: SLT
00003d22: ISZERO
00003d23: PUSH2 0x3d2b
00003d26: JUMPI
00003d27: PUSH1 0x00
00003d29: DUP1
00003d2a: REVERT
00003d2b: JUMPDEST
00003d2c: DUP2
00003d2d: MLOAD
00003d2e: PUSH1 0xff
00003d30: DUP2
00003d31: AND
00003d32: DUP2
00003d33: EQ
00003d34: PUSH2 0x2517
00003d37: JUMPI
00003d38: PUSH1 0x00
00003d3a: DUP1
00003d3b: REVERT
00003d3c: JUMPDEST
00003d3d: PUSH1 0x01
00003d3f: DUP2
00003d40: DUP2
00003d41: JUMPDEST
00003d42: DUP1
00003d43: DUP6
00003d44: GT
00003d45: ISZERO
00003d46: PUSH2 0x3d95
00003d49: JUMPI
00003d4a: DUP2
00003d4b: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00003d6c: DIV
00003d6d: DUP3
00003d6e: GT
00003d6f: ISZERO
00003d70: PUSH2 0x3d7b
00003d73: JUMPI
00003d74: PUSH2 0x3d7b
00003d77: PUSH2 0x3b66
00003d7a: JUMP
00003d7b: JUMPDEST
00003d7c: DUP1
00003d7d: DUP6
00003d7e: AND
00003d7f: ISZERO
00003d80: PUSH2 0x3d88
00003d83: JUMPI
00003d84: SWAP2
00003d85: DUP2
00003d86: MUL
00003d87: SWAP2
00003d88: JUMPDEST
00003d89: SWAP4
00003d8a: DUP5
00003d8b: SHR
00003d8c: SWAP4
00003d8d: SWAP1
00003d8e: DUP1
00003d8f: MUL
00003d90: SWAP1
00003d91: PUSH2 0x3d41
00003d94: JUMP
00003d95: JUMPDEST
00003d96: POP
00003d97: SWAP3
00003d98: POP
00003d99: SWAP3
00003d9a: SWAP1
00003d9b: POP
00003d9c: JUMP
00003d9d: JUMPDEST
00003d9e: PUSH1 0x00
00003da0: DUP3
00003da1: PUSH2 0x3dac
00003da4: JUMPI
00003da5: POP
00003da6: PUSH1 0x01
00003da8: PUSH2 0x0c56
00003dab: JUMP
00003dac: JUMPDEST
00003dad: DUP2
00003dae: PUSH2 0x3db9
00003db1: JUMPI
00003db2: POP
00003db3: PUSH1 0x00
00003db5: PUSH2 0x0c56
00003db8: JUMP
00003db9: JUMPDEST
00003dba: DUP2
00003dbb: PUSH1 0x01
00003dbd: DUP2
00003dbe: EQ
00003dbf: PUSH2 0x3dcf
00003dc2: JUMPI
00003dc3: PUSH1 0x02
00003dc5: DUP2
00003dc6: EQ
00003dc7: PUSH2 0x3dd9
00003dca: JUMPI
00003dcb: PUSH2 0x3df5
00003dce: JUMP
00003dcf: JUMPDEST
00003dd0: PUSH1 0x01
00003dd2: SWAP2
00003dd3: POP
00003dd4: POP
00003dd5: PUSH2 0x0c56
00003dd8: JUMP
00003dd9: JUMPDEST
00003dda: PUSH1 0xff
00003ddc: DUP5
00003ddd: GT
00003dde: ISZERO
00003ddf: PUSH2 0x3dea
00003de2: JUMPI
00003de3: PUSH2 0x3dea
00003de6: PUSH2 0x3b66
00003de9: JUMP
00003dea: JUMPDEST
00003deb: POP
00003dec: POP
00003ded: PUSH1 0x01
00003def: DUP3
00003df0: SHL
00003df1: PUSH2 0x0c56
00003df4: JUMP
00003df5: JUMPDEST
00003df6: POP
00003df7: PUSH1 0x20
00003df9: DUP4
00003dfa: LT
00003dfb: PUSH2 0x0133
00003dfe: DUP4
00003dff: LT
00003e00: AND
00003e01: PUSH1 0x4e
00003e03: DUP5
00003e04: LT
00003e05: PUSH1 0x0b
00003e07: DUP5
00003e08: LT
00003e09: AND
00003e0a: OR
00003e0b: ISZERO
00003e0c: PUSH2 0x3e18
00003e0f: JUMPI
00003e10: POP
00003e11: DUP2
00003e12: DUP2
00003e13: EXP
00003e14: PUSH2 0x0c56
00003e17: JUMP
00003e18: JUMPDEST
00003e19: PUSH2 0x3e22
00003e1c: DUP4
00003e1d: DUP4
00003e1e: PUSH2 0x3d3c
00003e21: JUMP
00003e22: JUMPDEST
00003e23: DUP1
00003e24: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00003e45: DIV
00003e46: DUP3
00003e47: GT
00003e48: ISZERO
00003e49: PUSH2 0x3e54
00003e4c: JUMPI
00003e4d: PUSH2 0x3e54
00003e50: PUSH2 0x3b66
00003e53: JUMP
00003e54: JUMPDEST
00003e55: MUL
00003e56: SWAP4
00003e57: SWAP3
00003e58: POP
00003e59: POP
00003e5a: POP
00003e5b: JUMP
00003e5c: JUMPDEST
00003e5d: PUSH1 0x00
00003e5f: PUSH2 0x0c53
00003e62: PUSH1 0xff
00003e64: DUP5
00003e65: AND
00003e66: DUP4
00003e67: PUSH2 0x3d9d
00003e6a: JUMP
00003e6b: JUMPDEST
00003e6c: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00003e8d: PUSH1 0x00
00003e8f: MSTORE
00003e90: PUSH1 0x31
00003e92: PUSH1 0x04
00003e94: MSTORE
00003e95: PUSH1 0x24
00003e97: PUSH1 0x00
00003e99: REVERT
00003e9a: JUMPDEST
00003e9b: PUSH1 0x00
00003e9d: PUSH1 0x20
00003e9f: DUP3
00003ea0: DUP5
00003ea1: SUB
00003ea2: SLT
00003ea3: ISZERO
00003ea4: PUSH2 0x3eac
00003ea7: JUMPI
00003ea8: PUSH1 0x00
00003eaa: DUP1
00003eab: REVERT
00003eac: JUMPDEST
00003ead: DUP2
00003eae: MLOAD
00003eaf: PUSH2 0x2517
00003eb2: DUP2
00003eb3: PUSH2 0x3866
00003eb6: JUMP
00003eb7: JUMPDEST
00003eb8: PUSH1 0x00
00003eba: DUP3
00003ebb: MLOAD
00003ebc: PUSH1 0x00
00003ebe: JUMPDEST
00003ebf: DUP2
00003ec0: DUP2
00003ec1: LT
00003ec2: ISZERO
00003ec3: PUSH2 0x3ed8
00003ec6: JUMPI
00003ec7: PUSH1 0x20
00003ec9: DUP2
00003eca: DUP7
00003ecb: ADD
00003ecc: DUP2
00003ecd: ADD
00003ece: MLOAD
00003ecf: DUP6
00003ed0: DUP4
00003ed1: ADD
00003ed2: MSTORE
00003ed3: ADD
00003ed4: PUSH2 0x3ebe
00003ed7: JUMP
00003ed8: JUMPDEST
00003ed9: POP
00003eda: PUSH1 0x00
00003edc: SWAP3
00003edd: ADD
00003ede: SWAP2
00003edf: DUP3
00003ee0: MSTORE
00003ee1: POP
00003ee2: SWAP2
00003ee3: SWAP1
00003ee4: POP
00003ee5: JUMP
00003ee6: INVALID
00003ee7: LOG2
00003ee8: PUSH5 0x6970667358
00003eee: UNKNOWN(0x22)
00003eef: SLT
00003ef0: KECCAK256
00003ef1: UNKNOWN(0xB9)
00003ef2: UNKNOWN(0xAC)
00003ef3: SWAP4
00003ef4: MUL
00003ef5: LOG4
00003ef6: CREATE2
00003ef7: SWAP10
00003ef8: UNKNOWN(0x4F)
00003ef9: DUP16
00003efa: SELFBALANCE
00003efb: TLOAD
00003efc: SELFBALANCE
00003efd: UNKNOWN(0xDB)
00003efe: UNKNOWN(0xBE)
00003eff: UNKNOWN(0xC8)
00003f00: DUP13
00003f01: PUSH6 0x3981e47b5085
00003f08: UNKNOWN(0xCD)
00003f09: UNKNOWN(0x25)
00003f0a: SWAP12
00003f0b: SSTORE
00003f0c: GASPRICE
00003f0d: UNKNOWN(0xE7)
00003f0e: UNKNOWN(0xE2)
00003f0f: DUP6
00003f10: MOD
00003f11: PUSH5 0x736f6c6343
00003f17: STOP
00003f18: ADDMOD
00003f19: EQ
00003f1a: STOP
00003f1b: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x7472023b1157d195896c70dfb5e74bc034958f8c8c1cd7d918a0d20a96d85c7d
call_targets: 0xb67d637b1301eeb56dba4555bbd15cd220f1aad6
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x7472023b1157d195896c70dfb5e74bc034958f8c8c1cd7d918a0d20a96d85c7d",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xb67d637b1301eeb56dba4555bbd15cd220f1aad6"
    ],
    "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": "0xf43084f7",
            "selector": "0xf43084f7",
            "calldata_variants": [
                "0xf43084f7",
                "0xf43084f70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf6e39640",
            "selector": "0xf6e39640",
            "calldata_variants": [
                "0xf6e39640",
                "0xf6e396400000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf7888aec",
            "selector": "0xf7888aec",
            "calldata_variants": [
                "0xf7888aec",
                "0xf7888aec0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd598d4c9",
            "selector": "0xd598d4c9",
            "calldata_variants": [
                "0xd598d4c9",
                "0xd598d4c90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdbb1b5e0",
            "selector": "0xdbb1b5e0",
            "calldata_variants": [
                "0xdbb1b5e0",
                "0xdbb1b5e00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xde153a48",
            "selector": "0xde153a48",
            "calldata_variants": [
                "0xde153a48",
                "0xde153a480000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc9df6508",
            "selector": "0xc9df6508",
            "calldata_variants": [
                "0xc9df6508",
                "0xc9df65080000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcd626c28",
            "selector": "0xcd626c28",
            "calldata_variants": [
                "0xcd626c28",
                "0xcd626c280000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 4866,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6173,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7729,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 7,
    "guards_detected": [],
    "untrusted_call_count": 7
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x7472023b1157d195896c70dfb5e74bc034958f8c8c1cd7d918a0d20a96d85c7d
call_targets: 0xb67d637b1301eeb56dba4555bbd15cd220f1aad6
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x7472023b1157d195896c70dfb5e74bc034958f8c8c1cd7d918a0d20a96d85c7d",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xb67d637b1301eeb56dba4555bbd15cd220f1aad6"
    ],
    "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": "0xf43084f7",
            "selector": "0xf43084f7",
            "calldata_variants": [
                "0xf43084f7",
                "0xf43084f70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf6e39640",
            "selector": "0xf6e39640",
            "calldata_variants": [
                "0xf6e39640",
                "0xf6e396400000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf7888aec",
            "selector": "0xf7888aec",
            "calldata_variants": [
                "0xf7888aec",
                "0xf7888aec0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd598d4c9",
            "selector": "0xd598d4c9",
            "calldata_variants": [
                "0xd598d4c9",
                "0xd598d4c90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdbb1b5e0",
            "selector": "0xdbb1b5e0",
            "calldata_variants": [
                "0xdbb1b5e0",
                "0xdbb1b5e00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xde153a48",
            "selector": "0xde153a48",
            "calldata_variants": [
                "0xde153a48",
                "0xde153a480000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc9df6508",
            "selector": "0xc9df6508",
            "calldata_variants": [
                "0xc9df6508",
                "0xc9df65080000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcd626c28",
            "selector": "0xcd626c28",
            "calldata_variants": [
                "0xcd626c28",
                "0xcd626c280000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 4866,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6173,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7729,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 7,
    "guards_detected": []
}
medium other codex Deposits credit the requested amount without verifying actual tokens received 75 no
view
evidence_json
{
    "evidence": "`deposit` calls `safeTransferFrom` and then increments `balances` by `_amount` without checking the contract's actual received balance.",
    "locations": [
        "contracts/contracts/PayerV3.sol:198",
        "contracts/contracts/PayerV3.sol:206",
        "contracts/contracts/PayerV3.sol:212"
    ],
    "recommendation": "Credit users based on the actual amount received by measuring balance before/after `safeTransferFrom`, or explicitly reject fee-on-transfer/rebasing tokens in `editAcceptableToken` and document the invariant.",
    "exploit_scenario": "If an owner mistakenly whitelists a fee-on-transfer or rebasing token, a user can deposit 100 tokens, the contract receives less (e.g., 90), but the user is credited with 100. Early withdrawers can redeem their full credited balance, leaving later withdrawers insolvent and unable to withdraw all funds."
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0xcb059f28120c57d88bfa8e3b3417cfaf5c837b231c0ad64250772d1470498ea4
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0xcb059f28120c57d88bfa8e3b3417cfaf5c837b231c0ad64250772d1470498ea4",
    "confirmed": false,
    "trace_mode": "structLogs",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xf43084f7",
            "selector": "0xf43084f7",
            "calldata_variants": [
                "0xf43084f7",
                "0xf43084f70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf6e39640",
            "selector": "0xf6e39640",
            "calldata_variants": [
                "0xf6e39640",
                "0xf6e396400000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf7888aec",
            "selector": "0xf7888aec",
            "calldata_variants": [
                "0xf7888aec",
                "0xf7888aec0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd598d4c9",
            "selector": "0xd598d4c9",
            "calldata_variants": [
                "0xd598d4c9",
                "0xd598d4c90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdbb1b5e0",
            "selector": "0xdbb1b5e0",
            "calldata_variants": [
                "0xdbb1b5e0",
                "0xdbb1b5e00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xde153a48",
            "selector": "0xde153a48",
            "calldata_variants": [
                "0xde153a48",
                "0xde153a480000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc9df6508",
            "selector": "0xc9df6508",
            "calldata_variants": [
                "0xc9df6508",
                "0xc9df65080000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcd626c28",
            "selector": "0xcd626c28",
            "calldata_variants": [
                "0xcd626c28",
                "0xcd626c280000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 0,
    "create2_count": 1
}
low access_control codex Anyone can claim orders and choose the USD payout token, enabling bonus denial/griefing 65 no
view
evidence_json
{
    "evidence": "`claimOrder` is public, allows any caller to supply `_usdToken`, and marks the order claimed even if no bonus is transferred.",
    "locations": [
        "contracts/contracts/PayerV3.sol:419",
        "contracts/contracts/PayerV3.sol:436",
        "contracts/contracts/PayerV3.sol:441",
        "contracts/contracts/PayerV3.sol:466"
    ],
    "recommendation": "Restrict non-force `claimOrder` to the order owner (or owner/service), or store the payout token at execution time and require it, or revert if `payerAddress` lacks sufficient balance so the user can re-claim later.",
    "exploit_scenario": "A third party can front-run or proactively call `claimOrder` for someone else using a USD token that has insufficient `payerAddress` balance. The order is marked claimed and the user can no longer claim with a different USD token that has funds, causing loss of the intended additionalAmount bonus."
}
low other cast Contract creation opcode present 60 no
view
evidence_json
{
    "notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
    "create_count": 0,
    "create2_count": 1
}