27a2f35d-e022-40b2-a099-eb4efd5f89c4
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 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 |
No slither job recorded yet.
[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"]}]}
{
"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
}
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
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_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 |
viewtrace_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 | — |
viewevidence_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 | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 14
}
|