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

Analysis Run

3434233f-be8f-4773-8512-d71d9cb934b3

complete
Chain ID
1
Address
Block Number
Created
Tue, Dec 30, 2025 6:58 PM
Review Summary

What survived the funnel

Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?

Confirmed
0
Validated
0
Source
Verified
Review Backing
Present
Best current signal
`report()` is reentrancy‑reachable before `strategyLastReport`/`lastReport` updates
crit 0 high 0 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
30726 report.consolidate complete 1 / 1 3 months ago
75352 artifact.fetch complete 1 / 3 1 week ago
75353 tool.cast_disasm complete 1 / 3 1 week ago
75354 analysis.bundle complete 1 / 3 1 week ago
75355 capability.graph complete 1 / 3 1 week ago
75356 detector.run complete 1 / 3 1 week ago
75357 validation.fork complete 1 / 3 1 week ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
2
No findings?
no
Summary
Found 2 issues: `report()` can be reentered before timestamps update, enabling repeated fee assessment in one tx, and deposits assume exact transfers, which breaks accounting for fee-on-transfer/rebasing tokens.
View stderr
[codex:1196867] OpenAI Codex v0.77.0 (research preview)
[codex:1196867] --------
[codex:1196867] workdir: /tmp/codex-multi-z9avrjur
[codex:1196867] model: gpt-5.2-codex
[codex:1196867] provider: openai
[codex:1196867] approval: never
[codex:1196867] sandbox: read-only
[codex:1196867] reasoning effort: xhigh
[codex:1196867] reasoning summaries: auto
[codex:1196867] session id: 019b7097-70b5-7573-a7f8-f97dcd516cdd
[codex:1196867] --------
[codex:1196867] user
[codex:1196867] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:1196867] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:1196867] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:1196867] 
[codex:1196867] Scope rules:
[codex:1196867] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:1196867] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:1196867] 
[codex:1196867] Output MUST be valid JSON matching the provided schema.
[codex:1196867] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:1196867] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:1196867] 
[codex:1196867] Output constraints (IMPORTANT):
[codex:1196867] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1196867] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1196867] mcp startup: no servers
[codex:1196867] 
[codex:1196867] thinking
[codex:1196867] **Checking for skill details**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc ls in /tmp/codex-multi-z9avrjur succeeded in 5ms:
[codex:1196867] AUDIT_BUNDLE.txt
[codex:1196867] codex-output-schema.json
[codex:1196867] contracts
[codex:1196867] exec
[codex:1196867] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-z9avrjur succeeded in 6ms:
[codex:1196867] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1196867] 
[codex:1196867] ================================================================================
[codex:1196867] FILE: contracts/dependencies/@openzeppelin-contracts-5.0.2/token/ERC20/IERC20.sol
[codex:1196867] ================================================================================
[codex:1196867] // SPDX-License-Identifier: MIT
[codex:1196867] // OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/IERC20.sol)
[codex:1196867] 
[codex:1196867] pragma solidity ^0.8.20;
[codex:1196867] 
[codex:1196867] /**
[codex:1196867]  * @dev Interface of the ERC20 standard as defined in the EIP.
[codex:1196867]  */
[codex:1196867] interface IERC20 {
[codex:1196867]     /**
[codex:1196867]      * @dev Emitted when `value` tokens are moved from one account (`from`) to
[codex:1196867]      * another (`to`).
[codex:1196867]      *
[codex:1196867]      * Note that `value` may be zero.
[codex:1196867]      */
[codex:1196867] 
[codex:1196867] thinking
[codex:1196867] **Planning full audit bundle reading**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc 'rg -n "''^FILE:" AUDIT_BUNDLE.txt' in /tmp/codex-multi-z9avrjur succeeded in 6ms:
[codex:1196867] 4:FILE: contracts/dependencies/@openzeppelin-contracts-5.0.2/token/ERC20/IERC20.sol
[codex:1196867] 87:FILE: contracts/dependencies/@openzeppelin-contracts-5.0.2/token/ERC20/extensions/IERC20Metadata.sol
[codex:1196867] 117:FILE: contracts/dependencies/solady-0.0.201/src/auth/Ownable.sol
[codex:1196867] 399:FILE: contracts/dependencies/solady-0.0.201/src/auth/OwnableRoles.sol
[codex:1196867] 933:FILE: contracts/dependencies/solady-0.0.201/src/tokens/ERC20.sol
[codex:1196867] 1483:FILE: contracts/dependencies/solady-0.0.201/src/tokens/ERC4626.sol
[codex:1196867] 2014:FILE: contracts/dependencies/solady-0.0.201/src/utils/FixedPointMathLib.sol
[codex:1196867] 3093:FILE: contracts/dependencies/solady-0.0.201/src/utils/SafeTransferLib.sol
[codex:1196867] 3656:FILE: contracts/src/MaxApyVault.sol
[codex:1196867] 5895:FILE: contracts/src/helpers/VaultTypes.sol
[codex:1196867] 5941:FILE: contracts/src/interfaces/IStrategy.sol
[codex:1196867] 6042:FILE: contracts/src/lib/ReentrancyGuard.sol
[codex:1196867] 
[codex:1196867] thinking
[codex:1196867] **Planning chunked file reading**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc "sed -n '1,400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-z9avrjur succeeded in 6ms:
[codex:1196867] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1196867] 
[codex:1196867] ================================================================================
[codex:1196867] FILE: contracts/dependencies/@openzeppelin-contracts-5.0.2/token/ERC20/IERC20.sol
[codex:1196867] ================================================================================
[codex:1196867] // SPDX-License-Identifier: MIT
[codex:1196867] // OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/IERC20.sol)
[codex:1196867] 
[codex:1196867] pragma solidity ^0.8.20;
[codex:1196867] 
[codex:1196867] /**
[codex:1196867]  * @dev Interface of the ERC20 standard as defined in the EIP.
[codex:1196867]  */
[codex:1196867] interface IERC20 {
[codex:1196867]     /**
[codex:1196867]      * @dev Emitted when `value` tokens are moved from one account (`from`) to
[codex:1196867]      * another (`to`).
[codex:1196867]      *
[codex:1196867]      * Note that `value` may be zero.
[codex:1196867]      */
[codex:1196867] 
[codex:1196867] thinking
[codex:1196867] **Continuing analysis**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc "sed -n '401,800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-z9avrjur succeeded in 7ms:
[codex:1196867] // SPDX-License-Identifier: MIT
[codex:1196867] pragma solidity ^0.8.4;
[codex:1196867] 
[codex:1196867] import {Ownable} from "./Ownable.sol";
[codex:1196867] 
[codex:1196867] /// @notice Simple single owner and multiroles authorization mixin.
[codex:1196867] /// @author Solady (https://github.com/vectorized/solady/blob/main/src/auth/Ownable.sol)
[codex:1196867] /// @dev While the ownable portion follows [EIP-173](https://eips.ethereum.org/EIPS/eip-173)
[codex:1196867] /// for compatibility, the nomenclature for the 2-step ownership handover and roles
[codex:1196867] /// may be unique to this codebase.
[codex:1196867] abstract contract OwnableRoles is Ownable {
[codex:1196867]     /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/
[codex:1196867]     /*                           EVENTS                           */
[codex:1196867]     /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/
[codex:1196867] 
[codex:1196867]     /// @dev The `user`'s roles is updated to `roles`.
[codex:1196867]     /// Each bit of `roles` represents whether the role is set.
[codex:1196867]     event RolesUpdated(address indexed user, uint256 indexed roles);
[codex:1196867] 
[codex:1196867]     /// @dev `keccak256(bytes("RolesUpdated(address,uint256)"))`.
[codex:1196867] 
[codex:1196867] thinking
[codex:1196867] **Continuing exploration**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc "sed -n '801,1200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-z9avrjur succeeded in 5ms:
[codex:1196867]     uint256 internal constant _ROLE_127 = 1 << 127;
[codex:1196867]     uint256 internal constant _ROLE_128 = 1 << 128;
[codex:1196867]     uint256 internal constant _ROLE_129 = 1 << 129;
[codex:1196867]     uint256 internal constant _ROLE_130 = 1 << 130;
[codex:1196867]     uint256 internal constant _ROLE_131 = 1 << 131;
[codex:1196867]     uint256 internal constant _ROLE_132 = 1 << 132;
[codex:1196867]     uint256 internal constant _ROLE_133 = 1 << 133;
[codex:1196867]     uint256 internal constant _ROLE_134 = 1 << 134;
[codex:1196867]     uint256 internal constant _ROLE_135 = 1 << 135;
[codex:1196867]     uint256 internal constant _ROLE_136 = 1 << 136;
[codex:1196867]     uint256 internal constant _ROLE_137 = 1 << 137;
[codex:1196867]     uint256 internal constant _ROLE_138 = 1 << 138;
[codex:1196867]     uint256 internal constant _ROLE_139 = 1 << 139;
[codex:1196867]     uint256 internal constant _ROLE_140 = 1 << 140;
[codex:1196867]     uint256 internal constant _ROLE_141 = 1 << 141;
[codex:1196867]     uint256 internal constant _ROLE_142 = 1 << 142;
[codex:1196867]     uint256 internal constant _ROLE_143 = 1 << 143;
[codex:1196867]     uint256 internal constant _ROLE_144 = 1 << 144;
[codex:1196867]     uint256 internal constant _ROLE_145 = 1 << 145;
[codex:1196867]     uint256 internal constant _ROLE_146 = 1 << 146;
[codex:1196867] 
[codex:1196867] thinking
[codex:1196867] **Continuing file review**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc "sed -n '1201,1600p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-z9avrjur succeeded in 6ms:
[codex:1196867]             // Add and store the updated balance of `to`.
[codex:1196867]             // Will not overflow because the sum of all user balances
[codex:1196867]             // cannot exceed the maximum uint256 value.
[codex:1196867]             sstore(toBalanceSlot, add(sload(toBalanceSlot), amount))
[codex:1196867]             // Emit the {Transfer} event.
[codex:1196867]             mstore(0x20, amount)
[codex:1196867]             log3(0x20, 0x20, _TRANSFER_EVENT_SIGNATURE, shr(96, from_), shr(96, mload(0x0c)))
[codex:1196867]         }
[codex:1196867]         _afterTokenTransfer(from, to, amount);
[codex:1196867]         return true;
[codex:1196867]     }
[codex:1196867] 
[codex:1196867]     /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/
[codex:1196867]     /*                          EIP-2612                          */
[codex:1196867]     /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/
[codex:1196867] 
[codex:1196867]     /// @dev For more performance, override to return the constant value
[codex:1196867]     /// of `keccak256(bytes(name()))` if `name()` will never change.
[codex:1196867]     function _constantNameHash() internal view virtual returns (bytes32 result) {}
[codex:1196867] 
[codex:1196867] 
[codex:1196867] thinking
[codex:1196867] **Continuing to review lines 1601-2000**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc "sed -n '1601,2000p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-z9avrjur succeeded in 5ms:
[codex:1196867]     /// Example usage:
[codex:1196867]     /// ```
[codex:1196867]     /// (bool success, uint8 result) = _tryGetAssetDecimals(underlying);
[codex:1196867]     /// _decimals = success ? result : _DEFAULT_UNDERLYING_DECIMALS;
[codex:1196867]     /// ```
[codex:1196867]     function _tryGetAssetDecimals(address underlying)
[codex:1196867]         internal
[codex:1196867]         view
[codex:1196867]         returns (bool success, uint8 result)
[codex:1196867]     {
[codex:1196867]         /// @solidity memory-safe-assembly
[codex:1196867]         assembly {
[codex:1196867]             // Store the function selector of `decimals()`.
[codex:1196867]             mstore(0x00, 0x313ce567)
[codex:1196867]             // Arguments are evaluated last to first.
[codex:1196867]             success :=
[codex:1196867]                 and(
[codex:1196867]                     // Returned value is less than 256, at left-padded to 32 bytes.
[codex:1196867]                     and(lt(mload(0x00), 0x100), gt(returndatasize(), 0x1f)),
[codex:1196867]                     // The staticcall succeeds.
[codex:1196867] 
[codex:1196867] thinking
[codex:1196867] **Continuing text exploration**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc "sed -n '2001,2400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-z9avrjur succeeded in 6ms:
[codex:1196867] 
[codex:1196867]     /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/
[codex:1196867]     /*                     HOOKS TO OVERRIDE                      */
[codex:1196867]     /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/
[codex:1196867] 
[codex:1196867]     /// @dev Hook that is called before any withdrawal or redemption.
[codex:1196867]     function _beforeWithdraw(uint256 assets, uint256 shares) internal virtual {}
[codex:1196867] 
[codex:1196867]     /// @dev Hook that is called after any deposit or mint.
[codex:1196867]     function _afterDeposit(uint256 assets, uint256 shares) internal virtual {}
[codex:1196867] }
[codex:1196867] 
[codex:1196867] ================================================================================
[codex:1196867] FILE: contracts/dependencies/solady-0.0.201/src/utils/FixedPointMathLib.sol
[codex:1196867] ================================================================================
[codex:1196867] // SPDX-License-Identifier: MIT
[codex:1196867] pragma solidity ^0.8.4;
[codex:1196867] 
[codex:1196867] /// @notice Arithmetic library with operations for fixed-point numbers.
[codex:1196867] /// @author Solady (https://github.com/vectorized/solady/blob/main/src/utils/FixedPointMathLib.sol)
[codex:1196867] 
[codex:1196867] thinking
[codex:1196867] **Continuing code review from line 2401 to 2800**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc "sed -n '2401,2800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-z9avrjur succeeded in 5ms:
[codex:1196867]                         }
[codex:1196867]                         if (p <= w) break;
[codex:1196867]                         p = w;
[codex:1196867]                     } while (--i != 0);
[codex:1196867]                     /// @solidity memory-safe-assembly
[codex:1196867]                     assembly {
[codex:1196867]                         w := sub(w, sgt(w, 2))
[codex:1196867]                     }
[codex:1196867]                     return w;
[codex:1196867]                 }
[codex:1196867]             }
[codex:1196867]             do { // Otherwise, use Halley's for faster convergence.
[codex:1196867]                 int256 e = expWad(w);
[codex:1196867]                 /// @solidity memory-safe-assembly
[codex:1196867]                 assembly {
[codex:1196867]                     let t := add(w, wad)
[codex:1196867]                     let s := sub(mul(w, e), mul(x, wad))
[codex:1196867]                     w := sub(w, sdiv(mul(s, wad), sub(mul(e, t), sdiv(mul(add(t, wad), s), add(t, t)))))
[codex:1196867]                 }
[codex:1196867]                 if (p <= w) break;
[codex:1196867] 
[codex:1196867] thinking
[codex:1196867] **Continuing log review**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc "sed -n '2801,3200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-z9avrjur succeeded in 6ms:
[codex:1196867] 
[codex:1196867]     /// @dev Returns the log10 of `x`, rounded up.
[codex:1196867]     /// Returns 0 if `x` is zero.
[codex:1196867]     function log10Up(uint256 x) internal pure returns (uint256 r) {
[codex:1196867]         r = log10(x);
[codex:1196867]         /// @solidity memory-safe-assembly
[codex:1196867]         assembly {
[codex:1196867]             r := add(r, lt(exp(10, r), x))
[codex:1196867]         }
[codex:1196867]     }
[codex:1196867] 
[codex:1196867]     /// @dev Returns the log256 of `x`.
[codex:1196867]     /// Returns 0 if `x` is zero.
[codex:1196867]     function log256(uint256 x) internal pure returns (uint256 r) {
[codex:1196867]         /// @solidity memory-safe-assembly
[codex:1196867]         assembly {
[codex:1196867]             r := shl(7, lt(0xffffffffffffffffffffffffffffffff, x))
[codex:1196867]             r := or(r, shl(6, lt(0xffffffffffffffff, shr(r, x))))
[codex:1196867]             r := or(r, shl(5, lt(0xffffffff, shr(r, x))))
[codex:1196867]             r := or(r, shl(4, lt(0xffff, shr(r, x))))
[codex:1196867] 
[codex:1196867] thinking
[codex:1196867] **Continuing to review lines 3201-3600**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc "sed -n '3201,3600p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-z9avrjur succeeded in 6ms:
[codex:1196867]         /// @solidity memory-safe-assembly
[codex:1196867]         assembly {
[codex:1196867]             if lt(selfbalance(), amount) {
[codex:1196867]                 mstore(0x00, 0xb12d13eb) // `ETHTransferFailed()`.
[codex:1196867]                 revert(0x1c, 0x04)
[codex:1196867]             }
[codex:1196867]             if iszero(call(gasStipend, to, amount, codesize(), 0x00, codesize(), 0x00)) {
[codex:1196867]                 mstore(0x00, to) // Store the address in scratch space.
[codex:1196867]                 mstore8(0x0b, 0x73) // Opcode `PUSH20`.
[codex:1196867]                 mstore8(0x20, 0xff) // Opcode `SELFDESTRUCT`.
[codex:1196867]                 if iszero(create(amount, 0x0b, 0x16)) { revert(codesize(), codesize()) } // For gas estimation.
[codex:1196867]             }
[codex:1196867]         }
[codex:1196867]     }
[codex:1196867] 
[codex:1196867]     /// @dev Force sends all the ETH in the current contract to `to`, with a `gasStipend`.
[codex:1196867]     function forceSafeTransferAllETH(address to, uint256 gasStipend) internal {
[codex:1196867]         /// @solidity memory-safe-assembly
[codex:1196867]         assembly {
[codex:1196867]             if iszero(call(gasStipend, to, selfbalance(), codesize(), 0x00, codesize(), 0x00)) {
[codex:1196867] 
[codex:1196867] thinking
[codex:1196867] **Continuing code view from 3601 to 4000**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc "sed -n '3601,4000p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-z9avrjur succeeded in 6ms:
[codex:1196867] 
[codex:1196867]     /// @dev Simple permit on the Permit2 contract.
[codex:1196867]     function simplePermit2(
[codex:1196867]         address token,
[codex:1196867]         address owner,
[codex:1196867]         address spender,
[codex:1196867]         uint256 amount,
[codex:1196867]         uint256 deadline,
[codex:1196867]         uint8 v,
[codex:1196867]         bytes32 r,
[codex:1196867]         bytes32 s
[codex:1196867]     ) internal {
[codex:1196867]         /// @solidity memory-safe-assembly
[codex:1196867]         assembly {
[codex:1196867]             let m := mload(0x40)
[codex:1196867]             mstore(m, 0x927da105) // `allowance(address,address,address)`.
[codex:1196867]             {
[codex:1196867]                 let addressMask := shr(96, not(0))
[codex:1196867]                 mstore(add(m, 0x20), and(addressMask, owner))
[codex:1196867]                 mstore(add(m, 0x40), and(addressMask, token))
[codex:1196867] 
[codex:1196867] thinking
[codex:1196867] **Continuing file view**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc "sed -n '4001,4400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-z9avrjur succeeded in 5ms:
[codex:1196867]             success = false;
[codex:1196867]         }
[codex:1196867]     }
[codex:1196867] 
[codex:1196867]     /// @notice Reports a strategy loss, adjusting the corresponding vault and strategy parameters
[codex:1196867]     /// to minimize trust in the strategy
[codex:1196867]     /// @param strategy The strategy reporting the loss
[codex:1196867]     /// @param loss The amount of loss to report
[codex:1196867]     function _reportLoss(address strategy, uint256 loss) internal {
[codex:1196867]         // Strategy data
[codex:1196867]         uint128 strategyTotalDebt;
[codex:1196867]         uint16 strategyDebtRatio;
[codex:1196867] 
[codex:1196867]         // Vault data
[codex:1196867]         uint256 totalDebt_;
[codex:1196867]         uint256 debtRatio_;
[codex:1196867] 
[codex:1196867]         // Slot data
[codex:1196867]         uint256 strategiesSlot;
[codex:1196867]         uint256 slot0Content;
[codex:1196867] 
[codex:1196867] thinking
[codex:1196867] **Continuing code review from line 4401 to 4800**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc "sed -n '4401,4800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-z9avrjur succeeded in 6ms:
[codex:1196867]     /// @notice Issues `amount` Vault shares to `to`
[codex:1196867]     /// @dev Shares must be issued prior to taking on new collateral, or calculation will be wrong
[codex:1196867]     /// This means that only *trusted* tokens (with no capability for exploitative behavior) can be used
[codex:1196867]     /// @param to The shares recipient
[codex:1196867]     /// @param amount The amount considered to compute the shares
[codex:1196867]     /// @return shares The amount of shares computed from the amount
[codex:1196867]     function _issueSharesForAmount(address to, uint256 amount) internal returns (uint256 shares) {
[codex:1196867]         shares = convertToShares(amount);
[codex:1196867]         assembly ("memory-safe") {
[codex:1196867]             // if shares == 0
[codex:1196867]             if iszero(shares) {
[codex:1196867]                 // Throw the `InvalidZeroShares` error
[codex:1196867]                 mstore(0x00, 0x5a870a25)
[codex:1196867]                 revert(0x1c, 0x04)
[codex:1196867]             }
[codex:1196867]         }
[codex:1196867] 
[codex:1196867]         _mint(to, shares);
[codex:1196867]     }
[codex:1196867] 
[codex:1196867] 
[codex:1196867] thinking
[codex:1196867] **Continuing to review lines 4801-5200**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc "sed -n '4801,5200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-z9avrjur succeeded in 8ms:
[codex:1196867]             log3(0x00, 0x40, _DEPOSIT_EVENT_SIGNATURE, and(m, by), and(m, to))
[codex:1196867]         }
[codex:1196867]         // if autipilot is enabled and > 1 week from last harvest check if there is any strategy in autopilot
[codex:1196867]         // and harvest one strategy
[codex:1196867]         if (autoPilotEnabled && lastReport + AUTOPILOT_HARVEST_INTERVAL < block.timestamp) {
[codex:1196867]             // `to` will receive the extra shares from the management fees
[codex:1196867]             (address strategy, bool success, bytes memory reason) = _forceOneHarvest(to);
[codex:1196867]             if (!success) {
[codex:1196867]                 emit ForceHarvestFailed(strategy, reason);
[codex:1196867]             }
[codex:1196867]         }
[codex:1196867]     }
[codex:1196867] 
[codex:1196867]     /// @notice Burns `shares` from `owner` and sends exactly `assets` of underlying tokens to `to`.
[codex:1196867]     /// @dev overriden to add the `noEmergencyShutdown` & `nonReentrant` modifiers
[codex:1196867]     function withdraw(
[codex:1196867]         uint256 assets,
[codex:1196867]         address to,
[codex:1196867]         address owner
[codex:1196867]     )
[codex:1196867] 
[codex:1196867] thinking
[codex:1196867] **Continuing to review lines 5201-5600**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc "sed -n '5201,5600p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-z9avrjur succeeded in 6ms:
[codex:1196867]         uint128 unrealizedGain,
[codex:1196867]         uint128 loss,
[codex:1196867]         uint128 debtPayment,
[codex:1196867]         address managementFeeReceiver
[codex:1196867]     )
[codex:1196867]         external
[codex:1196867]         checkRoles(STRATEGY_ROLE)
[codex:1196867]         returns (uint256)
[codex:1196867]     {
[codex:1196867]         // Cache underlying asset
[codex:1196867]         address underlying = asset();
[codex:1196867]         // Cache strategy balance
[codex:1196867]         uint256 senderBalance = SafeTransferLib.balanceOf(underlying, msg.sender);
[codex:1196867] 
[codex:1196867]         assembly ("memory-safe") {
[codex:1196867]             // if (underlying.balanceOf(msg.sender) < realizedGain + debtPayment)
[codex:1196867]             if lt(senderBalance, debtPayment) {
[codex:1196867]                 // throw the `InvalidReportedGainAndDebtPayment` error
[codex:1196867]                 mstore(0x00, 0x746feeec)
[codex:1196867]                 revert(0x1c, 0x04)
[codex:1196867] 
[codex:1196867] thinking
[codex:1196867] **Continuing file review**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc "sed -n '5601,6000p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-z9avrjur succeeded in 6ms:
[codex:1196867]             mstore(0x00, strategy)
[codex:1196867]             mstore(0x20, strategies.slot)
[codex:1196867]             slot := keccak256(0x00, 0x40)
[codex:1196867] 
[codex:1196867]             // Load strategies[newStrategy] data into `slotContent`
[codex:1196867]             slotContent := sload(slot)
[codex:1196867]             // if (strategyData.strategyActivation == 0)
[codex:1196867]             if iszero(shr(208, shl(176, slotContent))) {
[codex:1196867]                 // throw `StrategyNotActive()` error
[codex:1196867]                 mstore(0x00, 0xdc974a98)
[codex:1196867]                 revert(0x1c, 0x04)
[codex:1196867]             }
[codex:1196867]         }
[codex:1196867]         if (IStrategy(strategy).emergencyExit() == 2) {
[codex:1196867]             assembly ("memory-safe") {
[codex:1196867]                 // throw `StrategyInEmergencyExitMode()` error
[codex:1196867]                 mstore(0x00, 0x57c7c24f)
[codex:1196867]                 revert(0x1c, 0x04)
[codex:1196867]             }
[codex:1196867]         }
[codex:1196867] 
[codex:1196867] thinking
[codex:1196867] **Requesting final chunk**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc "sed -n '6001,6400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-z9avrjur succeeded in 6ms:
[codex:1196867]     function hasAllRoles(address user, uint256 roles) external view returns (bool result);
[codex:1196867] 
[codex:1196867]     function rolesOf(address user) external view returns (uint256 roles);
[codex:1196867] 
[codex:1196867]     function rolesFromOrdinals(uint8[] memory ordinals) external pure returns (uint256 roles);
[codex:1196867] 
[codex:1196867]     function ordinalsFromRoles(uint256 roles) external pure returns (uint8[] memory ordinals);
[codex:1196867] 
[codex:1196867]     function previewLiquidate(uint256) external view returns (uint256);
[codex:1196867] 
[codex:1196867]     function previewLiquidateExact(uint256) external view returns (uint256);
[codex:1196867] 
[codex:1196867]     function maxLiquidate() external view returns (uint256);
[codex:1196867] 
[codex:1196867]     function maxLiquidateExact() external view returns (uint256);
[codex:1196867] 
[codex:1196867]     function maxSingleTrade() external view returns (uint256);
[codex:1196867] 
[codex:1196867]     function minSingleTrade() external view returns (uint256);
[codex:1196867] 
[codex:1196867] 
[codex:1196867] 
[codex:1196867] 
[codex:1196867] 
[codex:1196867] 
[codex:1196867] 
[codex:1196867] 
[codex:1196867] thinking
[codex:1196867] **Analyzing MaxApyVault security risks**
[codex:1196867] 
[codex:1196867] I've detailed a close review of MaxApyVault’s reentrancy protections, role-based access control, strategy interactions, and fee assessments, focusing on possible vulnerabilities like reentrancy through strategy callbacks, external call risks especially in report(), and trusted strategy assumptions influencing share dilution and withdrawal correctness. There’s a lot here! I’m examining if state changes during deposit-harvest interplay could cause inconsistencies and how loss reporting impacts vault accounting and fees. The nuances around strategy trust and function guards are particularly interesting to unpack.
[codex:1196867] thinking
[codex:1196867] **Reviewing fee routing and internal accounting mechanics**
[codex:1196867] 
[codex:1196867] I’m summarizing complexities around management fee distribution, role checks in report(), and subtle behavior in share minting and totalIdle updates. The interactions involving fixed-size arrays, use of SafeTransferLib, and handling of loss accounting caught my attention. Also, I’m considering how token transfers, especially with ERC777 hooks, might affect reentrancy and state consistency during strategy reports and vault operations. The way losses adjust shares and how deposit limits rely on strategy-reported values are interesting details to sort through.
[codex:1196867] thinking
[codex:1196867] **Analyzing strategy harvesting and role management nuances**
[codex:1196867] 
[codex:1196867] I’m exploring how _forceOneHarvest handles autopilot strategies during deposits, including edge cases with withdrawalQueue indexing and strategy activation. The interaction between autoPilot flags, role checks, and management of strategy states stands out. I’m also looking into how functions like exitStrategy handle role removals and potential inconsistencies if strategies are not in the queue. Finally, I’m considering how external calls without try/catch could impact vault usability and how deposit/withdraw functions assume certain token behaviors that might affect accounting.
[codex:1196867] thinking
[codex:1196867] **Evaluating asset transfers and fee distribution logic**
[codex:1196867] 
[codex:1196867] I’m reviewing how withdrawals handle partial liquidations and the related share calculations, especially the flow when assets are insufficient, ensuring revert safety. I’m also analyzing fee minting and strategist payments, focusing on how existing vault-held shares might affect distributions and whether this could be leveraged. Additionally, I’m considering reentrancy risks linked to report calls, underlying token hooks, and how multiple reports in one block could impact fee assessment and state updates.
[codex:1196867] thinking
[codex:1196867] **Analyzing reentrancy and asset accounting nuances**
[codex:1196867] 
[codex:1196867] I’m exploring the reentrancy risk in report calls enabling multiple fee assessments within one block, bypassing intended timing checks, especially with tokens supporting callbacks. I’m also examining how the withdrawal queue’s strategy list affects totalAssets calculation, the impact of share distributions when vault holds leftover shares, and edge cases in fee computations and debt accounting that might lead to unexpected behaviors or admin risks.
[codex:1196867] thinking
[codex:1196867] **Reviewing potential vault state and accounting concerns**
[codex:1196867] 
[codex:1196867] I’m scrutinizing edge cases like revoked strategies still holding assets, array handling in forced harvests, unchecked arithmetic in debt updates, and the interplay of strategy roles with autopilot settings. I’m also examining complexities around fund transfers in report, loss reporting in liquidation, fee calculations, and how deposit and withdrawal processes handle potential underflows or reentrancy risks.
[codex:1196867] thinking
[codex:1196867] **Summarizing reentrancy and token accounting issues**
[codex:1196867] 
[codex:1196867] I'm weighing the impact of reentrancy in the `report` function—especially around external token transfers occurring before critical state updates—which could let strategies reenter and multiply fees or credit adjustments within one transaction. I also consider challenges from fee-on-transfer or rebasing tokens that break assumptions about exact asset amounts and accounting in deposits and reports, potentially leading to share inflation or invariant breaks. These findings seem the clearest and most actionable given the code context.
[codex:1196867] exec
[codex:1196867] /bin/bash -lc 'rg -n "function report" contracts/src/MaxApyVault.sol' in /tmp/codex-multi-z9avrjur succeeded in 6ms:
[codex:1196867] 1543:    function report(
[codex:1196867] 
[codex:1196867] thinking
[codex:1196867] **Adding line numbers for inspection**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc "nl -ba contracts/src/MaxApyVault.sol | sed -n '1540,1635p'" in /tmp/codex-multi-z9avrjur succeeded in 6ms:
[codex:1196867]   1540	    /// @param debtPayment Amount Strategy has made available to cover outstanding debt
[codex:1196867]   1541	    /// @param managementFeeReceiver Address receiving the protocol fees
[codex:1196867]   1542	    /// @return debt Amount of debt outstanding (if totalDebt > debtLimit or emergency shutdown).
[codex:1196867]   1543	    function report(
[codex:1196867]   1544	        uint128 unrealizedGain,
[codex:1196867]   1545	        uint128 loss,
[codex:1196867]   1546	        uint128 debtPayment,
[codex:1196867]   1547	        address managementFeeReceiver
[codex:1196867]   1548	    )
[codex:1196867]   1549	        external
[codex:1196867]   1550	        checkRoles(STRATEGY_ROLE)
[codex:1196867]   1551	        returns (uint256)
[codex:1196867]   1552	    {
[codex:1196867]   1553	        // Cache underlying asset
[codex:1196867]   1554	        address underlying = asset();
[codex:1196867]   1555	        // Cache strategy balance
[codex:1196867]   1556	        uint256 senderBalance = SafeTransferLib.balanceOf(underlying, msg.sender);
[codex:1196867]   1557	
[codex:1196867]   1558	        assembly ("memory-safe") {
[codex:1196867]   1559	            // if (underlying.balanceOf(msg.sender) < realizedGain + debtPayment)
[codex:1196867] 
[codex:1196867] thinking
[codex:1196867] **Analyzing external calls and fee-on-transfer logic**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc 'rg -n "function _deposit" contracts/src/MaxApyVault.sol' in /tmp/codex-multi-z9avrjur succeeded in 10ms:
[codex:1196867] 1101:    function _deposit(address by, address to, uint256 assets, uint256 shares) internal override {
[codex:1196867] exec
[codex:1196867] /bin/bash -lc "nl -ba contracts/src/MaxApyVault.sol | sed -n '1095,1165p'" in /tmp/codex-multi-z9avrjur succeeded in 9ms:
[codex:1196867]   1095	            }
[codex:1196867]   1096	        }
[codex:1196867]   1097	        _deposit(msg.sender, receiver, assets = previewMint(shares), shares);
[codex:1196867]   1098	    }
[codex:1196867]   1099	
[codex:1196867]   1100	    /// @dev override the Solady's internal function to add extra checks
[codex:1196867]   1101	    function _deposit(address by, address to, uint256 assets, uint256 shares) internal override {
[codex:1196867]   1102	        asset().safeTransferFrom(by, address(this), assets);
[codex:1196867]   1103	        uint256 totalIdle_;
[codex:1196867]   1104	        assembly ("memory-safe") {
[codex:1196867]   1105	            // if to == address(0)
[codex:1196867]   1106	            if iszero(shl(96, to)) {
[codex:1196867]   1107	                // throw the `InvalidZeroAddress` error
[codex:1196867]   1108	                mstore(0x00, 0xf6b2911f)
[codex:1196867]   1109	                revert(0x1c, 0x04)
[codex:1196867]   1110	            }
[codex:1196867]   1111	            // if assets == 0
[codex:1196867]   1112	            if iszero(assets) {
[codex:1196867]   1113	                // throw the `InvalidZeroAmount` error
[codex:1196867]   1114	                mstore(0x00, 0xdd484e70)
[codex:1196867] 
[codex:1196867] thinking
[codex:1196867] **Summarizing security findings and crafting JSON output**
[codex:1196867] 
[codex:1196867] I'm carefully consolidating two key findings: a medium-severity reentrancy risk in the `report` function causing repeated fee assessments before timestamps update, and a low-severity accounting mismatch when fee-on-transfer tokens are used in `_deposit`. I'm building a clear, structured JSON output with all required fields, line references, and prudent severity choices to accurately represent the issues and recommendations.
[codex:1196867] codex
[codex:1196867] {"no_findings":false,"summary":"Found 2 issues: `report()` can be reentered before timestamps update, enabling repeated fee assessment in one tx, and deposits assume exact transfers, which breaks accounting for fee-on-transfer/rebasing tokens.","findings":[{"severity":"medium","category":"reentrancy","title":"`report()` is reentrancy‑reachable before `strategyLastReport`/`lastReport` updates","exploit_scenario":"If the underlying token or strategy uses a reentrancy hook (e.g., ERC777), a strategy can call `report()`, hit the external token transfer, and reenter `report()` before `strategyLastReport`/`lastReport` are updated. This bypasses the `FeesAlreadyAssesed` duration guard and allows multiple fee assessments and credit adjustments in the same transaction, diluting shares or draining idle funds.","recommendation":"Add `nonReentrant` to `report()` and/or move the timestamp updates (and any other critical state) before external calls. Follow checks‑effects‑interactions to ensure reentrancy cannot repeat fee assessment in the same tx.","evidence":"`report()` performs `safeTransfer`/`safeTransferFrom` before updating `strategyLastReport`/`lastReport`, with no reentrancy guard.","locations":["contracts/src/MaxApyVault.sol:1543","contracts/src/MaxApyVault.sol:1602","contracts/src/MaxApyVault.sol:1617"]},{"severity":"low","category":"math","title":"Share/accounting mismatch for fee‑on‑transfer or rebasing underlying tokens","exploit_scenario":"On deposit, the vault mints shares and increments `totalIdle` by the requested `assets` amount without verifying the actual amount received. If the underlying token charges transfer fees or rebases, users can mint more shares than the vault actually received, leading to share inflation and potential loss for other depositors.","recommendation":"Restrict underlying assets to standard non‑fee, non‑rebasing ERC20s (enforce via deployment/docs), or compute received assets via balance‑before/after and use that value for minting and `totalIdle` updates.","evidence":"`_deposit` transfers `assets` then mints shares and increments `totalIdle` by `assets` without using actual received amount.","locations":["contracts/src/MaxApyVault.sol:1101","contracts/src/MaxApyVault.sol:1102","contracts/src/MaxApyVault.sol:1137"]}]}
[codex:1196867] tokens used
[codex:1196867] 124,315
[codex:1196867] {"no_findings":false,"summary":"Found 2 issues: `report()` can be reentered before timestamps update, enabling repeated fee assessment in one tx, and deposits assume exact transfers, which breaks accounting for fee-on-transfer/rebasing tokens.","findings":[{"severity":"medium","category":"reentrancy","title":"`report()` is reentrancy‑reachable before `strategyLastReport`/`lastReport` updates","exploit_scenario":"If the underlying token or strategy uses a reentrancy hook (e.g., ERC777), a strategy can call `report()`, hit the external token transfer, and reenter `report()` before `strategyLastReport`/`lastReport` are updated. This bypasses the `FeesAlreadyAssesed` duration guard and allows multiple fee assessments and credit adjustments in the same transaction, diluting shares or draining idle funds.","recommendation":"Add `nonReentrant` to `report()` and/or move the timestamp updates (and any other critical state) before external calls. Follow checks‑effects‑interactions to ensure reentrancy cannot repeat fee assessment in the same tx.","evidence":"`report()` performs `safeTransfer`/`safeTransferFrom` before updating `strategyLastReport`/`lastReport`, with no reentrancy guard.","locations":["contracts/src/MaxApyVault.sol:1543","contracts/src/MaxApyVault.sol:1602","contracts/src/MaxApyVault.sol:1617"]},{"severity":"low","category":"math","title":"Share/accounting mismatch for fee‑on‑transfer or rebasing underlying tokens","exploit_scenario":"On deposit, the vault mints shares and increments `totalIdle` by the requested `assets` amount without verifying the actual amount received. If the underlying token charges transfer fees or rebases, users can mint more shares than the vault actually received, leading to share inflation and potential loss for other depositors.","recommendation":"Restrict underlying assets to standard non‑fee, non‑rebasing ERC20s (enforce via deployment/docs), or compute received assets via balance‑before/after and use that value for minting and `totalIdle` updates.","evidence":"`_deposit` transfers `assets` then mints shares and increments `totalIdle` by `assets` without using actual received amount.","locations":["contracts/src/MaxApyVault.sol:1101","contracts/src/MaxApyVault.sol:1102","contracts/src/MaxApyVault.sol:1137"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-30T18:58:35.425481+00:00",
        "returncode": 0
    },
    "summary": "Found 2 issues: `report()` can be reentered before timestamps update, enabling repeated fee assessment in one tx, and deposits assume exact transfers, which breaks accounting for fee-on-transfer/rebasing tokens.",
    "raw_final": {
        "summary": "Found 2 issues: `report()` can be reentered before timestamps update, enabling repeated fee assessment in one tx, and deposits assume exact transfers, which breaks accounting for fee-on-transfer/rebasing tokens.",
        "findings": [
            {
                "title": "`report()` is reentrancy\u2011reachable before `strategyLastReport`/`lastReport` updates",
                "category": "reentrancy",
                "evidence": "`report()` performs `safeTransfer`/`safeTransferFrom` before updating `strategyLastReport`/`lastReport`, with no reentrancy guard.",
                "severity": "medium",
                "locations": [
                    "contracts/src/MaxApyVault.sol:1543",
                    "contracts/src/MaxApyVault.sol:1602",
                    "contracts/src/MaxApyVault.sol:1617"
                ],
                "recommendation": "Add `nonReentrant` to `report()` and/or move the timestamp updates (and any other critical state) before external calls. Follow checks\u2011effects\u2011interactions to ensure reentrancy cannot repeat fee assessment in the same tx.",
                "exploit_scenario": "If the underlying token or strategy uses a reentrancy hook (e.g., ERC777), a strategy can call `report()`, hit the external token transfer, and reenter `report()` before `strategyLastReport`/`lastReport` are updated. This bypasses the `FeesAlreadyAssesed` duration guard and allows multiple fee assessments and credit adjustments in the same transaction, diluting shares or draining idle funds."
            },
            {
                "title": "Share/accounting mismatch for fee\u2011on\u2011transfer or rebasing underlying tokens",
                "category": "math",
                "evidence": "`_deposit` transfers `assets` then mints shares and increments `totalIdle` by `assets` without using actual received amount.",
                "severity": "low",
                "locations": [
                    "contracts/src/MaxApyVault.sol:1101",
                    "contracts/src/MaxApyVault.sol:1102",
                    "contracts/src/MaxApyVault.sol:1137"
                ],
                "recommendation": "Restrict underlying assets to standard non\u2011fee, non\u2011rebasing ERC20s (enforce via deployment/docs), or compute received assets via balance\u2011before/after and use that value for minting and `totalIdle` updates.",
                "exploit_scenario": "On deposit, the vault mints shares and increments `totalIdle` by the requested `assets` amount without verifying the actual amount received. If the underlying token charges transfer fees or rebases, users can mint more shares than the vault actually received, leading to share inflation and potential loss for other depositors."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
2
CALL-family (heavy)
24
EXT*/BALANCE
2
Total opcodes
11917
Flags
create_opcodes_present call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x0463
0000000c: JUMPI
0000000d: PUSH0
0000000e: CALLDATALOAD
0000000f: PUSH1 0xe0
00000011: SHR
00000012: DUP1
00000013: PUSH4 0x80919dd5
00000018: GT
00000019: PUSH2 0x0241
0000001c: JUMPI
0000001d: DUP1
0000001e: PUSH4 0xc822adda
00000023: GT
00000024: PUSH2 0x0134
00000027: JUMPI
00000028: DUP1
00000029: PUSH4 0xe5bc6947
0000002e: GT
0000002f: PUSH2 0x00b3
00000032: JUMPI
00000033: DUP1
00000034: PUSH4 0xf2fde38b
00000039: GT
0000003a: PUSH2 0x0078
0000003d: JUMPI
0000003e: DUP1
0000003f: PUSH4 0xf2fde38b
00000044: EQ
00000045: PUSH2 0x0e0f
00000048: JUMPI
00000049: DUP1
0000004a: PUSH4 0xfc7b9c18
0000004f: EQ
00000050: PUSH2 0x0e22
00000053: JUMPI
00000054: DUP1
00000055: PUSH4 0xfd967f47
0000005a: EQ
0000005b: PUSH2 0x0e37
0000005e: JUMPI
0000005f: DUP1
00000060: PUSH4 0xfe56e232
00000065: EQ
00000066: PUSH2 0x0e4c
00000069: JUMPI
0000006a: DUP1
0000006b: PUSH4 0xfee81cf4
00000070: EQ
00000071: PUSH2 0x0e6b
00000074: JUMPI
00000075: PUSH0
00000076: DUP1
00000077: REVERT
00000078: JUMPDEST
00000079: DUP1
0000007a: PUSH4 0xe5bc6947
0000007f: EQ
00000080: PUSH2 0x0d8a
00000083: JUMPI
00000084: DUP1
00000085: PUSH4 0xecf70858
0000008a: EQ
0000008b: PUSH2 0x0da9
0000008e: JUMPI
0000008f: DUP1
00000090: PUSH4 0xef8b30f7
00000095: EQ
00000096: PUSH2 0x0dbe
00000099: JUMPI
0000009a: DUP1
0000009b: PUSH4 0xf04e283e
000000a0: EQ
000000a1: PUSH2 0x0ddd
000000a4: JUMPI
000000a5: DUP1
000000a6: PUSH4 0xf0f44260
000000ab: EQ
000000ac: PUSH2 0x0df0
000000af: JUMPI
000000b0: PUSH0
000000b1: DUP1
000000b2: REVERT
000000b3: JUMPDEST
000000b4: DUP1
000000b5: PUSH4 0xd81d5e87
000000ba: GT
000000bb: PUSH2 0x00f9
000000be: JUMPI
000000bf: DUP1
000000c0: PUSH4 0xd81d5e87
000000c5: EQ
000000c6: PUSH2 0x0cc2
000000c9: JUMPI
000000ca: DUP1
000000cb: PUSH4 0xd905777e
000000d0: EQ
000000d1: PUSH2 0x0cf9
000000d4: JUMPI
000000d5: DUP1
000000d6: PUSH4 0xda0bd2d4
000000db: EQ
000000dc: PUSH2 0x0d18
000000df: JUMPI
000000e0: DUP1
000000e1: PUSH4 0xdd62ed3e
000000e6: EQ
000000e7: PUSH2 0x0d37
000000ea: JUMPI
000000eb: DUP1
000000ec: PUSH4 0xde6b5ea2
000000f1: EQ
000000f2: PUSH2 0x0d6b
000000f5: JUMPI
000000f6: PUSH0
000000f7: DUP1
000000f8: REVERT
000000f9: JUMPDEST
000000fa: DUP1
000000fb: PUSH4 0xc822adda
00000100: EQ
00000101: PUSH2 0x0c31
00000104: JUMPI
00000105: DUP1
00000106: PUSH4 0xce96cb77
0000010b: EQ
0000010c: PUSH2 0x0c50
0000010f: JUMPI
00000110: DUP1
00000111: PUSH4 0xcea55f57
00000116: EQ
00000117: PUSH2 0x0c6f
0000011a: JUMPI
0000011b: DUP1
0000011c: PUSH4 0xd505accf
00000121: EQ
00000122: PUSH2 0x0c84
00000125: JUMPI
00000126: DUP1
00000127: PUSH4 0xd7648013
0000012c: EQ
0000012d: PUSH2 0x0ca3
00000130: JUMPI
00000131: PUSH0
00000132: DUP1
00000133: REVERT
00000134: JUMPDEST
00000135: DUP1
00000136: PUSH4 0xb3d7f6b9
0000013b: GT
0000013c: PUSH2 0x01c0
0000013f: JUMPI
00000140: DUP1
00000141: PUSH4 0xbdcf36bb
00000146: GT
00000147: PUSH2 0x0185
0000014a: JUMPI
0000014b: DUP1
0000014c: PUSH4 0xbdcf36bb
00000151: EQ
00000152: PUSH2 0x0ba0
00000155: JUMPI
00000156: DUP1
00000157: PUSH4 0xbf034e50
0000015c: EQ
0000015d: PUSH2 0x0bbf
00000160: JUMPI
00000161: DUP1
00000162: PUSH4 0xc3535b52
00000167: EQ
00000168: PUSH2 0x0bde
0000016b: JUMPI
0000016c: DUP1
0000016d: PUSH4 0xc63d75b6
00000172: EQ
00000173: PUSH2 0x0bf3
00000176: JUMPI
00000177: DUP1
00000178: PUSH4 0xc6e6f592
0000017d: EQ
0000017e: PUSH2 0x0c12
00000181: JUMPI
00000182: PUSH0
00000183: DUP1
00000184: REVERT
00000185: JUMPDEST
00000186: DUP1
00000187: PUSH4 0xb3d7f6b9
0000018c: EQ
0000018d: PUSH2 0x0b05
00000190: JUMPI
00000191: DUP1
00000192: PUSH4 0xb460af94
00000197: EQ
00000198: PUSH2 0x0b24
0000019b: JUMPI
0000019c: DUP1
0000019d: PUSH4 0xba087652
000001a2: EQ
000001a3: PUSH2 0x0b43
000001a6: JUMPI
000001a7: DUP1
000001a8: PUSH4 0xbb994d48
000001ad: EQ
000001ae: PUSH2 0x0b62
000001b1: JUMPI
000001b2: DUP1
000001b3: PUSH4 0xbdc8144b
000001b8: EQ
000001b9: PUSH2 0x0b81
000001bc: JUMPI
000001bd: PUSH0
000001be: DUP1
000001bf: REVERT
000001c0: JUMPDEST
000001c1: DUP1
000001c2: PUSH4 0x94bf804d
000001c7: GT
000001c8: PUSH2 0x0206
000001cb: JUMPI
000001cc: DUP1
000001cd: PUSH4 0x94bf804d
000001d2: EQ
000001d3: PUSH2 0x0a89
000001d6: JUMPI
000001d7: DUP1
000001d8: PUSH4 0x95d89b41
000001dd: EQ
000001de: PUSH2 0x0aa8
000001e1: JUMPI
000001e2: DUP1
000001e3: PUSH4 0x9aa7df94
000001e8: EQ
000001e9: PUSH2 0x0abc
000001ec: JUMPI
000001ed: DUP1
000001ee: PUSH4 0xa6f7f5d6
000001f3: EQ
000001f4: PUSH2 0x0ad1
000001f7: JUMPI
000001f8: DUP1
000001f9: PUSH4 0xa9059cbb
000001fe: EQ
000001ff: PUSH2 0x0ae6
00000202: JUMPI
00000203: PUSH0
00000204: DUP1
00000205: REVERT
00000206: JUMPDEST
00000207: DUP1
00000208: PUSH4 0x80919dd5
0000020d: EQ
0000020e: PUSH2 0x0a0a
00000211: JUMPI
00000212: DUP1
00000213: PUSH4 0x87269729
00000218: EQ
00000219: PUSH2 0x0a29
0000021c: JUMPI
0000021d: DUP1
0000021e: PUSH4 0x87788782
00000223: EQ
00000224: PUSH2 0x0a3d
00000227: JUMPI
00000228: DUP1
00000229: PUSH4 0x8da5cb5b
0000022e: EQ
0000022f: PUSH2 0x0a52
00000232: JUMPI
00000233: DUP1
00000234: PUSH4 0x94148415
00000239: EQ
0000023a: PUSH2 0x0a6a
0000023d: JUMPI
0000023e: PUSH0
0000023f: DUP1
00000240: REVERT
00000241: JUMPDEST
00000242: DUP1
00000243: PUSH4 0x38d52e0f
00000248: GT
00000249: PUSH2 0x0359
0000024c: JUMPI
0000024d: DUP1
0000024e: PUSH4 0x6e553f65
00000253: GT
00000254: PUSH2 0x02d8
00000257: JUMPI
00000258: DUP1
00000259: PUSH4 0x7540ff4e
0000025e: GT
0000025f: PUSH2 0x029d
00000262: JUMPI
00000263: DUP1
00000264: PUSH4 0x7540ff4e
00000269: EQ
0000026a: PUSH2 0x0987
0000026d: JUMPI
0000026e: DUP1
0000026f: PUSH4 0x75b238fc
00000274: EQ
00000275: PUSH2 0x099d
00000278: JUMPI
00000279: DUP1
0000027a: PUSH4 0x772d2312
0000027f: EQ
00000280: PUSH2 0x09b1
00000283: JUMPI
00000284: DUP1
00000285: PUSH4 0x7d882097
0000028a: EQ
0000028b: PUSH2 0x09c5
0000028e: JUMPI
0000028f: DUP1
00000290: PUSH4 0x7ecebe00
00000295: EQ
00000296: PUSH2 0x09d9
00000299: JUMPI
0000029a: PUSH0
0000029b: DUP1
0000029c: REVERT
0000029d: JUMPDEST
0000029e: DUP1
0000029f: PUSH4 0x6e553f65
000002a4: EQ
000002a5: PUSH2 0x08fc
000002a8: JUMPI
000002a9: DUP1
000002aa: PUSH4 0x6e76fc8f
000002af: EQ
000002b0: PUSH2 0x091b
000002b3: JUMPI
000002b4: DUP1
000002b5: PUSH4 0x70897b23
000002ba: EQ
000002bb: PUSH2 0x092f
000002be: JUMPI
000002bf: DUP1
000002c0: PUSH4 0x70a08231
000002c5: EQ
000002c6: PUSH2 0x094e
000002c9: JUMPI
000002ca: DUP1
000002cb: PUSH4 0x715018a6
000002d0: EQ
000002d1: PUSH2 0x097f
000002d4: JUMPI
000002d5: PUSH0
000002d6: DUP1
000002d7: REVERT
000002d8: JUMPDEST
000002d9: DUP1
000002da: PUSH4 0x514e62fc
000002df: GT
000002e0: PUSH2 0x031e
000002e3: JUMPI
000002e4: DUP1
000002e5: PUSH4 0x514e62fc
000002ea: EQ
000002eb: PUSH2 0x086d
000002ee: JUMPI
000002ef: DUP1
000002f0: PUSH4 0x54d1f13d
000002f5: EQ
000002f6: PUSH2 0x08a2
000002f9: JUMPI
000002fa: DUP1
000002fb: PUSH4 0x580b7c2e
00000300: EQ
00000301: PUSH2 0x08aa
00000304: JUMPI
00000305: DUP1
00000306: PUSH4 0x607e2f00
0000030b: EQ
0000030c: PUSH2 0x08be
0000030f: JUMPI
00000310: DUP1
00000311: PUSH4 0x61d027b3
00000316: EQ
00000317: PUSH2 0x08dd
0000031a: JUMPI
0000031b: PUSH0
0000031c: DUP1
0000031d: REVERT
0000031e: JUMPDEST
0000031f: DUP1
00000320: PUSH4 0x38d52e0f
00000325: EQ
00000326: PUSH2 0x06d2
00000329: JUMPI
0000032a: DUP1
0000032b: PUSH4 0x39ebf823
00000330: EQ
00000331: PUSH2 0x0718
00000334: JUMPI
00000335: DUP1
00000336: PUSH4 0x402d267d
0000033b: EQ
0000033c: PUSH2 0x081c
0000033f: JUMPI
00000340: DUP1
00000341: PUSH4 0x4a4ee7b1
00000346: EQ
00000347: PUSH2 0x083b
0000034a: JUMPI
0000034b: DUP1
0000034c: PUSH4 0x4cdad506
00000351: EQ
00000352: PUSH2 0x084e
00000355: JUMPI
00000356: PUSH0
00000357: DUP1
00000358: REVERT
00000359: JUMPDEST
0000035a: DUP1
0000035b: PUSH4 0x1c10893f
00000360: GT
00000361: PUSH2 0x03e5
00000364: JUMPI
00000365: DUP1
00000366: PUSH4 0x28998af0
0000036b: GT
0000036c: PUSH2 0x03aa
0000036f: JUMPI
00000370: DUP1
00000371: PUSH4 0x28998af0
00000376: EQ
00000377: PUSH2 0x0637
0000037a: JUMPI
0000037b: DUP1
0000037c: PUSH4 0x2de94807
00000381: EQ
00000382: PUSH2 0x064e
00000385: JUMPI
00000386: DUP1
00000387: PUSH4 0x313ce567
0000038c: EQ
0000038d: PUSH2 0x067f
00000390: JUMPI
00000391: DUP1
00000392: PUSH4 0x3403c2fc
00000397: EQ
00000398: PUSH2 0x06a5
0000039b: JUMPI
0000039c: DUP1
0000039d: PUSH4 0x3644e515
000003a2: EQ
000003a3: PUSH2 0x06be
000003a6: JUMPI
000003a7: PUSH0
000003a8: DUP1
000003a9: REVERT
000003aa: JUMPDEST
000003ab: DUP1
000003ac: PUSH4 0x1c10893f
000003b1: EQ
000003b2: PUSH2 0x05aa
000003b5: JUMPI
000003b6: DUP1
000003b7: PUSH4 0x1cd64df4
000003bc: EQ
000003bd: PUSH2 0x05bd
000003c0: JUMPI
000003c1: DUP1
000003c2: PUSH4 0x1eb7f3ed
000003c7: EQ
000003c8: PUSH2 0x05f2
000003cb: JUMPI
000003cc: DUP1
000003cd: PUSH4 0x23b872dd
000003d2: EQ
000003d3: PUSH2 0x0610
000003d6: JUMPI
000003d7: DUP1
000003d8: PUSH4 0x25692962
000003dd: EQ
000003de: PUSH2 0x062f
000003e1: JUMPI
000003e2: PUSH0
000003e3: DUP1
000003e4: REVERT
000003e5: JUMPDEST
000003e6: DUP1
000003e7: PUSH4 0x14b4e26e
000003ec: GT
000003ed: PUSH2 0x042b
000003f0: JUMPI
000003f1: DUP1
000003f2: PUSH4 0x14b4e26e
000003f7: EQ
000003f8: PUSH2 0x051c
000003fb: JUMPI
000003fc: DUP1
000003fd: PUSH4 0x14c64402
00000402: EQ
00000403: PUSH2 0x053d
00000406: JUMPI
00000407: DUP1
00000408: PUSH4 0x175188e8
0000040d: EQ
0000040e: PUSH2 0x055c
00000411: JUMPI
00000412: DUP1
00000413: PUSH4 0x18160ddd
00000418: EQ
00000419: PUSH2 0x057b
0000041c: JUMPI
0000041d: DUP1
0000041e: PUSH4 0x183a4f6e
00000423: EQ
00000424: PUSH2 0x0597
00000427: JUMPI
00000428: PUSH0
00000429: DUP1
0000042a: REVERT
0000042b: JUMPDEST
0000042c: DUP1
0000042d: PUSH4 0x01e1d114
00000432: EQ
00000433: PUSH2 0x0467
00000436: JUMPI
00000437: DUP1
00000438: PUSH4 0x06fdde03
0000043d: EQ
0000043e: PUSH2 0x048e
00000441: JUMPI
00000442: DUP1
00000443: PUSH4 0x07a2d13a
00000448: EQ
00000449: PUSH2 0x04af
0000044c: JUMPI
0000044d: DUP1
0000044e: PUSH4 0x095ea7b3
00000453: EQ
00000454: PUSH2 0x04ce
00000457: JUMPI
00000458: DUP1
00000459: PUSH4 0x0a28a477
0000045e: EQ
0000045f: PUSH2 0x04fd
00000462: JUMPI
00000463: JUMPDEST
00000464: PUSH0
00000465: DUP1
00000466: REVERT
00000467: JUMPDEST
00000468: CALLVALUE
00000469: DUP1
0000046a: ISZERO
0000046b: PUSH2 0x0472
0000046e: JUMPI
0000046f: PUSH0
00000470: DUP1
00000471: REVERT
00000472: JUMPDEST
00000473: POP
00000474: PUSH2 0x047b
00000477: PUSH2 0x0e9c
0000047a: JUMP
0000047b: JUMPDEST
0000047c: PUSH1 0x40
0000047e: MLOAD
0000047f: SWAP1
00000480: DUP2
00000481: MSTORE
00000482: PUSH1 0x20
00000484: ADD
00000485: JUMPDEST
00000486: PUSH1 0x40
00000488: MLOAD
00000489: DUP1
0000048a: SWAP2
0000048b: SUB
0000048c: SWAP1
0000048d: RETURN
0000048e: JUMPDEST
0000048f: CALLVALUE
00000490: DUP1
00000491: ISZERO
00000492: PUSH2 0x0499
00000495: JUMPI
00000496: PUSH0
00000497: DUP1
00000498: REVERT
00000499: JUMPDEST
0000049a: POP
0000049b: PUSH2 0x04a2
0000049e: PUSH2 0x0eaa
000004a1: JUMP
000004a2: JUMPDEST
000004a3: PUSH1 0x40
000004a5: MLOAD
000004a6: PUSH2 0x0485
000004a9: SWAP2
000004aa: SWAP1
000004ab: PUSH2 0x41d8
000004ae: JUMP
000004af: JUMPDEST
000004b0: CALLVALUE
000004b1: DUP1
000004b2: ISZERO
000004b3: PUSH2 0x04ba
000004b6: JUMPI
000004b7: PUSH0
000004b8: DUP1
000004b9: REVERT
000004ba: JUMPDEST
000004bb: POP
000004bc: PUSH2 0x047b
000004bf: PUSH2 0x04c9
000004c2: CALLDATASIZE
000004c3: PUSH1 0x04
000004c5: PUSH2 0x41ea
000004c8: JUMP
000004c9: JUMPDEST
000004ca: PUSH2 0x0f3a
000004cd: JUMP
000004ce: JUMPDEST
000004cf: CALLVALUE
000004d0: DUP1
000004d1: ISZERO
000004d2: PUSH2 0x04d9
000004d5: JUMPI
000004d6: PUSH0
000004d7: DUP1
000004d8: REVERT
000004d9: JUMPDEST
000004da: POP
000004db: PUSH2 0x04ed
000004de: PUSH2 0x04e8
000004e1: CALLDATASIZE
000004e2: PUSH1 0x04
000004e4: PUSH2 0x4215
000004e7: JUMP
000004e8: JUMPDEST
000004e9: PUSH2 0x0f80
000004ec: JUMP
000004ed: JUMPDEST
000004ee: PUSH1 0x40
000004f0: MLOAD
000004f1: SWAP1
000004f2: ISZERO
000004f3: ISZERO
000004f4: DUP2
000004f5: MSTORE
000004f6: PUSH1 0x20
000004f8: ADD
000004f9: PUSH2 0x0485
000004fc: JUMP
000004fd: JUMPDEST
000004fe: CALLVALUE
000004ff: DUP1
00000500: ISZERO
00000501: PUSH2 0x0508
00000504: JUMPI
00000505: PUSH0
00000506: DUP1
00000507: REVERT
00000508: JUMPDEST
00000509: POP
0000050a: PUSH2 0x047b
0000050d: PUSH2 0x0517
00000510: CALLDATASIZE
00000511: PUSH1 0x04
00000513: PUSH2 0x41ea
00000516: JUMP
00000517: JUMPDEST
00000518: PUSH2 0x0fd0
0000051b: JUMP
0000051c: JUMPDEST
0000051d: CALLVALUE
0000051e: DUP1
0000051f: ISZERO
00000520: PUSH2 0x0527
00000523: JUMPI
00000524: PUSH0
00000525: DUP1
00000526: REVERT
00000527: JUMPDEST
00000528: POP
00000529: PUSH2 0x053b
0000052c: PUSH2 0x0536
0000052f: CALLDATASIZE
00000530: PUSH1 0x04
00000532: PUSH2 0x423f
00000535: JUMP
00000536: JUMPDEST
00000537: PUSH2 0x123d
0000053a: JUMP
0000053b: JUMPDEST
0000053c: STOP
0000053d: JUMPDEST
0000053e: CALLVALUE
0000053f: DUP1
00000540: ISZERO
00000541: PUSH2 0x0548
00000544: JUMPI
00000545: PUSH0
00000546: DUP1
00000547: REVERT
00000548: JUMPDEST
00000549: POP
0000054a: PUSH2 0x053b
0000054d: PUSH2 0x0557
00000550: CALLDATASIZE
00000551: PUSH1 0x04
00000553: PUSH2 0x427f
00000556: JUMP
00000557: JUMPDEST
00000558: PUSH2 0x155c
0000055b: JUMP
0000055c: JUMPDEST
0000055d: CALLVALUE
0000055e: DUP1
0000055f: ISZERO
00000560: PUSH2 0x0567
00000563: JUMPI
00000564: PUSH0
00000565: DUP1
00000566: REVERT
00000567: JUMPDEST
00000568: POP
00000569: PUSH2 0x053b
0000056c: PUSH2 0x0576
0000056f: CALLDATASIZE
00000570: PUSH1 0x04
00000572: PUSH2 0x429e
00000575: JUMP
00000576: JUMPDEST
00000577: PUSH2 0x15a3
0000057a: JUMP
0000057b: JUMPDEST
0000057c: CALLVALUE
0000057d: DUP1
0000057e: ISZERO
0000057f: PUSH2 0x0586
00000582: JUMPI
00000583: PUSH0
00000584: DUP1
00000585: REVERT
00000586: JUMPDEST
00000587: POP
00000588: PUSH9 0x05345cdf77eb68f44c
00000592: SLOAD
00000593: PUSH2 0x047b
00000596: JUMP
00000597: JUMPDEST
00000598: PUSH2 0x053b
0000059b: PUSH2 0x05a5
0000059e: CALLDATASIZE
0000059f: PUSH1 0x04
000005a1: PUSH2 0x41ea
000005a4: JUMP
000005a5: JUMPDEST
000005a6: PUSH2 0x16c8
000005a9: JUMP
000005aa: JUMPDEST
000005ab: PUSH2 0x053b
000005ae: PUSH2 0x05b8
000005b1: CALLDATASIZE
000005b2: PUSH1 0x04
000005b4: PUSH2 0x4215
000005b7: JUMP
000005b8: JUMPDEST
000005b9: PUSH2 0x16d5
000005bc: JUMP
000005bd: JUMPDEST
000005be: CALLVALUE
000005bf: DUP1
000005c0: ISZERO
000005c1: PUSH2 0x05c8
000005c4: JUMPI
000005c5: PUSH0
000005c6: DUP1
000005c7: REVERT
000005c8: JUMPDEST
000005c9: POP
000005ca: PUSH2 0x04ed
000005cd: PUSH2 0x05d7
000005d0: CALLDATASIZE
000005d1: PUSH1 0x04
000005d3: PUSH2 0x4215
000005d6: JUMP
000005d7: JUMPDEST
000005d8: PUSH4 0x8b78c6d8
000005dd: PUSH1 0x0c
000005df: SWAP1
000005e0: DUP2
000005e1: MSTORE
000005e2: PUSH0
000005e3: SWAP3
000005e4: SWAP1
000005e5: SWAP3
000005e6: MSTORE
000005e7: PUSH1 0x20
000005e9: SWAP1
000005ea: SWAP2
000005eb: KECCAK256
000005ec: SLOAD
000005ed: DUP2
000005ee: AND
000005ef: EQ
000005f0: SWAP1
000005f1: JUMP
000005f2: JUMPDEST
000005f3: CALLVALUE
000005f4: DUP1
000005f5: ISZERO
000005f6: PUSH2 0x05fd
000005f9: JUMPI
000005fa: PUSH0
000005fb: DUP1
000005fc: REVERT
000005fd: JUMPDEST
000005fe: POP
000005ff: PUSH1 0x01
00000601: SLOAD
00000602: PUSH2 0x04ed
00000605: SWAP1
00000606: PUSH2 0x0100
00000609: SWAP1
0000060a: DIV
0000060b: PUSH1 0xff
0000060d: AND
0000060e: DUP2
0000060f: JUMP
00000610: JUMPDEST
00000611: CALLVALUE
00000612: DUP1
00000613: ISZERO
00000614: PUSH2 0x061b
00000617: JUMPI
00000618: PUSH0
00000619: DUP1
0000061a: REVERT
0000061b: JUMPDEST
0000061c: POP
0000061d: PUSH2 0x04ed
00000620: PUSH2 0x062a
00000623: CALLDATASIZE
00000624: PUSH1 0x04
00000626: PUSH2 0x42b9
00000629: JUMP
0000062a: JUMPDEST
0000062b: PUSH2 0x16e7
0000062e: JUMP
0000062f: JUMPDEST
00000630: PUSH2 0x053b
00000633: PUSH2 0x178e
00000636: JUMP
00000637: JUMPDEST
00000638: CALLVALUE
00000639: DUP1
0000063a: ISZERO
0000063b: PUSH2 0x0642
0000063e: JUMPI
0000063f: PUSH0
00000640: DUP1
00000641: REVERT
00000642: JUMPDEST
00000643: POP
00000644: PUSH2 0x047b
00000647: PUSH4 0x01e18558
0000064c: DUP2
0000064d: JUMP
0000064e: JUMPDEST
0000064f: CALLVALUE
00000650: DUP1
00000651: ISZERO
00000652: PUSH2 0x0659
00000655: JUMPI
00000656: PUSH0
00000657: DUP1
00000658: REVERT
00000659: JUMPDEST
0000065a: POP
0000065b: PUSH2 0x047b
0000065e: PUSH2 0x0668
00000661: CALLDATASIZE
00000662: PUSH1 0x04
00000664: PUSH2 0x429e
00000667: JUMP
00000668: JUMPDEST
00000669: PUSH4 0x8b78c6d8
0000066e: PUSH1 0x0c
00000670: SWAP1
00000671: DUP2
00000672: MSTORE
00000673: PUSH0
00000674: SWAP2
00000675: SWAP1
00000676: SWAP2
00000677: MSTORE
00000678: PUSH1 0x20
0000067a: SWAP1
0000067b: KECCAK256
0000067c: SLOAD
0000067d: SWAP1
0000067e: JUMP
0000067f: JUMPDEST
00000680: CALLVALUE
00000681: DUP1
00000682: ISZERO
00000683: PUSH2 0x068a
00000686: JUMPI
00000687: PUSH0
00000688: DUP1
00000689: REVERT
0000068a: JUMPDEST
0000068b: POP
0000068c: PUSH2 0x0693
0000068f: PUSH2 0x17db
00000692: JUMP
00000693: JUMPDEST
00000694: PUSH1 0x40
00000696: MLOAD
00000697: PUSH1 0xff
00000699: SWAP1
0000069a: SWAP2
0000069b: AND
0000069c: DUP2
0000069d: MSTORE
0000069e: PUSH1 0x20
000006a0: ADD
000006a1: PUSH2 0x0485
000006a4: JUMP
000006a5: JUMPDEST
000006a6: CALLVALUE
000006a7: DUP1
000006a8: ISZERO
000006a9: PUSH2 0x06b0
000006ac: JUMPI
000006ad: PUSH0
000006ae: DUP1
000006af: REVERT
000006b0: JUMPDEST
000006b1: POP
000006b2: PUSH1 0x01
000006b4: SLOAD
000006b5: PUSH2 0x04ed
000006b8: SWAP1
000006b9: PUSH1 0xff
000006bb: AND
000006bc: DUP2
000006bd: JUMP
000006be: JUMPDEST
000006bf: CALLVALUE
000006c0: DUP1
000006c1: ISZERO
000006c2: PUSH2 0x06c9
000006c5: JUMPI
000006c6: PUSH0
000006c7: DUP1
000006c8: REVERT
000006c9: JUMPDEST
000006ca: POP
000006cb: PUSH2 0x047b
000006ce: PUSH2 0x1807
000006d1: JUMP
000006d2: JUMPDEST
000006d3: CALLVALUE
000006d4: DUP1
000006d5: ISZERO
000006d6: PUSH2 0x06dd
000006d9: JUMPI
000006da: PUSH0
000006db: DUP1
000006dc: REVERT
000006dd: JUMPDEST
000006de: POP
000006df: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
00000700: JUMPDEST
00000701: PUSH1 0x40
00000703: MLOAD
00000704: PUSH1 0x01
00000706: PUSH1 0x01
00000708: PUSH1 0xa0
0000070a: SHL
0000070b: SUB
0000070c: SWAP1
0000070d: SWAP2
0000070e: AND
0000070f: DUP2
00000710: MSTORE
00000711: PUSH1 0x20
00000713: ADD
00000714: PUSH2 0x0485
00000717: JUMP
00000718: JUMPDEST
00000719: CALLVALUE
0000071a: DUP1
0000071b: ISZERO
0000071c: PUSH2 0x0723
0000071f: JUMPI
00000720: PUSH0
00000721: DUP1
00000722: REVERT
00000723: JUMPDEST
00000724: POP
00000725: PUSH2 0x07ae
00000728: PUSH2 0x0732
0000072b: CALLDATASIZE
0000072c: PUSH1 0x04
0000072e: PUSH2 0x429e
00000731: JUMP
00000732: JUMPDEST
00000733: PUSH1 0x08
00000735: PUSH1 0x20
00000737: MSTORE
00000738: PUSH0
00000739: SWAP1
0000073a: DUP2
0000073b: MSTORE
0000073c: PUSH1 0x40
0000073e: SWAP1
0000073f: KECCAK256
00000740: DUP1
00000741: SLOAD
00000742: PUSH1 0x01
00000744: DUP3
00000745: ADD
00000746: SLOAD
00000747: PUSH1 0x02
00000749: DUP4
0000074a: ADD
0000074b: SLOAD
0000074c: PUSH1 0x03
0000074e: SWAP1
0000074f: SWAP4
00000750: ADD
00000751: SLOAD
00000752: PUSH2 0xffff
00000755: DUP1
00000756: DUP5
00000757: AND
00000758: SWAP5
00000759: PUSH3 0x010000
0000075d: DUP6
0000075e: DIV
0000075f: SWAP1
00000760: SWAP2
00000761: AND
00000762: SWAP4
00000763: PUSH6 0xffffffffffff
0000076a: PUSH5 0x0100000000
00000770: DUP3
00000771: DIV
00000772: DUP2
00000773: AND
00000774: SWAP5
00000775: PUSH1 0x01
00000777: PUSH1 0x50
00000779: SHL
0000077a: DUP4
0000077b: DIV
0000077c: SWAP1
0000077d: SWAP2
0000077e: AND
0000077f: SWAP4
00000780: PUSH1 0x01
00000782: PUSH1 0x01
00000784: PUSH1 0x80
00000786: SHL
00000787: SUB
00000788: PUSH1 0x01
0000078a: PUSH1 0x80
0000078c: SHL
0000078d: SWAP4
0000078e: DUP5
0000078f: SWAP1
00000790: DIV
00000791: DUP2
00000792: AND
00000793: SWAP5
00000794: DUP4
00000795: DUP3
00000796: AND
00000797: SWAP5
00000798: SWAP4
00000799: DUP5
0000079a: SWAP1
0000079b: DIV
0000079c: DUP3
0000079d: AND
0000079e: SWAP4
0000079f: DUP2
000007a0: DUP4
000007a1: AND
000007a2: SWAP4
000007a3: SWAP2
000007a4: DIV
000007a5: SWAP1
000007a6: SWAP2
000007a7: AND
000007a8: SWAP1
000007a9: PUSH1 0xff
000007ab: AND
000007ac: DUP11
000007ad: JUMP
000007ae: JUMPDEST
000007af: PUSH1 0x40
000007b1: DUP1
000007b2: MLOAD
000007b3: PUSH2 0xffff
000007b6: SWAP12
000007b7: DUP13
000007b8: AND
000007b9: DUP2
000007ba: MSTORE
000007bb: SWAP11
000007bc: SWAP1
000007bd: SWAP10
000007be: AND
000007bf: PUSH1 0x20
000007c1: DUP12
000007c2: ADD
000007c3: MSTORE
000007c4: PUSH6 0xffffffffffff
000007cb: SWAP8
000007cc: DUP9
000007cd: AND
000007ce: SWAP9
000007cf: DUP11
000007d0: ADD
000007d1: SWAP9
000007d2: SWAP1
000007d3: SWAP9
000007d4: MSTORE
000007d5: SWAP6
000007d6: SWAP1
000007d7: SWAP5
000007d8: AND
000007d9: PUSH1 0x60
000007db: DUP9
000007dc: ADD
000007dd: MSTORE
000007de: PUSH1 0x01
000007e0: PUSH1 0x01
000007e2: PUSH1 0x80
000007e4: SHL
000007e5: SUB
000007e6: SWAP3
000007e7: DUP4
000007e8: AND
000007e9: PUSH1 0x80
000007eb: DUP9
000007ec: ADD
000007ed: MSTORE
000007ee: SWAP1
000007ef: DUP3
000007f0: AND
000007f1: PUSH1 0xa0
000007f3: DUP8
000007f4: ADD
000007f5: MSTORE
000007f6: DUP2
000007f7: AND
000007f8: PUSH1 0xc0
000007fa: DUP7
000007fb: ADD
000007fc: MSTORE
000007fd: SWAP1
000007fe: DUP2
000007ff: AND
00000800: PUSH1 0xe0
00000802: DUP6
00000803: ADD
00000804: MSTORE
00000805: AND
00000806: PUSH2 0x0100
00000809: DUP4
0000080a: ADD
0000080b: MSTORE
0000080c: ISZERO
0000080d: ISZERO
0000080e: PUSH2 0x0120
00000811: DUP3
00000812: ADD
00000813: MSTORE
00000814: PUSH2 0x0140
00000817: ADD
00000818: PUSH2 0x0485
0000081b: JUMP
0000081c: JUMPDEST
0000081d: CALLVALUE
0000081e: DUP1
0000081f: ISZERO
00000820: PUSH2 0x0827
00000823: JUMPI
00000824: PUSH0
00000825: DUP1
00000826: REVERT
00000827: JUMPDEST
00000828: POP
00000829: PUSH2 0x047b
0000082c: PUSH2 0x0836
0000082f: CALLDATASIZE
00000830: PUSH1 0x04
00000832: PUSH2 0x429e
00000835: JUMP
00000836: JUMPDEST
00000837: PUSH2 0x1883
0000083a: JUMP
0000083b: JUMPDEST
0000083c: PUSH2 0x053b
0000083f: PUSH2 0x0849
00000842: CALLDATASIZE
00000843: PUSH1 0x04
00000845: PUSH2 0x4215
00000848: JUMP
00000849: JUMPDEST
0000084a: PUSH2 0x1897
0000084d: JUMP
0000084e: JUMPDEST
0000084f: CALLVALUE
00000850: DUP1
00000851: ISZERO
00000852: PUSH2 0x0859
00000855: JUMPI
00000856: PUSH0
00000857: DUP1
00000858: REVERT
00000859: JUMPDEST
0000085a: POP
0000085b: PUSH2 0x047b
0000085e: PUSH2 0x0868
00000861: CALLDATASIZE
00000862: PUSH1 0x04
00000864: PUSH2 0x41ea
00000867: JUMP
00000868: JUMPDEST
00000869: PUSH2 0x18a9
0000086c: JUMP
0000086d: JUMPDEST
0000086e: CALLVALUE
0000086f: DUP1
00000870: ISZERO
00000871: PUSH2 0x0878
00000874: JUMPI
00000875: PUSH0
00000876: DUP1
00000877: REVERT
00000878: JUMPDEST
00000879: POP
0000087a: PUSH2 0x04ed
0000087d: PUSH2 0x0887
00000880: CALLDATASIZE
00000881: PUSH1 0x04
00000883: PUSH2 0x4215
00000886: JUMP
00000887: JUMPDEST
00000888: PUSH4 0x8b78c6d8
0000088d: PUSH1 0x0c
0000088f: SWAP1
00000890: DUP2
00000891: MSTORE
00000892: PUSH0
00000893: SWAP3
00000894: SWAP1
00000895: SWAP3
00000896: MSTORE
00000897: PUSH1 0x20
00000899: SWAP1
0000089a: SWAP2
0000089b: KECCAK256
0000089c: SLOAD
0000089d: AND
0000089e: ISZERO
0000089f: ISZERO
000008a0: SWAP1
000008a1: JUMP
000008a2: JUMPDEST
000008a3: PUSH2 0x053b
000008a6: PUSH2 0x1a3c
000008a9: JUMP
000008aa: JUMPDEST
000008ab: CALLVALUE
000008ac: DUP1
000008ad: ISZERO
000008ae: PUSH2 0x08b5
000008b1: JUMPI
000008b2: PUSH0
000008b3: DUP1
000008b4: REVERT
000008b5: JUMPDEST
000008b6: POP
000008b7: PUSH2 0x047b
000008ba: PUSH1 0x04
000008bc: DUP2
000008bd: JUMP
000008be: JUMPDEST
000008bf: CALLVALUE
000008c0: DUP1
000008c1: ISZERO
000008c2: PUSH2 0x08c9
000008c5: JUMPI
000008c6: PUSH0
000008c7: DUP1
000008c8: REVERT
000008c9: JUMPDEST
000008ca: POP
000008cb: PUSH2 0x053b
000008ce: PUSH2 0x08d8
000008d1: CALLDATASIZE
000008d2: PUSH1 0x04
000008d4: PUSH2 0x427f
000008d7: JUMP
000008d8: JUMPDEST
000008d9: PUSH2 0x1a75
000008dc: JUMP
000008dd: JUMPDEST
000008de: CALLVALUE
000008df: DUP1
000008e0: ISZERO
000008e1: PUSH2 0x08e8
000008e4: JUMPI
000008e5: PUSH0
000008e6: DUP1
000008e7: REVERT
000008e8: JUMPDEST
000008e9: POP
000008ea: PUSH1 0x07
000008ec: SLOAD
000008ed: PUSH2 0x0700
000008f0: SWAP1
000008f1: PUSH1 0x01
000008f3: PUSH1 0x01
000008f5: PUSH1 0xa0
000008f7: SHL
000008f8: SUB
000008f9: AND
000008fa: DUP2
000008fb: JUMP
000008fc: JUMPDEST
000008fd: CALLVALUE
000008fe: DUP1
000008ff: ISZERO
00000900: PUSH2 0x0907
00000903: JUMPI
00000904: PUSH0
00000905: DUP1
00000906: REVERT
00000907: JUMPDEST
00000908: POP
00000909: PUSH2 0x047b
0000090c: PUSH2 0x0916
0000090f: CALLDATASIZE
00000910: PUSH1 0x04
00000912: PUSH2 0x42f7
00000915: JUMP
00000916: JUMPDEST
00000917: PUSH2 0x1ac1
0000091a: JUMP
0000091b: JUMPDEST
0000091c: CALLVALUE
0000091d: DUP1
0000091e: ISZERO
0000091f: PUSH2 0x0926
00000922: JUMPI
00000923: PUSH0
00000924: DUP1
00000925: REVERT
00000926: JUMPDEST
00000927: POP
00000928: PUSH2 0x047b
0000092b: PUSH1 0x02
0000092d: DUP2
0000092e: JUMP
0000092f: JUMPDEST
00000930: CALLVALUE
00000931: DUP1
00000932: ISZERO
00000933: PUSH2 0x093a
00000936: JUMPI
00000937: PUSH0
00000938: DUP1
00000939: REVERT
0000093a: JUMPDEST
0000093b: POP
0000093c: PUSH2 0x053b
0000093f: PUSH2 0x0949
00000942: CALLDATASIZE
00000943: PUSH1 0x04
00000945: PUSH2 0x41ea
00000948: JUMP
00000949: JUMPDEST
0000094a: PUSH2 0x1b44
0000094d: JUMP
0000094e: JUMPDEST
0000094f: CALLVALUE
00000950: DUP1
00000951: ISZERO
00000952: PUSH2 0x0959
00000955: JUMPI
00000956: PUSH0
00000957: DUP1
00000958: REVERT
00000959: JUMPDEST
0000095a: POP
0000095b: PUSH2 0x047b
0000095e: PUSH2 0x0968
00000961: CALLDATASIZE
00000962: PUSH1 0x04
00000964: PUSH2 0x429e
00000967: JUMP
00000968: JUMPDEST
00000969: PUSH4 0x87a211a2
0000096e: PUSH1 0x0c
00000970: SWAP1
00000971: DUP2
00000972: MSTORE
00000973: PUSH0
00000974: SWAP2
00000975: SWAP1
00000976: SWAP2
00000977: MSTORE
00000978: PUSH1 0x20
0000097a: SWAP1
0000097b: KECCAK256
0000097c: SLOAD
0000097d: SWAP1
0000097e: JUMP
0000097f: JUMPDEST
00000980: PUSH2 0x053b
00000983: PUSH2 0x1b99
00000986: JUMP
00000987: JUMPDEST
00000988: CALLVALUE
00000989: DUP1
0000098a: ISZERO
0000098b: PUSH2 0x0992
0000098e: JUMPI
0000098f: PUSH0
00000990: DUP1
00000991: REVERT
00000992: JUMPDEST
00000993: POP
00000994: PUSH2 0x047b
00000997: PUSH3 0x093a80
0000099b: DUP2
0000099c: JUMP
0000099d: JUMPDEST
0000099e: CALLVALUE
0000099f: DUP1
000009a0: ISZERO
000009a1: PUSH2 0x09a8
000009a4: JUMPI
000009a5: PUSH0
000009a6: DUP1
000009a7: REVERT
000009a8: JUMPDEST
000009a9: POP
000009aa: PUSH2 0x047b
000009ad: PUSH1 0x01
000009af: DUP2
000009b0: JUMP
000009b1: JUMPDEST
000009b2: CALLVALUE
000009b3: DUP1
000009b4: ISZERO
000009b5: PUSH2 0x09bc
000009b8: JUMPI
000009b9: PUSH0
000009ba: DUP1
000009bb: REVERT
000009bc: JUMPDEST
000009bd: POP
000009be: PUSH2 0x047b
000009c1: PUSH1 0x14
000009c3: DUP2
000009c4: JUMP
000009c5: JUMPDEST
000009c6: CALLVALUE
000009c7: DUP1
000009c8: ISZERO
000009c9: PUSH2 0x09d0
000009cc: JUMPI
000009cd: PUSH0
000009ce: DUP1
000009cf: REVERT
000009d0: JUMPDEST
000009d1: POP
000009d2: PUSH2 0x047b
000009d5: PUSH2 0x1bac
000009d8: JUMP
000009d9: JUMPDEST
000009da: CALLVALUE
000009db: DUP1
000009dc: ISZERO
000009dd: PUSH2 0x09e4
000009e0: JUMPI
000009e1: PUSH0
000009e2: DUP1
000009e3: REVERT
000009e4: JUMPDEST
000009e5: POP
000009e6: PUSH2 0x047b
000009e9: PUSH2 0x09f3
000009ec: CALLDATASIZE
000009ed: PUSH1 0x04
000009ef: PUSH2 0x429e
000009f2: JUMP
000009f3: JUMPDEST
000009f4: PUSH4 0x38377508
000009f9: PUSH1 0x0c
000009fb: SWAP1
000009fc: DUP2
000009fd: MSTORE
000009fe: PUSH0
000009ff: SWAP2
00000a00: SWAP1
00000a01: SWAP2
00000a02: MSTORE
00000a03: PUSH1 0x20
00000a05: SWAP1
00000a06: KECCAK256
00000a07: SLOAD
00000a08: SWAP1
00000a09: JUMP
00000a0a: JUMPDEST
00000a0b: CALLVALUE
00000a0c: DUP1
00000a0d: ISZERO
00000a0e: PUSH2 0x0a15
00000a11: JUMPI
00000a12: PUSH0
00000a13: DUP1
00000a14: REVERT
00000a15: JUMPDEST
00000a16: POP
00000a17: PUSH2 0x047b
00000a1a: PUSH2 0x0a24
00000a1d: CALLDATASIZE
00000a1e: PUSH1 0x04
00000a20: PUSH2 0x4340
00000a23: JUMP
00000a24: JUMPDEST
00000a25: PUSH2 0x1bb5
00000a28: JUMP
00000a29: JUMPDEST
00000a2a: CALLVALUE
00000a2b: DUP1
00000a2c: ISZERO
00000a2d: PUSH2 0x0a34
00000a30: JUMPI
00000a31: PUSH0
00000a32: DUP1
00000a33: REVERT
00000a34: JUMPDEST
00000a35: POP
00000a36: PUSH2 0x047b
00000a39: PUSH2 0x20ae
00000a3c: JUMP
00000a3d: JUMPDEST
00000a3e: CALLVALUE
00000a3f: DUP1
00000a40: ISZERO
00000a41: PUSH2 0x0a48
00000a44: JUMPI
00000a45: PUSH0
00000a46: DUP1
00000a47: REVERT
00000a48: JUMPDEST
00000a49: POP
00000a4a: PUSH2 0x047b
00000a4d: PUSH1 0x1d
00000a4f: SLOAD
00000a50: DUP2
00000a51: JUMP
00000a52: JUMPDEST
00000a53: CALLVALUE
00000a54: DUP1
00000a55: ISZERO
00000a56: PUSH2 0x0a5d
00000a59: JUMPI
00000a5a: PUSH0
00000a5b: DUP1
00000a5c: REVERT
00000a5d: JUMPDEST
00000a5e: POP
00000a5f: PUSH4 0x8b78c6d8
00000a64: NOT
00000a65: SLOAD
00000a66: PUSH2 0x0700
00000a69: JUMP
00000a6a: JUMPDEST
00000a6b: CALLVALUE
00000a6c: DUP1
00000a6d: ISZERO
00000a6e: PUSH2 0x0a75
00000a71: JUMPI
00000a72: PUSH0
00000a73: DUP1
00000a74: REVERT
00000a75: JUMPDEST
00000a76: POP
00000a77: PUSH2 0x053b
00000a7a: PUSH2 0x0a84
00000a7d: CALLDATASIZE
00000a7e: PUSH1 0x04
00000a80: PUSH2 0x4393
00000a83: JUMP
00000a84: JUMPDEST
00000a85: PUSH2 0x20c5
00000a88: JUMP
00000a89: JUMPDEST
00000a8a: CALLVALUE
00000a8b: DUP1
00000a8c: ISZERO
00000a8d: PUSH2 0x0a94
00000a90: JUMPI
00000a91: PUSH0
00000a92: DUP1
00000a93: REVERT
00000a94: JUMPDEST
00000a95: POP
00000a96: PUSH2 0x047b
00000a99: PUSH2 0x0aa3
00000a9c: CALLDATASIZE
00000a9d: PUSH1 0x04
00000a9f: PUSH2 0x42f7
00000aa2: JUMP
00000aa3: JUMPDEST
00000aa4: PUSH2 0x217f
00000aa7: JUMP
00000aa8: JUMPDEST
00000aa9: CALLVALUE
00000aaa: DUP1
00000aab: ISZERO
00000aac: PUSH2 0x0ab3
00000aaf: JUMPI
00000ab0: PUSH0
00000ab1: DUP1
00000ab2: REVERT
00000ab3: JUMPDEST
00000ab4: POP
00000ab5: PUSH2 0x04a2
00000ab8: PUSH2 0x21f7
00000abb: JUMP
00000abc: JUMPDEST
00000abd: CALLVALUE
00000abe: DUP1
00000abf: ISZERO
00000ac0: PUSH2 0x0ac7
00000ac3: JUMPI
00000ac4: PUSH0
00000ac5: DUP1
00000ac6: REVERT
00000ac7: JUMPDEST
00000ac8: POP
00000ac9: PUSH2 0x047b
00000acc: PUSH1 0x04
00000ace: SLOAD
00000acf: DUP2
00000ad0: JUMP
00000ad1: JUMPDEST
00000ad2: CALLVALUE
00000ad3: DUP1
00000ad4: ISZERO
00000ad5: PUSH2 0x0adc
00000ad8: JUMPI
00000ad9: PUSH0
00000ada: DUP1
00000adb: REVERT
00000adc: JUMPDEST
00000add: POP
00000ade: PUSH2 0x047b
00000ae1: PUSH1 0x1e
00000ae3: SLOAD
00000ae4: DUP2
00000ae5: JUMP
00000ae6: JUMPDEST
00000ae7: CALLVALUE
00000ae8: DUP1
00000ae9: ISZERO
00000aea: PUSH2 0x0af1
00000aed: JUMPI
00000aee: PUSH0
00000aef: DUP1
00000af0: REVERT
00000af1: JUMPDEST
00000af2: POP
00000af3: PUSH2 0x04ed
00000af6: PUSH2 0x0b00
00000af9: CALLDATASIZE
00000afa: PUSH1 0x04
00000afc: PUSH2 0x4215
00000aff: JUMP
00000b00: JUMPDEST
00000b01: PUSH2 0x2206
00000b04: JUMP
00000b05: JUMPDEST
00000b06: CALLVALUE
00000b07: DUP1
00000b08: ISZERO
00000b09: PUSH2 0x0b10
00000b0c: JUMPI
00000b0d: PUSH0
00000b0e: DUP1
00000b0f: REVERT
00000b10: JUMPDEST
00000b11: POP
00000b12: PUSH2 0x047b
00000b15: PUSH2 0x0b1f
00000b18: CALLDATASIZE
00000b19: PUSH1 0x04
00000b1b: PUSH2 0x41ea
00000b1e: JUMP
00000b1f: JUMPDEST
00000b20: PUSH2 0x226a
00000b23: JUMP
00000b24: JUMPDEST
00000b25: CALLVALUE
00000b26: DUP1
00000b27: ISZERO
00000b28: PUSH2 0x0b2f
00000b2b: JUMPI
00000b2c: PUSH0
00000b2d: DUP1
00000b2e: REVERT
00000b2f: JUMPDEST
00000b30: POP
00000b31: PUSH2 0x047b
00000b34: PUSH2 0x0b3e
00000b37: CALLDATASIZE
00000b38: PUSH1 0x04
00000b3a: PUSH2 0x43bb
00000b3d: JUMP
00000b3e: JUMPDEST
00000b3f: PUSH2 0x22a4
00000b42: JUMP
00000b43: JUMPDEST
00000b44: CALLVALUE
00000b45: DUP1
00000b46: ISZERO
00000b47: PUSH2 0x0b4e
00000b4a: JUMPI
00000b4b: PUSH0
00000b4c: DUP1
00000b4d: REVERT
00000b4e: JUMPDEST
00000b4f: POP
00000b50: PUSH2 0x047b
00000b53: PUSH2 0x0b5d
00000b56: CALLDATASIZE
00000b57: PUSH1 0x04
00000b59: PUSH2 0x43bb
00000b5c: JUMP
00000b5d: JUMPDEST
00000b5e: PUSH2 0x2308
00000b61: JUMP
00000b62: JUMPDEST
00000b63: CALLVALUE
00000b64: DUP1
00000b65: ISZERO
00000b66: PUSH2 0x0b6d
00000b69: JUMPI
00000b6a: PUSH0
00000b6b: DUP1
00000b6c: REVERT
00000b6d: JUMPDEST
00000b6e: POP
00000b6f: PUSH2 0x053b
00000b72: PUSH2 0x0b7c
00000b75: CALLDATASIZE
00000b76: PUSH1 0x04
00000b78: PUSH2 0x429e
00000b7b: JUMP
00000b7c: JUMPDEST
00000b7d: PUSH2 0x2360
00000b80: JUMP
00000b81: JUMPDEST
00000b82: CALLVALUE
00000b83: DUP1
00000b84: ISZERO
00000b85: PUSH2 0x0b8c
00000b88: JUMPI
00000b89: PUSH0
00000b8a: DUP1
00000b8b: REVERT
00000b8c: JUMPDEST
00000b8d: POP
00000b8e: PUSH2 0x053b
00000b91: PUSH2 0x0b9b
00000b94: CALLDATASIZE
00000b95: PUSH1 0x04
00000b97: PUSH2 0x41ea
00000b9a: JUMP
00000b9b: JUMPDEST
00000b9c: PUSH2 0x23b3
00000b9f: JUMP
00000ba0: JUMPDEST
00000ba1: CALLVALUE
00000ba2: DUP1
00000ba3: ISZERO
00000ba4: PUSH2 0x0bab
00000ba7: JUMPI
00000ba8: PUSH0
00000ba9: DUP1
00000baa: REVERT
00000bab: JUMPDEST
00000bac: POP
00000bad: PUSH2 0x047b
00000bb0: PUSH2 0x0bba
00000bb3: CALLDATASIZE
00000bb4: PUSH1 0x04
00000bb6: PUSH2 0x429e
00000bb9: JUMP
00000bba: JUMPDEST
00000bbb: PUSH2 0x23f1
00000bbe: JUMP
00000bbf: JUMPDEST
00000bc0: CALLVALUE
00000bc1: DUP1
00000bc2: ISZERO
00000bc3: PUSH2 0x0bca
00000bc6: JUMPI
00000bc7: PUSH0
00000bc8: DUP1
00000bc9: REVERT
00000bca: JUMPDEST
00000bcb: POP
00000bcc: PUSH1 0x01
00000bce: SLOAD
00000bcf: PUSH2 0x0693
00000bd2: SWAP1
00000bd3: PUSH3 0x010000
00000bd7: SWAP1
00000bd8: DIV
00000bd9: PUSH1 0xff
00000bdb: AND
00000bdc: DUP2
00000bdd: JUMP
00000bde: JUMPDEST
00000bdf: CALLVALUE
00000be0: DUP1
00000be1: ISZERO
00000be2: PUSH2 0x0be9
00000be5: JUMPI
00000be6: PUSH0
00000be7: DUP1
00000be8: REVERT
00000be9: JUMPDEST
00000bea: POP
00000beb: PUSH2 0x047b
00000bee: PUSH1 0x06
00000bf0: SLOAD
00000bf1: DUP2
00000bf2: JUMP
00000bf3: JUMPDEST
00000bf4: CALLVALUE
00000bf5: DUP1
00000bf6: ISZERO
00000bf7: PUSH2 0x0bfe
00000bfa: JUMPI
00000bfb: PUSH0
00000bfc: DUP1
00000bfd: REVERT
00000bfe: JUMPDEST
00000bff: POP
00000c00: PUSH2 0x047b
00000c03: PUSH2 0x0c0d
00000c06: CALLDATASIZE
00000c07: PUSH1 0x04
00000c09: PUSH2 0x429e
00000c0c: JUMP
00000c0d: JUMPDEST
00000c0e: PUSH2 0x23fb
00000c11: JUMP
00000c12: JUMPDEST
00000c13: CALLVALUE
00000c14: DUP1
00000c15: ISZERO
00000c16: PUSH2 0x0c1d
00000c19: JUMPI
00000c1a: PUSH0
00000c1b: DUP1
00000c1c: REVERT
00000c1d: JUMPDEST
00000c1e: POP
00000c1f: PUSH2 0x047b
00000c22: PUSH2 0x0c2c
00000c25: CALLDATASIZE
00000c26: PUSH1 0x04
00000c28: PUSH2 0x41ea
00000c2b: JUMP
00000c2c: JUMPDEST
00000c2d: PUSH2 0x2408
00000c30: JUMP
00000c31: JUMPDEST
00000c32: CALLVALUE
00000c33: DUP1
00000c34: ISZERO
00000c35: PUSH2 0x0c3c
00000c38: JUMPI
00000c39: PUSH0
00000c3a: DUP1
00000c3b: REVERT
00000c3c: JUMPDEST
00000c3d: POP
00000c3e: PUSH2 0x0700
00000c41: PUSH2 0x0c4b
00000c44: CALLDATASIZE
00000c45: PUSH1 0x04
00000c47: PUSH2 0x41ea
00000c4a: JUMP
00000c4b: JUMPDEST
00000c4c: PUSH2 0x2440
00000c4f: JUMP
00000c50: JUMPDEST
00000c51: CALLVALUE
00000c52: DUP1
00000c53: ISZERO
00000c54: PUSH2 0x0c5b
00000c57: JUMPI
00000c58: PUSH0
00000c59: DUP1
00000c5a: REVERT
00000c5b: JUMPDEST
00000c5c: POP
00000c5d: PUSH2 0x047b
00000c60: PUSH2 0x0c6a
00000c63: CALLDATASIZE
00000c64: PUSH1 0x04
00000c66: PUSH2 0x429e
00000c69: JUMP
00000c6a: JUMPDEST
00000c6b: PUSH2 0x245f
00000c6e: JUMP
00000c6f: JUMPDEST
00000c70: CALLVALUE
00000c71: DUP1
00000c72: ISZERO
00000c73: PUSH2 0x0c7a
00000c76: JUMPI
00000c77: PUSH0
00000c78: DUP1
00000c79: REVERT
00000c7a: JUMPDEST
00000c7b: POP
00000c7c: PUSH2 0x047b
00000c7f: PUSH1 0x03
00000c81: SLOAD
00000c82: DUP2
00000c83: JUMP
00000c84: JUMPDEST
00000c85: CALLVALUE
00000c86: DUP1
00000c87: ISZERO
00000c88: PUSH2 0x0c8f
00000c8b: JUMPI
00000c8c: PUSH0
00000c8d: DUP1
00000c8e: REVERT
00000c8f: JUMPDEST
00000c90: POP
00000c91: PUSH2 0x053b
00000c94: PUSH2 0x0c9e
00000c97: CALLDATASIZE
00000c98: PUSH1 0x04
00000c9a: PUSH2 0x43fa
00000c9d: JUMP
00000c9e: JUMPDEST
00000c9f: PUSH2 0x2483
00000ca2: JUMP
00000ca3: JUMPDEST
00000ca4: CALLVALUE
00000ca5: DUP1
00000ca6: ISZERO
00000ca7: PUSH2 0x0cae
00000caa: JUMPI
00000cab: PUSH0
00000cac: DUP1
00000cad: REVERT
00000cae: JUMPDEST
00000caf: POP
00000cb0: PUSH2 0x047b
00000cb3: PUSH2 0x0cbd
00000cb6: CALLDATASIZE
00000cb7: PUSH1 0x04
00000cb9: PUSH2 0x429e
00000cbc: JUMP
00000cbd: JUMPDEST
00000cbe: PUSH2 0x2605
00000cc1: JUMP
00000cc2: JUMPDEST
00000cc3: CALLVALUE
00000cc4: DUP1
00000cc5: ISZERO
00000cc6: PUSH2 0x0ccd
00000cc9: JUMPI
00000cca: PUSH0
00000ccb: DUP1
00000ccc: REVERT
00000ccd: JUMPDEST
00000cce: POP
00000ccf: PUSH2 0x047b
00000cd2: PUSH2 0x0cdc
00000cd5: CALLDATASIZE
00000cd6: PUSH1 0x04
00000cd8: PUSH2 0x429e
00000cdb: JUMP
00000cdc: JUMPDEST
00000cdd: PUSH0
00000cde: SWAP1
00000cdf: DUP2
00000ce0: MSTORE
00000ce1: PUSH1 0x08
00000ce3: PUSH1 0x20
00000ce5: MSTORE
00000ce6: PUSH1 0x40
00000ce8: SWAP1
00000ce9: KECCAK256
00000cea: PUSH1 0x02
00000cec: ADD
00000ced: SLOAD
00000cee: PUSH1 0x01
00000cf0: PUSH1 0x01
00000cf2: PUSH1 0x80
00000cf4: SHL
00000cf5: SUB
00000cf6: AND
00000cf7: SWAP1
00000cf8: JUMP
00000cf9: JUMPDEST
00000cfa: CALLVALUE
00000cfb: DUP1
00000cfc: ISZERO
00000cfd: PUSH2 0x0d04
00000d00: JUMPI
00000d01: PUSH0
00000d02: DUP1
00000d03: REVERT
00000d04: JUMPDEST
00000d05: POP
00000d06: PUSH2 0x047b
00000d09: PUSH2 0x0d13
00000d0c: CALLDATASIZE
00000d0d: PUSH1 0x04
00000d0f: PUSH2 0x429e
00000d12: JUMP
00000d13: JUMPDEST
00000d14: PUSH2 0x260f
00000d17: JUMP
00000d18: JUMPDEST
00000d19: CALLVALUE
00000d1a: DUP1
00000d1b: ISZERO
00000d1c: PUSH2 0x0d23
00000d1f: JUMPI
00000d20: PUSH0
00000d21: DUP1
00000d22: REVERT
00000d23: JUMPDEST
00000d24: POP
00000d25: PUSH2 0x053b
00000d28: PUSH2 0x0d32
00000d2b: CALLDATASIZE
00000d2c: PUSH1 0x04
00000d2e: PUSH2 0x429e
00000d31: JUMP
00000d32: JUMPDEST
00000d33: PUSH2 0x2628
00000d36: JUMP
00000d37: JUMPDEST
00000d38: CALLVALUE
00000d39: DUP1
00000d3a: ISZERO
00000d3b: PUSH2 0x0d42
00000d3e: JUMPI
00000d3f: PUSH0
00000d40: DUP1
00000d41: REVERT
00000d42: JUMPDEST
00000d43: POP
00000d44: PUSH2 0x047b
00000d47: PUSH2 0x0d51
00000d4a: CALLDATASIZE
00000d4b: PUSH1 0x04
00000d4d: PUSH2 0x446b
00000d50: JUMP
00000d51: JUMPDEST
00000d52: PUSH1 0x20
00000d54: MSTORE
00000d55: PUSH4 0x7f5e9f20
00000d5a: PUSH1 0x0c
00000d5c: SWAP1
00000d5d: DUP2
00000d5e: MSTORE
00000d5f: PUSH0
00000d60: SWAP2
00000d61: SWAP1
00000d62: SWAP2
00000d63: MSTORE
00000d64: PUSH1 0x34
00000d66: SWAP1
00000d67: KECCAK256
00000d68: SLOAD
00000d69: SWAP1
00000d6a: JUMP
00000d6b: JUMPDEST
00000d6c: CALLVALUE
00000d6d: DUP1
00000d6e: ISZERO
00000d6f: PUSH2 0x0d76
00000d72: JUMPI
00000d73: PUSH0
00000d74: DUP1
00000d75: REVERT
00000d76: JUMPDEST
00000d77: POP
00000d78: PUSH2 0x053b
00000d7b: PUSH2 0x0d85
00000d7e: CALLDATASIZE
00000d7f: PUSH1 0x04
00000d81: PUSH2 0x427f
00000d84: JUMP
00000d85: JUMPDEST
00000d86: PUSH2 0x28de
00000d89: JUMP
00000d8a: JUMPDEST
00000d8b: CALLVALUE
00000d8c: DUP1
00000d8d: ISZERO
00000d8e: PUSH2 0x0d95
00000d91: JUMPI
00000d92: PUSH0
00000d93: DUP1
00000d94: REVERT
00000d95: JUMPDEST
00000d96: POP
00000d97: PUSH2 0x053b
00000d9a: PUSH2 0x0da4
00000d9d: CALLDATASIZE
00000d9e: PUSH1 0x04
00000da0: PUSH2 0x423f
00000da3: JUMP
00000da4: JUMPDEST
00000da5: PUSH2 0x290c
00000da8: JUMP
00000da9: JUMPDEST
00000daa: CALLVALUE
00000dab: DUP1
00000dac: ISZERO
00000dad: PUSH2 0x0db4
00000db0: JUMPI
00000db1: PUSH0
00000db2: DUP1
00000db3: REVERT
00000db4: JUMPDEST
00000db5: POP
00000db6: PUSH2 0x047b
00000db9: PUSH1 0x02
00000dbb: SLOAD
00000dbc: DUP2
00000dbd: JUMP
00000dbe: JUMPDEST
00000dbf: CALLVALUE
00000dc0: DUP1
00000dc1: ISZERO
00000dc2: PUSH2 0x0dc9
00000dc5: JUMPI
00000dc6: PUSH0
00000dc7: DUP1
00000dc8: REVERT
00000dc9: JUMPDEST
00000dca: POP
00000dcb: PUSH2 0x047b
00000dce: PUSH2 0x0dd8
00000dd1: CALLDATASIZE
00000dd2: PUSH1 0x04
00000dd4: PUSH2 0x41ea
00000dd7: JUMP
00000dd8: JUMPDEST
00000dd9: PUSH2 0x2ab4
00000ddc: JUMP
00000ddd: JUMPDEST
00000dde: PUSH2 0x053b
00000de1: PUSH2 0x0deb
00000de4: CALLDATASIZE
00000de5: PUSH1 0x04
00000de7: PUSH2 0x429e
00000dea: JUMP
00000deb: JUMPDEST
00000dec: PUSH2 0x2abe
00000def: JUMP
00000df0: JUMPDEST
00000df1: CALLVALUE
00000df2: DUP1
00000df3: ISZERO
00000df4: PUSH2 0x0dfb
00000df7: JUMPI
00000df8: PUSH0
00000df9: DUP1
00000dfa: REVERT
00000dfb: JUMPDEST
00000dfc: POP
00000dfd: PUSH2 0x053b
00000e00: PUSH2 0x0e0a
00000e03: CALLDATASIZE
00000e04: PUSH1 0x04
00000e06: PUSH2 0x429e
00000e09: JUMP
00000e0a: JUMPDEST
00000e0b: PUSH2 0x2af8
00000e0e: JUMP
00000e0f: JUMPDEST
00000e10: PUSH2 0x053b
00000e13: PUSH2 0x0e1d
00000e16: CALLDATASIZE
00000e17: PUSH1 0x04
00000e19: PUSH2 0x429e
00000e1c: JUMP
00000e1d: JUMPDEST
00000e1e: PUSH2 0x2b4c
00000e21: JUMP
00000e22: JUMPDEST
00000e23: CALLVALUE
00000e24: DUP1
00000e25: ISZERO
00000e26: PUSH2 0x0e2d
00000e29: JUMPI
00000e2a: PUSH0
00000e2b: DUP1
00000e2c: REVERT
00000e2d: JUMPDEST
00000e2e: POP
00000e2f: PUSH2 0x047b
00000e32: PUSH1 0x05
00000e34: SLOAD
00000e35: DUP2
00000e36: JUMP
00000e37: JUMPDEST
00000e38: CALLVALUE
00000e39: DUP1
00000e3a: ISZERO
00000e3b: PUSH2 0x0e42
00000e3e: JUMPI
00000e3f: PUSH0
00000e40: DUP1
00000e41: REVERT
00000e42: JUMPDEST
00000e43: POP
00000e44: PUSH2 0x047b
00000e47: PUSH2 0x2710
00000e4a: DUP2
00000e4b: JUMP
00000e4c: JUMPDEST
00000e4d: CALLVALUE
00000e4e: DUP1
00000e4f: ISZERO
00000e50: PUSH2 0x0e57
00000e53: JUMPI
00000e54: PUSH0
00000e55: DUP1
00000e56: REVERT
00000e57: JUMPDEST
00000e58: POP
00000e59: PUSH2 0x053b
00000e5c: PUSH2 0x0e66
00000e5f: CALLDATASIZE
00000e60: PUSH1 0x04
00000e62: PUSH2 0x41ea
00000e65: JUMP
00000e66: JUMPDEST
00000e67: PUSH2 0x2b72
00000e6a: JUMP
00000e6b: JUMPDEST
00000e6c: CALLVALUE
00000e6d: DUP1
00000e6e: ISZERO
00000e6f: PUSH2 0x0e76
00000e72: JUMPI
00000e73: PUSH0
00000e74: DUP1
00000e75: REVERT
00000e76: JUMPDEST
00000e77: POP
00000e78: PUSH2 0x047b
00000e7b: PUSH2 0x0e85
00000e7e: CALLDATASIZE
00000e7f: PUSH1 0x04
00000e81: PUSH2 0x429e
00000e84: JUMP
00000e85: JUMPDEST
00000e86: PUSH4 0x389a75e1
00000e8b: PUSH1 0x0c
00000e8d: SWAP1
00000e8e: DUP2
00000e8f: MSTORE
00000e90: PUSH0
00000e91: SWAP2
00000e92: SWAP1
00000e93: SWAP2
00000e94: MSTORE
00000e95: PUSH1 0x20
00000e97: SWAP1
00000e98: KECCAK256
00000e99: SLOAD
00000e9a: SWAP1
00000e9b: JUMP
00000e9c: JUMPDEST
00000e9d: PUSH0
00000e9e: PUSH2 0x0ea5
00000ea1: PUSH2 0x2bc7
00000ea4: JUMP
00000ea5: JUMPDEST
00000ea6: SWAP1
00000ea7: POP
00000ea8: SWAP1
00000ea9: JUMP
00000eaa: JUMPDEST
00000eab: PUSH1 0x60
00000ead: PUSH1 0x1f
00000eaf: DUP1
00000eb0: SLOAD
00000eb1: PUSH2 0x0eb9
00000eb4: SWAP1
00000eb5: PUSH2 0x4497
00000eb8: JUMP
00000eb9: JUMPDEST
00000eba: DUP1
00000ebb: PUSH1 0x1f
00000ebd: ADD
00000ebe: PUSH1 0x20
00000ec0: DUP1
00000ec1: SWAP2
00000ec2: DIV
00000ec3: MUL
00000ec4: PUSH1 0x20
00000ec6: ADD
00000ec7: PUSH1 0x40
00000ec9: MLOAD
00000eca: SWAP1
00000ecb: DUP2
00000ecc: ADD
00000ecd: PUSH1 0x40
00000ecf: MSTORE
00000ed0: DUP1
00000ed1: SWAP3
00000ed2: SWAP2
00000ed3: SWAP1
00000ed4: DUP2
00000ed5: DUP2
00000ed6: MSTORE
00000ed7: PUSH1 0x20
00000ed9: ADD
00000eda: DUP3
00000edb: DUP1
00000edc: SLOAD
00000edd: PUSH2 0x0ee5
00000ee0: SWAP1
00000ee1: PUSH2 0x4497
00000ee4: JUMP
00000ee5: JUMPDEST
00000ee6: DUP1
00000ee7: ISZERO
00000ee8: PUSH2 0x0f30
00000eeb: JUMPI
00000eec: DUP1
00000eed: PUSH1 0x1f
00000eef: LT
00000ef0: PUSH2 0x0f07
00000ef3: JUMPI
00000ef4: PUSH2 0x0100
00000ef7: DUP1
00000ef8: DUP4
00000ef9: SLOAD
00000efa: DIV
00000efb: MUL
00000efc: DUP4
00000efd: MSTORE
00000efe: SWAP2
00000eff: PUSH1 0x20
00000f01: ADD
00000f02: SWAP2
00000f03: PUSH2 0x0f30
00000f06: JUMP
00000f07: JUMPDEST
00000f08: DUP3
00000f09: ADD
00000f0a: SWAP2
00000f0b: SWAP1
00000f0c: PUSH0
00000f0d: MSTORE
00000f0e: PUSH1 0x20
00000f10: PUSH0
00000f11: KECCAK256
00000f12: SWAP1
00000f13: JUMPDEST
00000f14: DUP2
00000f15: SLOAD
00000f16: DUP2
00000f17: MSTORE
00000f18: SWAP1
00000f19: PUSH1 0x01
00000f1b: ADD
00000f1c: SWAP1
00000f1d: PUSH1 0x20
00000f1f: ADD
00000f20: DUP1
00000f21: DUP4
00000f22: GT
00000f23: PUSH2 0x0f13
00000f26: JUMPI
00000f27: DUP3
00000f28: SWAP1
00000f29: SUB
00000f2a: PUSH1 0x1f
00000f2c: AND
00000f2d: DUP3
00000f2e: ADD
00000f2f: SWAP2
00000f30: JUMPDEST
00000f31: POP
00000f32: POP
00000f33: POP
00000f34: POP
00000f35: POP
00000f36: SWAP1
00000f37: POP
00000f38: SWAP1
00000f39: JUMP
00000f3a: JUMPDEST
00000f3b: PUSH0
00000f3c: PUSH1 0x06
00000f3e: PUSH2 0x0f79
00000f41: DUP4
00000f42: PUSH2 0x0f49
00000f45: PUSH2 0x2bc7
00000f48: JUMP
00000f49: JUMPDEST
00000f4a: PUSH2 0x0f54
00000f4d: SWAP1
00000f4e: PUSH1 0x01
00000f50: PUSH2 0x44dd
00000f53: JUMP
00000f54: JUMPDEST
00000f55: PUSH2 0x0f5f
00000f58: DUP5
00000f59: PUSH1 0x0a
00000f5b: PUSH2 0x45d0
00000f5e: JUMP
00000f5f: JUMPDEST
00000f60: PUSH9 0x05345cdf77eb68f44c
00000f6a: SLOAD
00000f6b: PUSH2 0x0f74
00000f6e: SWAP2
00000f6f: SWAP1
00000f70: PUSH2 0x44dd
00000f73: JUMP
00000f74: JUMPDEST
00000f75: PUSH2 0x2cb9
00000f78: JUMP
00000f79: JUMPDEST
00000f7a: SWAP4
00000f7b: SWAP3
00000f7c: POP
00000f7d: POP
00000f7e: POP
00000f7f: JUMP
00000f80: JUMPDEST
00000f81: PUSH0
00000f82: DUP3
00000f83: PUSH1 0x20
00000f85: MSTORE
00000f86: PUSH4 0x7f5e9f20
00000f8b: PUSH1 0x0c
00000f8d: MSTORE
00000f8e: CALLER
00000f8f: PUSH0
00000f90: MSTORE
00000f91: DUP2
00000f92: PUSH1 0x34
00000f94: PUSH1 0x0c
00000f96: KECCAK256
00000f97: SSTORE
00000f98: DUP2
00000f99: PUSH0
00000f9a: MSTORE
00000f9b: PUSH1 0x2c
00000f9d: MLOAD
00000f9e: PUSH1 0x60
00000fa0: SHR
00000fa1: CALLER
00000fa2: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925
00000fc3: PUSH1 0x20
00000fc5: PUSH0
00000fc6: LOG3
00000fc7: POP
00000fc8: PUSH1 0x01
00000fca: JUMPDEST
00000fcb: SWAP3
00000fcc: SWAP2
00000fcd: POP
00000fce: POP
00000fcf: JUMP
00000fd0: JUMPDEST
00000fd1: PUSH0
00000fd2: DUP2
00000fd3: PUSH0
00000fd4: SUB
00000fd5: PUSH2 0x0fdf
00000fd8: JUMPI
00000fd9: POP
00000fda: PUSH0
00000fdb: SWAP2
00000fdc: SWAP1
00000fdd: POP
00000fde: JUMP
00000fdf: JUMPDEST
00000fe0: PUSH0
00000fe1: NOT
00000fe2: DUP3
00000fe3: SUB
00000fe4: PUSH2 0x1005
00000fe7: JUMPI
00000fe8: PUSH4 0x87a211a2
00000fed: PUSH1 0x0c
00000fef: SWAP1
00000ff0: DUP2
00000ff1: MSTORE
00000ff2: CALLER
00000ff3: PUSH0
00000ff4: MSTORE
00000ff5: PUSH1 0x20
00000ff7: SWAP1
00000ff8: KECCAK256
00000ff9: SLOAD
00000ffa: PUSH2 0x1002
00000ffd: SWAP1
00000ffe: PUSH2 0x0f3a
00001001: JUMP
00001002: JUMPDEST
00001003: SWAP2
00001004: POP
00001005: JUMPDEST
00001006: PUSH0
00001007: PUSH2 0x100e
0000100a: PUSH2 0x2bc7
0000100d: JUMP
0000100e: JUMPDEST
0000100f: PUSH1 0x04
00001011: SLOAD
00001012: SWAP1
00001013: SWAP2
00001014: POP
00001015: PUSH1 0x06
00001017: PUSH2 0x1048
0000101a: DUP6
0000101b: PUSH2 0x1025
0000101e: DUP4
0000101f: PUSH1 0x0a
00001021: PUSH2 0x45d0
00001024: JUMP
00001025: JUMPDEST
00001026: PUSH9 0x05345cdf77eb68f44c
00001030: SLOAD
00001031: PUSH2 0x103a
00001034: SWAP2
00001035: SWAP1
00001036: PUSH2 0x44dd
00001039: JUMP
0000103a: JUMPDEST
0000103b: PUSH1 0x01
0000103d: DUP7
0000103e: ADD
0000103f: PUSH2 0x2d55
00001042: JUMP
00001043: JUMPDEST
00001044: PUSH2 0x2d55
00001047: JUMP
00001048: JUMPDEST
00001049: SWAP4
0000104a: POP
0000104b: DUP2
0000104c: DUP6
0000104d: GT
0000104e: ISZERO
0000104f: PUSH2 0x1208
00001052: JUMPI
00001053: PUSH0
00001054: DUP1
00001055: JUMPDEST
00001056: PUSH1 0x14
00001058: DUP2
00001059: LT
0000105a: ISZERO
0000105b: PUSH2 0x11cc
0000105e: JUMPI
0000105f: PUSH0
00001060: PUSH1 0x09
00001062: DUP3
00001063: PUSH1 0x14
00001065: DUP2
00001066: LT
00001067: PUSH2 0x1072
0000106a: JUMPI
0000106b: PUSH2 0x1072
0000106e: PUSH2 0x45db
00001071: JUMP
00001072: JUMPDEST
00001073: ADD
00001074: SLOAD
00001075: PUSH1 0x01
00001077: PUSH1 0x01
00001079: PUSH1 0xa0
0000107b: SHL
0000107c: SUB
0000107d: AND
0000107e: SWAP1
0000107f: POP
00001080: DUP1
00001081: PUSH2 0x108a
00001084: JUMPI
00001085: POP
00001086: PUSH2 0x11cc
00001089: JUMP
0000108a: JUMPDEST
0000108b: DUP8
0000108c: DUP6
0000108d: LT
0000108e: PUSH2 0x1097
00001091: JUMPI
00001092: POP
00001093: PUSH2 0x11cc
00001096: JUMP
00001097: JUMPDEST
00001098: PUSH0
00001099: PUSH2 0x10a2
0000109c: DUP7
0000109d: DUP11
0000109e: PUSH2 0x45ef
000010a1: JUMP
000010a2: JUMPDEST
000010a3: SWAP1
000010a4: POP
000010a5: PUSH2 0x1113
000010a8: DUP2
000010a9: DUP4
000010aa: PUSH1 0x01
000010ac: PUSH1 0x01
000010ae: PUSH1 0xa0
000010b0: SHL
000010b1: SUB
000010b2: AND
000010b3: PUSH4 0x8f843dd1
000010b8: PUSH1 0x40
000010ba: MLOAD
000010bb: DUP2
000010bc: PUSH4 0xffffffff
000010c1: AND
000010c2: PUSH1 0xe0
000010c4: SHL
000010c5: DUP2
000010c6: MSTORE
000010c7: PUSH1 0x04
000010c9: ADD
000010ca: PUSH1 0x20
000010cc: PUSH1 0x40
000010ce: MLOAD
000010cf: DUP1
000010d0: DUP4
000010d1: SUB
000010d2: DUP2
000010d3: DUP7
000010d4: GAS
000010d5: STATICCALL
000010d6: ISZERO
000010d7: DUP1
000010d8: ISZERO
000010d9: PUSH2 0x10e4
000010dc: JUMPI
000010dd: RETURNDATASIZE
000010de: PUSH0
000010df: DUP1
000010e0: RETURNDATACOPY
000010e1: RETURNDATASIZE
000010e2: PUSH0
000010e3: REVERT
000010e4: JUMPDEST
000010e5: POP
000010e6: POP
000010e7: POP
000010e8: POP
000010e9: PUSH1 0x40
000010eb: MLOAD
000010ec: RETURNDATASIZE
000010ed: PUSH1 0x1f
000010ef: NOT
000010f0: PUSH1 0x1f
000010f2: DUP3
000010f3: ADD
000010f4: AND
000010f5: DUP3
000010f6: ADD
000010f7: DUP1
000010f8: PUSH1 0x40
000010fa: MSTORE
000010fb: POP
000010fc: DUP2
000010fd: ADD
000010fe: SWAP1
000010ff: PUSH2 0x1108
00001102: SWAP2
00001103: SWAP1
00001104: PUSH2 0x4602
00001107: JUMP
00001108: JUMPDEST
00001109: DUP1
0000110a: DUP3
0000110b: XOR
0000110c: SWAP1
0000110d: DUP3
0000110e: GT
0000110f: MUL
00001110: XOR
00001111: SWAP1
00001112: JUMP
00001113: JUMPDEST
00001114: SWAP1
00001115: POP
00001116: DUP1
00001117: PUSH0
00001118: SUB
00001119: PUSH2 0x1126
0000111c: JUMPI
0000111d: POP
0000111e: POP
0000111f: PUSH1 0x01
00001121: ADD
00001122: PUSH2 0x1055
00001125: JUMP
00001126: JUMPDEST
00001127: PUSH1 0x40
00001129: MLOAD
0000112a: PUSH4 0xada6608b
0000112f: PUSH1 0xe0
00001131: SHL
00001132: DUP2
00001133: MSTORE
00001134: PUSH1 0x04
00001136: DUP2
00001137: ADD
00001138: DUP3
00001139: SWAP1
0000113a: MSTORE
0000113b: PUSH0
0000113c: SWAP1
0000113d: PUSH1 0x01
0000113f: PUSH1 0x01
00001141: PUSH1 0xa0
00001143: SHL
00001144: SUB
00001145: DUP5
00001146: AND
00001147: SWAP1
00001148: PUSH4 0xada6608b
0000114d: SWAP1
0000114e: PUSH1 0x24
00001150: ADD
00001151: PUSH1 0x20
00001153: PUSH1 0x40
00001155: MLOAD
00001156: DUP1
00001157: DUP4
00001158: SUB
00001159: DUP2
0000115a: DUP7
0000115b: GAS
0000115c: STATICCALL
0000115d: ISZERO
0000115e: DUP1
0000115f: ISZERO
00001160: PUSH2 0x116b
00001163: JUMPI
00001164: RETURNDATASIZE
00001165: PUSH0
00001166: DUP1
00001167: RETURNDATACOPY
00001168: RETURNDATASIZE
00001169: PUSH0
0000116a: REVERT
0000116b: JUMPDEST
0000116c: POP
0000116d: POP
0000116e: POP
0000116f: POP
00001170: PUSH1 0x40
00001172: MLOAD
00001173: RETURNDATASIZE
00001174: PUSH1 0x1f
00001176: NOT
00001177: PUSH1 0x1f
00001179: DUP3
0000117a: ADD
0000117b: AND
0000117c: DUP3
0000117d: ADD
0000117e: DUP1
0000117f: PUSH1 0x40
00001181: MSTORE
00001182: POP
00001183: DUP2
00001184: ADD
00001185: SWAP1
00001186: PUSH2 0x118f
00001189: SWAP2
0000118a: SWAP1
0000118b: PUSH2 0x4602
0000118e: JUMP
0000118f: JUMPDEST
00001190: SWAP1
00001191: POP
00001192: PUSH0
00001193: PUSH2 0x119c
00001196: DUP4
00001197: DUP4
00001198: PUSH2 0x45ef
0000119b: JUMP
0000119c: JUMPDEST
0000119d: SWAP1
0000119e: POP
0000119f: PUSH2 0x11a8
000011a2: DUP4
000011a3: DUP10
000011a4: PUSH2 0x44dd
000011a7: JUMP
000011a8: JUMPDEST
000011a9: SWAP8
000011aa: POP
000011ab: DUP1
000011ac: ISZERO
000011ad: PUSH2 0x11bd
000011b0: JUMPI
000011b1: PUSH2 0x11ba
000011b4: DUP2
000011b5: DUP8
000011b6: PUSH2 0x44dd
000011b9: JUMP
000011ba: JUMPDEST
000011bb: SWAP6
000011bc: POP
000011bd: JUMPDEST
000011be: DUP5
000011bf: PUSH1 0x01
000011c1: ADD
000011c2: SWAP5
000011c3: POP
000011c4: POP
000011c5: POP
000011c6: POP
000011c7: POP
000011c8: PUSH2 0x1055
000011cb: JUMP
000011cc: JUMPDEST
000011cd: POP
000011ce: PUSH2 0x11fa
000011d1: DUP2
000011d2: PUSH2 0x11dc
000011d5: DUP5
000011d6: PUSH1 0x0a
000011d8: PUSH2 0x45d0
000011db: JUMP
000011dc: JUMPDEST
000011dd: PUSH9 0x05345cdf77eb68f44c
000011e7: SLOAD
000011e8: PUSH2 0x11f1
000011eb: SWAP2
000011ec: SWAP1
000011ed: PUSH2 0x44dd
000011f0: JUMP
000011f1: JUMPDEST
000011f2: PUSH1 0x01
000011f4: DUP8
000011f5: ADD
000011f6: PUSH2 0x2d55
000011f9: JUMP
000011fa: JUMPDEST
000011fb: PUSH2 0x1204
000011fe: SWAP1
000011ff: DUP7
00001200: PUSH2 0x44dd
00001203: JUMP
00001204: JUMPDEST
00001205: SWAP5
00001206: POP
00001207: POP
00001208: JUMPDEST
00001209: DUP5
0000120a: DUP3
0000120b: LT
0000120c: ISZERO
0000120d: PUSH2 0x1235
00001210: JUMPI
00001211: PUSH2 0x1228
00001214: PUSH2 0x121d
00001217: DUP4
00001218: DUP8
00001219: PUSH2 0x45ef
0000121c: JUMP
0000121d: JUMPDEST
0000121e: PUSH2 0x1025
00001221: DUP4
00001222: PUSH1 0x0a
00001224: PUSH2 0x45d0
00001227: JUMP
00001228: JUMPDEST
00001229: PUSH2 0x1232
0000122c: SWAP1
0000122d: DUP6
0000122e: PUSH2 0x44dd
00001231: JUMP
00001232: JUMPDEST
00001233: SWAP4
00001234: POP
00001235: JUMPDEST
00001236: POP
00001237: POP
00001238: POP
00001239: SWAP2
0000123a: SWAP1
0000123b: POP
0000123c: JUMP
0000123d: JUMPDEST
0000123e: PUSH1 0x01
00001240: PUSH2 0x1248
00001243: DUP2
00001244: PUSH2 0x2d81
00001247: JUMP
00001248: JUMPDEST
00001249: PUSH1 0x01
0000124b: SLOAD
0000124c: PUSH1 0xff
0000124e: AND
0000124f: ISZERO
00001250: PUSH2 0x126c
00001253: JUMPI
00001254: PUSH1 0x40
00001256: MLOAD
00001257: PUSH4 0x04aca5db
0000125c: PUSH1 0xe0
0000125e: SHL
0000125f: DUP2
00001260: MSTORE
00001261: PUSH1 0x04
00001263: ADD
00001264: PUSH1 0x40
00001266: MLOAD
00001267: DUP1
00001268: SWAP2
00001269: SUB
0000126a: SWAP1
0000126b: REVERT
0000126c: JUMPDEST
0000126d: PUSH1 0x1c
0000126f: SLOAD
00001270: PUSH0
00001271: SWAP1
00001272: ISZERO
00001273: PUSH2 0x1283
00001276: JUMPI
00001277: PUSH4 0xa3d0cff3
0000127c: PUSH0
0000127d: MSTORE
0000127e: PUSH1 0x04
00001280: PUSH1 0x1c
00001282: REVERT
00001283: JUMPDEST
00001284: DUP7
00001285: PUSH2 0x1295
00001288: JUMPI
00001289: PUSH4 0xf6b2911f
0000128e: PUSH0
0000128f: MSTORE
00001290: PUSH1 0x04
00001292: PUSH1 0x1c
00001294: REVERT
00001295: JUMPDEST
00001296: DUP7
00001297: PUSH0
00001298: MSTORE
00001299: PUSH1 0x08
0000129b: PUSH1 0x20
0000129d: MSTORE
0000129e: PUSH1 0x40
000012a0: PUSH0
000012a1: KECCAK256
000012a2: SWAP1
000012a3: POP
000012a4: DUP1
000012a5: SLOAD
000012a6: PUSH1 0xb0
000012a8: SHL
000012a9: PUSH1 0xd0
000012ab: SHR
000012ac: ISZERO
000012ad: PUSH2 0x12bd
000012b0: JUMPI
000012b1: PUSH4 0xc976754d
000012b6: PUSH0
000012b7: MSTORE
000012b8: PUSH1 0x04
000012ba: PUSH1 0x1c
000012bc: REVERT
000012bd: JUMPDEST
000012be: ADDRESS
000012bf: PUSH1 0x01
000012c1: PUSH1 0x01
000012c3: PUSH1 0xa0
000012c5: SHL
000012c6: SUB
000012c7: AND
000012c8: DUP8
000012c9: PUSH1 0x01
000012cb: PUSH1 0x01
000012cd: PUSH1 0xa0
000012cf: SHL
000012d0: SUB
000012d1: AND
000012d2: PUSH4 0xfbfa77cf
000012d7: PUSH1 0x40
000012d9: MLOAD
000012da: DUP2
000012db: PUSH4 0xffffffff
000012e0: AND
000012e1: PUSH1 0xe0
000012e3: SHL
000012e4: DUP2
000012e5: MSTORE
000012e6: PUSH1 0x04
000012e8: ADD
000012e9: PUSH1 0x20
000012eb: PUSH1 0x40
000012ed: MLOAD
000012ee: DUP1
000012ef: DUP4
000012f0: SUB
000012f1: DUP2
000012f2: PUSH0
000012f3: DUP8
000012f4: GAS
000012f5: CALL
000012f6: ISZERO
000012f7: DUP1
000012f8: ISZERO
000012f9: PUSH2 0x1304
000012fc: JUMPI
000012fd: RETURNDATASIZE
000012fe: PUSH0
000012ff: DUP1
00001300: RETURNDATACOPY
00001301: RETURNDATASIZE
00001302: PUSH0
00001303: REVERT
00001304: JUMPDEST
00001305: POP
00001306: POP
00001307: POP
00001308: POP
00001309: PUSH1 0x40
0000130b: MLOAD
0000130c: RETURNDATASIZE
0000130d: PUSH1 0x1f
0000130f: NOT
00001310: PUSH1 0x1f
00001312: DUP3
00001313: ADD
00001314: AND
00001315: DUP3
00001316: ADD
00001317: DUP1
00001318: PUSH1 0x40
0000131a: MSTORE
0000131b: POP
0000131c: DUP2
0000131d: ADD
0000131e: SWAP1
0000131f: PUSH2 0x1328
00001322: SWAP2
00001323: SWAP1
00001324: PUSH2 0x4619
00001327: JUMP
00001328: JUMPDEST
00001329: PUSH1 0x01
0000132b: PUSH1 0x01
0000132d: PUSH1 0xa0
0000132f: SHL
00001330: SUB
00001331: AND
00001332: EQ
00001333: PUSH2 0x1343
00001336: JUMPI
00001337: PUSH4 0xac4e0773
0000133c: PUSH0
0000133d: MSTORE
0000133e: PUSH1 0x04
00001340: PUSH1 0x1c
00001342: REVERT
00001343: JUMPDEST
00001344: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
00001365: PUSH1 0x01
00001367: PUSH1 0x01
00001369: PUSH1 0xa0
0000136b: SHL
0000136c: SUB
0000136d: AND
0000136e: DUP8
0000136f: PUSH1 0x01
00001371: PUSH1 0x01
00001373: PUSH1 0xa0
00001375: SHL
00001376: SUB
00001377: AND
00001378: PUSH4 0x7158da7c
0000137d: PUSH1 0x40
0000137f: MLOAD
00001380: DUP2
00001381: PUSH4 0xffffffff
00001386: AND
00001387: PUSH1 0xe0
00001389: SHL
0000138a: DUP2
0000138b: MSTORE
0000138c: PUSH1 0x04
0000138e: ADD
0000138f: PUSH1 0x20
00001391: PUSH1 0x40
00001393: MLOAD
00001394: DUP1
00001395: DUP4
00001396: SUB
00001397: DUP2
00001398: PUSH0
00001399: DUP8
0000139a: GAS
0000139b: CALL
0000139c: ISZERO
0000139d: DUP1
0000139e: ISZERO
0000139f: PUSH2 0x13aa
000013a2: JUMPI
000013a3: RETURNDATASIZE
000013a4: PUSH0
000013a5: DUP1
000013a6: RETURNDATACOPY
000013a7: RETURNDATASIZE
000013a8: PUSH0
000013a9: REVERT
000013aa: JUMPDEST
000013ab: POP
000013ac: POP
000013ad: POP
000013ae: POP
000013af: PUSH1 0x40
000013b1: MLOAD
000013b2: RETURNDATASIZE
000013b3: PUSH1 0x1f
000013b5: NOT
000013b6: PUSH1 0x1f
000013b8: DUP3
000013b9: ADD
000013ba: AND
000013bb: DUP3
000013bc: ADD
000013bd: DUP1
000013be: PUSH1 0x40
000013c0: MSTORE
000013c1: POP
000013c2: DUP2
000013c3: ADD
000013c4: SWAP1
000013c5: PUSH2 0x13ce
000013c8: SWAP2
000013c9: SWAP1
000013ca: PUSH2 0x4619
000013cd: JUMP
000013ce: JUMPDEST
000013cf: PUSH1 0x01
000013d1: PUSH1 0x01
000013d3: PUSH1 0xa0
000013d5: SHL
000013d6: SUB
000013d7: AND
000013d8: EQ
000013d9: PUSH2 0x13e9
000013dc: JUMPI
000013dd: PUSH4 0xf083d3f1
000013e2: PUSH0
000013e3: MSTORE
000013e4: PUSH1 0x04
000013e6: PUSH1 0x1c
000013e8: REVERT
000013e9: JUMPDEST
000013ea: PUSH0
000013eb: PUSH1 0x01
000013ed: PUSH1 0x01
000013ef: PUSH1 0xa0
000013f1: SHL
000013f2: SUB
000013f3: AND
000013f4: DUP8
000013f5: PUSH1 0x01
000013f7: PUSH1 0x01
000013f9: PUSH1 0xa0
000013fb: SHL
000013fc: SUB
000013fd: AND
000013fe: PUSH4 0x1fe4a686
00001403: PUSH1 0x40
00001405: MLOAD
00001406: DUP2
00001407: PUSH4 0xffffffff
0000140c: AND
0000140d: PUSH1 0xe0
0000140f: SHL
00001410: DUP2
00001411: MSTORE
00001412: PUSH1 0x04
00001414: ADD
00001415: PUSH1 0x20
00001417: PUSH1 0x40
00001419: MLOAD
0000141a: DUP1
0000141b: DUP4
0000141c: SUB
0000141d: DUP2
0000141e: DUP7
0000141f: GAS
00001420: STATICCALL
00001421: ISZERO
00001422: DUP1
00001423: ISZERO
00001424: PUSH2 0x142f
00001427: JUMPI
00001428: RETURNDATASIZE
00001429: PUSH0
0000142a: DUP1
0000142b: RETURNDATACOPY
0000142c: RETURNDATASIZE
0000142d: PUSH0
0000142e: REVERT
0000142f: JUMPDEST
00001430: POP
00001431: POP
00001432: POP
00001433: POP
00001434: PUSH1 0x40
00001436: MLOAD
00001437: RETURNDATASIZE
00001438: PUSH1 0x1f
0000143a: NOT
0000143b: PUSH1 0x1f
0000143d: DUP3
0000143e: ADD
0000143f: AND
00001440: DUP3
00001441: ADD
00001442: DUP1
00001443: PUSH1 0x40
00001445: MSTORE
00001446: POP
00001447: DUP2
00001448: ADD
00001449: SWAP1
0000144a: PUSH2 0x1453
0000144d: SWAP2
0000144e: SWAP1
0000144f: PUSH2 0x4619
00001452: JUMP
00001453: JUMPDEST
00001454: PUSH1 0x01
00001456: PUSH1 0x01
00001458: PUSH1 0xa0
0000145a: SHL
0000145b: SUB
0000145c: AND
0000145d: SUB
0000145e: PUSH2 0x146e
00001461: JUMPI
00001462: PUSH4 0xeb8bf8b6
00001467: PUSH0
00001468: MSTORE
00001469: PUSH1 0x04
0000146b: PUSH1 0x1c
0000146d: REVERT
0000146e: JUMPDEST
0000146f: PUSH1 0x03
00001471: SLOAD
00001472: DUP7
00001473: DUP2
00001474: ADD
00001475: DUP8
00001476: DUP2
00001477: LT
00001478: ISZERO
00001479: PUSH2 0x1480
0000147c: JUMPI
0000147d: PUSH0
0000147e: DUP1
0000147f: REVERT
00001480: JUMPDEST
00001481: PUSH2 0x2710
00001484: DUP2
00001485: GT
00001486: ISZERO
00001487: PUSH2 0x1497
0000148a: JUMPI
0000148b: PUSH4 0x79facb0d
00001490: PUSH0
00001491: MSTORE
00001492: PUSH1 0x04
00001494: PUSH1 0x1c
00001496: REVERT
00001497: JUMPDEST
00001498: POP
00001499: DUP6
0000149a: DUP6
0000149b: GT
0000149c: ISZERO
0000149d: PUSH2 0x14ad
000014a0: JUMPI
000014a1: PUSH4 0x5f3bd953
000014a6: PUSH0
000014a7: MSTORE
000014a8: PUSH1 0x04
000014aa: PUSH1 0x1c
000014ac: REVERT
000014ad: JUMPDEST
000014ae: PUSH2 0x1388
000014b1: DUP5
000014b2: GT
000014b3: ISZERO
000014b4: PUSH2 0x14c4
000014b7: JUMPI
000014b8: PUSH4 0xf14508d0
000014bd: PUSH0
000014be: MSTORE
000014bf: PUSH1 0x04
000014c1: PUSH1 0x1c
000014c3: REVERT
000014c4: JUMPDEST
000014c5: DUP7
000014c6: PUSH2 0xffff
000014c9: AND
000014ca: DUP5
000014cb: PUSH2 0xffff
000014ce: AND
000014cf: PUSH1 0x10
000014d1: SHL
000014d2: OR
000014d3: TIMESTAMP
000014d4: PUSH6 0xffffffffffff
000014db: AND
000014dc: PUSH1 0x20
000014de: SHL
000014df: OR
000014e0: TIMESTAMP
000014e1: PUSH6 0xffffffffffff
000014e8: AND
000014e9: PUSH1 0x50
000014eb: SHL
000014ec: OR
000014ed: DUP7
000014ee: PUSH1 0x80
000014f0: SHL
000014f1: OR
000014f2: DUP3
000014f3: SSTORE
000014f4: DUP5
000014f5: PUSH1 0x80
000014f7: SHL
000014f8: PUSH1 0x80
000014fa: SHR
000014fb: PUSH1 0x01
000014fd: DUP4
000014fe: ADD
000014ff: SSTORE
00001500: PUSH2 0x150a
00001503: DUP9
00001504: PUSH1 0x04
00001506: PUSH2 0x2da5
00001509: JUMP
0000150a: JUMPDEST
0000150b: DUP1
0000150c: DUP8
0000150d: ADD
0000150e: PUSH1 0x03
00001510: SSTORE
00001511: PUSH1 0x1c
00001513: DUP9
00001514: SWAP1
00001515: SSTORE
00001516: PUSH2 0x151d
00001519: PUSH2 0x2db1
0000151c: JUMP
0000151d: JUMPDEST
0000151e: DUP7
0000151f: PUSH0
00001520: MSTORE
00001521: DUP6
00001522: PUSH1 0x20
00001524: MSTORE
00001525: DUP5
00001526: PUSH1 0x40
00001528: MSTORE
00001529: DUP4
0000152a: PUSH1 0x60
0000152c: MSTORE
0000152d: DUP8
0000152e: PUSH32 0x66277e61c003f7703009ad857a4c4900f9cd3ee44535afe5905f98d53922e0f4
0000154f: PUSH1 0x80
00001551: PUSH0
00001552: LOG2
00001553: POP
00001554: POP
00001555: POP
00001556: POP
00001557: POP
00001558: POP
00001559: POP
0000155a: POP
0000155b: JUMP
0000155c: JUMPDEST
0000155d: PUSH1 0x02
0000155f: PUSH2 0x1567
00001562: DUP2
00001563: PUSH2 0x2d81
00001566: JUMP
00001567: JUMPDEST
00001568: PUSH1 0x01
0000156a: DUP1
0000156b: SLOAD
0000156c: PUSH1 0xff
0000156e: NOT
0000156f: AND
00001570: DUP4
00001571: ISZERO
00001572: ISZERO
00001573: OR
00001574: SWAP1
00001575: SSTORE
00001576: PUSH0
00001577: DUP3
00001578: DUP2
00001579: MSTORE
0000157a: PUSH32 0xa63137c77816d51f856c11ffb11e84757ac9db0ce2569f94edd04c91fe2250a1
0000159b: SWAP1
0000159c: PUSH1 0x20
0000159e: SWAP1
0000159f: LOG1
000015a0: POP
000015a1: POP
000015a2: JUMP
000015a3: JUMPDEST
000015a4: PUSH1 0x01
000015a6: PUSH2 0x15ae
000015a9: DUP2
000015aa: PUSH2 0x2d81
000015ad: JUMP
000015ae: JUMPDEST
000015af: PUSH1 0x01
000015b1: SLOAD
000015b2: PUSH1 0xff
000015b4: AND
000015b5: ISZERO
000015b6: PUSH2 0x15d2
000015b9: JUMPI
000015ba: PUSH1 0x40
000015bc: MLOAD
000015bd: PUSH4 0x04aca5db
000015c2: PUSH1 0xe0
000015c4: SHL
000015c5: DUP2
000015c6: MSTORE
000015c7: PUSH1 0x04
000015c9: ADD
000015ca: PUSH1 0x40
000015cc: MLOAD
000015cd: DUP1
000015ce: SWAP2
000015cf: SUB
000015d0: SWAP1
000015d1: REVERT
000015d2: JUMPDEST
000015d3: PUSH1 0x40
000015d5: DUP1
000015d6: MLOAD
000015d7: PUSH2 0x0280
000015da: DUP2
000015db: ADD
000015dc: SWAP2
000015dd: DUP3
000015de: SWAP1
000015df: MSTORE
000015e0: PUSH0
000015e1: SWAP2
000015e2: PUSH1 0x09
000015e4: SWAP1
000015e5: PUSH1 0x14
000015e7: SWAP1
000015e8: DUP3
000015e9: DUP5
000015ea: JUMPDEST
000015eb: DUP2
000015ec: SLOAD
000015ed: PUSH1 0x01
000015ef: PUSH1 0x01
000015f1: PUSH1 0xa0
000015f3: SHL
000015f4: SUB
000015f5: AND
000015f6: DUP2
000015f7: MSTORE
000015f8: PUSH1 0x01
000015fa: SWAP1
000015fb: SWAP2
000015fc: ADD
000015fd: SWAP1
000015fe: PUSH1 0x20
00001600: ADD
00001601: DUP1
00001602: DUP4
00001603: GT
00001604: PUSH2 0x15ea
00001607: JUMPI
00001608: POP
00001609: POP
0000160a: POP
0000160b: POP
0000160c: POP
0000160d: SWAP1
0000160e: POP
0000160f: PUSH0
00001610: JUMPDEST
00001611: PUSH1 0x14
00001613: DUP2
00001614: LT
00001615: ISZERO
00001616: PUSH2 0x16c1
00001619: JUMPI
0000161a: DUP4
0000161b: PUSH1 0x01
0000161d: PUSH1 0x01
0000161f: PUSH1 0xa0
00001621: SHL
00001622: SUB
00001623: AND
00001624: DUP3
00001625: DUP3
00001626: PUSH1 0x14
00001628: DUP2
00001629: LT
0000162a: PUSH2 0x1635
0000162d: JUMPI
0000162e: PUSH2 0x1635
00001631: PUSH2 0x45db
00001634: JUMP
00001635: JUMPDEST
00001636: PUSH1 0x20
00001638: MUL
00001639: ADD
0000163a: MLOAD
0000163b: PUSH1 0x01
0000163d: PUSH1 0x01
0000163f: PUSH1 0xa0
00001641: SHL
00001642: SUB
00001643: AND
00001644: SUB
00001645: PUSH2 0x16b9
00001648: JUMPI
00001649: PUSH0
0000164a: PUSH1 0x09
0000164c: DUP3
0000164d: PUSH1 0x14
0000164f: DUP2
00001650: LT
00001651: PUSH2 0x165c
00001654: JUMPI
00001655: PUSH2 0x165c
00001658: PUSH2 0x45db
0000165b: JUMP
0000165c: JUMPDEST
0000165d: ADD
0000165e: DUP1
0000165f: SLOAD
00001660: PUSH1 0x01
00001662: PUSH1 0x01
00001664: PUSH1 0xa0
00001666: SHL
00001667: SUB
00001668: NOT
00001669: AND
0000166a: PUSH1 0x01
0000166c: PUSH1 0x01
0000166e: PUSH1 0xa0
00001670: SHL
00001671: SUB
00001672: SWAP3
00001673: SWAP1
00001674: SWAP3
00001675: AND
00001676: SWAP2
00001677: SWAP1
00001678: SWAP2
00001679: OR
0000167a: SWAP1
0000167b: SSTORE
0000167c: PUSH2 0x1686
0000167f: DUP5
00001680: PUSH1 0x04
00001682: PUSH2 0x2e6d
00001685: JUMP
00001686: JUMPDEST
00001687: PUSH2 0x168e
0000168a: PUSH2 0x2db1
0000168d: JUMP
0000168e: JUMPDEST
0000168f: DUP4
00001690: PUSH32 0x09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4
000016b1: PUSH0
000016b2: DUP1
000016b3: LOG2
000016b4: POP
000016b5: POP
000016b6: POP
000016b7: POP
000016b8: JUMP
000016b9: JUMPDEST
000016ba: PUSH1 0x01
000016bc: ADD
000016bd: PUSH2 0x1610
000016c0: JUMP
000016c1: JUMPDEST
000016c2: POP
000016c3: POP
000016c4: JUMPDEST
000016c5: POP
000016c6: POP
000016c7: JUMP
000016c8: JUMPDEST
000016c9: PUSH2 0x16d2
000016cc: CALLER
000016cd: DUP3
000016ce: PUSH2 0x2e6d
000016d1: JUMP
000016d2: JUMPDEST
000016d3: POP
000016d4: JUMP
000016d5: JUMPDEST
000016d6: PUSH2 0x16dd
000016d9: PUSH2 0x2e78
000016dc: JUMP
000016dd: JUMPDEST
000016de: PUSH2 0x16c4
000016e1: DUP3
000016e2: DUP3
000016e3: PUSH2 0x2da5
000016e6: JUMP
000016e7: JUMPDEST
000016e8: PUSH0
000016e9: DUP4
000016ea: PUSH1 0x60
000016ec: SHL
000016ed: CALLER
000016ee: PUSH1 0x20
000016f0: MSTORE
000016f1: PUSH4 0x7f5e9f20
000016f6: DUP2
000016f7: OR
000016f8: PUSH1 0x0c
000016fa: MSTORE
000016fb: PUSH1 0x34
000016fd: PUSH1 0x0c
000016ff: KECCAK256
00001700: DUP1
00001701: SLOAD
00001702: PUSH1 0x01
00001704: DUP2
00001705: ADD
00001706: ISZERO
00001707: PUSH2 0x1725
0000170a: JUMPI
0000170b: DUP1
0000170c: DUP6
0000170d: GT
0000170e: ISZERO
0000170f: PUSH2 0x171f
00001712: JUMPI
00001713: PUSH4 0x13be252b
00001718: PUSH0
00001719: MSTORE
0000171a: PUSH1 0x04
0000171c: PUSH1 0x1c
0000171e: REVERT
0000171f: JUMPDEST
00001720: DUP5
00001721: DUP2
00001722: SUB
00001723: DUP3
00001724: SSTORE
00001725: JUMPDEST
00001726: POP
00001727: POP
00001728: PUSH4 0x87a211a2
0000172d: DUP2
0000172e: OR
0000172f: PUSH1 0x0c
00001731: MSTORE
00001732: PUSH1 0x20
00001734: PUSH1 0x0c
00001736: KECCAK256
00001737: DUP1
00001738: SLOAD
00001739: DUP1
0000173a: DUP6
0000173b: GT
0000173c: ISZERO
0000173d: PUSH2 0x174d
00001740: JUMPI
00001741: PUSH4 0xf4d678b8
00001746: PUSH0
00001747: MSTORE
00001748: PUSH1 0x04
0000174a: PUSH1 0x1c
0000174c: REVERT
0000174d: JUMPDEST
0000174e: DUP5
0000174f: DUP2
00001750: SUB
00001751: DUP3
00001752: SSTORE
00001753: POP
00001754: POP
00001755: DUP4
00001756: PUSH0
00001757: MSTORE
00001758: PUSH1 0x20
0000175a: PUSH1 0x0c
0000175c: KECCAK256
0000175d: DUP4
0000175e: DUP2
0000175f: SLOAD
00001760: ADD
00001761: DUP2
00001762: SSTORE
00001763: POP
00001764: DUP3
00001765: PUSH1 0x20
00001767: MSTORE
00001768: PUSH1 0x0c
0000176a: MLOAD
0000176b: PUSH1 0x60
0000176d: SHR
0000176e: DUP2
0000176f: PUSH1 0x60
00001771: SHR
00001772: PUSH0
00001773: DUP1
00001774: MLOAD
00001775: PUSH1 0x20
00001777: PUSH2 0x471d
0000177a: DUP4
0000177b: CODECOPY
0000177c: DUP2
0000177d: MLOAD
0000177e: SWAP2
0000177f: MSTORE
00001780: PUSH1 0x20
00001782: DUP1
00001783: LOG3
00001784: POP
00001785: POP
00001786: PUSH1 0x01
00001788: SWAP4
00001789: SWAP3
0000178a: POP
0000178b: POP
0000178c: POP
0000178d: JUMP
0000178e: JUMPDEST
0000178f: PUSH0
00001790: PUSH3 0x02a300
00001794: PUSH8 0xffffffffffffffff
0000179d: AND
0000179e: TIMESTAMP
0000179f: ADD
000017a0: SWAP1
000017a1: POP
000017a2: PUSH4 0x389a75e1
000017a7: PUSH1 0x0c
000017a9: MSTORE
000017aa: CALLER
000017ab: PUSH0
000017ac: MSTORE
000017ad: DUP1
000017ae: PUSH1 0x20
000017b0: PUSH1 0x0c
000017b2: KECCAK256
000017b3: SSTORE
000017b4: CALLER
000017b5: PUSH32 0xdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d
000017d6: PUSH0
000017d7: DUP1
000017d8: LOG2
000017d9: POP
000017da: JUMP
000017db: JUMPDEST
000017dc: PUSH0
000017dd: PUSH2 0x0ea5
000017e0: PUSH1 0x06
000017e2: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000006
00001803: PUSH2 0x4634
00001806: JUMP
00001807: JUMPDEST
00001808: PUSH0
00001809: DUP1
0000180a: PUSH2 0x1811
0000180d: PUSH2 0x0eaa
00001810: JUMP
00001811: JUMPDEST
00001812: DUP1
00001813: MLOAD
00001814: SWAP1
00001815: PUSH1 0x20
00001817: ADD
00001818: KECCAK256
00001819: SWAP1
0000181a: POP
0000181b: PUSH1 0x40
0000181d: MLOAD
0000181e: PUSH32 0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f
0000183f: DUP2
00001840: MSTORE
00001841: DUP2
00001842: PUSH1 0x20
00001844: DUP3
00001845: ADD
00001846: MSTORE
00001847: PUSH32 0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6
00001868: PUSH1 0x40
0000186a: DUP3
0000186b: ADD
0000186c: MSTORE
0000186d: CHAINID
0000186e: PUSH1 0x60
00001870: DUP3
00001871: ADD
00001872: MSTORE
00001873: ADDRESS
00001874: PUSH1 0x80
00001876: DUP3
00001877: ADD
00001878: MSTORE
00001879: PUSH1 0xa0
0000187b: DUP2
0000187c: KECCAK256
0000187d: SWAP3
0000187e: POP
0000187f: POP
00001880: POP
00001881: SWAP1
00001882: JUMP
00001883: JUMPDEST
00001884: PUSH0
00001885: PUSH2 0x0fca
00001888: PUSH1 0x02
0000188a: SLOAD
0000188b: PUSH2 0x1892
0000188e: PUSH2 0x0e9c
00001891: JUMP
00001892: JUMPDEST
00001893: PUSH2 0x2e92
00001896: JUMP
00001897: JUMPDEST
00001898: PUSH2 0x189f
0000189b: PUSH2 0x2e78
0000189e: JUMP
0000189f: JUMPDEST
000018a0: PUSH2 0x16c4
000018a3: DUP3
000018a4: DUP3
000018a5: PUSH2 0x2e6d
000018a8: JUMP
000018a9: JUMPDEST
000018aa: PUSH0
000018ab: DUP2
000018ac: PUSH0
000018ad: SUB
000018ae: PUSH2 0x18b8
000018b1: JUMPI
000018b2: POP
000018b3: PUSH0
000018b4: SWAP2
000018b5: SWAP1
000018b6: POP
000018b7: JUMP
000018b8: JUMPDEST
000018b9: PUSH0
000018ba: NOT
000018bb: DUP3
000018bc: SUB
000018bd: PUSH2 0x18d5
000018c0: JUMPI
000018c1: PUSH4 0x87a211a2
000018c6: PUSH1 0x0c
000018c8: SWAP1
000018c9: DUP2
000018ca: MSTORE
000018cb: CALLER
000018cc: PUSH0
000018cd: MSTORE
000018ce: PUSH1 0x20
000018d0: SWAP1
000018d1: KECCAK256
000018d2: SLOAD
000018d3: SWAP2
000018d4: POP
000018d5: JUMPDEST
000018d6: PUSH2 0x18de
000018d9: DUP3
000018da: PUSH2 0x0f3a
000018dd: JUMP
000018de: JUMPDEST
000018df: PUSH1 0x04
000018e1: SLOAD
000018e2: SWAP1
000018e3: SWAP2
000018e4: POP
000018e5: DUP2
000018e6: DUP2
000018e7: LT
000018e8: PUSH2 0x18f1
000018eb: JUMPI
000018ec: POP
000018ed: SWAP2
000018ee: SWAP1
000018ef: POP
000018f0: JUMP
000018f1: JUMPDEST
000018f2: PUSH0
000018f3: JUMPDEST
000018f4: PUSH1 0x14
000018f6: DUP2
000018f7: LT
000018f8: ISZERO
000018f9: PUSH2 0x1a34
000018fc: JUMPI
000018fd: PUSH0
000018fe: PUSH1 0x09
00001900: DUP3
00001901: PUSH1 0x14
00001903: DUP2
00001904: LT
00001905: PUSH2 0x1910
00001908: JUMPI
00001909: PUSH2 0x1910
0000190c: PUSH2 0x45db
0000190f: JUMP
00001910: JUMPDEST
00001911: ADD
00001912: SLOAD
00001913: PUSH1 0x01
00001915: PUSH1 0x01
00001917: PUSH1 0xa0
00001919: SHL
0000191a: SUB
0000191b: AND
0000191c: SWAP1
0000191d: POP
0000191e: DUP1
0000191f: PUSH2 0x1928
00001922: JUMPI
00001923: POP
00001924: PUSH2 0x1a34
00001927: JUMP
00001928: JUMPDEST
00001929: DUP4
0000192a: DUP4
0000192b: LT
0000192c: PUSH2 0x1935
0000192f: JUMPI
00001930: POP
00001931: PUSH2 0x1a34
00001934: JUMP
00001935: JUMPDEST
00001936: PUSH0
00001937: DUP4
00001938: DUP6
00001939: SUB
0000193a: SWAP1
0000193b: POP
0000193c: PUSH2 0x197b
0000193f: DUP2
00001940: DUP4
00001941: PUSH1 0x01
00001943: PUSH1 0x01
00001945: PUSH1 0xa0
00001947: SHL
00001948: SUB
00001949: AND
0000194a: PUSH4 0xa2b20eec
0000194f: PUSH1 0x40
00001951: MLOAD
00001952: DUP2
00001953: PUSH4 0xffffffff
00001958: AND
00001959: PUSH1 0xe0
0000195b: SHL
0000195c: DUP2
0000195d: MSTORE
0000195e: PUSH1 0x04
00001960: ADD
00001961: PUSH1 0x20
00001963: PUSH1 0x40
00001965: MLOAD
00001966: DUP1
00001967: DUP4
00001968: SUB
00001969: DUP2
0000196a: DUP7
0000196b: GAS
0000196c: STATICCALL
0000196d: ISZERO
0000196e: DUP1
0000196f: ISZERO
00001970: PUSH2 0x10e4
00001973: JUMPI
00001974: RETURNDATASIZE
00001975: PUSH0
00001976: DUP1
00001977: RETURNDATACOPY
00001978: RETURNDATASIZE
00001979: PUSH0
0000197a: REVERT
0000197b: JUMPDEST
0000197c: SWAP1
0000197d: POP
0000197e: DUP1
0000197f: PUSH0
00001980: SUB
00001981: PUSH2 0x198e
00001984: JUMPI
00001985: POP
00001986: POP
00001987: PUSH1 0x01
00001989: ADD
0000198a: PUSH2 0x18f3
0000198d: JUMP
0000198e: JUMPDEST
0000198f: PUSH1 0x40
00001991: MLOAD
00001992: PUSH4 0xb842898f
00001997: PUSH1 0xe0
00001999: SHL
0000199a: DUP2
0000199b: MSTORE
0000199c: PUSH1 0x04
0000199e: DUP2
0000199f: ADD
000019a0: DUP3
000019a1: SWAP1
000019a2: MSTORE
000019a3: PUSH0
000019a4: SWAP1
000019a5: PUSH1 0x01
000019a7: PUSH1 0x01
000019a9: PUSH1 0xa0
000019ab: SHL
000019ac: SUB
000019ad: DUP5
000019ae: AND
000019af: SWAP1
000019b0: PUSH4 0xb842898f
000019b5: SWAP1
000019b6: PUSH1 0x24
000019b8: ADD
000019b9: PUSH1 0x20
000019bb: PUSH1 0x40
000019bd: MLOAD
000019be: DUP1
000019bf: DUP4
000019c0: SUB
000019c1: DUP2
000019c2: DUP7
000019c3: GAS
000019c4: STATICCALL
000019c5: ISZERO
000019c6: DUP1
000019c7: ISZERO
000019c8: PUSH2 0x19d3
000019cb: JUMPI
000019cc: RETURNDATASIZE
000019cd: PUSH0
000019ce: DUP1
000019cf: RETURNDATACOPY
000019d0: RETURNDATASIZE
000019d1: PUSH0
000019d2: REVERT
000019d3: JUMPDEST
000019d4: POP
000019d5: POP
000019d6: POP
000019d7: POP
000019d8: PUSH1 0x40
000019da: MLOAD
000019db: RETURNDATASIZE
000019dc: PUSH1 0x1f
000019de: NOT
000019df: PUSH1 0x1f
000019e1: DUP3
000019e2: ADD
000019e3: AND
000019e4: DUP3
000019e5: ADD
000019e6: DUP1
000019e7: PUSH1 0x40
000019e9: MSTORE
000019ea: POP
000019eb: DUP2
000019ec: ADD
000019ed: SWAP1
000019ee: PUSH2 0x19f7
000019f1: SWAP2
000019f2: SWAP1
000019f3: PUSH2 0x4602
000019f6: JUMP
000019f7: JUMPDEST
000019f8: SWAP1
000019f9: POP
000019fa: PUSH0
000019fb: PUSH2 0x1a04
000019fe: DUP3
000019ff: DUP5
00001a00: PUSH2 0x45ef
00001a03: JUMP
00001a04: JUMPDEST
00001a05: SWAP1
00001a06: POP
00001a07: PUSH2 0x1a10
00001a0a: DUP3
00001a0b: DUP8
00001a0c: PUSH2 0x44dd
00001a0f: JUMP
00001a10: JUMPDEST
00001a11: SWAP6
00001a12: POP
00001a13: DUP1
00001a14: ISZERO
00001a15: PUSH2 0x1a25
00001a18: JUMPI
00001a19: PUSH2 0x1a22
00001a1c: DUP2
00001a1d: DUP9
00001a1e: PUSH2 0x45ef
00001a21: JUMP
00001a22: JUMPDEST
00001a23: SWAP7
00001a24: POP
00001a25: JUMPDEST
00001a26: DUP5
00001a27: PUSH1 0x01
00001a29: ADD
00001a2a: SWAP5
00001a2b: POP
00001a2c: POP
00001a2d: POP
00001a2e: POP
00001a2f: POP
00001a30: PUSH2 0x18f3
00001a33: JUMP
00001a34: JUMPDEST
00001a35: POP
00001a36: JUMPDEST
00001a37: POP
00001a38: SWAP2
00001a39: SWAP1
00001a3a: POP
00001a3b: JUMP
00001a3c: JUMPDEST
00001a3d: PUSH4 0x389a75e1
00001a42: PUSH1 0x0c
00001a44: MSTORE
00001a45: CALLER
00001a46: PUSH0
00001a47: MSTORE
00001a48: PUSH0
00001a49: PUSH1 0x20
00001a4b: PUSH1 0x0c
00001a4d: KECCAK256
00001a4e: SSTORE
00001a4f: CALLER
00001a50: PUSH32 0xfa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92
00001a71: PUSH0
00001a72: DUP1
00001a73: LOG2
00001a74: JUMP
00001a75: JUMPDEST
00001a76: PUSH1 0x01
00001a78: PUSH2 0x1a80
00001a7b: DUP2
00001a7c: PUSH2 0x2d81
00001a7f: JUMP
00001a80: JUMPDEST
00001a81: PUSH1 0x01
00001a83: DUP1
00001a84: SLOAD
00001a85: PUSH2 0xff00
00001a88: NOT
00001a89: AND
00001a8a: PUSH2 0x0100
00001a8d: DUP5
00001a8e: ISZERO
00001a8f: ISZERO
00001a90: MUL
00001a91: OR
00001a92: SWAP1
00001a93: SSTORE
00001a94: PUSH0
00001a95: DUP3
00001a96: DUP2
00001a97: MSTORE
00001a98: PUSH32 0xba59cddbbe4aad399b09d7f484fdd0a4bc54da6a697a48549cbe72d79c66fcb3
00001ab9: SWAP1
00001aba: PUSH1 0x20
00001abc: SWAP1
00001abd: LOG1
00001abe: POP
00001abf: POP
00001ac0: JUMP
00001ac1: JUMPDEST
00001ac2: PUSH1 0x01
00001ac4: SLOAD
00001ac5: PUSH0
00001ac6: SWAP1
00001ac7: PUSH1 0xff
00001ac9: AND
00001aca: ISZERO
00001acb: PUSH2 0x1ae7
00001ace: JUMPI
00001acf: PUSH1 0x40
00001ad1: MLOAD
00001ad2: PUSH4 0x04aca5db
00001ad7: PUSH1 0xe0
00001ad9: SHL
00001ada: DUP2
00001adb: MSTORE
00001adc: PUSH1 0x04
00001ade: ADD
00001adf: PUSH1 0x40
00001ae1: MLOAD
00001ae2: DUP1
00001ae3: SWAP2
00001ae4: SUB
00001ae5: SWAP1
00001ae6: REVERT
00001ae7: JUMPDEST
00001ae8: PUSH1 0x02
00001aea: PUSH0
00001aeb: SLOAD
00001aec: SUB
00001aed: PUSH2 0x1afd
00001af0: JUMPI
00001af1: PUSH4 0x37ed32e8
00001af6: PUSH0
00001af7: MSTORE
00001af8: PUSH1 0x04
00001afa: PUSH1 0x1c
00001afc: REVERT
00001afd: JUMPDEST
00001afe: PUSH1 0x02
00001b00: PUSH0
00001b01: SSTORE
00001b02: PUSH0
00001b03: PUSH2 0x1b0b
00001b06: CALLER
00001b07: PUSH2 0x1883
00001b0a: JUMP
00001b0b: JUMPDEST
00001b0c: SWAP1
00001b0d: POP
00001b0e: DUP1
00001b0f: DUP5
00001b10: GT
00001b11: ISZERO
00001b12: PUSH2 0x1b22
00001b15: JUMPI
00001b16: PUSH4 0x0c11966b
00001b1b: PUSH0
00001b1c: MSTORE
00001b1d: PUSH1 0x04
00001b1f: PUSH1 0x1c
00001b21: REVERT
00001b22: JUMPDEST
00001b23: PUSH2 0x1b39
00001b26: CALLER
00001b27: DUP5
00001b28: DUP7
00001b29: PUSH2 0x1b31
00001b2c: DUP9
00001b2d: PUSH2 0x2ab4
00001b30: JUMP
00001b31: JUMPDEST
00001b32: SWAP6
00001b33: POP
00001b34: DUP6
00001b35: PUSH2 0x2eac
00001b38: JUMP
00001b39: JUMPDEST
00001b3a: POP
00001b3b: PUSH1 0x01
00001b3d: PUSH0
00001b3e: SSTORE
00001b3f: SWAP3
00001b40: SWAP2
00001b41: POP
00001b42: POP
00001b43: JUMP
00001b44: JUMPDEST
00001b45: PUSH1 0x01
00001b47: PUSH2 0x1b4f
00001b4a: DUP2
00001b4b: PUSH2 0x2d81
00001b4e: JUMP
00001b4f: JUMPDEST
00001b50: PUSH2 0x1388
00001b53: DUP3
00001b54: GT
00001b55: ISZERO
00001b56: PUSH2 0x1b66
00001b59: JUMPI
00001b5a: PUSH4 0xf14508d0
00001b5f: PUSH0
00001b60: MSTORE
00001b61: PUSH1 0x04
00001b63: PUSH1 0x1c
00001b65: REVERT
00001b66: JUMPDEST
00001b67: DUP2
00001b68: PUSH1 0x1d
00001b6a: DUP2
00001b6b: SWAP1
00001b6c: SSTORE
00001b6d: POP
00001b6e: DUP2
00001b6f: PUSH0
00001b70: MSTORE
00001b71: PUSH32 0x0632b4ddf7c06e7e3bc19b7ce92862c7de91b312a392142116fb574a06a47cfd
00001b92: PUSH1 0x20
00001b94: PUSH0
00001b95: LOG1
00001b96: POP
00001b97: POP
00001b98: JUMP
00001b99: JUMPDEST
00001b9a: PUSH2 0x1ba1
00001b9d: PUSH2 0x2e78
00001ba0: JUMP
00001ba1: JUMPDEST
00001ba2: PUSH2 0x1baa
00001ba5: PUSH0
00001ba6: PUSH2 0x300f
00001ba9: JUMP
00001baa: JUMPDEST
00001bab: JUMP
00001bac: JUMPDEST
00001bad: PUSH0
00001bae: PUSH2 0x0ea5
00001bb1: PUSH2 0x304c
00001bb4: JUMP
00001bb5: JUMPDEST
00001bb6: PUSH0
00001bb7: PUSH1 0x04
00001bb9: PUSH2 0x1bc1
00001bbc: DUP2
00001bbd: PUSH2 0x2d81
00001bc0: JUMP
00001bc1: JUMPDEST
00001bc2: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
00001be3: PUSH0
00001be4: PUSH2 0x1bed
00001be7: DUP3
00001be8: CALLER
00001be9: PUSH2 0x3065
00001bec: JUMP
00001bed: JUMPDEST
00001bee: SWAP1
00001bef: POP
00001bf0: DUP6
00001bf1: DUP2
00001bf2: LT
00001bf3: ISZERO
00001bf4: PUSH2 0x1c04
00001bf7: JUMPI
00001bf8: PUSH4 0x746feeec
00001bfd: PUSH0
00001bfe: MSTORE
00001bff: PUSH1 0x04
00001c01: PUSH1 0x1c
00001c03: REVERT
00001c04: JUMPDEST
00001c05: PUSH1 0x01
00001c07: PUSH1 0x01
00001c09: PUSH1 0x80
00001c0b: SHL
00001c0c: SUB
00001c0d: DUP8
00001c0e: AND
00001c0f: ISZERO
00001c10: PUSH2 0x1c26
00001c13: JUMPI
00001c14: PUSH2 0x1c26
00001c17: CALLER
00001c18: DUP9
00001c19: PUSH1 0x01
00001c1b: PUSH1 0x01
00001c1d: PUSH1 0x80
00001c1f: SHL
00001c20: SUB
00001c21: AND
00001c22: PUSH2 0x308f
00001c25: JUMP
00001c26: JUMPDEST
00001c27: PUSH0
00001c28: PUSH2 0x1c3b
00001c2b: CALLER
00001c2c: DUP11
00001c2d: PUSH1 0x01
00001c2f: PUSH1 0x01
00001c31: PUSH1 0x80
00001c33: SHL
00001c34: SUB
00001c35: AND
00001c36: DUP9
00001c37: PUSH2 0x3176
00001c3a: JUMP
00001c3b: JUMPDEST
00001c3c: CALLER
00001c3d: PUSH0
00001c3e: SWAP1
00001c3f: DUP2
00001c40: MSTORE
00001c41: PUSH1 0x08
00001c43: PUSH1 0x20
00001c45: MSTORE
00001c46: PUSH1 0x40
00001c48: SWAP1
00001c49: KECCAK256
00001c4a: PUSH1 0x01
00001c4c: ADD
00001c4d: DUP1
00001c4e: SLOAD
00001c4f: SWAP2
00001c50: SWAP3
00001c51: POP
00001c52: DUP11
00001c53: SWAP2
00001c54: PUSH1 0x10
00001c56: SWAP1
00001c57: PUSH2 0x1c71
00001c5a: SWAP1
00001c5b: DUP5
00001c5c: SWAP1
00001c5d: PUSH1 0x01
00001c5f: PUSH1 0x80
00001c61: SHL
00001c62: SWAP1
00001c63: DIV
00001c64: PUSH1 0x01
00001c66: PUSH1 0x01
00001c68: PUSH1 0x80
00001c6a: SHL
00001c6b: SUB
00001c6c: AND
00001c6d: PUSH2 0x464d
00001c70: JUMP
00001c71: JUMPDEST
00001c72: SWAP3
00001c73: POP
00001c74: PUSH2 0x0100
00001c77: EXP
00001c78: DUP2
00001c79: SLOAD
00001c7a: DUP2
00001c7b: PUSH1 0x01
00001c7d: PUSH1 0x01
00001c7f: PUSH1 0x80
00001c81: SHL
00001c82: SUB
00001c83: MUL
00001c84: NOT
00001c85: AND
00001c86: SWAP1
00001c87: DUP4
00001c88: PUSH1 0x01
00001c8a: PUSH1 0x01
00001c8c: PUSH1 0x80
00001c8e: SHL
00001c8f: SUB
00001c90: AND
00001c91: MUL
00001c92: OR
00001c93: SWAP1
00001c94: SSTORE
00001c95: POP
00001c96: PUSH0
00001c97: PUSH2 0x1c9f
00001c9a: CALLER
00001c9b: PUSH2 0x33ad
00001c9e: JUMP
00001c9f: JUMPDEST
00001ca0: CALLER
00001ca1: PUSH0
00001ca2: SWAP1
00001ca3: DUP2
00001ca4: MSTORE
00001ca5: PUSH1 0x08
00001ca7: PUSH1 0x20
00001ca9: MSTORE
00001caa: PUSH1 0x40
00001cac: SWAP1
00001cad: KECCAK256
00001cae: PUSH1 0x02
00001cb0: ADD
00001cb1: SLOAD
00001cb2: PUSH1 0x01
00001cb4: PUSH1 0x01
00001cb6: PUSH1 0x80
00001cb8: SHL
00001cb9: SUB
00001cba: SWAP10
00001cbb: DUP11
00001cbc: AND
00001cbd: SWAP1
00001cbe: DUP11
00001cbf: AND
00001cc0: DUP2
00001cc1: DUP2
00001cc2: XOR
00001cc3: DUP2
00001cc4: DUP4
00001cc5: GT
00001cc6: MUL
00001cc7: DUP3
00001cc8: XOR
00001cc9: SWAP11
00001cca: SWAP3
00001ccb: SWAP4
00001ccc: POP
00001ccd: SWAP2
00001cce: DUP11
00001ccf: AND
00001cd0: ISZERO
00001cd1: PUSH2 0x1d58
00001cd4: JUMPI
00001cd5: CALLER
00001cd6: PUSH0
00001cd7: SWAP1
00001cd8: DUP2
00001cd9: MSTORE
00001cda: PUSH1 0x08
00001cdc: PUSH1 0x20
00001cde: MSTORE
00001cdf: PUSH1 0x40
00001ce1: DUP2
00001ce2: KECCAK256
00001ce3: PUSH1 0x02
00001ce5: ADD
00001ce6: DUP1
00001ce7: SLOAD
00001ce8: DUP13
00001ce9: SWAP3
00001cea: SWAP1
00001ceb: PUSH2 0x1cfe
00001cee: SWAP1
00001cef: DUP5
00001cf0: SWAP1
00001cf1: PUSH1 0x01
00001cf3: PUSH1 0x01
00001cf5: PUSH1 0x80
00001cf7: SHL
00001cf8: SUB
00001cf9: AND
00001cfa: PUSH2 0x4674
00001cfd: JUMP
00001cfe: JUMPDEST
00001cff: SWAP3
00001d00: POP
00001d01: PUSH2 0x0100
00001d04: EXP
00001d05: DUP2
00001d06: SLOAD
00001d07: DUP2
00001d08: PUSH1 0x01
00001d0a: PUSH1 0x01
00001d0c: PUSH1 0x80
00001d0e: SHL
00001d0f: SUB
00001d10: MUL
00001d11: NOT
00001d12: AND
00001d13: SWAP1
00001d14: DUP4
00001d15: PUSH1 0x01
00001d17: PUSH1 0x01
00001d19: PUSH1 0x80
00001d1b: SHL
00001d1c: SUB
00001d1d: AND
00001d1e: MUL
00001d1f: OR
00001d20: SWAP1
00001d21: SSTORE
00001d22: POP
00001d23: DUP10
00001d24: PUSH1 0x01
00001d26: PUSH1 0x01
00001d28: PUSH1 0x80
00001d2a: SHL
00001d2b: SUB
00001d2c: AND
00001d2d: PUSH1 0x05
00001d2f: PUSH0
00001d30: DUP3
00001d31: DUP3
00001d32: SLOAD
00001d33: PUSH2 0x1d3c
00001d36: SWAP2
00001d37: SWAP1
00001d38: PUSH2 0x45ef
00001d3b: JUMP
00001d3c: JUMPDEST
00001d3d: SWAP1
00001d3e: SWAP2
00001d3f: SSTORE
00001d40: POP
00001d41: PUSH2 0x1d55
00001d44: SWAP1
00001d45: POP
00001d46: PUSH1 0x01
00001d48: PUSH1 0x01
00001d4a: PUSH1 0x80
00001d4c: SHL
00001d4d: SUB
00001d4e: DUP12
00001d4f: AND
00001d50: DUP4
00001d51: PUSH2 0x45ef
00001d54: JUMP
00001d55: JUMPDEST
00001d56: SWAP2
00001d57: POP
00001d58: JUMPDEST
00001d59: DUP3
00001d5a: ISZERO
00001d5b: PUSH2 0x1dc3
00001d5e: JUMPI
00001d5f: CALLER
00001d60: PUSH0
00001d61: SWAP1
00001d62: DUP2
00001d63: MSTORE
00001d64: PUSH1 0x08
00001d66: PUSH1 0x20
00001d68: MSTORE
00001d69: PUSH1 0x40
00001d6b: DUP2
00001d6c: KECCAK256
00001d6d: PUSH1 0x02
00001d6f: ADD
00001d70: DUP1
00001d71: SLOAD
00001d72: DUP6
00001d73: SWAP3
00001d74: SWAP1
00001d75: PUSH2 0x1d88
00001d78: SWAP1
00001d79: DUP5
00001d7a: SWAP1
00001d7b: PUSH1 0x01
00001d7d: PUSH1 0x01
00001d7f: PUSH1 0x80
00001d81: SHL
00001d82: SUB
00001d83: AND
00001d84: PUSH2 0x464d
00001d87: JUMP
00001d88: JUMPDEST
00001d89: SWAP3
00001d8a: POP
00001d8b: PUSH2 0x0100
00001d8e: EXP
00001d8f: DUP2
00001d90: SLOAD
00001d91: DUP2
00001d92: PUSH1 0x01
00001d94: PUSH1 0x01
00001d96: PUSH1 0x80
00001d98: SHL
00001d99: SUB
00001d9a: MUL
00001d9b: NOT
00001d9c: AND
00001d9d: SWAP1
00001d9e: DUP4
00001d9f: PUSH1 0x01
00001da1: PUSH1 0x01
00001da3: PUSH1 0x80
00001da5: SHL
00001da6: SUB
00001da7: AND
00001da8: MUL
00001da9: OR
00001daa: SWAP1
00001dab: SSTORE
00001dac: POP
00001dad: DUP3
00001dae: PUSH1 0x05
00001db0: PUSH0
00001db1: DUP3
00001db2: DUP3
00001db3: SLOAD
00001db4: PUSH2 0x1dbd
00001db7: SWAP2
00001db8: SWAP1
00001db9: PUSH2 0x44dd
00001dbc: JUMP
00001dbd: JUMPDEST
00001dbe: SWAP1
00001dbf: SWAP2
00001dc0: SSTORE
00001dc1: POP
00001dc2: POP
00001dc3: JUMPDEST
00001dc4: DUP1
00001dc5: DUP4
00001dc6: GT
00001dc7: ISZERO
00001dc8: PUSH2 0x1deb
00001dcb: JUMPI
00001dcc: PUSH1 0x04
00001dce: DUP1
00001dcf: SLOAD
00001dd0: DUP3
00001dd1: DUP6
00001dd2: SUB
00001dd3: SWAP1
00001dd4: DUP2
00001dd5: SWAP1
00001dd6: SUB
00001dd7: SWAP1
00001dd8: SWAP2
00001dd9: SSTORE
00001dda: PUSH2 0x1de6
00001ddd: SWAP1
00001dde: DUP8
00001ddf: SWAP1
00001de0: CALLER
00001de1: SWAP1
00001de2: PUSH2 0x34c3
00001de5: JUMP
00001de6: JUMPDEST
00001de7: PUSH2 0x1e3b
00001dea: JUMP
00001deb: JUMPDEST
00001dec: DUP3
00001ded: DUP2
00001dee: GT
00001def: ISZERO
00001df0: PUSH2 0x1e3b
00001df3: JUMPI
00001df4: PUSH1 0x04
00001df6: DUP1
00001df7: SLOAD
00001df8: DUP5
00001df9: DUP4
00001dfa: SUB
00001dfb: SWAP1
00001dfc: DUP2
00001dfd: ADD
00001dfe: SWAP1
00001dff: SWAP2
00001e00: SSTORE
00001e01: PUSH2 0x1e3b
00001e04: SWAP1
00001e05: CALLER
00001e06: SWAP1
00001e07: ADDRESS
00001e08: SWAP1
00001e09: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
00001e2a: JUMPDEST
00001e2b: PUSH1 0x01
00001e2d: PUSH1 0x01
00001e2f: PUSH1 0xa0
00001e31: SHL
00001e32: SUB
00001e33: AND
00001e34: SWAP3
00001e35: SWAP2
00001e36: SWAP1
00001e37: PUSH2 0x3503
00001e3a: JUMP
00001e3b: JUMPDEST
00001e3c: TIMESTAMP
00001e3d: PUSH1 0x08
00001e3f: PUSH0
00001e40: CALLER
00001e41: PUSH1 0x01
00001e43: PUSH1 0x01
00001e45: PUSH1 0xa0
00001e47: SHL
00001e48: SUB
00001e49: AND
00001e4a: PUSH1 0x01
00001e4c: PUSH1 0x01
00001e4e: PUSH1 0xa0
00001e50: SHL
00001e51: SUB
00001e52: AND
00001e53: DUP2
00001e54: MSTORE
00001e55: PUSH1 0x20
00001e57: ADD
00001e58: SWAP1
00001e59: DUP2
00001e5a: MSTORE
00001e5b: PUSH1 0x20
00001e5d: ADD
00001e5e: PUSH0
00001e5f: KECCAK256
00001e60: PUSH0
00001e61: ADD
00001e62: PUSH1 0x0a
00001e64: PUSH2 0x0100
00001e67: EXP
00001e68: DUP2
00001e69: SLOAD
00001e6a: DUP2
00001e6b: PUSH6 0xffffffffffff
00001e72: MUL
00001e73: NOT
00001e74: AND
00001e75: SWAP1
00001e76: DUP4
00001e77: PUSH6 0xffffffffffff
00001e7e: AND
00001e7f: MUL
00001e80: OR
00001e81: SWAP1
00001e82: SSTORE
00001e83: POP
00001e84: TIMESTAMP
00001e85: PUSH1 0x06
00001e87: DUP2
00001e88: SWAP1
00001e89: SSTORE
00001e8a: POP
00001e8b: CALLER
00001e8c: PUSH1 0x01
00001e8e: PUSH1 0x01
00001e90: PUSH1 0xa0
00001e92: SHL
00001e93: SUB
00001e94: AND
00001e95: PUSH32 0xc2d7e1173e37528dce423c72b129fa1ad2c5d51e50974c64fe13f1928eb27f89
00001eb6: DUP14
00001eb7: DUP14
00001eb8: DUP14
00001eb9: PUSH1 0x08
00001ebb: PUSH0
00001ebc: CALLER
00001ebd: PUSH1 0x01
00001ebf: PUSH1 0x01
00001ec1: PUSH1 0xa0
00001ec3: SHL
00001ec4: SUB
00001ec5: AND
00001ec6: PUSH1 0x01
00001ec8: PUSH1 0x01
00001eca: PUSH1 0xa0
00001ecc: SHL
00001ecd: SUB
00001ece: AND
00001ecf: DUP2
00001ed0: MSTORE
00001ed1: PUSH1 0x20
00001ed3: ADD
00001ed4: SWAP1
00001ed5: DUP2
00001ed6: MSTORE
00001ed7: PUSH1 0x20
00001ed9: ADD
00001eda: PUSH0
00001edb: KECCAK256
00001edc: PUSH1 0x01
00001ede: ADD
00001edf: PUSH1 0x10
00001ee1: SWAP1
00001ee2: SLOAD
00001ee3: SWAP1
00001ee4: PUSH2 0x0100
00001ee7: EXP
00001ee8: SWAP1
00001ee9: DIV
00001eea: PUSH1 0x01
00001eec: PUSH1 0x01
00001eee: PUSH1 0x80
00001ef0: SHL
00001ef1: SUB
00001ef2: AND
00001ef3: PUSH1 0x08
00001ef5: PUSH0
00001ef6: CALLER
00001ef7: PUSH1 0x01
00001ef9: PUSH1 0x01
00001efb: PUSH1 0xa0
00001efd: SHL
00001efe: SUB
00001eff: AND
00001f00: PUSH1 0x01
00001f02: PUSH1 0x01
00001f04: PUSH1 0xa0
00001f06: SHL
00001f07: SUB
00001f08: AND
00001f09: DUP2
00001f0a: MSTORE
00001f0b: PUSH1 0x20
00001f0d: ADD
00001f0e: SWAP1
00001f0f: DUP2
00001f10: MSTORE
00001f11: PUSH1 0x20
00001f13: ADD
00001f14: PUSH0
00001f15: KECCAK256
00001f16: PUSH1 0x02
00001f18: ADD
00001f19: PUSH1 0x10
00001f1b: SWAP1
00001f1c: SLOAD
00001f1d: SWAP1
00001f1e: PUSH2 0x0100
00001f21: EXP
00001f22: SWAP1
00001f23: DIV
00001f24: PUSH1 0x01
00001f26: PUSH1 0x01
00001f28: PUSH1 0x80
00001f2a: SHL
00001f2b: SUB
00001f2c: AND
00001f2d: PUSH1 0x08
00001f2f: PUSH0
00001f30: CALLER
00001f31: PUSH1 0x01
00001f33: PUSH1 0x01
00001f35: PUSH1 0xa0
00001f37: SHL
00001f38: SUB
00001f39: AND
00001f3a: PUSH1 0x01
00001f3c: PUSH1 0x01
00001f3e: PUSH1 0xa0
00001f40: SHL
00001f41: SUB
00001f42: AND
00001f43: DUP2
00001f44: MSTORE
00001f45: PUSH1 0x20
00001f47: ADD
00001f48: SWAP1
00001f49: DUP2
00001f4a: MSTORE
00001f4b: PUSH1 0x20
00001f4d: ADD
00001f4e: PUSH0
00001f4f: KECCAK256
00001f50: PUSH1 0x02
00001f52: ADD
00001f53: PUSH0
00001f54: SWAP1
00001f55: SLOAD
00001f56: SWAP1
00001f57: PUSH2 0x0100
00001f5a: EXP
00001f5b: SWAP1
00001f5c: DIV
00001f5d: PUSH1 0x01
00001f5f: PUSH1 0x01
00001f61: PUSH1 0x80
00001f63: SHL
00001f64: SUB
00001f65: AND
00001f66: DUP11
00001f67: PUSH1 0x08
00001f69: PUSH0
00001f6a: CALLER
00001f6b: PUSH1 0x01
00001f6d: PUSH1 0x01
00001f6f: PUSH1 0xa0
00001f71: SHL
00001f72: SUB
00001f73: AND
00001f74: PUSH1 0x01
00001f76: PUSH1 0x01
00001f78: PUSH1 0xa0
00001f7a: SHL
00001f7b: SUB
00001f7c: AND
00001f7d: DUP2
00001f7e: MSTORE
00001f7f: PUSH1 0x20
00001f81: ADD
00001f82: SWAP1
00001f83: DUP2
00001f84: MSTORE
00001f85: PUSH1 0x20
00001f87: ADD
00001f88: PUSH0
00001f89: KECCAK256
00001f8a: PUSH0
00001f8b: ADD
00001f8c: PUSH0
00001f8d: SWAP1
00001f8e: SLOAD
00001f8f: SWAP1
00001f90: PUSH2 0x0100
00001f93: EXP
00001f94: SWAP1
00001f95: DIV
00001f96: PUSH2 0xffff
00001f99: AND
00001f9a: PUSH1 0x40
00001f9c: MLOAD
00001f9d: PUSH2 0x1ff8
00001fa0: SWAP9
00001fa1: SWAP8
00001fa2: SWAP7
00001fa3: SWAP6
00001fa4: SWAP5
00001fa5: SWAP4
00001fa6: SWAP3
00001fa7: SWAP2
00001fa8: SWAP1
00001fa9: PUSH1 0x01
00001fab: PUSH1 0x01
00001fad: PUSH1 0x80
00001faf: SHL
00001fb0: SUB
00001fb1: SWAP9
00001fb2: DUP10
00001fb3: AND
00001fb4: DUP2
00001fb5: MSTORE
00001fb6: SWAP7
00001fb7: DUP9
00001fb8: AND
00001fb9: PUSH1 0x20
00001fbb: DUP9
00001fbc: ADD
00001fbd: MSTORE
00001fbe: SWAP5
00001fbf: DUP8
00001fc0: AND
00001fc1: PUSH1 0x40
00001fc3: DUP8
00001fc4: ADD
00001fc5: MSTORE
00001fc6: SWAP3
00001fc7: DUP7
00001fc8: AND
00001fc9: PUSH1 0x60
00001fcb: DUP7
00001fcc: ADD
00001fcd: MSTORE
00001fce: SWAP1
00001fcf: DUP6
00001fd0: AND
00001fd1: PUSH1 0x80
00001fd3: DUP6
00001fd4: ADD
00001fd5: MSTORE
00001fd6: SWAP1
00001fd7: SWAP4
00001fd8: AND
00001fd9: PUSH1 0xa0
00001fdb: DUP4
00001fdc: ADD
00001fdd: MSTORE
00001fde: PUSH1 0xc0
00001fe0: DUP3
00001fe1: ADD
00001fe2: SWAP3
00001fe3: SWAP1
00001fe4: SWAP3
00001fe5: MSTORE
00001fe6: PUSH2 0xffff
00001fe9: SWAP2
00001fea: SWAP1
00001feb: SWAP2
00001fec: AND
00001fed: PUSH1 0xe0
00001fef: DUP3
00001ff0: ADD
00001ff1: MSTORE
00001ff2: PUSH2 0x0100
00001ff5: ADD
00001ff6: SWAP1
00001ff7: JUMP
00001ff8: JUMPDEST
00001ff9: PUSH1 0x40
00001ffb: MLOAD
00001ffc: DUP1
00001ffd: SWAP2
00001ffe: SUB
00001fff: SWAP1
00002000: LOG2
00002001: CALLER
00002002: PUSH0
00002003: SWAP1
00002004: DUP2
00002005: MSTORE
00002006: PUSH1 0x08
00002008: PUSH1 0x20
0000200a: MSTORE
0000200b: PUSH1 0x40
0000200d: SWAP1
0000200e: KECCAK256
0000200f: SLOAD
00002010: PUSH2 0xffff
00002013: AND
00002014: ISZERO
00002015: DUP1
00002016: PUSH2 0x2021
00002019: JUMPI
0000201a: POP
0000201b: PUSH1 0x01
0000201d: SLOAD
0000201e: PUSH1 0xff
00002020: AND
00002021: JUMPDEST
00002022: ISZERO
00002023: PUSH2 0x2093
00002026: JUMPI
00002027: CALLER
00002028: PUSH1 0x01
0000202a: PUSH1 0x01
0000202c: PUSH1 0xa0
0000202e: SHL
0000202f: SUB
00002030: AND
00002031: PUSH4 0xefbb5cb0
00002036: PUSH1 0x40
00002038: MLOAD
00002039: DUP2
0000203a: PUSH4 0xffffffff
0000203f: AND
00002040: PUSH1 0xe0
00002042: SHL
00002043: DUP2
00002044: MSTORE
00002045: PUSH1 0x04
00002047: ADD
00002048: PUSH1 0x20
0000204a: PUSH1 0x40
0000204c: MLOAD
0000204d: DUP1
0000204e: DUP4
0000204f: SUB
00002050: DUP2
00002051: DUP7
00002052: GAS
00002053: STATICCALL
00002054: ISZERO
00002055: DUP1
00002056: ISZERO
00002057: PUSH2 0x2062
0000205a: JUMPI
0000205b: RETURNDATASIZE
0000205c: PUSH0
0000205d: DUP1
0000205e: RETURNDATACOPY
0000205f: RETURNDATASIZE
00002060: PUSH0
00002061: REVERT
00002062: JUMPDEST
00002063: POP
00002064: POP
00002065: POP
00002066: POP
00002067: PUSH1 0x40
00002069: MLOAD
0000206a: RETURNDATASIZE
0000206b: PUSH1 0x1f
0000206d: NOT
0000206e: PUSH1 0x1f
00002070: DUP3
00002071: ADD
00002072: AND
00002073: DUP3
00002074: ADD
00002075: DUP1
00002076: PUSH1 0x40
00002078: MSTORE
00002079: POP
0000207a: DUP2
0000207b: ADD
0000207c: SWAP1
0000207d: PUSH2 0x2086
00002080: SWAP2
00002081: SWAP1
00002082: PUSH2 0x4602
00002085: JUMP
00002086: JUMPDEST
00002087: SWAP8
00002088: POP
00002089: POP
0000208a: POP
0000208b: POP
0000208c: POP
0000208d: POP
0000208e: POP
0000208f: PUSH2 0x20a5
00002092: JUMP
00002093: JUMPDEST
00002094: PUSH2 0x209c
00002097: CALLER
00002098: PUSH2 0x3552
0000209b: JUMP
0000209c: JUMPDEST
0000209d: SWAP8
0000209e: POP
0000209f: POP
000020a0: POP
000020a1: POP
000020a2: POP
000020a3: POP
000020a4: POP
000020a5: JUMPDEST
000020a6: POP
000020a7: SWAP5
000020a8: SWAP4
000020a9: POP
000020aa: POP
000020ab: POP
000020ac: POP
000020ad: JUMP
000020ae: JUMPDEST
000020af: PUSH0
000020b0: PUSH2 0x0ea5
000020b3: PUSH2 0x20ba
000020b6: PUSH2 0x17db
000020b9: JUMP
000020ba: JUMPDEST
000020bb: PUSH2 0x04c9
000020be: SWAP1
000020bf: PUSH1 0x0a
000020c1: PUSH2 0x4694
000020c4: JUMP
000020c5: JUMPDEST
000020c6: PUSH1 0x01
000020c8: PUSH2 0x20d0
000020cb: DUP2
000020cc: PUSH2 0x2d81
000020cf: JUMP
000020d0: JUMPDEST
000020d1: PUSH0
000020d2: DUP1
000020d3: JUMPDEST
000020d4: PUSH1 0x14
000020d6: DUP2
000020d7: LT
000020d8: ISZERO
000020d9: PUSH2 0x2134
000020dc: JUMPI
000020dd: PUSH1 0x20
000020df: DUP2
000020e0: MUL
000020e1: PUSH1 0x04
000020e3: ADD
000020e4: CALLDATALOAD
000020e5: PUSH0
000020e6: DUP3
000020e7: GT
000020e8: DUP4
000020e9: ISZERO
000020ea: AND
000020eb: PUSH0
000020ec: DUP3
000020ed: GT
000020ee: AND
000020ef: ISZERO
000020f0: PUSH2 0x2100
000020f3: JUMPI
000020f4: PUSH4 0xefb91db4
000020f9: PUSH0
000020fa: MSTORE
000020fb: PUSH1 0x04
000020fd: PUSH1 0x1c
000020ff: REVERT
00002100: JUMPDEST
00002101: DUP1
00002102: PUSH0
00002103: MSTORE
00002104: PUSH1 0x08
00002106: PUSH1 0x20
00002108: MSTORE
00002109: PUSH0
0000210a: DUP2
0000210b: GT
0000210c: PUSH1 0x40
0000210e: PUSH0
0000210f: KECCAK256
00002110: SLOAD
00002111: PUSH1 0xb0
00002113: SHL
00002114: PUSH1 0xd0
00002116: SHR
00002117: ISZERO
00002118: AND
00002119: ISZERO
0000211a: PUSH2 0x212a
0000211d: JUMPI
0000211e: PUSH4 0xdc974a98
00002123: PUSH0
00002124: MSTORE
00002125: PUSH1 0x04
00002127: PUSH1 0x1c
00002129: REVERT
0000212a: JUMPDEST
0000212b: SWAP2
0000212c: POP
0000212d: PUSH1 0x01
0000212f: ADD
00002130: PUSH2 0x20d3
00002133: JUMP
00002134: JUMPDEST
00002135: POP
00002136: PUSH2 0x2142
00002139: PUSH1 0x09
0000213b: DUP5
0000213c: PUSH1 0x14
0000213e: PUSH2 0x4134
00002141: JUMP
00002142: JUMPDEST
00002143: POP
00002144: PUSH32 0x92fa0b6a2861480bf8c9977f0f9fe1d95c535ba23cbf234f2716fc765aec3be8
00002165: DUP4
00002166: PUSH1 0x40
00002168: MLOAD
00002169: PUSH2 0x2172
0000216c: SWAP2
0000216d: SWAP1
0000216e: PUSH2 0x46a2
00002171: JUMP
00002172: JUMPDEST
00002173: PUSH1 0x40
00002175: MLOAD
00002176: DUP1
00002177: SWAP2
00002178: SUB
00002179: SWAP1
0000217a: LOG1
0000217b: POP
0000217c: POP
0000217d: POP
0000217e: JUMP
0000217f: JUMPDEST
00002180: PUSH1 0x01
00002182: SLOAD
00002183: PUSH0
00002184: SWAP1
00002185: PUSH1 0xff
00002187: AND
00002188: ISZERO
00002189: PUSH2 0x21a5
0000218c: JUMPI
0000218d: PUSH1 0x40
0000218f: MLOAD
00002190: PUSH4 0x04aca5db
00002195: PUSH1 0xe0
00002197: SHL
00002198: DUP2
00002199: MSTORE
0000219a: PUSH1 0x04
0000219c: ADD
0000219d: PUSH1 0x40
0000219f: MLOAD
000021a0: DUP1
000021a1: SWAP2
000021a2: SUB
000021a3: SWAP1
000021a4: REVERT
000021a5: JUMPDEST
000021a6: PUSH1 0x02
000021a8: PUSH0
000021a9: SLOAD
000021aa: SUB
000021ab: PUSH2 0x21bb
000021ae: JUMPI
000021af: PUSH4 0x37ed32e8
000021b4: PUSH0
000021b5: MSTORE
000021b6: PUSH1 0x04
000021b8: PUSH1 0x1c
000021ba: REVERT
000021bb: JUMPDEST
000021bc: PUSH1 0x02
000021be: PUSH0
000021bf: SSTORE
000021c0: PUSH0
000021c1: PUSH2 0x21c9
000021c4: CALLER
000021c5: PUSH2 0x23fb
000021c8: JUMP
000021c9: JUMPDEST
000021ca: SWAP1
000021cb: POP
000021cc: DUP1
000021cd: DUP5
000021ce: GT
000021cf: ISZERO
000021d0: PUSH2 0x21e0
000021d3: JUMPI
000021d4: PUSH4 0x0c11966b
000021d9: PUSH0
000021da: MSTORE
000021db: PUSH1 0x04
000021dd: PUSH1 0x1c
000021df: REVERT
000021e0: JUMPDEST
000021e1: PUSH2 0x1b39
000021e4: CALLER
000021e5: DUP5
000021e6: PUSH2 0x21ee
000021e9: DUP8
000021ea: PUSH2 0x226a
000021ed: JUMP
000021ee: JUMPDEST
000021ef: SWAP5
000021f0: POP
000021f1: DUP5
000021f2: DUP8
000021f3: PUSH2 0x2eac
000021f6: JUMP
000021f7: JUMPDEST
000021f8: PUSH1 0x60
000021fa: PUSH1 0x20
000021fc: DUP1
000021fd: SLOAD
000021fe: PUSH2 0x0eb9
00002201: SWAP1
00002202: PUSH2 0x4497
00002205: JUMP
00002206: JUMPDEST
00002207: PUSH0
00002208: PUSH4 0x87a211a2
0000220d: PUSH1 0x0c
0000220f: MSTORE
00002210: CALLER
00002211: PUSH0
00002212: MSTORE
00002213: PUSH1 0x20
00002215: PUSH1 0x0c
00002217: KECCAK256
00002218: DUP1
00002219: SLOAD
0000221a: DUP1
0000221b: DUP5
0000221c: GT
0000221d: ISZERO
0000221e: PUSH2 0x222e
00002221: JUMPI
00002222: PUSH4 0xf4d678b8
00002227: PUSH0
00002228: MSTORE
00002229: PUSH1 0x04
0000222b: PUSH1 0x1c
0000222d: REVERT
0000222e: JUMPDEST
0000222f: DUP4
00002230: DUP2
00002231: SUB
00002232: DUP3
00002233: SSTORE
00002234: POP
00002235: POP
00002236: DUP3
00002237: PUSH0
00002238: MSTORE
00002239: PUSH1 0x20
0000223b: PUSH1 0x0c
0000223d: KECCAK256
0000223e: DUP3
0000223f: DUP2
00002240: SLOAD
00002241: ADD
00002242: DUP2
00002243: SSTORE
00002244: POP
00002245: DUP2
00002246: PUSH1 0x20
00002248: MSTORE
00002249: PUSH1 0x0c
0000224b: MLOAD
0000224c: PUSH1 0x60
0000224e: SHR
0000224f: CALLER
00002250: PUSH0
00002251: DUP1
00002252: MLOAD
00002253: PUSH1 0x20
00002255: PUSH2 0x471d
00002258: DUP4
00002259: CODECOPY
0000225a: DUP2
0000225b: MLOAD
0000225c: SWAP2
0000225d: MSTORE
0000225e: PUSH1 0x20
00002260: DUP1
00002261: LOG3
00002262: POP
00002263: PUSH1 0x01
00002265: SWAP3
00002266: SWAP2
00002267: POP
00002268: POP
00002269: JUMP
0000226a: JUMPDEST
0000226b: PUSH0
0000226c: PUSH1 0x06
0000226e: PUSH2 0x0f79
00002271: DUP4
00002272: PUSH2 0x2279
00002275: PUSH2 0x2bc7
00002278: JUMP
00002279: JUMPDEST
0000227a: PUSH2 0x2284
0000227d: SWAP1
0000227e: PUSH1 0x01
00002280: PUSH2 0x44dd
00002283: JUMP
00002284: JUMPDEST
00002285: PUSH2 0x228f
00002288: DUP5
00002289: PUSH1 0x0a
0000228b: PUSH2 0x45d0
0000228e: JUMP
0000228f: JUMPDEST
00002290: PUSH9 0x05345cdf77eb68f44c
0000229a: SLOAD
0000229b: PUSH2 0x1043
0000229e: SWAP2
0000229f: SWAP1
000022a0: PUSH2 0x44dd
000022a3: JUMP
000022a4: JUMPDEST
000022a5: PUSH0
000022a6: PUSH1 0x02
000022a8: PUSH0
000022a9: SLOAD
000022aa: SUB
000022ab: PUSH2 0x22bb
000022ae: JUMPI
000022af: PUSH4 0x37ed32e8
000022b4: PUSH0
000022b5: MSTORE
000022b6: PUSH1 0x04
000022b8: PUSH1 0x1c
000022ba: REVERT
000022bb: JUMPDEST
000022bc: PUSH1 0x02
000022be: PUSH0
000022bf: SSTORE
000022c0: PUSH0
000022c1: NOT
000022c2: DUP5
000022c3: SUB
000022c4: PUSH2 0x22d3
000022c7: JUMPI
000022c8: PUSH2 0x22d0
000022cb: DUP3
000022cc: PUSH2 0x245f
000022cf: JUMP
000022d0: JUMPDEST
000022d1: SWAP4
000022d2: POP
000022d3: JUMPDEST
000022d4: PUSH2 0x22dc
000022d7: DUP3
000022d8: PUSH2 0x245f
000022db: JUMP
000022dc: JUMPDEST
000022dd: DUP5
000022de: GT
000022df: ISZERO
000022e0: PUSH2 0x22f0
000022e3: JUMPI
000022e4: PUSH4 0x936941fc
000022e9: PUSH0
000022ea: MSTORE
000022eb: PUSH1 0x04
000022ed: PUSH1 0x1c
000022ef: REVERT
000022f0: JUMPDEST
000022f1: PUSH2 0x22fc
000022f4: CALLER
000022f5: DUP5
000022f6: DUP5
000022f7: DUP8
000022f8: PUSH2 0x35c5
000022fb: JUMP
000022fc: JUMPDEST
000022fd: PUSH1 0x01
000022ff: PUSH0
00002300: SSTORE
00002301: SWAP5
00002302: SWAP4
00002303: POP
00002304: POP
00002305: POP
00002306: POP
00002307: JUMP
00002308: JUMPDEST
00002309: PUSH0
0000230a: PUSH1 0x02
0000230c: PUSH0
0000230d: SLOAD
0000230e: SUB
0000230f: PUSH2 0x231f
00002312: JUMPI
00002313: PUSH4 0x37ed32e8
00002318: PUSH0
00002319: MSTORE
0000231a: PUSH1 0x04
0000231c: PUSH1 0x1c
0000231e: REVERT
0000231f: JUMPDEST
00002320: PUSH1 0x02
00002322: PUSH0
00002323: SSTORE
00002324: PUSH0
00002325: NOT
00002326: DUP5
00002327: SUB
00002328: PUSH2 0x2337
0000232b: JUMPI
0000232c: PUSH2 0x2334
0000232f: DUP3
00002330: PUSH2 0x260f
00002333: JUMP
00002334: JUMPDEST
00002335: SWAP4
00002336: POP
00002337: JUMPDEST
00002338: PUSH2 0x2340
0000233b: DUP3
0000233c: PUSH2 0x260f
0000233f: JUMP
00002340: JUMPDEST
00002341: DUP5
00002342: GT
00002343: ISZERO
00002344: PUSH2 0x2354
00002347: JUMPI
00002348: PUSH4 0x4656425a
0000234d: PUSH0
0000234e: MSTORE
0000234f: PUSH1 0x04
00002351: PUSH1 0x1c
00002353: REVERT
00002354: JUMPDEST
00002355: PUSH2 0x22fc
00002358: CALLER
00002359: DUP5
0000235a: DUP5
0000235b: DUP8
0000235c: PUSH2 0x397d
0000235f: JUMP
00002360: JUMPDEST
00002361: PUSH1 0x01
00002363: PUSH2 0x236b
00002366: DUP2
00002367: PUSH2 0x2d81
0000236a: JUMP
0000236b: JUMPDEST
0000236c: PUSH1 0x01
0000236e: PUSH1 0x01
00002370: PUSH1 0xa0
00002372: SHL
00002373: SUB
00002374: DUP3
00002375: AND
00002376: PUSH0
00002377: SWAP1
00002378: DUP2
00002379: MSTORE
0000237a: PUSH1 0x08
0000237c: PUSH1 0x20
0000237e: MSTORE
0000237f: PUSH1 0x40
00002381: SWAP1
00002382: KECCAK256
00002383: SLOAD
00002384: PUSH2 0xffff
00002387: AND
00002388: DUP1
00002389: PUSH2 0x2399
0000238c: JUMPI
0000238d: PUSH4 0xe3a1d5ed
00002392: PUSH0
00002393: MSTORE
00002394: PUSH1 0x04
00002396: PUSH1 0x1c
00002398: REVERT
00002399: JUMPDEST
0000239a: PUSH2 0x23a4
0000239d: DUP4
0000239e: PUSH1 0x04
000023a0: PUSH2 0x2e6d
000023a3: JUMP
000023a4: JUMPDEST
000023a5: PUSH2 0x23ae
000023a8: DUP4
000023a9: DUP3
000023aa: PUSH2 0x3d06
000023ad: JUMP
000023ae: JUMPDEST
000023af: POP
000023b0: POP
000023b1: POP
000023b2: JUMP
000023b3: JUMPDEST
000023b4: PUSH1 0x01
000023b6: PUSH2 0x23be
000023b9: DUP2
000023ba: PUSH2 0x2d81
000023bd: JUMP
000023be: JUMPDEST
000023bf: DUP2
000023c0: PUSH1 0x02
000023c2: DUP2
000023c3: SWAP1
000023c4: SSTORE
000023c5: POP
000023c6: DUP2
000023c7: PUSH0
000023c8: MSTORE
000023c9: PUSH32 0xc512617347fd848ec9d7347c99c10e4fa7059132c92d0445930a7fb0c8252ff5
000023ea: PUSH1 0x20
000023ec: PUSH0
000023ed: LOG1
000023ee: POP
000023ef: POP
000023f0: JUMP
000023f1: JUMPDEST
000023f2: PUSH0
000023f3: PUSH2 0x0fca
000023f6: DUP3
000023f7: PUSH2 0x3552
000023fa: JUMP
000023fb: JUMPDEST
000023fc: PUSH0
000023fd: PUSH2 0x0fca
00002400: PUSH2 0x0c2c
00002403: PUSH0
00002404: PUSH2 0x1883
00002407: JUMP
00002408: JUMPDEST
00002409: PUSH0
0000240a: PUSH1 0x06
0000240c: PUSH2 0x0f79
0000240f: DUP4
00002410: PUSH2 0x241a
00002413: DUP4
00002414: PUSH1 0x0a
00002416: PUSH2 0x45d0
00002419: JUMP
0000241a: JUMPDEST
0000241b: PUSH9 0x05345cdf77eb68f44c
00002425: SLOAD
00002426: PUSH2 0x242f
00002429: SWAP2
0000242a: SWAP1
0000242b: PUSH2 0x44dd
0000242e: JUMP
0000242f: JUMPDEST
00002430: PUSH2 0x0f74
00002433: PUSH2 0x243a
00002436: PUSH2 0x2bc7
00002439: JUMP
0000243a: JUMPDEST
0000243b: PUSH1 0x01
0000243d: ADD
0000243e: SWAP1
0000243f: JUMP
00002440: JUMPDEST
00002441: PUSH1 0x09
00002443: DUP2
00002444: PUSH1 0x14
00002446: DUP2
00002447: LT
00002448: PUSH2 0x244f
0000244b: JUMPI
0000244c: PUSH0
0000244d: DUP1
0000244e: REVERT
0000244f: JUMPDEST
00002450: ADD
00002451: SLOAD
00002452: PUSH1 0x01
00002454: PUSH1 0x01
00002456: PUSH1 0xa0
00002458: SHL
00002459: SUB
0000245a: AND
0000245b: SWAP1
0000245c: POP
0000245d: DUP2
0000245e: JUMP
0000245f: JUMPDEST
00002460: PUSH0
00002461: PUSH2 0x0fca
00002464: PUSH1 0x64
00002466: PUSH2 0x246e
00002469: DUP5
0000246a: PUSH2 0x260f
0000246d: JUMP
0000246e: JUMPDEST
0000246f: PUSH2 0x2479
00002472: SWAP1
00002473: PUSH1 0x63
00002475: PUSH2 0x46e6
00002478: JUMP
00002479: JUMPDEST
0000247a: PUSH2 0x0868
0000247d: SWAP2
0000247e: SWAP1
0000247f: PUSH2 0x46fd
00002482: JUMP
00002483: JUMPDEST
00002484: PUSH0
00002485: PUSH2 0x248c
00002488: PUSH2 0x0eaa
0000248b: JUMP
0000248c: JUMPDEST
0000248d: DUP1
0000248e: MLOAD
0000248f: SWAP1
00002490: PUSH1 0x20
00002492: ADD
00002493: KECCAK256
00002494: SWAP1
00002495: POP
00002496: DUP5
00002497: TIMESTAMP
00002498: GT
00002499: ISZERO
0000249a: PUSH2 0x24aa
0000249d: JUMPI
0000249e: PUSH4 0x1a15a3cc
000024a3: PUSH0
000024a4: MSTORE
000024a5: PUSH1 0x04
000024a7: PUSH1 0x1c
000024a9: REVERT
000024aa: JUMPDEST
000024ab: PUSH1 0x40
000024ad: MLOAD
000024ae: DUP9
000024af: PUSH1 0x60
000024b1: SHL
000024b2: PUSH1 0x60
000024b4: SHR
000024b5: SWAP9
000024b6: POP
000024b7: DUP8
000024b8: PUSH1 0x60
000024ba: SHL
000024bb: PUSH1 0x60
000024bd: SHR
000024be: SWAP8
000024bf: POP
000024c0: PUSH6 0x383775081901
000024c7: PUSH1 0x0e
000024c9: MSTORE
000024ca: DUP9
000024cb: PUSH0
000024cc: MSTORE
000024cd: PUSH1 0x20
000024cf: PUSH1 0x0c
000024d1: KECCAK256
000024d2: DUP1
000024d3: SLOAD
000024d4: PUSH32 0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f
000024f5: DUP4
000024f6: MSTORE
000024f7: DUP4
000024f8: PUSH1 0x20
000024fa: DUP5
000024fb: ADD
000024fc: MSTORE
000024fd: PUSH32 0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6
0000251e: PUSH1 0x40
00002520: DUP5
00002521: ADD
00002522: MSTORE
00002523: CHAINID
00002524: PUSH1 0x60
00002526: DUP5
00002527: ADD
00002528: MSTORE
00002529: ADDRESS
0000252a: PUSH1 0x80
0000252c: DUP5
0000252d: ADD
0000252e: MSTORE
0000252f: PUSH1 0xa0
00002531: DUP4
00002532: KECCAK256
00002533: PUSH1 0x2e
00002535: MSTORE
00002536: PUSH32 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9
00002557: DUP4
00002558: MSTORE
00002559: DUP11
0000255a: PUSH1 0x20
0000255c: DUP5
0000255d: ADD
0000255e: MSTORE
0000255f: DUP10
00002560: PUSH1 0x40
00002562: DUP5
00002563: ADD
00002564: MSTORE
00002565: DUP9
00002566: PUSH1 0x60
00002568: DUP5
00002569: ADD
0000256a: MSTORE
0000256b: DUP1
0000256c: PUSH1 0x80
0000256e: DUP5
0000256f: ADD
00002570: MSTORE
00002571: DUP8
00002572: PUSH1 0xa0
00002574: DUP5
00002575: ADD
00002576: MSTORE
00002577: PUSH1 0xc0
00002579: DUP4
0000257a: KECCAK256
0000257b: PUSH1 0x4e
0000257d: MSTORE
0000257e: PUSH1 0x42
00002580: PUSH1 0x2c
00002582: KECCAK256
00002583: PUSH0
00002584: MSTORE
00002585: DUP7
00002586: PUSH1 0xff
00002588: AND
00002589: PUSH1 0x20
0000258b: MSTORE
0000258c: DUP6
0000258d: PUSH1 0x40
0000258f: MSTORE
00002590: DUP5
00002591: PUSH1 0x60
00002593: MSTORE
00002594: PUSH1 0x20
00002596: DUP1
00002597: PUSH1 0x80
00002599: PUSH0
0000259a: PUSH1 0x01
0000259c: GAS
0000259d: STATICCALL
0000259e: DUP12
0000259f: RETURNDATASIZE
000025a0: MLOAD
000025a1: EQ
000025a2: PUSH2 0x25b2
000025a5: JUMPI
000025a6: PUSH4 0xddafbaef
000025ab: PUSH0
000025ac: MSTORE
000025ad: PUSH1 0x04
000025af: PUSH1 0x1c
000025b1: REVERT
000025b2: JUMPDEST
000025b3: ADD
000025b4: SWAP1
000025b5: SSTORE
000025b6: PUSH4 0x03faf4f9
000025bb: PUSH1 0xa5
000025bd: SHL
000025be: DUP9
000025bf: OR
000025c0: PUSH1 0x40
000025c2: MSTORE
000025c3: PUSH1 0x34
000025c5: PUSH1 0x2c
000025c7: KECCAK256
000025c8: DUP8
000025c9: SWAP1
000025ca: SSTORE
000025cb: DUP8
000025cc: DUP10
000025cd: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925
000025ee: PUSH1 0x20
000025f0: PUSH1 0x60
000025f2: DUP6
000025f3: ADD
000025f4: LOG3
000025f5: PUSH1 0x40
000025f7: MSTORE
000025f8: POP
000025f9: POP
000025fa: PUSH0
000025fb: PUSH1 0x60
000025fd: MSTORE
000025fe: POP
000025ff: POP
00002600: POP
00002601: POP
00002602: POP
00002603: POP
00002604: JUMP
00002605: JUMPDEST
00002606: PUSH0
00002607: PUSH2 0x0fca
0000260a: DUP3
0000260b: PUSH2 0x33ad
0000260e: JUMP
0000260f: JUMPDEST
00002610: PUSH4 0x87a211a2
00002615: PUSH1 0x0c
00002617: SWAP1
00002618: DUP2
00002619: MSTORE
0000261a: PUSH0
0000261b: DUP3
0000261c: DUP2
0000261d: MSTORE
0000261e: PUSH1 0x20
00002620: SWAP1
00002621: SWAP2
00002622: KECCAK256
00002623: SLOAD
00002624: PUSH2 0x0fca
00002627: JUMP
00002628: JUMPDEST
00002629: PUSH1 0x01
0000262b: PUSH2 0x2633
0000262e: DUP2
0000262f: PUSH2 0x2d81
00002632: JUMP
00002633: JUMPDEST
00002634: PUSH0
00002635: DUP3
00002636: SWAP1
00002637: POP
00002638: PUSH0
00002639: DUP2
0000263a: PUSH1 0x01
0000263c: PUSH1 0x01
0000263e: PUSH1 0xa0
00002640: SHL
00002641: SUB
00002642: AND
00002643: PUSH4 0xa2b20eec
00002648: PUSH1 0x40
0000264a: MLOAD
0000264b: DUP2
0000264c: PUSH4 0xffffffff
00002651: AND
00002652: PUSH1 0xe0
00002654: SHL
00002655: DUP2
00002656: MSTORE
00002657: PUSH1 0x04
00002659: ADD
0000265a: PUSH1 0x20
0000265c: PUSH1 0x40
0000265e: MLOAD
0000265f: DUP1
00002660: DUP4
00002661: SUB
00002662: DUP2
00002663: DUP7
00002664: GAS
00002665: STATICCALL
00002666: ISZERO
00002667: DUP1
00002668: ISZERO
00002669: PUSH2 0x2674
0000266c: JUMPI
0000266d: RETURNDATASIZE
0000266e: PUSH0
0000266f: DUP1
00002670: RETURNDATACOPY
00002671: RETURNDATASIZE
00002672: PUSH0
00002673: REVERT
00002674: JUMPDEST
00002675: POP
00002676: POP
00002677: POP
00002678: POP
00002679: PUSH1 0x40
0000267b: MLOAD
0000267c: RETURNDATASIZE
0000267d: PUSH1 0x1f
0000267f: NOT
00002680: PUSH1 0x1f
00002682: DUP3
00002683: ADD
00002684: AND
00002685: DUP3
00002686: ADD
00002687: DUP1
00002688: PUSH1 0x40
0000268a: MSTORE
0000268b: POP
0000268c: DUP2
0000268d: ADD
0000268e: SWAP1
0000268f: PUSH2 0x2698
00002692: SWAP2
00002693: SWAP1
00002694: PUSH2 0x4602
00002697: JUMP
00002698: JUMPDEST
00002699: PUSH1 0x40
0000269b: MLOAD
0000269c: PUSH4 0x01057c49
000026a1: PUSH1 0xe6
000026a3: SHL
000026a4: DUP2
000026a5: MSTORE
000026a6: PUSH1 0x04
000026a8: DUP2
000026a9: ADD
000026aa: DUP3
000026ab: SWAP1
000026ac: MSTORE
000026ad: SWAP1
000026ae: SWAP2
000026af: POP
000026b0: PUSH0
000026b1: SWAP1
000026b2: PUSH1 0x01
000026b4: PUSH1 0x01
000026b6: PUSH1 0xa0
000026b8: SHL
000026b9: SUB
000026ba: DUP5
000026bb: AND
000026bc: SWAP1
000026bd: PUSH4 0x415f1240
000026c2: SWAP1
000026c3: PUSH1 0x24
000026c5: ADD
000026c6: PUSH1 0x20
000026c8: PUSH1 0x40
000026ca: MLOAD
000026cb: DUP1
000026cc: DUP4
000026cd: SUB
000026ce: DUP2
000026cf: PUSH0
000026d0: DUP8
000026d1: GAS
000026d2: CALL
000026d3: ISZERO
000026d4: DUP1
000026d5: ISZERO
000026d6: PUSH2 0x26e1
000026d9: JUMPI
000026da: RETURNDATASIZE
000026db: PUSH0
000026dc: DUP1
000026dd: RETURNDATACOPY
000026de: RETURNDATASIZE
000026df: PUSH0
000026e0: REVERT
000026e1: JUMPDEST
000026e2: POP
000026e3: POP
000026e4: POP
000026e5: POP
000026e6: PUSH1 0x40
000026e8: MLOAD
000026e9: RETURNDATASIZE
000026ea: PUSH1 0x1f
000026ec: NOT
000026ed: PUSH1 0x1f
000026ef: DUP3
000026f0: ADD
000026f1: AND
000026f2: DUP3
000026f3: ADD
000026f4: DUP1
000026f5: PUSH1 0x40
000026f7: MSTORE
000026f8: POP
000026f9: DUP2
000026fa: ADD
000026fb: SWAP1
000026fc: PUSH2 0x2705
000026ff: SWAP2
00002700: SWAP1
00002701: PUSH2 0x4602
00002704: JUMP
00002705: JUMPDEST
00002706: SWAP1
00002707: POP
00002708: PUSH0
00002709: PUSH2 0x2712
0000270c: DUP4
0000270d: DUP4
0000270e: PUSH2 0x2e92
00002711: JUMP
00002712: JUMPDEST
00002713: PUSH1 0x01
00002715: PUSH1 0x01
00002717: PUSH1 0xa0
00002719: SHL
0000271a: SUB
0000271b: DUP8
0000271c: AND
0000271d: PUSH0
0000271e: SWAP1
0000271f: DUP2
00002720: MSTORE
00002721: PUSH1 0x08
00002723: PUSH1 0x20
00002725: MSTORE
00002726: PUSH1 0x40
00002728: DUP2
00002729: KECCAK256
0000272a: PUSH1 0x02
0000272c: DUP2
0000272d: ADD
0000272e: SLOAD
0000272f: SWAP1
00002730: SLOAD
00002731: PUSH1 0x04
00002733: DUP1
00002734: SLOAD
00002735: SWAP5
00002736: SWAP6
00002737: POP
00002738: PUSH1 0x01
0000273a: PUSH1 0x01
0000273c: PUSH1 0x80
0000273e: SHL
0000273f: SUB
00002740: SWAP1
00002741: SWAP3
00002742: AND
00002743: SWAP4
00002744: PUSH2 0xffff
00002747: SWAP1
00002748: SWAP2
00002749: AND
0000274a: SWAP3
0000274b: DUP6
0000274c: SWAP3
0000274d: SWAP2
0000274e: PUSH2 0x2758
00002751: SWAP1
00002752: DUP5
00002753: SWAP1
00002754: PUSH2 0x44dd
00002757: JUMP
00002758: JUMPDEST
00002759: SWAP1
0000275a: SWAP2
0000275b: SSTORE
0000275c: POP
0000275d: POP
0000275e: PUSH1 0x05
00002760: DUP1
00002761: SLOAD
00002762: DUP4
00002763: SWAP1
00002764: SUB
00002765: SWAP1
00002766: SSTORE
00002767: PUSH1 0x03
00002769: DUP1
0000276a: SLOAD
0000276b: DUP3
0000276c: SWAP1
0000276d: SUB
0000276e: DUP2
0000276f: SSTORE
00002770: PUSH1 0x01
00002772: PUSH1 0x01
00002774: PUSH1 0xa0
00002776: SHL
00002777: SUB
00002778: DUP10
00002779: AND
0000277a: PUSH0
0000277b: SWAP1
0000277c: DUP2
0000277d: MSTORE
0000277e: PUSH1 0x08
00002780: PUSH1 0x20
00002782: MSTORE
00002783: PUSH1 0x40
00002785: DUP1
00002786: DUP3
00002787: KECCAK256
00002788: SWAP3
00002789: DUP4
0000278a: ADD
0000278b: DUP1
0000278c: SLOAD
0000278d: PUSH1 0xff
0000278f: NOT
00002790: AND
00002791: SWAP1
00002792: SSTORE
00002793: DUP3
00002794: SLOAD
00002795: PUSH1 0x02
00002797: DUP5
00002798: ADD
00002799: DUP1
0000279a: SLOAD
0000279b: PUSH1 0x01
0000279d: PUSH1 0x01
0000279f: PUSH1 0x80
000027a1: SHL
000027a2: SUB
000027a3: NOT
000027a4: AND
000027a5: SWAP1
000027a6: SSTORE
000027a7: PUSH10 0xffffffffffff0000ffff
000027b2: NOT
000027b3: AND
000027b4: SWAP1
000027b5: SWAP3
000027b6: SSTORE
000027b7: DUP2
000027b8: MLOAD
000027b9: PUSH2 0x0280
000027bc: DUP2
000027bd: ADD
000027be: SWAP3
000027bf: DUP4
000027c0: SWAP1
000027c1: MSTORE
000027c2: SWAP1
000027c3: SWAP2
000027c4: PUSH1 0x09
000027c6: SWAP1
000027c7: PUSH1 0x14
000027c9: SWAP1
000027ca: DUP3
000027cb: DUP5
000027cc: JUMPDEST
000027cd: DUP2
000027ce: SLOAD
000027cf: PUSH1 0x01
000027d1: PUSH1 0x01
000027d3: PUSH1 0xa0
000027d5: SHL
000027d6: SUB
000027d7: AND
000027d8: DUP2
000027d9: MSTORE
000027da: PUSH1 0x01
000027dc: SWAP1
000027dd: SWAP2
000027de: ADD
000027df: SWAP1
000027e0: PUSH1 0x20
000027e2: ADD
000027e3: DUP1
000027e4: DUP4
000027e5: GT
000027e6: PUSH2 0x27cc
000027e9: JUMPI
000027ea: POP
000027eb: POP
000027ec: POP
000027ed: POP
000027ee: POP
000027ef: SWAP1
000027f0: POP
000027f1: PUSH0
000027f2: JUMPDEST
000027f3: PUSH1 0x14
000027f5: DUP2
000027f6: LT
000027f7: ISZERO
000027f8: PUSH2 0x28d2
000027fb: JUMPI
000027fc: DUP10
000027fd: PUSH1 0x01
000027ff: PUSH1 0x01
00002801: PUSH1 0xa0
00002803: SHL
00002804: SUB
00002805: AND
00002806: DUP3
00002807: DUP3
00002808: PUSH1 0x14
0000280a: DUP2
0000280b: LT
0000280c: PUSH2 0x2817
0000280f: JUMPI
00002810: PUSH2 0x2817
00002813: PUSH2 0x45db
00002816: JUMP
00002817: JUMPDEST
00002818: PUSH1 0x20
0000281a: MUL
0000281b: ADD
0000281c: MLOAD
0000281d: PUSH1 0x01
0000281f: PUSH1 0x01
00002821: PUSH1 0xa0
00002823: SHL
00002824: SUB
00002825: AND
00002826: SUB
00002827: PUSH2 0x28ca
0000282a: JUMPI
0000282b: PUSH0
0000282c: PUSH1 0x09
0000282e: DUP3
0000282f: PUSH1 0x14
00002831: DUP2
00002832: LT
00002833: PUSH2 0x283e
00002836: JUMPI
00002837: PUSH2 0x283e
0000283a: PUSH2 0x45db
0000283d: JUMP
0000283e: JUMPDEST
0000283f: ADD
00002840: DUP1
00002841: SLOAD
00002842: PUSH1 0x01
00002844: PUSH1 0x01
00002846: PUSH1 0xa0
00002848: SHL
00002849: SUB
0000284a: NOT
0000284b: AND
0000284c: PUSH1 0x01
0000284e: PUSH1 0x01
00002850: PUSH1 0xa0
00002852: SHL
00002853: SUB
00002854: SWAP3
00002855: SWAP1
00002856: SWAP3
00002857: AND
00002858: SWAP2
00002859: SWAP1
0000285a: SWAP2
0000285b: OR
0000285c: SWAP1
0000285d: SSTORE
0000285e: PUSH2 0x2868
00002861: DUP11
00002862: PUSH1 0x04
00002864: PUSH2 0x2e6d
00002867: JUMP
00002868: JUMPDEST
00002869: PUSH2 0x2870
0000286c: PUSH2 0x2db1
0000286f: JUMP
00002870: JUMPDEST
00002871: DUP10
00002872: PUSH32 0x09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4
00002893: PUSH0
00002894: DUP1
00002895: LOG2
00002896: DUP5
00002897: PUSH0
00002898: MSTORE
00002899: DUP10
0000289a: PUSH32 0x2e8aac9e73a32a1b5926e2c5a2820a51deb01ed40212b6346d96db2a178cf433
000028bb: PUSH1 0x20
000028bd: PUSH0
000028be: LOG2
000028bf: POP
000028c0: POP
000028c1: POP
000028c2: POP
000028c3: POP
000028c4: POP
000028c5: POP
000028c6: POP
000028c7: POP
000028c8: POP
000028c9: JUMP
000028ca: JUMPDEST
000028cb: PUSH1 0x01
000028cd: ADD
000028ce: PUSH2 0x27f2
000028d1: JUMP
000028d2: JUMPDEST
000028d3: POP
000028d4: POP
000028d5: POP
000028d6: POP
000028d7: POP
000028d8: POP
000028d9: POP
000028da: POP
000028db: POP
000028dc: POP
000028dd: JUMP
000028de: JUMPDEST
000028df: PUSH1 0x04
000028e1: PUSH2 0x28e9
000028e4: DUP2
000028e5: PUSH2 0x2d81
000028e8: JUMP
000028e9: JUMPDEST
000028ea: POP
000028eb: CALLER
000028ec: PUSH0
000028ed: SWAP1
000028ee: DUP2
000028ef: MSTORE
000028f0: PUSH1 0x08
000028f2: PUSH1 0x20
000028f4: MSTORE
000028f5: PUSH1 0x40
000028f7: SWAP1
000028f8: KECCAK256
000028f9: PUSH1 0x03
000028fb: ADD
000028fc: DUP1
000028fd: SLOAD
000028fe: PUSH1 0xff
00002900: NOT
00002901: AND
00002902: SWAP2
00002903: ISZERO
00002904: ISZERO
00002905: SWAP2
00002906: SWAP1
00002907: SWAP2
00002908: OR
00002909: SWAP1
0000290a: SSTORE
0000290b: JUMP
0000290c: JUMPDEST
0000290d: PUSH1 0x01
0000290f: PUSH2 0x2917
00002912: DUP2
00002913: PUSH2 0x2d81
00002916: JUMP
00002917: JUMPDEST
00002918: PUSH0
00002919: DUP1
0000291a: DUP8
0000291b: PUSH0
0000291c: MSTORE
0000291d: PUSH1 0x08
0000291f: PUSH1 0x20
00002921: MSTORE
00002922: PUSH1 0x40
00002924: PUSH0
00002925: KECCAK256
00002926: SWAP2
00002927: POP
00002928: DUP2
00002929: SLOAD
0000292a: SWAP1
0000292b: POP
0000292c: DUP1
0000292d: PUSH1 0xb0
0000292f: SHL
00002930: PUSH1 0xd0
00002932: SHR
00002933: PUSH2 0x2943
00002936: JUMPI
00002937: PUSH4 0xdc974a98
0000293c: PUSH0
0000293d: MSTORE
0000293e: PUSH1 0x04
00002940: PUSH1 0x1c
00002942: REVERT
00002943: JUMPDEST
00002944: DUP8
00002945: PUSH1 0x01
00002947: PUSH1 0x01
00002949: PUSH1 0xa0
0000294b: SHL
0000294c: SUB
0000294d: AND
0000294e: PUSH4 0x5641ec03
00002953: PUSH1 0x40
00002955: MLOAD
00002956: DUP2
00002957: PUSH4 0xffffffff
0000295c: AND
0000295d: PUSH1 0xe0
0000295f: SHL
00002960: DUP2
00002961: MSTORE
00002962: PUSH1 0x04
00002964: ADD
00002965: PUSH1 0x20
00002967: PUSH1 0x40
00002969: MLOAD
0000296a: DUP1
0000296b: DUP4
0000296c: SUB
0000296d: DUP2
0000296e: PUSH0
0000296f: DUP8
00002970: GAS
00002971: CALL
00002972: ISZERO
00002973: DUP1
00002974: ISZERO
00002975: PUSH2 0x2980
00002978: JUMPI
00002979: RETURNDATASIZE
0000297a: PUSH0
0000297b: DUP1
0000297c: RETURNDATACOPY
0000297d: RETURNDATASIZE
0000297e: PUSH0
0000297f: REVERT
00002980: JUMPDEST
00002981: POP
00002982: POP
00002983: POP
00002984: POP
00002985: PUSH1 0x40
00002987: MLOAD
00002988: RETURNDATASIZE
00002989: PUSH1 0x1f
0000298b: NOT
0000298c: PUSH1 0x1f
0000298e: DUP3
0000298f: ADD
00002990: AND
00002991: DUP3
00002992: ADD
00002993: DUP1
00002994: PUSH1 0x40
00002996: MSTORE
00002997: POP
00002998: DUP2
00002999: ADD
0000299a: SWAP1
0000299b: PUSH2 0x29a4
0000299e: SWAP2
0000299f: SWAP1
000029a0: PUSH2 0x4602
000029a3: JUMP
000029a4: JUMPDEST
000029a5: PUSH1 0x02
000029a7: SUB
000029a8: PUSH2 0x29b8
000029ab: JUMPI
000029ac: PUSH4 0x57c7c24f
000029b1: PUSH0
000029b2: MSTORE
000029b3: PUSH1 0x04
000029b5: PUSH1 0x1c
000029b7: REVERT
000029b8: JUMPDEST
000029b9: DUP6
000029ba: DUP6
000029bb: GT
000029bc: ISZERO
000029bd: PUSH2 0x29cd
000029c0: JUMPI
000029c1: PUSH4 0x5f3bd953
000029c6: PUSH0
000029c7: MSTORE
000029c8: PUSH1 0x04
000029ca: PUSH1 0x1c
000029cc: REVERT
000029cd: JUMPDEST
000029ce: PUSH2 0x1388
000029d1: DUP5
000029d2: GT
000029d3: ISZERO
000029d4: PUSH2 0x29e4
000029d7: JUMPI
000029d8: PUSH4 0xf14508d0
000029dd: PUSH0
000029de: MSTORE
000029df: PUSH1 0x04
000029e1: PUSH1 0x1c
000029e3: REVERT
000029e4: JUMPDEST
000029e5: PUSH1 0x03
000029e7: DUP1
000029e8: SLOAD
000029e9: PUSH2 0xffff
000029ec: DUP4
000029ed: AND
000029ee: SWAP1
000029ef: DUP2
000029f0: SWAP1
000029f1: SUB
000029f2: SWAP2
000029f3: DUP3
000029f4: SWAP1
000029f5: SSTORE
000029f6: SWAP1
000029f7: DUP9
000029f8: DUP2
000029f9: ADD
000029fa: DUP2
000029fb: DUP2
000029fc: LT
000029fd: ISZERO
000029fe: PUSH2 0x2a05
00002a01: JUMPI
00002a02: PUSH0
00002a03: DUP1
00002a04: REVERT
00002a05: JUMPDEST
00002a06: PUSH2 0x2710
00002a09: DUP2
00002a0a: GT
00002a0b: ISZERO
00002a0c: PUSH2 0x2a1c
00002a0f: JUMPI
00002a10: PUSH4 0x79facb0d
00002a15: PUSH0
00002a16: MSTORE
00002a17: PUSH1 0x04
00002a19: PUSH1 0x1c
00002a1b: REVERT
00002a1c: JUMPDEST
00002a1d: POP
00002a1e: DUP1
00002a1f: DUP10
00002a20: ADD
00002a21: PUSH1 0x03
00002a23: SSTORE
00002a24: PUSH16 0xffffffffffffffffffffffff00000000
00002a35: DUP4
00002a36: AND
00002a37: PUSH1 0x80
00002a39: DUP10
00002a3a: DUP2
00002a3b: SHL
00002a3c: PUSH4 0xffff0000
00002a41: PUSH1 0x10
00002a43: DUP11
00002a44: SWAP1
00002a45: SHL
00002a46: AND
00002a47: PUSH2 0xffff
00002a4a: DUP14
00002a4b: AND
00002a4c: OR
00002a4d: OR
00002a4e: SWAP2
00002a4f: SWAP1
00002a50: SWAP2
00002a51: OR
00002a52: DUP6
00002a53: SSTORE
00002a54: PUSH1 0x01
00002a56: DUP6
00002a57: ADD
00002a58: DUP1
00002a59: SLOAD
00002a5a: PUSH1 0x01
00002a5c: PUSH1 0x01
00002a5e: PUSH1 0x80
00002a60: SHL
00002a61: SUB
00002a62: NOT
00002a63: AND
00002a64: PUSH1 0x01
00002a66: PUSH1 0x01
00002a68: PUSH1 0x80
00002a6a: SHL
00002a6b: SUB
00002a6c: DUP11
00002a6d: AND
00002a6e: OR
00002a6f: SWAP1
00002a70: SSTORE
00002a71: PUSH0
00002a72: DUP11
00002a73: DUP2
00002a74: MSTORE
00002a75: PUSH1 0x20
00002a77: DUP11
00002a78: SWAP1
00002a79: MSTORE
00002a7a: PUSH1 0x40
00002a7c: DUP10
00002a7d: SWAP1
00002a7e: MSTORE
00002a7f: PUSH1 0x60
00002a81: DUP9
00002a82: SWAP1
00002a83: MSTORE
00002a84: DUP12
00002a85: SWAP2
00002a86: PUSH32 0x102a33a8369310733322056f2c0f753209cd77c65b1ce5775c2d6f181e38778f
00002aa7: SWAP2
00002aa8: LOG2
00002aa9: POP
00002aaa: POP
00002aab: POP
00002aac: POP
00002aad: POP
00002aae: POP
00002aaf: POP
00002ab0: POP
00002ab1: POP
00002ab2: POP
00002ab3: JUMP
00002ab4: JUMPDEST
00002ab5: PUSH0
00002ab6: PUSH2 0x0fca
00002ab9: DUP3
00002aba: PUSH2 0x2408
00002abd: JUMP
00002abe: JUMPDEST
00002abf: PUSH2 0x2ac6
00002ac2: PUSH2 0x2e78
00002ac5: JUMP
00002ac6: JUMPDEST
00002ac7: PUSH4 0x389a75e1
00002acc: PUSH1 0x0c
00002ace: MSTORE
00002acf: DUP1
00002ad0: PUSH0
00002ad1: MSTORE
00002ad2: PUSH1 0x20
00002ad4: PUSH1 0x0c
00002ad6: KECCAK256
00002ad7: DUP1
00002ad8: SLOAD
00002ad9: TIMESTAMP
00002ada: GT
00002adb: ISZERO
00002adc: PUSH2 0x2aec
00002adf: JUMPI
00002ae0: PUSH4 0x6f5e8818
00002ae5: PUSH0
00002ae6: MSTORE
00002ae7: PUSH1 0x04
00002ae9: PUSH1 0x1c
00002aeb: REVERT
00002aec: JUMPDEST
00002aed: PUSH0
00002aee: SWAP1
00002aef: SSTORE
00002af0: PUSH2 0x16d2
00002af3: DUP2
00002af4: PUSH2 0x300f
00002af7: JUMP
00002af8: JUMPDEST
00002af9: PUSH1 0x01
00002afb: PUSH2 0x2b03
00002afe: DUP2
00002aff: PUSH2 0x2d81
00002b02: JUMP
00002b03: JUMPDEST
00002b04: PUSH1 0x07
00002b06: DUP1
00002b07: SLOAD
00002b08: PUSH1 0x01
00002b0a: PUSH1 0x01
00002b0c: PUSH1 0xa0
00002b0e: SHL
00002b0f: SUB
00002b10: NOT
00002b11: AND
00002b12: PUSH1 0x01
00002b14: PUSH1 0x01
00002b16: PUSH1 0xa0
00002b18: SHL
00002b19: SUB
00002b1a: DUP5
00002b1b: AND
00002b1c: OR
00002b1d: SWAP1
00002b1e: SSTORE
00002b1f: PUSH0
00002b20: DUP3
00002b21: DUP2
00002b22: MSTORE
00002b23: PUSH32 0x7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d1
00002b44: SWAP1
00002b45: PUSH1 0x20
00002b47: SWAP1
00002b48: LOG1
00002b49: POP
00002b4a: POP
00002b4b: JUMP
00002b4c: JUMPDEST
00002b4d: PUSH2 0x2b54
00002b50: PUSH2 0x2e78
00002b53: JUMP
00002b54: JUMPDEST
00002b55: DUP1
00002b56: PUSH1 0x60
00002b58: SHL
00002b59: PUSH2 0x2b69
00002b5c: JUMPI
00002b5d: PUSH4 0x7448fbae
00002b62: PUSH0
00002b63: MSTORE
00002b64: PUSH1 0x04
00002b66: PUSH1 0x1c
00002b68: REVERT
00002b69: JUMPDEST
00002b6a: PUSH2 0x16d2
00002b6d: DUP2
00002b6e: PUSH2 0x300f
00002b71: JUMP
00002b72: JUMPDEST
00002b73: PUSH1 0x01
00002b75: PUSH2 0x2b7d
00002b78: DUP2
00002b79: PUSH2 0x2d81
00002b7c: JUMP
00002b7d: JUMPDEST
00002b7e: PUSH2 0x2710
00002b81: DUP3
00002b82: GT
00002b83: ISZERO
00002b84: PUSH2 0x2b94
00002b87: JUMPI
00002b88: PUSH4 0x8e9b51ff
00002b8d: PUSH0
00002b8e: MSTORE
00002b8f: PUSH1 0x04
00002b91: PUSH1 0x1c
00002b93: REVERT
00002b94: JUMPDEST
00002b95: DUP2
00002b96: PUSH1 0x1e
00002b98: DUP2
00002b99: SWAP1
00002b9a: SSTORE
00002b9b: POP
00002b9c: DUP2
00002b9d: PUSH0
00002b9e: MSTORE
00002b9f: PUSH32 0x2147e2bc8c39e67f74b1a9e08896ea1485442096765942206af1f4bc8bcde917
00002bc0: PUSH1 0x20
00002bc2: PUSH0
00002bc3: LOG1
00002bc4: POP
00002bc5: POP
00002bc6: JUMP
00002bc7: JUMPDEST
00002bc8: PUSH1 0x04
00002bca: SLOAD
00002bcb: PUSH1 0x40
00002bcd: DUP1
00002bce: MLOAD
00002bcf: PUSH2 0x0280
00002bd2: DUP2
00002bd3: ADD
00002bd4: SWAP2
00002bd5: DUP3
00002bd6: SWAP1
00002bd7: MSTORE
00002bd8: PUSH0
00002bd9: SWAP2
00002bda: PUSH1 0x09
00002bdc: SWAP1
00002bdd: PUSH1 0x14
00002bdf: SWAP1
00002be0: DUP3
00002be1: DUP5
00002be2: JUMPDEST
00002be3: DUP2
00002be4: SLOAD
00002be5: PUSH1 0x01
00002be7: PUSH1 0x01
00002be9: PUSH1 0xa0
00002beb: SHL
00002bec: SUB
00002bed: AND
00002bee: DUP2
00002bef: MSTORE
00002bf0: PUSH1 0x01
00002bf2: SWAP1
00002bf3: SWAP2
00002bf4: ADD
00002bf5: SWAP1
00002bf6: PUSH1 0x20
00002bf8: ADD
00002bf9: DUP1
00002bfa: DUP4
00002bfb: GT
00002bfc: PUSH2 0x2be2
00002bff: JUMPI
00002c00: POP
00002c01: POP
00002c02: POP
00002c03: POP
00002c04: POP
00002c05: SWAP1
00002c06: POP
00002c07: PUSH0
00002c08: JUMPDEST
00002c09: PUSH1 0x14
00002c0b: DUP2
00002c0c: LT
00002c0d: ISZERO
00002c0e: PUSH2 0x2cb4
00002c11: JUMPI
00002c12: PUSH0
00002c13: DUP3
00002c14: DUP3
00002c15: PUSH1 0x14
00002c17: DUP2
00002c18: LT
00002c19: PUSH2 0x2c24
00002c1c: JUMPI
00002c1d: PUSH2 0x2c24
00002c20: PUSH2 0x45db
00002c23: JUMP
00002c24: JUMPDEST
00002c25: PUSH1 0x20
00002c27: MUL
00002c28: ADD
00002c29: MLOAD
00002c2a: SWAP1
00002c2b: POP
00002c2c: PUSH1 0x01
00002c2e: PUSH1 0x01
00002c30: PUSH1 0xa0
00002c32: SHL
00002c33: SUB
00002c34: DUP2
00002c35: AND
00002c36: PUSH2 0x2c3f
00002c39: JUMPI
00002c3a: POP
00002c3b: POP
00002c3c: POP
00002c3d: SWAP1
00002c3e: JUMP
00002c3f: JUMPDEST
00002c40: DUP1
00002c41: PUSH1 0x01
00002c43: PUSH1 0x01
00002c45: PUSH1 0xa0
00002c47: SHL
00002c48: SUB
00002c49: AND
00002c4a: PUSH4 0xefbb5cb0
00002c4f: PUSH1 0x40
00002c51: MLOAD
00002c52: DUP2
00002c53: PUSH4 0xffffffff
00002c58: AND
00002c59: PUSH1 0xe0
00002c5b: SHL
00002c5c: DUP2
00002c5d: MSTORE
00002c5e: PUSH1 0x04
00002c60: ADD
00002c61: PUSH1 0x20
00002c63: PUSH1 0x40
00002c65: MLOAD
00002c66: DUP1
00002c67: DUP4
00002c68: SUB
00002c69: DUP2
00002c6a: DUP7
00002c6b: GAS
00002c6c: STATICCALL
00002c6d: ISZERO
00002c6e: DUP1
00002c6f: ISZERO
00002c70: PUSH2 0x2c7b
00002c73: JUMPI
00002c74: RETURNDATASIZE
00002c75: PUSH0
00002c76: DUP1
00002c77: RETURNDATACOPY
00002c78: RETURNDATASIZE
00002c79: PUSH0
00002c7a: REVERT
00002c7b: JUMPDEST
00002c7c: POP
00002c7d: POP
00002c7e: POP
00002c7f: POP
00002c80: PUSH1 0x40
00002c82: MLOAD
00002c83: RETURNDATASIZE
00002c84: PUSH1 0x1f
00002c86: NOT
00002c87: PUSH1 0x1f
00002c89: DUP3
00002c8a: ADD
00002c8b: AND
00002c8c: DUP3
00002c8d: ADD
00002c8e: DUP1
00002c8f: PUSH1 0x40
00002c91: MSTORE
00002c92: POP
00002c93: DUP2
00002c94: ADD
00002c95: SWAP1
00002c96: PUSH2 0x2c9f
00002c99: SWAP2
00002c9a: SWAP1
00002c9b: PUSH2 0x4602
00002c9e: JUMP
00002c9f: JUMPDEST
00002ca0: PUSH2 0x2ca9
00002ca3: SWAP1
00002ca4: DUP6
00002ca5: PUSH2 0x44dd
00002ca8: JUMP
00002ca9: JUMPDEST
00002caa: SWAP4
00002cab: POP
00002cac: POP
00002cad: PUSH1 0x01
00002caf: ADD
00002cb0: PUSH2 0x2c08
00002cb3: JUMP
00002cb4: JUMPDEST
00002cb5: POP
00002cb6: POP
00002cb7: SWAP1
00002cb8: JUMP
00002cb9: JUMPDEST
00002cba: DUP3
00002cbb: DUP3
00002cbc: MUL
00002cbd: PUSH0
00002cbe: NOT
00002cbf: DUP4
00002cc0: DUP6
00002cc1: MULMOD
00002cc2: DUP2
00002cc3: DUP2
00002cc4: LT
00002cc5: DUP3
00002cc6: ADD
00002cc7: SWAP1
00002cc8: SUB
00002cc9: DUP1
00002cca: PUSH2 0x2ce8
00002ccd: JUMPI
00002cce: DUP3
00002ccf: PUSH2 0x2cdf
00002cd2: JUMPI
00002cd3: PUSH4 0xae47f702
00002cd8: PUSH0
00002cd9: MSTORE
00002cda: PUSH1 0x04
00002cdc: PUSH1 0x1c
00002cde: REVERT
00002cdf: JUMPDEST
00002ce0: POP
00002ce1: DUP2
00002ce2: SWAP1
00002ce3: DIV
00002ce4: PUSH2 0x0f79
00002ce7: JUMP
00002ce8: JUMPDEST
00002ce9: DUP1
00002cea: DUP4
00002ceb: GT
00002cec: PUSH2 0x2cfc
00002cef: JUMPI
00002cf0: PUSH4 0xae47f702
00002cf5: PUSH0
00002cf6: MSTORE
00002cf7: PUSH1 0x04
00002cf9: PUSH1 0x1c
00002cfb: REVERT
00002cfc: JUMPDEST
00002cfd: DUP3
00002cfe: DUP5
00002cff: DUP7
00002d00: MULMOD
00002d01: PUSH0
00002d02: DUP5
00002d03: DUP2
00002d04: SUB
00002d05: DUP6
00002d06: AND
00002d07: SWAP5
00002d08: DUP6
00002d09: SWAP1
00002d0a: DIV
00002d0b: SWAP5
00002d0c: DUP5
00002d0d: DUP4
00002d0e: GT
00002d0f: SWAP1
00002d10: SWAP4
00002d11: SUB
00002d12: SWAP1
00002d13: DUP4
00002d14: SWAP1
00002d15: SUB
00002d16: DUP4
00002d17: SWAP1
00002d18: DIV
00002d19: PUSH1 0x01
00002d1b: ADD
00002d1c: MUL
00002d1d: SWAP3
00002d1e: SUB
00002d1f: DIV
00002d20: OR
00002d21: PUSH1 0x02
00002d23: PUSH1 0x03
00002d25: DUP4
00002d26: MUL
00002d27: DUP2
00002d28: XOR
00002d29: DUP1
00002d2a: DUP5
00002d2b: MUL
00002d2c: DUP3
00002d2d: SUB
00002d2e: MUL
00002d2f: DUP1
00002d30: DUP5
00002d31: MUL
00002d32: DUP3
00002d33: SUB
00002d34: MUL
00002d35: DUP1
00002d36: DUP5
00002d37: MUL
00002d38: DUP3
00002d39: SUB
00002d3a: MUL
00002d3b: DUP1
00002d3c: DUP5
00002d3d: MUL
00002d3e: DUP3
00002d3f: SUB
00002d40: MUL
00002d41: DUP1
00002d42: DUP5
00002d43: MUL
00002d44: DUP3
00002d45: SUB
00002d46: MUL
00002d47: DUP1
00002d48: DUP5
00002d49: MUL
00002d4a: SWAP1
00002d4b: SWAP2
00002d4c: SUB
00002d4d: MUL
00002d4e: MUL
00002d4f: SWAP4
00002d50: SWAP3
00002d51: POP
00002d52: POP
00002d53: POP
00002d54: JUMP
00002d55: JUMPDEST
00002d56: PUSH0
00002d57: PUSH2 0x2d61
00002d5a: DUP5
00002d5b: DUP5
00002d5c: DUP5
00002d5d: PUSH2 0x2cb9
00002d60: JUMP
00002d61: JUMPDEST
00002d62: SWAP1
00002d63: POP
00002d64: DUP2
00002d65: DUP4
00002d66: DUP6
00002d67: MULMOD
00002d68: ISZERO
00002d69: PUSH2 0x0f79
00002d6c: JUMPI
00002d6d: PUSH1 0x01
00002d6f: ADD
00002d70: DUP1
00002d71: PUSH2 0x0f79
00002d74: JUMPI
00002d75: PUSH4 0xae47f702
00002d7a: PUSH0
00002d7b: MSTORE
00002d7c: PUSH1 0x04
00002d7e: PUSH1 0x1c
00002d80: REVERT
00002d81: JUMPDEST
00002d82: PUSH4 0x8b78c6d8
00002d87: PUSH1 0x0c
00002d89: MSTORE
00002d8a: CALLER
00002d8b: PUSH0
00002d8c: MSTORE
00002d8d: DUP1
00002d8e: PUSH1 0x20
00002d90: PUSH1 0x0c
00002d92: KECCAK256
00002d93: SLOAD
00002d94: AND
00002d95: PUSH2 0x16d2
00002d98: JUMPI
00002d99: PUSH4 0x82b42900
00002d9e: PUSH0
00002d9f: MSTORE
00002da0: PUSH1 0x04
00002da2: PUSH1 0x1c
00002da4: REVERT
00002da5: JUMPDEST
00002da6: PUSH2 0x16c4
00002da9: DUP3
00002daa: DUP3
00002dab: PUSH1 0x01
00002dad: PUSH2 0x3d66
00002db0: JUMP
00002db1: JUMPDEST
00002db2: PUSH0
00002db3: DUP1
00002db4: JUMPDEST
00002db5: PUSH1 0x14
00002db7: DUP2
00002db8: LT
00002db9: ISZERO
00002dba: PUSH2 0x16c4
00002dbd: JUMPI
00002dbe: PUSH0
00002dbf: PUSH1 0x09
00002dc1: DUP3
00002dc2: PUSH1 0x14
00002dc4: DUP2
00002dc5: LT
00002dc6: PUSH2 0x2dd1
00002dc9: JUMPI
00002dca: PUSH2 0x2dd1
00002dcd: PUSH2 0x45db
00002dd0: JUMP
00002dd1: JUMPDEST
00002dd2: ADD
00002dd3: SLOAD
00002dd4: PUSH1 0x01
00002dd6: PUSH1 0x01
00002dd8: PUSH1 0xa0
00002dda: SHL
00002ddb: SUB
00002ddc: AND
00002ddd: SWAP1
00002dde: POP
00002ddf: DUP1
00002de0: PUSH2 0x2dee
00002de3: JUMPI
00002de4: DUP3
00002de5: PUSH1 0x01
00002de7: ADD
00002de8: SWAP3
00002de9: POP
00002dea: PUSH2 0x2e64
00002ded: JUMP
00002dee: JUMPDEST
00002def: DUP3
00002df0: ISZERO
00002df1: PUSH2 0x2e64
00002df4: JUMPI
00002df5: DUP1
00002df6: PUSH1 0x09
00002df8: PUSH2 0x2e01
00002dfb: DUP6
00002dfc: DUP6
00002dfd: PUSH2 0x45ef
00002e00: JUMP
00002e01: JUMPDEST
00002e02: PUSH1 0x14
00002e04: DUP2
00002e05: LT
00002e06: PUSH2 0x2e11
00002e09: JUMPI
00002e0a: PUSH2 0x2e11
00002e0d: PUSH2 0x45db
00002e10: JUMP
00002e11: JUMPDEST
00002e12: ADD
00002e13: DUP1
00002e14: SLOAD
00002e15: PUSH1 0x01
00002e17: PUSH1 0x01
00002e19: PUSH1 0xa0
00002e1b: SHL
00002e1c: SUB
00002e1d: NOT
00002e1e: AND
00002e1f: PUSH1 0x01
00002e21: PUSH1 0x01
00002e23: PUSH1 0xa0
00002e25: SHL
00002e26: SUB
00002e27: SWAP3
00002e28: SWAP1
00002e29: SWAP3
00002e2a: AND
00002e2b: SWAP2
00002e2c: SWAP1
00002e2d: SWAP2
00002e2e: OR
00002e2f: SWAP1
00002e30: SSTORE
00002e31: PUSH0
00002e32: PUSH1 0x09
00002e34: DUP4
00002e35: PUSH1 0x14
00002e37: DUP2
00002e38: LT
00002e39: PUSH2 0x2e44
00002e3c: JUMPI
00002e3d: PUSH2 0x2e44
00002e40: PUSH2 0x45db
00002e43: JUMP
00002e44: JUMPDEST
00002e45: ADD
00002e46: DUP1
00002e47: SLOAD
00002e48: PUSH1 0x01
00002e4a: PUSH1 0x01
00002e4c: PUSH1 0xa0
00002e4e: SHL
00002e4f: SUB
00002e50: NOT
00002e51: AND
00002e52: PUSH1 0x01
00002e54: PUSH1 0x01
00002e56: PUSH1 0xa0
00002e58: SHL
00002e59: SUB
00002e5a: SWAP3
00002e5b: SWAP1
00002e5c: SWAP3
00002e5d: AND
00002e5e: SWAP2
00002e5f: SWAP1
00002e60: SWAP2
00002e61: OR
00002e62: SWAP1
00002e63: SSTORE
00002e64: JUMPDEST
00002e65: POP
00002e66: PUSH1 0x01
00002e68: ADD
00002e69: PUSH2 0x2db4
00002e6c: JUMP
00002e6d: JUMPDEST
00002e6e: PUSH2 0x16c4
00002e71: DUP3
00002e72: DUP3
00002e73: PUSH0
00002e74: PUSH2 0x3d66
00002e77: JUMP
00002e78: JUMPDEST
00002e79: PUSH4 0x8b78c6d8
00002e7e: NOT
00002e7f: SLOAD
00002e80: CALLER
00002e81: EQ
00002e82: PUSH2 0x1baa
00002e85: JUMPI
00002e86: PUSH4 0x82b42900
00002e8b: PUSH0
00002e8c: MSTORE
00002e8d: PUSH1 0x04
00002e8f: PUSH1 0x1c
00002e91: REVERT
00002e92: JUMPDEST
00002e93: PUSH0
00002e94: DUP3
00002e95: DUP3
00002e96: DUP5
00002e97: SUB
00002e98: GT
00002e99: PUSH2 0x2ea4
00002e9c: JUMPI
00002e9d: DUP2
00002e9e: DUP4
00002e9f: SUB
00002ea0: PUSH2 0x0f79
00002ea3: JUMP
00002ea4: JUMPDEST
00002ea5: PUSH0
00002ea6: SWAP4
00002ea7: SWAP3
00002ea8: POP
00002ea9: POP
00002eaa: POP
00002eab: JUMP
00002eac: JUMPDEST
00002ead: PUSH2 0x2ed8
00002eb0: DUP5
00002eb1: ADDRESS
00002eb2: DUP5
00002eb3: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
00002ed4: PUSH2 0x1e2a
00002ed7: JUMP
00002ed8: JUMPDEST
00002ed9: PUSH0
00002eda: DUP4
00002edb: PUSH1 0x60
00002edd: SHL
00002ede: PUSH2 0x2eee
00002ee1: JUMPI
00002ee2: PUSH4 0xf6b2911f
00002ee7: PUSH0
00002ee8: MSTORE
00002ee9: PUSH1 0x04
00002eeb: PUSH1 0x1c
00002eed: REVERT
00002eee: JUMPDEST
00002eef: DUP3
00002ef0: PUSH2 0x2f00
00002ef3: JUMPI
00002ef4: PUSH4 0xdd484e70
00002ef9: PUSH0
00002efa: MSTORE
00002efb: PUSH1 0x04
00002efd: PUSH1 0x1c
00002eff: REVERT
00002f00: JUMPDEST
00002f01: POP
00002f02: PUSH1 0x04
00002f04: SLOAD
00002f05: PUSH1 0x05
00002f07: SLOAD
00002f08: DUP2
00002f09: ADD
00002f0a: DUP2
00002f0b: DUP2
00002f0c: LT
00002f0d: ISZERO
00002f0e: PUSH2 0x2f15
00002f11: JUMPI
00002f12: PUSH0
00002f13: DUP1
00002f14: REVERT
00002f15: JUMPDEST
00002f16: DUP4
00002f17: DUP2
00002f18: ADD
00002f19: DUP2
00002f1a: DUP2
00002f1b: LT
00002f1c: ISZERO
00002f1d: PUSH2 0x2f24
00002f20: JUMPI
00002f21: PUSH0
00002f22: DUP1
00002f23: REVERT
00002f24: JUMPDEST
00002f25: POP
00002f26: POP
00002f27: DUP2
00002f28: PUSH2 0x2f38
00002f2b: JUMPI
00002f2c: PUSH4 0x5a870a25
00002f31: PUSH0
00002f32: MSTORE
00002f33: PUSH1 0x04
00002f35: PUSH1 0x1c
00002f37: REVERT
00002f38: JUMPDEST
00002f39: PUSH2 0x2f42
00002f3c: DUP5
00002f3d: DUP4
00002f3e: PUSH2 0x3dbd
00002f41: JUMP
00002f42: JUMPDEST
00002f43: DUP3
00002f44: DUP2
00002f45: ADD
00002f46: PUSH1 0x04
00002f48: SSTORE
00002f49: DUP3
00002f4a: PUSH0
00002f4b: MSTORE
00002f4c: DUP2
00002f4d: PUSH1 0x20
00002f4f: MSTORE
00002f50: PUSH0
00002f51: NOT
00002f52: PUSH1 0x60
00002f54: SHR
00002f55: DUP5
00002f56: DUP2
00002f57: AND
00002f58: DUP7
00002f59: DUP3
00002f5a: AND
00002f5b: PUSH32 0xdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7
00002f7c: PUSH1 0x40
00002f7e: PUSH0
00002f7f: LOG3
00002f80: POP
00002f81: PUSH1 0x01
00002f83: SLOAD
00002f84: PUSH2 0x0100
00002f87: SWAP1
00002f88: DIV
00002f89: PUSH1 0xff
00002f8b: AND
00002f8c: DUP1
00002f8d: ISZERO
00002f8e: PUSH2 0x2fa6
00002f91: JUMPI
00002f92: POP
00002f93: TIMESTAMP
00002f94: PUSH3 0x093a80
00002f98: PUSH1 0x06
00002f9a: SLOAD
00002f9b: PUSH2 0x2fa4
00002f9e: SWAP2
00002f9f: SWAP1
00002fa0: PUSH2 0x44dd
00002fa3: JUMP
00002fa4: JUMPDEST
00002fa5: LT
00002fa6: JUMPDEST
00002fa7: ISZERO
00002fa8: PUSH2 0x3008
00002fab: JUMPI
00002fac: PUSH0
00002fad: DUP1
00002fae: PUSH0
00002faf: PUSH2 0x2fb7
00002fb2: DUP8
00002fb3: PUSH2 0x3e26
00002fb6: JUMP
00002fb7: JUMPDEST
00002fb8: SWAP3
00002fb9: POP
00002fba: SWAP3
00002fbb: POP
00002fbc: SWAP3
00002fbd: POP
00002fbe: DUP2
00002fbf: PUSH2 0x3004
00002fc2: JUMPI
00002fc3: DUP3
00002fc4: PUSH1 0x01
00002fc6: PUSH1 0x01
00002fc8: PUSH1 0xa0
00002fca: SHL
00002fcb: SUB
00002fcc: AND
00002fcd: PUSH32 0x97480aa46df4509f46b1c69560de6c385692ab01d037c7ad5b4ef10961512187
00002fee: DUP3
00002fef: PUSH1 0x40
00002ff1: MLOAD
00002ff2: PUSH2 0x2ffb
00002ff5: SWAP2
00002ff6: SWAP1
00002ff7: PUSH2 0x41d8
00002ffa: JUMP
00002ffb: JUMPDEST
00002ffc: PUSH1 0x40
00002ffe: MLOAD
00002fff: DUP1
00003000: SWAP2
00003001: SUB
00003002: SWAP1
00003003: LOG2
00003004: JUMPDEST
00003005: POP
00003006: POP
00003007: POP
00003008: JUMPDEST
00003009: POP
0000300a: POP
0000300b: POP
0000300c: POP
0000300d: POP
0000300e: JUMP
0000300f: JUMPDEST
00003010: PUSH4 0x8b78c6d8
00003015: NOT
00003016: DUP1
00003017: SLOAD
00003018: PUSH1 0x01
0000301a: PUSH1 0x01
0000301c: PUSH1 0xa0
0000301e: SHL
0000301f: SUB
00003020: SWAP1
00003021: SWAP3
00003022: AND
00003023: SWAP2
00003024: DUP3
00003025: SWAP1
00003026: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00003047: PUSH0
00003048: DUP1
00003049: LOG3
0000304a: SSTORE
0000304b: JUMP
0000304c: JUMPDEST
0000304d: PUSH1 0x05
0000304f: SLOAD
00003050: PUSH1 0x04
00003052: SLOAD
00003053: DUP2
00003054: ADD
00003055: SWAP1
00003056: DUP1
00003057: DUP3
00003058: LT
00003059: ISZERO
0000305a: PUSH2 0x3061
0000305d: JUMPI
0000305e: PUSH0
0000305f: DUP1
00003060: REVERT
00003061: JUMPDEST
00003062: POP
00003063: SWAP1
00003064: JUMP
00003065: JUMPDEST
00003066: PUSH0
00003067: DUP2
00003068: PUSH1 0x14
0000306a: MSTORE
0000306b: PUSH4 0x70a08231
00003070: PUSH1 0x60
00003072: SHL
00003073: PUSH0
00003074: MSTORE
00003075: PUSH1 0x20
00003077: DUP1
00003078: PUSH1 0x24
0000307a: PUSH1 0x10
0000307c: DUP7
0000307d: GAS
0000307e: STATICCALL
0000307f: PUSH1 0x1f
00003081: RETURNDATASIZE
00003082: GT
00003083: AND
00003084: PUSH1 0x20
00003086: MLOAD
00003087: MUL
00003088: SWAP1
00003089: POP
0000308a: SWAP3
0000308b: SWAP2
0000308c: POP
0000308d: POP
0000308e: JUMP
0000308f: JUMPDEST
00003090: PUSH0
00003091: DUP3
00003092: DUP2
00003093: MSTORE
00003094: PUSH1 0x08
00003096: PUSH1 0x20
00003098: MSTORE
00003099: PUSH1 0x40
0000309b: DUP2
0000309c: KECCAK256
0000309d: DUP1
0000309e: SLOAD
0000309f: PUSH1 0x02
000030a1: DUP3
000030a2: ADD
000030a3: SLOAD
000030a4: PUSH1 0x01
000030a6: PUSH1 0x01
000030a8: PUSH1 0x80
000030aa: SHL
000030ab: SUB
000030ac: DUP2
000030ad: AND
000030ae: SWAP4
000030af: PUSH2 0xffff
000030b2: DUP4
000030b3: AND
000030b4: SWAP4
000030b5: SWAP1
000030b6: SWAP3
000030b7: DUP4
000030b8: SWAP3
000030b9: DUP7
000030ba: DUP9
000030bb: GT
000030bc: ISZERO
000030bd: PUSH2 0x30c4
000030c0: JUMPI
000030c1: DUP7
000030c2: SWAP8
000030c3: POP
000030c4: JUMPDEST
000030c5: PUSH1 0x03
000030c7: SLOAD
000030c8: PUSH1 0x05
000030ca: SLOAD
000030cb: SWAP6
000030cc: POP
000030cd: SWAP4
000030ce: POP
000030cf: PUSH0
000030d0: DUP6
000030d1: ISZERO
000030d2: PUSH2 0x3100
000030d5: JUMPI
000030d6: PUSH2 0x30fd
000030d9: DUP7
000030da: PUSH2 0x30e3
000030dd: DUP8
000030de: DUP13
000030df: PUSH2 0x46e6
000030e2: JUMP
000030e3: JUMPDEST
000030e4: PUSH2 0x30ed
000030e7: SWAP2
000030e8: SWAP1
000030e9: PUSH2 0x46fd
000030ec: JUMP
000030ed: JUMPDEST
000030ee: DUP9
000030ef: PUSH2 0xffff
000030f2: AND
000030f3: DUP1
000030f4: DUP3
000030f5: XOR
000030f6: SWAP1
000030f7: DUP3
000030f8: GT
000030f9: MUL
000030fa: XOR
000030fb: SWAP1
000030fc: JUMP
000030fd: JUMPDEST
000030fe: SWAP1
000030ff: POP
00003100: JUMPDEST
00003101: DUP5
00003102: DUP2
00003103: GT
00003104: ISZERO
00003105: PUSH2 0x310c
00003108: JUMPI
00003109: PUSH0
0000310a: DUP1
0000310b: REVERT
0000310c: JUMPDEST
0000310d: DUP6
0000310e: DUP10
0000310f: GT
00003110: ISZERO
00003111: PUSH2 0x3118
00003114: JUMPI
00003115: PUSH0
00003116: DUP1
00003117: REVERT
00003118: JUMPDEST
00003119: DUP7
0000311a: DUP2
0000311b: GT
0000311c: ISZERO
0000311d: PUSH2 0x3124
00003120: JUMPI
00003121: PUSH0
00003122: DUP1
00003123: REVERT
00003124: JUMPDEST
00003125: DUP1
00003126: DUP6
00003127: SUB
00003128: PUSH1 0x03
0000312a: SSTORE
0000312b: DUP9
0000312c: DUP7
0000312d: SUB
0000312e: PUSH1 0x05
00003130: SSTORE
00003131: PUSH2 0xffff
00003134: DUP2
00003135: DUP9
00003136: SUB
00003137: AND
00003138: PUSH2 0xffff
0000313b: NOT
0000313c: DUP5
0000313d: AND
0000313e: OR
0000313f: DUP5
00003140: SSTORE
00003141: PUSH1 0x80
00003143: DUP3
00003144: SWAP1
00003145: SHR
00003146: DUP10
00003147: ADD
00003148: DUP10
00003149: DUP2
0000314a: LT
0000314b: ISZERO
0000314c: PUSH2 0x3153
0000314f: JUMPI
00003150: PUSH0
00003151: DUP1
00003152: REVERT
00003153: JUMPDEST
00003154: DUP10
00003155: DUP10
00003156: SUB
00003157: PUSH1 0x80
00003159: SHL
0000315a: PUSH1 0x80
0000315c: SHR
0000315d: DUP2
0000315e: PUSH1 0x80
00003160: SHL
00003161: OR
00003162: SWAP3
00003163: POP
00003164: POP
00003165: DUP2
00003166: PUSH1 0x02
00003168: DUP6
00003169: ADD
0000316a: SSTORE
0000316b: POP
0000316c: POP
0000316d: POP
0000316e: POP
0000316f: POP
00003170: POP
00003171: POP
00003172: POP
00003173: POP
00003174: POP
00003175: JUMP
00003176: JUMPDEST
00003177: PUSH0
00003178: DUP1
00003179: PUSH0
0000317a: DUP6
0000317b: PUSH0
0000317c: MSTORE
0000317d: PUSH1 0x08
0000317f: PUSH1 0x20
00003181: MSTORE
00003182: PUSH1 0x40
00003184: PUSH0
00003185: KECCAK256
00003186: SLOAD
00003187: SWAP1
00003188: POP
00003189: PUSH0
0000318a: DUP6
0000318b: EQ
0000318c: TIMESTAMP
0000318d: DUP3
0000318e: PUSH1 0xb0
00003190: SHL
00003191: PUSH1 0xd0
00003193: SHR
00003194: EQ
00003195: OR
00003196: ISZERO
00003197: PUSH2 0x319f
0000319a: JUMPI
0000319b: PUSH1 0x01
0000319d: SWAP2
0000319e: POP
0000319f: JUMPDEST
000031a0: DUP2
000031a1: ISZERO
000031a2: PUSH2 0x31af
000031a5: JUMPI
000031a6: PUSH0
000031a7: SWAP3
000031a8: POP
000031a9: POP
000031aa: POP
000031ab: PUSH2 0x0f79
000031ae: JUMP
000031af: JUMPDEST
000031b0: PUSH6 0xffffffffffff
000031b7: PUSH1 0x50
000031b9: DUP3
000031ba: SWAP1
000031bb: SHR
000031bc: AND
000031bd: TIMESTAMP
000031be: SUB
000031bf: PUSH0
000031c0: DUP1
000031c1: DUP1
000031c2: DUP1
000031c3: DUP1
000031c4: DUP6
000031c5: PUSH2 0x31d5
000031c8: JUMPI
000031c9: PUSH4 0x17de0c6e
000031ce: PUSH0
000031cf: MSTORE
000031d0: PUSH1 0x04
000031d2: PUSH1 0x1c
000031d4: REVERT
000031d5: JUMPDEST
000031d6: DUP7
000031d7: PUSH1 0xe0
000031d9: SHL
000031da: PUSH1 0xf0
000031dc: SHR
000031dd: SWAP5
000031de: POP
000031df: PUSH1 0x1e
000031e1: SLOAD
000031e2: PUSH1 0x1d
000031e4: SLOAD
000031e5: DUP2
000031e6: PUSH0
000031e7: NOT
000031e8: DIV
000031e9: DUP14
000031ea: GT
000031eb: DUP3
000031ec: MUL
000031ed: ISZERO
000031ee: PUSH2 0x31f5
000031f1: JUMPI
000031f2: PUSH0
000031f3: DUP1
000031f4: REVERT
000031f5: JUMPDEST
000031f6: PUSH2 0x2710
000031f9: DUP3
000031fa: DUP15
000031fb: MUL
000031fc: DIV
000031fd: SWAP6
000031fe: POP
000031ff: DUP7
00003200: PUSH0
00003201: NOT
00003202: DIV
00003203: DUP14
00003204: GT
00003205: DUP8
00003206: MUL
00003207: ISZERO
00003208: PUSH2 0x320f
0000320b: JUMPI
0000320c: PUSH0
0000320d: DUP1
0000320e: REVERT
0000320f: JUMPDEST
00003210: PUSH2 0x2710
00003213: DUP8
00003214: DUP15
00003215: MUL
00003216: DIV
00003217: SWAP5
00003218: POP
00003219: DUP1
0000321a: PUSH0
0000321b: NOT
0000321c: DIV
0000321d: DUP14
0000321e: GT
0000321f: DUP2
00003220: MUL
00003221: ISZERO
00003222: PUSH2 0x3229
00003225: JUMPI
00003226: PUSH0
00003227: DUP1
00003228: REVERT
00003229: JUMPDEST
0000322a: PUSH2 0x2710
0000322d: SWAP1
0000322e: DUP14
0000322f: MUL
00003230: DIV
00003231: SWAP3
00003232: POP
00003233: POP
00003234: POP
00003235: DUP3
00003236: DUP3
00003237: ADD
00003238: DUP2
00003239: ADD
0000323a: DUP11
0000323b: DUP2
0000323c: GT
0000323d: ISZERO
0000323e: PUSH2 0x3244
00003241: JUMPI
00003242: POP
00003243: DUP10
00003244: JUMPDEST
00003245: DUP1
00003246: ISZERO
00003247: PUSH2 0x3360
0000324a: JUMPI
0000324b: PUSH0
0000324c: PUSH2 0x3255
0000324f: ADDRESS
00003250: DUP4
00003251: PUSH2 0x4051
00003254: JUMP
00003255: JUMPDEST
00003256: SWAP1
00003257: POP
00003258: DUP4
00003259: ISZERO
0000325a: PUSH2 0x32e3
0000325d: JUMPI
0000325e: PUSH0
0000325f: DUP2
00003260: PUSH0
00003261: NOT
00003262: DIV
00003263: DUP6
00003264: GT
00003265: DUP3
00003266: MUL
00003267: ISZERO
00003268: PUSH2 0x326f
0000326b: JUMPI
0000326c: PUSH0
0000326d: DUP1
0000326e: REVERT
0000326f: JUMPDEST
00003270: DUP3
00003271: DUP3
00003272: DUP7
00003273: MUL
00003274: DIV
00003275: SWAP1
00003276: POP
00003277: PUSH2 0x32e1
0000327a: DUP15
0000327b: PUSH1 0x01
0000327d: PUSH1 0x01
0000327f: PUSH1 0xa0
00003281: SHL
00003282: SUB
00003283: AND
00003284: PUSH4 0x1fe4a686
00003289: PUSH1 0x40
0000328b: MLOAD
0000328c: DUP2
0000328d: PUSH4 0xffffffff
00003292: AND
00003293: PUSH1 0xe0
00003295: SHL
00003296: DUP2
00003297: MSTORE
00003298: PUSH1 0x04
0000329a: ADD
0000329b: PUSH1 0x20
0000329d: PUSH1 0x40
0000329f: MLOAD
000032a0: DUP1
000032a1: DUP4
000032a2: SUB
000032a3: DUP2
000032a4: DUP7
000032a5: GAS
000032a6: STATICCALL
000032a7: ISZERO
000032a8: DUP1
000032a9: ISZERO
000032aa: PUSH2 0x32b5
000032ad: JUMPI
000032ae: RETURNDATASIZE
000032af: PUSH0
000032b0: DUP1
000032b1: RETURNDATACOPY
000032b2: RETURNDATASIZE
000032b3: PUSH0
000032b4: REVERT
000032b5: JUMPDEST
000032b6: POP
000032b7: POP
000032b8: POP
000032b9: POP
000032ba: PUSH1 0x40
000032bc: MLOAD
000032bd: RETURNDATASIZE
000032be: PUSH1 0x1f
000032c0: NOT
000032c1: PUSH1 0x1f
000032c3: DUP3
000032c4: ADD
000032c5: AND
000032c6: DUP3
000032c7: ADD
000032c8: DUP1
000032c9: PUSH1 0x40
000032cb: MSTORE
000032cc: POP
000032cd: DUP2
000032ce: ADD
000032cf: SWAP1
000032d0: PUSH2 0x32d9
000032d3: SWAP2
000032d4: SWAP1
000032d5: PUSH2 0x4619
000032d8: JUMP
000032d9: JUMPDEST
000032da: ADDRESS
000032db: SWAP1
000032dc: DUP4
000032dd: PUSH2 0x34c3
000032e0: JUMP
000032e1: JUMPDEST
000032e2: POP
000032e3: JUMPDEST
000032e4: PUSH4 0x87a211a2
000032e9: PUSH1 0x0c
000032eb: SWAP1
000032ec: DUP2
000032ed: MSTORE
000032ee: ADDRESS
000032ef: PUSH0
000032f0: MSTORE
000032f1: PUSH1 0x20
000032f3: SWAP1
000032f4: KECCAK256
000032f5: SLOAD
000032f6: DUP1
000032f7: ISZERO
000032f8: PUSH2 0x335d
000032fb: JUMPI
000032fc: PUSH1 0x01
000032fe: PUSH1 0x01
00003300: PUSH1 0xa0
00003302: SHL
00003303: SUB
00003304: DUP13
00003305: AND
00003306: ISZERO
00003307: PUSH2 0x333f
0000330a: JUMPI
0000330b: PUSH2 0x332b
0000330e: DUP13
0000330f: DUP5
00003310: PUSH2 0x3319
00003313: DUP10
00003314: DUP6
00003315: PUSH2 0x46e6
00003318: JUMP
00003319: JUMPDEST
0000331a: PUSH2 0x3323
0000331d: SWAP2
0000331e: SWAP1
0000331f: PUSH2 0x46fd
00003322: JUMP
00003323: JUMPDEST
00003324: ADDRESS
00003325: SWAP2
00003326: SWAP1
00003327: PUSH2 0x34c3
0000332a: JUMP
0000332b: JUMPDEST
0000332c: POP
0000332d: PUSH4 0x87a211a2
00003332: PUSH1 0x0c
00003334: SWAP1
00003335: DUP2
00003336: MSTORE
00003337: ADDRESS
00003338: PUSH0
00003339: MSTORE
0000333a: PUSH1 0x20
0000333c: SWAP1
0000333d: KECCAK256
0000333e: SLOAD
0000333f: JUMPDEST
00003340: DUP1
00003341: ISZERO
00003342: PUSH2 0x335d
00003345: JUMPI
00003346: PUSH1 0x07
00003348: SLOAD
00003349: PUSH2 0x335d
0000334c: SWAP1
0000334d: ADDRESS
0000334e: SWAP1
0000334f: PUSH1 0x01
00003351: PUSH1 0x01
00003353: PUSH1 0xa0
00003355: SHL
00003356: SUB
00003357: AND
00003358: DUP4
00003359: PUSH2 0x34c3
0000335c: JUMP
0000335d: JUMPDEST
0000335e: POP
0000335f: POP
00003360: JUMPDEST
00003361: PUSH1 0x40
00003363: MLOAD
00003364: DUP5
00003365: PUSH0
00003366: MSTORE
00003367: DUP3
00003368: PUSH1 0x20
0000336a: MSTORE
0000336b: DUP4
0000336c: PUSH1 0x40
0000336e: MSTORE
0000336f: DUP7
00003370: PUSH1 0x60
00003372: MSTORE
00003373: PUSH32 0x25bf703141a84375d04ea08a0c4a21c7406f300f133e12aef555607b4f3ff238
00003394: PUSH1 0x80
00003396: PUSH0
00003397: LOG1
00003398: PUSH1 0x40
0000339a: MSTORE
0000339b: PUSH0
0000339c: PUSH1 0x60
0000339e: MSTORE
0000339f: SWAP12
000033a0: SWAP11
000033a1: POP
000033a2: POP
000033a3: POP
000033a4: POP
000033a5: POP
000033a6: POP
000033a7: POP
000033a8: POP
000033a9: POP
000033aa: POP
000033ab: POP
000033ac: JUMP
000033ad: JUMPDEST
000033ae: PUSH1 0x01
000033b0: SLOAD
000033b1: PUSH0
000033b2: SWAP1
000033b3: PUSH1 0xff
000033b5: AND
000033b6: ISZERO
000033b7: PUSH2 0x33c1
000033ba: JUMPI
000033bb: POP
000033bc: PUSH0
000033bd: SWAP2
000033be: SWAP1
000033bf: POP
000033c0: JUMP
000033c1: JUMPDEST
000033c2: PUSH0
000033c3: PUSH2 0x33ca
000033c6: PUSH2 0x304c
000033c9: JUMP
000033ca: JUMPDEST
000033cb: SWAP1
000033cc: POP
000033cd: PUSH0
000033ce: PUSH2 0x33d9
000033d1: PUSH1 0x03
000033d3: SLOAD
000033d4: DUP4
000033d5: PUSH2 0x4079
000033d8: JUMP
000033d9: JUMPDEST
000033da: PUSH1 0x05
000033dc: SLOAD
000033dd: PUSH0
000033de: DUP7
000033df: DUP2
000033e0: MSTORE
000033e1: PUSH1 0x08
000033e3: PUSH1 0x20
000033e5: MSTORE
000033e6: PUSH1 0x40
000033e8: DUP2
000033e9: KECCAK256
000033ea: PUSH1 0x02
000033ec: DUP2
000033ed: ADD
000033ee: SLOAD
000033ef: DUP2
000033f0: SLOAD
000033f1: SWAP5
000033f2: SWAP6
000033f3: POP
000033f4: SWAP3
000033f5: SWAP4
000033f6: SWAP2
000033f7: SWAP3
000033f8: SWAP1
000033f9: SWAP2
000033fa: SWAP1
000033fb: PUSH1 0x01
000033fd: PUSH1 0x01
000033ff: PUSH1 0x80
00003401: SHL
00003402: SUB
00003403: AND
00003404: DUP4
00003405: PUSH2 0xffff
00003408: DUP4
00003409: AND
0000340a: PUSH0
0000340b: NOT
0000340c: DUP10
0000340d: SWAP1
0000340e: DIV
0000340f: DUP2
00003410: GT
00003411: DUP10
00003412: MUL
00003413: ISZERO
00003414: PUSH2 0x341b
00003417: JUMPI
00003418: PUSH0
00003419: DUP1
0000341a: REVERT
0000341b: JUMPDEST
0000341c: PUSH2 0x2710
0000341f: SWAP1
00003420: DUP10
00003421: MUL
00003422: DIV
00003423: SWAP1
00003424: POP
00003425: DUP1
00003426: DUP3
00003427: GT
00003428: DUP8
00003429: DUP8
0000342a: GT
0000342b: OR
0000342c: ISZERO
0000342d: PUSH2 0x3435
00003430: JUMPI
00003431: PUSH1 0x01
00003433: SWAP5
00003434: POP
00003435: JUMPDEST
00003436: DUP5
00003437: ISZERO
00003438: PUSH2 0x344a
0000343b: JUMPI
0000343c: POP
0000343d: PUSH0
0000343e: SWAP10
0000343f: SWAP9
00003440: POP
00003441: POP
00003442: POP
00003443: POP
00003444: POP
00003445: POP
00003446: POP
00003447: POP
00003448: POP
00003449: JUMP
0000344a: JUMPDEST
0000344b: PUSH0
0000344c: PUSH2 0x345f
0000344f: DUP4
00003450: DUP4
00003451: SUB
00003452: DUP9
00003453: DUP11
00003454: SUB
00003455: DUP1
00003456: DUP3
00003457: XOR
00003458: SWAP1
00003459: DUP3
0000345a: GT
0000345b: MUL
0000345c: XOR
0000345d: SWAP1
0000345e: JUMP
0000345f: JUMPDEST
00003460: SWAP1
00003461: POP
00003462: PUSH2 0x3473
00003465: DUP2
00003466: PUSH1 0x04
00003468: SLOAD
00003469: DUP1
0000346a: DUP3
0000346b: XOR
0000346c: SWAP1
0000346d: DUP3
0000346e: GT
0000346f: MUL
00003470: XOR
00003471: SWAP1
00003472: JUMP
00003473: JUMPDEST
00003474: PUSH1 0x01
00003476: DUP7
00003477: ADD
00003478: SLOAD
00003479: SWAP1
0000347a: SWAP2
0000347b: POP
0000347c: PUSH1 0x01
0000347e: PUSH1 0x01
00003480: PUSH1 0x80
00003482: SHL
00003483: SUB
00003484: AND
00003485: DUP2
00003486: LT
00003487: ISZERO
00003488: PUSH2 0x3490
0000348b: JUMPI
0000348c: PUSH1 0x01
0000348e: SWAP6
0000348f: POP
00003490: JUMPDEST
00003491: DUP6
00003492: ISZERO
00003493: PUSH2 0x34a6
00003496: JUMPI
00003497: POP
00003498: PUSH0
00003499: SWAP11
0000349a: SWAP10
0000349b: POP
0000349c: POP
0000349d: POP
0000349e: POP
0000349f: POP
000034a0: POP
000034a1: POP
000034a2: POP
000034a3: POP
000034a4: POP
000034a5: JUMP
000034a6: JUMPDEST
000034a7: PUSH1 0x80
000034a9: SWAP4
000034aa: SWAP1
000034ab: SWAP4
000034ac: SHR
000034ad: DUP4
000034ae: DUP2
000034af: XOR
000034b0: SWAP1
000034b1: DUP5
000034b2: GT
000034b3: MUL
000034b4: SWAP1
000034b5: SWAP3
000034b6: XOR
000034b7: SWAP10
000034b8: SWAP9
000034b9: POP
000034ba: POP
000034bb: POP
000034bc: POP
000034bd: POP
000034be: POP
000034bf: POP
000034c0: POP
000034c1: POP
000034c2: JUMP
000034c3: JUMPDEST
000034c4: DUP2
000034c5: PUSH1 0x14
000034c7: MSTORE
000034c8: DUP1
000034c9: PUSH1 0x34
000034cb: MSTORE
000034cc: PUSH4 0xa9059cbb
000034d1: PUSH1 0x60
000034d3: SHL
000034d4: PUSH0
000034d5: MSTORE
000034d6: PUSH1 0x20
000034d8: PUSH0
000034d9: PUSH1 0x44
000034db: PUSH1 0x10
000034dd: PUSH0
000034de: DUP8
000034df: GAS
000034e0: CALL
000034e1: RETURNDATASIZE
000034e2: ISZERO
000034e3: PUSH1 0x01
000034e5: PUSH0
000034e6: MLOAD
000034e7: EQ
000034e8: OR
000034e9: AND
000034ea: PUSH2 0x34fa
000034ed: JUMPI
000034ee: PUSH4 0x90b8ec18
000034f3: PUSH0
000034f4: MSTORE
000034f5: PUSH1 0x04
000034f7: PUSH1 0x1c
000034f9: REVERT
000034fa: JUMPDEST
000034fb: PUSH0
000034fc: PUSH1 0x34
000034fe: MSTORE
000034ff: POP
00003500: POP
00003501: POP
00003502: JUMP
00003503: JUMPDEST
00003504: PUSH1 0x40
00003506: MLOAD
00003507: DUP2
00003508: PUSH1 0x60
0000350a: MSTORE
0000350b: DUP3
0000350c: PUSH1 0x40
0000350e: MSTORE
0000350f: DUP4
00003510: PUSH1 0x60
00003512: SHL
00003513: PUSH1 0x2c
00003515: MSTORE
00003516: PUSH4 0x23b872dd
0000351b: PUSH1 0x60
0000351d: SHL
0000351e: PUSH1 0x0c
00003520: MSTORE
00003521: PUSH1 0x20
00003523: PUSH0
00003524: PUSH1 0x64
00003526: PUSH1 0x1c
00003528: PUSH0
00003529: DUP10
0000352a: GAS
0000352b: CALL
0000352c: RETURNDATASIZE
0000352d: ISZERO
0000352e: PUSH1 0x01
00003530: PUSH0
00003531: MLOAD
00003532: EQ
00003533: OR
00003534: AND
00003535: PUSH2 0x3545
00003538: JUMPI
00003539: PUSH4 0x7939f424
0000353e: PUSH0
0000353f: MSTORE
00003540: PUSH1 0x04
00003542: PUSH1 0x1c
00003544: REVERT
00003545: JUMPDEST
00003546: PUSH0
00003547: PUSH1 0x60
00003549: MSTORE
0000354a: PUSH1 0x40
0000354c: MSTORE
0000354d: POP
0000354e: POP
0000354f: POP
00003550: POP
00003551: JUMP
00003552: JUMPDEST
00003553: PUSH0
00003554: DUP2
00003555: DUP2
00003556: MSTORE
00003557: PUSH1 0x08
00003559: PUSH1 0x20
0000355b: MSTORE
0000355c: PUSH1 0x40
0000355e: DUP2
0000355f: KECCAK256
00003560: PUSH1 0x02
00003562: DUP2
00003563: ADD
00003564: SLOAD
00003565: SWAP1
00003566: SLOAD
00003567: PUSH1 0x03
00003569: SLOAD
0000356a: PUSH1 0x01
0000356c: PUSH1 0x01
0000356e: PUSH1 0x80
00003570: SHL
00003571: SUB
00003572: SWAP1
00003573: SWAP3
00003574: AND
00003575: SWAP2
00003576: PUSH2 0xffff
00003579: SWAP1
0000357a: SWAP2
0000357b: AND
0000357c: SWAP1
0000357d: ISZERO
0000357e: DUP1
0000357f: PUSH2 0x358a
00003582: JUMPI
00003583: POP
00003584: PUSH1 0x01
00003586: SLOAD
00003587: PUSH1 0xff
00003589: AND
0000358a: JUMPDEST
0000358b: ISZERO
0000358c: PUSH2 0x3596
0000358f: JUMPI
00003590: POP
00003591: SWAP3
00003592: SWAP2
00003593: POP
00003594: POP
00003595: JUMP
00003596: JUMPDEST
00003597: PUSH0
00003598: PUSH2 0x35a8
0000359b: DUP3
0000359c: PUSH2 0x35a3
0000359f: PUSH2 0x304c
000035a2: JUMP
000035a3: JUMPDEST
000035a4: PUSH2 0x4079
000035a7: JUMP
000035a8: JUMPDEST
000035a9: SWAP1
000035aa: POP
000035ab: DUP3
000035ac: DUP2
000035ad: LT
000035ae: PUSH2 0x35bb
000035b1: JUMPI
000035b2: POP
000035b3: PUSH0
000035b4: SWAP5
000035b5: SWAP4
000035b6: POP
000035b7: POP
000035b8: POP
000035b9: POP
000035ba: JUMP
000035bb: JUMPDEST
000035bc: SWAP1
000035bd: SWAP2
000035be: SUB
000035bf: SWAP4
000035c0: SWAP3
000035c1: POP
000035c2: POP
000035c3: POP
000035c4: JUMP
000035c5: JUMPDEST
000035c6: PUSH0
000035c7: DUP2
000035c8: PUSH2 0x35d8
000035cb: JUMPI
000035cc: PUSH4 0xdd484e70
000035d1: PUSH0
000035d2: MSTORE
000035d3: PUSH1 0x04
000035d5: PUSH1 0x1c
000035d7: REVERT
000035d8: JUMPDEST
000035d9: PUSH0
000035da: PUSH2 0x35e1
000035dd: PUSH2 0x2bc7
000035e0: JUMP
000035e1: JUMPDEST
000035e2: PUSH1 0x04
000035e4: SLOAD
000035e5: SWAP1
000035e6: SWAP2
000035e7: POP
000035e8: PUSH1 0x06
000035ea: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
0000360b: PUSH2 0x3619
0000360e: DUP7
0000360f: PUSH2 0x11dc
00003612: DUP5
00003613: PUSH1 0x0a
00003615: PUSH2 0x45d0
00003618: JUMP
00003619: JUMPDEST
0000361a: SWAP5
0000361b: POP
0000361c: DUP3
0000361d: DUP7
0000361e: GT
0000361f: ISZERO
00003620: PUSH2 0x38e6
00003623: JUMPI
00003624: PUSH0
00003625: DUP1
00003626: JUMPDEST
00003627: PUSH1 0x14
00003629: DUP2
0000362a: LT
0000362b: ISZERO
0000362c: PUSH2 0x3878
0000362f: JUMPI
00003630: PUSH0
00003631: PUSH1 0x09
00003633: DUP3
00003634: PUSH1 0x14
00003636: DUP2
00003637: LT
00003638: PUSH2 0x3643
0000363b: JUMPI
0000363c: PUSH2 0x3643
0000363f: PUSH2 0x45db
00003642: JUMP
00003643: JUMPDEST
00003644: ADD
00003645: SLOAD
00003646: PUSH1 0x01
00003648: PUSH1 0x01
0000364a: PUSH1 0xa0
0000364c: SHL
0000364d: SUB
0000364e: AND
0000364f: SWAP1
00003650: POP
00003651: DUP1
00003652: PUSH2 0x365b
00003655: JUMPI
00003656: POP
00003657: PUSH2 0x3878
0000365a: JUMP
0000365b: JUMPDEST
0000365c: DUP9
0000365d: DUP7
0000365e: LT
0000365f: PUSH2 0x3668
00003662: JUMPI
00003663: POP
00003664: PUSH2 0x3878
00003667: JUMP
00003668: JUMPDEST
00003669: PUSH0
0000366a: PUSH2 0x3673
0000366d: DUP8
0000366e: DUP12
0000366f: PUSH2 0x45ef
00003672: JUMP
00003673: JUMPDEST
00003674: SWAP1
00003675: POP
00003676: PUSH2 0x36b5
00003679: DUP2
0000367a: DUP4
0000367b: PUSH1 0x01
0000367d: PUSH1 0x01
0000367f: PUSH1 0xa0
00003681: SHL
00003682: SUB
00003683: AND
00003684: PUSH4 0x8f843dd1
00003689: PUSH1 0x40
0000368b: MLOAD
0000368c: DUP2
0000368d: PUSH4 0xffffffff
00003692: AND
00003693: PUSH1 0xe0
00003695: SHL
00003696: DUP2
00003697: MSTORE
00003698: PUSH1 0x04
0000369a: ADD
0000369b: PUSH1 0x20
0000369d: PUSH1 0x40
0000369f: MLOAD
000036a0: DUP1
000036a1: DUP4
000036a2: SUB
000036a3: DUP2
000036a4: DUP7
000036a5: GAS
000036a6: STATICCALL
000036a7: ISZERO
000036a8: DUP1
000036a9: ISZERO
000036aa: PUSH2 0x10e4
000036ad: JUMPI
000036ae: RETURNDATASIZE
000036af: PUSH0
000036b0: DUP1
000036b1: RETURNDATACOPY
000036b2: RETURNDATASIZE
000036b3: PUSH0
000036b4: REVERT
000036b5: JUMPDEST
000036b6: SWAP1
000036b7: POP
000036b8: DUP1
000036b9: PUSH0
000036ba: SUB
000036bb: PUSH2 0x36c8
000036be: JUMPI
000036bf: POP
000036c0: POP
000036c1: PUSH1 0x01
000036c3: ADD
000036c4: PUSH2 0x3626
000036c7: JUMP
000036c8: JUMPDEST
000036c9: PUSH0
000036ca: PUSH2 0x36dc
000036cd: PUSH1 0x01
000036cf: PUSH1 0x01
000036d1: PUSH1 0xa0
000036d3: SHL
000036d4: SUB
000036d5: DUP8
000036d6: AND
000036d7: ADDRESS
000036d8: PUSH2 0x3065
000036db: JUMP
000036dc: JUMPDEST
000036dd: SWAP1
000036de: POP
000036df: PUSH0
000036e0: DUP1
000036e1: DUP5
000036e2: PUSH1 0x01
000036e4: PUSH1 0x01
000036e6: PUSH1 0xa0
000036e8: SHL
000036e9: SUB
000036ea: AND
000036eb: PUSH4 0x1fd8c7b7
000036f0: DUP6
000036f1: PUSH1 0x40
000036f3: MLOAD
000036f4: DUP3
000036f5: PUSH4 0xffffffff
000036fa: AND
000036fb: PUSH1 0xe0
000036fd: SHL
000036fe: DUP2
000036ff: MSTORE
00003700: PUSH1 0x04
00003702: ADD
00003703: PUSH2 0x370e
00003706: SWAP2
00003707: DUP2
00003708: MSTORE
00003709: PUSH1 0x20
0000370b: ADD
0000370c: SWAP1
0000370d: JUMP
0000370e: JUMPDEST
0000370f: PUSH1 0x20
00003711: PUSH1 0x40
00003713: MLOAD
00003714: DUP1
00003715: DUP4
00003716: SUB
00003717: DUP2
00003718: PUSH0
00003719: DUP8
0000371a: GAS
0000371b: CALL
0000371c: SWAP3
0000371d: POP
0000371e: POP
0000371f: POP
00003720: DUP1
00003721: ISZERO
00003722: PUSH2 0x3748
00003725: JUMPI
00003726: POP
00003727: PUSH1 0x40
00003729: DUP1
0000372a: MLOAD
0000372b: PUSH1 0x1f
0000372d: RETURNDATASIZE
0000372e: SWAP1
0000372f: DUP2
00003730: ADD
00003731: PUSH1 0x1f
00003733: NOT
00003734: AND
00003735: DUP3
00003736: ADD
00003737: SWAP1
00003738: SWAP3
00003739: MSTORE
0000373a: PUSH2 0x3745
0000373d: SWAP2
0000373e: DUP2
0000373f: ADD
00003740: SWAP1
00003741: PUSH2 0x4602
00003744: JUMP
00003745: JUMPDEST
00003746: PUSH1 0x01
00003748: JUMPDEST
00003749: PUSH2 0x375c
0000374c: JUMPI
0000374d: DUP6
0000374e: PUSH1 0x01
00003750: ADD
00003751: SWAP6
00003752: POP
00003753: POP
00003754: POP
00003755: POP
00003756: POP
00003757: POP
00003758: PUSH2 0x3626
0000375b: JUMP
0000375c: JUMPDEST
0000375d: DUP1
0000375e: SWAP2
0000375f: POP
00003760: DUP4
00003761: PUSH2 0x376a
00003764: DUP11
00003765: ADDRESS
00003766: PUSH2 0x3065
00003769: JUMP
0000376a: JUMPDEST
0000376b: PUSH2 0x3774
0000376e: SWAP2
0000376f: SWAP1
00003770: PUSH2 0x45ef
00003773: JUMP
00003774: JUMPDEST
00003775: SWAP3
00003776: POP
00003777: POP
00003778: DUP2
00003779: PUSH0
0000377a: SUB
0000377b: PUSH2 0x378e
0000377e: JUMPI
0000377f: DUP6
00003780: PUSH1 0x01
00003782: ADD
00003783: SWAP6
00003784: POP
00003785: POP
00003786: POP
00003787: POP
00003788: POP
00003789: POP
0000378a: PUSH2 0x3626
0000378d: JUMP
0000378e: JUMPDEST
0000378f: PUSH2 0x3798
00003792: DUP3
00003793: DUP12
00003794: PUSH2 0x44dd
00003797: JUMP
00003798: JUMPDEST
00003799: SWAP10
0000379a: POP
0000379b: DUP1
0000379c: ISZERO
0000379d: PUSH2 0x37b6
000037a0: JUMPI
000037a1: PUSH2 0x37aa
000037a4: DUP2
000037a5: DUP9
000037a6: PUSH2 0x44dd
000037a9: JUMP
000037aa: JUMPDEST
000037ab: SWAP7
000037ac: POP
000037ad: PUSH2 0x37b6
000037b0: DUP6
000037b1: DUP3
000037b2: PUSH2 0x308f
000037b5: JUMP
000037b6: JUMPDEST
000037b7: PUSH1 0x01
000037b9: PUSH1 0x01
000037bb: PUSH1 0xa0
000037bd: SHL
000037be: SUB
000037bf: DUP6
000037c0: AND
000037c1: PUSH0
000037c2: SWAP1
000037c3: DUP2
000037c4: MSTORE
000037c5: PUSH1 0x08
000037c7: PUSH1 0x20
000037c9: MSTORE
000037ca: PUSH1 0x40
000037cc: DUP2
000037cd: KECCAK256
000037ce: PUSH1 0x02
000037d0: ADD
000037d1: DUP1
000037d2: SLOAD
000037d3: PUSH1 0x05
000037d5: DUP1
000037d6: SLOAD
000037d7: PUSH1 0x01
000037d9: PUSH1 0x01
000037db: PUSH1 0x80
000037dd: SHL
000037de: SUB
000037df: SWAP3
000037e0: DUP4
000037e1: AND
000037e2: DUP8
000037e3: DUP2
000037e4: XOR
000037e5: DUP9
000037e6: DUP3
000037e7: GT
000037e8: MUL
000037e9: XOR
000037ea: SWAP1
000037eb: DUP2
000037ec: SWAP1
000037ed: SUB
000037ee: SWAP1
000037ef: SWAP2
000037f0: SSTORE
000037f1: SWAP2
000037f2: SLOAD
000037f3: SWAP2
000037f4: SWAP3
000037f5: SWAP2
000037f6: PUSH2 0x3801
000037f9: SWAP2
000037fa: DUP5
000037fb: SWAP2
000037fc: AND
000037fd: PUSH2 0x45ef
00003800: JUMP
00003801: JUMPDEST
00003802: PUSH1 0x01
00003804: PUSH1 0x01
00003806: PUSH1 0xa0
00003808: SHL
00003809: SUB
0000380a: DUP9
0000380b: AND
0000380c: PUSH0
0000380d: SWAP1
0000380e: DUP2
0000380f: MSTORE
00003810: PUSH1 0x08
00003812: PUSH1 0x20
00003814: SWAP1
00003815: DUP2
00003816: MSTORE
00003817: PUSH1 0x40
00003819: DUP1
0000381a: DUP4
0000381b: KECCAK256
0000381c: PUSH1 0x02
0000381e: ADD
0000381f: DUP1
00003820: SLOAD
00003821: PUSH1 0x01
00003823: PUSH1 0x01
00003825: PUSH1 0x80
00003827: SHL
00003828: SUB
00003829: NOT
0000382a: AND
0000382b: PUSH1 0x01
0000382d: PUSH1 0x01
0000382f: PUSH1 0x80
00003831: SHL
00003832: SUB
00003833: DUP7
00003834: AND
00003835: OR
00003836: SWAP1
00003837: SSTORE
00003838: DUP4
00003839: DUP4
0000383a: MSTORE
0000383b: SWAP1
0000383c: DUP7
0000383d: SWAP1
0000383e: MSTORE
0000383f: SWAP2
00003840: SWAP3
00003841: POP
00003842: DUP9
00003843: SWAP2
00003844: PUSH32 0x8c1171ccd065c6769e1540f65c3c0874e5f7173ccdff7ca293238e69d000bf20
00003865: SWAP2
00003866: LOG2
00003867: DUP8
00003868: PUSH1 0x01
0000386a: ADD
0000386b: SWAP8
0000386c: POP
0000386d: POP
0000386e: POP
0000386f: POP
00003870: POP
00003871: POP
00003872: POP
00003873: POP
00003874: PUSH2 0x3626
00003877: JUMP
00003878: JUMPDEST
00003879: POP
0000387a: PUSH1 0x04
0000387c: DUP5
0000387d: SWAP1
0000387e: SSTORE
0000387f: PUSH2 0x38ab
00003882: DUP2
00003883: PUSH2 0x388d
00003886: DUP6
00003887: PUSH1 0x0a
00003889: PUSH2 0x45d0
0000388c: JUMP
0000388d: JUMPDEST
0000388e: PUSH9 0x05345cdf77eb68f44c
00003898: SLOAD
00003899: PUSH2 0x38a2
0000389c: SWAP2
0000389d: SWAP1
0000389e: PUSH2 0x44dd
000038a1: JUMP
000038a2: JUMPDEST
000038a3: PUSH1 0x01
000038a5: DUP9
000038a6: ADD
000038a7: PUSH2 0x2d55
000038aa: JUMP
000038ab: JUMPDEST
000038ac: PUSH2 0x38b5
000038af: SWAP1
000038b0: DUP8
000038b1: PUSH2 0x44dd
000038b4: JUMP
000038b5: JUMPDEST
000038b6: SWAP6
000038b7: POP
000038b8: DUP7
000038b9: DUP5
000038ba: LT
000038bb: ISZERO
000038bc: PUSH2 0x38e4
000038bf: JUMPI
000038c0: PUSH2 0x38d7
000038c3: PUSH2 0x38cc
000038c6: DUP6
000038c7: DUP10
000038c8: PUSH2 0x45ef
000038cb: JUMP
000038cc: JUMPDEST
000038cd: PUSH2 0x388d
000038d0: DUP6
000038d1: PUSH1 0x0a
000038d3: PUSH2 0x45d0
000038d6: JUMP
000038d7: JUMPDEST
000038d8: PUSH2 0x38e1
000038db: SWAP1
000038dc: DUP8
000038dd: PUSH2 0x44dd
000038e0: JUMP
000038e1: JUMPDEST
000038e2: SWAP6
000038e3: POP
000038e4: JUMPDEST
000038e5: POP
000038e6: JUMPDEST
000038e7: DUP7
000038e8: PUSH1 0x01
000038ea: PUSH1 0x01
000038ec: PUSH1 0xa0
000038ee: SHL
000038ef: SUB
000038f0: AND
000038f1: DUP10
000038f2: PUSH1 0x01
000038f4: PUSH1 0x01
000038f6: PUSH1 0xa0
000038f8: SHL
000038f9: SUB
000038fa: AND
000038fb: EQ
000038fc: PUSH2 0x390a
000038ff: JUMPI
00003900: PUSH2 0x390a
00003903: DUP8
00003904: DUP11
00003905: DUP8
00003906: PUSH2 0x4095
00003909: JUMP
0000390a: JUMPDEST
0000390b: PUSH2 0x3914
0000390e: DUP8
0000390f: DUP7
00003910: PUSH2 0x40d3
00003913: JUMP
00003914: JUMPDEST
00003915: PUSH1 0x04
00003917: SLOAD
00003918: DUP7
00003919: GT
0000391a: ISZERO
0000391b: PUSH2 0x3922
0000391e: JUMPI
0000391f: PUSH0
00003920: DUP1
00003921: REVERT
00003922: JUMPDEST
00003923: PUSH1 0x04
00003925: DUP1
00003926: SLOAD
00003927: DUP8
00003928: SWAP1
00003929: SUB
0000392a: SWAP1
0000392b: SSTORE
0000392c: PUSH2 0x3936
0000392f: DUP2
00003930: DUP10
00003931: DUP9
00003932: PUSH2 0x34c3
00003935: JUMP
00003936: JUMPDEST
00003937: DUP6
00003938: PUSH0
00003939: MSTORE
0000393a: DUP5
0000393b: PUSH1 0x20
0000393d: MSTORE
0000393e: PUSH0
0000393f: NOT
00003940: PUSH1 0x60
00003942: SHR
00003943: DUP8
00003944: DUP2
00003945: AND
00003946: DUP10
00003947: DUP3
00003948: AND
00003949: DUP12
0000394a: DUP4
0000394b: AND
0000394c: PUSH32 0xfbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db
0000396d: PUSH1 0x40
0000396f: PUSH0
00003970: LOG4
00003971: POP
00003972: POP
00003973: POP
00003974: POP
00003975: POP
00003976: SWAP5
00003977: SWAP4
00003978: POP
00003979: POP
0000397a: POP
0000397b: POP
0000397c: JUMP
0000397d: JUMPDEST
0000397e: PUSH0
0000397f: DUP3
00003980: PUSH1 0x01
00003982: PUSH1 0x01
00003984: PUSH1 0xa0
00003986: SHL
00003987: SUB
00003988: AND
00003989: DUP6
0000398a: PUSH1 0x01
0000398c: PUSH1 0x01
0000398e: PUSH1 0xa0
00003990: SHL
00003991: SUB
00003992: AND
00003993: EQ
00003994: PUSH2 0x39a2
00003997: JUMPI
00003998: PUSH2 0x39a2
0000399b: DUP4
0000399c: DUP7
0000399d: DUP5
0000399e: PUSH2 0x4095
000039a1: JUMP
000039a2: JUMPDEST
000039a3: DUP2
000039a4: PUSH2 0x39b4
000039a7: JUMPI
000039a8: PUSH4 0x5a870a25
000039ad: PUSH0
000039ae: MSTORE
000039af: PUSH1 0x04
000039b1: PUSH1 0x1c
000039b3: REVERT
000039b4: JUMPDEST
000039b5: PUSH2 0x39bd
000039b8: DUP3
000039b9: PUSH2 0x0f3a
000039bc: JUMP
000039bd: JUMPDEST
000039be: PUSH1 0x04
000039c0: SLOAD
000039c1: SWAP1
000039c2: SWAP2
000039c3: POP
000039c4: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
000039e5: SWAP1
000039e6: DUP1
000039e7: DUP4
000039e8: GT
000039e9: ISZERO
000039ea: PUSH2 0x3c6f
000039ed: JUMPI
000039ee: PUSH0
000039ef: DUP1
000039f0: JUMPDEST
000039f1: PUSH1 0x14
000039f3: DUP2
000039f4: LT
000039f5: ISZERO
000039f6: PUSH2 0x3c57
000039f9: JUMPI
000039fa: PUSH0
000039fb: PUSH1 0x09
000039fd: DUP3
000039fe: PUSH1 0x14
00003a00: DUP2
00003a01: LT
00003a02: PUSH2 0x3a0d
00003a05: JUMPI
00003a06: PUSH2 0x3a0d
00003a09: PUSH2 0x45db
00003a0c: JUMP
00003a0d: JUMPDEST
00003a0e: ADD
00003a0f: SLOAD
00003a10: PUSH1 0x01
00003a12: PUSH1 0x01
00003a14: PUSH1 0xa0
00003a16: SHL
00003a17: SUB
00003a18: AND
00003a19: SWAP1
00003a1a: POP
00003a1b: DUP1
00003a1c: PUSH2 0x3a25
00003a1f: JUMPI
00003a20: POP
00003a21: PUSH2 0x3c57
00003a24: JUMP
00003a25: JUMPDEST
00003a26: DUP6
00003a27: DUP5
00003a28: LT
00003a29: PUSH2 0x3a32
00003a2c: JUMPI
00003a2d: POP
00003a2e: PUSH2 0x3c57
00003a31: JUMP
00003a32: JUMPDEST
00003a33: PUSH0
00003a34: DUP2
00003a35: PUSH0
00003a36: MSTORE
00003a37: PUSH1 0x08
00003a39: PUSH1 0x20
00003a3b: MSTORE
00003a3c: PUSH1 0x02
00003a3e: PUSH1 0x40
00003a40: PUSH0
00003a41: KECCAK256
00003a42: ADD
00003a43: SWAP1
00003a44: POP
00003a45: PUSH0
00003a46: DUP6
00003a47: DUP9
00003a48: SUB
00003a49: SWAP1
00003a4a: POP
00003a4b: PUSH2 0x3a8a
00003a4e: DUP2
00003a4f: DUP5
00003a50: PUSH1 0x01
00003a52: PUSH1 0x01
00003a54: PUSH1 0xa0
00003a56: SHL
00003a57: SUB
00003a58: AND
00003a59: PUSH4 0xa2b20eec
00003a5e: PUSH1 0x40
00003a60: MLOAD
00003a61: DUP2
00003a62: PUSH4 0xffffffff
00003a67: AND
00003a68: PUSH1 0xe0
00003a6a: SHL
00003a6b: DUP2
00003a6c: MSTORE
00003a6d: PUSH1 0x04
00003a6f: ADD
00003a70: PUSH1 0x20
00003a72: PUSH1 0x40
00003a74: MLOAD
00003a75: DUP1
00003a76: DUP4
00003a77: SUB
00003a78: DUP2
00003a79: DUP7
00003a7a: GAS
00003a7b: STATICCALL
00003a7c: ISZERO
00003a7d: DUP1
00003a7e: ISZERO
00003a7f: PUSH2 0x10e4
00003a82: JUMPI
00003a83: RETURNDATASIZE
00003a84: PUSH0
00003a85: DUP1
00003a86: RETURNDATACOPY
00003a87: RETURNDATASIZE
00003a88: PUSH0
00003a89: REVERT
00003a8a: JUMPDEST
00003a8b: SWAP1
00003a8c: POP
00003a8d: DUP1
00003a8e: PUSH0
00003a8f: SUB
00003a90: PUSH2 0x3aa1
00003a93: JUMPI
00003a94: DUP4
00003a95: PUSH1 0x01
00003a97: ADD
00003a98: SWAP4
00003a99: POP
00003a9a: POP
00003a9b: POP
00003a9c: POP
00003a9d: PUSH2 0x39f0
00003aa0: JUMP
00003aa1: JUMPDEST
00003aa2: PUSH0
00003aa3: PUSH2 0x3aac
00003aa6: DUP9
00003aa7: ADDRESS
00003aa8: PUSH2 0x3065
00003aab: JUMP
00003aac: JUMPDEST
00003aad: SWAP1
00003aae: POP
00003aaf: PUSH0
00003ab0: DUP1
00003ab1: DUP6
00003ab2: PUSH1 0x01
00003ab4: PUSH1 0x01
00003ab6: PUSH1 0xa0
00003ab8: SHL
00003ab9: SUB
00003aba: AND
00003abb: PUSH4 0x415f1240
00003ac0: DUP6
00003ac1: PUSH1 0x40
00003ac3: MLOAD
00003ac4: DUP3
00003ac5: PUSH4 0xffffffff
00003aca: AND
00003acb: PUSH1 0xe0
00003acd: SHL
00003ace: DUP2
00003acf: MSTORE
00003ad0: PUSH1 0x04
00003ad2: ADD
00003ad3: PUSH2 0x3ade
00003ad6: SWAP2
00003ad7: DUP2
00003ad8: MSTORE
00003ad9: PUSH1 0x20
00003adb: ADD
00003adc: SWAP1
00003add: JUMP
00003ade: JUMPDEST
00003adf: PUSH1 0x20
00003ae1: PUSH1 0x40
00003ae3: MLOAD
00003ae4: DUP1
00003ae5: DUP4
00003ae6: SUB
00003ae7: DUP2
00003ae8: PUSH0
00003ae9: DUP8
00003aea: GAS
00003aeb: CALL
00003aec: SWAP3
00003aed: POP
00003aee: POP
00003aef: POP
00003af0: DUP1
00003af1: ISZERO
00003af2: PUSH2 0x3b18
00003af5: JUMPI
00003af6: POP
00003af7: PUSH1 0x40
00003af9: DUP1
00003afa: MLOAD
00003afb: PUSH1 0x1f
00003afd: RETURNDATASIZE
00003afe: SWAP1
00003aff: DUP2
00003b00: ADD
00003b01: PUSH1 0x1f
00003b03: NOT
00003b04: AND
00003b05: DUP3
00003b06: ADD
00003b07: SWAP1
00003b08: SWAP3
00003b09: MSTORE
00003b0a: PUSH2 0x3b15
00003b0d: SWAP2
00003b0e: DUP2
00003b0f: ADD
00003b10: SWAP1
00003b11: PUSH2 0x4602
00003b14: JUMP
00003b15: JUMPDEST
00003b16: PUSH1 0x01
00003b18: JUMPDEST
00003b19: PUSH2 0x3b2d
00003b1c: JUMPI
00003b1d: DUP7
00003b1e: PUSH1 0x01
00003b20: ADD
00003b21: SWAP7
00003b22: POP
00003b23: POP
00003b24: POP
00003b25: POP
00003b26: POP
00003b27: POP
00003b28: POP
00003b29: PUSH2 0x39f0
00003b2c: JUMP
00003b2d: JUMPDEST
00003b2e: DUP1
00003b2f: SWAP2
00003b30: POP
00003b31: DUP4
00003b32: PUSH2 0x3b3b
00003b35: DUP13
00003b36: ADDRESS
00003b37: PUSH2 0x3065
00003b3a: JUMP
00003b3b: JUMPDEST
00003b3c: PUSH2 0x3b45
00003b3f: SWAP2
00003b40: SWAP1
00003b41: PUSH2 0x45ef
00003b44: JUMP
00003b45: JUMPDEST
00003b46: SWAP3
00003b47: POP
00003b48: POP
00003b49: DUP2
00003b4a: PUSH0
00003b4b: SUB
00003b4c: PUSH2 0x3b60
00003b4f: JUMPI
00003b50: DUP7
00003b51: PUSH1 0x01
00003b53: ADD
00003b54: SWAP7
00003b55: POP
00003b56: POP
00003b57: POP
00003b58: POP
00003b59: POP
00003b5a: POP
00003b5b: POP
00003b5c: PUSH2 0x39f0
00003b5f: JUMP
00003b60: JUMPDEST
00003b61: PUSH2 0x3b6a
00003b64: DUP3
00003b65: DUP11
00003b66: PUSH2 0x44dd
00003b69: JUMP
00003b6a: JUMPDEST
00003b6b: SWAP9
00003b6c: POP
00003b6d: DUP1
00003b6e: ISZERO
00003b6f: PUSH2 0x3b94
00003b72: JUMPI
00003b73: PUSH2 0x3b7c
00003b76: DUP2
00003b77: DUP13
00003b78: PUSH2 0x45ef
00003b7b: JUMP
00003b7c: JUMPDEST
00003b7d: SWAP11
00003b7e: POP
00003b7f: PUSH2 0x3b88
00003b82: DUP2
00003b83: DUP10
00003b84: PUSH2 0x44dd
00003b87: JUMP
00003b88: JUMPDEST
00003b89: SWAP8
00003b8a: POP
00003b8b: PUSH2 0x3b94
00003b8e: DUP7
00003b8f: DUP3
00003b90: PUSH2 0x308f
00003b93: JUMP
00003b94: JUMPDEST
00003b95: PUSH1 0x01
00003b97: PUSH1 0x01
00003b99: PUSH1 0xa0
00003b9b: SHL
00003b9c: SUB
00003b9d: DUP7
00003b9e: AND
00003b9f: PUSH0
00003ba0: SWAP1
00003ba1: DUP2
00003ba2: MSTORE
00003ba3: PUSH1 0x08
00003ba5: PUSH1 0x20
00003ba7: MSTORE
00003ba8: PUSH1 0x40
00003baa: DUP2
00003bab: KECCAK256
00003bac: PUSH1 0x02
00003bae: ADD
00003baf: DUP1
00003bb0: SLOAD
00003bb1: PUSH1 0x05
00003bb3: DUP1
00003bb4: SLOAD
00003bb5: PUSH1 0x01
00003bb7: PUSH1 0x01
00003bb9: PUSH1 0x80
00003bbb: SHL
00003bbc: SUB
00003bbd: SWAP3
00003bbe: DUP4
00003bbf: AND
00003bc0: DUP8
00003bc1: DUP2
00003bc2: XOR
00003bc3: DUP9
00003bc4: DUP3
00003bc5: GT
00003bc6: MUL
00003bc7: XOR
00003bc8: SWAP1
00003bc9: DUP2
00003bca: SWAP1
00003bcb: SUB
00003bcc: SWAP1
00003bcd: SWAP2
00003bce: SSTORE
00003bcf: SWAP2
00003bd0: SLOAD
00003bd1: SWAP2
00003bd2: SWAP3
00003bd3: SWAP2
00003bd4: PUSH2 0x3bdf
00003bd7: SWAP2
00003bd8: DUP5
00003bd9: SWAP2
00003bda: AND
00003bdb: PUSH2 0x45ef
00003bde: JUMP
00003bdf: JUMPDEST
00003be0: PUSH1 0x01
00003be2: PUSH1 0x01
00003be4: PUSH1 0xa0
00003be6: SHL
00003be7: SUB
00003be8: DUP10
00003be9: AND
00003bea: PUSH0
00003beb: SWAP1
00003bec: DUP2
00003bed: MSTORE
00003bee: PUSH1 0x08
00003bf0: PUSH1 0x20
00003bf2: SWAP1
00003bf3: DUP2
00003bf4: MSTORE
00003bf5: PUSH1 0x40
00003bf7: DUP1
00003bf8: DUP4
00003bf9: KECCAK256
00003bfa: PUSH1 0x02
00003bfc: ADD
00003bfd: DUP1
00003bfe: SLOAD
00003bff: PUSH1 0x01
00003c01: PUSH1 0x01
00003c03: PUSH1 0x80
00003c05: SHL
00003c06: SUB
00003c07: NOT
00003c08: AND
00003c09: PUSH1 0x01
00003c0b: PUSH1 0x01
00003c0d: PUSH1 0x80
00003c0f: SHL
00003c10: SUB
00003c11: DUP7
00003c12: AND
00003c13: OR
00003c14: SWAP1
00003c15: SSTORE
00003c16: DUP4
00003c17: DUP4
00003c18: MSTORE
00003c19: SWAP1
00003c1a: DUP7
00003c1b: SWAP1
00003c1c: MSTORE
00003c1d: SWAP2
00003c1e: SWAP3
00003c1f: POP
00003c20: DUP10
00003c21: SWAP2
00003c22: PUSH32 0x8c1171ccd065c6769e1540f65c3c0874e5f7173ccdff7ca293238e69d000bf20
00003c43: SWAP2
00003c44: LOG2
00003c45: DUP9
00003c46: PUSH1 0x01
00003c48: ADD
00003c49: SWAP9
00003c4a: POP
00003c4b: POP
00003c4c: POP
00003c4d: POP
00003c4e: POP
00003c4f: POP
00003c50: POP
00003c51: POP
00003c52: POP
00003c53: PUSH2 0x39f0
00003c56: JUMP
00003c57: JUMPDEST
00003c58: POP
00003c59: PUSH1 0x04
00003c5b: DUP3
00003c5c: SWAP1
00003c5d: SSTORE
00003c5e: DUP4
00003c5f: DUP2
00003c60: ADD
00003c61: DUP5
00003c62: DUP2
00003c63: LT
00003c64: ISZERO
00003c65: PUSH2 0x3c6c
00003c68: JUMPI
00003c69: PUSH0
00003c6a: DUP1
00003c6b: REVERT
00003c6c: JUMPDEST
00003c6d: POP
00003c6e: POP
00003c6f: JUMPDEST
00003c70: DUP3
00003c71: PUSH2 0x3c81
00003c74: JUMPI
00003c75: PUSH4 0xdd484e70
00003c7a: PUSH0
00003c7b: MSTORE
00003c7c: PUSH1 0x04
00003c7e: PUSH1 0x1c
00003c80: REVERT
00003c81: JUMPDEST
00003c82: PUSH2 0x3c8b
00003c85: DUP6
00003c86: DUP6
00003c87: PUSH2 0x40d3
00003c8a: JUMP
00003c8b: JUMPDEST
00003c8c: PUSH1 0x04
00003c8e: SLOAD
00003c8f: DUP4
00003c90: GT
00003c91: ISZERO
00003c92: PUSH2 0x3c9b
00003c95: JUMPI
00003c96: PUSH1 0x04
00003c98: SLOAD
00003c99: SWAP3
00003c9a: POP
00003c9b: JUMPDEST
00003c9c: DUP3
00003c9d: PUSH2 0x3cad
00003ca0: JUMPI
00003ca1: PUSH4 0xdd484e70
00003ca6: PUSH0
00003ca7: MSTORE
00003ca8: PUSH1 0x04
00003caa: PUSH1 0x1c
00003cac: REVERT
00003cad: JUMPDEST
00003cae: PUSH1 0x04
00003cb0: DUP1
00003cb1: SLOAD
00003cb2: DUP5
00003cb3: SWAP1
00003cb4: SUB
00003cb5: SWAP1
00003cb6: SSTORE
00003cb7: PUSH2 0x3cc1
00003cba: DUP3
00003cbb: DUP8
00003cbc: DUP6
00003cbd: PUSH2 0x34c3
00003cc0: JUMP
00003cc1: JUMPDEST
00003cc2: DUP3
00003cc3: PUSH0
00003cc4: MSTORE
00003cc5: DUP4
00003cc6: PUSH1 0x20
00003cc8: MSTORE
00003cc9: PUSH0
00003cca: NOT
00003ccb: PUSH1 0x60
00003ccd: SHR
00003cce: DUP6
00003ccf: DUP2
00003cd0: AND
00003cd1: DUP8
00003cd2: DUP3
00003cd3: AND
00003cd4: DUP10
00003cd5: DUP4
00003cd6: AND
00003cd7: PUSH32 0xfbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db
00003cf8: PUSH1 0x40
00003cfa: PUSH0
00003cfb: LOG4
00003cfc: POP
00003cfd: POP
00003cfe: POP
00003cff: SWAP5
00003d00: SWAP4
00003d01: POP
00003d02: POP
00003d03: POP
00003d04: POP
00003d05: JUMP
00003d06: JUMPDEST
00003d07: DUP1
00003d08: PUSH1 0x03
00003d0a: PUSH0
00003d0b: DUP3
00003d0c: DUP3
00003d0d: SLOAD
00003d0e: PUSH2 0x3d17
00003d11: SWAP2
00003d12: SWAP1
00003d13: PUSH2 0x45ef
00003d16: JUMP
00003d17: JUMPDEST
00003d18: SWAP1
00003d19: SWAP2
00003d1a: SSTORE
00003d1b: POP
00003d1c: POP
00003d1d: PUSH1 0x01
00003d1f: PUSH1 0x01
00003d21: PUSH1 0xa0
00003d23: SHL
00003d24: SUB
00003d25: DUP3
00003d26: AND
00003d27: PUSH0
00003d28: SWAP1
00003d29: DUP2
00003d2a: MSTORE
00003d2b: PUSH1 0x08
00003d2d: PUSH1 0x20
00003d2f: MSTORE
00003d30: PUSH1 0x40
00003d32: DUP2
00003d33: KECCAK256
00003d34: DUP1
00003d35: SLOAD
00003d36: PUSH2 0xffff
00003d39: NOT
00003d3a: AND
00003d3b: SWAP1
00003d3c: SSTORE
00003d3d: DUP3
00003d3e: SWAP1
00003d3f: PUSH32 0x4201c688d84c01154d321afa0c72f1bffe9eef53005c9de9d035074e71e9b32a
00003d60: SWAP1
00003d61: DUP1
00003d62: LOG2
00003d63: POP
00003d64: POP
00003d65: JUMP
00003d66: JUMPDEST
00003d67: PUSH4 0x8b78c6d8
00003d6c: PUSH1 0x0c
00003d6e: MSTORE
00003d6f: DUP3
00003d70: PUSH0
00003d71: MSTORE
00003d72: PUSH1 0x20
00003d74: PUSH1 0x0c
00003d76: KECCAK256
00003d77: DUP1
00003d78: SLOAD
00003d79: DUP4
00003d7a: DUP2
00003d7b: OR
00003d7c: DUP4
00003d7d: PUSH2 0x3d87
00003d80: JUMPI
00003d81: POP
00003d82: DUP1
00003d83: DUP5
00003d84: AND
00003d85: DUP2
00003d86: XOR
00003d87: JUMPDEST
00003d88: DUP1
00003d89: DUP4
00003d8a: SSTORE
00003d8b: DUP1
00003d8c: PUSH1 0x0c
00003d8e: MLOAD
00003d8f: PUSH1 0x60
00003d91: SHR
00003d92: PUSH32 0x715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe26
00003db3: PUSH0
00003db4: DUP1
00003db5: LOG3
00003db6: POP
00003db7: POP
00003db8: POP
00003db9: POP
00003dba: POP
00003dbb: POP
00003dbc: JUMP
00003dbd: JUMPDEST
00003dbe: PUSH9 0x05345cdf77eb68f44c
00003dc8: SLOAD
00003dc9: DUP2
00003dca: DUP2
00003dcb: ADD
00003dcc: DUP2
00003dcd: DUP2
00003dce: LT
00003dcf: ISZERO
00003dd0: PUSH2 0x3de0
00003dd3: JUMPI
00003dd4: PUSH4 0xe5cfe957
00003dd9: PUSH0
00003dda: MSTORE
00003ddb: PUSH1 0x04
00003ddd: PUSH1 0x1c
00003ddf: REVERT
00003de0: JUMPDEST
00003de1: DUP1
00003de2: PUSH9 0x05345cdf77eb68f44c
00003dec: SSTORE
00003ded: POP
00003dee: POP
00003def: PUSH4 0x87a211a2
00003df4: PUSH1 0x0c
00003df6: MSTORE
00003df7: DUP2
00003df8: PUSH0
00003df9: MSTORE
00003dfa: PUSH1 0x20
00003dfc: PUSH1 0x0c
00003dfe: KECCAK256
00003dff: DUP2
00003e00: DUP2
00003e01: SLOAD
00003e02: ADD
00003e03: DUP2
00003e04: SSTORE
00003e05: POP
00003e06: DUP1
00003e07: PUSH1 0x20
00003e09: MSTORE
00003e0a: PUSH1 0x0c
00003e0c: MLOAD
00003e0d: PUSH1 0x60
00003e0f: SHR
00003e10: PUSH0
00003e11: PUSH0
00003e12: DUP1
00003e13: MLOAD
00003e14: PUSH1 0x20
00003e16: PUSH2 0x471d
00003e19: DUP4
00003e1a: CODECOPY
00003e1b: DUP2
00003e1c: MLOAD
00003e1d: SWAP2
00003e1e: MSTORE
00003e1f: PUSH1 0x20
00003e21: DUP1
00003e22: LOG3
00003e23: POP
00003e24: POP
00003e25: JUMP
00003e26: JUMPDEST
00003e27: PUSH1 0x40
00003e29: DUP1
00003e2a: MLOAD
00003e2b: PUSH2 0x0280
00003e2e: DUP2
00003e2f: ADD
00003e30: SWAP2
00003e31: DUP3
00003e32: SWAP1
00003e33: MSTORE
00003e34: PUSH0
00003e35: SWAP2
00003e36: DUP3
00003e37: SWAP2
00003e38: PUSH1 0x60
00003e3a: SWAP2
00003e3b: PUSH1 0x14
00003e3d: SWAP2
00003e3e: DUP5
00003e3f: SWAP2
00003e40: PUSH1 0x09
00003e42: SWAP1
00003e43: DUP5
00003e44: SWAP1
00003e45: DUP3
00003e46: DUP5
00003e47: JUMPDEST
00003e48: DUP2
00003e49: SLOAD
00003e4a: PUSH1 0x01
00003e4c: PUSH1 0x01
00003e4e: PUSH1 0xa0
00003e50: SHL
00003e51: SUB
00003e52: AND
00003e53: DUP2
00003e54: MSTORE
00003e55: PUSH1 0x01
00003e57: SWAP1
00003e58: SWAP2
00003e59: ADD
00003e5a: SWAP1
00003e5b: PUSH1 0x20
00003e5d: ADD
00003e5e: DUP1
00003e5f: DUP4
00003e60: GT
00003e61: PUSH2 0x3e47
00003e64: JUMPI
00003e65: POP
00003e66: POP
00003e67: POP
00003e68: POP
00003e69: POP
00003e6a: SWAP1
00003e6b: POP
00003e6c: PUSH0
00003e6d: PUSH1 0x01
00003e6f: DUP4
00003e70: PUSH2 0x3e79
00003e73: SWAP2
00003e74: SWAP1
00003e75: PUSH2 0x45ef
00003e78: JUMP
00003e79: JUMPDEST
00003e7a: PUSH1 0x01
00003e7c: SLOAD
00003e7d: PUSH3 0x010000
00003e81: SWAP1
00003e82: DIV
00003e83: PUSH1 0xff
00003e85: AND
00003e86: GT
00003e87: PUSH2 0x3e9b
00003e8a: JUMPI
00003e8b: PUSH1 0x01
00003e8d: SLOAD
00003e8e: PUSH3 0x010000
00003e92: SWAP1
00003e93: DIV
00003e94: PUSH1 0xff
00003e96: AND
00003e97: PUSH2 0x3e9d
00003e9a: JUMP
00003e9b: JUMPDEST
00003e9c: PUSH0
00003e9d: JUMPDEST
00003e9e: SWAP1
00003e9f: POP
00003ea0: PUSH0
00003ea1: JUMPDEST
00003ea2: DUP4
00003ea3: DUP3
00003ea4: PUSH1 0xff
00003ea6: AND
00003ea7: LT
00003ea8: ISZERO
00003ea9: PUSH2 0x3f20
00003eac: JUMPI
00003ead: PUSH1 0x08
00003eaf: PUSH0
00003eb0: DUP5
00003eb1: DUP5
00003eb2: PUSH1 0xff
00003eb4: AND
00003eb5: PUSH1 0x14
00003eb7: DUP2
00003eb8: LT
00003eb9: PUSH2 0x3ec4
00003ebc: JUMPI
00003ebd: PUSH2 0x3ec4
00003ec0: PUSH2 0x45db
00003ec3: JUMP
00003ec4: JUMPDEST
00003ec5: PUSH1 0x20
00003ec7: SWAP1
00003ec8: DUP2
00003ec9: MUL
00003eca: SWAP2
00003ecb: SWAP1
00003ecc: SWAP2
00003ecd: ADD
00003ece: MLOAD
00003ecf: PUSH1 0x01
00003ed1: PUSH1 0x01
00003ed3: PUSH1 0xa0
00003ed5: SHL
00003ed6: SUB
00003ed7: AND
00003ed8: DUP3
00003ed9: MSTORE
00003eda: DUP2
00003edb: ADD
00003edc: SWAP2
00003edd: SWAP1
00003ede: SWAP2
00003edf: MSTORE
00003ee0: PUSH1 0x40
00003ee2: ADD
00003ee3: PUSH0
00003ee4: KECCAK256
00003ee5: PUSH1 0x03
00003ee7: ADD
00003ee8: SLOAD
00003ee9: PUSH1 0xff
00003eeb: AND
00003eec: ISZERO
00003eed: PUSH2 0x3f15
00003ef0: JUMPI
00003ef1: DUP3
00003ef2: DUP3
00003ef3: PUSH1 0xff
00003ef5: AND
00003ef6: PUSH1 0x14
00003ef8: DUP2
00003ef9: LT
00003efa: PUSH2 0x3f05
00003efd: JUMPI
00003efe: PUSH2 0x3f05
00003f01: PUSH2 0x45db
00003f04: JUMP
00003f05: JUMPDEST
00003f06: PUSH1 0x20
00003f08: MUL
00003f09: ADD
00003f0a: MLOAD
00003f0b: SWAP7
00003f0c: POP
00003f0d: PUSH1 0x01
00003f0f: SWAP1
00003f10: POP
00003f11: PUSH2 0x3f20
00003f14: JUMP
00003f15: JUMPDEST
00003f16: DUP2
00003f17: PUSH1 0x01
00003f19: ADD
00003f1a: SWAP2
00003f1b: POP
00003f1c: PUSH2 0x3ea1
00003f1f: JUMP
00003f20: JUMPDEST
00003f21: PUSH1 0x01
00003f23: DUP5
00003f24: SUB
00003f25: DUP3
00003f26: PUSH1 0xff
00003f28: AND
00003f29: LT
00003f2a: ISZERO
00003f2b: DUP1
00003f2c: PUSH2 0x3f59
00003f2f: JUMPI
00003f30: POP
00003f31: PUSH0
00003f32: DUP4
00003f33: PUSH1 0xff
00003f35: PUSH1 0x01
00003f37: DUP6
00003f38: ADD
00003f39: AND
00003f3a: PUSH1 0x14
00003f3c: DUP2
00003f3d: LT
00003f3e: PUSH2 0x3f49
00003f41: JUMPI
00003f42: PUSH2 0x3f49
00003f45: PUSH2 0x45db
00003f48: JUMP
00003f49: JUMPDEST
00003f4a: PUSH1 0x20
00003f4c: MUL
00003f4d: ADD
00003f4e: MLOAD
00003f4f: PUSH1 0x01
00003f51: PUSH1 0x01
00003f53: PUSH1 0xa0
00003f55: SHL
00003f56: SUB
00003f57: AND
00003f58: EQ
00003f59: JUMPDEST
00003f5a: ISZERO
00003f5b: PUSH2 0x3f6f
00003f5e: JUMPI
00003f5f: PUSH1 0x01
00003f61: DUP1
00003f62: SLOAD
00003f63: PUSH3 0xff0000
00003f67: NOT
00003f68: AND
00003f69: SWAP1
00003f6a: SSTORE
00003f6b: PUSH2 0x3f8c
00003f6e: JUMP
00003f6f: JUMPDEST
00003f70: PUSH1 0x01
00003f72: DUP1
00003f73: SLOAD
00003f74: PUSH1 0xff
00003f76: SWAP4
00003f77: DUP3
00003f78: ADD
00003f79: SWAP4
00003f7a: DUP5
00003f7b: AND
00003f7c: PUSH3 0x010000
00003f80: MUL
00003f81: PUSH3 0xff0000
00003f85: NOT
00003f86: SWAP1
00003f87: SWAP2
00003f88: AND
00003f89: OR
00003f8a: SWAP1
00003f8b: SSTORE
00003f8c: JUMPDEST
00003f8d: DUP1
00003f8e: PUSH2 0x3f9f
00003f91: JUMPI
00003f92: POP
00003f93: PUSH1 0x01
00003f95: SWAP5
00003f96: POP
00003f97: PUSH2 0x404a
00003f9a: SWAP3
00003f9b: POP
00003f9c: POP
00003f9d: POP
00003f9e: JUMP
00003f9f: JUMPDEST
00003fa0: PUSH1 0x40
00003fa2: MLOAD
00003fa3: PUSH4 0xcf3f6637
00003fa8: PUSH1 0xe0
00003faa: SHL
00003fab: DUP2
00003fac: MSTORE
00003fad: PUSH0
00003fae: PUSH1 0x04
00003fb0: DUP3
00003fb1: ADD
00003fb2: DUP2
00003fb3: SWAP1
00003fb4: MSTORE
00003fb5: PUSH1 0x24
00003fb7: DUP3
00003fb8: ADD
00003fb9: MSTORE
00003fba: PUSH1 0x01
00003fbc: PUSH1 0x01
00003fbe: PUSH1 0xa0
00003fc0: SHL
00003fc1: SUB
00003fc2: DUP10
00003fc3: DUP2
00003fc4: AND
00003fc5: PUSH1 0x44
00003fc7: DUP4
00003fc8: ADD
00003fc9: MSTORE
00003fca: TIMESTAMP
00003fcb: PUSH1 0x64
00003fcd: DUP4
00003fce: ADD
00003fcf: MSTORE
00003fd0: DUP9
00003fd1: AND
00003fd2: SWAP1
00003fd3: PUSH4 0xcf3f6637
00003fd8: SWAP1
00003fd9: PUSH1 0x84
00003fdb: ADD
00003fdc: PUSH0
00003fdd: PUSH1 0x40
00003fdf: MLOAD
00003fe0: DUP1
00003fe1: DUP4
00003fe2: SUB
00003fe3: DUP2
00003fe4: PUSH0
00003fe5: DUP8
00003fe6: DUP1
00003fe7: EXTCODESIZE
00003fe8: ISZERO
00003fe9: DUP1
00003fea: ISZERO
00003feb: PUSH2 0x3ff2
00003fee: JUMPI
00003fef: PUSH0
00003ff0: DUP1
00003ff1: REVERT
00003ff2: JUMPDEST
00003ff3: POP
00003ff4: GAS
00003ff5: CALL
00003ff6: SWAP3
00003ff7: POP
00003ff8: POP
00003ff9: POP
00003ffa: DUP1
00003ffb: ISZERO
00003ffc: PUSH2 0x4003
00003fff: JUMPI
00004000: POP
00004001: PUSH1 0x01
00004003: JUMPDEST
00004004: PUSH2 0x4040
00004007: JUMPI
00004008: RETURNDATASIZE
00004009: DUP1
0000400a: DUP1
0000400b: ISZERO
0000400c: PUSH2 0x4030
0000400f: JUMPI
00004010: PUSH1 0x40
00004012: MLOAD
00004013: SWAP2
00004014: POP
00004015: PUSH1 0x1f
00004017: NOT
00004018: PUSH1 0x3f
0000401a: RETURNDATASIZE
0000401b: ADD
0000401c: AND
0000401d: DUP3
0000401e: ADD
0000401f: PUSH1 0x40
00004021: MSTORE
00004022: RETURNDATASIZE
00004023: DUP3
00004024: MSTORE
00004025: RETURNDATASIZE
00004026: PUSH0
00004027: PUSH1 0x20
00004029: DUP5
0000402a: ADD
0000402b: RETURNDATACOPY
0000402c: PUSH2 0x4035
0000402f: JUMP
00004030: JUMPDEST
00004031: PUSH1 0x60
00004033: SWAP2
00004034: POP
00004035: JUMPDEST
00004036: POP
00004037: PUSH0
00004038: SWAP7
00004039: POP
0000403a: SWAP5
0000403b: POP
0000403c: PUSH2 0x4045
0000403f: JUMP
00004040: JUMPDEST
00004041: PUSH1 0x01
00004043: SWAP6
00004044: POP
00004045: JUMPDEST
00004046: POP
00004047: POP
00004048: POP
00004049: POP
0000404a: JUMPDEST
0000404b: SWAP2
0000404c: SWAP4
0000404d: SWAP1
0000404e: SWAP3
0000404f: POP
00004050: JUMP
00004051: JUMPDEST
00004052: PUSH0
00004053: PUSH2 0x405b
00004056: DUP3
00004057: PUSH2 0x2408
0000405a: JUMP
0000405b: JUMPDEST
0000405c: SWAP1
0000405d: POP
0000405e: DUP1
0000405f: PUSH2 0x406f
00004062: JUMPI
00004063: PUSH4 0x5a870a25
00004068: PUSH0
00004069: MSTORE
0000406a: PUSH1 0x04
0000406c: PUSH1 0x1c
0000406e: REVERT
0000406f: JUMPDEST
00004070: PUSH2 0x0fca
00004073: DUP4
00004074: DUP3
00004075: PUSH2 0x3dbd
00004078: JUMP
00004079: JUMPDEST
0000407a: PUSH0
0000407b: DUP2
0000407c: PUSH0
0000407d: NOT
0000407e: DIV
0000407f: DUP4
00004080: GT
00004081: DUP3
00004082: MUL
00004083: ISZERO
00004084: PUSH2 0x408b
00004087: JUMPI
00004088: PUSH0
00004089: DUP1
0000408a: REVERT
0000408b: JUMPDEST
0000408c: POP
0000408d: PUSH2 0x2710
00004090: SWAP2
00004091: MUL
00004092: DIV
00004093: SWAP1
00004094: JUMP
00004095: JUMPDEST
00004096: DUP2
00004097: PUSH1 0x20
00004099: MSTORE
0000409a: PUSH4 0x7f5e9f20
0000409f: PUSH1 0x0c
000040a1: MSTORE
000040a2: DUP3
000040a3: PUSH0
000040a4: MSTORE
000040a5: PUSH1 0x34
000040a7: PUSH1 0x0c
000040a9: KECCAK256
000040aa: DUP1
000040ab: SLOAD
000040ac: PUSH1 0x01
000040ae: DUP2
000040af: ADD
000040b0: ISZERO
000040b1: PUSH2 0x3008
000040b4: JUMPI
000040b5: DUP1
000040b6: DUP4
000040b7: GT
000040b8: ISZERO
000040b9: PUSH2 0x40c9
000040bc: JUMPI
000040bd: PUSH4 0x13be252b
000040c2: PUSH0
000040c3: MSTORE
000040c4: PUSH1 0x04
000040c6: PUSH1 0x1c
000040c8: REVERT
000040c9: JUMPDEST
000040ca: SWAP2
000040cb: SWAP1
000040cc: SWAP2
000040cd: SUB
000040ce: SWAP1
000040cf: SSTORE
000040d0: POP
000040d1: POP
000040d2: JUMP
000040d3: JUMPDEST
000040d4: PUSH4 0x87a211a2
000040d9: PUSH1 0x0c
000040db: MSTORE
000040dc: DUP2
000040dd: PUSH0
000040de: MSTORE
000040df: PUSH1 0x20
000040e1: PUSH1 0x0c
000040e3: KECCAK256
000040e4: DUP1
000040e5: SLOAD
000040e6: DUP1
000040e7: DUP4
000040e8: GT
000040e9: ISZERO
000040ea: PUSH2 0x40fa
000040ed: JUMPI
000040ee: PUSH4 0xf4d678b8
000040f3: PUSH0
000040f4: MSTORE
000040f5: PUSH1 0x04
000040f7: PUSH1 0x1c
000040f9: REVERT
000040fa: JUMPDEST
000040fb: DUP3
000040fc: SWAP1
000040fd: SUB
000040fe: SWAP1
000040ff: SSTORE
00004100: PUSH9 0x05345cdf77eb68f44c
0000410a: DUP1
0000410b: SLOAD
0000410c: DUP3
0000410d: SWAP1
0000410e: SUB
0000410f: SWAP1
00004110: SSTORE
00004111: PUSH0
00004112: DUP2
00004113: DUP2
00004114: MSTORE
00004115: PUSH1 0x01
00004117: PUSH1 0x01
00004119: PUSH1 0xa0
0000411b: SHL
0000411c: SUB
0000411d: DUP4
0000411e: AND
0000411f: PUSH0
00004120: DUP1
00004121: MLOAD
00004122: PUSH1 0x20
00004124: PUSH2 0x471d
00004127: DUP4
00004128: CODECOPY
00004129: DUP2
0000412a: MLOAD
0000412b: SWAP2
0000412c: MSTORE
0000412d: PUSH1 0x20
0000412f: DUP4
00004130: LOG3
00004131: POP
00004132: POP
00004133: JUMP
00004134: JUMPDEST
00004135: DUP3
00004136: PUSH1 0x14
00004138: DUP2
00004139: ADD
0000413a: SWAP3
0000413b: DUP3
0000413c: ISZERO
0000413d: PUSH2 0x417a
00004140: JUMPI
00004141: SWAP2
00004142: PUSH1 0x20
00004144: MUL
00004145: DUP3
00004146: ADD
00004147: JUMPDEST
00004148: DUP3
00004149: DUP2
0000414a: GT
0000414b: ISZERO
0000414c: PUSH2 0x417a
0000414f: JUMPI
00004150: DUP2
00004151: SLOAD
00004152: PUSH1 0x01
00004154: PUSH1 0x01
00004156: PUSH1 0xa0
00004158: SHL
00004159: SUB
0000415a: NOT
0000415b: AND
0000415c: PUSH1 0x01
0000415e: PUSH1 0x01
00004160: PUSH1 0xa0
00004162: SHL
00004163: SUB
00004164: DUP5
00004165: CALLDATALOAD
00004166: AND
00004167: OR
00004168: DUP3
00004169: SSTORE
0000416a: PUSH1 0x20
0000416c: SWAP1
0000416d: SWAP3
0000416e: ADD
0000416f: SWAP2
00004170: PUSH1 0x01
00004172: SWAP1
00004173: SWAP2
00004174: ADD
00004175: SWAP1
00004176: PUSH2 0x4147
00004179: JUMP
0000417a: JUMPDEST
0000417b: POP
0000417c: PUSH2 0x3061
0000417f: SWAP3
00004180: SWAP2
00004181: POP
00004182: JUMPDEST
00004183: DUP1
00004184: DUP3
00004185: GT
00004186: ISZERO
00004187: PUSH2 0x3061
0000418a: JUMPI
0000418b: PUSH0
0000418c: DUP2
0000418d: SSTORE
0000418e: PUSH1 0x01
00004190: ADD
00004191: PUSH2 0x4182
00004194: JUMP
00004195: JUMPDEST
00004196: PUSH0
00004197: DUP2
00004198: MLOAD
00004199: DUP1
0000419a: DUP5
0000419b: MSTORE
0000419c: PUSH0
0000419d: JUMPDEST
0000419e: DUP2
0000419f: DUP2
000041a0: LT
000041a1: ISZERO
000041a2: PUSH2 0x41b9
000041a5: JUMPI
000041a6: PUSH1 0x20
000041a8: DUP2
000041a9: DUP6
000041aa: ADD
000041ab: DUP2
000041ac: ADD
000041ad: MLOAD
000041ae: DUP7
000041af: DUP4
000041b0: ADD
000041b1: DUP3
000041b2: ADD
000041b3: MSTORE
000041b4: ADD
000041b5: PUSH2 0x419d
000041b8: JUMP
000041b9: JUMPDEST
000041ba: POP
000041bb: PUSH0
000041bc: PUSH1 0x20
000041be: DUP3
000041bf: DUP7
000041c0: ADD
000041c1: ADD
000041c2: MSTORE
000041c3: PUSH1 0x20
000041c5: PUSH1 0x1f
000041c7: NOT
000041c8: PUSH1 0x1f
000041ca: DUP4
000041cb: ADD
000041cc: AND
000041cd: DUP6
000041ce: ADD
000041cf: ADD
000041d0: SWAP2
000041d1: POP
000041d2: POP
000041d3: SWAP3
000041d4: SWAP2
000041d5: POP
000041d6: POP
000041d7: JUMP
000041d8: JUMPDEST
000041d9: PUSH1 0x20
000041db: DUP2
000041dc: MSTORE
000041dd: PUSH0
000041de: PUSH2 0x0f79
000041e1: PUSH1 0x20
000041e3: DUP4
000041e4: ADD
000041e5: DUP5
000041e6: PUSH2 0x4195
000041e9: JUMP
000041ea: JUMPDEST
000041eb: PUSH0
000041ec: PUSH1 0x20
000041ee: DUP3
000041ef: DUP5
000041f0: SUB
000041f1: SLT
000041f2: ISZERO
000041f3: PUSH2 0x41fa
000041f6: JUMPI
000041f7: PUSH0
000041f8: DUP1
000041f9: REVERT
000041fa: JUMPDEST
000041fb: POP
000041fc: CALLDATALOAD
000041fd: SWAP2
000041fe: SWAP1
000041ff: POP
00004200: JUMP
00004201: JUMPDEST
00004202: PUSH1 0x01
00004204: PUSH1 0x01
00004206: PUSH1 0xa0
00004208: SHL
00004209: SUB
0000420a: DUP2
0000420b: AND
0000420c: DUP2
0000420d: EQ
0000420e: PUSH2 0x16d2
00004211: JUMPI
00004212: PUSH0
00004213: DUP1
00004214: REVERT
00004215: JUMPDEST
00004216: PUSH0
00004217: DUP1
00004218: PUSH1 0x40
0000421a: DUP4
0000421b: DUP6
0000421c: SUB
0000421d: SLT
0000421e: ISZERO
0000421f: PUSH2 0x4226
00004222: JUMPI
00004223: PUSH0
00004224: DUP1
00004225: REVERT
00004226: JUMPDEST
00004227: DUP3
00004228: CALLDATALOAD
00004229: PUSH2 0x4231
0000422c: DUP2
0000422d: PUSH2 0x4201
00004230: JUMP
00004231: JUMPDEST
00004232: SWAP5
00004233: PUSH1 0x20
00004235: SWAP4
00004236: SWAP1
00004237: SWAP4
00004238: ADD
00004239: CALLDATALOAD
0000423a: SWAP4
0000423b: POP
0000423c: POP
0000423d: POP
0000423e: JUMP
0000423f: JUMPDEST
00004240: PUSH0
00004241: DUP1
00004242: PUSH0
00004243: DUP1
00004244: PUSH0
00004245: PUSH1 0xa0
00004247: DUP7
00004248: DUP9
00004249: SUB
0000424a: SLT
0000424b: ISZERO
0000424c: PUSH2 0x4253
0000424f: JUMPI
00004250: PUSH0
00004251: DUP1
00004252: REVERT
00004253: JUMPDEST
00004254: DUP6
00004255: CALLDATALOAD
00004256: PUSH2 0x425e
00004259: DUP2
0000425a: PUSH2 0x4201
0000425d: JUMP
0000425e: JUMPDEST
0000425f: SWAP8
00004260: PUSH1 0x20
00004262: DUP8
00004263: ADD
00004264: CALLDATALOAD
00004265: SWAP8
00004266: POP
00004267: PUSH1 0x40
00004269: DUP8
0000426a: ADD
0000426b: CALLDATALOAD
0000426c: SWAP7
0000426d: PUSH1 0x60
0000426f: DUP2
00004270: ADD
00004271: CALLDATALOAD
00004272: SWAP7
00004273: POP
00004274: PUSH1 0x80
00004276: ADD
00004277: CALLDATALOAD
00004278: SWAP5
00004279: POP
0000427a: SWAP3
0000427b: POP
0000427c: POP
0000427d: POP
0000427e: JUMP
0000427f: JUMPDEST
00004280: PUSH0
00004281: PUSH1 0x20
00004283: DUP3
00004284: DUP5
00004285: SUB
00004286: SLT
00004287: ISZERO
00004288: PUSH2 0x428f
0000428b: JUMPI
0000428c: PUSH0
0000428d: DUP1
0000428e: REVERT
0000428f: JUMPDEST
00004290: DUP2
00004291: CALLDATALOAD
00004292: DUP1
00004293: ISZERO
00004294: ISZERO
00004295: DUP2
00004296: EQ
00004297: PUSH2 0x0f79
0000429a: JUMPI
0000429b: PUSH0
0000429c: DUP1
0000429d: REVERT
0000429e: JUMPDEST
0000429f: PUSH0
000042a0: PUSH1 0x20
000042a2: DUP3
000042a3: DUP5
000042a4: SUB
000042a5: SLT
000042a6: ISZERO
000042a7: PUSH2 0x42ae
000042aa: JUMPI
000042ab: PUSH0
000042ac: DUP1
000042ad: REVERT
000042ae: JUMPDEST
000042af: DUP2
000042b0: CALLDATALOAD
000042b1: PUSH2 0x0f79
000042b4: DUP2
000042b5: PUSH2 0x4201
000042b8: JUMP
000042b9: JUMPDEST
000042ba: PUSH0
000042bb: DUP1
000042bc: PUSH0
000042bd: PUSH1 0x60
000042bf: DUP5
000042c0: DUP7
000042c1: SUB
000042c2: SLT
000042c3: ISZERO
000042c4: PUSH2 0x42cb
000042c7: JUMPI
000042c8: PUSH0
000042c9: DUP1
000042ca: REVERT
000042cb: JUMPDEST
000042cc: DUP4
000042cd: CALLDATALOAD
000042ce: PUSH2 0x42d6
000042d1: DUP2
000042d2: PUSH2 0x4201
000042d5: JUMP
000042d6: JUMPDEST
000042d7: SWAP3
000042d8: POP
000042d9: PUSH1 0x20
000042db: DUP5
000042dc: ADD
000042dd: CALLDATALOAD
000042de: PUSH2 0x42e6
000042e1: DUP2
000042e2: PUSH2 0x4201
000042e5: JUMP
000042e6: JUMPDEST
000042e7: SWAP3
000042e8: SWAP6
000042e9: SWAP3
000042ea: SWAP5
000042eb: POP
000042ec: POP
000042ed: POP
000042ee: PUSH1 0x40
000042f0: SWAP2
000042f1: SWAP1
000042f2: SWAP2
000042f3: ADD
000042f4: CALLDATALOAD
000042f5: SWAP1
000042f6: JUMP
000042f7: JUMPDEST
000042f8: PUSH0
000042f9: DUP1
000042fa: PUSH1 0x40
000042fc: DUP4
000042fd: DUP6
000042fe: SUB
000042ff: SLT
00004300: ISZERO
00004301: PUSH2 0x4308
00004304: JUMPI
00004305: PUSH0
00004306: DUP1
00004307: REVERT
00004308: JUMPDEST
00004309: DUP3
0000430a: CALLDATALOAD
0000430b: SWAP2
0000430c: POP
0000430d: PUSH1 0x20
0000430f: DUP4
00004310: ADD
00004311: CALLDATALOAD
00004312: PUSH2 0x431a
00004315: DUP2
00004316: PUSH2 0x4201
00004319: JUMP
0000431a: JUMPDEST
0000431b: DUP1
0000431c: SWAP2
0000431d: POP
0000431e: POP
0000431f: SWAP3
00004320: POP
00004321: SWAP3
00004322: SWAP1
00004323: POP
00004324: JUMP
00004325: JUMPDEST
00004326: DUP1
00004327: CALLDATALOAD
00004328: PUSH1 0x01
0000432a: PUSH1 0x01
0000432c: PUSH1 0x80
0000432e: SHL
0000432f: SUB
00004330: DUP2
00004331: AND
00004332: DUP2
00004333: EQ
00004334: PUSH2 0x433b
00004337: JUMPI
00004338: PUSH0
00004339: DUP1
0000433a: REVERT
0000433b: JUMPDEST
0000433c: SWAP2
0000433d: SWAP1
0000433e: POP
0000433f: JUMP
00004340: JUMPDEST
00004341: PUSH0
00004342: DUP1
00004343: PUSH0
00004344: DUP1
00004345: PUSH1 0x80
00004347: DUP6
00004348: DUP8
00004349: SUB
0000434a: SLT
0000434b: ISZERO
0000434c: PUSH2 0x4353
0000434f: JUMPI
00004350: PUSH0
00004351: DUP1
00004352: REVERT
00004353: JUMPDEST
00004354: PUSH2 0x435c
00004357: DUP6
00004358: PUSH2 0x4325
0000435b: JUMP
0000435c: JUMPDEST
0000435d: SWAP4
0000435e: POP
0000435f: PUSH2 0x436a
00004362: PUSH1 0x20
00004364: DUP7
00004365: ADD
00004366: PUSH2 0x4325
00004369: JUMP
0000436a: JUMPDEST
0000436b: SWAP3
0000436c: POP
0000436d: PUSH2 0x4378
00004370: PUSH1 0x40
00004372: DUP7
00004373: ADD
00004374: PUSH2 0x4325
00004377: JUMP
00004378: JUMPDEST
00004379: SWAP2
0000437a: POP
0000437b: PUSH1 0x60
0000437d: DUP6
0000437e: ADD
0000437f: CALLDATALOAD
00004380: PUSH2 0x4388
00004383: DUP2
00004384: PUSH2 0x4201
00004387: JUMP
00004388: JUMPDEST
00004389: SWAP4
0000438a: SWAP7
0000438b: SWAP3
0000438c: SWAP6
0000438d: POP
0000438e: SWAP1
0000438f: SWAP4
00004390: POP
00004391: POP
00004392: JUMP
00004393: JUMPDEST
00004394: PUSH0
00004395: PUSH2 0x0280
00004398: DUP1
00004399: DUP4
0000439a: DUP6
0000439b: SUB
0000439c: SLT
0000439d: ISZERO
0000439e: PUSH2 0x43a5
000043a1: JUMPI
000043a2: PUSH0
000043a3: DUP1
000043a4: REVERT
000043a5: JUMPDEST
000043a6: DUP4
000043a7: DUP2
000043a8: DUP5
000043a9: ADD
000043aa: GT
000043ab: ISZERO
000043ac: PUSH2 0x43b3
000043af: JUMPI
000043b0: PUSH0
000043b1: DUP1
000043b2: REVERT
000043b3: JUMPDEST
000043b4: POP
000043b5: SWAP1
000043b6: SWAP3
000043b7: SWAP2
000043b8: POP
000043b9: POP
000043ba: JUMP
000043bb: JUMPDEST
000043bc: PUSH0
000043bd: DUP1
000043be: PUSH0
000043bf: PUSH1 0x60
000043c1: DUP5
000043c2: DUP7
000043c3: SUB
000043c4: SLT
000043c5: ISZERO
000043c6: PUSH2 0x43cd
000043c9: JUMPI
000043ca: PUSH0
000043cb: DUP1
000043cc: REVERT
000043cd: JUMPDEST
000043ce: DUP4
000043cf: CALLDATALOAD
000043d0: SWAP3
000043d1: POP
000043d2: PUSH1 0x20
000043d4: DUP5
000043d5: ADD
000043d6: CALLDATALOAD
000043d7: PUSH2 0x43df
000043da: DUP2
000043db: PUSH2 0x4201
000043de: JUMP
000043df: JUMPDEST
000043e0: SWAP2
000043e1: POP
000043e2: PUSH1 0x40
000043e4: DUP5
000043e5: ADD
000043e6: CALLDATALOAD
000043e7: PUSH2 0x43ef
000043ea: DUP2
000043eb: PUSH2 0x4201
000043ee: JUMP
000043ef: JUMPDEST
000043f0: DUP1
000043f1: SWAP2
000043f2: POP
000043f3: POP
000043f4: SWAP3
000043f5: POP
000043f6: SWAP3
000043f7: POP
000043f8: SWAP3
000043f9: JUMP
000043fa: JUMPDEST
000043fb: PUSH0
000043fc: DUP1
000043fd: PUSH0
000043fe: DUP1
000043ff: PUSH0
00004400: DUP1
00004401: PUSH0
00004402: PUSH1 0xe0
00004404: DUP9
00004405: DUP11
00004406: SUB
00004407: SLT
00004408: ISZERO
00004409: PUSH2 0x4410
0000440c: JUMPI
0000440d: PUSH0
0000440e: DUP1
0000440f: REVERT
00004410: JUMPDEST
00004411: DUP8
00004412: CALLDATALOAD
00004413: PUSH2 0x441b
00004416: DUP2
00004417: PUSH2 0x4201
0000441a: JUMP
0000441b: JUMPDEST
0000441c: SWAP7
0000441d: POP
0000441e: PUSH1 0x20
00004420: DUP9
00004421: ADD
00004422: CALLDATALOAD
00004423: PUSH2 0x442b
00004426: DUP2
00004427: PUSH2 0x4201
0000442a: JUMP
0000442b: JUMPDEST
0000442c: SWAP6
0000442d: POP
0000442e: PUSH1 0x40
00004430: DUP9
00004431: ADD
00004432: CALLDATALOAD
00004433: SWAP5
00004434: POP
00004435: PUSH1 0x60
00004437: DUP9
00004438: ADD
00004439: CALLDATALOAD
0000443a: SWAP4
0000443b: POP
0000443c: PUSH1 0x80
0000443e: DUP9
0000443f: ADD
00004440: CALLDATALOAD
00004441: PUSH1 0xff
00004443: DUP2
00004444: AND
00004445: DUP2
00004446: EQ
00004447: PUSH2 0x444e
0000444a: JUMPI
0000444b: PUSH0
0000444c: DUP1
0000444d: REVERT
0000444e: JUMPDEST
0000444f: SWAP7
00004450: SWAP10
00004451: SWAP6
00004452: SWAP9
00004453: POP
00004454: SWAP4
00004455: SWAP7
00004456: SWAP3
00004457: SWAP6
00004458: SWAP5
00004459: PUSH1 0xa0
0000445b: DUP5
0000445c: ADD
0000445d: CALLDATALOAD
0000445e: SWAP5
0000445f: POP
00004460: PUSH1 0xc0
00004462: SWAP1
00004463: SWAP4
00004464: ADD
00004465: CALLDATALOAD
00004466: SWAP3
00004467: SWAP2
00004468: POP
00004469: POP
0000446a: JUMP
0000446b: JUMPDEST
0000446c: PUSH0
0000446d: DUP1
0000446e: PUSH1 0x40
00004470: DUP4
00004471: DUP6
00004472: SUB
00004473: SLT
00004474: ISZERO
00004475: PUSH2 0x447c
00004478: JUMPI
00004479: PUSH0
0000447a: DUP1
0000447b: REVERT
0000447c: JUMPDEST
0000447d: DUP3
0000447e: CALLDATALOAD
0000447f: PUSH2 0x4487
00004482: DUP2
00004483: PUSH2 0x4201
00004486: JUMP
00004487: JUMPDEST
00004488: SWAP2
00004489: POP
0000448a: PUSH1 0x20
0000448c: DUP4
0000448d: ADD
0000448e: CALLDATALOAD
0000448f: PUSH2 0x431a
00004492: DUP2
00004493: PUSH2 0x4201
00004496: JUMP
00004497: JUMPDEST
00004498: PUSH1 0x01
0000449a: DUP2
0000449b: DUP2
0000449c: SHR
0000449d: SWAP1
0000449e: DUP3
0000449f: AND
000044a0: DUP1
000044a1: PUSH2 0x44ab
000044a4: JUMPI
000044a5: PUSH1 0x7f
000044a7: DUP3
000044a8: AND
000044a9: SWAP2
000044aa: POP
000044ab: JUMPDEST
000044ac: PUSH1 0x20
000044ae: DUP3
000044af: LT
000044b0: DUP2
000044b1: SUB
000044b2: PUSH2 0x1a36
000044b5: JUMPI
000044b6: PUSH4 0x4e487b71
000044bb: PUSH1 0xe0
000044bd: SHL
000044be: PUSH0
000044bf: MSTORE
000044c0: PUSH1 0x22
000044c2: PUSH1 0x04
000044c4: MSTORE
000044c5: PUSH1 0x24
000044c7: PUSH0
000044c8: REVERT
000044c9: JUMPDEST
000044ca: PUSH4 0x4e487b71
000044cf: PUSH1 0xe0
000044d1: SHL
000044d2: PUSH0
000044d3: MSTORE
000044d4: PUSH1 0x11
000044d6: PUSH1 0x04
000044d8: MSTORE
000044d9: PUSH1 0x24
000044db: PUSH0
000044dc: REVERT
000044dd: JUMPDEST
000044de: DUP1
000044df: DUP3
000044e0: ADD
000044e1: DUP1
000044e2: DUP3
000044e3: GT
000044e4: ISZERO
000044e5: PUSH2 0x0fca
000044e8: JUMPI
000044e9: PUSH2 0x0fca
000044ec: PUSH2 0x44c9
000044ef: JUMP
000044f0: JUMPDEST
000044f1: PUSH1 0x01
000044f3: DUP2
000044f4: DUP2
000044f5: JUMPDEST
000044f6: DUP1
000044f7: DUP6
000044f8: GT
000044f9: ISZERO
000044fa: PUSH2 0x452a
000044fd: JUMPI
000044fe: DUP2
000044ff: PUSH0
00004500: NOT
00004501: DIV
00004502: DUP3
00004503: GT
00004504: ISZERO
00004505: PUSH2 0x4510
00004508: JUMPI
00004509: PUSH2 0x4510
0000450c: PUSH2 0x44c9
0000450f: JUMP
00004510: JUMPDEST
00004511: DUP1
00004512: DUP6
00004513: AND
00004514: ISZERO
00004515: PUSH2 0x451d
00004518: JUMPI
00004519: SWAP2
0000451a: DUP2
0000451b: MUL
0000451c: SWAP2
0000451d: JUMPDEST
0000451e: SWAP4
0000451f: DUP5
00004520: SHR
00004521: SWAP4
00004522: SWAP1
00004523: DUP1
00004524: MUL
00004525: SWAP1
00004526: PUSH2 0x44f5
00004529: JUMP
0000452a: JUMPDEST
0000452b: POP
0000452c: SWAP3
0000452d: POP
0000452e: SWAP3
0000452f: SWAP1
00004530: POP
00004531: JUMP
00004532: JUMPDEST
00004533: PUSH0
00004534: DUP3
00004535: PUSH2 0x4540
00004538: JUMPI
00004539: POP
0000453a: PUSH1 0x01
0000453c: PUSH2 0x0fca
0000453f: JUMP
00004540: JUMPDEST
00004541: DUP2
00004542: PUSH2 0x454c
00004545: JUMPI
00004546: POP
00004547: PUSH0
00004548: PUSH2 0x0fca
0000454b: JUMP
0000454c: JUMPDEST
0000454d: DUP2
0000454e: PUSH1 0x01
00004550: DUP2
00004551: EQ
00004552: PUSH2 0x4562
00004555: JUMPI
00004556: PUSH1 0x02
00004558: DUP2
00004559: EQ
0000455a: PUSH2 0x456c
0000455d: JUMPI
0000455e: PUSH2 0x4588
00004561: JUMP
00004562: JUMPDEST
00004563: PUSH1 0x01
00004565: SWAP2
00004566: POP
00004567: POP
00004568: PUSH2 0x0fca
0000456b: JUMP
0000456c: JUMPDEST
0000456d: PUSH1 0xff
0000456f: DUP5
00004570: GT
00004571: ISZERO
00004572: PUSH2 0x457d
00004575: JUMPI
00004576: PUSH2 0x457d
00004579: PUSH2 0x44c9
0000457c: JUMP
0000457d: JUMPDEST
0000457e: POP
0000457f: POP
00004580: PUSH1 0x01
00004582: DUP3
00004583: SHL
00004584: PUSH2 0x0fca
00004587: JUMP
00004588: JUMPDEST
00004589: POP
0000458a: PUSH1 0x20
0000458c: DUP4
0000458d: LT
0000458e: PUSH2 0x0133
00004591: DUP4
00004592: LT
00004593: AND
00004594: PUSH1 0x4e
00004596: DUP5
00004597: LT
00004598: PUSH1 0x0b
0000459a: DUP5
0000459b: LT
0000459c: AND
0000459d: OR
0000459e: ISZERO
0000459f: PUSH2 0x45ab
000045a2: JUMPI
000045a3: POP
000045a4: DUP2
000045a5: DUP2
000045a6: EXP
000045a7: PUSH2 0x0fca
000045aa: JUMP
000045ab: JUMPDEST
000045ac: PUSH2 0x45b5
000045af: DUP4
000045b0: DUP4
000045b1: PUSH2 0x44f0
000045b4: JUMP
000045b5: JUMPDEST
000045b6: DUP1
000045b7: PUSH0
000045b8: NOT
000045b9: DIV
000045ba: DUP3
000045bb: GT
000045bc: ISZERO
000045bd: PUSH2 0x45c8
000045c0: JUMPI
000045c1: PUSH2 0x45c8
000045c4: PUSH2 0x44c9
000045c7: JUMP
000045c8: JUMPDEST
000045c9: MUL
000045ca: SWAP4
000045cb: SWAP3
000045cc: POP
000045cd: POP
000045ce: POP
000045cf: JUMP
000045d0: JUMPDEST
000045d1: PUSH0
000045d2: PUSH2 0x0f79
000045d5: DUP4
000045d6: DUP4
000045d7: PUSH2 0x4532
000045da: JUMP
000045db: JUMPDEST
000045dc: PUSH4 0x4e487b71
000045e1: PUSH1 0xe0
000045e3: SHL
000045e4: PUSH0
000045e5: MSTORE
000045e6: PUSH1 0x32
000045e8: PUSH1 0x04
000045ea: MSTORE
000045eb: PUSH1 0x24
000045ed: PUSH0
000045ee: REVERT
000045ef: JUMPDEST
000045f0: DUP2
000045f1: DUP2
000045f2: SUB
000045f3: DUP2
000045f4: DUP2
000045f5: GT
000045f6: ISZERO
000045f7: PUSH2 0x0fca
000045fa: JUMPI
000045fb: PUSH2 0x0fca
000045fe: PUSH2 0x44c9
00004601: JUMP
00004602: JUMPDEST
00004603: PUSH0
00004604: PUSH1 0x20
00004606: DUP3
00004607: DUP5
00004608: SUB
00004609: SLT
0000460a: ISZERO
0000460b: PUSH2 0x4612
0000460e: JUMPI
0000460f: PUSH0
00004610: DUP1
00004611: REVERT
00004612: JUMPDEST
00004613: POP
00004614: MLOAD
00004615: SWAP2
00004616: SWAP1
00004617: POP
00004618: JUMP
00004619: JUMPDEST
0000461a: PUSH0
0000461b: PUSH1 0x20
0000461d: DUP3
0000461e: DUP5
0000461f: SUB
00004620: SLT
00004621: ISZERO
00004622: PUSH2 0x4629
00004625: JUMPI
00004626: PUSH0
00004627: DUP1
00004628: REVERT
00004629: JUMPDEST
0000462a: DUP2
0000462b: MLOAD
0000462c: PUSH2 0x0f79
0000462f: DUP2
00004630: PUSH2 0x4201
00004633: JUMP
00004634: JUMPDEST
00004635: PUSH1 0xff
00004637: DUP2
00004638: DUP2
00004639: AND
0000463a: DUP4
0000463b: DUP3
0000463c: AND
0000463d: ADD
0000463e: SWAP1
0000463f: DUP2
00004640: GT
00004641: ISZERO
00004642: PUSH2 0x0fca
00004645: JUMPI
00004646: PUSH2 0x0fca
00004649: PUSH2 0x44c9
0000464c: JUMP
0000464d: JUMPDEST
0000464e: PUSH1 0x01
00004650: PUSH1 0x01
00004652: PUSH1 0x80
00004654: SHL
00004655: SUB
00004656: DUP2
00004657: DUP2
00004658: AND
00004659: DUP4
0000465a: DUP3
0000465b: AND
0000465c: ADD
0000465d: SWAP1
0000465e: DUP1
0000465f: DUP3
00004660: GT
00004661: ISZERO
00004662: PUSH2 0x466d
00004665: JUMPI
00004666: PUSH2 0x466d
00004669: PUSH2 0x44c9
0000466c: JUMP
0000466d: JUMPDEST
0000466e: POP
0000466f: SWAP3
00004670: SWAP2
00004671: POP
00004672: POP
00004673: JUMP
00004674: JUMPDEST
00004675: PUSH1 0x01
00004677: PUSH1 0x01
00004679: PUSH1 0x80
0000467b: SHL
0000467c: SUB
0000467d: DUP3
0000467e: DUP2
0000467f: AND
00004680: DUP3
00004681: DUP3
00004682: AND
00004683: SUB
00004684: SWAP1
00004685: DUP1
00004686: DUP3
00004687: GT
00004688: ISZERO
00004689: PUSH2 0x466d
0000468c: JUMPI
0000468d: PUSH2 0x466d
00004690: PUSH2 0x44c9
00004693: JUMP
00004694: JUMPDEST
00004695: PUSH0
00004696: PUSH2 0x0f79
00004699: PUSH1 0xff
0000469b: DUP5
0000469c: AND
0000469d: DUP4
0000469e: PUSH2 0x4532
000046a1: JUMP
000046a2: JUMPDEST
000046a3: PUSH2 0x0280
000046a6: DUP2
000046a7: ADD
000046a8: DUP2
000046a9: DUP4
000046aa: PUSH0
000046ab: JUMPDEST
000046ac: PUSH1 0x14
000046ae: DUP2
000046af: LT
000046b0: ISZERO
000046b1: PUSH2 0x46dd
000046b4: JUMPI
000046b5: DUP2
000046b6: CALLDATALOAD
000046b7: PUSH2 0x46bf
000046ba: DUP2
000046bb: PUSH2 0x4201
000046be: JUMP
000046bf: JUMPDEST
000046c0: PUSH1 0x01
000046c2: PUSH1 0x01
000046c4: PUSH1 0xa0
000046c6: SHL
000046c7: SUB
000046c8: AND
000046c9: DUP4
000046ca: MSTORE
000046cb: PUSH1 0x20
000046cd: SWAP3
000046ce: DUP4
000046cf: ADD
000046d0: SWAP3
000046d1: SWAP2
000046d2: SWAP1
000046d3: SWAP2
000046d4: ADD
000046d5: SWAP1
000046d6: PUSH1 0x01
000046d8: ADD
000046d9: PUSH2 0x46ab
000046dc: JUMP
000046dd: JUMPDEST
000046de: POP
000046df: POP
000046e0: POP
000046e1: SWAP3
000046e2: SWAP2
000046e3: POP
000046e4: POP
000046e5: JUMP
000046e6: JUMPDEST
000046e7: DUP1
000046e8: DUP3
000046e9: MUL
000046ea: DUP2
000046eb: ISZERO
000046ec: DUP3
000046ed: DUP3
000046ee: DIV
000046ef: DUP5
000046f0: EQ
000046f1: OR
000046f2: PUSH2 0x0fca
000046f5: JUMPI
000046f6: PUSH2 0x0fca
000046f9: PUSH2 0x44c9
000046fc: JUMP
000046fd: JUMPDEST
000046fe: PUSH0
000046ff: DUP3
00004700: PUSH2 0x4717
00004703: JUMPI
00004704: PUSH4 0x4e487b71
00004709: PUSH1 0xe0
0000470b: SHL
0000470c: PUSH0
0000470d: MSTORE
0000470e: PUSH1 0x12
00004710: PUSH1 0x04
00004712: MSTORE
00004713: PUSH1 0x24
00004715: PUSH0
00004716: REVERT
00004717: JUMPDEST
00004718: POP
00004719: DIV
0000471a: SWAP1
0000471b: JUMP
0000471c: INVALID
0000471d: UNKNOWN(0xDD)
0000471e: CALLCODE
0000471f: MSTORE
00004720: UNKNOWN(0xAD)
00004721: SHL
00004722: UNKNOWN(0xE2)
00004723: UNKNOWN(0xC8)
00004724: SWAP12
00004725: PUSH10 0xc2b068fc378daa952ba7
00004730: CALL
00004731: PUSH4 0xc4a11628
00004736: CREATE2
00004737: GAS
00004738: UNKNOWN(0x4D)
00004739: CREATE2
0000473a: UNKNOWN(0x23)
0000473b: UNKNOWN(0xB3)
0000473c: UNKNOWN(0xEF)
0000473d: LOG2
0000473e: PUSH5 0x6970667358
00004744: UNKNOWN(0x22)
00004745: SLT
00004746: KECCAK256
00004747: SDIV
00004748: UNKNOWN(0xC9)
00004749: UNKNOWN(0xD7)
0000474a: UNKNOWN(0xF6)
0000474b: CODECOPY
0000474c: BALANCE
0000474d: SLT
0000474e: PUSH1 0x62
00004750: UNKNOWN(0xCC)
00004751: UNKNOWN(0xAA)
00004752: EQ
00004753: UNKNOWN(0xD3)
00004754: PUSH18 0xa9f47b21ebc0e155bd60ed5b38cd4fcce7e6
00004767: PUSH5 0x736f6c6343
0000476d: STOP
0000476e: ADDMOD
0000476f: EQ
00004770: STOP
00004771: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
medium reentrancy codex `report()` is reentrancy‑reachable before `strategyLastReport`/`lastReport` updates 75 no
view
evidence_json
{
    "evidence": "`report()` performs `safeTransfer`/`safeTransferFrom` before updating `strategyLastReport`/`lastReport`, with no reentrancy guard.",
    "locations": [
        "contracts/src/MaxApyVault.sol:1543",
        "contracts/src/MaxApyVault.sol:1602",
        "contracts/src/MaxApyVault.sol:1617"
    ],
    "recommendation": "Add `nonReentrant` to `report()` and/or move the timestamp updates (and any other critical state) before external calls. Follow checks\u2011effects\u2011interactions to ensure reentrancy cannot repeat fee assessment in the same tx.",
    "exploit_scenario": "If the underlying token or strategy uses a reentrancy hook (e.g., ERC777), a strategy can call `report()`, hit the external token transfer, and reenter `report()` before `strategyLastReport`/`lastReport` are updated. This bypasses the `FeesAlreadyAssesed` duration guard and allows multiple fee assessments and credit adjustments in the same transaction, diluting shares or draining idle funds."
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x2b9a1cbebe99c286236f3f3d00811ef3c9df859acf432072340a9b200fe87af8
call_targets: 0x349c996c4a53208b6eb09c103782d86a3f1bb57e
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x2b9a1cbebe99c286236f3f3d00811ef3c9df859acf432072340a9b200fe87af8",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x349c996c4a53208b6eb09c103782d86a3f1bb57e"
    ],
    "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": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfc7b9c18",
            "selector": "0xfc7b9c18",
            "calldata_variants": [
                "0xfc7b9c18",
                "0xfc7b9c180000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfd967f47",
            "selector": "0xfd967f47",
            "calldata_variants": [
                "0xfd967f47",
                "0xfd967f470000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfe56e232",
            "selector": "0xfe56e232",
            "calldata_variants": [
                "0xfe56e232",
                "0xfe56e2320000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfee81cf4",
            "selector": "0xfee81cf4",
            "calldata_variants": [
                "0xfee81cf4",
                "0xfee81cf40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe5bc6947",
            "selector": "0xe5bc6947",
            "calldata_variants": [
                "0xe5bc6947",
                "0xe5bc69470000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xecf70858",
            "selector": "0xecf70858",
            "calldata_variants": [
                "0xecf70858",
                "0xecf708580000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xef8b30f7",
            "selector": "0xef8b30f7",
            "calldata_variants": [
                "0xef8b30f7",
                "0xef8b30f70000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 4853,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5019,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 9938,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 11,
    "guards_detected": [
        {
            "pc": 11905,
            "type": "msg_sender_eq_storage"
        }
    ],
    "untrusted_call_count": 11
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x2b9a1cbebe99c286236f3f3d00811ef3c9df859acf432072340a9b200fe87af8
call_targets: 0x349c996c4a53208b6eb09c103782d86a3f1bb57e
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x2b9a1cbebe99c286236f3f3d00811ef3c9df859acf432072340a9b200fe87af8",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x349c996c4a53208b6eb09c103782d86a3f1bb57e"
    ],
    "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": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfc7b9c18",
            "selector": "0xfc7b9c18",
            "calldata_variants": [
                "0xfc7b9c18",
                "0xfc7b9c180000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfd967f47",
            "selector": "0xfd967f47",
            "calldata_variants": [
                "0xfd967f47",
                "0xfd967f470000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfe56e232",
            "selector": "0xfe56e232",
            "calldata_variants": [
                "0xfe56e232",
                "0xfe56e2320000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfee81cf4",
            "selector": "0xfee81cf4",
            "calldata_variants": [
                "0xfee81cf4",
                "0xfee81cf40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe5bc6947",
            "selector": "0xe5bc6947",
            "calldata_variants": [
                "0xe5bc6947",
                "0xe5bc69470000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xecf70858",
            "selector": "0xecf70858",
            "calldata_variants": [
                "0xecf70858",
                "0xecf708580000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xef8b30f7",
            "selector": "0xef8b30f7",
            "calldata_variants": [
                "0xef8b30f7",
                "0xef8b30f70000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 4853,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5019,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 9938,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 11,
    "guards_detected": [
        {
            "pc": 11905,
            "type": "msg_sender_eq_storage"
        }
    ]
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0xc215252475bc89d382af5a1a51a0946acf4be4024864dec7642507de53cb1fac
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0xc215252475bc89d382af5a1a51a0946acf4be4024864dec7642507de53cb1fac",
    "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": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfc7b9c18",
            "selector": "0xfc7b9c18",
            "calldata_variants": [
                "0xfc7b9c18",
                "0xfc7b9c180000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfd967f47",
            "selector": "0xfd967f47",
            "calldata_variants": [
                "0xfd967f47",
                "0xfd967f470000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfe56e232",
            "selector": "0xfe56e232",
            "calldata_variants": [
                "0xfe56e232",
                "0xfe56e2320000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfee81cf4",
            "selector": "0xfee81cf4",
            "calldata_variants": [
                "0xfee81cf4",
                "0xfee81cf40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe5bc6947",
            "selector": "0xe5bc6947",
            "calldata_variants": [
                "0xe5bc6947",
                "0xe5bc69470000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xecf70858",
            "selector": "0xecf70858",
            "calldata_variants": [
                "0xecf70858",
                "0xecf708580000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xef8b30f7",
            "selector": "0xef8b30f7",
            "calldata_variants": [
                "0xef8b30f7",
                "0xef8b30f70000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 0,
    "create2_count": 2
}
low math codex Share/accounting mismatch for fee‑on‑transfer or rebasing underlying tokens 65 no
view
evidence_json
{
    "evidence": "`_deposit` transfers `assets` then mints shares and increments `totalIdle` by `assets` without using actual received amount.",
    "locations": [
        "contracts/src/MaxApyVault.sol:1101",
        "contracts/src/MaxApyVault.sol:1102",
        "contracts/src/MaxApyVault.sol:1137"
    ],
    "recommendation": "Restrict underlying assets to standard non\u2011fee, non\u2011rebasing ERC20s (enforce via deployment/docs), or compute received assets via balance\u2011before/after and use that value for minting and `totalIdle` updates.",
    "exploit_scenario": "On deposit, the vault mints shares and increments `totalIdle` by the requested `assets` amount without verifying the actual amount received. If the underlying token charges transfer fees or rebases, users can mint more shares than the vault actually received, leading to share inflation and potential loss for other depositors."
}
low other cast Contract creation opcode present 60 no
view
evidence_json
{
    "notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
    "create_count": 0,
    "create2_count": 2
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 24
}