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

Analysis Run

5161ce87-41dd-4d44-b9c5-69a79104a9ad

complete
Chain ID
1
Address
Block Number
Created
Mon, Dec 29, 2025 8:52 AM
Review Summary

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
30478 report.consolidate complete 1 / 1 3 months ago
103727 artifact.fetch complete 1 / 3 1 week ago
103728 tool.cast_disasm complete 1 / 3 1 week ago
103729 analysis.bundle complete 1 / 3 1 week ago
103730 capability.graph complete 1 / 3 1 week ago
103731 detector.run complete 1 / 3 1 week ago
103732 validation.fork complete 1 / 3 1 week ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
2
No findings?
no
Summary
Found 2 issues: a math underflow in `depletionTimeOf` that can return incorrect timestamps, and an accounting mismatch when using fee-on-transfer/rebasing ERC20s that can lock withdrawals.
View stderr
[codex:1251094] OpenAI Codex v0.77.0 (research preview)
[codex:1251094] --------
[codex:1251094] workdir: /tmp/codex-multi-us1p60_3
[codex:1251094] model: gpt-5.2-codex
[codex:1251094] provider: openai
[codex:1251094] approval: never
[codex:1251094] sandbox: read-only
[codex:1251094] reasoning effort: xhigh
[codex:1251094] reasoning summaries: auto
[codex:1251094] session id: 019b6945-e035-73f0-987b-a6fafe527894
[codex:1251094] --------
[codex:1251094] user
[codex:1251094] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:1251094] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:1251094] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:1251094] 
[codex:1251094] Scope rules:
[codex:1251094] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:1251094] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:1251094] 
[codex:1251094] Output MUST be valid JSON matching the provided schema.
[codex:1251094] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:1251094] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:1251094] 
[codex:1251094] Output constraints (IMPORTANT):
[codex:1251094] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1251094] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1251094] mcp startup: no servers
[codex:1251094] 
[codex:1251094] thinking
[codex:1251094] **Preparing to read audit bundle**
[codex:1251094] exec
[codex:1251094] /bin/bash -lc ls in /tmp/codex-multi-us1p60_3 succeeded in 5ms:
[codex:1251094] AUDIT_BUNDLE.txt
[codex:1251094] codex-output-schema.json
[codex:1251094] contracts
[codex:1251094] 
[codex:1251094] thinking
[codex:1251094] **Reading AUDIT_BUNDLE.txt contents**
[codex:1251094] exec
[codex:1251094] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-us1p60_3 succeeded in 6ms:
[codex:1251094] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1251094] 
[codex:1251094] ================================================================================
[codex:1251094] FILE: contracts/node_modules/@openzeppelin/contracts/interfaces/IERC165.sol
[codex:1251094] ================================================================================
[codex:1251094] // SPDX-License-Identifier: MIT
[codex:1251094] // OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC165.sol)
[codex:1251094] 
[codex:1251094] pragma solidity ^0.8.20;
[codex:1251094] 
[codex:1251094] import {IERC165} from "../utils/introspection/IERC165.sol";
[codex:1251094] 
[codex:1251094] ================================================================================
[codex:1251094] FILE: contracts/node_modules/@openzeppelin/contracts/interfaces/IERC4906.sol
[codex:1251094] ================================================================================
[codex:1251094] // SPDX-License-Identifier: MIT
[codex:1251094] // OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC4906.sol)
[codex:1251094] 
[codex:1251094] pragma solidity ^0.8.20;
[codex:1251094] 
[codex:1251094] 
[codex:1251094] thinking
[codex:1251094] **Preparing to analyze contracts**
[codex:1251094] exec
[codex:1251094] /bin/bash -lc 'rg --files contracts/src' in /tmp/codex-multi-us1p60_3 succeeded in 10ms:
[codex:1251094] contracts/src/interfaces/IAdminable.sol
[codex:1251094] contracts/src/interfaces/ISablierFlow.sol
[codex:1251094] contracts/src/interfaces/IFlowNFTDescriptor.sol
[codex:1251094] contracts/src/interfaces/IBatch.sol
[codex:1251094] contracts/src/interfaces/ISablierFlowBase.sol
[codex:1251094] contracts/src/SablierFlow.sol
[codex:1251094] contracts/src/libraries/Helpers.sol
[codex:1251094] contracts/src/libraries/Errors.sol
[codex:1251094] contracts/src/abstracts/Adminable.sol
[codex:1251094] contracts/src/abstracts/SablierFlowBase.sol
[codex:1251094] contracts/src/abstracts/NoDelegateCall.sol
[codex:1251094] contracts/src/abstracts/Batch.sol
[codex:1251094] contracts/src/types/DataTypes.sol
[codex:1251094] 
[codex:1251094] thinking
[codex:1251094] **Reviewing main contract files**
[codex:1251094] exec
[codex:1251094] /bin/bash -lc "sed -n '1,240p' contracts/src/SablierFlow.sol" in /tmp/codex-multi-us1p60_3 succeeded in 6ms:
[codex:1251094] // SPDX-License-Identifier: BUSL-1.1
[codex:1251094] pragma solidity >=0.8.22;
[codex:1251094] 
[codex:1251094] import { IERC20Metadata } from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
[codex:1251094] import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:1251094] import { SafeERC20 } from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:1251094] import { ERC721 } from "@openzeppelin/contracts/token/ERC721/ERC721.sol";
[codex:1251094] import { SafeCast } from "@openzeppelin/contracts/utils/math/SafeCast.sol";
[codex:1251094] import { ud21x18, UD21x18 } from "@prb/math/src/UD21x18.sol";
[codex:1251094] import { UD60x18, ZERO } from "@prb/math/src/UD60x18.sol";
[codex:1251094] 
[codex:1251094] import { Batch } from "./abstracts/Batch.sol";
[codex:1251094] import { NoDelegateCall } from "./abstracts/NoDelegateCall.sol";
[codex:1251094] import { SablierFlowBase } from "./abstracts/SablierFlowBase.sol";
[codex:1251094] import { IFlowNFTDescriptor } from "./interfaces/IFlowNFTDescriptor.sol";
[codex:1251094] import { ISablierFlow } from "./interfaces/ISablierFlow.sol";
[codex:1251094] import { Errors } from "./libraries/Errors.sol";
[codex:1251094] import { Helpers } from "./libraries/Helpers.sol";
[codex:1251094] import { Broker, Flow } from "./types/DataTypes.sol";
[codex:1251094] 
[codex:1251094] exec
[codex:1251094] /bin/bash -lc "sed -n '1,240p' contracts/src/abstracts/SablierFlowBase.sol" in /tmp/codex-multi-us1p60_3 succeeded in 5ms:
[codex:1251094] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:1251094] pragma solidity >=0.8.22;
[codex:1251094] 
[codex:1251094] import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:1251094] import { SafeERC20 } from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:1251094] import { ERC721 } from "@openzeppelin/contracts/token/ERC721/ERC721.sol";
[codex:1251094] import { IERC721Metadata } from "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol";
[codex:1251094] import { IERC165 } from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
[codex:1251094] import { UD21x18 } from "@prb/math/src/UD21x18.sol";
[codex:1251094] import { UD60x18 } from "@prb/math/src/UD60x18.sol";
[codex:1251094] 
[codex:1251094] import { IFlowNFTDescriptor } from "./../interfaces/IFlowNFTDescriptor.sol";
[codex:1251094] import { ISablierFlowBase } from "./../interfaces/ISablierFlowBase.sol";
[codex:1251094] import { Errors } from "./../libraries/Errors.sol";
[codex:1251094] import { Flow } from "./../types/DataTypes.sol";
[codex:1251094] import { Adminable } from "./Adminable.sol";
[codex:1251094] 
[codex:1251094] /// @title SablierFlowBase
[codex:1251094] /// @notice See the documentation in {ISablierFlowBase}.
[codex:1251094] abstract contract SablierFlowBase is
[codex:1251094] exec
[codex:1251094] /bin/bash -lc "sed -n '1,200p' contracts/src/abstracts/Adminable.sol" in /tmp/codex-multi-us1p60_3 succeeded in 5ms:
[codex:1251094] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:1251094] pragma solidity >=0.8.22;
[codex:1251094] 
[codex:1251094] import { IAdminable } from "../interfaces/IAdminable.sol";
[codex:1251094] import { Errors } from "../libraries/Errors.sol";
[codex:1251094] 
[codex:1251094] /// @title Adminable
[codex:1251094] /// @notice See the documentation in {IAdminable}.
[codex:1251094] abstract contract Adminable is IAdminable {
[codex:1251094]     /*//////////////////////////////////////////////////////////////////////////
[codex:1251094]                                   STATE VARIABLES
[codex:1251094]     //////////////////////////////////////////////////////////////////////////*/
[codex:1251094] 
[codex:1251094]     /// @inheritdoc IAdminable
[codex:1251094]     address public override admin;
[codex:1251094] 
[codex:1251094]     /*//////////////////////////////////////////////////////////////////////////
[codex:1251094]                                       MODIFIERS
[codex:1251094]     //////////////////////////////////////////////////////////////////////////*/
[codex:1251094] 
[codex:1251094] exec
[codex:1251094] /bin/bash -lc "sed -n '1,200p' contracts/src/abstracts/NoDelegateCall.sol" in /tmp/codex-multi-us1p60_3 succeeded in 5ms:
[codex:1251094] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:1251094] pragma solidity >=0.8.22;
[codex:1251094] 
[codex:1251094] import { Errors } from "../libraries/Errors.sol";
[codex:1251094] 
[codex:1251094] /// @title NoDelegateCall
[codex:1251094] /// @notice This contract implements logic to prevent delegate calls.
[codex:1251094] abstract contract NoDelegateCall {
[codex:1251094]     /// @dev The address of the original contract that was deployed.
[codex:1251094]     address private immutable ORIGINAL;
[codex:1251094] 
[codex:1251094]     /// @dev Sets the original contract address.
[codex:1251094]     constructor() {
[codex:1251094]         ORIGINAL = address(this);
[codex:1251094]     }
[codex:1251094] 
[codex:1251094]     /// @notice Prevents delegate calls.
[codex:1251094]     modifier noDelegateCall() {
[codex:1251094]         _preventDelegateCall();
[codex:1251094]         _;
[codex:1251094] exec
[codex:1251094] /bin/bash -lc "sed -n '1,240p' contracts/src/abstracts/Batch.sol" in /tmp/codex-multi-us1p60_3 succeeded in 5ms:
[codex:1251094] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:1251094] // solhint-disable no-inline-assembly
[codex:1251094] pragma solidity >=0.8.22;
[codex:1251094] 
[codex:1251094] import { IBatch } from "../interfaces/IBatch.sol";
[codex:1251094] 
[codex:1251094] /// @title Batch
[codex:1251094] /// @notice See the documentation in {IBatch}.
[codex:1251094] abstract contract Batch is IBatch {
[codex:1251094]     /*//////////////////////////////////////////////////////////////////////////
[codex:1251094]                          USER-FACING NON-CONSTANT FUNCTIONS
[codex:1251094]     //////////////////////////////////////////////////////////////////////////*/
[codex:1251094] 
[codex:1251094]     /// @inheritdoc IBatch
[codex:1251094]     /// @dev Since `msg.value` can be reused across calls, be VERY CAREFUL when using it. Refer to
[codex:1251094]     /// https://paradigm.xyz/2021/08/two-rights-might-make-a-wrong for more information.
[codex:1251094]     function batch(bytes[] calldata calls) external payable override returns (bytes[] memory results) {
[codex:1251094]         uint256 count = calls.length;
[codex:1251094]         results = new bytes[](count);
[codex:1251094] 
[codex:1251094] 
[codex:1251094] thinking
[codex:1251094] **Opening remainder of SablierFlow file**
[codex:1251094] exec
[codex:1251094] /bin/bash -lc "sed -n '240,520p' contracts/src/SablierFlow.sol" in /tmp/codex-multi-us1p60_3 succeeded in 5ms:
[codex:1251094]         bool transferable,
[codex:1251094]         uint128 amount
[codex:1251094]     )
[codex:1251094]         external
[codex:1251094]         payable
[codex:1251094]         override
[codex:1251094]         noDelegateCall
[codex:1251094]         returns (uint256 streamId)
[codex:1251094]     {
[codex:1251094]         // Checks, Effects, and Interactions: create the stream.
[codex:1251094]         streamId = _create(sender, recipient, ratePerSecond, token, transferable);
[codex:1251094] 
[codex:1251094]         // Checks, Effects, and Interactions: deposit on stream.
[codex:1251094]         _deposit(streamId, amount);
[codex:1251094]     }
[codex:1251094] 
[codex:1251094]     /// @inheritdoc ISablierFlow
[codex:1251094]     function deposit(
[codex:1251094]         uint256 streamId,
[codex:1251094]         uint128 amount,
[codex:1251094] exec
[codex:1251094] /bin/bash -lc "sed -n '520,1040p' contracts/src/SablierFlow.sol" in /tmp/codex-multi-us1p60_3 succeeded in 5ms:
[codex:1251094] 
[codex:1251094]         // Safe to use unchecked because subtraction cannot underflow.
[codex:1251094]         unchecked {
[codex:1251094]             // Calculate time elapsed since the last snapshot.
[codex:1251094]             elapsedTime = blockTimestamp - snapshotTime;
[codex:1251094]         }
[codex:1251094] 
[codex:1251094]         // Calculate the ongoing debt scaled accrued by multiplying the elapsed time by the rate per second.
[codex:1251094]         return elapsedTime * ratePerSecond;
[codex:1251094]     }
[codex:1251094] 
[codex:1251094]     /// @dev Calculates the refundable amount.
[codex:1251094]     function _refundableAmountOf(uint256 streamId) internal view returns (uint128) {
[codex:1251094]         return _streams[streamId].balance - _coveredDebtOf(streamId);
[codex:1251094]     }
[codex:1251094] 
[codex:1251094]     /// @dev The total debt is the sum of the snapshot debt and the ongoing debt descaled to token's decimal. This
[codex:1251094]     /// value is independent of the stream's balance.
[codex:1251094]     function _totalDebtOf(uint256 streamId) internal view returns (uint256) {
[codex:1251094]         uint256 totalDebtScaled = _ongoingDebtScaledOf(streamId) + _streams[streamId].snapshotDebtScaled;
[codex:1251094] 
[codex:1251094] thinking
[codex:1251094] **Continuing to review SablierFlowBase file**
[codex:1251094] exec
[codex:1251094] /bin/bash -lc "sed -n '240,520p' contracts/src/abstracts/SablierFlowBase.sol" in /tmp/codex-multi-us1p60_3 succeeded in 6ms:
[codex:1251094] 
[codex:1251094]         // Interaction: transfer the protocol revenue to the provided address.
[codex:1251094]         token.safeTransfer({ to: to, value: revenue });
[codex:1251094] 
[codex:1251094]         emit ISablierFlowBase.CollectProtocolRevenue({ admin: msg.sender, token: token, to: to, revenue: revenue });
[codex:1251094]     }
[codex:1251094] 
[codex:1251094]     /// @inheritdoc ISablierFlowBase
[codex:1251094]     function recover(IERC20 token, address to) external override onlyAdmin {
[codex:1251094]         uint256 surplus = token.balanceOf(address(this)) - aggregateBalance[token];
[codex:1251094] 
[codex:1251094]         // Check: there is a surplus to recover.
[codex:1251094]         if (surplus == 0) {
[codex:1251094]             revert Errors.SablierFlowBase_SurplusZero(address(token));
[codex:1251094]         }
[codex:1251094] 
[codex:1251094]         // Interaction: transfer the surplus to the provided address.
[codex:1251094]         token.safeTransfer(to, surplus);
[codex:1251094] 
[codex:1251094]         emit Recover(msg.sender, token, to, surplus);
[codex:1251094] 
[codex:1251094] 
[codex:1251094] thinking
[codex:1251094] **Analyzing potential reentrancy risks**
[codex:1251094] thinking
[codex:1251094] **Reviewing delegatecall and reentrancy protections**
[codex:1251094] 
[codex:1251094] I’m sorting through how batch delegatecalls to self interact with the noDelegateCall modifier and checking if reentrancy risks persist despite state updates before external calls. Batch’s delegatecall bypasses some noDelegateCall checks but seems intentional and safe here. Also, some payable calls send ETH without state updates before transfer, so I’m verifying if reentrancy could cause issues in those cases.
[codex:1251094] exec
[codex:1251094] /bin/bash -lc "rg -n \"delegatecall|call\\{|transfer\\(|safeTransfer|safeTransferFrom\" contracts/src" in /tmp/codex-multi-us1p60_3 succeeded in 10ms:
[codex:1251094] contracts/src/SablierFlow.sol:671:        token.safeTransferFrom({ from: msg.sender, to: address(this), value: amount });
[codex:1251094] contracts/src/SablierFlow.sol:687:        _streams[streamId].token.safeTransferFrom({ from: msg.sender, to: broker.account, value: brokerFeeAmount });
[codex:1251094] contracts/src/SablierFlow.sol:737:        token.safeTransfer({ to: sender, value: amount });
[codex:1251094] contracts/src/SablierFlow.sol:893:        token.safeTransfer({ to: to, value: amount });
[codex:1251094] contracts/src/abstracts/Batch.sol:22:            (bool success, bytes memory result) = address(this).delegatecall(calls[i]);
[codex:1251094] contracts/src/abstracts/Batch.sol:24:            // Check: If the delegatecall failed, load and bubble up the revert data.
[codex:1251094] contracts/src/abstracts/SablierFlowBase.sol:213:        (bool success,) = admin.call{ value: feeAmount }("");
[codex:1251094] contracts/src/abstracts/SablierFlowBase.sol:242:        token.safeTransfer({ to: to, value: revenue });
[codex:1251094] contracts/src/abstracts/SablierFlowBase.sol:257:        token.safeTransfer(to, surplus);
[codex:1251094] 
[codex:1251094] thinking
[codex:1251094] **Analyzing contract balance tracking and potential vulnerabilities**
[codex:1251094] exec
[codex:1251094] /bin/bash -lc "sed -n '1,260p' contracts/src/interfaces/ISablierFlowBase.sol" in /tmp/codex-multi-us1p60_3 succeeded in 5ms:
[codex:1251094] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:1251094] pragma solidity >=0.8.22;
[codex:1251094] 
[codex:1251094] import { IERC4906 } from "@openzeppelin/contracts/interfaces/IERC4906.sol";
[codex:1251094] import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:1251094] import { IERC721Metadata } from "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol";
[codex:1251094] import { UD21x18 } from "@prb/math/src/UD21x18.sol";
[codex:1251094] import { UD60x18 } from "@prb/math/src/UD60x18.sol";
[codex:1251094] import { Flow } from "./../types/DataTypes.sol";
[codex:1251094] import { IAdminable } from "./IAdminable.sol";
[codex:1251094] import { IFlowNFTDescriptor } from "./IFlowNFTDescriptor.sol";
[codex:1251094] 
[codex:1251094] /// @title ISablierFlowBase
[codex:1251094] /// @notice Base contract that includes state variables (storage and constants) for the {SablierFlow} contract,
[codex:1251094] /// their respective getters, helpful modifiers, and helper functions.
[codex:1251094] /// @dev This contract also includes admin control functions.
[codex:1251094] interface ISablierFlowBase is
[codex:1251094]     IERC4906, // 2 inherited components
[codex:1251094]     IERC721Metadata, // 2 inherited components
[codex:1251094]     IAdminable // 0 inherited components
[codex:1251094] 
[codex:1251094] 
[codex:1251094] thinking
[codex:1251094] **Analyzing balance aggregation and reentrancy risks**
[codex:1251094] 
[codex:1251094] I'm untangling how aggregateBalance includes protocol revenue despite docs suggesting it sums only stream balances, finding this mismatch intentional for correct surplus calculation and safe revenue recovery. I’m also scrutinizing reentrancy risks around token transfers, external calls, and batch delegatecalls, noting potential denial-of-service from malicious tokens but no critical vulnerabilities—this looks more about accounting nuances and proper access control than exploitable flaws.
[codex:1251094] thinking
[codex:1251094] **Inspecting proxy delegatecall and scaling math**
[codex:1251094] 
[codex:1251094] I'm exploring how batch’s delegatecall interacts with noDelegateCall checks in proxy setups, confirming no easy bypass since noDelegateCall triggers revert when called through proxy. I’m also examining scaling math for token amounts with decimals less than 18, checking for possible overflow in unchecked multiplication but finding the values safely within uint256 limits given typical amount sizes.
[codex:1251094] exec
[codex:1251094] /bin/bash -lc 'rg -n "scaleAmount" contracts/src/SablierFlow.sol' in /tmp/codex-multi-us1p60_3 succeeded in 8ms:
[codex:1251094] 73:        uint256 balanceScaled = Helpers.scaleAmount({ amount: balance, decimals: tokenDecimals });
[codex:1251094] 78:        uint256 oneMVTScaled = Helpers.scaleAmount({ amount: 1, decimals: tokenDecimals });
[codex:1251094] 540:        return Helpers.descaleAmount({ amount: totalDebtScaled, decimals: _streams[streamId].tokenDecimals });
[codex:1251094] 778:                Helpers.scaleAmount({ amount: _streams[streamId].balance, decimals: _streams[streamId].tokenDecimals });
[codex:1251094] 830:        uint256 totalDebt = Helpers.descaleAmount(totalDebtScaled, tokenDecimals);
[codex:1251094] 850:        uint256 amountScaled = Helpers.scaleAmount(amount, tokenDecimals);
[codex:1251094] 
[codex:1251094] 
[codex:1251094] 
[codex:1251094] thinking
[codex:1251094] **Analyzing potential contract vulnerabilities**
[codex:1251094] 
[codex:1251094] I'm carefully examining various parts of the contract for overflow risks, reentrancy issues, access control weaknesses, and the effects of `batch` delegatecalls. I’m looking into token decimals handling, admin permissions, external calls (like in `tokenURI`), and how approvals might affect stream operations. I’m also considering subtle behaviors like interaction during payable calls, recursive batch calls, and possible logic gaps around `void` and `refund`. Overall, I’m weighing whether these present real vulnerabilities or are expected behaviors.
[codex:1251094] thinking
[codex:1251094] **Examining proxy interactions and math edge cases**
[codex:1251094] 
[codex:1251094] I’m exploring how the contract behaves behind a proxy, especially with batch delegatecalls and the noDelegateCall modifier. I’m digging into a subtle underflow bug in depletionTimeOf caused by scaled debt rounding that could yield incorrect depletion times, along with potential implications of rounding dust in debt accounting. I’m also cross-checking reentrancy scenarios involving deposits and withdrawals, and access control nuances around admin and fee collection. There’s a lot to unpack here!
[codex:1251094] thinking
[codex:1251094] **Evaluating token handling and approval mechanics**
[codex:1251094] 
[codex:1251094] I’m reviewing how the contract manages token deposits and withdrawals, especially regarding fee-on-transfer and rebasing tokens that could cause accounting mismatches or locked funds. I’m also considering the implications of stream sender versus depositor distinctions and how approved operators can withdraw to arbitrary addresses. There are subtle nuances here affecting compatibility and control, but no clear critical vulnerabilities stand out yet.
[codex:1251094] exec
[codex:1251094] /bin/bash -lc "sed -n '1,200p' contracts/src/interfaces/IAdminable.sol" in /tmp/codex-multi-us1p60_3 succeeded in 7ms:
[codex:1251094] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:1251094] pragma solidity >=0.8.22;
[codex:1251094] 
[codex:1251094] /// @title IAdminable
[codex:1251094] /// @notice Contract module that provides a basic access control mechanism, with an admin that can be
[codex:1251094] /// granted exclusive access to specific functions. The inheriting contract must set the initial admin
[codex:1251094] /// in the constructor.
[codex:1251094] interface IAdminable {
[codex:1251094]     /*//////////////////////////////////////////////////////////////////////////
[codex:1251094]                                        EVENTS
[codex:1251094]     //////////////////////////////////////////////////////////////////////////*/
[codex:1251094] 
[codex:1251094]     /// @notice Emitted when the admin is transferred.
[codex:1251094]     /// @param oldAdmin The address of the old admin.
[codex:1251094]     /// @param newAdmin The address of the new admin.
[codex:1251094]     event TransferAdmin(address indexed oldAdmin, address indexed newAdmin);
[codex:1251094] 
[codex:1251094]     /*//////////////////////////////////////////////////////////////////////////
[codex:1251094]                                  CONSTANT FUNCTIONS
[codex:1251094]     //////////////////////////////////////////////////////////////////////////*/
[codex:1251094] 
[codex:1251094] thinking
[codex:1251094] **Analyzing potential reentrancy and access risks**
[codex:1251094] 
[codex:1251094] I'm carefully weighing various contract functions for reentrancy, access control, delegatecall use, and token transfer edge cases. There’s intricate reasoning around how malicious tokens might reenter during deposits to manipulate balances, but overall, most scenarios seem secure or limited in impact. I’m focusing on subtle accounting and delegatecall behaviors, especially in batch calls and admin transfers, to identify any real vulnerabilities or inconsistent checks.
[codex:1251094] exec
[codex:1251094] /bin/bash -lc "nl -ba contracts/src/SablierFlow.sol | sed -n '40,140p'" in /tmp/codex-multi-us1p60_3 succeeded in 7ms:
[codex:1251094]     40	        address initialAdmin,
[codex:1251094]     41	        IFlowNFTDescriptor initialNFTDescriptor
[codex:1251094]     42	    )
[codex:1251094]     43	        ERC721("Sablier Flow NFT", "SAB-FLOW")
[codex:1251094]     44	        SablierFlowBase(initialAdmin, initialNFTDescriptor)
[codex:1251094]     45	    { }
[codex:1251094]     46	
[codex:1251094]     47	    /*//////////////////////////////////////////////////////////////////////////
[codex:1251094]     48	                                 CONSTANT FUNCTIONS
[codex:1251094]     49	    //////////////////////////////////////////////////////////////////////////*/
[codex:1251094]     50	
[codex:1251094]     51	    /// @inheritdoc ISablierFlow
[codex:1251094]     52	    function coveredDebtOf(uint256 streamId) external view override notNull(streamId) returns (uint128 coveredDebt) {
[codex:1251094]     53	        coveredDebt = _coveredDebtOf(streamId);
[codex:1251094]     54	    }
[codex:1251094]     55	
[codex:1251094]     56	    /// @inheritdoc ISablierFlow
[codex:1251094]     57	    function depletionTimeOf(uint256 streamId)
[codex:1251094]     58	        external
[codex:1251094]     59	        view
[codex:1251094] 
[codex:1251094] 
[codex:1251094] thinking
[codex:1251094] **Analyzing potential underflow and invariants in debt calculations**
[codex:1251094] thinking
[codex:1251094] **Evaluating scaling edge cases and upgrade patterns**
[codex:1251094] 
[codex:1251094] I’m exploring how the scaled debt can exceed the scaled balance by just under one unit of the smallest token fraction, causing an unchecked underflow that yields incorrect depletion times. I’m also considering how the batch delegatecall and missing noDelegateCall protections on admin functions could introduce upgradeability risks if used behind a proxy, even though this contract isn’t designed for that. There’s a subtle tension between accounting correctness at fixed-point precision and external contract usage patterns worth flagging.
[codex:1251094] exec
[codex:1251094] /bin/bash -lc "nl -ba contracts/src/SablierFlow.sol | sed -n '620,750p'" in /tmp/codex-multi-us1p60_3 succeeded in 10ms:
[codex:1251094]    620	        _streams[streamId] = Flow.Stream({
[codex:1251094]    621	            balance: 0,
[codex:1251094]    622	            isStream: true,
[codex:1251094]    623	            isTransferable: transferable,
[codex:1251094]    624	            isVoided: false,
[codex:1251094]    625	            ratePerSecond: ratePerSecond,
[codex:1251094]    626	            sender: sender,
[codex:1251094]    627	            snapshotDebtScaled: 0,
[codex:1251094]    628	            snapshotTime: uint40(block.timestamp),
[codex:1251094]    629	            token: token,
[codex:1251094]    630	            tokenDecimals: tokenDecimals
[codex:1251094]    631	        });
[codex:1251094]    632	
[codex:1251094]    633	        // Using unchecked arithmetic because this calculation can never realistically overflow.
[codex:1251094]    634	        unchecked {
[codex:1251094]    635	            // Effect: bump the next stream ID.
[codex:1251094]    636	            nextStreamId = streamId + 1;
[codex:1251094]    637	        }
[codex:1251094]    638	
[codex:1251094]    639	        // Effect: mint the NFT to the recipient.
[codex:1251094] 
[codex:1251094] thinking
[codex:1251094] **Summarizing audit findings and JSON output**
[codex:1251094] 
[codex:1251094] I'll organize two main issues: a low-severity math underflow in depletionTimeOf calculation and a low-severity compatibility problem with fee-on-transfer/rebasing tokens causing internal balance inconsistencies and withdrawal failures, and then format these into a precise JSON according to the schema with all required fields, evidence, and locations.
[codex:1251094] codex
[codex:1251094] {"no_findings":false,"summary":"Found 2 issues: a math underflow in `depletionTimeOf` that can return incorrect timestamps, and an accounting mismatch when using fee-on-transfer/rebasing ERC20s that can lock withdrawals.","findings":[{"severity":"low","category":"math","title":"`depletionTimeOf` can underflow for near-solvent streams due to scaled rounding","exploit_scenario":"For tokens with decimals < 18, `totalDebtScaled` can exceed `balanceScaled` by less than one MVT (e.g., remainder < 10^(18-decimals)) while the descaled total debt is still <= balance. In that case, the guard `snapshotDebtScaled + ongoingDebtScaled >= balanceScaled + oneMVTScaled` is false, and the unchecked subtraction `balanceScaled - snapshotDebtScaled` underflows, producing a huge `solvencyAmount` and an incorrect `depletionTime`. Off-chain or on-chain consumers can be misled into thinking a stream won’t deplete for an extremely long time.","recommendation":"Tighten the guard to ensure `snapshotDebtScaled + ongoingDebtScaled <= balanceScaled` before the unchecked subtraction, or perform checked subtraction and return 0 when `snapshotDebtScaled > balanceScaled`. Alternatively, compute with signed math or clamp `solvencyAmount` when debt exceeds balance by any amount.","evidence":"`depletionTimeOf` checks `snapshotDebtScaled + _ongoingDebtScaledOf(streamId) >= balanceScaled + oneMVTScaled`, then in `unchecked` computes `balanceScaled - snapshotDebtScaled + oneMVTScaled` without guarding against `snapshotDebtScaled > balanceScaled` by less than one MVT.","locations":["contracts/src/SablierFlow.sol:80","contracts/src/SablierFlow.sol:92"]},{"severity":"low","category":"other","title":"Fee-on-transfer/rebasing ERC20s can break stream accounting and lock withdrawals","exploit_scenario":"If a token charges a transfer fee or rebases down, `_deposit` will still credit the full `amount` to the stream and `aggregateBalance` even though fewer tokens are actually received. This inflates internal balances and can make future withdrawals revert due to insufficient contract balance, effectively locking funds for that token. The mismatch also makes `aggregateBalance` inaccurate, preventing `recover` from working as intended. A malicious or non-standard token can therefore cause persistent insolvency/DoS for streams using it.","recommendation":"Restrict supported tokens to standard ERC20s without transfer fees/rebases, or compute the actual received amount via balance-before/after and credit that delta. Consider reverting when `balanceAfter - balanceBefore != amount` to enforce invariant safety.","evidence":"`_deposit` increments stream balance and `aggregateBalance` by `amount` before calling `token.safeTransferFrom`, without checking actual received tokens.","locations":["contracts/src/SablierFlow.sol:653","contracts/src/SablierFlow.sol:662","contracts/src/SablierFlow.sol:670"]}]}
[codex:1251094] tokens used
[codex:1251094] 66,777
[codex:1251094] {"no_findings":false,"summary":"Found 2 issues: a math underflow in `depletionTimeOf` that can return incorrect timestamps, and an accounting mismatch when using fee-on-transfer/rebasing ERC20s that can lock withdrawals.","findings":[{"severity":"low","category":"math","title":"`depletionTimeOf` can underflow for near-solvent streams due to scaled rounding","exploit_scenario":"For tokens with decimals < 18, `totalDebtScaled` can exceed `balanceScaled` by less than one MVT (e.g., remainder < 10^(18-decimals)) while the descaled total debt is still <= balance. In that case, the guard `snapshotDebtScaled + ongoingDebtScaled >= balanceScaled + oneMVTScaled` is false, and the unchecked subtraction `balanceScaled - snapshotDebtScaled` underflows, producing a huge `solvencyAmount` and an incorrect `depletionTime`. Off-chain or on-chain consumers can be misled into thinking a stream won’t deplete for an extremely long time.","recommendation":"Tighten the guard to ensure `snapshotDebtScaled + ongoingDebtScaled <= balanceScaled` before the unchecked subtraction, or perform checked subtraction and return 0 when `snapshotDebtScaled > balanceScaled`. Alternatively, compute with signed math or clamp `solvencyAmount` when debt exceeds balance by any amount.","evidence":"`depletionTimeOf` checks `snapshotDebtScaled + _ongoingDebtScaledOf(streamId) >= balanceScaled + oneMVTScaled`, then in `unchecked` computes `balanceScaled - snapshotDebtScaled + oneMVTScaled` without guarding against `snapshotDebtScaled > balanceScaled` by less than one MVT.","locations":["contracts/src/SablierFlow.sol:80","contracts/src/SablierFlow.sol:92"]},{"severity":"low","category":"other","title":"Fee-on-transfer/rebasing ERC20s can break stream accounting and lock withdrawals","exploit_scenario":"If a token charges a transfer fee or rebases down, `_deposit` will still credit the full `amount` to the stream and `aggregateBalance` even though fewer tokens are actually received. This inflates internal balances and can make future withdrawals revert due to insufficient contract balance, effectively locking funds for that token. The mismatch also makes `aggregateBalance` inaccurate, preventing `recover` from working as intended. A malicious or non-standard token can therefore cause persistent insolvency/DoS for streams using it.","recommendation":"Restrict supported tokens to standard ERC20s without transfer fees/rebases, or compute the actual received amount via balance-before/after and credit that delta. Consider reverting when `balanceAfter - balanceBefore != amount` to enforce invariant safety.","evidence":"`_deposit` increments stream balance and `aggregateBalance` by `amount` before calling `token.safeTransferFrom`, without checking actual received tokens.","locations":["contracts/src/SablierFlow.sol:653","contracts/src/SablierFlow.sol:662","contracts/src/SablierFlow.sol:670"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-29T08:52:51.664995+00:00",
        "returncode": 0
    },
    "summary": "Found 2 issues: a math underflow in `depletionTimeOf` that can return incorrect timestamps, and an accounting mismatch when using fee-on-transfer/rebasing ERC20s that can lock withdrawals.",
    "raw_final": {
        "summary": "Found 2 issues: a math underflow in `depletionTimeOf` that can return incorrect timestamps, and an accounting mismatch when using fee-on-transfer/rebasing ERC20s that can lock withdrawals.",
        "findings": [
            {
                "title": "`depletionTimeOf` can underflow for near-solvent streams due to scaled rounding",
                "category": "math",
                "evidence": "`depletionTimeOf` checks `snapshotDebtScaled + _ongoingDebtScaledOf(streamId) >= balanceScaled + oneMVTScaled`, then in `unchecked` computes `balanceScaled - snapshotDebtScaled + oneMVTScaled` without guarding against `snapshotDebtScaled > balanceScaled` by less than one MVT.",
                "severity": "low",
                "locations": [
                    "contracts/src/SablierFlow.sol:80",
                    "contracts/src/SablierFlow.sol:92"
                ],
                "recommendation": "Tighten the guard to ensure `snapshotDebtScaled + ongoingDebtScaled <= balanceScaled` before the unchecked subtraction, or perform checked subtraction and return 0 when `snapshotDebtScaled > balanceScaled`. Alternatively, compute with signed math or clamp `solvencyAmount` when debt exceeds balance by any amount.",
                "exploit_scenario": "For tokens with decimals < 18, `totalDebtScaled` can exceed `balanceScaled` by less than one MVT (e.g., remainder < 10^(18-decimals)) while the descaled total debt is still <= balance. In that case, the guard `snapshotDebtScaled + ongoingDebtScaled >= balanceScaled + oneMVTScaled` is false, and the unchecked subtraction `balanceScaled - snapshotDebtScaled` underflows, producing a huge `solvencyAmount` and an incorrect `depletionTime`. Off-chain or on-chain consumers can be misled into thinking a stream won\u2019t deplete for an extremely long time."
            },
            {
                "title": "Fee-on-transfer/rebasing ERC20s can break stream accounting and lock withdrawals",
                "category": "other",
                "evidence": "`_deposit` increments stream balance and `aggregateBalance` by `amount` before calling `token.safeTransferFrom`, without checking actual received tokens.",
                "severity": "low",
                "locations": [
                    "contracts/src/SablierFlow.sol:653",
                    "contracts/src/SablierFlow.sol:662",
                    "contracts/src/SablierFlow.sol:670"
                ],
                "recommendation": "Restrict supported tokens to standard ERC20s without transfer fees/rebases, or compute the actual received amount via balance-before/after and credit that delta. Consider reverting when `balanceAfter - balanceBefore != amount` to enforce invariant safety.",
                "exploit_scenario": "If a token charges a transfer fee or rebases down, `_deposit` will still credit the full `amount` to the stream and `aggregateBalance` even though fewer tokens are actually received. This inflates internal balances and can make future withdrawals revert due to insufficient contract balance, effectively locking funds for that token. The mismatch also makes `aggregateBalance` inaccurate, preventing `recover` from working as intended. A malicious or non-standard token can therefore cause persistent insolvency/DoS for streams using it."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
1
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
6
EXT*/BALANCE
2
Total opcodes
10316
Flags
delegatecall_present
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: ISZERO
0000000a: PUSH2 0x0011
0000000d: JUMPI
0000000e: PUSH0
0000000f: DUP1
00000010: REVERT
00000011: JUMPDEST
00000012: PUSH0
00000013: CALLDATALOAD
00000014: PUSH1 0xe0
00000016: SHR
00000017: DUP1
00000018: PUSH4 0x01ffc9a7
0000001d: EQ
0000001e: PUSH2 0x03ff
00000021: JUMPI
00000022: DUP1
00000023: PUSH4 0x06fdde03
00000028: EQ
00000029: PUSH2 0x03fa
0000002c: JUMPI
0000002d: DUP1
0000002e: PUSH4 0x081812fc
00000033: EQ
00000034: PUSH2 0x03f5
00000037: JUMPI
00000038: DUP1
00000039: PUSH4 0x08b87923
0000003e: EQ
0000003f: PUSH2 0x03f0
00000042: JUMPI
00000043: DUP1
00000044: PUSH4 0x095ea7b3
00000049: EQ
0000004a: PUSH2 0x03eb
0000004d: JUMPI
0000004e: DUP1
0000004f: PUSH4 0x0c5fd195
00000054: EQ
00000055: PUSH2 0x03e6
00000058: JUMPI
00000059: DUP1
0000005a: PUSH4 0x0c699624
0000005f: EQ
00000060: PUSH2 0x03e1
00000063: JUMPI
00000064: DUP1
00000065: PUSH4 0x136439dd
0000006a: EQ
0000006b: PUSH2 0x03dc
0000006e: JUMPI
0000006f: DUP1
00000070: PUSH4 0x1400ecec
00000075: EQ
00000076: PUSH2 0x03d7
00000079: JUMPI
0000007a: DUP1
0000007b: PUSH4 0x1e010439
00000080: EQ
00000081: PUSH2 0x03d2
00000084: JUMPI
00000085: DUP1
00000086: PUSH4 0x1e897afb
0000008b: EQ
0000008c: PUSH2 0x03cd
0000008f: JUMPI
00000090: DUP1
00000091: PUSH4 0x1e99d569
00000096: EQ
00000097: PUSH2 0x03c8
0000009a: JUMPI
0000009b: DUP1
0000009c: PUSH4 0x1f0cce58
000000a1: EQ
000000a2: PUSH2 0x03c3
000000a5: JUMPI
000000a6: DUP1
000000a7: PUSH4 0x23b872dd
000000ac: EQ
000000ad: PUSH2 0x03be
000000b0: JUMPI
000000b1: DUP1
000000b2: PUSH4 0x379d871a
000000b7: EQ
000000b8: PUSH2 0x03b9
000000bb: JUMPI
000000bc: DUP1
000000bd: PUSH4 0x42842e0e
000000c2: EQ
000000c3: PUSH2 0x03b4
000000c6: JUMPI
000000c7: DUP1
000000c8: PUSH4 0x42e3e23d
000000cd: EQ
000000ce: PUSH2 0x02fb
000000d1: JUMPI
000000d2: DUP1
000000d3: PUSH4 0x44267570
000000d8: EQ
000000d9: PUSH2 0x03af
000000dc: JUMPI
000000dd: DUP1
000000de: PUSH4 0x450ac908
000000e3: EQ
000000e4: PUSH2 0x03aa
000000e7: JUMPI
000000e8: DUP1
000000e9: PUSH4 0x569f4c59
000000ee: EQ
000000ef: PUSH2 0x03a5
000000f2: JUMPI
000000f3: DUP1
000000f4: PUSH4 0x597150fa
000000f9: EQ
000000fa: PUSH2 0x03a0
000000fd: JUMPI
000000fe: DUP1
000000ff: PUSH4 0x5ea2145b
00000104: EQ
00000105: PUSH2 0x039b
00000108: JUMPI
00000109: DUP1
0000010a: PUSH4 0x5f553152
0000010f: EQ
00000110: PUSH2 0x0396
00000113: JUMPI
00000114: DUP1
00000115: PUSH4 0x6352211e
0000011a: EQ
0000011b: PUSH2 0x0391
0000011e: JUMPI
0000011f: DUP1
00000120: PUSH4 0x648bf774
00000125: EQ
00000126: PUSH2 0x038c
00000129: JUMPI
0000012a: DUP1
0000012b: PUSH4 0x6d0cee75
00000130: EQ
00000131: PUSH2 0x0387
00000134: JUMPI
00000135: DUP1
00000136: PUSH4 0x70a08231
0000013b: EQ
0000013c: PUSH2 0x0382
0000013f: JUMPI
00000140: DUP1
00000141: PUSH4 0x75829def
00000146: EQ
00000147: PUSH2 0x037d
0000014a: JUMPI
0000014b: DUP1
0000014c: PUSH4 0x7cad6cd1
00000151: EQ
00000152: PUSH2 0x0378
00000155: JUMPI
00000156: DUP1
00000157: PUSH4 0x7ddf9228
0000015c: EQ
0000015d: PUSH2 0x0373
00000160: JUMPI
00000161: DUP1
00000162: PUSH4 0x80448da3
00000167: EQ
00000168: PUSH2 0x036e
0000016b: JUMPI
0000016c: DUP1
0000016d: PUSH4 0x81632a86
00000172: EQ
00000173: PUSH2 0x0369
00000176: JUMPI
00000177: DUP1
00000178: PUSH4 0x894e9a0d
0000017d: EQ
0000017e: PUSH2 0x0364
00000181: JUMPI
00000182: DUP1
00000183: PUSH4 0x95d89b41
00000188: EQ
00000189: PUSH2 0x035f
0000018c: JUMPI
0000018d: DUP1
0000018e: PUSH4 0xa22cb465
00000193: EQ
00000194: PUSH2 0x035a
00000197: JUMPI
00000198: DUP1
00000199: PUSH4 0xa7de07cd
0000019e: EQ
0000019f: PUSH2 0x0355
000001a2: JUMPI
000001a3: DUP1
000001a4: PUSH4 0xa8a482a6
000001a9: EQ
000001aa: PUSH2 0x0350
000001ad: JUMPI
000001ae: DUP1
000001af: PUSH4 0xad35efd4
000001b4: EQ
000001b5: PUSH2 0x034b
000001b8: JUMPI
000001b9: DUP1
000001ba: PUSH4 0xb2564569
000001bf: EQ
000001c0: PUSH2 0x0346
000001c3: JUMPI
000001c4: DUP1
000001c5: PUSH4 0xb5b3ca2c
000001ca: EQ
000001cb: PUSH2 0x0341
000001ce: JUMPI
000001cf: DUP1
000001d0: PUSH4 0xb61f7583
000001d5: EQ
000001d6: PUSH2 0x033c
000001d9: JUMPI
000001da: DUP1
000001db: PUSH4 0xb62b31e4
000001e0: EQ
000001e1: PUSH2 0x0337
000001e4: JUMPI
000001e5: DUP1
000001e6: PUSH4 0xb88d4fde
000001eb: EQ
000001ec: PUSH2 0x0332
000001ef: JUMPI
000001f0: DUP1
000001f1: PUSH4 0xb8a3be66
000001f6: EQ
000001f7: PUSH2 0x032d
000001fa: JUMPI
000001fb: DUP1
000001fc: PUSH4 0xb971302a
00000201: EQ
00000202: PUSH2 0x0328
00000205: JUMPI
00000206: DUP1
00000207: PUSH4 0xbc063e1a
0000020c: EQ
0000020d: PUSH2 0x0323
00000210: JUMPI
00000211: DUP1
00000212: PUSH4 0xbc7a2d6c
00000217: EQ
00000218: PUSH2 0x031e
0000021b: JUMPI
0000021c: DUP1
0000021d: PUSH4 0xbcbd019e
00000222: EQ
00000223: PUSH2 0x0319
00000226: JUMPI
00000227: DUP1
00000228: PUSH4 0xbdf2a43c
0000022d: EQ
0000022e: PUSH2 0x0314
00000231: JUMPI
00000232: DUP1
00000233: PUSH4 0xc2f8e750
00000238: EQ
00000239: PUSH2 0x030f
0000023c: JUMPI
0000023d: DUP1
0000023e: PUSH4 0xc8796572
00000243: EQ
00000244: PUSH2 0x030a
00000247: JUMPI
00000248: DUP1
00000249: PUSH4 0xc87b56dd
0000024e: EQ
0000024f: PUSH2 0x0305
00000252: JUMPI
00000253: DUP1
00000254: PUSH4 0xd4b80884
00000259: EQ
0000025a: PUSH2 0x0300
0000025d: JUMPI
0000025e: DUP1
0000025f: PUSH4 0xd975dfed
00000264: EQ
00000265: PUSH2 0x02fb
00000268: JUMPI
00000269: DUP1
0000026a: PUSH4 0xe4b50cb8
0000026f: EQ
00000270: PUSH2 0x02f6
00000273: JUMPI
00000274: DUP1
00000275: PUSH4 0xe985e9c5
0000027a: EQ
0000027b: PUSH2 0x02f1
0000027e: JUMPI
0000027f: DUP1
00000280: PUSH4 0xea5ead19
00000285: EQ
00000286: PUSH2 0x02ec
00000289: JUMPI
0000028a: DUP1
0000028b: PUSH4 0xeb5710d8
00000290: EQ
00000291: PUSH2 0x02e7
00000294: JUMPI
00000295: DUP1
00000296: PUSH4 0xebb6f79a
0000029b: EQ
0000029c: PUSH2 0x02e2
0000029f: JUMPI
000002a0: DUP1
000002a1: PUSH4 0xf851a440
000002a6: EQ
000002a7: PUSH2 0x02dd
000002aa: JUMPI
000002ab: DUP1
000002ac: PUSH4 0xfbf2777e
000002b1: EQ
000002b2: PUSH2 0x02d8
000002b5: JUMPI
000002b6: DUP1
000002b7: PUSH4 0xfdd46d60
000002bc: EQ
000002bd: PUSH2 0x02d3
000002c0: JUMPI
000002c1: PUSH4 0xffe3d9f8
000002c6: EQ
000002c7: PUSH2 0x02ce
000002ca: JUMPI
000002cb: PUSH0
000002cc: DUP1
000002cd: REVERT
000002ce: JUMPDEST
000002cf: PUSH2 0x2e06
000002d2: JUMP
000002d3: JUMPDEST
000002d4: PUSH2 0x2d8c
000002d7: JUMP
000002d8: JUMPDEST
000002d9: PUSH2 0x2d26
000002dc: JUMP
000002dd: JUMPDEST
000002de: PUSH2 0x2d01
000002e1: JUMP
000002e2: JUMPDEST
000002e3: PUSH2 0x2c30
000002e6: JUMP
000002e7: JUMPDEST
000002e8: PUSH2 0x2bcb
000002eb: JUMP
000002ec: JUMPDEST
000002ed: PUSH2 0x2b25
000002f0: JUMP
000002f1: JUMPDEST
000002f2: PUSH2 0x2abf
000002f5: JUMP
000002f6: JUMPDEST
000002f7: PUSH2 0x2a59
000002fa: JUMP
000002fb: JUMPDEST
000002fc: PUSH2 0x1011
000002ff: JUMP
00000300: JUMPDEST
00000301: PUSH2 0x2a09
00000304: JUMP
00000305: JUMPDEST
00000306: PUSH2 0x290a
00000309: JUMP
0000030a: JUMPDEST
0000030b: PUSH2 0x286d
0000030e: JUMP
0000030f: JUMPDEST
00000310: PUSH2 0x2691
00000313: JUMP
00000314: JUMPDEST
00000315: PUSH2 0x263a
00000318: JUMP
00000319: JUMPDEST
0000031a: PUSH2 0x259a
0000031d: JUMP
0000031e: JUMPDEST
0000031f: PUSH2 0x2562
00000322: JUMP
00000323: JUMPDEST
00000324: PUSH2 0x2540
00000327: JUMP
00000328: JUMPDEST
00000329: PUSH2 0x24da
0000032c: JUMP
0000032d: JUMPDEST
0000032e: PUSH2 0x24a5
00000331: JUMP
00000332: JUMPDEST
00000333: PUSH2 0x2415
00000336: JUMP
00000337: JUMPDEST
00000338: PUSH2 0x22e1
0000033b: JUMP
0000033c: JUMPDEST
0000033d: PUSH2 0x21e5
00000340: JUMP
00000341: JUMPDEST
00000342: PUSH2 0x20db
00000345: JUMP
00000346: JUMPDEST
00000347: PUSH2 0x207f
0000034a: JUMP
0000034b: JUMPDEST
0000034c: PUSH2 0x2001
0000034f: JUMP
00000350: JUMPDEST
00000351: PUSH2 0x1ef7
00000354: JUMP
00000355: JUMPDEST
00000356: PUSH2 0x1e9a
00000359: JUMP
0000035a: JUMPDEST
0000035b: PUSH2 0x1da8
0000035e: JUMP
0000035f: JUMPDEST
00000360: PUSH2 0x1cf3
00000363: JUMP
00000364: JUMPDEST
00000365: PUSH2 0x1a93
00000368: JUMP
00000369: JUMPDEST
0000036a: PUSH2 0x1a08
0000036d: JUMP
0000036e: JUMPDEST
0000036f: PUSH2 0x19a2
00000372: JUMP
00000373: JUMPDEST
00000374: PUSH2 0x196a
00000377: JUMP
00000378: JUMPDEST
00000379: PUSH2 0x1884
0000037c: JUMP
0000037d: JUMPDEST
0000037e: PUSH2 0x17fa
00000381: JUMP
00000382: JUMPDEST
00000383: PUSH2 0x178c
00000386: JUMP
00000387: JUMPDEST
00000388: PUSH2 0x1729
0000038b: JUMP
0000038c: JUMPDEST
0000038d: PUSH2 0x159b
00000390: JUMP
00000391: JUMPDEST
00000392: PUSH2 0x1558
00000395: JUMP
00000396: JUMPDEST
00000397: PUSH2 0x151c
0000039a: JUMP
0000039b: JUMPDEST
0000039c: PUSH2 0x118b
0000039f: JUMP
000003a0: JUMPDEST
000003a1: PUSH2 0x1127
000003a4: JUMP
000003a5: JUMPDEST
000003a6: PUSH2 0x10c1
000003a9: JUMP
000003aa: JUMPDEST
000003ab: PUSH2 0x106f
000003ae: JUMP
000003af: JUMPDEST
000003b0: PUSH2 0x1049
000003b3: JUMP
000003b4: JUMPDEST
000003b5: PUSH2 0x0fe8
000003b8: JUMP
000003b9: JUMPDEST
000003ba: PUSH2 0x0eb7
000003bd: JUMP
000003be: JUMPDEST
000003bf: PUSH2 0x0ea0
000003c2: JUMP
000003c3: JUMPDEST
000003c4: PUSH2 0x0d30
000003c7: JUMP
000003c8: JUMPDEST
000003c9: PUSH2 0x0cf9
000003cc: JUMP
000003cd: JUMPDEST
000003ce: PUSH2 0x0bd7
000003d1: JUMP
000003d2: JUMPDEST
000003d3: PUSH2 0x0ae5
000003d6: JUMP
000003d7: JUMPDEST
000003d8: PUSH2 0x0a8f
000003db: JUMP
000003dc: JUMPDEST
000003dd: PUSH2 0x09d1
000003e0: JUMP
000003e1: JUMPDEST
000003e2: PUSH2 0x0912
000003e5: JUMP
000003e6: JUMPDEST
000003e7: PUSH2 0x08c4
000003ea: JUMP
000003eb: JUMPDEST
000003ec: PUSH2 0x0788
000003ef: JUMP
000003f0: JUMPDEST
000003f1: PUSH2 0x0709
000003f4: JUMP
000003f5: JUMPDEST
000003f6: PUSH2 0x06da
000003f9: JUMP
000003fa: JUMPDEST
000003fb: PUSH2 0x05b0
000003fe: JUMP
000003ff: JUMPDEST
00000400: PUSH2 0x0432
00000403: JUMP
00000404: JUMPDEST
00000405: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
00000426: DUP2
00000427: AND
00000428: SUB
00000429: PUSH2 0x042e
0000042c: JUMPI
0000042d: JUMP
0000042e: JUMPDEST
0000042f: PUSH0
00000430: DUP1
00000431: REVERT
00000432: JUMPDEST
00000433: CALLVALUE
00000434: PUSH2 0x042e
00000437: JUMPI
00000438: PUSH1 0x20
0000043a: PUSH1 0x03
0000043c: NOT
0000043d: CALLDATASIZE
0000043e: ADD
0000043f: SLT
00000440: PUSH2 0x042e
00000443: JUMPI
00000444: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
00000465: PUSH1 0x04
00000467: CALLDATALOAD
00000468: PUSH2 0x0470
0000046b: DUP2
0000046c: PUSH2 0x0404
0000046f: JUMP
00000470: JUMPDEST
00000471: AND
00000472: PUSH32 0x4906490600000000000000000000000000000000000000000000000000000000
00000493: DUP2
00000494: EQ
00000495: SWAP1
00000496: DUP2
00000497: ISZERO
00000498: PUSH2 0x04aa
0000049b: JUMPI
0000049c: JUMPDEST
0000049d: POP
0000049e: PUSH1 0x40
000004a0: MLOAD
000004a1: SWAP1
000004a2: ISZERO
000004a3: ISZERO
000004a4: DUP2
000004a5: MSTORE
000004a6: PUSH1 0x20
000004a8: SWAP1
000004a9: RETURN
000004aa: JUMPDEST
000004ab: PUSH32 0x80ac58cd00000000000000000000000000000000000000000000000000000000
000004cc: DUP2
000004cd: EQ
000004ce: SWAP2
000004cf: POP
000004d0: DUP2
000004d1: ISZERO
000004d2: PUSH2 0x050e
000004d5: JUMPI
000004d6: JUMPDEST
000004d7: DUP2
000004d8: ISZERO
000004d9: PUSH2 0x04e4
000004dc: JUMPI
000004dd: JUMPDEST
000004de: POP
000004df: PUSH0
000004e0: PUSH2 0x049c
000004e3: JUMP
000004e4: JUMPDEST
000004e5: PUSH32 0x01ffc9a700000000000000000000000000000000000000000000000000000000
00000506: SWAP2
00000507: POP
00000508: EQ
00000509: PUSH0
0000050a: PUSH2 0x04dd
0000050d: JUMP
0000050e: JUMPDEST
0000050f: PUSH32 0x5b5e139f00000000000000000000000000000000000000000000000000000000
00000530: DUP2
00000531: EQ
00000532: SWAP2
00000533: POP
00000534: PUSH2 0x04d6
00000537: JUMP
00000538: JUMPDEST
00000539: PUSH0
0000053a: JUMPDEST
0000053b: DUP4
0000053c: DUP2
0000053d: LT
0000053e: PUSH2 0x0549
00000541: JUMPI
00000542: POP
00000543: POP
00000544: PUSH0
00000545: SWAP2
00000546: ADD
00000547: MSTORE
00000548: JUMP
00000549: JUMPDEST
0000054a: DUP2
0000054b: DUP2
0000054c: ADD
0000054d: MLOAD
0000054e: DUP4
0000054f: DUP3
00000550: ADD
00000551: MSTORE
00000552: PUSH1 0x20
00000554: ADD
00000555: PUSH2 0x053a
00000558: JUMP
00000559: JUMPDEST
0000055a: SWAP1
0000055b: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
0000057c: PUSH1 0x1f
0000057e: PUSH1 0x20
00000580: SWAP4
00000581: PUSH2 0x0595
00000584: DUP2
00000585: MLOAD
00000586: DUP1
00000587: SWAP3
00000588: DUP2
00000589: DUP8
0000058a: MSTORE
0000058b: DUP8
0000058c: DUP1
0000058d: DUP9
0000058e: ADD
0000058f: SWAP2
00000590: ADD
00000591: PUSH2 0x0538
00000594: JUMP
00000595: JUMPDEST
00000596: ADD
00000597: AND
00000598: ADD
00000599: ADD
0000059a: SWAP1
0000059b: JUMP
0000059c: JUMPDEST
0000059d: SWAP1
0000059e: PUSH1 0x20
000005a0: PUSH2 0x05ad
000005a3: SWAP3
000005a4: DUP2
000005a5: DUP2
000005a6: MSTORE
000005a7: ADD
000005a8: SWAP1
000005a9: PUSH2 0x0559
000005ac: JUMP
000005ad: JUMPDEST
000005ae: SWAP1
000005af: JUMP
000005b0: JUMPDEST
000005b1: CALLVALUE
000005b2: PUSH2 0x042e
000005b5: JUMPI
000005b6: PUSH0
000005b7: PUSH1 0x03
000005b9: NOT
000005ba: CALLDATASIZE
000005bb: ADD
000005bc: SLT
000005bd: PUSH2 0x042e
000005c0: JUMPI
000005c1: PUSH1 0x40
000005c3: MLOAD
000005c4: PUSH0
000005c5: PUSH1 0x01
000005c7: SLOAD
000005c8: DUP1
000005c9: PUSH1 0x01
000005cb: SHR
000005cc: SWAP1
000005cd: PUSH1 0x01
000005cf: DUP2
000005d0: AND
000005d1: SWAP1
000005d2: DUP2
000005d3: ISZERO
000005d4: PUSH2 0x06d0
000005d7: JUMPI
000005d8: JUMPDEST
000005d9: PUSH1 0x20
000005db: DUP4
000005dc: LT
000005dd: DUP3
000005de: EQ
000005df: PUSH2 0x06a3
000005e2: JUMPI
000005e3: DUP3
000005e4: DUP6
000005e5: MSTORE
000005e6: PUSH1 0x20
000005e8: DUP6
000005e9: ADD
000005ea: SWAP2
000005eb: SWAP1
000005ec: DUP2
000005ed: ISZERO
000005ee: PUSH2 0x066c
000005f1: JUMPI
000005f2: POP
000005f3: PUSH1 0x01
000005f5: EQ
000005f6: PUSH2 0x061a
000005f9: JUMPI
000005fa: JUMPDEST
000005fb: PUSH2 0x0616
000005fe: DUP5
000005ff: PUSH2 0x060a
00000602: DUP2
00000603: DUP7
00000604: SUB
00000605: DUP3
00000606: PUSH2 0x2388
00000609: JUMP
0000060a: JUMPDEST
0000060b: PUSH1 0x40
0000060d: MLOAD
0000060e: SWAP2
0000060f: DUP3
00000610: SWAP2
00000611: DUP3
00000612: PUSH2 0x059c
00000615: JUMP
00000616: JUMPDEST
00000617: SUB
00000618: SWAP1
00000619: RETURN
0000061a: JUMPDEST
0000061b: PUSH1 0x01
0000061d: PUSH0
0000061e: SWAP1
0000061f: DUP2
00000620: MSTORE
00000621: SWAP3
00000622: POP
00000623: SWAP1
00000624: PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6
00000645: JUMPDEST
00000646: DUP2
00000647: DUP5
00000648: LT
00000649: PUSH2 0x0658
0000064c: JUMPI
0000064d: POP
0000064e: POP
0000064f: ADD
00000650: PUSH2 0x060a
00000653: DUP3
00000654: PUSH2 0x05fa
00000657: JUMP
00000658: JUMPDEST
00000659: DUP1
0000065a: SLOAD
0000065b: DUP5
0000065c: DUP5
0000065d: ADD
0000065e: MSTORE
0000065f: PUSH1 0x20
00000661: SWAP1
00000662: SWAP4
00000663: ADD
00000664: SWAP3
00000665: PUSH1 0x01
00000667: ADD
00000668: PUSH2 0x0645
0000066b: JUMP
0000066c: JUMPDEST
0000066d: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
0000068e: AND
0000068f: DUP3
00000690: MSTORE
00000691: POP
00000692: SWAP1
00000693: ISZERO
00000694: ISZERO
00000695: PUSH1 0x05
00000697: SHL
00000698: ADD
00000699: SWAP1
0000069a: POP
0000069b: PUSH2 0x060a
0000069e: DUP3
0000069f: PUSH2 0x05fa
000006a2: JUMP
000006a3: JUMPDEST
000006a4: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
000006c5: PUSH0
000006c6: MSTORE
000006c7: PUSH1 0x22
000006c9: PUSH1 0x04
000006cb: MSTORE
000006cc: PUSH1 0x24
000006ce: PUSH0
000006cf: REVERT
000006d0: JUMPDEST
000006d1: SWAP2
000006d2: PUSH1 0x7f
000006d4: AND
000006d5: SWAP2
000006d6: PUSH2 0x05d8
000006d9: JUMP
000006da: JUMPDEST
000006db: CALLVALUE
000006dc: PUSH2 0x042e
000006df: JUMPI
000006e0: PUSH1 0x20
000006e2: PUSH1 0x03
000006e4: NOT
000006e5: CALLDATASIZE
000006e6: ADD
000006e7: SLT
000006e8: PUSH2 0x042e
000006eb: JUMPI
000006ec: PUSH1 0x20
000006ee: PUSH2 0x06f8
000006f1: PUSH1 0x04
000006f3: CALLDATALOAD
000006f4: PUSH2 0x2f58
000006f7: JUMP
000006f8: JUMPDEST
000006f9: PUSH1 0x01
000006fb: PUSH1 0x01
000006fd: PUSH1 0xa0
000006ff: SHL
00000700: SUB
00000701: PUSH1 0x40
00000703: MLOAD
00000704: SWAP2
00000705: AND
00000706: DUP2
00000707: MSTORE
00000708: RETURN
00000709: JUMPDEST
0000070a: CALLVALUE
0000070b: PUSH2 0x042e
0000070e: JUMPI
0000070f: PUSH1 0x20
00000711: PUSH1 0x03
00000713: NOT
00000714: CALLDATASIZE
00000715: ADD
00000716: SLT
00000717: PUSH2 0x042e
0000071a: JUMPI
0000071b: PUSH1 0x04
0000071d: CALLDATALOAD
0000071e: DUP1
0000071f: PUSH0
00000720: MSTORE
00000721: PUSH1 0x0c
00000723: PUSH1 0x20
00000725: MSTORE
00000726: PUSH1 0xff
00000728: PUSH1 0x01
0000072a: PUSH1 0x40
0000072c: PUSH0
0000072d: KECCAK256
0000072e: ADD
0000072f: SLOAD
00000730: PUSH1 0xc8
00000732: SHR
00000733: AND
00000734: ISZERO
00000735: PUSH2 0x074c
00000738: JUMPI
00000739: PUSH2 0x0741
0000073c: SWAP1
0000073d: PUSH2 0x3651
00000740: JUMP
00000741: JUMPDEST
00000742: PUSH1 0x40
00000744: MLOAD
00000745: SWAP1
00000746: DUP2
00000747: MSTORE
00000748: PUSH1 0x20
0000074a: SWAP1
0000074b: RETURN
0000074c: JUMPDEST
0000074d: PUSH32 0xe21c143100000000000000000000000000000000000000000000000000000000
0000076e: PUSH0
0000076f: MSTORE
00000770: PUSH1 0x04
00000772: MSTORE
00000773: PUSH1 0x24
00000775: PUSH0
00000776: REVERT
00000777: JUMPDEST
00000778: PUSH1 0x01
0000077a: PUSH1 0x01
0000077c: PUSH1 0xa0
0000077e: SHL
0000077f: SUB
00000780: DUP2
00000781: AND
00000782: SUB
00000783: PUSH2 0x042e
00000786: JUMPI
00000787: JUMP
00000788: JUMPDEST
00000789: CALLVALUE
0000078a: PUSH2 0x042e
0000078d: JUMPI
0000078e: PUSH1 0x40
00000790: PUSH1 0x03
00000792: NOT
00000793: CALLDATASIZE
00000794: ADD
00000795: SLT
00000796: PUSH2 0x042e
00000799: JUMPI
0000079a: PUSH1 0x04
0000079c: CALLDATALOAD
0000079d: PUSH2 0x07a5
000007a0: DUP2
000007a1: PUSH2 0x0777
000007a4: JUMP
000007a5: JUMPDEST
000007a6: PUSH1 0x24
000007a8: CALLDATALOAD
000007a9: SWAP1
000007aa: PUSH2 0x07b2
000007ad: DUP3
000007ae: PUSH2 0x3605
000007b1: JUMP
000007b2: JUMPDEST
000007b3: CALLER
000007b4: ISZERO
000007b5: ISZERO
000007b6: DUP1
000007b7: PUSH2 0x08b1
000007ba: JUMPI
000007bb: JUMPDEST
000007bc: DUP1
000007bd: PUSH2 0x0871
000007c0: JUMPI
000007c1: JUMPDEST
000007c2: PUSH2 0x0842
000007c5: JUMPI
000007c6: DUP3
000007c7: PUSH2 0x0840
000007ca: SWAP4
000007cb: PUSH2 0x080d
000007ce: SWAP3
000007cf: PUSH1 0x01
000007d1: PUSH1 0x01
000007d3: PUSH1 0xa0
000007d5: SHL
000007d6: SUB
000007d7: DUP1
000007d8: DUP7
000007d9: AND
000007da: SWAP2
000007db: AND
000007dc: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925
000007fd: PUSH0
000007fe: DUP1
000007ff: LOG4
00000800: PUSH0
00000801: MSTORE
00000802: PUSH1 0x05
00000804: PUSH1 0x20
00000806: MSTORE
00000807: PUSH1 0x40
00000809: PUSH0
0000080a: KECCAK256
0000080b: SWAP1
0000080c: JUMP
0000080d: JUMPDEST
0000080e: SWAP1
0000080f: PUSH1 0x01
00000811: PUSH1 0x01
00000813: PUSH1 0xa0
00000815: SHL
00000816: SUB
00000817: AND
00000818: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00000839: DUP3
0000083a: SLOAD
0000083b: AND
0000083c: OR
0000083d: SWAP1
0000083e: SSTORE
0000083f: JUMP
00000840: JUMPDEST
00000841: STOP
00000842: JUMPDEST
00000843: PUSH32 0xa9fbf51f00000000000000000000000000000000000000000000000000000000
00000864: PUSH0
00000865: MSTORE
00000866: CALLER
00000867: PUSH1 0x04
00000869: MSTORE
0000086a: PUSH1 0x24
0000086c: PUSH0
0000086d: REVERT
0000086e: JUMPDEST
0000086f: PUSH0
00000870: REVERT
00000871: JUMPDEST
00000872: POP
00000873: PUSH1 0xff
00000875: PUSH2 0x08a9
00000878: CALLER
00000879: PUSH2 0x0893
0000087c: DUP5
0000087d: PUSH1 0x01
0000087f: PUSH1 0x01
00000881: PUSH1 0xa0
00000883: SHL
00000884: SUB
00000885: AND
00000886: PUSH0
00000887: MSTORE
00000888: PUSH1 0x06
0000088a: PUSH1 0x20
0000088c: MSTORE
0000088d: PUSH1 0x40
0000088f: PUSH0
00000890: KECCAK256
00000891: SWAP1
00000892: JUMP
00000893: JUMPDEST
00000894: SWAP1
00000895: PUSH1 0x01
00000897: PUSH1 0x01
00000899: PUSH1 0xa0
0000089b: SHL
0000089c: SUB
0000089d: AND
0000089e: PUSH0
0000089f: MSTORE
000008a0: PUSH1 0x20
000008a2: MSTORE
000008a3: PUSH1 0x40
000008a5: PUSH0
000008a6: KECCAK256
000008a7: SWAP1
000008a8: JUMP
000008a9: JUMPDEST
000008aa: SLOAD
000008ab: AND
000008ac: ISZERO
000008ad: PUSH2 0x07c1
000008b0: JUMP
000008b1: JUMPDEST
000008b2: POP
000008b3: CALLER
000008b4: PUSH1 0x01
000008b6: PUSH1 0x01
000008b8: PUSH1 0xa0
000008ba: SHL
000008bb: SUB
000008bc: DUP3
000008bd: AND
000008be: EQ
000008bf: ISZERO
000008c0: PUSH2 0x07bb
000008c3: JUMP
000008c4: JUMPDEST
000008c5: CALLVALUE
000008c6: PUSH2 0x042e
000008c9: JUMPI
000008ca: PUSH1 0x20
000008cc: PUSH1 0x03
000008ce: NOT
000008cf: CALLDATASIZE
000008d0: ADD
000008d1: SLT
000008d2: PUSH2 0x042e
000008d5: JUMPI
000008d6: PUSH1 0x01
000008d8: PUSH1 0x01
000008da: PUSH1 0xa0
000008dc: SHL
000008dd: SUB
000008de: PUSH1 0x04
000008e0: CALLDATALOAD
000008e1: PUSH2 0x08e9
000008e4: DUP2
000008e5: PUSH2 0x0777
000008e8: JUMP
000008e9: JUMPDEST
000008ea: AND
000008eb: PUSH0
000008ec: MSTORE
000008ed: PUSH1 0x0b
000008ef: PUSH1 0x20
000008f1: MSTORE
000008f2: PUSH1 0x20
000008f4: PUSH16 0xffffffffffffffffffffffffffffffff
00000905: PUSH1 0x40
00000907: PUSH0
00000908: KECCAK256
00000909: SLOAD
0000090a: AND
0000090b: PUSH1 0x40
0000090d: MLOAD
0000090e: SWAP1
0000090f: DUP2
00000910: MSTORE
00000911: RETURN
00000912: JUMPDEST
00000913: PUSH1 0x20
00000915: PUSH1 0x03
00000917: NOT
00000918: CALLDATASIZE
00000919: ADD
0000091a: SLT
0000091b: PUSH2 0x042e
0000091e: JUMPI
0000091f: PUSH1 0x04
00000921: CALLDATALOAD
00000922: PUSH2 0x0929
00000925: PUSH2 0x3692
00000928: JUMP
00000929: JUMPDEST
0000092a: DUP1
0000092b: PUSH0
0000092c: MSTORE
0000092d: PUSH1 0x0c
0000092f: PUSH1 0x20
00000931: MSTORE
00000932: PUSH1 0xff
00000934: PUSH1 0x01
00000936: PUSH1 0x40
00000938: PUSH0
00000939: KECCAK256
0000093a: ADD
0000093b: SLOAD
0000093c: PUSH1 0xc8
0000093e: SHR
0000093f: AND
00000940: ISZERO
00000941: PUSH2 0x074c
00000944: JUMPI
00000945: DUP1
00000946: PUSH0
00000947: MSTORE
00000948: PUSH1 0x0c
0000094a: PUSH1 0x20
0000094c: MSTORE
0000094d: PUSH1 0x01
0000094f: PUSH1 0x01
00000951: PUSH1 0xa0
00000953: SHL
00000954: SUB
00000955: PUSH1 0x01
00000957: PUSH1 0x40
00000959: PUSH0
0000095a: KECCAK256
0000095b: ADD
0000095c: SLOAD
0000095d: AND
0000095e: CALLER
0000095f: SUB
00000960: PUSH2 0x09a2
00000963: JUMPI
00000964: PUSH1 0x20
00000966: DUP2
00000967: PUSH2 0x0999
0000096a: PUSH2 0x0993
0000096d: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
0000098e: SWAP5
0000098f: PUSH2 0x371e
00000992: JUMP
00000993: JUMPDEST
00000994: DUP3
00000995: PUSH2 0x3750
00000998: JUMP
00000999: JUMPDEST
0000099a: PUSH1 0x40
0000099c: MLOAD
0000099d: SWAP1
0000099e: DUP2
0000099f: MSTORE
000009a0: LOG1
000009a1: STOP
000009a2: JUMPDEST
000009a3: PUSH32 0xa9ad2a2200000000000000000000000000000000000000000000000000000000
000009c4: PUSH0
000009c5: MSTORE
000009c6: PUSH1 0x04
000009c8: MSTORE
000009c9: CALLER
000009ca: PUSH1 0x24
000009cc: MSTORE
000009cd: PUSH1 0x44
000009cf: PUSH0
000009d0: REVERT
000009d1: JUMPDEST
000009d2: PUSH1 0x20
000009d4: PUSH1 0x03
000009d6: NOT
000009d7: CALLDATASIZE
000009d8: ADD
000009d9: SLT
000009da: PUSH2 0x042e
000009dd: JUMPI
000009de: PUSH1 0x04
000009e0: CALLDATALOAD
000009e1: PUSH2 0x09e8
000009e4: PUSH2 0x3692
000009e7: JUMP
000009e8: JUMPDEST
000009e9: DUP1
000009ea: PUSH0
000009eb: MSTORE
000009ec: PUSH1 0x0c
000009ee: PUSH1 0x20
000009f0: MSTORE
000009f1: PUSH1 0xff
000009f3: PUSH1 0x01
000009f5: PUSH1 0x40
000009f7: PUSH0
000009f8: KECCAK256
000009f9: ADD
000009fa: SLOAD
000009fb: PUSH1 0xc8
000009fd: SHR
000009fe: AND
000009ff: ISZERO
00000a00: PUSH2 0x074c
00000a03: JUMPI
00000a04: DUP1
00000a05: PUSH0
00000a06: MSTORE
00000a07: PUSH1 0x0c
00000a09: PUSH1 0x20
00000a0b: MSTORE
00000a0c: PUSH1 0x40
00000a0e: PUSH0
00000a0f: KECCAK256
00000a10: SLOAD
00000a11: PUSH1 0x80
00000a13: SHR
00000a14: ISZERO
00000a15: PUSH2 0x0a64
00000a18: JUMPI
00000a19: DUP1
00000a1a: PUSH0
00000a1b: MSTORE
00000a1c: PUSH1 0x0c
00000a1e: PUSH1 0x20
00000a20: MSTORE
00000a21: PUSH1 0x01
00000a23: PUSH1 0x01
00000a25: PUSH1 0xa0
00000a27: SHL
00000a28: SUB
00000a29: PUSH1 0x01
00000a2b: PUSH1 0x40
00000a2d: PUSH0
00000a2e: KECCAK256
00000a2f: ADD
00000a30: SLOAD
00000a31: AND
00000a32: CALLER
00000a33: SUB
00000a34: PUSH2 0x09a2
00000a37: JUMPI
00000a38: PUSH1 0x20
00000a3a: DUP2
00000a3b: PUSH2 0x0999
00000a3e: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
00000a5f: SWAP4
00000a60: PUSH2 0x398a
00000a63: JUMP
00000a64: JUMPDEST
00000a65: PUSH32 0x167274c900000000000000000000000000000000000000000000000000000000
00000a86: PUSH0
00000a87: MSTORE
00000a88: PUSH1 0x04
00000a8a: MSTORE
00000a8b: PUSH1 0x24
00000a8d: PUSH0
00000a8e: REVERT
00000a8f: JUMPDEST
00000a90: CALLVALUE
00000a91: PUSH2 0x042e
00000a94: JUMPI
00000a95: PUSH1 0x20
00000a97: PUSH1 0x03
00000a99: NOT
00000a9a: CALLDATASIZE
00000a9b: ADD
00000a9c: SLT
00000a9d: PUSH2 0x042e
00000aa0: JUMPI
00000aa1: PUSH1 0x04
00000aa3: CALLDATALOAD
00000aa4: DUP1
00000aa5: PUSH0
00000aa6: MSTORE
00000aa7: PUSH1 0x0c
00000aa9: PUSH1 0x20
00000aab: MSTORE
00000aac: PUSH1 0xff
00000aae: PUSH1 0x01
00000ab0: PUSH1 0x40
00000ab2: PUSH0
00000ab3: KECCAK256
00000ab4: ADD
00000ab5: SLOAD
00000ab6: PUSH1 0xc8
00000ab8: SHR
00000ab9: AND
00000aba: ISZERO
00000abb: PUSH2 0x074c
00000abe: JUMPI
00000abf: PUSH2 0x0ac7
00000ac2: SWAP1
00000ac3: PUSH2 0x371e
00000ac6: JUMP
00000ac7: JUMPDEST
00000ac8: PUSH1 0x40
00000aca: MLOAD
00000acb: PUSH16 0xffffffffffffffffffffffffffffffff
00000adc: SWAP1
00000add: SWAP2
00000ade: AND
00000adf: DUP2
00000ae0: MSTORE
00000ae1: PUSH1 0x20
00000ae3: SWAP1
00000ae4: RETURN
00000ae5: JUMPDEST
00000ae6: CALLVALUE
00000ae7: PUSH2 0x042e
00000aea: JUMPI
00000aeb: PUSH1 0x20
00000aed: PUSH1 0x03
00000aef: NOT
00000af0: CALLDATASIZE
00000af1: ADD
00000af2: SLT
00000af3: PUSH2 0x042e
00000af6: JUMPI
00000af7: PUSH1 0x04
00000af9: CALLDATALOAD
00000afa: DUP1
00000afb: PUSH0
00000afc: MSTORE
00000afd: PUSH1 0x0c
00000aff: PUSH1 0x20
00000b01: MSTORE
00000b02: PUSH1 0xff
00000b04: PUSH1 0x01
00000b06: PUSH1 0x40
00000b08: PUSH0
00000b09: KECCAK256
00000b0a: ADD
00000b0b: SLOAD
00000b0c: PUSH1 0xc8
00000b0e: SHR
00000b0f: AND
00000b10: ISZERO
00000b11: PUSH2 0x074c
00000b14: JUMPI
00000b15: PUSH0
00000b16: MSTORE
00000b17: PUSH1 0x0c
00000b19: PUSH1 0x20
00000b1b: MSTORE
00000b1c: PUSH2 0x0616
00000b1f: PUSH16 0xffffffffffffffffffffffffffffffff
00000b30: PUSH1 0x40
00000b32: PUSH0
00000b33: KECCAK256
00000b34: SLOAD
00000b35: AND
00000b36: PUSH1 0x40
00000b38: MLOAD
00000b39: SWAP2
00000b3a: DUP3
00000b3b: SWAP2
00000b3c: DUP3
00000b3d: SWAP2
00000b3e: SWAP1
00000b3f: SWAP2
00000b40: PUSH16 0xffffffffffffffffffffffffffffffff
00000b51: PUSH1 0x20
00000b53: DUP3
00000b54: ADD
00000b55: SWAP4
00000b56: AND
00000b57: SWAP1
00000b58: MSTORE
00000b59: JUMP
00000b5a: JUMPDEST
00000b5b: PUSH1 0x20
00000b5d: DUP2
00000b5e: ADD
00000b5f: PUSH1 0x20
00000b61: DUP3
00000b62: MSTORE
00000b63: DUP3
00000b64: MLOAD
00000b65: DUP1
00000b66: SWAP2
00000b67: MSTORE
00000b68: PUSH1 0x40
00000b6a: DUP3
00000b6b: ADD
00000b6c: SWAP2
00000b6d: PUSH1 0x20
00000b6f: PUSH1 0x40
00000b71: DUP4
00000b72: PUSH1 0x05
00000b74: SHL
00000b75: DUP4
00000b76: ADD
00000b77: ADD
00000b78: SWAP5
00000b79: ADD
00000b7a: SWAP3
00000b7b: PUSH0
00000b7c: SWAP2
00000b7d: JUMPDEST
00000b7e: DUP4
00000b7f: DUP4
00000b80: LT
00000b81: PUSH2 0x0b8c
00000b84: JUMPI
00000b85: POP
00000b86: POP
00000b87: POP
00000b88: POP
00000b89: POP
00000b8a: SWAP1
00000b8b: JUMP
00000b8c: JUMPDEST
00000b8d: SWAP1
00000b8e: SWAP2
00000b8f: SWAP3
00000b90: SWAP4
00000b91: SWAP5
00000b92: PUSH1 0x20
00000b94: DUP1
00000b95: PUSH2 0x0bc8
00000b98: DUP4
00000b99: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0
00000bba: DUP7
00000bbb: PUSH1 0x01
00000bbd: SWAP7
00000bbe: SUB
00000bbf: ADD
00000bc0: DUP8
00000bc1: MSTORE
00000bc2: DUP10
00000bc3: MLOAD
00000bc4: PUSH2 0x0559
00000bc7: JUMP
00000bc8: JUMPDEST
00000bc9: SWAP8
00000bca: ADD
00000bcb: SWAP4
00000bcc: ADD
00000bcd: SWAP4
00000bce: ADD
00000bcf: SWAP2
00000bd0: SWAP4
00000bd1: SWAP3
00000bd2: SWAP1
00000bd3: PUSH2 0x0b7d
00000bd6: JUMP
00000bd7: JUMPDEST
00000bd8: PUSH1 0x20
00000bda: PUSH1 0x03
00000bdc: NOT
00000bdd: CALLDATASIZE
00000bde: ADD
00000bdf: SLT
00000be0: PUSH2 0x042e
00000be3: JUMPI
00000be4: PUSH1 0x04
00000be6: CALLDATALOAD
00000be7: PUSH8 0xffffffffffffffff
00000bf0: DUP2
00000bf1: GT
00000bf2: PUSH2 0x042e
00000bf5: JUMPI
00000bf6: CALLDATASIZE
00000bf7: PUSH1 0x23
00000bf9: DUP3
00000bfa: ADD
00000bfb: SLT
00000bfc: ISZERO
00000bfd: PUSH2 0x042e
00000c00: JUMPI
00000c01: DUP1
00000c02: PUSH1 0x04
00000c04: ADD
00000c05: CALLDATALOAD
00000c06: SWAP1
00000c07: PUSH8 0xffffffffffffffff
00000c10: DUP3
00000c11: GT
00000c12: PUSH2 0x042e
00000c15: JUMPI
00000c16: PUSH1 0x24
00000c18: DUP2
00000c19: ADD
00000c1a: SWAP1
00000c1b: PUSH1 0x24
00000c1d: CALLDATASIZE
00000c1e: SWAP2
00000c1f: DUP5
00000c20: PUSH1 0x05
00000c22: SHL
00000c23: ADD
00000c24: ADD
00000c25: GT
00000c26: PUSH2 0x042e
00000c29: JUMPI
00000c2a: PUSH2 0x0c32
00000c2d: DUP3
00000c2e: PUSH2 0x2f7a
00000c31: JUMP
00000c32: JUMPDEST
00000c33: SWAP2
00000c34: PUSH2 0x0c40
00000c37: PUSH1 0x40
00000c39: MLOAD
00000c3a: SWAP4
00000c3b: DUP5
00000c3c: PUSH2 0x2388
00000c3f: JUMP
00000c40: JUMPDEST
00000c41: DUP1
00000c42: DUP4
00000c43: MSTORE
00000c44: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00000c65: PUSH2 0x0c6d
00000c68: DUP3
00000c69: PUSH2 0x2f7a
00000c6c: JUMP
00000c6d: JUMPDEST
00000c6e: ADD
00000c6f: PUSH0
00000c70: JUMPDEST
00000c71: DUP2
00000c72: DUP2
00000c73: LT
00000c74: PUSH2 0x0ce8
00000c77: JUMPI
00000c78: POP
00000c79: POP
00000c7a: PUSH0
00000c7b: JUMPDEST
00000c7c: DUP2
00000c7d: DUP2
00000c7e: LT
00000c7f: PUSH2 0x0c90
00000c82: JUMPI
00000c83: PUSH1 0x40
00000c85: MLOAD
00000c86: DUP1
00000c87: PUSH2 0x0616
00000c8a: DUP7
00000c8b: DUP3
00000c8c: PUSH2 0x0b5a
00000c8f: JUMP
00000c90: JUMPDEST
00000c91: PUSH0
00000c92: DUP1
00000c93: PUSH2 0x0c9d
00000c96: DUP4
00000c97: DUP6
00000c98: DUP8
00000c99: PUSH2 0x2fbf
00000c9c: JUMP
00000c9d: JUMPDEST
00000c9e: SWAP1
00000c9f: PUSH2 0x0cad
00000ca2: PUSH1 0x40
00000ca4: MLOAD
00000ca5: DUP1
00000ca6: SWAP4
00000ca7: DUP2
00000ca8: SWAP4
00000ca9: PUSH2 0x3024
00000cac: JUMP
00000cad: JUMPDEST
00000cae: SUB
00000caf: SWAP1
00000cb0: ADDRESS
00000cb1: GAS
00000cb2: DELEGATECALL
00000cb3: PUSH2 0x0cba
00000cb6: PUSH2 0x3031
00000cb9: JUMP
00000cba: JUMPDEST
00000cbb: SWAP1
00000cbc: ISZERO
00000cbd: PUSH2 0x0ce0
00000cc0: JUMPI
00000cc1: SWAP1
00000cc2: PUSH1 0x01
00000cc4: SWAP2
00000cc5: PUSH2 0x0cce
00000cc8: DUP3
00000cc9: DUP8
00000cca: PUSH2 0x3060
00000ccd: JUMP
00000cce: JUMPDEST
00000ccf: MSTORE
00000cd0: PUSH2 0x0cd9
00000cd3: DUP2
00000cd4: DUP7
00000cd5: PUSH2 0x3060
00000cd8: JUMP
00000cd9: JUMPDEST
00000cda: POP
00000cdb: ADD
00000cdc: PUSH2 0x0c7b
00000cdf: JUMP
00000ce0: JUMPDEST
00000ce1: DUP1
00000ce2: MLOAD
00000ce3: SWAP1
00000ce4: PUSH1 0x20
00000ce6: ADD
00000ce7: REVERT
00000ce8: JUMPDEST
00000ce9: DUP1
00000cea: PUSH1 0x60
00000cec: PUSH1 0x20
00000cee: DUP1
00000cef: SWAP4
00000cf0: DUP9
00000cf1: ADD
00000cf2: ADD
00000cf3: MSTORE
00000cf4: ADD
00000cf5: PUSH2 0x0c70
00000cf8: JUMP
00000cf9: JUMPDEST
00000cfa: CALLVALUE
00000cfb: PUSH2 0x042e
00000cfe: JUMPI
00000cff: PUSH0
00000d00: PUSH1 0x03
00000d02: NOT
00000d03: CALLDATASIZE
00000d04: ADD
00000d05: SLT
00000d06: PUSH2 0x042e
00000d09: JUMPI
00000d0a: PUSH1 0x20
00000d0c: PUSH1 0x08
00000d0e: SLOAD
00000d0f: PUSH1 0x40
00000d11: MLOAD
00000d12: SWAP1
00000d13: DUP2
00000d14: MSTORE
00000d15: RETURN
00000d16: JUMPDEST
00000d17: PUSH16 0xffffffffffffffffffffffffffffffff
00000d28: DUP2
00000d29: AND
00000d2a: SUB
00000d2b: PUSH2 0x042e
00000d2e: JUMPI
00000d2f: JUMP
00000d30: JUMPDEST
00000d31: PUSH1 0x60
00000d33: PUSH1 0x03
00000d35: NOT
00000d36: CALLDATASIZE
00000d37: ADD
00000d38: SLT
00000d39: PUSH2 0x042e
00000d3c: JUMPI
00000d3d: PUSH1 0x04
00000d3f: CALLDATALOAD
00000d40: PUSH1 0x24
00000d42: CALLDATALOAD
00000d43: PUSH2 0x0d4b
00000d46: DUP2
00000d47: PUSH2 0x0d16
00000d4a: JUMP
00000d4b: JUMPDEST
00000d4c: PUSH1 0x44
00000d4e: CALLDATALOAD
00000d4f: SWAP1
00000d50: PUSH2 0x0d58
00000d53: DUP3
00000d54: PUSH2 0x0d16
00000d57: JUMP
00000d58: JUMPDEST
00000d59: PUSH2 0x0d60
00000d5c: PUSH2 0x3692
00000d5f: JUMP
00000d60: JUMPDEST
00000d61: DUP3
00000d62: PUSH0
00000d63: MSTORE
00000d64: PUSH1 0x0c
00000d66: PUSH1 0x20
00000d68: MSTORE
00000d69: PUSH1 0xff
00000d6b: PUSH1 0x01
00000d6d: PUSH1 0x40
00000d6f: PUSH0
00000d70: KECCAK256
00000d71: ADD
00000d72: SLOAD
00000d73: PUSH1 0xc8
00000d75: SHR
00000d76: AND
00000d77: ISZERO
00000d78: PUSH2 0x0e48
00000d7b: JUMPI
00000d7c: DUP3
00000d7d: PUSH0
00000d7e: MSTORE
00000d7f: PUSH1 0x0c
00000d81: PUSH1 0x20
00000d83: MSTORE
00000d84: PUSH1 0xff
00000d86: PUSH1 0x01
00000d88: PUSH1 0x40
00000d8a: PUSH0
00000d8b: KECCAK256
00000d8c: ADD
00000d8d: SLOAD
00000d8e: PUSH1 0xd8
00000d90: SHR
00000d91: AND
00000d92: PUSH2 0x0e1c
00000d95: JUMPI
00000d96: DUP3
00000d97: PUSH0
00000d98: MSTORE
00000d99: PUSH1 0x0c
00000d9b: PUSH1 0x20
00000d9d: MSTORE
00000d9e: PUSH1 0x01
00000da0: PUSH1 0x01
00000da2: PUSH1 0xa0
00000da4: SHL
00000da5: SUB
00000da6: PUSH1 0x01
00000da8: PUSH1 0x40
00000daa: PUSH0
00000dab: KECCAK256
00000dac: ADD
00000dad: SLOAD
00000dae: AND
00000daf: CALLER
00000db0: SUB
00000db1: PUSH2 0x0dec
00000db4: JUMPI
00000db5: SWAP2
00000db6: PUSH2 0x0999
00000db9: PUSH1 0x20
00000dbb: SWAP3
00000dbc: PUSH2 0x0de6
00000dbf: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
00000de0: SWAP6
00000de1: DUP5
00000de2: PUSH2 0x3aa5
00000de5: JUMP
00000de6: JUMPDEST
00000de7: DUP3
00000de8: PUSH2 0x3b32
00000deb: JUMP
00000dec: JUMPDEST
00000ded: DUP3
00000dee: PUSH32 0xa9ad2a2200000000000000000000000000000000000000000000000000000000
00000e0f: PUSH0
00000e10: MSTORE
00000e11: PUSH1 0x04
00000e13: MSTORE
00000e14: CALLER
00000e15: PUSH1 0x24
00000e17: MSTORE
00000e18: PUSH1 0x44
00000e1a: PUSH0
00000e1b: REVERT
00000e1c: JUMPDEST
00000e1d: DUP3
00000e1e: PUSH32 0x7354d5f100000000000000000000000000000000000000000000000000000000
00000e3f: PUSH0
00000e40: MSTORE
00000e41: PUSH1 0x04
00000e43: MSTORE
00000e44: PUSH1 0x24
00000e46: PUSH0
00000e47: REVERT
00000e48: JUMPDEST
00000e49: DUP3
00000e4a: PUSH32 0xe21c143100000000000000000000000000000000000000000000000000000000
00000e6b: PUSH0
00000e6c: MSTORE
00000e6d: PUSH1 0x04
00000e6f: MSTORE
00000e70: PUSH1 0x24
00000e72: PUSH0
00000e73: REVERT
00000e74: JUMPDEST
00000e75: PUSH1 0x03
00000e77: NOT
00000e78: PUSH1 0x60
00000e7a: SWAP2
00000e7b: ADD
00000e7c: SLT
00000e7d: PUSH2 0x042e
00000e80: JUMPI
00000e81: PUSH1 0x04
00000e83: CALLDATALOAD
00000e84: PUSH2 0x0e8c
00000e87: DUP2
00000e88: PUSH2 0x0777
00000e8b: JUMP
00000e8c: JUMPDEST
00000e8d: SWAP1
00000e8e: PUSH1 0x24
00000e90: CALLDATALOAD
00000e91: PUSH2 0x0e99
00000e94: DUP2
00000e95: PUSH2 0x0777
00000e98: JUMP
00000e99: JUMPDEST
00000e9a: SWAP1
00000e9b: PUSH1 0x44
00000e9d: CALLDATALOAD
00000e9e: SWAP1
00000e9f: JUMP
00000ea0: JUMPDEST
00000ea1: CALLVALUE
00000ea2: PUSH2 0x042e
00000ea5: JUMPI
00000ea6: PUSH2 0x0840
00000ea9: PUSH2 0x0eb1
00000eac: CALLDATASIZE
00000ead: PUSH2 0x0e74
00000eb0: JUMP
00000eb1: JUMPDEST
00000eb2: SWAP2
00000eb3: PUSH2 0x3074
00000eb6: JUMP
00000eb7: JUMPDEST
00000eb8: PUSH1 0x40
00000eba: PUSH1 0x03
00000ebc: NOT
00000ebd: CALLDATASIZE
00000ebe: ADD
00000ebf: SLT
00000ec0: PUSH2 0x042e
00000ec3: JUMPI
00000ec4: PUSH1 0x04
00000ec6: CALLDATALOAD
00000ec7: PUSH1 0x24
00000ec9: CALLDATALOAD
00000eca: PUSH2 0x0ed2
00000ecd: DUP2
00000ece: PUSH2 0x0d16
00000ed1: JUMP
00000ed2: JUMPDEST
00000ed3: PUSH2 0x0eda
00000ed6: PUSH2 0x3692
00000ed9: JUMP
00000eda: JUMPDEST
00000edb: DUP2
00000edc: PUSH0
00000edd: MSTORE
00000ede: PUSH1 0x0c
00000ee0: PUSH1 0x20
00000ee2: MSTORE
00000ee3: PUSH1 0xff
00000ee5: PUSH1 0x01
00000ee7: PUSH1 0x40
00000ee9: PUSH0
00000eea: KECCAK256
00000eeb: ADD
00000eec: SLOAD
00000eed: PUSH1 0xc8
00000eef: SHR
00000ef0: AND
00000ef1: ISZERO
00000ef2: PUSH2 0x0fbc
00000ef5: JUMPI
00000ef6: DUP2
00000ef7: PUSH0
00000ef8: MSTORE
00000ef9: PUSH1 0x0c
00000efb: PUSH1 0x20
00000efd: MSTORE
00000efe: PUSH1 0x40
00000f00: PUSH0
00000f01: KECCAK256
00000f02: SLOAD
00000f03: PUSH1 0x80
00000f05: SHR
00000f06: ISZERO
00000f07: PUSH2 0x0f90
00000f0a: JUMPI
00000f0b: DUP2
00000f0c: PUSH0
00000f0d: MSTORE
00000f0e: PUSH1 0x0c
00000f10: PUSH1 0x20
00000f12: MSTORE
00000f13: PUSH1 0x01
00000f15: PUSH1 0x01
00000f17: PUSH1 0xa0
00000f19: SHL
00000f1a: SUB
00000f1b: PUSH1 0x01
00000f1d: PUSH1 0x40
00000f1f: PUSH0
00000f20: KECCAK256
00000f21: ADD
00000f22: SLOAD
00000f23: AND
00000f24: CALLER
00000f25: SUB
00000f26: PUSH2 0x0f60
00000f29: JUMPI
00000f2a: DUP2
00000f2b: PUSH2 0x0f57
00000f2e: PUSH1 0x20
00000f30: SWAP3
00000f31: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
00000f52: SWAP5
00000f53: PUSH2 0x3750
00000f56: JUMP
00000f57: JUMPDEST
00000f58: PUSH2 0x0999
00000f5b: DUP2
00000f5c: PUSH2 0x398a
00000f5f: JUMP
00000f60: JUMPDEST
00000f61: POP
00000f62: PUSH32 0xa9ad2a2200000000000000000000000000000000000000000000000000000000
00000f83: PUSH0
00000f84: MSTORE
00000f85: PUSH1 0x04
00000f87: MSTORE
00000f88: CALLER
00000f89: PUSH1 0x24
00000f8b: MSTORE
00000f8c: PUSH1 0x44
00000f8e: PUSH0
00000f8f: REVERT
00000f90: JUMPDEST
00000f91: POP
00000f92: PUSH32 0x167274c900000000000000000000000000000000000000000000000000000000
00000fb3: PUSH0
00000fb4: MSTORE
00000fb5: PUSH1 0x04
00000fb7: MSTORE
00000fb8: PUSH1 0x24
00000fba: PUSH0
00000fbb: REVERT
00000fbc: JUMPDEST
00000fbd: POP
00000fbe: PUSH32 0xe21c143100000000000000000000000000000000000000000000000000000000
00000fdf: PUSH0
00000fe0: MSTORE
00000fe1: PUSH1 0x04
00000fe3: MSTORE
00000fe4: PUSH1 0x24
00000fe6: PUSH0
00000fe7: REVERT
00000fe8: JUMPDEST
00000fe9: CALLVALUE
00000fea: PUSH2 0x042e
00000fed: JUMPI
00000fee: PUSH2 0x0840
00000ff1: PUSH2 0x0ff9
00000ff4: CALLDATASIZE
00000ff5: PUSH2 0x0e74
00000ff8: JUMP
00000ff9: JUMPDEST
00000ffa: SWAP1
00000ffb: PUSH1 0x40
00000ffd: MLOAD
00000ffe: SWAP3
00000fff: PUSH2 0x1009
00001002: PUSH1 0x20
00001004: DUP6
00001005: PUSH2 0x2388
00001008: JUMP
00001009: JUMPDEST
0000100a: PUSH0
0000100b: DUP5
0000100c: MSTORE
0000100d: PUSH2 0x32e0
00001010: JUMP
00001011: JUMPDEST
00001012: CALLVALUE
00001013: PUSH2 0x042e
00001016: JUMPI
00001017: PUSH1 0x20
00001019: PUSH1 0x03
0000101b: NOT
0000101c: CALLDATASIZE
0000101d: ADD
0000101e: SLT
0000101f: PUSH2 0x042e
00001022: JUMPI
00001023: PUSH1 0x20
00001025: PUSH2 0x102f
00001028: PUSH1 0x04
0000102a: CALLDATALOAD
0000102b: PUSH2 0x31ab
0000102e: JUMP
0000102f: JUMPDEST
00001030: PUSH16 0xffffffffffffffffffffffffffffffff
00001041: PUSH1 0x40
00001043: MLOAD
00001044: SWAP2
00001045: AND
00001046: DUP2
00001047: MSTORE
00001048: RETURN
00001049: JUMPDEST
0000104a: CALLVALUE
0000104b: PUSH2 0x042e
0000104e: JUMPI
0000104f: PUSH0
00001050: PUSH1 0x03
00001052: NOT
00001053: CALLDATASIZE
00001054: ADD
00001055: SLT
00001056: PUSH2 0x042e
00001059: JUMPI
0000105a: PUSH1 0x20
0000105c: PUSH1 0x01
0000105e: PUSH1 0x01
00001060: PUSH1 0xa0
00001062: SHL
00001063: SUB
00001064: PUSH1 0x09
00001066: SLOAD
00001067: AND
00001068: PUSH1 0x40
0000106a: MLOAD
0000106b: SWAP1
0000106c: DUP2
0000106d: MSTORE
0000106e: RETURN
0000106f: JUMPDEST
00001070: CALLVALUE
00001071: PUSH2 0x042e
00001074: JUMPI
00001075: PUSH1 0x20
00001077: PUSH1 0x03
00001079: NOT
0000107a: CALLDATASIZE
0000107b: ADD
0000107c: SLT
0000107d: PUSH2 0x042e
00001080: JUMPI
00001081: PUSH1 0x04
00001083: CALLDATALOAD
00001084: DUP1
00001085: PUSH0
00001086: MSTORE
00001087: PUSH1 0x0c
00001089: PUSH1 0x20
0000108b: MSTORE
0000108c: PUSH1 0xff
0000108e: PUSH1 0x01
00001090: PUSH1 0x40
00001092: PUSH0
00001093: KECCAK256
00001094: ADD
00001095: SLOAD
00001096: PUSH1 0xc8
00001098: SHR
00001099: AND
0000109a: ISZERO
0000109b: PUSH2 0x074c
0000109e: JUMPI
0000109f: PUSH0
000010a0: MSTORE
000010a1: PUSH1 0x0c
000010a3: PUSH1 0x20
000010a5: MSTORE
000010a6: PUSH2 0x0616
000010a9: PUSH1 0x03
000010ab: PUSH1 0x40
000010ad: PUSH0
000010ae: KECCAK256
000010af: ADD
000010b0: SLOAD
000010b1: PUSH1 0x40
000010b3: MLOAD
000010b4: SWAP2
000010b5: DUP3
000010b6: SWAP2
000010b7: DUP3
000010b8: SWAP2
000010b9: SWAP1
000010ba: PUSH1 0x20
000010bc: DUP4
000010bd: ADD
000010be: SWAP3
000010bf: MSTORE
000010c0: JUMP
000010c1: JUMPDEST
000010c2: CALLVALUE
000010c3: PUSH2 0x042e
000010c6: JUMPI
000010c7: PUSH1 0x20
000010c9: PUSH1 0x03
000010cb: NOT
000010cc: CALLDATASIZE
000010cd: ADD
000010ce: SLT
000010cf: PUSH2 0x042e
000010d2: JUMPI
000010d3: PUSH1 0x04
000010d5: CALLDATALOAD
000010d6: DUP1
000010d7: PUSH0
000010d8: MSTORE
000010d9: PUSH1 0x0c
000010db: PUSH1 0x20
000010dd: MSTORE
000010de: PUSH1 0xff
000010e0: PUSH1 0x01
000010e2: PUSH1 0x40
000010e4: PUSH0
000010e5: KECCAK256
000010e6: ADD
000010e7: SLOAD
000010e8: PUSH1 0xc8
000010ea: SHR
000010eb: AND
000010ec: ISZERO
000010ed: PUSH2 0x074c
000010f0: JUMPI
000010f1: PUSH0
000010f2: MSTORE
000010f3: PUSH1 0x0c
000010f5: PUSH1 0x20
000010f7: MSTORE
000010f8: PUSH2 0x0616
000010fb: PUSH1 0xff
000010fd: PUSH1 0x01
000010ff: PUSH1 0x40
00001101: PUSH0
00001102: KECCAK256
00001103: ADD
00001104: SLOAD
00001105: PUSH1 0xd8
00001107: SHR
00001108: AND
00001109: PUSH1 0x40
0000110b: MLOAD
0000110c: SWAP2
0000110d: DUP3
0000110e: SWAP2
0000110f: DUP3
00001110: SWAP2
00001111: SWAP1
00001112: SWAP2
00001113: PUSH1 0x20
00001115: DUP2
00001116: ADD
00001117: SWAP3
00001118: ISZERO
00001119: ISZERO
0000111a: SWAP1
0000111b: MSTORE
0000111c: JUMP
0000111d: JUMPDEST
0000111e: DUP1
0000111f: ISZERO
00001120: ISZERO
00001121: SUB
00001122: PUSH2 0x042e
00001125: JUMPI
00001126: JUMP
00001127: JUMPDEST
00001128: PUSH1 0xa0
0000112a: PUSH1 0x03
0000112c: NOT
0000112d: CALLDATASIZE
0000112e: ADD
0000112f: SLT
00001130: PUSH2 0x042e
00001133: JUMPI
00001134: PUSH1 0x20
00001136: PUSH2 0x1183
00001139: PUSH1 0x04
0000113b: CALLDATALOAD
0000113c: PUSH2 0x1144
0000113f: DUP2
00001140: PUSH2 0x0777
00001143: JUMP
00001144: JUMPDEST
00001145: PUSH1 0x24
00001147: CALLDATALOAD
00001148: PUSH2 0x1150
0000114b: DUP2
0000114c: PUSH2 0x0777
0000114f: JUMP
00001150: JUMPDEST
00001151: PUSH1 0x44
00001153: CALLDATALOAD
00001154: PUSH2 0x115c
00001157: DUP2
00001158: PUSH2 0x0d16
0000115b: JUMP
0000115c: JUMPDEST
0000115d: PUSH1 0x64
0000115f: CALLDATALOAD
00001160: SWAP2
00001161: PUSH2 0x1169
00001164: DUP4
00001165: PUSH2 0x0777
00001168: JUMP
00001169: JUMPDEST
0000116a: PUSH1 0x84
0000116c: CALLDATALOAD
0000116d: SWAP4
0000116e: PUSH2 0x1176
00001171: DUP6
00001172: PUSH2 0x111d
00001175: JUMP
00001176: JUMPDEST
00001177: PUSH2 0x117e
0000117a: PUSH2 0x3692
0000117d: JUMP
0000117e: JUMPDEST
0000117f: PUSH2 0x3fcc
00001182: JUMP
00001183: JUMPDEST
00001184: PUSH1 0x40
00001186: MLOAD
00001187: SWAP1
00001188: DUP2
00001189: MSTORE
0000118a: RETURN
0000118b: JUMPDEST
0000118c: PUSH1 0x20
0000118e: PUSH1 0x03
00001190: NOT
00001191: CALLDATASIZE
00001192: ADD
00001193: SLT
00001194: PUSH2 0x042e
00001197: JUMPI
00001198: PUSH1 0x04
0000119a: CALLDATALOAD
0000119b: PUSH2 0x11a2
0000119e: PUSH2 0x3692
000011a1: JUMP
000011a2: JUMPDEST
000011a3: DUP1
000011a4: PUSH0
000011a5: MSTORE
000011a6: PUSH1 0x0c
000011a8: PUSH1 0x20
000011aa: MSTORE
000011ab: PUSH1 0xff
000011ad: PUSH1 0x01
000011af: PUSH1 0x40
000011b1: PUSH0
000011b2: KECCAK256
000011b3: ADD
000011b4: SLOAD
000011b5: PUSH1 0xc8
000011b7: SHR
000011b8: AND
000011b9: ISZERO
000011ba: PUSH2 0x074c
000011bd: JUMPI
000011be: DUP1
000011bf: PUSH0
000011c0: MSTORE
000011c1: PUSH1 0x0c
000011c3: PUSH1 0x20
000011c5: MSTORE
000011c6: PUSH1 0xff
000011c8: PUSH1 0x01
000011ca: PUSH1 0x40
000011cc: PUSH0
000011cd: KECCAK256
000011ce: ADD
000011cf: SLOAD
000011d0: PUSH1 0xd8
000011d2: SHR
000011d3: AND
000011d4: PUSH2 0x14f1
000011d7: JUMPI
000011d8: PUSH2 0x120b
000011db: PUSH2 0x11ff
000011de: PUSH1 0x01
000011e0: PUSH2 0x11f1
000011e3: DUP5
000011e4: PUSH0
000011e5: MSTORE
000011e6: PUSH1 0x0c
000011e8: PUSH1 0x20
000011ea: MSTORE
000011eb: PUSH1 0x40
000011ed: PUSH0
000011ee: KECCAK256
000011ef: SWAP1
000011f0: JUMP
000011f1: JUMPDEST
000011f2: ADD
000011f3: SLOAD
000011f4: PUSH1 0x01
000011f6: PUSH1 0x01
000011f8: PUSH1 0xa0
000011fa: SHL
000011fb: SUB
000011fc: AND
000011fd: SWAP1
000011fe: JUMP
000011ff: JUMPDEST
00001200: PUSH1 0x01
00001202: PUSH1 0x01
00001204: PUSH1 0xa0
00001206: SHL
00001207: SUB
00001208: AND
00001209: SWAP1
0000120a: JUMP
0000120b: JUMPDEST
0000120c: CALLER
0000120d: EQ
0000120e: ISZERO
0000120f: DUP1
00001210: PUSH2 0x14db
00001213: JUMPI
00001214: JUMPDEST
00001215: PUSH2 0x09a2
00001218: JUMPI
00001219: PUSH2 0x142b
0000121c: DUP2
0000121d: PUSH2 0x1246
00001220: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
00001241: SWAP4
00001242: PUSH2 0x4367
00001245: JUMP
00001246: JUMPDEST
00001247: DUP1
00001248: PUSH2 0x1458
0000124b: JUMPI
0000124c: PUSH2 0x1254
0000124f: DUP3
00001250: PUSH2 0x4227
00001253: JUMP
00001254: JUMPDEST
00001255: DUP1
00001256: PUSH2 0x1430
00001259: JUMPI
0000125a: JUMPDEST
0000125b: POP
0000125c: JUMPDEST
0000125d: PUSH2 0x12c6
00001260: PUSH5 0xffffffffff
00001266: TIMESTAMP
00001267: AND
00001268: PUSH1 0x01
0000126a: PUSH2 0x127b
0000126d: DUP6
0000126e: PUSH0
0000126f: MSTORE
00001270: PUSH1 0x0c
00001272: PUSH1 0x20
00001274: MSTORE
00001275: PUSH1 0x40
00001277: PUSH0
00001278: KECCAK256
00001279: SWAP1
0000127a: JUMP
0000127b: JUMPDEST
0000127c: ADD
0000127d: SWAP1
0000127e: PUSH32 0xffffffffffffff0000000000ffffffffffffffffffffffffffffffffffffffff
0000129f: PUSH25 0xffffffffff0000000000000000000000000000000000000000
000012b9: DUP4
000012ba: SLOAD
000012bb: SWAP3
000012bc: PUSH1 0xa0
000012be: SHL
000012bf: AND
000012c0: SWAP2
000012c1: AND
000012c2: OR
000012c3: SWAP1
000012c4: SSTORE
000012c5: JUMP
000012c6: JUMPDEST
000012c7: PUSH2 0x131d
000012ca: PUSH0
000012cb: PUSH2 0x12dc
000012ce: DUP5
000012cf: PUSH0
000012d0: MSTORE
000012d1: PUSH1 0x0c
000012d3: PUSH1 0x20
000012d5: MSTORE
000012d6: PUSH1 0x40
000012d8: PUSH0
000012d9: KECCAK256
000012da: SWAP1
000012db: JUMP
000012dc: JUMPDEST
000012dd: SWAP1
000012de: PUSH16 0xffffffffffffffffffffffffffffffff
000012ef: PUSH32 0xffffffffffffffffffffffffffffffff00000000000000000000000000000000
00001310: DUP4
00001311: SLOAD
00001312: SWAP3
00001313: PUSH1 0x80
00001315: SHL
00001316: AND
00001317: SWAP2
00001318: AND
00001319: OR
0000131a: SWAP1
0000131b: SSTORE
0000131c: JUMP
0000131d: JUMPDEST
0000131e: PUSH2 0x137b
00001321: PUSH1 0x01
00001323: PUSH2 0x1334
00001326: DUP5
00001327: PUSH0
00001328: MSTORE
00001329: PUSH1 0x0c
0000132b: PUSH1 0x20
0000132d: MSTORE
0000132e: PUSH1 0x40
00001330: PUSH0
00001331: KECCAK256
00001332: SWAP1
00001333: JUMP
00001334: JUMPDEST
00001335: ADD
00001336: PUSH28 0x01000000000000000000000000000000000000000000000000000000
00001353: PUSH32 0xffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffff
00001374: DUP3
00001375: SLOAD
00001376: AND
00001377: OR
00001378: SWAP1
00001379: SSTORE
0000137a: JUMP
0000137b: JUMPDEST
0000137c: PUSH2 0x1392
0000137f: PUSH1 0x01
00001381: PUSH2 0x11f1
00001384: DUP5
00001385: PUSH0
00001386: MSTORE
00001387: PUSH1 0x0c
00001389: PUSH1 0x20
0000138b: MSTORE
0000138c: PUSH1 0x40
0000138e: PUSH0
0000138f: KECCAK256
00001390: SWAP1
00001391: JUMP
00001392: JUMPDEST
00001393: SWAP1
00001394: DUP3
00001395: PUSH32 0xa8e3d71a6c0c719305004b430f6d17f12536f7b803db23a4d7016f5b52699a8c
000013b6: PUSH1 0x01
000013b8: PUSH1 0x01
000013ba: PUSH1 0xa0
000013bc: SHL
000013bd: SUB
000013be: PUSH2 0x13df
000013c1: PUSH2 0x13d2
000013c4: DUP5
000013c5: PUSH0
000013c6: MSTORE
000013c7: PUSH1 0x03
000013c9: PUSH1 0x20
000013cb: MSTORE
000013cc: PUSH1 0x40
000013ce: PUSH0
000013cf: KECCAK256
000013d0: SWAP1
000013d1: JUMP
000013d2: JUMPDEST
000013d3: SLOAD
000013d4: PUSH1 0x01
000013d6: PUSH1 0x01
000013d8: PUSH1 0xa0
000013da: SHL
000013db: SUB
000013dc: AND
000013dd: SWAP1
000013de: JUMP
000013df: JUMPDEST
000013e0: PUSH2 0x1418
000013e3: PUSH2 0x13eb
000013e6: DUP6
000013e7: PUSH2 0x3651
000013ea: JUMP
000013eb: JUMPDEST
000013ec: SWAP6
000013ed: DUP4
000013ee: PUSH1 0x40
000013f0: MLOAD
000013f1: SWAP5
000013f2: DUP6
000013f3: SWAP5
000013f4: AND
000013f5: SWAP9
000013f6: AND
000013f7: SWAP7
000013f8: CALLER
000013f9: DUP5
000013fa: PUSH1 0x40
000013fc: SWAP2
000013fd: SWAP5
000013fe: SWAP4
000013ff: SWAP3
00001400: PUSH1 0x01
00001402: PUSH1 0x01
00001404: PUSH1 0xa0
00001406: SHL
00001407: SUB
00001408: PUSH1 0x60
0000140a: DUP4
0000140b: ADD
0000140c: SWAP7
0000140d: AND
0000140e: DUP3
0000140f: MSTORE
00001410: PUSH1 0x20
00001412: DUP3
00001413: ADD
00001414: MSTORE
00001415: ADD
00001416: MSTORE
00001417: JUMP
00001418: JUMPDEST
00001419: SUB
0000141a: SWAP1
0000141b: LOG4
0000141c: PUSH1 0x40
0000141e: MLOAD
0000141f: SWAP1
00001420: DUP2
00001421: MSTORE
00001422: SWAP1
00001423: DUP2
00001424: SWAP1
00001425: PUSH1 0x20
00001427: DUP3
00001428: ADD
00001429: SWAP1
0000142a: JUMP
0000142b: JUMPDEST
0000142c: SUB
0000142d: SWAP1
0000142e: LOG1
0000142f: STOP
00001430: JUMPDEST
00001431: PUSH2 0x1450
00001434: PUSH1 0x03
00001436: PUSH2 0x1447
00001439: DUP6
0000143a: PUSH0
0000143b: MSTORE
0000143c: PUSH1 0x0c
0000143e: PUSH1 0x20
00001440: MSTORE
00001441: PUSH1 0x40
00001443: PUSH0
00001444: KECCAK256
00001445: SWAP1
00001446: JUMP
00001447: JUMPDEST
00001448: ADD
00001449: SWAP2
0000144a: DUP3
0000144b: SLOAD
0000144c: PUSH2 0x3458
0000144f: JUMP
00001450: JUMPDEST
00001451: SWAP1
00001452: SSTORE
00001453: PUSH0
00001454: PUSH2 0x125a
00001457: JUMP
00001458: JUMPDEST
00001459: PUSH2 0x14c0
0000145c: PUSH2 0x1486
0000145f: PUSH2 0x1470
00001462: DUP5
00001463: PUSH0
00001464: MSTORE
00001465: PUSH1 0x0c
00001467: PUSH1 0x20
00001469: MSTORE
0000146a: PUSH1 0x40
0000146c: PUSH0
0000146d: KECCAK256
0000146e: SWAP1
0000146f: JUMP
00001470: JUMPDEST
00001471: SLOAD
00001472: PUSH16 0xffffffffffffffffffffffffffffffff
00001483: AND
00001484: SWAP1
00001485: JUMP
00001486: JUMPDEST
00001487: PUSH16 0xffffffffffffffffffffffffffffffff
00001498: PUSH2 0x14b9
0000149b: PUSH1 0x02
0000149d: PUSH2 0x14ae
000014a0: DUP8
000014a1: PUSH0
000014a2: MSTORE
000014a3: PUSH1 0x0c
000014a5: PUSH1 0x20
000014a7: MSTORE
000014a8: PUSH1 0x40
000014aa: PUSH0
000014ab: KECCAK256
000014ac: SWAP1
000014ad: JUMP
000014ae: JUMPDEST
000014af: ADD
000014b0: SLOAD
000014b1: PUSH1 0xa0
000014b3: SHR
000014b4: PUSH1 0xff
000014b6: AND
000014b7: SWAP1
000014b8: JUMP
000014b9: JUMPDEST
000014ba: SWAP2
000014bb: AND
000014bc: PUSH2 0x451b
000014bf: JUMP
000014c0: JUMPDEST
000014c1: PUSH1 0x03
000014c3: PUSH2 0x14d4
000014c6: DUP5
000014c7: PUSH0
000014c8: MSTORE
000014c9: PUSH1 0x0c
000014cb: PUSH1 0x20
000014cd: MSTORE
000014ce: PUSH1 0x40
000014d0: PUSH0
000014d1: KECCAK256
000014d2: SWAP1
000014d3: JUMP
000014d4: JUMPDEST
000014d5: ADD
000014d6: SSTORE
000014d7: PUSH2 0x125c
000014da: JUMP
000014db: JUMPDEST
000014dc: POP
000014dd: PUSH2 0x14ec
000014e0: PUSH2 0x14e8
000014e3: DUP3
000014e4: PUSH2 0x4d74
000014e7: JUMP
000014e8: JUMPDEST
000014e9: ISZERO
000014ea: SWAP1
000014eb: JUMP
000014ec: JUMPDEST
000014ed: PUSH2 0x1214
000014f0: JUMP
000014f1: JUMPDEST
000014f2: PUSH32 0x7354d5f100000000000000000000000000000000000000000000000000000000
00001513: PUSH0
00001514: MSTORE
00001515: PUSH1 0x04
00001517: MSTORE
00001518: PUSH1 0x24
0000151a: PUSH0
0000151b: REVERT
0000151c: JUMPDEST
0000151d: CALLVALUE
0000151e: PUSH2 0x042e
00001521: JUMPI
00001522: PUSH1 0x20
00001524: PUSH1 0x03
00001526: NOT
00001527: CALLDATASIZE
00001528: ADD
00001529: SLT
0000152a: PUSH2 0x042e
0000152d: JUMPI
0000152e: PUSH1 0x01
00001530: PUSH1 0x01
00001532: PUSH1 0xa0
00001534: SHL
00001535: SUB
00001536: PUSH1 0x04
00001538: CALLDATALOAD
00001539: PUSH2 0x1541
0000153c: DUP2
0000153d: PUSH2 0x0777
00001540: JUMP
00001541: JUMPDEST
00001542: AND
00001543: PUSH0
00001544: MSTORE
00001545: PUSH1 0x07
00001547: PUSH1 0x20
00001549: MSTORE
0000154a: PUSH1 0x20
0000154c: PUSH1 0x40
0000154e: PUSH0
0000154f: KECCAK256
00001550: SLOAD
00001551: PUSH1 0x40
00001553: MLOAD
00001554: SWAP1
00001555: DUP2
00001556: MSTORE
00001557: RETURN
00001558: JUMPDEST
00001559: CALLVALUE
0000155a: PUSH2 0x042e
0000155d: JUMPI
0000155e: PUSH1 0x20
00001560: PUSH1 0x03
00001562: NOT
00001563: CALLDATASIZE
00001564: ADD
00001565: SLT
00001566: PUSH2 0x042e
00001569: JUMPI
0000156a: PUSH1 0x20
0000156c: PUSH2 0x06f8
0000156f: PUSH1 0x04
00001571: CALLDATALOAD
00001572: PUSH2 0x3605
00001575: JUMP
00001576: JUMPDEST
00001577: PUSH1 0x03
00001579: NOT
0000157a: PUSH1 0x40
0000157c: SWAP2
0000157d: ADD
0000157e: SLT
0000157f: PUSH2 0x042e
00001582: JUMPI
00001583: PUSH1 0x04
00001585: CALLDATALOAD
00001586: PUSH2 0x158e
00001589: DUP2
0000158a: PUSH2 0x0777
0000158d: JUMP
0000158e: JUMPDEST
0000158f: SWAP1
00001590: PUSH1 0x24
00001592: CALLDATALOAD
00001593: PUSH2 0x05ad
00001596: DUP2
00001597: PUSH2 0x0777
0000159a: JUMP
0000159b: JUMPDEST
0000159c: CALLVALUE
0000159d: PUSH2 0x042e
000015a0: JUMPI
000015a1: PUSH2 0x15a9
000015a4: CALLDATASIZE
000015a5: PUSH2 0x1576
000015a8: JUMP
000015a9: JUMPDEST
000015aa: PUSH1 0x01
000015ac: PUSH1 0x01
000015ae: PUSH1 0xa0
000015b0: SHL
000015b1: SUB
000015b2: PUSH0
000015b3: SLOAD
000015b4: AND
000015b5: CALLER
000015b6: DUP2
000015b7: SUB
000015b8: PUSH2 0x16fa
000015bb: JUMPI
000015bc: POP
000015bd: PUSH1 0x40
000015bf: MLOAD
000015c0: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
000015e1: DUP2
000015e2: MSTORE
000015e3: ADDRESS
000015e4: PUSH1 0x04
000015e6: DUP3
000015e7: ADD
000015e8: MSTORE
000015e9: PUSH1 0x01
000015eb: PUSH1 0x01
000015ed: PUSH1 0xa0
000015ef: SHL
000015f0: SUB
000015f1: DUP4
000015f2: AND
000015f3: SWAP3
000015f4: SWAP1
000015f5: PUSH1 0x20
000015f7: DUP2
000015f8: PUSH1 0x24
000015fa: DUP2
000015fb: DUP8
000015fc: GAS
000015fd: STATICCALL
000015fe: DUP1
000015ff: ISZERO
00001600: PUSH2 0x16f5
00001603: JUMPI
00001604: PUSH2 0x1631
00001607: SWAP2
00001608: PUSH0
00001609: SWAP2
0000160a: PUSH2 0x16c6
0000160d: JUMPI
0000160e: JUMPDEST
0000160f: POP
00001610: PUSH2 0x162a
00001613: DUP4
00001614: PUSH1 0x01
00001616: PUSH1 0x01
00001618: PUSH1 0xa0
0000161a: SHL
0000161b: SUB
0000161c: AND
0000161d: PUSH0
0000161e: MSTORE
0000161f: PUSH1 0x07
00001621: PUSH1 0x20
00001623: MSTORE
00001624: PUSH1 0x40
00001626: PUSH0
00001627: KECCAK256
00001628: SWAP1
00001629: JUMP
0000162a: JUMPDEST
0000162b: SLOAD
0000162c: SWAP1
0000162d: PUSH2 0x3248
00001630: JUMP
00001631: JUMPDEST
00001632: SWAP1
00001633: DUP2
00001634: ISZERO
00001635: PUSH2 0x1691
00001638: JUMPI
00001639: DUP2
0000163a: PUSH2 0x1668
0000163d: PUSH32 0x21252411d5a999da4bc6a490f7143b61ba690edceb4577a2800eab8dfbb1e92c
0000165e: SWAP4
0000165f: DUP6
00001660: PUSH2 0x168c
00001663: SWAP5
00001664: PUSH2 0x41cd
00001667: JUMP
00001668: JUMPDEST
00001669: PUSH1 0x40
0000166b: MLOAD
0000166c: SWAP2
0000166d: DUP3
0000166e: SWAP2
0000166f: CALLER
00001670: SWAP6
00001671: DUP4
00001672: PUSH1 0x20
00001674: SWAP1
00001675: SWAP4
00001676: SWAP3
00001677: SWAP2
00001678: SWAP4
00001679: PUSH1 0x01
0000167b: PUSH1 0x01
0000167d: PUSH1 0xa0
0000167f: SHL
00001680: SUB
00001681: PUSH1 0x40
00001683: DUP3
00001684: ADD
00001685: SWAP6
00001686: AND
00001687: DUP2
00001688: MSTORE
00001689: ADD
0000168a: MSTORE
0000168b: JUMP
0000168c: JUMPDEST
0000168d: SUB
0000168e: SWAP1
0000168f: LOG3
00001690: STOP
00001691: JUMPDEST
00001692: PUSH32 0xf4c3afcf00000000000000000000000000000000000000000000000000000000
000016b3: PUSH0
000016b4: MSTORE
000016b5: PUSH1 0x01
000016b7: PUSH1 0x01
000016b9: PUSH1 0xa0
000016bb: SHL
000016bc: SUB
000016bd: DUP5
000016be: AND
000016bf: PUSH1 0x04
000016c1: MSTORE
000016c2: PUSH1 0x24
000016c4: PUSH0
000016c5: REVERT
000016c6: JUMPDEST
000016c7: PUSH2 0x16e8
000016ca: SWAP2
000016cb: POP
000016cc: PUSH1 0x20
000016ce: RETURNDATASIZE
000016cf: PUSH1 0x20
000016d1: GT
000016d2: PUSH2 0x16ee
000016d5: JUMPI
000016d6: JUMPDEST
000016d7: PUSH2 0x16e0
000016da: DUP2
000016db: DUP4
000016dc: PUSH2 0x2388
000016df: JUMP
000016e0: JUMPDEST
000016e1: DUP2
000016e2: ADD
000016e3: SWAP1
000016e4: PUSH2 0x31cf
000016e7: JUMP
000016e8: JUMPDEST
000016e9: PUSH0
000016ea: PUSH2 0x160e
000016ed: JUMP
000016ee: JUMPDEST
000016ef: POP
000016f0: RETURNDATASIZE
000016f1: PUSH2 0x16d6
000016f4: JUMP
000016f5: JUMPDEST
000016f6: PUSH2 0x31de
000016f9: JUMP
000016fa: JUMPDEST
000016fb: PUSH32 0xc6cce6a400000000000000000000000000000000000000000000000000000000
0000171c: PUSH0
0000171d: MSTORE
0000171e: PUSH1 0x04
00001720: MSTORE
00001721: CALLER
00001722: PUSH1 0x24
00001724: MSTORE
00001725: PUSH1 0x44
00001727: PUSH0
00001728: REVERT
00001729: JUMPDEST
0000172a: CALLVALUE
0000172b: PUSH2 0x042e
0000172e: JUMPI
0000172f: PUSH1 0x20
00001731: PUSH1 0x03
00001733: NOT
00001734: CALLDATASIZE
00001735: ADD
00001736: SLT
00001737: PUSH2 0x042e
0000173a: JUMPI
0000173b: PUSH1 0x04
0000173d: CALLDATALOAD
0000173e: DUP1
0000173f: PUSH0
00001740: MSTORE
00001741: PUSH1 0x0c
00001743: PUSH1 0x20
00001745: MSTORE
00001746: PUSH1 0xff
00001748: PUSH1 0x01
0000174a: PUSH1 0x40
0000174c: PUSH0
0000174d: KECCAK256
0000174e: ADD
0000174f: SLOAD
00001750: PUSH1 0xc8
00001752: SHR
00001753: AND
00001754: ISZERO
00001755: PUSH2 0x074c
00001758: JUMPI
00001759: PUSH0
0000175a: MSTORE
0000175b: PUSH1 0x03
0000175d: PUSH1 0x20
0000175f: MSTORE
00001760: PUSH2 0x0616
00001763: PUSH1 0x01
00001765: PUSH1 0x01
00001767: PUSH1 0xa0
00001769: SHL
0000176a: SUB
0000176b: PUSH1 0x40
0000176d: PUSH0
0000176e: KECCAK256
0000176f: SLOAD
00001770: AND
00001771: PUSH1 0x40
00001773: MLOAD
00001774: SWAP2
00001775: DUP3
00001776: SWAP2
00001777: DUP3
00001778: SWAP2
00001779: SWAP1
0000177a: SWAP2
0000177b: PUSH1 0x01
0000177d: PUSH1 0x01
0000177f: PUSH1 0xa0
00001781: SHL
00001782: SUB
00001783: PUSH1 0x20
00001785: DUP3
00001786: ADD
00001787: SWAP4
00001788: AND
00001789: SWAP1
0000178a: MSTORE
0000178b: JUMP
0000178c: JUMPDEST
0000178d: CALLVALUE
0000178e: PUSH2 0x042e
00001791: JUMPI
00001792: PUSH1 0x20
00001794: PUSH1 0x03
00001796: NOT
00001797: CALLDATASIZE
00001798: ADD
00001799: SLT
0000179a: PUSH2 0x042e
0000179d: JUMPI
0000179e: PUSH1 0x01
000017a0: PUSH1 0x01
000017a2: PUSH1 0xa0
000017a4: SHL
000017a5: SUB
000017a6: PUSH1 0x04
000017a8: CALLDATALOAD
000017a9: PUSH2 0x17b1
000017ac: DUP2
000017ad: PUSH2 0x0777
000017b0: JUMP
000017b1: JUMPDEST
000017b2: AND
000017b3: DUP1
000017b4: ISZERO
000017b5: PUSH2 0x17ce
000017b8: JUMPI
000017b9: PUSH0
000017ba: MSTORE
000017bb: PUSH1 0x04
000017bd: PUSH1 0x20
000017bf: MSTORE
000017c0: PUSH1 0x20
000017c2: PUSH1 0x40
000017c4: PUSH0
000017c5: KECCAK256
000017c6: SLOAD
000017c7: PUSH1 0x40
000017c9: MLOAD
000017ca: SWAP1
000017cb: DUP2
000017cc: MSTORE
000017cd: RETURN
000017ce: JUMPDEST
000017cf: PUSH32 0x89c62b6400000000000000000000000000000000000000000000000000000000
000017f0: PUSH0
000017f1: MSTORE
000017f2: PUSH0
000017f3: PUSH1 0x04
000017f5: MSTORE
000017f6: PUSH1 0x24
000017f8: PUSH0
000017f9: REVERT
000017fa: JUMPDEST
000017fb: CALLVALUE
000017fc: PUSH2 0x042e
000017ff: JUMPI
00001800: PUSH1 0x20
00001802: PUSH1 0x03
00001804: NOT
00001805: CALLDATASIZE
00001806: ADD
00001807: SLT
00001808: PUSH2 0x042e
0000180b: JUMPI
0000180c: PUSH1 0x04
0000180e: CALLDATALOAD
0000180f: PUSH2 0x1817
00001812: DUP2
00001813: PUSH2 0x0777
00001816: JUMP
00001817: JUMPDEST
00001818: PUSH0
00001819: SLOAD
0000181a: PUSH1 0x01
0000181c: PUSH1 0x01
0000181e: PUSH1 0xa0
00001820: SHL
00001821: SUB
00001822: DUP2
00001823: AND
00001824: CALLER
00001825: DUP2
00001826: SUB
00001827: PUSH2 0x16fa
0000182a: JUMPI
0000182b: POP
0000182c: PUSH1 0x01
0000182e: PUSH1 0x01
00001830: PUSH1 0xa0
00001832: SHL
00001833: SUB
00001834: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00001855: SWAP3
00001856: AND
00001857: SWAP2
00001858: DUP3
00001859: SWAP2
0000185a: AND
0000185b: OR
0000185c: PUSH0
0000185d: SSTORE
0000185e: CALLER
0000185f: PUSH32 0xbdd36143ee09de60bdefca70680e0f71189b2ed7acee364b53917ad433fdaf80
00001880: PUSH0
00001881: DUP1
00001882: LOG3
00001883: STOP
00001884: JUMPDEST
00001885: CALLVALUE
00001886: PUSH2 0x042e
00001889: JUMPI
0000188a: PUSH1 0x20
0000188c: PUSH1 0x03
0000188e: NOT
0000188f: CALLDATASIZE
00001890: ADD
00001891: SLT
00001892: PUSH2 0x042e
00001895: JUMPI
00001896: PUSH1 0x04
00001898: CALLDATALOAD
00001899: PUSH2 0x18a1
0000189c: DUP2
0000189d: PUSH2 0x0777
000018a0: JUMP
000018a1: JUMPDEST
000018a2: PUSH1 0x01
000018a4: PUSH1 0x01
000018a6: PUSH1 0xa0
000018a8: SHL
000018a9: SUB
000018aa: PUSH0
000018ab: SLOAD
000018ac: AND
000018ad: CALLER
000018ae: DUP2
000018af: SUB
000018b0: PUSH2 0x16fa
000018b3: JUMPI
000018b4: POP
000018b5: PUSH1 0x01
000018b7: PUSH1 0x01
000018b9: PUSH1 0xa0
000018bb: SHL
000018bc: SUB
000018bd: PUSH1 0x09
000018bf: SLOAD
000018c0: SWAP2
000018c1: AND
000018c2: DUP1
000018c3: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
000018e4: DUP4
000018e5: AND
000018e6: OR
000018e7: PUSH1 0x09
000018e9: SSTORE
000018ea: PUSH1 0x01
000018ec: PUSH1 0x01
000018ee: PUSH1 0xa0
000018f0: SHL
000018f1: SUB
000018f2: PUSH1 0x40
000018f4: MLOAD
000018f5: SWAP3
000018f6: AND
000018f7: DUP3
000018f8: MSTORE
000018f9: PUSH1 0x20
000018fb: DUP3
000018fc: ADD
000018fd: MSTORE
000018fe: PUSH32 0xa2548bd4b805e907c1558a47b5858324fe8bb4a2e1ddfca647eecbf65610eebc
0000191f: PUSH1 0x40
00001921: CALLER
00001922: SWAP3
00001923: LOG2
00001924: PUSH32 0x6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c
00001945: PUSH2 0x142b
00001948: PUSH2 0x1952
0000194b: PUSH1 0x08
0000194d: SLOAD
0000194e: PUSH2 0x3216
00001951: JUMP
00001952: JUMPDEST
00001953: PUSH1 0x40
00001955: MLOAD
00001956: SWAP2
00001957: DUP3
00001958: SWAP2
00001959: DUP3
0000195a: SWAP2
0000195b: SWAP1
0000195c: PUSH1 0x20
0000195e: PUSH1 0x40
00001960: DUP5
00001961: ADD
00001962: SWAP4
00001963: PUSH1 0x01
00001965: DUP2
00001966: MSTORE
00001967: ADD
00001968: MSTORE
00001969: JUMP
0000196a: JUMPDEST
0000196b: CALLVALUE
0000196c: PUSH2 0x042e
0000196f: JUMPI
00001970: PUSH1 0x20
00001972: PUSH1 0x03
00001974: NOT
00001975: CALLDATASIZE
00001976: ADD
00001977: SLT
00001978: PUSH2 0x042e
0000197b: JUMPI
0000197c: PUSH1 0x04
0000197e: CALLDATALOAD
0000197f: DUP1
00001980: PUSH0
00001981: MSTORE
00001982: PUSH1 0x0c
00001984: PUSH1 0x20
00001986: MSTORE
00001987: PUSH1 0xff
00001989: PUSH1 0x01
0000198b: PUSH1 0x40
0000198d: PUSH0
0000198e: KECCAK256
0000198f: ADD
00001990: SLOAD
00001991: PUSH1 0xc8
00001993: SHR
00001994: AND
00001995: ISZERO
00001996: PUSH2 0x074c
00001999: JUMPI
0000199a: PUSH2 0x0741
0000199d: SWAP1
0000199e: PUSH2 0x4227
000019a1: JUMP
000019a2: JUMPDEST
000019a3: CALLVALUE
000019a4: PUSH2 0x042e
000019a7: JUMPI
000019a8: PUSH1 0x20
000019aa: PUSH1 0x03
000019ac: NOT
000019ad: CALLDATASIZE
000019ae: ADD
000019af: SLT
000019b0: PUSH2 0x042e
000019b3: JUMPI
000019b4: PUSH1 0x04
000019b6: CALLDATALOAD
000019b7: DUP1
000019b8: PUSH0
000019b9: MSTORE
000019ba: PUSH1 0x0c
000019bc: PUSH1 0x20
000019be: MSTORE
000019bf: PUSH1 0xff
000019c1: PUSH1 0x01
000019c3: PUSH1 0x40
000019c5: PUSH0
000019c6: KECCAK256
000019c7: ADD
000019c8: SLOAD
000019c9: PUSH1 0xc8
000019cb: SHR
000019cc: AND
000019cd: ISZERO
000019ce: PUSH2 0x074c
000019d1: JUMPI
000019d2: PUSH0
000019d3: MSTORE
000019d4: PUSH1 0x0c
000019d6: PUSH1 0x20
000019d8: MSTORE
000019d9: PUSH2 0x0616
000019dc: PUSH1 0x40
000019de: PUSH0
000019df: KECCAK256
000019e0: SLOAD
000019e1: PUSH1 0x80
000019e3: SHR
000019e4: PUSH1 0x40
000019e6: MLOAD
000019e7: SWAP2
000019e8: DUP3
000019e9: SWAP2
000019ea: DUP3
000019eb: SWAP2
000019ec: SWAP1
000019ed: SWAP2
000019ee: PUSH16 0xffffffffffffffffffffffffffffffff
000019ff: PUSH1 0x20
00001a01: DUP3
00001a02: ADD
00001a03: SWAP4
00001a04: AND
00001a05: SWAP1
00001a06: MSTORE
00001a07: JUMP
00001a08: JUMPDEST
00001a09: PUSH1 0x40
00001a0b: PUSH1 0x03
00001a0d: NOT
00001a0e: CALLDATASIZE
00001a0f: ADD
00001a10: SLT
00001a11: PUSH2 0x042e
00001a14: JUMPI
00001a15: PUSH1 0x04
00001a17: CALLDATALOAD
00001a18: PUSH1 0x24
00001a1a: CALLDATALOAD
00001a1b: PUSH2 0x1a23
00001a1e: DUP2
00001a1f: PUSH2 0x0d16
00001a22: JUMP
00001a23: JUMPDEST
00001a24: PUSH2 0x1a2b
00001a27: PUSH2 0x3692
00001a2a: JUMP
00001a2b: JUMPDEST
00001a2c: DUP2
00001a2d: PUSH0
00001a2e: MSTORE
00001a2f: PUSH1 0x0c
00001a31: PUSH1 0x20
00001a33: MSTORE
00001a34: PUSH1 0xff
00001a36: PUSH1 0x01
00001a38: PUSH1 0x40
00001a3a: PUSH0
00001a3b: KECCAK256
00001a3c: ADD
00001a3d: SLOAD
00001a3e: PUSH1 0xc8
00001a40: SHR
00001a41: AND
00001a42: ISZERO
00001a43: PUSH2 0x0fbc
00001a46: JUMPI
00001a47: DUP2
00001a48: PUSH0
00001a49: MSTORE
00001a4a: PUSH1 0x0c
00001a4c: PUSH1 0x20
00001a4e: MSTORE
00001a4f: PUSH1 0x01
00001a51: PUSH1 0x01
00001a53: PUSH1 0xa0
00001a55: SHL
00001a56: SUB
00001a57: PUSH1 0x01
00001a59: PUSH1 0x40
00001a5b: PUSH0
00001a5c: KECCAK256
00001a5d: ADD
00001a5e: SLOAD
00001a5f: AND
00001a60: CALLER
00001a61: SUB
00001a62: PUSH2 0x0f60
00001a65: JUMPI
00001a66: DUP2
00001a67: PUSH2 0x0999
00001a6a: PUSH1 0x20
00001a6c: SWAP3
00001a6d: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
00001a8e: SWAP5
00001a8f: PUSH2 0x3750
00001a92: JUMP
00001a93: JUMPDEST
00001a94: CALLVALUE
00001a95: PUSH2 0x042e
00001a98: JUMPI
00001a99: PUSH1 0x20
00001a9b: PUSH1 0x03
00001a9d: NOT
00001a9e: CALLDATASIZE
00001a9f: ADD
00001aa0: SLT
00001aa1: PUSH2 0x042e
00001aa4: JUMPI
00001aa5: PUSH1 0x04
00001aa7: CALLDATALOAD
00001aa8: PUSH0
00001aa9: PUSH2 0x0120
00001aac: PUSH1 0x40
00001aae: MLOAD
00001aaf: PUSH2 0x1ab7
00001ab2: DUP2
00001ab3: PUSH2 0x234a
00001ab6: JUMP
00001ab7: JUMPDEST
00001ab8: DUP3
00001ab9: DUP2
00001aba: MSTORE
00001abb: DUP3
00001abc: PUSH1 0x20
00001abe: DUP3
00001abf: ADD
00001ac0: MSTORE
00001ac1: DUP3
00001ac2: PUSH1 0x40
00001ac4: DUP3
00001ac5: ADD
00001ac6: MSTORE
00001ac7: DUP3
00001ac8: PUSH1 0x60
00001aca: DUP3
00001acb: ADD
00001acc: MSTORE
00001acd: DUP3
00001ace: PUSH1 0x80
00001ad0: DUP3
00001ad1: ADD
00001ad2: MSTORE
00001ad3: DUP3
00001ad4: PUSH1 0xa0
00001ad6: DUP3
00001ad7: ADD
00001ad8: MSTORE
00001ad9: DUP3
00001ada: PUSH1 0xc0
00001adc: DUP3
00001add: ADD
00001ade: MSTORE
00001adf: DUP3
00001ae0: PUSH1 0xe0
00001ae2: DUP3
00001ae3: ADD
00001ae4: MSTORE
00001ae5: DUP3
00001ae6: PUSH2 0x0100
00001ae9: DUP3
00001aea: ADD
00001aeb: MSTORE
00001aec: ADD
00001aed: MSTORE
00001aee: DUP1
00001aef: PUSH0
00001af0: MSTORE
00001af1: PUSH1 0x0c
00001af3: PUSH1 0x20
00001af5: MSTORE
00001af6: PUSH1 0xff
00001af8: PUSH1 0x01
00001afa: PUSH1 0x40
00001afc: PUSH0
00001afd: KECCAK256
00001afe: ADD
00001aff: SLOAD
00001b00: PUSH1 0xc8
00001b02: SHR
00001b03: AND
00001b04: ISZERO
00001b05: PUSH2 0x074c
00001b08: JUMPI
00001b09: PUSH0
00001b0a: MSTORE
00001b0b: PUSH1 0x0c
00001b0d: PUSH1 0x20
00001b0f: MSTORE
00001b10: PUSH2 0x0616
00001b13: PUSH1 0x40
00001b15: PUSH0
00001b16: KECCAK256
00001b17: PUSH1 0x03
00001b19: PUSH2 0x1b20
00001b1c: PUSH2 0x23c9
00001b1f: JUMP
00001b20: JUMPDEST
00001b21: SWAP2
00001b22: PUSH2 0x1b7a
00001b25: PUSH2 0x1b61
00001b28: DUP3
00001b29: SLOAD
00001b2a: PUSH2 0x1b5b
00001b2d: PUSH2 0x1b45
00001b30: DUP3
00001b31: PUSH16 0xffffffffffffffffffffffffffffffff
00001b42: AND
00001b43: SWAP1
00001b44: JUMP
00001b45: JUMPDEST
00001b46: PUSH16 0xffffffffffffffffffffffffffffffff
00001b57: AND
00001b58: DUP8
00001b59: MSTORE
00001b5a: JUMP
00001b5b: JUMPDEST
00001b5c: PUSH1 0x80
00001b5e: SHR
00001b5f: SWAP1
00001b60: JUMP
00001b61: JUMPDEST
00001b62: PUSH16 0xffffffffffffffffffffffffffffffff
00001b73: AND
00001b74: PUSH1 0x20
00001b76: DUP6
00001b77: ADD
00001b78: MSTORE
00001b79: JUMP
00001b7a: JUMPDEST
00001b7b: PUSH2 0x1bf3
00001b7e: PUSH2 0x1bea
00001b81: PUSH1 0x01
00001b83: DUP4
00001b84: ADD
00001b85: SLOAD
00001b86: PUSH2 0x1ba8
00001b89: PUSH2 0x1b98
00001b8c: DUP3
00001b8d: PUSH1 0x01
00001b8f: PUSH1 0x01
00001b91: PUSH1 0xa0
00001b93: SHL
00001b94: SUB
00001b95: AND
00001b96: SWAP1
00001b97: JUMP
00001b98: JUMPDEST
00001b99: PUSH1 0x01
00001b9b: PUSH1 0x01
00001b9d: PUSH1 0xa0
00001b9f: SHL
00001ba0: SUB
00001ba1: AND
00001ba2: PUSH1 0x40
00001ba4: DUP9
00001ba5: ADD
00001ba6: MSTORE
00001ba7: JUMP
00001ba8: JUMPDEST
00001ba9: PUSH5 0xffffffffff
00001baf: PUSH1 0xa0
00001bb1: DUP3
00001bb2: SWAP1
00001bb3: SHR
00001bb4: AND
00001bb5: PUSH1 0x60
00001bb7: DUP8
00001bb8: ADD
00001bb9: MSTORE
00001bba: PUSH2 0x1bcd
00001bbd: PUSH1 0xc8
00001bbf: DUP3
00001bc0: SWAP1
00001bc1: SHR
00001bc2: PUSH1 0xff
00001bc4: AND
00001bc5: ISZERO
00001bc6: ISZERO
00001bc7: PUSH1 0x80
00001bc9: DUP9
00001bca: ADD
00001bcb: MSTORE
00001bcc: JUMP
00001bcd: JUMPDEST
00001bce: PUSH2 0x1be1
00001bd1: PUSH1 0xd0
00001bd3: DUP3
00001bd4: SWAP1
00001bd5: SHR
00001bd6: PUSH1 0xff
00001bd8: AND
00001bd9: ISZERO
00001bda: ISZERO
00001bdb: PUSH1 0xa0
00001bdd: DUP9
00001bde: ADD
00001bdf: MSTORE
00001be0: JUMP
00001be1: JUMPDEST
00001be2: PUSH1 0xd8
00001be4: SHR
00001be5: PUSH1 0xff
00001be7: AND
00001be8: SWAP1
00001be9: JUMP
00001bea: JUMPDEST
00001beb: ISZERO
00001bec: ISZERO
00001bed: PUSH1 0xc0
00001bef: DUP6
00001bf0: ADD
00001bf1: MSTORE
00001bf2: JUMP
00001bf3: JUMPDEST
00001bf4: PUSH2 0x1c35
00001bf7: PUSH2 0x1c2a
00001bfa: PUSH1 0x02
00001bfc: DUP4
00001bfd: ADD
00001bfe: SLOAD
00001bff: PUSH2 0x1c21
00001c02: PUSH2 0x1c11
00001c05: DUP3
00001c06: PUSH1 0x01
00001c08: PUSH1 0x01
00001c0a: PUSH1 0xa0
00001c0c: SHL
00001c0d: SUB
00001c0e: AND
00001c0f: SWAP1
00001c10: JUMP
00001c11: JUMPDEST
00001c12: PUSH1 0x01
00001c14: PUSH1 0x01
00001c16: PUSH1 0xa0
00001c18: SHL
00001c19: SUB
00001c1a: AND
00001c1b: PUSH1 0xe0
00001c1d: DUP9
00001c1e: ADD
00001c1f: MSTORE
00001c20: JUMP
00001c21: JUMPDEST
00001c22: PUSH1 0xa0
00001c24: SHR
00001c25: PUSH1 0xff
00001c27: AND
00001c28: SWAP1
00001c29: JUMP
00001c2a: JUMPDEST
00001c2b: PUSH1 0xff
00001c2d: AND
00001c2e: PUSH2 0x0100
00001c31: DUP6
00001c32: ADD
00001c33: MSTORE
00001c34: JUMP
00001c35: JUMPDEST
00001c36: ADD
00001c37: SLOAD
00001c38: PUSH2 0x0120
00001c3b: DUP3
00001c3c: ADD
00001c3d: MSTORE
00001c3e: PUSH1 0x40
00001c40: MLOAD
00001c41: SWAP2
00001c42: DUP3
00001c43: SWAP2
00001c44: DUP3
00001c45: DUP2
00001c46: MLOAD
00001c47: PUSH16 0xffffffffffffffffffffffffffffffff
00001c58: AND
00001c59: DUP2
00001c5a: MSTORE
00001c5b: PUSH2 0x0140
00001c5e: DUP2
00001c5f: ADD
00001c60: SWAP3
00001c61: SWAP2
00001c62: PUSH2 0x0120
00001c65: SWAP1
00001c66: DUP2
00001c67: SWAP1
00001c68: PUSH1 0x20
00001c6a: DUP2
00001c6b: DUP2
00001c6c: ADD
00001c6d: MLOAD
00001c6e: PUSH16 0xffffffffffffffffffffffffffffffff
00001c7f: AND
00001c80: SWAP1
00001c81: DUP6
00001c82: ADD
00001c83: MSTORE
00001c84: PUSH1 0x40
00001c86: DUP2
00001c87: DUP2
00001c88: ADD
00001c89: MLOAD
00001c8a: PUSH1 0x01
00001c8c: PUSH1 0x01
00001c8e: PUSH1 0xa0
00001c90: SHL
00001c91: SUB
00001c92: AND
00001c93: SWAP1
00001c94: DUP6
00001c95: ADD
00001c96: MSTORE
00001c97: PUSH1 0x60
00001c99: DUP2
00001c9a: DUP2
00001c9b: ADD
00001c9c: MLOAD
00001c9d: PUSH5 0xffffffffff
00001ca3: AND
00001ca4: SWAP1
00001ca5: DUP6
00001ca6: ADD
00001ca7: MSTORE
00001ca8: PUSH1 0x80
00001caa: DUP2
00001cab: DUP2
00001cac: ADD
00001cad: MLOAD
00001cae: ISZERO
00001caf: ISZERO
00001cb0: SWAP1
00001cb1: DUP6
00001cb2: ADD
00001cb3: MSTORE
00001cb4: PUSH1 0xa0
00001cb6: DUP2
00001cb7: DUP2
00001cb8: ADD
00001cb9: MLOAD
00001cba: ISZERO
00001cbb: ISZERO
00001cbc: SWAP1
00001cbd: DUP6
00001cbe: ADD
00001cbf: MSTORE
00001cc0: PUSH1 0xc0
00001cc2: DUP2
00001cc3: DUP2
00001cc4: ADD
00001cc5: MLOAD
00001cc6: ISZERO
00001cc7: ISZERO
00001cc8: SWAP1
00001cc9: DUP6
00001cca: ADD
00001ccb: MSTORE
00001ccc: PUSH1 0xe0
00001cce: DUP2
00001ccf: DUP2
00001cd0: ADD
00001cd1: MLOAD
00001cd2: PUSH1 0x01
00001cd4: PUSH1 0x01
00001cd6: PUSH1 0xa0
00001cd8: SHL
00001cd9: SUB
00001cda: AND
00001cdb: SWAP1
00001cdc: DUP6
00001cdd: ADD
00001cde: MSTORE
00001cdf: PUSH2 0x0100
00001ce2: DUP2
00001ce3: DUP2
00001ce4: ADD
00001ce5: MLOAD
00001ce6: PUSH1 0xff
00001ce8: AND
00001ce9: SWAP1
00001cea: DUP6
00001ceb: ADD
00001cec: MSTORE
00001ced: ADD
00001cee: MLOAD
00001cef: SWAP2
00001cf0: ADD
00001cf1: MSTORE
00001cf2: JUMP
00001cf3: JUMPDEST
00001cf4: CALLVALUE
00001cf5: PUSH2 0x042e
00001cf8: JUMPI
00001cf9: PUSH0
00001cfa: PUSH1 0x03
00001cfc: NOT
00001cfd: CALLDATASIZE
00001cfe: ADD
00001cff: SLT
00001d00: PUSH2 0x042e
00001d03: JUMPI
00001d04: PUSH1 0x40
00001d06: MLOAD
00001d07: PUSH0
00001d08: PUSH1 0x02
00001d0a: SLOAD
00001d0b: DUP1
00001d0c: PUSH1 0x01
00001d0e: SHR
00001d0f: SWAP1
00001d10: PUSH1 0x01
00001d12: DUP2
00001d13: AND
00001d14: SWAP1
00001d15: DUP2
00001d16: ISZERO
00001d17: PUSH2 0x1d9e
00001d1a: JUMPI
00001d1b: JUMPDEST
00001d1c: PUSH1 0x20
00001d1e: DUP4
00001d1f: LT
00001d20: DUP3
00001d21: EQ
00001d22: PUSH2 0x06a3
00001d25: JUMPI
00001d26: DUP3
00001d27: DUP6
00001d28: MSTORE
00001d29: PUSH1 0x20
00001d2b: DUP6
00001d2c: ADD
00001d2d: SWAP2
00001d2e: SWAP1
00001d2f: DUP2
00001d30: ISZERO
00001d31: PUSH2 0x066c
00001d34: JUMPI
00001d35: POP
00001d36: PUSH1 0x01
00001d38: EQ
00001d39: PUSH2 0x1d4c
00001d3c: JUMPI
00001d3d: PUSH2 0x0616
00001d40: DUP5
00001d41: PUSH2 0x060a
00001d44: DUP2
00001d45: DUP7
00001d46: SUB
00001d47: DUP3
00001d48: PUSH2 0x2388
00001d4b: JUMP
00001d4c: JUMPDEST
00001d4d: PUSH1 0x02
00001d4f: PUSH0
00001d50: SWAP1
00001d51: DUP2
00001d52: MSTORE
00001d53: SWAP3
00001d54: POP
00001d55: SWAP1
00001d56: PUSH32 0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace
00001d77: JUMPDEST
00001d78: DUP2
00001d79: DUP5
00001d7a: LT
00001d7b: PUSH2 0x1d8a
00001d7e: JUMPI
00001d7f: POP
00001d80: POP
00001d81: ADD
00001d82: PUSH2 0x060a
00001d85: DUP3
00001d86: PUSH2 0x05fa
00001d89: JUMP
00001d8a: JUMPDEST
00001d8b: DUP1
00001d8c: SLOAD
00001d8d: DUP5
00001d8e: DUP5
00001d8f: ADD
00001d90: MSTORE
00001d91: PUSH1 0x20
00001d93: SWAP1
00001d94: SWAP4
00001d95: ADD
00001d96: SWAP3
00001d97: PUSH1 0x01
00001d99: ADD
00001d9a: PUSH2 0x1d77
00001d9d: JUMP
00001d9e: JUMPDEST
00001d9f: SWAP2
00001da0: PUSH1 0x7f
00001da2: AND
00001da3: SWAP2
00001da4: PUSH2 0x1d1b
00001da7: JUMP
00001da8: JUMPDEST
00001da9: CALLVALUE
00001daa: PUSH2 0x042e
00001dad: JUMPI
00001dae: PUSH1 0x40
00001db0: PUSH1 0x03
00001db2: NOT
00001db3: CALLDATASIZE
00001db4: ADD
00001db5: SLT
00001db6: PUSH2 0x042e
00001db9: JUMPI
00001dba: PUSH1 0x04
00001dbc: CALLDATALOAD
00001dbd: PUSH2 0x1dc5
00001dc0: DUP2
00001dc1: PUSH2 0x0777
00001dc4: JUMP
00001dc5: JUMPDEST
00001dc6: PUSH1 0x24
00001dc8: CALLDATALOAD
00001dc9: PUSH2 0x1dd1
00001dcc: DUP2
00001dcd: PUSH2 0x111d
00001dd0: JUMP
00001dd1: JUMPDEST
00001dd2: PUSH1 0x01
00001dd4: PUSH1 0x01
00001dd6: PUSH1 0xa0
00001dd8: SHL
00001dd9: SUB
00001dda: DUP3
00001ddb: AND
00001ddc: SWAP2
00001ddd: DUP3
00001dde: ISZERO
00001ddf: PUSH2 0x1e6e
00001de2: JUMPI
00001de3: PUSH2 0x1e08
00001de6: SWAP1
00001de7: CALLER
00001de8: PUSH0
00001de9: MSTORE
00001dea: PUSH1 0x06
00001dec: PUSH1 0x20
00001dee: MSTORE
00001def: PUSH1 0x40
00001df1: PUSH0
00001df2: KECCAK256
00001df3: SWAP1
00001df4: PUSH1 0x01
00001df6: PUSH1 0x01
00001df8: PUSH1 0xa0
00001dfa: SHL
00001dfb: SUB
00001dfc: AND
00001dfd: PUSH0
00001dfe: MSTORE
00001dff: PUSH1 0x20
00001e01: MSTORE
00001e02: PUSH1 0x40
00001e04: PUSH0
00001e05: KECCAK256
00001e06: SWAP1
00001e07: JUMP
00001e08: JUMPDEST
00001e09: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
00001e2a: DUP2
00001e2b: SLOAD
00001e2c: AND
00001e2d: PUSH1 0xff
00001e2f: DUP4
00001e30: ISZERO
00001e31: ISZERO
00001e32: AND
00001e33: OR
00001e34: SWAP1
00001e35: SSTORE
00001e36: PUSH32 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31
00001e57: PUSH1 0x40
00001e59: MLOAD
00001e5a: DUP1
00001e5b: PUSH2 0x168c
00001e5e: CALLER
00001e5f: SWAP5
00001e60: DUP3
00001e61: SWAP2
00001e62: SWAP1
00001e63: SWAP2
00001e64: PUSH1 0x20
00001e66: DUP2
00001e67: ADD
00001e68: SWAP3
00001e69: ISZERO
00001e6a: ISZERO
00001e6b: SWAP1
00001e6c: MSTORE
00001e6d: JUMP
00001e6e: JUMPDEST
00001e6f: DUP3
00001e70: PUSH32 0x5b08ba1800000000000000000000000000000000000000000000000000000000
00001e91: PUSH0
00001e92: MSTORE
00001e93: PUSH1 0x04
00001e95: MSTORE
00001e96: PUSH1 0x24
00001e98: PUSH0
00001e99: REVERT
00001e9a: JUMPDEST
00001e9b: CALLVALUE
00001e9c: PUSH2 0x042e
00001e9f: JUMPI
00001ea0: PUSH1 0x20
00001ea2: PUSH1 0x03
00001ea4: NOT
00001ea5: CALLDATASIZE
00001ea6: ADD
00001ea7: SLT
00001ea8: PUSH2 0x042e
00001eab: JUMPI
00001eac: PUSH1 0x04
00001eae: CALLDATALOAD
00001eaf: DUP1
00001eb0: PUSH0
00001eb1: MSTORE
00001eb2: PUSH1 0x0c
00001eb4: PUSH1 0x20
00001eb6: MSTORE
00001eb7: PUSH1 0xff
00001eb9: PUSH1 0x01
00001ebb: PUSH1 0x40
00001ebd: PUSH0
00001ebe: KECCAK256
00001ebf: ADD
00001ec0: SLOAD
00001ec1: PUSH1 0xc8
00001ec3: SHR
00001ec4: AND
00001ec5: ISZERO
00001ec6: PUSH2 0x074c
00001ec9: JUMPI
00001eca: PUSH0
00001ecb: MSTORE
00001ecc: PUSH1 0x0c
00001ece: PUSH1 0x20
00001ed0: MSTORE
00001ed1: PUSH2 0x0616
00001ed4: PUSH1 0xff
00001ed6: PUSH1 0x02
00001ed8: PUSH1 0x40
00001eda: PUSH0
00001edb: KECCAK256
00001edc: ADD
00001edd: SLOAD
00001ede: PUSH1 0xa0
00001ee0: SHR
00001ee1: AND
00001ee2: PUSH1 0x40
00001ee4: MLOAD
00001ee5: SWAP2
00001ee6: DUP3
00001ee7: SWAP2
00001ee8: DUP3
00001ee9: SWAP2
00001eea: SWAP1
00001eeb: SWAP2
00001eec: PUSH1 0xff
00001eee: PUSH1 0x20
00001ef0: DUP3
00001ef1: ADD
00001ef2: SWAP4
00001ef3: AND
00001ef4: SWAP1
00001ef5: MSTORE
00001ef6: JUMP
00001ef7: JUMPDEST
00001ef8: PUSH1 0x40
00001efa: PUSH1 0x03
00001efc: NOT
00001efd: CALLDATASIZE
00001efe: ADD
00001eff: SLT
00001f00: PUSH2 0x042e
00001f03: JUMPI
00001f04: PUSH1 0x04
00001f06: CALLDATALOAD
00001f07: PUSH1 0x24
00001f09: CALLDATALOAD
00001f0a: PUSH2 0x1f12
00001f0d: DUP2
00001f0e: PUSH2 0x0d16
00001f11: JUMP
00001f12: JUMPDEST
00001f13: PUSH2 0x1f1a
00001f16: PUSH2 0x3692
00001f19: JUMP
00001f1a: JUMPDEST
00001f1b: DUP2
00001f1c: PUSH0
00001f1d: MSTORE
00001f1e: PUSH1 0x0c
00001f20: PUSH1 0x20
00001f22: MSTORE
00001f23: PUSH1 0xff
00001f25: PUSH1 0x01
00001f27: PUSH1 0x40
00001f29: PUSH0
00001f2a: KECCAK256
00001f2b: ADD
00001f2c: SLOAD
00001f2d: PUSH1 0xc8
00001f2f: SHR
00001f30: AND
00001f31: ISZERO
00001f32: PUSH2 0x0fbc
00001f35: JUMPI
00001f36: DUP2
00001f37: PUSH0
00001f38: MSTORE
00001f39: PUSH1 0x0c
00001f3b: PUSH1 0x20
00001f3d: MSTORE
00001f3e: PUSH1 0x40
00001f40: PUSH0
00001f41: KECCAK256
00001f42: SLOAD
00001f43: PUSH1 0x80
00001f45: SHR
00001f46: ISZERO
00001f47: PUSH2 0x0f90
00001f4a: JUMPI
00001f4b: DUP2
00001f4c: PUSH0
00001f4d: MSTORE
00001f4e: PUSH1 0x0c
00001f50: PUSH1 0x20
00001f52: MSTORE
00001f53: PUSH1 0x01
00001f55: PUSH1 0x01
00001f57: PUSH1 0xa0
00001f59: SHL
00001f5a: SUB
00001f5b: PUSH1 0x01
00001f5d: PUSH1 0x40
00001f5f: PUSH0
00001f60: KECCAK256
00001f61: ADD
00001f62: SLOAD
00001f63: AND
00001f64: CALLER
00001f65: SUB
00001f66: PUSH2 0x0f60
00001f69: JUMPI
00001f6a: DUP2
00001f6b: DUP1
00001f6c: PUSH32 0xfddf01d0842635e80929251f6862b3baf136a29f2b2fb148968e8b236d5785fe
00001f8d: PUSH1 0x60
00001f8f: PUSH1 0x20
00001f91: SWAP5
00001f92: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
00001fb3: SWAP7
00001fb4: PUSH0
00001fb5: MSTORE
00001fb6: PUSH1 0x0c
00001fb8: DUP7
00001fb9: MSTORE
00001fba: PUSH16 0xffffffffffffffffffffffffffffffff
00001fcb: PUSH1 0x40
00001fcd: PUSH0
00001fce: KECCAK256
00001fcf: SLOAD
00001fd0: PUSH1 0x80
00001fd2: SHR
00001fd3: SWAP2
00001fd4: PUSH2 0x1fdd
00001fd7: DUP2
00001fd8: DUP8
00001fd9: PUSH2 0x4275
00001fdc: JUMP
00001fdd: JUMPDEST
00001fde: PUSH2 0x1fe6
00001fe1: DUP7
00001fe2: PUSH2 0x3651
00001fe5: JUMP
00001fe6: JUMPDEST
00001fe7: SWAP3
00001fe8: PUSH1 0x40
00001fea: MLOAD
00001feb: SWAP4
00001fec: DUP5
00001fed: MSTORE
00001fee: DUP9
00001fef: DUP5
00001ff0: ADD
00001ff1: MSTORE
00001ff2: AND
00001ff3: PUSH1 0x40
00001ff5: DUP3
00001ff6: ADD
00001ff7: MSTORE
00001ff8: LOG2
00001ff9: PUSH1 0x40
00001ffb: MLOAD
00001ffc: SWAP1
00001ffd: DUP2
00001ffe: MSTORE
00001fff: LOG1
00002000: STOP
00002001: JUMPDEST
00002002: CALLVALUE
00002003: PUSH2 0x042e
00002006: JUMPI
00002007: PUSH1 0x20
00002009: PUSH1 0x03
0000200b: NOT
0000200c: CALLDATASIZE
0000200d: ADD
0000200e: SLT
0000200f: PUSH2 0x042e
00002012: JUMPI
00002013: PUSH1 0x04
00002015: CALLDATALOAD
00002016: DUP1
00002017: PUSH0
00002018: MSTORE
00002019: PUSH1 0x0c
0000201b: PUSH1 0x20
0000201d: MSTORE
0000201e: PUSH1 0xff
00002020: PUSH1 0x01
00002022: PUSH1 0x40
00002024: PUSH0
00002025: KECCAK256
00002026: ADD
00002027: SLOAD
00002028: PUSH1 0xc8
0000202a: SHR
0000202b: AND
0000202c: ISZERO
0000202d: PUSH2 0x074c
00002030: JUMPI
00002031: PUSH2 0x2039
00002034: SWAP1
00002035: PUSH2 0x3255
00002038: JUMP
00002039: JUMPDEST
0000203a: PUSH1 0x40
0000203c: MLOAD
0000203d: SWAP1
0000203e: PUSH1 0x20
00002040: DUP3
00002041: ADD
00002042: PUSH1 0x05
00002044: DUP3
00002045: LT
00002046: ISZERO
00002047: PUSH2 0x2052
0000204a: JUMPI
0000204b: DUP3
0000204c: SWAP2
0000204d: DUP3
0000204e: MSTORE
0000204f: SUB
00002050: SWAP1
00002051: RETURN
00002052: JUMPDEST
00002053: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00002074: PUSH0
00002075: MSTORE
00002076: PUSH1 0x21
00002078: PUSH1 0x04
0000207a: MSTORE
0000207b: PUSH1 0x24
0000207d: PUSH0
0000207e: REVERT
0000207f: JUMPDEST
00002080: CALLVALUE
00002081: PUSH2 0x042e
00002084: JUMPI
00002085: PUSH1 0x20
00002087: PUSH1 0x03
00002089: NOT
0000208a: CALLDATASIZE
0000208b: ADD
0000208c: SLT
0000208d: PUSH2 0x042e
00002090: JUMPI
00002091: PUSH1 0x04
00002093: CALLDATALOAD
00002094: DUP1
00002095: PUSH0
00002096: MSTORE
00002097: PUSH1 0x0c
00002099: PUSH1 0x20
0000209b: MSTORE
0000209c: PUSH1 0xff
0000209e: PUSH1 0x01
000020a0: PUSH1 0x40
000020a2: PUSH0
000020a3: KECCAK256
000020a4: ADD
000020a5: SLOAD
000020a6: PUSH1 0xc8
000020a8: SHR
000020a9: AND
000020aa: ISZERO
000020ab: PUSH2 0x074c
000020ae: JUMPI
000020af: PUSH0
000020b0: MSTORE
000020b1: PUSH1 0x0c
000020b3: PUSH1 0x20
000020b5: MSTORE
000020b6: PUSH2 0x0616
000020b9: PUSH1 0xff
000020bb: PUSH1 0x01
000020bd: PUSH1 0x40
000020bf: PUSH0
000020c0: KECCAK256
000020c1: ADD
000020c2: SLOAD
000020c3: PUSH1 0xd0
000020c5: SHR
000020c6: AND
000020c7: PUSH1 0x40
000020c9: MLOAD
000020ca: SWAP2
000020cb: DUP3
000020cc: SWAP2
000020cd: DUP3
000020ce: SWAP2
000020cf: SWAP1
000020d0: SWAP2
000020d1: PUSH1 0x20
000020d3: DUP2
000020d4: ADD
000020d5: SWAP3
000020d6: ISZERO
000020d7: ISZERO
000020d8: SWAP1
000020d9: MSTORE
000020da: JUMP
000020db: JUMPDEST
000020dc: CALLVALUE
000020dd: PUSH2 0x042e
000020e0: JUMPI
000020e1: PUSH1 0x40
000020e3: PUSH1 0x03
000020e5: NOT
000020e6: CALLDATASIZE
000020e7: ADD
000020e8: SLT
000020e9: PUSH2 0x042e
000020ec: JUMPI
000020ed: PUSH1 0x04
000020ef: CALLDATALOAD
000020f0: PUSH2 0x20f8
000020f3: DUP2
000020f4: PUSH2 0x0777
000020f7: JUMP
000020f8: JUMPDEST
000020f9: PUSH1 0x24
000020fb: CALLDATALOAD
000020fc: SWAP1
000020fd: PUSH1 0x01
000020ff: PUSH1 0x01
00002101: PUSH1 0xa0
00002103: SHL
00002104: SUB
00002105: PUSH0
00002106: SLOAD
00002107: AND
00002108: CALLER
00002109: DUP2
0000210a: SUB
0000210b: PUSH2 0x16fa
0000210e: JUMPI
0000210f: POP
00002110: PUSH8 0x016345785d8a0000
00002119: DUP3
0000211a: GT
0000211b: PUSH2 0x21ad
0000211e: JUMPI
0000211f: PUSH1 0x01
00002121: PUSH1 0x01
00002123: PUSH1 0xa0
00002125: SHL
00002126: SUB
00002127: AND
00002128: PUSH0
00002129: DUP2
0000212a: DUP2
0000212b: MSTORE
0000212c: PUSH1 0x0a
0000212e: PUSH1 0x20
00002130: MSTORE
00002131: PUSH1 0x40
00002133: SWAP1
00002134: KECCAK256
00002135: DUP1
00002136: SLOAD
00002137: SWAP2
00002138: SWAP3
00002139: PUSH32 0x371789a3d97098f3070492613273a065a7e8a19e009fd1ae92a4b4d4c71ed62d
0000215a: SWAP2
0000215b: PUSH2 0x217b
0000215e: SWAP2
0000215f: SWAP1
00002160: DUP2
00002161: SWAP1
00002162: SSTORE
00002163: PUSH1 0x40
00002165: DUP1
00002166: MLOAD
00002167: SWAP5
00002168: DUP6
00002169: MSTORE
0000216a: PUSH1 0x20
0000216c: DUP6
0000216d: ADD
0000216e: SWAP2
0000216f: SWAP1
00002170: SWAP2
00002171: MSTORE
00002172: CALLER
00002173: SWAP4
00002174: SWAP2
00002175: DUP3
00002176: SWAP2
00002177: DUP3
00002178: ADD
00002179: SWAP1
0000217a: JUMP
0000217b: JUMPDEST
0000217c: SUB
0000217d: SWAP1
0000217e: LOG3
0000217f: PUSH32 0x6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c
000021a0: PUSH2 0x142b
000021a3: PUSH2 0x1952
000021a6: PUSH1 0x08
000021a8: SLOAD
000021a9: PUSH2 0x3216
000021ac: JUMP
000021ad: JUMPDEST
000021ae: POP
000021af: PUSH32 0x3455317200000000000000000000000000000000000000000000000000000000
000021d0: PUSH0
000021d1: MSTORE
000021d2: PUSH1 0x04
000021d4: MSTORE
000021d5: PUSH8 0x016345785d8a0000
000021de: PUSH1 0x24
000021e0: MSTORE
000021e1: PUSH1 0x44
000021e3: PUSH0
000021e4: REVERT
000021e5: JUMPDEST
000021e6: PUSH1 0x80
000021e8: PUSH1 0x03
000021ea: NOT
000021eb: CALLDATASIZE
000021ec: ADD
000021ed: SLT
000021ee: PUSH2 0x042e
000021f1: JUMPI
000021f2: PUSH1 0x04
000021f4: CALLDATALOAD
000021f5: PUSH1 0x24
000021f7: CALLDATALOAD
000021f8: PUSH2 0x2200
000021fb: DUP2
000021fc: PUSH2 0x0d16
000021ff: JUMP
00002200: JUMPDEST
00002201: PUSH1 0x44
00002203: CALLDATALOAD
00002204: PUSH2 0x220c
00002207: DUP2
00002208: PUSH2 0x0777
0000220b: JUMP
0000220c: JUMPDEST
0000220d: PUSH1 0x64
0000220f: CALLDATALOAD
00002210: SWAP1
00002211: PUSH2 0x2219
00002214: DUP3
00002215: PUSH2 0x0777
00002218: JUMP
00002219: JUMPDEST
0000221a: PUSH2 0x2221
0000221d: PUSH2 0x3692
00002220: JUMP
00002221: JUMPDEST
00002222: DUP4
00002223: PUSH0
00002224: MSTORE
00002225: PUSH1 0x0c
00002227: PUSH1 0x20
00002229: MSTORE
0000222a: PUSH1 0xff
0000222c: PUSH1 0x01
0000222e: PUSH1 0x40
00002230: PUSH0
00002231: KECCAK256
00002232: ADD
00002233: SLOAD
00002234: PUSH1 0xc8
00002236: SHR
00002237: AND
00002238: ISZERO
00002239: PUSH2 0x22b5
0000223c: JUMPI
0000223d: DUP4
0000223e: PUSH0
0000223f: MSTORE
00002240: PUSH1 0x0c
00002242: PUSH1 0x20
00002244: MSTORE
00002245: PUSH1 0xff
00002247: PUSH1 0x01
00002249: PUSH1 0x40
0000224b: PUSH0
0000224c: KECCAK256
0000224d: ADD
0000224e: SLOAD
0000224f: PUSH1 0xd8
00002251: SHR
00002252: AND
00002253: PUSH2 0x2289
00002256: JUMPI
00002257: PUSH1 0x20
00002259: SWAP3
0000225a: PUSH2 0x0de6
0000225d: DUP6
0000225e: SWAP4
0000225f: PUSH2 0x0999
00002262: SWAP4
00002263: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
00002284: SWAP8
00002285: PUSH2 0x43a4
00002288: JUMP
00002289: JUMPDEST
0000228a: DUP4
0000228b: PUSH32 0x7354d5f100000000000000000000000000000000000000000000000000000000
000022ac: PUSH0
000022ad: MSTORE
000022ae: PUSH1 0x04
000022b0: MSTORE
000022b1: PUSH1 0x24
000022b3: PUSH0
000022b4: REVERT
000022b5: JUMPDEST
000022b6: DUP4
000022b7: PUSH32 0xe21c143100000000000000000000000000000000000000000000000000000000
000022d8: PUSH0
000022d9: MSTORE
000022da: PUSH1 0x04
000022dc: MSTORE
000022dd: PUSH1 0x24
000022df: PUSH0
000022e0: REVERT
000022e1: JUMPDEST
000022e2: CALLVALUE
000022e3: PUSH2 0x042e
000022e6: JUMPI
000022e7: PUSH1 0x20
000022e9: PUSH1 0x03
000022eb: NOT
000022ec: CALLDATASIZE
000022ed: ADD
000022ee: SLT
000022ef: PUSH2 0x042e
000022f2: JUMPI
000022f3: PUSH1 0x01
000022f5: PUSH1 0x01
000022f7: PUSH1 0xa0
000022f9: SHL
000022fa: SUB
000022fb: PUSH1 0x04
000022fd: CALLDATALOAD
000022fe: PUSH2 0x2306
00002301: DUP2
00002302: PUSH2 0x0777
00002305: JUMP
00002306: JUMPDEST
00002307: AND
00002308: PUSH0
00002309: MSTORE
0000230a: PUSH1 0x0a
0000230c: PUSH1 0x20
0000230e: MSTORE
0000230f: PUSH1 0x20
00002311: PUSH1 0x40
00002313: PUSH0
00002314: KECCAK256
00002315: SLOAD
00002316: PUSH1 0x40
00002318: MLOAD
00002319: SWAP1
0000231a: DUP2
0000231b: MSTORE
0000231c: RETURN
0000231d: JUMPDEST
0000231e: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
0000233f: PUSH0
00002340: MSTORE
00002341: PUSH1 0x41
00002343: PUSH1 0x04
00002345: MSTORE
00002346: PUSH1 0x24
00002348: PUSH0
00002349: REVERT
0000234a: JUMPDEST
0000234b: PUSH2 0x0140
0000234e: DUP2
0000234f: ADD
00002350: SWAP1
00002351: DUP2
00002352: LT
00002353: PUSH8 0xffffffffffffffff
0000235c: DUP3
0000235d: GT
0000235e: OR
0000235f: PUSH2 0x2367
00002362: JUMPI
00002363: PUSH1 0x40
00002365: MSTORE
00002366: JUMP
00002367: JUMPDEST
00002368: PUSH2 0x231d
0000236b: JUMP
0000236c: JUMPDEST
0000236d: PUSH1 0x40
0000236f: DUP2
00002370: ADD
00002371: SWAP1
00002372: DUP2
00002373: LT
00002374: PUSH8 0xffffffffffffffff
0000237d: DUP3
0000237e: GT
0000237f: OR
00002380: PUSH2 0x2367
00002383: JUMPI
00002384: PUSH1 0x40
00002386: MSTORE
00002387: JUMP
00002388: JUMPDEST
00002389: SWAP1
0000238a: PUSH1 0x1f
0000238c: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
000023ad: SWAP2
000023ae: ADD
000023af: AND
000023b0: DUP2
000023b1: ADD
000023b2: SWAP1
000023b3: DUP2
000023b4: LT
000023b5: PUSH8 0xffffffffffffffff
000023be: DUP3
000023bf: GT
000023c0: OR
000023c1: PUSH2 0x2367
000023c4: JUMPI
000023c5: PUSH1 0x40
000023c7: MSTORE
000023c8: JUMP
000023c9: JUMPDEST
000023ca: PUSH1 0x40
000023cc: MLOAD
000023cd: SWAP1
000023ce: PUSH2 0x23d9
000023d1: PUSH2 0x0140
000023d4: DUP4
000023d5: PUSH2 0x2388
000023d8: JUMP
000023d9: JUMPDEST
000023da: JUMP
000023db: JUMPDEST
000023dc: PUSH8 0xffffffffffffffff
000023e5: DUP2
000023e6: GT
000023e7: PUSH2 0x2367
000023ea: JUMPI
000023eb: PUSH1 0x1f
000023ed: ADD
000023ee: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
0000240f: AND
00002410: PUSH1 0x20
00002412: ADD
00002413: SWAP1
00002414: JUMP
00002415: JUMPDEST
00002416: CALLVALUE
00002417: PUSH2 0x042e
0000241a: JUMPI
0000241b: PUSH1 0x80
0000241d: PUSH1 0x03
0000241f: NOT
00002420: CALLDATASIZE
00002421: ADD
00002422: SLT
00002423: PUSH2 0x042e
00002426: JUMPI
00002427: PUSH1 0x04
00002429: CALLDATALOAD
0000242a: PUSH2 0x2432
0000242d: DUP2
0000242e: PUSH2 0x0777
00002431: JUMP
00002432: JUMPDEST
00002433: PUSH1 0x24
00002435: CALLDATALOAD
00002436: SWAP1
00002437: PUSH2 0x243f
0000243a: DUP3
0000243b: PUSH2 0x0777
0000243e: JUMP
0000243f: JUMPDEST
00002440: PUSH1 0x44
00002442: CALLDATALOAD
00002443: PUSH1 0x64
00002445: CALLDATALOAD
00002446: SWAP3
00002447: PUSH8 0xffffffffffffffff
00002450: DUP5
00002451: GT
00002452: PUSH2 0x042e
00002455: JUMPI
00002456: CALLDATASIZE
00002457: PUSH1 0x23
00002459: DUP6
0000245a: ADD
0000245b: SLT
0000245c: ISZERO
0000245d: PUSH2 0x042e
00002460: JUMPI
00002461: DUP4
00002462: PUSH1 0x04
00002464: ADD
00002465: CALLDATALOAD
00002466: SWAP3
00002467: PUSH2 0x246f
0000246a: DUP5
0000246b: PUSH2 0x23db
0000246e: JUMP
0000246f: JUMPDEST
00002470: SWAP4
00002471: PUSH2 0x247d
00002474: PUSH1 0x40
00002476: MLOAD
00002477: SWAP6
00002478: DUP7
00002479: PUSH2 0x2388
0000247c: JUMP
0000247d: JUMPDEST
0000247e: DUP1
0000247f: DUP6
00002480: MSTORE
00002481: CALLDATASIZE
00002482: PUSH1 0x24
00002484: DUP3
00002485: DUP9
00002486: ADD
00002487: ADD
00002488: GT
00002489: PUSH2 0x042e
0000248c: JUMPI
0000248d: PUSH1 0x20
0000248f: DUP2
00002490: PUSH0
00002491: SWAP3
00002492: PUSH1 0x24
00002494: PUSH2 0x0840
00002497: SWAP10
00002498: ADD
00002499: DUP4
0000249a: DUP10
0000249b: ADD
0000249c: CALLDATACOPY
0000249d: DUP7
0000249e: ADD
0000249f: ADD
000024a0: MSTORE
000024a1: PUSH2 0x32e0
000024a4: JUMP
000024a5: JUMPDEST
000024a6: CALLVALUE
000024a7: PUSH2 0x042e
000024aa: JUMPI
000024ab: PUSH1 0x20
000024ad: PUSH1 0x03
000024af: NOT
000024b0: CALLDATASIZE
000024b1: ADD
000024b2: SLT
000024b3: PUSH2 0x042e
000024b6: JUMPI
000024b7: PUSH1 0x04
000024b9: CALLDATALOAD
000024ba: PUSH0
000024bb: MSTORE
000024bc: PUSH1 0x0c
000024be: PUSH1 0x20
000024c0: MSTORE
000024c1: PUSH1 0x20
000024c3: PUSH1 0xff
000024c5: PUSH1 0x01
000024c7: PUSH1 0x40
000024c9: PUSH0
000024ca: KECCAK256
000024cb: ADD
000024cc: SLOAD
000024cd: PUSH1 0xc8
000024cf: SHR
000024d0: AND
000024d1: PUSH1 0x40
000024d3: MLOAD
000024d4: SWAP1
000024d5: ISZERO
000024d6: ISZERO
000024d7: DUP2
000024d8: MSTORE
000024d9: RETURN
000024da: JUMPDEST
000024db: CALLVALUE
000024dc: PUSH2 0x042e
000024df: JUMPI
000024e0: PUSH1 0x20
000024e2: PUSH1 0x03
000024e4: NOT
000024e5: CALLDATASIZE
000024e6: ADD
000024e7: SLT
000024e8: PUSH2 0x042e
000024eb: JUMPI
000024ec: PUSH1 0x04
000024ee: CALLDATALOAD
000024ef: DUP1
000024f0: PUSH0
000024f1: MSTORE
000024f2: PUSH1 0x0c
000024f4: PUSH1 0x20
000024f6: MSTORE
000024f7: PUSH1 0xff
000024f9: PUSH1 0x01
000024fb: PUSH1 0x40
000024fd: PUSH0
000024fe: KECCAK256
000024ff: ADD
00002500: SLOAD
00002501: PUSH1 0xc8
00002503: SHR
00002504: AND
00002505: ISZERO
00002506: PUSH2 0x074c
00002509: JUMPI
0000250a: PUSH0
0000250b: MSTORE
0000250c: PUSH1 0x0c
0000250e: PUSH1 0x20
00002510: MSTORE
00002511: PUSH2 0x0616
00002514: PUSH1 0x01
00002516: PUSH1 0x01
00002518: PUSH1 0xa0
0000251a: SHL
0000251b: SUB
0000251c: PUSH1 0x01
0000251e: PUSH1 0x40
00002520: PUSH0
00002521: KECCAK256
00002522: ADD
00002523: SLOAD
00002524: AND
00002525: PUSH1 0x40
00002527: MLOAD
00002528: SWAP2
00002529: DUP3
0000252a: SWAP2
0000252b: DUP3
0000252c: SWAP2
0000252d: SWAP1
0000252e: SWAP2
0000252f: PUSH1 0x01
00002531: PUSH1 0x01
00002533: PUSH1 0xa0
00002535: SHL
00002536: SUB
00002537: PUSH1 0x20
00002539: DUP3
0000253a: ADD
0000253b: SWAP4
0000253c: AND
0000253d: SWAP1
0000253e: MSTORE
0000253f: JUMP
00002540: JUMPDEST
00002541: CALLVALUE
00002542: PUSH2 0x042e
00002545: JUMPI
00002546: PUSH0
00002547: PUSH1 0x03
00002549: NOT
0000254a: CALLDATASIZE
0000254b: ADD
0000254c: SLT
0000254d: PUSH2 0x042e
00002550: JUMPI
00002551: PUSH1 0x20
00002553: PUSH1 0x40
00002555: MLOAD
00002556: PUSH8 0x016345785d8a0000
0000255f: DUP2
00002560: MSTORE
00002561: RETURN
00002562: JUMPDEST
00002563: CALLVALUE
00002564: PUSH2 0x042e
00002567: JUMPI
00002568: PUSH1 0x20
0000256a: PUSH1 0x03
0000256c: NOT
0000256d: CALLDATASIZE
0000256e: ADD
0000256f: SLT
00002570: PUSH2 0x042e
00002573: JUMPI
00002574: PUSH1 0x04
00002576: CALLDATALOAD
00002577: DUP1
00002578: PUSH0
00002579: MSTORE
0000257a: PUSH1 0x0c
0000257c: PUSH1 0x20
0000257e: MSTORE
0000257f: PUSH1 0xff
00002581: PUSH1 0x01
00002583: PUSH1 0x40
00002585: PUSH0
00002586: KECCAK256
00002587: ADD
00002588: SLOAD
00002589: PUSH1 0xc8
0000258b: SHR
0000258c: AND
0000258d: ISZERO
0000258e: PUSH2 0x074c
00002591: JUMPI
00002592: PUSH2 0x0741
00002595: SWAP1
00002596: PUSH2 0x4367
00002599: JUMP
0000259a: JUMPDEST
0000259b: PUSH1 0x40
0000259d: PUSH1 0x03
0000259f: NOT
000025a0: CALLDATASIZE
000025a1: ADD
000025a2: SLT
000025a3: PUSH2 0x042e
000025a6: JUMPI
000025a7: PUSH1 0x04
000025a9: CALLDATALOAD
000025aa: PUSH1 0x24
000025ac: CALLDATALOAD
000025ad: PUSH2 0x25b5
000025b0: DUP2
000025b1: PUSH2 0x0d16
000025b4: JUMP
000025b5: JUMPDEST
000025b6: PUSH2 0x25bd
000025b9: PUSH2 0x3692
000025bc: JUMP
000025bd: JUMPDEST
000025be: DUP2
000025bf: PUSH0
000025c0: MSTORE
000025c1: PUSH1 0x0c
000025c3: PUSH1 0x20
000025c5: MSTORE
000025c6: PUSH1 0xff
000025c8: PUSH1 0x01
000025ca: PUSH1 0x40
000025cc: PUSH0
000025cd: KECCAK256
000025ce: ADD
000025cf: SLOAD
000025d0: PUSH1 0xc8
000025d2: SHR
000025d3: AND
000025d4: ISZERO
000025d5: PUSH2 0x0fbc
000025d8: JUMPI
000025d9: DUP2
000025da: PUSH0
000025db: MSTORE
000025dc: PUSH1 0x0c
000025de: PUSH1 0x20
000025e0: MSTORE
000025e1: PUSH1 0x40
000025e3: PUSH0
000025e4: KECCAK256
000025e5: SLOAD
000025e6: PUSH1 0x80
000025e8: SHR
000025e9: ISZERO
000025ea: PUSH2 0x0f90
000025ed: JUMPI
000025ee: DUP2
000025ef: PUSH0
000025f0: MSTORE
000025f1: PUSH1 0x0c
000025f3: PUSH1 0x20
000025f5: MSTORE
000025f6: PUSH1 0x01
000025f8: PUSH1 0x01
000025fa: PUSH1 0xa0
000025fc: SHL
000025fd: SUB
000025fe: PUSH1 0x01
00002600: PUSH1 0x40
00002602: PUSH0
00002603: KECCAK256
00002604: ADD
00002605: SLOAD
00002606: AND
00002607: CALLER
00002608: SUB
00002609: PUSH2 0x0f60
0000260c: JUMPI
0000260d: DUP2
0000260e: PUSH2 0x0f57
00002611: PUSH1 0x20
00002613: SWAP3
00002614: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
00002635: SWAP5
00002636: PUSH2 0x3b32
00002639: JUMP
0000263a: JUMPDEST
0000263b: CALLVALUE
0000263c: PUSH2 0x042e
0000263f: JUMPI
00002640: PUSH1 0x20
00002642: PUSH1 0x03
00002644: NOT
00002645: CALLDATASIZE
00002646: ADD
00002647: SLT
00002648: PUSH2 0x042e
0000264b: JUMPI
0000264c: PUSH1 0x04
0000264e: CALLDATALOAD
0000264f: DUP1
00002650: PUSH0
00002651: MSTORE
00002652: PUSH1 0x0c
00002654: PUSH1 0x20
00002656: MSTORE
00002657: PUSH1 0xff
00002659: PUSH1 0x01
0000265b: PUSH1 0x40
0000265d: PUSH0
0000265e: KECCAK256
0000265f: ADD
00002660: SLOAD
00002661: PUSH1 0xc8
00002663: SHR
00002664: AND
00002665: ISZERO
00002666: PUSH2 0x074c
00002669: JUMPI
0000266a: PUSH0
0000266b: MSTORE
0000266c: PUSH1 0x0c
0000266e: PUSH1 0x20
00002670: MSTORE
00002671: PUSH2 0x0616
00002674: PUSH1 0x40
00002676: PUSH0
00002677: KECCAK256
00002678: SLOAD
00002679: PUSH1 0x80
0000267b: SHR
0000267c: ISZERO
0000267d: PUSH1 0x40
0000267f: MLOAD
00002680: SWAP2
00002681: DUP3
00002682: SWAP2
00002683: DUP3
00002684: SWAP2
00002685: SWAP1
00002686: SWAP2
00002687: PUSH1 0x20
00002689: DUP2
0000268a: ADD
0000268b: SWAP3
0000268c: ISZERO
0000268d: ISZERO
0000268e: SWAP1
0000268f: MSTORE
00002690: JUMP
00002691: JUMPDEST
00002692: PUSH1 0xc0
00002694: PUSH1 0x03
00002696: NOT
00002697: CALLDATASIZE
00002698: ADD
00002699: SLT
0000269a: PUSH2 0x042e
0000269d: JUMPI
0000269e: PUSH1 0x04
000026a0: CALLDATALOAD
000026a1: PUSH1 0x24
000026a3: CALLDATALOAD
000026a4: PUSH2 0x26ac
000026a7: DUP2
000026a8: PUSH2 0x0d16
000026ab: JUMP
000026ac: JUMPDEST
000026ad: PUSH1 0x44
000026af: CALLDATALOAD
000026b0: PUSH2 0x26b8
000026b3: DUP2
000026b4: PUSH2 0x0777
000026b7: JUMP
000026b8: JUMPDEST
000026b9: PUSH1 0x64
000026bb: CALLDATALOAD
000026bc: PUSH2 0x26c4
000026bf: DUP2
000026c0: PUSH2 0x0777
000026c3: JUMP
000026c4: JUMPDEST
000026c5: PUSH1 0x40
000026c7: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c
000026e8: CALLDATASIZE
000026e9: ADD
000026ea: SLT
000026eb: PUSH2 0x042e
000026ee: JUMPI
000026ef: PUSH2 0x26f6
000026f2: PUSH2 0x3692
000026f5: JUMP
000026f6: JUMPDEST
000026f7: DUP4
000026f8: PUSH0
000026f9: MSTORE
000026fa: PUSH1 0x0c
000026fc: PUSH1 0x20
000026fe: MSTORE
000026ff: PUSH1 0xff
00002701: PUSH1 0x01
00002703: PUSH1 0x40
00002705: PUSH0
00002706: KECCAK256
00002707: ADD
00002708: SLOAD
00002709: PUSH1 0xc8
0000270b: SHR
0000270c: AND
0000270d: ISZERO
0000270e: PUSH2 0x22b5
00002711: JUMPI
00002712: DUP4
00002713: PUSH0
00002714: MSTORE
00002715: PUSH1 0x0c
00002717: PUSH1 0x20
00002719: MSTORE
0000271a: PUSH1 0xff
0000271c: PUSH1 0x01
0000271e: PUSH1 0x40
00002720: PUSH0
00002721: KECCAK256
00002722: ADD
00002723: SLOAD
00002724: PUSH1 0xd8
00002726: SHR
00002727: AND
00002728: PUSH2 0x2289
0000272b: JUMPI
0000272c: PUSH2 0x2735
0000272f: SWAP2
00002730: DUP5
00002731: PUSH2 0x43a4
00002734: JUMP
00002735: JUMPDEST
00002736: PUSH1 0x40
00002738: MLOAD
00002739: SWAP2
0000273a: PUSH2 0x2742
0000273d: DUP4
0000273e: PUSH2 0x236c
00002741: JUMP
00002742: JUMPDEST
00002743: PUSH1 0x84
00002745: CALLDATALOAD
00002746: PUSH2 0x274e
00002749: DUP2
0000274a: PUSH2 0x0777
0000274d: JUMP
0000274e: JUMPDEST
0000274f: DUP4
00002750: MSTORE
00002751: PUSH1 0xa4
00002753: CALLDATALOAD
00002754: PUSH1 0x20
00002756: DUP5
00002757: ADD
00002758: SWAP1
00002759: DUP1
0000275a: DUP3
0000275b: MSTORE
0000275c: PUSH8 0x016345785d8a0000
00002765: DUP2
00002766: GT
00002767: PUSH2 0x2836
0000276a: JUMPI
0000276b: POP
0000276c: PUSH1 0x01
0000276e: PUSH1 0x01
00002770: PUSH1 0xa0
00002772: SHL
00002773: SUB
00002774: DUP5
00002775: MLOAD
00002776: AND
00002777: ISZERO
00002778: PUSH2 0x280e
0000277b: JUMPI
0000277c: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
0000279d: SWAP4
0000279e: PUSH2 0x27bb
000027a1: PUSH2 0x27b2
000027a4: PUSH2 0x142b
000027a7: SWAP6
000027a8: PUSH2 0x27fe
000027ab: SWAP5
000027ac: MLOAD
000027ad: SWAP1
000027ae: PUSH2 0x4e86
000027b1: JUMP
000027b2: JUMPDEST
000027b3: DUP6
000027b4: SWAP3
000027b5: SWAP2
000027b6: SWAP3
000027b7: PUSH2 0x3b32
000027ba: JUMP
000027bb: JUMPDEST
000027bc: PUSH16 0xffffffffffffffffffffffffffffffff
000027cd: PUSH2 0x27f4
000027d0: PUSH2 0x27e6
000027d3: PUSH1 0x02
000027d5: PUSH2 0x11f1
000027d8: DUP9
000027d9: PUSH0
000027da: MSTORE
000027db: PUSH1 0x0c
000027dd: PUSH1 0x20
000027df: MSTORE
000027e0: PUSH1 0x40
000027e2: PUSH0
000027e3: KECCAK256
000027e4: SWAP1
000027e5: JUMP
000027e6: JUMPDEST
000027e7: SWAP4
000027e8: MLOAD
000027e9: PUSH1 0x01
000027eb: PUSH1 0x01
000027ed: PUSH1 0xa0
000027ef: SHL
000027f0: SUB
000027f1: AND
000027f2: SWAP1
000027f3: JUMP
000027f4: JUMPDEST
000027f5: SWAP2
000027f6: AND
000027f7: SWAP2
000027f8: CALLER
000027f9: SWAP1
000027fa: PUSH2 0x49f2
000027fd: JUMP
000027fe: JUMPDEST
000027ff: PUSH1 0x40
00002801: MLOAD
00002802: SWAP1
00002803: DUP2
00002804: MSTORE
00002805: SWAP1
00002806: DUP2
00002807: SWAP1
00002808: PUSH1 0x20
0000280a: DUP3
0000280b: ADD
0000280c: SWAP1
0000280d: JUMP
0000280e: JUMPDEST
0000280f: PUSH32 0x5f946a0200000000000000000000000000000000000000000000000000000000
00002830: PUSH0
00002831: MSTORE
00002832: PUSH1 0x04
00002834: PUSH0
00002835: REVERT
00002836: JUMPDEST
00002837: PUSH32 0x54b392b200000000000000000000000000000000000000000000000000000000
00002858: PUSH0
00002859: MSTORE
0000285a: PUSH1 0x04
0000285c: MSTORE
0000285d: PUSH8 0x016345785d8a0000
00002866: PUSH1 0x24
00002868: MSTORE
00002869: PUSH1 0x44
0000286b: PUSH0
0000286c: REVERT
0000286d: JUMPDEST
0000286e: CALLVALUE
0000286f: PUSH2 0x042e
00002872: JUMPI
00002873: PUSH0
00002874: PUSH1 0x03
00002876: NOT
00002877: CALLDATASIZE
00002878: ADD
00002879: SLT
0000287a: PUSH2 0x042e
0000287d: JUMPI
0000287e: SELFBALANCE
0000287f: PUSH0
00002880: DUP1
00002881: DUP1
00002882: DUP1
00002883: DUP5
00002884: PUSH1 0x01
00002886: PUSH1 0x01
00002888: PUSH1 0xa0
0000288a: SHL
0000288b: SUB
0000288c: DUP3
0000288d: SLOAD
0000288e: AND
0000288f: GAS
00002890: CALL
00002891: PUSH2 0x2898
00002894: PUSH2 0x3031
00002897: JUMP
00002898: JUMPDEST
00002899: POP
0000289a: ISZERO
0000289b: PUSH2 0x28d1
0000289e: JUMPI
0000289f: PUSH1 0x01
000028a1: PUSH1 0x01
000028a3: PUSH1 0xa0
000028a5: SHL
000028a6: SUB
000028a7: DUP1
000028a8: PUSH0
000028a9: SLOAD
000028aa: AND
000028ab: AND
000028ac: PUSH32 0xc9a0214d4c5fed6341233260a7bc0c9ac1d712cc5882165fa985bb71d4f207ae
000028cd: PUSH0
000028ce: DUP1
000028cf: LOG3
000028d0: STOP
000028d1: JUMPDEST
000028d2: PUSH1 0x01
000028d4: PUSH1 0x01
000028d6: PUSH1 0xa0
000028d8: SHL
000028d9: SUB
000028da: PUSH0
000028db: SLOAD
000028dc: AND
000028dd: PUSH32 0x186f33ac00000000000000000000000000000000000000000000000000000000
000028fe: PUSH0
000028ff: MSTORE
00002900: PUSH1 0x04
00002902: MSTORE
00002903: PUSH1 0x24
00002905: MSTORE
00002906: PUSH1 0x44
00002908: PUSH0
00002909: REVERT
0000290a: JUMPDEST
0000290b: CALLVALUE
0000290c: PUSH2 0x042e
0000290f: JUMPI
00002910: PUSH1 0x20
00002912: PUSH1 0x03
00002914: NOT
00002915: CALLDATASIZE
00002916: ADD
00002917: SLT
00002918: PUSH2 0x042e
0000291b: JUMPI
0000291c: PUSH1 0x04
0000291e: CALLDATALOAD
0000291f: PUSH2 0x2927
00002922: DUP2
00002923: PUSH2 0x3605
00002926: JUMP
00002927: JUMPDEST
00002928: POP
00002929: PUSH0
0000292a: PUSH1 0x01
0000292c: PUSH1 0x01
0000292e: PUSH1 0xa0
00002930: SHL
00002931: SUB
00002932: PUSH1 0x09
00002934: SLOAD
00002935: AND
00002936: SWAP2
00002937: PUSH1 0x44
00002939: PUSH1 0x40
0000293b: MLOAD
0000293c: DUP1
0000293d: SWAP5
0000293e: DUP2
0000293f: SWAP4
00002940: PUSH32 0xe9dc637500000000000000000000000000000000000000000000000000000000
00002961: DUP4
00002962: MSTORE
00002963: ADDRESS
00002964: PUSH1 0x04
00002966: DUP5
00002967: ADD
00002968: MSTORE
00002969: PUSH1 0x24
0000296b: DUP4
0000296c: ADD
0000296d: MSTORE
0000296e: GAS
0000296f: STATICCALL
00002970: DUP1
00002971: ISZERO
00002972: PUSH2 0x16f5
00002975: JUMPI
00002976: PUSH0
00002977: SWAP1
00002978: PUSH2 0x298c
0000297b: JUMPI
0000297c: JUMPDEST
0000297d: PUSH2 0x0616
00002980: SWAP1
00002981: PUSH1 0x40
00002983: MLOAD
00002984: SWAP2
00002985: DUP3
00002986: SWAP2
00002987: DUP3
00002988: PUSH2 0x059c
0000298b: JUMP
0000298c: JUMPDEST
0000298d: POP
0000298e: RETURNDATASIZE
0000298f: DUP1
00002990: PUSH0
00002991: DUP4
00002992: RETURNDATACOPY
00002993: PUSH2 0x299c
00002996: DUP2
00002997: DUP4
00002998: PUSH2 0x2388
0000299b: JUMP
0000299c: JUMPDEST
0000299d: DUP2
0000299e: ADD
0000299f: SWAP1
000029a0: PUSH1 0x20
000029a2: DUP2
000029a3: DUP4
000029a4: SUB
000029a5: SLT
000029a6: PUSH2 0x042e
000029a9: JUMPI
000029aa: DUP1
000029ab: MLOAD
000029ac: SWAP1
000029ad: PUSH8 0xffffffffffffffff
000029b6: DUP3
000029b7: GT
000029b8: PUSH2 0x042e
000029bb: JUMPI
000029bc: ADD
000029bd: SWAP1
000029be: DUP1
000029bf: PUSH1 0x1f
000029c1: DUP4
000029c2: ADD
000029c3: SLT
000029c4: ISZERO
000029c5: PUSH2 0x042e
000029c8: JUMPI
000029c9: DUP2
000029ca: MLOAD
000029cb: SWAP2
000029cc: PUSH2 0x29d4
000029cf: DUP4
000029d0: PUSH2 0x23db
000029d3: JUMP
000029d4: JUMPDEST
000029d5: SWAP2
000029d6: PUSH2 0x29e2
000029d9: PUSH1 0x40
000029db: MLOAD
000029dc: SWAP4
000029dd: DUP5
000029de: PUSH2 0x2388
000029e1: JUMP
000029e2: JUMPDEST
000029e3: DUP4
000029e4: DUP4
000029e5: MSTORE
000029e6: PUSH1 0x20
000029e8: DUP5
000029e9: DUP4
000029ea: ADD
000029eb: ADD
000029ec: GT
000029ed: PUSH2 0x042e
000029f0: JUMPI
000029f1: PUSH2 0x0616
000029f4: SWAP3
000029f5: PUSH2 0x2a04
000029f8: SWAP2
000029f9: PUSH1 0x20
000029fb: DUP1
000029fc: DUP6
000029fd: ADD
000029fe: SWAP2
000029ff: ADD
00002a00: PUSH2 0x0538
00002a03: JUMP
00002a04: JUMPDEST
00002a05: PUSH2 0x297c
00002a08: JUMP
00002a09: JUMPDEST
00002a0a: CALLVALUE
00002a0b: PUSH2 0x042e
00002a0e: JUMPI
00002a0f: PUSH1 0x20
00002a11: PUSH1 0x03
00002a13: NOT
00002a14: CALLDATASIZE
00002a15: ADD
00002a16: SLT
00002a17: PUSH2 0x042e
00002a1a: JUMPI
00002a1b: PUSH1 0x04
00002a1d: CALLDATALOAD
00002a1e: DUP1
00002a1f: PUSH0
00002a20: MSTORE
00002a21: PUSH1 0x0c
00002a23: PUSH1 0x20
00002a25: MSTORE
00002a26: PUSH1 0xff
00002a28: PUSH1 0x01
00002a2a: PUSH1 0x40
00002a2c: PUSH0
00002a2d: KECCAK256
00002a2e: ADD
00002a2f: SLOAD
00002a30: PUSH1 0xc8
00002a32: SHR
00002a33: AND
00002a34: ISZERO
00002a35: PUSH2 0x074c
00002a38: JUMPI
00002a39: DUP1
00002a3a: PUSH0
00002a3b: MSTORE
00002a3c: PUSH1 0x0c
00002a3e: PUSH1 0x20
00002a40: MSTORE
00002a41: PUSH1 0x40
00002a43: PUSH0
00002a44: KECCAK256
00002a45: SLOAD
00002a46: PUSH1 0x80
00002a48: SHR
00002a49: ISZERO
00002a4a: PUSH2 0x0a64
00002a4d: JUMPI
00002a4e: PUSH2 0x27fe
00002a51: PUSH2 0x0616
00002a54: SWAP2
00002a55: PUSH2 0x34ab
00002a58: JUMP
00002a59: JUMPDEST
00002a5a: CALLVALUE
00002a5b: PUSH2 0x042e
00002a5e: JUMPI
00002a5f: PUSH1 0x20
00002a61: PUSH1 0x03
00002a63: NOT
00002a64: CALLDATASIZE
00002a65: ADD
00002a66: SLT
00002a67: PUSH2 0x042e
00002a6a: JUMPI
00002a6b: PUSH1 0x04
00002a6d: CALLDATALOAD
00002a6e: DUP1
00002a6f: PUSH0
00002a70: MSTORE
00002a71: PUSH1 0x0c
00002a73: PUSH1 0x20
00002a75: MSTORE
00002a76: PUSH1 0xff
00002a78: PUSH1 0x01
00002a7a: PUSH1 0x40
00002a7c: PUSH0
00002a7d: KECCAK256
00002a7e: ADD
00002a7f: SLOAD
00002a80: PUSH1 0xc8
00002a82: SHR
00002a83: AND
00002a84: ISZERO
00002a85: PUSH2 0x074c
00002a88: JUMPI
00002a89: PUSH0
00002a8a: MSTORE
00002a8b: PUSH1 0x0c
00002a8d: PUSH1 0x20
00002a8f: MSTORE
00002a90: PUSH2 0x0616
00002a93: PUSH1 0x01
00002a95: PUSH1 0x01
00002a97: PUSH1 0xa0
00002a99: SHL
00002a9a: SUB
00002a9b: PUSH1 0x02
00002a9d: PUSH1 0x40
00002a9f: PUSH0
00002aa0: KECCAK256
00002aa1: ADD
00002aa2: SLOAD
00002aa3: AND
00002aa4: PUSH1 0x40
00002aa6: MLOAD
00002aa7: SWAP2
00002aa8: DUP3
00002aa9: SWAP2
00002aaa: DUP3
00002aab: SWAP2
00002aac: SWAP1
00002aad: SWAP2
00002aae: PUSH1 0x01
00002ab0: PUSH1 0x01
00002ab2: PUSH1 0xa0
00002ab4: SHL
00002ab5: SUB
00002ab6: PUSH1 0x20
00002ab8: DUP3
00002ab9: ADD
00002aba: SWAP4
00002abb: AND
00002abc: SWAP1
00002abd: MSTORE
00002abe: JUMP
00002abf: JUMPDEST
00002ac0: CALLVALUE
00002ac1: PUSH2 0x042e
00002ac4: JUMPI
00002ac5: PUSH1 0x40
00002ac7: PUSH1 0x03
00002ac9: NOT
00002aca: CALLDATASIZE
00002acb: ADD
00002acc: SLT
00002acd: PUSH2 0x042e
00002ad0: JUMPI
00002ad1: PUSH1 0x20
00002ad3: PUSH1 0xff
00002ad5: PUSH2 0x2b19
00002ad8: PUSH1 0x04
00002ada: CALLDATALOAD
00002adb: PUSH2 0x2ae3
00002ade: DUP2
00002adf: PUSH2 0x0777
00002ae2: JUMP
00002ae3: JUMPDEST
00002ae4: PUSH1 0x01
00002ae6: PUSH1 0x01
00002ae8: PUSH1 0xa0
00002aea: SHL
00002aeb: SUB
00002aec: PUSH1 0x24
00002aee: CALLDATALOAD
00002aef: SWAP2
00002af0: PUSH2 0x2af8
00002af3: DUP4
00002af4: PUSH2 0x0777
00002af7: JUMP
00002af8: JUMPDEST
00002af9: AND
00002afa: PUSH0
00002afb: MSTORE
00002afc: PUSH1 0x06
00002afe: DUP5
00002aff: MSTORE
00002b00: PUSH1 0x40
00002b02: PUSH0
00002b03: KECCAK256
00002b04: SWAP1
00002b05: PUSH1 0x01
00002b07: PUSH1 0x01
00002b09: PUSH1 0xa0
00002b0b: SHL
00002b0c: SUB
00002b0d: AND
00002b0e: PUSH0
00002b0f: MSTORE
00002b10: PUSH1 0x20
00002b12: MSTORE
00002b13: PUSH1 0x40
00002b15: PUSH0
00002b16: KECCAK256
00002b17: SWAP1
00002b18: JUMP
00002b19: JUMPDEST
00002b1a: SLOAD
00002b1b: AND
00002b1c: PUSH1 0x40
00002b1e: MLOAD
00002b1f: SWAP1
00002b20: ISZERO
00002b21: ISZERO
00002b22: DUP2
00002b23: MSTORE
00002b24: RETURN
00002b25: JUMPDEST
00002b26: PUSH1 0x40
00002b28: PUSH1 0x03
00002b2a: NOT
00002b2b: CALLDATASIZE
00002b2c: ADD
00002b2d: SLT
00002b2e: PUSH2 0x042e
00002b31: JUMPI
00002b32: PUSH1 0x04
00002b34: CALLDATALOAD
00002b35: PUSH1 0x24
00002b37: CALLDATALOAD
00002b38: PUSH2 0x2b40
00002b3b: DUP2
00002b3c: PUSH2 0x0777
00002b3f: JUMP
00002b40: JUMPDEST
00002b41: PUSH2 0x2b48
00002b44: PUSH2 0x3692
00002b47: JUMP
00002b48: JUMPDEST
00002b49: DUP2
00002b4a: PUSH0
00002b4b: MSTORE
00002b4c: PUSH1 0x0c
00002b4e: PUSH1 0x20
00002b50: MSTORE
00002b51: PUSH1 0xff
00002b53: PUSH1 0x01
00002b55: PUSH1 0x40
00002b57: PUSH0
00002b58: KECCAK256
00002b59: ADD
00002b5a: SLOAD
00002b5b: PUSH1 0xc8
00002b5d: SHR
00002b5e: AND
00002b5f: ISZERO
00002b60: PUSH2 0x0fbc
00002b63: JUMPI
00002b64: SWAP1
00002b65: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
00002b86: PUSH2 0x2b9b
00002b89: PUSH1 0x20
00002b8b: SWAP4
00002b8c: PUSH2 0x2b94
00002b8f: DUP5
00002b90: PUSH2 0x3c7a
00002b93: JUMP
00002b94: JUMPDEST
00002b95: SWAP1
00002b96: DUP5
00002b97: PUSH2 0x4568
00002b9a: JUMP
00002b9b: JUMPDEST
00002b9c: SWAP4
00002b9d: SWAP1
00002b9e: SWAP3
00002b9f: PUSH1 0x40
00002ba1: MLOAD
00002ba2: SWAP1
00002ba3: DUP2
00002ba4: MSTORE
00002ba5: LOG1
00002ba6: PUSH1 0x40
00002ba8: DUP1
00002ba9: MLOAD
00002baa: PUSH16 0xffffffffffffffffffffffffffffffff
00002bbb: SWAP3
00002bbc: DUP4
00002bbd: AND
00002bbe: DUP2
00002bbf: MSTORE
00002bc0: SWAP3
00002bc1: SWAP1
00002bc2: SWAP2
00002bc3: AND
00002bc4: PUSH1 0x20
00002bc6: DUP4
00002bc7: ADD
00002bc8: MSTORE
00002bc9: SWAP1
00002bca: RETURN
00002bcb: JUMPDEST
00002bcc: CALLVALUE
00002bcd: PUSH2 0x042e
00002bd0: JUMPI
00002bd1: PUSH1 0x20
00002bd3: PUSH1 0x03
00002bd5: NOT
00002bd6: CALLDATASIZE
00002bd7: ADD
00002bd8: SLT
00002bd9: PUSH2 0x042e
00002bdc: JUMPI
00002bdd: PUSH1 0x04
00002bdf: CALLDATALOAD
00002be0: DUP1
00002be1: PUSH0
00002be2: MSTORE
00002be3: PUSH1 0x0c
00002be5: PUSH1 0x20
00002be7: MSTORE
00002be8: PUSH1 0xff
00002bea: PUSH1 0x01
00002bec: PUSH1 0x40
00002bee: PUSH0
00002bef: KECCAK256
00002bf0: ADD
00002bf1: SLOAD
00002bf2: PUSH1 0xc8
00002bf4: SHR
00002bf5: AND
00002bf6: ISZERO
00002bf7: PUSH2 0x074c
00002bfa: JUMPI
00002bfb: PUSH0
00002bfc: MSTORE
00002bfd: PUSH1 0x0c
00002bff: PUSH1 0x20
00002c01: MSTORE
00002c02: PUSH2 0x0616
00002c05: PUSH5 0xffffffffff
00002c0b: PUSH1 0x01
00002c0d: PUSH1 0x40
00002c0f: PUSH0
00002c10: KECCAK256
00002c11: ADD
00002c12: SLOAD
00002c13: PUSH1 0xa0
00002c15: SHR
00002c16: AND
00002c17: PUSH1 0x40
00002c19: MLOAD
00002c1a: SWAP2
00002c1b: DUP3
00002c1c: SWAP2
00002c1d: DUP3
00002c1e: SWAP2
00002c1f: SWAP1
00002c20: SWAP2
00002c21: PUSH5 0xffffffffff
00002c27: PUSH1 0x20
00002c29: DUP3
00002c2a: ADD
00002c2b: SWAP4
00002c2c: AND
00002c2d: SWAP1
00002c2e: MSTORE
00002c2f: JUMP
00002c30: JUMPDEST
00002c31: PUSH1 0x40
00002c33: PUSH1 0x03
00002c35: NOT
00002c36: CALLDATASIZE
00002c37: ADD
00002c38: SLT
00002c39: PUSH2 0x042e
00002c3c: JUMPI
00002c3d: PUSH1 0x04
00002c3f: CALLDATALOAD
00002c40: PUSH1 0x24
00002c42: CALLDATALOAD
00002c43: PUSH2 0x2c4b
00002c46: DUP2
00002c47: PUSH2 0x0d16
00002c4a: JUMP
00002c4b: JUMPDEST
00002c4c: PUSH2 0x2c53
00002c4f: PUSH2 0x3692
00002c52: JUMP
00002c53: JUMPDEST
00002c54: DUP2
00002c55: PUSH0
00002c56: MSTORE
00002c57: PUSH1 0x0c
00002c59: PUSH1 0x20
00002c5b: MSTORE
00002c5c: PUSH1 0xff
00002c5e: PUSH1 0x01
00002c60: PUSH1 0x40
00002c62: PUSH0
00002c63: KECCAK256
00002c64: ADD
00002c65: SLOAD
00002c66: PUSH1 0xc8
00002c68: SHR
00002c69: AND
00002c6a: ISZERO
00002c6b: PUSH2 0x0fbc
00002c6e: JUMPI
00002c6f: DUP2
00002c70: PUSH0
00002c71: MSTORE
00002c72: PUSH1 0x0c
00002c74: PUSH1 0x20
00002c76: MSTORE
00002c77: PUSH1 0xff
00002c79: PUSH1 0x01
00002c7b: PUSH1 0x40
00002c7d: PUSH0
00002c7e: KECCAK256
00002c7f: ADD
00002c80: SLOAD
00002c81: PUSH1 0xd8
00002c83: SHR
00002c84: AND
00002c85: PUSH2 0x2cd5
00002c88: JUMPI
00002c89: DUP2
00002c8a: PUSH0
00002c8b: MSTORE
00002c8c: PUSH1 0x0c
00002c8e: PUSH1 0x20
00002c90: MSTORE
00002c91: PUSH1 0x01
00002c93: PUSH1 0x01
00002c95: PUSH1 0xa0
00002c97: SHL
00002c98: SUB
00002c99: PUSH1 0x01
00002c9b: PUSH1 0x40
00002c9d: PUSH0
00002c9e: KECCAK256
00002c9f: ADD
00002ca0: SLOAD
00002ca1: AND
00002ca2: CALLER
00002ca3: SUB
00002ca4: PUSH2 0x0f60
00002ca7: JUMPI
00002ca8: DUP2
00002ca9: PUSH2 0x0999
00002cac: PUSH1 0x20
00002cae: SWAP3
00002caf: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
00002cd0: SWAP5
00002cd1: PUSH2 0x3aa5
00002cd4: JUMP
00002cd5: JUMPDEST
00002cd6: POP
00002cd7: PUSH32 0x7354d5f100000000000000000000000000000000000000000000000000000000
00002cf8: PUSH0
00002cf9: MSTORE
00002cfa: PUSH1 0x04
00002cfc: MSTORE
00002cfd: PUSH1 0x24
00002cff: PUSH0
00002d00: REVERT
00002d01: JUMPDEST
00002d02: CALLVALUE
00002d03: PUSH2 0x042e
00002d06: JUMPI
00002d07: PUSH0
00002d08: PUSH1 0x03
00002d0a: NOT
00002d0b: CALLDATASIZE
00002d0c: ADD
00002d0d: SLT
00002d0e: PUSH2 0x042e
00002d11: JUMPI
00002d12: PUSH1 0x20
00002d14: PUSH1 0x01
00002d16: PUSH1 0x01
00002d18: PUSH1 0xa0
00002d1a: SHL
00002d1b: SUB
00002d1c: PUSH0
00002d1d: SLOAD
00002d1e: AND
00002d1f: PUSH1 0x40
00002d21: MLOAD
00002d22: SWAP1
00002d23: DUP2
00002d24: MSTORE
00002d25: RETURN
00002d26: JUMPDEST
00002d27: PUSH1 0xc0
00002d29: PUSH1 0x03
00002d2b: NOT
00002d2c: CALLDATASIZE
00002d2d: ADD
00002d2e: SLT
00002d2f: PUSH2 0x042e
00002d32: JUMPI
00002d33: PUSH1 0x20
00002d35: PUSH1 0x04
00002d37: CALLDATALOAD
00002d38: PUSH2 0x2d40
00002d3b: DUP2
00002d3c: PUSH2 0x0777
00002d3f: JUMP
00002d40: JUMPDEST
00002d41: PUSH2 0x1183
00002d44: PUSH2 0x2d85
00002d47: PUSH1 0x24
00002d49: CALLDATALOAD
00002d4a: PUSH2 0x2d52
00002d4d: DUP2
00002d4e: PUSH2 0x0777
00002d51: JUMP
00002d52: JUMPDEST
00002d53: PUSH1 0x44
00002d55: CALLDATALOAD
00002d56: PUSH2 0x2d5e
00002d59: DUP2
00002d5a: PUSH2 0x0d16
00002d5d: JUMP
00002d5e: JUMPDEST
00002d5f: PUSH1 0x64
00002d61: CALLDATALOAD
00002d62: SWAP1
00002d63: PUSH2 0x2d6b
00002d66: DUP3
00002d67: PUSH2 0x0777
00002d6a: JUMP
00002d6b: JUMPDEST
00002d6c: PUSH1 0x84
00002d6e: CALLDATALOAD
00002d6f: SWAP3
00002d70: PUSH2 0x2d78
00002d73: DUP5
00002d74: PUSH2 0x111d
00002d77: JUMP
00002d78: JUMPDEST
00002d79: PUSH1 0xa4
00002d7b: CALLDATALOAD
00002d7c: SWAP7
00002d7d: PUSH2 0x1176
00002d80: DUP9
00002d81: PUSH2 0x0d16
00002d84: JUMP
00002d85: JUMPDEST
00002d86: SWAP2
00002d87: DUP3
00002d88: PUSH2 0x3b32
00002d8b: JUMP
00002d8c: JUMPDEST
00002d8d: PUSH1 0x60
00002d8f: PUSH1 0x03
00002d91: NOT
00002d92: CALLDATASIZE
00002d93: ADD
00002d94: SLT
00002d95: PUSH2 0x042e
00002d98: JUMPI
00002d99: PUSH1 0x04
00002d9b: CALLDATALOAD
00002d9c: PUSH1 0x24
00002d9e: CALLDATALOAD
00002d9f: PUSH2 0x2da7
00002da2: DUP2
00002da3: PUSH2 0x0777
00002da6: JUMP
00002da7: JUMPDEST
00002da8: PUSH1 0x44
00002daa: CALLDATALOAD
00002dab: SWAP1
00002dac: PUSH2 0x2db4
00002daf: DUP3
00002db0: PUSH2 0x0d16
00002db3: JUMP
00002db4: JUMPDEST
00002db5: PUSH2 0x2dbc
00002db8: PUSH2 0x3692
00002dbb: JUMP
00002dbc: JUMPDEST
00002dbd: DUP3
00002dbe: PUSH0
00002dbf: MSTORE
00002dc0: PUSH1 0x0c
00002dc2: PUSH1 0x20
00002dc4: MSTORE
00002dc5: PUSH1 0xff
00002dc7: PUSH1 0x01
00002dc9: PUSH1 0x40
00002dcb: PUSH0
00002dcc: KECCAK256
00002dcd: ADD
00002dce: SLOAD
00002dcf: PUSH1 0xc8
00002dd1: SHR
00002dd2: AND
00002dd3: ISZERO
00002dd4: PUSH2 0x0e48
00002dd7: JUMPI
00002dd8: PUSH2 0x2b9b
00002ddb: DUP4
00002ddc: SWAP3
00002ddd: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
00002dfe: SWAP3
00002dff: PUSH1 0x20
00002e01: SWAP6
00002e02: PUSH2 0x4568
00002e05: JUMP
00002e06: JUMPDEST
00002e07: CALLVALUE
00002e08: PUSH2 0x042e
00002e0b: JUMPI
00002e0c: PUSH2 0x2e14
00002e0f: CALLDATASIZE
00002e10: PUSH2 0x1576
00002e13: JUMP
00002e14: JUMPDEST
00002e15: PUSH1 0x01
00002e17: PUSH1 0x01
00002e19: PUSH1 0xa0
00002e1b: SHL
00002e1c: SUB
00002e1d: PUSH0
00002e1e: SLOAD
00002e1f: AND
00002e20: CALLER
00002e21: DUP2
00002e22: SUB
00002e23: PUSH2 0x16fa
00002e26: JUMPI
00002e27: POP
00002e28: PUSH1 0x01
00002e2a: PUSH1 0x01
00002e2c: PUSH1 0xa0
00002e2e: SHL
00002e2f: SUB
00002e30: DUP3
00002e31: AND
00002e32: SWAP2
00002e33: DUP3
00002e34: PUSH0
00002e35: MSTORE
00002e36: PUSH1 0x0b
00002e38: PUSH1 0x20
00002e3a: MSTORE
00002e3b: PUSH16 0xffffffffffffffffffffffffffffffff
00002e4c: PUSH1 0x40
00002e4e: PUSH0
00002e4f: KECCAK256
00002e50: SLOAD
00002e51: AND
00002e52: SWAP1
00002e53: DUP2
00002e54: ISZERO
00002e55: PUSH2 0x2f23
00002e58: JUMPI
00002e59: DUP2
00002e5a: PUSH2 0x2eef
00002e5d: PUSH32 0xc9a4a66b97fd7e52e69c5be7b10bdc5341bded817201b9b7136a75068d4e4e05
00002e7e: SWAP4
00002e7f: DUP6
00002e80: DUP5
00002e81: PUSH2 0x2ec9
00002e84: PUSH2 0x2ea1
00002e87: PUSH2 0x168c
00002e8a: SWAP8
00002e8b: PUSH1 0x01
00002e8d: PUSH1 0x01
00002e8f: PUSH1 0xa0
00002e91: SHL
00002e92: SUB
00002e93: AND
00002e94: PUSH0
00002e95: MSTORE
00002e96: PUSH1 0x0b
00002e98: PUSH1 0x20
00002e9a: MSTORE
00002e9b: PUSH1 0x40
00002e9d: PUSH0
00002e9e: KECCAK256
00002e9f: SWAP1
00002ea0: JUMP
00002ea1: JUMPDEST
00002ea2: PUSH32 0xffffffffffffffffffffffffffffffff00000000000000000000000000000000
00002ec3: DUP2
00002ec4: SLOAD
00002ec5: AND
00002ec6: SWAP1
00002ec7: SSTORE
00002ec8: JUMP
00002ec9: JUMPDEST
00002eca: PUSH2 0x2ee4
00002ecd: DUP2
00002ece: PUSH1 0x01
00002ed0: PUSH1 0x01
00002ed2: PUSH1 0xa0
00002ed4: SHL
00002ed5: SUB
00002ed6: AND
00002ed7: PUSH0
00002ed8: MSTORE
00002ed9: PUSH1 0x07
00002edb: PUSH1 0x20
00002edd: MSTORE
00002ede: PUSH1 0x40
00002ee0: PUSH0
00002ee1: KECCAK256
00002ee2: SWAP1
00002ee3: JUMP
00002ee4: JUMPDEST
00002ee5: DUP4
00002ee6: DUP2
00002ee7: SLOAD
00002ee8: SUB
00002ee9: SWAP1
00002eea: SSTORE
00002eeb: PUSH2 0x41cd
00002eee: JUMP
00002eef: JUMPDEST
00002ef0: PUSH1 0x40
00002ef2: DUP1
00002ef3: MLOAD
00002ef4: PUSH1 0x01
00002ef6: PUSH1 0x01
00002ef8: PUSH1 0xa0
00002efa: SHL
00002efb: SUB
00002efc: SWAP1
00002efd: SWAP6
00002efe: AND
00002eff: DUP6
00002f00: MSTORE
00002f01: PUSH16 0xffffffffffffffffffffffffffffffff
00002f12: SWAP1
00002f13: SWAP2
00002f14: AND
00002f15: PUSH1 0x20
00002f17: DUP6
00002f18: ADD
00002f19: MSTORE
00002f1a: CALLER
00002f1b: SWAP4
00002f1c: SWAP2
00002f1d: DUP3
00002f1e: SWAP2
00002f1f: DUP3
00002f20: ADD
00002f21: SWAP1
00002f22: JUMP
00002f23: JUMPDEST
00002f24: PUSH32 0xf717901b00000000000000000000000000000000000000000000000000000000
00002f45: PUSH0
00002f46: MSTORE
00002f47: PUSH1 0x01
00002f49: PUSH1 0x01
00002f4b: PUSH1 0xa0
00002f4d: SHL
00002f4e: SUB
00002f4f: DUP5
00002f50: AND
00002f51: PUSH1 0x04
00002f53: MSTORE
00002f54: PUSH1 0x24
00002f56: PUSH0
00002f57: REVERT
00002f58: JUMPDEST
00002f59: PUSH2 0x2f61
00002f5c: DUP2
00002f5d: PUSH2 0x3605
00002f60: JUMP
00002f61: JUMPDEST
00002f62: POP
00002f63: PUSH0
00002f64: MSTORE
00002f65: PUSH1 0x05
00002f67: PUSH1 0x20
00002f69: MSTORE
00002f6a: PUSH1 0x01
00002f6c: PUSH1 0x01
00002f6e: PUSH1 0xa0
00002f70: SHL
00002f71: SUB
00002f72: PUSH1 0x40
00002f74: PUSH0
00002f75: KECCAK256
00002f76: SLOAD
00002f77: AND
00002f78: SWAP1
00002f79: JUMP
00002f7a: JUMPDEST
00002f7b: PUSH8 0xffffffffffffffff
00002f84: DUP2
00002f85: GT
00002f86: PUSH2 0x2367
00002f89: JUMPI
00002f8a: PUSH1 0x05
00002f8c: SHL
00002f8d: PUSH1 0x20
00002f8f: ADD
00002f90: SWAP1
00002f91: JUMP
00002f92: JUMPDEST
00002f93: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00002fb4: PUSH0
00002fb5: MSTORE
00002fb6: PUSH1 0x32
00002fb8: PUSH1 0x04
00002fba: MSTORE
00002fbb: PUSH1 0x24
00002fbd: PUSH0
00002fbe: REVERT
00002fbf: JUMPDEST
00002fc0: SWAP2
00002fc1: SWAP1
00002fc2: DUP2
00002fc3: LT
00002fc4: ISZERO
00002fc5: PUSH2 0x301f
00002fc8: JUMPI
00002fc9: PUSH1 0x05
00002fcb: SHL
00002fcc: DUP2
00002fcd: ADD
00002fce: CALLDATALOAD
00002fcf: SWAP1
00002fd0: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1
00002ff1: DUP2
00002ff2: CALLDATASIZE
00002ff3: SUB
00002ff4: ADD
00002ff5: DUP3
00002ff6: SLT
00002ff7: ISZERO
00002ff8: PUSH2 0x042e
00002ffb: JUMPI
00002ffc: ADD
00002ffd: SWAP1
00002ffe: DUP2
00002fff: CALLDATALOAD
00003000: SWAP2
00003001: PUSH8 0xffffffffffffffff
0000300a: DUP4
0000300b: GT
0000300c: PUSH2 0x042e
0000300f: JUMPI
00003010: PUSH1 0x20
00003012: ADD
00003013: DUP3
00003014: CALLDATASIZE
00003015: SUB
00003016: DUP2
00003017: SGT
00003018: PUSH2 0x042e
0000301b: JUMPI
0000301c: SWAP2
0000301d: SWAP1
0000301e: JUMP
0000301f: JUMPDEST
00003020: PUSH2 0x2f92
00003023: JUMP
00003024: JUMPDEST
00003025: SWAP1
00003026: DUP1
00003027: SWAP3
00003028: SWAP2
00003029: DUP3
0000302a: CALLDATACOPY
0000302b: ADD
0000302c: PUSH0
0000302d: DUP2
0000302e: MSTORE
0000302f: SWAP1
00003030: JUMP
00003031: JUMPDEST
00003032: RETURNDATASIZE
00003033: ISZERO
00003034: PUSH2 0x305b
00003037: JUMPI
00003038: RETURNDATASIZE
00003039: SWAP1
0000303a: PUSH2 0x3042
0000303d: DUP3
0000303e: PUSH2 0x23db
00003041: JUMP
00003042: JUMPDEST
00003043: SWAP2
00003044: PUSH2 0x3050
00003047: PUSH1 0x40
00003049: MLOAD
0000304a: SWAP4
0000304b: DUP5
0000304c: PUSH2 0x2388
0000304f: JUMP
00003050: JUMPDEST
00003051: DUP3
00003052: MSTORE
00003053: RETURNDATASIZE
00003054: PUSH0
00003055: PUSH1 0x20
00003057: DUP5
00003058: ADD
00003059: RETURNDATACOPY
0000305a: JUMP
0000305b: JUMPDEST
0000305c: PUSH1 0x60
0000305e: SWAP1
0000305f: JUMP
00003060: JUMPDEST
00003061: DUP1
00003062: MLOAD
00003063: DUP3
00003064: LT
00003065: ISZERO
00003066: PUSH2 0x301f
00003069: JUMPI
0000306a: PUSH1 0x20
0000306c: SWAP2
0000306d: PUSH1 0x05
0000306f: SHL
00003070: ADD
00003071: ADD
00003072: SWAP1
00003073: JUMP
00003074: JUMPDEST
00003075: SWAP2
00003076: SWAP1
00003077: PUSH1 0x01
00003079: PUSH1 0x01
0000307b: PUSH1 0xa0
0000307d: SHL
0000307e: SUB
0000307f: DUP2
00003080: AND
00003081: ISZERO
00003082: PUSH2 0x317f
00003085: JUMPI
00003086: DUP2
00003087: PUSH0
00003088: MSTORE
00003089: PUSH1 0x03
0000308b: PUSH1 0x20
0000308d: MSTORE
0000308e: PUSH1 0x01
00003090: PUSH1 0x01
00003092: PUSH1 0xa0
00003094: SHL
00003095: SUB
00003096: PUSH1 0x40
00003098: PUSH0
00003099: KECCAK256
0000309a: SLOAD
0000309b: AND
0000309c: ISZERO
0000309d: ISZERO
0000309e: DUP1
0000309f: PUSH2 0x3162
000030a2: JUMPI
000030a3: JUMPDEST
000030a4: PUSH2 0x3135
000030a7: JUMPI
000030a8: PUSH1 0x01
000030aa: PUSH1 0x01
000030ac: PUSH1 0xa0
000030ae: SHL
000030af: SUB
000030b0: PUSH2 0x30bc
000030b3: DUP2
000030b4: SWAP3
000030b5: DUP5
000030b6: CALLER
000030b7: SWAP2
000030b8: PUSH2 0x4a4c
000030bb: JUMP
000030bc: JUMPDEST
000030bd: SWAP4
000030be: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
000030df: PUSH1 0x40
000030e1: MLOAD
000030e2: DUP1
000030e3: PUSH2 0x30f1
000030e6: DUP8
000030e7: DUP3
000030e8: SWAP2
000030e9: SWAP1
000030ea: PUSH1 0x20
000030ec: DUP4
000030ed: ADD
000030ee: SWAP3
000030ef: MSTORE
000030f0: JUMP
000030f1: JUMPDEST
000030f2: SUB
000030f3: SWAP1
000030f4: LOG1
000030f5: AND
000030f6: SWAP3
000030f7: AND
000030f8: SWAP2
000030f9: DUP1
000030fa: DUP4
000030fb: SUB
000030fc: PUSH2 0x3104
000030ff: JUMPI
00003100: POP
00003101: POP
00003102: POP
00003103: JUMP
00003104: JUMPDEST
00003105: PUSH32 0x64283d7b00000000000000000000000000000000000000000000000000000000
00003126: PUSH0
00003127: MSTORE
00003128: PUSH1 0x04
0000312a: MSTORE
0000312b: PUSH1 0x24
0000312d: MSTORE
0000312e: PUSH1 0x44
00003130: MSTORE
00003131: PUSH1 0x64
00003133: PUSH0
00003134: REVERT
00003135: JUMPDEST
00003136: PUSH32 0x7da2ea2b00000000000000000000000000000000000000000000000000000000
00003157: PUSH0
00003158: MSTORE
00003159: PUSH1 0x04
0000315b: DUP3
0000315c: SWAP1
0000315d: MSTORE
0000315e: PUSH1 0x24
00003160: PUSH0
00003161: REVERT
00003162: JUMPDEST
00003163: POP
00003164: DUP2
00003165: PUSH0
00003166: MSTORE
00003167: PUSH1 0x0c
00003169: PUSH1 0x20
0000316b: MSTORE
0000316c: PUSH1 0xff
0000316e: PUSH1 0x01
00003170: PUSH1 0x40
00003172: PUSH0
00003173: KECCAK256
00003174: ADD
00003175: SLOAD
00003176: PUSH1 0xd0
00003178: SHR
00003179: AND
0000317a: ISZERO
0000317b: PUSH2 0x30a3
0000317e: JUMP
0000317f: JUMPDEST
00003180: PUSH32 0x64a0ae9200000000000000000000000000000000000000000000000000000000
000031a1: PUSH0
000031a2: MSTORE
000031a3: PUSH0
000031a4: PUSH1 0x04
000031a6: MSTORE
000031a7: PUSH1 0x24
000031a9: PUSH0
000031aa: REVERT
000031ab: JUMPDEST
000031ac: DUP1
000031ad: PUSH0
000031ae: MSTORE
000031af: PUSH1 0x0c
000031b1: PUSH1 0x20
000031b3: MSTORE
000031b4: PUSH1 0xff
000031b6: PUSH1 0x01
000031b8: PUSH1 0x40
000031ba: PUSH0
000031bb: KECCAK256
000031bc: ADD
000031bd: SLOAD
000031be: PUSH1 0xc8
000031c0: SHR
000031c1: AND
000031c2: ISZERO
000031c3: PUSH2 0x074c
000031c6: JUMPI
000031c7: PUSH2 0x05ad
000031ca: SWAP1
000031cb: PUSH2 0x3c7a
000031ce: JUMP
000031cf: JUMPDEST
000031d0: SWAP1
000031d1: DUP2
000031d2: PUSH1 0x20
000031d4: SWAP2
000031d5: SUB
000031d6: SLT
000031d7: PUSH2 0x042e
000031da: JUMPI
000031db: MLOAD
000031dc: SWAP1
000031dd: JUMP
000031de: JUMPDEST
000031df: PUSH1 0x40
000031e1: MLOAD
000031e2: RETURNDATASIZE
000031e3: PUSH0
000031e4: DUP3
000031e5: RETURNDATACOPY
000031e6: RETURNDATASIZE
000031e7: SWAP1
000031e8: REVERT
000031e9: JUMPDEST
000031ea: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
0000320b: PUSH0
0000320c: MSTORE
0000320d: PUSH1 0x11
0000320f: PUSH1 0x04
00003211: MSTORE
00003212: PUSH1 0x24
00003214: PUSH0
00003215: REVERT
00003216: JUMPDEST
00003217: SWAP1
00003218: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00003239: DUP3
0000323a: ADD
0000323b: SWAP2
0000323c: DUP3
0000323d: GT
0000323e: PUSH2 0x3243
00003241: JUMPI
00003242: JUMP
00003243: JUMPDEST
00003244: PUSH2 0x31e9
00003247: JUMP
00003248: JUMPDEST
00003249: SWAP2
0000324a: SWAP1
0000324b: DUP3
0000324c: SUB
0000324d: SWAP2
0000324e: DUP3
0000324f: GT
00003250: PUSH2 0x3243
00003253: JUMPI
00003254: JUMP
00003255: JUMPDEST
00003256: DUP1
00003257: PUSH0
00003258: MSTORE
00003259: PUSH1 0x0c
0000325b: PUSH1 0x20
0000325d: MSTORE
0000325e: PUSH1 0xff
00003260: PUSH1 0x01
00003262: PUSH1 0x40
00003264: PUSH0
00003265: KECCAK256
00003266: ADD
00003267: SLOAD
00003268: PUSH1 0xd8
0000326a: SHR
0000326b: AND
0000326c: PUSH2 0x32da
0000326f: JUMPI
00003270: PUSH2 0x3278
00003273: DUP2
00003274: PUSH2 0x4367
00003277: JUMP
00003278: JUMPDEST
00003279: ISZERO
0000327a: ISZERO
0000327b: SWAP1
0000327c: PUSH0
0000327d: MSTORE
0000327e: PUSH1 0x0c
00003280: PUSH1 0x20
00003282: MSTORE
00003283: PUSH16 0xffffffffffffffffffffffffffffffff
00003294: PUSH2 0x32b9
00003297: PUSH2 0x32a4
0000329a: PUSH1 0x40
0000329c: PUSH0
0000329d: KECCAK256
0000329e: SLOAD
0000329f: PUSH1 0x80
000032a1: SHR
000032a2: SWAP1
000032a3: JUMP
000032a4: JUMPDEST
000032a5: PUSH16 0xffffffffffffffffffffffffffffffff
000032b6: AND
000032b7: SWAP1
000032b8: JUMP
000032b9: JUMPDEST
000032ba: AND
000032bb: ISZERO
000032bc: PUSH2 0x32cc
000032bf: JUMPI
000032c0: PUSH2 0x32c7
000032c3: JUMPI
000032c4: PUSH0
000032c5: SWAP1
000032c6: JUMP
000032c7: JUMPDEST
000032c8: PUSH1 0x01
000032ca: SWAP1
000032cb: JUMP
000032cc: JUMPDEST
000032cd: PUSH2 0x32d5
000032d0: JUMPI
000032d1: PUSH1 0x02
000032d3: SWAP1
000032d4: JUMP
000032d5: JUMPDEST
000032d6: PUSH1 0x03
000032d8: SWAP1
000032d9: JUMP
000032da: JUMPDEST
000032db: POP
000032dc: PUSH1 0x04
000032de: SWAP1
000032df: JUMP
000032e0: JUMPDEST
000032e1: SWAP1
000032e2: SWAP3
000032e3: SWAP2
000032e4: PUSH2 0x32ee
000032e7: DUP2
000032e8: DUP6
000032e9: DUP5
000032ea: PUSH2 0x3074
000032ed: JUMP
000032ee: JUMPDEST
000032ef: DUP4
000032f0: EXTCODESIZE
000032f1: PUSH2 0x32fb
000032f4: JUMPI
000032f5: JUMPDEST
000032f6: POP
000032f7: POP
000032f8: POP
000032f9: POP
000032fa: JUMP
000032fb: JUMPDEST
000032fc: PUSH1 0x20
000032fe: SWAP2
000032ff: PUSH2 0x3336
00003302: PUSH1 0x40
00003304: MLOAD
00003305: SWAP5
00003306: DUP6
00003307: SWAP4
00003308: DUP5
00003309: SWAP4
0000330a: PUSH32 0x150b7a0200000000000000000000000000000000000000000000000000000000
0000332b: DUP6
0000332c: MSTORE
0000332d: CALLER
0000332e: PUSH1 0x04
00003330: DUP7
00003331: ADD
00003332: PUSH2 0x44d0
00003335: JUMP
00003336: JUMPDEST
00003337: SUB
00003338: DUP2
00003339: PUSH0
0000333a: PUSH1 0x01
0000333c: PUSH1 0x01
0000333e: PUSH1 0xa0
00003340: SHL
00003341: SUB
00003342: DUP8
00003343: AND
00003344: GAS
00003345: CALL
00003346: PUSH0
00003347: SWAP2
00003348: DUP2
00003349: PUSH2 0x3427
0000334c: JUMPI
0000334d: JUMPDEST
0000334e: POP
0000334f: PUSH2 0x33a0
00003352: JUMPI
00003353: POP
00003354: PUSH2 0x335b
00003357: PUSH2 0x3031
0000335a: JUMP
0000335b: JUMPDEST
0000335c: DUP1
0000335d: MLOAD
0000335e: SWAP2
0000335f: SWAP1
00003360: DUP3
00003361: PUSH2 0x3399
00003364: JUMPI
00003365: PUSH32 0x64a0ae9200000000000000000000000000000000000000000000000000000000
00003386: PUSH0
00003387: MSTORE
00003388: PUSH1 0x01
0000338a: PUSH1 0x01
0000338c: PUSH1 0xa0
0000338e: SHL
0000338f: SUB
00003390: DUP3
00003391: AND
00003392: PUSH1 0x04
00003394: MSTORE
00003395: PUSH1 0x24
00003397: PUSH0
00003398: REVERT
00003399: JUMPDEST
0000339a: SWAP1
0000339b: POP
0000339c: PUSH1 0x20
0000339e: ADD
0000339f: REVERT
000033a0: JUMPDEST
000033a1: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
000033c2: PUSH32 0x150b7a0200000000000000000000000000000000000000000000000000000000
000033e3: SWAP2
000033e4: AND
000033e5: SUB
000033e6: PUSH2 0x33f3
000033e9: JUMPI
000033ea: POP
000033eb: PUSH0
000033ec: DUP1
000033ed: DUP1
000033ee: DUP1
000033ef: PUSH2 0x32f5
000033f2: JUMP
000033f3: JUMPDEST
000033f4: PUSH32 0x64a0ae9200000000000000000000000000000000000000000000000000000000
00003415: PUSH0
00003416: MSTORE
00003417: PUSH1 0x01
00003419: PUSH1 0x01
0000341b: PUSH1 0xa0
0000341d: SHL
0000341e: SUB
0000341f: AND
00003420: PUSH1 0x04
00003422: MSTORE
00003423: PUSH1 0x24
00003425: PUSH0
00003426: REVERT
00003427: JUMPDEST
00003428: PUSH2 0x344a
0000342b: SWAP2
0000342c: SWAP3
0000342d: POP
0000342e: PUSH1 0x20
00003430: RETURNDATASIZE
00003431: PUSH1 0x20
00003433: GT
00003434: PUSH2 0x3451
00003437: JUMPI
00003438: JUMPDEST
00003439: PUSH2 0x3442
0000343c: DUP2
0000343d: DUP4
0000343e: PUSH2 0x2388
00003441: JUMP
00003442: JUMPDEST
00003443: DUP2
00003444: ADD
00003445: SWAP1
00003446: PUSH2 0x44bb
00003449: JUMP
0000344a: JUMPDEST
0000344b: SWAP1
0000344c: PUSH0
0000344d: PUSH2 0x334d
00003450: JUMP
00003451: JUMPDEST
00003452: POP
00003453: RETURNDATASIZE
00003454: PUSH2 0x3438
00003457: JUMP
00003458: JUMPDEST
00003459: SWAP2
0000345a: SWAP1
0000345b: DUP3
0000345c: ADD
0000345d: DUP1
0000345e: SWAP3
0000345f: GT
00003460: PUSH2 0x3243
00003463: JUMPI
00003464: JUMP
00003465: JUMPDEST
00003466: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00003487: PUSH0
00003488: MSTORE
00003489: PUSH1 0x12
0000348b: PUSH1 0x04
0000348d: MSTORE
0000348e: PUSH1 0x24
00003490: PUSH0
00003491: REVERT
00003492: JUMPDEST
00003493: DUP2
00003494: ISZERO
00003495: PUSH2 0x349c
00003498: JUMPI
00003499: DIV
0000349a: SWAP1
0000349b: JUMP
0000349c: JUMPDEST
0000349d: PUSH2 0x3465
000034a0: JUMP
000034a1: JUMPDEST
000034a2: DUP2
000034a3: ISZERO
000034a4: PUSH2 0x349c
000034a7: JUMPI
000034a8: MOD
000034a9: SWAP1
000034aa: JUMP
000034ab: JUMPDEST
000034ac: PUSH16 0xffffffffffffffffffffffffffffffff
000034bd: PUSH2 0x34d1
000034c0: PUSH2 0x1470
000034c3: DUP4
000034c4: PUSH0
000034c5: MSTORE
000034c6: PUSH1 0x0c
000034c8: PUSH1 0x20
000034ca: MSTORE
000034cb: PUSH1 0x40
000034cd: PUSH0
000034ce: KECCAK256
000034cf: SWAP1
000034d0: JUMP
000034d1: JUMPDEST
000034d2: AND
000034d3: SWAP1
000034d4: DUP2
000034d5: ISZERO
000034d6: PUSH2 0x35da
000034d9: JUMPI
000034da: PUSH2 0x34fa
000034dd: PUSH2 0x34f3
000034e0: PUSH1 0x02
000034e2: PUSH2 0x14ae
000034e5: DUP5
000034e6: PUSH0
000034e7: MSTORE
000034e8: PUSH1 0x0c
000034ea: PUSH1 0x20
000034ec: MSTORE
000034ed: PUSH1 0x40
000034ef: PUSH0
000034f0: KECCAK256
000034f1: SWAP1
000034f2: JUMP
000034f3: JUMPDEST
000034f4: DUP1
000034f5: SWAP4
000034f6: PUSH2 0x451b
000034f9: JUMP
000034fa: JUMPDEST
000034fb: SWAP2
000034fc: PUSH2 0x351a
000034ff: PUSH1 0x03
00003501: PUSH2 0x3512
00003504: DUP5
00003505: PUSH0
00003506: MSTORE
00003507: PUSH1 0x0c
00003509: PUSH1 0x20
0000350b: MSTORE
0000350c: PUSH1 0x40
0000350e: PUSH0
0000350f: KECCAK256
00003510: SWAP1
00003511: JUMP
00003512: JUMPDEST
00003513: ADD
00003514: SLOAD
00003515: SWAP2
00003516: PUSH2 0x44fe
00003519: JUMP
0000351a: JUMPDEST
0000351b: PUSH2 0x352c
0000351e: PUSH2 0x3526
00003521: DUP5
00003522: PUSH2 0x4227
00003525: JUMP
00003526: JUMPDEST
00003527: DUP4
00003528: PUSH2 0x3458
0000352b: JUMP
0000352c: JUMPDEST
0000352d: PUSH2 0x3536
00003530: DUP3
00003531: DUP7
00003532: PUSH2 0x3458
00003535: JUMP
00003536: JUMPDEST
00003537: GT
00003538: ISZERO
00003539: PUSH2 0x35d2
0000353c: JUMPI
0000353d: PUSH2 0x3576
00003540: SWAP2
00003541: PUSH2 0x3562
00003544: PUSH2 0x32a4
00003547: PUSH2 0x32a4
0000354a: PUSH2 0x355b
0000354d: DUP8
0000354e: PUSH0
0000354f: MSTORE
00003550: PUSH1 0x0c
00003552: PUSH1 0x20
00003554: MSTORE
00003555: PUSH1 0x40
00003557: PUSH0
00003558: KECCAK256
00003559: SWAP1
0000355a: JUMP
0000355b: JUMPDEST
0000355c: SLOAD
0000355d: PUSH1 0x80
0000355f: SHR
00003560: SWAP1
00003561: JUMP
00003562: JUMPDEST
00003563: SWAP5
00003564: SUB
00003565: ADD
00003566: SWAP3
00003567: PUSH2 0x3570
0000356a: DUP2
0000356b: DUP6
0000356c: PUSH2 0x3492
0000356f: JUMP
00003570: JUMPDEST
00003571: SWAP4
00003572: PUSH2 0x34a1
00003575: JUMP
00003576: JUMPDEST
00003577: PUSH2 0x35b1
0000357a: JUMPI
0000357b: PUSH2 0x35a3
0000357e: PUSH1 0x01
00003580: PUSH2 0x3594
00003583: PUSH2 0x35ad
00003586: SWAP4
00003587: PUSH0
00003588: MSTORE
00003589: PUSH1 0x0c
0000358b: PUSH1 0x20
0000358d: MSTORE
0000358e: PUSH1 0x40
00003590: PUSH0
00003591: KECCAK256
00003592: SWAP1
00003593: JUMP
00003594: JUMPDEST
00003595: ADD
00003596: SLOAD
00003597: PUSH1 0xa0
00003599: SHR
0000359a: PUSH5 0xffffffffff
000035a0: AND
000035a1: SWAP1
000035a2: JUMP
000035a3: JUMPDEST
000035a4: PUSH5 0xffffffffff
000035aa: AND
000035ab: SWAP1
000035ac: JUMP
000035ad: JUMPDEST
000035ae: ADD
000035af: SWAP1
000035b0: JUMP
000035b1: JUMPDEST
000035b2: SWAP1
000035b3: PUSH2 0x35cd
000035b6: PUSH2 0x35a3
000035b9: PUSH1 0x01
000035bb: PUSH2 0x3594
000035be: DUP2
000035bf: SWAP6
000035c0: PUSH0
000035c1: MSTORE
000035c2: PUSH1 0x0c
000035c4: PUSH1 0x20
000035c6: MSTORE
000035c7: PUSH1 0x40
000035c9: PUSH0
000035ca: KECCAK256
000035cb: SWAP1
000035cc: JUMP
000035cd: JUMPDEST
000035ce: ADD
000035cf: ADD
000035d0: SWAP1
000035d1: JUMP
000035d2: JUMPDEST
000035d3: POP
000035d4: POP
000035d5: POP
000035d6: POP
000035d7: PUSH0
000035d8: SWAP1
000035d9: JUMP
000035da: JUMPDEST
000035db: PUSH32 0x0f04b2a100000000000000000000000000000000000000000000000000000000
000035fc: PUSH0
000035fd: MSTORE
000035fe: PUSH1 0x04
00003600: MSTORE
00003601: PUSH1 0x24
00003603: PUSH0
00003604: REVERT
00003605: JUMPDEST
00003606: DUP1
00003607: PUSH0
00003608: MSTORE
00003609: PUSH1 0x03
0000360b: PUSH1 0x20
0000360d: MSTORE
0000360e: PUSH1 0x01
00003610: PUSH1 0x01
00003612: PUSH1 0xa0
00003614: SHL
00003615: SUB
00003616: PUSH1 0x40
00003618: PUSH0
00003619: KECCAK256
0000361a: SLOAD
0000361b: AND
0000361c: SWAP1
0000361d: DUP2
0000361e: ISZERO
0000361f: PUSH2 0x3626
00003622: JUMPI
00003623: POP
00003624: SWAP1
00003625: JUMP
00003626: JUMPDEST
00003627: PUSH32 0x7e27328900000000000000000000000000000000000000000000000000000000
00003648: PUSH0
00003649: MSTORE
0000364a: PUSH1 0x04
0000364c: MSTORE
0000364d: PUSH1 0x24
0000364f: PUSH0
00003650: REVERT
00003651: JUMPDEST
00003652: PUSH2 0x365a
00003655: DUP2
00003656: PUSH2 0x4227
00003659: JUMP
0000365a: JUMPDEST
0000365b: DUP2
0000365c: PUSH0
0000365d: MSTORE
0000365e: PUSH1 0x0c
00003660: PUSH1 0x20
00003662: MSTORE
00003663: PUSH1 0x03
00003665: PUSH1 0x40
00003667: PUSH0
00003668: KECCAK256
00003669: ADD
0000366a: SLOAD
0000366b: DUP2
0000366c: ADD
0000366d: DUP1
0000366e: SWAP2
0000366f: GT
00003670: PUSH2 0x3243
00003673: JUMPI
00003674: PUSH2 0x05ad
00003677: SWAP2
00003678: PUSH0
00003679: MSTORE
0000367a: PUSH1 0x0c
0000367c: PUSH1 0x20
0000367e: MSTORE
0000367f: PUSH1 0xff
00003681: PUSH1 0x02
00003683: PUSH1 0x40
00003685: PUSH0
00003686: KECCAK256
00003687: ADD
00003688: SLOAD
00003689: PUSH1 0xa0
0000368b: SHR
0000368c: AND
0000368d: SWAP1
0000368e: PUSH2 0x4998
00003691: JUMP
00003692: JUMPDEST
00003693: PUSH1 0x01
00003695: PUSH1 0x01
00003697: PUSH1 0xa0
00003699: SHL
0000369a: SUB
0000369b: PUSH32 0x0000000000000000000000003df2aaede81d2f6b261f79047517713b8e844e04
000036bc: AND
000036bd: ADDRESS
000036be: SUB
000036bf: PUSH2 0x36c4
000036c2: JUMPI
000036c3: JUMP
000036c4: JUMPDEST
000036c5: PUSH32 0xa1c0d6e500000000000000000000000000000000000000000000000000000000
000036e6: PUSH0
000036e7: MSTORE
000036e8: PUSH1 0x04
000036ea: PUSH0
000036eb: REVERT
000036ec: JUMPDEST
000036ed: SWAP1
000036ee: PUSH16 0xffffffffffffffffffffffffffffffff
000036ff: DUP1
00003700: SWAP2
00003701: AND
00003702: SWAP2
00003703: AND
00003704: SUB
00003705: SWAP1
00003706: PUSH16 0xffffffffffffffffffffffffffffffff
00003717: DUP3
00003718: GT
00003719: PUSH2 0x3243
0000371c: JUMPI
0000371d: JUMP
0000371e: JUMPDEST
0000371f: PUSH2 0x05ad
00003722: SWAP1
00003723: DUP1
00003724: PUSH0
00003725: MSTORE
00003726: PUSH1 0x0c
00003728: PUSH1 0x20
0000372a: MSTORE
0000372b: PUSH2 0x374a
0000372e: PUSH16 0xffffffffffffffffffffffffffffffff
0000373f: PUSH1 0x40
00003741: PUSH0
00003742: KECCAK256
00003743: SLOAD
00003744: AND
00003745: SWAP2
00003746: PUSH2 0x3c7a
00003749: JUMP
0000374a: JUMPDEST
0000374b: SWAP1
0000374c: PUSH2 0x36ec
0000374f: JUMP
00003750: JUMPDEST
00003751: PUSH16 0xffffffffffffffffffffffffffffffff
00003762: DUP3
00003763: AND
00003764: DUP1
00003765: ISZERO
00003766: PUSH2 0x395d
00003769: JUMPI
0000376a: PUSH2 0x3772
0000376d: DUP3
0000376e: PUSH2 0x371e
00003771: JUMP
00003772: JUMPDEST
00003773: PUSH16 0xffffffffffffffffffffffffffffffff
00003784: DUP2
00003785: AND
00003786: SWAP1
00003787: DUP2
00003788: DUP4
00003789: GT
0000378a: PUSH2 0x3915
0000378d: JUMPI
0000378e: POP
0000378f: PUSH2 0x37a6
00003792: PUSH2 0x32a4
00003795: PUSH2 0x1470
00003798: DUP6
00003799: PUSH0
0000379a: MSTORE
0000379b: PUSH1 0x0c
0000379d: PUSH1 0x20
0000379f: MSTORE
000037a0: PUSH1 0x40
000037a2: PUSH0
000037a3: KECCAK256
000037a4: SWAP1
000037a5: JUMP
000037a6: JUMPDEST
000037a7: LT
000037a8: PUSH2 0x38b2
000037ab: JUMPI
000037ac: PUSH1 0x01
000037ae: PUSH1 0x01
000037b0: PUSH1 0xa0
000037b2: SHL
000037b3: SUB
000037b4: PUSH32 0xe31f2d40d5780915b1e656a67e11bdf09b0a4a925ec42bbeae220c8ca937ab49
000037d5: SWAP2
000037d6: PUSH2 0x388c
000037d9: PUSH2 0x37ef
000037dc: PUSH1 0x01
000037de: PUSH2 0x11f1
000037e1: DUP8
000037e2: PUSH0
000037e3: MSTORE
000037e4: PUSH1 0x0c
000037e6: PUSH1 0x20
000037e8: MSTORE
000037e9: PUSH1 0x40
000037eb: PUSH0
000037ec: KECCAK256
000037ed: SWAP1
000037ee: JUMP
000037ef: JUMPDEST
000037f0: SWAP2
000037f1: DUP3
000037f2: PUSH2 0x3808
000037f5: PUSH1 0x02
000037f7: PUSH2 0x11f1
000037fa: DUP10
000037fb: PUSH0
000037fc: MSTORE
000037fd: PUSH1 0x0c
000037ff: PUSH1 0x20
00003801: MSTORE
00003802: PUSH1 0x40
00003804: PUSH0
00003805: KECCAK256
00003806: SWAP1
00003807: JUMP
00003808: JUMPDEST
00003809: PUSH2 0x2ec9
0000380c: PUSH2 0x381d
0000380f: DUP10
00003810: PUSH0
00003811: MSTORE
00003812: PUSH1 0x0c
00003814: PUSH1 0x20
00003816: MSTORE
00003817: PUSH1 0x40
00003819: PUSH0
0000381a: KECCAK256
0000381b: SWAP1
0000381c: JUMP
0000381d: JUMPDEST
0000381e: PUSH2 0x3851
00003821: DUP12
00003822: PUSH2 0x383b
00003825: DUP4
00003826: SLOAD
00003827: PUSH16 0xffffffffffffffffffffffffffffffff
00003838: AND
00003839: SWAP1
0000383a: JUMP
0000383b: JUMPDEST
0000383c: SUB
0000383d: PUSH16 0xffffffffffffffffffffffffffffffff
0000384e: AND
0000384f: SWAP1
00003850: JUMP
00003851: JUMPDEST
00003852: PUSH16 0xffffffffffffffffffffffffffffffff
00003863: AND
00003864: PUSH32 0xffffffffffffffffffffffffffffffff00000000000000000000000000000000
00003885: DUP3
00003886: SLOAD
00003887: AND
00003888: OR
00003889: SWAP1
0000388a: SSTORE
0000388b: JUMP
0000388c: JUMPDEST
0000388d: PUSH1 0x40
0000388f: MLOAD
00003890: PUSH16 0xffffffffffffffffffffffffffffffff
000038a1: SWAP1
000038a2: SWAP6
000038a3: AND
000038a4: DUP6
000038a5: MSTORE
000038a6: AND
000038a7: SWAP3
000038a8: DUP1
000038a9: PUSH1 0x20
000038ab: DUP2
000038ac: ADD
000038ad: JUMPDEST
000038ae: SUB
000038af: SWAP1
000038b0: LOG3
000038b1: JUMP
000038b2: JUMPDEST
000038b3: PUSH2 0x086e
000038b6: DUP4
000038b7: DUP4
000038b8: PUSH2 0x38cc
000038bb: PUSH2 0x1470
000038be: DUP3
000038bf: PUSH0
000038c0: MSTORE
000038c1: PUSH1 0x0c
000038c3: PUSH1 0x20
000038c5: MSTORE
000038c6: PUSH1 0x40
000038c8: PUSH0
000038c9: KECCAK256
000038ca: SWAP1
000038cb: JUMP
000038cc: JUMPDEST
000038cd: SWAP1
000038ce: PUSH32 0xcb5f605f00000000000000000000000000000000000000000000000000000000
000038ef: PUSH0
000038f0: MSTORE
000038f1: SWAP3
000038f2: SWAP2
000038f3: PUSH16 0xffffffffffffffffffffffffffffffff
00003904: DUP1
00003905: SWAP3
00003906: PUSH1 0x64
00003908: SWAP6
00003909: PUSH1 0x04
0000390b: MSTORE
0000390c: AND
0000390d: PUSH1 0x24
0000390f: MSTORE
00003910: AND
00003911: PUSH1 0x44
00003913: MSTORE
00003914: JUMP
00003915: JUMPDEST
00003916: PUSH32 0xe977140100000000000000000000000000000000000000000000000000000000
00003937: PUSH0
00003938: MSTORE
00003939: PUSH1 0x04
0000393b: DUP5
0000393c: SWAP1
0000393d: MSTORE
0000393e: PUSH16 0xffffffffffffffffffffffffffffffff
0000394f: DUP1
00003950: DUP7
00003951: AND
00003952: PUSH1 0x24
00003954: MSTORE
00003955: AND
00003956: PUSH1 0x44
00003958: MSTORE
00003959: PUSH1 0x64
0000395b: PUSH0
0000395c: REVERT
0000395d: JUMPDEST
0000395e: PUSH32 0xea66b87100000000000000000000000000000000000000000000000000000000
0000397f: PUSH0
00003980: MSTORE
00003981: PUSH1 0x04
00003983: DUP3
00003984: SWAP1
00003985: MSTORE
00003986: PUSH1 0x24
00003988: PUSH0
00003989: REVERT
0000398a: JUMPDEST
0000398b: PUSH0
0000398c: DUP2
0000398d: DUP2
0000398e: MSTORE
0000398f: PUSH1 0x0c
00003991: PUSH1 0x20
00003993: MSTORE
00003994: PUSH1 0x40
00003996: SWAP1
00003997: KECCAK256
00003998: SLOAD
00003999: PUSH2 0x39a4
0000399c: SWAP1
0000399d: PUSH1 0x80
0000399f: SHR
000039a0: PUSH2 0x32a4
000039a3: JUMP
000039a4: JUMPDEST
000039a5: ISZERO
000039a6: PUSH2 0x3a72
000039a9: JUMPI
000039aa: PUSH2 0x39b2
000039ad: DUP2
000039ae: PUSH2 0x4227
000039b1: JUMP
000039b2: JUMPDEST
000039b3: DUP1
000039b4: PUSH2 0x3a53
000039b7: JUMPI
000039b8: JUMPDEST
000039b9: POP
000039ba: PUSH2 0x39d8
000039bd: PUSH5 0xffffffffff
000039c3: TIMESTAMP
000039c4: AND
000039c5: PUSH1 0x01
000039c7: PUSH2 0x127b
000039ca: DUP5
000039cb: PUSH0
000039cc: MSTORE
000039cd: PUSH1 0x0c
000039cf: PUSH1 0x20
000039d1: MSTORE
000039d2: PUSH1 0x40
000039d4: PUSH0
000039d5: KECCAK256
000039d6: SWAP1
000039d7: JUMP
000039d8: JUMPDEST
000039d9: PUSH2 0x39ee
000039dc: PUSH0
000039dd: PUSH2 0x12dc
000039e0: DUP4
000039e1: PUSH0
000039e2: MSTORE
000039e3: PUSH1 0x0c
000039e5: PUSH1 0x20
000039e7: MSTORE
000039e8: PUSH1 0x40
000039ea: PUSH0
000039eb: KECCAK256
000039ec: SWAP1
000039ed: JUMP
000039ee: JUMPDEST
000039ef: DUP1
000039f0: PUSH0
000039f1: MSTORE
000039f2: PUSH1 0x0c
000039f4: PUSH1 0x20
000039f6: MSTORE
000039f7: PUSH1 0x01
000039f9: PUSH1 0x01
000039fb: PUSH1 0xa0
000039fd: SHL
000039fe: SUB
000039ff: PUSH1 0x01
00003a01: PUSH1 0x40
00003a03: PUSH0
00003a04: KECCAK256
00003a05: ADD
00003a06: SLOAD
00003a07: AND
00003a08: DUP2
00003a09: PUSH0
00003a0a: MSTORE
00003a0b: PUSH1 0x03
00003a0d: PUSH1 0x20
00003a0f: MSTORE
00003a10: PUSH1 0x01
00003a12: PUSH1 0x01
00003a14: PUSH1 0xa0
00003a16: SHL
00003a17: SUB
00003a18: PUSH1 0x40
00003a1a: PUSH0
00003a1b: KECCAK256
00003a1c: SLOAD
00003a1d: AND
00003a1e: SWAP2
00003a1f: PUSH32 0xda83bf669c651406e02062769e01d14cccb5625ea685fd95e0e56d29597dac47
00003a40: PUSH1 0x20
00003a42: PUSH2 0x3a4a
00003a45: DUP4
00003a46: PUSH2 0x3651
00003a49: JUMP
00003a4a: JUMPDEST
00003a4b: PUSH1 0x40
00003a4d: MLOAD
00003a4e: SWAP1
00003a4f: DUP2
00003a50: MSTORE
00003a51: LOG4
00003a52: JUMP
00003a53: JUMPDEST
00003a54: PUSH2 0x3a6a
00003a57: PUSH1 0x03
00003a59: PUSH2 0x1447
00003a5c: DUP5
00003a5d: PUSH0
00003a5e: MSTORE
00003a5f: PUSH1 0x0c
00003a61: PUSH1 0x20
00003a63: MSTORE
00003a64: PUSH1 0x40
00003a66: PUSH0
00003a67: KECCAK256
00003a68: SWAP1
00003a69: JUMP
00003a6a: JUMPDEST
00003a6b: SWAP1
00003a6c: SSTORE
00003a6d: PUSH0
00003a6e: PUSH2 0x39b8
00003a71: JUMP
00003a72: JUMPDEST
00003a73: PUSH32 0xd2657d5a00000000000000000000000000000000000000000000000000000000
00003a94: PUSH0
00003a95: SWAP1
00003a96: DUP2
00003a97: MSTORE
00003a98: PUSH1 0x04
00003a9a: SWAP2
00003a9b: SWAP1
00003a9c: SWAP2
00003a9d: MSTORE
00003a9e: PUSH1 0x24
00003aa0: MSTORE
00003aa1: PUSH1 0x44
00003aa3: PUSH0
00003aa4: REVERT
00003aa5: JUMPDEST
00003aa6: DUP1
00003aa7: PUSH0
00003aa8: MSTORE
00003aa9: PUSH1 0x0c
00003aab: PUSH1 0x20
00003aad: MSTORE
00003aae: PUSH1 0x40
00003ab0: PUSH0
00003ab1: KECCAK256
00003ab2: SLOAD
00003ab3: PUSH1 0x80
00003ab5: SHR
00003ab6: PUSH2 0x3b07
00003ab9: JUMPI
00003aba: PUSH2 0x3ac3
00003abd: DUP3
00003abe: DUP3
00003abf: PUSH2 0x4275
00003ac2: JUMP
00003ac3: JUMPDEST
00003ac4: PUSH1 0x40
00003ac6: MLOAD
00003ac7: PUSH16 0xffffffffffffffffffffffffffffffff
00003ad8: SWAP3
00003ad9: SWAP1
00003ada: SWAP3
00003adb: AND
00003adc: DUP3
00003add: MSTORE
00003ade: CALLER
00003adf: SWAP2
00003ae0: PUSH32 0xc2a543cfadbf862642247e28711aaa30e3460384be5712be6557fee3384454fd
00003b01: SWAP1
00003b02: PUSH1 0x20
00003b04: SWAP1
00003b05: LOG3
00003b06: JUMP
00003b07: JUMPDEST
00003b08: PUSH32 0xdc6fbbbc00000000000000000000000000000000000000000000000000000000
00003b29: PUSH0
00003b2a: MSTORE
00003b2b: PUSH1 0x04
00003b2d: MSTORE
00003b2e: PUSH1 0x24
00003b30: PUSH0
00003b31: REVERT
00003b32: JUMPDEST
00003b33: PUSH16 0xffffffffffffffffffffffffffffffff
00003b44: DUP3
00003b45: AND
00003b46: DUP1
00003b47: ISZERO
00003b48: PUSH2 0x3c4e
00003b4b: JUMPI
00003b4c: PUSH0
00003b4d: DUP3
00003b4e: DUP2
00003b4f: MSTORE
00003b50: PUSH1 0x0c
00003b52: PUSH1 0x20
00003b54: MSTORE
00003b55: PUSH1 0x40
00003b57: SWAP1
00003b58: KECCAK256
00003b59: PUSH1 0x02
00003b5b: DUP2
00003b5c: ADD
00003b5d: SLOAD
00003b5e: PUSH1 0x01
00003b60: PUSH1 0x01
00003b62: PUSH1 0xa0
00003b64: SHL
00003b65: SUB
00003b66: AND
00003b67: SWAP2
00003b68: SWAP1
00003b69: SWAP2
00003b6a: DUP2
00003b6b: PUSH16 0xffffffffffffffffffffffffffffffff
00003b7c: DUP1
00003b7d: DUP6
00003b7e: SLOAD
00003b7f: AND
00003b80: AND
00003b81: ADD
00003b82: SWAP3
00003b83: PUSH16 0xffffffffffffffffffffffffffffffff
00003b94: DUP5
00003b95: GT
00003b96: PUSH2 0x3243
00003b99: JUMPI
00003b9a: PUSH2 0x3c07
00003b9d: SWAP4
00003b9e: PUSH2 0x3bdd
00003ba1: SWAP2
00003ba2: SWAP1
00003ba3: PUSH16 0xffffffffffffffffffffffffffffffff
00003bb4: AND
00003bb5: PUSH32 0xffffffffffffffffffffffffffffffff00000000000000000000000000000000
00003bd6: DUP3
00003bd7: SLOAD
00003bd8: AND
00003bd9: OR
00003bda: SWAP1
00003bdb: SSTORE
00003bdc: JUMP
00003bdd: JUMPDEST
00003bde: PUSH2 0x3bf8
00003be1: DUP2
00003be2: PUSH1 0x01
00003be4: PUSH1 0x01
00003be6: PUSH1 0xa0
00003be8: SHL
00003be9: SUB
00003bea: AND
00003beb: PUSH0
00003bec: MSTORE
00003bed: PUSH1 0x07
00003bef: PUSH1 0x20
00003bf1: MSTORE
00003bf2: PUSH1 0x40
00003bf4: PUSH0
00003bf5: KECCAK256
00003bf6: SWAP1
00003bf7: JUMP
00003bf8: JUMPDEST
00003bf9: DUP3
00003bfa: DUP2
00003bfb: SLOAD
00003bfc: ADD
00003bfd: SWAP1
00003bfe: SSTORE
00003bff: ADDRESS
00003c00: SWAP1
00003c01: CALLER
00003c02: SWAP1
00003c03: PUSH2 0x49f2
00003c06: JUMP
00003c07: JUMPDEST
00003c08: PUSH1 0x40
00003c0a: MLOAD
00003c0b: PUSH16 0xffffffffffffffffffffffffffffffff
00003c1c: SWAP1
00003c1d: SWAP3
00003c1e: AND
00003c1f: DUP3
00003c20: MSTORE
00003c21: CALLER
00003c22: SWAP2
00003c23: PUSH32 0xa06c1466b3c9751408a5ac337a2e8808e5ee0ceed1fd70635d041b21174eb6b4
00003c44: SWAP1
00003c45: DUP1
00003c46: PUSH1 0x20
00003c48: DUP2
00003c49: ADD
00003c4a: PUSH2 0x38ad
00003c4d: JUMP
00003c4e: JUMPDEST
00003c4f: POP
00003c50: PUSH32 0x33f2df5a00000000000000000000000000000000000000000000000000000000
00003c71: PUSH0
00003c72: MSTORE
00003c73: PUSH1 0x04
00003c75: MSTORE
00003c76: PUSH1 0x24
00003c78: PUSH0
00003c79: REVERT
00003c7a: JUMPDEST
00003c7b: DUP1
00003c7c: PUSH0
00003c7d: MSTORE
00003c7e: PUSH1 0x0c
00003c80: PUSH1 0x20
00003c82: MSTORE
00003c83: PUSH16 0xffffffffffffffffffffffffffffffff
00003c94: PUSH1 0x40
00003c96: PUSH0
00003c97: KECCAK256
00003c98: SLOAD
00003c99: AND
00003c9a: SWAP1
00003c9b: DUP2
00003c9c: ISZERO
00003c9d: PUSH2 0x3cbe
00003ca0: JUMPI
00003ca1: PUSH2 0x3ca9
00003ca4: SWAP1
00003ca5: PUSH2 0x3651
00003ca8: JUMP
00003ca9: JUMPDEST
00003caa: DUP1
00003cab: DUP3
00003cac: LT
00003cad: PUSH2 0x3cba
00003cb0: JUMPI
00003cb1: PUSH2 0x05ad
00003cb4: SWAP2
00003cb5: POP
00003cb6: PUSH2 0x4c4b
00003cb9: JUMP
00003cba: JUMPDEST
00003cbb: POP
00003cbc: SWAP1
00003cbd: JUMP
00003cbe: JUMPDEST
00003cbf: POP
00003cc0: POP
00003cc1: PUSH0
00003cc2: SWAP1
00003cc3: JUMP
00003cc4: JUMPDEST
00003cc5: SWAP1
00003cc6: DUP2
00003cc7: PUSH1 0x20
00003cc9: SWAP2
00003cca: SUB
00003ccb: SLT
00003ccc: PUSH2 0x042e
00003ccf: JUMPI
00003cd0: MLOAD
00003cd1: PUSH1 0xff
00003cd3: DUP2
00003cd4: AND
00003cd5: DUP2
00003cd6: SUB
00003cd7: PUSH2 0x042e
00003cda: JUMPI
00003cdb: SWAP1
00003cdc: JUMP
00003cdd: JUMPDEST
00003cde: SWAP1
00003cdf: PUSH2 0x0120
00003ce2: PUSH1 0x03
00003ce4: SWAP2
00003ce5: PUSH2 0x3d3e
00003ce8: PUSH2 0x3d01
00003ceb: DUP3
00003cec: MLOAD
00003ced: PUSH16 0xffffffffffffffffffffffffffffffff
00003cfe: AND
00003cff: SWAP1
00003d00: JUMP
00003d01: JUMPDEST
00003d02: DUP6
00003d03: SWAP1
00003d04: PUSH16 0xffffffffffffffffffffffffffffffff
00003d15: AND
00003d16: PUSH32 0xffffffffffffffffffffffffffffffff00000000000000000000000000000000
00003d37: DUP3
00003d38: SLOAD
00003d39: AND
00003d3a: OR
00003d3b: SWAP1
00003d3c: SSTORE
00003d3d: JUMP
00003d3e: JUMPDEST
00003d3f: PUSH2 0x3d9f
00003d42: PUSH2 0x3d5e
00003d45: PUSH1 0x20
00003d47: DUP4
00003d48: ADD
00003d49: MLOAD
00003d4a: PUSH16 0xffffffffffffffffffffffffffffffff
00003d5b: AND
00003d5c: SWAP1
00003d5d: JUMP
00003d5e: JUMPDEST
00003d5f: DUP6
00003d60: SLOAD
00003d61: PUSH16 0xffffffffffffffffffffffffffffffff
00003d72: AND
00003d73: PUSH1 0x80
00003d75: SWAP2
00003d76: SWAP1
00003d77: SWAP2
00003d78: SHL
00003d79: PUSH32 0xffffffffffffffffffffffffffffffff00000000000000000000000000000000
00003d9a: AND
00003d9b: OR
00003d9c: DUP6
00003d9d: SSTORE
00003d9e: JUMP
00003d9f: JUMPDEST
00003da0: PUSH2 0x3f5b
00003da3: PUSH1 0x01
00003da5: DUP6
00003da6: ADD
00003da7: PUSH2 0x3df1
00003daa: PUSH2 0x3dbd
00003dad: PUSH1 0x40
00003daf: DUP6
00003db0: ADD
00003db1: MLOAD
00003db2: PUSH1 0x01
00003db4: PUSH1 0x01
00003db6: PUSH1 0xa0
00003db8: SHL
00003db9: SUB
00003dba: AND
00003dbb: SWAP1
00003dbc: JUMP
00003dbd: JUMPDEST
00003dbe: DUP3
00003dbf: SWAP1
00003dc0: PUSH1 0x01
00003dc2: PUSH1 0x01
00003dc4: PUSH1 0xa0
00003dc6: SHL
00003dc7: SUB
00003dc8: AND
00003dc9: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00003dea: DUP3
00003deb: SLOAD
00003dec: AND
00003ded: OR
00003dee: SWAP1
00003def: SSTORE
00003df0: JUMP
00003df1: JUMPDEST
00003df2: PUSH2 0x3e50
00003df5: PUSH2 0x3e06
00003df8: PUSH1 0x60
00003dfa: DUP6
00003dfb: ADD
00003dfc: MLOAD
00003dfd: PUSH5 0xffffffffff
00003e03: AND
00003e04: SWAP1
00003e05: JUMP
00003e06: JUMPDEST
00003e07: DUP3
00003e08: SLOAD
00003e09: PUSH32 0xffffffffffffff0000000000ffffffffffffffffffffffffffffffffffffffff
00003e2a: AND
00003e2b: PUSH1 0xa0
00003e2d: SWAP2
00003e2e: SWAP1
00003e2f: SWAP2
00003e30: SHL
00003e31: PUSH25 0xffffffffff0000000000000000000000000000000000000000
00003e4b: AND
00003e4c: OR
00003e4d: DUP3
00003e4e: SSTORE
00003e4f: JUMP
00003e50: JUMPDEST
00003e51: PUSH2 0x3eab
00003e54: PUSH2 0x3e60
00003e57: PUSH1 0x80
00003e59: DUP6
00003e5a: ADD
00003e5b: MLOAD
00003e5c: ISZERO
00003e5d: ISZERO
00003e5e: SWAP1
00003e5f: JUMP
00003e60: JUMPDEST
00003e61: DUP3
00003e62: SLOAD
00003e63: PUSH32 0xffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffff
00003e84: AND
00003e85: SWAP1
00003e86: ISZERO
00003e87: ISZERO
00003e88: PUSH1 0xc8
00003e8a: SHL
00003e8b: PUSH26 0xff00000000000000000000000000000000000000000000000000
00003ea6: AND
00003ea7: OR
00003ea8: DUP3
00003ea9: SSTORE
00003eaa: JUMP
00003eab: JUMPDEST
00003eac: PUSH2 0x3f07
00003eaf: PUSH2 0x3ebb
00003eb2: PUSH1 0xa0
00003eb4: DUP6
00003eb5: ADD
00003eb6: MLOAD
00003eb7: ISZERO
00003eb8: ISZERO
00003eb9: SWAP1
00003eba: JUMP
00003ebb: JUMPDEST
00003ebc: DUP3
00003ebd: SLOAD
00003ebe: PUSH32 0xffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffff
00003edf: AND
00003ee0: SWAP1
00003ee1: ISZERO
00003ee2: ISZERO
00003ee3: PUSH1 0xd0
00003ee5: SHL
00003ee6: PUSH27 0xff0000000000000000000000000000000000000000000000000000
00003f02: AND
00003f03: OR
00003f04: DUP3
00003f05: SSTORE
00003f06: JUMP
00003f07: JUMPDEST
00003f08: PUSH1 0xc0
00003f0a: DUP4
00003f0b: ADD
00003f0c: MLOAD
00003f0d: ISZERO
00003f0e: ISZERO
00003f0f: DUP2
00003f10: SLOAD
00003f11: PUSH32 0xffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffff
00003f32: AND
00003f33: SWAP1
00003f34: ISZERO
00003f35: ISZERO
00003f36: PUSH1 0xd8
00003f38: SHL
00003f39: PUSH28 0xff000000000000000000000000000000000000000000000000000000
00003f56: AND
00003f57: OR
00003f58: SWAP1
00003f59: SSTORE
00003f5a: JUMP
00003f5b: JUMPDEST
00003f5c: PUSH2 0x3fc5
00003f5f: PUSH1 0x02
00003f61: DUP6
00003f62: ADD
00003f63: PUSH2 0x3f79
00003f66: PUSH2 0x3dbd
00003f69: PUSH1 0xe0
00003f6b: DUP6
00003f6c: ADD
00003f6d: MLOAD
00003f6e: PUSH1 0x01
00003f70: PUSH1 0x01
00003f72: PUSH1 0xa0
00003f74: SHL
00003f75: SUB
00003f76: AND
00003f77: SWAP1
00003f78: JUMP
00003f79: JUMPDEST
00003f7a: PUSH2 0x0100
00003f7d: DUP4
00003f7e: ADD
00003f7f: MLOAD
00003f80: DUP2
00003f81: SLOAD
00003f82: PUSH32 0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff
00003fa3: AND
00003fa4: PUSH1 0xa0
00003fa6: SWAP2
00003fa7: SWAP1
00003fa8: SWAP2
00003fa9: SHL
00003faa: PUSH21 0xff0000000000000000000000000000000000000000
00003fc0: AND
00003fc1: OR
00003fc2: SWAP1
00003fc3: SSTORE
00003fc4: JUMP
00003fc5: JUMPDEST
00003fc6: ADD
00003fc7: MLOAD
00003fc8: SWAP2
00003fc9: ADD
00003fca: SSTORE
00003fcb: JUMP
00003fcc: JUMPDEST
00003fcd: SWAP3
00003fce: SWAP5
00003fcf: SWAP4
00003fd0: SWAP2
00003fd1: PUSH1 0x01
00003fd3: PUSH1 0x01
00003fd5: PUSH1 0xa0
00003fd7: SHL
00003fd8: SUB
00003fd9: DUP5
00003fda: AND
00003fdb: SWAP2
00003fdc: DUP3
00003fdd: ISZERO
00003fde: PUSH2 0x41a5
00003fe1: JUMPI
00003fe2: PUSH1 0x01
00003fe4: PUSH1 0x01
00003fe6: PUSH1 0xa0
00003fe8: SHL
00003fe9: SUB
00003fea: DUP8
00003feb: AND
00003fec: SWAP5
00003fed: PUSH1 0x40
00003fef: MLOAD
00003ff0: PUSH32 0x313ce56700000000000000000000000000000000000000000000000000000000
00004011: DUP2
00004012: MSTORE
00004013: PUSH1 0x20
00004015: DUP2
00004016: PUSH1 0x04
00004018: DUP2
00004019: DUP11
0000401a: GAS
0000401b: STATICCALL
0000401c: SWAP1
0000401d: DUP2
0000401e: ISZERO
0000401f: PUSH2 0x16f5
00004022: JUMPI
00004023: PUSH0
00004024: SWAP2
00004025: PUSH2 0x4176
00004028: JUMPI
00004029: JUMPDEST
0000402a: POP
0000402b: PUSH1 0x12
0000402d: PUSH1 0xff
0000402f: DUP3
00004030: AND
00004031: GT
00004032: PUSH2 0x4141
00004035: JUMPI
00004036: PUSH1 0x08
00004038: SLOAD
00004039: SWAP9
0000403a: PUSH2 0x4041
0000403d: PUSH2 0x23c9
00004040: JUMP
00004041: JUMPDEST
00004042: PUSH0
00004043: DUP2
00004044: MSTORE
00004045: PUSH16 0xffffffffffffffffffffffffffffffff
00004056: DUP7
00004057: AND
00004058: PUSH1 0x20
0000405a: DUP3
0000405b: ADD
0000405c: MSTORE
0000405d: SWAP3
0000405e: PUSH1 0x01
00004060: PUSH1 0x01
00004062: PUSH1 0xa0
00004064: SHL
00004065: SUB
00004066: AND
00004067: PUSH1 0x40
00004069: DUP5
0000406a: ADD
0000406b: MSTORE
0000406c: PUSH5 0xffffffffff
00004072: TIMESTAMP
00004073: AND
00004074: PUSH1 0x60
00004076: DUP5
00004077: ADD
00004078: MSTORE
00004079: PUSH1 0x01
0000407b: PUSH1 0x80
0000407d: DUP5
0000407e: ADD
0000407f: MSTORE
00004080: DUP7
00004081: ISZERO
00004082: ISZERO
00004083: PUSH1 0xa0
00004085: DUP5
00004086: ADD
00004087: MSTORE
00004088: PUSH0
00004089: PUSH1 0xc0
0000408b: DUP5
0000408c: ADD
0000408d: MSTORE
0000408e: PUSH1 0x01
00004090: PUSH1 0x01
00004092: PUSH1 0xa0
00004094: SHL
00004095: SUB
00004096: AND
00004097: PUSH1 0xe0
00004099: DUP4
0000409a: ADD
0000409b: MSTORE
0000409c: PUSH1 0xff
0000409e: AND
0000409f: PUSH2 0x0100
000040a2: DUP3
000040a3: ADD
000040a4: MSTORE
000040a5: PUSH2 0x0120
000040a8: DUP2
000040a9: ADD
000040aa: PUSH0
000040ab: SWAP1
000040ac: MSTORE
000040ad: PUSH2 0x40be
000040b0: DUP9
000040b1: PUSH0
000040b2: MSTORE
000040b3: PUSH1 0x0c
000040b5: PUSH1 0x20
000040b7: MSTORE
000040b8: PUSH1 0x40
000040ba: PUSH0
000040bb: KECCAK256
000040bc: SWAP1
000040bd: JUMP
000040be: JUMPDEST
000040bf: SWAP1
000040c0: PUSH2 0x40c8
000040c3: SWAP2
000040c4: PUSH2 0x3cdd
000040c7: JUMP
000040c8: JUMPDEST
000040c9: PUSH1 0x01
000040cb: DUP8
000040cc: ADD
000040cd: PUSH1 0x08
000040cf: SSTORE
000040d0: PUSH2 0x40d9
000040d3: DUP8
000040d4: DUP3
000040d5: PUSH2 0x4ca7
000040d8: JUMP
000040d9: JUMPDEST
000040da: PUSH1 0x40
000040dc: MLOAD
000040dd: SWAP2
000040de: PUSH1 0x01
000040e0: PUSH1 0x01
000040e2: PUSH1 0xa0
000040e4: SHL
000040e5: SUB
000040e6: DUP4
000040e7: SWAP3
000040e8: AND
000040e9: SWAP5
000040ea: PUSH2 0x411b
000040ed: SWAP2
000040ee: DUP10
000040ef: DUP5
000040f0: SWAP2
000040f1: SWAP3
000040f2: PUSH16 0xffffffffffffffffffffffffffffffff
00004103: PUSH1 0x40
00004105: SWAP3
00004106: SWAP6
00004107: SWAP5
00004108: PUSH1 0x60
0000410a: DUP6
0000410b: ADD
0000410c: SWAP7
0000410d: DUP6
0000410e: MSTORE
0000410f: AND
00004110: PUSH1 0x20
00004112: DUP5
00004113: ADD
00004114: MSTORE
00004115: ISZERO
00004116: ISZERO
00004117: SWAP2
00004118: ADD
00004119: MSTORE
0000411a: JUMP
0000411b: JUMPDEST
0000411c: SUB
0000411d: PUSH32 0x2262fa211f8507786a60fefb231f7898b8145fe16350f281c91f121bd2ee118d
0000413e: SWAP2
0000413f: LOG4
00004140: JUMP
00004141: JUMPDEST
00004142: PUSH32 0xc9f5539200000000000000000000000000000000000000000000000000000000
00004163: PUSH0
00004164: MSTORE
00004165: PUSH1 0x01
00004167: PUSH1 0x01
00004169: PUSH1 0xa0
0000416b: SHL
0000416c: SUB
0000416d: DUP8
0000416e: AND
0000416f: PUSH1 0x04
00004171: MSTORE
00004172: PUSH1 0x24
00004174: PUSH0
00004175: REVERT
00004176: JUMPDEST
00004177: PUSH2 0x4198
0000417a: SWAP2
0000417b: POP
0000417c: PUSH1 0x20
0000417e: RETURNDATASIZE
0000417f: PUSH1 0x20
00004181: GT
00004182: PUSH2 0x419e
00004185: JUMPI
00004186: JUMPDEST
00004187: PUSH2 0x4190
0000418a: DUP2
0000418b: DUP4
0000418c: PUSH2 0x2388
0000418f: JUMP
00004190: JUMPDEST
00004191: DUP2
00004192: ADD
00004193: SWAP1
00004194: PUSH2 0x3cc4
00004197: JUMP
00004198: JUMPDEST
00004199: PUSH0
0000419a: PUSH2 0x4029
0000419d: JUMP
0000419e: JUMPDEST
0000419f: POP
000041a0: RETURNDATASIZE
000041a1: PUSH2 0x4186
000041a4: JUMP
000041a5: JUMPDEST
000041a6: PUSH32 0xf9bb0fb300000000000000000000000000000000000000000000000000000000
000041c7: PUSH0
000041c8: MSTORE
000041c9: PUSH1 0x04
000041cb: PUSH0
000041cc: REVERT
000041cd: JUMPDEST
000041ce: PUSH1 0x40
000041d0: MLOAD
000041d1: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
000041f2: PUSH1 0x20
000041f4: DUP3
000041f5: ADD
000041f6: MSTORE
000041f7: PUSH1 0x01
000041f9: PUSH1 0x01
000041fb: PUSH1 0xa0
000041fd: SHL
000041fe: SUB
000041ff: SWAP3
00004200: SWAP1
00004201: SWAP3
00004202: AND
00004203: PUSH1 0x24
00004205: DUP4
00004206: ADD
00004207: MSTORE
00004208: PUSH1 0x44
0000420a: DUP1
0000420b: DUP4
0000420c: ADD
0000420d: SWAP4
0000420e: SWAP1
0000420f: SWAP4
00004210: MSTORE
00004211: SWAP2
00004212: DUP2
00004213: MSTORE
00004214: PUSH2 0x23d9
00004217: SWAP2
00004218: PUSH2 0x4222
0000421b: PUSH1 0x64
0000421d: DUP4
0000421e: PUSH2 0x2388
00004221: JUMP
00004222: JUMPDEST
00004223: PUSH2 0x4ded
00004226: JUMP
00004227: JUMPDEST
00004228: PUSH0
00004229: SWAP1
0000422a: DUP2
0000422b: MSTORE
0000422c: PUSH1 0x0c
0000422e: PUSH1 0x20
00004230: MSTORE
00004231: PUSH1 0x40
00004233: SWAP1
00004234: KECCAK256
00004235: PUSH1 0x01
00004237: DUP2
00004238: ADD
00004239: SLOAD
0000423a: SWAP1
0000423b: SLOAD
0000423c: PUSH1 0x80
0000423e: SHR
0000423f: SWAP1
00004240: PUSH1 0xa0
00004242: SHR
00004243: PUSH5 0xffffffffff
00004249: AND
0000424a: DUP2
0000424b: ISZERO
0000424c: DUP1
0000424d: ISZERO
0000424e: PUSH2 0x426b
00004251: JUMPI
00004252: JUMPDEST
00004253: PUSH2 0x3cbe
00004256: JUMPI
00004257: TIMESTAMP
00004258: SUB
00004259: DUP2
0000425a: DUP2
0000425b: MUL
0000425c: SWAP2
0000425d: DUP2
0000425e: DUP4
0000425f: DIV
00004260: EQ
00004261: SWAP1
00004262: ISZERO
00004263: OR
00004264: ISZERO
00004265: PUSH2 0x3243
00004268: JUMPI
00004269: SWAP1
0000426a: JUMP
0000426b: JUMPDEST
0000426c: POP
0000426d: DUP1
0000426e: TIMESTAMP
0000426f: GT
00004270: ISZERO
00004271: PUSH2 0x4252
00004274: JUMP
00004275: JUMPDEST
00004276: SWAP1
00004277: DUP2
00004278: PUSH0
00004279: MSTORE
0000427a: PUSH1 0x0c
0000427c: PUSH1 0x20
0000427e: MSTORE
0000427f: PUSH16 0xffffffffffffffffffffffffffffffff
00004290: DUP1
00004291: PUSH1 0x40
00004293: PUSH0
00004294: KECCAK256
00004295: SLOAD
00004296: PUSH1 0x80
00004298: SHR
00004299: AND
0000429a: AND
0000429b: PUSH16 0xffffffffffffffffffffffffffffffff
000042ac: DUP3
000042ad: AND
000042ae: EQ
000042af: PUSH2 0x4324
000042b2: JUMPI
000042b3: PUSH2 0x42bb
000042b6: DUP3
000042b7: PUSH2 0x4227
000042ba: JUMP
000042bb: JUMPDEST
000042bc: DUP1
000042bd: PUSH2 0x42f6
000042c0: JUMPI
000042c1: JUMPDEST
000042c2: POP
000042c3: PUSH2 0x12dc
000042c6: PUSH2 0x23d9
000042c9: SWAP3
000042ca: PUSH2 0x42e8
000042cd: PUSH5 0xffffffffff
000042d3: TIMESTAMP
000042d4: AND
000042d5: PUSH1 0x01
000042d7: PUSH2 0x127b
000042da: DUP5
000042db: PUSH0
000042dc: MSTORE
000042dd: PUSH1 0x0c
000042df: PUSH1 0x20
000042e1: MSTORE
000042e2: PUSH1 0x40
000042e4: PUSH0
000042e5: KECCAK256
000042e6: SWAP1
000042e7: JUMP
000042e8: JUMPDEST
000042e9: PUSH0
000042ea: MSTORE
000042eb: PUSH1 0x0c
000042ed: PUSH1 0x20
000042ef: MSTORE
000042f0: PUSH1 0x40
000042f2: PUSH0
000042f3: KECCAK256
000042f4: SWAP1
000042f5: JUMP
000042f6: JUMPDEST
000042f7: SWAP2
000042f8: PUSH1 0x03
000042fa: PUSH2 0x430b
000042fd: DUP3
000042fe: PUSH0
000042ff: MSTORE
00004300: PUSH1 0x0c
00004302: PUSH1 0x20
00004304: MSTORE
00004305: PUSH1 0x40
00004307: PUSH0
00004308: KECCAK256
00004309: SWAP1
0000430a: JUMP
0000430b: JUMPDEST
0000430c: ADD
0000430d: SWAP1
0000430e: DUP2
0000430f: SLOAD
00004310: SWAP4
00004311: DUP5
00004312: ADD
00004313: DUP1
00004314: SWAP5
00004315: GT
00004316: PUSH2 0x3243
00004319: JUMPI
0000431a: SWAP3
0000431b: SWAP1
0000431c: SSTORE
0000431d: PUSH2 0x12dc
00004320: PUSH2 0x42c1
00004323: JUMP
00004324: JUMPDEST
00004325: PUSH32 0xd2657d5a00000000000000000000000000000000000000000000000000000000
00004346: PUSH0
00004347: MSTORE
00004348: PUSH1 0x04
0000434a: SWAP2
0000434b: SWAP1
0000434c: SWAP2
0000434d: MSTORE
0000434e: PUSH16 0xffffffffffffffffffffffffffffffff
0000435f: AND
00004360: PUSH1 0x24
00004362: MSTORE
00004363: PUSH1 0x44
00004365: PUSH0
00004366: REVERT
00004367: JUMPDEST
00004368: DUP1
00004369: PUSH0
0000436a: MSTORE
0000436b: PUSH1 0x0c
0000436d: PUSH1 0x20
0000436f: MSTORE
00004370: PUSH2 0x438f
00004373: PUSH16 0xffffffffffffffffffffffffffffffff
00004384: PUSH1 0x40
00004386: PUSH0
00004387: KECCAK256
00004388: SLOAD
00004389: AND
0000438a: SWAP2
0000438b: PUSH2 0x3651
0000438e: JUMP
0000438f: JUMPDEST
00004390: SWAP1
00004391: DUP2
00004392: DUP2
00004393: LT
00004394: ISZERO
00004395: PUSH2 0x3cbe
00004398: JUMPI
00004399: DUP2
0000439a: SUB
0000439b: SWAP1
0000439c: DUP2
0000439d: GT
0000439e: PUSH2 0x3243
000043a1: JUMPI
000043a2: SWAP1
000043a3: JUMP
000043a4: JUMPDEST
000043a5: SWAP1
000043a6: DUP2
000043a7: PUSH0
000043a8: MSTORE
000043a9: PUSH1 0x0c
000043ab: PUSH1 0x20
000043ad: MSTORE
000043ae: PUSH1 0x01
000043b0: PUSH1 0x01
000043b2: PUSH1 0xa0
000043b4: SHL
000043b5: SUB
000043b6: PUSH1 0x01
000043b8: PUSH1 0x40
000043ba: PUSH0
000043bb: KECCAK256
000043bc: ADD
000043bd: SLOAD
000043be: AND
000043bf: PUSH1 0x01
000043c1: PUSH1 0x01
000043c3: PUSH1 0xa0
000043c5: SHL
000043c6: SUB
000043c7: DUP3
000043c8: AND
000043c9: SUB
000043ca: PUSH2 0x445f
000043cd: JUMPI
000043ce: POP
000043cf: PUSH2 0x43f9
000043d2: PUSH1 0x01
000043d4: PUSH1 0x01
000043d6: PUSH1 0xa0
000043d8: SHL
000043d9: SUB
000043da: PUSH2 0x43eb
000043dd: DUP4
000043de: PUSH0
000043df: MSTORE
000043e0: PUSH1 0x03
000043e2: PUSH1 0x20
000043e4: MSTORE
000043e5: PUSH1 0x40
000043e7: PUSH0
000043e8: KECCAK256
000043e9: SWAP1
000043ea: JUMP
000043eb: JUMPDEST
000043ec: SLOAD
000043ed: AND
000043ee: PUSH1 0x01
000043f0: PUSH1 0x01
000043f2: PUSH1 0xa0
000043f4: SHL
000043f5: SUB
000043f6: AND
000043f7: SWAP1
000043f8: JUMP
000043f9: JUMPDEST
000043fa: PUSH1 0x01
000043fc: PUSH1 0x01
000043fe: PUSH1 0xa0
00004400: SHL
00004401: SUB
00004402: DUP4
00004403: AND
00004404: SUB
00004405: PUSH2 0x440c
00004408: JUMPI
00004409: POP
0000440a: POP
0000440b: JUMP
0000440c: JUMPDEST
0000440d: SWAP1
0000440e: PUSH2 0x4425
00004411: PUSH2 0x13d2
00004414: PUSH2 0x086e
00004417: SWAP4
00004418: PUSH0
00004419: MSTORE
0000441a: PUSH1 0x03
0000441c: PUSH1 0x20
0000441e: MSTORE
0000441f: PUSH1 0x40
00004421: PUSH0
00004422: KECCAK256
00004423: SWAP1
00004424: JUMP
00004425: JUMPDEST
00004426: PUSH32 0x5bdb8ad700000000000000000000000000000000000000000000000000000000
00004447: PUSH0
00004448: MSTORE
00004449: PUSH1 0x01
0000444b: PUSH1 0x01
0000444d: PUSH1 0xa0
0000444f: SHL
00004450: SUB
00004451: SWAP2
00004452: DUP3
00004453: AND
00004454: PUSH1 0x04
00004456: MSTORE
00004457: AND
00004458: PUSH1 0x24
0000445a: MSTORE
0000445b: PUSH1 0x44
0000445d: SWAP1
0000445e: JUMP
0000445f: JUMPDEST
00004460: PUSH1 0x01
00004462: PUSH1 0x01
00004464: PUSH1 0xa0
00004466: SHL
00004467: SUB
00004468: PUSH1 0x01
0000446a: PUSH2 0x447e
0000446d: PUSH2 0x086e
00004470: SWAP5
00004471: PUSH0
00004472: MSTORE
00004473: PUSH1 0x0c
00004475: PUSH1 0x20
00004477: MSTORE
00004478: PUSH1 0x40
0000447a: PUSH0
0000447b: KECCAK256
0000447c: SWAP1
0000447d: JUMP
0000447e: JUMPDEST
0000447f: ADD
00004480: SLOAD
00004481: PUSH32 0xc8bac88d00000000000000000000000000000000000000000000000000000000
000044a2: PUSH0
000044a3: MSTORE
000044a4: PUSH1 0x01
000044a6: PUSH1 0x01
000044a8: PUSH1 0xa0
000044aa: SHL
000044ab: SUB
000044ac: SWAP3
000044ad: DUP4
000044ae: AND
000044af: PUSH1 0x04
000044b1: MSTORE
000044b2: AND
000044b3: AND
000044b4: PUSH1 0x24
000044b6: MSTORE
000044b7: PUSH1 0x44
000044b9: SWAP1
000044ba: JUMP
000044bb: JUMPDEST
000044bc: SWAP1
000044bd: DUP2
000044be: PUSH1 0x20
000044c0: SWAP2
000044c1: SUB
000044c2: SLT
000044c3: PUSH2 0x042e
000044c6: JUMPI
000044c7: MLOAD
000044c8: PUSH2 0x05ad
000044cb: DUP2
000044cc: PUSH2 0x0404
000044cf: JUMP
000044d0: JUMPDEST
000044d1: SWAP1
000044d2: SWAP3
000044d3: PUSH1 0x01
000044d5: PUSH1 0x01
000044d7: PUSH1 0xa0
000044d9: SHL
000044da: SUB
000044db: PUSH1 0x80
000044dd: SWAP4
000044de: DUP2
000044df: PUSH2 0x05ad
000044e2: SWAP8
000044e3: SWAP7
000044e4: AND
000044e5: DUP5
000044e6: MSTORE
000044e7: AND
000044e8: PUSH1 0x20
000044ea: DUP4
000044eb: ADD
000044ec: MSTORE
000044ed: PUSH1 0x40
000044ef: DUP3
000044f0: ADD
000044f1: MSTORE
000044f2: DUP2
000044f3: PUSH1 0x60
000044f5: DUP3
000044f6: ADD
000044f7: MSTORE
000044f8: ADD
000044f9: SWAP1
000044fa: PUSH2 0x0559
000044fd: JUMP
000044fe: JUMPDEST
000044ff: PUSH1 0x12
00004501: PUSH1 0xff
00004503: DUP3
00004504: AND
00004505: EQ
00004506: PUSH2 0x4515
00004509: JUMPI
0000450a: PUSH1 0x12
0000450c: SUB
0000450d: PUSH1 0xff
0000450f: AND
00004510: PUSH1 0x0a
00004512: EXP
00004513: SWAP1
00004514: JUMP
00004515: JUMPDEST
00004516: POP
00004517: PUSH1 0x01
00004519: SWAP1
0000451a: JUMP
0000451b: JUMPDEST
0000451c: SWAP1
0000451d: PUSH1 0x12
0000451f: PUSH1 0xff
00004521: DUP3
00004522: AND
00004523: EQ
00004524: PUSH2 0x3cba
00004527: JUMPI
00004528: PUSH1 0x12
0000452a: SUB
0000452b: PUSH1 0xff
0000452d: AND
0000452e: PUSH1 0x0a
00004530: EXP
00004531: MUL
00004532: SWAP1
00004533: JUMP
00004534: JUMPDEST
00004535: ISZERO
00004536: PUSH2 0x453b
00004539: JUMPI
0000453a: JUMP
0000453b: JUMPDEST
0000453c: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
0000455d: PUSH0
0000455e: MSTORE
0000455f: PUSH1 0x01
00004561: PUSH1 0x04
00004563: MSTORE
00004564: PUSH1 0x24
00004566: PUSH0
00004567: REVERT
00004568: JUMPDEST
00004569: SWAP3
0000456a: SWAP2
0000456b: SWAP1
0000456c: PUSH0
0000456d: SWAP4
0000456e: PUSH16 0xffffffffffffffffffffffffffffffff
0000457f: DUP4
00004580: AND
00004581: SWAP1
00004582: DUP2
00004583: ISZERO
00004584: PUSH2 0x496d
00004587: JUMPI
00004588: PUSH1 0x01
0000458a: PUSH1 0x01
0000458c: PUSH1 0xa0
0000458e: SHL
0000458f: SUB
00004590: DUP4
00004591: AND
00004592: ISZERO
00004593: PUSH2 0x4942
00004596: JUMPI
00004597: PUSH2 0x45ae
0000459a: PUSH2 0x11ff
0000459d: PUSH2 0x13d2
000045a0: DUP4
000045a1: PUSH0
000045a2: MSTORE
000045a3: PUSH1 0x03
000045a5: PUSH1 0x20
000045a7: MSTORE
000045a8: PUSH1 0x40
000045aa: PUSH0
000045ab: KECCAK256
000045ac: SWAP1
000045ad: JUMP
000045ae: JUMPDEST
000045af: PUSH1 0x01
000045b1: PUSH1 0x01
000045b3: PUSH1 0xa0
000045b5: SHL
000045b6: SUB
000045b7: DUP5
000045b8: AND
000045b9: EQ
000045ba: ISZERO
000045bb: DUP1
000045bc: PUSH2 0x4930
000045bf: JUMPI
000045c0: JUMPDEST
000045c1: PUSH2 0x48f4
000045c4: JUMPI
000045c5: PUSH2 0x45db
000045c8: PUSH1 0x02
000045ca: PUSH2 0x14ae
000045cd: DUP4
000045ce: PUSH0
000045cf: MSTORE
000045d0: PUSH1 0x0c
000045d2: PUSH1 0x20
000045d4: MSTORE
000045d5: PUSH1 0x40
000045d7: PUSH0
000045d8: KECCAK256
000045d9: SWAP1
000045da: JUMP
000045db: JUMPDEST
000045dc: SWAP2
000045dd: PUSH2 0x4604
000045e0: PUSH2 0x45e8
000045e3: DUP4
000045e4: PUSH2 0x4227
000045e7: JUMP
000045e8: JUMPDEST
000045e9: PUSH1 0x03
000045eb: PUSH2 0x45fc
000045ee: DUP6
000045ef: PUSH0
000045f0: MSTORE
000045f1: PUSH1 0x0c
000045f3: PUSH1 0x20
000045f5: MSTORE
000045f6: PUSH1 0x40
000045f8: PUSH0
000045f9: KECCAK256
000045fa: SWAP1
000045fb: JUMP
000045fc: JUMPDEST
000045fd: ADD
000045fe: SLOAD
000045ff: SWAP1
00004600: PUSH2 0x3458
00004603: JUMP
00004604: JUMPDEST
00004605: PUSH2 0x460e
00004608: DUP5
00004609: DUP3
0000460a: PUSH2 0x4998
0000460d: JUMP
0000460e: JUMPDEST
0000460f: SWAP4
00004610: PUSH2 0x4624
00004613: PUSH2 0x1470
00004616: DUP6
00004617: PUSH0
00004618: MSTORE
00004619: PUSH1 0x0c
0000461b: PUSH1 0x20
0000461d: MSTORE
0000461e: PUSH1 0x40
00004620: PUSH0
00004621: KECCAK256
00004622: SWAP1
00004623: JUMP
00004624: JUMPDEST
00004625: SWAP3
00004626: DUP6
00004627: PUSH16 0xffffffffffffffffffffffffffffffff
00004638: DUP6
00004639: AND
0000463a: LT
0000463b: PUSH0
0000463c: EQ
0000463d: PUSH2 0x48e6
00004640: JUMPI
00004641: DUP4
00004642: JUMPDEST
00004643: PUSH16 0xffffffffffffffffffffffffffffffff
00004654: DUP2
00004655: AND
00004656: DUP3
00004657: GT
00004658: PUSH2 0x489e
0000465b: JUMPI
0000465c: POP
0000465d: SWAP1
0000465e: PUSH2 0x4666
00004661: SWAP2
00004662: PUSH2 0x451b
00004665: JUMP
00004666: JUMPDEST
00004667: SWAP1
00004668: PUSH1 0x03
0000466a: PUSH2 0x467b
0000466d: DUP6
0000466e: PUSH0
0000466f: MSTORE
00004670: PUSH1 0x0c
00004672: PUSH1 0x20
00004674: MSTORE
00004675: PUSH1 0x40
00004677: PUSH0
00004678: KECCAK256
00004679: SWAP1
0000467a: JUMP
0000467b: JUMPDEST
0000467c: ADD
0000467d: SLOAD
0000467e: DUP3
0000467f: GT
00004680: PUSH2 0x4863
00004683: JUMPI
00004684: POP
00004685: PUSH1 0x03
00004687: PUSH2 0x4698
0000468a: DUP5
0000468b: PUSH0
0000468c: MSTORE
0000468d: PUSH1 0x0c
0000468f: PUSH1 0x20
00004691: MSTORE
00004692: PUSH1 0x40
00004694: PUSH0
00004695: KECCAK256
00004696: SWAP1
00004697: JUMP
00004698: JUMPDEST
00004699: ADD
0000469a: SWAP1
0000469b: DUP2
0000469c: SLOAD
0000469d: SUB
0000469e: SWAP1
0000469f: SSTORE
000046a0: JUMPDEST
000046a1: PUSH2 0x46d3
000046a4: PUSH2 0x46b5
000046a7: DUP4
000046a8: PUSH0
000046a9: MSTORE
000046aa: PUSH1 0x0c
000046ac: PUSH1 0x20
000046ae: MSTORE
000046af: PUSH1 0x40
000046b1: PUSH0
000046b2: KECCAK256
000046b3: SWAP1
000046b4: JUMP
000046b5: JUMPDEST
000046b6: PUSH2 0x3851
000046b9: DUP8
000046ba: PUSH2 0x383b
000046bd: DUP4
000046be: SLOAD
000046bf: PUSH16 0xffffffffffffffffffffffffffffffff
000046d0: AND
000046d1: SWAP1
000046d2: JUMP
000046d3: JUMPDEST
000046d4: PUSH2 0x46ea
000046d7: PUSH1 0x02
000046d9: PUSH2 0x11f1
000046dc: DUP5
000046dd: PUSH0
000046de: MSTORE
000046df: PUSH1 0x0c
000046e1: PUSH1 0x20
000046e3: MSTORE
000046e4: PUSH1 0x40
000046e6: PUSH0
000046e7: KECCAK256
000046e8: SWAP1
000046e9: JUMP
000046ea: JUMPDEST
000046eb: SWAP3
000046ec: PUSH2 0x4706
000046ef: DUP5
000046f0: PUSH1 0x01
000046f2: PUSH1 0x01
000046f4: PUSH1 0xa0
000046f6: SHL
000046f7: SUB
000046f8: AND
000046f9: PUSH0
000046fa: MSTORE
000046fb: PUSH1 0x0a
000046fd: PUSH1 0x20
000046ff: MSTORE
00004700: PUSH1 0x40
00004702: PUSH0
00004703: KECCAK256
00004704: SWAP1
00004705: JUMP
00004706: JUMPDEST
00004707: SLOAD
00004708: DUP1
00004709: PUSH2 0x47e8
0000470c: JUMPI
0000470d: JUMPDEST
0000470e: POP
0000470f: SWAP1
00004710: PUSH2 0x477f
00004713: PUSH2 0x32a4
00004716: PUSH2 0x4769
00004719: PUSH2 0x4785
0000471c: SWAP5
0000471d: PUSH2 0x475a
00004720: PUSH16 0xffffffffffffffffffffffffffffffff
00004731: DUP12
00004732: AND
00004733: PUSH2 0x474d
00004736: DUP11
00004737: PUSH1 0x01
00004739: PUSH1 0x01
0000473b: PUSH1 0xa0
0000473d: SHL
0000473e: SUB
0000473f: AND
00004740: PUSH0
00004741: MSTORE
00004742: PUSH1 0x07
00004744: PUSH1 0x20
00004746: MSTORE
00004747: PUSH1 0x40
00004749: PUSH0
0000474a: KECCAK256
0000474b: SWAP1
0000474c: JUMP
0000474d: JUMPDEST
0000474e: DUP2
0000474f: DUP2
00004750: SLOAD
00004751: SUB
00004752: SWAP1
00004753: SSTORE
00004754: DUP11
00004755: DUP11
00004756: PUSH2 0x41cd
00004759: JUMP
0000475a: JUMPDEST
0000475b: PUSH2 0x4763
0000475e: DUP8
0000475f: PUSH2 0x3651
00004762: JUMP
00004763: JUMPDEST
00004764: SWAP1
00004765: PUSH2 0x3248
00004768: JUMP
00004769: JUMPDEST
0000476a: SWAP3
0000476b: PUSH2 0x374a
0000476e: PUSH2 0x1470
00004771: DUP8
00004772: PUSH0
00004773: MSTORE
00004774: PUSH1 0x0c
00004776: PUSH1 0x20
00004778: MSTORE
00004779: PUSH1 0x40
0000477b: PUSH0
0000477c: KECCAK256
0000477d: SWAP1
0000477e: JUMP
0000477f: JUMPDEST
00004780: EQ
00004781: PUSH2 0x4534
00004784: JUMP
00004785: JUMPDEST
00004786: PUSH1 0x40
00004788: DUP1
00004789: MLOAD
0000478a: CALLER
0000478b: DUP2
0000478c: MSTORE
0000478d: PUSH16 0xffffffffffffffffffffffffffffffff
0000479e: DUP7
0000479f: DUP2
000047a0: AND
000047a1: PUSH1 0x20
000047a3: DUP4
000047a4: ADD
000047a5: MSTORE
000047a6: DUP9
000047a7: AND
000047a8: SWAP2
000047a9: DUP2
000047aa: ADD
000047ab: SWAP2
000047ac: SWAP1
000047ad: SWAP2
000047ae: MSTORE
000047af: PUSH1 0x01
000047b1: PUSH1 0x01
000047b3: PUSH1 0xa0
000047b5: SHL
000047b6: SUB
000047b7: SWAP3
000047b8: DUP4
000047b9: AND
000047ba: SWAP4
000047bb: SWAP1
000047bc: SWAP3
000047bd: AND
000047be: SWAP2
000047bf: PUSH32 0x1a7b0d6c8f96b874563b711cf97793fe3be5dc42dbd1e0720ce40f326918e817
000047e0: SWAP1
000047e1: PUSH1 0x60
000047e3: SWAP1
000047e4: LOG4
000047e5: SWAP2
000047e6: SWAP1
000047e7: JUMP
000047e8: JUMPDEST
000047e9: PUSH2 0x4769
000047ec: SWAP9
000047ed: POP
000047ee: PUSH2 0x32a4
000047f1: PUSH2 0x4802
000047f4: PUSH2 0x477f
000047f7: SWAP3
000047f8: PUSH2 0x4785
000047fb: SWAP6
000047fc: SWAP5
000047fd: SWAP10
000047fe: PUSH2 0x4e86
00004801: JUMP
00004802: JUMPDEST
00004803: SWAP11
00004804: SWAP1
00004805: SWAP11
00004806: SWAP9
00004807: PUSH2 0x4859
0000480a: DUP13
0000480b: PUSH2 0x3851
0000480e: PUSH2 0x4828
00004811: DUP12
00004812: PUSH1 0x01
00004814: PUSH1 0x01
00004816: PUSH1 0xa0
00004818: SHL
00004819: SUB
0000481a: AND
0000481b: PUSH0
0000481c: MSTORE
0000481d: PUSH1 0x0b
0000481f: PUSH1 0x20
00004821: MSTORE
00004822: PUSH1 0x40
00004824: PUSH0
00004825: KECCAK256
00004826: SWAP1
00004827: JUMP
00004828: JUMPDEST
00004829: SWAP2
0000482a: PUSH2 0x4843
0000482d: DUP4
0000482e: SLOAD
0000482f: PUSH16 0xffffffffffffffffffffffffffffffff
00004840: AND
00004841: SWAP1
00004842: JUMP
00004843: JUMPDEST
00004844: ADD
00004845: PUSH16 0xffffffffffffffffffffffffffffffff
00004856: AND
00004857: SWAP1
00004858: JUMP
00004859: JUMPDEST
0000485a: SWAP4
0000485b: SWAP5
0000485c: POP
0000485d: POP
0000485e: POP
0000485f: PUSH2 0x470d
00004862: JUMP
00004863: JUMPDEST
00004864: SUB
00004865: PUSH1 0x03
00004867: PUSH2 0x4878
0000486a: DUP5
0000486b: PUSH0
0000486c: MSTORE
0000486d: PUSH1 0x0c
0000486f: PUSH1 0x20
00004871: MSTORE
00004872: PUSH1 0x40
00004874: PUSH0
00004875: KECCAK256
00004876: SWAP1
00004877: JUMP
00004878: JUMPDEST
00004879: ADD
0000487a: SSTORE
0000487b: PUSH2 0x4899
0000487e: PUSH5 0xffffffffff
00004884: TIMESTAMP
00004885: AND
00004886: PUSH1 0x01
00004888: PUSH2 0x127b
0000488b: DUP6
0000488c: PUSH0
0000488d: MSTORE
0000488e: PUSH1 0x0c
00004890: PUSH1 0x20
00004892: MSTORE
00004893: PUSH1 0x40
00004895: PUSH0
00004896: KECCAK256
00004897: SWAP1
00004898: JUMP
00004899: JUMPDEST
0000489a: PUSH2 0x46a0
0000489d: JUMP
0000489e: JUMPDEST
0000489f: PUSH32 0xf9f2985900000000000000000000000000000000000000000000000000000000
000048c0: PUSH0
000048c1: MSTORE
000048c2: PUSH1 0x04
000048c4: DUP7
000048c5: SWAP1
000048c6: MSTORE
000048c7: PUSH16 0xffffffffffffffffffffffffffffffff
000048d8: DUP1
000048d9: DUP11
000048da: AND
000048db: PUSH1 0x24
000048dd: MSTORE
000048de: AND
000048df: PUSH1 0x44
000048e1: MSTORE
000048e2: PUSH1 0x64
000048e4: PUSH0
000048e5: REVERT
000048e6: JUMPDEST
000048e7: PUSH2 0x48ef
000048ea: DUP7
000048eb: PUSH2 0x4c4b
000048ee: JUMP
000048ef: JUMPDEST
000048f0: PUSH2 0x4642
000048f3: JUMP
000048f4: JUMPDEST
000048f5: PUSH32 0x4208ab4c00000000000000000000000000000000000000000000000000000000
00004916: PUSH0
00004917: MSTORE
00004918: PUSH1 0x04
0000491a: MSTORE
0000491b: CALLER
0000491c: PUSH1 0x24
0000491e: MSTORE
0000491f: PUSH1 0x01
00004921: PUSH1 0x01
00004923: PUSH1 0xa0
00004925: SHL
00004926: SUB
00004927: DUP3
00004928: AND
00004929: PUSH1 0x44
0000492b: MSTORE
0000492c: PUSH1 0x64
0000492e: PUSH0
0000492f: REVERT
00004930: JUMPDEST
00004931: POP
00004932: PUSH2 0x493d
00004935: PUSH2 0x14e8
00004938: DUP3
00004939: PUSH2 0x4d74
0000493c: JUMP
0000493d: JUMPDEST
0000493e: PUSH2 0x45c0
00004941: JUMP
00004942: JUMPDEST
00004943: PUSH32 0x9f32c85800000000000000000000000000000000000000000000000000000000
00004964: PUSH0
00004965: MSTORE
00004966: PUSH1 0x04
00004968: MSTORE
00004969: PUSH1 0x24
0000496b: PUSH0
0000496c: REVERT
0000496d: JUMPDEST
0000496e: PUSH32 0xb485505200000000000000000000000000000000000000000000000000000000
0000498f: PUSH0
00004990: MSTORE
00004991: PUSH1 0x04
00004993: MSTORE
00004994: PUSH1 0x24
00004996: PUSH0
00004997: REVERT
00004998: JUMPDEST
00004999: SWAP1
0000499a: PUSH1 0x12
0000499c: PUSH1 0xff
0000499e: DUP3
0000499f: AND
000049a0: EQ
000049a1: PUSH2 0x3cba
000049a4: JUMPI
000049a5: PUSH1 0x12
000049a7: SUB
000049a8: PUSH1 0xff
000049aa: AND
000049ab: PUSH1 0x0a
000049ad: EXP
000049ae: SWAP1
000049af: DUP2
000049b0: ISZERO
000049b1: PUSH2 0x349c
000049b4: JUMPI
000049b5: DIV
000049b6: SWAP1
000049b7: JUMP
000049b8: JUMPDEST
000049b9: PUSH2 0x49ca
000049bc: SWAP1
000049bd: PUSH0
000049be: MSTORE
000049bf: PUSH1 0x05
000049c1: PUSH1 0x20
000049c3: MSTORE
000049c4: PUSH1 0x40
000049c6: PUSH0
000049c7: KECCAK256
000049c8: SWAP1
000049c9: JUMP
000049ca: JUMPDEST
000049cb: DUP1
000049cc: SLOAD
000049cd: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
000049ee: AND
000049ef: SWAP1
000049f0: SSTORE
000049f1: JUMP
000049f2: JUMPDEST
000049f3: SWAP1
000049f4: SWAP2
000049f5: SWAP3
000049f6: PUSH1 0x01
000049f8: PUSH1 0x01
000049fa: PUSH1 0xa0
000049fc: SHL
000049fd: SUB
000049fe: PUSH2 0x23d9
00004a01: SWAP5
00004a02: DUP2
00004a03: PUSH1 0x40
00004a05: MLOAD
00004a06: SWAP6
00004a07: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000
00004a28: PUSH1 0x20
00004a2a: DUP9
00004a2b: ADD
00004a2c: MSTORE
00004a2d: AND
00004a2e: PUSH1 0x24
00004a30: DUP7
00004a31: ADD
00004a32: MSTORE
00004a33: AND
00004a34: PUSH1 0x44
00004a36: DUP5
00004a37: ADD
00004a38: MSTORE
00004a39: PUSH1 0x64
00004a3b: DUP4
00004a3c: ADD
00004a3d: MSTORE
00004a3e: PUSH1 0x64
00004a40: DUP3
00004a41: MSTORE
00004a42: PUSH2 0x4222
00004a45: PUSH1 0x84
00004a47: DUP4
00004a48: PUSH2 0x2388
00004a4b: JUMP
00004a4c: JUMPDEST
00004a4d: DUP2
00004a4e: PUSH0
00004a4f: MSTORE
00004a50: PUSH1 0x03
00004a52: PUSH1 0x20
00004a54: MSTORE
00004a55: PUSH1 0x01
00004a57: PUSH1 0x01
00004a59: PUSH1 0xa0
00004a5b: SHL
00004a5c: SUB
00004a5d: PUSH1 0x40
00004a5f: PUSH0
00004a60: KECCAK256
00004a61: SLOAD
00004a62: AND
00004a63: SWAP3
00004a64: PUSH1 0x01
00004a66: PUSH1 0x01
00004a68: PUSH1 0xa0
00004a6a: SHL
00004a6b: SUB
00004a6c: DUP2
00004a6d: AND
00004a6e: PUSH2 0x4b46
00004a71: JUMPI
00004a72: JUMPDEST
00004a73: POP
00004a74: PUSH1 0x01
00004a76: PUSH1 0x01
00004a78: PUSH1 0xa0
00004a7a: SHL
00004a7b: SUB
00004a7c: DUP4
00004a7d: AND
00004a7e: DUP1
00004a7f: PUSH2 0x4af7
00004a82: JUMPI
00004a83: JUMPDEST
00004a84: PUSH2 0x4aa9
00004a87: PUSH1 0x01
00004a89: PUSH1 0x01
00004a8b: PUSH1 0xa0
00004a8d: SHL
00004a8e: SUB
00004a8f: DUP4
00004a90: AND
00004a91: SWAP3
00004a92: DUP4
00004a93: PUSH2 0x4ad0
00004a96: JUMPI
00004a97: JUMPDEST
00004a98: PUSH2 0x080d
00004a9b: DUP6
00004a9c: PUSH0
00004a9d: MSTORE
00004a9e: PUSH1 0x03
00004aa0: PUSH1 0x20
00004aa2: MSTORE
00004aa3: PUSH1 0x40
00004aa5: PUSH0
00004aa6: KECCAK256
00004aa7: SWAP1
00004aa8: JUMP
00004aa9: JUMPDEST
00004aaa: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00004acb: PUSH0
00004acc: DUP1
00004acd: LOG4
00004ace: SWAP1
00004acf: JUMP
00004ad0: JUMPDEST
00004ad1: PUSH2 0x4aeb
00004ad4: DUP2
00004ad5: PUSH1 0x01
00004ad7: PUSH1 0x01
00004ad9: PUSH1 0xa0
00004adb: SHL
00004adc: SUB
00004add: AND
00004ade: PUSH0
00004adf: MSTORE
00004ae0: PUSH1 0x04
00004ae2: PUSH1 0x20
00004ae4: MSTORE
00004ae5: PUSH1 0x40
00004ae7: PUSH0
00004ae8: KECCAK256
00004ae9: SWAP1
00004aea: JUMP
00004aeb: JUMPDEST
00004aec: PUSH1 0x01
00004aee: DUP2
00004aef: SLOAD
00004af0: ADD
00004af1: SWAP1
00004af2: SSTORE
00004af3: PUSH2 0x4a97
00004af6: JUMP
00004af7: JUMPDEST
00004af8: PUSH2 0x4b00
00004afb: DUP4
00004afc: PUSH2 0x49b8
00004aff: JUMP
00004b00: JUMPDEST
00004b01: PUSH2 0x4b1b
00004b04: DUP5
00004b05: PUSH1 0x01
00004b07: PUSH1 0x01
00004b09: PUSH1 0xa0
00004b0b: SHL
00004b0c: SUB
00004b0d: AND
00004b0e: PUSH0
00004b0f: MSTORE
00004b10: PUSH1 0x04
00004b12: PUSH1 0x20
00004b14: MSTORE
00004b15: PUSH1 0x40
00004b17: PUSH0
00004b18: KECCAK256
00004b19: SWAP1
00004b1a: JUMP
00004b1b: JUMPDEST
00004b1c: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00004b3d: DUP2
00004b3e: SLOAD
00004b3f: ADD
00004b40: SWAP1
00004b41: SSTORE
00004b42: PUSH2 0x4a83
00004b45: JUMP
00004b46: JUMPDEST
00004b47: PUSH2 0x4b61
00004b4a: PUSH1 0x01
00004b4c: PUSH1 0x01
00004b4e: PUSH1 0xa0
00004b50: SHL
00004b51: SUB
00004b52: DUP3
00004b53: AND
00004b54: DUP1
00004b55: ISZERO
00004b56: ISZERO
00004b57: SWAP1
00004b58: DUP2
00004b59: PUSH2 0x4bd9
00004b5c: JUMPI
00004b5d: POP
00004b5e: ISZERO
00004b5f: SWAP1
00004b60: JUMP
00004b61: JUMPDEST
00004b62: ISZERO
00004b63: PUSH2 0x4a72
00004b66: JUMPI
00004b67: DUP3
00004b68: PUSH1 0x01
00004b6a: PUSH1 0x01
00004b6c: PUSH1 0xa0
00004b6e: SHL
00004b6f: SUB
00004b70: DUP6
00004b71: AND
00004b72: PUSH2 0x4ba0
00004b75: JUMPI
00004b76: PUSH32 0x7e27328900000000000000000000000000000000000000000000000000000000
00004b97: PUSH0
00004b98: MSTORE
00004b99: PUSH1 0x04
00004b9b: MSTORE
00004b9c: PUSH1 0x24
00004b9e: PUSH0
00004b9f: REVERT
00004ba0: JUMPDEST
00004ba1: PUSH32 0x177e802f00000000000000000000000000000000000000000000000000000000
00004bc2: PUSH0
00004bc3: MSTORE
00004bc4: PUSH1 0x01
00004bc6: PUSH1 0x01
00004bc8: PUSH1 0xa0
00004bca: SHL
00004bcb: SUB
00004bcc: SWAP1
00004bcd: SWAP2
00004bce: AND
00004bcf: PUSH1 0x04
00004bd1: MSTORE
00004bd2: PUSH1 0x24
00004bd4: MSTORE
00004bd5: PUSH1 0x44
00004bd7: PUSH0
00004bd8: REVERT
00004bd9: JUMPDEST
00004bda: PUSH1 0x01
00004bdc: PUSH1 0x01
00004bde: PUSH1 0xa0
00004be0: SHL
00004be1: SUB
00004be2: DUP8
00004be3: AND
00004be4: DUP1
00004be5: DUP3
00004be6: EQ
00004be7: SWAP3
00004be8: POP
00004be9: DUP3
00004bea: ISZERO
00004beb: PUSH2 0x4c18
00004bee: JUMPI
00004bef: JUMPDEST
00004bf0: POP
00004bf1: DUP2
00004bf2: ISZERO
00004bf3: PUSH2 0x4bfb
00004bf6: JUMPI
00004bf7: POP
00004bf8: ISZERO
00004bf9: SWAP1
00004bfa: JUMP
00004bfb: JUMPDEST
00004bfc: SWAP1
00004bfd: POP
00004bfe: DUP5
00004bff: PUSH0
00004c00: MSTORE
00004c01: PUSH1 0x05
00004c03: PUSH1 0x20
00004c05: MSTORE
00004c06: PUSH1 0x01
00004c08: PUSH1 0x01
00004c0a: PUSH1 0xa0
00004c0c: SHL
00004c0d: SUB
00004c0e: PUSH1 0x40
00004c10: PUSH0
00004c11: KECCAK256
00004c12: SLOAD
00004c13: AND
00004c14: EQ
00004c15: ISZERO
00004c16: SWAP1
00004c17: JUMP
00004c18: JUMPDEST
00004c19: SWAP1
00004c1a: SWAP2
00004c1b: POP
00004c1c: PUSH0
00004c1d: MSTORE
00004c1e: PUSH1 0x06
00004c20: PUSH1 0x20
00004c22: MSTORE
00004c23: PUSH1 0xff
00004c25: PUSH2 0x4c42
00004c28: DUP5
00004c29: PUSH1 0x40
00004c2b: PUSH0
00004c2c: KECCAK256
00004c2d: SWAP1
00004c2e: PUSH1 0x01
00004c30: PUSH1 0x01
00004c32: PUSH1 0xa0
00004c34: SHL
00004c35: SUB
00004c36: AND
00004c37: PUSH0
00004c38: MSTORE
00004c39: PUSH1 0x20
00004c3b: MSTORE
00004c3c: PUSH1 0x40
00004c3e: PUSH0
00004c3f: KECCAK256
00004c40: SWAP1
00004c41: JUMP
00004c42: JUMPDEST
00004c43: SLOAD
00004c44: AND
00004c45: SWAP1
00004c46: PUSH0
00004c47: PUSH2 0x4bef
00004c4a: JUMP
00004c4b: JUMPDEST
00004c4c: PUSH16 0xffffffffffffffffffffffffffffffff
00004c5d: DUP2
00004c5e: GT
00004c5f: PUSH2 0x4c77
00004c62: JUMPI
00004c63: PUSH16 0xffffffffffffffffffffffffffffffff
00004c74: AND
00004c75: SWAP1
00004c76: JUMP
00004c77: JUMPDEST
00004c78: PUSH32 0x6dfcc65000000000000000000000000000000000000000000000000000000000
00004c99: PUSH0
00004c9a: MSTORE
00004c9b: PUSH1 0x80
00004c9d: PUSH1 0x04
00004c9f: MSTORE
00004ca0: PUSH1 0x24
00004ca2: MSTORE
00004ca3: PUSH1 0x44
00004ca5: PUSH0
00004ca6: REVERT
00004ca7: JUMPDEST
00004ca8: PUSH1 0x01
00004caa: PUSH1 0x01
00004cac: PUSH1 0xa0
00004cae: SHL
00004caf: SUB
00004cb0: DUP2
00004cb1: AND
00004cb2: ISZERO
00004cb3: PUSH2 0x317f
00004cb6: JUMPI
00004cb7: DUP2
00004cb8: PUSH0
00004cb9: MSTORE
00004cba: PUSH1 0x03
00004cbc: PUSH1 0x20
00004cbe: MSTORE
00004cbf: PUSH1 0x01
00004cc1: PUSH1 0x01
00004cc3: PUSH1 0xa0
00004cc5: SHL
00004cc6: SUB
00004cc7: PUSH1 0x40
00004cc9: PUSH0
00004cca: KECCAK256
00004ccb: SLOAD
00004ccc: AND
00004ccd: ISZERO
00004cce: ISZERO
00004ccf: DUP1
00004cd0: PUSH2 0x4d57
00004cd3: JUMPI
00004cd4: JUMPDEST
00004cd5: PUSH2 0x3135
00004cd8: JUMPI
00004cd9: SWAP1
00004cda: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
00004cfb: PUSH2 0x4d21
00004cfe: PUSH2 0x4d10
00004d01: PUSH0
00004d02: DUP5
00004d03: PUSH1 0x01
00004d05: PUSH1 0x01
00004d07: PUSH1 0xa0
00004d09: SHL
00004d0a: SUB
00004d0b: SWAP7
00004d0c: PUSH2 0x4a4c
00004d0f: JUMP
00004d10: JUMPDEST
00004d11: PUSH1 0x40
00004d13: MLOAD
00004d14: SWAP4
00004d15: DUP5
00004d16: MSTORE
00004d17: SWAP3
00004d18: SWAP1
00004d19: DUP2
00004d1a: SWAP1
00004d1b: PUSH1 0x20
00004d1d: DUP3
00004d1e: ADD
00004d1f: SWAP1
00004d20: JUMP
00004d21: JUMPDEST
00004d22: SUB
00004d23: SWAP1
00004d24: LOG1
00004d25: AND
00004d26: PUSH2 0x4d2b
00004d29: JUMPI
00004d2a: JUMP
00004d2b: JUMPDEST
00004d2c: PUSH32 0x73c6ac6e00000000000000000000000000000000000000000000000000000000
00004d4d: PUSH0
00004d4e: MSTORE
00004d4f: PUSH0
00004d50: PUSH1 0x04
00004d52: MSTORE
00004d53: PUSH1 0x24
00004d55: PUSH0
00004d56: REVERT
00004d57: JUMPDEST
00004d58: POP
00004d59: DUP2
00004d5a: PUSH0
00004d5b: MSTORE
00004d5c: PUSH1 0x0c
00004d5e: PUSH1 0x20
00004d60: MSTORE
00004d61: PUSH1 0xff
00004d63: PUSH1 0x01
00004d65: PUSH1 0x40
00004d67: PUSH0
00004d68: KECCAK256
00004d69: ADD
00004d6a: SLOAD
00004d6b: PUSH1 0xd0
00004d6d: SHR
00004d6e: AND
00004d6f: ISZERO
00004d70: PUSH2 0x4cd4
00004d73: JUMP
00004d74: JUMPDEST
00004d75: DUP1
00004d76: PUSH0
00004d77: MSTORE
00004d78: PUSH1 0x03
00004d7a: PUSH1 0x20
00004d7c: MSTORE
00004d7d: PUSH1 0x01
00004d7f: PUSH1 0x01
00004d81: PUSH1 0xa0
00004d83: SHL
00004d84: SUB
00004d85: PUSH1 0x40
00004d87: PUSH0
00004d88: KECCAK256
00004d89: SLOAD
00004d8a: AND
00004d8b: SWAP1
00004d8c: DUP2
00004d8d: CALLER
00004d8e: EQ
00004d8f: SWAP2
00004d90: DUP3
00004d91: ISZERO
00004d92: PUSH2 0x4dba
00004d95: JUMPI
00004d96: JUMPDEST
00004d97: POP
00004d98: DUP2
00004d99: ISZERO
00004d9a: PUSH2 0x4da1
00004d9d: JUMPI
00004d9e: POP
00004d9f: SWAP1
00004da0: JUMP
00004da1: JUMPDEST
00004da2: SWAP1
00004da3: POP
00004da4: PUSH1 0x01
00004da6: PUSH1 0x01
00004da8: PUSH1 0xa0
00004daa: SHL
00004dab: SUB
00004dac: PUSH2 0x4db5
00004daf: CALLER
00004db0: SWAP3
00004db1: PUSH2 0x2f58
00004db4: JUMP
00004db5: JUMPDEST
00004db6: AND
00004db7: EQ
00004db8: SWAP1
00004db9: JUMP
00004dba: JUMPDEST
00004dbb: SWAP1
00004dbc: SWAP2
00004dbd: POP
00004dbe: PUSH0
00004dbf: MSTORE
00004dc0: PUSH1 0x06
00004dc2: PUSH1 0x20
00004dc4: MSTORE
00004dc5: PUSH1 0xff
00004dc7: PUSH2 0x4de4
00004dca: CALLER
00004dcb: PUSH1 0x40
00004dcd: PUSH0
00004dce: KECCAK256
00004dcf: SWAP1
00004dd0: PUSH1 0x01
00004dd2: PUSH1 0x01
00004dd4: PUSH1 0xa0
00004dd6: SHL
00004dd7: SUB
00004dd8: AND
00004dd9: PUSH0
00004dda: MSTORE
00004ddb: PUSH1 0x20
00004ddd: MSTORE
00004dde: PUSH1 0x40
00004de0: PUSH0
00004de1: KECCAK256
00004de2: SWAP1
00004de3: JUMP
00004de4: JUMPDEST
00004de5: SLOAD
00004de6: AND
00004de7: SWAP1
00004de8: PUSH0
00004de9: PUSH2 0x4d96
00004dec: JUMP
00004ded: JUMPDEST
00004dee: PUSH0
00004def: DUP1
00004df0: PUSH1 0x01
00004df2: PUSH1 0x01
00004df4: PUSH1 0xa0
00004df6: SHL
00004df7: SUB
00004df8: PUSH2 0x4e16
00004dfb: SWAP4
00004dfc: AND
00004dfd: SWAP4
00004dfe: PUSH1 0x20
00004e00: DUP2
00004e01: MLOAD
00004e02: SWAP2
00004e03: ADD
00004e04: DUP3
00004e05: DUP7
00004e06: GAS
00004e07: CALL
00004e08: PUSH2 0x4e0f
00004e0b: PUSH2 0x3031
00004e0e: JUMP
00004e0f: JUMPDEST
00004e10: SWAP1
00004e11: DUP4
00004e12: PUSH2 0x4fd0
00004e15: JUMP
00004e16: JUMPDEST
00004e17: DUP1
00004e18: MLOAD
00004e19: SWAP1
00004e1a: DUP2
00004e1b: ISZERO
00004e1c: ISZERO
00004e1d: SWAP2
00004e1e: DUP3
00004e1f: PUSH2 0x4e61
00004e22: JUMPI
00004e23: JUMPDEST
00004e24: POP
00004e25: POP
00004e26: PUSH2 0x4e2c
00004e29: JUMPI
00004e2a: POP
00004e2b: JUMP
00004e2c: JUMPDEST
00004e2d: PUSH1 0x01
00004e2f: PUSH1 0x01
00004e31: PUSH1 0xa0
00004e33: SHL
00004e34: SUB
00004e35: SWAP1
00004e36: PUSH32 0x5274afe700000000000000000000000000000000000000000000000000000000
00004e57: PUSH0
00004e58: MSTORE
00004e59: AND
00004e5a: PUSH1 0x04
00004e5c: MSTORE
00004e5d: PUSH1 0x24
00004e5f: PUSH0
00004e60: REVERT
00004e61: JUMPDEST
00004e62: SWAP1
00004e63: SWAP2
00004e64: POP
00004e65: PUSH1 0x20
00004e67: SWAP1
00004e68: DUP3
00004e69: ADD
00004e6a: DUP3
00004e6b: SWAP1
00004e6c: SUB
00004e6d: SLT
00004e6e: PUSH2 0x042e
00004e71: JUMPI
00004e72: PUSH1 0x20
00004e74: ADD
00004e75: MLOAD
00004e76: PUSH2 0x4e7e
00004e79: DUP2
00004e7a: PUSH2 0x111d
00004e7d: JUMP
00004e7e: JUMPDEST
00004e7f: ISZERO
00004e80: PUSH0
00004e81: DUP1
00004e82: PUSH2 0x4e23
00004e85: JUMP
00004e86: JUMPDEST
00004e87: SWAP2
00004e88: SWAP1
00004e89: PUSH2 0x4ea4
00004e8c: SWAP1
00004e8d: PUSH16 0xffffffffffffffffffffffffffffffff
00004e9e: DUP5
00004e9f: AND
00004ea0: PUSH2 0x4f03
00004ea3: JUMP
00004ea4: JUMPDEST
00004ea5: PUSH16 0xffffffffffffffffffffffffffffffff
00004eb6: DUP2
00004eb7: GT
00004eb8: PUSH2 0x4ed8
00004ebb: JUMPI
00004ebc: PUSH16 0xffffffffffffffffffffffffffffffff
00004ecd: PUSH2 0x05ad
00004ed0: SWAP2
00004ed1: AND
00004ed2: DUP1
00004ed3: SWAP4
00004ed4: PUSH2 0x36ec
00004ed7: JUMP
00004ed8: JUMPDEST
00004ed9: PUSH32 0x4916adce00000000000000000000000000000000000000000000000000000000
00004efa: PUSH0
00004efb: MSTORE
00004efc: PUSH1 0x04
00004efe: MSTORE
00004eff: PUSH1 0x24
00004f01: PUSH0
00004f02: REVERT
00004f03: JUMPDEST
00004f04: SWAP2
00004f05: SWAP1
00004f06: SWAP2
00004f07: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00004f28: DUP4
00004f29: DUP3
00004f2a: MULMOD
00004f2b: DUP4
00004f2c: DUP3
00004f2d: MUL
00004f2e: SWAP2
00004f2f: DUP3
00004f30: DUP1
00004f31: DUP4
00004f32: LT
00004f33: SWAP3
00004f34: SUB
00004f35: SWAP2
00004f36: DUP1
00004f37: DUP4
00004f38: SUB
00004f39: SWAP3
00004f3a: EQ
00004f3b: PUSH2 0x4fbf
00004f3e: JUMPI
00004f3f: PUSH8 0x0de0b6b3a7640000
00004f48: DUP3
00004f49: LT
00004f4a: ISZERO
00004f4b: PUSH2 0x4f8f
00004f4e: JUMPI
00004f4f: PUSH32 0xaccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac10669
00004f70: SWAP4
00004f71: SWAP5
00004f72: PUSH8 0x0de0b6b3a7640000
00004f7b: SWAP2
00004f7c: MULMOD
00004f7d: SWAP1
00004f7e: DUP3
00004f7f: DUP3
00004f80: GT
00004f81: SWAP1
00004f82: SUB
00004f83: PUSH1 0xee
00004f85: SHL
00004f86: SWAP2
00004f87: SUB
00004f88: PUSH1 0x12
00004f8a: SHR
00004f8b: OR
00004f8c: MUL
00004f8d: SWAP1
00004f8e: JUMP
00004f8f: JUMPDEST
00004f90: DUP5
00004f91: SWAP1
00004f92: PUSH32 0x5173648d00000000000000000000000000000000000000000000000000000000
00004fb3: PUSH0
00004fb4: MSTORE
00004fb5: PUSH1 0x04
00004fb7: MSTORE
00004fb8: PUSH1 0x24
00004fba: MSTORE
00004fbb: PUSH1 0x44
00004fbd: PUSH0
00004fbe: REVERT
00004fbf: JUMPDEST
00004fc0: POP
00004fc1: POP
00004fc2: PUSH8 0x0de0b6b3a7640000
00004fcb: SWAP1
00004fcc: DIV
00004fcd: SWAP2
00004fce: POP
00004fcf: JUMP
00004fd0: JUMPDEST
00004fd1: SWAP1
00004fd2: PUSH2 0x500d
00004fd5: JUMPI
00004fd6: POP
00004fd7: DUP1
00004fd8: MLOAD
00004fd9: ISZERO
00004fda: PUSH2 0x4fe5
00004fdd: JUMPI
00004fde: DUP1
00004fdf: MLOAD
00004fe0: SWAP1
00004fe1: PUSH1 0x20
00004fe3: ADD
00004fe4: REVERT
00004fe5: JUMPDEST
00004fe6: PUSH32 0x1425ea4200000000000000000000000000000000000000000000000000000000
00005007: PUSH0
00005008: MSTORE
00005009: PUSH1 0x04
0000500b: PUSH0
0000500c: REVERT
0000500d: JUMPDEST
0000500e: DUP2
0000500f: MLOAD
00005010: ISZERO
00005011: DUP1
00005012: PUSH2 0x5053
00005015: JUMPI
00005016: JUMPDEST
00005017: PUSH2 0x501e
0000501a: JUMPI
0000501b: POP
0000501c: SWAP1
0000501d: JUMP
0000501e: JUMPDEST
0000501f: PUSH1 0x01
00005021: PUSH1 0x01
00005023: PUSH1 0xa0
00005025: SHL
00005026: SUB
00005027: SWAP1
00005028: PUSH32 0x9996b31500000000000000000000000000000000000000000000000000000000
00005049: PUSH0
0000504a: MSTORE
0000504b: AND
0000504c: PUSH1 0x04
0000504e: MSTORE
0000504f: PUSH1 0x24
00005051: PUSH0
00005052: REVERT
00005053: JUMPDEST
00005054: POP
00005055: DUP1
00005056: EXTCODESIZE
00005057: ISZERO
00005058: PUSH2 0x5016
0000505b: JUMP
0000505c: INVALID
0000505d: LOG1
0000505e: PUSH5 0x736f6c6343
00005064: STOP
00005065: ADDMOD
00005066: BYTE
00005067: STOP
00005068: EXP

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
critical upgradeability detector Untrusted DELEGATECALL target reachable 70 no no
view
trace_id: 0xc9d55a1faeb3e18acc9ab9652f2ff6d3e0a3b96d9e06e2d638d36efd0bbf7d5f
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "unknown",
    "attempts": 192,
    "trace_id": "0xc9d55a1faeb3e18acc9ab9652f2ff6d3e0a3b96d9e06e2d638d36efd0bbf7d5f",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x01ffc9a7",
            "selector": "0x01ffc9a7",
            "calldata_variants": [
                "0x01ffc9a7",
                "0x01ffc9a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x081812fc",
            "selector": "0x081812fc",
            "calldata_variants": [
                "0x081812fc",
                "0x081812fc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x08b87923",
            "selector": "0x08b87923",
            "calldata_variants": [
                "0x08b87923",
                "0x08b879230000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0c5fd195",
            "selector": "0x0c5fd195",
            "calldata_variants": [
                "0x0c5fd195",
                "0x0c5fd1950000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0c699624",
            "selector": "0x0c699624",
            "calldata_variants": [
                "0x0c699624",
                "0x0c6996240000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x136439dd",
            "selector": "0x136439dd",
            "calldata_variants": [
                "0x136439dd",
                "0x136439dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3250,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [],
    "delegatecall_count": 1,
    "untrusted_delegatecall_count": 1
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0xeb92a21a5e020dbbcc88d244eec9085e419663d0fb12afbb1ec73c410a4b32e1
call_targets: 0x3df2aaede81d2f6b261f79047517713b8e844e04
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xeb92a21a5e020dbbcc88d244eec9085e419663d0fb12afbb1ec73c410a4b32e1",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x3df2aaede81d2f6b261f79047517713b8e844e04"
    ],
    "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": "0x08b87923",
            "selector": "0x08b87923",
            "calldata_variants": [
                "0x08b87923",
                "0x08b879230000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0c5fd195",
            "selector": "0x0c5fd195",
            "calldata_variants": [
                "0x0c5fd195",
                "0x0c5fd1950000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0c699624",
            "selector": "0x0c699624",
            "calldata_variants": [
                "0x0c699624",
                "0x0c6996240000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x136439dd",
            "selector": "0x136439dd",
            "calldata_variants": [
                "0x136439dd",
                "0x136439dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 10384,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 13125,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 19975,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 3,
    "guards_detected": [],
    "untrusted_call_count": 3
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0xeb92a21a5e020dbbcc88d244eec9085e419663d0fb12afbb1ec73c410a4b32e1
call_targets: 0x3df2aaede81d2f6b261f79047517713b8e844e04
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xeb92a21a5e020dbbcc88d244eec9085e419663d0fb12afbb1ec73c410a4b32e1",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x3df2aaede81d2f6b261f79047517713b8e844e04"
    ],
    "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": "0x08b87923",
            "selector": "0x08b87923",
            "calldata_variants": [
                "0x08b87923",
                "0x08b879230000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0c5fd195",
            "selector": "0x0c5fd195",
            "calldata_variants": [
                "0x0c5fd195",
                "0x0c5fd1950000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0c699624",
            "selector": "0x0c699624",
            "calldata_variants": [
                "0x0c699624",
                "0x0c6996240000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x136439dd",
            "selector": "0x136439dd",
            "calldata_variants": [
                "0x136439dd",
                "0x136439dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 10384,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 13125,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 19975,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 3,
    "guards_detected": []
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 1
}
low math codex `depletionTimeOf` can underflow for near-solvent streams due to scaled rounding 65 no
view
evidence_json
{
    "evidence": "`depletionTimeOf` checks `snapshotDebtScaled + _ongoingDebtScaledOf(streamId) >= balanceScaled + oneMVTScaled`, then in `unchecked` computes `balanceScaled - snapshotDebtScaled + oneMVTScaled` without guarding against `snapshotDebtScaled > balanceScaled` by less than one MVT.",
    "locations": [
        "contracts/src/SablierFlow.sol:80",
        "contracts/src/SablierFlow.sol:92"
    ],
    "recommendation": "Tighten the guard to ensure `snapshotDebtScaled + ongoingDebtScaled <= balanceScaled` before the unchecked subtraction, or perform checked subtraction and return 0 when `snapshotDebtScaled > balanceScaled`. Alternatively, compute with signed math or clamp `solvencyAmount` when debt exceeds balance by any amount.",
    "exploit_scenario": "For tokens with decimals < 18, `totalDebtScaled` can exceed `balanceScaled` by less than one MVT (e.g., remainder < 10^(18-decimals)) while the descaled total debt is still <= balance. In that case, the guard `snapshotDebtScaled + ongoingDebtScaled >= balanceScaled + oneMVTScaled` is false, and the unchecked subtraction `balanceScaled - snapshotDebtScaled` underflows, producing a huge `solvencyAmount` and an incorrect `depletionTime`. Off-chain or on-chain consumers can be misled into thinking a stream won\u2019t deplete for an extremely long time."
}
low other codex Fee-on-transfer/rebasing ERC20s can break stream accounting and lock withdrawals 65 no
view
evidence_json
{
    "evidence": "`_deposit` increments stream balance and `aggregateBalance` by `amount` before calling `token.safeTransferFrom`, without checking actual received tokens.",
    "locations": [
        "contracts/src/SablierFlow.sol:653",
        "contracts/src/SablierFlow.sol:662",
        "contracts/src/SablierFlow.sol:670"
    ],
    "recommendation": "Restrict supported tokens to standard ERC20s without transfer fees/rebases, or compute the actual received amount via balance-before/after and credit that delta. Consider reverting when `balanceAfter - balanceBefore != amount` to enforce invariant safety.",
    "exploit_scenario": "If a token charges a transfer fee or rebases down, `_deposit` will still credit the full `amount` to the stream and `aggregateBalance` even though fewer tokens are actually received. This inflates internal balances and can make future withdrawals revert due to insufficient contract balance, effectively locking funds for that token. The mismatch also makes `aggregateBalance` inaccurate, preventing `recover` from working as intended. A malicious or non-standard token can therefore cause persistent insolvency/DoS for streams using it."
}