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

Analysis Run

84393c30-1563-4324-8f7f-af48cff93df1

failed
Chain ID
1
Address
Block Number
Created
Fri, Jan 2, 2026 3:23 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
Not yet
Best current signal
CREATE/CREATE2 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
31274 report.consolidate complete 1 / 1 3 months ago
110642 artifact.fetch failed 1 / 3 1 week ago
110643 tool.cast_disasm complete 1 / 3 1 week ago
110644 analysis.bundle complete 1 / 3 1 week ago
110645 capability.graph complete 1 / 3 1 week ago
110646 detector.run complete 1 / 3 1 week ago
110647 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
0
No findings?
yes
Summary
No concrete, exploitable paths to extract ETH/tokens/NFTs found in the audited contract.
View stderr
[codex:1016432] OpenAI Codex v0.77.0 (research preview)
[codex:1016432] --------
[codex:1016432] workdir: /tmp/codex-multi-2c7m_cyi
[codex:1016432] model: gpt-5.2-codex
[codex:1016432] provider: openai
[codex:1016432] approval: never
[codex:1016432] sandbox: read-only
[codex:1016432] reasoning effort: xhigh
[codex:1016432] reasoning summaries: auto
[codex:1016432] session id: 019b7f48-4384-7d62-bc7d-1eecd152debf
[codex:1016432] --------
[codex:1016432] user
[codex:1016432] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:1016432] 
[codex:1016432] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:1016432] 
[codex:1016432] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:1016432] - Gas inefficiency, code quality, naming, or best practices
[codex:1016432] - Theoretical vulnerabilities without a clear extraction path
[codex:1016432] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:1016432] - Front-running unless it enables theft beyond MEV
[codex:1016432] - DoS, griefing, or issues that don't result in attacker profit
[codex:1016432] - Missing events, view function issues, or informational findings
[codex:1016432] 
[codex:1016432] HIGH-VALUE PATTERNS TO HUNT:
[codex:1016432] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:1016432] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:1016432] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:1016432] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:1016432] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:1016432] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:1016432] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:1016432] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:1016432] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:1016432] 
[codex:1016432] For each finding, you MUST provide:
[codex:1016432] 1. Exact file and line numbers of vulnerable code
[codex:1016432] 2. Step-by-step exploit transaction sequence
[codex:1016432] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:1016432] 
[codex:1016432] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:1016432] 
[codex:1016432] Output MUST be valid JSON matching the provided schema.
[codex:1016432] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:1016432] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:1016432] mcp startup: no servers
[codex:1016432] 
[codex:1016432] thinking
[codex:1016432] **Preparing to read AUDIT_BUNDLE.txt**
[codex:1016432] exec
[codex:1016432] /bin/bash -lc ls in /tmp/codex-multi-2c7m_cyi succeeded in 5ms:
[codex:1016432] AUDIT_BUNDLE.txt
[codex:1016432] codex-output-schema.json
[codex:1016432] contracts
[codex:1016432] exec
[codex:1016432] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-2c7m_cyi succeeded in 6ms:
[codex:1016432] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:1016432] 
[codex:1016432] ================================================================================
[codex:1016432] FILE: contracts/Contract.sol
[codex:1016432] ================================================================================
[codex:1016432] // SPDX-License-Identifier: GPL-2.0-or-later
[codex:1016432] pragma solidity >=0.8.0;
[codex:1016432] 
[codex:1016432] 
[codex:1016432] // ====================================================================
[codex:1016432] // |     ______                   _______                             |
[codex:1016432] // |    / _____________ __  __   / ____(_____  ____ _____  ________   |
[codex:1016432] // |   / /_  / ___/ __ `| |/_/  / /_  / / __ \/ __ `/ __ \/ ___/ _ \  |
[codex:1016432] // |  / __/ / /  / /_/ _>  <   / __/ / / / / / /_/ / / / / /__/  __/  |
[codex:1016432] // | /_/   /_/   \__,_/_/|_|  /_/   /_/_/ /_/\__,_/_/ /_/\___/\___/   |
[codex:1016432] // |                                                                  |
[codex:1016432] // ====================================================================
[codex:1016432] // ===================== FraxEtherRedemptionQueue =====================
[codex:1016432] // ====================================================================
[codex:1016432] // Users wishing to exchange frxETH for ETH 1-to-1 will need to deposit their frxETH and wait to redeem it.
[codex:1016432] 
[codex:1016432] thinking
[codex:1016432] **Investigating potential vulnerabilities**
[codex:1016432] exec
[codex:1016432] /bin/bash -lc 'rg -n "function|recover|collect|withdraw|redeem|burn" contracts/Contract.sol' in /tmp/codex-multi-2c7m_cyi succeeded in 8ms:
[codex:1016432] 15:// Users wishing to exchange frxETH for ETH 1-to-1 will need to deposit their frxETH and wait to redeem it.
[codex:1016432] 51:    function totalSupply() external view returns (uint256);
[codex:1016432] 56:    function balanceOf(address account) external view returns (uint256);
[codex:1016432] 65:    function transfer(address to, uint256 amount) external returns (bool);
[codex:1016432] 74:    function allowance(address owner, address spender) external view returns (uint256);
[codex:1016432] 90:    function approve(address spender, uint256 amount) external returns (bool);
[codex:1016432] 101:    function transferFrom(address from, address to, uint256 amount) external returns (bool);
[codex:1016432] 126:     * This function call must use less than 30 000 gas.
[codex:1016432] 128:    function supportsInterface(bytes4 interfaceId) external view returns (bool);
[codex:1016432] 153:    function balanceOf(address owner) external view returns (uint256 balance);
[codex:1016432] 162:    function ownerOf(uint256 tokenId) external view returns (address owner);
[codex:1016432] 177:    function safeTransferFrom(address from, address to, uint256 tokenId, bytes calldata data) external;
[codex:1016432] 193:    function safeTransferFrom(address from, address to, uint256 tokenId) external;
[codex:1016432] 211:    function transferFrom(address from, address to, uint256 tokenId) external;
[codex:1016432] 226:    function approve(address to, uint256 tokenId) external;
[codex:1016432] 238:    function setApprovalForAll(address operator, bool approved) external;
[codex:1016432] 247:    function getApproved(uint256 tokenId) external view returns (address operator);
[codex:1016432] 254:    function isApprovedForAll(address owner, address operator) external view returns (bool);
[codex:1016432] 267:     * by `operator` from `from`, this function is called.
[codex:1016432] 274:    function onERC721Received(
[codex:1016432] 
[codex:1016432] thinking
[codex:1016432] **Examining contract around fee collection**
[codex:1016432] exec
[codex:1016432] /bin/bash -lc "sed -n '3260,3405p' contracts/Contract.sol" in /tmp/codex-multi-2c7m_cyi succeeded in 5ms:
[codex:1016432]     /// @param earlyExitFee Early NFT back to frxETH exit fee given as a percentage with 1e6 precision
[codex:1016432]     struct RedemptionQueueState {
[codex:1016432]         uint64 nextNftId;
[codex:1016432]         uint64 queueLengthSecs;
[codex:1016432]         uint64 redemptionFee;
[codex:1016432]         uint64 earlyExitFee;
[codex:1016432]     }
[codex:1016432] 
[codex:1016432]     /// @notice Accounting of Frax's frxETH redemption queue
[codex:1016432]     RedemptionQueueAccounting public redemptionQueueAccounting;
[codex:1016432] 
[codex:1016432]     /// @param etherLiabilities How much ETH would need to be paid out if every NFT holder could claim immediately
[codex:1016432]     /// @param unclaimedFees Earned fees that the protocol has not collected yet
[codex:1016432]     struct RedemptionQueueAccounting {
[codex:1016432]         uint128 etherLiabilities;
[codex:1016432]         uint128 unclaimedFees;
[codex:1016432]     }
[codex:1016432] 
[codex:1016432]     /// @notice Information about a user's redemption ticket NFT
[codex:1016432]     mapping(uint256 nftId => RedemptionQueueItem) public nftInformation;
[codex:1016432] 
[codex:1016432] thinking
[codex:1016432] **Analyzing redemption queue for reentrancy and auth**
[codex:1016432] 
[codex:1016432] I’m carefully examining the redemption queue contract, focusing on whether proper admin checks and nonReentrant guards protect critical functions like entering the queue and burning NFTs. I’m considering token transfer callbacks that could cause reentrancy, especially around safeTransferFrom calls and hooks from ERC777-style tokens. The contract uses nonReentrant in core state-update functions but leaves some entry points unguarded, so I’m weighing if that’s safe given the tokens involved. I’m also scrutinizing the burn logic for double-spend safeguards and the implications of redeeming via the SFRX_ETH token’s external redeem call, looking for possible reentrancy or authorization gaps. Lots to unpack here!
[codex:1016432] exec
[codex:1016432] /bin/bash -lc "sed -n '1230,1270p' contracts/Contract.sol" in /tmp/codex-multi-2c7m_cyi succeeded in 6ms:
[codex:1016432]         require(_checkOnERC721Received(from, to, tokenId, data), "ERC721: transfer to non ERC721Receiver implementer");
[codex:1016432]     }
[codex:1016432] 
[codex:1016432]     /**
[codex:1016432]      * @dev Returns the owner of the `tokenId`. Does NOT revert if token doesn't exist
[codex:1016432]      */
[codex:1016432]     function _ownerOf(uint256 tokenId) internal view virtual returns (address) {
[codex:1016432]         return _owners[tokenId];
[codex:1016432]     }
[codex:1016432] 
[codex:1016432]     /**
[codex:1016432]      * @dev Returns whether `tokenId` exists.
[codex:1016432]      *
[codex:1016432]      * Tokens can be managed by their owner or approved accounts via {approve} or {setApprovalForAll}.
[codex:1016432]      *
[codex:1016432]      * Tokens start existing when they are minted (`_mint`),
[codex:1016432]      * and stop existing when they are burned (`_burn`).
[codex:1016432]      */
[codex:1016432]     function _exists(uint256 tokenId) internal view virtual returns (bool) {
[codex:1016432]         return _ownerOf(tokenId) != address(0);
[codex:1016432] 
[codex:1016432] thinking
[codex:1016432] **Verifying ownerOf behavior**
[codex:1016432] exec
[codex:1016432] /bin/bash -lc "sed -n '1100,1125p' contracts/Contract.sol" in /tmp/codex-multi-2c7m_cyi succeeded in 5ms:
[codex:1016432]     function balanceOf(address owner) public view virtual override returns (uint256) {
[codex:1016432]         require(owner != address(0), "ERC721: address zero is not a valid owner");
[codex:1016432]         return _balances[owner];
[codex:1016432]     }
[codex:1016432] 
[codex:1016432]     /**
[codex:1016432]      * @dev See {IERC721-ownerOf}.
[codex:1016432]      */
[codex:1016432]     function ownerOf(uint256 tokenId) public view virtual override returns (address) {
[codex:1016432]         address owner = _ownerOf(tokenId);
[codex:1016432]         require(owner != address(0), "ERC721: invalid token ID");
[codex:1016432]         return owner;
[codex:1016432]     }
[codex:1016432] 
[codex:1016432]     /**
[codex:1016432]      * @dev See {IERC721Metadata-name}.
[codex:1016432]      */
[codex:1016432]     function name() public view virtual override returns (string memory) {
[codex:1016432]         return _name;
[codex:1016432]     }
[codex:1016432] 
[codex:1016432] thinking
[codex:1016432] **Analyzing potential contract vulnerabilities**
[codex:1016432] exec
[codex:1016432] /bin/bash -lc 'rg -n "contract" contracts/Contract.sol' in /tmp/codex-multi-2c7m_cyi succeeded in 6ms:
[codex:1016432] 114: * Implementers can declare support of contract interfaces, which can then be
[codex:1016432] 121:     * @dev Returns true if this contract implements the interface defined by
[codex:1016432] 132: * @dev Required interface of an ERC721 compliant contract.
[codex:1016432] 173:     * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.
[codex:1016432] 180:     * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients
[codex:1016432] 189:     * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.
[codex:1016432] 261: * @dev Interface for any contract that wants to support safeTransfers
[codex:1016432] 262: * from ERC721 asset contracts.
[codex:1016432] 266:     * @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}
[codex:1016432] 312:     * @dev Returns true if `account` is a contract.
[codex:1016432] 317:     * false is an externally-owned account (EOA) and not a contract.
[codex:1016432] 323:     *  - a contract in construction
[codex:1016432] 324:     *  - an address where a contract will be created
[codex:1016432] 325:     *  - an address where a contract lived, but was destroyed
[codex:1016432] 327:     * Furthermore, `isContract` will also return true if the target contract within
[codex:1016432] 336:     * Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets
[codex:1016432] 337:     * like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract
[codex:1016432] 343:        // for contracts in construction, since the code is only stored at the end
[codex:1016432] 354:     * of certain opcodes, possibly making contracts go over the 2300 gas limit
[codex:1016432] 385:     * - `target` must be a contract.
[codex:1016432] 
[codex:1016432] thinking
[codex:1016432] **Analyzing FraxEtherRedemptionQueue contract**
[codex:1016432] exec
[codex:1016432] /bin/bash -lc "sed -n '3470,3775p' contracts/Contract.sol" in /tmp/codex-multi-2c7m_cyi succeeded in 6ms:
[codex:1016432]     function setFeeRecipient(address _newFeeRecipient) external {
[codex:1016432]         _requireSenderIsTimelock();
[codex:1016432] 
[codex:1016432]         emit SetFeeRecipient({ oldFeeRecipient: feeRecipient, newFeeRecipient: _newFeeRecipient });
[codex:1016432] 
[codex:1016432]         feeRecipient = _newFeeRecipient;
[codex:1016432]     }
[codex:1016432] 
[codex:1016432]     // =============================================================================================
[codex:1016432]     // Queue Functions
[codex:1016432]     // =============================================================================================
[codex:1016432] 
[codex:1016432]     /// @notice When someone enters the redemption queue
[codex:1016432]     /// @param nftId The ID of the NFT
[codex:1016432]     /// @param sender The address of the msg.sender, who is redeeming frxEth
[codex:1016432]     /// @param recipient The recipient of the NFT
[codex:1016432]     /// @param amountFrxEthRedeemed The amount of frxEth redeemed
[codex:1016432]     /// @param maturityTimestamp The date of maturity, upon which redemption is allowed
[codex:1016432]     /// @param redemptionFeeAmount The redemption fee
[codex:1016432]     /// @param earlyExitFee The early exit fee at the time of minting
[codex:1016432] 
[codex:1016432] thinking
[codex:1016432] **Analyzing potential exploit paths and reentrancy risks**
[codex:1016432] exec
[codex:1016432] /bin/bash -lc "sed -n '2920,3155p' contracts/Contract.sol" in /tmp/codex-multi-2c7m_cyi succeeded in 6ms:
[codex:1016432] // ====================================================================
[codex:1016432] // ========================== Timelock2Step ===========================
[codex:1016432] // ====================================================================
[codex:1016432] // Frax Finance: https://github.com/FraxFinance
[codex:1016432] 
[codex:1016432] // Primary Author
[codex:1016432] // Drake Evans: https://github.com/DrakeEvans
[codex:1016432] 
[codex:1016432] // Reviewers
[codex:1016432] // Dennis: https://github.com/denett
[codex:1016432] 
[codex:1016432] // ====================================================================
[codex:1016432] 
[codex:1016432] /// @title Timelock2Step
[codex:1016432] /// @author Drake Evans (Frax Finance) https://github.com/drakeevans
[codex:1016432] /// @dev Inspired by OpenZeppelin's Ownable2Step contract
[codex:1016432] /// @notice  An abstract contract which contains 2-step transfer and renounce logic for a timelock address
[codex:1016432] abstract contract Timelock2Step {
[codex:1016432]     /// @notice The pending timelock address
[codex:1016432]     address public pendingTimelockAddress;
[codex:1016432] 
[codex:1016432] thinking
[codex:1016432] **Analyzing potential vulnerabilities and exploits**
[codex:1016432] exec
[codex:1016432] /bin/bash -lc "sed -n '1688,1768p' contracts/Contract.sol" in /tmp/codex-multi-2c7m_cyi succeeded in 8ms:
[codex:1016432]      * This is a variant of {_callOptionalReturn} that silents catches all reverts and returns a bool instead.
[codex:1016432]      */
[codex:1016432]     function _callOptionalReturnBool(IERC20 token, bytes memory data) private returns (bool) {
[codex:1016432]         // We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since
[codex:1016432]         // we're implementing it ourselves. We cannot use {Address-functionCall} here since this should return false
[codex:1016432]         // and not revert is the subcall reverts.
[codex:1016432] 
[codex:1016432]         (bool success, bytes memory returndata) = address(token).call(data);
[codex:1016432]         return
[codex:1016432]             success && (returndata.length == 0 || abi.decode(returndata, (bool))) && Address.isContract(address(token));
[codex:1016432]     }
[codex:1016432] }
[codex:1016432] 
[codex:1016432] // OpenZeppelin Contracts (last updated v4.9.0) (security/ReentrancyGuard.sol)
[codex:1016432] 
[codex:1016432] // NOTE: This file has been modified from the original to make the _status an internal item so that it can be exposed by consumers.
[codex:1016432] // This allows us to prevent global reentrancy across different
[codex:1016432] 
[codex:1016432] /**
[codex:1016432]  * @dev Contract module that helps prevent reentrant calls to a function.
[codex:1016432] 
[codex:1016432] 
[codex:1016432] thinking
[codex:1016432] **Assessing potential reentrancy and token manipulation risks**
[codex:1016432] thinking
[codex:1016432] **Reviewing access control and reentrancy safeguards with final audit output**
[codex:1016432] 
[codex:1016432] I’m carefully verifying access control functions like timelock transfers and operator roles for any bypasses, and checking if reentrancy protections perfectly block all vulnerable paths, including ERC721 hooks. Since no concrete exploit or profit path emerges, I’m preparing the final structured JSON response with no_FINDINGS set to true, ensuring compliance with the user’s output schema and considering the file length and segmentation for complete audit.
[codex:1016432] exec
[codex:1016432] /bin/bash -lc 'rg -n "''^FILE:" AUDIT_BUNDLE.txt' in /tmp/codex-multi-2c7m_cyi succeeded in 7ms:
[codex:1016432] 4:FILE: contracts/Contract.sol
[codex:1016432] 
[codex:1016432] thinking
[codex:1016432] **Checking for risky calls**
[codex:1016432] exec
[codex:1016432] /bin/bash -lc "rg -n \"call\\{|delegatecall|functionCall\" contracts/Contract.sol" in /tmp/codex-multi-2c7m_cyi succeeded in 6ms:
[codex:1016432] 368:        (bool success, ) = recipient.call{value: amount}("");
[codex:1016432] 390:    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
[codex:1016432] 391:        return functionCallWithValue(target, data, 0, "Address: low-level call failed");
[codex:1016432] 395:     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with
[codex:1016432] 400:    function functionCall(
[codex:1016432] 405:        return functionCallWithValue(target, data, 0, errorMessage);
[codex:1016432] 409:     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
[codex:1016432] 419:    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
[codex:1016432] 420:        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
[codex:1016432] 424:     * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but
[codex:1016432] 429:    function functionCallWithValue(
[codex:1016432] 436:        (bool success, bytes memory returndata) = target.call{value: value}(data);
[codex:1016432] 441:     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
[codex:1016432] 451:     * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],
[codex:1016432] 466:     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
[codex:1016432] 476:     * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],
[codex:1016432] 486:        (bool success, bytes memory returndata) = target.delegatecall(data);
[codex:1016432] 1675:        // we're implementing it ourselves. We use {Address-functionCall} to perform this call, which verifies that
[codex:1016432] 1678:        bytes memory returndata = address(token).functionCall(data, "SafeERC20: low-level call failed");
[codex:1016432] 1692:        // we're implementing it ourselves. We cannot use {Address-functionCall} here since this should return false
[codex:1016432] 
[codex:1016432] 
[codex:1016432] thinking
[codex:1016432] **Evaluating reentrancy and token transfer risks**
[codex:1016432] thinking
[codex:1016432] **Planning incremental file reading**
[codex:1016432] 
[codex:1016432] I'll read the file in 500-line chunks to safely process all 3,820 lines without overwhelming output limits, ensuring I comply with the instruction to fully examine the file before concluding.
[codex:1016432] exec
[codex:1016432] /bin/bash -lc "sed -n '1,500p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-2c7m_cyi succeeded in 7ms:
[codex:1016432] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:1016432] 
[codex:1016432] ================================================================================
[codex:1016432] FILE: contracts/Contract.sol
[codex:1016432] ================================================================================
[codex:1016432] // SPDX-License-Identifier: GPL-2.0-or-later
[codex:1016432] pragma solidity >=0.8.0;
[codex:1016432] 
[codex:1016432] 
[codex:1016432] // ====================================================================
[codex:1016432] // |     ______                   _______                             |
[codex:1016432] // |    / _____________ __  __   / ____(_____  ____ _____  ________   |
[codex:1016432] // |   / /_  / ___/ __ `| |/_/  / /_  / / __ \/ __ `/ __ \/ ___/ _ \  |
[codex:1016432] // |  / __/ / /  / /_/ _>  <   / __/ / / / / / /_/ / / / / /__/  __/  |
[codex:1016432] // | /_/   /_/   \__,_/_/|_|  /_/   /_/_/ /_/\__,_/_/ /_/\___/\___/   |
[codex:1016432] // |                                                                  |
[codex:1016432] // ====================================================================
[codex:1016432] // ===================== FraxEtherRedemptionQueue =====================
[codex:1016432] // ====================================================================
[codex:1016432] // Users wishing to exchange frxETH for ETH 1-to-1 will need to deposit their frxETH and wait to redeem it.
[codex:1016432] 
[codex:1016432] thinking
[codex:1016432] **Continuing to read remaining content**
[codex:1016432] exec
[codex:1016432] /bin/bash -lc "sed -n '501,1000p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-2c7m_cyi succeeded in 6ms:
[codex:1016432]     function verifyCallResultFromTarget(
[codex:1016432]         address target,
[codex:1016432]         bool success,
[codex:1016432]         bytes memory returndata,
[codex:1016432]         string memory errorMessage
[codex:1016432]     ) internal view returns (bytes memory) {
[codex:1016432]         if (success) {
[codex:1016432]             if (returndata.length == 0) {
[codex:1016432]                 // only check isContract if the call was successful and the return data is empty
[codex:1016432]                 // otherwise we already know that it was a contract
[codex:1016432]                 require(isContract(target), "Address: call to non-contract");
[codex:1016432]             }
[codex:1016432]             return returndata;
[codex:1016432]         } else {
[codex:1016432]             _revert(returndata, errorMessage);
[codex:1016432]         }
[codex:1016432]     }
[codex:1016432] 
[codex:1016432]     /**
[codex:1016432]      * @dev Tool to verify that a low level call was successful, and revert if it wasn't, either by bubbling the
[codex:1016432] 
[codex:1016432] thinking
[codex:1016432] **Continuing to read remaining content**
[codex:1016432] exec
[codex:1016432] /bin/bash -lc "sed -n '1001,1500p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-2c7m_cyi succeeded in 7ms:
[codex:1016432] 
[codex:1016432]     /**
[codex:1016432]      * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length.
[codex:1016432]      */
[codex:1016432]     function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {
[codex:1016432]         bytes memory buffer = new bytes(2 * length + 2);
[codex:1016432]         buffer[0] = "0";
[codex:1016432]         buffer[1] = "x";
[codex:1016432]         for (uint256 i = 2 * length + 1; i > 1; --i) {
[codex:1016432]             buffer[i] = _SYMBOLS[value & 0xf];
[codex:1016432]             value >>= 4;
[codex:1016432]         }
[codex:1016432]         require(value == 0, "Strings: hex length insufficient");
[codex:1016432]         return string(buffer);
[codex:1016432]     }
[codex:1016432] 
[codex:1016432]     /**
[codex:1016432]      * @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal representation.
[codex:1016432]      */
[codex:1016432]     function toHexString(address addr) internal pure returns (string memory) {
[codex:1016432] 
[codex:1016432] thinking
[codex:1016432] **Continuing task execution**
[codex:1016432] exec
[codex:1016432] /bin/bash -lc "sed -n '1501,2000p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-2c7m_cyi succeeded in 6ms:
[codex:1016432]      * WARNING: Anyone calling this MUST ensure that the balances remain consistent with the ownership. The invariant
[codex:1016432]      * being that for any address `a` the value returned by `balanceOf(a)` must be equal to the number of tokens such
[codex:1016432]      * that `ownerOf(tokenId)` is `a`.
[codex:1016432]      */
[codex:1016432]     // solhint-disable-next-line func-name-mixedcase
[codex:1016432]     function __unsafe_increaseBalance(address account, uint256 amount) internal {
[codex:1016432]         _balances[account] += amount;
[codex:1016432]     }
[codex:1016432] }
[codex:1016432] 
[codex:1016432] // OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/utils/SafeERC20.sol)
[codex:1016432] 
[codex:1016432] // OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/extensions/IERC20Permit.sol)
[codex:1016432] 
[codex:1016432] /**
[codex:1016432]  * @dev Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in
[codex:1016432]  * https://eips.ethereum.org/EIPS/eip-2612[EIP-2612].
[codex:1016432]  *
[codex:1016432]  * Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by
[codex:1016432]  * presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't
[codex:1016432] 
[codex:1016432] thinking
[codex:1016432] **Continuing exploration**
[codex:1016432] exec
[codex:1016432] /bin/bash -lc "sed -n '2001,2500p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-2c7m_cyi succeeded in 6ms:
[codex:1016432]      */
[codex:1016432]     function toUint160(uint256 value) internal pure returns (uint160) {
[codex:1016432]         require(value <= type(uint160).max, "SafeCast: value doesn't fit in 160 bits");
[codex:1016432]         return uint160(value);
[codex:1016432]     }
[codex:1016432] 
[codex:1016432]     /**
[codex:1016432]      * @dev Returns the downcasted uint152 from uint256, reverting on
[codex:1016432]      * overflow (when the input is greater than largest uint152).
[codex:1016432]      *
[codex:1016432]      * Counterpart to Solidity's `uint152` operator.
[codex:1016432]      *
[codex:1016432]      * Requirements:
[codex:1016432]      *
[codex:1016432]      * - input must fit into 152 bits
[codex:1016432]      *
[codex:1016432]      * _Available since v4.7._
[codex:1016432]      */
[codex:1016432]     function toUint152(uint256 value) internal pure returns (uint152) {
[codex:1016432]         require(value <= type(uint152).max, "SafeCast: value doesn't fit in 152 bits");
[codex:1016432] 
[codex:1016432] thinking
[codex:1016432] **Resuming reading from line 2501**
[codex:1016432] exec
[codex:1016432] /bin/bash -lc "sed -n '2501,3000p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-2c7m_cyi succeeded in 6ms:
[codex:1016432]     function toInt184(int256 value) internal pure returns (int184 downcasted) {
[codex:1016432]         downcasted = int184(value);
[codex:1016432]         require(downcasted == value, "SafeCast: value doesn't fit in 184 bits");
[codex:1016432]     }
[codex:1016432] 
[codex:1016432]     /**
[codex:1016432]      * @dev Returns the downcasted int176 from int256, reverting on
[codex:1016432]      * overflow (when the input is less than smallest int176 or
[codex:1016432]      * greater than largest int176).
[codex:1016432]      *
[codex:1016432]      * Counterpart to Solidity's `int176` operator.
[codex:1016432]      *
[codex:1016432]      * Requirements:
[codex:1016432]      *
[codex:1016432]      * - input must fit into 176 bits
[codex:1016432]      *
[codex:1016432]      * _Available since v4.7._
[codex:1016432]      */
[codex:1016432]     function toInt176(int256 value) internal pure returns (int176 downcasted) {
[codex:1016432]         downcasted = int176(value);
[codex:1016432] 
[codex:1016432] thinking
[codex:1016432] **Continuing code review beyond 3000**
[codex:1016432] exec
[codex:1016432] /bin/bash -lc "sed -n '3001,3500p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-2c7m_cyi succeeded in 5ms:
[codex:1016432]     /// @dev This function is to be implemented by a public function
[codex:1016432]     /// @param _newTimelock The address of the new timelock
[codex:1016432]     function _setTimelock(address _newTimelock) internal {
[codex:1016432]         emit TimelockTransferred(timelockAddress, _newTimelock);
[codex:1016432]         timelockAddress = _newTimelock;
[codex:1016432]     }
[codex:1016432] 
[codex:1016432]     // ============================================================================================
[codex:1016432]     // Functions: Internal Checks
[codex:1016432]     // ============================================================================================
[codex:1016432] 
[codex:1016432]     /// @notice The ```_isTimelock``` function checks if _address is current timelock address
[codex:1016432]     /// @param _address The address to check against the timelock
[codex:1016432]     /// @return Whether or not msg.sender is current timelock address
[codex:1016432]     function _isTimelock(address _address) internal view returns (bool) {
[codex:1016432]         return _address == timelockAddress;
[codex:1016432]     }
[codex:1016432] 
[codex:1016432]     /// @notice The ```_requireIsTimelock``` function reverts if _address is not current timelock address
[codex:1016432]     /// @param _address The address to check against the timelock
[codex:1016432] 
[codex:1016432] thinking
[codex:1016432] **Requesting remainder of content**
[codex:1016432] exec
[codex:1016432] /bin/bash -lc "sed -n '3501,4000p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-2c7m_cyi succeeded in 8ms:
[codex:1016432]         uint64 maturityTimestamp,
[codex:1016432]         uint256 earlyExitFee
[codex:1016432]     );
[codex:1016432] 
[codex:1016432]     /// @notice Enter the queue for redeeming frxEth 1-to-1 for Eth, without the need to approve first (EIP-712 / EIP-2612)
[codex:1016432]     /// @notice Will generate a FrxEthRedemptionTicket NFT that can be redeemed for the actual Eth later.
[codex:1016432]     /// @param _amountToRedeem Amount of frxETH to redeem
[codex:1016432]     /// @param _recipient Recipient of the NFT. Must be ERC721 compatible if a contract
[codex:1016432]     /// @param _deadline Deadline for this signature
[codex:1016432]     /// @param _nftId The ID of the FrxEthRedemptionTicket NFT
[codex:1016432]     function enterRedemptionQueueWithPermit(
[codex:1016432]         uint120 _amountToRedeem,
[codex:1016432]         address _recipient,
[codex:1016432]         uint256 _deadline,
[codex:1016432]         uint8 _v,
[codex:1016432]         bytes32 _r,
[codex:1016432]         bytes32 _s
[codex:1016432]     ) external returns (uint256 _nftId) {
[codex:1016432]         // Call the permit
[codex:1016432]         FRX_ETH.permit({
[codex:1016432] 
[codex:1016432] thinking
[codex:1016432] **Concluding security analysis**
[codex:1016432] 
[codex:1016432] I've carefully examined possible reentrancy, permit misuse, and token transfer behaviors, weighing risks from trusted libraries versus external tokens; after considering attack vectors and assumptions, I see no exploitable paths to extract assets, so I'll finalize a clean no-findings report.
[codex:1016432] codex
[codex:1016432] {"no_findings":true,"summary":"No concrete, exploitable paths to extract ETH/tokens/NFTs found in the audited contract.","findings":[]}
[codex:1016432] tokens used
[codex:1016432] 95,029
[codex:1016432] {"no_findings":true,"summary":"No concrete, exploitable paths to extract ETH/tokens/NFTs found in the audited contract.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-02T15:23:53.128183+00:00",
        "returncode": 0
    },
    "summary": "No concrete, exploitable paths to extract ETH/tokens/NFTs found in the audited contract.",
    "raw_final": {
        "summary": "No concrete, exploitable paths to extract ETH/tokens/NFTs found in the audited contract.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
1
CALL-family (heavy)
8
EXT*/BALANCE
6
Total opcodes
7263
Flags
create_opcodes_present heavy_ext_balance_usage
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x02d5
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x70a08231
00000019: GT
0000001a: PUSH2 0x0179
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xbc7aed03
00000024: GT
00000025: PUSH2 0x00d6
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xe14cbb8a
0000002f: GT
00000030: PUSH2 0x008a
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xe985e9c5
0000003a: GT
0000003b: PUSH2 0x0064
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xe985e9c5
00000045: EQ
00000046: PUSH2 0x09ea
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xf6ccaad4
00000050: EQ
00000051: PUSH2 0x0a40
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xf737c276
0000005b: EQ
0000005c: PUSH2 0x0a55
0000005f: JUMPI
00000060: PUSH1 0x00
00000062: DUP1
00000063: REVERT
00000064: JUMPDEST
00000065: DUP1
00000066: PUSH4 0xe14cbb8a
0000006b: EQ
0000006c: PUSH2 0x097a
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0xe63a391f
00000076: EQ
00000077: PUSH2 0x099a
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0xe74b981b
00000081: EQ
00000082: PUSH2 0x09ca
00000085: JUMPI
00000086: PUSH1 0x00
00000088: DUP1
00000089: REVERT
0000008a: JUMPDEST
0000008b: DUP1
0000008c: PUSH4 0xc87b56dd
00000091: GT
00000092: PUSH2 0x00bb
00000095: JUMPI
00000096: DUP1
00000097: PUSH4 0xc87b56dd
0000009c: EQ
0000009d: PUSH2 0x091a
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0xcfbdd6a0
000000a7: EQ
000000a8: PUSH2 0x093a
000000ab: JUMPI
000000ac: DUP1
000000ad: PUSH4 0xda577ef1
000000b2: EQ
000000b3: PUSH2 0x095a
000000b6: JUMPI
000000b7: PUSH1 0x00
000000b9: DUP1
000000ba: REVERT
000000bb: JUMPDEST
000000bc: DUP1
000000bd: PUSH4 0xbc7aed03
000000c2: EQ
000000c3: PUSH2 0x08da
000000c6: JUMPI
000000c7: DUP1
000000c8: PUSH4 0xc3d31487
000000cd: EQ
000000ce: PUSH2 0x08fa
000000d1: JUMPI
000000d2: PUSH1 0x00
000000d4: DUP1
000000d5: REVERT
000000d6: JUMPDEST
000000d7: DUP1
000000d8: PUSH4 0x9ac93022
000000dd: GT
000000de: PUSH2 0x012d
000000e1: JUMPI
000000e2: DUP1
000000e3: PUSH4 0xb3ab15fb
000000e8: GT
000000e9: PUSH2 0x0112
000000ec: JUMPI
000000ed: DUP1
000000ee: PUSH4 0xb3ab15fb
000000f3: EQ
000000f4: PUSH2 0x087a
000000f7: JUMPI
000000f8: DUP1
000000f9: PUSH4 0xb88d4fde
000000fe: EQ
000000ff: PUSH2 0x089a
00000102: JUMPI
00000103: DUP1
00000104: PUSH4 0xbbe9ea74
00000109: EQ
0000010a: PUSH2 0x08ba
0000010d: JUMPI
0000010e: PUSH1 0x00
00000110: DUP1
00000111: REVERT
00000112: JUMPDEST
00000113: DUP1
00000114: PUSH4 0x9ac93022
00000119: EQ
0000011a: PUSH2 0x083a
0000011d: JUMPI
0000011e: DUP1
0000011f: PUSH4 0xa22cb465
00000124: EQ
00000125: PUSH2 0x085a
00000128: JUMPI
00000129: PUSH1 0x00
0000012b: DUP1
0000012c: REVERT
0000012d: JUMPDEST
0000012e: DUP1
0000012f: PUSH4 0x7d7d7b0a
00000134: GT
00000135: PUSH2 0x015e
00000138: JUMPI
00000139: DUP1
0000013a: PUSH4 0x7d7d7b0a
0000013f: EQ
00000140: PUSH2 0x07d1
00000143: JUMPI
00000144: DUP1
00000145: PUSH4 0x838f3b68
0000014a: EQ
0000014b: PUSH2 0x0805
0000014e: JUMPI
0000014f: DUP1
00000150: PUSH4 0x95d89b41
00000155: EQ
00000156: PUSH2 0x0825
00000159: JUMPI
0000015a: PUSH1 0x00
0000015c: DUP1
0000015d: REVERT
0000015e: JUMPDEST
0000015f: DUP1
00000160: PUSH4 0x70a08231
00000165: EQ
00000166: PUSH2 0x0791
00000169: JUMPI
0000016a: DUP1
0000016b: PUSH4 0x738a8ce6
00000170: EQ
00000171: PUSH2 0x07b1
00000174: JUMPI
00000175: PUSH1 0x00
00000177: DUP1
00000178: REVERT
00000179: JUMPDEST
0000017a: DUP1
0000017b: PUSH4 0x23b872dd
00000180: GT
00000181: PUSH2 0x0232
00000184: JUMPI
00000185: DUP1
00000186: PUSH4 0x4bc66f32
0000018b: GT
0000018c: PUSH2 0x01e6
0000018f: JUMPI
00000190: DUP1
00000191: PUSH4 0x6352211e
00000196: GT
00000197: PUSH2 0x01c0
0000019a: JUMPI
0000019b: DUP1
0000019c: PUSH4 0x6352211e
000001a1: EQ
000001a2: PUSH2 0x071d
000001a5: JUMPI
000001a6: DUP1
000001a7: PUSH4 0x64cb1688
000001ac: EQ
000001ad: PUSH2 0x073d
000001b0: JUMPI
000001b1: DUP1
000001b2: PUSH4 0x6ae3535e
000001b7: EQ
000001b8: PUSH2 0x075d
000001bb: JUMPI
000001bc: PUSH1 0x00
000001be: DUP1
000001bf: REVERT
000001c0: JUMPDEST
000001c1: DUP1
000001c2: PUSH4 0x4bc66f32
000001c7: EQ
000001c8: PUSH2 0x06ad
000001cb: JUMPI
000001cc: DUP1
000001cd: PUSH4 0x4f4798ae
000001d2: EQ
000001d3: PUSH2 0x06da
000001d6: JUMPI
000001d7: DUP1
000001d8: PUSH4 0x4f8b4ae7
000001dd: EQ
000001de: PUSH2 0x0708
000001e1: JUMPI
000001e2: PUSH1 0x00
000001e4: DUP1
000001e5: REVERT
000001e6: JUMPDEST
000001e7: DUP1
000001e8: PUSH4 0x42842e0e
000001ed: GT
000001ee: PUSH2 0x0217
000001f1: JUMPI
000001f2: DUP1
000001f3: PUSH4 0x42842e0e
000001f8: EQ
000001f9: PUSH2 0x0640
000001fc: JUMPI
000001fd: DUP1
000001fe: PUSH4 0x45014095
00000203: EQ
00000204: PUSH2 0x0660
00000207: JUMPI
00000208: DUP1
00000209: PUSH4 0x46904840
0000020e: EQ
0000020f: PUSH2 0x0680
00000212: JUMPI
00000213: PUSH1 0x00
00000215: DUP1
00000216: REVERT
00000217: JUMPDEST
00000218: DUP1
00000219: PUSH4 0x23b872dd
0000021e: EQ
0000021f: PUSH2 0x05e0
00000222: JUMPI
00000223: DUP1
00000224: PUSH4 0x420a5538
00000229: EQ
0000022a: PUSH2 0x0600
0000022d: JUMPI
0000022e: PUSH1 0x00
00000230: DUP1
00000231: REVERT
00000232: JUMPDEST
00000233: DUP1
00000234: PUSH4 0x0a5334e5
00000239: GT
0000023a: PUSH2 0x0289
0000023d: JUMPI
0000023e: DUP1
0000023f: PUSH4 0x127effb2
00000244: GT
00000245: PUSH2 0x026e
00000248: JUMPI
00000249: DUP1
0000024a: PUSH4 0x127effb2
0000024f: EQ
00000250: PUSH2 0x0456
00000253: JUMPI
00000254: DUP1
00000255: PUSH4 0x1494ef63
0000025a: EQ
0000025b: PUSH2 0x0483
0000025e: JUMPI
0000025f: DUP1
00000260: PUSH4 0x16b79639
00000265: EQ
00000266: PUSH2 0x051e
00000269: JUMPI
0000026a: PUSH1 0x00
0000026c: DUP1
0000026d: REVERT
0000026e: JUMPDEST
0000026f: DUP1
00000270: PUSH4 0x0a5334e5
00000275: EQ
00000276: PUSH2 0x03cc
00000279: JUMPI
0000027a: DUP1
0000027b: PUSH4 0x103cf9e3
00000280: EQ
00000281: PUSH2 0x03ec
00000284: JUMPI
00000285: PUSH1 0x00
00000287: DUP1
00000288: REVERT
00000289: JUMPDEST
0000028a: DUP1
0000028b: PUSH4 0x081812fc
00000290: GT
00000291: PUSH2 0x02ba
00000294: JUMPI
00000295: DUP1
00000296: PUSH4 0x081812fc
0000029b: EQ
0000029c: PUSH2 0x0338
0000029f: JUMPI
000002a0: DUP1
000002a1: PUSH4 0x090f3f50
000002a6: EQ
000002a7: PUSH2 0x037d
000002aa: JUMPI
000002ab: DUP1
000002ac: PUSH4 0x095ea7b3
000002b1: EQ
000002b2: PUSH2 0x03aa
000002b5: JUMPI
000002b6: PUSH1 0x00
000002b8: DUP1
000002b9: REVERT
000002ba: JUMPDEST
000002bb: DUP1
000002bc: PUSH4 0x01ffc9a7
000002c1: EQ
000002c2: PUSH2 0x02e1
000002c5: JUMPI
000002c6: DUP1
000002c7: PUSH4 0x06fdde03
000002cc: EQ
000002cd: PUSH2 0x0316
000002d0: JUMPI
000002d1: PUSH1 0x00
000002d3: DUP1
000002d4: REVERT
000002d5: JUMPDEST
000002d6: CALLDATASIZE
000002d7: PUSH2 0x02dc
000002da: JUMPI
000002db: STOP
000002dc: JUMPDEST
000002dd: PUSH1 0x00
000002df: DUP1
000002e0: REVERT
000002e1: JUMPDEST
000002e2: CALLVALUE
000002e3: DUP1
000002e4: ISZERO
000002e5: PUSH2 0x02ed
000002e8: JUMPI
000002e9: PUSH1 0x00
000002eb: DUP1
000002ec: REVERT
000002ed: JUMPDEST
000002ee: POP
000002ef: PUSH2 0x0301
000002f2: PUSH2 0x02fc
000002f5: CALLDATASIZE
000002f6: PUSH1 0x04
000002f8: PUSH2 0x3de7
000002fb: JUMP
000002fc: JUMPDEST
000002fd: PUSH2 0x0a6b
00000300: JUMP
00000301: JUMPDEST
00000302: PUSH1 0x40
00000304: MLOAD
00000305: SWAP1
00000306: ISZERO
00000307: ISZERO
00000308: DUP2
00000309: MSTORE
0000030a: PUSH1 0x20
0000030c: ADD
0000030d: JUMPDEST
0000030e: PUSH1 0x40
00000310: MLOAD
00000311: DUP1
00000312: SWAP2
00000313: SUB
00000314: SWAP1
00000315: RETURN
00000316: JUMPDEST
00000317: CALLVALUE
00000318: DUP1
00000319: ISZERO
0000031a: PUSH2 0x0322
0000031d: JUMPI
0000031e: PUSH1 0x00
00000320: DUP1
00000321: REVERT
00000322: JUMPDEST
00000323: POP
00000324: PUSH2 0x032b
00000327: PUSH2 0x0b50
0000032a: JUMP
0000032b: JUMPDEST
0000032c: PUSH1 0x40
0000032e: MLOAD
0000032f: PUSH2 0x030d
00000332: SWAP2
00000333: SWAP1
00000334: PUSH2 0x3e72
00000337: JUMP
00000338: JUMPDEST
00000339: CALLVALUE
0000033a: DUP1
0000033b: ISZERO
0000033c: PUSH2 0x0344
0000033f: JUMPI
00000340: PUSH1 0x00
00000342: DUP1
00000343: REVERT
00000344: JUMPDEST
00000345: POP
00000346: PUSH2 0x0358
00000349: PUSH2 0x0353
0000034c: CALLDATASIZE
0000034d: PUSH1 0x04
0000034f: PUSH2 0x3e85
00000352: JUMP
00000353: JUMPDEST
00000354: PUSH2 0x0be2
00000357: JUMP
00000358: JUMPDEST
00000359: PUSH1 0x40
0000035b: MLOAD
0000035c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000371: SWAP1
00000372: SWAP2
00000373: AND
00000374: DUP2
00000375: MSTORE
00000376: PUSH1 0x20
00000378: ADD
00000379: PUSH2 0x030d
0000037c: JUMP
0000037d: JUMPDEST
0000037e: CALLVALUE
0000037f: DUP1
00000380: ISZERO
00000381: PUSH2 0x0389
00000384: JUMPI
00000385: PUSH1 0x00
00000387: DUP1
00000388: REVERT
00000389: JUMPDEST
0000038a: POP
0000038b: PUSH1 0x06
0000038d: SLOAD
0000038e: PUSH2 0x0358
00000391: SWAP1
00000392: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003a7: AND
000003a8: DUP2
000003a9: JUMP
000003aa: JUMPDEST
000003ab: CALLVALUE
000003ac: DUP1
000003ad: ISZERO
000003ae: PUSH2 0x03b6
000003b1: JUMPI
000003b2: PUSH1 0x00
000003b4: DUP1
000003b5: REVERT
000003b6: JUMPDEST
000003b7: POP
000003b8: PUSH2 0x03ca
000003bb: PUSH2 0x03c5
000003be: CALLDATASIZE
000003bf: PUSH1 0x04
000003c1: PUSH2 0x3ec0
000003c4: JUMP
000003c5: JUMPDEST
000003c6: PUSH2 0x0c16
000003c9: JUMP
000003ca: JUMPDEST
000003cb: STOP
000003cc: JUMPDEST
000003cd: CALLVALUE
000003ce: DUP1
000003cf: ISZERO
000003d0: PUSH2 0x03d8
000003d3: JUMPI
000003d4: PUSH1 0x00
000003d6: DUP1
000003d7: REVERT
000003d8: JUMPDEST
000003d9: POP
000003da: PUSH2 0x03ca
000003dd: PUSH2 0x03e7
000003e0: CALLDATASIZE
000003e1: PUSH1 0x04
000003e3: PUSH2 0x3eec
000003e6: JUMP
000003e7: JUMPDEST
000003e8: PUSH2 0x0da7
000003eb: JUMP
000003ec: JUMPDEST
000003ed: CALLVALUE
000003ee: DUP1
000003ef: ISZERO
000003f0: PUSH2 0x03f8
000003f3: JUMPI
000003f4: PUSH1 0x00
000003f6: DUP1
000003f7: REVERT
000003f8: JUMPDEST
000003f9: POP
000003fa: PUSH1 0x0b
000003fc: SLOAD
000003fd: PUSH2 0x042d
00000400: SWAP1
00000401: PUSH16 0xffffffffffffffffffffffffffffffff
00000412: DUP1
00000413: DUP3
00000414: AND
00000415: SWAP2
00000416: PUSH17 0x0100000000000000000000000000000000
00000428: SWAP1
00000429: DIV
0000042a: AND
0000042b: DUP3
0000042c: JUMP
0000042d: JUMPDEST
0000042e: PUSH1 0x40
00000430: DUP1
00000431: MLOAD
00000432: PUSH16 0xffffffffffffffffffffffffffffffff
00000443: SWAP4
00000444: DUP5
00000445: AND
00000446: DUP2
00000447: MSTORE
00000448: SWAP3
00000449: SWAP1
0000044a: SWAP2
0000044b: AND
0000044c: PUSH1 0x20
0000044e: DUP4
0000044f: ADD
00000450: MSTORE
00000451: ADD
00000452: PUSH2 0x030d
00000455: JUMP
00000456: JUMPDEST
00000457: CALLVALUE
00000458: DUP1
00000459: ISZERO
0000045a: PUSH2 0x0462
0000045d: JUMPI
0000045e: PUSH1 0x00
00000460: DUP1
00000461: REVERT
00000462: JUMPDEST
00000463: POP
00000464: PUSH1 0x08
00000466: SLOAD
00000467: PUSH2 0x0358
0000046a: SWAP1
0000046b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000480: AND
00000481: DUP2
00000482: JUMP
00000483: JUMPDEST
00000484: CALLVALUE
00000485: DUP1
00000486: ISZERO
00000487: PUSH2 0x048f
0000048a: JUMPI
0000048b: PUSH1 0x00
0000048d: DUP1
0000048e: REVERT
0000048f: JUMPDEST
00000490: POP
00000491: PUSH1 0x0a
00000493: SLOAD
00000494: PUSH2 0x04ea
00000497: SWAP1
00000498: PUSH8 0xffffffffffffffff
000004a1: DUP1
000004a2: DUP3
000004a3: AND
000004a4: SWAP2
000004a5: PUSH9 0x010000000000000000
000004af: DUP2
000004b0: DIV
000004b1: DUP3
000004b2: AND
000004b3: SWAP2
000004b4: PUSH17 0x0100000000000000000000000000000000
000004c6: DUP3
000004c7: DIV
000004c8: DUP2
000004c9: AND
000004ca: SWAP2
000004cb: PUSH25 0x01000000000000000000000000000000000000000000000000
000004e5: SWAP1
000004e6: DIV
000004e7: AND
000004e8: DUP5
000004e9: JUMP
000004ea: JUMPDEST
000004eb: PUSH1 0x40
000004ed: DUP1
000004ee: MLOAD
000004ef: PUSH8 0xffffffffffffffff
000004f8: SWAP6
000004f9: DUP7
000004fa: AND
000004fb: DUP2
000004fc: MSTORE
000004fd: SWAP4
000004fe: DUP6
000004ff: AND
00000500: PUSH1 0x20
00000502: DUP6
00000503: ADD
00000504: MSTORE
00000505: SWAP2
00000506: DUP5
00000507: AND
00000508: SWAP2
00000509: DUP4
0000050a: ADD
0000050b: SWAP2
0000050c: SWAP1
0000050d: SWAP2
0000050e: MSTORE
0000050f: SWAP1
00000510: SWAP2
00000511: AND
00000512: PUSH1 0x60
00000514: DUP3
00000515: ADD
00000516: MSTORE
00000517: PUSH1 0x80
00000519: ADD
0000051a: PUSH2 0x030d
0000051d: JUMP
0000051e: JUMPDEST
0000051f: CALLVALUE
00000520: DUP1
00000521: ISZERO
00000522: PUSH2 0x052a
00000525: JUMPI
00000526: PUSH1 0x00
00000528: DUP1
00000529: REVERT
0000052a: JUMPDEST
0000052b: POP
0000052c: PUSH2 0x059e
0000052f: PUSH2 0x0539
00000532: CALLDATASIZE
00000533: PUSH1 0x04
00000535: PUSH2 0x3e85
00000538: JUMP
00000539: JUMPDEST
0000053a: PUSH1 0x0c
0000053c: PUSH1 0x20
0000053e: MSTORE
0000053f: PUSH1 0x00
00000541: SWAP1
00000542: DUP2
00000543: MSTORE
00000544: PUSH1 0x40
00000546: SWAP1
00000547: KECCAK256
00000548: SLOAD
00000549: PUSH1 0xff
0000054b: DUP2
0000054c: AND
0000054d: SWAP1
0000054e: PUSH8 0xffffffffffffffff
00000557: PUSH2 0x0100
0000055a: DUP3
0000055b: DIV
0000055c: DUP2
0000055d: AND
0000055e: SWAP2
0000055f: PUSH15 0xffffffffffffffffffffffffffffff
0000056f: PUSH10 0x01000000000000000000
0000057a: DUP3
0000057b: DIV
0000057c: AND
0000057d: SWAP2
0000057e: PUSH25 0x01000000000000000000000000000000000000000000000000
00000598: SWAP1
00000599: SWAP2
0000059a: DIV
0000059b: AND
0000059c: DUP5
0000059d: JUMP
0000059e: JUMPDEST
0000059f: PUSH1 0x40
000005a1: DUP1
000005a2: MLOAD
000005a3: SWAP5
000005a4: ISZERO
000005a5: ISZERO
000005a6: DUP6
000005a7: MSTORE
000005a8: PUSH8 0xffffffffffffffff
000005b1: SWAP4
000005b2: DUP5
000005b3: AND
000005b4: PUSH1 0x20
000005b6: DUP7
000005b7: ADD
000005b8: MSTORE
000005b9: PUSH15 0xffffffffffffffffffffffffffffff
000005c9: SWAP1
000005ca: SWAP3
000005cb: AND
000005cc: SWAP2
000005cd: DUP5
000005ce: ADD
000005cf: SWAP2
000005d0: SWAP1
000005d1: SWAP2
000005d2: MSTORE
000005d3: AND
000005d4: PUSH1 0x60
000005d6: DUP3
000005d7: ADD
000005d8: MSTORE
000005d9: PUSH1 0x80
000005db: ADD
000005dc: PUSH2 0x030d
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: PUSH2 0x03ca
000005f1: PUSH2 0x05fb
000005f4: CALLDATASIZE
000005f5: PUSH1 0x04
000005f7: PUSH2 0x3f1c
000005fa: JUMP
000005fb: JUMPDEST
000005fc: PUSH2 0x0ee2
000005ff: JUMP
00000600: JUMPDEST
00000601: CALLVALUE
00000602: DUP1
00000603: ISZERO
00000604: PUSH2 0x060c
00000607: JUMPI
00000608: PUSH1 0x00
0000060a: DUP1
0000060b: REVERT
0000060c: JUMPDEST
0000060d: POP
0000060e: PUSH2 0x0620
00000611: PUSH2 0x061b
00000614: CALLDATASIZE
00000615: PUSH1 0x04
00000617: PUSH2 0x3ec0
0000061a: JUMP
0000061b: JUMPDEST
0000061c: PUSH2 0x0f83
0000061f: JUMP
00000620: JUMPDEST
00000621: PUSH1 0x40
00000623: MLOAD
00000624: PUSH15 0xffffffffffffffffffffffffffffff
00000634: SWAP1
00000635: SWAP2
00000636: AND
00000637: DUP2
00000638: MSTORE
00000639: PUSH1 0x20
0000063b: ADD
0000063c: PUSH2 0x030d
0000063f: JUMP
00000640: JUMPDEST
00000641: CALLVALUE
00000642: DUP1
00000643: ISZERO
00000644: PUSH2 0x064c
00000647: JUMPI
00000648: PUSH1 0x00
0000064a: DUP1
0000064b: REVERT
0000064c: JUMPDEST
0000064d: POP
0000064e: PUSH2 0x03ca
00000651: PUSH2 0x065b
00000654: CALLDATASIZE
00000655: PUSH1 0x04
00000657: PUSH2 0x3f1c
0000065a: JUMP
0000065b: JUMPDEST
0000065c: PUSH2 0x128b
0000065f: JUMP
00000660: JUMPDEST
00000661: CALLVALUE
00000662: DUP1
00000663: ISZERO
00000664: PUSH2 0x066c
00000667: JUMPI
00000668: PUSH1 0x00
0000066a: DUP1
0000066b: REVERT
0000066c: JUMPDEST
0000066d: POP
0000066e: PUSH2 0x03ca
00000671: PUSH2 0x067b
00000674: CALLDATASIZE
00000675: PUSH1 0x04
00000677: PUSH2 0x3f5d
0000067a: JUMP
0000067b: JUMPDEST
0000067c: PUSH2 0x12a6
0000067f: JUMP
00000680: JUMPDEST
00000681: CALLVALUE
00000682: DUP1
00000683: ISZERO
00000684: PUSH2 0x068c
00000687: JUMPI
00000688: PUSH1 0x00
0000068a: DUP1
0000068b: REVERT
0000068c: JUMPDEST
0000068d: POP
0000068e: PUSH1 0x0e
00000690: SLOAD
00000691: PUSH2 0x0358
00000694: SWAP1
00000695: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006aa: AND
000006ab: DUP2
000006ac: JUMP
000006ad: JUMPDEST
000006ae: CALLVALUE
000006af: DUP1
000006b0: ISZERO
000006b1: PUSH2 0x06b9
000006b4: JUMPI
000006b5: PUSH1 0x00
000006b7: DUP1
000006b8: REVERT
000006b9: JUMPDEST
000006ba: POP
000006bb: PUSH1 0x07
000006bd: SLOAD
000006be: PUSH2 0x0358
000006c1: SWAP1
000006c2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006d7: AND
000006d8: DUP2
000006d9: JUMP
000006da: JUMPDEST
000006db: CALLVALUE
000006dc: DUP1
000006dd: ISZERO
000006de: PUSH2 0x06e6
000006e1: JUMPI
000006e2: PUSH1 0x00
000006e4: DUP1
000006e5: REVERT
000006e6: JUMPDEST
000006e7: POP
000006e8: PUSH2 0x06fa
000006eb: PUSH2 0x06f5
000006ee: CALLDATASIZE
000006ef: PUSH1 0x04
000006f1: PUSH2 0x3f9e
000006f4: JUMP
000006f5: JUMPDEST
000006f6: PUSH2 0x12ba
000006f9: JUMP
000006fa: JUMPDEST
000006fb: PUSH1 0x40
000006fd: MLOAD
000006fe: SWAP1
000006ff: DUP2
00000700: MSTORE
00000701: PUSH1 0x20
00000703: ADD
00000704: PUSH2 0x030d
00000707: JUMP
00000708: JUMPDEST
00000709: CALLVALUE
0000070a: DUP1
0000070b: ISZERO
0000070c: PUSH2 0x0714
0000070f: JUMPI
00000710: PUSH1 0x00
00000712: DUP1
00000713: REVERT
00000714: JUMPDEST
00000715: POP
00000716: PUSH2 0x03ca
00000719: PUSH2 0x131b
0000071c: JUMP
0000071d: JUMPDEST
0000071e: CALLVALUE
0000071f: DUP1
00000720: ISZERO
00000721: PUSH2 0x0729
00000724: JUMPI
00000725: PUSH1 0x00
00000727: DUP1
00000728: REVERT
00000729: JUMPDEST
0000072a: POP
0000072b: PUSH2 0x0358
0000072e: PUSH2 0x0738
00000731: CALLDATASIZE
00000732: PUSH1 0x04
00000734: PUSH2 0x3e85
00000737: JUMP
00000738: JUMPDEST
00000739: PUSH2 0x1341
0000073c: JUMP
0000073d: JUMPDEST
0000073e: CALLVALUE
0000073f: DUP1
00000740: ISZERO
00000741: PUSH2 0x0749
00000744: JUMPI
00000745: PUSH1 0x00
00000747: DUP1
00000748: REVERT
00000749: JUMPDEST
0000074a: POP
0000074b: PUSH2 0x03ca
0000074e: PUSH2 0x0758
00000751: CALLDATASIZE
00000752: PUSH1 0x04
00000754: PUSH2 0x3fd3
00000757: JUMP
00000758: JUMPDEST
00000759: PUSH2 0x13cd
0000075c: JUMP
0000075d: JUMPDEST
0000075e: CALLVALUE
0000075f: DUP1
00000760: ISZERO
00000761: PUSH2 0x0769
00000764: JUMPI
00000765: PUSH1 0x00
00000767: DUP1
00000768: REVERT
00000769: JUMPDEST
0000076a: POP
0000076b: PUSH2 0x0358
0000076e: PUSH32 0x0000000000000000000000005e8422345238f34275888049021821e8e08caa1f
0000078f: DUP2
00000790: JUMP
00000791: JUMPDEST
00000792: CALLVALUE
00000793: DUP1
00000794: ISZERO
00000795: PUSH2 0x079d
00000798: JUMPI
00000799: PUSH1 0x00
0000079b: DUP1
0000079c: REVERT
0000079d: JUMPDEST
0000079e: POP
0000079f: PUSH2 0x06fa
000007a2: PUSH2 0x07ac
000007a5: CALLDATASIZE
000007a6: PUSH1 0x04
000007a8: PUSH2 0x3f5d
000007ab: JUMP
000007ac: JUMPDEST
000007ad: PUSH2 0x15b1
000007b0: JUMP
000007b1: JUMPDEST
000007b2: CALLVALUE
000007b3: DUP1
000007b4: ISZERO
000007b5: PUSH2 0x07bd
000007b8: JUMPI
000007b9: PUSH1 0x00
000007bb: DUP1
000007bc: REVERT
000007bd: JUMPDEST
000007be: POP
000007bf: PUSH2 0x03ca
000007c2: PUSH2 0x07cc
000007c5: CALLDATASIZE
000007c6: PUSH1 0x04
000007c8: PUSH2 0x3ec0
000007cb: JUMP
000007cc: JUMPDEST
000007cd: PUSH2 0x167f
000007d0: JUMP
000007d1: JUMPDEST
000007d2: CALLVALUE
000007d3: DUP1
000007d4: ISZERO
000007d5: PUSH2 0x07dd
000007d8: JUMPI
000007d9: PUSH1 0x00
000007db: DUP1
000007dc: REVERT
000007dd: JUMPDEST
000007de: POP
000007df: PUSH2 0x0358
000007e2: PUSH32 0x000000000000000000000000ac3e018457b222d93114458476f3e3416abbe38f
00000803: DUP2
00000804: JUMP
00000805: JUMPDEST
00000806: CALLVALUE
00000807: DUP1
00000808: ISZERO
00000809: PUSH2 0x0811
0000080c: JUMPI
0000080d: PUSH1 0x00
0000080f: DUP1
00000810: REVERT
00000811: JUMPDEST
00000812: POP
00000813: PUSH2 0x06fa
00000816: PUSH2 0x0820
00000819: CALLDATASIZE
0000081a: PUSH1 0x04
0000081c: PUSH2 0x4005
0000081f: JUMP
00000820: JUMPDEST
00000821: PUSH2 0x16fb
00000824: JUMP
00000825: JUMPDEST
00000826: CALLVALUE
00000827: DUP1
00000828: ISZERO
00000829: PUSH2 0x0831
0000082c: JUMPI
0000082d: PUSH1 0x00
0000082f: DUP1
00000830: REVERT
00000831: JUMPDEST
00000832: POP
00000833: PUSH2 0x032b
00000836: PUSH2 0x17ed
00000839: JUMP
0000083a: JUMPDEST
0000083b: CALLVALUE
0000083c: DUP1
0000083d: ISZERO
0000083e: PUSH2 0x0846
00000841: JUMPI
00000842: PUSH1 0x00
00000844: DUP1
00000845: REVERT
00000846: JUMPDEST
00000847: POP
00000848: PUSH2 0x03ca
0000084b: PUSH2 0x0855
0000084e: CALLDATASIZE
0000084f: PUSH1 0x04
00000851: PUSH2 0x406e
00000854: JUMP
00000855: JUMPDEST
00000856: PUSH2 0x17fc
00000859: JUMP
0000085a: JUMPDEST
0000085b: CALLVALUE
0000085c: DUP1
0000085d: ISZERO
0000085e: PUSH2 0x0866
00000861: JUMPI
00000862: PUSH1 0x00
00000864: DUP1
00000865: REVERT
00000866: JUMPDEST
00000867: POP
00000868: PUSH2 0x03ca
0000086b: PUSH2 0x0875
0000086e: CALLDATASIZE
0000086f: PUSH1 0x04
00000871: PUSH2 0x40a6
00000874: JUMP
00000875: JUMPDEST
00000876: PUSH2 0x190b
00000879: JUMP
0000087a: JUMPDEST
0000087b: CALLVALUE
0000087c: DUP1
0000087d: ISZERO
0000087e: PUSH2 0x0886
00000881: JUMPI
00000882: PUSH1 0x00
00000884: DUP1
00000885: REVERT
00000886: JUMPDEST
00000887: POP
00000888: PUSH2 0x03ca
0000088b: PUSH2 0x0895
0000088e: CALLDATASIZE
0000088f: PUSH1 0x04
00000891: PUSH2 0x3f5d
00000894: JUMP
00000895: JUMPDEST
00000896: PUSH2 0x1916
00000899: JUMP
0000089a: JUMPDEST
0000089b: CALLVALUE
0000089c: DUP1
0000089d: ISZERO
0000089e: PUSH2 0x08a6
000008a1: JUMPI
000008a2: PUSH1 0x00
000008a4: DUP1
000008a5: REVERT
000008a6: JUMPDEST
000008a7: POP
000008a8: PUSH2 0x03ca
000008ab: PUSH2 0x08b5
000008ae: CALLDATASIZE
000008af: PUSH1 0x04
000008b1: PUSH2 0x4103
000008b4: JUMP
000008b5: JUMPDEST
000008b6: PUSH2 0x1927
000008b9: JUMP
000008ba: JUMPDEST
000008bb: CALLVALUE
000008bc: DUP1
000008bd: ISZERO
000008be: PUSH2 0x08c6
000008c1: JUMPI
000008c2: PUSH1 0x00
000008c4: DUP1
000008c5: REVERT
000008c6: JUMPDEST
000008c7: POP
000008c8: PUSH2 0x03ca
000008cb: PUSH2 0x08d5
000008ce: CALLDATASIZE
000008cf: PUSH1 0x04
000008d1: PUSH2 0x3e85
000008d4: JUMP
000008d5: JUMPDEST
000008d6: PUSH2 0x19cf
000008d9: JUMP
000008da: JUMPDEST
000008db: CALLVALUE
000008dc: DUP1
000008dd: ISZERO
000008de: PUSH2 0x08e6
000008e1: JUMPI
000008e2: PUSH1 0x00
000008e4: DUP1
000008e5: REVERT
000008e6: JUMPDEST
000008e7: POP
000008e8: PUSH2 0x03ca
000008eb: PUSH2 0x08f5
000008ee: CALLDATASIZE
000008ef: PUSH1 0x04
000008f1: PUSH2 0x406e
000008f4: JUMP
000008f5: JUMPDEST
000008f6: PUSH2 0x1a18
000008f9: JUMP
000008fa: JUMPDEST
000008fb: CALLVALUE
000008fc: DUP1
000008fd: ISZERO
000008fe: PUSH2 0x0906
00000901: JUMPI
00000902: PUSH1 0x00
00000904: DUP1
00000905: REVERT
00000906: JUMPDEST
00000907: POP
00000908: PUSH2 0x03ca
0000090b: PUSH2 0x0915
0000090e: CALLDATASIZE
0000090f: PUSH1 0x04
00000911: PUSH2 0x3e85
00000914: JUMP
00000915: JUMPDEST
00000916: PUSH2 0x1b3c
00000919: JUMP
0000091a: JUMPDEST
0000091b: CALLVALUE
0000091c: DUP1
0000091d: ISZERO
0000091e: PUSH2 0x0926
00000921: JUMPI
00000922: PUSH1 0x00
00000924: DUP1
00000925: REVERT
00000926: JUMPDEST
00000927: POP
00000928: PUSH2 0x032b
0000092b: PUSH2 0x0935
0000092e: CALLDATASIZE
0000092f: PUSH1 0x04
00000931: PUSH2 0x3e85
00000934: JUMP
00000935: JUMPDEST
00000936: PUSH2 0x1bfc
00000939: JUMP
0000093a: JUMPDEST
0000093b: CALLVALUE
0000093c: DUP1
0000093d: ISZERO
0000093e: PUSH2 0x0946
00000941: JUMPI
00000942: PUSH1 0x00
00000944: DUP1
00000945: REVERT
00000946: JUMPDEST
00000947: POP
00000948: PUSH2 0x03ca
0000094b: PUSH2 0x0955
0000094e: CALLDATASIZE
0000094f: PUSH1 0x04
00000951: PUSH2 0x406e
00000954: JUMP
00000955: JUMPDEST
00000956: PUSH2 0x1c70
00000959: JUMP
0000095a: JUMPDEST
0000095b: CALLVALUE
0000095c: DUP1
0000095d: ISZERO
0000095e: PUSH2 0x0966
00000961: JUMPI
00000962: PUSH1 0x00
00000964: DUP1
00000965: REVERT
00000966: JUMPDEST
00000967: POP
00000968: PUSH2 0x06fa
0000096b: PUSH2 0x0975
0000096e: CALLDATASIZE
0000096f: PUSH1 0x04
00000971: PUSH2 0x4005
00000974: JUMP
00000975: JUMPDEST
00000976: PUSH2 0x1d87
00000979: JUMP
0000097a: JUMPDEST
0000097b: CALLVALUE
0000097c: DUP1
0000097d: ISZERO
0000097e: PUSH2 0x0986
00000981: JUMPI
00000982: PUSH1 0x00
00000984: DUP1
00000985: REVERT
00000986: JUMPDEST
00000987: POP
00000988: PUSH2 0x06fa
0000098b: PUSH2 0x0995
0000098e: CALLDATASIZE
0000098f: PUSH1 0x04
00000991: PUSH2 0x3f9e
00000994: JUMP
00000995: JUMPDEST
00000996: PUSH2 0x1e6a
00000999: JUMP
0000099a: JUMPDEST
0000099b: CALLVALUE
0000099c: DUP1
0000099d: ISZERO
0000099e: PUSH2 0x09a6
000009a1: JUMPI
000009a2: PUSH1 0x00
000009a4: DUP1
000009a5: REVERT
000009a6: JUMPDEST
000009a7: POP
000009a8: PUSH2 0x09b1
000009ab: PUSH3 0x0f4240
000009af: DUP2
000009b0: JUMP
000009b1: JUMPDEST
000009b2: PUSH1 0x40
000009b4: MLOAD
000009b5: PUSH8 0xffffffffffffffff
000009be: SWAP1
000009bf: SWAP2
000009c0: AND
000009c1: DUP2
000009c2: MSTORE
000009c3: PUSH1 0x20
000009c5: ADD
000009c6: PUSH2 0x030d
000009c9: JUMP
000009ca: JUMPDEST
000009cb: CALLVALUE
000009cc: DUP1
000009cd: ISZERO
000009ce: PUSH2 0x09d6
000009d1: JUMPI
000009d2: PUSH1 0x00
000009d4: DUP1
000009d5: REVERT
000009d6: JUMPDEST
000009d7: POP
000009d8: PUSH2 0x03ca
000009db: PUSH2 0x09e5
000009de: CALLDATASIZE
000009df: PUSH1 0x04
000009e1: PUSH2 0x3f5d
000009e4: JUMP
000009e5: JUMPDEST
000009e6: PUSH2 0x1fa4
000009e9: JUMP
000009ea: JUMPDEST
000009eb: CALLVALUE
000009ec: DUP1
000009ed: ISZERO
000009ee: PUSH2 0x09f6
000009f1: JUMPI
000009f2: PUSH1 0x00
000009f4: DUP1
000009f5: REVERT
000009f6: JUMPDEST
000009f7: POP
000009f8: PUSH2 0x0301
000009fb: PUSH2 0x0a05
000009fe: CALLDATASIZE
000009ff: PUSH1 0x04
00000a01: PUSH2 0x4201
00000a04: JUMP
00000a05: JUMPDEST
00000a06: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a1b: SWAP2
00000a1c: DUP3
00000a1d: AND
00000a1e: PUSH1 0x00
00000a20: SWAP1
00000a21: DUP2
00000a22: MSTORE
00000a23: PUSH1 0x05
00000a25: PUSH1 0x20
00000a27: SWAP1
00000a28: DUP2
00000a29: MSTORE
00000a2a: PUSH1 0x40
00000a2c: DUP1
00000a2d: DUP4
00000a2e: KECCAK256
00000a2f: SWAP4
00000a30: SWAP1
00000a31: SWAP5
00000a32: AND
00000a33: DUP3
00000a34: MSTORE
00000a35: SWAP2
00000a36: SWAP1
00000a37: SWAP2
00000a38: MSTORE
00000a39: KECCAK256
00000a3a: SLOAD
00000a3b: PUSH1 0xff
00000a3d: AND
00000a3e: SWAP1
00000a3f: JUMP
00000a40: JUMPDEST
00000a41: CALLVALUE
00000a42: DUP1
00000a43: ISZERO
00000a44: PUSH2 0x0a4c
00000a47: JUMPI
00000a48: PUSH1 0x00
00000a4a: DUP1
00000a4b: REVERT
00000a4c: JUMPDEST
00000a4d: POP
00000a4e: PUSH2 0x03ca
00000a51: PUSH2 0x2047
00000a54: JUMP
00000a55: JUMPDEST
00000a56: CALLVALUE
00000a57: DUP1
00000a58: ISZERO
00000a59: PUSH2 0x0a61
00000a5c: JUMPI
00000a5d: PUSH1 0x00
00000a5f: DUP1
00000a60: REVERT
00000a61: JUMPDEST
00000a62: POP
00000a63: PUSH2 0x06fa
00000a66: PUSH1 0x0d
00000a68: SLOAD
00000a69: DUP2
00000a6a: JUMP
00000a6b: JUMPDEST
00000a6c: PUSH1 0x00
00000a6e: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
00000a8f: DUP3
00000a90: AND
00000a91: PUSH32 0x80ac58cd00000000000000000000000000000000000000000000000000000000
00000ab2: EQ
00000ab3: DUP1
00000ab4: PUSH2 0x0afe
00000ab7: JUMPI
00000ab8: POP
00000ab9: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
00000ada: DUP3
00000adb: AND
00000adc: PUSH32 0x5b5e139f00000000000000000000000000000000000000000000000000000000
00000afd: EQ
00000afe: JUMPDEST
00000aff: DUP1
00000b00: PUSH2 0x0b4a
00000b03: JUMPI
00000b04: POP
00000b05: PUSH32 0x01ffc9a700000000000000000000000000000000000000000000000000000000
00000b26: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
00000b47: DUP4
00000b48: AND
00000b49: EQ
00000b4a: JUMPDEST
00000b4b: SWAP3
00000b4c: SWAP2
00000b4d: POP
00000b4e: POP
00000b4f: JUMP
00000b50: JUMPDEST
00000b51: PUSH1 0x60
00000b53: PUSH1 0x00
00000b55: DUP1
00000b56: SLOAD
00000b57: PUSH2 0x0b5f
00000b5a: SWAP1
00000b5b: PUSH2 0x422f
00000b5e: JUMP
00000b5f: JUMPDEST
00000b60: DUP1
00000b61: PUSH1 0x1f
00000b63: ADD
00000b64: PUSH1 0x20
00000b66: DUP1
00000b67: SWAP2
00000b68: DIV
00000b69: MUL
00000b6a: PUSH1 0x20
00000b6c: ADD
00000b6d: PUSH1 0x40
00000b6f: MLOAD
00000b70: SWAP1
00000b71: DUP2
00000b72: ADD
00000b73: PUSH1 0x40
00000b75: MSTORE
00000b76: DUP1
00000b77: SWAP3
00000b78: SWAP2
00000b79: SWAP1
00000b7a: DUP2
00000b7b: DUP2
00000b7c: MSTORE
00000b7d: PUSH1 0x20
00000b7f: ADD
00000b80: DUP3
00000b81: DUP1
00000b82: SLOAD
00000b83: PUSH2 0x0b8b
00000b86: SWAP1
00000b87: PUSH2 0x422f
00000b8a: JUMP
00000b8b: JUMPDEST
00000b8c: DUP1
00000b8d: ISZERO
00000b8e: PUSH2 0x0bd8
00000b91: JUMPI
00000b92: DUP1
00000b93: PUSH1 0x1f
00000b95: LT
00000b96: PUSH2 0x0bad
00000b99: JUMPI
00000b9a: PUSH2 0x0100
00000b9d: DUP1
00000b9e: DUP4
00000b9f: SLOAD
00000ba0: DIV
00000ba1: MUL
00000ba2: DUP4
00000ba3: MSTORE
00000ba4: SWAP2
00000ba5: PUSH1 0x20
00000ba7: ADD
00000ba8: SWAP2
00000ba9: PUSH2 0x0bd8
00000bac: JUMP
00000bad: JUMPDEST
00000bae: DUP3
00000baf: ADD
00000bb0: SWAP2
00000bb1: SWAP1
00000bb2: PUSH1 0x00
00000bb4: MSTORE
00000bb5: PUSH1 0x20
00000bb7: PUSH1 0x00
00000bb9: KECCAK256
00000bba: SWAP1
00000bbb: JUMPDEST
00000bbc: DUP2
00000bbd: SLOAD
00000bbe: DUP2
00000bbf: MSTORE
00000bc0: SWAP1
00000bc1: PUSH1 0x01
00000bc3: ADD
00000bc4: SWAP1
00000bc5: PUSH1 0x20
00000bc7: ADD
00000bc8: DUP1
00000bc9: DUP4
00000bca: GT
00000bcb: PUSH2 0x0bbb
00000bce: JUMPI
00000bcf: DUP3
00000bd0: SWAP1
00000bd1: SUB
00000bd2: PUSH1 0x1f
00000bd4: AND
00000bd5: DUP3
00000bd6: ADD
00000bd7: SWAP2
00000bd8: JUMPDEST
00000bd9: POP
00000bda: POP
00000bdb: POP
00000bdc: POP
00000bdd: POP
00000bde: SWAP1
00000bdf: POP
00000be0: SWAP1
00000be1: JUMP
00000be2: JUMPDEST
00000be3: PUSH1 0x00
00000be5: PUSH2 0x0bed
00000be8: DUP3
00000be9: PUSH2 0x2057
00000bec: JUMP
00000bed: JUMPDEST
00000bee: POP
00000bef: PUSH1 0x00
00000bf1: SWAP1
00000bf2: DUP2
00000bf3: MSTORE
00000bf4: PUSH1 0x04
00000bf6: PUSH1 0x20
00000bf8: MSTORE
00000bf9: PUSH1 0x40
00000bfb: SWAP1
00000bfc: KECCAK256
00000bfd: SLOAD
00000bfe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c13: AND
00000c14: SWAP1
00000c15: JUMP
00000c16: JUMPDEST
00000c17: PUSH1 0x00
00000c19: PUSH2 0x0c21
00000c1c: DUP3
00000c1d: PUSH2 0x1341
00000c20: JUMP
00000c21: JUMPDEST
00000c22: SWAP1
00000c23: POP
00000c24: DUP1
00000c25: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c3a: AND
00000c3b: DUP4
00000c3c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c51: AND
00000c52: SUB
00000c53: PUSH2 0x0ce3
00000c56: JUMPI
00000c57: PUSH1 0x40
00000c59: MLOAD
00000c5a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000c7b: DUP2
00000c7c: MSTORE
00000c7d: PUSH1 0x20
00000c7f: PUSH1 0x04
00000c81: DUP3
00000c82: ADD
00000c83: MSTORE
00000c84: PUSH1 0x21
00000c86: PUSH1 0x24
00000c88: DUP3
00000c89: ADD
00000c8a: MSTORE
00000c8b: PUSH32 0x4552433732313a20617070726f76616c20746f2063757272656e74206f776e65
00000cac: PUSH1 0x44
00000cae: DUP3
00000caf: ADD
00000cb0: MSTORE
00000cb1: PUSH32 0x7200000000000000000000000000000000000000000000000000000000000000
00000cd2: PUSH1 0x64
00000cd4: DUP3
00000cd5: ADD
00000cd6: MSTORE
00000cd7: PUSH1 0x84
00000cd9: ADD
00000cda: JUMPDEST
00000cdb: PUSH1 0x40
00000cdd: MLOAD
00000cde: DUP1
00000cdf: SWAP2
00000ce0: SUB
00000ce1: SWAP1
00000ce2: REVERT
00000ce3: JUMPDEST
00000ce4: CALLER
00000ce5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000cfa: DUP3
00000cfb: AND
00000cfc: EQ
00000cfd: DUP1
00000cfe: PUSH2 0x0d0c
00000d01: JUMPI
00000d02: POP
00000d03: PUSH2 0x0d0c
00000d06: DUP2
00000d07: CALLER
00000d08: PUSH2 0x0a05
00000d0b: JUMP
00000d0c: JUMPDEST
00000d0d: PUSH2 0x0d98
00000d10: JUMPI
00000d11: PUSH1 0x40
00000d13: MLOAD
00000d14: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000d35: DUP2
00000d36: MSTORE
00000d37: PUSH1 0x20
00000d39: PUSH1 0x04
00000d3b: DUP3
00000d3c: ADD
00000d3d: MSTORE
00000d3e: PUSH1 0x3d
00000d40: PUSH1 0x24
00000d42: DUP3
00000d43: ADD
00000d44: MSTORE
00000d45: PUSH32 0x4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f
00000d66: PUSH1 0x44
00000d68: DUP3
00000d69: ADD
00000d6a: MSTORE
00000d6b: PUSH32 0x6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000
00000d8c: PUSH1 0x64
00000d8e: DUP3
00000d8f: ADD
00000d90: MSTORE
00000d91: PUSH1 0x84
00000d93: ADD
00000d94: PUSH2 0x0cda
00000d97: JUMP
00000d98: JUMPDEST
00000d99: PUSH2 0x0da2
00000d9c: DUP4
00000d9d: DUP4
00000d9e: PUSH2 0x20e2
00000da1: JUMP
00000da2: JUMPDEST
00000da3: POP
00000da4: POP
00000da5: POP
00000da6: JUMP
00000da7: JUMPDEST
00000da8: PUSH2 0x0daf
00000dab: PUSH2 0x2182
00000dae: JUMP
00000daf: JUMPDEST
00000db0: PUSH1 0x00
00000db2: PUSH2 0x0dbb
00000db5: DUP4
00000db6: DUP4
00000db7: PUSH2 0x21f5
00000dba: JUMP
00000dbb: JUMPDEST
00000dbc: SWAP1
00000dbd: POP
00000dbe: PUSH1 0x00
00000dc0: DUP3
00000dc1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000dd6: AND
00000dd7: DUP3
00000dd8: PUSH1 0x40
00000dda: ADD
00000ddb: MLOAD
00000ddc: PUSH15 0xffffffffffffffffffffffffffffff
00000dec: AND
00000ded: PUSH1 0x40
00000def: MLOAD
00000df0: PUSH1 0x00
00000df2: PUSH1 0x40
00000df4: MLOAD
00000df5: DUP1
00000df6: DUP4
00000df7: SUB
00000df8: DUP2
00000df9: DUP6
00000dfa: DUP8
00000dfb: GAS
00000dfc: CALL
00000dfd: SWAP3
00000dfe: POP
00000dff: POP
00000e00: POP
00000e01: RETURNDATASIZE
00000e02: DUP1
00000e03: PUSH1 0x00
00000e05: DUP2
00000e06: EQ
00000e07: PUSH2 0x0e2c
00000e0a: JUMPI
00000e0b: PUSH1 0x40
00000e0d: MLOAD
00000e0e: SWAP2
00000e0f: POP
00000e10: PUSH1 0x1f
00000e12: NOT
00000e13: PUSH1 0x3f
00000e15: RETURNDATASIZE
00000e16: ADD
00000e17: AND
00000e18: DUP3
00000e19: ADD
00000e1a: PUSH1 0x40
00000e1c: MSTORE
00000e1d: RETURNDATASIZE
00000e1e: DUP3
00000e1f: MSTORE
00000e20: RETURNDATASIZE
00000e21: PUSH1 0x00
00000e23: PUSH1 0x20
00000e25: DUP5
00000e26: ADD
00000e27: RETURNDATACOPY
00000e28: PUSH2 0x0e31
00000e2b: JUMP
00000e2c: JUMPDEST
00000e2d: PUSH1 0x60
00000e2f: SWAP2
00000e30: POP
00000e31: JUMPDEST
00000e32: POP
00000e33: POP
00000e34: SWAP1
00000e35: POP
00000e36: DUP1
00000e37: PUSH2 0x0e6c
00000e3a: JUMPI
00000e3b: PUSH1 0x40
00000e3d: MLOAD
00000e3e: PUSH32 0x96ac6a6800000000000000000000000000000000000000000000000000000000
00000e5f: DUP2
00000e60: MSTORE
00000e61: PUSH1 0x04
00000e63: ADD
00000e64: PUSH1 0x40
00000e66: MLOAD
00000e67: DUP1
00000e68: SWAP2
00000e69: SUB
00000e6a: SWAP1
00000e6b: REVERT
00000e6c: JUMPDEST
00000e6d: PUSH1 0x40
00000e6f: DUP1
00000e70: DUP4
00000e71: ADD
00000e72: MLOAD
00000e73: SWAP1
00000e74: MLOAD
00000e75: PUSH15 0xffffffffffffffffffffffffffffff
00000e85: SWAP1
00000e86: SWAP2
00000e87: AND
00000e88: DUP2
00000e89: MSTORE
00000e8a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e9f: DUP5
00000ea0: AND
00000ea1: SWAP1
00000ea2: CALLER
00000ea3: SWAP1
00000ea4: DUP7
00000ea5: SWAP1
00000ea6: PUSH32 0x0d2adb99657ac2de89adc7a48f29ffe7f24d0bfb8a77215e9006a8c4dc94a061
00000ec7: SWAP1
00000ec8: PUSH1 0x20
00000eca: ADD
00000ecb: PUSH1 0x40
00000ecd: MLOAD
00000ece: DUP1
00000ecf: SWAP2
00000ed0: SUB
00000ed1: SWAP1
00000ed2: LOG4
00000ed3: POP
00000ed4: POP
00000ed5: PUSH2 0x0ede
00000ed8: PUSH1 0x01
00000eda: PUSH1 0x09
00000edc: SSTORE
00000edd: JUMP
00000ede: JUMPDEST
00000edf: POP
00000ee0: POP
00000ee1: JUMP
00000ee2: JUMPDEST
00000ee3: PUSH2 0x0eec
00000ee6: CALLER
00000ee7: DUP3
00000ee8: PUSH2 0x24a4
00000eeb: JUMP
00000eec: JUMPDEST
00000eed: PUSH2 0x0f78
00000ef0: JUMPI
00000ef1: PUSH1 0x40
00000ef3: MLOAD
00000ef4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000f15: DUP2
00000f16: MSTORE
00000f17: PUSH1 0x20
00000f19: PUSH1 0x04
00000f1b: DUP3
00000f1c: ADD
00000f1d: MSTORE
00000f1e: PUSH1 0x2d
00000f20: PUSH1 0x24
00000f22: DUP3
00000f23: ADD
00000f24: MSTORE
00000f25: PUSH32 0x4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e65
00000f46: PUSH1 0x44
00000f48: DUP3
00000f49: ADD
00000f4a: MSTORE
00000f4b: PUSH32 0x72206f7220617070726f76656400000000000000000000000000000000000000
00000f6c: PUSH1 0x64
00000f6e: DUP3
00000f6f: ADD
00000f70: MSTORE
00000f71: PUSH1 0x84
00000f73: ADD
00000f74: PUSH2 0x0cda
00000f77: JUMP
00000f78: JUMPDEST
00000f79: PUSH2 0x0da2
00000f7c: DUP4
00000f7d: DUP4
00000f7e: DUP4
00000f7f: PUSH2 0x2563
00000f82: JUMP
00000f83: JUMPDEST
00000f84: PUSH1 0x00
00000f86: PUSH2 0x0f8d
00000f89: PUSH2 0x2182
00000f8c: JUMP
00000f8d: JUMPDEST
00000f8e: PUSH2 0x0f97
00000f91: CALLER
00000f92: DUP4
00000f93: PUSH2 0x24a4
00000f96: JUMP
00000f97: JUMPDEST
00000f98: PUSH2 0x0fcd
00000f9b: JUMPI
00000f9c: PUSH1 0x40
00000f9e: MLOAD
00000f9f: PUSH32 0xe816274400000000000000000000000000000000000000000000000000000000
00000fc0: DUP2
00000fc1: MSTORE
00000fc2: PUSH1 0x04
00000fc4: ADD
00000fc5: PUSH1 0x40
00000fc7: MLOAD
00000fc8: DUP1
00000fc9: SWAP2
00000fca: SUB
00000fcb: SWAP1
00000fcc: REVERT
00000fcd: JUMPDEST
00000fce: PUSH1 0x40
00000fd0: DUP1
00000fd1: MLOAD
00000fd2: DUP1
00000fd3: DUP3
00000fd4: ADD
00000fd5: DUP3
00000fd6: MSTORE
00000fd7: PUSH1 0x0b
00000fd9: SLOAD
00000fda: PUSH16 0xffffffffffffffffffffffffffffffff
00000feb: DUP1
00000fec: DUP3
00000fed: AND
00000fee: DUP4
00000fef: MSTORE
00000ff0: PUSH17 0x0100000000000000000000000000000000
00001002: SWAP1
00001003: SWAP2
00001004: DIV
00001005: AND
00001006: PUSH1 0x20
00001008: DUP1
00001009: DUP4
0000100a: ADD
0000100b: SWAP2
0000100c: SWAP1
0000100d: SWAP2
0000100e: MSTORE
0000100f: PUSH1 0x00
00001011: DUP6
00001012: DUP2
00001013: MSTORE
00001014: PUSH1 0x0c
00001016: DUP3
00001017: MSTORE
00001018: DUP4
00001019: SWAP1
0000101a: KECCAK256
0000101b: DUP4
0000101c: MLOAD
0000101d: PUSH1 0x80
0000101f: DUP2
00001020: ADD
00001021: DUP6
00001022: MSTORE
00001023: SWAP1
00001024: SLOAD
00001025: PUSH1 0xff
00001027: DUP2
00001028: AND
00001029: ISZERO
0000102a: ISZERO
0000102b: DUP3
0000102c: MSTORE
0000102d: PUSH8 0xffffffffffffffff
00001036: PUSH2 0x0100
00001039: DUP3
0000103a: DIV
0000103b: DUP2
0000103c: AND
0000103d: SWAP4
0000103e: DUP4
0000103f: ADD
00001040: SWAP4
00001041: SWAP1
00001042: SWAP4
00001043: MSTORE
00001044: PUSH15 0xffffffffffffffffffffffffffffff
00001054: PUSH10 0x01000000000000000000
0000105f: DUP3
00001060: DIV
00001061: AND
00001062: SWAP5
00001063: DUP3
00001064: ADD
00001065: DUP6
00001066: SWAP1
00001067: MSTORE
00001068: PUSH25 0x01000000000000000000000000000000000000000000000000
00001082: SWAP1
00001083: DIV
00001084: SWAP1
00001085: SWAP2
00001086: AND
00001087: PUSH1 0x60
00001089: DUP3
0000108a: ADD
0000108b: MSTORE
0000108c: DUP2
0000108d: MLOAD
0000108e: SWAP2
0000108f: SWAP3
00001090: SWAP1
00001091: SWAP2
00001092: DUP2
00001093: SWAP1
00001094: DUP5
00001095: SWAP1
00001096: PUSH2 0x10a0
00001099: SWAP1
0000109a: DUP4
0000109b: SWAP1
0000109c: PUSH2 0x42b1
0000109f: JUMP
000010a0: JUMPDEST
000010a1: PUSH16 0xffffffffffffffffffffffffffffffff
000010b2: AND
000010b3: SWAP1
000010b4: MSTORE
000010b5: POP
000010b6: PUSH1 0x60
000010b8: DUP3
000010b9: ADD
000010ba: MLOAD
000010bb: PUSH1 0x00
000010bd: SWAP1
000010be: PUSH2 0x10fa
000010c1: SWAP1
000010c2: PUSH3 0x0f4240
000010c6: SWAP1
000010c7: PUSH2 0x10eb
000010ca: SWAP1
000010cb: PUSH8 0xffffffffffffffff
000010d4: AND
000010d5: PUSH15 0xffffffffffffffffffffffffffffff
000010e5: DUP7
000010e6: AND
000010e7: PUSH2 0x42e1
000010ea: JUMP
000010eb: JUMPDEST
000010ec: PUSH2 0x10f5
000010ef: SWAP2
000010f0: SWAP1
000010f1: PUSH2 0x42f8
000010f4: JUMP
000010f5: JUMPDEST
000010f6: PUSH2 0x285e
000010f9: JUMP
000010fa: JUMPDEST
000010fb: SWAP1
000010fc: POP
000010fd: DUP1
000010fe: PUSH15 0xffffffffffffffffffffffffffffff
0000110e: AND
0000110f: DUP5
00001110: PUSH1 0x20
00001112: ADD
00001113: DUP2
00001114: DUP2
00001115: MLOAD
00001116: PUSH2 0x111f
00001119: SWAP2
0000111a: SWAP1
0000111b: PUSH2 0x4333
0000111e: JUMP
0000111f: JUMPDEST
00001120: PUSH16 0xffffffffffffffffffffffffffffffff
00001131: AND
00001132: SWAP1
00001133: MSTORE
00001134: POP
00001135: PUSH2 0x113e
00001138: DUP2
00001139: DUP4
0000113a: PUSH2 0x435c
0000113d: JUMP
0000113e: JUMPDEST
0000113f: SWAP5
00001140: POP
00001141: PUSH2 0x1149
00001144: DUP7
00001145: PUSH2 0x2903
00001148: JUMP
00001149: JUMPDEST
0000114a: DUP4
0000114b: MLOAD
0000114c: PUSH1 0x20
0000114e: DUP1
0000114f: DUP7
00001150: ADD
00001151: MLOAD
00001152: PUSH16 0xffffffffffffffffffffffffffffffff
00001163: SWAP1
00001164: DUP2
00001165: AND
00001166: PUSH17 0x0100000000000000000000000000000000
00001178: MUL
00001179: SWAP3
0000117a: AND
0000117b: SWAP2
0000117c: SWAP1
0000117d: SWAP2
0000117e: OR
0000117f: PUSH1 0x0b
00001181: SSTORE
00001182: PUSH1 0x00
00001184: DUP8
00001185: DUP2
00001186: MSTORE
00001187: PUSH1 0x0c
00001189: SWAP1
0000118a: SWAP2
0000118b: MSTORE
0000118c: PUSH1 0x40
0000118e: SWAP1
0000118f: DUP2
00001190: SWAP1
00001191: KECCAK256
00001192: DUP1
00001193: SLOAD
00001194: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
000011b5: AND
000011b6: PUSH1 0x01
000011b8: OR
000011b9: SWAP1
000011ba: SSTORE
000011bb: MLOAD
000011bc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011d1: DUP9
000011d2: AND
000011d3: SWAP1
000011d4: CALLER
000011d5: SWAP1
000011d6: DUP9
000011d7: SWAP1
000011d8: PUSH32 0x05fa421df00cc659f6fe545d6a78481efccaa067455be4034e79037060d18686
000011f9: SWAP1
000011fa: PUSH2 0x1223
000011fd: SWAP1
000011fe: DUP11
000011ff: SWAP1
00001200: DUP8
00001201: SWAP1
00001202: PUSH15 0xffffffffffffffffffffffffffffff
00001212: SWAP3
00001213: DUP4
00001214: AND
00001215: DUP2
00001216: MSTORE
00001217: SWAP2
00001218: AND
00001219: PUSH1 0x20
0000121b: DUP3
0000121c: ADD
0000121d: MSTORE
0000121e: PUSH1 0x40
00001220: ADD
00001221: SWAP1
00001222: JUMP
00001223: JUMPDEST
00001224: PUSH1 0x40
00001226: MLOAD
00001227: DUP1
00001228: SWAP2
00001229: SUB
0000122a: SWAP1
0000122b: LOG4
0000122c: PUSH2 0x127d
0000122f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001244: PUSH32 0x0000000000000000000000005e8422345238f34275888049021821e8e08caa1f
00001265: AND
00001266: DUP9
00001267: PUSH15 0xffffffffffffffffffffffffffffff
00001277: DUP9
00001278: AND
00001279: PUSH2 0x29db
0000127c: JUMP
0000127d: JUMPDEST
0000127e: POP
0000127f: POP
00001280: POP
00001281: POP
00001282: PUSH2 0x0b4a
00001285: PUSH1 0x01
00001287: PUSH1 0x09
00001289: SSTORE
0000128a: JUMP
0000128b: JUMPDEST
0000128c: PUSH2 0x0da2
0000128f: DUP4
00001290: DUP4
00001291: DUP4
00001292: PUSH1 0x40
00001294: MLOAD
00001295: DUP1
00001296: PUSH1 0x20
00001298: ADD
00001299: PUSH1 0x40
0000129b: MSTORE
0000129c: DUP1
0000129d: PUSH1 0x00
0000129f: DUP2
000012a0: MSTORE
000012a1: POP
000012a2: PUSH2 0x1927
000012a5: JUMP
000012a6: JUMPDEST
000012a7: PUSH2 0x12ae
000012aa: PUSH2 0x2aaf
000012ad: JUMP
000012ae: JUMPDEST
000012af: PUSH2 0x12b7
000012b2: DUP2
000012b3: PUSH2 0x2ab8
000012b6: JUMP
000012b7: JUMPDEST
000012b8: POP
000012b9: JUMP
000012ba: JUMPDEST
000012bb: PUSH1 0x00
000012bd: PUSH2 0x12c6
000012c0: DUP4
000012c1: DUP4
000012c2: PUSH2 0x2b2f
000012c5: JUMP
000012c6: JUMPDEST
000012c7: SWAP1
000012c8: POP
000012c9: PUSH2 0x0b4a
000012cc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012e1: PUSH32 0x0000000000000000000000005e8422345238f34275888049021821e8e08caa1f
00001302: AND
00001303: CALLER
00001304: ADDRESS
00001305: PUSH15 0xffffffffffffffffffffffffffffff
00001315: DUP7
00001316: AND
00001317: PUSH2 0x2f52
0000131a: JUMP
0000131b: JUMPDEST
0000131c: PUSH2 0x1323
0000131f: PUSH2 0x2aaf
00001322: JUMP
00001323: JUMPDEST
00001324: PUSH2 0x132b
00001327: PUSH2 0x2fb0
0000132a: JUMP
0000132b: JUMPDEST
0000132c: PUSH2 0x1335
0000132f: PUSH1 0x00
00001331: PUSH2 0x2ab8
00001334: JUMP
00001335: JUMPDEST
00001336: PUSH2 0x133f
00001339: PUSH1 0x00
0000133b: PUSH2 0x2fb9
0000133e: JUMP
0000133f: JUMPDEST
00001340: JUMP
00001341: JUMPDEST
00001342: PUSH1 0x00
00001344: DUP2
00001345: DUP2
00001346: MSTORE
00001347: PUSH1 0x02
00001349: PUSH1 0x20
0000134b: MSTORE
0000134c: PUSH1 0x40
0000134e: DUP2
0000134f: KECCAK256
00001350: SLOAD
00001351: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001366: AND
00001367: DUP1
00001368: PUSH2 0x0b4a
0000136b: JUMPI
0000136c: PUSH1 0x40
0000136e: MLOAD
0000136f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001390: DUP2
00001391: MSTORE
00001392: PUSH1 0x20
00001394: PUSH1 0x04
00001396: DUP3
00001397: ADD
00001398: MSTORE
00001399: PUSH1 0x18
0000139b: PUSH1 0x24
0000139d: DUP3
0000139e: ADD
0000139f: MSTORE
000013a0: PUSH32 0x4552433732313a20696e76616c696420746f6b656e2049440000000000000000
000013c1: PUSH1 0x44
000013c3: DUP3
000013c4: ADD
000013c5: MSTORE
000013c6: PUSH1 0x64
000013c8: ADD
000013c9: PUSH2 0x0cda
000013cc: JUMP
000013cd: JUMPDEST
000013ce: PUSH2 0x13d5
000013d1: PUSH2 0x3047
000013d4: JUMP
000013d5: JUMPDEST
000013d6: PUSH1 0x0b
000013d8: SLOAD
000013d9: PUSH16 0xffffffffffffffffffffffffffffffff
000013ea: PUSH17 0x0100000000000000000000000000000000
000013fc: SWAP1
000013fd: SWAP2
000013fe: DIV
000013ff: DUP2
00001400: AND
00001401: SWAP1
00001402: DUP3
00001403: AND
00001404: DUP2
00001405: LT
00001406: ISZERO
00001407: PUSH2 0x1458
0000140a: JUMPI
0000140b: PUSH1 0x40
0000140d: MLOAD
0000140e: PUSH32 0xcf1950de00000000000000000000000000000000000000000000000000000000
0000142f: DUP2
00001430: MSTORE
00001431: PUSH16 0xffffffffffffffffffffffffffffffff
00001442: DUP1
00001443: DUP5
00001444: AND
00001445: PUSH1 0x04
00001447: DUP4
00001448: ADD
00001449: MSTORE
0000144a: DUP3
0000144b: AND
0000144c: PUSH1 0x24
0000144e: DUP3
0000144f: ADD
00001450: MSTORE
00001451: PUSH1 0x44
00001453: ADD
00001454: PUSH2 0x0cda
00001457: JUMP
00001458: JUMPDEST
00001459: PUSH1 0x0b
0000145b: DUP1
0000145c: SLOAD
0000145d: DUP4
0000145e: SWAP2
0000145f: SWAP1
00001460: PUSH1 0x10
00001462: SWAP1
00001463: PUSH2 0x1493
00001466: SWAP1
00001467: DUP5
00001468: SWAP1
00001469: PUSH17 0x0100000000000000000000000000000000
0000147b: SWAP1
0000147c: DIV
0000147d: PUSH16 0xffffffffffffffffffffffffffffffff
0000148e: AND
0000148f: PUSH2 0x42b1
00001492: JUMP
00001493: JUMPDEST
00001494: SWAP3
00001495: POP
00001496: PUSH2 0x0100
00001499: EXP
0000149a: DUP2
0000149b: SLOAD
0000149c: DUP2
0000149d: PUSH16 0xffffffffffffffffffffffffffffffff
000014ae: MUL
000014af: NOT
000014b0: AND
000014b1: SWAP1
000014b2: DUP4
000014b3: PUSH16 0xffffffffffffffffffffffffffffffff
000014c4: AND
000014c5: MUL
000014c6: OR
000014c7: SWAP1
000014c8: SSTORE
000014c9: POP
000014ca: PUSH2 0x1548
000014cd: PUSH1 0x0e
000014cf: PUSH1 0x00
000014d1: SWAP1
000014d2: SLOAD
000014d3: SWAP1
000014d4: PUSH2 0x0100
000014d7: EXP
000014d8: SWAP1
000014d9: DIV
000014da: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014ef: AND
000014f0: DUP4
000014f1: PUSH16 0xffffffffffffffffffffffffffffffff
00001502: AND
00001503: PUSH32 0x0000000000000000000000005e8422345238f34275888049021821e8e08caa1f
00001524: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001539: AND
0000153a: PUSH2 0x29db
0000153d: SWAP1
0000153e: SWAP3
0000153f: SWAP2
00001540: SWAP1
00001541: PUSH4 0xffffffff
00001546: AND
00001547: JUMP
00001548: JUMPDEST
00001549: PUSH1 0x0e
0000154b: SLOAD
0000154c: PUSH1 0x40
0000154e: DUP1
0000154f: MLOAD
00001550: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001565: SWAP1
00001566: SWAP3
00001567: AND
00001568: DUP3
00001569: MSTORE
0000156a: PUSH16 0xffffffffffffffffffffffffffffffff
0000157b: DUP5
0000157c: AND
0000157d: PUSH1 0x20
0000157f: DUP4
00001580: ADD
00001581: MSTORE
00001582: PUSH32 0x80352cad384db4ac5f719c28fc1f7d83351c3fbbf124ef6759a7f2b1d35aeff4
000015a3: SWAP2
000015a4: ADD
000015a5: JUMPDEST
000015a6: PUSH1 0x40
000015a8: MLOAD
000015a9: DUP1
000015aa: SWAP2
000015ab: SUB
000015ac: SWAP1
000015ad: LOG1
000015ae: POP
000015af: POP
000015b0: JUMP
000015b1: JUMPDEST
000015b2: PUSH1 0x00
000015b4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000015c9: DUP3
000015ca: AND
000015cb: PUSH2 0x1656
000015ce: JUMPI
000015cf: PUSH1 0x40
000015d1: MLOAD
000015d2: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000015f3: DUP2
000015f4: MSTORE
000015f5: PUSH1 0x20
000015f7: PUSH1 0x04
000015f9: DUP3
000015fa: ADD
000015fb: MSTORE
000015fc: PUSH1 0x29
000015fe: PUSH1 0x24
00001600: DUP3
00001601: ADD
00001602: MSTORE
00001603: PUSH32 0x4552433732313a2061646472657373207a65726f206973206e6f742061207661
00001624: PUSH1 0x44
00001626: DUP3
00001627: ADD
00001628: MSTORE
00001629: PUSH32 0x6c6964206f776e65720000000000000000000000000000000000000000000000
0000164a: PUSH1 0x64
0000164c: DUP3
0000164d: ADD
0000164e: MSTORE
0000164f: PUSH1 0x84
00001651: ADD
00001652: PUSH2 0x0cda
00001655: JUMP
00001656: JUMPDEST
00001657: POP
00001658: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000166d: AND
0000166e: PUSH1 0x00
00001670: SWAP1
00001671: DUP2
00001672: MSTORE
00001673: PUSH1 0x03
00001675: PUSH1 0x20
00001677: MSTORE
00001678: PUSH1 0x40
0000167a: SWAP1
0000167b: KECCAK256
0000167c: SLOAD
0000167d: SWAP1
0000167e: JUMP
0000167f: JUMPDEST
00001680: PUSH2 0x1687
00001683: PUSH2 0x2aaf
00001686: JUMP
00001687: JUMPDEST
00001688: PUSH2 0x16a8
0000168b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000016a0: DUP4
000016a1: AND
000016a2: CALLER
000016a3: DUP4
000016a4: PUSH2 0x29db
000016a7: JUMP
000016a8: JUMPDEST
000016a9: PUSH1 0x40
000016ab: DUP1
000016ac: MLOAD
000016ad: CALLER
000016ae: DUP2
000016af: MSTORE
000016b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000016c5: DUP5
000016c6: AND
000016c7: PUSH1 0x20
000016c9: DUP3
000016ca: ADD
000016cb: MSTORE
000016cc: SWAP1
000016cd: DUP2
000016ce: ADD
000016cf: DUP3
000016d0: SWAP1
000016d1: MSTORE
000016d2: PUSH32 0x8707eabf0aab8fc872bdb95c17ebd24c4311fc70326f8ac9c4e121449c2aa4dd
000016f3: SWAP1
000016f4: PUSH1 0x60
000016f6: ADD
000016f7: PUSH2 0x15a5
000016fa: JUMP
000016fb: JUMPDEST
000016fc: PUSH1 0x40
000016fe: MLOAD
000016ff: PUSH32 0xd505accf00000000000000000000000000000000000000000000000000000000
00001720: DUP2
00001721: MSTORE
00001722: CALLER
00001723: PUSH1 0x04
00001725: DUP3
00001726: ADD
00001727: MSTORE
00001728: ADDRESS
00001729: PUSH1 0x24
0000172b: DUP3
0000172c: ADD
0000172d: MSTORE
0000172e: PUSH15 0xffffffffffffffffffffffffffffff
0000173e: DUP8
0000173f: AND
00001740: PUSH1 0x44
00001742: DUP3
00001743: ADD
00001744: MSTORE
00001745: PUSH1 0x64
00001747: DUP2
00001748: ADD
00001749: DUP6
0000174a: SWAP1
0000174b: MSTORE
0000174c: PUSH1 0xff
0000174e: DUP5
0000174f: AND
00001750: PUSH1 0x84
00001752: DUP3
00001753: ADD
00001754: MSTORE
00001755: PUSH1 0xa4
00001757: DUP2
00001758: ADD
00001759: DUP4
0000175a: SWAP1
0000175b: MSTORE
0000175c: PUSH1 0xc4
0000175e: DUP2
0000175f: ADD
00001760: DUP3
00001761: SWAP1
00001762: MSTORE
00001763: PUSH1 0x00
00001765: SWAP1
00001766: PUSH32 0x0000000000000000000000005e8422345238f34275888049021821e8e08caa1f
00001787: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000179c: AND
0000179d: SWAP1
0000179e: PUSH4 0xd505accf
000017a3: SWAP1
000017a4: PUSH1 0xe4
000017a6: ADD
000017a7: PUSH1 0x00
000017a9: PUSH1 0x40
000017ab: MLOAD
000017ac: DUP1
000017ad: DUP4
000017ae: SUB
000017af: DUP2
000017b0: PUSH1 0x00
000017b2: DUP8
000017b3: DUP1
000017b4: EXTCODESIZE
000017b5: ISZERO
000017b6: DUP1
000017b7: ISZERO
000017b8: PUSH2 0x17c0
000017bb: JUMPI
000017bc: PUSH1 0x00
000017be: DUP1
000017bf: REVERT
000017c0: JUMPDEST
000017c1: POP
000017c2: GAS
000017c3: CALL
000017c4: ISZERO
000017c5: DUP1
000017c6: ISZERO
000017c7: PUSH2 0x17d4
000017ca: JUMPI
000017cb: RETURNDATASIZE
000017cc: PUSH1 0x00
000017ce: DUP1
000017cf: RETURNDATACOPY
000017d0: RETURNDATASIZE
000017d1: PUSH1 0x00
000017d3: REVERT
000017d4: JUMPDEST
000017d5: POP
000017d6: POP
000017d7: POP
000017d8: POP
000017d9: PUSH2 0x17e2
000017dc: DUP7
000017dd: DUP9
000017de: PUSH2 0x12ba
000017e1: JUMP
000017e2: JUMPDEST
000017e3: SWAP8
000017e4: SWAP7
000017e5: POP
000017e6: POP
000017e7: POP
000017e8: POP
000017e9: POP
000017ea: POP
000017eb: POP
000017ec: JUMP
000017ed: JUMPDEST
000017ee: PUSH1 0x60
000017f0: PUSH1 0x01
000017f2: DUP1
000017f3: SLOAD
000017f4: PUSH2 0x0b5f
000017f7: SWAP1
000017f8: PUSH2 0x422f
000017fb: JUMP
000017fc: JUMPDEST
000017fd: PUSH2 0x1804
00001800: PUSH2 0x2aaf
00001803: JUMP
00001804: JUMPDEST
00001805: PUSH3 0x0f4240
00001809: PUSH8 0xffffffffffffffff
00001812: DUP3
00001813: AND
00001814: GT
00001815: ISZERO
00001816: PUSH2 0x1860
00001819: JUMPI
0000181a: PUSH1 0x40
0000181c: MLOAD
0000181d: PUSH32 0xe395eda100000000000000000000000000000000000000000000000000000000
0000183e: DUP2
0000183f: MSTORE
00001840: PUSH8 0xffffffffffffffff
00001849: DUP3
0000184a: AND
0000184b: PUSH1 0x04
0000184d: DUP3
0000184e: ADD
0000184f: MSTORE
00001850: PUSH3 0x0f4240
00001854: PUSH1 0x24
00001856: DUP3
00001857: ADD
00001858: MSTORE
00001859: PUSH1 0x44
0000185b: ADD
0000185c: PUSH2 0x0cda
0000185f: JUMP
00001860: JUMPDEST
00001861: PUSH1 0x0a
00001863: SLOAD
00001864: PUSH1 0x40
00001866: DUP1
00001867: MLOAD
00001868: PUSH17 0x0100000000000000000000000000000000
0000187a: SWAP1
0000187b: SWAP3
0000187c: DIV
0000187d: PUSH8 0xffffffffffffffff
00001886: SWAP1
00001887: DUP2
00001888: AND
00001889: DUP4
0000188a: MSTORE
0000188b: DUP4
0000188c: AND
0000188d: PUSH1 0x20
0000188f: DUP4
00001890: ADD
00001891: MSTORE
00001892: PUSH32 0x220a87070dd39806f4303c6b65a7576e200ea96a7bb966175aef96a648fece39
000018b3: SWAP2
000018b4: ADD
000018b5: PUSH1 0x40
000018b7: MLOAD
000018b8: DUP1
000018b9: SWAP2
000018ba: SUB
000018bb: SWAP1
000018bc: LOG1
000018bd: PUSH1 0x0a
000018bf: DUP1
000018c0: SLOAD
000018c1: PUSH8 0xffffffffffffffff
000018ca: SWAP1
000018cb: SWAP3
000018cc: AND
000018cd: PUSH17 0x0100000000000000000000000000000000
000018df: MUL
000018e0: PUSH32 0xffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff
00001901: SWAP1
00001902: SWAP3
00001903: AND
00001904: SWAP2
00001905: SWAP1
00001906: SWAP2
00001907: OR
00001908: SWAP1
00001909: SSTORE
0000190a: JUMP
0000190b: JUMPDEST
0000190c: PUSH2 0x0ede
0000190f: CALLER
00001910: DUP4
00001911: DUP4
00001912: PUSH2 0x30ba
00001915: JUMP
00001916: JUMPDEST
00001917: PUSH2 0x191e
0000191a: PUSH2 0x2aaf
0000191d: JUMP
0000191e: JUMPDEST
0000191f: PUSH2 0x12b7
00001922: DUP2
00001923: PUSH2 0x31e7
00001926: JUMP
00001927: JUMPDEST
00001928: PUSH2 0x1931
0000192b: CALLER
0000192c: DUP4
0000192d: PUSH2 0x24a4
00001930: JUMP
00001931: JUMPDEST
00001932: PUSH2 0x19bd
00001935: JUMPI
00001936: PUSH1 0x40
00001938: MLOAD
00001939: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000195a: DUP2
0000195b: MSTORE
0000195c: PUSH1 0x20
0000195e: PUSH1 0x04
00001960: DUP3
00001961: ADD
00001962: MSTORE
00001963: PUSH1 0x2d
00001965: PUSH1 0x24
00001967: DUP3
00001968: ADD
00001969: MSTORE
0000196a: PUSH32 0x4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e65
0000198b: PUSH1 0x44
0000198d: DUP3
0000198e: ADD
0000198f: MSTORE
00001990: PUSH32 0x72206f7220617070726f76656400000000000000000000000000000000000000
000019b1: PUSH1 0x64
000019b3: DUP3
000019b4: ADD
000019b5: MSTORE
000019b6: PUSH1 0x84
000019b8: ADD
000019b9: PUSH2 0x0cda
000019bc: JUMP
000019bd: JUMPDEST
000019be: PUSH2 0x19c9
000019c1: DUP5
000019c2: DUP5
000019c3: DUP5
000019c4: DUP5
000019c5: PUSH2 0x3275
000019c8: JUMP
000019c9: JUMPDEST
000019ca: POP
000019cb: POP
000019cc: POP
000019cd: POP
000019ce: JUMP
000019cf: JUMPDEST
000019d0: PUSH2 0x19d7
000019d3: PUSH2 0x2aaf
000019d6: JUMP
000019d7: JUMPDEST
000019d8: PUSH1 0x0d
000019da: SLOAD
000019db: PUSH1 0x40
000019dd: DUP1
000019de: MLOAD
000019df: SWAP2
000019e0: DUP3
000019e1: MSTORE
000019e2: PUSH1 0x20
000019e4: DUP3
000019e5: ADD
000019e6: DUP4
000019e7: SWAP1
000019e8: MSTORE
000019e9: PUSH32 0xc6fbedb9b757f1809295c76da1eef8c2ca78593d2fccf59b5323cb253cedc9d1
00001a0a: SWAP2
00001a0b: ADD
00001a0c: PUSH1 0x40
00001a0e: MLOAD
00001a0f: DUP1
00001a10: SWAP2
00001a11: SUB
00001a12: SWAP1
00001a13: LOG1
00001a14: PUSH1 0x0d
00001a16: SSTORE
00001a17: JUMP
00001a18: JUMPDEST
00001a19: PUSH2 0x1a20
00001a1c: PUSH2 0x3047
00001a1f: JUMP
00001a20: JUMPDEST
00001a21: PUSH1 0x07
00001a23: SLOAD
00001a24: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a39: AND
00001a3a: CALLER
00001a3b: EQ
00001a3c: DUP1
00001a3d: ISZERO
00001a3e: SWAP1
00001a3f: PUSH2 0x1a53
00001a42: JUMPI
00001a43: POP
00001a44: PUSH1 0x0d
00001a46: SLOAD
00001a47: DUP2
00001a48: PUSH8 0xffffffffffffffff
00001a51: AND
00001a52: GT
00001a53: JUMPDEST
00001a54: ISZERO
00001a55: PUSH2 0x1aa1
00001a58: JUMPI
00001a59: PUSH1 0x0d
00001a5b: SLOAD
00001a5c: PUSH1 0x40
00001a5e: MLOAD
00001a5f: PUSH32 0xc3e95ba000000000000000000000000000000000000000000000000000000000
00001a80: DUP2
00001a81: MSTORE
00001a82: PUSH8 0xffffffffffffffff
00001a8b: DUP4
00001a8c: AND
00001a8d: PUSH1 0x04
00001a8f: DUP3
00001a90: ADD
00001a91: MSTORE
00001a92: PUSH1 0x24
00001a94: DUP2
00001a95: ADD
00001a96: SWAP2
00001a97: SWAP1
00001a98: SWAP2
00001a99: MSTORE
00001a9a: PUSH1 0x44
00001a9c: ADD
00001a9d: PUSH2 0x0cda
00001aa0: JUMP
00001aa1: JUMPDEST
00001aa2: PUSH1 0x0a
00001aa4: SLOAD
00001aa5: PUSH1 0x40
00001aa7: DUP1
00001aa8: MLOAD
00001aa9: PUSH9 0x010000000000000000
00001ab3: SWAP1
00001ab4: SWAP3
00001ab5: DIV
00001ab6: PUSH8 0xffffffffffffffff
00001abf: SWAP1
00001ac0: DUP2
00001ac1: AND
00001ac2: DUP4
00001ac3: MSTORE
00001ac4: DUP4
00001ac5: AND
00001ac6: PUSH1 0x20
00001ac8: DUP4
00001ac9: ADD
00001aca: MSTORE
00001acb: PUSH32 0x8852de94b41fa50f0eb4f40fab8a113bd62ac4c4736671d68ed7a337948faaac
00001aec: SWAP2
00001aed: ADD
00001aee: PUSH1 0x40
00001af0: MLOAD
00001af1: DUP1
00001af2: SWAP2
00001af3: SUB
00001af4: SWAP1
00001af5: LOG1
00001af6: PUSH1 0x0a
00001af8: DUP1
00001af9: SLOAD
00001afa: PUSH8 0xffffffffffffffff
00001b03: SWAP1
00001b04: SWAP3
00001b05: AND
00001b06: PUSH9 0x010000000000000000
00001b10: MUL
00001b11: PUSH32 0xffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff
00001b32: SWAP1
00001b33: SWAP3
00001b34: AND
00001b35: SWAP2
00001b36: SWAP1
00001b37: SWAP2
00001b38: OR
00001b39: SWAP1
00001b3a: SSTORE
00001b3b: JUMP
00001b3c: JUMPDEST
00001b3d: PUSH2 0x1b44
00001b40: PUSH2 0x2aaf
00001b43: JUMP
00001b44: JUMPDEST
00001b45: PUSH1 0x40
00001b47: MLOAD
00001b48: PUSH1 0x00
00001b4a: SWAP1
00001b4b: CALLER
00001b4c: SWAP1
00001b4d: DUP4
00001b4e: SWAP1
00001b4f: DUP4
00001b50: DUP2
00001b51: DUP2
00001b52: DUP2
00001b53: DUP6
00001b54: DUP8
00001b55: GAS
00001b56: CALL
00001b57: SWAP3
00001b58: POP
00001b59: POP
00001b5a: POP
00001b5b: RETURNDATASIZE
00001b5c: DUP1
00001b5d: PUSH1 0x00
00001b5f: DUP2
00001b60: EQ
00001b61: PUSH2 0x1b86
00001b64: JUMPI
00001b65: PUSH1 0x40
00001b67: MLOAD
00001b68: SWAP2
00001b69: POP
00001b6a: PUSH1 0x1f
00001b6c: NOT
00001b6d: PUSH1 0x3f
00001b6f: RETURNDATASIZE
00001b70: ADD
00001b71: AND
00001b72: DUP3
00001b73: ADD
00001b74: PUSH1 0x40
00001b76: MSTORE
00001b77: RETURNDATASIZE
00001b78: DUP3
00001b79: MSTORE
00001b7a: RETURNDATASIZE
00001b7b: PUSH1 0x00
00001b7d: PUSH1 0x20
00001b7f: DUP5
00001b80: ADD
00001b81: RETURNDATACOPY
00001b82: PUSH2 0x1b8b
00001b85: JUMP
00001b86: JUMPDEST
00001b87: PUSH1 0x60
00001b89: SWAP2
00001b8a: POP
00001b8b: JUMPDEST
00001b8c: POP
00001b8d: POP
00001b8e: SWAP1
00001b8f: POP
00001b90: DUP1
00001b91: PUSH2 0x1bc6
00001b94: JUMPI
00001b95: PUSH1 0x40
00001b97: MLOAD
00001b98: PUSH32 0x96ac6a6800000000000000000000000000000000000000000000000000000000
00001bb9: DUP2
00001bba: MSTORE
00001bbb: PUSH1 0x04
00001bbd: ADD
00001bbe: PUSH1 0x40
00001bc0: MLOAD
00001bc1: DUP1
00001bc2: SWAP2
00001bc3: SUB
00001bc4: SWAP1
00001bc5: REVERT
00001bc6: JUMPDEST
00001bc7: PUSH1 0x40
00001bc9: DUP1
00001bca: MLOAD
00001bcb: CALLER
00001bcc: DUP2
00001bcd: MSTORE
00001bce: PUSH1 0x20
00001bd0: DUP2
00001bd1: ADD
00001bd2: DUP5
00001bd3: SWAP1
00001bd4: MSTORE
00001bd5: PUSH32 0xbcc06820cb477a1e01547e0f03ed1720e794fe5961b9e55d956a75ff8ffdb341
00001bf6: SWAP2
00001bf7: ADD
00001bf8: PUSH2 0x15a5
00001bfb: JUMP
00001bfc: JUMPDEST
00001bfd: PUSH1 0x60
00001bff: PUSH2 0x1c07
00001c02: DUP3
00001c03: PUSH2 0x2057
00001c06: JUMP
00001c07: JUMPDEST
00001c08: PUSH1 0x00
00001c0a: PUSH2 0x1c1e
00001c0d: PUSH1 0x40
00001c0f: DUP1
00001c10: MLOAD
00001c11: PUSH1 0x20
00001c13: DUP2
00001c14: ADD
00001c15: SWAP1
00001c16: SWAP2
00001c17: MSTORE
00001c18: PUSH1 0x00
00001c1a: DUP2
00001c1b: MSTORE
00001c1c: SWAP1
00001c1d: JUMP
00001c1e: JUMPDEST
00001c1f: SWAP1
00001c20: POP
00001c21: PUSH1 0x00
00001c23: DUP2
00001c24: MLOAD
00001c25: GT
00001c26: PUSH2 0x1c3e
00001c29: JUMPI
00001c2a: PUSH1 0x40
00001c2c: MLOAD
00001c2d: DUP1
00001c2e: PUSH1 0x20
00001c30: ADD
00001c31: PUSH1 0x40
00001c33: MSTORE
00001c34: DUP1
00001c35: PUSH1 0x00
00001c37: DUP2
00001c38: MSTORE
00001c39: POP
00001c3a: PUSH2 0x1c69
00001c3d: JUMP
00001c3e: JUMPDEST
00001c3f: DUP1
00001c40: PUSH2 0x1c48
00001c43: DUP5
00001c44: PUSH2 0x3318
00001c47: JUMP
00001c48: JUMPDEST
00001c49: PUSH1 0x40
00001c4b: MLOAD
00001c4c: PUSH1 0x20
00001c4e: ADD
00001c4f: PUSH2 0x1c59
00001c52: SWAP3
00001c53: SWAP2
00001c54: SWAP1
00001c55: PUSH2 0x4384
00001c58: JUMP
00001c59: JUMPDEST
00001c5a: PUSH1 0x40
00001c5c: MLOAD
00001c5d: PUSH1 0x20
00001c5f: DUP2
00001c60: DUP4
00001c61: SUB
00001c62: SUB
00001c63: DUP2
00001c64: MSTORE
00001c65: SWAP1
00001c66: PUSH1 0x40
00001c68: MSTORE
00001c69: JUMPDEST
00001c6a: SWAP4
00001c6b: SWAP3
00001c6c: POP
00001c6d: POP
00001c6e: POP
00001c6f: JUMP
00001c70: JUMPDEST
00001c71: PUSH2 0x1c78
00001c74: PUSH2 0x2aaf
00001c77: JUMP
00001c78: JUMPDEST
00001c79: PUSH3 0x0f4240
00001c7d: PUSH8 0xffffffffffffffff
00001c86: DUP3
00001c87: AND
00001c88: GT
00001c89: ISZERO
00001c8a: PUSH2 0x1cd4
00001c8d: JUMPI
00001c8e: PUSH1 0x40
00001c90: MLOAD
00001c91: PUSH32 0x54f3d55600000000000000000000000000000000000000000000000000000000
00001cb2: DUP2
00001cb3: MSTORE
00001cb4: PUSH8 0xffffffffffffffff
00001cbd: DUP3
00001cbe: AND
00001cbf: PUSH1 0x04
00001cc1: DUP3
00001cc2: ADD
00001cc3: MSTORE
00001cc4: PUSH3 0x0f4240
00001cc8: PUSH1 0x24
00001cca: DUP3
00001ccb: ADD
00001ccc: MSTORE
00001ccd: PUSH1 0x44
00001ccf: ADD
00001cd0: PUSH2 0x0cda
00001cd3: JUMP
00001cd4: JUMPDEST
00001cd5: PUSH1 0x0a
00001cd7: SLOAD
00001cd8: PUSH1 0x40
00001cda: DUP1
00001cdb: MLOAD
00001cdc: PUSH25 0x01000000000000000000000000000000000000000000000000
00001cf6: SWAP1
00001cf7: SWAP3
00001cf8: DIV
00001cf9: PUSH8 0xffffffffffffffff
00001d02: SWAP1
00001d03: DUP2
00001d04: AND
00001d05: DUP4
00001d06: MSTORE
00001d07: DUP4
00001d08: AND
00001d09: PUSH1 0x20
00001d0b: DUP4
00001d0c: ADD
00001d0d: MSTORE
00001d0e: PUSH32 0xdd215094dcc7fc3147958e850323a46d15cef79a2796cc4f81822309216cf803
00001d2f: SWAP2
00001d30: ADD
00001d31: PUSH1 0x40
00001d33: MLOAD
00001d34: DUP1
00001d35: SWAP2
00001d36: SUB
00001d37: SWAP1
00001d38: LOG1
00001d39: PUSH1 0x0a
00001d3b: DUP1
00001d3c: SLOAD
00001d3d: PUSH8 0xffffffffffffffff
00001d46: SWAP1
00001d47: SWAP3
00001d48: AND
00001d49: PUSH25 0x01000000000000000000000000000000000000000000000000
00001d63: MUL
00001d64: PUSH24 0xffffffffffffffffffffffffffffffffffffffffffffffff
00001d7d: SWAP1
00001d7e: SWAP3
00001d7f: AND
00001d80: SWAP2
00001d81: SWAP1
00001d82: SWAP2
00001d83: OR
00001d84: SWAP1
00001d85: SSTORE
00001d86: JUMP
00001d87: JUMPDEST
00001d88: PUSH1 0x40
00001d8a: MLOAD
00001d8b: PUSH32 0xd505accf00000000000000000000000000000000000000000000000000000000
00001dac: DUP2
00001dad: MSTORE
00001dae: CALLER
00001daf: PUSH1 0x04
00001db1: DUP3
00001db2: ADD
00001db3: MSTORE
00001db4: ADDRESS
00001db5: PUSH1 0x24
00001db7: DUP3
00001db8: ADD
00001db9: MSTORE
00001dba: PUSH15 0xffffffffffffffffffffffffffffff
00001dca: DUP8
00001dcb: AND
00001dcc: PUSH1 0x44
00001dce: DUP3
00001dcf: ADD
00001dd0: MSTORE
00001dd1: PUSH1 0x64
00001dd3: DUP2
00001dd4: ADD
00001dd5: DUP6
00001dd6: SWAP1
00001dd7: MSTORE
00001dd8: PUSH1 0xff
00001dda: DUP5
00001ddb: AND
00001ddc: PUSH1 0x84
00001dde: DUP3
00001ddf: ADD
00001de0: MSTORE
00001de1: PUSH1 0xa4
00001de3: DUP2
00001de4: ADD
00001de5: DUP4
00001de6: SWAP1
00001de7: MSTORE
00001de8: PUSH1 0xc4
00001dea: DUP2
00001deb: ADD
00001dec: DUP3
00001ded: SWAP1
00001dee: MSTORE
00001def: PUSH1 0x00
00001df1: SWAP1
00001df2: PUSH32 0x000000000000000000000000ac3e018457b222d93114458476f3e3416abbe38f
00001e13: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e28: AND
00001e29: SWAP1
00001e2a: PUSH4 0xd505accf
00001e2f: SWAP1
00001e30: PUSH1 0xe4
00001e32: ADD
00001e33: PUSH1 0x00
00001e35: PUSH1 0x40
00001e37: MLOAD
00001e38: DUP1
00001e39: DUP4
00001e3a: SUB
00001e3b: DUP2
00001e3c: PUSH1 0x00
00001e3e: DUP8
00001e3f: DUP1
00001e40: EXTCODESIZE
00001e41: ISZERO
00001e42: DUP1
00001e43: ISZERO
00001e44: PUSH2 0x1e4c
00001e47: JUMPI
00001e48: PUSH1 0x00
00001e4a: DUP1
00001e4b: REVERT
00001e4c: JUMPDEST
00001e4d: POP
00001e4e: GAS
00001e4f: CALL
00001e50: ISZERO
00001e51: DUP1
00001e52: ISZERO
00001e53: PUSH2 0x1e60
00001e56: JUMPI
00001e57: RETURNDATASIZE
00001e58: PUSH1 0x00
00001e5a: DUP1
00001e5b: RETURNDATACOPY
00001e5c: RETURNDATASIZE
00001e5d: PUSH1 0x00
00001e5f: REVERT
00001e60: JUMPDEST
00001e61: POP
00001e62: POP
00001e63: POP
00001e64: POP
00001e65: PUSH2 0x17e2
00001e68: DUP7
00001e69: DUP9
00001e6a: JUMPDEST
00001e6b: PUSH1 0x00
00001e6d: PUSH2 0x1ebf
00001e70: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e85: PUSH32 0x000000000000000000000000ac3e018457b222d93114458476f3e3416abbe38f
00001ea6: AND
00001ea7: CALLER
00001ea8: ADDRESS
00001ea9: PUSH15 0xffffffffffffffffffffffffffffff
00001eb9: DUP7
00001eba: AND
00001ebb: PUSH2 0x2f52
00001ebe: JUMP
00001ebf: JUMPDEST
00001ec0: PUSH1 0x40
00001ec2: MLOAD
00001ec3: PUSH32 0xba08765200000000000000000000000000000000000000000000000000000000
00001ee4: DUP2
00001ee5: MSTORE
00001ee6: PUSH15 0xffffffffffffffffffffffffffffff
00001ef6: DUP4
00001ef7: AND
00001ef8: PUSH1 0x04
00001efa: DUP3
00001efb: ADD
00001efc: MSTORE
00001efd: ADDRESS
00001efe: PUSH1 0x24
00001f00: DUP3
00001f01: ADD
00001f02: DUP2
00001f03: SWAP1
00001f04: MSTORE
00001f05: PUSH1 0x44
00001f07: DUP3
00001f08: ADD
00001f09: MSTORE
00001f0a: PUSH1 0x00
00001f0c: SWAP1
00001f0d: PUSH32 0x000000000000000000000000ac3e018457b222d93114458476f3e3416abbe38f
00001f2e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f43: AND
00001f44: SWAP1
00001f45: PUSH4 0xba087652
00001f4a: SWAP1
00001f4b: PUSH1 0x64
00001f4d: ADD
00001f4e: PUSH1 0x20
00001f50: PUSH1 0x40
00001f52: MLOAD
00001f53: DUP1
00001f54: DUP4
00001f55: SUB
00001f56: DUP2
00001f57: PUSH1 0x00
00001f59: DUP8
00001f5a: GAS
00001f5b: CALL
00001f5c: ISZERO
00001f5d: DUP1
00001f5e: ISZERO
00001f5f: PUSH2 0x1f6c
00001f62: JUMPI
00001f63: RETURNDATASIZE
00001f64: PUSH1 0x00
00001f66: DUP1
00001f67: RETURNDATACOPY
00001f68: RETURNDATASIZE
00001f69: PUSH1 0x00
00001f6b: REVERT
00001f6c: JUMPDEST
00001f6d: POP
00001f6e: POP
00001f6f: POP
00001f70: POP
00001f71: PUSH1 0x40
00001f73: MLOAD
00001f74: RETURNDATASIZE
00001f75: PUSH1 0x1f
00001f77: NOT
00001f78: PUSH1 0x1f
00001f7a: DUP3
00001f7b: ADD
00001f7c: AND
00001f7d: DUP3
00001f7e: ADD
00001f7f: DUP1
00001f80: PUSH1 0x40
00001f82: MSTORE
00001f83: POP
00001f84: DUP2
00001f85: ADD
00001f86: SWAP1
00001f87: PUSH2 0x1f90
00001f8a: SWAP2
00001f8b: SWAP1
00001f8c: PUSH2 0x43b3
00001f8f: JUMP
00001f90: JUMPDEST
00001f91: SWAP1
00001f92: POP
00001f93: PUSH2 0x1f9c
00001f96: DUP5
00001f97: DUP3
00001f98: PUSH2 0x2b2f
00001f9b: JUMP
00001f9c: JUMPDEST
00001f9d: SWAP5
00001f9e: SWAP4
00001f9f: POP
00001fa0: POP
00001fa1: POP
00001fa2: POP
00001fa3: JUMP
00001fa4: JUMPDEST
00001fa5: PUSH2 0x1fac
00001fa8: PUSH2 0x2aaf
00001fab: JUMP
00001fac: JUMPDEST
00001fad: PUSH1 0x0e
00001faf: SLOAD
00001fb0: PUSH1 0x40
00001fb2: DUP1
00001fb3: MLOAD
00001fb4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001fc9: SWAP3
00001fca: DUP4
00001fcb: AND
00001fcc: DUP2
00001fcd: MSTORE
00001fce: SWAP2
00001fcf: DUP4
00001fd0: AND
00001fd1: PUSH1 0x20
00001fd3: DUP4
00001fd4: ADD
00001fd5: MSTORE
00001fd6: PUSH32 0xd9d6b85b6d670cd443496fc6d03390f739bbff47f96a8e33fb0cdd52ad26f5c2
00001ff7: SWAP2
00001ff8: ADD
00001ff9: PUSH1 0x40
00001ffb: MLOAD
00001ffc: DUP1
00001ffd: SWAP2
00001ffe: SUB
00001fff: SWAP1
00002000: LOG1
00002001: PUSH1 0x0e
00002003: DUP1
00002004: SLOAD
00002005: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00002026: AND
00002027: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000203c: SWAP3
0000203d: SWAP1
0000203e: SWAP3
0000203f: AND
00002040: SWAP2
00002041: SWAP1
00002042: SWAP2
00002043: OR
00002044: SWAP1
00002045: SSTORE
00002046: JUMP
00002047: JUMPDEST
00002048: PUSH2 0x204f
0000204b: PUSH2 0x2fb0
0000204e: JUMP
0000204f: JUMPDEST
00002050: PUSH2 0x133f
00002053: PUSH2 0x33d6
00002056: JUMP
00002057: JUMPDEST
00002058: PUSH1 0x00
0000205a: DUP2
0000205b: DUP2
0000205c: MSTORE
0000205d: PUSH1 0x02
0000205f: PUSH1 0x20
00002061: MSTORE
00002062: PUSH1 0x40
00002064: SWAP1
00002065: KECCAK256
00002066: SLOAD
00002067: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000207c: AND
0000207d: PUSH2 0x12b7
00002080: JUMPI
00002081: PUSH1 0x40
00002083: MLOAD
00002084: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000020a5: DUP2
000020a6: MSTORE
000020a7: PUSH1 0x20
000020a9: PUSH1 0x04
000020ab: DUP3
000020ac: ADD
000020ad: MSTORE
000020ae: PUSH1 0x18
000020b0: PUSH1 0x24
000020b2: DUP3
000020b3: ADD
000020b4: MSTORE
000020b5: PUSH32 0x4552433732313a20696e76616c696420746f6b656e2049440000000000000000
000020d6: PUSH1 0x44
000020d8: DUP3
000020d9: ADD
000020da: MSTORE
000020db: PUSH1 0x64
000020dd: ADD
000020de: PUSH2 0x0cda
000020e1: JUMP
000020e2: JUMPDEST
000020e3: PUSH1 0x00
000020e5: DUP2
000020e6: DUP2
000020e7: MSTORE
000020e8: PUSH1 0x04
000020ea: PUSH1 0x20
000020ec: MSTORE
000020ed: PUSH1 0x40
000020ef: SWAP1
000020f0: KECCAK256
000020f1: DUP1
000020f2: SLOAD
000020f3: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00002114: AND
00002115: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000212a: DUP5
0000212b: AND
0000212c: SWAP1
0000212d: DUP2
0000212e: OR
0000212f: SWAP1
00002130: SWAP2
00002131: SSTORE
00002132: DUP2
00002133: SWAP1
00002134: PUSH2 0x213c
00002137: DUP3
00002138: PUSH2 0x1341
0000213b: JUMP
0000213c: JUMPDEST
0000213d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002152: AND
00002153: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925
00002174: PUSH1 0x40
00002176: MLOAD
00002177: PUSH1 0x40
00002179: MLOAD
0000217a: DUP1
0000217b: SWAP2
0000217c: SUB
0000217d: SWAP1
0000217e: LOG4
0000217f: POP
00002180: POP
00002181: JUMP
00002182: JUMPDEST
00002183: PUSH1 0x02
00002185: PUSH1 0x09
00002187: SLOAD
00002188: SUB
00002189: PUSH2 0x21ee
0000218c: JUMPI
0000218d: PUSH1 0x40
0000218f: MLOAD
00002190: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000021b1: DUP2
000021b2: MSTORE
000021b3: PUSH1 0x20
000021b5: PUSH1 0x04
000021b7: DUP3
000021b8: ADD
000021b9: MSTORE
000021ba: PUSH1 0x1f
000021bc: PUSH1 0x24
000021be: DUP3
000021bf: ADD
000021c0: MSTORE
000021c1: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00
000021e2: PUSH1 0x44
000021e4: DUP3
000021e5: ADD
000021e6: MSTORE
000021e7: PUSH1 0x64
000021e9: ADD
000021ea: PUSH2 0x0cda
000021ed: JUMP
000021ee: JUMPDEST
000021ef: PUSH1 0x02
000021f1: PUSH1 0x09
000021f3: SSTORE
000021f4: JUMP
000021f5: JUMPDEST
000021f6: PUSH1 0x40
000021f8: DUP1
000021f9: MLOAD
000021fa: PUSH1 0x80
000021fc: DUP2
000021fd: ADD
000021fe: DUP3
000021ff: MSTORE
00002200: PUSH1 0x00
00002202: DUP1
00002203: DUP3
00002204: MSTORE
00002205: PUSH1 0x20
00002207: DUP3
00002208: ADD
00002209: DUP2
0000220a: SWAP1
0000220b: MSTORE
0000220c: SWAP2
0000220d: DUP2
0000220e: ADD
0000220f: DUP3
00002210: SWAP1
00002211: MSTORE
00002212: PUSH1 0x60
00002214: DUP2
00002215: ADD
00002216: SWAP2
00002217: SWAP1
00002218: SWAP2
00002219: MSTORE
0000221a: PUSH2 0x2223
0000221d: CALLER
0000221e: DUP5
0000221f: PUSH2 0x24a4
00002222: JUMP
00002223: JUMPDEST
00002224: PUSH2 0x2259
00002227: JUMPI
00002228: PUSH1 0x40
0000222a: MLOAD
0000222b: PUSH32 0xe816274400000000000000000000000000000000000000000000000000000000
0000224c: DUP2
0000224d: MSTORE
0000224e: PUSH1 0x04
00002250: ADD
00002251: PUSH1 0x40
00002253: MLOAD
00002254: DUP1
00002255: SWAP2
00002256: SUB
00002257: SWAP1
00002258: REVERT
00002259: JUMPDEST
0000225a: POP
0000225b: PUSH1 0x00
0000225d: DUP3
0000225e: DUP2
0000225f: MSTORE
00002260: PUSH1 0x0c
00002262: PUSH1 0x20
00002264: SWAP1
00002265: DUP2
00002266: MSTORE
00002267: PUSH1 0x40
00002269: SWAP2
0000226a: DUP3
0000226b: SWAP1
0000226c: KECCAK256
0000226d: DUP3
0000226e: MLOAD
0000226f: PUSH1 0x80
00002271: DUP2
00002272: ADD
00002273: DUP5
00002274: MSTORE
00002275: SWAP1
00002276: SLOAD
00002277: PUSH1 0xff
00002279: DUP2
0000227a: AND
0000227b: ISZERO
0000227c: ISZERO
0000227d: DUP3
0000227e: MSTORE
0000227f: PUSH8 0xffffffffffffffff
00002288: PUSH2 0x0100
0000228b: DUP3
0000228c: DIV
0000228d: DUP2
0000228e: AND
0000228f: SWAP4
00002290: DUP4
00002291: ADD
00002292: DUP5
00002293: SWAP1
00002294: MSTORE
00002295: PUSH15 0xffffffffffffffffffffffffffffff
000022a5: PUSH10 0x01000000000000000000
000022b0: DUP4
000022b1: DIV
000022b2: AND
000022b3: SWAP5
000022b4: DUP4
000022b5: ADD
000022b6: SWAP5
000022b7: SWAP1
000022b8: SWAP5
000022b9: MSTORE
000022ba: PUSH25 0x01000000000000000000000000000000000000000000000000
000022d4: SWAP1
000022d5: DIV
000022d6: SWAP1
000022d7: SWAP3
000022d8: AND
000022d9: PUSH1 0x60
000022db: DUP4
000022dc: ADD
000022dd: MSTORE
000022de: TIMESTAMP
000022df: LT
000022e0: ISZERO
000022e1: PUSH2 0x232e
000022e4: JUMPI
000022e5: PUSH1 0x20
000022e7: DUP2
000022e8: ADD
000022e9: MLOAD
000022ea: PUSH1 0x40
000022ec: MLOAD
000022ed: PUSH32 0x375394cb00000000000000000000000000000000000000000000000000000000
0000230e: DUP2
0000230f: MSTORE
00002310: TIMESTAMP
00002311: PUSH1 0x04
00002313: DUP3
00002314: ADD
00002315: MSTORE
00002316: PUSH8 0xffffffffffffffff
0000231f: SWAP1
00002320: SWAP2
00002321: AND
00002322: PUSH1 0x24
00002324: DUP3
00002325: ADD
00002326: MSTORE
00002327: PUSH1 0x44
00002329: ADD
0000232a: PUSH2 0x0cda
0000232d: JUMP
0000232e: JUMPDEST
0000232f: PUSH1 0x40
00002331: DUP2
00002332: ADD
00002333: MLOAD
00002334: PUSH1 0x0b
00002336: DUP1
00002337: SLOAD
00002338: PUSH15 0xffffffffffffffffffffffffffffff
00002348: SWAP1
00002349: SWAP3
0000234a: AND
0000234b: SWAP2
0000234c: PUSH1 0x00
0000234e: SWAP1
0000234f: PUSH2 0x236b
00002352: SWAP1
00002353: DUP5
00002354: SWAP1
00002355: PUSH16 0xffffffffffffffffffffffffffffffff
00002366: AND
00002367: PUSH2 0x42b1
0000236a: JUMP
0000236b: JUMPDEST
0000236c: SWAP3
0000236d: POP
0000236e: PUSH2 0x0100
00002371: EXP
00002372: DUP2
00002373: SLOAD
00002374: DUP2
00002375: PUSH16 0xffffffffffffffffffffffffffffffff
00002386: MUL
00002387: NOT
00002388: AND
00002389: SWAP1
0000238a: DUP4
0000238b: PUSH16 0xffffffffffffffffffffffffffffffff
0000239c: AND
0000239d: MUL
0000239e: OR
0000239f: SWAP1
000023a0: SSTORE
000023a1: POP
000023a2: PUSH2 0x23aa
000023a5: DUP4
000023a6: PUSH2 0x2903
000023a9: JUMP
000023aa: JUMPDEST
000023ab: PUSH1 0x00
000023ad: DUP4
000023ae: DUP2
000023af: MSTORE
000023b0: PUSH1 0x0c
000023b2: PUSH1 0x20
000023b4: MSTORE
000023b5: PUSH1 0x40
000023b7: SWAP1
000023b8: DUP2
000023b9: SWAP1
000023ba: KECCAK256
000023bb: DUP1
000023bc: SLOAD
000023bd: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
000023de: AND
000023df: PUSH1 0x01
000023e1: OR
000023e2: SWAP1
000023e3: SSTORE
000023e4: DUP2
000023e5: DUP2
000023e6: ADD
000023e7: MLOAD
000023e8: SWAP1
000023e9: MLOAD
000023ea: PUSH32 0x42966c6800000000000000000000000000000000000000000000000000000000
0000240b: DUP2
0000240c: MSTORE
0000240d: PUSH15 0xffffffffffffffffffffffffffffff
0000241d: SWAP1
0000241e: SWAP2
0000241f: AND
00002420: PUSH1 0x04
00002422: DUP3
00002423: ADD
00002424: MSTORE
00002425: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000243a: PUSH32 0x0000000000000000000000005e8422345238f34275888049021821e8e08caa1f
0000245b: AND
0000245c: SWAP1
0000245d: PUSH4 0x42966c68
00002462: SWAP1
00002463: PUSH1 0x24
00002465: ADD
00002466: PUSH1 0x00
00002468: PUSH1 0x40
0000246a: MLOAD
0000246b: DUP1
0000246c: DUP4
0000246d: SUB
0000246e: DUP2
0000246f: PUSH1 0x00
00002471: DUP8
00002472: DUP1
00002473: EXTCODESIZE
00002474: ISZERO
00002475: DUP1
00002476: ISZERO
00002477: PUSH2 0x247f
0000247a: JUMPI
0000247b: PUSH1 0x00
0000247d: DUP1
0000247e: REVERT
0000247f: JUMPDEST
00002480: POP
00002481: GAS
00002482: CALL
00002483: ISZERO
00002484: DUP1
00002485: ISZERO
00002486: PUSH2 0x2493
00002489: JUMPI
0000248a: RETURNDATASIZE
0000248b: PUSH1 0x00
0000248d: DUP1
0000248e: RETURNDATACOPY
0000248f: RETURNDATASIZE
00002490: PUSH1 0x00
00002492: REVERT
00002493: JUMPDEST
00002494: POP
00002495: POP
00002496: POP
00002497: POP
00002498: SWAP3
00002499: SWAP2
0000249a: POP
0000249b: POP
0000249c: JUMP
0000249d: JUMPDEST
0000249e: PUSH1 0x01
000024a0: PUSH1 0x09
000024a2: SSTORE
000024a3: JUMP
000024a4: JUMPDEST
000024a5: PUSH1 0x00
000024a7: DUP1
000024a8: PUSH2 0x24b0
000024ab: DUP4
000024ac: PUSH2 0x1341
000024af: JUMP
000024b0: JUMPDEST
000024b1: SWAP1
000024b2: POP
000024b3: DUP1
000024b4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000024c9: AND
000024ca: DUP5
000024cb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000024e0: AND
000024e1: EQ
000024e2: DUP1
000024e3: PUSH2 0x251e
000024e6: JUMPI
000024e7: POP
000024e8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000024fd: DUP1
000024fe: DUP3
000024ff: AND
00002500: PUSH1 0x00
00002502: SWAP1
00002503: DUP2
00002504: MSTORE
00002505: PUSH1 0x05
00002507: PUSH1 0x20
00002509: SWAP1
0000250a: DUP2
0000250b: MSTORE
0000250c: PUSH1 0x40
0000250e: DUP1
0000250f: DUP4
00002510: KECCAK256
00002511: SWAP4
00002512: DUP9
00002513: AND
00002514: DUP4
00002515: MSTORE
00002516: SWAP3
00002517: SWAP1
00002518: MSTORE
00002519: KECCAK256
0000251a: SLOAD
0000251b: PUSH1 0xff
0000251d: AND
0000251e: JUMPDEST
0000251f: DUP1
00002520: PUSH2 0x1f9c
00002523: JUMPI
00002524: POP
00002525: DUP4
00002526: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000253b: AND
0000253c: PUSH2 0x2544
0000253f: DUP5
00002540: PUSH2 0x0be2
00002543: JUMP
00002544: JUMPDEST
00002545: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000255a: AND
0000255b: EQ
0000255c: SWAP5
0000255d: SWAP4
0000255e: POP
0000255f: POP
00002560: POP
00002561: POP
00002562: JUMP
00002563: JUMPDEST
00002564: DUP3
00002565: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000257a: AND
0000257b: PUSH2 0x2583
0000257e: DUP3
0000257f: PUSH2 0x1341
00002582: JUMP
00002583: JUMPDEST
00002584: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002599: AND
0000259a: EQ
0000259b: PUSH2 0x2626
0000259e: JUMPI
0000259f: PUSH1 0x40
000025a1: MLOAD
000025a2: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000025c3: DUP2
000025c4: MSTORE
000025c5: PUSH1 0x20
000025c7: PUSH1 0x04
000025c9: DUP3
000025ca: ADD
000025cb: MSTORE
000025cc: PUSH1 0x25
000025ce: PUSH1 0x24
000025d0: DUP3
000025d1: ADD
000025d2: MSTORE
000025d3: PUSH32 0x4552433732313a207472616e736665722066726f6d20696e636f727265637420
000025f4: PUSH1 0x44
000025f6: DUP3
000025f7: ADD
000025f8: MSTORE
000025f9: PUSH32 0x6f776e6572000000000000000000000000000000000000000000000000000000
0000261a: PUSH1 0x64
0000261c: DUP3
0000261d: ADD
0000261e: MSTORE
0000261f: PUSH1 0x84
00002621: ADD
00002622: PUSH2 0x0cda
00002625: JUMP
00002626: JUMPDEST
00002627: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000263c: DUP3
0000263d: AND
0000263e: PUSH2 0x26c8
00002641: JUMPI
00002642: PUSH1 0x40
00002644: MLOAD
00002645: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002666: DUP2
00002667: MSTORE
00002668: PUSH1 0x20
0000266a: PUSH1 0x04
0000266c: DUP3
0000266d: ADD
0000266e: MSTORE
0000266f: PUSH1 0x24
00002671: DUP1
00002672: DUP3
00002673: ADD
00002674: MSTORE
00002675: PUSH32 0x4552433732313a207472616e7366657220746f20746865207a65726f20616464
00002696: PUSH1 0x44
00002698: DUP3
00002699: ADD
0000269a: MSTORE
0000269b: PUSH32 0x7265737300000000000000000000000000000000000000000000000000000000
000026bc: PUSH1 0x64
000026be: DUP3
000026bf: ADD
000026c0: MSTORE
000026c1: PUSH1 0x84
000026c3: ADD
000026c4: PUSH2 0x0cda
000026c7: JUMP
000026c8: JUMPDEST
000026c9: DUP3
000026ca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000026df: AND
000026e0: PUSH2 0x26e8
000026e3: DUP3
000026e4: PUSH2 0x1341
000026e7: JUMP
000026e8: JUMPDEST
000026e9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000026fe: AND
000026ff: EQ
00002700: PUSH2 0x278b
00002703: JUMPI
00002704: PUSH1 0x40
00002706: MLOAD
00002707: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002728: DUP2
00002729: MSTORE
0000272a: PUSH1 0x20
0000272c: PUSH1 0x04
0000272e: DUP3
0000272f: ADD
00002730: MSTORE
00002731: PUSH1 0x25
00002733: PUSH1 0x24
00002735: DUP3
00002736: ADD
00002737: MSTORE
00002738: PUSH32 0x4552433732313a207472616e736665722066726f6d20696e636f727265637420
00002759: PUSH1 0x44
0000275b: DUP3
0000275c: ADD
0000275d: MSTORE
0000275e: PUSH32 0x6f776e6572000000000000000000000000000000000000000000000000000000
0000277f: PUSH1 0x64
00002781: DUP3
00002782: ADD
00002783: MSTORE
00002784: PUSH1 0x84
00002786: ADD
00002787: PUSH2 0x0cda
0000278a: JUMP
0000278b: JUMPDEST
0000278c: PUSH1 0x00
0000278e: DUP2
0000278f: DUP2
00002790: MSTORE
00002791: PUSH1 0x04
00002793: PUSH1 0x20
00002795: SWAP1
00002796: DUP2
00002797: MSTORE
00002798: PUSH1 0x40
0000279a: DUP1
0000279b: DUP4
0000279c: KECCAK256
0000279d: DUP1
0000279e: SLOAD
0000279f: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
000027c0: SWAP1
000027c1: DUP2
000027c2: AND
000027c3: SWAP1
000027c4: SWAP2
000027c5: SSTORE
000027c6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000027db: DUP8
000027dc: DUP2
000027dd: AND
000027de: DUP1
000027df: DUP7
000027e0: MSTORE
000027e1: PUSH1 0x03
000027e3: DUP6
000027e4: MSTORE
000027e5: DUP4
000027e6: DUP7
000027e7: KECCAK256
000027e8: DUP1
000027e9: SLOAD
000027ea: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000280b: ADD
0000280c: SWAP1
0000280d: SSTORE
0000280e: SWAP1
0000280f: DUP8
00002810: AND
00002811: DUP1
00002812: DUP7
00002813: MSTORE
00002814: DUP4
00002815: DUP7
00002816: KECCAK256
00002817: DUP1
00002818: SLOAD
00002819: PUSH1 0x01
0000281b: ADD
0000281c: SWAP1
0000281d: SSTORE
0000281e: DUP7
0000281f: DUP7
00002820: MSTORE
00002821: PUSH1 0x02
00002823: SWAP1
00002824: SWAP5
00002825: MSTORE
00002826: DUP3
00002827: DUP6
00002828: KECCAK256
00002829: DUP1
0000282a: SLOAD
0000282b: SWAP1
0000282c: SWAP3
0000282d: AND
0000282e: DUP5
0000282f: OR
00002830: SWAP1
00002831: SWAP2
00002832: SSTORE
00002833: SWAP1
00002834: MLOAD
00002835: DUP5
00002836: SWAP4
00002837: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00002858: SWAP2
00002859: LOG4
0000285a: POP
0000285b: POP
0000285c: POP
0000285d: JUMP
0000285e: JUMPDEST
0000285f: PUSH1 0x00
00002861: PUSH15 0xffffffffffffffffffffffffffffff
00002871: DUP3
00002872: GT
00002873: ISZERO
00002874: PUSH2 0x28ff
00002877: JUMPI
00002878: PUSH1 0x40
0000287a: MLOAD
0000287b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000289c: DUP2
0000289d: MSTORE
0000289e: PUSH1 0x20
000028a0: PUSH1 0x04
000028a2: DUP3
000028a3: ADD
000028a4: MSTORE
000028a5: PUSH1 0x27
000028a7: PUSH1 0x24
000028a9: DUP3
000028aa: ADD
000028ab: MSTORE
000028ac: PUSH32 0x53616665436173743a2076616c756520646f65736e27742066697420696e2031
000028cd: PUSH1 0x44
000028cf: DUP3
000028d0: ADD
000028d1: MSTORE
000028d2: PUSH32 0x3230206269747300000000000000000000000000000000000000000000000000
000028f3: PUSH1 0x64
000028f5: DUP3
000028f6: ADD
000028f7: MSTORE
000028f8: PUSH1 0x84
000028fa: ADD
000028fb: PUSH2 0x0cda
000028fe: JUMP
000028ff: JUMPDEST
00002900: POP
00002901: SWAP1
00002902: JUMP
00002903: JUMPDEST
00002904: PUSH1 0x00
00002906: PUSH2 0x290e
00002909: DUP3
0000290a: PUSH2 0x1341
0000290d: JUMP
0000290e: JUMPDEST
0000290f: SWAP1
00002910: POP
00002911: PUSH2 0x2919
00002914: DUP3
00002915: PUSH2 0x1341
00002918: JUMP
00002919: JUMPDEST
0000291a: PUSH1 0x00
0000291c: DUP4
0000291d: DUP2
0000291e: MSTORE
0000291f: PUSH1 0x04
00002921: PUSH1 0x20
00002923: SWAP1
00002924: DUP2
00002925: MSTORE
00002926: PUSH1 0x40
00002928: DUP1
00002929: DUP4
0000292a: KECCAK256
0000292b: DUP1
0000292c: SLOAD
0000292d: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
0000294e: SWAP1
0000294f: DUP2
00002950: AND
00002951: SWAP1
00002952: SWAP2
00002953: SSTORE
00002954: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002969: DUP6
0000296a: AND
0000296b: DUP1
0000296c: DUP6
0000296d: MSTORE
0000296e: PUSH1 0x03
00002970: DUP5
00002971: MSTORE
00002972: DUP3
00002973: DUP6
00002974: KECCAK256
00002975: DUP1
00002976: SLOAD
00002977: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002998: ADD
00002999: SWAP1
0000299a: SSTORE
0000299b: DUP8
0000299c: DUP6
0000299d: MSTORE
0000299e: PUSH1 0x02
000029a0: SWAP1
000029a1: SWAP4
000029a2: MSTORE
000029a3: DUP2
000029a4: DUP5
000029a5: KECCAK256
000029a6: DUP1
000029a7: SLOAD
000029a8: SWAP1
000029a9: SWAP2
000029aa: AND
000029ab: SWAP1
000029ac: SSTORE
000029ad: MLOAD
000029ae: SWAP3
000029af: SWAP4
000029b0: POP
000029b1: DUP5
000029b2: SWAP3
000029b3: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
000029d4: SWAP1
000029d5: DUP4
000029d6: SWAP1
000029d7: LOG4
000029d8: POP
000029d9: POP
000029da: JUMP
000029db: JUMPDEST
000029dc: PUSH1 0x40
000029de: MLOAD
000029df: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000029f4: DUP4
000029f5: AND
000029f6: PUSH1 0x24
000029f8: DUP3
000029f9: ADD
000029fa: MSTORE
000029fb: PUSH1 0x44
000029fd: DUP2
000029fe: ADD
000029ff: DUP3
00002a00: SWAP1
00002a01: MSTORE
00002a02: PUSH2 0x0da2
00002a05: SWAP1
00002a06: DUP5
00002a07: SWAP1
00002a08: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
00002a29: SWAP1
00002a2a: PUSH1 0x64
00002a2c: ADD
00002a2d: JUMPDEST
00002a2e: PUSH1 0x40
00002a30: DUP1
00002a31: MLOAD
00002a32: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00002a53: DUP2
00002a54: DUP5
00002a55: SUB
00002a56: ADD
00002a57: DUP2
00002a58: MSTORE
00002a59: SWAP2
00002a5a: SWAP1
00002a5b: MSTORE
00002a5c: PUSH1 0x20
00002a5e: DUP2
00002a5f: ADD
00002a60: DUP1
00002a61: MLOAD
00002a62: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002a7f: AND
00002a80: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
00002aa1: SWAP1
00002aa2: SWAP4
00002aa3: AND
00002aa4: SWAP3
00002aa5: SWAP1
00002aa6: SWAP3
00002aa7: OR
00002aa8: SWAP1
00002aa9: SWAP2
00002aaa: MSTORE
00002aab: PUSH2 0x3407
00002aae: JUMP
00002aaf: JUMPDEST
00002ab0: PUSH2 0x133f
00002ab3: CALLER
00002ab4: PUSH2 0x3516
00002ab7: JUMP
00002ab8: JUMPDEST
00002ab9: PUSH1 0x06
00002abb: DUP1
00002abc: SLOAD
00002abd: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00002ade: AND
00002adf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002af4: DUP4
00002af5: DUP2
00002af6: AND
00002af7: SWAP2
00002af8: DUP3
00002af9: OR
00002afa: SWAP1
00002afb: SWAP3
00002afc: SSTORE
00002afd: PUSH1 0x07
00002aff: SLOAD
00002b00: PUSH1 0x40
00002b02: MLOAD
00002b03: SWAP2
00002b04: SWAP3
00002b05: AND
00002b06: SWAP1
00002b07: PUSH32 0x162998b90abc2507f3953aa797827b03a14c42dbd9a35f09feaf02e0d592773a
00002b28: SWAP1
00002b29: PUSH1 0x00
00002b2b: SWAP1
00002b2c: LOG3
00002b2d: POP
00002b2e: JUMP
00002b2f: JUMPDEST
00002b30: PUSH1 0x00
00002b32: PUSH2 0x2b39
00002b35: PUSH2 0x2182
00002b38: JUMP
00002b39: JUMPDEST
00002b3a: PUSH1 0x40
00002b3c: DUP1
00002b3d: MLOAD
00002b3e: PUSH1 0x80
00002b40: DUP2
00002b41: ADD
00002b42: DUP3
00002b43: MSTORE
00002b44: PUSH1 0x0a
00002b46: SLOAD
00002b47: PUSH8 0xffffffffffffffff
00002b50: DUP1
00002b51: DUP3
00002b52: AND
00002b53: DUP4
00002b54: MSTORE
00002b55: PUSH9 0x010000000000000000
00002b5f: DUP3
00002b60: DIV
00002b61: DUP2
00002b62: AND
00002b63: PUSH1 0x20
00002b65: DUP1
00002b66: DUP6
00002b67: ADD
00002b68: SWAP2
00002b69: SWAP1
00002b6a: SWAP2
00002b6b: MSTORE
00002b6c: PUSH17 0x0100000000000000000000000000000000
00002b7e: DUP1
00002b7f: DUP5
00002b80: DIV
00002b81: DUP4
00002b82: AND
00002b83: DUP6
00002b84: DUP8
00002b85: ADD
00002b86: SWAP1
00002b87: DUP2
00002b88: MSTORE
00002b89: PUSH25 0x01000000000000000000000000000000000000000000000000
00002ba3: SWAP1
00002ba4: SWAP5
00002ba5: DIV
00002ba6: DUP4
00002ba7: AND
00002ba8: PUSH1 0x60
00002baa: DUP7
00002bab: ADD
00002bac: MSTORE
00002bad: DUP6
00002bae: MLOAD
00002baf: DUP1
00002bb0: DUP8
00002bb1: ADD
00002bb2: SWAP1
00002bb3: SWAP7
00002bb4: MSTORE
00002bb5: PUSH1 0x0b
00002bb7: SLOAD
00002bb8: PUSH16 0xffffffffffffffffffffffffffffffff
00002bc9: DUP1
00002bca: DUP3
00002bcb: AND
00002bcc: DUP9
00002bcd: MSTORE
00002bce: SWAP2
00002bcf: SWAP1
00002bd0: DIV
00002bd1: AND
00002bd2: SWAP1
00002bd3: DUP6
00002bd4: ADD
00002bd5: MSTORE
00002bd6: SWAP1
00002bd7: MLOAD
00002bd8: SWAP2
00002bd9: SWAP3
00002bda: SWAP2
00002bdb: PUSH1 0x00
00002bdd: SWAP2
00002bde: PUSH2 0x2c02
00002be1: SWAP2
00002be2: PUSH3 0x0f4240
00002be6: SWAP2
00002be7: PUSH2 0x10eb
00002bea: SWAP2
00002beb: AND
00002bec: PUSH15 0xffffffffffffffffffffffffffffff
00002bfc: DUP10
00002bfd: AND
00002bfe: PUSH2 0x42e1
00002c01: JUMP
00002c02: JUMPDEST
00002c03: SWAP1
00002c04: POP
00002c05: PUSH1 0x00
00002c07: PUSH2 0x2c10
00002c0a: DUP3
00002c0b: DUP8
00002c0c: PUSH2 0x435c
00002c0f: JUMP
00002c10: JUMPDEST
00002c11: SWAP1
00002c12: POP
00002c13: DUP1
00002c14: PUSH15 0xffffffffffffffffffffffffffffff
00002c24: AND
00002c25: DUP4
00002c26: PUSH1 0x00
00002c28: ADD
00002c29: DUP2
00002c2a: DUP2
00002c2b: MLOAD
00002c2c: PUSH2 0x2c35
00002c2f: SWAP2
00002c30: SWAP1
00002c31: PUSH2 0x4333
00002c34: JUMP
00002c35: JUMPDEST
00002c36: PUSH16 0xffffffffffffffffffffffffffffffff
00002c47: AND
00002c48: SWAP1
00002c49: MSTORE
00002c4a: POP
00002c4b: PUSH1 0x20
00002c4d: DUP4
00002c4e: ADD
00002c4f: DUP1
00002c50: MLOAD
00002c51: PUSH15 0xffffffffffffffffffffffffffffff
00002c61: DUP5
00002c62: AND
00002c63: SWAP2
00002c64: SWAP1
00002c65: PUSH2 0x2c6f
00002c68: SWAP1
00002c69: DUP4
00002c6a: SWAP1
00002c6b: PUSH2 0x4333
00002c6e: JUMP
00002c6f: JUMPDEST
00002c70: PUSH16 0xffffffffffffffffffffffffffffffff
00002c81: AND
00002c82: SWAP1
00002c83: MSTORE
00002c84: POP
00002c85: PUSH1 0x20
00002c87: DUP5
00002c88: ADD
00002c89: MLOAD
00002c8a: PUSH1 0x00
00002c8c: SWAP1
00002c8d: PUSH2 0x2c96
00002c90: SWAP1
00002c91: TIMESTAMP
00002c92: PUSH2 0x43cc
00002c95: JUMP
00002c96: JUMPDEST
00002c97: PUSH1 0x40
00002c99: DUP1
00002c9a: MLOAD
00002c9b: PUSH1 0x80
00002c9d: DUP2
00002c9e: ADD
00002c9f: DUP3
00002ca0: MSTORE
00002ca1: PUSH1 0x00
00002ca3: DUP1
00002ca4: DUP3
00002ca5: MSTORE
00002ca6: PUSH8 0xffffffffffffffff
00002caf: DUP1
00002cb0: DUP6
00002cb1: AND
00002cb2: PUSH1 0x20
00002cb4: DUP1
00002cb5: DUP6
00002cb6: ADD
00002cb7: SWAP2
00002cb8: DUP3
00002cb9: MSTORE
00002cba: PUSH15 0xffffffffffffffffffffffffffffff
00002cca: DUP1
00002ccb: DUP11
00002ccc: AND
00002ccd: DUP7
00002cce: DUP9
00002ccf: ADD
00002cd0: SWAP1
00002cd1: DUP2
00002cd2: MSTORE
00002cd3: PUSH1 0x60
00002cd5: DUP15
00002cd6: DUP2
00002cd7: ADD
00002cd8: MLOAD
00002cd9: DUP7
00002cda: AND
00002cdb: SWAP1
00002cdc: DUP9
00002cdd: ADD
00002cde: SWAP1
00002cdf: DUP2
00002ce0: MSTORE
00002ce1: DUP15
00002ce2: MLOAD
00002ce3: DUP7
00002ce4: AND
00002ce5: DUP8
00002ce6: MSTORE
00002ce7: PUSH1 0x0c
00002ce9: SWAP1
00002cea: SWAP4
00002ceb: MSTORE
00002cec: SWAP7
00002ced: SWAP1
00002cee: SWAP5
00002cef: KECCAK256
00002cf0: SWAP5
00002cf1: MLOAD
00002cf2: DUP6
00002cf3: SLOAD
00002cf4: SWAP3
00002cf5: MLOAD
00002cf6: SWAP7
00002cf7: MLOAD
00002cf8: SWAP2
00002cf9: MLOAD
00002cfa: DUP5
00002cfb: AND
00002cfc: PUSH25 0x01000000000000000000000000000000000000000000000000
00002d16: MUL
00002d17: PUSH24 0xffffffffffffffffffffffffffffffffffffffffffffffff
00002d30: SWAP3
00002d31: SWAP1
00002d32: SWAP6
00002d33: AND
00002d34: PUSH10 0x01000000000000000000
00002d3f: MUL
00002d40: SWAP2
00002d41: SWAP1
00002d42: SWAP2
00002d43: AND
00002d44: PUSH9 0xffffffffffffffffff
00002d4e: SWAP7
00002d4f: DUP5
00002d50: AND
00002d51: PUSH2 0x0100
00002d54: MUL
00002d55: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffff0000000000000000ff
00002d76: SWAP3
00002d77: ISZERO
00002d78: ISZERO
00002d79: SWAP3
00002d7a: SWAP1
00002d7b: SWAP3
00002d7c: AND
00002d7d: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffff000000000000000000
00002d9e: SWAP1
00002d9f: SWAP4
00002da0: AND
00002da1: SWAP3
00002da2: SWAP1
00002da3: SWAP3
00002da4: OR
00002da5: OR
00002da6: SWAP5
00002da7: SWAP1
00002da8: SWAP5
00002da9: AND
00002daa: SWAP4
00002dab: SWAP1
00002dac: SWAP4
00002dad: OR
00002dae: OR
00002daf: SWAP1
00002db0: SSTORE
00002db1: DUP7
00002db2: MLOAD
00002db3: SWAP2
00002db4: SWAP3
00002db5: POP
00002db6: PUSH2 0x2dc1
00002db9: SWAP2
00002dba: DUP11
00002dbb: SWAP2
00002dbc: AND
00002dbd: PUSH2 0x358e
00002dc0: JUMP
00002dc1: JUMPDEST
00002dc2: DUP5
00002dc3: MLOAD
00002dc4: PUSH1 0x60
00002dc6: DUP1
00002dc7: DUP8
00002dc8: ADD
00002dc9: MLOAD
00002dca: PUSH1 0x40
00002dcc: DUP1
00002dcd: MLOAD
00002dce: PUSH15 0xffffffffffffffffffffffffffffff
00002dde: DUP13
00002ddf: DUP2
00002de0: AND
00002de1: DUP3
00002de2: MSTORE
00002de3: DUP9
00002de4: AND
00002de5: PUSH1 0x20
00002de7: DUP3
00002de8: ADD
00002de9: MSTORE
00002dea: PUSH8 0xffffffffffffffff
00002df3: DUP7
00002df4: DUP2
00002df5: AND
00002df6: DUP3
00002df7: DUP5
00002df8: ADD
00002df9: MSTORE
00002dfa: SWAP3
00002dfb: DUP4
00002dfc: AND
00002dfd: SWAP4
00002dfe: DUP2
00002dff: ADD
00002e00: SWAP4
00002e01: SWAP1
00002e02: SWAP4
00002e03: MSTORE
00002e04: MLOAD
00002e05: SWAP3
00002e06: AND
00002e07: SWAP8
00002e08: POP
00002e09: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002e1e: DUP11
00002e1f: AND
00002e20: SWAP2
00002e21: CALLER
00002e22: SWAP2
00002e23: DUP10
00002e24: SWAP2
00002e25: PUSH32 0x6d276369c2c335a7a5cd8eeda9c75ea535f37c65e580d36fd3ab8ce3d1297a00
00002e46: SWAP2
00002e47: DUP2
00002e48: SWAP1
00002e49: SUB
00002e4a: PUSH1 0x80
00002e4c: ADD
00002e4d: SWAP1
00002e4e: LOG4
00002e4f: DUP5
00002e50: MLOAD
00002e51: DUP6
00002e52: SWAP1
00002e53: PUSH2 0x2e5b
00002e56: SWAP1
00002e57: PUSH2 0x43ed
00002e5a: JUMP
00002e5b: JUMPDEST
00002e5c: PUSH8 0xffffffffffffffff
00002e65: SWAP1
00002e66: DUP2
00002e67: AND
00002e68: SWAP1
00002e69: SWAP2
00002e6a: MSTORE
00002e6b: DUP6
00002e6c: MLOAD
00002e6d: PUSH1 0x0a
00002e6f: DUP1
00002e70: SLOAD
00002e71: PUSH1 0x20
00002e73: DUP1
00002e74: DUP11
00002e75: ADD
00002e76: MLOAD
00002e77: PUSH1 0x40
00002e79: DUP12
00002e7a: ADD
00002e7b: MLOAD
00002e7c: PUSH1 0x60
00002e7e: SWAP1
00002e7f: SWAP12
00002e80: ADD
00002e81: MLOAD
00002e82: DUP7
00002e83: AND
00002e84: PUSH25 0x01000000000000000000000000000000000000000000000000
00002e9e: MUL
00002e9f: PUSH24 0xffffffffffffffffffffffffffffffffffffffffffffffff
00002eb8: SWAP12
00002eb9: DUP8
00002eba: AND
00002ebb: PUSH17 0x0100000000000000000000000000000000
00002ecd: SWAP1
00002ece: DUP2
00002ecf: MUL
00002ed0: SWAP13
00002ed1: SWAP1
00002ed2: SWAP13
00002ed3: AND
00002ed4: PUSH16 0xffffffffffffffffffffffffffffffff
00002ee5: SWAP3
00002ee6: DUP9
00002ee7: AND
00002ee8: PUSH9 0x010000000000000000
00002ef2: MUL
00002ef3: PUSH32 0xffffffffffffffffffffffffffffffff00000000000000000000000000000000
00002f14: SWAP1
00002f15: SWAP6
00002f16: AND
00002f17: SWAP7
00002f18: SWAP1
00002f19: SWAP8
00002f1a: AND
00002f1b: SWAP6
00002f1c: SWAP1
00002f1d: SWAP6
00002f1e: OR
00002f1f: SWAP3
00002f20: SWAP1
00002f21: SWAP3
00002f22: OR
00002f23: DUP3
00002f24: AND
00002f25: SWAP5
00002f26: SWAP1
00002f27: SWAP5
00002f28: OR
00002f29: SWAP3
00002f2a: SWAP1
00002f2b: SWAP3
00002f2c: OR
00002f2d: SWAP1
00002f2e: SSTORE
00002f2f: DUP6
00002f30: MLOAD
00002f31: SWAP6
00002f32: SWAP1
00002f33: SWAP2
00002f34: ADD
00002f35: MLOAD
00002f36: DUP2
00002f37: AND
00002f38: SWAP1
00002f39: SWAP6
00002f3a: MUL
00002f3b: SWAP4
00002f3c: SWAP1
00002f3d: SWAP5
00002f3e: AND
00002f3f: SWAP3
00002f40: SWAP1
00002f41: SWAP3
00002f42: OR
00002f43: PUSH1 0x0b
00002f45: SSTORE
00002f46: POP
00002f47: PUSH2 0x0b4a
00002f4a: SWAP2
00002f4b: POP
00002f4c: PUSH2 0x249d
00002f4f: SWAP1
00002f50: POP
00002f51: JUMP
00002f52: JUMPDEST
00002f53: PUSH1 0x40
00002f55: MLOAD
00002f56: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002f6b: DUP1
00002f6c: DUP6
00002f6d: AND
00002f6e: PUSH1 0x24
00002f70: DUP4
00002f71: ADD
00002f72: MSTORE
00002f73: DUP4
00002f74: AND
00002f75: PUSH1 0x44
00002f77: DUP3
00002f78: ADD
00002f79: MSTORE
00002f7a: PUSH1 0x64
00002f7c: DUP2
00002f7d: ADD
00002f7e: DUP3
00002f7f: SWAP1
00002f80: MSTORE
00002f81: PUSH2 0x19c9
00002f84: SWAP1
00002f85: DUP6
00002f86: SWAP1
00002f87: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000
00002fa8: SWAP1
00002fa9: PUSH1 0x84
00002fab: ADD
00002fac: PUSH2 0x2a2d
00002faf: JUMP
00002fb0: JUMPDEST
00002fb1: PUSH2 0x133f
00002fb4: CALLER
00002fb5: PUSH2 0x35a8
00002fb8: JUMP
00002fb9: JUMPDEST
00002fba: PUSH1 0x07
00002fbc: SLOAD
00002fbd: PUSH1 0x40
00002fbf: MLOAD
00002fc0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002fd5: DUP1
00002fd6: DUP5
00002fd7: AND
00002fd8: SWAP3
00002fd9: AND
00002fda: SWAP1
00002fdb: PUSH32 0x31b6c5a04b069b6ec1b3cef44c4e7c1eadd721349cda9823d0b1877b3551cdc6
00002ffc: SWAP1
00002ffd: PUSH1 0x00
00002fff: SWAP1
00003000: LOG3
00003001: PUSH1 0x07
00003003: DUP1
00003004: SLOAD
00003005: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00003026: AND
00003027: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000303c: SWAP3
0000303d: SWAP1
0000303e: SWAP3
0000303f: AND
00003040: SWAP2
00003041: SWAP1
00003042: SWAP2
00003043: OR
00003044: SWAP1
00003045: SSTORE
00003046: JUMP
00003047: JUMPDEST
00003048: PUSH1 0x07
0000304a: SLOAD
0000304b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003060: AND
00003061: CALLER
00003062: EQ
00003063: DUP1
00003064: PUSH2 0x3084
00003067: JUMPI
00003068: POP
00003069: PUSH1 0x08
0000306b: SLOAD
0000306c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003081: AND
00003082: CALLER
00003083: EQ
00003084: JUMPDEST
00003085: PUSH2 0x133f
00003088: JUMPI
00003089: PUSH1 0x40
0000308b: MLOAD
0000308c: PUSH32 0x559bf54c00000000000000000000000000000000000000000000000000000000
000030ad: DUP2
000030ae: MSTORE
000030af: PUSH1 0x04
000030b1: ADD
000030b2: PUSH1 0x40
000030b4: MLOAD
000030b5: DUP1
000030b6: SWAP2
000030b7: SUB
000030b8: SWAP1
000030b9: REVERT
000030ba: JUMPDEST
000030bb: DUP2
000030bc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000030d1: AND
000030d2: DUP4
000030d3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000030e8: AND
000030e9: SUB
000030ea: PUSH2 0x314f
000030ed: JUMPI
000030ee: PUSH1 0x40
000030f0: MLOAD
000030f1: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003112: DUP2
00003113: MSTORE
00003114: PUSH1 0x20
00003116: PUSH1 0x04
00003118: DUP3
00003119: ADD
0000311a: MSTORE
0000311b: PUSH1 0x19
0000311d: PUSH1 0x24
0000311f: DUP3
00003120: ADD
00003121: MSTORE
00003122: PUSH32 0x4552433732313a20617070726f766520746f2063616c6c657200000000000000
00003143: PUSH1 0x44
00003145: DUP3
00003146: ADD
00003147: MSTORE
00003148: PUSH1 0x64
0000314a: ADD
0000314b: PUSH2 0x0cda
0000314e: JUMP
0000314f: JUMPDEST
00003150: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003165: DUP4
00003166: DUP2
00003167: AND
00003168: PUSH1 0x00
0000316a: DUP2
0000316b: DUP2
0000316c: MSTORE
0000316d: PUSH1 0x05
0000316f: PUSH1 0x20
00003171: SWAP1
00003172: DUP2
00003173: MSTORE
00003174: PUSH1 0x40
00003176: DUP1
00003177: DUP4
00003178: KECCAK256
00003179: SWAP5
0000317a: DUP8
0000317b: AND
0000317c: DUP1
0000317d: DUP5
0000317e: MSTORE
0000317f: SWAP5
00003180: DUP3
00003181: MSTORE
00003182: SWAP2
00003183: DUP3
00003184: SWAP1
00003185: KECCAK256
00003186: DUP1
00003187: SLOAD
00003188: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
000031a9: AND
000031aa: DUP7
000031ab: ISZERO
000031ac: ISZERO
000031ad: SWAP1
000031ae: DUP2
000031af: OR
000031b0: SWAP1
000031b1: SWAP2
000031b2: SSTORE
000031b3: SWAP2
000031b4: MLOAD
000031b5: SWAP2
000031b6: DUP3
000031b7: MSTORE
000031b8: PUSH32 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31
000031d9: SWAP2
000031da: ADD
000031db: PUSH1 0x40
000031dd: MLOAD
000031de: DUP1
000031df: SWAP2
000031e0: SUB
000031e1: SWAP1
000031e2: LOG3
000031e3: POP
000031e4: POP
000031e5: POP
000031e6: JUMP
000031e7: JUMPDEST
000031e8: PUSH1 0x08
000031ea: SLOAD
000031eb: PUSH1 0x40
000031ed: MLOAD
000031ee: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003203: DUP1
00003204: DUP5
00003205: AND
00003206: SWAP3
00003207: AND
00003208: SWAP1
00003209: PUSH32 0x74da04524d50c64947f5dd5381ef1a4dca5cba8ed1d816243f9e48aa0b5617ed
0000322a: SWAP1
0000322b: PUSH1 0x00
0000322d: SWAP1
0000322e: LOG3
0000322f: PUSH1 0x08
00003231: DUP1
00003232: SLOAD
00003233: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00003254: AND
00003255: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000326a: SWAP3
0000326b: SWAP1
0000326c: SWAP3
0000326d: AND
0000326e: SWAP2
0000326f: SWAP1
00003270: SWAP2
00003271: OR
00003272: SWAP1
00003273: SSTORE
00003274: JUMP
00003275: JUMPDEST
00003276: PUSH2 0x3280
00003279: DUP5
0000327a: DUP5
0000327b: DUP5
0000327c: PUSH2 0x2563
0000327f: JUMP
00003280: JUMPDEST
00003281: PUSH2 0x328c
00003284: DUP5
00003285: DUP5
00003286: DUP5
00003287: DUP5
00003288: PUSH2 0x3620
0000328b: JUMP
0000328c: JUMPDEST
0000328d: PUSH2 0x19c9
00003290: JUMPI
00003291: PUSH1 0x40
00003293: MLOAD
00003294: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000032b5: DUP2
000032b6: MSTORE
000032b7: PUSH1 0x20
000032b9: PUSH1 0x04
000032bb: DUP3
000032bc: ADD
000032bd: MSTORE
000032be: PUSH1 0x32
000032c0: PUSH1 0x24
000032c2: DUP3
000032c3: ADD
000032c4: MSTORE
000032c5: PUSH32 0x4552433732313a207472616e7366657220746f206e6f6e204552433732315265
000032e6: PUSH1 0x44
000032e8: DUP3
000032e9: ADD
000032ea: MSTORE
000032eb: PUSH32 0x63656976657220696d706c656d656e7465720000000000000000000000000000
0000330c: PUSH1 0x64
0000330e: DUP3
0000330f: ADD
00003310: MSTORE
00003311: PUSH1 0x84
00003313: ADD
00003314: PUSH2 0x0cda
00003317: JUMP
00003318: JUMPDEST
00003319: PUSH1 0x60
0000331b: PUSH1 0x00
0000331d: PUSH2 0x3325
00003320: DUP4
00003321: PUSH2 0x3813
00003324: JUMP
00003325: JUMPDEST
00003326: PUSH1 0x01
00003328: ADD
00003329: SWAP1
0000332a: POP
0000332b: PUSH1 0x00
0000332d: DUP2
0000332e: PUSH8 0xffffffffffffffff
00003337: DUP2
00003338: GT
00003339: ISZERO
0000333a: PUSH2 0x3345
0000333d: JUMPI
0000333e: PUSH2 0x3345
00003341: PUSH2 0x40d4
00003344: JUMP
00003345: JUMPDEST
00003346: PUSH1 0x40
00003348: MLOAD
00003349: SWAP1
0000334a: DUP1
0000334b: DUP3
0000334c: MSTORE
0000334d: DUP1
0000334e: PUSH1 0x1f
00003350: ADD
00003351: PUSH1 0x1f
00003353: NOT
00003354: AND
00003355: PUSH1 0x20
00003357: ADD
00003358: DUP3
00003359: ADD
0000335a: PUSH1 0x40
0000335c: MSTORE
0000335d: DUP1
0000335e: ISZERO
0000335f: PUSH2 0x336f
00003362: JUMPI
00003363: PUSH1 0x20
00003365: DUP3
00003366: ADD
00003367: DUP2
00003368: DUP1
00003369: CALLDATASIZE
0000336a: DUP4
0000336b: CALLDATACOPY
0000336c: ADD
0000336d: SWAP1
0000336e: POP
0000336f: JUMPDEST
00003370: POP
00003371: SWAP1
00003372: POP
00003373: DUP2
00003374: DUP2
00003375: ADD
00003376: PUSH1 0x20
00003378: ADD
00003379: JUMPDEST
0000337a: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000339b: ADD
0000339c: PUSH32 0x3031323334353637383961626364656600000000000000000000000000000000
000033bd: PUSH1 0x0a
000033bf: DUP7
000033c0: MOD
000033c1: BYTE
000033c2: DUP2
000033c3: MSTORE8
000033c4: PUSH1 0x0a
000033c6: DUP6
000033c7: DIV
000033c8: SWAP5
000033c9: POP
000033ca: DUP5
000033cb: PUSH2 0x3379
000033ce: JUMPI
000033cf: POP
000033d0: SWAP4
000033d1: SWAP3
000033d2: POP
000033d3: POP
000033d4: POP
000033d5: JUMP
000033d6: JUMPDEST
000033d7: PUSH1 0x06
000033d9: DUP1
000033da: SLOAD
000033db: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
000033fc: AND
000033fd: SWAP1
000033fe: SSTORE
000033ff: PUSH2 0x133f
00003402: CALLER
00003403: PUSH2 0x2fb9
00003406: JUMP
00003407: JUMPDEST
00003408: PUSH1 0x00
0000340a: PUSH2 0x3469
0000340d: DUP3
0000340e: PUSH1 0x40
00003410: MLOAD
00003411: DUP1
00003412: PUSH1 0x40
00003414: ADD
00003415: PUSH1 0x40
00003417: MSTORE
00003418: DUP1
00003419: PUSH1 0x20
0000341b: DUP2
0000341c: MSTORE
0000341d: PUSH1 0x20
0000341f: ADD
00003420: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
00003441: DUP2
00003442: MSTORE
00003443: POP
00003444: DUP6
00003445: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000345a: AND
0000345b: PUSH2 0x38f5
0000345e: SWAP1
0000345f: SWAP3
00003460: SWAP2
00003461: SWAP1
00003462: PUSH4 0xffffffff
00003467: AND
00003468: JUMP
00003469: JUMPDEST
0000346a: SWAP1
0000346b: POP
0000346c: DUP1
0000346d: MLOAD
0000346e: PUSH1 0x00
00003470: EQ
00003471: DUP1
00003472: PUSH2 0x348a
00003475: JUMPI
00003476: POP
00003477: DUP1
00003478: DUP1
00003479: PUSH1 0x20
0000347b: ADD
0000347c: SWAP1
0000347d: MLOAD
0000347e: DUP2
0000347f: ADD
00003480: SWAP1
00003481: PUSH2 0x348a
00003484: SWAP2
00003485: SWAP1
00003486: PUSH2 0x4414
00003489: JUMP
0000348a: JUMPDEST
0000348b: PUSH2 0x0da2
0000348e: JUMPI
0000348f: PUSH1 0x40
00003491: MLOAD
00003492: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000034b3: DUP2
000034b4: MSTORE
000034b5: PUSH1 0x20
000034b7: PUSH1 0x04
000034b9: DUP3
000034ba: ADD
000034bb: MSTORE
000034bc: PUSH1 0x2a
000034be: PUSH1 0x24
000034c0: DUP3
000034c1: ADD
000034c2: MSTORE
000034c3: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e
000034e4: PUSH1 0x44
000034e6: DUP3
000034e7: ADD
000034e8: MSTORE
000034e9: PUSH32 0x6f74207375636365656400000000000000000000000000000000000000000000
0000350a: PUSH1 0x64
0000350c: DUP3
0000350d: ADD
0000350e: MSTORE
0000350f: PUSH1 0x84
00003511: ADD
00003512: PUSH2 0x0cda
00003515: JUMP
00003516: JUMPDEST
00003517: PUSH1 0x07
00003519: SLOAD
0000351a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000352f: DUP3
00003530: DUP2
00003531: AND
00003532: SWAP2
00003533: AND
00003534: EQ
00003535: PUSH2 0x12b7
00003538: JUMPI
00003539: PUSH1 0x07
0000353b: SLOAD
0000353c: PUSH1 0x40
0000353e: MLOAD
0000353f: PUSH32 0x443dc2b400000000000000000000000000000000000000000000000000000000
00003560: DUP2
00003561: MSTORE
00003562: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003577: SWAP2
00003578: DUP3
00003579: AND
0000357a: PUSH1 0x04
0000357c: DUP3
0000357d: ADD
0000357e: MSTORE
0000357f: SWAP1
00003580: DUP3
00003581: AND
00003582: PUSH1 0x24
00003584: DUP3
00003585: ADD
00003586: MSTORE
00003587: PUSH1 0x44
00003589: ADD
0000358a: PUSH2 0x0cda
0000358d: JUMP
0000358e: JUMPDEST
0000358f: PUSH2 0x0ede
00003592: DUP3
00003593: DUP3
00003594: PUSH1 0x40
00003596: MLOAD
00003597: DUP1
00003598: PUSH1 0x20
0000359a: ADD
0000359b: PUSH1 0x40
0000359d: MSTORE
0000359e: DUP1
0000359f: PUSH1 0x00
000035a1: DUP2
000035a2: MSTORE
000035a3: POP
000035a4: PUSH2 0x3904
000035a7: JUMP
000035a8: JUMPDEST
000035a9: PUSH1 0x06
000035ab: SLOAD
000035ac: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000035c1: DUP3
000035c2: DUP2
000035c3: AND
000035c4: SWAP2
000035c5: AND
000035c6: EQ
000035c7: PUSH2 0x12b7
000035ca: JUMPI
000035cb: PUSH1 0x06
000035cd: SLOAD
000035ce: PUSH1 0x40
000035d0: MLOAD
000035d1: PUSH32 0xbe5a953700000000000000000000000000000000000000000000000000000000
000035f2: DUP2
000035f3: MSTORE
000035f4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003609: SWAP2
0000360a: DUP3
0000360b: AND
0000360c: PUSH1 0x04
0000360e: DUP3
0000360f: ADD
00003610: MSTORE
00003611: SWAP1
00003612: DUP3
00003613: AND
00003614: PUSH1 0x24
00003616: DUP3
00003617: ADD
00003618: MSTORE
00003619: PUSH1 0x44
0000361b: ADD
0000361c: PUSH2 0x0cda
0000361f: JUMP
00003620: JUMPDEST
00003621: PUSH1 0x00
00003623: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003638: DUP5
00003639: AND
0000363a: EXTCODESIZE
0000363b: ISZERO
0000363c: PUSH2 0x3808
0000363f: JUMPI
00003640: PUSH1 0x40
00003642: MLOAD
00003643: PUSH32 0x150b7a0200000000000000000000000000000000000000000000000000000000
00003664: DUP2
00003665: MSTORE
00003666: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000367b: DUP6
0000367c: AND
0000367d: SWAP1
0000367e: PUSH4 0x150b7a02
00003683: SWAP1
00003684: PUSH2 0x3697
00003687: SWAP1
00003688: CALLER
00003689: SWAP1
0000368a: DUP10
0000368b: SWAP1
0000368c: DUP9
0000368d: SWAP1
0000368e: DUP9
0000368f: SWAP1
00003690: PUSH1 0x04
00003692: ADD
00003693: PUSH2 0x4431
00003696: JUMP
00003697: JUMPDEST
00003698: PUSH1 0x20
0000369a: PUSH1 0x40
0000369c: MLOAD
0000369d: DUP1
0000369e: DUP4
0000369f: SUB
000036a0: DUP2
000036a1: PUSH1 0x00
000036a3: DUP8
000036a4: GAS
000036a5: CALL
000036a6: SWAP3
000036a7: POP
000036a8: POP
000036a9: POP
000036aa: DUP1
000036ab: ISZERO
000036ac: PUSH2 0x36f0
000036af: JUMPI
000036b0: POP
000036b1: PUSH1 0x40
000036b3: DUP1
000036b4: MLOAD
000036b5: PUSH1 0x1f
000036b7: RETURNDATASIZE
000036b8: SWAP1
000036b9: DUP2
000036ba: ADD
000036bb: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
000036dc: AND
000036dd: DUP3
000036de: ADD
000036df: SWAP1
000036e0: SWAP3
000036e1: MSTORE
000036e2: PUSH2 0x36ed
000036e5: SWAP2
000036e6: DUP2
000036e7: ADD
000036e8: SWAP1
000036e9: PUSH2 0x447a
000036ec: JUMP
000036ed: JUMPDEST
000036ee: PUSH1 0x01
000036f0: JUMPDEST
000036f1: PUSH2 0x37bd
000036f4: JUMPI
000036f5: RETURNDATASIZE
000036f6: DUP1
000036f7: DUP1
000036f8: ISZERO
000036f9: PUSH2 0x371e
000036fc: JUMPI
000036fd: PUSH1 0x40
000036ff: MLOAD
00003700: SWAP2
00003701: POP
00003702: PUSH1 0x1f
00003704: NOT
00003705: PUSH1 0x3f
00003707: RETURNDATASIZE
00003708: ADD
00003709: AND
0000370a: DUP3
0000370b: ADD
0000370c: PUSH1 0x40
0000370e: MSTORE
0000370f: RETURNDATASIZE
00003710: DUP3
00003711: MSTORE
00003712: RETURNDATASIZE
00003713: PUSH1 0x00
00003715: PUSH1 0x20
00003717: DUP5
00003718: ADD
00003719: RETURNDATACOPY
0000371a: PUSH2 0x3723
0000371d: JUMP
0000371e: JUMPDEST
0000371f: PUSH1 0x60
00003721: SWAP2
00003722: POP
00003723: JUMPDEST
00003724: POP
00003725: DUP1
00003726: MLOAD
00003727: PUSH1 0x00
00003729: SUB
0000372a: PUSH2 0x37b5
0000372d: JUMPI
0000372e: PUSH1 0x40
00003730: MLOAD
00003731: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003752: DUP2
00003753: MSTORE
00003754: PUSH1 0x20
00003756: PUSH1 0x04
00003758: DUP3
00003759: ADD
0000375a: MSTORE
0000375b: PUSH1 0x32
0000375d: PUSH1 0x24
0000375f: DUP3
00003760: ADD
00003761: MSTORE
00003762: PUSH32 0x4552433732313a207472616e7366657220746f206e6f6e204552433732315265
00003783: PUSH1 0x44
00003785: DUP3
00003786: ADD
00003787: MSTORE
00003788: PUSH32 0x63656976657220696d706c656d656e7465720000000000000000000000000000
000037a9: PUSH1 0x64
000037ab: DUP3
000037ac: ADD
000037ad: MSTORE
000037ae: PUSH1 0x84
000037b0: ADD
000037b1: PUSH2 0x0cda
000037b4: JUMP
000037b5: JUMPDEST
000037b6: DUP1
000037b7: MLOAD
000037b8: DUP2
000037b9: PUSH1 0x20
000037bb: ADD
000037bc: REVERT
000037bd: JUMPDEST
000037be: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
000037df: AND
000037e0: PUSH32 0x150b7a0200000000000000000000000000000000000000000000000000000000
00003801: EQ
00003802: SWAP1
00003803: POP
00003804: PUSH2 0x1f9c
00003807: JUMP
00003808: JUMPDEST
00003809: POP
0000380a: PUSH1 0x01
0000380c: SWAP5
0000380d: SWAP4
0000380e: POP
0000380f: POP
00003810: POP
00003811: POP
00003812: JUMP
00003813: JUMPDEST
00003814: PUSH1 0x00
00003816: DUP1
00003817: PUSH27 0x184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000
00003833: DUP4
00003834: LT
00003835: PUSH2 0x385c
00003838: JUMPI
00003839: PUSH27 0x184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000
00003855: DUP4
00003856: DIV
00003857: SWAP3
00003858: POP
00003859: PUSH1 0x40
0000385b: ADD
0000385c: JUMPDEST
0000385d: PUSH14 0x04ee2d6d415b85acef8100000000
0000386c: DUP4
0000386d: LT
0000386e: PUSH2 0x3888
00003871: JUMPI
00003872: PUSH14 0x04ee2d6d415b85acef8100000000
00003881: DUP4
00003882: DIV
00003883: SWAP3
00003884: POP
00003885: PUSH1 0x20
00003887: ADD
00003888: JUMPDEST
00003889: PUSH7 0x2386f26fc10000
00003891: DUP4
00003892: LT
00003893: PUSH2 0x38a6
00003896: JUMPI
00003897: PUSH7 0x2386f26fc10000
0000389f: DUP4
000038a0: DIV
000038a1: SWAP3
000038a2: POP
000038a3: PUSH1 0x10
000038a5: ADD
000038a6: JUMPDEST
000038a7: PUSH4 0x05f5e100
000038ac: DUP4
000038ad: LT
000038ae: PUSH2 0x38be
000038b1: JUMPI
000038b2: PUSH4 0x05f5e100
000038b7: DUP4
000038b8: DIV
000038b9: SWAP3
000038ba: POP
000038bb: PUSH1 0x08
000038bd: ADD
000038be: JUMPDEST
000038bf: PUSH2 0x2710
000038c2: DUP4
000038c3: LT
000038c4: PUSH2 0x38d2
000038c7: JUMPI
000038c8: PUSH2 0x2710
000038cb: DUP4
000038cc: DIV
000038cd: SWAP3
000038ce: POP
000038cf: PUSH1 0x04
000038d1: ADD
000038d2: JUMPDEST
000038d3: PUSH1 0x64
000038d5: DUP4
000038d6: LT
000038d7: PUSH2 0x38e4
000038da: JUMPI
000038db: PUSH1 0x64
000038dd: DUP4
000038de: DIV
000038df: SWAP3
000038e0: POP
000038e1: PUSH1 0x02
000038e3: ADD
000038e4: JUMPDEST
000038e5: PUSH1 0x0a
000038e7: DUP4
000038e8: LT
000038e9: PUSH2 0x0b4a
000038ec: JUMPI
000038ed: PUSH1 0x01
000038ef: ADD
000038f0: SWAP3
000038f1: SWAP2
000038f2: POP
000038f3: POP
000038f4: JUMP
000038f5: JUMPDEST
000038f6: PUSH1 0x60
000038f8: PUSH2 0x1f9c
000038fb: DUP5
000038fc: DUP5
000038fd: PUSH1 0x00
000038ff: DUP6
00003900: PUSH2 0x39a7
00003903: JUMP
00003904: JUMPDEST
00003905: PUSH2 0x390e
00003908: DUP4
00003909: DUP4
0000390a: PUSH2 0x3ab5
0000390d: JUMP
0000390e: JUMPDEST
0000390f: PUSH2 0x391b
00003912: PUSH1 0x00
00003914: DUP5
00003915: DUP5
00003916: DUP5
00003917: PUSH2 0x3620
0000391a: JUMP
0000391b: JUMPDEST
0000391c: PUSH2 0x0da2
0000391f: JUMPI
00003920: PUSH1 0x40
00003922: MLOAD
00003923: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003944: DUP2
00003945: MSTORE
00003946: PUSH1 0x20
00003948: PUSH1 0x04
0000394a: DUP3
0000394b: ADD
0000394c: MSTORE
0000394d: PUSH1 0x32
0000394f: PUSH1 0x24
00003951: DUP3
00003952: ADD
00003953: MSTORE
00003954: PUSH32 0x4552433732313a207472616e7366657220746f206e6f6e204552433732315265
00003975: PUSH1 0x44
00003977: DUP3
00003978: ADD
00003979: MSTORE
0000397a: PUSH32 0x63656976657220696d706c656d656e7465720000000000000000000000000000
0000399b: PUSH1 0x64
0000399d: DUP3
0000399e: ADD
0000399f: MSTORE
000039a0: PUSH1 0x84
000039a2: ADD
000039a3: PUSH2 0x0cda
000039a6: JUMP
000039a7: JUMPDEST
000039a8: PUSH1 0x60
000039aa: DUP3
000039ab: SELFBALANCE
000039ac: LT
000039ad: ISZERO
000039ae: PUSH2 0x3a39
000039b1: JUMPI
000039b2: PUSH1 0x40
000039b4: MLOAD
000039b5: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000039d6: DUP2
000039d7: MSTORE
000039d8: PUSH1 0x20
000039da: PUSH1 0x04
000039dc: DUP3
000039dd: ADD
000039de: MSTORE
000039df: PUSH1 0x26
000039e1: PUSH1 0x24
000039e3: DUP3
000039e4: ADD
000039e5: MSTORE
000039e6: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f
00003a07: PUSH1 0x44
00003a09: DUP3
00003a0a: ADD
00003a0b: MSTORE
00003a0c: PUSH32 0x722063616c6c0000000000000000000000000000000000000000000000000000
00003a2d: PUSH1 0x64
00003a2f: DUP3
00003a30: ADD
00003a31: MSTORE
00003a32: PUSH1 0x84
00003a34: ADD
00003a35: PUSH2 0x0cda
00003a38: JUMP
00003a39: JUMPDEST
00003a3a: PUSH1 0x00
00003a3c: DUP1
00003a3d: DUP7
00003a3e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003a53: AND
00003a54: DUP6
00003a55: DUP8
00003a56: PUSH1 0x40
00003a58: MLOAD
00003a59: PUSH2 0x3a62
00003a5c: SWAP2
00003a5d: SWAP1
00003a5e: PUSH2 0x4497
00003a61: JUMP
00003a62: JUMPDEST
00003a63: PUSH1 0x00
00003a65: PUSH1 0x40
00003a67: MLOAD
00003a68: DUP1
00003a69: DUP4
00003a6a: SUB
00003a6b: DUP2
00003a6c: DUP6
00003a6d: DUP8
00003a6e: GAS
00003a6f: CALL
00003a70: SWAP3
00003a71: POP
00003a72: POP
00003a73: POP
00003a74: RETURNDATASIZE
00003a75: DUP1
00003a76: PUSH1 0x00
00003a78: DUP2
00003a79: EQ
00003a7a: PUSH2 0x3a9f
00003a7d: JUMPI
00003a7e: PUSH1 0x40
00003a80: MLOAD
00003a81: SWAP2
00003a82: POP
00003a83: PUSH1 0x1f
00003a85: NOT
00003a86: PUSH1 0x3f
00003a88: RETURNDATASIZE
00003a89: ADD
00003a8a: AND
00003a8b: DUP3
00003a8c: ADD
00003a8d: PUSH1 0x40
00003a8f: MSTORE
00003a90: RETURNDATASIZE
00003a91: DUP3
00003a92: MSTORE
00003a93: RETURNDATASIZE
00003a94: PUSH1 0x00
00003a96: PUSH1 0x20
00003a98: DUP5
00003a99: ADD
00003a9a: RETURNDATACOPY
00003a9b: PUSH2 0x3aa4
00003a9e: JUMP
00003a9f: JUMPDEST
00003aa0: PUSH1 0x60
00003aa2: SWAP2
00003aa3: POP
00003aa4: JUMPDEST
00003aa5: POP
00003aa6: SWAP2
00003aa7: POP
00003aa8: SWAP2
00003aa9: POP
00003aaa: PUSH2 0x17e2
00003aad: DUP8
00003aae: DUP4
00003aaf: DUP4
00003ab0: DUP8
00003ab1: PUSH2 0x3cda
00003ab4: JUMP
00003ab5: JUMPDEST
00003ab6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003acb: DUP3
00003acc: AND
00003acd: PUSH2 0x3b32
00003ad0: JUMPI
00003ad1: PUSH1 0x40
00003ad3: MLOAD
00003ad4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003af5: DUP2
00003af6: MSTORE
00003af7: PUSH1 0x20
00003af9: PUSH1 0x04
00003afb: DUP3
00003afc: ADD
00003afd: DUP2
00003afe: SWAP1
00003aff: MSTORE
00003b00: PUSH1 0x24
00003b02: DUP3
00003b03: ADD
00003b04: MSTORE
00003b05: PUSH32 0x4552433732313a206d696e7420746f20746865207a65726f2061646472657373
00003b26: PUSH1 0x44
00003b28: DUP3
00003b29: ADD
00003b2a: MSTORE
00003b2b: PUSH1 0x64
00003b2d: ADD
00003b2e: PUSH2 0x0cda
00003b31: JUMP
00003b32: JUMPDEST
00003b33: PUSH1 0x00
00003b35: DUP2
00003b36: DUP2
00003b37: MSTORE
00003b38: PUSH1 0x02
00003b3a: PUSH1 0x20
00003b3c: MSTORE
00003b3d: PUSH1 0x40
00003b3f: SWAP1
00003b40: KECCAK256
00003b41: SLOAD
00003b42: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003b57: AND
00003b58: ISZERO
00003b59: PUSH2 0x3bbe
00003b5c: JUMPI
00003b5d: PUSH1 0x40
00003b5f: MLOAD
00003b60: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003b81: DUP2
00003b82: MSTORE
00003b83: PUSH1 0x20
00003b85: PUSH1 0x04
00003b87: DUP3
00003b88: ADD
00003b89: MSTORE
00003b8a: PUSH1 0x1c
00003b8c: PUSH1 0x24
00003b8e: DUP3
00003b8f: ADD
00003b90: MSTORE
00003b91: PUSH32 0x4552433732313a20746f6b656e20616c7265616479206d696e74656400000000
00003bb2: PUSH1 0x44
00003bb4: DUP3
00003bb5: ADD
00003bb6: MSTORE
00003bb7: PUSH1 0x64
00003bb9: ADD
00003bba: PUSH2 0x0cda
00003bbd: JUMP
00003bbe: JUMPDEST
00003bbf: PUSH1 0x00
00003bc1: DUP2
00003bc2: DUP2
00003bc3: MSTORE
00003bc4: PUSH1 0x02
00003bc6: PUSH1 0x20
00003bc8: MSTORE
00003bc9: PUSH1 0x40
00003bcb: SWAP1
00003bcc: KECCAK256
00003bcd: SLOAD
00003bce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003be3: AND
00003be4: ISZERO
00003be5: PUSH2 0x3c4a
00003be8: JUMPI
00003be9: PUSH1 0x40
00003beb: MLOAD
00003bec: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003c0d: DUP2
00003c0e: MSTORE
00003c0f: PUSH1 0x20
00003c11: PUSH1 0x04
00003c13: DUP3
00003c14: ADD
00003c15: MSTORE
00003c16: PUSH1 0x1c
00003c18: PUSH1 0x24
00003c1a: DUP3
00003c1b: ADD
00003c1c: MSTORE
00003c1d: PUSH32 0x4552433732313a20746f6b656e20616c7265616479206d696e74656400000000
00003c3e: PUSH1 0x44
00003c40: DUP3
00003c41: ADD
00003c42: MSTORE
00003c43: PUSH1 0x64
00003c45: ADD
00003c46: PUSH2 0x0cda
00003c49: JUMP
00003c4a: JUMPDEST
00003c4b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003c60: DUP3
00003c61: AND
00003c62: PUSH1 0x00
00003c64: DUP2
00003c65: DUP2
00003c66: MSTORE
00003c67: PUSH1 0x03
00003c69: PUSH1 0x20
00003c6b: SWAP1
00003c6c: DUP2
00003c6d: MSTORE
00003c6e: PUSH1 0x40
00003c70: DUP1
00003c71: DUP4
00003c72: KECCAK256
00003c73: DUP1
00003c74: SLOAD
00003c75: PUSH1 0x01
00003c77: ADD
00003c78: SWAP1
00003c79: SSTORE
00003c7a: DUP5
00003c7b: DUP4
00003c7c: MSTORE
00003c7d: PUSH1 0x02
00003c7f: SWAP1
00003c80: SWAP2
00003c81: MSTORE
00003c82: DUP1
00003c83: DUP3
00003c84: KECCAK256
00003c85: DUP1
00003c86: SLOAD
00003c87: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00003ca8: AND
00003ca9: DUP5
00003caa: OR
00003cab: SWAP1
00003cac: SSTORE
00003cad: MLOAD
00003cae: DUP4
00003caf: SWAP3
00003cb0: SWAP2
00003cb1: SWAP1
00003cb2: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00003cd3: SWAP1
00003cd4: DUP3
00003cd5: SWAP1
00003cd6: LOG4
00003cd7: POP
00003cd8: POP
00003cd9: JUMP
00003cda: JUMPDEST
00003cdb: PUSH1 0x60
00003cdd: DUP4
00003cde: ISZERO
00003cdf: PUSH2 0x3d70
00003ce2: JUMPI
00003ce3: DUP3
00003ce4: MLOAD
00003ce5: PUSH1 0x00
00003ce7: SUB
00003ce8: PUSH2 0x3d69
00003ceb: JUMPI
00003cec: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003d01: DUP6
00003d02: AND
00003d03: EXTCODESIZE
00003d04: PUSH2 0x3d69
00003d07: JUMPI
00003d08: PUSH1 0x40
00003d0a: MLOAD
00003d0b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003d2c: DUP2
00003d2d: MSTORE
00003d2e: PUSH1 0x20
00003d30: PUSH1 0x04
00003d32: DUP3
00003d33: ADD
00003d34: MSTORE
00003d35: PUSH1 0x1d
00003d37: PUSH1 0x24
00003d39: DUP3
00003d3a: ADD
00003d3b: MSTORE
00003d3c: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
00003d5d: PUSH1 0x44
00003d5f: DUP3
00003d60: ADD
00003d61: MSTORE
00003d62: PUSH1 0x64
00003d64: ADD
00003d65: PUSH2 0x0cda
00003d68: JUMP
00003d69: JUMPDEST
00003d6a: POP
00003d6b: DUP2
00003d6c: PUSH2 0x1f9c
00003d6f: JUMP
00003d70: JUMPDEST
00003d71: PUSH2 0x1f9c
00003d74: DUP4
00003d75: DUP4
00003d76: DUP2
00003d77: MLOAD
00003d78: ISZERO
00003d79: PUSH2 0x3d85
00003d7c: JUMPI
00003d7d: DUP2
00003d7e: MLOAD
00003d7f: DUP1
00003d80: DUP4
00003d81: PUSH1 0x20
00003d83: ADD
00003d84: REVERT
00003d85: JUMPDEST
00003d86: DUP1
00003d87: PUSH1 0x40
00003d89: MLOAD
00003d8a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003dab: DUP2
00003dac: MSTORE
00003dad: PUSH1 0x04
00003daf: ADD
00003db0: PUSH2 0x0cda
00003db3: SWAP2
00003db4: SWAP1
00003db5: PUSH2 0x3e72
00003db8: JUMP
00003db9: JUMPDEST
00003dba: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
00003ddb: DUP2
00003ddc: AND
00003ddd: DUP2
00003dde: EQ
00003ddf: PUSH2 0x12b7
00003de2: JUMPI
00003de3: PUSH1 0x00
00003de5: DUP1
00003de6: REVERT
00003de7: JUMPDEST
00003de8: PUSH1 0x00
00003dea: PUSH1 0x20
00003dec: DUP3
00003ded: DUP5
00003dee: SUB
00003def: SLT
00003df0: ISZERO
00003df1: PUSH2 0x3df9
00003df4: JUMPI
00003df5: PUSH1 0x00
00003df7: DUP1
00003df8: REVERT
00003df9: JUMPDEST
00003dfa: DUP2
00003dfb: CALLDATALOAD
00003dfc: PUSH2 0x1c69
00003dff: DUP2
00003e00: PUSH2 0x3db9
00003e03: JUMP
00003e04: JUMPDEST
00003e05: PUSH1 0x00
00003e07: JUMPDEST
00003e08: DUP4
00003e09: DUP2
00003e0a: LT
00003e0b: ISZERO
00003e0c: PUSH2 0x3e1f
00003e0f: JUMPI
00003e10: DUP2
00003e11: DUP2
00003e12: ADD
00003e13: MLOAD
00003e14: DUP4
00003e15: DUP3
00003e16: ADD
00003e17: MSTORE
00003e18: PUSH1 0x20
00003e1a: ADD
00003e1b: PUSH2 0x3e07
00003e1e: JUMP
00003e1f: JUMPDEST
00003e20: POP
00003e21: POP
00003e22: PUSH1 0x00
00003e24: SWAP2
00003e25: ADD
00003e26: MSTORE
00003e27: JUMP
00003e28: JUMPDEST
00003e29: PUSH1 0x00
00003e2b: DUP2
00003e2c: MLOAD
00003e2d: DUP1
00003e2e: DUP5
00003e2f: MSTORE
00003e30: PUSH2 0x3e40
00003e33: DUP2
00003e34: PUSH1 0x20
00003e36: DUP7
00003e37: ADD
00003e38: PUSH1 0x20
00003e3a: DUP7
00003e3b: ADD
00003e3c: PUSH2 0x3e04
00003e3f: JUMP
00003e40: JUMPDEST
00003e41: PUSH1 0x1f
00003e43: ADD
00003e44: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00003e65: AND
00003e66: SWAP3
00003e67: SWAP1
00003e68: SWAP3
00003e69: ADD
00003e6a: PUSH1 0x20
00003e6c: ADD
00003e6d: SWAP3
00003e6e: SWAP2
00003e6f: POP
00003e70: POP
00003e71: JUMP
00003e72: JUMPDEST
00003e73: PUSH1 0x20
00003e75: DUP2
00003e76: MSTORE
00003e77: PUSH1 0x00
00003e79: PUSH2 0x1c69
00003e7c: PUSH1 0x20
00003e7e: DUP4
00003e7f: ADD
00003e80: DUP5
00003e81: PUSH2 0x3e28
00003e84: JUMP
00003e85: JUMPDEST
00003e86: PUSH1 0x00
00003e88: PUSH1 0x20
00003e8a: DUP3
00003e8b: DUP5
00003e8c: SUB
00003e8d: SLT
00003e8e: ISZERO
00003e8f: PUSH2 0x3e97
00003e92: JUMPI
00003e93: PUSH1 0x00
00003e95: DUP1
00003e96: REVERT
00003e97: JUMPDEST
00003e98: POP
00003e99: CALLDATALOAD
00003e9a: SWAP2
00003e9b: SWAP1
00003e9c: POP
00003e9d: JUMP
00003e9e: JUMPDEST
00003e9f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003eb4: DUP2
00003eb5: AND
00003eb6: DUP2
00003eb7: EQ
00003eb8: PUSH2 0x12b7
00003ebb: JUMPI
00003ebc: PUSH1 0x00
00003ebe: DUP1
00003ebf: REVERT
00003ec0: JUMPDEST
00003ec1: PUSH1 0x00
00003ec3: DUP1
00003ec4: PUSH1 0x40
00003ec6: DUP4
00003ec7: DUP6
00003ec8: SUB
00003ec9: SLT
00003eca: ISZERO
00003ecb: PUSH2 0x3ed3
00003ece: JUMPI
00003ecf: PUSH1 0x00
00003ed1: DUP1
00003ed2: REVERT
00003ed3: JUMPDEST
00003ed4: DUP3
00003ed5: CALLDATALOAD
00003ed6: PUSH2 0x3ede
00003ed9: DUP2
00003eda: PUSH2 0x3e9e
00003edd: JUMP
00003ede: JUMPDEST
00003edf: SWAP5
00003ee0: PUSH1 0x20
00003ee2: SWAP4
00003ee3: SWAP1
00003ee4: SWAP4
00003ee5: ADD
00003ee6: CALLDATALOAD
00003ee7: SWAP4
00003ee8: POP
00003ee9: POP
00003eea: POP
00003eeb: JUMP
00003eec: JUMPDEST
00003eed: PUSH1 0x00
00003eef: DUP1
00003ef0: PUSH1 0x40
00003ef2: DUP4
00003ef3: DUP6
00003ef4: SUB
00003ef5: SLT
00003ef6: ISZERO
00003ef7: PUSH2 0x3eff
00003efa: JUMPI
00003efb: PUSH1 0x00
00003efd: DUP1
00003efe: REVERT
00003eff: JUMPDEST
00003f00: DUP3
00003f01: CALLDATALOAD
00003f02: SWAP2
00003f03: POP
00003f04: PUSH1 0x20
00003f06: DUP4
00003f07: ADD
00003f08: CALLDATALOAD
00003f09: PUSH2 0x3f11
00003f0c: DUP2
00003f0d: PUSH2 0x3e9e
00003f10: JUMP
00003f11: JUMPDEST
00003f12: DUP1
00003f13: SWAP2
00003f14: POP
00003f15: POP
00003f16: SWAP3
00003f17: POP
00003f18: SWAP3
00003f19: SWAP1
00003f1a: POP
00003f1b: JUMP
00003f1c: JUMPDEST
00003f1d: PUSH1 0x00
00003f1f: DUP1
00003f20: PUSH1 0x00
00003f22: PUSH1 0x60
00003f24: DUP5
00003f25: DUP7
00003f26: SUB
00003f27: SLT
00003f28: ISZERO
00003f29: PUSH2 0x3f31
00003f2c: JUMPI
00003f2d: PUSH1 0x00
00003f2f: DUP1
00003f30: REVERT
00003f31: JUMPDEST
00003f32: DUP4
00003f33: CALLDATALOAD
00003f34: PUSH2 0x3f3c
00003f37: DUP2
00003f38: PUSH2 0x3e9e
00003f3b: JUMP
00003f3c: JUMPDEST
00003f3d: SWAP3
00003f3e: POP
00003f3f: PUSH1 0x20
00003f41: DUP5
00003f42: ADD
00003f43: CALLDATALOAD
00003f44: PUSH2 0x3f4c
00003f47: DUP2
00003f48: PUSH2 0x3e9e
00003f4b: JUMP
00003f4c: JUMPDEST
00003f4d: SWAP3
00003f4e: SWAP6
00003f4f: SWAP3
00003f50: SWAP5
00003f51: POP
00003f52: POP
00003f53: POP
00003f54: PUSH1 0x40
00003f56: SWAP2
00003f57: SWAP1
00003f58: SWAP2
00003f59: ADD
00003f5a: CALLDATALOAD
00003f5b: SWAP1
00003f5c: JUMP
00003f5d: JUMPDEST
00003f5e: PUSH1 0x00
00003f60: PUSH1 0x20
00003f62: DUP3
00003f63: DUP5
00003f64: SUB
00003f65: SLT
00003f66: ISZERO
00003f67: PUSH2 0x3f6f
00003f6a: JUMPI
00003f6b: PUSH1 0x00
00003f6d: DUP1
00003f6e: REVERT
00003f6f: JUMPDEST
00003f70: DUP2
00003f71: CALLDATALOAD
00003f72: PUSH2 0x1c69
00003f75: DUP2
00003f76: PUSH2 0x3e9e
00003f79: JUMP
00003f7a: JUMPDEST
00003f7b: DUP1
00003f7c: CALLDATALOAD
00003f7d: PUSH15 0xffffffffffffffffffffffffffffff
00003f8d: DUP2
00003f8e: AND
00003f8f: DUP2
00003f90: EQ
00003f91: PUSH2 0x3f99
00003f94: JUMPI
00003f95: PUSH1 0x00
00003f97: DUP1
00003f98: REVERT
00003f99: JUMPDEST
00003f9a: SWAP2
00003f9b: SWAP1
00003f9c: POP
00003f9d: JUMP
00003f9e: JUMPDEST
00003f9f: PUSH1 0x00
00003fa1: DUP1
00003fa2: PUSH1 0x40
00003fa4: DUP4
00003fa5: DUP6
00003fa6: SUB
00003fa7: SLT
00003fa8: ISZERO
00003fa9: PUSH2 0x3fb1
00003fac: JUMPI
00003fad: PUSH1 0x00
00003faf: DUP1
00003fb0: REVERT
00003fb1: JUMPDEST
00003fb2: DUP3
00003fb3: CALLDATALOAD
00003fb4: PUSH2 0x3fbc
00003fb7: DUP2
00003fb8: PUSH2 0x3e9e
00003fbb: JUMP
00003fbc: JUMPDEST
00003fbd: SWAP2
00003fbe: POP
00003fbf: PUSH2 0x3fca
00003fc2: PUSH1 0x20
00003fc4: DUP5
00003fc5: ADD
00003fc6: PUSH2 0x3f7a
00003fc9: JUMP
00003fca: JUMPDEST
00003fcb: SWAP1
00003fcc: POP
00003fcd: SWAP3
00003fce: POP
00003fcf: SWAP3
00003fd0: SWAP1
00003fd1: POP
00003fd2: JUMP
00003fd3: JUMPDEST
00003fd4: PUSH1 0x00
00003fd6: PUSH1 0x20
00003fd8: DUP3
00003fd9: DUP5
00003fda: SUB
00003fdb: SLT
00003fdc: ISZERO
00003fdd: PUSH2 0x3fe5
00003fe0: JUMPI
00003fe1: PUSH1 0x00
00003fe3: DUP1
00003fe4: REVERT
00003fe5: JUMPDEST
00003fe6: DUP2
00003fe7: CALLDATALOAD
00003fe8: PUSH16 0xffffffffffffffffffffffffffffffff
00003ff9: DUP2
00003ffa: AND
00003ffb: DUP2
00003ffc: EQ
00003ffd: PUSH2 0x1c69
00004000: JUMPI
00004001: PUSH1 0x00
00004003: DUP1
00004004: REVERT
00004005: JUMPDEST
00004006: PUSH1 0x00
00004008: DUP1
00004009: PUSH1 0x00
0000400b: DUP1
0000400c: PUSH1 0x00
0000400e: DUP1
0000400f: PUSH1 0xc0
00004011: DUP8
00004012: DUP10
00004013: SUB
00004014: SLT
00004015: ISZERO
00004016: PUSH2 0x401e
00004019: JUMPI
0000401a: PUSH1 0x00
0000401c: DUP1
0000401d: REVERT
0000401e: JUMPDEST
0000401f: PUSH2 0x4027
00004022: DUP8
00004023: PUSH2 0x3f7a
00004026: JUMP
00004027: JUMPDEST
00004028: SWAP6
00004029: POP
0000402a: PUSH1 0x20
0000402c: DUP8
0000402d: ADD
0000402e: CALLDATALOAD
0000402f: PUSH2 0x4037
00004032: DUP2
00004033: PUSH2 0x3e9e
00004036: JUMP
00004037: JUMPDEST
00004038: SWAP5
00004039: POP
0000403a: PUSH1 0x40
0000403c: DUP8
0000403d: ADD
0000403e: CALLDATALOAD
0000403f: SWAP4
00004040: POP
00004041: PUSH1 0x60
00004043: DUP8
00004044: ADD
00004045: CALLDATALOAD
00004046: PUSH1 0xff
00004048: DUP2
00004049: AND
0000404a: DUP2
0000404b: EQ
0000404c: PUSH2 0x4054
0000404f: JUMPI
00004050: PUSH1 0x00
00004052: DUP1
00004053: REVERT
00004054: JUMPDEST
00004055: SWAP6
00004056: SWAP9
00004057: SWAP5
00004058: SWAP8
00004059: POP
0000405a: SWAP3
0000405b: SWAP6
0000405c: PUSH1 0x80
0000405e: DUP2
0000405f: ADD
00004060: CALLDATALOAD
00004061: SWAP5
00004062: PUSH1 0xa0
00004064: SWAP1
00004065: SWAP2
00004066: ADD
00004067: CALLDATALOAD
00004068: SWAP4
00004069: POP
0000406a: SWAP2
0000406b: POP
0000406c: POP
0000406d: JUMP
0000406e: JUMPDEST
0000406f: PUSH1 0x00
00004071: PUSH1 0x20
00004073: DUP3
00004074: DUP5
00004075: SUB
00004076: SLT
00004077: ISZERO
00004078: PUSH2 0x4080
0000407b: JUMPI
0000407c: PUSH1 0x00
0000407e: DUP1
0000407f: REVERT
00004080: JUMPDEST
00004081: DUP2
00004082: CALLDATALOAD
00004083: PUSH8 0xffffffffffffffff
0000408c: DUP2
0000408d: AND
0000408e: DUP2
0000408f: EQ
00004090: PUSH2 0x1c69
00004093: JUMPI
00004094: PUSH1 0x00
00004096: DUP1
00004097: REVERT
00004098: JUMPDEST
00004099: DUP1
0000409a: ISZERO
0000409b: ISZERO
0000409c: DUP2
0000409d: EQ
0000409e: PUSH2 0x12b7
000040a1: JUMPI
000040a2: PUSH1 0x00
000040a4: DUP1
000040a5: REVERT
000040a6: JUMPDEST
000040a7: PUSH1 0x00
000040a9: DUP1
000040aa: PUSH1 0x40
000040ac: DUP4
000040ad: DUP6
000040ae: SUB
000040af: SLT
000040b0: ISZERO
000040b1: PUSH2 0x40b9
000040b4: JUMPI
000040b5: PUSH1 0x00
000040b7: DUP1
000040b8: REVERT
000040b9: JUMPDEST
000040ba: DUP3
000040bb: CALLDATALOAD
000040bc: PUSH2 0x40c4
000040bf: DUP2
000040c0: PUSH2 0x3e9e
000040c3: JUMP
000040c4: JUMPDEST
000040c5: SWAP2
000040c6: POP
000040c7: PUSH1 0x20
000040c9: DUP4
000040ca: ADD
000040cb: CALLDATALOAD
000040cc: PUSH2 0x3f11
000040cf: DUP2
000040d0: PUSH2 0x4098
000040d3: JUMP
000040d4: JUMPDEST
000040d5: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
000040f6: PUSH1 0x00
000040f8: MSTORE
000040f9: PUSH1 0x41
000040fb: PUSH1 0x04
000040fd: MSTORE
000040fe: PUSH1 0x24
00004100: PUSH1 0x00
00004102: REVERT
00004103: JUMPDEST
00004104: PUSH1 0x00
00004106: DUP1
00004107: PUSH1 0x00
00004109: DUP1
0000410a: PUSH1 0x80
0000410c: DUP6
0000410d: DUP8
0000410e: SUB
0000410f: SLT
00004110: ISZERO
00004111: PUSH2 0x4119
00004114: JUMPI
00004115: PUSH1 0x00
00004117: DUP1
00004118: REVERT
00004119: JUMPDEST
0000411a: DUP5
0000411b: CALLDATALOAD
0000411c: PUSH2 0x4124
0000411f: DUP2
00004120: PUSH2 0x3e9e
00004123: JUMP
00004124: JUMPDEST
00004125: SWAP4
00004126: POP
00004127: PUSH1 0x20
00004129: DUP6
0000412a: ADD
0000412b: CALLDATALOAD
0000412c: PUSH2 0x4134
0000412f: DUP2
00004130: PUSH2 0x3e9e
00004133: JUMP
00004134: JUMPDEST
00004135: SWAP3
00004136: POP
00004137: PUSH1 0x40
00004139: DUP6
0000413a: ADD
0000413b: CALLDATALOAD
0000413c: SWAP2
0000413d: POP
0000413e: PUSH1 0x60
00004140: DUP6
00004141: ADD
00004142: CALLDATALOAD
00004143: PUSH8 0xffffffffffffffff
0000414c: DUP1
0000414d: DUP3
0000414e: GT
0000414f: ISZERO
00004150: PUSH2 0x4158
00004153: JUMPI
00004154: PUSH1 0x00
00004156: DUP1
00004157: REVERT
00004158: JUMPDEST
00004159: DUP2
0000415a: DUP8
0000415b: ADD
0000415c: SWAP2
0000415d: POP
0000415e: DUP8
0000415f: PUSH1 0x1f
00004161: DUP4
00004162: ADD
00004163: SLT
00004164: PUSH2 0x416c
00004167: JUMPI
00004168: PUSH1 0x00
0000416a: DUP1
0000416b: REVERT
0000416c: JUMPDEST
0000416d: DUP2
0000416e: CALLDATALOAD
0000416f: DUP2
00004170: DUP2
00004171: GT
00004172: ISZERO
00004173: PUSH2 0x417e
00004176: JUMPI
00004177: PUSH2 0x417e
0000417a: PUSH2 0x40d4
0000417d: JUMP
0000417e: JUMPDEST
0000417f: PUSH1 0x40
00004181: MLOAD
00004182: PUSH1 0x1f
00004184: DUP3
00004185: ADD
00004186: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
000041a7: SWAP1
000041a8: DUP2
000041a9: AND
000041aa: PUSH1 0x3f
000041ac: ADD
000041ad: AND
000041ae: DUP2
000041af: ADD
000041b0: SWAP1
000041b1: DUP4
000041b2: DUP3
000041b3: GT
000041b4: DUP2
000041b5: DUP4
000041b6: LT
000041b7: OR
000041b8: ISZERO
000041b9: PUSH2 0x41c4
000041bc: JUMPI
000041bd: PUSH2 0x41c4
000041c0: PUSH2 0x40d4
000041c3: JUMP
000041c4: JUMPDEST
000041c5: DUP2
000041c6: PUSH1 0x40
000041c8: MSTORE
000041c9: DUP3
000041ca: DUP2
000041cb: MSTORE
000041cc: DUP11
000041cd: PUSH1 0x20
000041cf: DUP5
000041d0: DUP8
000041d1: ADD
000041d2: ADD
000041d3: GT
000041d4: ISZERO
000041d5: PUSH2 0x41dd
000041d8: JUMPI
000041d9: PUSH1 0x00
000041db: DUP1
000041dc: REVERT
000041dd: JUMPDEST
000041de: DUP3
000041df: PUSH1 0x20
000041e1: DUP7
000041e2: ADD
000041e3: PUSH1 0x20
000041e5: DUP4
000041e6: ADD
000041e7: CALLDATACOPY
000041e8: PUSH1 0x00
000041ea: PUSH1 0x20
000041ec: DUP5
000041ed: DUP4
000041ee: ADD
000041ef: ADD
000041f0: MSTORE
000041f1: DUP1
000041f2: SWAP6
000041f3: POP
000041f4: POP
000041f5: POP
000041f6: POP
000041f7: POP
000041f8: POP
000041f9: SWAP3
000041fa: SWAP6
000041fb: SWAP2
000041fc: SWAP5
000041fd: POP
000041fe: SWAP3
000041ff: POP
00004200: JUMP
00004201: JUMPDEST
00004202: PUSH1 0x00
00004204: DUP1
00004205: PUSH1 0x40
00004207: DUP4
00004208: DUP6
00004209: SUB
0000420a: SLT
0000420b: ISZERO
0000420c: PUSH2 0x4214
0000420f: JUMPI
00004210: PUSH1 0x00
00004212: DUP1
00004213: REVERT
00004214: JUMPDEST
00004215: DUP3
00004216: CALLDATALOAD
00004217: PUSH2 0x421f
0000421a: DUP2
0000421b: PUSH2 0x3e9e
0000421e: JUMP
0000421f: JUMPDEST
00004220: SWAP2
00004221: POP
00004222: PUSH1 0x20
00004224: DUP4
00004225: ADD
00004226: CALLDATALOAD
00004227: PUSH2 0x3f11
0000422a: DUP2
0000422b: PUSH2 0x3e9e
0000422e: JUMP
0000422f: JUMPDEST
00004230: PUSH1 0x01
00004232: DUP2
00004233: DUP2
00004234: SHR
00004235: SWAP1
00004236: DUP3
00004237: AND
00004238: DUP1
00004239: PUSH2 0x4243
0000423c: JUMPI
0000423d: PUSH1 0x7f
0000423f: DUP3
00004240: AND
00004241: SWAP2
00004242: POP
00004243: JUMPDEST
00004244: PUSH1 0x20
00004246: DUP3
00004247: LT
00004248: DUP2
00004249: SUB
0000424a: PUSH2 0x427c
0000424d: JUMPI
0000424e: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
0000426f: PUSH1 0x00
00004271: MSTORE
00004272: PUSH1 0x22
00004274: PUSH1 0x04
00004276: MSTORE
00004277: PUSH1 0x24
00004279: PUSH1 0x00
0000427b: REVERT
0000427c: JUMPDEST
0000427d: POP
0000427e: SWAP2
0000427f: SWAP1
00004280: POP
00004281: JUMP
00004282: JUMPDEST
00004283: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
000042a4: PUSH1 0x00
000042a6: MSTORE
000042a7: PUSH1 0x11
000042a9: PUSH1 0x04
000042ab: MSTORE
000042ac: PUSH1 0x24
000042ae: PUSH1 0x00
000042b0: REVERT
000042b1: JUMPDEST
000042b2: PUSH16 0xffffffffffffffffffffffffffffffff
000042c3: DUP3
000042c4: DUP2
000042c5: AND
000042c6: DUP3
000042c7: DUP3
000042c8: AND
000042c9: SUB
000042ca: SWAP1
000042cb: DUP1
000042cc: DUP3
000042cd: GT
000042ce: ISZERO
000042cf: PUSH2 0x42da
000042d2: JUMPI
000042d3: PUSH2 0x42da
000042d6: PUSH2 0x4282
000042d9: JUMP
000042da: JUMPDEST
000042db: POP
000042dc: SWAP3
000042dd: SWAP2
000042de: POP
000042df: POP
000042e0: JUMP
000042e1: JUMPDEST
000042e2: DUP1
000042e3: DUP3
000042e4: MUL
000042e5: DUP2
000042e6: ISZERO
000042e7: DUP3
000042e8: DUP3
000042e9: DIV
000042ea: DUP5
000042eb: EQ
000042ec: OR
000042ed: PUSH2 0x0b4a
000042f0: JUMPI
000042f1: PUSH2 0x0b4a
000042f4: PUSH2 0x4282
000042f7: JUMP
000042f8: JUMPDEST
000042f9: PUSH1 0x00
000042fb: DUP3
000042fc: PUSH2 0x432e
000042ff: JUMPI
00004300: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00004321: PUSH1 0x00
00004323: MSTORE
00004324: PUSH1 0x12
00004326: PUSH1 0x04
00004328: MSTORE
00004329: PUSH1 0x24
0000432b: PUSH1 0x00
0000432d: REVERT
0000432e: JUMPDEST
0000432f: POP
00004330: DIV
00004331: SWAP1
00004332: JUMP
00004333: JUMPDEST
00004334: PUSH16 0xffffffffffffffffffffffffffffffff
00004345: DUP2
00004346: DUP2
00004347: AND
00004348: DUP4
00004349: DUP3
0000434a: AND
0000434b: ADD
0000434c: SWAP1
0000434d: DUP1
0000434e: DUP3
0000434f: GT
00004350: ISZERO
00004351: PUSH2 0x42da
00004354: JUMPI
00004355: PUSH2 0x42da
00004358: PUSH2 0x4282
0000435b: JUMP
0000435c: JUMPDEST
0000435d: PUSH15 0xffffffffffffffffffffffffffffff
0000436d: DUP3
0000436e: DUP2
0000436f: AND
00004370: DUP3
00004371: DUP3
00004372: AND
00004373: SUB
00004374: SWAP1
00004375: DUP1
00004376: DUP3
00004377: GT
00004378: ISZERO
00004379: PUSH2 0x42da
0000437c: JUMPI
0000437d: PUSH2 0x42da
00004380: PUSH2 0x4282
00004383: JUMP
00004384: JUMPDEST
00004385: PUSH1 0x00
00004387: DUP4
00004388: MLOAD
00004389: PUSH2 0x4396
0000438c: DUP2
0000438d: DUP5
0000438e: PUSH1 0x20
00004390: DUP9
00004391: ADD
00004392: PUSH2 0x3e04
00004395: JUMP
00004396: JUMPDEST
00004397: DUP4
00004398: MLOAD
00004399: SWAP1
0000439a: DUP4
0000439b: ADD
0000439c: SWAP1
0000439d: PUSH2 0x43aa
000043a0: DUP2
000043a1: DUP4
000043a2: PUSH1 0x20
000043a4: DUP9
000043a5: ADD
000043a6: PUSH2 0x3e04
000043a9: JUMP
000043aa: JUMPDEST
000043ab: ADD
000043ac: SWAP5
000043ad: SWAP4
000043ae: POP
000043af: POP
000043b0: POP
000043b1: POP
000043b2: JUMP
000043b3: JUMPDEST
000043b4: PUSH1 0x00
000043b6: PUSH1 0x20
000043b8: DUP3
000043b9: DUP5
000043ba: SUB
000043bb: SLT
000043bc: ISZERO
000043bd: PUSH2 0x43c5
000043c0: JUMPI
000043c1: PUSH1 0x00
000043c3: DUP1
000043c4: REVERT
000043c5: JUMPDEST
000043c6: POP
000043c7: MLOAD
000043c8: SWAP2
000043c9: SWAP1
000043ca: POP
000043cb: JUMP
000043cc: JUMPDEST
000043cd: PUSH8 0xffffffffffffffff
000043d6: DUP2
000043d7: DUP2
000043d8: AND
000043d9: DUP4
000043da: DUP3
000043db: AND
000043dc: ADD
000043dd: SWAP1
000043de: DUP1
000043df: DUP3
000043e0: GT
000043e1: ISZERO
000043e2: PUSH2 0x42da
000043e5: JUMPI
000043e6: PUSH2 0x42da
000043e9: PUSH2 0x4282
000043ec: JUMP
000043ed: JUMPDEST
000043ee: PUSH1 0x00
000043f0: PUSH8 0xffffffffffffffff
000043f9: DUP1
000043fa: DUP4
000043fb: AND
000043fc: DUP2
000043fd: DUP2
000043fe: SUB
000043ff: PUSH2 0x440a
00004402: JUMPI
00004403: PUSH2 0x440a
00004406: PUSH2 0x4282
00004409: JUMP
0000440a: JUMPDEST
0000440b: PUSH1 0x01
0000440d: ADD
0000440e: SWAP4
0000440f: SWAP3
00004410: POP
00004411: POP
00004412: POP
00004413: JUMP
00004414: JUMPDEST
00004415: PUSH1 0x00
00004417: PUSH1 0x20
00004419: DUP3
0000441a: DUP5
0000441b: SUB
0000441c: SLT
0000441d: ISZERO
0000441e: PUSH2 0x4426
00004421: JUMPI
00004422: PUSH1 0x00
00004424: DUP1
00004425: REVERT
00004426: JUMPDEST
00004427: DUP2
00004428: MLOAD
00004429: PUSH2 0x1c69
0000442c: DUP2
0000442d: PUSH2 0x4098
00004430: JUMP
00004431: JUMPDEST
00004432: PUSH1 0x00
00004434: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004449: DUP1
0000444a: DUP8
0000444b: AND
0000444c: DUP4
0000444d: MSTORE
0000444e: DUP1
0000444f: DUP7
00004450: AND
00004451: PUSH1 0x20
00004453: DUP5
00004454: ADD
00004455: MSTORE
00004456: POP
00004457: DUP4
00004458: PUSH1 0x40
0000445a: DUP4
0000445b: ADD
0000445c: MSTORE
0000445d: PUSH1 0x80
0000445f: PUSH1 0x60
00004461: DUP4
00004462: ADD
00004463: MSTORE
00004464: PUSH2 0x4470
00004467: PUSH1 0x80
00004469: DUP4
0000446a: ADD
0000446b: DUP5
0000446c: PUSH2 0x3e28
0000446f: JUMP
00004470: JUMPDEST
00004471: SWAP7
00004472: SWAP6
00004473: POP
00004474: POP
00004475: POP
00004476: POP
00004477: POP
00004478: POP
00004479: JUMP
0000447a: JUMPDEST
0000447b: PUSH1 0x00
0000447d: PUSH1 0x20
0000447f: DUP3
00004480: DUP5
00004481: SUB
00004482: SLT
00004483: ISZERO
00004484: PUSH2 0x448c
00004487: JUMPI
00004488: PUSH1 0x00
0000448a: DUP1
0000448b: REVERT
0000448c: JUMPDEST
0000448d: DUP2
0000448e: MLOAD
0000448f: PUSH2 0x1c69
00004492: DUP2
00004493: PUSH2 0x3db9
00004496: JUMP
00004497: JUMPDEST
00004498: PUSH1 0x00
0000449a: DUP3
0000449b: MLOAD
0000449c: PUSH2 0x44a9
0000449f: DUP2
000044a0: DUP5
000044a1: PUSH1 0x20
000044a3: DUP8
000044a4: ADD
000044a5: PUSH2 0x3e04
000044a8: JUMP
000044a9: JUMPDEST
000044aa: SWAP2
000044ab: SWAP1
000044ac: SWAP2
000044ad: ADD
000044ae: SWAP3
000044af: SWAP2
000044b0: POP
000044b1: POP
000044b2: JUMP
000044b3: INVALID
000044b4: LOG2
000044b5: PUSH5 0x6970667358
000044bb: UNKNOWN(0x22)
000044bc: SLT
000044bd: KECCAK256
000044be: SLT
000044bf: DUP4
000044c0: UNKNOWN(0x0C)
000044c1: DUP3
000044c2: BLOBHASH
000044c3: UNKNOWN(0xFC)
000044c4: SWAP8
000044c5: CREATE2
000044c6: EXTCODECOPY
000044c7: KECCAK256
000044c8: UNKNOWN(0xD1)
000044c9: SLT
000044ca: UNKNOWN(0x4E)
000044cb: SDIV
000044cc: DIV
000044cd: UNKNOWN(0x4D)
000044ce: UNKNOWN(0xC1)
000044cf: EQ
000044d0: SELFBALANCE
000044d1: BLOBHASH
000044d2: UNKNOWN(0xFB)
000044d3: DUP9
000044d4: UNKNOWN(0x4E)
000044d5: UNKNOWN(0xDE)
000044d6: ADDRESS
000044d7: TLOAD
000044d8: DUP12
000044d9: CALLER
000044da: UNKNOWN(0xCB)
000044db: UNKNOWN(0xAA)
000044dc: SWAP3
000044dd: PUSH30

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0x023d395b322f18c97d067b0df2d41525f7340481c339267b73f45e24d4f5c357
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0x023d395b322f18c97d067b0df2d41525f7340481c339267b73f45e24d4f5c357",
    "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": "0xe985e9c5",
            "selector": "0xe985e9c5",
            "calldata_variants": [
                "0xe985e9c5",
                "0xe985e9c50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf6ccaad4",
            "selector": "0xf6ccaad4",
            "calldata_variants": [
                "0xf6ccaad4",
                "0xf6ccaad40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf737c276",
            "selector": "0xf737c276",
            "calldata_variants": [
                "0xf737c276",
                "0xf737c2760000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe14cbb8a",
            "selector": "0xe14cbb8a",
            "calldata_variants": [
                "0xe14cbb8a",
                "0xe14cbb8a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe63a391f",
            "selector": "0xe63a391f",
            "calldata_variants": [
                "0xe63a391f",
                "0xe63a391f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe74b981b",
            "selector": "0xe74b981b",
            "calldata_variants": [
                "0xe74b981b",
                "0xe74b981b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc87b56dd",
            "selector": "0xc87b56dd",
            "calldata_variants": [
                "0xc87b56dd",
                "0xc87b56dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcfbdd6a0",
            "selector": "0xcfbdd6a0",
            "calldata_variants": [
                "0xcfbdd6a0",
                "0xcfbdd6a00000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 0,
    "create2_count": 1
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x0d6f4ed03e3561bd67620e40d13cb73b75b823613a0538cc0ca391052271d2db
call_targets: 0x82ba8da44cd5261762e629dd5c605b17715727bd
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x0d6f4ed03e3561bd67620e40d13cb73b75b823613a0538cc0ca391052271d2db",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x82ba8da44cd5261762e629dd5c605b17715727bd"
    ],
    "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": "0xe985e9c5",
            "selector": "0xe985e9c5",
            "calldata_variants": [
                "0xe985e9c5",
                "0xe985e9c50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf6ccaad4",
            "selector": "0xf6ccaad4",
            "calldata_variants": [
                "0xf6ccaad4",
                "0xf6ccaad40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf737c276",
            "selector": "0xf737c276",
            "calldata_variants": [
                "0xf737c276",
                "0xf737c2760000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe14cbb8a",
            "selector": "0xe14cbb8a",
            "calldata_variants": [
                "0xe14cbb8a",
                "0xe14cbb8a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe63a391f",
            "selector": "0xe63a391f",
            "calldata_variants": [
                "0xe63a391f",
                "0xe63a391f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe74b981b",
            "selector": "0xe74b981b",
            "calldata_variants": [
                "0xe74b981b",
                "0xe74b981b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc87b56dd",
            "selector": "0xc87b56dd",
            "calldata_variants": [
                "0xc87b56dd",
                "0xc87b56dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcfbdd6a0",
            "selector": "0xcfbdd6a0",
            "calldata_variants": [
                "0xcfbdd6a0",
                "0xcfbdd6a00000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3580,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6083,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6998,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 7,
    "guards_detected": [
        {
            "pc": 3300,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ]
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x0d6f4ed03e3561bd67620e40d13cb73b75b823613a0538cc0ca391052271d2db
call_targets: 0x82ba8da44cd5261762e629dd5c605b17715727bd
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x0d6f4ed03e3561bd67620e40d13cb73b75b823613a0538cc0ca391052271d2db",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x82ba8da44cd5261762e629dd5c605b17715727bd"
    ],
    "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": "0xe985e9c5",
            "selector": "0xe985e9c5",
            "calldata_variants": [
                "0xe985e9c5",
                "0xe985e9c50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf6ccaad4",
            "selector": "0xf6ccaad4",
            "calldata_variants": [
                "0xf6ccaad4",
                "0xf6ccaad40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf737c276",
            "selector": "0xf737c276",
            "calldata_variants": [
                "0xf737c276",
                "0xf737c2760000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe14cbb8a",
            "selector": "0xe14cbb8a",
            "calldata_variants": [
                "0xe14cbb8a",
                "0xe14cbb8a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe63a391f",
            "selector": "0xe63a391f",
            "calldata_variants": [
                "0xe63a391f",
                "0xe63a391f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe74b981b",
            "selector": "0xe74b981b",
            "calldata_variants": [
                "0xe74b981b",
                "0xe74b981b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc87b56dd",
            "selector": "0xc87b56dd",
            "calldata_variants": [
                "0xc87b56dd",
                "0xc87b56dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcfbdd6a0",
            "selector": "0xcfbdd6a0",
            "calldata_variants": [
                "0xcfbdd6a0",
                "0xcfbdd6a00000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3580,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6083,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6998,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 8,
    "guards_detected": [
        {
            "pc": 3300,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ],
    "untrusted_call_count": 8
}
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
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 6
}