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

Analysis Run

27a2f35d-e022-40b2-a099-eb4efd5f89c4

complete
Chain ID
1
Address
Block Number
Created
Tue, Dec 30, 2025 2:39 AM
Review Summary

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
30670 report.consolidate complete 1 / 1 3 months ago
75016 artifact.fetch complete 1 / 3 1 week ago
75017 tool.cast_disasm complete 1 / 3 1 week ago
75018 analysis.bundle complete 1 / 3 1 week ago
75019 capability.graph complete 1 / 3 1 week ago
75020 detector.run complete 1 / 3 1 week ago
75021 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
1
No findings?
no
Summary
1 low-severity accounting issue found in stream funding with fee-on-transfer tokens.
View stderr
[codex:907694] OpenAI Codex v0.77.0 (research preview)
[codex:907694] --------
[codex:907694] workdir: /tmp/codex-multi-vvf_0vox
[codex:907694] model: gpt-5.2-codex
[codex:907694] provider: openai
[codex:907694] approval: never
[codex:907694] sandbox: read-only
[codex:907694] reasoning effort: xhigh
[codex:907694] reasoning summaries: auto
[codex:907694] session id: 019b6d1a-a0e2-7f22-b9d3-1eaa41efc78f
[codex:907694] --------
[codex:907694] user
[codex:907694] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:907694] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:907694] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:907694] 
[codex:907694] Scope rules:
[codex:907694] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:907694] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:907694] 
[codex:907694] Output MUST be valid JSON matching the provided schema.
[codex:907694] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:907694] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:907694] 
[codex:907694] Output constraints (IMPORTANT):
[codex:907694] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:907694] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:907694] mcp startup: no servers
[codex:907694] 
[codex:907694] thinking
[codex:907694] **Auditing AUDIT_BUNDLE contents**
[codex:907694] exec
[codex:907694] /bin/bash -lc ls in /tmp/codex-multi-vvf_0vox succeeded in 5ms:
[codex:907694] AUDIT_BUNDLE.txt
[codex:907694] codex-output-schema.json
[codex:907694] contracts
[codex:907694] 
[codex:907694] thinking
[codex:907694] **Reading bundle**
[codex:907694] exec
[codex:907694] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-vvf_0vox succeeded in 6ms:
[codex:907694] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:907694] 
[codex:907694] ================================================================================
[codex:907694] FILE: contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol
[codex:907694] ================================================================================
[codex:907694] // SPDX-License-Identifier: MIT
[codex:907694] // OpenZeppelin Contracts v4.4.1 (interfaces/IERC165.sol)
[codex:907694] 
[codex:907694] pragma solidity ^0.8.0;
[codex:907694] 
[codex:907694] import "../utils/introspection/IERC165.sol";
[codex:907694] 
[codex:907694] ================================================================================
[codex:907694] FILE: contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC4906.sol
[codex:907694] ================================================================================
[codex:907694] // SPDX-License-Identifier: MIT
[codex:907694] // OpenZeppelin Contracts (last updated v4.9.0) (interfaces/IERC4906.sol)
[codex:907694] 
[codex:907694] pragma solidity ^0.8.0;
[codex:907694] 
[codex:907694] 
[codex:907694] thinking
[codex:907694] **Searching for first-party contracts**
[codex:907694] exec
[codex:907694] /bin/bash -lc 'rg -n "''^FILE: contracts/src" AUDIT_BUNDLE.txt' in /tmp/codex-multi-vvf_0vox succeeded in 8ms:
[codex:907694] 5097:FILE: contracts/src/SablierV2LockupLinear.sol
[codex:907694] 5695:FILE: contracts/src/abstracts/Adminable.sol
[codex:907694] 5740:FILE: contracts/src/abstracts/NoDelegateCall.sol
[codex:907694] 5778:FILE: contracts/src/abstracts/SablierV2Base.sol
[codex:907694] 5871:FILE: contracts/src/abstracts/SablierV2Lockup.sol
[codex:907694] 6217:FILE: contracts/src/interfaces/IAdminable.sol
[codex:907694] 6262:FILE: contracts/src/interfaces/ISablierV2Base.sol
[codex:907694] 6341:FILE: contracts/src/interfaces/ISablierV2Comptroller.sol
[codex:907694] 6444:FILE: contracts/src/interfaces/ISablierV2Lockup.sol
[codex:907694] 6749:FILE: contracts/src/interfaces/ISablierV2LockupLinear.sol
[codex:907694] 6875:FILE: contracts/src/interfaces/ISablierV2NFTDescriptor.sol
[codex:907694] 6895:FILE: contracts/src/interfaces/hooks/ISablierV2LockupRecipient.sol
[codex:907694] 6945:FILE: contracts/src/interfaces/hooks/ISablierV2LockupSender.sol
[codex:907694] 6976:FILE: contracts/src/libraries/Errors.sol
[codex:907694] 7120:FILE: contracts/src/libraries/Helpers.sol
[codex:907694] 7339:FILE: contracts/src/types/DataTypes.sol
[codex:907694] 
[codex:907694] thinking
[codex:907694] **Preparing to extract contract sections**
[codex:907694] exec
[codex:907694] /bin/bash -lc "awk 'BEGIN{p=0} /"'^FILE: contracts'"\\/src\\/SablierV2LockupLinear.sol/{p=1} p{print} /"'^FILE: / && p && !/''^FILE: contracts'"\\/src\\/SablierV2LockupLinear.sol/ {exit}' AUDIT_BUNDLE.txt" in /tmp/codex-multi-vvf_0vox succeeded in 11ms:
[codex:907694] FILE: contracts/src/SablierV2LockupLinear.sol
[codex:907694] ================================================================================
[codex:907694] // SPDX-License-Identifier: BUSL-1.1
[codex:907694] pragma solidity >=0.8.19;
[codex:907694] 
[codex:907694] import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:907694] import { SafeERC20 } from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:907694] import { ERC721 } from "@openzeppelin/contracts/token/ERC721/ERC721.sol";
[codex:907694] import { UD60x18, ud } from "@prb/math/UD60x18.sol";
[codex:907694] 
[codex:907694] import { SablierV2Lockup } from "./abstracts/SablierV2Lockup.sol";
[codex:907694] import { ISablierV2Comptroller } from "./interfaces/ISablierV2Comptroller.sol";
[codex:907694] import { ISablierV2Lockup } from "./interfaces/ISablierV2Lockup.sol";
[codex:907694] import { ISablierV2LockupLinear } from "./interfaces/ISablierV2LockupLinear.sol";
[codex:907694] import { ISablierV2NFTDescriptor } from "./interfaces/ISablierV2NFTDescriptor.sol";
[codex:907694] import { ISablierV2LockupRecipient } from "./interfaces/hooks/ISablierV2LockupRecipient.sol";
[codex:907694] import { ISablierV2LockupSender } from "./interfaces/hooks/ISablierV2LockupSender.sol";
[codex:907694] import { Errors } from "./libraries/Errors.sol";
[codex:907694] import { Helpers } from "./libraries/Helpers.sol";
[codex:907694] import { Lockup, LockupLinear } from "./types/DataTypes.sol";
[codex:907694] 
[codex:907694] thinking
[codex:907694] **Requesting additional files**
[codex:907694] exec
[codex:907694] /bin/bash -lc "awk 'BEGIN{p=0} /"'^FILE: contracts'"\\/src\\/abstracts\\/Adminable.sol/{p=1} p{print} /"'^FILE: / && p && !/''^FILE: contracts'"\\/src\\/abstracts\\/Adminable.sol/ {exit}' AUDIT_BUNDLE.txt" in /tmp/codex-multi-vvf_0vox succeeded in 8ms:
[codex:907694] FILE: contracts/src/abstracts/Adminable.sol
[codex:907694] ================================================================================
[codex:907694] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:907694] pragma solidity >=0.8.19;
[codex:907694] 
[codex:907694] import { IAdminable } from "../interfaces/IAdminable.sol";
[codex:907694] import { Errors } from "../libraries/Errors.sol";
[codex:907694] 
[codex:907694] /// @title Adminable
[codex:907694] /// @notice See the documentation in {IAdminable}.
[codex:907694] abstract contract Adminable is IAdminable {
[codex:907694]     /*//////////////////////////////////////////////////////////////////////////
[codex:907694]                                        STORAGE
[codex:907694]     //////////////////////////////////////////////////////////////////////////*/
[codex:907694] 
[codex:907694]     /// @inheritdoc IAdminable
[codex:907694]     address public override admin;
[codex:907694] 
[codex:907694]     /*//////////////////////////////////////////////////////////////////////////
[codex:907694]                                       MODIFIERS
[codex:907694] exec
[codex:907694] /bin/bash -lc "awk 'BEGIN{p=0} /"'^FILE: contracts'"\\/src\\/abstracts\\/NoDelegateCall.sol/{p=1} p{print} /"'^FILE: / && p && !/''^FILE: contracts'"\\/src\\/abstracts\\/NoDelegateCall.sol/ {exit}' AUDIT_BUNDLE.txt" in /tmp/codex-multi-vvf_0vox succeeded in 8ms:
[codex:907694] FILE: contracts/src/abstracts/NoDelegateCall.sol
[codex:907694] ================================================================================
[codex:907694] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:907694] pragma solidity >=0.8.19;
[codex:907694] 
[codex:907694] import { Errors } from "../libraries/Errors.sol";
[codex:907694] 
[codex:907694] /// @title NoDelegateCall
[codex:907694] /// @notice This contract implements logic to prevent delegate calls.
[codex:907694] abstract contract NoDelegateCall {
[codex:907694]     /// @dev The address of the original contract that was deployed.
[codex:907694]     address private immutable _original;
[codex:907694] 
[codex:907694]     /// @dev Sets the original contract address.
[codex:907694]     constructor() {
[codex:907694]         _original = address(this);
[codex:907694]     }
[codex:907694] 
[codex:907694]     /// @notice Prevents delegate calls.
[codex:907694]     modifier noDelegateCall() {
[codex:907694] exec
[codex:907694] /bin/bash -lc "awk 'BEGIN{p=0} /"'^FILE: contracts'"\\/src\\/abstracts\\/SablierV2Base.sol/{p=1} p{print} /"'^FILE: / && p && !/''^FILE: contracts'"\\/src\\/abstracts\\/SablierV2Base.sol/ {exit}' AUDIT_BUNDLE.txt" in /tmp/codex-multi-vvf_0vox succeeded in 10ms:
[codex:907694] FILE: contracts/src/abstracts/SablierV2Base.sol
[codex:907694] ================================================================================
[codex:907694] // SPDX-License-Identifier: BUSL-1.1
[codex:907694] pragma solidity >=0.8.19;
[codex:907694] 
[codex:907694] import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:907694] import { SafeERC20 } from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:907694] import { UD60x18 } from "@prb/math/UD60x18.sol";
[codex:907694] 
[codex:907694] import { IAdminable } from "../interfaces/IAdminable.sol";
[codex:907694] import { ISablierV2Base } from "../interfaces/ISablierV2Base.sol";
[codex:907694] import { ISablierV2Comptroller } from "../interfaces/ISablierV2Comptroller.sol";
[codex:907694] import { Errors } from "../libraries/Errors.sol";
[codex:907694] import { Adminable } from "./Adminable.sol";
[codex:907694] import { NoDelegateCall } from "./NoDelegateCall.sol";
[codex:907694] 
[codex:907694] /// @title SablierV2Base
[codex:907694] /// @notice See the documentation in {ISablierV2Base}.
[codex:907694] abstract contract SablierV2Base is
[codex:907694]     NoDelegateCall, // 0 inherited components
[codex:907694] exec
[codex:907694] /bin/bash -lc "awk 'BEGIN{p=0} /"'^FILE: contracts'"\\/src\\/abstracts\\/SablierV2Lockup.sol/{p=1} p{print} /"'^FILE: / && p && !/''^FILE: contracts'"\\/src\\/abstracts\\/SablierV2Lockup.sol/ {exit}' AUDIT_BUNDLE.txt" in /tmp/codex-multi-vvf_0vox succeeded in 8ms:
[codex:907694] FILE: contracts/src/abstracts/SablierV2Lockup.sol
[codex:907694] ================================================================================
[codex:907694] // SPDX-License-Identifier: BUSL-1.1
[codex:907694] pragma solidity >=0.8.19;
[codex:907694] 
[codex:907694] import { IERC4906 } from "@openzeppelin/contracts/interfaces/IERC4906.sol";
[codex:907694] import { ERC721 } from "@openzeppelin/contracts/token/ERC721/ERC721.sol";
[codex:907694] import { IERC721Metadata } from "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol";
[codex:907694] 
[codex:907694] import { ISablierV2Comptroller } from "../interfaces/ISablierV2Comptroller.sol";
[codex:907694] import { ISablierV2Lockup } from "../interfaces/ISablierV2Lockup.sol";
[codex:907694] import { ISablierV2NFTDescriptor } from "../interfaces/ISablierV2NFTDescriptor.sol";
[codex:907694] import { Errors } from "../libraries/Errors.sol";
[codex:907694] import { Lockup } from "../types/DataTypes.sol";
[codex:907694] import { SablierV2Base } from "./SablierV2Base.sol";
[codex:907694] 
[codex:907694] /// @title SablierV2Lockup
[codex:907694] /// @notice See the documentation in {ISablierV2Lockup}.
[codex:907694] abstract contract SablierV2Lockup is
[codex:907694]     IERC4906, // 2 inherited components
[codex:907694] exec
[codex:907694] /bin/bash -lc "awk 'BEGIN{p=0} /"'^FILE: contracts'"\\/src\\/interfaces\\/IAdminable.sol/{p=1} p{print} /"'^FILE: / && p && !/''^FILE: contracts'"\\/src\\/interfaces\\/IAdminable.sol/ {exit}' AUDIT_BUNDLE.txt" in /tmp/codex-multi-vvf_0vox succeeded in 9ms:
[codex:907694] FILE: contracts/src/interfaces/IAdminable.sol
[codex:907694] ================================================================================
[codex:907694] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:907694] pragma solidity >=0.8.19;
[codex:907694] 
[codex:907694] /// @title IAdminable
[codex:907694] /// @notice Contract module that provides a basic access control mechanism, with an admin that can be
[codex:907694] /// granted exclusive access to specific functions. The inheriting contract must set the initial admin
[codex:907694] /// in the constructor.
[codex:907694] interface IAdminable {
[codex:907694]     /*//////////////////////////////////////////////////////////////////////////
[codex:907694]                                        EVENTS
[codex:907694]     //////////////////////////////////////////////////////////////////////////*/
[codex:907694] 
[codex:907694]     /// @notice Emitted when the admin is transferred.
[codex:907694]     /// @param oldAdmin The address of the old admin.
[codex:907694]     /// @param newAdmin The address of the new admin.
[codex:907694]     event TransferAdmin(address indexed oldAdmin, address indexed newAdmin);
[codex:907694] 
[codex:907694]     /*//////////////////////////////////////////////////////////////////////////
[codex:907694] exec
[codex:907694] /bin/bash -lc "awk 'BEGIN{p=0} /"'^FILE: contracts'"\\/src\\/interfaces\\/ISablierV2Base.sol/{p=1} p{print} /"'^FILE: / && p && !/''^FILE: contracts'"\\/src\\/interfaces\\/ISablierV2Base.sol/ {exit}' AUDIT_BUNDLE.txt" in /tmp/codex-multi-vvf_0vox succeeded in 8ms:
[codex:907694] FILE: contracts/src/interfaces/ISablierV2Base.sol
[codex:907694] ================================================================================
[codex:907694] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:907694] pragma solidity >=0.8.19;
[codex:907694] 
[codex:907694] import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:907694] import { UD60x18 } from "@prb/math/UD60x18.sol";
[codex:907694] 
[codex:907694] import { IAdminable } from "./IAdminable.sol";
[codex:907694] import { ISablierV2Comptroller } from "./ISablierV2Comptroller.sol";
[codex:907694] 
[codex:907694] /// @title ISablierV2Base
[codex:907694] /// @notice Base logic for all Sablier V2 streaming contracts.
[codex:907694] interface ISablierV2Base is IAdminable {
[codex:907694]     /*//////////////////////////////////////////////////////////////////////////
[codex:907694]                                        EVENTS
[codex:907694]     //////////////////////////////////////////////////////////////////////////*/
[codex:907694] 
[codex:907694]     /// @notice Emitted when the admin claims all protocol revenues accrued for a particular ERC-20 asset.
[codex:907694]     /// @param admin The address of the contract admin.
[codex:907694] exec
[codex:907694] /bin/bash -lc "awk 'BEGIN{p=0} /"'^FILE: contracts'"\\/src\\/interfaces\\/ISablierV2Comptroller.sol/{p=1} p{print} /"'^FILE: / && p && !/''^FILE: contracts'"\\/src\\/interfaces\\/ISablierV2Comptroller.sol/ {exit}' AUDIT_BUNDLE.txt" in /tmp/codex-multi-vvf_0vox succeeded in 10ms:
[codex:907694] FILE: contracts/src/interfaces/ISablierV2Comptroller.sol
[codex:907694] ================================================================================
[codex:907694] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:907694] pragma solidity >=0.8.19;
[codex:907694] 
[codex:907694] import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:907694] import { UD60x18 } from "@prb/math/UD60x18.sol";
[codex:907694] 
[codex:907694] import { IAdminable } from "./IAdminable.sol";
[codex:907694] 
[codex:907694] /// @title ISablierV2Controller
[codex:907694] /// @notice This contract is in charge of the Sablier V2 protocol configuration, handling such values as the
[codex:907694] /// protocol fees.
[codex:907694] interface ISablierV2Comptroller is IAdminable {
[codex:907694]     /*//////////////////////////////////////////////////////////////////////////
[codex:907694]                                        EVENTS
[codex:907694]     //////////////////////////////////////////////////////////////////////////*/
[codex:907694] 
[codex:907694]     /// @notice Emitted when the admin sets a new flash fee.
[codex:907694]     /// @param admin The address of the contract admin.
[codex:907694] exec
[codex:907694] /bin/bash -lc "awk 'BEGIN{p=0} /"'^FILE: contracts'"\\/src\\/interfaces\\/ISablierV2Lockup.sol/{p=1} p{print} /"'^FILE: / && p && !/''^FILE: contracts'"\\/src\\/interfaces\\/ISablierV2Lockup.sol/ {exit}' AUDIT_BUNDLE.txt" in /tmp/codex-multi-vvf_0vox succeeded in 9ms:
[codex:907694] FILE: contracts/src/interfaces/ISablierV2Lockup.sol
[codex:907694] ================================================================================
[codex:907694] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:907694] pragma solidity >=0.8.19;
[codex:907694] 
[codex:907694] import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:907694] import { IERC721Metadata } from "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol";
[codex:907694] 
[codex:907694] import { Lockup } from "../types/DataTypes.sol";
[codex:907694] import { ISablierV2Base } from "./ISablierV2Base.sol";
[codex:907694] import { ISablierV2NFTDescriptor } from "./ISablierV2NFTDescriptor.sol";
[codex:907694] 
[codex:907694] /// @title ISablierV2Lockup
[codex:907694] /// @notice Common logic between all Sablier V2 lockup streaming contracts.
[codex:907694] interface ISablierV2Lockup is
[codex:907694]     ISablierV2Base, // 1 inherited component
[codex:907694]     IERC721Metadata // 2 inherited components
[codex:907694] {
[codex:907694]     /*//////////////////////////////////////////////////////////////////////////
[codex:907694]                                        EVENTS
[codex:907694] exec
[codex:907694] /bin/bash -lc "awk 'BEGIN{p=0} /"'^FILE: contracts'"\\/src\\/interfaces\\/ISablierV2LockupLinear.sol/{p=1} p{print} /"'^FILE: / && p && !/''^FILE: contracts'"\\/src\\/interfaces\\/ISablierV2LockupLinear.sol/ {exit}' AUDIT_BUNDLE.txt" in /tmp/codex-multi-vvf_0vox succeeded in 8ms:
[codex:907694] FILE: contracts/src/interfaces/ISablierV2LockupLinear.sol
[codex:907694] ================================================================================
[codex:907694] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:907694] pragma solidity >=0.8.19;
[codex:907694] 
[codex:907694] import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:907694] 
[codex:907694] import { Lockup, LockupLinear } from "../types/DataTypes.sol";
[codex:907694] import { ISablierV2Lockup } from "./ISablierV2Lockup.sol";
[codex:907694] 
[codex:907694] /// @title ISablierV2LockupLinear
[codex:907694] /// @notice Creates and manages lockup streams with a linear streaming function.
[codex:907694] interface ISablierV2LockupLinear is ISablierV2Lockup {
[codex:907694]     /*//////////////////////////////////////////////////////////////////////////
[codex:907694]                                        EVENTS
[codex:907694]     //////////////////////////////////////////////////////////////////////////*/
[codex:907694] 
[codex:907694]     /// @notice Emitted when a stream is created.
[codex:907694]     /// @param streamId The id of the newly created stream.
[codex:907694]     /// @param funder The address which funded the stream.
[codex:907694] exec
[codex:907694] /bin/bash -lc "awk 'BEGIN{p=0} /"'^FILE: contracts'"\\/src\\/interfaces\\/ISablierV2NFTDescriptor.sol/{p=1} p{print} /"'^FILE: / && p && !/''^FILE: contracts'"\\/src\\/interfaces\\/ISablierV2NFTDescriptor.sol/ {exit}' AUDIT_BUNDLE.txt" in /tmp/codex-multi-vvf_0vox succeeded in 9ms:
[codex:907694] FILE: contracts/src/interfaces/ISablierV2NFTDescriptor.sol
[codex:907694] ================================================================================
[codex:907694] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:907694] pragma solidity >=0.8.19;
[codex:907694] 
[codex:907694] import { IERC721Metadata } from "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol";
[codex:907694] 
[codex:907694] /// @title ISablierV2NFTDescriptor
[codex:907694] /// @notice This contract generates the URI describing the Sablier V2 stream NFTs.
[codex:907694] /// @dev Inspired by Uniswap V3 Positions NFTs.
[codex:907694] interface ISablierV2NFTDescriptor {
[codex:907694]     /// @notice Produces the URI describing a particular stream NFT.
[codex:907694]     /// @dev This is a data URI with the JSON contents directly inlined.
[codex:907694]     /// @param sablier The address of the Sablier contract the stream was created in.
[codex:907694]     /// @param streamId The id of the stream for which to produce a description.
[codex:907694]     /// @return uri The URI of the ERC721-compliant metadata.
[codex:907694]     function tokenURI(IERC721Metadata sablier, uint256 streamId) external view returns (string memory uri);
[codex:907694] }
[codex:907694] 
[codex:907694] ================================================================================
[codex:907694] exec
[codex:907694] /bin/bash -lc "awk 'BEGIN{p=0} /"'^FILE: contracts'"\\/src\\/interfaces\\/hooks\\/ISablierV2LockupRecipient.sol/{p=1} p{print} /"'^FILE: / && p && !/''^FILE: contracts'"\\/src\\/interfaces\\/hooks\\/ISablierV2LockupRecipient.sol/ {exit}' AUDIT_BUNDLE.txt" in /tmp/codex-multi-vvf_0vox succeeded in 8ms:
[codex:907694] FILE: contracts/src/interfaces/hooks/ISablierV2LockupRecipient.sol
[codex:907694] ================================================================================
[codex:907694] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:907694] pragma solidity >=0.8.19;
[codex:907694] 
[codex:907694] /// @title ISablierV2LockupRecipient
[codex:907694] /// @notice Interface for recipient contracts capable of reacting to cancellations, renouncements, and withdrawals.
[codex:907694] /// @dev Implementation of this interface is optional. If a recipient contract doesn't implement this
[codex:907694] /// interface or implements it partially, function execution will not revert.
[codex:907694] interface ISablierV2LockupRecipient {
[codex:907694]     /// @notice Responds to sender-triggered cancellations.
[codex:907694]     ///
[codex:907694]     /// @dev Notes:
[codex:907694]     /// - This function may revert, but the Sablier contract will ignore the revert.
[codex:907694]     ///
[codex:907694]     /// @param streamId The id of the canceled stream.
[codex:907694]     /// @param sender The stream's sender, who canceled the stream.
[codex:907694]     /// @param senderAmount The amount of assets refunded to the stream's sender, denoted in units of the asset's
[codex:907694]     /// decimals.
[codex:907694]     /// @param recipientAmount The amount of assets left for the stream's recipient to withdraw, denoted in units of
[codex:907694] exec
[codex:907694] /bin/bash -lc "awk 'BEGIN{p=0} /"'^FILE: contracts'"\\/src\\/interfaces\\/hooks\\/ISablierV2LockupSender.sol/{p=1} p{print} /"'^FILE: / && p && !/''^FILE: contracts'"\\/src\\/interfaces\\/hooks\\/ISablierV2LockupSender.sol/ {exit}' AUDIT_BUNDLE.txt" in /tmp/codex-multi-vvf_0vox succeeded in 9ms:
[codex:907694] FILE: contracts/src/interfaces/hooks/ISablierV2LockupSender.sol
[codex:907694] ================================================================================
[codex:907694] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:907694] pragma solidity >=0.8.19;
[codex:907694] 
[codex:907694] /// @title ISablierV2LockupSender
[codex:907694] /// @notice Interface for sender contracts capable of reacting to cancellations.
[codex:907694] /// @dev Implementation of this interface is optional. If a sender contract doesn't implement this interface,
[codex:907694] /// function execution will not revert.
[codex:907694] interface ISablierV2LockupSender {
[codex:907694]     /// @notice Responds to recipient-triggered cancellations.
[codex:907694]     ///
[codex:907694]     /// @dev Notes:
[codex:907694]     /// - This function may revert, but the Sablier contract will ignore the revert.
[codex:907694]     ///
[codex:907694]     /// @param streamId The id of the canceled stream.
[codex:907694]     /// @param recipient The stream's recipient, who canceled the stream.
[codex:907694]     /// @param senderAmount The amount of assets refunded to the stream's sender, denoted in units of the asset's
[codex:907694]     /// decimals.
[codex:907694]     /// @param recipientAmount The amount of assets left for the stream's recipient to withdraw, denoted in units of the
[codex:907694] exec
[codex:907694] /bin/bash -lc "awk 'BEGIN{p=0} /"'^FILE: contracts'"\\/src\\/libraries\\/Errors.sol/{p=1} p{print} /"'^FILE: / && p && !/''^FILE: contracts'"\\/src\\/libraries\\/Errors.sol/ {exit}' AUDIT_BUNDLE.txt" in /tmp/codex-multi-vvf_0vox succeeded in 9ms:
[codex:907694] FILE: contracts/src/libraries/Errors.sol
[codex:907694] ================================================================================
[codex:907694] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:907694] pragma solidity >=0.8.19;
[codex:907694] 
[codex:907694] import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:907694] import { IERC721Metadata } from "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol";
[codex:907694] import { UD60x18 } from "@prb/math/UD60x18.sol";
[codex:907694] 
[codex:907694] /// @title Errors
[codex:907694] /// @notice Library containing all custom errors the protocol may revert with.
[codex:907694] library Errors {
[codex:907694]     /*//////////////////////////////////////////////////////////////////////////
[codex:907694]                                       GENERICS
[codex:907694]     //////////////////////////////////////////////////////////////////////////*/
[codex:907694] 
[codex:907694]     /// @notice Thrown when `msg.sender` is not the admin.
[codex:907694]     error CallerNotAdmin(address admin, address caller);
[codex:907694] 
[codex:907694]     /// @notice Thrown when trying to delegate call to a function that disallows delegate calls.
[codex:907694] exec
[codex:907694] /bin/bash -lc "awk 'BEGIN{p=0} /"'^FILE: contracts'"\\/src\\/libraries\\/Helpers.sol/{p=1} p{print} /"'^FILE: / && p && !/''^FILE: contracts'"\\/src\\/libraries\\/Helpers.sol/ {exit}' AUDIT_BUNDLE.txt" in /tmp/codex-multi-vvf_0vox succeeded in 8ms:
[codex:907694] FILE: contracts/src/libraries/Helpers.sol
[codex:907694] ================================================================================
[codex:907694] // SPDX-License-Identifier: BUSL-1.1
[codex:907694] pragma solidity >=0.8.19;
[codex:907694] 
[codex:907694] import { UD60x18, ud } from "@prb/math/UD60x18.sol";
[codex:907694] 
[codex:907694] import { Lockup, LockupDynamic, LockupLinear } from "../types/DataTypes.sol";
[codex:907694] import { Errors } from "./Errors.sol";
[codex:907694] 
[codex:907694] /// @title Helpers
[codex:907694] /// @notice Library with helper functions needed across the Sablier V2 contracts.
[codex:907694] library Helpers {
[codex:907694]     /*//////////////////////////////////////////////////////////////////////////
[codex:907694]                              INTERNAL CONSTANT FUNCTIONS
[codex:907694]     //////////////////////////////////////////////////////////////////////////*/
[codex:907694] 
[codex:907694]     /// @dev Checks that neither fee is greater than `maxFee`, and then calculates the protocol fee amount, the
[codex:907694]     /// broker fee amount, and the deposit amount from the total amount.
[codex:907694]     function checkAndCalculateFees(
[codex:907694] 
[codex:907694] 
[codex:907694] 
[codex:907694] thinking
[codex:907694] **Analyzing potential reentrancy and state issues in Sablier V2**
[codex:907694] 
[codex:907694] I’m carefully checking the interplay of external calls, state updates, and token hooks in Sablier V2’s linear lockup contract, focusing on reentrancy risks during create, withdraw, and cancel functions. There’s nuanced reasoning on ERC777 hooks, safeTransfer calls, and updating state before or after interactions. I’m also verifying access control, fee calculations, and whether common pitfalls like zero addresses or delegatecalls could cause vulnerabilities. This detailed audit weighs subtle token behavior and contract logic to assess security robustness.
[codex:907694] thinking
[codex:907694] **Examining edge cases in stream management and token handling**
[codex:907694] 
[codex:907694] I’m evaluating how the contract handles null or burned streams, authorization checks, and edge conditions like fee-on-transfer tokens that might cause balance mismatches. I’m also verifying treatment of zero addresses and external calls like protocol fee transfers or admin updates. There’s careful attention to how withdrawal and cancellation logic manages streamed amounts, reentrancy paths, and state updates to ensure no unexpected failures or inconsistencies occur. This deep dive helps reveal subtle interactions and potential accounting quirks.
[codex:907694] thinking
[codex:907694] **Analyzing token transfer assumptions and fixed-point math usage**
[codex:907694] 
[codex:907694] I’m focusing on how streams created with fee-on-transfer tokens might cause underfunding and accounting mismatches, especially protocol revenue tracking. I’m also digging into the complex fixed-point arithmetic with UD60x18 to see if time and amount scaling is applied correctly, since passing unscaled integers could skew streamed amount calculations. This detailed check will help identify subtle math or accounting inconsistencies that could impact contract behavior.
[codex:907694] exec
[codex:907694] /bin/bash -lc "rg -n \"library UD60x18|ud\\(\" -S contracts/lib" in /tmp/codex-multi-vvf_0vox succeeded in 11ms:
[codex:907694] contracts/lib/prb-math/src/ud60x18/Casting.sol:76:function ud(uint256 x) pure returns (UD60x18 result) {
[codex:907694] 
[codex:907694] thinking
[codex:907694] **Opening the file to inspect**
[codex:907694] exec
[codex:907694] /bin/bash -lc "sed -n '60,100p' contracts/lib/prb-math/src/ud60x18/Casting.sol" in /tmp/codex-multi-vvf_0vox succeeded in 5ms:
[codex:907694]     }
[codex:907694]     result = uint128(xUint);
[codex:907694] }
[codex:907694] 
[codex:907694] /// @notice Casts a UD60x18 number into uint40.
[codex:907694] /// @dev Requirements:
[codex:907694] /// - x must be less than or equal to `MAX_UINT40`.
[codex:907694] function intoUint40(UD60x18 x) pure returns (uint40 result) {
[codex:907694]     uint256 xUint = UD60x18.unwrap(x);
[codex:907694]     if (xUint > MAX_UINT40) {
[codex:907694]         revert CastingErrors.PRBMath_UD60x18_IntoUint40_Overflow(x);
[codex:907694]     }
[codex:907694]     result = uint40(xUint);
[codex:907694] }
[codex:907694] 
[codex:907694] /// @notice Alias for {wrap}.
[codex:907694] function ud(uint256 x) pure returns (UD60x18 result) {
[codex:907694]     result = UD60x18.wrap(x);
[codex:907694] }
[codex:907694] 
[codex:907694] 
[codex:907694] thinking
[codex:907694] **Analyzing fixed-point arithmetic nuances**
[codex:907694] 
[codex:907694] I'm walking through how this contract uses UD60x18 fixed-point math, noting that amounts often remain raw (unscaled) yet still yield correct results due to one operand being scaled, which is a clever but slightly confusing hack. I'm also considering if this could cause any vulnerabilities or miscalculations and checking how various modifiers and delegatecall protections hold up under scrutiny. Finally, I identify a real issue with fee-on-transfer tokens that could cause underfunded streams and grief recipients by locking up tokens, marking it as a possible low-severity accounting bug.
[codex:907694] exec
[codex:907694] /bin/bash -lc "nl -ba contracts/src/SablierV2LockupLinear.sol | sed -n '200,340p'" in /tmp/codex-multi-vvf_0vox succeeded in 6ms:
[codex:907694]    200	    /// @inheritdoc ISablierV2Lockup
[codex:907694]    201	    function refundableAmountOf(uint256 streamId)
[codex:907694]    202	        external
[codex:907694]    203	        view
[codex:907694]    204	        override
[codex:907694]    205	        notNull(streamId)
[codex:907694]    206	        returns (uint128 refundableAmount)
[codex:907694]    207	    {
[codex:907694]    208	        // These checks are needed because {_calculateStreamedAmount} does not look up the stream's status. Note that
[codex:907694]    209	        // checking for `isCancelable` also checks if the stream `wasCanceled` thanks to the protocol invariant that
[codex:907694]    210	        // canceled streams are not cancelable anymore.
[codex:907694]    211	        if (_streams[streamId].isCancelable && !_streams[streamId].isDepleted) {
[codex:907694]    212	            refundableAmount = _streams[streamId].amounts.deposited - _calculateStreamedAmount(streamId);
[codex:907694]    213	        }
[codex:907694]    214	        // Otherwise, the result is implicitly zero.
[codex:907694]    215	    }
[codex:907694]    216	
[codex:907694]    217	    /// @inheritdoc ISablierV2Lockup
[codex:907694]    218	    function statusOf(uint256 streamId) external view override notNull(streamId) returns (Lockup.Status status) {
[codex:907694]    219	        status = _statusOf(streamId);
[codex:907694] 
[codex:907694] thinking
[codex:907694] **Identifying transfer-related lines**
[codex:907694] exec
[codex:907694] /bin/bash -lc "nl -ba contracts/src/SablierV2LockupLinear.sol | sed -n '430,560p'" in /tmp/codex-multi-vvf_0vox succeeded in 6ms:
[codex:907694]    430	        // potential revert.
[codex:907694]    431	        if (msg.sender == sender) {
[codex:907694]    432	            if (recipient.code.length > 0) {
[codex:907694]    433	                try ISablierV2LockupRecipient(recipient).onStreamCanceled({
[codex:907694]    434	                    streamId: streamId,
[codex:907694]    435	                    sender: sender,
[codex:907694]    436	                    senderAmount: senderAmount,
[codex:907694]    437	                    recipientAmount: recipientAmount
[codex:907694]    438	                }) { } catch { }
[codex:907694]    439	            }
[codex:907694]    440	        }
[codex:907694]    441	        // Interactions: if `msg.sender` is the recipient and the sender is a contract, try to invoke the cancel
[codex:907694]    442	        // hook on the sender without reverting if the hook is not implemented, and also without bubbling up any
[codex:907694]    443	        // potential revert.
[codex:907694]    444	        else {
[codex:907694]    445	            if (sender.code.length > 0) {
[codex:907694]    446	                try ISablierV2LockupSender(sender).onStreamCanceled({
[codex:907694]    447	                    streamId: streamId,
[codex:907694]    448	                    recipient: recipient,
[codex:907694]    449	                    senderAmount: senderAmount,
[codex:907694] 
[codex:907694] thinking
[codex:907694] **Evaluating potential token transfer issues**
[codex:907694] exec
[codex:907694] /bin/bash -lc 'cat codex-output-schema.json' in /tmp/codex-multi-vvf_0vox succeeded in 5ms:
[codex:907694] {"type": "object", "additionalProperties": false, "required": ["no_findings", "summary", "findings"], "properties": {"no_findings": {"type": "boolean"}, "summary": {"type": "string"}, "findings": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["severity", "category", "title", "evidence", "locations", "exploit_scenario", "recommendation"], "properties": {"severity": {"type": "string", "enum": ["info", "low", "medium", "high", "critical"]}, "category": {"type": "string", "enum": ["access_control", "reentrancy", "math", "oracle", "upgradeability", "auth", "other"]}, "title": {"type": "string"}, "exploit_scenario": {"type": "string"}, "recommendation": {"type": "string"}, "evidence": {"type": "string"}, "locations": {"type": "array", "items": {"type": "string"}}}}}}}
[codex:907694] 
[codex:907694] thinking
[codex:907694] **Composing detailed fee-on-transfer token finding**
[codex:907694] codex
[codex:907694] {"no_findings":false,"summary":"1 low-severity accounting issue found in stream funding with fee-on-transfer tokens.","findings":[{"severity":"low","category":"other","title":"Fee-on-transfer tokens can underfund streams and break protocol revenue accounting","exploit_scenario":"A funder creates a stream using a deflationary/fee-on-transfer ERC20. `_createWithRange` records the full `createAmounts.deposit` and `createAmounts.protocolFee`, but `safeTransferFrom` delivers fewer tokens. The stream’s accounting assumes full funding, so recipients may be unable to withdraw the full streamed amount and admin claims for that asset can revert due to insufficient balance.","recommendation":"Either reject fee-on-transfer tokens by checking `balanceBefore/after` and requiring the received amount equals the expected transfer, or adjust `deposit`/`protocolFee` accounting based on actual received amounts before minting/recording the stream.","evidence":"`_createWithRange` records amounts and then transfers the expected `deposit + protocolFee` (and broker fee) without verifying actual received balances, so deflationary tokens can cause undercollateralized streams.","locations":["contracts/src/SablierV2LockupLinear.sol:499","contracts/src/SablierV2LockupLinear.sol:502","contracts/src/SablierV2LockupLinear.sol:510"]}]}
[codex:907694] tokens used
[codex:907694] 64,794
[codex:907694] {"no_findings":false,"summary":"1 low-severity accounting issue found in stream funding with fee-on-transfer tokens.","findings":[{"severity":"low","category":"other","title":"Fee-on-transfer tokens can underfund streams and break protocol revenue accounting","exploit_scenario":"A funder creates a stream using a deflationary/fee-on-transfer ERC20. `_createWithRange` records the full `createAmounts.deposit` and `createAmounts.protocolFee`, but `safeTransferFrom` delivers fewer tokens. The stream’s accounting assumes full funding, so recipients may be unable to withdraw the full streamed amount and admin claims for that asset can revert due to insufficient balance.","recommendation":"Either reject fee-on-transfer tokens by checking `balanceBefore/after` and requiring the received amount equals the expected transfer, or adjust `deposit`/`protocolFee` accounting based on actual received amounts before minting/recording the stream.","evidence":"`_createWithRange` records amounts and then transfers the expected `deposit + protocolFee` (and broker fee) without verifying actual received balances, so deflationary tokens can cause undercollateralized streams.","locations":["contracts/src/SablierV2LockupLinear.sol:499","contracts/src/SablierV2LockupLinear.sol:502","contracts/src/SablierV2LockupLinear.sol:510"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-30T02:39:51.226980+00:00",
        "returncode": 0
    },
    "summary": "1 low-severity accounting issue found in stream funding with fee-on-transfer tokens.",
    "raw_final": {
        "summary": "1 low-severity accounting issue found in stream funding with fee-on-transfer tokens.",
        "findings": [
            {
                "title": "Fee-on-transfer tokens can underfund streams and break protocol revenue accounting",
                "category": "other",
                "evidence": "`_createWithRange` records amounts and then transfers the expected `deposit + protocolFee` (and broker fee) without verifying actual received balances, so deflationary tokens can cause undercollateralized streams.",
                "severity": "low",
                "locations": [
                    "contracts/src/SablierV2LockupLinear.sol:499",
                    "contracts/src/SablierV2LockupLinear.sol:502",
                    "contracts/src/SablierV2LockupLinear.sol:510"
                ],
                "recommendation": "Either reject fee-on-transfer tokens by checking `balanceBefore/after` and requiring the received amount equals the expected transfer, or adjust `deposit`/`protocolFee` accounting based on actual received amounts before minting/recording the stream.",
                "exploit_scenario": "A funder creates a stream using a deflationary/fee-on-transfer ERC20. `_createWithRange` records the full `createAmounts.deposit` and `createAmounts.protocolFee`, but `safeTransferFrom` delivers fewer tokens. The stream\u2019s accounting assumes full funding, so recipients may be unable to withdraw the full streamed amount and admin claims for that asset can revert due to insufficient balance."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
10
EXT*/BALANCE
14
Total opcodes
10279
Flags
heavy_ext_balance_usage
View cast disassembly output
00000000: PUSH1 0x80
00000002: DUP1
00000003: PUSH1 0x40
00000005: MSTORE
00000006: PUSH1 0x04
00000008: CALLDATASIZE
00000009: LT
0000000a: ISZERO
0000000b: PUSH2 0x0013
0000000e: JUMPI
0000000f: PUSH1 0x00
00000011: DUP1
00000012: REVERT
00000013: JUMPDEST
00000014: PUSH1 0x00
00000016: SWAP1
00000017: DUP2
00000018: CALLDATALOAD
00000019: PUSH1 0xe0
0000001b: SHR
0000001c: SWAP1
0000001d: DUP2
0000001e: PUSH4 0x01ffc9a7
00000023: EQ
00000024: PUSH2 0x296e
00000027: JUMPI
00000028: POP
00000029: DUP1
0000002a: PUSH4 0x06fdde03
0000002f: EQ
00000030: PUSH2 0x28ac
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0x081812fc
0000003a: EQ
0000003b: PUSH2 0x288d
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0x095ea7b3
00000045: EQ
00000046: PUSH2 0x26fe
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0x1400ecec
00000050: EQ
00000051: PUSH2 0x265e
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0x1b4103a9
0000005b: EQ
0000005c: PUSH2 0x2543
0000005f: JUMPI
00000060: DUP1
00000061: PUSH4 0x1c1cdd4c
00000066: EQ
00000067: PUSH2 0x24de
0000006a: JUMPI
0000006b: DUP1
0000006c: PUSH4 0x1e99d569
00000071: EQ
00000072: PUSH2 0x24c0
00000075: JUMPI
00000076: DUP1
00000077: PUSH4 0x23b872dd
0000007c: EQ
0000007d: PUSH2 0x2496
00000080: JUMPI
00000081: DUP1
00000082: PUSH4 0x39a73c03
00000087: EQ
00000088: PUSH2 0x2455
0000008b: JUMPI
0000008c: DUP1
0000008d: PUSH4 0x40e58ee5
00000092: EQ
00000093: PUSH2 0x207b
00000096: JUMPI
00000097: DUP1
00000098: PUSH4 0x425d30dd
0000009d: EQ
0000009e: PUSH2 0x205c
000000a1: JUMPI
000000a2: DUP1
000000a3: PUSH4 0x42842e0e
000000a8: EQ
000000a9: PUSH2 0x200c
000000ac: JUMPI
000000ad: DUP1
000000ae: PUSH4 0x42966c68
000000b3: EQ
000000b4: PUSH2 0x1f1a
000000b7: JUMPI
000000b8: DUP1
000000b9: PUSH4 0x4857501f
000000be: EQ
000000bf: PUSH2 0x1e90
000000c2: JUMPI
000000c3: DUP1
000000c4: PUSH4 0x4869e12d
000000c9: EQ
000000ca: PUSH2 0x1e55
000000cd: JUMPI
000000ce: DUP1
000000cf: PUSH4 0x4bc78b73
000000d4: EQ
000000d5: PUSH2 0x1d40
000000d8: JUMPI
000000d9: DUP1
000000da: PUSH4 0x5fe3b567
000000df: EQ
000000e0: PUSH2 0x1d19
000000e3: JUMPI
000000e4: DUP1
000000e5: PUSH4 0x6352211e
000000ea: EQ
000000eb: PUSH2 0x1ce9
000000ee: JUMPI
000000ef: DUP1
000000f0: PUSH4 0x6d0cee75
000000f5: EQ
000000f6: PUSH2 0x1c93
000000f9: JUMPI
000000fa: DUP1
000000fb: PUSH4 0x70a08231
00000100: EQ
00000101: PUSH2 0x1bea
00000104: JUMPI
00000105: DUP1
00000106: PUSH4 0x75829def
0000010b: EQ
0000010c: PUSH2 0x1b57
0000010f: JUMPI
00000110: DUP1
00000111: PUSH4 0x780a82c8
00000116: EQ
00000117: PUSH2 0x1b07
0000011a: JUMPI
0000011b: DUP1
0000011c: PUSH4 0x7cad6cd1
00000121: EQ
00000122: PUSH2 0x1a36
00000125: JUMPI
00000126: DUP1
00000127: PUSH4 0x7de6b1db
0000012c: EQ
0000012d: PUSH2 0x184b
00000130: JUMPI
00000131: DUP1
00000132: PUSH4 0x8659c270
00000137: EQ
00000138: PUSH2 0x1413
0000013b: JUMPI
0000013c: DUP1
0000013d: PUSH4 0x894e9a0d
00000142: EQ
00000143: PUSH2 0x11e2
00000146: JUMPI
00000147: DUP1
00000148: PUSH4 0x8bad38dd
0000014d: EQ
0000014e: PUSH2 0x1165
00000151: JUMPI
00000152: DUP1
00000153: PUSH4 0x8f69b993
00000158: EQ
00000159: PUSH2 0x10c9
0000015c: JUMPI
0000015d: DUP1
0000015e: PUSH4 0x9067b677
00000163: EQ
00000164: PUSH2 0x1076
00000167: JUMPI
00000168: DUP1
00000169: PUSH4 0x95d89b41
0000016e: EQ
0000016f: PUSH2 0x0f69
00000172: JUMPI
00000173: DUP1
00000174: PUSH4 0xa22cb465
00000179: EQ
0000017a: PUSH2 0x0e98
0000017d: JUMPI
0000017e: DUP1
0000017f: PUSH4 0xa2ffb897
00000184: EQ
00000185: PUSH2 0x0c43
00000188: JUMPI
00000189: DUP1
0000018a: PUSH4 0xa6202bf2
0000018f: EQ
00000190: PUSH2 0x0b3d
00000193: JUMPI
00000194: DUP1
00000195: PUSH4 0xa80fc071
0000019a: EQ
0000019b: PUSH2 0x0aeb
0000019e: JUMPI
0000019f: DUP1
000001a0: PUSH4 0xad35efd4
000001a5: EQ
000001a6: PUSH2 0x0a89
000001a9: JUMPI
000001aa: DUP1
000001ab: PUSH4 0xb88d4fde
000001b0: EQ
000001b1: PUSH2 0x09f8
000001b4: JUMPI
000001b5: DUP1
000001b6: PUSH4 0xb8a3be66
000001bb: EQ
000001bc: PUSH2 0x09c3
000001bf: JUMPI
000001c0: DUP1
000001c1: PUSH4 0xb971302a
000001c6: EQ
000001c7: PUSH2 0x0974
000001ca: JUMPI
000001cb: DUP1
000001cc: PUSH4 0xbc063e1a
000001d1: EQ
000001d2: PUSH2 0x0951
000001d5: JUMPI
000001d6: DUP1
000001d7: PUSH4 0xbc2be1be
000001dc: EQ
000001dd: PUSH2 0x0901
000001e0: JUMPI
000001e1: DUP1
000001e2: PUSH4 0xc156a11d
000001e7: EQ
000001e8: PUSH2 0x0834
000001eb: JUMPI
000001ec: DUP1
000001ed: PUSH4 0xc87b56dd
000001f2: EQ
000001f3: PUSH2 0x06f6
000001f6: JUMPI
000001f7: DUP1
000001f8: PUSH4 0xcc364f48
000001fd: EQ
000001fe: PUSH2 0x064a
00000201: JUMPI
00000202: DUP1
00000203: PUSH4 0xd4dbd20b
00000208: EQ
00000209: PUSH2 0x05f8
0000020c: JUMPI
0000020d: DUP1
0000020e: PUSH4 0xd511609f
00000213: EQ
00000214: PUSH2 0x05ac
00000217: JUMPI
00000218: DUP1
00000219: PUSH4 0xd975dfed
0000021e: EQ
0000021f: PUSH2 0x0560
00000222: JUMPI
00000223: DUP1
00000224: PUSH4 0xe985e9c5
00000229: EQ
0000022a: PUSH2 0x050b
0000022d: JUMPI
0000022e: DUP1
0000022f: PUSH4 0xea5ead19
00000234: EQ
00000235: PUSH2 0x04e5
00000238: JUMPI
00000239: DUP1
0000023a: PUSH4 0xeac8f5b8
0000023f: EQ
00000240: PUSH2 0x047c
00000243: JUMPI
00000244: DUP1
00000245: PUSH4 0xf590c176
0000024a: EQ
0000024b: PUSH2 0x0453
0000024e: JUMPI
0000024f: DUP1
00000250: PUSH4 0xf851a440
00000255: EQ
00000256: PUSH2 0x042d
00000259: JUMPI
0000025a: PUSH4 0xfdd46d60
0000025f: EQ
00000260: PUSH2 0x0268
00000263: JUMPI
00000264: PUSH1 0x00
00000266: DUP1
00000267: REVERT
00000268: JUMPDEST
00000269: CALLVALUE
0000026a: PUSH2 0x042a
0000026d: JUMPI
0000026e: PUSH1 0x60
00000270: CALLDATASIZE
00000271: PUSH1 0x03
00000273: NOT
00000274: ADD
00000275: SLT
00000276: PUSH2 0x042a
00000279: JUMPI
0000027a: PUSH1 0x04
0000027c: CALLDATALOAD
0000027d: PUSH2 0x0284
00000280: PUSH2 0x2a9d
00000283: JUMP
00000284: JUMPDEST
00000285: PUSH2 0x028c
00000288: PUSH2 0x2bdc
0000028b: JUMP
0000028c: JUMPDEST
0000028d: SWAP1
0000028e: PUSH2 0x0295
00000291: PUSH2 0x3f94
00000294: JUMP
00000295: JUMPDEST
00000296: PUSH2 0x029e
00000299: DUP4
0000029a: PUSH2 0x31c3
0000029d: JUMP
0000029e: JUMPDEST
0000029f: PUSH2 0x0412
000002a2: JUMPI
000002a3: PUSH2 0x02c2
000002a6: DUP4
000002a7: PUSH1 0x00
000002a9: MSTORE
000002aa: PUSH1 0x0b
000002ac: PUSH1 0x20
000002ae: MSTORE
000002af: PUSH1 0x01
000002b1: PUSH1 0x01
000002b3: PUSH1 0xa0
000002b5: SHL
000002b6: SUB
000002b7: PUSH1 0x40
000002b9: PUSH1 0x00
000002bb: KECCAK256
000002bc: SLOAD
000002bd: AND
000002be: CALLER
000002bf: EQ
000002c0: SWAP1
000002c1: JUMP
000002c2: JUMPDEST
000002c3: ISZERO
000002c4: DUP1
000002c5: PUSH2 0x0402
000002c8: JUMPI
000002c9: JUMPDEST
000002ca: PUSH2 0x03df
000002cd: JUMPI
000002ce: PUSH2 0x02ed
000002d1: DUP4
000002d2: PUSH1 0x00
000002d4: MSTORE
000002d5: PUSH1 0x0b
000002d7: PUSH1 0x20
000002d9: MSTORE
000002da: PUSH1 0x01
000002dc: PUSH1 0x01
000002de: PUSH1 0xa0
000002e0: SHL
000002e1: SUB
000002e2: PUSH1 0x40
000002e4: PUSH1 0x00
000002e6: KECCAK256
000002e7: SLOAD
000002e8: AND
000002e9: CALLER
000002ea: EQ
000002eb: SWAP1
000002ec: JUMP
000002ed: JUMPDEST
000002ee: DUP1
000002ef: PUSH2 0x03bd
000002f2: JUMPI
000002f3: JUMPDEST
000002f4: PUSH2 0x0390
000002f7: JUMPI
000002f8: PUSH1 0x01
000002fa: PUSH1 0x01
000002fc: PUSH1 0xa0
000002fe: SHL
000002ff: SUB
00000300: DUP2
00000301: AND
00000302: ISZERO
00000303: PUSH2 0x0366
00000306: JUMPI
00000307: PUSH1 0x01
00000309: PUSH1 0x01
0000030b: PUSH1 0x80
0000030d: SHL
0000030e: SUB
0000030f: DUP3
00000310: AND
00000311: ISZERO
00000312: PUSH2 0x034e
00000315: JUMPI
00000316: SWAP2
00000317: PUSH2 0x0344
0000031a: PUSH1 0x20
0000031c: SWAP3
0000031d: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
0000033e: SWAP5
0000033f: DUP4
00000340: PUSH2 0x40bf
00000343: JUMP
00000344: JUMPDEST
00000345: PUSH1 0x40
00000347: MLOAD
00000348: SWAP1
00000349: DUP2
0000034a: MSTORE
0000034b: LOG1
0000034c: DUP1
0000034d: RETURN
0000034e: JUMPDEST
0000034f: PUSH1 0x24
00000351: DUP4
00000352: PUSH1 0x40
00000354: MLOAD
00000355: SWAP1
00000356: PUSH4 0xd2aabcd9
0000035b: PUSH1 0xe0
0000035d: SHL
0000035e: DUP3
0000035f: MSTORE
00000360: PUSH1 0x04
00000362: DUP3
00000363: ADD
00000364: MSTORE
00000365: REVERT
00000366: JUMPDEST
00000367: PUSH1 0x04
00000369: PUSH1 0x40
0000036b: MLOAD
0000036c: PUSH32 0xc61a0e9e00000000000000000000000000000000000000000000000000000000
0000038d: DUP2
0000038e: MSTORE
0000038f: REVERT
00000390: JUMPDEST
00000391: DUP3
00000392: PUSH1 0x01
00000394: PUSH1 0x01
00000396: PUSH1 0xa0
00000398: SHL
00000399: SUB
0000039a: PUSH1 0x64
0000039c: SWAP3
0000039d: PUSH1 0x40
0000039f: MLOAD
000003a0: SWAP3
000003a1: PUSH4 0x2dcbf6b9
000003a6: PUSH1 0xe1
000003a8: SHL
000003a9: DUP5
000003aa: MSTORE
000003ab: PUSH1 0x04
000003ad: DUP5
000003ae: ADD
000003af: MSTORE
000003b0: CALLER
000003b1: PUSH1 0x24
000003b3: DUP5
000003b4: ADD
000003b5: MSTORE
000003b6: AND
000003b7: PUSH1 0x44
000003b9: DUP3
000003ba: ADD
000003bb: MSTORE
000003bc: REVERT
000003bd: JUMPDEST
000003be: POP
000003bf: DUP3
000003c0: DUP5
000003c1: MSTORE
000003c2: PUSH1 0x05
000003c4: PUSH1 0x20
000003c6: MSTORE
000003c7: PUSH1 0x01
000003c9: PUSH1 0x01
000003cb: PUSH1 0xa0
000003cd: SHL
000003ce: SUB
000003cf: DUP1
000003d0: PUSH1 0x40
000003d2: DUP7
000003d3: KECCAK256
000003d4: SLOAD
000003d5: AND
000003d6: SWAP1
000003d7: DUP3
000003d8: AND
000003d9: EQ
000003da: ISZERO
000003db: PUSH2 0x02f3
000003de: JUMP
000003df: JUMPDEST
000003e0: PUSH1 0x40
000003e2: MLOAD
000003e3: PUSH4 0x216caf0d
000003e8: PUSH1 0xe0
000003ea: SHL
000003eb: DUP2
000003ec: MSTORE
000003ed: PUSH1 0x04
000003ef: DUP2
000003f0: ADD
000003f1: DUP5
000003f2: SWAP1
000003f3: MSTORE
000003f4: CALLER
000003f5: PUSH1 0x24
000003f7: DUP3
000003f8: ADD
000003f9: MSTORE
000003fa: PUSH1 0x44
000003fc: SWAP1
000003fd: REVERT
000003fe: JUMPDEST
000003ff: SUB
00000400: SWAP1
00000401: REVERT
00000402: JUMPDEST
00000403: POP
00000404: PUSH2 0x040c
00000407: DUP4
00000408: PUSH2 0x42e7
0000040b: JUMP
0000040c: JUMPDEST
0000040d: ISZERO
0000040e: PUSH2 0x02c9
00000411: JUMP
00000412: JUMPDEST
00000413: PUSH1 0x24
00000415: DUP4
00000416: PUSH1 0x40
00000418: MLOAD
00000419: SWAP1
0000041a: PUSH4 0x4a5541ef
0000041f: PUSH1 0xe0
00000421: SHL
00000422: DUP3
00000423: MSTORE
00000424: PUSH1 0x04
00000426: DUP3
00000427: ADD
00000428: MSTORE
00000429: REVERT
0000042a: JUMPDEST
0000042b: DUP1
0000042c: REVERT
0000042d: JUMPDEST
0000042e: POP
0000042f: CALLVALUE
00000430: PUSH2 0x042a
00000433: JUMPI
00000434: DUP1
00000435: PUSH1 0x03
00000437: NOT
00000438: CALLDATASIZE
00000439: ADD
0000043a: SLT
0000043b: PUSH2 0x042a
0000043e: JUMPI
0000043f: PUSH1 0x01
00000441: PUSH1 0x01
00000443: PUSH1 0xa0
00000445: SHL
00000446: SUB
00000447: PUSH1 0x20
00000449: SWAP2
0000044a: SLOAD
0000044b: AND
0000044c: PUSH1 0x40
0000044e: MLOAD
0000044f: SWAP1
00000450: DUP2
00000451: MSTORE
00000452: RETURN
00000453: JUMPDEST
00000454: POP
00000455: CALLVALUE
00000456: PUSH2 0x042a
00000459: JUMPI
0000045a: PUSH1 0x20
0000045c: CALLDATASIZE
0000045d: PUSH1 0x03
0000045f: NOT
00000460: ADD
00000461: SLT
00000462: PUSH2 0x042a
00000465: JUMPI
00000466: PUSH1 0x20
00000468: PUSH2 0x0472
0000046b: PUSH1 0x04
0000046d: CALLDATALOAD
0000046e: PUSH2 0x3229
00000471: JUMP
00000472: JUMPDEST
00000473: PUSH1 0x40
00000475: MLOAD
00000476: SWAP1
00000477: ISZERO
00000478: ISZERO
00000479: DUP2
0000047a: MSTORE
0000047b: RETURN
0000047c: JUMPDEST
0000047d: POP
0000047e: CALLVALUE
0000047f: PUSH2 0x042a
00000482: JUMPI
00000483: PUSH1 0x20
00000485: CALLDATASIZE
00000486: PUSH1 0x03
00000488: NOT
00000489: ADD
0000048a: SLT
0000048b: PUSH2 0x042a
0000048e: JUMPI
0000048f: PUSH1 0x04
00000491: CALLDATALOAD
00000492: DUP1
00000493: DUP3
00000494: MSTORE
00000495: PUSH1 0x0b
00000497: PUSH1 0x20
00000499: MSTORE
0000049a: PUSH1 0xff
0000049c: PUSH1 0x01
0000049e: PUSH1 0x40
000004a0: DUP5
000004a1: KECCAK256
000004a2: ADD
000004a3: SLOAD
000004a4: PUSH1 0xd0
000004a6: SHR
000004a7: AND
000004a8: ISZERO
000004a9: PUSH2 0x04ce
000004ac: JUMPI
000004ad: PUSH1 0x01
000004af: PUSH1 0x40
000004b1: DUP4
000004b2: PUSH1 0x01
000004b4: PUSH1 0x01
000004b6: PUSH1 0xa0
000004b8: SHL
000004b9: SUB
000004ba: SWAP4
000004bb: PUSH1 0x20
000004bd: SWAP6
000004be: MSTORE
000004bf: PUSH1 0x0b
000004c1: DUP6
000004c2: MSTORE
000004c3: KECCAK256
000004c4: ADD
000004c5: SLOAD
000004c6: AND
000004c7: PUSH1 0x40
000004c9: MLOAD
000004ca: SWAP1
000004cb: DUP2
000004cc: MSTORE
000004cd: RETURN
000004ce: JUMPDEST
000004cf: PUSH1 0x24
000004d1: SWAP1
000004d2: PUSH1 0x40
000004d4: MLOAD
000004d5: SWAP1
000004d6: PUSH3 0xb8e7e7
000004da: PUSH1 0xe5
000004dc: SHL
000004dd: DUP3
000004de: MSTORE
000004df: PUSH1 0x04
000004e1: DUP3
000004e2: ADD
000004e3: MSTORE
000004e4: REVERT
000004e5: JUMPDEST
000004e6: POP
000004e7: CALLVALUE
000004e8: PUSH2 0x042a
000004eb: JUMPI
000004ec: PUSH1 0x40
000004ee: CALLDATASIZE
000004ef: PUSH1 0x03
000004f1: NOT
000004f2: ADD
000004f3: SLT
000004f4: PUSH2 0x042a
000004f7: JUMPI
000004f8: PUSH1 0x04
000004fa: CALLDATALOAD
000004fb: PUSH2 0x0502
000004fe: PUSH2 0x2a9d
00000501: JUMP
00000502: JUMPDEST
00000503: PUSH2 0x028c
00000506: DUP3
00000507: PUSH2 0x4056
0000050a: JUMP
0000050b: JUMPDEST
0000050c: POP
0000050d: CALLVALUE
0000050e: PUSH2 0x042a
00000511: JUMPI
00000512: PUSH1 0x40
00000514: CALLDATASIZE
00000515: PUSH1 0x03
00000517: NOT
00000518: ADD
00000519: SLT
0000051a: PUSH2 0x042a
0000051d: JUMPI
0000051e: PUSH2 0x0525
00000521: PUSH2 0x2a87
00000524: JUMP
00000525: JUMPDEST
00000526: PUSH1 0x40
00000528: PUSH2 0x052f
0000052b: PUSH2 0x2a9d
0000052e: JUMP
0000052f: JUMPDEST
00000530: SWAP3
00000531: PUSH1 0x01
00000533: PUSH1 0x01
00000535: PUSH1 0xa0
00000537: SHL
00000538: SUB
00000539: DUP1
0000053a: SWAP4
0000053b: AND
0000053c: DUP2
0000053d: MSTORE
0000053e: PUSH1 0x08
00000540: PUSH1 0x20
00000542: MSTORE
00000543: KECCAK256
00000544: SWAP2
00000545: AND
00000546: PUSH1 0x00
00000548: MSTORE
00000549: PUSH1 0x20
0000054b: MSTORE
0000054c: PUSH1 0x20
0000054e: PUSH1 0xff
00000550: PUSH1 0x40
00000552: PUSH1 0x00
00000554: KECCAK256
00000555: SLOAD
00000556: AND
00000557: PUSH1 0x40
00000559: MLOAD
0000055a: SWAP1
0000055b: ISZERO
0000055c: ISZERO
0000055d: DUP2
0000055e: MSTORE
0000055f: RETURN
00000560: JUMPDEST
00000561: POP
00000562: CALLVALUE
00000563: PUSH2 0x042a
00000566: JUMPI
00000567: PUSH1 0x20
00000569: CALLDATASIZE
0000056a: PUSH1 0x03
0000056c: NOT
0000056d: ADD
0000056e: SLT
0000056f: PUSH2 0x042a
00000572: JUMPI
00000573: PUSH1 0xff
00000575: PUSH1 0x01
00000577: PUSH1 0x40
00000579: PUSH1 0x04
0000057b: CALLDATALOAD
0000057c: SWAP4
0000057d: DUP5
0000057e: DUP2
0000057f: MSTORE
00000580: PUSH1 0x0b
00000582: PUSH1 0x20
00000584: MSTORE
00000585: KECCAK256
00000586: ADD
00000587: SLOAD
00000588: PUSH1 0xd0
0000058a: SHR
0000058b: AND
0000058c: ISZERO
0000058d: PUSH2 0x04ce
00000590: JUMPI
00000591: PUSH2 0x059b
00000594: PUSH1 0x20
00000596: SWAP2
00000597: PUSH2 0x4056
0000059a: JUMP
0000059b: JUMPDEST
0000059c: PUSH1 0x01
0000059e: PUSH1 0x01
000005a0: PUSH1 0x80
000005a2: SHL
000005a3: SUB
000005a4: PUSH1 0x40
000005a6: MLOAD
000005a7: SWAP2
000005a8: AND
000005a9: DUP2
000005aa: MSTORE
000005ab: RETURN
000005ac: JUMPDEST
000005ad: POP
000005ae: CALLVALUE
000005af: PUSH2 0x042a
000005b2: JUMPI
000005b3: PUSH1 0x20
000005b5: CALLDATASIZE
000005b6: PUSH1 0x03
000005b8: NOT
000005b9: ADD
000005ba: SLT
000005bb: PUSH2 0x042a
000005be: JUMPI
000005bf: PUSH1 0x04
000005c1: CALLDATALOAD
000005c2: DUP1
000005c3: DUP3
000005c4: MSTORE
000005c5: PUSH1 0x0b
000005c7: PUSH1 0x20
000005c9: MSTORE
000005ca: PUSH1 0xff
000005cc: PUSH1 0x01
000005ce: PUSH1 0x40
000005d0: DUP5
000005d1: KECCAK256
000005d2: ADD
000005d3: SLOAD
000005d4: PUSH1 0xd0
000005d6: SHR
000005d7: AND
000005d8: ISZERO
000005d9: PUSH2 0x04ce
000005dc: JUMPI
000005dd: PUSH1 0x40
000005df: DUP3
000005e0: PUSH1 0x02
000005e2: SWAP3
000005e3: PUSH1 0x20
000005e5: SWAP5
000005e6: MSTORE
000005e7: PUSH1 0x0b
000005e9: DUP5
000005ea: MSTORE
000005eb: KECCAK256
000005ec: ADD
000005ed: SLOAD
000005ee: PUSH1 0x80
000005f0: SHR
000005f1: PUSH1 0x40
000005f3: MLOAD
000005f4: SWAP1
000005f5: DUP2
000005f6: MSTORE
000005f7: RETURN
000005f8: JUMPDEST
000005f9: POP
000005fa: CALLVALUE
000005fb: PUSH2 0x042a
000005fe: JUMPI
000005ff: PUSH1 0x20
00000601: CALLDATASIZE
00000602: PUSH1 0x03
00000604: NOT
00000605: ADD
00000606: SLT
00000607: PUSH2 0x042a
0000060a: JUMPI
0000060b: PUSH1 0x04
0000060d: CALLDATALOAD
0000060e: DUP1
0000060f: DUP3
00000610: MSTORE
00000611: PUSH1 0x0b
00000613: PUSH1 0x20
00000615: MSTORE
00000616: PUSH1 0xff
00000618: PUSH1 0x01
0000061a: PUSH1 0x40
0000061c: DUP5
0000061d: KECCAK256
0000061e: ADD
0000061f: SLOAD
00000620: PUSH1 0xd0
00000622: SHR
00000623: AND
00000624: ISZERO
00000625: PUSH2 0x04ce
00000628: JUMPI
00000629: PUSH1 0x03
0000062b: PUSH1 0x40
0000062d: DUP4
0000062e: PUSH1 0x01
00000630: PUSH1 0x01
00000632: PUSH1 0x80
00000634: SHL
00000635: SUB
00000636: SWAP4
00000637: PUSH1 0x20
00000639: SWAP6
0000063a: MSTORE
0000063b: PUSH1 0x0b
0000063d: DUP6
0000063e: MSTORE
0000063f: KECCAK256
00000640: ADD
00000641: SLOAD
00000642: AND
00000643: PUSH1 0x40
00000645: MLOAD
00000646: SWAP1
00000647: DUP2
00000648: MSTORE
00000649: RETURN
0000064a: JUMPDEST
0000064b: POP
0000064c: CALLVALUE
0000064d: PUSH2 0x042a
00000650: JUMPI
00000651: PUSH1 0x20
00000653: CALLDATASIZE
00000654: PUSH1 0x03
00000656: NOT
00000657: ADD
00000658: SLT
00000659: PUSH2 0x042a
0000065c: JUMPI
0000065d: PUSH1 0x04
0000065f: CALLDATALOAD
00000660: PUSH2 0x0667
00000663: PUSH2 0x3170
00000666: JUMP
00000667: JUMPDEST
00000668: POP
00000669: DUP1
0000066a: DUP3
0000066b: MSTORE
0000066c: PUSH1 0x0b
0000066e: PUSH1 0x20
00000670: MSTORE
00000671: PUSH1 0xff
00000673: PUSH1 0x01
00000675: PUSH1 0x40
00000677: DUP5
00000678: KECCAK256
00000679: ADD
0000067a: SLOAD
0000067b: PUSH1 0xd0
0000067d: SHR
0000067e: AND
0000067f: ISZERO
00000680: PUSH2 0x04ce
00000683: JUMPI
00000684: DUP2
00000685: PUSH1 0x40
00000687: SWAP2
00000688: PUSH1 0x60
0000068a: SWAP4
0000068b: MSTORE
0000068c: PUSH1 0x0b
0000068e: PUSH1 0x20
00000690: MSTORE
00000691: KECCAK256
00000692: DUP1
00000693: SLOAD
00000694: SWAP1
00000695: PUSH1 0x01
00000697: PUSH5 0xffffffffff
0000069d: SWAP2
0000069e: ADD
0000069f: SLOAD
000006a0: DUP2
000006a1: PUSH1 0x40
000006a3: MLOAD
000006a4: SWAP4
000006a5: PUSH2 0x06ad
000006a8: DUP6
000006a9: PUSH2 0x2b49
000006ac: JUMP
000006ad: JUMPDEST
000006ae: DUP2
000006af: DUP2
000006b0: PUSH1 0xa0
000006b2: SHR
000006b3: AND
000006b4: DUP6
000006b5: MSTORE
000006b6: PUSH1 0xc8
000006b8: SHR
000006b9: AND
000006ba: PUSH1 0x20
000006bc: DUP5
000006bd: ADD
000006be: MSTORE
000006bf: PUSH1 0xa0
000006c1: SHR
000006c2: AND
000006c3: PUSH1 0x40
000006c5: DUP3
000006c6: ADD
000006c7: MSTORE
000006c8: PUSH2 0x06f4
000006cb: PUSH1 0x40
000006cd: MLOAD
000006ce: DUP1
000006cf: SWAP3
000006d0: PUSH1 0x40
000006d2: SWAP1
000006d3: DUP2
000006d4: PUSH5 0xffffffffff
000006da: SWAP2
000006db: DUP3
000006dc: DUP2
000006dd: MLOAD
000006de: AND
000006df: DUP6
000006e0: MSTORE
000006e1: DUP3
000006e2: PUSH1 0x20
000006e4: DUP3
000006e5: ADD
000006e6: MLOAD
000006e7: AND
000006e8: PUSH1 0x20
000006ea: DUP7
000006eb: ADD
000006ec: MSTORE
000006ed: ADD
000006ee: MLOAD
000006ef: AND
000006f0: SWAP2
000006f1: ADD
000006f2: MSTORE
000006f3: JUMP
000006f4: JUMPDEST
000006f5: RETURN
000006f6: JUMPDEST
000006f7: POP
000006f8: CALLVALUE
000006f9: PUSH2 0x042a
000006fc: JUMPI
000006fd: PUSH1 0x20
000006ff: DUP1
00000700: PUSH1 0x03
00000702: NOT
00000703: CALLDATASIZE
00000704: ADD
00000705: SLT
00000706: PUSH2 0x0820
00000709: JUMPI
0000070a: PUSH1 0x04
0000070c: CALLDATALOAD
0000070d: PUSH2 0x0734
00000710: PUSH2 0x072f
00000713: DUP3
00000714: PUSH1 0x00
00000716: MSTORE
00000717: PUSH1 0x05
00000719: PUSH1 0x20
0000071b: MSTORE
0000071c: PUSH1 0x01
0000071e: PUSH1 0x01
00000720: PUSH1 0xa0
00000722: SHL
00000723: SUB
00000724: PUSH1 0x40
00000726: PUSH1 0x00
00000728: KECCAK256
00000729: SLOAD
0000072a: AND
0000072b: ISZERO
0000072c: ISZERO
0000072d: SWAP1
0000072e: JUMP
0000072f: JUMPDEST
00000730: PUSH2 0x2bf2
00000733: JUMP
00000734: JUMPDEST
00000735: DUP3
00000736: PUSH1 0x01
00000738: PUSH1 0x01
0000073a: PUSH1 0xa0
0000073c: SHL
0000073d: SUB
0000073e: PUSH1 0x0a
00000740: SLOAD
00000741: AND
00000742: SWAP2
00000743: PUSH1 0x44
00000745: PUSH1 0x40
00000747: MLOAD
00000748: DUP1
00000749: SWAP5
0000074a: DUP2
0000074b: SWAP4
0000074c: PUSH32 0xe9dc637500000000000000000000000000000000000000000000000000000000
0000076d: DUP4
0000076e: MSTORE
0000076f: ADDRESS
00000770: PUSH1 0x04
00000772: DUP5
00000773: ADD
00000774: MSTORE
00000775: PUSH1 0x24
00000777: DUP4
00000778: ADD
00000779: MSTORE
0000077a: GAS
0000077b: STATICCALL
0000077c: SWAP3
0000077d: DUP4
0000077e: ISZERO
0000077f: PUSH2 0x0828
00000782: JUMPI
00000783: DUP1
00000784: SWAP4
00000785: PUSH2 0x07a3
00000788: JUMPI
00000789: JUMPDEST
0000078a: POP
0000078b: POP
0000078c: PUSH2 0x079f
0000078f: PUSH1 0x40
00000791: MLOAD
00000792: SWAP3
00000793: DUP3
00000794: DUP5
00000795: SWAP4
00000796: DUP5
00000797: MSTORE
00000798: DUP4
00000799: ADD
0000079a: SWAP1
0000079b: PUSH2 0x2a62
0000079e: JUMP
0000079f: JUMPDEST
000007a0: SUB
000007a1: SWAP1
000007a2: RETURN
000007a3: JUMPDEST
000007a4: SWAP1
000007a5: SWAP2
000007a6: SWAP3
000007a7: POP
000007a8: RETURNDATASIZE
000007a9: DUP1
000007aa: DUP3
000007ab: DUP5
000007ac: RETURNDATACOPY
000007ad: PUSH2 0x07b6
000007b0: DUP2
000007b1: DUP5
000007b2: PUSH2 0x2b9e
000007b5: JUMP
000007b6: JUMPDEST
000007b7: DUP3
000007b8: ADD
000007b9: SWAP2
000007ba: DUP4
000007bb: DUP2
000007bc: DUP5
000007bd: SUB
000007be: SLT
000007bf: PUSH2 0x0820
000007c2: JUMPI
000007c3: DUP1
000007c4: MLOAD
000007c5: SWAP1
000007c6: PUSH8 0xffffffffffffffff
000007cf: DUP3
000007d0: GT
000007d1: PUSH2 0x0824
000007d4: JUMPI
000007d5: ADD
000007d6: DUP3
000007d7: PUSH1 0x1f
000007d9: DUP3
000007da: ADD
000007db: SLT
000007dc: ISZERO
000007dd: PUSH2 0x0820
000007e0: JUMPI
000007e1: DUP1
000007e2: MLOAD
000007e3: SWAP2
000007e4: PUSH2 0x07ec
000007e7: DUP4
000007e8: PUSH2 0x2bc0
000007eb: JUMP
000007ec: JUMPDEST
000007ed: SWAP4
000007ee: PUSH2 0x07fa
000007f1: PUSH1 0x40
000007f3: MLOAD
000007f4: SWAP6
000007f5: DUP7
000007f6: PUSH2 0x2b9e
000007f9: JUMP
000007fa: JUMPDEST
000007fb: DUP4
000007fc: DUP6
000007fd: MSTORE
000007fe: DUP6
000007ff: DUP5
00000800: DUP5
00000801: ADD
00000802: ADD
00000803: GT
00000804: PUSH2 0x042a
00000807: JUMPI
00000808: POP
00000809: SWAP1
0000080a: PUSH2 0x0818
0000080d: SWAP2
0000080e: DUP5
0000080f: DUP1
00000810: DUP6
00000811: ADD
00000812: SWAP2
00000813: ADD
00000814: PUSH2 0x2a3f
00000817: JUMP
00000818: JUMPDEST
00000819: SWAP1
0000081a: CODESIZE
0000081b: DUP1
0000081c: PUSH2 0x0789
0000081f: JUMP
00000820: JUMPDEST
00000821: POP
00000822: DUP1
00000823: REVERT
00000824: JUMPDEST
00000825: DUP3
00000826: DUP1
00000827: REVERT
00000828: JUMPDEST
00000829: PUSH1 0x40
0000082b: MLOAD
0000082c: SWAP1
0000082d: RETURNDATASIZE
0000082e: SWAP1
0000082f: DUP3
00000830: RETURNDATACOPY
00000831: RETURNDATASIZE
00000832: SWAP1
00000833: REVERT
00000834: JUMPDEST
00000835: POP
00000836: CALLVALUE
00000837: PUSH2 0x042a
0000083a: JUMPI
0000083b: PUSH1 0x40
0000083d: CALLDATASIZE
0000083e: PUSH1 0x03
00000840: NOT
00000841: ADD
00000842: SLT
00000843: PUSH2 0x042a
00000846: JUMPI
00000847: PUSH1 0x04
00000849: CALLDATALOAD
0000084a: PUSH2 0x0851
0000084d: PUSH2 0x2a9d
00000850: JUMP
00000851: JUMPDEST
00000852: PUSH2 0x0859
00000855: PUSH2 0x3f94
00000858: JUMP
00000859: JUMPDEST
0000085a: DUP2
0000085b: DUP4
0000085c: MSTORE
0000085d: PUSH1 0x0b
0000085f: PUSH1 0x20
00000861: MSTORE
00000862: PUSH1 0xff
00000864: PUSH1 0x01
00000866: PUSH1 0x40
00000868: DUP6
00000869: KECCAK256
0000086a: ADD
0000086b: SLOAD
0000086c: PUSH1 0xd0
0000086e: SHR
0000086f: AND
00000870: ISZERO
00000871: PUSH2 0x08ea
00000874: JUMPI
00000875: DUP2
00000876: DUP4
00000877: MSTORE
00000878: PUSH1 0x05
0000087a: PUSH1 0x20
0000087c: MSTORE
0000087d: PUSH1 0x01
0000087f: PUSH1 0x01
00000881: PUSH1 0xa0
00000883: SHL
00000884: SUB
00000885: PUSH1 0x40
00000887: DUP5
00000888: KECCAK256
00000889: SLOAD
0000088a: AND
0000088b: DUP1
0000088c: CALLER
0000088d: SUB
0000088e: PUSH2 0x03df
00000891: JUMPI
00000892: SWAP2
00000893: PUSH2 0x0344
00000896: DUP2
00000897: PUSH1 0x20
00000899: SWAP4
0000089a: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
000008bb: SWAP6
000008bc: PUSH2 0x08c4
000008bf: DUP4
000008c0: PUSH2 0x4056
000008c3: JUMP
000008c4: JUMPDEST
000008c5: PUSH1 0x01
000008c7: PUSH1 0x01
000008c9: PUSH1 0x80
000008cb: SHL
000008cc: SUB
000008cd: DUP2
000008ce: AND
000008cf: PUSH2 0x08d9
000008d2: JUMPI
000008d3: JUMPDEST
000008d4: POP
000008d5: PUSH2 0x2e85
000008d8: JUMP
000008d9: JUMPDEST
000008da: PUSH2 0x08e4
000008dd: SWAP1
000008de: DUP3
000008df: DUP6
000008e0: PUSH2 0x40bf
000008e3: JUMP
000008e4: JUMPDEST
000008e5: CODESIZE
000008e6: PUSH2 0x08d3
000008e9: JUMP
000008ea: JUMPDEST
000008eb: PUSH1 0x24
000008ed: DUP3
000008ee: PUSH1 0x40
000008f0: MLOAD
000008f1: SWAP1
000008f2: PUSH3 0xb8e7e7
000008f6: PUSH1 0xe5
000008f8: SHL
000008f9: DUP3
000008fa: MSTORE
000008fb: PUSH1 0x04
000008fd: DUP3
000008fe: ADD
000008ff: MSTORE
00000900: REVERT
00000901: JUMPDEST
00000902: POP
00000903: CALLVALUE
00000904: PUSH2 0x042a
00000907: JUMPI
00000908: PUSH1 0x20
0000090a: CALLDATASIZE
0000090b: PUSH1 0x03
0000090d: NOT
0000090e: ADD
0000090f: SLT
00000910: PUSH2 0x042a
00000913: JUMPI
00000914: PUSH1 0x04
00000916: CALLDATALOAD
00000917: DUP1
00000918: DUP3
00000919: MSTORE
0000091a: PUSH1 0x0b
0000091c: PUSH1 0x20
0000091e: MSTORE
0000091f: PUSH1 0xff
00000921: PUSH1 0x01
00000923: PUSH1 0x40
00000925: DUP5
00000926: KECCAK256
00000927: ADD
00000928: SLOAD
00000929: PUSH1 0xd0
0000092b: SHR
0000092c: AND
0000092d: ISZERO
0000092e: PUSH2 0x04ce
00000931: JUMPI
00000932: PUSH1 0x40
00000934: DUP3
00000935: PUSH5 0xffffffffff
0000093b: SWAP3
0000093c: PUSH1 0x20
0000093e: SWAP5
0000093f: MSTORE
00000940: PUSH1 0x0b
00000942: DUP5
00000943: MSTORE
00000944: KECCAK256
00000945: SLOAD
00000946: PUSH1 0xa0
00000948: SHR
00000949: AND
0000094a: PUSH1 0x40
0000094c: MLOAD
0000094d: SWAP1
0000094e: DUP2
0000094f: MSTORE
00000950: RETURN
00000951: JUMPDEST
00000952: POP
00000953: CALLVALUE
00000954: PUSH2 0x042a
00000957: JUMPI
00000958: DUP1
00000959: PUSH1 0x03
0000095b: NOT
0000095c: CALLDATASIZE
0000095d: ADD
0000095e: SLT
0000095f: PUSH2 0x042a
00000962: JUMPI
00000963: PUSH1 0x20
00000965: PUSH1 0x40
00000967: MLOAD
00000968: PUSH8 0x016345785d8a0000
00000971: DUP2
00000972: MSTORE
00000973: RETURN
00000974: JUMPDEST
00000975: POP
00000976: CALLVALUE
00000977: PUSH2 0x042a
0000097a: JUMPI
0000097b: PUSH1 0x20
0000097d: CALLDATASIZE
0000097e: PUSH1 0x03
00000980: NOT
00000981: ADD
00000982: SLT
00000983: PUSH2 0x042a
00000986: JUMPI
00000987: PUSH1 0x04
00000989: CALLDATALOAD
0000098a: DUP1
0000098b: DUP3
0000098c: MSTORE
0000098d: PUSH1 0x0b
0000098f: PUSH1 0x20
00000991: MSTORE
00000992: PUSH1 0xff
00000994: PUSH1 0x01
00000996: PUSH1 0x40
00000998: DUP5
00000999: KECCAK256
0000099a: ADD
0000099b: SLOAD
0000099c: PUSH1 0xd0
0000099e: SHR
0000099f: AND
000009a0: ISZERO
000009a1: PUSH2 0x04ce
000009a4: JUMPI
000009a5: PUSH1 0x40
000009a7: DUP3
000009a8: PUSH1 0x01
000009aa: PUSH1 0x01
000009ac: PUSH1 0xa0
000009ae: SHL
000009af: SUB
000009b0: SWAP3
000009b1: PUSH1 0x20
000009b3: SWAP5
000009b4: MSTORE
000009b5: PUSH1 0x0b
000009b7: DUP5
000009b8: MSTORE
000009b9: KECCAK256
000009ba: SLOAD
000009bb: AND
000009bc: PUSH1 0x40
000009be: MLOAD
000009bf: SWAP1
000009c0: DUP2
000009c1: MSTORE
000009c2: RETURN
000009c3: JUMPDEST
000009c4: POP
000009c5: CALLVALUE
000009c6: PUSH2 0x042a
000009c9: JUMPI
000009ca: PUSH1 0x20
000009cc: CALLDATASIZE
000009cd: PUSH1 0x03
000009cf: NOT
000009d0: ADD
000009d1: SLT
000009d2: PUSH2 0x042a
000009d5: JUMPI
000009d6: PUSH1 0xff
000009d8: PUSH1 0x01
000009da: PUSH1 0x40
000009dc: PUSH1 0x20
000009de: SWAP4
000009df: PUSH1 0x04
000009e1: CALLDATALOAD
000009e2: DUP2
000009e3: MSTORE
000009e4: PUSH1 0x0b
000009e6: DUP6
000009e7: MSTORE
000009e8: KECCAK256
000009e9: ADD
000009ea: SLOAD
000009eb: PUSH1 0xd0
000009ed: SHR
000009ee: AND
000009ef: PUSH1 0x40
000009f1: MLOAD
000009f2: SWAP1
000009f3: ISZERO
000009f4: ISZERO
000009f5: DUP2
000009f6: MSTORE
000009f7: RETURN
000009f8: JUMPDEST
000009f9: POP
000009fa: CALLVALUE
000009fb: PUSH2 0x042a
000009fe: JUMPI
000009ff: PUSH1 0x80
00000a01: CALLDATASIZE
00000a02: PUSH1 0x03
00000a04: NOT
00000a05: ADD
00000a06: SLT
00000a07: PUSH2 0x042a
00000a0a: JUMPI
00000a0b: PUSH2 0x0a12
00000a0e: PUSH2 0x2a87
00000a11: JUMP
00000a12: JUMPDEST
00000a13: PUSH2 0x0a1a
00000a16: PUSH2 0x2a9d
00000a19: JUMP
00000a1a: JUMPDEST
00000a1b: SWAP1
00000a1c: PUSH1 0x64
00000a1e: CALLDATALOAD
00000a1f: SWAP1
00000a20: PUSH8 0xffffffffffffffff
00000a29: DUP3
00000a2a: GT
00000a2b: PUSH2 0x0a85
00000a2e: JUMPI
00000a2f: CALLDATASIZE
00000a30: PUSH1 0x23
00000a32: DUP4
00000a33: ADD
00000a34: SLT
00000a35: ISZERO
00000a36: PUSH2 0x0a85
00000a39: JUMPI
00000a3a: DUP2
00000a3b: PUSH1 0x04
00000a3d: ADD
00000a3e: CALLDATALOAD
00000a3f: SWAP3
00000a40: DUP5
00000a41: PUSH2 0x0a49
00000a44: DUP6
00000a45: PUSH2 0x2bc0
00000a48: JUMP
00000a49: JUMPDEST
00000a4a: SWAP4
00000a4b: PUSH2 0x0a57
00000a4e: PUSH1 0x40
00000a50: MLOAD
00000a51: SWAP6
00000a52: DUP7
00000a53: PUSH2 0x2b9e
00000a56: JUMP
00000a57: JUMPDEST
00000a58: DUP6
00000a59: DUP6
00000a5a: MSTORE
00000a5b: CALLDATASIZE
00000a5c: PUSH1 0x24
00000a5e: DUP8
00000a5f: DUP4
00000a60: ADD
00000a61: ADD
00000a62: GT
00000a63: PUSH2 0x0820
00000a66: JUMPI
00000a67: DUP6
00000a68: PUSH2 0x0a82
00000a6b: SWAP7
00000a6c: PUSH1 0x24
00000a6e: PUSH1 0x20
00000a70: SWAP4
00000a71: ADD
00000a72: DUP4
00000a73: DUP9
00000a74: ADD
00000a75: CALLDATACOPY
00000a76: DUP6
00000a77: ADD
00000a78: ADD
00000a79: MSTORE
00000a7a: PUSH1 0x44
00000a7c: CALLDATALOAD
00000a7d: SWAP2
00000a7e: PUSH2 0x2d10
00000a81: JUMP
00000a82: JUMPDEST
00000a83: DUP1
00000a84: RETURN
00000a85: JUMPDEST
00000a86: DUP4
00000a87: DUP1
00000a88: REVERT
00000a89: JUMPDEST
00000a8a: POP
00000a8b: CALLVALUE
00000a8c: PUSH2 0x042a
00000a8f: JUMPI
00000a90: PUSH1 0x20
00000a92: CALLDATASIZE
00000a93: PUSH1 0x03
00000a95: NOT
00000a96: ADD
00000a97: SLT
00000a98: PUSH2 0x042a
00000a9b: JUMPI
00000a9c: PUSH1 0x04
00000a9e: CALLDATALOAD
00000a9f: DUP1
00000aa0: DUP3
00000aa1: MSTORE
00000aa2: PUSH1 0x0b
00000aa4: PUSH1 0x20
00000aa6: MSTORE
00000aa7: PUSH1 0xff
00000aa9: PUSH1 0x01
00000aab: PUSH1 0x40
00000aad: DUP5
00000aae: KECCAK256
00000aaf: ADD
00000ab0: SLOAD
00000ab1: PUSH1 0xd0
00000ab3: SHR
00000ab4: AND
00000ab5: ISZERO
00000ab6: PUSH2 0x04ce
00000ab9: JUMPI
00000aba: PUSH2 0x0ac2
00000abd: SWAP1
00000abe: PUSH2 0x349f
00000ac1: JUMP
00000ac2: JUMPDEST
00000ac3: PUSH1 0x40
00000ac5: MLOAD
00000ac6: SWAP1
00000ac7: PUSH1 0x05
00000ac9: DUP2
00000aca: LT
00000acb: ISZERO
00000acc: PUSH2 0x0ad7
00000acf: JUMPI
00000ad0: PUSH1 0x20
00000ad2: SWAP3
00000ad3: POP
00000ad4: DUP2
00000ad5: MSTORE
00000ad6: RETURN
00000ad7: JUMPDEST
00000ad8: PUSH1 0x24
00000ada: DUP4
00000adb: PUSH4 0x4e487b71
00000ae0: PUSH1 0xe0
00000ae2: SHL
00000ae3: DUP2
00000ae4: MSTORE
00000ae5: PUSH1 0x21
00000ae7: PUSH1 0x04
00000ae9: MSTORE
00000aea: REVERT
00000aeb: JUMPDEST
00000aec: POP
00000aed: CALLVALUE
00000aee: PUSH2 0x042a
00000af1: JUMPI
00000af2: PUSH1 0x20
00000af4: CALLDATASIZE
00000af5: PUSH1 0x03
00000af7: NOT
00000af8: ADD
00000af9: SLT
00000afa: PUSH2 0x042a
00000afd: JUMPI
00000afe: PUSH1 0x04
00000b00: CALLDATALOAD
00000b01: DUP1
00000b02: DUP3
00000b03: MSTORE
00000b04: PUSH1 0x0b
00000b06: PUSH1 0x20
00000b08: MSTORE
00000b09: PUSH1 0xff
00000b0b: PUSH1 0x01
00000b0d: PUSH1 0x40
00000b0f: DUP5
00000b10: KECCAK256
00000b11: ADD
00000b12: SLOAD
00000b13: PUSH1 0xd0
00000b15: SHR
00000b16: AND
00000b17: ISZERO
00000b18: PUSH2 0x04ce
00000b1b: JUMPI
00000b1c: PUSH1 0x02
00000b1e: PUSH1 0x40
00000b20: DUP4
00000b21: PUSH1 0x01
00000b23: PUSH1 0x01
00000b25: PUSH1 0x80
00000b27: SHL
00000b28: SUB
00000b29: SWAP4
00000b2a: PUSH1 0x20
00000b2c: SWAP6
00000b2d: MSTORE
00000b2e: PUSH1 0x0b
00000b30: DUP6
00000b31: MSTORE
00000b32: KECCAK256
00000b33: ADD
00000b34: SLOAD
00000b35: AND
00000b36: PUSH1 0x40
00000b38: MLOAD
00000b39: SWAP1
00000b3a: DUP2
00000b3b: MSTORE
00000b3c: RETURN
00000b3d: JUMPDEST
00000b3e: POP
00000b3f: CALLVALUE
00000b40: PUSH2 0x042a
00000b43: JUMPI
00000b44: PUSH1 0x20
00000b46: CALLDATASIZE
00000b47: PUSH1 0x03
00000b49: NOT
00000b4a: ADD
00000b4b: SLT
00000b4c: PUSH2 0x042a
00000b4f: JUMPI
00000b50: PUSH2 0x0b57
00000b53: PUSH2 0x2a87
00000b56: JUMP
00000b57: JUMPDEST
00000b58: PUSH1 0x01
00000b5a: PUSH1 0x01
00000b5c: PUSH1 0xa0
00000b5e: SHL
00000b5f: SUB
00000b60: DUP1
00000b61: DUP4
00000b62: SLOAD
00000b63: AND
00000b64: CALLER
00000b65: DUP2
00000b66: SUB
00000b67: PUSH2 0x0c1a
00000b6a: JUMPI
00000b6b: POP
00000b6c: DUP2
00000b6d: AND
00000b6e: SWAP1
00000b6f: DUP2
00000b70: DUP4
00000b71: MSTORE
00000b72: PUSH1 0x02
00000b74: PUSH1 0x20
00000b76: MSTORE
00000b77: PUSH1 0x01
00000b79: PUSH1 0x01
00000b7b: PUSH1 0x80
00000b7d: SHL
00000b7e: SUB
00000b7f: PUSH1 0x40
00000b81: DUP5
00000b82: KECCAK256
00000b83: SLOAD
00000b84: AND
00000b85: SWAP1
00000b86: DUP2
00000b87: ISZERO
00000b88: PUSH2 0x0be9
00000b8b: JUMPI
00000b8c: DUP2
00000b8d: PUSH2 0x0bba
00000b90: SWAP2
00000b91: DUP5
00000b92: DUP7
00000b93: MSTORE
00000b94: PUSH1 0x02
00000b96: PUSH1 0x20
00000b98: MSTORE
00000b99: PUSH1 0x40
00000b9b: DUP7
00000b9c: KECCAK256
00000b9d: PUSH16 0xffffffffffffffffffffffffffffffff
00000bae: NOT
00000baf: DUP2
00000bb0: SLOAD
00000bb1: AND
00000bb2: SWAP1
00000bb3: SSTORE
00000bb4: CALLER
00000bb5: SWAP1
00000bb6: PUSH2 0x3ff0
00000bb9: JUMP
00000bba: JUMPDEST
00000bbb: PUSH1 0x40
00000bbd: MLOAD
00000bbe: SWAP1
00000bbf: DUP2
00000bc0: MSTORE
00000bc1: PUSH32 0xca7a4a65a94ed2f37538814e00e1cd4c41a78261561e3f3794592f11409cf5af
00000be2: PUSH1 0x20
00000be4: CALLER
00000be5: SWAP3
00000be6: LOG3
00000be7: DUP1
00000be8: RETURN
00000be9: JUMPDEST
00000bea: PUSH1 0x24
00000bec: DUP4
00000bed: PUSH1 0x40
00000bef: MLOAD
00000bf0: SWAP1
00000bf1: PUSH32 0x8410168c00000000000000000000000000000000000000000000000000000000
00000c12: DUP3
00000c13: MSTORE
00000c14: PUSH1 0x04
00000c16: DUP3
00000c17: ADD
00000c18: MSTORE
00000c19: REVERT
00000c1a: JUMPDEST
00000c1b: PUSH1 0x40
00000c1d: MLOAD
00000c1e: PUSH4 0x31b339a9
00000c23: PUSH1 0xe2
00000c25: SHL
00000c26: DUP2
00000c27: MSTORE
00000c28: PUSH1 0x01
00000c2a: PUSH1 0x01
00000c2c: PUSH1 0xa0
00000c2e: SHL
00000c2f: SUB
00000c30: SWAP2
00000c31: SWAP1
00000c32: SWAP2
00000c33: AND
00000c34: PUSH1 0x04
00000c36: DUP3
00000c37: ADD
00000c38: MSTORE
00000c39: CALLER
00000c3a: PUSH1 0x24
00000c3c: DUP3
00000c3d: ADD
00000c3e: MSTORE
00000c3f: PUSH1 0x44
00000c41: SWAP1
00000c42: REVERT
00000c43: JUMPDEST
00000c44: POP
00000c45: CALLVALUE
00000c46: PUSH2 0x042a
00000c49: JUMPI
00000c4a: PUSH1 0x60
00000c4c: CALLDATASIZE
00000c4d: PUSH1 0x03
00000c4f: NOT
00000c50: ADD
00000c51: SLT
00000c52: PUSH2 0x042a
00000c55: JUMPI
00000c56: PUSH8 0xffffffffffffffff
00000c5f: PUSH1 0x04
00000c61: CALLDATALOAD
00000c62: DUP2
00000c63: DUP2
00000c64: GT
00000c65: PUSH2 0x0824
00000c68: JUMPI
00000c69: PUSH2 0x0c76
00000c6c: SWAP1
00000c6d: CALLDATASIZE
00000c6e: SWAP1
00000c6f: PUSH1 0x04
00000c71: ADD
00000c72: PUSH2 0x2ae8
00000c75: JUMP
00000c76: JUMPDEST
00000c77: SWAP2
00000c78: PUSH2 0x0c7f
00000c7b: PUSH2 0x2a9d
00000c7e: JUMP
00000c7f: JUMPDEST
00000c80: SWAP1
00000c81: PUSH1 0x44
00000c83: CALLDATALOAD
00000c84: SWAP1
00000c85: DUP2
00000c86: GT
00000c87: PUSH2 0x0e94
00000c8a: JUMPI
00000c8b: PUSH2 0x0c98
00000c8e: SWAP1
00000c8f: CALLDATASIZE
00000c90: SWAP1
00000c91: PUSH1 0x04
00000c93: ADD
00000c94: PUSH2 0x2ae8
00000c97: JUMP
00000c98: JUMPDEST
00000c99: SWAP1
00000c9a: SWAP4
00000c9b: PUSH2 0x0ca2
00000c9e: PUSH2 0x3f94
00000ca1: JUMP
00000ca2: JUMPDEST
00000ca3: DUP2
00000ca4: DUP2
00000ca5: SUB
00000ca6: PUSH2 0x0e5e
00000ca9: JUMPI
00000caa: DUP6
00000cab: JUMPDEST
00000cac: DUP2
00000cad: DUP2
00000cae: LT
00000caf: PUSH2 0x0cb6
00000cb2: JUMPI
00000cb3: DUP7
00000cb4: DUP1
00000cb5: RETURN
00000cb6: JUMPDEST
00000cb7: PUSH2 0x0cc1
00000cba: DUP2
00000cbb: DUP4
00000cbc: DUP8
00000cbd: PUSH2 0x407e
00000cc0: JUMP
00000cc1: JUMPDEST
00000cc2: CALLDATALOAD
00000cc3: PUSH2 0x0ccd
00000cc6: DUP3
00000cc7: DUP6
00000cc8: DUP10
00000cc9: PUSH2 0x407e
00000ccc: JUMP
00000ccd: JUMPDEST
00000cce: CALLDATALOAD
00000ccf: PUSH1 0x01
00000cd1: PUSH1 0x01
00000cd3: PUSH1 0x80
00000cd5: SHL
00000cd6: SUB
00000cd7: DUP2
00000cd8: AND
00000cd9: DUP2
00000cda: SUB
00000cdb: PUSH2 0x0e59
00000cde: JUMPI
00000cdf: PUSH2 0x0ce6
00000ce2: PUSH2 0x3f94
00000ce5: JUMP
00000ce6: JUMPDEST
00000ce7: PUSH2 0x0cef
00000cea: DUP3
00000ceb: PUSH2 0x31c3
00000cee: JUMP
00000cef: JUMPDEST
00000cf0: PUSH2 0x0e41
00000cf3: JUMPI
00000cf4: PUSH2 0x0d13
00000cf7: DUP3
00000cf8: PUSH1 0x00
00000cfa: MSTORE
00000cfb: PUSH1 0x0b
00000cfd: PUSH1 0x20
00000cff: MSTORE
00000d00: PUSH1 0x01
00000d02: PUSH1 0x01
00000d04: PUSH1 0xa0
00000d06: SHL
00000d07: SUB
00000d08: PUSH1 0x40
00000d0a: PUSH1 0x00
00000d0c: KECCAK256
00000d0d: SLOAD
00000d0e: AND
00000d0f: CALLER
00000d10: EQ
00000d11: SWAP1
00000d12: JUMP
00000d13: JUMPDEST
00000d14: ISZERO
00000d15: DUP1
00000d16: PUSH2 0x0e31
00000d19: JUMPI
00000d1a: JUMPDEST
00000d1b: PUSH2 0x0e12
00000d1e: JUMPI
00000d1f: PUSH2 0x0d3e
00000d22: DUP3
00000d23: PUSH1 0x00
00000d25: MSTORE
00000d26: PUSH1 0x0b
00000d28: PUSH1 0x20
00000d2a: MSTORE
00000d2b: PUSH1 0x01
00000d2d: PUSH1 0x01
00000d2f: PUSH1 0xa0
00000d31: SHL
00000d32: SUB
00000d33: PUSH1 0x40
00000d35: PUSH1 0x00
00000d37: KECCAK256
00000d38: SLOAD
00000d39: AND
00000d3a: CALLER
00000d3b: EQ
00000d3c: SWAP1
00000d3d: JUMP
00000d3e: JUMPDEST
00000d3f: DUP1
00000d40: PUSH2 0x0dea
00000d43: JUMPI
00000d44: JUMPDEST
00000d45: PUSH2 0x0dbd
00000d48: JUMPI
00000d49: PUSH1 0x01
00000d4b: PUSH1 0x01
00000d4d: PUSH1 0xa0
00000d4f: SHL
00000d50: SUB
00000d51: DUP7
00000d52: AND
00000d53: ISZERO
00000d54: PUSH2 0x0366
00000d57: JUMPI
00000d58: PUSH1 0x01
00000d5a: PUSH1 0x01
00000d5c: PUSH1 0x80
00000d5e: SHL
00000d5f: SUB
00000d60: DUP2
00000d61: AND
00000d62: ISZERO
00000d63: PUSH2 0x0da5
00000d66: JUMPI
00000d67: PUSH1 0x20
00000d69: DUP3
00000d6a: PUSH2 0x0d98
00000d6d: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
00000d8e: SWAP4
00000d8f: DUP10
00000d90: PUSH1 0x01
00000d92: SWAP8
00000d93: SWAP7
00000d94: PUSH2 0x40bf
00000d97: JUMP
00000d98: JUMPDEST
00000d99: PUSH1 0x40
00000d9b: MLOAD
00000d9c: SWAP1
00000d9d: DUP2
00000d9e: MSTORE
00000d9f: LOG1
00000da0: ADD
00000da1: PUSH2 0x0cab
00000da4: JUMP
00000da5: JUMPDEST
00000da6: PUSH1 0x24
00000da8: DUP3
00000da9: PUSH1 0x40
00000dab: MLOAD
00000dac: SWAP1
00000dad: PUSH4 0xd2aabcd9
00000db2: PUSH1 0xe0
00000db4: SHL
00000db5: DUP3
00000db6: MSTORE
00000db7: PUSH1 0x04
00000db9: DUP3
00000dba: ADD
00000dbb: MSTORE
00000dbc: REVERT
00000dbd: JUMPDEST
00000dbe: PUSH1 0x64
00000dc0: DUP3
00000dc1: PUSH1 0x01
00000dc3: PUSH1 0x01
00000dc5: PUSH1 0xa0
00000dc7: SHL
00000dc8: SUB
00000dc9: DUP9
00000dca: PUSH1 0x40
00000dcc: MLOAD
00000dcd: SWAP3
00000dce: PUSH4 0x2dcbf6b9
00000dd3: PUSH1 0xe1
00000dd5: SHL
00000dd6: DUP5
00000dd7: MSTORE
00000dd8: PUSH1 0x04
00000dda: DUP5
00000ddb: ADD
00000ddc: MSTORE
00000ddd: CALLER
00000dde: PUSH1 0x24
00000de0: DUP5
00000de1: ADD
00000de2: MSTORE
00000de3: AND
00000de4: PUSH1 0x44
00000de6: DUP3
00000de7: ADD
00000de8: MSTORE
00000de9: REVERT
00000dea: JUMPDEST
00000deb: POP
00000dec: DUP2
00000ded: DUP10
00000dee: MSTORE
00000def: PUSH1 0x05
00000df1: PUSH1 0x20
00000df3: MSTORE
00000df4: PUSH1 0x01
00000df6: PUSH1 0x01
00000df8: PUSH1 0xa0
00000dfa: SHL
00000dfb: SUB
00000dfc: PUSH1 0x40
00000dfe: DUP11
00000dff: KECCAK256
00000e00: SLOAD
00000e01: AND
00000e02: PUSH1 0x01
00000e04: PUSH1 0x01
00000e06: PUSH1 0xa0
00000e08: SHL
00000e09: SUB
00000e0a: DUP8
00000e0b: AND
00000e0c: EQ
00000e0d: ISZERO
00000e0e: PUSH2 0x0d44
00000e11: JUMP
00000e12: JUMPDEST
00000e13: PUSH1 0x40
00000e15: MLOAD
00000e16: PUSH4 0x216caf0d
00000e1b: PUSH1 0xe0
00000e1d: SHL
00000e1e: DUP2
00000e1f: MSTORE
00000e20: PUSH1 0x04
00000e22: DUP2
00000e23: ADD
00000e24: DUP4
00000e25: SWAP1
00000e26: MSTORE
00000e27: CALLER
00000e28: PUSH1 0x24
00000e2a: DUP3
00000e2b: ADD
00000e2c: MSTORE
00000e2d: PUSH1 0x44
00000e2f: SWAP1
00000e30: REVERT
00000e31: JUMPDEST
00000e32: POP
00000e33: PUSH2 0x0e3b
00000e36: DUP3
00000e37: PUSH2 0x42e7
00000e3a: JUMP
00000e3b: JUMPDEST
00000e3c: ISZERO
00000e3d: PUSH2 0x0d1a
00000e40: JUMP
00000e41: JUMPDEST
00000e42: PUSH1 0x24
00000e44: DUP3
00000e45: PUSH1 0x40
00000e47: MLOAD
00000e48: SWAP1
00000e49: PUSH4 0x4a5541ef
00000e4e: PUSH1 0xe0
00000e50: SHL
00000e51: DUP3
00000e52: MSTORE
00000e53: PUSH1 0x04
00000e55: DUP3
00000e56: ADD
00000e57: MSTORE
00000e58: REVERT
00000e59: JUMPDEST
00000e5a: PUSH1 0x00
00000e5c: DUP1
00000e5d: REVERT
00000e5e: JUMPDEST
00000e5f: PUSH1 0x44
00000e61: SWAP2
00000e62: PUSH1 0x40
00000e64: MLOAD
00000e65: SWAP2
00000e66: PUSH32 0xaec9344000000000000000000000000000000000000000000000000000000000
00000e87: DUP4
00000e88: MSTORE
00000e89: PUSH1 0x04
00000e8b: DUP4
00000e8c: ADD
00000e8d: MSTORE
00000e8e: PUSH1 0x24
00000e90: DUP3
00000e91: ADD
00000e92: MSTORE
00000e93: REVERT
00000e94: JUMPDEST
00000e95: DUP5
00000e96: DUP1
00000e97: REVERT
00000e98: JUMPDEST
00000e99: POP
00000e9a: CALLVALUE
00000e9b: PUSH2 0x042a
00000e9e: JUMPI
00000e9f: PUSH1 0x40
00000ea1: CALLDATASIZE
00000ea2: PUSH1 0x03
00000ea4: NOT
00000ea5: ADD
00000ea6: SLT
00000ea7: PUSH2 0x042a
00000eaa: JUMPI
00000eab: PUSH2 0x0eb2
00000eae: PUSH2 0x2a87
00000eb1: JUMP
00000eb2: JUMPDEST
00000eb3: PUSH1 0x24
00000eb5: CALLDATALOAD
00000eb6: SWAP1
00000eb7: DUP2
00000eb8: ISZERO
00000eb9: ISZERO
00000eba: DUP1
00000ebb: SWAP3
00000ebc: SUB
00000ebd: PUSH2 0x0e59
00000ec0: JUMPI
00000ec1: PUSH1 0x01
00000ec3: PUSH1 0x01
00000ec5: PUSH1 0xa0
00000ec7: SHL
00000ec8: SUB
00000ec9: AND
00000eca: SWAP1
00000ecb: DUP2
00000ecc: CALLER
00000ecd: EQ
00000ece: PUSH2 0x0f25
00000ed1: JUMPI
00000ed2: CALLER
00000ed3: DUP4
00000ed4: MSTORE
00000ed5: PUSH1 0x08
00000ed7: PUSH1 0x20
00000ed9: MSTORE
00000eda: PUSH1 0x40
00000edc: DUP4
00000edd: KECCAK256
00000ede: DUP3
00000edf: PUSH1 0x00
00000ee1: MSTORE
00000ee2: PUSH1 0x20
00000ee4: MSTORE
00000ee5: PUSH1 0x40
00000ee7: PUSH1 0x00
00000ee9: KECCAK256
00000eea: PUSH1 0xff
00000eec: NOT
00000eed: DUP2
00000eee: SLOAD
00000eef: AND
00000ef0: PUSH1 0xff
00000ef2: DUP4
00000ef3: AND
00000ef4: OR
00000ef5: SWAP1
00000ef6: SSTORE
00000ef7: PUSH1 0x40
00000ef9: MLOAD
00000efa: SWAP1
00000efb: DUP2
00000efc: MSTORE
00000efd: PUSH32 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31
00000f1e: PUSH1 0x20
00000f20: CALLER
00000f21: SWAP3
00000f22: LOG3
00000f23: DUP1
00000f24: RETURN
00000f25: JUMPDEST
00000f26: PUSH1 0x64
00000f28: PUSH1 0x40
00000f2a: MLOAD
00000f2b: PUSH3 0x461bcd
00000f2f: PUSH1 0xe5
00000f31: SHL
00000f32: DUP2
00000f33: MSTORE
00000f34: PUSH1 0x20
00000f36: PUSH1 0x04
00000f38: DUP3
00000f39: ADD
00000f3a: MSTORE
00000f3b: PUSH1 0x19
00000f3d: PUSH1 0x24
00000f3f: DUP3
00000f40: ADD
00000f41: MSTORE
00000f42: PUSH32 0x4552433732313a20617070726f766520746f2063616c6c657200000000000000
00000f63: PUSH1 0x44
00000f65: DUP3
00000f66: ADD
00000f67: MSTORE
00000f68: REVERT
00000f69: JUMPDEST
00000f6a: POP
00000f6b: CALLVALUE
00000f6c: PUSH2 0x042a
00000f6f: JUMPI
00000f70: DUP1
00000f71: PUSH1 0x03
00000f73: NOT
00000f74: CALLDATASIZE
00000f75: ADD
00000f76: SLT
00000f77: PUSH2 0x042a
00000f7a: JUMPI
00000f7b: PUSH1 0x40
00000f7d: MLOAD
00000f7e: SWAP1
00000f7f: DUP1
00000f80: PUSH1 0x04
00000f82: SLOAD
00000f83: SWAP2
00000f84: PUSH1 0x01
00000f86: DUP4
00000f87: DUP2
00000f88: SHR
00000f89: SWAP3
00000f8a: DUP2
00000f8b: DUP6
00000f8c: AND
00000f8d: SWAP5
00000f8e: DUP6
00000f8f: ISZERO
00000f90: PUSH2 0x106c
00000f93: JUMPI
00000f94: JUMPDEST
00000f95: PUSH1 0x20
00000f97: SWAP6
00000f98: DUP7
00000f99: DUP7
00000f9a: LT
00000f9b: DUP2
00000f9c: EQ
00000f9d: PUSH2 0x1058
00000fa0: JUMPI
00000fa1: DUP6
00000fa2: DUP9
00000fa3: MSTORE
00000fa4: DUP8
00000fa5: SWAP5
00000fa6: SWAP4
00000fa7: SWAP3
00000fa8: SWAP2
00000fa9: DUP8
00000faa: SWAP1
00000fab: DUP3
00000fac: ISZERO
00000fad: PUSH2 0x1036
00000fb0: JUMPI
00000fb1: POP
00000fb2: POP
00000fb3: PUSH1 0x01
00000fb5: EQ
00000fb6: PUSH2 0x0fdc
00000fb9: JUMPI
00000fba: JUMPDEST
00000fbb: POP
00000fbc: POP
00000fbd: PUSH2 0x0fc8
00000fc0: SWAP3
00000fc1: POP
00000fc2: SUB
00000fc3: DUP4
00000fc4: PUSH2 0x2b9e
00000fc7: JUMP
00000fc8: JUMPDEST
00000fc9: PUSH2 0x079f
00000fcc: PUSH1 0x40
00000fce: MLOAD
00000fcf: SWAP3
00000fd0: DUP3
00000fd1: DUP5
00000fd2: SWAP4
00000fd3: DUP5
00000fd4: MSTORE
00000fd5: DUP4
00000fd6: ADD
00000fd7: SWAP1
00000fd8: PUSH2 0x2a62
00000fdb: JUMP
00000fdc: JUMPDEST
00000fdd: SWAP1
00000fde: DUP6
00000fdf: SWAP3
00000fe0: POP
00000fe1: PUSH1 0x04
00000fe3: DUP3
00000fe4: MSTORE
00000fe5: PUSH32 0x8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b
00001006: JUMPDEST
00001007: DUP6
00001008: DUP4
00001009: LT
0000100a: PUSH2 0x101e
0000100d: JUMPI
0000100e: POP
0000100f: POP
00001010: PUSH2 0x0fc8
00001013: SWAP4
00001014: POP
00001015: DUP3
00001016: ADD
00001017: ADD
00001018: CODESIZE
00001019: DUP1
0000101a: PUSH2 0x0fba
0000101d: JUMP
0000101e: JUMPDEST
0000101f: DUP1
00001020: SLOAD
00001021: DUP4
00001022: DUP10
00001023: ADD
00001024: DUP6
00001025: ADD
00001026: MSTORE
00001027: DUP8
00001028: SWAP5
00001029: POP
0000102a: DUP7
0000102b: SWAP4
0000102c: SWAP1
0000102d: SWAP3
0000102e: ADD
0000102f: SWAP2
00001030: DUP2
00001031: ADD
00001032: PUSH2 0x1006
00001035: JUMP
00001036: JUMPDEST
00001037: SWAP3
00001038: POP
00001039: SWAP4
0000103a: POP
0000103b: POP
0000103c: PUSH2 0x0fc8
0000103f: SWAP5
00001040: SWAP2
00001041: POP
00001042: PUSH1 0xff
00001044: NOT
00001045: AND
00001046: DUP3
00001047: DUP5
00001048: ADD
00001049: MSTORE
0000104a: ISZERO
0000104b: ISZERO
0000104c: PUSH1 0x05
0000104e: SHL
0000104f: DUP3
00001050: ADD
00001051: ADD
00001052: CODESIZE
00001053: DUP1
00001054: PUSH2 0x0fba
00001057: JUMP
00001058: JUMPDEST
00001059: PUSH1 0x24
0000105b: DUP4
0000105c: PUSH4 0x4e487b71
00001061: PUSH1 0xe0
00001063: SHL
00001064: DUP2
00001065: MSTORE
00001066: PUSH1 0x22
00001068: PUSH1 0x04
0000106a: MSTORE
0000106b: REVERT
0000106c: JUMPDEST
0000106d: SWAP4
0000106e: PUSH1 0x7f
00001070: AND
00001071: SWAP4
00001072: PUSH2 0x0f94
00001075: JUMP
00001076: JUMPDEST
00001077: POP
00001078: CALLVALUE
00001079: PUSH2 0x042a
0000107c: JUMPI
0000107d: PUSH1 0x20
0000107f: CALLDATASIZE
00001080: PUSH1 0x03
00001082: NOT
00001083: ADD
00001084: SLT
00001085: PUSH2 0x042a
00001088: JUMPI
00001089: PUSH1 0x04
0000108b: CALLDATALOAD
0000108c: DUP1
0000108d: DUP3
0000108e: MSTORE
0000108f: PUSH1 0x0b
00001091: PUSH1 0x20
00001093: MSTORE
00001094: PUSH1 0xff
00001096: PUSH1 0x01
00001098: PUSH1 0x40
0000109a: DUP5
0000109b: KECCAK256
0000109c: ADD
0000109d: SLOAD
0000109e: PUSH1 0xd0
000010a0: SHR
000010a1: AND
000010a2: ISZERO
000010a3: PUSH2 0x04ce
000010a6: JUMPI
000010a7: PUSH1 0x01
000010a9: PUSH1 0x40
000010ab: DUP4
000010ac: PUSH5 0xffffffffff
000010b2: SWAP4
000010b3: PUSH1 0x20
000010b5: SWAP6
000010b6: MSTORE
000010b7: PUSH1 0x0b
000010b9: DUP6
000010ba: MSTORE
000010bb: KECCAK256
000010bc: ADD
000010bd: SLOAD
000010be: PUSH1 0xa0
000010c0: SHR
000010c1: AND
000010c2: PUSH1 0x40
000010c4: MLOAD
000010c5: SWAP1
000010c6: DUP2
000010c7: MSTORE
000010c8: RETURN
000010c9: JUMPDEST
000010ca: POP
000010cb: CALLVALUE
000010cc: PUSH2 0x042a
000010cf: JUMPI
000010d0: PUSH1 0x20
000010d2: CALLDATASIZE
000010d3: PUSH1 0x03
000010d5: NOT
000010d6: ADD
000010d7: SLT
000010d8: PUSH2 0x042a
000010db: JUMPI
000010dc: PUSH1 0x04
000010de: CALLDATALOAD
000010df: DUP1
000010e0: DUP3
000010e1: MSTORE
000010e2: PUSH1 0x0b
000010e4: PUSH1 0x20
000010e6: MSTORE
000010e7: PUSH1 0xff
000010e9: PUSH1 0x01
000010eb: PUSH1 0x40
000010ed: DUP5
000010ee: KECCAK256
000010ef: ADD
000010f0: SLOAD
000010f1: PUSH1 0xd0
000010f3: SHR
000010f4: AND
000010f5: ISZERO
000010f6: PUSH2 0x04ce
000010f9: JUMPI
000010fa: PUSH2 0x1102
000010fd: SWAP1
000010fe: PUSH2 0x349f
00001101: JUMP
00001102: JUMPDEST
00001103: SWAP1
00001104: PUSH1 0x05
00001106: DUP3
00001107: LT
00001108: ISZERO
00001109: SWAP1
0000110a: DUP2
0000110b: PUSH2 0x1143
0000110e: JUMPI
0000110f: PUSH1 0x02
00001111: DUP4
00001112: EQ
00001113: SWAP2
00001114: DUP3
00001115: ISZERO
00001116: PUSH2 0x1157
00001119: JUMPI
0000111a: JUMPDEST
0000111b: DUP3
0000111c: ISZERO
0000111d: PUSH2 0x112e
00001120: JUMPI
00001121: JUMPDEST
00001122: PUSH1 0x20
00001124: DUP4
00001125: PUSH1 0x40
00001127: MLOAD
00001128: SWAP1
00001129: ISZERO
0000112a: ISZERO
0000112b: DUP2
0000112c: MSTORE
0000112d: RETURN
0000112e: JUMPDEST
0000112f: SWAP1
00001130: SWAP2
00001131: POP
00001132: PUSH2 0x1143
00001135: JUMPI
00001136: POP
00001137: PUSH1 0x04
00001139: PUSH1 0x20
0000113b: SWAP2
0000113c: EQ
0000113d: CODESIZE
0000113e: DUP1
0000113f: PUSH2 0x1121
00001142: JUMP
00001143: JUMPDEST
00001144: DUP1
00001145: PUSH4 0x4e487b71
0000114a: PUSH1 0xe0
0000114c: SHL
0000114d: PUSH1 0x24
0000114f: SWAP3
00001150: MSTORE
00001151: PUSH1 0x21
00001153: PUSH1 0x04
00001155: MSTORE
00001156: REVERT
00001157: JUMPDEST
00001158: POP
00001159: PUSH1 0x03
0000115b: DUP4
0000115c: EQ
0000115d: SWAP2
0000115e: POP
0000115f: PUSH1 0x00
00001161: PUSH2 0x111a
00001164: JUMP
00001165: JUMPDEST
00001166: POP
00001167: CALLVALUE
00001168: PUSH2 0x042a
0000116b: JUMPI
0000116c: PUSH1 0x20
0000116e: CALLDATASIZE
0000116f: PUSH1 0x03
00001171: NOT
00001172: ADD
00001173: SLT
00001174: PUSH2 0x042a
00001177: JUMPI
00001178: PUSH1 0x04
0000117a: CALLDATALOAD
0000117b: PUSH1 0x01
0000117d: PUSH1 0x01
0000117f: PUSH1 0xa0
00001181: SHL
00001182: SUB
00001183: SWAP1
00001184: DUP2
00001185: DUP2
00001186: AND
00001187: DUP1
00001188: SWAP2
00001189: SUB
0000118a: PUSH2 0x0824
0000118d: JUMPI
0000118e: DUP2
0000118f: DUP4
00001190: SLOAD
00001191: AND
00001192: CALLER
00001193: DUP2
00001194: SUB
00001195: PUSH2 0x0c1a
00001198: JUMPI
00001199: POP
0000119a: PUSH1 0x01
0000119c: SLOAD
0000119d: SWAP2
0000119e: DUP2
0000119f: PUSH1 0x01
000011a1: PUSH1 0x01
000011a3: PUSH1 0xa0
000011a5: SHL
000011a6: SUB
000011a7: NOT
000011a8: DUP5
000011a9: AND
000011aa: OR
000011ab: PUSH1 0x01
000011ad: SSTORE
000011ae: PUSH1 0x40
000011b0: MLOAD
000011b1: SWAP3
000011b2: AND
000011b3: DUP3
000011b4: MSTORE
000011b5: PUSH1 0x20
000011b7: DUP3
000011b8: ADD
000011b9: MSTORE
000011ba: PUSH32 0xdcb09aef4bf01068924ccce937981cbe59d25ba08380cf941aaaea4e4bd3960d
000011db: PUSH1 0x40
000011dd: CALLER
000011de: SWAP3
000011df: LOG2
000011e0: DUP1
000011e1: RETURN
000011e2: JUMPDEST
000011e3: POP
000011e4: CALLVALUE
000011e5: PUSH2 0x042a
000011e8: JUMPI
000011e9: PUSH1 0x20
000011eb: CALLDATASIZE
000011ec: PUSH1 0x03
000011ee: NOT
000011ef: ADD
000011f0: SLT
000011f1: PUSH2 0x042a
000011f4: JUMPI
000011f5: PUSH1 0x40
000011f7: MLOAD
000011f8: PUSH2 0x1200
000011fb: DUP2
000011fc: PUSH2 0x2b65
000011ff: JUMP
00001200: JUMPDEST
00001201: DUP2
00001202: DUP2
00001203: MSTORE
00001204: DUP2
00001205: PUSH1 0x20
00001207: DUP3
00001208: ADD
00001209: MSTORE
0000120a: DUP2
0000120b: PUSH1 0x40
0000120d: DUP3
0000120e: ADD
0000120f: MSTORE
00001210: DUP2
00001211: PUSH1 0x60
00001213: DUP3
00001214: ADD
00001215: MSTORE
00001216: DUP2
00001217: PUSH1 0x80
00001219: DUP3
0000121a: ADD
0000121b: MSTORE
0000121c: DUP2
0000121d: PUSH1 0xa0
0000121f: DUP3
00001220: ADD
00001221: MSTORE
00001222: DUP2
00001223: PUSH1 0xc0
00001225: DUP3
00001226: ADD
00001227: MSTORE
00001228: DUP2
00001229: PUSH1 0xe0
0000122b: DUP3
0000122c: ADD
0000122d: MSTORE
0000122e: DUP2
0000122f: PUSH2 0x0100
00001232: DUP3
00001233: ADD
00001234: MSTORE
00001235: PUSH2 0x0120
00001238: PUSH2 0x123f
0000123b: PUSH2 0x3170
0000123e: JUMP
0000123f: JUMPDEST
00001240: SWAP2
00001241: ADD
00001242: MSTORE
00001243: PUSH1 0x04
00001245: CALLDATALOAD
00001246: DUP2
00001247: MSTORE
00001248: PUSH1 0x0b
0000124a: PUSH1 0x20
0000124c: MSTORE
0000124d: PUSH1 0xff
0000124f: PUSH1 0x01
00001251: PUSH1 0x40
00001253: DUP4
00001254: KECCAK256
00001255: ADD
00001256: SLOAD
00001257: PUSH1 0xd0
00001259: SHR
0000125a: AND
0000125b: ISZERO
0000125c: PUSH2 0x13fb
0000125f: JUMPI
00001260: PUSH1 0x04
00001262: CALLDATALOAD
00001263: DUP2
00001264: MSTORE
00001265: PUSH1 0x0b
00001267: PUSH1 0x20
00001269: MSTORE
0000126a: PUSH1 0x40
0000126c: DUP2
0000126d: KECCAK256
0000126e: PUSH2 0x130a
00001271: PUSH1 0x02
00001273: PUSH1 0x40
00001275: MLOAD
00001276: SWAP3
00001277: PUSH2 0x127f
0000127a: DUP5
0000127b: PUSH2 0x2b65
0000127e: JUMP
0000127f: JUMPDEST
00001280: DUP1
00001281: SLOAD
00001282: PUSH1 0x01
00001284: PUSH1 0x01
00001286: PUSH1 0xa0
00001288: SHL
00001289: SUB
0000128a: DUP2
0000128b: AND
0000128c: DUP6
0000128d: MSTORE
0000128e: PUSH5 0xffffffffff
00001294: DUP2
00001295: PUSH1 0xa0
00001297: SHR
00001298: AND
00001299: PUSH1 0x20
0000129b: DUP7
0000129c: ADD
0000129d: MSTORE
0000129e: PUSH5 0xffffffffff
000012a4: DUP2
000012a5: PUSH1 0xc8
000012a7: SHR
000012a8: AND
000012a9: PUSH1 0x40
000012ab: DUP7
000012ac: ADD
000012ad: MSTORE
000012ae: PUSH1 0xff
000012b0: DUP2
000012b1: PUSH1 0xf0
000012b3: SHR
000012b4: AND
000012b5: ISZERO
000012b6: ISZERO
000012b7: PUSH1 0x60
000012b9: DUP7
000012ba: ADD
000012bb: MSTORE
000012bc: PUSH1 0xf8
000012be: SHR
000012bf: ISZERO
000012c0: ISZERO
000012c1: PUSH1 0x80
000012c3: DUP6
000012c4: ADD
000012c5: MSTORE
000012c6: PUSH1 0xff
000012c8: PUSH1 0x01
000012ca: DUP3
000012cb: ADD
000012cc: SLOAD
000012cd: PUSH1 0x01
000012cf: PUSH1 0x01
000012d1: PUSH1 0xa0
000012d3: SHL
000012d4: SUB
000012d5: DUP2
000012d6: AND
000012d7: PUSH1 0xa0
000012d9: DUP8
000012da: ADD
000012db: MSTORE
000012dc: PUSH5 0xffffffffff
000012e2: DUP2
000012e3: PUSH1 0xa0
000012e5: SHR
000012e6: AND
000012e7: PUSH1 0xc0
000012e9: DUP8
000012ea: ADD
000012eb: MSTORE
000012ec: DUP2
000012ed: DUP2
000012ee: PUSH1 0xc8
000012f0: SHR
000012f1: AND
000012f2: ISZERO
000012f3: ISZERO
000012f4: PUSH1 0xe0
000012f6: DUP8
000012f7: ADD
000012f8: MSTORE
000012f9: PUSH1 0xd0
000012fb: SHR
000012fc: AND
000012fd: ISZERO
000012fe: ISZERO
000012ff: PUSH2 0x0100
00001302: DUP6
00001303: ADD
00001304: MSTORE
00001305: ADD
00001306: PUSH2 0x318f
00001309: JUMP
0000130a: JUMPDEST
0000130b: PUSH2 0x0120
0000130e: DUP3
0000130f: ADD
00001310: MSTORE
00001311: PUSH2 0x131b
00001314: PUSH1 0x04
00001316: CALLDATALOAD
00001317: PUSH2 0x349f
0000131a: JUMP
0000131b: JUMPDEST
0000131c: PUSH1 0x05
0000131e: DUP2
0000131f: LT
00001320: ISZERO
00001321: PUSH2 0x0ad7
00001324: JUMPI
00001325: SWAP2
00001326: PUSH1 0x02
00001328: PUSH2 0x0180
0000132b: SWAP4
0000132c: EQ
0000132d: PUSH2 0x13f0
00001330: JUMPI
00001331: JUMPDEST
00001332: POP
00001333: PUSH2 0x06f4
00001336: PUSH2 0x0120
00001339: PUSH1 0x40
0000133b: MLOAD
0000133c: SWAP3
0000133d: PUSH1 0x01
0000133f: PUSH1 0x01
00001341: PUSH1 0xa0
00001343: SHL
00001344: SUB
00001345: DUP2
00001346: MLOAD
00001347: AND
00001348: DUP5
00001349: MSTORE
0000134a: PUSH5 0xffffffffff
00001350: PUSH1 0x20
00001352: DUP3
00001353: ADD
00001354: MLOAD
00001355: AND
00001356: PUSH1 0x20
00001358: DUP6
00001359: ADD
0000135a: MSTORE
0000135b: PUSH5 0xffffffffff
00001361: PUSH1 0x40
00001363: DUP3
00001364: ADD
00001365: MLOAD
00001366: AND
00001367: PUSH1 0x40
00001369: DUP6
0000136a: ADD
0000136b: MSTORE
0000136c: PUSH1 0x60
0000136e: DUP2
0000136f: ADD
00001370: MLOAD
00001371: ISZERO
00001372: ISZERO
00001373: PUSH1 0x60
00001375: DUP6
00001376: ADD
00001377: MSTORE
00001378: PUSH1 0x80
0000137a: DUP2
0000137b: ADD
0000137c: MLOAD
0000137d: ISZERO
0000137e: ISZERO
0000137f: PUSH1 0x80
00001381: DUP6
00001382: ADD
00001383: MSTORE
00001384: PUSH1 0x01
00001386: PUSH1 0x01
00001388: PUSH1 0xa0
0000138a: SHL
0000138b: SUB
0000138c: PUSH1 0xa0
0000138e: DUP3
0000138f: ADD
00001390: MLOAD
00001391: AND
00001392: PUSH1 0xa0
00001394: DUP6
00001395: ADD
00001396: MSTORE
00001397: PUSH5 0xffffffffff
0000139d: PUSH1 0xc0
0000139f: DUP3
000013a0: ADD
000013a1: MLOAD
000013a2: AND
000013a3: PUSH1 0xc0
000013a5: DUP6
000013a6: ADD
000013a7: MSTORE
000013a8: PUSH1 0xe0
000013aa: DUP2
000013ab: ADD
000013ac: MLOAD
000013ad: ISZERO
000013ae: ISZERO
000013af: PUSH1 0xe0
000013b1: DUP6
000013b2: ADD
000013b3: MSTORE
000013b4: PUSH2 0x0100
000013b7: DUP2
000013b8: ADD
000013b9: MLOAD
000013ba: ISZERO
000013bb: ISZERO
000013bc: PUSH2 0x0100
000013bf: DUP6
000013c0: ADD
000013c1: MSTORE
000013c2: ADD
000013c3: MLOAD
000013c4: PUSH2 0x0120
000013c7: DUP4
000013c8: ADD
000013c9: SWAP1
000013ca: PUSH1 0x40
000013cc: SWAP1
000013cd: DUP2
000013ce: PUSH1 0x01
000013d0: PUSH1 0x01
000013d2: PUSH1 0x80
000013d4: SHL
000013d5: SUB
000013d6: SWAP2
000013d7: DUP3
000013d8: DUP2
000013d9: MLOAD
000013da: AND
000013db: DUP6
000013dc: MSTORE
000013dd: DUP3
000013de: PUSH1 0x20
000013e0: DUP3
000013e1: ADD
000013e2: MLOAD
000013e3: AND
000013e4: PUSH1 0x20
000013e6: DUP7
000013e7: ADD
000013e8: MSTORE
000013e9: ADD
000013ea: MLOAD
000013eb: AND
000013ec: SWAP2
000013ed: ADD
000013ee: MSTORE
000013ef: JUMP
000013f0: JUMPDEST
000013f1: PUSH1 0x60
000013f3: DUP3
000013f4: ADD
000013f5: MSTORE
000013f6: CODESIZE
000013f7: PUSH2 0x1331
000013fa: JUMP
000013fb: JUMPDEST
000013fc: PUSH1 0x24
000013fe: PUSH1 0x40
00001400: MLOAD
00001401: PUSH3 0xb8e7e7
00001405: PUSH1 0xe5
00001407: SHL
00001408: DUP2
00001409: MSTORE
0000140a: PUSH1 0x04
0000140c: CALLDATALOAD
0000140d: PUSH1 0x04
0000140f: DUP3
00001410: ADD
00001411: MSTORE
00001412: REVERT
00001413: JUMPDEST
00001414: POP
00001415: CALLVALUE
00001416: PUSH2 0x042a
00001419: JUMPI
0000141a: PUSH1 0x20
0000141c: SWAP1
0000141d: DUP2
0000141e: PUSH1 0x03
00001420: NOT
00001421: CALLDATASIZE
00001422: ADD
00001423: SLT
00001424: PUSH2 0x042a
00001427: JUMPI
00001428: PUSH1 0x04
0000142a: CALLDATALOAD
0000142b: PUSH8 0xffffffffffffffff
00001434: DUP2
00001435: GT
00001436: PUSH2 0x0820
00001439: JUMPI
0000143a: PUSH2 0x1448
0000143d: DUP4
0000143e: SWAP2
0000143f: CALLDATASIZE
00001440: SWAP1
00001441: PUSH1 0x04
00001443: ADD
00001444: PUSH2 0x2ae8
00001447: JUMP
00001448: JUMPDEST
00001449: SWAP1
0000144a: PUSH2 0x1451
0000144d: PUSH2 0x3f94
00001450: JUMP
00001451: JUMPDEST
00001452: DUP4
00001453: SWAP2
00001454: JUMPDEST
00001455: DUP1
00001456: DUP4
00001457: LT
00001458: PUSH2 0x145f
0000145b: JUMPI
0000145c: DUP5
0000145d: DUP1
0000145e: RETURN
0000145f: JUMPDEST
00001460: PUSH2 0x146e
00001463: DUP4
00001464: DUP3
00001465: DUP5
00001466: SWAP8
00001467: SWAP6
00001468: SWAP7
00001469: SWAP8
0000146a: PUSH2 0x407e
0000146d: JUMP
0000146e: JUMPDEST
0000146f: CALLDATALOAD
00001470: SWAP4
00001471: PUSH2 0x1478
00001474: PUSH2 0x3f94
00001477: JUMP
00001478: JUMPDEST
00001479: PUSH2 0x1481
0000147c: DUP6
0000147d: PUSH2 0x31c3
00001480: JUMP
00001481: JUMPDEST
00001482: ISZERO
00001483: PUSH2 0x149e
00001486: JUMPI
00001487: PUSH1 0x24
00001489: DUP6
0000148a: PUSH1 0x40
0000148c: MLOAD
0000148d: SWAP1
0000148e: PUSH4 0x4a5541ef
00001493: PUSH1 0xe0
00001495: SHL
00001496: DUP3
00001497: MSTORE
00001498: PUSH1 0x04
0000149a: DUP3
0000149b: ADD
0000149c: MSTORE
0000149d: REVERT
0000149e: JUMPDEST
0000149f: SWAP1
000014a0: SWAP2
000014a1: SWAP3
000014a2: SWAP4
000014a3: PUSH2 0x14ab
000014a6: DUP2
000014a7: PUSH2 0x3229
000014aa: JUMP
000014ab: JUMPDEST
000014ac: PUSH2 0x1833
000014af: JUMPI
000014b0: PUSH2 0x14cf
000014b3: DUP2
000014b4: PUSH1 0x00
000014b6: MSTORE
000014b7: PUSH1 0x0b
000014b9: PUSH1 0x20
000014bb: MSTORE
000014bc: PUSH1 0x01
000014be: PUSH1 0x01
000014c0: PUSH1 0xa0
000014c2: SHL
000014c3: SUB
000014c4: PUSH1 0x40
000014c6: PUSH1 0x00
000014c8: KECCAK256
000014c9: SLOAD
000014ca: AND
000014cb: CALLER
000014cc: EQ
000014cd: SWAP1
000014ce: JUMP
000014cf: JUMPDEST
000014d0: ISZERO
000014d1: DUP1
000014d2: PUSH2 0x1815
000014d5: JUMPI
000014d6: JUMPDEST
000014d7: PUSH2 0x17f5
000014da: JUMPI
000014db: PUSH2 0x14e3
000014de: DUP2
000014df: PUSH2 0x325a
000014e2: JUMP
000014e3: JUMPDEST
000014e4: DUP2
000014e5: DUP7
000014e6: MSTORE
000014e7: PUSH1 0x0b
000014e9: SWAP1
000014ea: DUP2
000014eb: DUP9
000014ec: MSTORE
000014ed: PUSH2 0x14fb
000014f0: PUSH1 0x02
000014f2: PUSH1 0x40
000014f4: DUP10
000014f5: KECCAK256
000014f6: ADD
000014f7: PUSH2 0x318f
000014fa: JUMP
000014fb: JUMPDEST
000014fc: PUSH1 0x01
000014fe: PUSH1 0x01
00001500: PUSH1 0x80
00001502: SHL
00001503: SUB
00001504: SWAP2
00001505: DUP3
00001506: DUP3
00001507: MLOAD
00001508: AND
00001509: DUP4
0000150a: DUP3
0000150b: AND
0000150c: LT
0000150d: ISZERO
0000150e: PUSH2 0x17dd
00001511: JUMPI
00001512: DUP5
00001513: DUP10
00001514: MSTORE
00001515: DUP4
00001516: DUP11
00001517: MSTORE
00001518: PUSH1 0xff
0000151a: PUSH1 0x40
0000151c: DUP11
0000151d: KECCAK256
0000151e: SLOAD
0000151f: PUSH1 0xf0
00001521: SHR
00001522: AND
00001523: ISZERO
00001524: PUSH2 0x17c5
00001527: JUMPI
00001528: SWAP3
00001529: DUP3
0000152a: DUP3
0000152b: PUSH2 0x154d
0000152e: DUP7
0000152f: DUP4
00001530: DUP15
00001531: PUSH2 0x1543
00001534: DUP16
00001535: SWAP11
00001536: DUP3
00001537: SWAP11
00001538: PUSH1 0x40
0000153a: SWAP15
0000153b: SWAP14
0000153c: SWAP11
0000153d: MLOAD
0000153e: AND
0000153f: PUSH2 0x31fa
00001542: JUMP
00001543: JUMPDEST
00001544: SWAP5
00001545: ADD
00001546: MLOAD
00001547: AND
00001548: SWAP1
00001549: PUSH2 0x31fa
0000154c: JUMP
0000154d: JUMPDEST
0000154e: DUP5
0000154f: DUP8
00001550: MSTORE
00001551: DUP4
00001552: DUP7
00001553: MSTORE
00001554: DUP9
00001555: DUP8
00001556: KECCAK256
00001557: SWAP2
00001558: PUSH2 0x15dc
0000155b: DUP4
0000155c: SLOAD
0000155d: SWAP5
0000155e: PUSH1 0x01
00001560: PUSH1 0xf8
00001562: SHL
00001563: PUSH30 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00001582: DUP8
00001583: AND
00001584: OR
00001585: DUP6
00001586: SSTORE
00001587: PUSH1 0x03
00001589: DUP2
0000158a: DUP6
0000158b: AND
0000158c: SWAP6
0000158d: DUP7
0000158e: ISZERO
0000158f: PUSH2 0x17ab
00001592: JUMPI
00001593: JUMPDEST
00001594: ADD
00001595: SWAP1
00001596: DUP4
00001597: AND
00001598: SWAP10
00001599: DUP2
0000159a: DUP12
0000159b: PUSH16 0xffffffffffffffffffffffffffffffff
000015ac: NOT
000015ad: DUP2
000015ae: SWAP5
000015af: SLOAD
000015b0: AND
000015b1: OR
000015b2: SWAP1
000015b3: SSTORE
000015b4: PUSH1 0x01
000015b6: PUSH1 0x01
000015b8: PUSH1 0xa0
000015ba: SHL
000015bb: SUB
000015bc: DUP1
000015bd: SWAP8
000015be: AND
000015bf: SWAP7
000015c0: DUP8
000015c1: SWAP2
000015c2: PUSH1 0x05
000015c4: DUP13
000015c5: MSTORE
000015c6: DUP2
000015c7: DUP16
000015c8: DUP3
000015c9: KECCAK256
000015ca: SLOAD
000015cb: AND
000015cc: SWAP10
000015cd: DUP13
000015ce: MSTORE
000015cf: PUSH1 0x01
000015d1: SWAP15
000015d2: DUP16
000015d3: SWAP2
000015d4: KECCAK256
000015d5: ADD
000015d6: SLOAD
000015d7: AND
000015d8: PUSH2 0x3ff0
000015db: JUMP
000015dc: JUMPDEST
000015dd: CALLER
000015de: DUP5
000015df: SUB
000015e0: PUSH2 0x16d7
000015e3: JUMPI
000015e4: DUP5
000015e5: EXTCODESIZE
000015e6: PUSH2 0x1650
000015e9: JUMPI
000015ea: JUMPDEST
000015eb: POP
000015ec: POP
000015ed: PUSH32 0x2971bd77136e1a620a6b1eb4ad5edd190e9fd391b26bfc5dea50b882fc6b9fd2
0000160e: PUSH1 0x40
00001610: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
00001631: SWAP8
00001632: DUP7
00001633: SWAP4
00001634: JUMPDEST
00001635: DUP3
00001636: MLOAD
00001637: SWAP2
00001638: DUP3
00001639: MSTORE
0000163a: DUP9
0000163b: DUP3
0000163c: ADD
0000163d: MSTORE
0000163e: LOG4
0000163f: PUSH1 0x40
00001641: MLOAD
00001642: SWAP1
00001643: DUP2
00001644: MSTORE
00001645: LOG1
00001646: ADD
00001647: SWAP2
00001648: SWAP1
00001649: SWAP4
0000164a: SWAP3
0000164b: SWAP4
0000164c: PUSH2 0x1454
0000164f: JUMP
00001650: JUMPDEST
00001651: SWAP1
00001652: SWAP2
00001653: SWAP3
00001654: SWAP4
00001655: DUP1
00001656: SWAP6
00001657: SWAP7
00001658: POP
00001659: EXTCODESIZE
0000165a: ISZERO
0000165b: PUSH2 0x16d3
0000165e: JUMPI
0000165f: PUSH1 0x40
00001661: MLOAD
00001662: PUSH4 0x72eba203
00001667: PUSH1 0xe0
00001669: SHL
0000166a: DUP2
0000166b: MSTORE
0000166c: PUSH1 0x04
0000166e: DUP2
0000166f: ADD
00001670: DUP8
00001671: SWAP1
00001672: MSTORE
00001673: PUSH1 0x01
00001675: PUSH1 0x01
00001677: PUSH1 0xa0
00001679: SHL
0000167a: SUB
0000167b: DUP6
0000167c: AND
0000167d: PUSH1 0x24
0000167f: DUP3
00001680: ADD
00001681: MSTORE
00001682: PUSH1 0x01
00001684: PUSH1 0x01
00001686: PUSH1 0x80
00001688: SHL
00001689: SUB
0000168a: SWAP2
0000168b: DUP3
0000168c: AND
0000168d: PUSH1 0x44
0000168f: DUP3
00001690: ADD
00001691: MSTORE
00001692: SWAP2
00001693: AND
00001694: PUSH1 0x64
00001696: DUP3
00001697: ADD
00001698: MSTORE
00001699: DUP12
0000169a: SWAP5
0000169b: SWAP4
0000169c: SWAP3
0000169d: SWAP2
0000169e: SWAP1
0000169f: DUP12
000016a0: SWAP1
000016a1: DUP2
000016a2: DUP2
000016a3: PUSH1 0x84
000016a5: DUP2
000016a6: DUP4
000016a7: DUP10
000016a8: GAS
000016a9: CALL
000016aa: ISZERO
000016ab: PUSH2 0x15ea
000016ae: JUMPI
000016af: PUSH2 0x16be
000016b2: SWAP2
000016b3: SWAP3
000016b4: SWAP4
000016b5: SWAP6
000016b6: SWAP8
000016b7: SWAP5
000016b8: SWAP7
000016b9: POP
000016ba: PUSH2 0x2b35
000016bd: JUMP
000016be: JUMPDEST
000016bf: PUSH2 0x16cf
000016c2: JUMPI
000016c3: SWAP2
000016c4: DUP11
000016c5: SWAP4
000016c6: SWAP2
000016c7: SWAP5
000016c8: SWAP3
000016c9: DUP11
000016ca: DUP14
000016cb: PUSH2 0x15ea
000016ce: JUMP
000016cf: JUMPDEST
000016d0: DUP10
000016d1: DUP1
000016d2: REVERT
000016d3: JUMPDEST
000016d4: DUP12
000016d5: DUP1
000016d6: REVERT
000016d7: JUMPDEST
000016d8: DUP4
000016d9: EXTCODESIZE
000016da: PUSH2 0x172c
000016dd: JUMPI
000016de: JUMPDEST
000016df: POP
000016e0: POP
000016e1: PUSH32 0x2971bd77136e1a620a6b1eb4ad5edd190e9fd391b26bfc5dea50b882fc6b9fd2
00001702: PUSH1 0x40
00001704: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
00001725: SWAP8
00001726: DUP7
00001727: SWAP4
00001728: PUSH2 0x1634
0000172b: JUMP
0000172c: JUMPDEST
0000172d: SWAP1
0000172e: SWAP2
0000172f: SWAP3
00001730: DUP1
00001731: SWAP5
00001732: SWAP6
00001733: SWAP7
00001734: POP
00001735: EXTCODESIZE
00001736: ISZERO
00001737: PUSH2 0x16d3
0000173a: JUMPI
0000173b: PUSH1 0x40
0000173d: MLOAD
0000173e: PUSH4 0x72eba203
00001743: PUSH1 0xe0
00001745: SHL
00001746: DUP2
00001747: MSTORE
00001748: PUSH1 0x04
0000174a: DUP2
0000174b: ADD
0000174c: DUP8
0000174d: SWAP1
0000174e: MSTORE
0000174f: PUSH1 0x01
00001751: PUSH1 0x01
00001753: PUSH1 0xa0
00001755: SHL
00001756: SUB
00001757: DUP7
00001758: AND
00001759: PUSH1 0x24
0000175b: DUP3
0000175c: ADD
0000175d: MSTORE
0000175e: PUSH1 0x01
00001760: PUSH1 0x01
00001762: PUSH1 0x80
00001764: SHL
00001765: SUB
00001766: SWAP2
00001767: DUP3
00001768: AND
00001769: PUSH1 0x44
0000176b: DUP3
0000176c: ADD
0000176d: MSTORE
0000176e: SWAP2
0000176f: AND
00001770: PUSH1 0x64
00001772: DUP3
00001773: ADD
00001774: MSTORE
00001775: DUP12
00001776: SWAP5
00001777: SWAP4
00001778: SWAP3
00001779: SWAP2
0000177a: SWAP1
0000177b: DUP12
0000177c: SWAP1
0000177d: DUP2
0000177e: DUP2
0000177f: PUSH1 0x84
00001781: DUP2
00001782: DUP4
00001783: DUP9
00001784: GAS
00001785: CALL
00001786: ISZERO
00001787: PUSH2 0x16de
0000178a: JUMPI
0000178b: PUSH2 0x179a
0000178e: SWAP2
0000178f: SWAP3
00001790: SWAP4
00001791: SWAP6
00001792: SWAP8
00001793: SWAP5
00001794: SWAP7
00001795: POP
00001796: PUSH2 0x2b35
00001799: JUMP
0000179a: JUMPDEST
0000179b: PUSH2 0x16cf
0000179e: JUMPI
0000179f: SWAP2
000017a0: DUP11
000017a1: SWAP4
000017a2: SWAP2
000017a3: SWAP5
000017a4: SWAP3
000017a5: DUP11
000017a6: DUP14
000017a7: PUSH2 0x16de
000017aa: JUMP
000017ab: JUMPDEST
000017ac: PUSH1 0x01
000017ae: DUP2
000017af: ADD
000017b0: PUSH1 0x01
000017b2: PUSH1 0xc8
000017b4: SHL
000017b5: PUSH1 0xff
000017b7: PUSH1 0xc8
000017b9: SHL
000017ba: NOT
000017bb: DUP3
000017bc: SLOAD
000017bd: AND
000017be: OR
000017bf: SWAP1
000017c0: SSTORE
000017c1: PUSH2 0x1593
000017c4: JUMP
000017c5: JUMPDEST
000017c6: PUSH1 0x24
000017c8: DUP6
000017c9: PUSH1 0x40
000017cb: MLOAD
000017cc: SWAP1
000017cd: PUSH4 0x39c6dc73
000017d2: PUSH1 0xe2
000017d4: SHL
000017d5: DUP3
000017d6: MSTORE
000017d7: PUSH1 0x04
000017d9: DUP3
000017da: ADD
000017db: MSTORE
000017dc: REVERT
000017dd: JUMPDEST
000017de: PUSH1 0x24
000017e0: DUP6
000017e1: PUSH1 0x40
000017e3: MLOAD
000017e4: SWAP1
000017e5: PUSH4 0x22cad1af
000017ea: PUSH1 0xe1
000017ec: SHL
000017ed: DUP3
000017ee: MSTORE
000017ef: PUSH1 0x04
000017f1: DUP3
000017f2: ADD
000017f3: MSTORE
000017f4: REVERT
000017f5: JUMPDEST
000017f6: PUSH1 0x40
000017f8: MLOAD
000017f9: PUSH4 0x216caf0d
000017fe: PUSH1 0xe0
00001800: SHL
00001801: DUP2
00001802: MSTORE
00001803: PUSH1 0x04
00001805: DUP2
00001806: ADD
00001807: SWAP2
00001808: SWAP1
00001809: SWAP2
0000180a: MSTORE
0000180b: CALLER
0000180c: PUSH1 0x24
0000180e: DUP3
0000180f: ADD
00001810: MSTORE
00001811: PUSH1 0x44
00001813: SWAP1
00001814: REVERT
00001815: JUMPDEST
00001816: POP
00001817: DUP1
00001818: DUP6
00001819: MSTORE
0000181a: PUSH1 0x05
0000181c: DUP7
0000181d: MSTORE
0000181e: PUSH1 0x01
00001820: PUSH1 0x01
00001822: PUSH1 0xa0
00001824: SHL
00001825: SUB
00001826: PUSH1 0x40
00001828: DUP7
00001829: KECCAK256
0000182a: SLOAD
0000182b: AND
0000182c: CALLER
0000182d: EQ
0000182e: ISZERO
0000182f: PUSH2 0x14d6
00001832: JUMP
00001833: JUMPDEST
00001834: PUSH1 0x24
00001836: SWAP1
00001837: PUSH1 0x40
00001839: MLOAD
0000183a: SWAP1
0000183b: PUSH4 0xfe19f19f
00001840: PUSH1 0xe0
00001842: SHL
00001843: DUP3
00001844: MSTORE
00001845: PUSH1 0x04
00001847: DUP3
00001848: ADD
00001849: MSTORE
0000184a: REVERT
0000184b: JUMPDEST
0000184c: POP
0000184d: CALLVALUE
0000184e: PUSH2 0x042a
00001851: JUMPI
00001852: PUSH1 0x20
00001854: DUP1
00001855: PUSH1 0x03
00001857: NOT
00001858: CALLDATASIZE
00001859: ADD
0000185a: SLT
0000185b: PUSH2 0x0820
0000185e: JUMPI
0000185f: PUSH1 0x04
00001861: CALLDATALOAD
00001862: SWAP1
00001863: PUSH2 0x186a
00001866: PUSH2 0x3f94
00001869: JUMP
0000186a: JUMPDEST
0000186b: DUP2
0000186c: DUP4
0000186d: MSTORE
0000186e: PUSH1 0x0b
00001870: DUP2
00001871: MSTORE
00001872: PUSH1 0xff
00001874: PUSH1 0x01
00001876: PUSH1 0x40
00001878: DUP6
00001879: KECCAK256
0000187a: ADD
0000187b: SLOAD
0000187c: PUSH1 0xd0
0000187e: SHR
0000187f: AND
00001880: ISZERO
00001881: PUSH2 0x08ea
00001884: JUMPI
00001885: PUSH2 0x188d
00001888: DUP3
00001889: PUSH2 0x349f
0000188c: JUMP
0000188d: JUMPDEST
0000188e: PUSH1 0x05
00001890: DUP2
00001891: LT
00001892: ISZERO
00001893: PUSH2 0x1a22
00001896: JUMPI
00001897: PUSH1 0x04
00001899: DUP2
0000189a: SUB
0000189b: PUSH2 0x18b6
0000189e: JUMPI
0000189f: PUSH1 0x24
000018a1: DUP4
000018a2: PUSH1 0x40
000018a4: MLOAD
000018a5: SWAP1
000018a6: PUSH4 0x4a5541ef
000018ab: PUSH1 0xe0
000018ad: SHL
000018ae: DUP3
000018af: MSTORE
000018b0: PUSH1 0x04
000018b2: DUP3
000018b3: ADD
000018b4: MSTORE
000018b5: REVERT
000018b6: JUMPDEST
000018b7: PUSH1 0x03
000018b9: DUP2
000018ba: SUB
000018bb: PUSH2 0x18d6
000018be: JUMPI
000018bf: PUSH1 0x24
000018c1: DUP4
000018c2: PUSH1 0x40
000018c4: MLOAD
000018c5: SWAP1
000018c6: PUSH4 0xfe19f19f
000018cb: PUSH1 0xe0
000018cd: SHL
000018ce: DUP3
000018cf: MSTORE
000018d0: PUSH1 0x04
000018d2: DUP3
000018d3: ADD
000018d4: MSTORE
000018d5: REVERT
000018d6: JUMPDEST
000018d7: PUSH1 0x02
000018d9: EQ
000018da: PUSH2 0x1a0a
000018dd: JUMPI
000018de: PUSH2 0x18fd
000018e1: DUP3
000018e2: PUSH1 0x00
000018e4: MSTORE
000018e5: PUSH1 0x0b
000018e7: PUSH1 0x20
000018e9: MSTORE
000018ea: PUSH1 0x01
000018ec: PUSH1 0x01
000018ee: PUSH1 0xa0
000018f0: SHL
000018f1: SUB
000018f2: PUSH1 0x40
000018f4: PUSH1 0x00
000018f6: KECCAK256
000018f7: SLOAD
000018f8: AND
000018f9: CALLER
000018fa: EQ
000018fb: SWAP1
000018fc: JUMP
000018fd: JUMPDEST
000018fe: ISZERO
000018ff: PUSH2 0x0e12
00001902: JUMPI
00001903: DUP2
00001904: DUP4
00001905: MSTORE
00001906: PUSH1 0x0b
00001908: DUP2
00001909: MSTORE
0000190a: PUSH1 0xff
0000190c: PUSH1 0x40
0000190e: DUP5
0000190f: KECCAK256
00001910: SLOAD
00001911: PUSH1 0xf0
00001913: SHR
00001914: AND
00001915: ISZERO
00001916: PUSH2 0x19f2
00001919: JUMPI
0000191a: DUP2
0000191b: DUP4
0000191c: MSTORE
0000191d: PUSH1 0x0b
0000191f: DUP2
00001920: MSTORE
00001921: PUSH1 0x40
00001923: DUP4
00001924: KECCAK256
00001925: PUSH1 0xff
00001927: PUSH1 0xf0
00001929: SHL
0000192a: NOT
0000192b: DUP2
0000192c: SLOAD
0000192d: AND
0000192e: SWAP1
0000192f: SSTORE
00001930: PUSH1 0x05
00001932: DUP2
00001933: MSTORE
00001934: DUP3
00001935: PUSH1 0x01
00001937: PUSH1 0x01
00001939: PUSH1 0xa0
0000193b: SHL
0000193c: SUB
0000193d: PUSH1 0x40
0000193f: DUP3
00001940: KECCAK256
00001941: SLOAD
00001942: AND
00001943: DUP1
00001944: EXTCODESIZE
00001945: PUSH2 0x199b
00001948: JUMPI
00001949: JUMPDEST
0000194a: POP
0000194b: POP
0000194c: PUSH1 0x40
0000194e: MLOAD
0000194f: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
00001970: SWAP3
00001971: DUP1
00001972: PUSH32 0x0eb069207093cd3e51cd1370d2d369770057fbe29947e577e5fb428c6c6fc78f
00001993: DUP7
00001994: DUP1
00001995: LOG2
00001996: DUP2
00001997: MSTORE
00001998: LOG1
00001999: DUP1
0000199a: RETURN
0000199b: JUMPDEST
0000199c: DUP1
0000199d: EXTCODESIZE
0000199e: ISZERO
0000199f: PUSH2 0x0820
000019a2: JUMPI
000019a3: DUP2
000019a4: DUP1
000019a5: SWAP2
000019a6: PUSH1 0x24
000019a8: PUSH1 0x40
000019aa: MLOAD
000019ab: DUP1
000019ac: SWAP5
000019ad: DUP2
000019ae: SWAP4
000019af: PUSH32 0x341a0bd900000000000000000000000000000000000000000000000000000000
000019d0: DUP4
000019d1: MSTORE
000019d2: DUP10
000019d3: PUSH1 0x04
000019d5: DUP5
000019d6: ADD
000019d7: MSTORE
000019d8: GAS
000019d9: CALL
000019da: ISZERO
000019db: PUSH2 0x1949
000019de: JUMPI
000019df: PUSH2 0x19e7
000019e2: SWAP1
000019e3: PUSH2 0x2b35
000019e6: JUMP
000019e7: JUMPDEST
000019e8: PUSH2 0x0824
000019eb: JUMPI
000019ec: DUP3
000019ed: CODESIZE
000019ee: PUSH2 0x1949
000019f1: JUMP
000019f2: JUMPDEST
000019f3: PUSH1 0x24
000019f5: DUP3
000019f6: PUSH1 0x40
000019f8: MLOAD
000019f9: SWAP1
000019fa: PUSH4 0x39c6dc73
000019ff: PUSH1 0xe2
00001a01: SHL
00001a02: DUP3
00001a03: MSTORE
00001a04: PUSH1 0x04
00001a06: DUP3
00001a07: ADD
00001a08: MSTORE
00001a09: REVERT
00001a0a: JUMPDEST
00001a0b: PUSH1 0x24
00001a0d: DUP3
00001a0e: PUSH1 0x40
00001a10: MLOAD
00001a11: SWAP1
00001a12: PUSH4 0x22cad1af
00001a17: PUSH1 0xe1
00001a19: SHL
00001a1a: DUP3
00001a1b: MSTORE
00001a1c: PUSH1 0x04
00001a1e: DUP3
00001a1f: ADD
00001a20: MSTORE
00001a21: REVERT
00001a22: JUMPDEST
00001a23: PUSH1 0x24
00001a25: DUP5
00001a26: PUSH4 0x4e487b71
00001a2b: PUSH1 0xe0
00001a2d: SHL
00001a2e: DUP2
00001a2f: MSTORE
00001a30: PUSH1 0x21
00001a32: PUSH1 0x04
00001a34: MSTORE
00001a35: REVERT
00001a36: JUMPDEST
00001a37: POP
00001a38: CALLVALUE
00001a39: PUSH2 0x042a
00001a3c: JUMPI
00001a3d: PUSH1 0x20
00001a3f: CALLDATASIZE
00001a40: PUSH1 0x03
00001a42: NOT
00001a43: ADD
00001a44: SLT
00001a45: PUSH2 0x042a
00001a48: JUMPI
00001a49: PUSH1 0x04
00001a4b: CALLDATALOAD
00001a4c: PUSH1 0x01
00001a4e: PUSH1 0x01
00001a50: PUSH1 0xa0
00001a52: SHL
00001a53: SUB
00001a54: SWAP1
00001a55: DUP2
00001a56: DUP2
00001a57: AND
00001a58: DUP1
00001a59: SWAP2
00001a5a: SUB
00001a5b: PUSH2 0x0824
00001a5e: JUMPI
00001a5f: DUP2
00001a60: DUP4
00001a61: SLOAD
00001a62: AND
00001a63: CALLER
00001a64: DUP2
00001a65: SUB
00001a66: PUSH2 0x0c1a
00001a69: JUMPI
00001a6a: POP
00001a6b: PUSH1 0x0a
00001a6d: SLOAD
00001a6e: SWAP2
00001a6f: DUP2
00001a70: PUSH1 0x01
00001a72: PUSH1 0x01
00001a74: PUSH1 0xa0
00001a76: SHL
00001a77: SUB
00001a78: NOT
00001a79: DUP5
00001a7a: AND
00001a7b: OR
00001a7c: PUSH1 0x0a
00001a7e: SSTORE
00001a7f: PUSH1 0x40
00001a81: MLOAD
00001a82: SWAP3
00001a83: AND
00001a84: DUP3
00001a85: MSTORE
00001a86: PUSH1 0x20
00001a88: DUP3
00001a89: ADD
00001a8a: MSTORE
00001a8b: PUSH32 0xa2548bd4b805e907c1558a47b5858324fe8bb4a2e1ddfca647eecbf65610eebc
00001aac: PUSH1 0x40
00001aae: CALLER
00001aaf: SWAP3
00001ab0: LOG2
00001ab1: PUSH1 0x09
00001ab3: SLOAD
00001ab4: PUSH1 0x00
00001ab6: NOT
00001ab7: DUP2
00001ab8: ADD
00001ab9: SWAP1
00001aba: DUP2
00001abb: GT
00001abc: PUSH2 0x1af3
00001abf: JUMPI
00001ac0: PUSH1 0x40
00001ac2: PUSH32 0x6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c
00001ae3: SWAP2
00001ae4: DUP2
00001ae5: MLOAD
00001ae6: SWAP1
00001ae7: PUSH1 0x01
00001ae9: DUP3
00001aea: MSTORE
00001aeb: PUSH1 0x20
00001aed: DUP3
00001aee: ADD
00001aef: MSTORE
00001af0: LOG1
00001af1: DUP1
00001af2: RETURN
00001af3: JUMPDEST
00001af4: PUSH1 0x24
00001af6: DUP3
00001af7: PUSH4 0x4e487b71
00001afc: PUSH1 0xe0
00001afe: SHL
00001aff: DUP2
00001b00: MSTORE
00001b01: PUSH1 0x11
00001b03: PUSH1 0x04
00001b05: MSTORE
00001b06: REVERT
00001b07: JUMPDEST
00001b08: POP
00001b09: CALLVALUE
00001b0a: PUSH2 0x042a
00001b0d: JUMPI
00001b0e: PUSH1 0x20
00001b10: CALLDATASIZE
00001b11: PUSH1 0x03
00001b13: NOT
00001b14: ADD
00001b15: SLT
00001b16: PUSH2 0x042a
00001b19: JUMPI
00001b1a: PUSH1 0x04
00001b1c: CALLDATALOAD
00001b1d: DUP1
00001b1e: DUP3
00001b1f: MSTORE
00001b20: PUSH1 0x0b
00001b22: PUSH1 0x20
00001b24: MSTORE
00001b25: PUSH1 0xff
00001b27: PUSH1 0x01
00001b29: PUSH1 0x40
00001b2b: DUP5
00001b2c: KECCAK256
00001b2d: ADD
00001b2e: SLOAD
00001b2f: PUSH1 0xd0
00001b31: SHR
00001b32: AND
00001b33: ISZERO
00001b34: PUSH2 0x04ce
00001b37: JUMPI
00001b38: PUSH1 0x40
00001b3a: DUP3
00001b3b: PUSH5 0xffffffffff
00001b41: SWAP3
00001b42: PUSH1 0x20
00001b44: SWAP5
00001b45: MSTORE
00001b46: PUSH1 0x0b
00001b48: DUP5
00001b49: MSTORE
00001b4a: KECCAK256
00001b4b: SLOAD
00001b4c: PUSH1 0xc8
00001b4e: SHR
00001b4f: AND
00001b50: PUSH1 0x40
00001b52: MLOAD
00001b53: SWAP1
00001b54: DUP2
00001b55: MSTORE
00001b56: RETURN
00001b57: JUMPDEST
00001b58: POP
00001b59: CALLVALUE
00001b5a: PUSH2 0x042a
00001b5d: JUMPI
00001b5e: PUSH1 0x20
00001b60: CALLDATASIZE
00001b61: PUSH1 0x03
00001b63: NOT
00001b64: ADD
00001b65: SLT
00001b66: PUSH2 0x042a
00001b69: JUMPI
00001b6a: PUSH2 0x1b71
00001b6d: PUSH2 0x2a87
00001b70: JUMP
00001b71: JUMPDEST
00001b72: SWAP1
00001b73: DUP1
00001b74: SLOAD
00001b75: PUSH1 0x01
00001b77: PUSH1 0x01
00001b79: PUSH1 0xa0
00001b7b: SHL
00001b7c: SUB
00001b7d: DUP1
00001b7e: DUP3
00001b7f: AND
00001b80: SWAP4
00001b81: CALLER
00001b82: DUP6
00001b83: SUB
00001b84: PUSH2 0x1bc3
00001b87: JUMPI
00001b88: PUSH1 0x01
00001b8a: PUSH1 0x01
00001b8c: PUSH1 0xa0
00001b8e: SHL
00001b8f: SUB
00001b90: NOT
00001b91: SWAP4
00001b92: SWAP5
00001b93: POP
00001b94: AND
00001b95: SWAP2
00001b96: DUP3
00001b97: SWAP2
00001b98: AND
00001b99: OR
00001b9a: DUP3
00001b9b: SSTORE
00001b9c: CALLER
00001b9d: PUSH32 0xbdd36143ee09de60bdefca70680e0f71189b2ed7acee364b53917ad433fdaf80
00001bbe: DUP4
00001bbf: DUP1
00001bc0: LOG3
00001bc1: DUP1
00001bc2: RETURN
00001bc3: JUMPDEST
00001bc4: PUSH1 0x40
00001bc6: MLOAD
00001bc7: PUSH4 0x31b339a9
00001bcc: PUSH1 0xe2
00001bce: SHL
00001bcf: DUP2
00001bd0: MSTORE
00001bd1: PUSH1 0x01
00001bd3: PUSH1 0x01
00001bd5: PUSH1 0xa0
00001bd7: SHL
00001bd8: SUB
00001bd9: DUP7
00001bda: AND
00001bdb: PUSH1 0x04
00001bdd: DUP3
00001bde: ADD
00001bdf: MSTORE
00001be0: CALLER
00001be1: PUSH1 0x24
00001be3: DUP3
00001be4: ADD
00001be5: MSTORE
00001be6: PUSH1 0x44
00001be8: SWAP1
00001be9: REVERT
00001bea: JUMPDEST
00001beb: POP
00001bec: CALLVALUE
00001bed: PUSH2 0x042a
00001bf0: JUMPI
00001bf1: PUSH1 0x20
00001bf3: CALLDATASIZE
00001bf4: PUSH1 0x03
00001bf6: NOT
00001bf7: ADD
00001bf8: SLT
00001bf9: PUSH2 0x042a
00001bfc: JUMPI
00001bfd: PUSH1 0x01
00001bff: PUSH1 0x01
00001c01: PUSH1 0xa0
00001c03: SHL
00001c04: SUB
00001c05: PUSH2 0x1c0c
00001c08: PUSH2 0x2a87
00001c0b: JUMP
00001c0c: JUMPDEST
00001c0d: AND
00001c0e: DUP1
00001c0f: ISZERO
00001c10: PUSH2 0x1c29
00001c13: JUMPI
00001c14: DUP2
00001c15: PUSH1 0x40
00001c17: SWAP2
00001c18: PUSH1 0x20
00001c1a: SWAP4
00001c1b: MSTORE
00001c1c: PUSH1 0x06
00001c1e: DUP4
00001c1f: MSTORE
00001c20: KECCAK256
00001c21: SLOAD
00001c22: PUSH1 0x40
00001c24: MLOAD
00001c25: SWAP1
00001c26: DUP2
00001c27: MSTORE
00001c28: RETURN
00001c29: JUMPDEST
00001c2a: PUSH1 0x84
00001c2c: PUSH1 0x40
00001c2e: MLOAD
00001c2f: PUSH3 0x461bcd
00001c33: PUSH1 0xe5
00001c35: SHL
00001c36: DUP2
00001c37: MSTORE
00001c38: PUSH1 0x20
00001c3a: PUSH1 0x04
00001c3c: DUP3
00001c3d: ADD
00001c3e: MSTORE
00001c3f: PUSH1 0x29
00001c41: PUSH1 0x24
00001c43: DUP3
00001c44: ADD
00001c45: MSTORE
00001c46: PUSH32 0x4552433732313a2061646472657373207a65726f206973206e6f742061207661
00001c67: PUSH1 0x44
00001c69: DUP3
00001c6a: ADD
00001c6b: MSTORE
00001c6c: PUSH32 0x6c6964206f776e65720000000000000000000000000000000000000000000000
00001c8d: PUSH1 0x64
00001c8f: DUP3
00001c90: ADD
00001c91: MSTORE
00001c92: REVERT
00001c93: JUMPDEST
00001c94: POP
00001c95: CALLVALUE
00001c96: PUSH2 0x042a
00001c99: JUMPI
00001c9a: PUSH1 0x20
00001c9c: CALLDATASIZE
00001c9d: PUSH1 0x03
00001c9f: NOT
00001ca0: ADD
00001ca1: SLT
00001ca2: PUSH2 0x042a
00001ca5: JUMPI
00001ca6: PUSH1 0x01
00001ca8: PUSH1 0x01
00001caa: PUSH1 0xa0
00001cac: SHL
00001cad: SUB
00001cae: PUSH1 0x40
00001cb0: PUSH1 0x20
00001cb2: SWAP3
00001cb3: PUSH1 0x04
00001cb5: CALLDATALOAD
00001cb6: PUSH2 0x1cd8
00001cb9: PUSH2 0x072f
00001cbc: DUP3
00001cbd: PUSH1 0x00
00001cbf: MSTORE
00001cc0: PUSH1 0x05
00001cc2: PUSH1 0x20
00001cc4: MSTORE
00001cc5: PUSH1 0x01
00001cc7: PUSH1 0x01
00001cc9: PUSH1 0xa0
00001ccb: SHL
00001ccc: SUB
00001ccd: PUSH1 0x40
00001ccf: PUSH1 0x00
00001cd1: KECCAK256
00001cd2: SLOAD
00001cd3: AND
00001cd4: ISZERO
00001cd5: ISZERO
00001cd6: SWAP1
00001cd7: JUMP
00001cd8: JUMPDEST
00001cd9: DUP2
00001cda: MSTORE
00001cdb: PUSH1 0x05
00001cdd: DUP5
00001cde: MSTORE
00001cdf: KECCAK256
00001ce0: SLOAD
00001ce1: AND
00001ce2: PUSH1 0x40
00001ce4: MLOAD
00001ce5: SWAP1
00001ce6: DUP2
00001ce7: MSTORE
00001ce8: RETURN
00001ce9: JUMPDEST
00001cea: POP
00001ceb: CALLVALUE
00001cec: PUSH2 0x042a
00001cef: JUMPI
00001cf0: PUSH1 0x20
00001cf2: CALLDATASIZE
00001cf3: PUSH1 0x03
00001cf5: NOT
00001cf6: ADD
00001cf7: SLT
00001cf8: PUSH2 0x042a
00001cfb: JUMPI
00001cfc: PUSH1 0x20
00001cfe: PUSH2 0x1d08
00001d01: PUSH1 0x04
00001d03: CALLDATALOAD
00001d04: PUSH2 0x2c3d
00001d07: JUMP
00001d08: JUMPDEST
00001d09: PUSH1 0x01
00001d0b: PUSH1 0x01
00001d0d: PUSH1 0xa0
00001d0f: SHL
00001d10: SUB
00001d11: PUSH1 0x40
00001d13: MLOAD
00001d14: SWAP2
00001d15: AND
00001d16: DUP2
00001d17: MSTORE
00001d18: RETURN
00001d19: JUMPDEST
00001d1a: POP
00001d1b: CALLVALUE
00001d1c: PUSH2 0x042a
00001d1f: JUMPI
00001d20: DUP1
00001d21: PUSH1 0x03
00001d23: NOT
00001d24: CALLDATASIZE
00001d25: ADD
00001d26: SLT
00001d27: PUSH2 0x042a
00001d2a: JUMPI
00001d2b: PUSH1 0x20
00001d2d: PUSH1 0x01
00001d2f: PUSH1 0x01
00001d31: PUSH1 0xa0
00001d33: SHL
00001d34: SUB
00001d35: PUSH1 0x01
00001d37: SLOAD
00001d38: AND
00001d39: PUSH1 0x40
00001d3b: MLOAD
00001d3c: SWAP1
00001d3d: DUP2
00001d3e: MSTORE
00001d3f: RETURN
00001d40: JUMPDEST
00001d41: POP
00001d42: CALLVALUE
00001d43: PUSH2 0x042a
00001d46: JUMPI
00001d47: PUSH2 0x0140
00001d4a: CALLDATASIZE
00001d4b: PUSH1 0x03
00001d4d: NOT
00001d4e: ADD
00001d4f: SLT
00001d50: PUSH2 0x042a
00001d53: JUMPI
00001d54: PUSH2 0x1d5b
00001d57: PUSH2 0x3f94
00001d5a: JUMP
00001d5b: JUMPDEST
00001d5c: PUSH1 0x40
00001d5e: MLOAD
00001d5f: SWAP1
00001d60: PUSH2 0x1d68
00001d63: DUP3
00001d64: PUSH2 0x2b19
00001d67: JUMP
00001d68: JUMPDEST
00001d69: PUSH2 0x1d70
00001d6c: PUSH2 0x2a87
00001d6f: JUMP
00001d70: JUMPDEST
00001d71: DUP3
00001d72: MSTORE
00001d73: PUSH2 0x1d7a
00001d76: PUSH2 0x2a9d
00001d79: JUMP
00001d7a: JUMPDEST
00001d7b: PUSH1 0x20
00001d7d: DUP4
00001d7e: ADD
00001d7f: MSTORE
00001d80: PUSH2 0x1d87
00001d83: PUSH2 0x2bdc
00001d86: JUMP
00001d87: JUMPDEST
00001d88: PUSH1 0x40
00001d8a: DUP4
00001d8b: ADD
00001d8c: MSTORE
00001d8d: PUSH1 0x01
00001d8f: PUSH1 0x01
00001d91: PUSH1 0xa0
00001d93: SHL
00001d94: SUB
00001d95: SWAP1
00001d96: PUSH1 0x64
00001d98: CALLDATALOAD
00001d99: DUP3
00001d9a: DUP2
00001d9b: AND
00001d9c: DUP2
00001d9d: SUB
00001d9e: PUSH2 0x0e59
00001da1: JUMPI
00001da2: PUSH1 0x60
00001da4: DUP5
00001da5: ADD
00001da6: MSTORE
00001da7: PUSH1 0x84
00001da9: CALLDATALOAD
00001daa: DUP1
00001dab: ISZERO
00001dac: ISZERO
00001dad: DUP2
00001dae: SUB
00001daf: PUSH2 0x0e59
00001db2: JUMPI
00001db3: PUSH1 0x80
00001db5: DUP5
00001db6: ADD
00001db7: MSTORE
00001db8: PUSH1 0x60
00001dba: CALLDATASIZE
00001dbb: PUSH1 0xa3
00001dbd: NOT
00001dbe: ADD
00001dbf: SLT
00001dc0: PUSH2 0x042a
00001dc3: JUMPI
00001dc4: POP
00001dc5: PUSH1 0x40
00001dc7: MLOAD
00001dc8: PUSH2 0x1dd0
00001dcb: DUP2
00001dcc: PUSH2 0x2b49
00001dcf: JUMP
00001dd0: JUMPDEST
00001dd1: PUSH5 0xffffffffff
00001dd7: PUSH1 0xa4
00001dd9: CALLDATALOAD
00001dda: DUP2
00001ddb: DUP2
00001ddc: AND
00001ddd: DUP2
00001dde: SUB
00001ddf: PUSH2 0x0e59
00001de2: JUMPI
00001de3: DUP3
00001de4: MSTORE
00001de5: PUSH1 0xc4
00001de7: CALLDATALOAD
00001de8: DUP2
00001de9: DUP2
00001dea: AND
00001deb: DUP2
00001dec: SUB
00001ded: PUSH2 0x0e59
00001df0: JUMPI
00001df1: PUSH1 0x20
00001df3: DUP4
00001df4: ADD
00001df5: MSTORE
00001df6: PUSH1 0xe4
00001df8: CALLDATALOAD
00001df9: SWAP1
00001dfa: DUP2
00001dfb: AND
00001dfc: DUP2
00001dfd: SUB
00001dfe: PUSH2 0x0e59
00001e01: JUMPI
00001e02: PUSH1 0x40
00001e04: DUP3
00001e05: ADD
00001e06: MSTORE
00001e07: PUSH1 0xa0
00001e09: DUP4
00001e0a: ADD
00001e0b: MSTORE
00001e0c: PUSH1 0x40
00001e0e: PUSH2 0x0103
00001e11: NOT
00001e12: CALLDATASIZE
00001e13: ADD
00001e14: SLT
00001e15: PUSH2 0x0e59
00001e18: JUMPI
00001e19: PUSH1 0x40
00001e1b: MLOAD
00001e1c: SWAP2
00001e1d: PUSH2 0x1e25
00001e20: DUP4
00001e21: PUSH2 0x2b82
00001e24: JUMP
00001e25: JUMPDEST
00001e26: PUSH2 0x0104
00001e29: CALLDATALOAD
00001e2a: SWAP2
00001e2b: DUP3
00001e2c: AND
00001e2d: DUP3
00001e2e: SUB
00001e2f: PUSH2 0x0e59
00001e32: JUMPI
00001e33: DUP3
00001e34: PUSH2 0x1e4d
00001e37: SWAP3
00001e38: PUSH1 0x20
00001e3a: SWAP5
00001e3b: MSTORE
00001e3c: PUSH2 0x0124
00001e3f: CALLDATALOAD
00001e40: DUP5
00001e41: DUP3
00001e42: ADD
00001e43: MSTORE
00001e44: PUSH1 0xc0
00001e46: DUP3
00001e47: ADD
00001e48: MSTORE
00001e49: PUSH2 0x35a1
00001e4c: JUMP
00001e4d: JUMPDEST
00001e4e: PUSH1 0x40
00001e50: MLOAD
00001e51: SWAP1
00001e52: DUP2
00001e53: MSTORE
00001e54: RETURN
00001e55: JUMPDEST
00001e56: POP
00001e57: CALLVALUE
00001e58: PUSH2 0x042a
00001e5b: JUMPI
00001e5c: PUSH1 0x20
00001e5e: CALLDATASIZE
00001e5f: PUSH1 0x03
00001e61: NOT
00001e62: ADD
00001e63: SLT
00001e64: PUSH2 0x042a
00001e67: JUMPI
00001e68: PUSH1 0xff
00001e6a: PUSH1 0x01
00001e6c: PUSH1 0x40
00001e6e: PUSH1 0x04
00001e70: CALLDATALOAD
00001e71: SWAP4
00001e72: DUP5
00001e73: DUP2
00001e74: MSTORE
00001e75: PUSH1 0x0b
00001e77: PUSH1 0x20
00001e79: MSTORE
00001e7a: KECCAK256
00001e7b: ADD
00001e7c: SLOAD
00001e7d: PUSH1 0xd0
00001e7f: SHR
00001e80: AND
00001e81: ISZERO
00001e82: PUSH2 0x04ce
00001e85: JUMPI
00001e86: PUSH2 0x059b
00001e89: PUSH1 0x20
00001e8b: SWAP2
00001e8c: PUSH2 0x3526
00001e8f: JUMP
00001e90: JUMPDEST
00001e91: POP
00001e92: CALLVALUE
00001e93: PUSH2 0x042a
00001e96: JUMPI
00001e97: PUSH1 0x20
00001e99: CALLDATASIZE
00001e9a: PUSH1 0x03
00001e9c: NOT
00001e9d: ADD
00001e9e: SLT
00001e9f: PUSH2 0x042a
00001ea2: JUMPI
00001ea3: PUSH1 0x04
00001ea5: CALLDATALOAD
00001ea6: SWAP1
00001ea7: DUP2
00001ea8: DUP2
00001ea9: MSTORE
00001eaa: PUSH1 0x0b
00001eac: PUSH1 0x20
00001eae: MSTORE
00001eaf: PUSH1 0xff
00001eb1: PUSH1 0x01
00001eb3: PUSH1 0x40
00001eb5: DUP4
00001eb6: KECCAK256
00001eb7: ADD
00001eb8: SLOAD
00001eb9: PUSH1 0xd0
00001ebb: SHR
00001ebc: AND
00001ebd: ISZERO
00001ebe: PUSH2 0x08ea
00001ec1: JUMPI
00001ec2: DUP1
00001ec3: PUSH2 0x1ecb
00001ec6: DUP4
00001ec7: PUSH2 0x349f
00001eca: JUMP
00001ecb: JUMPDEST
00001ecc: SWAP3
00001ecd: PUSH1 0x05
00001ecf: DUP5
00001ed0: LT
00001ed1: ISZERO
00001ed2: PUSH2 0x1f06
00001ed5: JUMPI
00001ed6: PUSH1 0x02
00001ed8: PUSH1 0x20
00001eda: SWAP5
00001edb: SUB
00001edc: PUSH2 0x1eec
00001edf: JUMPI
00001ee0: JUMPDEST
00001ee1: POP
00001ee2: POP
00001ee3: PUSH1 0x40
00001ee5: MLOAD
00001ee6: SWAP1
00001ee7: ISZERO
00001ee8: ISZERO
00001ee9: DUP2
00001eea: MSTORE
00001eeb: RETURN
00001eec: JUMPDEST
00001eed: DUP2
00001eee: MSTORE
00001eef: PUSH1 0x0b
00001ef1: DUP4
00001ef2: MSTORE
00001ef3: PUSH1 0x40
00001ef5: SWAP1
00001ef6: KECCAK256
00001ef7: SLOAD
00001ef8: PUSH1 0xf0
00001efa: SHR
00001efb: PUSH1 0xff
00001efd: AND
00001efe: SWAP1
00001eff: POP
00001f00: CODESIZE
00001f01: DUP1
00001f02: PUSH2 0x1ee0
00001f05: JUMP
00001f06: JUMPDEST
00001f07: PUSH1 0x24
00001f09: DUP3
00001f0a: PUSH4 0x4e487b71
00001f0f: PUSH1 0xe0
00001f11: SHL
00001f12: DUP2
00001f13: MSTORE
00001f14: PUSH1 0x21
00001f16: PUSH1 0x04
00001f18: MSTORE
00001f19: REVERT
00001f1a: JUMPDEST
00001f1b: POP
00001f1c: CALLVALUE
00001f1d: PUSH2 0x042a
00001f20: JUMPI
00001f21: PUSH1 0x20
00001f23: CALLDATASIZE
00001f24: PUSH1 0x03
00001f26: NOT
00001f27: ADD
00001f28: SLT
00001f29: PUSH2 0x042a
00001f2c: JUMPI
00001f2d: PUSH1 0x04
00001f2f: CALLDATALOAD
00001f30: PUSH2 0x1f37
00001f33: PUSH2 0x3f94
00001f36: JUMP
00001f37: JUMPDEST
00001f38: PUSH2 0x1f40
00001f3b: DUP2
00001f3c: PUSH2 0x31c3
00001f3f: JUMP
00001f40: JUMPDEST
00001f41: ISZERO
00001f42: PUSH2 0x1fdb
00001f45: JUMPI
00001f46: PUSH2 0x1f4e
00001f49: DUP2
00001f4a: PUSH2 0x42e7
00001f4d: JUMP
00001f4e: JUMPDEST
00001f4f: ISZERO
00001f50: PUSH2 0x17f5
00001f53: JUMPI
00001f54: PUSH2 0x1f5c
00001f57: DUP2
00001f58: PUSH2 0x2c3d
00001f5b: JUMP
00001f5c: JUMPDEST
00001f5d: POP
00001f5e: DUP2
00001f5f: PUSH2 0x1f67
00001f62: DUP3
00001f63: PUSH2 0x2c3d
00001f66: JUMP
00001f67: JUMPDEST
00001f68: DUP3
00001f69: DUP3
00001f6a: MSTORE
00001f6b: PUSH1 0x07
00001f6d: PUSH1 0x20
00001f6f: MSTORE
00001f70: PUSH1 0x01
00001f72: PUSH1 0x01
00001f74: PUSH1 0xa0
00001f76: SHL
00001f77: SUB
00001f78: PUSH1 0x40
00001f7a: DUP4
00001f7b: KECCAK256
00001f7c: SWAP2
00001f7d: PUSH1 0x01
00001f7f: PUSH1 0x01
00001f81: PUSH1 0xa0
00001f83: SHL
00001f84: SUB
00001f85: NOT
00001f86: SWAP3
00001f87: DUP4
00001f88: DUP2
00001f89: SLOAD
00001f8a: AND
00001f8b: SWAP1
00001f8c: SSTORE
00001f8d: AND
00001f8e: SWAP1
00001f8f: DUP2
00001f90: DUP4
00001f91: MSTORE
00001f92: PUSH1 0x06
00001f94: PUSH1 0x20
00001f96: MSTORE
00001f97: PUSH1 0x40
00001f99: DUP4
00001f9a: KECCAK256
00001f9b: PUSH1 0x00
00001f9d: NOT
00001f9e: DUP2
00001f9f: SLOAD
00001fa0: ADD
00001fa1: SWAP1
00001fa2: SSTORE
00001fa3: DUP4
00001fa4: DUP4
00001fa5: MSTORE
00001fa6: PUSH1 0x05
00001fa8: PUSH1 0x20
00001faa: MSTORE
00001fab: PUSH1 0x40
00001fad: DUP4
00001fae: KECCAK256
00001faf: SWAP1
00001fb0: DUP2
00001fb1: SLOAD
00001fb2: AND
00001fb3: SWAP1
00001fb4: SSTORE
00001fb5: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00001fd6: DUP3
00001fd7: DUP1
00001fd8: LOG4
00001fd9: DUP1
00001fda: RETURN
00001fdb: JUMPDEST
00001fdc: PUSH1 0x24
00001fde: SWAP1
00001fdf: PUSH1 0x40
00001fe1: MLOAD
00001fe2: SWAP1
00001fe3: PUSH32 0x817cd63900000000000000000000000000000000000000000000000000000000
00002004: DUP3
00002005: MSTORE
00002006: PUSH1 0x04
00002008: DUP3
00002009: ADD
0000200a: MSTORE
0000200b: REVERT
0000200c: JUMPDEST
0000200d: POP
0000200e: CALLVALUE
0000200f: PUSH2 0x042a
00002012: JUMPI
00002013: PUSH2 0x201b
00002016: CALLDATASIZE
00002017: PUSH2 0x2ab3
0000201a: JUMP
0000201b: JUMPDEST
0000201c: PUSH1 0x40
0000201e: MLOAD
0000201f: SWAP2
00002020: PUSH1 0x20
00002022: DUP4
00002023: ADD
00002024: SWAP4
00002025: DUP4
00002026: DUP6
00002027: LT
00002028: PUSH8 0xffffffffffffffff
00002031: DUP7
00002032: GT
00002033: OR
00002034: PUSH2 0x2046
00002037: JUMPI
00002038: PUSH2 0x0a82
0000203b: SWAP5
0000203c: PUSH1 0x40
0000203e: MSTORE
0000203f: DUP6
00002040: DUP5
00002041: MSTORE
00002042: PUSH2 0x2d10
00002045: JUMP
00002046: JUMPDEST
00002047: PUSH4 0x4e487b71
0000204c: PUSH1 0xe0
0000204e: SHL
0000204f: PUSH1 0x00
00002051: MSTORE
00002052: PUSH1 0x41
00002054: PUSH1 0x04
00002056: MSTORE
00002057: PUSH1 0x24
00002059: PUSH1 0x00
0000205b: REVERT
0000205c: JUMPDEST
0000205d: POP
0000205e: CALLVALUE
0000205f: PUSH2 0x042a
00002062: JUMPI
00002063: PUSH1 0x20
00002065: CALLDATASIZE
00002066: PUSH1 0x03
00002068: NOT
00002069: ADD
0000206a: SLT
0000206b: PUSH2 0x042a
0000206e: JUMPI
0000206f: PUSH1 0x20
00002071: PUSH2 0x0472
00002074: PUSH1 0x04
00002076: CALLDATALOAD
00002077: PUSH2 0x31c3
0000207a: JUMP
0000207b: JUMPDEST
0000207c: POP
0000207d: CALLVALUE
0000207e: PUSH2 0x042a
00002081: JUMPI
00002082: PUSH1 0x20
00002084: DUP1
00002085: PUSH1 0x03
00002087: NOT
00002088: CALLDATASIZE
00002089: ADD
0000208a: SLT
0000208b: PUSH2 0x0820
0000208e: JUMPI
0000208f: PUSH1 0x04
00002091: CALLDATALOAD
00002092: SWAP1
00002093: PUSH2 0x209a
00002096: PUSH2 0x3f94
00002099: JUMP
0000209a: JUMPDEST
0000209b: PUSH2 0x20a3
0000209e: DUP3
0000209f: PUSH2 0x31c3
000020a2: JUMP
000020a3: JUMPDEST
000020a4: ISZERO
000020a5: PUSH2 0x20c0
000020a8: JUMPI
000020a9: PUSH1 0x24
000020ab: DUP3
000020ac: PUSH1 0x40
000020ae: MLOAD
000020af: SWAP1
000020b0: PUSH4 0x4a5541ef
000020b5: PUSH1 0xe0
000020b7: SHL
000020b8: DUP3
000020b9: MSTORE
000020ba: PUSH1 0x04
000020bc: DUP3
000020bd: ADD
000020be: MSTORE
000020bf: REVERT
000020c0: JUMPDEST
000020c1: PUSH2 0x20c9
000020c4: DUP3
000020c5: PUSH2 0x3229
000020c8: JUMP
000020c9: JUMPDEST
000020ca: PUSH2 0x243d
000020cd: JUMPI
000020ce: PUSH2 0x20ed
000020d1: DUP3
000020d2: PUSH1 0x00
000020d4: MSTORE
000020d5: PUSH1 0x0b
000020d7: PUSH1 0x20
000020d9: MSTORE
000020da: PUSH1 0x01
000020dc: PUSH1 0x01
000020de: PUSH1 0xa0
000020e0: SHL
000020e1: SUB
000020e2: PUSH1 0x40
000020e4: PUSH1 0x00
000020e6: KECCAK256
000020e7: SLOAD
000020e8: AND
000020e9: CALLER
000020ea: EQ
000020eb: SWAP1
000020ec: JUMP
000020ed: JUMPDEST
000020ee: ISZERO
000020ef: DUP1
000020f0: PUSH2 0x241f
000020f3: JUMPI
000020f4: JUMPDEST
000020f5: PUSH2 0x0e12
000020f8: JUMPI
000020f9: PUSH2 0x2101
000020fc: DUP3
000020fd: PUSH2 0x325a
00002100: JUMP
00002101: JUMPDEST
00002102: SWAP2
00002103: DUP1
00002104: DUP5
00002105: MSTORE
00002106: PUSH1 0x0b
00002108: DUP3
00002109: MSTORE
0000210a: PUSH2 0x2118
0000210d: PUSH1 0x02
0000210f: PUSH1 0x40
00002111: DUP7
00002112: KECCAK256
00002113: ADD
00002114: PUSH2 0x318f
00002117: JUMP
00002118: JUMPDEST
00002119: PUSH1 0x01
0000211b: PUSH1 0x01
0000211d: PUSH1 0x80
0000211f: SHL
00002120: SUB
00002121: SWAP4
00002122: DUP5
00002123: DUP3
00002124: MLOAD
00002125: AND
00002126: DUP6
00002127: DUP3
00002128: AND
00002129: LT
0000212a: ISZERO
0000212b: PUSH2 0x2407
0000212e: JUMPI
0000212f: DUP3
00002130: DUP7
00002131: MSTORE
00002132: PUSH1 0x0b
00002134: DUP5
00002135: MSTORE
00002136: PUSH1 0xff
00002138: PUSH1 0x40
0000213a: DUP8
0000213b: KECCAK256
0000213c: SLOAD
0000213d: PUSH1 0xf0
0000213f: SHR
00002140: AND
00002141: ISZERO
00002142: PUSH2 0x23ef
00002145: JUMPI
00002146: DUP2
00002147: PUSH2 0x215c
0000214a: DUP3
0000214b: DUP8
0000214c: DUP8
0000214d: PUSH2 0x1543
00002150: PUSH1 0x40
00002152: SWAP7
00002153: DUP4
00002154: DUP4
00002155: SWAP10
00002156: MLOAD
00002157: AND
00002158: PUSH2 0x31fa
0000215b: JUMP
0000215c: JUMPDEST
0000215d: DUP5
0000215e: DUP9
0000215f: MSTORE
00002160: PUSH1 0x0b
00002162: DUP5
00002163: MSTORE
00002164: DUP3
00002165: DUP9
00002166: KECCAK256
00002167: SWAP2
00002168: PUSH2 0x21eb
0000216b: DUP4
0000216c: SLOAD
0000216d: SWAP9
0000216e: PUSH1 0x01
00002170: PUSH1 0xf8
00002172: SHL
00002173: PUSH30 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002192: DUP12
00002193: AND
00002194: OR
00002195: DUP6
00002196: SSTORE
00002197: DUP11
00002198: PUSH1 0x03
0000219a: DUP3
0000219b: DUP7
0000219c: AND
0000219d: SWAP7
0000219e: DUP8
0000219f: ISZERO
000021a0: PUSH2 0x23d5
000021a3: JUMPI
000021a4: JUMPDEST
000021a5: ADD
000021a6: SWAP2
000021a7: DUP5
000021a8: AND
000021a9: SWAP11
000021aa: DUP3
000021ab: DUP13
000021ac: PUSH16 0xffffffffffffffffffffffffffffffff
000021bd: NOT
000021be: DUP2
000021bf: SWAP6
000021c0: SLOAD
000021c1: AND
000021c2: OR
000021c3: SWAP1
000021c4: SSTORE
000021c5: PUSH1 0x01
000021c7: PUSH1 0x01
000021c9: PUSH1 0x01
000021cb: PUSH1 0xa0
000021cd: SHL
000021ce: SUB
000021cf: DUP1
000021d0: SWAP3
000021d1: AND
000021d2: SWAP9
000021d3: DUP10
000021d4: SWAP4
000021d5: PUSH1 0x05
000021d7: DUP13
000021d8: MSTORE
000021d9: PUSH1 0x0b
000021db: DUP5
000021dc: DUP4
000021dd: DUP4
000021de: KECCAK256
000021df: SLOAD
000021e0: AND
000021e1: SWAP13
000021e2: MSTORE
000021e3: KECCAK256
000021e4: ADD
000021e5: SLOAD
000021e6: AND
000021e7: PUSH2 0x3ff0
000021ea: JUMP
000021eb: JUMPDEST
000021ec: CALLER
000021ed: DUP5
000021ee: SUB
000021ef: PUSH2 0x22c8
000021f2: JUMPI
000021f3: SWAP1
000021f4: DUP9
000021f5: SWAP2
000021f6: DUP6
000021f7: EXTCODESIZE
000021f8: PUSH2 0x225b
000021fb: JUMPI
000021fc: JUMPDEST
000021fd: POP
000021fe: POP
000021ff: POP
00002200: PUSH32 0x2971bd77136e1a620a6b1eb4ad5edd190e9fd391b26bfc5dea50b882fc6b9fd2
00002221: PUSH1 0x40
00002223: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
00002244: SWAP8
00002245: DUP7
00002246: SWAP4
00002247: JUMPDEST
00002248: DUP3
00002249: MLOAD
0000224a: SWAP2
0000224b: DUP3
0000224c: MSTORE
0000224d: DUP9
0000224e: DUP3
0000224f: ADD
00002250: MSTORE
00002251: LOG4
00002252: PUSH1 0x40
00002254: MLOAD
00002255: SWAP1
00002256: DUP2
00002257: MSTORE
00002258: LOG1
00002259: DUP1
0000225a: RETURN
0000225b: JUMPDEST
0000225c: DUP6
0000225d: EXTCODESIZE
0000225e: ISZERO
0000225f: PUSH2 0x0824
00002262: JUMPI
00002263: PUSH1 0x40
00002265: MLOAD
00002266: PUSH4 0x72eba203
0000226b: PUSH1 0xe0
0000226d: SHL
0000226e: DUP2
0000226f: MSTORE
00002270: PUSH1 0x04
00002272: DUP2
00002273: ADD
00002274: DUP9
00002275: SWAP1
00002276: MSTORE
00002277: PUSH1 0x01
00002279: PUSH1 0x01
0000227b: PUSH1 0xa0
0000227d: SHL
0000227e: SUB
0000227f: DUP7
00002280: AND
00002281: PUSH1 0x24
00002283: DUP3
00002284: ADD
00002285: MSTORE
00002286: PUSH1 0x01
00002288: PUSH1 0x01
0000228a: PUSH1 0x80
0000228c: SHL
0000228d: SUB
0000228e: SWAP2
0000228f: DUP3
00002290: AND
00002291: PUSH1 0x44
00002293: DUP3
00002294: ADD
00002295: MSTORE
00002296: SWAP2
00002297: AND
00002298: PUSH1 0x64
0000229a: DUP3
0000229b: ADD
0000229c: MSTORE
0000229d: DUP2
0000229e: DUP2
0000229f: PUSH1 0x84
000022a1: DUP2
000022a2: DUP4
000022a3: DUP10
000022a4: GAS
000022a5: CALL
000022a6: PUSH2 0x22b0
000022a9: JUMPI
000022aa: JUMPDEST
000022ab: DUP1
000022ac: PUSH2 0x21fc
000022af: JUMP
000022b0: JUMPDEST
000022b1: PUSH2 0x22b9
000022b4: SWAP1
000022b5: PUSH2 0x2b35
000022b8: JUMP
000022b9: JUMPDEST
000022ba: PUSH2 0x22c4
000022bd: JUMPI
000022be: DUP7
000022bf: CODESIZE
000022c0: PUSH2 0x22aa
000022c3: JUMP
000022c4: JUMPDEST
000022c5: DUP7
000022c6: DUP1
000022c7: REVERT
000022c8: JUMPDEST
000022c9: DUP4
000022ca: SWAP9
000022cb: SWAP8
000022cc: SWAP3
000022cd: SWAP9
000022ce: EXTCODESIZE
000022cf: PUSH2 0x2322
000022d2: JUMPI
000022d3: JUMPDEST
000022d4: POP
000022d5: POP
000022d6: PUSH32 0x2971bd77136e1a620a6b1eb4ad5edd190e9fd391b26bfc5dea50b882fc6b9fd2
000022f7: PUSH1 0x40
000022f9: DUP6
000022fa: SWAP3
000022fb: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
0000231c: SWAP9
0000231d: SWAP10
0000231e: PUSH2 0x2247
00002321: JUMP
00002322: JUMPDEST
00002323: DUP4
00002324: EXTCODESIZE
00002325: ISZERO
00002326: PUSH2 0x23d1
00002329: JUMPI
0000232a: PUSH1 0x40
0000232c: MLOAD
0000232d: PUSH4 0x72eba203
00002332: PUSH1 0xe0
00002334: SHL
00002335: DUP2
00002336: MSTORE
00002337: PUSH1 0x04
00002339: DUP2
0000233a: ADD
0000233b: DUP8
0000233c: SWAP1
0000233d: MSTORE
0000233e: PUSH1 0x01
00002340: PUSH1 0x01
00002342: PUSH1 0xa0
00002344: SHL
00002345: SUB
00002346: DUP7
00002347: AND
00002348: PUSH1 0x24
0000234a: DUP3
0000234b: ADD
0000234c: MSTORE
0000234d: PUSH1 0x01
0000234f: PUSH1 0x01
00002351: PUSH1 0x80
00002353: SHL
00002354: SUB
00002355: SWAP2
00002356: DUP3
00002357: AND
00002358: PUSH1 0x44
0000235a: DUP3
0000235b: ADD
0000235c: MSTORE
0000235d: SWAP2
0000235e: AND
0000235f: PUSH1 0x64
00002361: DUP3
00002362: ADD
00002363: MSTORE
00002364: DUP7
00002365: DUP2
00002366: PUSH1 0x84
00002368: DUP2
00002369: DUP4
0000236a: DUP8
0000236b: GAS
0000236c: CALL
0000236d: PUSH2 0x2377
00002370: JUMPI
00002371: JUMPDEST
00002372: DUP1
00002373: PUSH2 0x22d3
00002376: JUMP
00002377: JUMPDEST
00002378: PUSH1 0x40
0000237a: DUP6
0000237b: SWAP3
0000237c: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
0000239d: SWAP9
0000239e: PUSH2 0x23c7
000023a1: PUSH32 0x2971bd77136e1a620a6b1eb4ad5edd190e9fd391b26bfc5dea50b882fc6b9fd2
000023c2: SWAP5
000023c3: PUSH2 0x2b35
000023c6: JUMP
000023c7: JUMPDEST
000023c8: SWAP9
000023c9: POP
000023ca: SWAP3
000023cb: POP
000023cc: POP
000023cd: PUSH2 0x2371
000023d0: JUMP
000023d1: JUMPDEST
000023d2: DUP8
000023d3: DUP1
000023d4: REVERT
000023d5: JUMPDEST
000023d6: PUSH1 0x01
000023d8: DUP2
000023d9: ADD
000023da: PUSH1 0x01
000023dc: PUSH1 0xc8
000023de: SHL
000023df: PUSH1 0xff
000023e1: PUSH1 0xc8
000023e3: SHL
000023e4: NOT
000023e5: DUP3
000023e6: SLOAD
000023e7: AND
000023e8: OR
000023e9: SWAP1
000023ea: SSTORE
000023eb: PUSH2 0x21a4
000023ee: JUMP
000023ef: JUMPDEST
000023f0: PUSH1 0x24
000023f2: DUP4
000023f3: PUSH1 0x40
000023f5: MLOAD
000023f6: SWAP1
000023f7: PUSH4 0x39c6dc73
000023fc: PUSH1 0xe2
000023fe: SHL
000023ff: DUP3
00002400: MSTORE
00002401: PUSH1 0x04
00002403: DUP3
00002404: ADD
00002405: MSTORE
00002406: REVERT
00002407: JUMPDEST
00002408: PUSH1 0x24
0000240a: DUP4
0000240b: PUSH1 0x40
0000240d: MLOAD
0000240e: SWAP1
0000240f: PUSH4 0x22cad1af
00002414: PUSH1 0xe1
00002416: SHL
00002417: DUP3
00002418: MSTORE
00002419: PUSH1 0x04
0000241b: DUP3
0000241c: ADD
0000241d: MSTORE
0000241e: REVERT
0000241f: JUMPDEST
00002420: POP
00002421: DUP2
00002422: DUP4
00002423: MSTORE
00002424: PUSH1 0x05
00002426: DUP2
00002427: MSTORE
00002428: PUSH1 0x01
0000242a: PUSH1 0x01
0000242c: PUSH1 0xa0
0000242e: SHL
0000242f: SUB
00002430: PUSH1 0x40
00002432: DUP5
00002433: KECCAK256
00002434: SLOAD
00002435: AND
00002436: CALLER
00002437: EQ
00002438: ISZERO
00002439: PUSH2 0x20f4
0000243c: JUMP
0000243d: JUMPDEST
0000243e: PUSH1 0x24
00002440: DUP3
00002441: PUSH1 0x40
00002443: MLOAD
00002444: SWAP1
00002445: PUSH4 0xfe19f19f
0000244a: PUSH1 0xe0
0000244c: SHL
0000244d: DUP3
0000244e: MSTORE
0000244f: PUSH1 0x04
00002451: DUP3
00002452: ADD
00002453: MSTORE
00002454: REVERT
00002455: JUMPDEST
00002456: POP
00002457: CALLVALUE
00002458: PUSH2 0x042a
0000245b: JUMPI
0000245c: PUSH1 0x20
0000245e: CALLDATASIZE
0000245f: PUSH1 0x03
00002461: NOT
00002462: ADD
00002463: SLT
00002464: PUSH2 0x042a
00002467: JUMPI
00002468: PUSH1 0x01
0000246a: PUSH1 0x01
0000246c: PUSH1 0x80
0000246e: SHL
0000246f: SUB
00002470: PUSH1 0x40
00002472: PUSH1 0x20
00002474: SWAP3
00002475: PUSH1 0x01
00002477: PUSH1 0x01
00002479: PUSH1 0xa0
0000247b: SHL
0000247c: SUB
0000247d: PUSH2 0x2484
00002480: PUSH2 0x2a87
00002483: JUMP
00002484: JUMPDEST
00002485: AND
00002486: DUP2
00002487: MSTORE
00002488: PUSH1 0x02
0000248a: DUP5
0000248b: MSTORE
0000248c: KECCAK256
0000248d: SLOAD
0000248e: AND
0000248f: PUSH1 0x40
00002491: MLOAD
00002492: SWAP1
00002493: DUP2
00002494: MSTORE
00002495: RETURN
00002496: JUMPDEST
00002497: POP
00002498: CALLVALUE
00002499: PUSH2 0x042a
0000249c: JUMPI
0000249d: PUSH2 0x0a82
000024a0: PUSH2 0x24a8
000024a3: CALLDATASIZE
000024a4: PUSH2 0x2ab3
000024a7: JUMP
000024a8: JUMPDEST
000024a9: SWAP2
000024aa: PUSH2 0x24bb
000024ad: PUSH2 0x24b6
000024b0: DUP5
000024b1: CALLER
000024b2: PUSH2 0x2da6
000024b5: JUMP
000024b6: JUMPDEST
000024b7: PUSH2 0x2c9f
000024ba: JUMP
000024bb: JUMPDEST
000024bc: PUSH2 0x2e85
000024bf: JUMP
000024c0: JUMPDEST
000024c1: POP
000024c2: CALLVALUE
000024c3: PUSH2 0x042a
000024c6: JUMPI
000024c7: DUP1
000024c8: PUSH1 0x03
000024ca: NOT
000024cb: CALLDATASIZE
000024cc: ADD
000024cd: SLT
000024ce: PUSH2 0x042a
000024d1: JUMPI
000024d2: PUSH1 0x20
000024d4: PUSH1 0x09
000024d6: SLOAD
000024d7: PUSH1 0x40
000024d9: MLOAD
000024da: SWAP1
000024db: DUP2
000024dc: MSTORE
000024dd: RETURN
000024de: JUMPDEST
000024df: POP
000024e0: CALLVALUE
000024e1: PUSH2 0x042a
000024e4: JUMPI
000024e5: PUSH1 0x20
000024e7: CALLDATASIZE
000024e8: PUSH1 0x03
000024ea: NOT
000024eb: ADD
000024ec: SLT
000024ed: PUSH2 0x042a
000024f0: JUMPI
000024f1: PUSH1 0x04
000024f3: CALLDATALOAD
000024f4: DUP1
000024f5: DUP3
000024f6: MSTORE
000024f7: PUSH1 0x0b
000024f9: PUSH1 0x20
000024fb: MSTORE
000024fc: PUSH1 0xff
000024fe: PUSH1 0x01
00002500: PUSH1 0x40
00002502: DUP5
00002503: KECCAK256
00002504: ADD
00002505: SLOAD
00002506: PUSH1 0xd0
00002508: SHR
00002509: AND
0000250a: ISZERO
0000250b: PUSH2 0x04ce
0000250e: JUMPI
0000250f: PUSH2 0x2517
00002512: SWAP1
00002513: PUSH2 0x349f
00002516: JUMP
00002517: JUMPDEST
00002518: SWAP1
00002519: PUSH1 0x05
0000251b: DUP3
0000251c: LT
0000251d: ISZERO
0000251e: PUSH2 0x1143
00002521: JUMPI
00002522: PUSH1 0x20
00002524: DUP3
00002525: ISZERO
00002526: DUP4
00002527: DUP2
00002528: ISZERO
00002529: PUSH2 0x2538
0000252c: JUMPI
0000252d: JUMPDEST
0000252e: POP
0000252f: PUSH1 0x40
00002531: MLOAD
00002532: SWAP1
00002533: ISZERO
00002534: ISZERO
00002535: DUP2
00002536: MSTORE
00002537: RETURN
00002538: JUMPDEST
00002539: PUSH1 0x01
0000253b: SWAP2
0000253c: POP
0000253d: EQ
0000253e: DUP3
0000253f: PUSH2 0x252d
00002542: JUMP
00002543: JUMPDEST
00002544: POP
00002545: CALLVALUE
00002546: PUSH2 0x042a
00002549: JUMPI
0000254a: PUSH2 0x0120
0000254d: CALLDATASIZE
0000254e: PUSH1 0x03
00002550: NOT
00002551: ADD
00002552: SLT
00002553: PUSH2 0x042a
00002556: JUMPI
00002557: PUSH2 0x255e
0000255a: PUSH2 0x3f94
0000255d: JUMP
0000255e: JUMPDEST
0000255f: PUSH2 0x2566
00002562: PUSH2 0x3170
00002565: JUMP
00002566: JUMPDEST
00002567: SWAP1
00002568: PUSH5 0xffffffffff
0000256e: DUP1
0000256f: TIMESTAMP
00002570: AND
00002571: DUP1
00002572: DUP5
00002573: MSTORE
00002574: PUSH1 0xa4
00002576: CALLDATALOAD
00002577: DUP3
00002578: DUP2
00002579: AND
0000257a: DUP2
0000257b: SUB
0000257c: PUSH2 0x0a85
0000257f: JUMPI
00002580: DUP2
00002581: ADD
00002582: DUP3
00002583: AND
00002584: PUSH1 0x20
00002586: DUP6
00002587: ADD
00002588: MSTORE
00002589: PUSH1 0xc4
0000258b: CALLDATALOAD
0000258c: SWAP1
0000258d: DUP2
0000258e: DUP4
0000258f: AND
00002590: DUP3
00002591: SUB
00002592: PUSH2 0x0a85
00002595: JUMPI
00002596: ADD
00002597: AND
00002598: PUSH1 0x40
0000259a: DUP4
0000259b: ADD
0000259c: MSTORE
0000259d: PUSH1 0x64
0000259f: CALLDATALOAD
000025a0: SWAP2
000025a1: PUSH1 0x01
000025a3: PUSH1 0x01
000025a5: PUSH1 0xa0
000025a7: SHL
000025a8: SUB
000025a9: SWAP1
000025aa: DUP2
000025ab: DUP5
000025ac: AND
000025ad: DUP1
000025ae: SWAP5
000025af: SUB
000025b0: PUSH2 0x0824
000025b3: JUMPI
000025b4: PUSH1 0x84
000025b6: CALLDATALOAD
000025b7: DUP1
000025b8: ISZERO
000025b9: ISZERO
000025ba: DUP1
000025bb: SWAP2
000025bc: SUB
000025bd: PUSH2 0x0a85
000025c0: JUMPI
000025c1: PUSH1 0x24
000025c3: CALLDATALOAD
000025c4: SWAP5
000025c5: DUP4
000025c6: DUP7
000025c7: AND
000025c8: DUP1
000025c9: SWAP7
000025ca: SUB
000025cb: PUSH2 0x0e94
000025ce: JUMPI
000025cf: PUSH1 0x04
000025d1: CALLDATALOAD
000025d2: SWAP6
000025d3: DUP5
000025d4: DUP8
000025d5: AND
000025d6: DUP1
000025d7: SWAP8
000025d8: SUB
000025d9: PUSH2 0x265a
000025dc: JUMPI
000025dd: PUSH1 0x44
000025df: CALLDATALOAD
000025e0: SWAP1
000025e1: PUSH1 0x01
000025e3: PUSH1 0x01
000025e5: PUSH1 0x80
000025e7: SHL
000025e8: SUB
000025e9: DUP3
000025ea: AND
000025eb: DUP1
000025ec: SWAP3
000025ed: SUB
000025ee: PUSH2 0x22c4
000025f1: JUMPI
000025f2: PUSH1 0x40
000025f4: MLOAD
000025f5: SWAP8
000025f6: PUSH2 0x25fe
000025f9: DUP10
000025fa: PUSH2 0x2b19
000025fd: JUMP
000025fe: JUMPDEST
000025ff: DUP9
00002600: MSTORE
00002601: PUSH1 0x20
00002603: DUP9
00002604: ADD
00002605: MSTORE
00002606: PUSH1 0x40
00002608: DUP8
00002609: ADD
0000260a: MSTORE
0000260b: PUSH1 0x60
0000260d: DUP7
0000260e: ADD
0000260f: MSTORE
00002610: PUSH1 0x80
00002612: DUP6
00002613: ADD
00002614: MSTORE
00002615: PUSH1 0xa0
00002617: DUP5
00002618: ADD
00002619: MSTORE
0000261a: PUSH1 0x40
0000261c: PUSH1 0xe3
0000261e: NOT
0000261f: CALLDATASIZE
00002620: ADD
00002621: SLT
00002622: PUSH2 0x0820
00002625: JUMPI
00002626: PUSH1 0x40
00002628: MLOAD
00002629: SWAP2
0000262a: PUSH2 0x2632
0000262d: DUP4
0000262e: PUSH2 0x2b82
00002631: JUMP
00002632: JUMPDEST
00002633: PUSH1 0xe4
00002635: CALLDATALOAD
00002636: SWAP2
00002637: DUP3
00002638: AND
00002639: DUP3
0000263a: SUB
0000263b: PUSH2 0x042a
0000263e: JUMPI
0000263f: PUSH1 0x20
00002641: PUSH2 0x1e4d
00002644: DUP6
00002645: DUP6
00002646: DUP6
00002647: DUP2
00002648: MSTORE
00002649: PUSH2 0x0104
0000264c: CALLDATALOAD
0000264d: DUP5
0000264e: DUP3
0000264f: ADD
00002650: MSTORE
00002651: PUSH1 0xc0
00002653: DUP3
00002654: ADD
00002655: MSTORE
00002656: PUSH2 0x35a1
00002659: JUMP
0000265a: JUMPDEST
0000265b: DUP6
0000265c: DUP1
0000265d: REVERT
0000265e: JUMPDEST
0000265f: POP
00002660: CALLVALUE
00002661: PUSH2 0x042a
00002664: JUMPI
00002665: PUSH1 0x20
00002667: CALLDATASIZE
00002668: PUSH1 0x03
0000266a: NOT
0000266b: ADD
0000266c: SLT
0000266d: PUSH2 0x042a
00002670: JUMPI
00002671: PUSH1 0x04
00002673: CALLDATALOAD
00002674: SWAP1
00002675: DUP2
00002676: DUP2
00002677: MSTORE
00002678: PUSH1 0x0b
0000267a: PUSH1 0x20
0000267c: MSTORE
0000267d: PUSH1 0xff
0000267f: PUSH1 0x01
00002681: PUSH1 0x40
00002683: DUP4
00002684: KECCAK256
00002685: ADD
00002686: SLOAD
00002687: PUSH1 0xd0
00002689: SHR
0000268a: AND
0000268b: ISZERO
0000268c: PUSH2 0x08ea
0000268f: JUMPI
00002690: PUSH1 0x20
00002692: SWAP2
00002693: PUSH1 0x40
00002695: DUP3
00002696: DUP3
00002697: DUP2
00002698: MSTORE
00002699: PUSH1 0x0b
0000269b: DUP6
0000269c: MSTORE
0000269d: KECCAK256
0000269e: PUSH1 0xff
000026a0: DUP2
000026a1: SLOAD
000026a2: PUSH1 0xf0
000026a4: SHR
000026a5: AND
000026a6: DUP1
000026a7: PUSH2 0x26ec
000026aa: JUMPI
000026ab: JUMPDEST
000026ac: PUSH2 0x26c3
000026af: JUMPI
000026b0: JUMPDEST
000026b1: POP
000026b2: POP
000026b3: PUSH1 0x01
000026b5: PUSH1 0x01
000026b7: PUSH1 0x80
000026b9: SHL
000026ba: SUB
000026bb: PUSH1 0x40
000026bd: MLOAD
000026be: SWAP2
000026bf: AND
000026c0: DUP2
000026c1: MSTORE
000026c2: RETURN
000026c3: JUMPDEST
000026c4: PUSH2 0x26e5
000026c7: SWAP3
000026c8: POP
000026c9: PUSH1 0x01
000026cb: PUSH1 0x01
000026cd: PUSH1 0x80
000026cf: SHL
000026d0: SUB
000026d1: PUSH1 0x02
000026d3: PUSH2 0x26df
000026d6: SWAP3
000026d7: ADD
000026d8: SLOAD
000026d9: AND
000026da: SWAP2
000026db: PUSH2 0x325a
000026de: JUMP
000026df: JUMPDEST
000026e0: SWAP1
000026e1: PUSH2 0x31fa
000026e4: JUMP
000026e5: JUMPDEST
000026e6: CODESIZE
000026e7: DUP1
000026e8: PUSH2 0x26b0
000026eb: JUMP
000026ec: JUMPDEST
000026ed: POP
000026ee: PUSH1 0xff
000026f0: PUSH1 0x01
000026f2: DUP3
000026f3: ADD
000026f4: SLOAD
000026f5: PUSH1 0xc8
000026f7: SHR
000026f8: AND
000026f9: ISZERO
000026fa: PUSH2 0x26ab
000026fd: JUMP
000026fe: JUMPDEST
000026ff: POP
00002700: CALLVALUE
00002701: PUSH2 0x042a
00002704: JUMPI
00002705: PUSH1 0x40
00002707: CALLDATASIZE
00002708: PUSH1 0x03
0000270a: NOT
0000270b: ADD
0000270c: SLT
0000270d: PUSH2 0x042a
00002710: JUMPI
00002711: PUSH2 0x2718
00002714: PUSH2 0x2a87
00002717: JUMP
00002718: JUMPDEST
00002719: PUSH1 0x24
0000271b: CALLDATALOAD
0000271c: SWAP1
0000271d: PUSH1 0x01
0000271f: PUSH1 0x01
00002721: PUSH1 0xa0
00002723: SHL
00002724: SUB
00002725: DUP1
00002726: DUP1
00002727: PUSH2 0x272f
0000272a: DUP6
0000272b: PUSH2 0x2c3d
0000272e: JUMP
0000272f: JUMPDEST
00002730: AND
00002731: SWAP3
00002732: AND
00002733: SWAP2
00002734: DUP1
00002735: DUP4
00002736: EQ
00002737: PUSH2 0x2823
0000273a: JUMPI
0000273b: DUP1
0000273c: CALLER
0000273d: EQ
0000273e: SWAP1
0000273f: DUP2
00002740: ISZERO
00002741: PUSH2 0x2802
00002744: JUMPI
00002745: JUMPDEST
00002746: POP
00002747: ISZERO
00002748: PUSH2 0x2798
0000274b: JUMPI
0000274c: DUP3
0000274d: DUP5
0000274e: MSTORE
0000274f: PUSH1 0x07
00002751: PUSH1 0x20
00002753: MSTORE
00002754: PUSH1 0x40
00002756: DUP5
00002757: KECCAK256
00002758: DUP3
00002759: PUSH1 0x01
0000275b: PUSH1 0x01
0000275d: PUSH1 0xa0
0000275f: SHL
00002760: SUB
00002761: NOT
00002762: DUP3
00002763: SLOAD
00002764: AND
00002765: OR
00002766: SWAP1
00002767: SSTORE
00002768: PUSH2 0x2770
0000276b: DUP4
0000276c: PUSH2 0x2c3d
0000276f: JUMP
00002770: JUMPDEST
00002771: AND
00002772: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925
00002793: DUP5
00002794: DUP1
00002795: LOG4
00002796: DUP1
00002797: RETURN
00002798: JUMPDEST
00002799: PUSH1 0x84
0000279b: PUSH1 0x40
0000279d: MLOAD
0000279e: PUSH3 0x461bcd
000027a2: PUSH1 0xe5
000027a4: SHL
000027a5: DUP2
000027a6: MSTORE
000027a7: PUSH1 0x20
000027a9: PUSH1 0x04
000027ab: DUP3
000027ac: ADD
000027ad: MSTORE
000027ae: PUSH1 0x3d
000027b0: PUSH1 0x24
000027b2: DUP3
000027b3: ADD
000027b4: MSTORE
000027b5: PUSH32 0x4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f
000027d6: PUSH1 0x44
000027d8: DUP3
000027d9: ADD
000027da: MSTORE
000027db: PUSH32 0x6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000
000027fc: PUSH1 0x64
000027fe: DUP3
000027ff: ADD
00002800: MSTORE
00002801: REVERT
00002802: JUMPDEST
00002803: SWAP1
00002804: POP
00002805: DUP5
00002806: MSTORE
00002807: PUSH1 0x08
00002809: PUSH1 0x20
0000280b: MSTORE
0000280c: PUSH1 0x40
0000280e: DUP5
0000280f: KECCAK256
00002810: CALLER
00002811: DUP6
00002812: MSTORE
00002813: PUSH1 0x20
00002815: MSTORE
00002816: PUSH1 0xff
00002818: PUSH1 0x40
0000281a: DUP6
0000281b: KECCAK256
0000281c: SLOAD
0000281d: AND
0000281e: CODESIZE
0000281f: PUSH2 0x2745
00002822: JUMP
00002823: JUMPDEST
00002824: PUSH1 0x84
00002826: PUSH1 0x40
00002828: MLOAD
00002829: PUSH3 0x461bcd
0000282d: PUSH1 0xe5
0000282f: SHL
00002830: DUP2
00002831: MSTORE
00002832: PUSH1 0x20
00002834: PUSH1 0x04
00002836: DUP3
00002837: ADD
00002838: MSTORE
00002839: PUSH1 0x21
0000283b: PUSH1 0x24
0000283d: DUP3
0000283e: ADD
0000283f: MSTORE
00002840: PUSH32 0x4552433732313a20617070726f76616c20746f2063757272656e74206f776e65
00002861: PUSH1 0x44
00002863: DUP3
00002864: ADD
00002865: MSTORE
00002866: PUSH32 0x7200000000000000000000000000000000000000000000000000000000000000
00002887: PUSH1 0x64
00002889: DUP3
0000288a: ADD
0000288b: MSTORE
0000288c: REVERT
0000288d: JUMPDEST
0000288e: POP
0000288f: CALLVALUE
00002890: PUSH2 0x042a
00002893: JUMPI
00002894: PUSH1 0x20
00002896: CALLDATASIZE
00002897: PUSH1 0x03
00002899: NOT
0000289a: ADD
0000289b: SLT
0000289c: PUSH2 0x042a
0000289f: JUMPI
000028a0: PUSH1 0x20
000028a2: PUSH2 0x1d08
000028a5: PUSH1 0x04
000028a7: CALLDATALOAD
000028a8: PUSH2 0x2c62
000028ab: JUMP
000028ac: JUMPDEST
000028ad: POP
000028ae: CALLVALUE
000028af: PUSH2 0x042a
000028b2: JUMPI
000028b3: DUP1
000028b4: PUSH1 0x03
000028b6: NOT
000028b7: CALLDATASIZE
000028b8: ADD
000028b9: SLT
000028ba: PUSH2 0x042a
000028bd: JUMPI
000028be: PUSH1 0x40
000028c0: MLOAD
000028c1: SWAP1
000028c2: DUP1
000028c3: PUSH1 0x03
000028c5: SLOAD
000028c6: SWAP2
000028c7: PUSH1 0x01
000028c9: DUP4
000028ca: DUP2
000028cb: SHR
000028cc: SWAP3
000028cd: DUP2
000028ce: DUP6
000028cf: AND
000028d0: SWAP5
000028d1: DUP6
000028d2: ISZERO
000028d3: PUSH2 0x2964
000028d6: JUMPI
000028d7: JUMPDEST
000028d8: PUSH1 0x20
000028da: SWAP6
000028db: DUP7
000028dc: DUP7
000028dd: LT
000028de: DUP2
000028df: EQ
000028e0: PUSH2 0x1058
000028e3: JUMPI
000028e4: DUP6
000028e5: DUP9
000028e6: MSTORE
000028e7: DUP8
000028e8: SWAP5
000028e9: SWAP4
000028ea: SWAP3
000028eb: SWAP2
000028ec: DUP8
000028ed: SWAP1
000028ee: DUP3
000028ef: ISZERO
000028f0: PUSH2 0x1036
000028f3: JUMPI
000028f4: POP
000028f5: POP
000028f6: PUSH1 0x01
000028f8: EQ
000028f9: PUSH2 0x290a
000028fc: JUMPI
000028fd: POP
000028fe: POP
000028ff: PUSH2 0x0fc8
00002902: SWAP3
00002903: POP
00002904: SUB
00002905: DUP4
00002906: PUSH2 0x2b9e
00002909: JUMP
0000290a: JUMPDEST
0000290b: SWAP1
0000290c: DUP6
0000290d: SWAP3
0000290e: POP
0000290f: PUSH1 0x03
00002911: DUP3
00002912: MSTORE
00002913: PUSH32 0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b
00002934: JUMPDEST
00002935: DUP6
00002936: DUP4
00002937: LT
00002938: PUSH2 0x294c
0000293b: JUMPI
0000293c: POP
0000293d: POP
0000293e: PUSH2 0x0fc8
00002941: SWAP4
00002942: POP
00002943: DUP3
00002944: ADD
00002945: ADD
00002946: CODESIZE
00002947: DUP1
00002948: PUSH2 0x0fba
0000294b: JUMP
0000294c: JUMPDEST
0000294d: DUP1
0000294e: SLOAD
0000294f: DUP4
00002950: DUP10
00002951: ADD
00002952: DUP6
00002953: ADD
00002954: MSTORE
00002955: DUP8
00002956: SWAP5
00002957: POP
00002958: DUP7
00002959: SWAP4
0000295a: SWAP1
0000295b: SWAP3
0000295c: ADD
0000295d: SWAP2
0000295e: DUP2
0000295f: ADD
00002960: PUSH2 0x2934
00002963: JUMP
00002964: JUMPDEST
00002965: SWAP4
00002966: PUSH1 0x7f
00002968: AND
00002969: SWAP4
0000296a: PUSH2 0x28d7
0000296d: JUMP
0000296e: JUMPDEST
0000296f: SWAP1
00002970: POP
00002971: CALLVALUE
00002972: PUSH2 0x0820
00002975: JUMPI
00002976: PUSH1 0x20
00002978: CALLDATASIZE
00002979: PUSH1 0x03
0000297b: NOT
0000297c: ADD
0000297d: SLT
0000297e: PUSH2 0x0820
00002981: JUMPI
00002982: PUSH1 0x04
00002984: CALLDATALOAD
00002985: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
000029a6: DUP2
000029a7: AND
000029a8: DUP1
000029a9: SWAP2
000029aa: SUB
000029ab: PUSH2 0x0824
000029ae: JUMPI
000029af: PUSH1 0x20
000029b1: SWAP3
000029b2: POP
000029b3: PUSH32 0x80ac58cd00000000000000000000000000000000000000000000000000000000
000029d4: DUP2
000029d5: EQ
000029d6: SWAP1
000029d7: DUP2
000029d8: ISZERO
000029d9: PUSH2 0x2a15
000029dc: JUMPI
000029dd: JUMPDEST
000029de: DUP2
000029df: ISZERO
000029e0: PUSH2 0x29eb
000029e3: JUMPI
000029e4: JUMPDEST
000029e5: POP
000029e6: ISZERO
000029e7: ISZERO
000029e8: DUP2
000029e9: MSTORE
000029ea: RETURN
000029eb: JUMPDEST
000029ec: PUSH32 0x01ffc9a700000000000000000000000000000000000000000000000000000000
00002a0d: SWAP2
00002a0e: POP
00002a0f: EQ
00002a10: CODESIZE
00002a11: PUSH2 0x29e4
00002a14: JUMP
00002a15: JUMPDEST
00002a16: PUSH32 0x5b5e139f00000000000000000000000000000000000000000000000000000000
00002a37: DUP2
00002a38: EQ
00002a39: SWAP2
00002a3a: POP
00002a3b: PUSH2 0x29dd
00002a3e: JUMP
00002a3f: JUMPDEST
00002a40: PUSH1 0x00
00002a42: JUMPDEST
00002a43: DUP4
00002a44: DUP2
00002a45: LT
00002a46: PUSH2 0x2a52
00002a49: JUMPI
00002a4a: POP
00002a4b: POP
00002a4c: PUSH1 0x00
00002a4e: SWAP2
00002a4f: ADD
00002a50: MSTORE
00002a51: JUMP
00002a52: JUMPDEST
00002a53: DUP2
00002a54: DUP2
00002a55: ADD
00002a56: MLOAD
00002a57: DUP4
00002a58: DUP3
00002a59: ADD
00002a5a: MSTORE
00002a5b: PUSH1 0x20
00002a5d: ADD
00002a5e: PUSH2 0x2a42
00002a61: JUMP
00002a62: JUMPDEST
00002a63: SWAP1
00002a64: PUSH1 0x20
00002a66: SWAP2
00002a67: PUSH2 0x2a7b
00002a6a: DUP2
00002a6b: MLOAD
00002a6c: DUP1
00002a6d: SWAP3
00002a6e: DUP2
00002a6f: DUP6
00002a70: MSTORE
00002a71: DUP6
00002a72: DUP1
00002a73: DUP7
00002a74: ADD
00002a75: SWAP2
00002a76: ADD
00002a77: PUSH2 0x2a3f
00002a7a: JUMP
00002a7b: JUMPDEST
00002a7c: PUSH1 0x1f
00002a7e: ADD
00002a7f: PUSH1 0x1f
00002a81: NOT
00002a82: AND
00002a83: ADD
00002a84: ADD
00002a85: SWAP1
00002a86: JUMP
00002a87: JUMPDEST
00002a88: PUSH1 0x04
00002a8a: CALLDATALOAD
00002a8b: SWAP1
00002a8c: PUSH1 0x01
00002a8e: PUSH1 0x01
00002a90: PUSH1 0xa0
00002a92: SHL
00002a93: SUB
00002a94: DUP3
00002a95: AND
00002a96: DUP3
00002a97: SUB
00002a98: PUSH2 0x0e59
00002a9b: JUMPI
00002a9c: JUMP
00002a9d: JUMPDEST
00002a9e: PUSH1 0x24
00002aa0: CALLDATALOAD
00002aa1: SWAP1
00002aa2: PUSH1 0x01
00002aa4: PUSH1 0x01
00002aa6: PUSH1 0xa0
00002aa8: SHL
00002aa9: SUB
00002aaa: DUP3
00002aab: AND
00002aac: DUP3
00002aad: SUB
00002aae: PUSH2 0x0e59
00002ab1: JUMPI
00002ab2: JUMP
00002ab3: JUMPDEST
00002ab4: PUSH1 0x60
00002ab6: SWAP1
00002ab7: PUSH1 0x03
00002ab9: NOT
00002aba: ADD
00002abb: SLT
00002abc: PUSH2 0x0e59
00002abf: JUMPI
00002ac0: PUSH1 0x01
00002ac2: PUSH1 0x01
00002ac4: PUSH1 0xa0
00002ac6: SHL
00002ac7: SUB
00002ac8: SWAP1
00002ac9: PUSH1 0x04
00002acb: CALLDATALOAD
00002acc: DUP3
00002acd: DUP2
00002ace: AND
00002acf: DUP2
00002ad0: SUB
00002ad1: PUSH2 0x0e59
00002ad4: JUMPI
00002ad5: SWAP2
00002ad6: PUSH1 0x24
00002ad8: CALLDATALOAD
00002ad9: SWAP1
00002ada: DUP2
00002adb: AND
00002adc: DUP2
00002add: SUB
00002ade: PUSH2 0x0e59
00002ae1: JUMPI
00002ae2: SWAP1
00002ae3: PUSH1 0x44
00002ae5: CALLDATALOAD
00002ae6: SWAP1
00002ae7: JUMP
00002ae8: JUMPDEST
00002ae9: SWAP2
00002aea: DUP2
00002aeb: PUSH1 0x1f
00002aed: DUP5
00002aee: ADD
00002aef: SLT
00002af0: ISZERO
00002af1: PUSH2 0x0e59
00002af4: JUMPI
00002af5: DUP3
00002af6: CALLDATALOAD
00002af7: SWAP2
00002af8: PUSH8 0xffffffffffffffff
00002b01: DUP4
00002b02: GT
00002b03: PUSH2 0x0e59
00002b06: JUMPI
00002b07: PUSH1 0x20
00002b09: DUP1
00002b0a: DUP6
00002b0b: ADD
00002b0c: SWAP5
00002b0d: DUP5
00002b0e: PUSH1 0x05
00002b10: SHL
00002b11: ADD
00002b12: ADD
00002b13: GT
00002b14: PUSH2 0x0e59
00002b17: JUMPI
00002b18: JUMP
00002b19: JUMPDEST
00002b1a: PUSH1 0xe0
00002b1c: DUP2
00002b1d: ADD
00002b1e: SWAP1
00002b1f: DUP2
00002b20: LT
00002b21: PUSH8 0xffffffffffffffff
00002b2a: DUP3
00002b2b: GT
00002b2c: OR
00002b2d: PUSH2 0x2046
00002b30: JUMPI
00002b31: PUSH1 0x40
00002b33: MSTORE
00002b34: JUMP
00002b35: JUMPDEST
00002b36: PUSH8 0xffffffffffffffff
00002b3f: DUP2
00002b40: GT
00002b41: PUSH2 0x2046
00002b44: JUMPI
00002b45: PUSH1 0x40
00002b47: MSTORE
00002b48: JUMP
00002b49: JUMPDEST
00002b4a: PUSH1 0x60
00002b4c: DUP2
00002b4d: ADD
00002b4e: SWAP1
00002b4f: DUP2
00002b50: LT
00002b51: PUSH8 0xffffffffffffffff
00002b5a: DUP3
00002b5b: GT
00002b5c: OR
00002b5d: PUSH2 0x2046
00002b60: JUMPI
00002b61: PUSH1 0x40
00002b63: MSTORE
00002b64: JUMP
00002b65: JUMPDEST
00002b66: PUSH2 0x0140
00002b69: DUP2
00002b6a: ADD
00002b6b: SWAP1
00002b6c: DUP2
00002b6d: LT
00002b6e: PUSH8 0xffffffffffffffff
00002b77: DUP3
00002b78: GT
00002b79: OR
00002b7a: PUSH2 0x2046
00002b7d: JUMPI
00002b7e: PUSH1 0x40
00002b80: MSTORE
00002b81: JUMP
00002b82: JUMPDEST
00002b83: PUSH1 0x40
00002b85: DUP2
00002b86: ADD
00002b87: SWAP1
00002b88: DUP2
00002b89: LT
00002b8a: PUSH8 0xffffffffffffffff
00002b93: DUP3
00002b94: GT
00002b95: OR
00002b96: PUSH2 0x2046
00002b99: JUMPI
00002b9a: PUSH1 0x40
00002b9c: MSTORE
00002b9d: JUMP
00002b9e: JUMPDEST
00002b9f: SWAP1
00002ba0: PUSH1 0x1f
00002ba2: DUP1
00002ba3: NOT
00002ba4: SWAP2
00002ba5: ADD
00002ba6: AND
00002ba7: DUP2
00002ba8: ADD
00002ba9: SWAP1
00002baa: DUP2
00002bab: LT
00002bac: PUSH8 0xffffffffffffffff
00002bb5: DUP3
00002bb6: GT
00002bb7: OR
00002bb8: PUSH2 0x2046
00002bbb: JUMPI
00002bbc: PUSH1 0x40
00002bbe: MSTORE
00002bbf: JUMP
00002bc0: JUMPDEST
00002bc1: PUSH8 0xffffffffffffffff
00002bca: DUP2
00002bcb: GT
00002bcc: PUSH2 0x2046
00002bcf: JUMPI
00002bd0: PUSH1 0x1f
00002bd2: ADD
00002bd3: PUSH1 0x1f
00002bd5: NOT
00002bd6: AND
00002bd7: PUSH1 0x20
00002bd9: ADD
00002bda: SWAP1
00002bdb: JUMP
00002bdc: JUMPDEST
00002bdd: PUSH1 0x44
00002bdf: CALLDATALOAD
00002be0: SWAP1
00002be1: PUSH1 0x01
00002be3: PUSH1 0x01
00002be5: PUSH1 0x80
00002be7: SHL
00002be8: SUB
00002be9: DUP3
00002bea: AND
00002beb: DUP3
00002bec: SUB
00002bed: PUSH2 0x0e59
00002bf0: JUMPI
00002bf1: JUMP
00002bf2: JUMPDEST
00002bf3: ISZERO
00002bf4: PUSH2 0x2bf9
00002bf7: JUMPI
00002bf8: JUMP
00002bf9: JUMPDEST
00002bfa: PUSH1 0x64
00002bfc: PUSH1 0x40
00002bfe: MLOAD
00002bff: PUSH3 0x461bcd
00002c03: PUSH1 0xe5
00002c05: SHL
00002c06: DUP2
00002c07: MSTORE
00002c08: PUSH1 0x20
00002c0a: PUSH1 0x04
00002c0c: DUP3
00002c0d: ADD
00002c0e: MSTORE
00002c0f: PUSH1 0x18
00002c11: PUSH1 0x24
00002c13: DUP3
00002c14: ADD
00002c15: MSTORE
00002c16: PUSH32 0x4552433732313a20696e76616c696420746f6b656e2049440000000000000000
00002c37: PUSH1 0x44
00002c39: DUP3
00002c3a: ADD
00002c3b: MSTORE
00002c3c: REVERT
00002c3d: JUMPDEST
00002c3e: PUSH1 0x00
00002c40: MSTORE
00002c41: PUSH1 0x05
00002c43: PUSH1 0x20
00002c45: MSTORE
00002c46: PUSH1 0x01
00002c48: PUSH1 0x01
00002c4a: PUSH1 0xa0
00002c4c: SHL
00002c4d: SUB
00002c4e: PUSH1 0x40
00002c50: PUSH1 0x00
00002c52: KECCAK256
00002c53: SLOAD
00002c54: AND
00002c55: PUSH2 0x2c5f
00002c58: DUP2
00002c59: ISZERO
00002c5a: ISZERO
00002c5b: PUSH2 0x2bf2
00002c5e: JUMP
00002c5f: JUMPDEST
00002c60: SWAP1
00002c61: JUMP
00002c62: JUMPDEST
00002c63: PUSH2 0x2c85
00002c66: PUSH2 0x072f
00002c69: DUP3
00002c6a: PUSH1 0x00
00002c6c: MSTORE
00002c6d: PUSH1 0x05
00002c6f: PUSH1 0x20
00002c71: MSTORE
00002c72: PUSH1 0x01
00002c74: PUSH1 0x01
00002c76: PUSH1 0xa0
00002c78: SHL
00002c79: SUB
00002c7a: PUSH1 0x40
00002c7c: PUSH1 0x00
00002c7e: KECCAK256
00002c7f: SLOAD
00002c80: AND
00002c81: ISZERO
00002c82: ISZERO
00002c83: SWAP1
00002c84: JUMP
00002c85: JUMPDEST
00002c86: PUSH1 0x00
00002c88: MSTORE
00002c89: PUSH1 0x07
00002c8b: PUSH1 0x20
00002c8d: MSTORE
00002c8e: PUSH1 0x01
00002c90: PUSH1 0x01
00002c92: PUSH1 0xa0
00002c94: SHL
00002c95: SUB
00002c96: PUSH1 0x40
00002c98: PUSH1 0x00
00002c9a: KECCAK256
00002c9b: SLOAD
00002c9c: AND
00002c9d: SWAP1
00002c9e: JUMP
00002c9f: JUMPDEST
00002ca0: ISZERO
00002ca1: PUSH2 0x2ca6
00002ca4: JUMPI
00002ca5: JUMP
00002ca6: JUMPDEST
00002ca7: PUSH1 0x84
00002ca9: PUSH1 0x40
00002cab: MLOAD
00002cac: PUSH3 0x461bcd
00002cb0: PUSH1 0xe5
00002cb2: SHL
00002cb3: DUP2
00002cb4: MSTORE
00002cb5: PUSH1 0x20
00002cb7: PUSH1 0x04
00002cb9: DUP3
00002cba: ADD
00002cbb: MSTORE
00002cbc: PUSH1 0x2d
00002cbe: PUSH1 0x24
00002cc0: DUP3
00002cc1: ADD
00002cc2: MSTORE
00002cc3: PUSH32 0x4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e65
00002ce4: PUSH1 0x44
00002ce6: DUP3
00002ce7: ADD
00002ce8: MSTORE
00002ce9: PUSH32 0x72206f7220617070726f76656400000000000000000000000000000000000000
00002d0a: PUSH1 0x64
00002d0c: DUP3
00002d0d: ADD
00002d0e: MSTORE
00002d0f: REVERT
00002d10: JUMPDEST
00002d11: SWAP1
00002d12: PUSH2 0x2d34
00002d15: SWAP4
00002d16: SWAP3
00002d17: SWAP2
00002d18: PUSH2 0x2d24
00002d1b: PUSH2 0x24b6
00002d1e: DUP5
00002d1f: CALLER
00002d20: PUSH2 0x2da6
00002d23: JUMP
00002d24: JUMPDEST
00002d25: PUSH2 0x2d2f
00002d28: DUP4
00002d29: DUP4
00002d2a: DUP4
00002d2b: PUSH2 0x2e85
00002d2e: JUMP
00002d2f: JUMPDEST
00002d30: PUSH2 0x2fdc
00002d33: JUMP
00002d34: JUMPDEST
00002d35: ISZERO
00002d36: PUSH2 0x2d3b
00002d39: JUMPI
00002d3a: JUMP
00002d3b: JUMPDEST
00002d3c: PUSH1 0x40
00002d3e: MLOAD
00002d3f: PUSH3 0x461bcd
00002d43: PUSH1 0xe5
00002d45: SHL
00002d46: DUP2
00002d47: MSTORE
00002d48: PUSH1 0x20
00002d4a: PUSH1 0x04
00002d4c: DUP3
00002d4d: ADD
00002d4e: MSTORE
00002d4f: PUSH1 0x32
00002d51: PUSH1 0x24
00002d53: DUP3
00002d54: ADD
00002d55: MSTORE
00002d56: PUSH32 0x4552433732313a207472616e7366657220746f206e6f6e204552433732315265
00002d77: PUSH1 0x44
00002d79: DUP3
00002d7a: ADD
00002d7b: MSTORE
00002d7c: PUSH32 0x63656976657220696d706c656d656e7465720000000000000000000000000000
00002d9d: PUSH1 0x64
00002d9f: DUP3
00002da0: ADD
00002da1: MSTORE
00002da2: PUSH1 0x84
00002da4: SWAP1
00002da5: REVERT
00002da6: JUMPDEST
00002da7: SWAP1
00002da8: PUSH1 0x01
00002daa: PUSH1 0x01
00002dac: PUSH1 0xa0
00002dae: SHL
00002daf: SUB
00002db0: DUP1
00002db1: DUP1
00002db2: PUSH2 0x2dba
00002db5: DUP5
00002db6: PUSH2 0x2c3d
00002db9: JUMP
00002dba: JUMPDEST
00002dbb: AND
00002dbc: SWAP4
00002dbd: AND
00002dbe: SWAP2
00002dbf: DUP4
00002dc0: DUP4
00002dc1: EQ
00002dc2: SWAP4
00002dc3: DUP5
00002dc4: ISZERO
00002dc5: PUSH2 0x2ded
00002dc8: JUMPI
00002dc9: JUMPDEST
00002dca: POP
00002dcb: DUP4
00002dcc: ISZERO
00002dcd: PUSH2 0x2dd7
00002dd0: JUMPI
00002dd1: JUMPDEST
00002dd2: POP
00002dd3: POP
00002dd4: POP
00002dd5: SWAP1
00002dd6: JUMP
00002dd7: JUMPDEST
00002dd8: PUSH2 0x2de3
00002ddb: SWAP2
00002ddc: SWAP3
00002ddd: SWAP4
00002dde: POP
00002ddf: PUSH2 0x2c62
00002de2: JUMP
00002de3: JUMPDEST
00002de4: AND
00002de5: EQ
00002de6: CODESIZE
00002de7: DUP1
00002de8: DUP1
00002de9: PUSH2 0x2dd1
00002dec: JUMP
00002ded: JUMPDEST
00002dee: SWAP1
00002def: SWAP4
00002df0: POP
00002df1: PUSH1 0x00
00002df3: MSTORE
00002df4: PUSH1 0x08
00002df6: PUSH1 0x20
00002df8: MSTORE
00002df9: PUSH1 0x40
00002dfb: PUSH1 0x00
00002dfd: KECCAK256
00002dfe: DUP3
00002dff: PUSH1 0x00
00002e01: MSTORE
00002e02: PUSH1 0x20
00002e04: MSTORE
00002e05: PUSH1 0xff
00002e07: PUSH1 0x40
00002e09: PUSH1 0x00
00002e0b: KECCAK256
00002e0c: SLOAD
00002e0d: AND
00002e0e: SWAP3
00002e0f: CODESIZE
00002e10: PUSH2 0x2dc9
00002e13: JUMP
00002e14: JUMPDEST
00002e15: ISZERO
00002e16: PUSH2 0x2e1b
00002e19: JUMPI
00002e1a: JUMP
00002e1b: JUMPDEST
00002e1c: PUSH1 0x84
00002e1e: PUSH1 0x40
00002e20: MLOAD
00002e21: PUSH3 0x461bcd
00002e25: PUSH1 0xe5
00002e27: SHL
00002e28: DUP2
00002e29: MSTORE
00002e2a: PUSH1 0x20
00002e2c: PUSH1 0x04
00002e2e: DUP3
00002e2f: ADD
00002e30: MSTORE
00002e31: PUSH1 0x25
00002e33: PUSH1 0x24
00002e35: DUP3
00002e36: ADD
00002e37: MSTORE
00002e38: PUSH32 0x4552433732313a207472616e736665722066726f6d20696e636f727265637420
00002e59: PUSH1 0x44
00002e5b: DUP3
00002e5c: ADD
00002e5d: MSTORE
00002e5e: PUSH32 0x6f776e6572000000000000000000000000000000000000000000000000000000
00002e7f: PUSH1 0x64
00002e81: DUP3
00002e82: ADD
00002e83: MSTORE
00002e84: REVERT
00002e85: JUMPDEST
00002e86: SWAP1
00002e87: PUSH2 0x2ead
00002e8a: SWAP2
00002e8b: PUSH2 0x2e93
00002e8e: DUP5
00002e8f: PUSH2 0x2c3d
00002e92: JUMP
00002e93: JUMPDEST
00002e94: SWAP2
00002e95: PUSH1 0x01
00002e97: PUSH1 0x01
00002e99: PUSH1 0xa0
00002e9b: SHL
00002e9c: SUB
00002e9d: SWAP4
00002e9e: DUP5
00002e9f: SWAP4
00002ea0: DUP5
00002ea1: DUP1
00002ea2: SWAP5
00002ea3: AND
00002ea4: SWAP5
00002ea5: DUP6
00002ea6: SWAP2
00002ea7: AND
00002ea8: EQ
00002ea9: PUSH2 0x2e14
00002eac: JUMP
00002ead: JUMPDEST
00002eae: AND
00002eaf: SWAP2
00002eb0: DUP3
00002eb1: ISZERO
00002eb2: PUSH2 0x2f43
00002eb5: JUMPI
00002eb6: DUP2
00002eb7: PUSH2 0x2eca
00002eba: SWAP2
00002ebb: PUSH2 0x2ec3
00002ebe: DUP7
00002ebf: PUSH2 0x2c3d
00002ec2: JUMP
00002ec3: JUMPDEST
00002ec4: AND
00002ec5: EQ
00002ec6: PUSH2 0x2e14
00002ec9: JUMP
00002eca: JUMPDEST
00002ecb: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00002eec: PUSH1 0x00
00002eee: DUP5
00002eef: DUP2
00002ef0: MSTORE
00002ef1: PUSH1 0x07
00002ef3: PUSH1 0x20
00002ef5: MSTORE
00002ef6: PUSH1 0x40
00002ef8: DUP2
00002ef9: KECCAK256
00002efa: PUSH1 0x01
00002efc: PUSH1 0x01
00002efe: PUSH1 0xa0
00002f00: SHL
00002f01: SUB
00002f02: NOT
00002f03: SWAP1
00002f04: DUP2
00002f05: DUP2
00002f06: SLOAD
00002f07: AND
00002f08: SWAP1
00002f09: SSTORE
00002f0a: DUP4
00002f0b: DUP3
00002f0c: MSTORE
00002f0d: PUSH1 0x06
00002f0f: PUSH1 0x20
00002f11: MSTORE
00002f12: PUSH1 0x40
00002f14: DUP3
00002f15: KECCAK256
00002f16: PUSH1 0x00
00002f18: NOT
00002f19: DUP2
00002f1a: SLOAD
00002f1b: ADD
00002f1c: SWAP1
00002f1d: SSTORE
00002f1e: DUP5
00002f1f: DUP3
00002f20: MSTORE
00002f21: PUSH1 0x40
00002f23: DUP3
00002f24: KECCAK256
00002f25: PUSH1 0x01
00002f27: DUP2
00002f28: SLOAD
00002f29: ADD
00002f2a: SWAP1
00002f2b: SSTORE
00002f2c: DUP6
00002f2d: DUP3
00002f2e: MSTORE
00002f2f: PUSH1 0x05
00002f31: PUSH1 0x20
00002f33: MSTORE
00002f34: DUP5
00002f35: PUSH1 0x40
00002f37: DUP4
00002f38: KECCAK256
00002f39: SWAP2
00002f3a: DUP3
00002f3b: SLOAD
00002f3c: AND
00002f3d: OR
00002f3e: SWAP1
00002f3f: SSTORE
00002f40: DUP1
00002f41: LOG4
00002f42: JUMP
00002f43: JUMPDEST
00002f44: PUSH1 0x84
00002f46: PUSH1 0x40
00002f48: MLOAD
00002f49: PUSH3 0x461bcd
00002f4d: PUSH1 0xe5
00002f4f: SHL
00002f50: DUP2
00002f51: MSTORE
00002f52: PUSH1 0x20
00002f54: PUSH1 0x04
00002f56: DUP3
00002f57: ADD
00002f58: MSTORE
00002f59: PUSH1 0x24
00002f5b: DUP1
00002f5c: DUP3
00002f5d: ADD
00002f5e: MSTORE
00002f5f: PUSH32 0x4552433732313a207472616e7366657220746f20746865207a65726f20616464
00002f80: PUSH1 0x44
00002f82: DUP3
00002f83: ADD
00002f84: MSTORE
00002f85: PUSH32 0x7265737300000000000000000000000000000000000000000000000000000000
00002fa6: PUSH1 0x64
00002fa8: DUP3
00002fa9: ADD
00002faa: MSTORE
00002fab: REVERT
00002fac: JUMPDEST
00002fad: RETURNDATASIZE
00002fae: ISZERO
00002faf: PUSH2 0x2fd7
00002fb2: JUMPI
00002fb3: RETURNDATASIZE
00002fb4: SWAP1
00002fb5: PUSH2 0x2fbd
00002fb8: DUP3
00002fb9: PUSH2 0x2bc0
00002fbc: JUMP
00002fbd: JUMPDEST
00002fbe: SWAP2
00002fbf: PUSH2 0x2fcb
00002fc2: PUSH1 0x40
00002fc4: MLOAD
00002fc5: SWAP4
00002fc6: DUP5
00002fc7: PUSH2 0x2b9e
00002fca: JUMP
00002fcb: JUMPDEST
00002fcc: DUP3
00002fcd: MSTORE
00002fce: RETURNDATASIZE
00002fcf: PUSH1 0x00
00002fd1: PUSH1 0x20
00002fd3: DUP5
00002fd4: ADD
00002fd5: RETURNDATACOPY
00002fd6: JUMP
00002fd7: JUMPDEST
00002fd8: PUSH1 0x60
00002fda: SWAP1
00002fdb: JUMP
00002fdc: JUMPDEST
00002fdd: SWAP2
00002fde: SWAP3
00002fdf: PUSH1 0x00
00002fe1: SWAP3
00002fe2: SWAP2
00002fe3: SWAP1
00002fe4: DUP2
00002fe5: EXTCODESIZE
00002fe6: ISZERO
00002fe7: PUSH2 0x3166
00002fea: JUMPI
00002feb: PUSH1 0x20
00002fed: SWAP2
00002fee: PUSH2 0x304c
00002ff1: SWAP2
00002ff2: DUP6
00002ff3: PUSH1 0x40
00002ff5: MLOAD
00002ff6: SWAP6
00002ff7: DUP7
00002ff8: DUP1
00002ff9: SWAP6
00002ffa: DUP2
00002ffb: SWAP5
00002ffc: PUSH32 0x150b7a0200000000000000000000000000000000000000000000000000000000
0000301d: SWAP12
0000301e: DUP13
0000301f: DUP5
00003020: MSTORE
00003021: CALLER
00003022: PUSH1 0x04
00003024: DUP6
00003025: ADD
00003026: MSTORE
00003027: PUSH1 0x01
00003029: PUSH1 0x01
0000302b: PUSH1 0xa0
0000302d: SHL
0000302e: SUB
0000302f: DUP1
00003030: SWAP6
00003031: AND
00003032: PUSH1 0x24
00003034: DUP6
00003035: ADD
00003036: MSTORE
00003037: PUSH1 0x44
00003039: DUP5
0000303a: ADD
0000303b: MSTORE
0000303c: PUSH1 0x80
0000303e: PUSH1 0x64
00003040: DUP5
00003041: ADD
00003042: MSTORE
00003043: PUSH1 0x84
00003045: DUP4
00003046: ADD
00003047: SWAP1
00003048: PUSH2 0x2a62
0000304b: JUMP
0000304c: JUMPDEST
0000304d: SUB
0000304e: SWAP4
0000304f: AND
00003050: GAS
00003051: CALL
00003052: SWAP1
00003053: DUP3
00003054: SWAP1
00003055: DUP3
00003056: PUSH2 0x3106
00003059: JUMPI
0000305a: JUMPDEST
0000305b: POP
0000305c: POP
0000305d: PUSH2 0x30e0
00003060: JUMPI
00003061: PUSH2 0x3068
00003064: PUSH2 0x2fac
00003067: JUMP
00003068: JUMPDEST
00003069: DUP1
0000306a: MLOAD
0000306b: SWAP1
0000306c: DUP2
0000306d: PUSH2 0x30db
00003070: JUMPI
00003071: PUSH1 0x40
00003073: MLOAD
00003074: PUSH3 0x461bcd
00003078: PUSH1 0xe5
0000307a: SHL
0000307b: DUP2
0000307c: MSTORE
0000307d: PUSH1 0x20
0000307f: PUSH1 0x04
00003081: DUP3
00003082: ADD
00003083: MSTORE
00003084: PUSH1 0x32
00003086: PUSH1 0x24
00003088: DUP3
00003089: ADD
0000308a: MSTORE
0000308b: PUSH32 0x4552433732313a207472616e7366657220746f206e6f6e204552433732315265
000030ac: PUSH1 0x44
000030ae: DUP3
000030af: ADD
000030b0: MSTORE
000030b1: PUSH32 0x63656976657220696d706c656d656e7465720000000000000000000000000000
000030d2: PUSH1 0x64
000030d4: DUP3
000030d5: ADD
000030d6: MSTORE
000030d7: PUSH1 0x84
000030d9: SWAP1
000030da: REVERT
000030db: JUMPDEST
000030dc: PUSH1 0x20
000030de: ADD
000030df: REVERT
000030e0: JUMPDEST
000030e1: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
00003102: AND
00003103: EQ
00003104: SWAP1
00003105: JUMP
00003106: JUMPDEST
00003107: SWAP1
00003108: SWAP2
00003109: SWAP3
0000310a: POP
0000310b: PUSH1 0x20
0000310d: DUP2
0000310e: RETURNDATASIZE
0000310f: DUP3
00003110: GT
00003111: PUSH2 0x315e
00003114: JUMPI
00003115: JUMPDEST
00003116: DUP2
00003117: PUSH2 0x3122
0000311a: PUSH1 0x20
0000311c: SWAP4
0000311d: DUP4
0000311e: PUSH2 0x2b9e
00003121: JUMP
00003122: JUMPDEST
00003123: DUP2
00003124: ADD
00003125: SUB
00003126: SLT
00003127: PUSH2 0x0820
0000312a: JUMPI
0000312b: MLOAD
0000312c: SWAP1
0000312d: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
0000314e: DUP3
0000314f: AND
00003150: DUP3
00003151: SUB
00003152: PUSH2 0x042a
00003155: JUMPI
00003156: POP
00003157: SWAP1
00003158: CODESIZE
00003159: DUP1
0000315a: PUSH2 0x305a
0000315d: JUMP
0000315e: JUMPDEST
0000315f: RETURNDATASIZE
00003160: SWAP2
00003161: POP
00003162: PUSH2 0x3115
00003165: JUMP
00003166: JUMPDEST
00003167: POP
00003168: POP
00003169: POP
0000316a: POP
0000316b: POP
0000316c: PUSH1 0x01
0000316e: SWAP1
0000316f: JUMP
00003170: JUMPDEST
00003171: PUSH1 0x40
00003173: MLOAD
00003174: SWAP1
00003175: PUSH2 0x317d
00003178: DUP3
00003179: PUSH2 0x2b49
0000317c: JUMP
0000317d: JUMPDEST
0000317e: PUSH1 0x00
00003180: PUSH1 0x40
00003182: DUP4
00003183: DUP3
00003184: DUP2
00003185: MSTORE
00003186: DUP3
00003187: PUSH1 0x20
00003189: DUP3
0000318a: ADD
0000318b: MSTORE
0000318c: ADD
0000318d: MSTORE
0000318e: JUMP
0000318f: JUMPDEST
00003190: SWAP1
00003191: PUSH1 0x40
00003193: MLOAD
00003194: PUSH2 0x319c
00003197: DUP2
00003198: PUSH2 0x2b49
0000319b: JUMP
0000319c: JUMPDEST
0000319d: PUSH1 0x40
0000319f: DUP2
000031a0: SWAP4
000031a1: PUSH1 0x01
000031a3: DUP2
000031a4: SLOAD
000031a5: SWAP2
000031a6: PUSH1 0x01
000031a8: PUSH1 0x01
000031aa: PUSH1 0x80
000031ac: SHL
000031ad: SUB
000031ae: SWAP3
000031af: DUP4
000031b0: DUP2
000031b1: AND
000031b2: DUP7
000031b3: MSTORE
000031b4: PUSH1 0x80
000031b6: SHR
000031b7: PUSH1 0x20
000031b9: DUP7
000031ba: ADD
000031bb: MSTORE
000031bc: ADD
000031bd: SLOAD
000031be: AND
000031bf: SWAP2
000031c0: ADD
000031c1: MSTORE
000031c2: JUMP
000031c3: JUMPDEST
000031c4: DUP1
000031c5: PUSH1 0x00
000031c7: MSTORE
000031c8: PUSH1 0x0b
000031ca: PUSH1 0x20
000031cc: MSTORE
000031cd: PUSH1 0xff
000031cf: PUSH1 0x01
000031d1: PUSH1 0x40
000031d3: PUSH1 0x00
000031d5: KECCAK256
000031d6: ADD
000031d7: SLOAD
000031d8: PUSH1 0xd0
000031da: SHR
000031db: AND
000031dc: ISZERO
000031dd: PUSH2 0x04ce
000031e0: JUMPI
000031e1: PUSH1 0x00
000031e3: MSTORE
000031e4: PUSH1 0x0b
000031e6: PUSH1 0x20
000031e8: MSTORE
000031e9: PUSH1 0xff
000031eb: PUSH1 0x01
000031ed: PUSH1 0x40
000031ef: PUSH1 0x00
000031f1: KECCAK256
000031f2: ADD
000031f3: SLOAD
000031f4: PUSH1 0xc8
000031f6: SHR
000031f7: AND
000031f8: SWAP1
000031f9: JUMP
000031fa: JUMPDEST
000031fb: PUSH1 0x01
000031fd: PUSH1 0x01
000031ff: PUSH1 0x80
00003201: SHL
00003202: SUB
00003203: SWAP2
00003204: DUP3
00003205: AND
00003206: SWAP1
00003207: DUP3
00003208: AND
00003209: SUB
0000320a: SWAP2
0000320b: SWAP1
0000320c: DUP3
0000320d: GT
0000320e: PUSH2 0x3213
00003211: JUMPI
00003212: JUMP
00003213: JUMPDEST
00003214: PUSH4 0x4e487b71
00003219: PUSH1 0xe0
0000321b: SHL
0000321c: PUSH1 0x00
0000321e: MSTORE
0000321f: PUSH1 0x11
00003221: PUSH1 0x04
00003223: MSTORE
00003224: PUSH1 0x24
00003226: PUSH1 0x00
00003228: REVERT
00003229: JUMPDEST
0000322a: DUP1
0000322b: PUSH1 0x00
0000322d: MSTORE
0000322e: PUSH1 0x0b
00003230: PUSH1 0x20
00003232: MSTORE
00003233: PUSH1 0xff
00003235: PUSH1 0x01
00003237: PUSH1 0x40
00003239: PUSH1 0x00
0000323b: KECCAK256
0000323c: ADD
0000323d: SLOAD
0000323e: PUSH1 0xd0
00003240: SHR
00003241: AND
00003242: ISZERO
00003243: PUSH2 0x04ce
00003246: JUMPI
00003247: PUSH1 0x00
00003249: MSTORE
0000324a: PUSH1 0x0b
0000324c: PUSH1 0x20
0000324e: MSTORE
0000324f: PUSH1 0x40
00003251: PUSH1 0x00
00003253: KECCAK256
00003254: SLOAD
00003255: PUSH1 0xf8
00003257: SHR
00003258: SWAP1
00003259: JUMP
0000325a: JUMPDEST
0000325b: PUSH1 0x00
0000325d: SWAP1
0000325e: DUP1
0000325f: DUP3
00003260: MSTORE
00003261: PUSH1 0x0b
00003263: PUSH1 0x20
00003265: MSTORE
00003266: PUSH1 0x40
00003268: DUP3
00003269: KECCAK256
0000326a: SWAP2
0000326b: DUP3
0000326c: SLOAD
0000326d: PUSH5 0xffffffffff
00003273: TIMESTAMP
00003274: DUP2
00003275: DUP4
00003276: PUSH1 0xc8
00003278: SHR
00003279: AND
0000327a: GT
0000327b: PUSH2 0x3308
0000327e: JUMPI
0000327f: DUP1
00003280: PUSH1 0x01
00003282: DUP7
00003283: ADD
00003284: SLOAD
00003285: PUSH1 0xa0
00003287: SHR
00003288: AND
00003289: SWAP2
0000328a: DUP3
0000328b: TIMESTAMP
0000328c: LT
0000328d: ISZERO
0000328e: PUSH2 0x32f2
00003291: JUMPI
00003292: PUSH2 0x32a7
00003295: SWAP4
00003296: SWAP5
00003297: SWAP6
00003298: POP
00003299: PUSH1 0xa0
0000329b: SHR
0000329c: AND
0000329d: DUP1
0000329e: SWAP2
0000329f: SUB
000032a0: SWAP1
000032a1: TIMESTAMP
000032a2: SUB
000032a3: PUSH2 0x3310
000032a6: JUMP
000032a7: JUMPDEST
000032a8: SWAP1
000032a9: DUP3
000032aa: DUP2
000032ab: MSTORE
000032ac: PUSH1 0x0b
000032ae: PUSH1 0x20
000032b0: MSTORE
000032b1: PUSH1 0x01
000032b3: PUSH1 0x01
000032b5: PUSH1 0x80
000032b7: SHL
000032b8: SUB
000032b9: SWAP3
000032ba: PUSH2 0x32cd
000032bd: DUP5
000032be: PUSH1 0x02
000032c0: PUSH1 0x40
000032c2: DUP6
000032c3: KECCAK256
000032c4: ADD
000032c5: SLOAD
000032c6: AND
000032c7: DUP1
000032c8: SWAP5
000032c9: PUSH2 0x33f0
000032cc: JUMP
000032cd: JUMPDEST
000032ce: SWAP3
000032cf: DUP4
000032d0: GT
000032d1: PUSH2 0x32da
000032d4: JUMPI
000032d5: POP
000032d6: POP
000032d7: AND
000032d8: SWAP1
000032d9: JUMP
000032da: JUMPDEST
000032db: PUSH1 0x02
000032dd: SWAP4
000032de: POP
000032df: PUSH1 0x40
000032e1: SWAP3
000032e2: POP
000032e3: DUP2
000032e4: MSTORE
000032e5: PUSH1 0x0b
000032e7: PUSH1 0x20
000032e9: MSTORE
000032ea: KECCAK256
000032eb: ADD
000032ec: SLOAD
000032ed: PUSH1 0x80
000032ef: SHR
000032f0: SWAP1
000032f1: JUMP
000032f2: JUMPDEST
000032f3: POP
000032f4: POP
000032f5: POP
000032f6: POP
000032f7: POP
000032f8: PUSH1 0x02
000032fa: PUSH1 0x01
000032fc: PUSH1 0x01
000032fe: PUSH1 0x80
00003300: SHL
00003301: SUB
00003302: SWAP2
00003303: ADD
00003304: SLOAD
00003305: AND
00003306: SWAP1
00003307: JUMP
00003308: JUMPDEST
00003309: POP
0000330a: POP
0000330b: SWAP2
0000330c: POP
0000330d: POP
0000330e: SWAP1
0000330f: JUMP
00003310: JUMPDEST
00003311: PUSH8 0x0de0b6b3a7640000
0000331a: SWAP2
0000331b: PUSH1 0x00
0000331d: NOT
0000331e: DUP4
0000331f: DUP4
00003320: MULMOD
00003321: SWAP3
00003322: DUP1
00003323: DUP4
00003324: MUL
00003325: SWAP3
00003326: DUP4
00003327: DUP1
00003328: DUP7
00003329: LT
0000332a: SWAP6
0000332b: SUB
0000332c: SWAP5
0000332d: DUP1
0000332e: DUP7
0000332f: SUB
00003330: SWAP6
00003331: EQ
00003332: PUSH2 0x33cc
00003335: JUMPI
00003336: DUP3
00003337: DUP6
00003338: LT
00003339: ISZERO
0000333a: PUSH2 0x3390
0000333d: JUMPI
0000333e: SWAP1
0000333f: DUP3
00003340: SWAP2
00003341: MULMOD
00003342: PUSH1 0x01
00003344: DUP3
00003345: NOT
00003346: ADD
00003347: DUP3
00003348: AND
00003349: DUP1
0000334a: SWAP3
0000334b: DIV
0000334c: PUSH1 0x02
0000334e: DUP1
0000334f: DUP3
00003350: PUSH1 0x03
00003352: MUL
00003353: XOR
00003354: DUP1
00003355: DUP4
00003356: MUL
00003357: DUP3
00003358: SUB
00003359: MUL
0000335a: DUP1
0000335b: DUP4
0000335c: MUL
0000335d: DUP3
0000335e: SUB
0000335f: MUL
00003360: DUP1
00003361: DUP4
00003362: MUL
00003363: DUP3
00003364: SUB
00003365: MUL
00003366: DUP1
00003367: DUP4
00003368: MUL
00003369: DUP3
0000336a: SUB
0000336b: MUL
0000336c: DUP1
0000336d: DUP4
0000336e: MUL
0000336f: DUP3
00003370: SUB
00003371: MUL
00003372: DUP1
00003373: SWAP3
00003374: MUL
00003375: SWAP1
00003376: SUB
00003377: MUL
00003378: SWAP4
00003379: PUSH1 0x01
0000337b: DUP4
0000337c: DUP1
0000337d: PUSH1 0x00
0000337f: SUB
00003380: DIV
00003381: ADD
00003382: SWAP1
00003383: DUP5
00003384: DUP4
00003385: GT
00003386: SWAP1
00003387: SUB
00003388: MUL
00003389: SWAP3
0000338a: SUB
0000338b: DIV
0000338c: OR
0000338d: MUL
0000338e: SWAP1
0000338f: JUMP
00003390: JUMPDEST
00003391: DUP3
00003392: PUSH1 0x64
00003394: SWAP3
00003395: PUSH1 0x40
00003397: MLOAD
00003398: SWAP3
00003399: PUSH32 0x63a0577800000000000000000000000000000000000000000000000000000000
000033ba: DUP5
000033bb: MSTORE
000033bc: PUSH1 0x04
000033be: DUP5
000033bf: ADD
000033c0: MSTORE
000033c1: PUSH1 0x24
000033c3: DUP4
000033c4: ADD
000033c5: MSTORE
000033c6: PUSH1 0x44
000033c8: DUP3
000033c9: ADD
000033ca: MSTORE
000033cb: REVERT
000033cc: JUMPDEST
000033cd: POP
000033ce: POP
000033cf: DUP1
000033d0: SWAP3
000033d1: POP
000033d2: ISZERO
000033d3: PUSH2 0x33da
000033d6: JUMPI
000033d7: DIV
000033d8: SWAP1
000033d9: JUMP
000033da: JUMPDEST
000033db: PUSH4 0x4e487b71
000033e0: PUSH1 0xe0
000033e2: SHL
000033e3: PUSH1 0x00
000033e5: MSTORE
000033e6: PUSH1 0x12
000033e8: PUSH1 0x04
000033ea: MSTORE
000033eb: PUSH1 0x24
000033ed: PUSH1 0x00
000033ef: REVERT
000033f0: JUMPDEST
000033f1: SWAP1
000033f2: SWAP2
000033f3: SWAP1
000033f4: PUSH1 0x00
000033f6: NOT
000033f7: DUP4
000033f8: DUP3
000033f9: MULMOD
000033fa: DUP4
000033fb: DUP3
000033fc: MUL
000033fd: SWAP2
000033fe: DUP3
000033ff: DUP1
00003400: DUP4
00003401: LT
00003402: SWAP3
00003403: SUB
00003404: SWAP2
00003405: DUP1
00003406: DUP4
00003407: SUB
00003408: SWAP3
00003409: EQ
0000340a: PUSH2 0x348e
0000340d: JUMPI
0000340e: PUSH8 0x0de0b6b3a7640000
00003417: SWAP1
00003418: DUP2
00003419: DUP4
0000341a: LT
0000341b: ISZERO
0000341c: PUSH2 0x3457
0000341f: JUMPI
00003420: SWAP5
00003421: PUSH32 0xaccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac10669
00003442: SWAP5
00003443: SWAP6
00003444: MULMOD
00003445: SWAP1
00003446: DUP3
00003447: DUP3
00003448: GT
00003449: SWAP1
0000344a: SUB
0000344b: PUSH1 0xee
0000344d: SHL
0000344e: SWAP2
0000344f: SUB
00003450: PUSH1 0x12
00003452: SHR
00003453: OR
00003454: MUL
00003455: SWAP1
00003456: JUMP
00003457: JUMPDEST
00003458: PUSH1 0x44
0000345a: SWAP1
0000345b: DUP7
0000345c: PUSH1 0x40
0000345e: MLOAD
0000345f: SWAP2
00003460: PUSH32 0x5173648d00000000000000000000000000000000000000000000000000000000
00003481: DUP4
00003482: MSTORE
00003483: PUSH1 0x04
00003485: DUP4
00003486: ADD
00003487: MSTORE
00003488: PUSH1 0x24
0000348a: DUP3
0000348b: ADD
0000348c: MSTORE
0000348d: REVERT
0000348e: JUMPDEST
0000348f: POP
00003490: POP
00003491: PUSH8 0x0de0b6b3a7640000
0000349a: SWAP1
0000349b: DIV
0000349c: SWAP2
0000349d: POP
0000349e: JUMP
0000349f: JUMPDEST
000034a0: DUP1
000034a1: PUSH1 0x00
000034a3: MSTORE
000034a4: PUSH1 0x0b
000034a6: PUSH1 0x20
000034a8: MSTORE
000034a9: PUSH1 0x40
000034ab: PUSH1 0x00
000034ad: KECCAK256
000034ae: PUSH1 0xff
000034b0: PUSH1 0x01
000034b2: DUP3
000034b3: ADD
000034b4: SLOAD
000034b5: PUSH1 0xc8
000034b7: SHR
000034b8: AND
000034b9: PUSH1 0x00
000034bb: EQ
000034bc: PUSH2 0x34c6
000034bf: JUMPI
000034c0: POP
000034c1: POP
000034c2: PUSH1 0x04
000034c4: SWAP1
000034c5: JUMP
000034c6: JUMPDEST
000034c7: DUP1
000034c8: SLOAD
000034c9: PUSH1 0xf8
000034cb: SHR
000034cc: PUSH2 0x351f
000034cf: JUMPI
000034d0: SLOAD
000034d1: PUSH1 0xa0
000034d3: SHR
000034d4: PUSH5 0xffffffffff
000034da: AND
000034db: TIMESTAMP
000034dc: LT
000034dd: PUSH2 0x3519
000034e0: JUMPI
000034e1: PUSH2 0x34e9
000034e4: DUP2
000034e5: PUSH2 0x325a
000034e8: JUMP
000034e9: JUMPDEST
000034ea: SWAP1
000034eb: PUSH1 0x00
000034ed: MSTORE
000034ee: PUSH1 0x0b
000034f0: PUSH1 0x20
000034f2: MSTORE
000034f3: PUSH1 0x01
000034f5: PUSH1 0x01
000034f7: PUSH1 0x80
000034f9: SHL
000034fa: SUB
000034fb: DUP1
000034fc: PUSH1 0x02
000034fe: PUSH1 0x40
00003500: PUSH1 0x00
00003502: KECCAK256
00003503: ADD
00003504: SLOAD
00003505: AND
00003506: SWAP2
00003507: AND
00003508: LT
00003509: PUSH1 0x00
0000350b: EQ
0000350c: PUSH2 0x3514
0000350f: JUMPI
00003510: PUSH1 0x01
00003512: SWAP1
00003513: JUMP
00003514: JUMPDEST
00003515: PUSH1 0x02
00003517: SWAP1
00003518: JUMP
00003519: JUMPDEST
0000351a: POP
0000351b: PUSH1 0x00
0000351d: SWAP1
0000351e: JUMP
0000351f: JUMPDEST
00003520: POP
00003521: POP
00003522: PUSH1 0x03
00003524: SWAP1
00003525: JUMP
00003526: JUMPDEST
00003527: DUP1
00003528: PUSH1 0x00
0000352a: MSTORE
0000352b: PUSH1 0x0b
0000352d: PUSH1 0x20
0000352f: MSTORE
00003530: PUSH2 0x353f
00003533: PUSH1 0x02
00003535: PUSH1 0x40
00003537: PUSH1 0x00
00003539: KECCAK256
0000353a: ADD
0000353b: PUSH2 0x318f
0000353e: JUMP
0000353f: JUMPDEST
00003540: DUP2
00003541: PUSH1 0x00
00003543: MSTORE
00003544: PUSH1 0x0b
00003546: PUSH1 0x20
00003548: MSTORE
00003549: PUSH1 0x40
0000354b: PUSH1 0x00
0000354d: KECCAK256
0000354e: PUSH1 0xff
00003550: PUSH1 0x01
00003552: DUP3
00003553: ADD
00003554: SLOAD
00003555: PUSH1 0xc8
00003557: SHR
00003558: AND
00003559: PUSH1 0x00
0000355b: EQ
0000355c: PUSH2 0x3572
0000355f: JUMPI
00003560: POP
00003561: PUSH1 0x01
00003563: PUSH1 0x01
00003565: PUSH1 0x80
00003567: SHL
00003568: SUB
00003569: SWAP2
0000356a: POP
0000356b: PUSH1 0x20
0000356d: ADD
0000356e: MLOAD
0000356f: AND
00003570: SWAP1
00003571: JUMP
00003572: JUMPDEST
00003573: SLOAD
00003574: PUSH1 0xf8
00003576: SHR
00003577: PUSH2 0x3584
0000357a: JUMPI
0000357b: POP
0000357c: PUSH2 0x2c5f
0000357f: SWAP1
00003580: PUSH2 0x325a
00003583: JUMP
00003584: JUMPDEST
00003585: PUSH2 0x2c5f
00003588: SWAP2
00003589: POP
0000358a: PUSH1 0x01
0000358c: PUSH1 0x01
0000358e: PUSH1 0x80
00003590: SHL
00003591: SUB
00003592: PUSH1 0x40
00003594: DUP2
00003595: DUP4
00003596: MLOAD
00003597: AND
00003598: SWAP3
00003599: ADD
0000359a: MLOAD
0000359b: AND
0000359c: SWAP1
0000359d: PUSH2 0x31fa
000035a0: JUMP
000035a1: JUMPDEST
000035a2: SWAP1
000035a3: PUSH1 0x01
000035a5: PUSH1 0x01
000035a7: PUSH1 0xa0
000035a9: SHL
000035aa: SUB
000035ab: PUSH1 0x01
000035ad: SLOAD
000035ae: AND
000035af: PUSH1 0x20
000035b1: PUSH1 0x01
000035b3: PUSH1 0x01
000035b5: PUSH1 0xa0
000035b7: SHL
000035b8: SUB
000035b9: PUSH1 0x60
000035bb: DUP6
000035bc: ADD
000035bd: MLOAD
000035be: AND
000035bf: PUSH1 0x24
000035c1: PUSH1 0x40
000035c3: MLOAD
000035c4: DUP1
000035c5: SWAP5
000035c6: DUP2
000035c7: SWAP4
000035c8: PUSH32 0xdcf844a700000000000000000000000000000000000000000000000000000000
000035e9: DUP4
000035ea: MSTORE
000035eb: PUSH1 0x04
000035ed: DUP4
000035ee: ADD
000035ef: MSTORE
000035f0: GAS
000035f1: STATICCALL
000035f2: DUP1
000035f3: ISZERO
000035f4: PUSH2 0x3d2b
000035f7: JUMPI
000035f8: PUSH1 0x00
000035fa: SWAP1
000035fb: PUSH2 0x3cf7
000035fe: JUMPI
000035ff: JUMPDEST
00003600: PUSH2 0x3622
00003603: SWAP2
00003604: POP
00003605: PUSH1 0x01
00003607: PUSH1 0x01
00003609: PUSH1 0x80
0000360b: SHL
0000360c: SUB
0000360d: PUSH1 0x40
0000360f: DUP6
00003610: ADD
00003611: MLOAD
00003612: AND
00003613: SWAP1
00003614: PUSH1 0x20
00003616: PUSH1 0xc0
00003618: DUP7
00003619: ADD
0000361a: MLOAD
0000361b: ADD
0000361c: MLOAD
0000361d: SWAP2
0000361e: PUSH2 0x4350
00003621: JUMP
00003622: JUMPDEST
00003623: SWAP2
00003624: PUSH1 0x01
00003626: PUSH1 0x01
00003628: PUSH1 0x80
0000362a: SHL
0000362b: SUB
0000362c: DUP4
0000362d: MLOAD
0000362e: AND
0000362f: PUSH1 0xa0
00003631: DUP3
00003632: ADD
00003633: MLOAD
00003634: SWAP1
00003635: ISZERO
00003636: PUSH2 0x3ccd
00003639: JUMPI
0000363a: PUSH5 0xffffffffff
00003640: DUP2
00003641: MLOAD
00003642: AND
00003643: PUSH1 0x20
00003645: DUP3
00003646: ADD
00003647: SWAP1
00003648: PUSH5 0xffffffffff
0000364e: DUP3
0000364f: MLOAD
00003650: AND
00003651: SWAP1
00003652: DUP2
00003653: DUP2
00003654: GT
00003655: PUSH2 0x3c8d
00003658: JUMPI
00003659: POP
0000365a: POP
0000365b: PUSH5 0xffffffffff
00003661: PUSH1 0x40
00003663: SWAP2
00003664: MLOAD
00003665: AND
00003666: SWAP2
00003667: ADD
00003668: SWAP1
00003669: PUSH5 0xffffffffff
0000366f: DUP3
00003670: MLOAD
00003671: AND
00003672: SWAP1
00003673: DUP2
00003674: DUP2
00003675: LT
00003676: ISZERO
00003677: PUSH2 0x3c4d
0000367a: JUMPI
0000367b: POP
0000367c: POP
0000367d: PUSH5 0xffffffffff
00003683: DUP1
00003684: TIMESTAMP
00003685: AND
00003686: SWAP2
00003687: MLOAD
00003688: AND
00003689: SWAP1
0000368a: DUP2
0000368b: DUP2
0000368c: LT
0000368d: ISZERO
0000368e: PUSH2 0x3c0d
00003691: JUMPI
00003692: POP
00003693: POP
00003694: PUSH1 0x09
00003696: SLOAD
00003697: SWAP3
00003698: PUSH1 0x01
0000369a: PUSH1 0x01
0000369c: PUSH1 0x80
0000369e: SHL
0000369f: SUB
000036a0: DUP2
000036a1: MLOAD
000036a2: AND
000036a3: PUSH1 0x40
000036a5: MLOAD
000036a6: SWAP1
000036a7: PUSH2 0x36af
000036aa: DUP3
000036ab: PUSH2 0x2b49
000036ae: JUMP
000036af: JUMPDEST
000036b0: DUP2
000036b1: MSTORE
000036b2: PUSH1 0x00
000036b4: PUSH1 0x20
000036b6: DUP3
000036b7: ADD
000036b8: MSTORE
000036b9: PUSH1 0x00
000036bb: PUSH1 0x40
000036bd: DUP3
000036be: ADD
000036bf: MSTORE
000036c0: PUSH1 0x01
000036c2: PUSH1 0x01
000036c4: PUSH1 0xa0
000036c6: SHL
000036c7: SUB
000036c8: PUSH1 0x60
000036ca: DUP5
000036cb: ADD
000036cc: MLOAD
000036cd: AND
000036ce: SWAP1
000036cf: PUSH1 0xa0
000036d1: DUP5
000036d2: ADD
000036d3: MLOAD
000036d4: SWAP2
000036d5: PUSH5 0xffffffffff
000036db: PUSH1 0x20
000036dd: DUP5
000036de: ADD
000036df: MLOAD
000036e0: AND
000036e1: SWAP1
000036e2: PUSH5 0xffffffffff
000036e8: PUSH1 0x40
000036ea: DUP6
000036eb: ADD
000036ec: MLOAD
000036ed: AND
000036ee: SWAP2
000036ef: PUSH1 0x80
000036f1: DUP8
000036f2: ADD
000036f3: MLOAD
000036f4: ISZERO
000036f5: ISZERO
000036f6: SWAP1
000036f7: PUSH5 0xffffffffff
000036fd: PUSH1 0x01
000036ff: PUSH1 0x01
00003701: PUSH1 0xa0
00003703: SHL
00003704: SUB
00003705: DUP10
00003706: MLOAD
00003707: AND
00003708: SWAP7
00003709: MLOAD
0000370a: AND
0000370b: PUSH1 0x40
0000370d: MLOAD
0000370e: SWAP7
0000370f: PUSH2 0x3717
00003712: DUP9
00003713: PUSH2 0x2b65
00003716: JUMP
00003717: JUMPDEST
00003718: DUP8
00003719: MSTORE
0000371a: PUSH1 0x20
0000371c: DUP8
0000371d: ADD
0000371e: MSTORE
0000371f: PUSH1 0x40
00003721: DUP7
00003722: ADD
00003723: MSTORE
00003724: PUSH1 0x60
00003726: DUP6
00003727: ADD
00003728: MSTORE
00003729: PUSH1 0x00
0000372b: PUSH1 0x80
0000372d: DUP6
0000372e: ADD
0000372f: MSTORE
00003730: PUSH1 0xa0
00003732: DUP5
00003733: ADD
00003734: MSTORE
00003735: PUSH1 0xc0
00003737: DUP4
00003738: ADD
00003739: MSTORE
0000373a: PUSH1 0x00
0000373c: PUSH1 0xe0
0000373e: DUP4
0000373f: ADD
00003740: MSTORE
00003741: PUSH1 0x01
00003743: PUSH2 0x0100
00003746: DUP4
00003747: ADD
00003748: MSTORE
00003749: PUSH2 0x0120
0000374c: DUP3
0000374d: ADD
0000374e: MSTORE
0000374f: DUP5
00003750: PUSH1 0x00
00003752: MSTORE
00003753: PUSH1 0x0b
00003755: PUSH1 0x20
00003757: MSTORE
00003758: PUSH1 0x40
0000375a: PUSH1 0x00
0000375c: KECCAK256
0000375d: PUSH1 0x01
0000375f: PUSH1 0x01
00003761: PUSH1 0xa0
00003763: SHL
00003764: SUB
00003765: DUP3
00003766: MLOAD
00003767: AND
00003768: PUSH1 0x01
0000376a: PUSH1 0x01
0000376c: PUSH1 0xa0
0000376e: SHL
0000376f: SUB
00003770: NOT
00003771: DUP3
00003772: SLOAD
00003773: AND
00003774: OR
00003775: DUP2
00003776: SSTORE
00003777: PUSH2 0x37a8
0000377a: PUSH5 0xffffffffff
00003780: PUSH1 0x20
00003782: DUP5
00003783: ADD
00003784: MLOAD
00003785: AND
00003786: DUP3
00003787: SWAP1
00003788: PUSH5 0xffffffffff
0000378e: PUSH1 0xa0
00003790: SHL
00003791: NOT
00003792: PUSH5 0xffffffffff
00003798: PUSH1 0xa0
0000379a: SHL
0000379b: DUP4
0000379c: SLOAD
0000379d: SWAP3
0000379e: PUSH1 0xa0
000037a0: SHL
000037a1: AND
000037a2: SWAP2
000037a3: AND
000037a4: OR
000037a5: SWAP1
000037a6: SSTORE
000037a7: JUMP
000037a8: JUMPDEST
000037a9: PUSH1 0x40
000037ab: DUP3
000037ac: ADD
000037ad: MLOAD
000037ae: DUP2
000037af: SLOAD
000037b0: PUSH31 0xff000000000000000000000000000000000000000000000000000000000000
000037d0: PUSH1 0x60
000037d2: DUP6
000037d3: ADD
000037d4: MLOAD
000037d5: ISZERO
000037d6: ISZERO
000037d7: PUSH1 0xf0
000037d9: SHL
000037da: AND
000037db: SWAP1
000037dc: PUSH25 0xffffffffffffffffffffffffffffffffffffffffffffffffff
000037f6: PUSH30 0xffffffffff00000000000000000000000000000000000000000000000000
00003815: PUSH32 0xff00000000000000000000000000000000000000000000000000000000000000
00003836: PUSH1 0x80
00003838: DUP9
00003839: ADD
0000383a: MLOAD
0000383b: ISZERO
0000383c: ISZERO
0000383d: PUSH1 0xf8
0000383f: SHL
00003840: AND
00003841: SWAP5
00003842: PUSH1 0xc8
00003844: SHL
00003845: AND
00003846: SWAP2
00003847: AND
00003848: OR
00003849: OR
0000384a: OR
0000384b: DUP2
0000384c: SSTORE
0000384d: PUSH1 0x01
0000384f: DUP2
00003850: ADD
00003851: PUSH1 0x01
00003853: PUSH1 0x01
00003855: PUSH1 0xa0
00003857: SHL
00003858: SUB
00003859: PUSH1 0xa0
0000385b: DUP5
0000385c: ADD
0000385d: MLOAD
0000385e: AND
0000385f: PUSH1 0x01
00003861: PUSH1 0x01
00003863: PUSH1 0xa0
00003865: SHL
00003866: SUB
00003867: NOT
00003868: DUP3
00003869: SLOAD
0000386a: AND
0000386b: OR
0000386c: DUP2
0000386d: SSTORE
0000386e: PUSH2 0x389f
00003871: PUSH5 0xffffffffff
00003877: PUSH1 0xc0
00003879: DUP6
0000387a: ADD
0000387b: MLOAD
0000387c: AND
0000387d: DUP3
0000387e: SWAP1
0000387f: PUSH5 0xffffffffff
00003885: PUSH1 0xa0
00003887: SHL
00003888: NOT
00003889: PUSH5 0xffffffffff
0000388f: PUSH1 0xa0
00003891: SHL
00003892: DUP4
00003893: SLOAD
00003894: SWAP3
00003895: PUSH1 0xa0
00003897: SHL
00003898: AND
00003899: SWAP2
0000389a: AND
0000389b: OR
0000389c: SWAP1
0000389d: SSTORE
0000389e: JUMP
0000389f: JUMPDEST
000038a0: PUSH1 0xe0
000038a2: DUP4
000038a3: ADD
000038a4: MLOAD
000038a5: DUP2
000038a6: SLOAD
000038a7: PUSH2 0x0100
000038aa: DUP6
000038ab: ADD
000038ac: MLOAD
000038ad: PUSH32 0xffffffffff0000ffffffffffffffffffffffffffffffffffffffffffffffffff
000038ce: SWAP1
000038cf: SWAP2
000038d0: AND
000038d1: SWAP2
000038d2: ISZERO
000038d3: ISZERO
000038d4: PUSH1 0xc8
000038d6: SHL
000038d7: PUSH26 0xff00000000000000000000000000000000000000000000000000
000038f2: AND
000038f3: SWAP2
000038f4: SWAP1
000038f5: SWAP2
000038f6: OR
000038f7: SWAP1
000038f8: ISZERO
000038f9: ISZERO
000038fa: PUSH1 0xd0
000038fc: SHL
000038fd: PUSH27 0xff0000000000000000000000000000000000000000000000000000
00003919: AND
0000391a: OR
0000391b: SWAP1
0000391c: SSTORE
0000391d: PUSH2 0x0120
00003920: SWAP1
00003921: SWAP2
00003922: ADD
00003923: MLOAD
00003924: DUP1
00003925: MLOAD
00003926: PUSH1 0x20
00003928: DUP3
00003929: ADD
0000392a: MLOAD
0000392b: PUSH1 0x80
0000392d: SHL
0000392e: PUSH16 0xffffffffffffffffffffffffffffffff
0000393f: NOT
00003940: SWAP1
00003941: DUP2
00003942: AND
00003943: PUSH1 0x01
00003945: PUSH1 0x01
00003947: PUSH1 0x80
00003949: SHL
0000394a: SUB
0000394b: SWAP3
0000394c: DUP4
0000394d: AND
0000394e: OR
0000394f: PUSH1 0x02
00003951: DUP6
00003952: ADD
00003953: SSTORE
00003954: SWAP3
00003955: PUSH1 0x40
00003957: SWAP1
00003958: PUSH1 0x03
0000395a: ADD
0000395b: SWAP3
0000395c: ADD
0000395d: MLOAD
0000395e: AND
0000395f: DUP3
00003960: DUP3
00003961: SLOAD
00003962: AND
00003963: OR
00003964: SWAP1
00003965: SSTORE
00003966: PUSH1 0x01
00003968: DUP6
00003969: ADD
0000396a: PUSH1 0x09
0000396c: SSTORE
0000396d: PUSH1 0x01
0000396f: PUSH1 0x01
00003971: PUSH1 0xa0
00003973: SHL
00003974: SUB
00003975: PUSH1 0x60
00003977: DUP5
00003978: ADD
00003979: MLOAD
0000397a: AND
0000397b: PUSH1 0x00
0000397d: MSTORE
0000397e: PUSH1 0x02
00003980: PUSH1 0x20
00003982: MSTORE
00003983: PUSH1 0x01
00003985: PUSH1 0x01
00003987: PUSH1 0x80
00003989: SHL
0000398a: SUB
0000398b: DUP1
0000398c: PUSH1 0x40
0000398e: PUSH1 0x00
00003990: KECCAK256
00003991: SLOAD
00003992: AND
00003993: DUP2
00003994: PUSH1 0x20
00003996: DUP6
00003997: ADD
00003998: MLOAD
00003999: AND
0000399a: ADD
0000399b: AND
0000399c: PUSH1 0x01
0000399e: PUSH1 0x01
000039a0: PUSH1 0xa0
000039a2: SHL
000039a3: SUB
000039a4: PUSH1 0x60
000039a6: DUP6
000039a7: ADD
000039a8: MLOAD
000039a9: AND
000039aa: PUSH1 0x00
000039ac: MSTORE
000039ad: PUSH1 0x40
000039af: PUSH1 0x00
000039b1: KECCAK256
000039b2: SWAP2
000039b3: DUP3
000039b4: SLOAD
000039b5: AND
000039b6: OR
000039b7: SWAP1
000039b8: SSTORE
000039b9: PUSH1 0x01
000039bb: PUSH1 0x01
000039bd: PUSH1 0xa0
000039bf: SHL
000039c0: SUB
000039c1: PUSH1 0x20
000039c3: DUP4
000039c4: ADD
000039c5: MLOAD
000039c6: AND
000039c7: DUP1
000039c8: ISZERO
000039c9: PUSH2 0x3bc9
000039cc: JUMPI
000039cd: DUP5
000039ce: SWAP1
000039cf: PUSH2 0x39f7
000039d2: PUSH2 0x39f1
000039d5: DUP4
000039d6: PUSH1 0x00
000039d8: MSTORE
000039d9: PUSH1 0x05
000039db: PUSH1 0x20
000039dd: MSTORE
000039de: PUSH1 0x01
000039e0: PUSH1 0x01
000039e2: PUSH1 0xa0
000039e4: SHL
000039e5: SUB
000039e6: PUSH1 0x40
000039e8: PUSH1 0x00
000039ea: KECCAK256
000039eb: SLOAD
000039ec: AND
000039ed: ISZERO
000039ee: ISZERO
000039ef: SWAP1
000039f0: JUMP
000039f1: JUMPDEST
000039f2: ISZERO
000039f3: PUSH2 0x3eb1
000039f6: JUMP
000039f7: JUMPDEST
000039f8: PUSH2 0x3a1a
000039fb: PUSH2 0x39f1
000039fe: DUP4
000039ff: PUSH1 0x00
00003a01: MSTORE
00003a02: PUSH1 0x05
00003a04: PUSH1 0x20
00003a06: MSTORE
00003a07: PUSH1 0x01
00003a09: PUSH1 0x01
00003a0b: PUSH1 0xa0
00003a0d: SHL
00003a0e: SUB
00003a0f: PUSH1 0x40
00003a11: PUSH1 0x00
00003a13: KECCAK256
00003a14: SLOAD
00003a15: AND
00003a16: ISZERO
00003a17: ISZERO
00003a18: SWAP1
00003a19: JUMP
00003a1a: JUMPDEST
00003a1b: DUP1
00003a1c: PUSH1 0x00
00003a1e: MSTORE
00003a1f: PUSH1 0x06
00003a21: PUSH1 0x20
00003a23: MSTORE
00003a24: PUSH1 0x40
00003a26: PUSH1 0x00
00003a28: KECCAK256
00003a29: PUSH1 0x01
00003a2b: DUP2
00003a2c: SLOAD
00003a2d: ADD
00003a2e: SWAP1
00003a2f: SSTORE
00003a30: DUP2
00003a31: PUSH1 0x00
00003a33: MSTORE
00003a34: PUSH1 0x05
00003a36: PUSH1 0x20
00003a38: MSTORE
00003a39: PUSH1 0x40
00003a3b: PUSH1 0x00
00003a3d: KECCAK256
00003a3e: DUP2
00003a3f: PUSH1 0x01
00003a41: PUSH1 0x01
00003a43: PUSH1 0xa0
00003a45: SHL
00003a46: SUB
00003a47: NOT
00003a48: DUP3
00003a49: SLOAD
00003a4a: AND
00003a4b: OR
00003a4c: SWAP1
00003a4d: SSTORE
00003a4e: PUSH1 0x00
00003a50: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00003a71: DUP2
00003a72: DUP1
00003a73: LOG4
00003a74: PUSH2 0x3aa3
00003a77: PUSH1 0x01
00003a79: PUSH1 0x01
00003a7b: PUSH1 0xa0
00003a7d: SHL
00003a7e: SUB
00003a7f: PUSH1 0x60
00003a81: DUP5
00003a82: ADD
00003a83: MLOAD
00003a84: AND
00003a85: PUSH1 0x01
00003a87: PUSH1 0x01
00003a89: PUSH1 0x80
00003a8b: SHL
00003a8c: SUB
00003a8d: DUP1
00003a8e: DUP5
00003a8f: MLOAD
00003a90: AND
00003a91: DUP2
00003a92: PUSH1 0x20
00003a94: DUP7
00003a95: ADD
00003a96: MLOAD
00003a97: AND
00003a98: ADD
00003a99: AND
00003a9a: SWAP1
00003a9b: ADDRESS
00003a9c: SWAP1
00003a9d: CALLER
00003a9e: SWAP1
00003a9f: PUSH2 0x3d37
00003aa2: JUMP
00003aa3: JUMPDEST
00003aa4: PUSH1 0x01
00003aa6: PUSH1 0x01
00003aa8: PUSH1 0x80
00003aaa: SHL
00003aab: SUB
00003aac: PUSH1 0x40
00003aae: DUP3
00003aaf: ADD
00003ab0: MLOAD
00003ab1: AND
00003ab2: DUP1
00003ab3: PUSH2 0x3b9a
00003ab6: JUMPI
00003ab7: JUMPDEST
00003ab8: POP
00003ab9: PUSH1 0x01
00003abb: PUSH1 0x01
00003abd: PUSH1 0xa0
00003abf: SHL
00003ac0: SUB
00003ac1: DUP3
00003ac2: MLOAD
00003ac3: AND
00003ac4: PUSH32 0x6a14b1f86e996f59f3a5a72afa0f99cc59199944c80ad4f7260c9b3e3a07b110
00003ae5: PUSH2 0x0140
00003ae8: PUSH1 0x01
00003aea: PUSH1 0x01
00003aec: PUSH1 0xa0
00003aee: SHL
00003aef: SUB
00003af0: PUSH1 0x20
00003af2: DUP7
00003af3: ADD
00003af4: MLOAD
00003af5: AND
00003af6: SWAP4
00003af7: PUSH1 0x01
00003af9: PUSH1 0x01
00003afb: PUSH1 0xa0
00003afd: SHL
00003afe: SUB
00003aff: PUSH1 0x60
00003b01: DUP8
00003b02: ADD
00003b03: MLOAD
00003b04: AND
00003b05: SWAP6
00003b06: PUSH2 0x3b91
00003b09: PUSH1 0x80
00003b0b: DUP3
00003b0c: ADD
00003b0d: MLOAD
00003b0e: ISZERO
00003b0f: ISZERO
00003b10: SWAP2
00003b11: PUSH1 0x01
00003b13: PUSH1 0x01
00003b15: PUSH1 0xa0
00003b17: SHL
00003b18: SUB
00003b19: PUSH1 0xc0
00003b1b: PUSH1 0xa0
00003b1d: DUP4
00003b1e: ADD
00003b1f: MLOAD
00003b20: SWAP3
00003b21: ADD
00003b22: MLOAD
00003b23: MLOAD
00003b24: AND
00003b25: SWAP3
00003b26: PUSH2 0x3b61
00003b29: PUSH1 0x40
00003b2b: MLOAD
00003b2c: SWAP6
00003b2d: DUP14
00003b2e: DUP8
00003b2f: MSTORE
00003b30: CALLER
00003b31: PUSH1 0x20
00003b33: DUP9
00003b34: ADD
00003b35: MSTORE
00003b36: PUSH1 0x40
00003b38: DUP8
00003b39: ADD
00003b3a: SWAP1
00003b3b: PUSH1 0x40
00003b3d: SWAP1
00003b3e: DUP2
00003b3f: PUSH1 0x01
00003b41: PUSH1 0x01
00003b43: PUSH1 0x80
00003b45: SHL
00003b46: SUB
00003b47: SWAP2
00003b48: DUP3
00003b49: DUP2
00003b4a: MLOAD
00003b4b: AND
00003b4c: DUP6
00003b4d: MSTORE
00003b4e: DUP3
00003b4f: PUSH1 0x20
00003b51: DUP3
00003b52: ADD
00003b53: MLOAD
00003b54: AND
00003b55: PUSH1 0x20
00003b57: DUP7
00003b58: ADD
00003b59: MSTORE
00003b5a: ADD
00003b5b: MLOAD
00003b5c: AND
00003b5d: SWAP2
00003b5e: ADD
00003b5f: MSTORE
00003b60: JUMP
00003b61: JUMPDEST
00003b62: PUSH1 0xa0
00003b64: DUP6
00003b65: ADD
00003b66: MSTORE
00003b67: DUP1
00003b68: MLOAD
00003b69: PUSH5 0xffffffffff
00003b6f: SWAP1
00003b70: DUP2
00003b71: AND
00003b72: PUSH1 0xc0
00003b74: DUP7
00003b75: ADD
00003b76: MSTORE
00003b77: PUSH1 0x20
00003b79: DUP3
00003b7a: ADD
00003b7b: MLOAD
00003b7c: DUP2
00003b7d: AND
00003b7e: PUSH1 0xe0
00003b80: DUP7
00003b81: ADD
00003b82: MSTORE
00003b83: PUSH1 0x40
00003b85: SWAP1
00003b86: SWAP2
00003b87: ADD
00003b88: MLOAD
00003b89: AND
00003b8a: PUSH2 0x0100
00003b8d: DUP5
00003b8e: ADD
00003b8f: MSTORE
00003b90: JUMP
00003b91: JUMPDEST
00003b92: PUSH2 0x0120
00003b95: DUP3
00003b96: ADD
00003b97: MSTORE
00003b98: LOG4
00003b99: JUMP
00003b9a: JUMPDEST
00003b9b: PUSH2 0x3bc3
00003b9e: SWAP1
00003b9f: PUSH1 0x01
00003ba1: PUSH1 0x01
00003ba3: PUSH1 0xa0
00003ba5: SHL
00003ba6: SUB
00003ba7: PUSH1 0x60
00003ba9: DUP6
00003baa: ADD
00003bab: MLOAD
00003bac: AND
00003bad: PUSH1 0x01
00003baf: PUSH1 0x01
00003bb1: PUSH1 0xa0
00003bb3: SHL
00003bb4: SUB
00003bb5: PUSH1 0xc0
00003bb7: DUP7
00003bb8: ADD
00003bb9: MLOAD
00003bba: MLOAD
00003bbb: AND
00003bbc: SWAP1
00003bbd: CALLER
00003bbe: SWAP1
00003bbf: PUSH2 0x3d37
00003bc2: JUMP
00003bc3: JUMPDEST
00003bc4: CODESIZE
00003bc5: PUSH2 0x3ab7
00003bc8: JUMP
00003bc9: JUMPDEST
00003bca: PUSH1 0x64
00003bcc: PUSH1 0x40
00003bce: MLOAD
00003bcf: PUSH3 0x461bcd
00003bd3: PUSH1 0xe5
00003bd5: SHL
00003bd6: DUP2
00003bd7: MSTORE
00003bd8: PUSH1 0x20
00003bda: PUSH1 0x04
00003bdc: DUP3
00003bdd: ADD
00003bde: MSTORE
00003bdf: PUSH1 0x20
00003be1: PUSH1 0x24
00003be3: DUP3
00003be4: ADD
00003be5: MSTORE
00003be6: PUSH32 0x4552433732313a206d696e7420746f20746865207a65726f2061646472657373
00003c07: PUSH1 0x44
00003c09: DUP3
00003c0a: ADD
00003c0b: MSTORE
00003c0c: REVERT
00003c0d: JUMPDEST
00003c0e: PUSH1 0x40
00003c10: MLOAD
00003c11: PUSH32 0x210aec0e00000000000000000000000000000000000000000000000000000000
00003c32: DUP2
00003c33: MSTORE
00003c34: PUSH5 0xffffffffff
00003c3a: SWAP2
00003c3b: DUP3
00003c3c: AND
00003c3d: PUSH1 0x04
00003c3f: DUP3
00003c40: ADD
00003c41: MSTORE
00003c42: SWAP2
00003c43: AND
00003c44: PUSH1 0x24
00003c46: DUP3
00003c47: ADD
00003c48: MSTORE
00003c49: PUSH1 0x44
00003c4b: SWAP1
00003c4c: REVERT
00003c4d: JUMPDEST
00003c4e: PUSH1 0x40
00003c50: MLOAD
00003c51: PUSH32 0x9fee269100000000000000000000000000000000000000000000000000000000
00003c72: DUP2
00003c73: MSTORE
00003c74: PUSH5 0xffffffffff
00003c7a: SWAP2
00003c7b: DUP3
00003c7c: AND
00003c7d: PUSH1 0x04
00003c7f: DUP3
00003c80: ADD
00003c81: MSTORE
00003c82: SWAP2
00003c83: AND
00003c84: PUSH1 0x24
00003c86: DUP3
00003c87: ADD
00003c88: MSTORE
00003c89: PUSH1 0x44
00003c8b: SWAP1
00003c8c: REVERT
00003c8d: JUMPDEST
00003c8e: PUSH1 0x40
00003c90: MLOAD
00003c91: PUSH32 0x4c23297000000000000000000000000000000000000000000000000000000000
00003cb2: DUP2
00003cb3: MSTORE
00003cb4: PUSH5 0xffffffffff
00003cba: SWAP2
00003cbb: DUP3
00003cbc: AND
00003cbd: PUSH1 0x04
00003cbf: DUP3
00003cc0: ADD
00003cc1: MSTORE
00003cc2: SWAP2
00003cc3: AND
00003cc4: PUSH1 0x24
00003cc6: DUP3
00003cc7: ADD
00003cc8: MSTORE
00003cc9: PUSH1 0x44
00003ccb: SWAP1
00003ccc: REVERT
00003ccd: JUMPDEST
00003cce: PUSH1 0x04
00003cd0: PUSH1 0x40
00003cd2: MLOAD
00003cd3: PUSH32 0x6095d3bc00000000000000000000000000000000000000000000000000000000
00003cf4: DUP2
00003cf5: MSTORE
00003cf6: REVERT
00003cf7: JUMPDEST
00003cf8: PUSH1 0x20
00003cfa: DUP3
00003cfb: RETURNDATASIZE
00003cfc: PUSH1 0x20
00003cfe: GT
00003cff: PUSH2 0x3d23
00003d02: JUMPI
00003d03: JUMPDEST
00003d04: DUP2
00003d05: PUSH2 0x3d10
00003d08: PUSH1 0x20
00003d0a: SWAP4
00003d0b: DUP4
00003d0c: PUSH2 0x2b9e
00003d0f: JUMP
00003d10: JUMPDEST
00003d11: DUP2
00003d12: ADD
00003d13: SUB
00003d14: SLT
00003d15: PUSH2 0x042a
00003d18: JUMPI
00003d19: POP
00003d1a: PUSH2 0x3622
00003d1d: SWAP1
00003d1e: MLOAD
00003d1f: PUSH2 0x35ff
00003d22: JUMP
00003d23: JUMPDEST
00003d24: RETURNDATASIZE
00003d25: SWAP2
00003d26: POP
00003d27: PUSH2 0x3d03
00003d2a: JUMP
00003d2b: JUMPDEST
00003d2c: PUSH1 0x40
00003d2e: MLOAD
00003d2f: RETURNDATASIZE
00003d30: PUSH1 0x00
00003d32: DUP3
00003d33: RETURNDATACOPY
00003d34: RETURNDATASIZE
00003d35: SWAP1
00003d36: REVERT
00003d37: JUMPDEST
00003d38: SWAP3
00003d39: SWAP1
00003d3a: PUSH1 0x40
00003d3c: MLOAD
00003d3d: SWAP3
00003d3e: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000
00003d5f: PUSH1 0x20
00003d61: DUP6
00003d62: ADD
00003d63: MSTORE
00003d64: PUSH1 0x01
00003d66: PUSH1 0x01
00003d68: PUSH1 0xa0
00003d6a: SHL
00003d6b: SUB
00003d6c: DUP1
00003d6d: SWAP3
00003d6e: AND
00003d6f: PUSH1 0x24
00003d71: DUP6
00003d72: ADD
00003d73: MSTORE
00003d74: AND
00003d75: PUSH1 0x44
00003d77: DUP4
00003d78: ADD
00003d79: MSTORE
00003d7a: PUSH1 0x64
00003d7c: DUP3
00003d7d: ADD
00003d7e: MSTORE
00003d7f: PUSH1 0x64
00003d81: DUP2
00003d82: MSTORE
00003d83: PUSH1 0xa0
00003d85: DUP2
00003d86: ADD
00003d87: SWAP2
00003d88: DUP2
00003d89: DUP4
00003d8a: LT
00003d8b: PUSH8 0xffffffffffffffff
00003d94: DUP5
00003d95: GT
00003d96: OR
00003d97: PUSH2 0x2046
00003d9a: JUMPI
00003d9b: PUSH2 0x3da6
00003d9e: SWAP3
00003d9f: PUSH1 0x40
00003da1: MSTORE
00003da2: PUSH2 0x3da8
00003da5: JUMP
00003da6: JUMPDEST
00003da7: JUMP
00003da8: JUMPDEST
00003da9: PUSH1 0x01
00003dab: PUSH1 0x01
00003dad: PUSH1 0xa0
00003daf: SHL
00003db0: SUB
00003db1: AND
00003db2: SWAP1
00003db3: PUSH2 0x3e08
00003db6: PUSH1 0x40
00003db8: MLOAD
00003db9: PUSH2 0x3dc1
00003dbc: DUP2
00003dbd: PUSH2 0x2b82
00003dc0: JUMP
00003dc1: JUMPDEST
00003dc2: PUSH1 0x20
00003dc4: SWAP4
00003dc5: DUP5
00003dc6: DUP3
00003dc7: MSTORE
00003dc8: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
00003de9: DUP6
00003dea: DUP4
00003deb: ADD
00003dec: MSTORE
00003ded: PUSH1 0x00
00003def: DUP1
00003df0: DUP6
00003df1: DUP8
00003df2: DUP3
00003df3: SWAP8
00003df4: MLOAD
00003df5: SWAP2
00003df6: ADD
00003df7: DUP3
00003df8: DUP6
00003df9: GAS
00003dfa: CALL
00003dfb: PUSH2 0x3e02
00003dfe: PUSH2 0x2fac
00003e01: JUMP
00003e02: JUMPDEST
00003e03: SWAP2
00003e04: PUSH2 0x3efc
00003e07: JUMP
00003e08: JUMPDEST
00003e09: DUP1
00003e0a: MLOAD
00003e0b: SWAP2
00003e0c: DUP3
00003e0d: ISZERO
00003e0e: SWAP2
00003e0f: DUP5
00003e10: DUP4
00003e11: ISZERO
00003e12: PUSH2 0x3e8d
00003e15: JUMPI
00003e16: JUMPDEST
00003e17: POP
00003e18: POP
00003e19: POP
00003e1a: SWAP1
00003e1b: POP
00003e1c: ISZERO
00003e1d: PUSH2 0x3e23
00003e20: JUMPI
00003e21: POP
00003e22: JUMP
00003e23: JUMPDEST
00003e24: PUSH1 0x84
00003e26: SWAP1
00003e27: PUSH1 0x40
00003e29: MLOAD
00003e2a: SWAP1
00003e2b: PUSH3 0x461bcd
00003e2f: PUSH1 0xe5
00003e31: SHL
00003e32: DUP3
00003e33: MSTORE
00003e34: PUSH1 0x04
00003e36: DUP3
00003e37: ADD
00003e38: MSTORE
00003e39: PUSH1 0x2a
00003e3b: PUSH1 0x24
00003e3d: DUP3
00003e3e: ADD
00003e3f: MSTORE
00003e40: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e
00003e61: PUSH1 0x44
00003e63: DUP3
00003e64: ADD
00003e65: MSTORE
00003e66: PUSH32 0x6f74207375636365656400000000000000000000000000000000000000000000
00003e87: PUSH1 0x64
00003e89: DUP3
00003e8a: ADD
00003e8b: MSTORE
00003e8c: REVERT
00003e8d: JUMPDEST
00003e8e: SWAP2
00003e8f: SWAP4
00003e90: DUP2
00003e91: DUP1
00003e92: SWAP5
00003e93: POP
00003e94: ADD
00003e95: SUB
00003e96: SLT
00003e97: PUSH2 0x0820
00003e9a: JUMPI
00003e9b: DUP3
00003e9c: ADD
00003e9d: MLOAD
00003e9e: SWAP1
00003e9f: DUP2
00003ea0: ISZERO
00003ea1: ISZERO
00003ea2: DUP3
00003ea3: SUB
00003ea4: PUSH2 0x042a
00003ea7: JUMPI
00003ea8: POP
00003ea9: DUP1
00003eaa: CODESIZE
00003eab: DUP1
00003eac: DUP5
00003ead: PUSH2 0x3e16
00003eb0: JUMP
00003eb1: JUMPDEST
00003eb2: ISZERO
00003eb3: PUSH2 0x3eb8
00003eb6: JUMPI
00003eb7: JUMP
00003eb8: JUMPDEST
00003eb9: PUSH1 0x64
00003ebb: PUSH1 0x40
00003ebd: MLOAD
00003ebe: PUSH3 0x461bcd
00003ec2: PUSH1 0xe5
00003ec4: SHL
00003ec5: DUP2
00003ec6: MSTORE
00003ec7: PUSH1 0x20
00003ec9: PUSH1 0x04
00003ecb: DUP3
00003ecc: ADD
00003ecd: MSTORE
00003ece: PUSH1 0x1c
00003ed0: PUSH1 0x24
00003ed2: DUP3
00003ed3: ADD
00003ed4: MSTORE
00003ed5: PUSH32 0x4552433732313a20746f6b656e20616c7265616479206d696e74656400000000
00003ef6: PUSH1 0x44
00003ef8: DUP3
00003ef9: ADD
00003efa: MSTORE
00003efb: REVERT
00003efc: JUMPDEST
00003efd: SWAP2
00003efe: SWAP3
00003eff: SWAP1
00003f00: ISZERO
00003f01: PUSH2 0x3f5d
00003f04: JUMPI
00003f05: POP
00003f06: DUP2
00003f07: MLOAD
00003f08: ISZERO
00003f09: PUSH2 0x3f10
00003f0c: JUMPI
00003f0d: POP
00003f0e: SWAP1
00003f0f: JUMP
00003f10: JUMPDEST
00003f11: EXTCODESIZE
00003f12: ISZERO
00003f13: PUSH2 0x3f19
00003f16: JUMPI
00003f17: SWAP1
00003f18: JUMP
00003f19: JUMPDEST
00003f1a: PUSH1 0x64
00003f1c: PUSH1 0x40
00003f1e: MLOAD
00003f1f: PUSH3 0x461bcd
00003f23: PUSH1 0xe5
00003f25: SHL
00003f26: DUP2
00003f27: MSTORE
00003f28: PUSH1 0x20
00003f2a: PUSH1 0x04
00003f2c: DUP3
00003f2d: ADD
00003f2e: MSTORE
00003f2f: PUSH1 0x1d
00003f31: PUSH1 0x24
00003f33: DUP3
00003f34: ADD
00003f35: MSTORE
00003f36: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
00003f57: PUSH1 0x44
00003f59: DUP3
00003f5a: ADD
00003f5b: MSTORE
00003f5c: REVERT
00003f5d: JUMPDEST
00003f5e: DUP3
00003f5f: MLOAD
00003f60: SWAP1
00003f61: SWAP2
00003f62: POP
00003f63: ISZERO
00003f64: PUSH2 0x3f70
00003f67: JUMPI
00003f68: POP
00003f69: DUP1
00003f6a: MLOAD
00003f6b: SWAP1
00003f6c: PUSH1 0x20
00003f6e: ADD
00003f6f: REVERT
00003f70: JUMPDEST
00003f71: PUSH2 0x03fe
00003f74: SWAP1
00003f75: PUSH1 0x40
00003f77: MLOAD
00003f78: SWAP2
00003f79: DUP3
00003f7a: SWAP2
00003f7b: PUSH3 0x461bcd
00003f7f: PUSH1 0xe5
00003f81: SHL
00003f82: DUP4
00003f83: MSTORE
00003f84: PUSH1 0x20
00003f86: PUSH1 0x04
00003f88: DUP5
00003f89: ADD
00003f8a: MSTORE
00003f8b: PUSH1 0x24
00003f8d: DUP4
00003f8e: ADD
00003f8f: SWAP1
00003f90: PUSH2 0x2a62
00003f93: JUMP
00003f94: JUMPDEST
00003f95: PUSH1 0x01
00003f97: PUSH1 0x01
00003f99: PUSH1 0xa0
00003f9b: SHL
00003f9c: SUB
00003f9d: PUSH32 0x000000000000000000000000b10daee1fcf62243ae27776d7a92d39dc8740f95
00003fbe: AND
00003fbf: ADDRESS
00003fc0: SUB
00003fc1: PUSH2 0x3fc6
00003fc4: JUMPI
00003fc5: JUMP
00003fc6: JUMPDEST
00003fc7: PUSH1 0x04
00003fc9: PUSH1 0x40
00003fcb: MLOAD
00003fcc: PUSH32 0xa1c0d6e500000000000000000000000000000000000000000000000000000000
00003fed: DUP2
00003fee: MSTORE
00003fef: REVERT
00003ff0: JUMPDEST
00003ff1: SWAP2
00003ff2: PUSH1 0x01
00003ff4: PUSH1 0x01
00003ff6: PUSH1 0xa0
00003ff8: SHL
00003ff9: SUB
00003ffa: PUSH1 0x40
00003ffc: MLOAD
00003ffd: SWAP3
00003ffe: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
0000401f: PUSH1 0x20
00004021: DUP6
00004022: ADD
00004023: MSTORE
00004024: AND
00004025: PUSH1 0x24
00004027: DUP4
00004028: ADD
00004029: MSTORE
0000402a: PUSH1 0x44
0000402c: DUP3
0000402d: ADD
0000402e: MSTORE
0000402f: PUSH1 0x44
00004031: DUP2
00004032: MSTORE
00004033: PUSH1 0x80
00004035: DUP2
00004036: ADD
00004037: SWAP2
00004038: DUP2
00004039: DUP4
0000403a: LT
0000403b: PUSH8 0xffffffffffffffff
00004044: DUP5
00004045: GT
00004046: OR
00004047: PUSH2 0x2046
0000404a: JUMPI
0000404b: PUSH2 0x3da6
0000404e: SWAP3
0000404f: PUSH1 0x40
00004051: MSTORE
00004052: PUSH2 0x3da8
00004055: JUMP
00004056: JUMPDEST
00004057: PUSH2 0x2c5f
0000405a: SWAP1
0000405b: PUSH2 0x4063
0000405e: DUP2
0000405f: PUSH2 0x3526
00004062: JUMP
00004063: JUMPDEST
00004064: SWAP1
00004065: PUSH1 0x00
00004067: MSTORE
00004068: PUSH1 0x0b
0000406a: PUSH1 0x20
0000406c: MSTORE
0000406d: PUSH1 0x02
0000406f: PUSH1 0x40
00004071: PUSH1 0x00
00004073: KECCAK256
00004074: ADD
00004075: SLOAD
00004076: PUSH1 0x80
00004078: SHR
00004079: SWAP1
0000407a: PUSH2 0x31fa
0000407d: JUMP
0000407e: JUMPDEST
0000407f: SWAP2
00004080: SWAP1
00004081: DUP2
00004082: LT
00004083: ISZERO
00004084: PUSH2 0x408e
00004087: JUMPI
00004088: PUSH1 0x05
0000408a: SHL
0000408b: ADD
0000408c: SWAP1
0000408d: JUMP
0000408e: JUMPDEST
0000408f: PUSH4 0x4e487b71
00004094: PUSH1 0xe0
00004096: SHL
00004097: PUSH1 0x00
00004099: MSTORE
0000409a: PUSH1 0x32
0000409c: PUSH1 0x04
0000409e: MSTORE
0000409f: PUSH1 0x24
000040a1: PUSH1 0x00
000040a3: REVERT
000040a4: JUMPDEST
000040a5: SWAP2
000040a6: SWAP1
000040a7: SWAP2
000040a8: PUSH1 0x01
000040aa: PUSH1 0x01
000040ac: PUSH1 0x80
000040ae: SHL
000040af: SUB
000040b0: DUP1
000040b1: DUP1
000040b2: SWAP5
000040b3: AND
000040b4: SWAP2
000040b5: AND
000040b6: ADD
000040b7: SWAP2
000040b8: DUP3
000040b9: GT
000040ba: PUSH2 0x3213
000040bd: JUMPI
000040be: JUMP
000040bf: JUMPDEST
000040c0: SWAP3
000040c1: SWAP2
000040c2: SWAP1
000040c3: SWAP3
000040c4: PUSH1 0x01
000040c6: PUSH1 0x01
000040c8: PUSH1 0x80
000040ca: SHL
000040cb: SUB
000040cc: DUP1
000040cd: PUSH2 0x40d5
000040d0: DUP4
000040d1: PUSH2 0x4056
000040d4: JUMP
000040d5: JUMPDEST
000040d6: AND
000040d7: SWAP3
000040d8: DUP2
000040d9: DUP2
000040da: AND
000040db: SWAP4
000040dc: DUP1
000040dd: DUP6
000040de: GT
000040df: PUSH2 0x42aa
000040e2: JUMPI
000040e3: POP
000040e4: PUSH1 0x00
000040e6: SWAP6
000040e7: DUP4
000040e8: DUP8
000040e9: MSTORE
000040ea: PUSH1 0x20
000040ec: SWAP3
000040ed: PUSH1 0x0b
000040ef: DUP5
000040f0: MSTORE
000040f1: PUSH2 0x4148
000040f4: PUSH2 0x4108
000040f7: PUSH1 0x40
000040f9: SWAP5
000040fa: PUSH1 0x02
000040fc: DUP7
000040fd: DUP13
000040fe: KECCAK256
000040ff: ADD
00004100: SLOAD
00004101: PUSH1 0x80
00004103: SHR
00004104: PUSH2 0x40a4
00004107: JUMP
00004108: JUMPDEST
00004109: DUP7
0000410a: DUP11
0000410b: MSTORE
0000410c: PUSH1 0x0b
0000410e: DUP7
0000410f: MSTORE
00004110: PUSH2 0x4143
00004113: PUSH1 0x02
00004115: DUP7
00004116: DUP13
00004117: KECCAK256
00004118: ADD
00004119: SWAP2
0000411a: DUP3
0000411b: SWAP1
0000411c: PUSH1 0x01
0000411e: PUSH1 0x01
00004120: PUSH1 0x80
00004122: SHL
00004123: SUB
00004124: PUSH16 0xffffffffffffffffffffffffffffffff
00004135: NOT
00004136: DUP4
00004137: SLOAD
00004138: SWAP3
00004139: PUSH1 0x80
0000413b: SHL
0000413c: AND
0000413d: SWAP2
0000413e: AND
0000413f: OR
00004140: SWAP1
00004141: SSTORE
00004142: JUMP
00004143: JUMPDEST
00004144: PUSH2 0x318f
00004147: JUMP
00004148: JUMPDEST
00004149: SWAP1
0000414a: PUSH2 0x4163
0000414d: DUP2
0000414e: DUP7
0000414f: DUP5
00004150: ADD
00004151: MLOAD
00004152: AND
00004153: SWAP3
00004154: DUP3
00004155: DUP7
00004156: DUP2
00004157: DUP4
00004158: MLOAD
00004159: AND
0000415a: SWAP3
0000415b: ADD
0000415c: MLOAD
0000415d: AND
0000415e: SWAP1
0000415f: PUSH2 0x31fa
00004162: JUMP
00004163: JUMPDEST
00004164: AND
00004165: GT
00004166: ISZERO
00004167: PUSH2 0x427b
0000416a: JUMPI
0000416b: JUMPDEST
0000416c: DUP4
0000416d: DUP8
0000416e: MSTORE
0000416f: PUSH1 0x0b
00004171: DUP4
00004172: MSTORE
00004173: PUSH1 0x01
00004175: PUSH1 0x01
00004177: PUSH1 0xa0
00004179: SHL
0000417a: SUB
0000417b: SWAP2
0000417c: PUSH2 0x418e
0000417f: DUP7
00004180: DUP4
00004181: DUP6
00004182: PUSH1 0x01
00004184: DUP6
00004185: DUP14
00004186: KECCAK256
00004187: ADD
00004188: SLOAD
00004189: AND
0000418a: PUSH2 0x3ff0
0000418d: JUMP
0000418e: JUMPDEST
0000418f: DUP5
00004190: DUP9
00004191: MSTORE
00004192: PUSH1 0x05
00004194: DUP5
00004195: MSTORE
00004196: DUP3
00004197: DUP2
00004198: DUP10
00004199: KECCAK256
0000419a: SLOAD
0000419b: AND
0000419c: DUP1
0000419d: CALLER
0000419e: EQ
0000419f: ISZERO
000041a0: DUP1
000041a1: PUSH2 0x4271
000041a4: JUMPI
000041a5: JUMPDEST
000041a6: PUSH2 0x41da
000041a9: JUMPI
000041aa: JUMPDEST
000041ab: POP
000041ac: PUSH32 0xfa54f9f9bdcdd28778cbb9f78490df6691cc4e2729588e10f4cc0a26c465686a
000041cd: SWAP5
000041ce: SWAP6
000041cf: SWAP7
000041d0: SWAP8
000041d1: POP
000041d2: MLOAD
000041d3: SWAP6
000041d4: DUP7
000041d5: MSTORE
000041d6: AND
000041d7: SWAP4
000041d8: LOG3
000041d9: JUMP
000041da: JUMPDEST
000041db: DUP1
000041dc: EXTCODESIZE
000041dd: ISZERO
000041de: PUSH2 0x426d
000041e1: JUMPI
000041e2: SWAP8
000041e3: DUP1
000041e4: PUSH32 0xfa54f9f9bdcdd28778cbb9f78490df6691cc4e2729588e10f4cc0a26c465686a
00004205: SWAP7
00004206: SWAP8
00004207: SWAP9
00004208: SWAP10
00004209: PUSH1 0x84
0000420b: DUP5
0000420c: MLOAD
0000420d: DUP1
0000420e: SWAP5
0000420f: DUP2
00004210: SWAP4
00004211: PUSH32 0x13375c3b00000000000000000000000000000000000000000000000000000000
00004232: DUP4
00004233: MSTORE
00004234: DUP13
00004235: PUSH1 0x04
00004237: DUP5
00004238: ADD
00004239: MSTORE
0000423a: CALLER
0000423b: PUSH1 0x24
0000423d: DUP5
0000423e: ADD
0000423f: MSTORE
00004240: DUP10
00004241: DUP10
00004242: AND
00004243: PUSH1 0x44
00004245: DUP5
00004246: ADD
00004247: MSTORE
00004248: DUP14
00004249: PUSH1 0x64
0000424b: DUP5
0000424c: ADD
0000424d: MSTORE
0000424e: GAS
0000424f: CALL
00004250: PUSH2 0x425e
00004253: JUMPI
00004254: JUMPDEST
00004255: DUP9
00004256: SWAP8
00004257: SWAP7
00004258: SWAP6
00004259: POP
0000425a: PUSH2 0x41aa
0000425d: JUMP
0000425e: JUMPDEST
0000425f: PUSH2 0x4267
00004262: SWAP1
00004263: PUSH2 0x2b35
00004266: JUMP
00004267: JUMPDEST
00004268: CODESIZE
00004269: PUSH2 0x4254
0000426c: JUMP
0000426d: JUMPDEST
0000426e: DUP9
0000426f: DUP1
00004270: REVERT
00004271: JUMPDEST
00004272: POP
00004273: DUP1
00004274: EXTCODESIZE
00004275: ISZERO
00004276: ISZERO
00004277: PUSH2 0x41a5
0000427a: JUMP
0000427b: JUMPDEST
0000427c: DUP4
0000427d: DUP8
0000427e: MSTORE
0000427f: PUSH1 0x0b
00004281: DUP4
00004282: MSTORE
00004283: DUP2
00004284: DUP8
00004285: KECCAK256
00004286: PUSH1 0x01
00004288: DUP2
00004289: ADD
0000428a: PUSH1 0x01
0000428c: PUSH1 0xc8
0000428e: SHL
0000428f: PUSH1 0xff
00004291: PUSH1 0xc8
00004293: SHL
00004294: NOT
00004295: DUP3
00004296: SLOAD
00004297: AND
00004298: OR
00004299: SWAP1
0000429a: SSTORE
0000429b: PUSH1 0xff
0000429d: PUSH1 0xf0
0000429f: SHL
000042a0: NOT
000042a1: DUP2
000042a2: SLOAD
000042a3: AND
000042a4: SWAP1
000042a5: SSTORE
000042a6: PUSH2 0x416b
000042a9: JUMP
000042aa: JUMPDEST
000042ab: DUP4
000042ac: PUSH1 0x64
000042ae: SWAP2
000042af: DUP7
000042b0: PUSH1 0x40
000042b2: MLOAD
000042b3: SWAP3
000042b4: PUSH32 0xa1fb2bbc00000000000000000000000000000000000000000000000000000000
000042d5: DUP5
000042d6: MSTORE
000042d7: PUSH1 0x04
000042d9: DUP5
000042da: ADD
000042db: MSTORE
000042dc: PUSH1 0x24
000042de: DUP4
000042df: ADD
000042e0: MSTORE
000042e1: PUSH1 0x44
000042e3: DUP3
000042e4: ADD
000042e5: MSTORE
000042e6: REVERT
000042e7: JUMPDEST
000042e8: PUSH1 0x00
000042ea: SWAP1
000042eb: DUP1
000042ec: DUP3
000042ed: MSTORE
000042ee: PUSH1 0x05
000042f0: PUSH1 0x20
000042f2: MSTORE
000042f3: PUSH1 0x01
000042f5: PUSH1 0x01
000042f7: PUSH1 0xa0
000042f9: SHL
000042fa: SUB
000042fb: DUP1
000042fc: PUSH1 0x40
000042fe: DUP5
000042ff: KECCAK256
00004300: SLOAD
00004301: AND
00004302: SWAP3
00004303: DUP4
00004304: CALLER
00004305: EQ
00004306: SWAP4
00004307: DUP5
00004308: ISZERO
00004309: PUSH2 0x432c
0000430c: JUMPI
0000430d: JUMPDEST
0000430e: POP
0000430f: POP
00004310: DUP3
00004311: ISZERO
00004312: PUSH2 0x431a
00004315: JUMPI
00004316: POP
00004317: POP
00004318: SWAP1
00004319: JUMP
0000431a: JUMPDEST
0000431b: SWAP1
0000431c: SWAP2
0000431d: POP
0000431e: PUSH2 0x4327
00004321: CALLER
00004322: SWAP3
00004323: PUSH2 0x2c62
00004326: JUMP
00004327: JUMPDEST
00004328: AND
00004329: EQ
0000432a: SWAP1
0000432b: JUMP
0000432c: JUMPDEST
0000432d: PUSH1 0xff
0000432f: SWAP3
00004330: SWAP5
00004331: POP
00004332: SWAP1
00004333: PUSH1 0x40
00004335: SWAP2
00004336: DUP2
00004337: MSTORE
00004338: PUSH1 0x08
0000433a: PUSH1 0x20
0000433c: MSTORE
0000433d: DUP2
0000433e: DUP2
0000433f: KECCAK256
00004340: CALLER
00004341: DUP3
00004342: MSTORE
00004343: PUSH1 0x20
00004345: MSTORE
00004346: KECCAK256
00004347: SLOAD
00004348: AND
00004349: SWAP2
0000434a: CODESIZE
0000434b: DUP1
0000434c: PUSH2 0x430d
0000434f: JUMP
00004350: JUMPDEST
00004351: SWAP1
00004352: SWAP3
00004353: SWAP2
00004354: PUSH2 0x435b
00004357: PUSH2 0x3170
0000435a: JUMP
0000435b: JUMPDEST
0000435c: SWAP4
0000435d: PUSH1 0x01
0000435f: PUSH1 0x01
00004361: PUSH1 0x80
00004363: SHL
00004364: SUB
00004365: SWAP3
00004366: DUP4
00004367: DUP2
00004368: AND
00004369: SWAP2
0000436a: DUP3
0000436b: ISZERO
0000436c: PUSH2 0x4467
0000436f: JUMPI
00004370: PUSH8 0x016345785d8a0000
00004379: DUP1
0000437a: DUP3
0000437b: GT
0000437c: PUSH2 0x4430
0000437f: JUMPI
00004380: DUP1
00004381: DUP6
00004382: GT
00004383: PUSH2 0x43f9
00004386: JUMPI
00004387: POP
00004388: PUSH2 0x43a5
0000438b: DUP6
0000438c: PUSH2 0x4396
0000438f: DUP2
00004390: SWAP4
00004391: DUP7
00004392: PUSH2 0x33f0
00004395: JUMP
00004396: JUMPDEST
00004397: AND
00004398: SWAP5
00004399: PUSH1 0x20
0000439b: DUP10
0000439c: ADD
0000439d: SWAP6
0000439e: DUP7
0000439f: MSTORE
000043a0: DUP5
000043a1: PUSH2 0x33f0
000043a4: JUMP
000043a5: JUMPDEST
000043a6: AND
000043a7: SWAP2
000043a8: DUP5
000043a9: PUSH2 0x43bc
000043ac: PUSH1 0x40
000043ae: DUP10
000043af: ADD
000043b0: SWAP5
000043b1: DUP1
000043b2: DUP7
000043b3: MSTORE
000043b4: DUP3
000043b5: DUP8
000043b6: MLOAD
000043b7: AND
000043b8: PUSH2 0x40a4
000043bb: JUMP
000043bc: JUMPDEST
000043bd: AND
000043be: LT
000043bf: ISZERO
000043c0: PUSH2 0x43e3
000043c3: JUMPI
000043c4: PUSH2 0x43d5
000043c7: DUP5
000043c8: SWAP2
000043c9: DUP3
000043ca: PUSH2 0x43de
000043cd: SWAP6
000043ce: MLOAD
000043cf: AND
000043d0: SWAP1
000043d1: PUSH2 0x31fa
000043d4: JUMP
000043d5: JUMPDEST
000043d6: SWAP2
000043d7: MLOAD
000043d8: AND
000043d9: SWAP1
000043da: PUSH2 0x31fa
000043dd: JUMP
000043de: JUMPDEST
000043df: AND
000043e0: DUP3
000043e1: MSTORE
000043e2: JUMP
000043e3: JUMPDEST
000043e4: PUSH4 0x4e487b71
000043e9: PUSH1 0xe0
000043eb: SHL
000043ec: PUSH1 0x00
000043ee: MSTORE
000043ef: PUSH1 0x01
000043f1: PUSH1 0x04
000043f3: MSTORE
000043f4: PUSH1 0x24
000043f6: PUSH1 0x00
000043f8: REVERT
000043f9: JUMPDEST
000043fa: DUP5
000043fb: PUSH1 0x44
000043fd: SWAP2
000043fe: PUSH1 0x40
00004400: MLOAD
00004401: SWAP2
00004402: PUSH32 0x4fea5c1a00000000000000000000000000000000000000000000000000000000
00004423: DUP4
00004424: MSTORE
00004425: PUSH1 0x04
00004427: DUP4
00004428: ADD
00004429: MSTORE
0000442a: PUSH1 0x24
0000442c: DUP3
0000442d: ADD
0000442e: MSTORE
0000442f: REVERT
00004430: JUMPDEST
00004431: PUSH1 0x44
00004433: SWAP3
00004434: POP
00004435: PUSH1 0x40
00004437: MLOAD
00004438: SWAP2
00004439: PUSH32 0x47152d6700000000000000000000000000000000000000000000000000000000
0000445a: DUP4
0000445b: MSTORE
0000445c: PUSH1 0x04
0000445e: DUP4
0000445f: ADD
00004460: MSTORE
00004461: PUSH1 0x24
00004463: DUP3
00004464: ADD
00004465: MSTORE
00004466: REVERT
00004467: JUMPDEST
00004468: POP
00004469: POP
0000446a: POP
0000446b: POP
0000446c: POP
0000446d: SWAP1
0000446e: POP
0000446f: PUSH1 0x40
00004471: MLOAD
00004472: PUSH2 0x447a
00004475: DUP2
00004476: PUSH2 0x2b49
00004479: JUMP
0000447a: JUMPDEST
0000447b: PUSH1 0x00
0000447d: DUP2
0000447e: MSTORE
0000447f: PUSH1 0x00
00004481: PUSH1 0x20
00004483: DUP3
00004484: ADD
00004485: MSTORE
00004486: PUSH1 0x00
00004488: PUSH1 0x40
0000448a: DUP3
0000448b: ADD
0000448c: MSTORE
0000448d: SWAP1
0000448e: JUMP

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0xa4513bdccb128eee85a9d959acc611c6dea85b5f6b81f13748b0fbf659f720e2
call_targets: 0xb10daee1fcf62243ae27776d7a92d39dc8740f95
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xa4513bdccb128eee85a9d959acc611c6dea85b5f6b81f13748b0fbf659f720e2",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xb10daee1fcf62243ae27776d7a92d39dc8740f95"
    ],
    "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": "0x01ffc9a7",
            "selector": "0x01ffc9a7",
            "calldata_variants": [
                "0x01ffc9a7",
                "0x01ffc9a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x081812fc",
            "selector": "0x081812fc",
            "calldata_variants": [
                "0x081812fc",
                "0x081812fc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1400ecec",
            "selector": "0x1400ecec",
            "calldata_variants": [
                "0x1400ecec",
                "0x1400ecec0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1b4103a9",
            "selector": "0x1b4103a9",
            "calldata_variants": [
                "0x1b4103a9",
                "0x1b4103a90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1c1cdd4c",
            "selector": "0x1c1cdd4c",
            "calldata_variants": [
                "0x1c1cdd4c",
                "0x1c1cdd4c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1e99d569",
            "selector": "0x1e99d569",
            "calldata_variants": [
                "0x1e99d569",
                "0x1e99d5690000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 5801,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6021,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6617,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 8,
    "guards_detected": [],
    "untrusted_call_count": 8
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0xa4513bdccb128eee85a9d959acc611c6dea85b5f6b81f13748b0fbf659f720e2
call_targets: 0xb10daee1fcf62243ae27776d7a92d39dc8740f95
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xa4513bdccb128eee85a9d959acc611c6dea85b5f6b81f13748b0fbf659f720e2",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xb10daee1fcf62243ae27776d7a92d39dc8740f95"
    ],
    "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": "0x01ffc9a7",
            "selector": "0x01ffc9a7",
            "calldata_variants": [
                "0x01ffc9a7",
                "0x01ffc9a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x081812fc",
            "selector": "0x081812fc",
            "calldata_variants": [
                "0x081812fc",
                "0x081812fc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1400ecec",
            "selector": "0x1400ecec",
            "calldata_variants": [
                "0x1400ecec",
                "0x1400ecec0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1b4103a9",
            "selector": "0x1b4103a9",
            "calldata_variants": [
                "0x1b4103a9",
                "0x1b4103a90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1c1cdd4c",
            "selector": "0x1c1cdd4c",
            "calldata_variants": [
                "0x1c1cdd4c",
                "0x1c1cdd4c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1e99d569",
            "selector": "0x1e99d569",
            "calldata_variants": [
                "0x1e99d569",
                "0x1e99d5690000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 5801,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6021,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6617,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 8,
    "guards_detected": []
}
low other codex Fee-on-transfer tokens can underfund streams and break protocol revenue accounting 65 no
view
evidence_json
{
    "evidence": "`_createWithRange` records amounts and then transfers the expected `deposit + protocolFee` (and broker fee) without verifying actual received balances, so deflationary tokens can cause undercollateralized streams.",
    "locations": [
        "contracts/src/SablierV2LockupLinear.sol:499",
        "contracts/src/SablierV2LockupLinear.sol:502",
        "contracts/src/SablierV2LockupLinear.sol:510"
    ],
    "recommendation": "Either reject fee-on-transfer tokens by checking `balanceBefore/after` and requiring the received amount equals the expected transfer, or adjust `deposit`/`protocolFee` accounting based on actual received amounts before minting/recording the stream.",
    "exploit_scenario": "A funder creates a stream using a deflationary/fee-on-transfer ERC20. `_createWithRange` records the full `createAmounts.deposit` and `createAmounts.protocolFee`, but `safeTransferFrom` delivers fewer tokens. The stream\u2019s accounting assumes full funding, so recipients may be unable to withdraw the full streamed amount and admin claims for that asset can revert due to insufficient balance."
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 14
}