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