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

Analysis Run

e18349bc-6257-4bf3-a411-59058d33edf0

failed
Chain ID
1
Address
Block Number
Created
Sun, Dec 28, 2025 1:02 PM
Review Summary

What survived the funnel

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

Confirmed
0
Validated
0
Source
Verified
Review Backing
Present
Best current signal
Untrusted CALL target/value reachable
crit 0 high 0 proxy context implementation known
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
30291 report.consolidate complete 1 / 1 3 months ago
73930 artifact.fetch failed 1 / 3 1 week ago
73931 tool.cast_disasm complete 1 / 3 1 week ago
73932 analysis.bundle complete 1 / 3 1 week ago
73933 capability.graph complete 1 / 3 1 week ago
73934 detector.run complete 1 / 3 1 week ago
73935 validation.fork complete 1 / 3 1 week ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: yes
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: stale/oracle-manipulable rates in redemption requests and a swapper path that can bypass downstream vault user restrictions.
View stderr
[codex:1363116] OpenAI Codex v0.77.0 (research preview)
[codex:1363116] --------
[codex:1363116] workdir: /tmp/codex-multi-qwvgu_2s
[codex:1363116] model: gpt-5.2-codex
[codex:1363116] provider: openai
[codex:1363116] approval: never
[codex:1363116] sandbox: read-only
[codex:1363116] reasoning effort: xhigh
[codex:1363116] reasoning summaries: auto
[codex:1363116] session id: 019b6504-6a4b-7be2-9dc4-b0f6726addaf
[codex:1363116] --------
[codex:1363116] user
[codex:1363116] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:1363116] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:1363116] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:1363116] 
[codex:1363116] Scope rules:
[codex:1363116] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:1363116] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:1363116] 
[codex:1363116] Output MUST be valid JSON matching the provided schema.
[codex:1363116] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:1363116] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:1363116] 
[codex:1363116] Output constraints (IMPORTANT):
[codex:1363116] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1363116] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1363116] mcp startup: no servers
[codex:1363116] 
[codex:1363116] thinking
[codex:1363116] **Preparing to audit audit bundle**
[codex:1363116] exec
[codex:1363116] /bin/bash -lc ls in /tmp/codex-multi-qwvgu_2s succeeded in 5ms:
[codex:1363116] AUDIT_BUNDLE.txt
[codex:1363116] codex-output-schema.json
[codex:1363116] contracts
[codex:1363116] 
[codex:1363116] thinking
[codex:1363116] **Reading AUDIT_BUNDLE.txt**
[codex:1363116] exec
[codex:1363116] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-qwvgu_2s succeeded in 6ms:
[codex:1363116] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1363116] 
[codex:1363116] ================================================================================
[codex:1363116] FILE: contracts/@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol
[codex:1363116] ================================================================================
[codex:1363116] // SPDX-License-Identifier: MIT
[codex:1363116] pragma solidity ^0.8.0;
[codex:1363116] 
[codex:1363116] interface AggregatorV3Interface {
[codex:1363116]   function decimals() external view returns (uint8);
[codex:1363116] 
[codex:1363116]   function description() external view returns (string memory);
[codex:1363116] 
[codex:1363116]   function version() external view returns (uint256);
[codex:1363116] 
[codex:1363116]   function getRoundData(uint80 _roundId)
[codex:1363116]     external
[codex:1363116]     view
[codex:1363116]     returns (
[codex:1363116]       uint80 roundId,
[codex:1363116] 
[codex:1363116] thinking
[codex:1363116] **Filtering first-party contracts for audit**
[codex:1363116] exec
[codex:1363116] /bin/bash -lc 'rg --files contracts/contracts' in /tmp/codex-multi-qwvgu_2s succeeded in 10ms:
[codex:1363116] contracts/contracts/interfaces/IDataFeed.sol
[codex:1363116] contracts/contracts/interfaces/IRedemptionVault.sol
[codex:1363116] contracts/contracts/interfaces/IMToken.sol
[codex:1363116] contracts/contracts/interfaces/ISanctionsList.sol
[codex:1363116] contracts/contracts/interfaces/IManageableVault.sol
[codex:1363116] contracts/contracts/interfaces/IRedemptionVaultWithSwapper.sol
[codex:1363116] contracts/contracts/RedemptionVaultWithSwapper.sol
[codex:1363116] contracts/contracts/RedemptionVault.sol
[codex:1363116] contracts/contracts/libraries/DecimalsCorrectionLibrary.sol
[codex:1363116] contracts/contracts/abstract/ManageableVault.sol
[codex:1363116] contracts/contracts/abstract/MidasInitializable.sol
[codex:1363116] contracts/contracts/abstract/WithSanctionsList.sol
[codex:1363116] contracts/contracts/mHYPER/MHyperMidasAccessControlRoles.sol
[codex:1363116] contracts/contracts/mHYPER/MHyperRedemptionVaultWithSwapper.sol
[codex:1363116] contracts/contracts/access/MidasAccessControlRoles.sol
[codex:1363116] contracts/contracts/access/Blacklistable.sol
[codex:1363116] contracts/contracts/access/WithMidasAccessControl.sol
[codex:1363116] contracts/contracts/access/Pausable.sol
[codex:1363116] contracts/contracts/access/Greenlistable.sol
[codex:1363116] contracts/contracts/access/MidasAccessControl.sol
[codex:1363116] 
[codex:1363116] thinking
[codex:1363116] **Reviewing key contract files**
[codex:1363116] exec
[codex:1363116] /bin/bash -lc "sed -n '1,200p' contracts/contracts/RedemptionVault.sol" in /tmp/codex-multi-qwvgu_2s succeeded in 5ms:
[codex:1363116] // SPDX-License-Identifier: MIT
[codex:1363116] pragma solidity 0.8.9;
[codex:1363116] 
[codex:1363116] import {IERC20Upgradeable as IERC20} from "@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol";
[codex:1363116] import {IERC20MetadataUpgradeable as IERC20Metadata} from "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable.sol";
[codex:1363116] 
[codex:1363116] import {Counters} from "@openzeppelin/contracts/utils/Counters.sol";
[codex:1363116] 
[codex:1363116] import "./interfaces/IRedemptionVault.sol";
[codex:1363116] import "./interfaces/IDataFeed.sol";
[codex:1363116] 
[codex:1363116] import "./abstract/ManageableVault.sol";
[codex:1363116] 
[codex:1363116] import "./access/Greenlistable.sol";
[codex:1363116] 
[codex:1363116] /**
[codex:1363116]  * @title RedemptionVault
[codex:1363116]  * @notice Smart contract that handles mToken redemptions
[codex:1363116]  * @author RedDuck Software
[codex:1363116]  */
[codex:1363116] 
[codex:1363116] thinking
[codex:1363116] **Continuing exploration**
[codex:1363116] exec
[codex:1363116] /bin/bash -lc "sed -n '200,400p' contracts/contracts/RedemptionVault.sol" in /tmp/codex-multi-qwvgu_2s succeeded in 5ms:
[codex:1363116]         _validateUserAccess(msg.sender);
[codex:1363116] 
[codex:1363116]         if (recipient != msg.sender) {
[codex:1363116]             _validateUserAccess(recipient);
[codex:1363116]         }
[codex:1363116] 
[codex:1363116]         (
[codex:1363116]             CalcAndValidateRedeemResult memory calcResult,
[codex:1363116]             uint256 amountTokenOutWithoutFee
[codex:1363116]         ) = _redeemInstant(
[codex:1363116]                 tokenOut,
[codex:1363116]                 amountMTokenIn,
[codex:1363116]                 minReceiveAmount,
[codex:1363116]                 recipient
[codex:1363116]             );
[codex:1363116] 
[codex:1363116]         emit RedeemInstantWithCustomRecipient(
[codex:1363116]             msg.sender,
[codex:1363116]             tokenOut,
[codex:1363116]             recipient,
[codex:1363116] 
[codex:1363116] thinking
[codex:1363116] **Proceeding with task**
[codex:1363116] exec
[codex:1363116] /bin/bash -lc "sed -n '400,800p' contracts/contracts/RedemptionVault.sol" in /tmp/codex-multi-qwvgu_2s succeeded in 5ms:
[codex:1363116]      */
[codex:1363116]     function setRequestRedeemer(address redeemer) external onlyVaultAdmin {
[codex:1363116]         _validateAddress(redeemer, false);
[codex:1363116] 
[codex:1363116]         requestRedeemer = redeemer;
[codex:1363116] 
[codex:1363116]         emit SetRequestRedeemer(msg.sender, redeemer);
[codex:1363116]     }
[codex:1363116] 
[codex:1363116]     /**
[codex:1363116]      * @inheritdoc IRedemptionVault
[codex:1363116]      */
[codex:1363116]     function safeBulkApproveRequest(
[codex:1363116]         uint256[] calldata requestIds,
[codex:1363116]         uint256 newOutRate
[codex:1363116]     ) public onlyVaultAdmin {
[codex:1363116]         for (uint256 i = 0; i < requestIds.length; i++) {
[codex:1363116]             bool success = _approveRequest(
[codex:1363116]                 requestIds[i],
[codex:1363116]                 newOutRate,
[codex:1363116] 
[codex:1363116] thinking
[codex:1363116] **Continuing process**
[codex:1363116] exec
[codex:1363116] /bin/bash -lc "sed -n '800,1200p' contracts/contracts/RedemptionVault.sol" in /tmp/codex-multi-qwvgu_2s succeeded in 5ms:
[codex:1363116]             bool /* success */
[codex:1363116]         )
[codex:1363116]     {
[codex:1363116]         uint256 balance = IERC20(token).balanceOf(requestRedeemer);
[codex:1363116]         return balance >= requiredLiquidity.convertFromBase18(tokenDecimals);
[codex:1363116]     }
[codex:1363116] 
[codex:1363116]     /**
[codex:1363116]      * @dev gets and validates mToken rate
[codex:1363116]      * @return mTokenRate mToken rate
[codex:1363116]      */
[codex:1363116]     function _getMTokenRate() private view returns (uint256 mTokenRate) {
[codex:1363116]         mTokenRate = _getTokenRate(address(mTokenDataFeed), false);
[codex:1363116]         require(mTokenRate > 0, "RV: rate zero");
[codex:1363116]     }
[codex:1363116] }
[codex:1363116] 
[codex:1363116] thinking
[codex:1363116] **Opening ManageableVault to explore access control**
[codex:1363116] exec
[codex:1363116] /bin/bash -lc "sed -n '1,200p' contracts/contracts/abstract/ManageableVault.sol" in /tmp/codex-multi-qwvgu_2s succeeded in 5ms:
[codex:1363116] // SPDX-License-Identifier: MIT
[codex:1363116] pragma solidity 0.8.9;
[codex:1363116] 
[codex:1363116] import {IERC20Upgradeable as IERC20} from "@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol";
[codex:1363116] import {IERC20MetadataUpgradeable as IERC20Metadata} from "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable.sol";
[codex:1363116] 
[codex:1363116] import {SafeERC20Upgradeable as SafeERC20} from "@openzeppelin/contracts-upgradeable/token/ERC20/utils/SafeERC20Upgradeable.sol";
[codex:1363116] import {EnumerableSetUpgradeable as EnumerableSet} from "@openzeppelin/contracts-upgradeable/utils/structs/EnumerableSetUpgradeable.sol";
[codex:1363116] 
[codex:1363116] import {Counters} from "@openzeppelin/contracts/utils/Counters.sol";
[codex:1363116] 
[codex:1363116] import "../interfaces/IManageableVault.sol";
[codex:1363116] import "../interfaces/IMToken.sol";
[codex:1363116] import "../interfaces/IDataFeed.sol";
[codex:1363116] 
[codex:1363116] import "../access/Greenlistable.sol";
[codex:1363116] import "../access/Blacklistable.sol";
[codex:1363116] import "../abstract/WithSanctionsList.sol";
[codex:1363116] 
[codex:1363116] import "../libraries/DecimalsCorrectionLibrary.sol";
[codex:1363116] 
[codex:1363116] thinking
[codex:1363116] **Continuing exploration**
[codex:1363116] exec
[codex:1363116] /bin/bash -lc "sed -n '200,400p' contracts/contracts/abstract/ManageableVault.sol" in /tmp/codex-multi-qwvgu_2s succeeded in 5ms:
[codex:1363116]      * @inheritdoc IManageableVault
[codex:1363116]      */
[codex:1363116]     function addPaymentToken(
[codex:1363116]         address token,
[codex:1363116]         address dataFeed,
[codex:1363116]         uint256 tokenFee,
[codex:1363116]         uint256 allowance,
[codex:1363116]         bool stable
[codex:1363116]     ) external onlyVaultAdmin {
[codex:1363116]         require(_paymentTokens.add(token), "MV: already added");
[codex:1363116]         _validateAddress(dataFeed, false);
[codex:1363116]         _validateFee(tokenFee, false);
[codex:1363116] 
[codex:1363116]         tokensConfig[token] = TokenConfig({
[codex:1363116]             dataFeed: dataFeed,
[codex:1363116]             fee: tokenFee,
[codex:1363116]             allowance: allowance,
[codex:1363116]             stable: stable
[codex:1363116]         });
[codex:1363116]         emit AddPaymentToken(
[codex:1363116] 
[codex:1363116] thinking
[codex:1363116] **Continuing process**
[codex:1363116] exec
[codex:1363116] /bin/bash -lc "sed -n '400,800p' contracts/contracts/abstract/ManageableVault.sol" in /tmp/codex-multi-qwvgu_2s succeeded in 5ms:
[codex:1363116]      */
[codex:1363116]     function pauseAdminRole() public view override returns (bytes32) {
[codex:1363116]         return vaultRole();
[codex:1363116]     }
[codex:1363116] 
[codex:1363116]     /**
[codex:1363116]      * @dev do safeTransferFrom on a given token
[codex:1363116]      * and converts `amount` from base18
[codex:1363116]      * to amount with a correct precision. Sends tokens
[codex:1363116]      * from `msg.sender` to `tokensReceiver`
[codex:1363116]      * @param token address of token
[codex:1363116]      * @param to address of user
[codex:1363116]      * @param amount amount of `token` to transfer from `user` (decimals 18)
[codex:1363116]      * @param tokenDecimals token decimals
[codex:1363116]      */
[codex:1363116]     function _tokenTransferFromUser(
[codex:1363116]         address token,
[codex:1363116]         address to,
[codex:1363116]         uint256 amount,
[codex:1363116]         uint256 tokenDecimals
[codex:1363116] 
[codex:1363116] thinking
[codex:1363116] **Examining RedemptionVaultWithSwapper**
[codex:1363116] exec
[codex:1363116] /bin/bash -lc "sed -n '1,200p' contracts/contracts/RedemptionVaultWithSwapper.sol" in /tmp/codex-multi-qwvgu_2s succeeded in 5ms:
[codex:1363116] // SPDX-License-Identifier: MIT
[codex:1363116] pragma solidity 0.8.9;
[codex:1363116] 
[codex:1363116] import {IERC20Upgradeable as IERC20} from "@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol";
[codex:1363116] import {SafeERC20Upgradeable as SafeERC20} from "@openzeppelin/contracts-upgradeable/token/ERC20/utils/SafeERC20Upgradeable.sol";
[codex:1363116] 
[codex:1363116] import "./RedemptionVault.sol";
[codex:1363116] import "./interfaces/IRedemptionVault.sol";
[codex:1363116] import "./interfaces/IRedemptionVaultWithSwapper.sol";
[codex:1363116] import "./libraries/DecimalsCorrectionLibrary.sol";
[codex:1363116] 
[codex:1363116] /**
[codex:1363116]  * @title RedemptionVaultWithSwapper
[codex:1363116]  * @notice Smart contract that handles mToken redemption.
[codex:1363116]  * In case of insufficient liquidity it uses a RV from a different
[codex:1363116]  * Midas product to fulfill instant redemption.
[codex:1363116]  * @dev mToken1 - is a main mToken of this vault
[codex:1363116]  * mToken2 - is a token of a second vault that is triggered when
[codex:1363116]  * current vault don`t have enough liquidity
[codex:1363116]  * @author RedDuck Software
[codex:1363116] 
[codex:1363116] thinking
[codex:1363116] **Continuing exploration**
[codex:1363116] exec
[codex:1363116] /bin/bash -lc "sed -n '200,400p' contracts/contracts/RedemptionVaultWithSwapper.sol" in /tmp/codex-multi-qwvgu_2s succeeded in 5ms:
[codex:1363116] 
[codex:1363116]     /**
[codex:1363116]      * @inheritdoc IRedemptionVaultWithSwapper
[codex:1363116]      */
[codex:1363116]     function setLiquidityProvider(address provider) external onlyVaultAdmin {
[codex:1363116]         require(liquidityProvider != provider, "MRVS: already provider");
[codex:1363116]         _validateAddress(provider, false);
[codex:1363116] 
[codex:1363116]         liquidityProvider = provider;
[codex:1363116] 
[codex:1363116]         emit SetLiquidityProvider(msg.sender, provider);
[codex:1363116]     }
[codex:1363116] 
[codex:1363116]     /**
[codex:1363116]      * @inheritdoc IRedemptionVaultWithSwapper
[codex:1363116]      */
[codex:1363116]     function setSwapperVault(address newVault) external onlyVaultAdmin {
[codex:1363116]         require(
[codex:1363116]             newVault != address(mTbillRedemptionVault),
[codex:1363116]             "MRVS: already provider"
[codex:1363116] 
[codex:1363116] thinking
[codex:1363116] **Opening access control contracts**
[codex:1363116] exec
[codex:1363116] /bin/bash -lc "sed -n '1,200p' contracts/contracts/access/MidasAccessControl.sol" in /tmp/codex-multi-qwvgu_2s succeeded in 5ms:
[codex:1363116] // SPDX-License-Identifier: MIT
[codex:1363116] pragma solidity 0.8.9;
[codex:1363116] 
[codex:1363116] import "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol";
[codex:1363116] 
[codex:1363116] import "./MidasAccessControlRoles.sol";
[codex:1363116] import "../abstract/MidasInitializable.sol";
[codex:1363116] 
[codex:1363116] /**
[codex:1363116]  * @title MidasAccessControl
[codex:1363116]  * @notice Smart contract that stores all roles for Midas project
[codex:1363116]  * @author RedDuck Software
[codex:1363116]  */
[codex:1363116] contract MidasAccessControl is
[codex:1363116]     AccessControlUpgradeable,
[codex:1363116]     MidasInitializable,
[codex:1363116]     MidasAccessControlRoles
[codex:1363116] {
[codex:1363116]     /**
[codex:1363116]      * @notice upgradeable pattern contract`s initializer
[codex:1363116] 
[codex:1363116] thinking
[codex:1363116] **Checking for MidasInitializable**
[codex:1363116] exec
[codex:1363116] /bin/bash -lc "sed -n '1,200p' contracts/contracts/abstract/MidasInitializable.sol" in /tmp/codex-multi-qwvgu_2s succeeded in 5ms:
[codex:1363116] // SPDX-License-Identifier: MIT
[codex:1363116] pragma solidity 0.8.9;
[codex:1363116] 
[codex:1363116] import "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol";
[codex:1363116] 
[codex:1363116] /**
[codex:1363116]  * @title MidasInitializable
[codex:1363116]  * @author RedDuck Software
[codex:1363116]  * @notice Base Initializable contract that implements constructor
[codex:1363116]  * that calls _disableInitializers() to prevent
[codex:1363116]  * initialization of implementation contract
[codex:1363116]  */
[codex:1363116] abstract contract MidasInitializable is Initializable {
[codex:1363116]     /// @custom:oz-upgrades-unsafe-allow constructor
[codex:1363116]     constructor() {
[codex:1363116]         _disableInitializers();
[codex:1363116]     }
[codex:1363116] }
[codex:1363116] 
[codex:1363116] thinking
[codex:1363116] **Reviewing access control modules**
[codex:1363116] exec
[codex:1363116] /bin/bash -lc "sed -n '1,200p' contracts/contracts/access/WithMidasAccessControl.sol" in /tmp/codex-multi-qwvgu_2s succeeded in 5ms:
[codex:1363116] // SPDX-License-Identifier: MIT
[codex:1363116] pragma solidity 0.8.9;
[codex:1363116] 
[codex:1363116] import "./MidasAccessControl.sol";
[codex:1363116] import "../abstract/MidasInitializable.sol";
[codex:1363116] 
[codex:1363116] /**
[codex:1363116]  * @title WithMidasAccessControl
[codex:1363116]  * @notice Base contract that consumes MidasAccessControl
[codex:1363116]  * @author RedDuck Software
[codex:1363116]  */
[codex:1363116] abstract contract WithMidasAccessControl is
[codex:1363116]     MidasInitializable,
[codex:1363116]     MidasAccessControlRoles
[codex:1363116] {
[codex:1363116]     /**
[codex:1363116]      * @notice admin role
[codex:1363116]      */
[codex:1363116]     bytes32 public constant DEFAULT_ADMIN_ROLE = 0x00;
[codex:1363116] 
[codex:1363116] 
[codex:1363116] thinking
[codex:1363116] **Marking as blacklistable**
[codex:1363116] exec
[codex:1363116] /bin/bash -lc "sed -n '1,200p' contracts/contracts/access/Blacklistable.sol" in /tmp/codex-multi-qwvgu_2s succeeded in 6ms:
[codex:1363116] // SPDX-License-Identifier: MIT
[codex:1363116] pragma solidity 0.8.9;
[codex:1363116] 
[codex:1363116] import "./WithMidasAccessControl.sol";
[codex:1363116] 
[codex:1363116] /**
[codex:1363116]  * @title Blacklistable
[codex:1363116]  * @notice Base contract that implements basic functions and modifiers
[codex:1363116]  * to work with blacklistable
[codex:1363116]  * @author RedDuck Software
[codex:1363116]  */
[codex:1363116] abstract contract Blacklistable is WithMidasAccessControl {
[codex:1363116]     /**
[codex:1363116]      * @dev leaving a storage gap for futures updates
[codex:1363116]      */
[codex:1363116]     uint256[50] private __gap;
[codex:1363116] 
[codex:1363116]     /**
[codex:1363116]      * @dev checks that a given `account` doesnt
[codex:1363116]      * have BLACKLISTED_ROLE
[codex:1363116] 
[codex:1363116] thinking
[codex:1363116] **Noting greenlistable status**
[codex:1363116] exec
[codex:1363116] /bin/bash -lc "sed -n '1,200p' contracts/contracts/access/Greenlistable.sol" in /tmp/codex-multi-qwvgu_2s succeeded in 7ms:
[codex:1363116] // SPDX-License-Identifier: MIT
[codex:1363116] pragma solidity 0.8.9;
[codex:1363116] 
[codex:1363116] import "./WithMidasAccessControl.sol";
[codex:1363116] 
[codex:1363116] /**
[codex:1363116]  * @title Greenlistable
[codex:1363116]  * @notice Base contract that implements basic functions and modifiers
[codex:1363116]  * to work with greenlistable
[codex:1363116]  * @author RedDuck Software
[codex:1363116]  */
[codex:1363116] abstract contract Greenlistable is WithMidasAccessControl {
[codex:1363116]     /**
[codex:1363116]      * @notice is greenlist enabled
[codex:1363116]      */
[codex:1363116]     bool public greenlistEnabled;
[codex:1363116] 
[codex:1363116]     /**
[codex:1363116]      * @dev leaving a storage gap for futures updates
[codex:1363116]      */
[codex:1363116] 
[codex:1363116] thinking
[codex:1363116] **Considering pausable functionality**
[codex:1363116] exec
[codex:1363116] /bin/bash -lc "sed -n '1,200p' contracts/contracts/access/Pausable.sol" in /tmp/codex-multi-qwvgu_2s succeeded in 6ms:
[codex:1363116] // SPDX-License-Identifier: UNLICENSED
[codex:1363116] pragma solidity 0.8.9;
[codex:1363116] 
[codex:1363116] import "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol";
[codex:1363116] import "../access/WithMidasAccessControl.sol";
[codex:1363116] 
[codex:1363116] /**
[codex:1363116]  * @title Pausable
[codex:1363116]  * @notice Base contract that implements basic functions and modifiers
[codex:1363116]  * with pause functionality
[codex:1363116]  * @author RedDuck Software
[codex:1363116]  */
[codex:1363116] abstract contract Pausable is WithMidasAccessControl, PausableUpgradeable {
[codex:1363116]     mapping(bytes4 => bool) public fnPaused;
[codex:1363116] 
[codex:1363116]     /**
[codex:1363116]      * @dev leaving a storage gap for futures updates
[codex:1363116]      */
[codex:1363116]     uint256[50] private __gap;
[codex:1363116] 
[codex:1363116] 
[codex:1363116] thinking
[codex:1363116] **Identifying keyword purpose**
[codex:1363116] exec
[codex:1363116] /bin/bash -lc "sed -n '1,200p' contracts/contracts/abstract/WithSanctionsList.sol" in /tmp/codex-multi-qwvgu_2s succeeded in 5ms:
[codex:1363116] // SPDX-License-Identifier: MIT
[codex:1363116] pragma solidity 0.8.9;
[codex:1363116] 
[codex:1363116] import "../interfaces/ISanctionsList.sol";
[codex:1363116] import "../access/WithMidasAccessControl.sol";
[codex:1363116] import "./MidasInitializable.sol";
[codex:1363116] 
[codex:1363116] /**
[codex:1363116]  * @title WithSanctionsList
[codex:1363116]  * @notice Base contract that uses sanctions oracle from
[codex:1363116]  * Chainalysis to check that user is not sanctioned
[codex:1363116]  * @author RedDuck Software
[codex:1363116]  */
[codex:1363116] abstract contract WithSanctionsList is WithMidasAccessControl {
[codex:1363116]     /**
[codex:1363116]      * @notice address of Chainalysis sanctions oracle
[codex:1363116]      */
[codex:1363116]     address public sanctionsList;
[codex:1363116] 
[codex:1363116]     /**
[codex:1363116] 
[codex:1363116] thinking
[codex:1363116] **Examining data feed interfaces**
[codex:1363116] exec
[codex:1363116] /bin/bash -lc "sed -n '1,200p' contracts/contracts/interfaces/IDataFeed.sol" in /tmp/codex-multi-qwvgu_2s succeeded in 5ms:
[codex:1363116] // SPDX-License-Identifier: MIT
[codex:1363116] pragma solidity 0.8.9;
[codex:1363116] 
[codex:1363116] import "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20PausableUpgradeable.sol";
[codex:1363116] import "@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol";
[codex:1363116] 
[codex:1363116] import "../access/WithMidasAccessControl.sol";
[codex:1363116] import "../libraries/DecimalsCorrectionLibrary.sol";
[codex:1363116] 
[codex:1363116] /**
[codex:1363116]  * @title IDataFeed
[codex:1363116]  * @author RedDuck Software
[codex:1363116]  */
[codex:1363116] interface IDataFeed {
[codex:1363116]     /**
[codex:1363116]      * @notice fetches answer from aggregator
[codex:1363116]      * and converts it to the base18 precision
[codex:1363116]      * @return answer fetched aggregator answer
[codex:1363116]      */
[codex:1363116]     function getDataInBase18() external view returns (uint256 answer);
[codex:1363116] 
[codex:1363116] thinking
[codex:1363116] **Identifying IMToken reference**
[codex:1363116] exec
[codex:1363116] /bin/bash -lc "sed -n '1,200p' contracts/contracts/interfaces/IMToken.sol" in /tmp/codex-multi-qwvgu_2s succeeded in 7ms:
[codex:1363116] // SPDX-License-Identifier: MIT
[codex:1363116] pragma solidity 0.8.9;
[codex:1363116] 
[codex:1363116] import "@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol";
[codex:1363116] 
[codex:1363116] /**
[codex:1363116]  * @title IMToken
[codex:1363116]  * @author RedDuck Software
[codex:1363116]  */
[codex:1363116] interface IMToken is IERC20Upgradeable {
[codex:1363116]     /**
[codex:1363116]      * @notice mints mToken token `amount` to a given `to` address.
[codex:1363116]      * should be called only from permissioned actor
[codex:1363116]      * @param to addres to mint tokens to
[codex:1363116]      * @param amount amount to mint
[codex:1363116]      */
[codex:1363116]     function mint(address to, uint256 amount) external;
[codex:1363116] 
[codex:1363116]     /**
[codex:1363116]      * @notice burns mToken token `amount` to a given `to` address.
[codex:1363116] 
[codex:1363116] thinking
[codex:1363116] **Reviewing IManageableVault interface**
[codex:1363116] exec
[codex:1363116] /bin/bash -lc "sed -n '1,200p' contracts/contracts/interfaces/IManageableVault.sol" in /tmp/codex-multi-qwvgu_2s succeeded in 6ms:
[codex:1363116] // SPDX-License-Identifier: MIT
[codex:1363116] pragma solidity 0.8.9;
[codex:1363116] 
[codex:1363116] import "./IMToken.sol";
[codex:1363116] import "./IDataFeed.sol";
[codex:1363116] 
[codex:1363116] /**
[codex:1363116]  * @param dataFeed data feed token/USD address
[codex:1363116]  * @param fee fee by token, 1% = 100
[codex:1363116]  * @param allowance token allowance (decimals 18)
[codex:1363116]  */
[codex:1363116] struct TokenConfig {
[codex:1363116]     address dataFeed;
[codex:1363116]     uint256 fee;
[codex:1363116]     uint256 allowance;
[codex:1363116]     bool stable;
[codex:1363116] }
[codex:1363116] 
[codex:1363116] enum RequestStatus {
[codex:1363116]     Pending,
[codex:1363116] 
[codex:1363116] thinking
[codex:1363116] **Noting interface and role references**
[codex:1363116] exec
[codex:1363116] /bin/bash -lc "sed -n '1,200p' contracts/contracts/access/MidasAccessControlRoles.sol" in /tmp/codex-multi-qwvgu_2s succeeded in 5ms:
[codex:1363116] // SPDX-License-Identifier: MIT
[codex:1363116] pragma solidity 0.8.9;
[codex:1363116] 
[codex:1363116] /**
[codex:1363116]  * @title MidasAccessControlRoles
[codex:1363116]  * @notice Base contract that stores all roles descriptors
[codex:1363116]  * @author RedDuck Software
[codex:1363116]  */
[codex:1363116] abstract contract MidasAccessControlRoles {
[codex:1363116]     /**
[codex:1363116]      * @notice actor that can change green list statuses of addresses
[codex:1363116]      */
[codex:1363116]     bytes32 public constant GREENLIST_OPERATOR_ROLE =
[codex:1363116]         keccak256("GREENLIST_OPERATOR_ROLE");
[codex:1363116] 
[codex:1363116]     /**
[codex:1363116]      * @notice actor that can change black list statuses of addresses
[codex:1363116]      */
[codex:1363116]     bytes32 public constant BLACKLIST_OPERATOR_ROLE =
[codex:1363116]         keccak256("BLACKLIST_OPERATOR_ROLE");
[codex:1363116] 
[codex:1363116] 
[codex:1363116] thinking
[codex:1363116] **Analyzing reentrancy and oracle risks**
[codex:1363116] thinking
[codex:1363116] **Examining allowance accounting and upgrade patterns**
[codex:1363116] 
[codex:1363116] I'm noticing that the allowance decrement uses a larger amount than tokens actually sent out, which could cause premature allowance exhaustion and denial of service. I’m also reviewing initializer calls and inheritance to confirm the proper setup of access control and upgrade safety. There are subtle mismatches in how allowances and transfers handle fees, along with some complex interactions around redemptions and swaps that might affect system behavior but don’t immediately look exploitable.
[codex:1363116] exec
[codex:1363116] /bin/bash -lc 'rg -n "DataFeed" contracts/contracts' in /tmp/codex-multi-qwvgu_2s succeeded in 12ms:
[codex:1363116] contracts/contracts/interfaces/IDataFeed.sol:11: * @title IDataFeed
[codex:1363116] contracts/contracts/interfaces/IDataFeed.sol:14:interface IDataFeed {
[codex:1363116] contracts/contracts/RedemptionVaultWithSwapper.sol:246:            .mTokenDataFeed()
[codex:1363116] contracts/contracts/RedemptionVaultWithSwapper.sol:248:        uint256 mTokenRate = mTokenDataFeed.getDataInBase18();
[codex:1363116] contracts/contracts/RedemptionVault.sol:10:import "./interfaces/IDataFeed.sol";
[codex:1363116] contracts/contracts/RedemptionVault.sol:664:        uint256 mTokenRate = mTokenDataFeed.getDataInBase18();
[codex:1363116] contracts/contracts/RedemptionVault.sol:812:        mTokenRate = _getTokenRate(address(mTokenDataFeed), false);
[codex:1363116] contracts/contracts/interfaces/IManageableVault.sol:5:import "./IDataFeed.sol";
[codex:1363116] contracts/contracts/interfaces/IManageableVault.sol:27:    address mTokenDataFeed;
[codex:1363116] contracts/contracts/interfaces/IManageableVault.sol:159:     * @notice The mTokenDataFeed contract address.
[codex:1363116] contracts/contracts/interfaces/IManageableVault.sol:160:     * @return The address of the mTokenDataFeed contract.
[codex:1363116] contracts/contracts/interfaces/IManageableVault.sol:162:    function mTokenDataFeed() external view returns (IDataFeed);
[codex:1363116] contracts/contracts/mHYPER/MHyperMidasAccessControlRoles.sol:23:     * @notice actor that can manage MHyperCustomAggregatorFeed and MHyperDataFeed
[codex:1363116] contracts/contracts/abstract/ManageableVault.sol:14:import "../interfaces/IDataFeed.sol";
[codex:1363116] contracts/contracts/abstract/ManageableVault.sol:71:    IDataFeed public mTokenDataFeed;
[codex:1363116] contracts/contracts/abstract/ManageableVault.sol:164:        _validateAddress(_mTokenInitParams.mTokenDataFeed, false);
[codex:1363116] contracts/contracts/abstract/ManageableVault.sol:183:        mTokenDataFeed = IDataFeed(_mTokenInitParams.mTokenDataFeed);
[codex:1363116] contracts/contracts/abstract/ManageableVault.sol:639:        uint256 rate = IDataFeed(dataFeed).getDataInBase18();
[codex:1363116] 
[codex:1363116] thinking
[codex:1363116] **Reviewing contract vulnerabilities and design notes**
[codex:1363116] 
[codex:1363116] I’m examining potential issues in contract upgradeability, access control, rounding in token conversions, and function parameters, considering both design choices and vulnerabilities. There are some nuanced points about token decimal handling and access checks, but most things appear intended or low risk. I’m also looking at roles management, safe token transfers, and potential oracle misconfigurations, noting a few minor or medium-severity flags but no critical flaws stand out so far.
[codex:1363116] exec
[codex:1363116] /bin/bash -lc "rg -n \"delegatecall|call\\(\" contracts/contracts" in /tmp/codex-multi-qwvgu_2s exited 1 in 9ms:
[codex:1363116] 
[codex:1363116] 
[codex:1363116] 
[codex:1363116] 
[codex:1363116] thinking
[codex:1363116] **Analyzing potential vulnerabilities and reentrancy risks**
[codex:1363116] 
[codex:1363116] This is a deep dive into fee validations, allowance handling, token transfers, and reentrancy, especially around redeemRequest and redeemInstant. I'm examining subtle risks like allowance oversights, unlimited allowances, and how ERC777 hooks might enable reentrancy to cause overwritten requests or accounting issues, plus challenges with fee-on-transfer tokens and token swaps possibly exposing DoS or misaccounting scenarios. There’s no clear exploitable bug found yet, but the interplay of external calls before state updates and unchecked assumptions definitely raise flags worth noting.
[codex:1363116] thinking
[codex:1363116] **Examining cross-vault access controls and oracle-related DoS risks**
[codex:1363116] 
[codex:1363116] I'm following the complex interactions around token transfers, reentrancy, and especially how RedemptionVaultWithSwapper calls the mTbill vault's redeemInstant, causing potential access control bypass due to caller identity. Also, oracle price data can be zero, risking division-by-zero errors in approval functions and potentially locking requests indefinitely, which might lead to denial-of-service impacting users’ funds. This blend of cross-contract logic and oracle dependency is intriguing to unpack!
[codex:1363116] thinking
[codex:1363116] **Detailing oracle manipulation and token validation concerns**
[codex:1363116] 
[codex:1363116] I’m following how oracle price feeds returning zero values could lead to stuck redemption requests and division-by-zero errors, creating denial-of-service scenarios for users. There are also edge cases like adding zero addresses as payment tokens or transferring tokens to address zero that could cause failures or token burns. These nuances around oracle data and token validation show opportunities for misconfiguration or unintended behaviors worth noting.
[codex:1363116] exec
[codex:1363116] /bin/bash -lc 'rg -n "TODO|FIXME|HACK" contracts/contracts' in /tmp/codex-multi-qwvgu_2s succeeded in 10ms:
[codex:1363116] contracts/contracts/interfaces/ISanctionsList.sol:4:// TODO: add natspec
[codex:1363116] 
[codex:1363116] thinking
[codex:1363116] **Analyzing upgradeability and security concerns**
[codex:1363116] 
[codex:1363116] I’m digging into potential upgradeability quirks with multiple storage gaps in RedemptionVaultWithSwapper and scrutinizing allowance handling in _redeemInstant for rounding and truncation mismatches. I’m also considering possible access control bypass via mTbill vault pathways and subtle reentrancy risks around request ID management after external calls. Finally, I’m planning to gather precise line numbers for these key issues to report details clearly.
[codex:1363116] exec
[codex:1363116] /bin/bash -lc "nl -ba contracts/contracts/RedemptionVaultWithSwapper.sol | sed -n '120,220p'" in /tmp/codex-multi-qwvgu_2s succeeded in 6ms:
[codex:1363116]    120	            user,
[codex:1363116]    121	            tokenOut,
[codex:1363116]    122	            amountMTokenIn,
[codex:1363116]    123	            true,
[codex:1363116]    124	            false
[codex:1363116]    125	        );
[codex:1363116]    126	
[codex:1363116]    127	        uint256 tokenDecimals = _tokenDecimals(tokenOut);
[codex:1363116]    128	
[codex:1363116]    129	        uint256 amountMTokenInCopy = amountMTokenIn;
[codex:1363116]    130	        address tokenOutCopy = tokenOut;
[codex:1363116]    131	        uint256 minReceiveAmountCopy = minReceiveAmount;
[codex:1363116]    132	
[codex:1363116]    133	        (uint256 amountMTokenInUsd, uint256 mTokenRate) = _convertMTokenToUsd(
[codex:1363116]    134	            amountMTokenInCopy
[codex:1363116]    135	        );
[codex:1363116]    136	        (uint256 amountTokenOut, uint256 tokenOutRate) = _convertUsdToToken(
[codex:1363116]    137	            amountMTokenInUsd,
[codex:1363116]    138	            tokenOutCopy
[codex:1363116]    139	        );
[codex:1363116] 
[codex:1363116] thinking
[codex:1363116] **Analyzing RedemptionVault rate handling**
[codex:1363116] exec
[codex:1363116] /bin/bash -lc "nl -ba contracts/contracts/RedemptionVault.sol | sed -n '560,740p'" in /tmp/codex-multi-qwvgu_2s succeeded in 6ms:
[codex:1363116]    560	            CalcAndValidateRedeemResult memory calcResult,
[codex:1363116]    561	            uint256 amountTokenOutWithoutFee
[codex:1363116]    562	        )
[codex:1363116]    563	    {
[codex:1363116]    564	        address user = msg.sender;
[codex:1363116]    565	
[codex:1363116]    566	        calcResult = _calcAndValidateRedeem(
[codex:1363116]    567	            user,
[codex:1363116]    568	            tokenOut,
[codex:1363116]    569	            amountMTokenIn,
[codex:1363116]    570	            true,
[codex:1363116]    571	            false
[codex:1363116]    572	        );
[codex:1363116]    573	
[codex:1363116]    574	        _requireAndUpdateLimit(amountMTokenIn);
[codex:1363116]    575	
[codex:1363116]    576	        address tokenOutCopy = tokenOut;
[codex:1363116]    577	        uint256 tokenDecimals = _tokenDecimals(tokenOutCopy);
[codex:1363116]    578	
[codex:1363116]    579	        (uint256 amountMTokenInUsd, uint256 mTokenRate) = _convertMTokenToUsd(
[codex:1363116] 
[codex:1363116] thinking
[codex:1363116] **Analyzing token rate validation issues**
[codex:1363116] exec
[codex:1363116] /bin/bash -lc "nl -ba contracts/contracts/RedemptionVault.sol | sed -n '430,560p'" in /tmp/codex-multi-qwvgu_2s succeeded in 6ms:
[codex:1363116]    430	    }
[codex:1363116]    431	
[codex:1363116]    432	    /**
[codex:1363116]    433	     * @inheritdoc ManageableVault
[codex:1363116]    434	     */
[codex:1363116]    435	    function vaultRole() public pure virtual override returns (bytes32) {
[codex:1363116]    436	        return _DEFAULT_REDEMPTION_VAULT_ADMIN_ROLE;
[codex:1363116]    437	    }
[codex:1363116]    438	
[codex:1363116]    439	    /**
[codex:1363116]    440	     * @inheritdoc Greenlistable
[codex:1363116]    441	     */
[codex:1363116]    442	    function greenlistTogglerRole()
[codex:1363116]    443	        public
[codex:1363116]    444	        view
[codex:1363116]    445	        virtual
[codex:1363116]    446	        override
[codex:1363116]    447	        returns (bytes32)
[codex:1363116]    448	    {
[codex:1363116]    449	        return vaultRole();
[codex:1363116] 
[codex:1363116] 
[codex:1363116] thinking
[codex:1363116] **Summarizing detailed vulnerability analysis**
[codex:1363116] 
[codex:1363116] I'm compiling a thorough list of potential vulnerabilities, focusing mainly on oracle manipulation risks from stale or zero token rates leading to inflated redemptions or locked requests, an access control bypass via swapper calls that circumvent downstream vault restrictions, and some considerations around reentrancy and division-by-zero errors. I’ll package these into JSON findings with severity, categories, evidence, and recommendations to help the user understand and address these key security issues.
[codex:1363116] thinking
[codex:1363116] **Proposing enhanced access control for swapper**
[codex:1363116] 
[codex:1363116] I'm considering adding user-specific checks in the swapper to enforce mTbill vault's access controls, either by integrating the vault's lists or redesigning contract interactions to ensure users are verified before redemption. I'll also gather exact line numbers around RedeemInstant and _validateUserAccess to support these recommendations with precise evidence.
[codex:1363116] exec
[codex:1363116] /bin/bash -lc "nl -ba contracts/contracts/RedemptionVault.sol | sed -n '90,180p'" in /tmp/codex-multi-qwvgu_2s succeeded in 7ms:
[codex:1363116]     90	
[codex:1363116]     91	    /**
[codex:1363116]     92	     * @dev leaving a storage gap for futures updates
[codex:1363116]     93	     */
[codex:1363116]     94	    uint256[50] private __gap;
[codex:1363116]     95	
[codex:1363116]     96	    /**
[codex:1363116]     97	     * @notice upgradeable pattern contract`s initializer
[codex:1363116]     98	     * @param _ac address of MidasAccessControll contract
[codex:1363116]     99	     * @param _mTokenInitParams init params for mToken
[codex:1363116]    100	     * @param _receiversInitParams init params for receivers
[codex:1363116]    101	     * @param _instantInitParams init params for instant operations
[codex:1363116]    102	     * @param _sanctionsList address of sanctionsList contract
[codex:1363116]    103	     * @param _variationTolerance percent of prices diviation 1% = 100
[codex:1363116]    104	     * @param _minAmount basic min amount for operations
[codex:1363116]    105	     * @param _fiatRedemptionInitParams params fiatAdditionalFee, fiatFlatFee, minFiatRedeemAmount
[codex:1363116]    106	     * @param _requestRedeemer address is designated for standard redemptions, allowing tokens to be pulled from this address
[codex:1363116]    107	     */
[codex:1363116]    108	    function initialize(
[codex:1363116]    109	        address _ac,
[codex:1363116] 
[codex:1363116] thinking
[codex:1363116] **Summarizing vulnerability findings and crafting JSON output**
[codex:1363116] 
[codex:1363116] I'm carefully organizing two medium-severity findings: one about stale oracle rate usage that risks payout inflation or stuck funds due to unvalidated stored tokenOutRate, and another about access control bypass via the swapper vault calling mTbill vault as msg.sender. I'll build concise exploit scenarios, recommendations, and evidence snippets with precise file paths and line numbers, then format everything into a valid JSON schema including summary and no_findings flag as false.
[codex:1363116] codex
[codex:1363116] {"no_findings":false,"summary":"Found 2 issues: stale/oracle-manipulable rates in redemption requests and a swapper path that can bypass downstream vault user restrictions.","findings":[{"severity":"medium","category":"oracle","title":"Redemption requests lock in unvalidated tokenOutRate, enabling oracle manipulation or stuck approvals","exploit_scenario":"An attacker can create a redeem request while the tokenOut data feed is manipulated to a very low value (or returns 0). The request stores this tokenOutRate, and approval later uses it without revalidation, so `amountTokenOutWithoutFee` becomes inflated and the requester can receive excess tokenOut. If the stored rate is 0, approvals revert on division-by-zero and the request becomes permanently stuck, locking user mToken.","recommendation":"Recompute tokenOutRate (and mTokenRate) at approval time or enforce a deviation tolerance for both rates before approving. Require non-zero rates when creating requests and reject stale/invalid oracle responses.","evidence":"_redeemRequest stores rates without checks (`tokenOutRate = _getTokenRate(...)`, `mTokenRate = mTokenDataFeed.getDataInBase18()`), while `_approveRequest` later computes `amountTokenOutWithoutFee = (request.amountMToken * newMTokenRate) / request.tokenOutRate` and only validates `request.mTokenRate` via `_requireVariationTolerance`.","locations":["contracts/contracts/RedemptionVault.sol:659","contracts/contracts/RedemptionVault.sol:664","contracts/contracts/RedemptionVault.sol:481","contracts/contracts/RedemptionVault.sol:489"]},{"severity":"medium","category":"access_control","title":"Swapper redemption bypasses downstream vault user restrictions","exploit_scenario":"When liquidity is insufficient, the swapper calls `mTbillRedemptionVault.redeemInstant` as itself. The downstream vault validates `msg.sender`, so only the swapper address is checked. Any user permitted by the swapper vault—even if blacklisted/sanctioned in the mTbill vault—can redeem through this path and receive funds, bypassing the mTbill vault’s user-level restrictions.","recommendation":"Ensure the swapper enforces the same greenlist/blacklist/sanctions rules as the downstream vault, or add a redeem-on-behalf method in the downstream vault that validates the end user. Otherwise restrict the swapper from interacting with vaults that have stricter access lists.","evidence":"Swapper invokes `mTbillRedemptionVault.redeemInstant(...)`, while the downstream vault’s `redeemInstant` checks `_validateUserAccess(msg.sender)` (the swapper contract).","locations":["contracts/contracts/RedemptionVaultWithSwapper.sol:176","contracts/contracts/RedemptionVaultWithSwapper.sol:181","contracts/contracts/RedemptionVault.sol:165"]}]}
[codex:1363116] tokens used
[codex:1363116] 92,667
[codex:1363116] {"no_findings":false,"summary":"Found 2 issues: stale/oracle-manipulable rates in redemption requests and a swapper path that can bypass downstream vault user restrictions.","findings":[{"severity":"medium","category":"oracle","title":"Redemption requests lock in unvalidated tokenOutRate, enabling oracle manipulation or stuck approvals","exploit_scenario":"An attacker can create a redeem request while the tokenOut data feed is manipulated to a very low value (or returns 0). The request stores this tokenOutRate, and approval later uses it without revalidation, so `amountTokenOutWithoutFee` becomes inflated and the requester can receive excess tokenOut. If the stored rate is 0, approvals revert on division-by-zero and the request becomes permanently stuck, locking user mToken.","recommendation":"Recompute tokenOutRate (and mTokenRate) at approval time or enforce a deviation tolerance for both rates before approving. Require non-zero rates when creating requests and reject stale/invalid oracle responses.","evidence":"_redeemRequest stores rates without checks (`tokenOutRate = _getTokenRate(...)`, `mTokenRate = mTokenDataFeed.getDataInBase18()`), while `_approveRequest` later computes `amountTokenOutWithoutFee = (request.amountMToken * newMTokenRate) / request.tokenOutRate` and only validates `request.mTokenRate` via `_requireVariationTolerance`.","locations":["contracts/contracts/RedemptionVault.sol:659","contracts/contracts/RedemptionVault.sol:664","contracts/contracts/RedemptionVault.sol:481","contracts/contracts/RedemptionVault.sol:489"]},{"severity":"medium","category":"access_control","title":"Swapper redemption bypasses downstream vault user restrictions","exploit_scenario":"When liquidity is insufficient, the swapper calls `mTbillRedemptionVault.redeemInstant` as itself. The downstream vault validates `msg.sender`, so only the swapper address is checked. Any user permitted by the swapper vault—even if blacklisted/sanctioned in the mTbill vault—can redeem through this path and receive funds, bypassing the mTbill vault’s user-level restrictions.","recommendation":"Ensure the swapper enforces the same greenlist/blacklist/sanctions rules as the downstream vault, or add a redeem-on-behalf method in the downstream vault that validates the end user. Otherwise restrict the swapper from interacting with vaults that have stricter access lists.","evidence":"Swapper invokes `mTbillRedemptionVault.redeemInstant(...)`, while the downstream vault’s `redeemInstant` checks `_validateUserAccess(msg.sender)` (the swapper contract).","locations":["contracts/contracts/RedemptionVaultWithSwapper.sol:176","contracts/contracts/RedemptionVaultWithSwapper.sol:181","contracts/contracts/RedemptionVault.sol:165"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-28T13:02:25.187935+00:00",
        "returncode": 0
    },
    "summary": "Found 2 issues: stale/oracle-manipulable rates in redemption requests and a swapper path that can bypass downstream vault user restrictions.",
    "raw_final": {
        "summary": "Found 2 issues: stale/oracle-manipulable rates in redemption requests and a swapper path that can bypass downstream vault user restrictions.",
        "findings": [
            {
                "title": "Redemption requests lock in unvalidated tokenOutRate, enabling oracle manipulation or stuck approvals",
                "category": "oracle",
                "evidence": "_redeemRequest stores rates without checks (`tokenOutRate = _getTokenRate(...)`, `mTokenRate = mTokenDataFeed.getDataInBase18()`), while `_approveRequest` later computes `amountTokenOutWithoutFee = (request.amountMToken * newMTokenRate) / request.tokenOutRate` and only validates `request.mTokenRate` via `_requireVariationTolerance`.",
                "severity": "medium",
                "locations": [
                    "contracts/contracts/RedemptionVault.sol:659",
                    "contracts/contracts/RedemptionVault.sol:664",
                    "contracts/contracts/RedemptionVault.sol:481",
                    "contracts/contracts/RedemptionVault.sol:489"
                ],
                "recommendation": "Recompute tokenOutRate (and mTokenRate) at approval time or enforce a deviation tolerance for both rates before approving. Require non-zero rates when creating requests and reject stale/invalid oracle responses.",
                "exploit_scenario": "An attacker can create a redeem request while the tokenOut data feed is manipulated to a very low value (or returns 0). The request stores this tokenOutRate, and approval later uses it without revalidation, so `amountTokenOutWithoutFee` becomes inflated and the requester can receive excess tokenOut. If the stored rate is 0, approvals revert on division-by-zero and the request becomes permanently stuck, locking user mToken."
            },
            {
                "title": "Swapper redemption bypasses downstream vault user restrictions",
                "category": "access_control",
                "evidence": "Swapper invokes `mTbillRedemptionVault.redeemInstant(...)`, while the downstream vault\u2019s `redeemInstant` checks `_validateUserAccess(msg.sender)` (the swapper contract).",
                "severity": "medium",
                "locations": [
                    "contracts/contracts/RedemptionVaultWithSwapper.sol:176",
                    "contracts/contracts/RedemptionVaultWithSwapper.sol:181",
                    "contracts/contracts/RedemptionVault.sol:165"
                ],
                "recommendation": "Ensure the swapper enforces the same greenlist/blacklist/sanctions rules as the downstream vault, or add a redeem-on-behalf method in the downstream vault that validates the end user. Otherwise restrict the swapper from interacting with vaults that have stricter access lists.",
                "exploit_scenario": "When liquidity is insufficient, the swapper calls `mTbillRedemptionVault.redeemInstant` as itself. The downstream vault validates `msg.sender`, so only the swapper address is checked. Any user permitted by the swapper vault\u2014even if blacklisted/sanctioned in the mTbill vault\u2014can redeem through this path and receive funds, bypassing the mTbill vault\u2019s user-level restrictions."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
20
EXT*/BALANCE
21
Total opcodes
12157
Flags
heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLVALUE
00000006: DUP1
00000007: ISZERO
00000008: PUSH2 0x0010
0000000b: JUMPI
0000000c: PUSH1 0x00
0000000e: DUP1
0000000f: REVERT
00000010: JUMPDEST
00000011: POP
00000012: PUSH1 0x04
00000014: CALLDATASIZE
00000015: LT
00000016: PUSH2 0x048b
00000019: JUMPI
0000001a: PUSH1 0x00
0000001c: CALLDATALOAD
0000001d: PUSH1 0xe0
0000001f: SHR
00000020: DUP1
00000021: PUSH4 0x85ab2c13
00000026: GT
00000027: PUSH2 0x0262
0000002a: JUMPI
0000002b: DUP1
0000002c: PUSH4 0xc3b6f939
00000031: GT
00000032: PUSH2 0x0151
00000035: JUMPI
00000036: DUP1
00000037: PUSH4 0xdd0081c7
0000003c: GT
0000003d: PUSH2 0x00ce
00000040: JUMPI
00000041: DUP1
00000042: PUSH4 0xeaf896fd
00000047: GT
00000048: PUSH2 0x0092
0000004b: JUMPI
0000004c: DUP1
0000004d: PUSH4 0xeaf896fd
00000052: EQ
00000053: PUSH2 0x0b1d
00000056: JUMPI
00000057: DUP1
00000058: PUSH4 0xec571c6a
0000005d: EQ
0000005e: PUSH2 0x0b25
00000061: JUMPI
00000062: DUP1
00000063: PUSH4 0xef3d7e6c
00000068: EQ
00000069: PUSH2 0x0b39
0000006c: JUMPI
0000006d: DUP1
0000006e: PUSH4 0xefdcd974
00000073: EQ
00000074: PUSH2 0x0b60
00000077: JUMPI
00000078: DUP1
00000079: PUSH4 0xf41759e7
0000007e: EQ
0000007f: PUSH2 0x0b73
00000082: JUMPI
00000083: DUP1
00000084: PUSH4 0xf5d46c51
00000089: EQ
0000008a: PUSH2 0x0b86
0000008d: JUMPI
0000008e: PUSH1 0x00
00000090: DUP1
00000091: REVERT
00000092: JUMPDEST
00000093: DUP1
00000094: PUSH4 0xdd0081c7
00000099: EQ
0000009a: PUSH2 0x0a7f
0000009d: JUMPI
0000009e: DUP1
0000009f: PUSH4 0xe428877e
000000a4: EQ
000000a5: PUSH2 0x0a88
000000a8: JUMPI
000000a9: DUP1
000000aa: PUSH4 0xe5b5019a
000000af: EQ
000000b0: PUSH2 0x0a9b
000000b3: JUMPI
000000b4: DUP1
000000b5: PUSH4 0xe624c4bc
000000ba: EQ
000000bb: PUSH2 0x0aa4
000000be: JUMPI
000000bf: DUP1
000000c0: PUSH4 0xe85ba3e9
000000c5: EQ
000000c6: PUSH2 0x0ab7
000000c9: JUMPI
000000ca: PUSH1 0x00
000000cc: DUP1
000000cd: REVERT
000000ce: JUMPDEST
000000cf: DUP1
000000d0: PUSH4 0xd5f73f5c
000000d5: GT
000000d6: PUSH2 0x0115
000000d9: JUMPI
000000da: DUP1
000000db: PUSH4 0xd5f73f5c
000000e0: EQ
000000e1: PUSH2 0x0a21
000000e4: JUMPI
000000e5: DUP1
000000e6: PUSH4 0xd7fd2bae
000000eb: EQ
000000ec: PUSH2 0x0a34
000000ef: JUMPI
000000f0: DUP1
000000f1: PUSH4 0xd9fbce81
000000f6: EQ
000000f7: PUSH2 0x0a58
000000fa: JUMPI
000000fb: DUP1
000000fc: PUSH4 0xdaddcb16
00000101: EQ
00000102: PUSH2 0x062c
00000105: JUMPI
00000106: DUP1
00000107: PUSH4 0xdb74d8b5
0000010c: EQ
0000010d: PUSH2 0x0a6c
00000110: JUMPI
00000111: PUSH1 0x00
00000113: DUP1
00000114: REVERT
00000115: JUMPDEST
00000116: DUP1
00000117: PUSH4 0xc3b6f939
0000011c: EQ
0000011d: PUSH2 0x09db
00000120: JUMPI
00000121: DUP1
00000122: PUSH4 0xc47d51be
00000127: EQ
00000128: PUSH2 0x09ef
0000012b: JUMPI
0000012c: DUP1
0000012d: PUSH4 0xca5e553e
00000132: EQ
00000133: PUSH2 0x09f9
00000136: JUMPI
00000137: DUP1
00000138: PUSH4 0xcabccc7f
0000013d: EQ
0000013e: PUSH2 0x062c
00000141: JUMPI
00000142: DUP1
00000143: PUSH4 0xd35780b4
00000148: EQ
00000149: PUSH2 0x0a0e
0000014c: JUMPI
0000014d: PUSH1 0x00
0000014f: DUP1
00000150: REVERT
00000151: JUMPDEST
00000152: DUP1
00000153: PUSH4 0xa1e99b05
00000158: GT
00000159: PUSH2 0x01df
0000015c: JUMPI
0000015d: DUP1
0000015e: PUSH4 0xad9e5649
00000163: GT
00000164: PUSH2 0x01a3
00000167: JUMPI
00000168: DUP1
00000169: PUSH4 0xad9e5649
0000016e: EQ
0000016f: PUSH2 0x090c
00000172: JUMPI
00000173: DUP1
00000174: PUSH4 0xb3f00674
00000179: EQ
0000017a: PUSH2 0x091f
0000017d: JUMPI
0000017e: DUP1
0000017f: PUSH4 0xbbae4086
00000184: EQ
00000185: PUSH2 0x0933
00000188: JUMPI
00000189: DUP1
0000018a: PUSH4 0xbc979af6
0000018f: EQ
00000190: PUSH2 0x0959
00000193: JUMPI
00000194: DUP1
00000195: PUSH4 0xbfc2d46a
0000019a: EQ
0000019b: PUSH2 0x09c8
0000019e: JUMPI
0000019f: PUSH1 0x00
000001a1: DUP1
000001a2: REVERT
000001a3: JUMPDEST
000001a4: DUP1
000001a5: PUSH4 0xa1e99b05
000001aa: EQ
000001ab: PUSH2 0x08ad
000001ae: JUMPI
000001af: DUP1
000001b0: PUSH4 0xa217fddf
000001b5: EQ
000001b6: PUSH2 0x08d4
000001b9: JUMPI
000001ba: DUP1
000001bb: PUSH4 0xa3ece893
000001c0: EQ
000001c1: PUSH2 0x08dc
000001c4: JUMPI
000001c5: DUP1
000001c6: PUSH4 0xa5125421
000001cb: EQ
000001cc: PUSH2 0x08e6
000001cf: JUMPI
000001d0: DUP1
000001d1: PUSH4 0xa8f9a71d
000001d6: EQ
000001d7: PUSH2 0x08f9
000001da: JUMPI
000001db: PUSH1 0x00
000001dd: DUP1
000001de: REVERT
000001df: JUMPDEST
000001e0: DUP1
000001e1: PUSH4 0x8b53f75e
000001e6: GT
000001e7: PUSH2 0x0226
000001ea: JUMPI
000001eb: DUP1
000001ec: PUSH4 0x8b53f75e
000001f1: EQ
000001f2: PUSH2 0x0866
000001f5: JUMPI
000001f6: DUP1
000001f7: PUSH4 0x978ff560
000001fc: EQ
000001fd: PUSH2 0x0879
00000200: JUMPI
00000201: DUP1
00000202: PUSH4 0x9af40265
00000207: EQ
00000208: PUSH2 0x0888
0000020b: JUMPI
0000020c: DUP1
0000020d: PUSH4 0x9b2cb5d8
00000212: EQ
00000213: PUSH2 0x0890
00000216: JUMPI
00000217: DUP1
00000218: PUSH4 0xa0c74afc
0000021d: EQ
0000021e: PUSH2 0x089a
00000221: JUMPI
00000222: PUSH1 0x00
00000224: DUP1
00000225: REVERT
00000226: JUMPDEST
00000227: DUP1
00000228: PUSH4 0x85ab2c13
0000022d: EQ
0000022e: PUSH2 0x0807
00000231: JUMPI
00000232: DUP1
00000233: PUSH4 0x88a6de68
00000238: EQ
00000239: PUSH2 0x081a
0000023c: JUMPI
0000023d: DUP1
0000023e: PUSH4 0x897b0637
00000243: EQ
00000244: PUSH2 0x082d
00000247: JUMPI
00000248: DUP1
00000249: PUSH4 0x89cbaae6
0000024e: EQ
0000024f: PUSH2 0x0840
00000252: JUMPI
00000253: DUP1
00000254: PUSH4 0x8a0ae615
00000259: EQ
0000025a: PUSH2 0x0853
0000025d: JUMPI
0000025e: PUSH1 0x00
00000260: DUP1
00000261: REVERT
00000262: JUMPDEST
00000263: DUP1
00000264: PUSH4 0x3ccdbb28
00000269: GT
0000026a: PUSH2 0x037e
0000026d: JUMPI
0000026e: DUP1
0000026f: PUSH4 0x6254afb6
00000274: GT
00000275: PUSH2 0x02fb
00000278: JUMPI
00000279: DUP1
0000027a: PUSH4 0x73b7f873
0000027f: GT
00000280: PUSH2 0x02bf
00000283: JUMPI
00000284: DUP1
00000285: PUSH4 0x73b7f873
0000028a: EQ
0000028b: PUSH2 0x07bb
0000028e: JUMPI
0000028f: DUP1
00000290: PUSH4 0x73e9e01f
00000295: EQ
00000296: PUSH2 0x07ce
00000299: JUMPI
0000029a: DUP1
0000029b: PUSH4 0x769bc79c
000002a0: EQ
000002a1: PUSH2 0x07e2
000002a4: JUMPI
000002a5: DUP1
000002a6: PUSH4 0x7af5ca99
000002ab: EQ
000002ac: PUSH2 0x07f5
000002af: JUMPI
000002b0: DUP1
000002b1: PUSH4 0x8456cb59
000002b6: EQ
000002b7: PUSH2 0x07ff
000002ba: JUMPI
000002bb: PUSH1 0x00
000002bd: DUP1
000002be: REVERT
000002bf: JUMPDEST
000002c0: DUP1
000002c1: PUSH4 0x6254afb6
000002c6: EQ
000002c7: PUSH2 0x0742
000002ca: JUMPI
000002cb: DUP1
000002cc: PUSH4 0x62b199c5
000002d1: EQ
000002d2: PUSH2 0x0756
000002d5: JUMPI
000002d6: DUP1
000002d7: PUSH4 0x6957463a
000002dc: EQ
000002dd: PUSH2 0x077d
000002e0: JUMPI
000002e1: DUP1
000002e2: PUSH4 0x6dc69e03
000002e7: EQ
000002e8: PUSH2 0x0790
000002eb: JUMPI
000002ec: DUP1
000002ed: PUSH4 0x7192de4b
000002f2: EQ
000002f3: PUSH2 0x07b1
000002f6: JUMPI
000002f7: PUSH1 0x00
000002f9: DUP1
000002fa: REVERT
000002fb: JUMPDEST
000002fc: DUP1
000002fd: PUSH4 0x5300b4ba
00000302: GT
00000303: PUSH2 0x0342
00000306: JUMPI
00000307: DUP1
00000308: PUSH4 0x5300b4ba
0000030d: EQ
0000030e: PUSH2 0x06de
00000311: JUMPI
00000312: DUP1
00000313: PUSH4 0x563b1dbf
00000318: EQ
00000319: PUSH2 0x0705
0000031c: JUMPI
0000031d: DUP1
0000031e: PUSH4 0x5ae2bfdb
00000323: EQ
00000324: PUSH2 0x0718
00000327: JUMPI
00000328: DUP1
00000329: PUSH4 0x5b8bec55
0000032e: EQ
0000032f: PUSH2 0x0723
00000332: JUMPI
00000333: DUP1
00000334: PUSH4 0x5c975abb
00000339: EQ
0000033a: PUSH2 0x0737
0000033d: JUMPI
0000033e: PUSH1 0x00
00000340: DUP1
00000341: REVERT
00000342: JUMPDEST
00000343: DUP1
00000344: PUSH4 0x3ccdbb28
00000349: EQ
0000034a: PUSH2 0x068a
0000034d: JUMPI
0000034e: DUP1
0000034f: PUSH4 0x3f4ba83a
00000354: EQ
00000355: PUSH2 0x069d
00000358: JUMPI
00000359: DUP1
0000035a: PUSH4 0x476abc76
0000035f: EQ
00000360: PUSH2 0x06a5
00000363: JUMPI
00000364: DUP1
00000365: PUSH4 0x49dc5e8d
0000036a: EQ
0000036b: PUSH2 0x06b8
0000036e: JUMPI
0000036f: DUP1
00000370: PUSH4 0x4a5971eb
00000375: EQ
00000376: PUSH2 0x06cb
00000379: JUMPI
0000037a: PUSH1 0x00
0000037c: DUP1
0000037d: REVERT
0000037e: JUMPDEST
0000037f: DUP1
00000380: PUSH4 0x2739c61a
00000385: GT
00000386: PUSH2 0x040c
00000389: JUMPI
0000038a: DUP1
0000038b: PUSH4 0x34c24489
00000390: GT
00000391: PUSH2 0x03d0
00000394: JUMPI
00000395: DUP1
00000396: PUSH4 0x34c24489
0000039b: EQ
0000039c: PUSH2 0x0634
0000039f: JUMPI
000003a0: DUP1
000003a1: PUSH4 0x3733337d
000003a6: EQ
000003a7: PUSH2 0x0647
000003aa: JUMPI
000003ab: DUP1
000003ac: PUSH4 0x3807be7d
000003b1: EQ
000003b2: PUSH2 0x065a
000003b5: JUMPI
000003b6: DUP1
000003b7: PUSH4 0x3972183c
000003bc: EQ
000003bd: PUSH2 0x066d
000003c0: JUMPI
000003c1: DUP1
000003c2: PUSH4 0x39dac34d
000003c7: EQ
000003c8: PUSH2 0x0677
000003cb: JUMPI
000003cc: PUSH1 0x00
000003ce: DUP1
000003cf: REVERT
000003d0: JUMPDEST
000003d1: DUP1
000003d2: PUSH4 0x2739c61a
000003d7: EQ
000003d8: PUSH2 0x05cc
000003db: JUMPI
000003dc: DUP1
000003dd: PUSH4 0x27abf518
000003e2: EQ
000003e3: PUSH2 0x05f3
000003e6: JUMPI
000003e7: DUP1
000003e8: PUSH4 0x2c0a90a9
000003ed: EQ
000003ee: PUSH2 0x0606
000003f1: JUMPI
000003f2: DUP1
000003f3: PUSH4 0x2d7788db
000003f8: EQ
000003f9: PUSH2 0x0619
000003fc: JUMPI
000003fd: DUP1
000003fe: PUSH4 0x32b30cce
00000403: EQ
00000404: PUSH2 0x062c
00000407: JUMPI
00000408: PUSH1 0x00
0000040a: DUP1
0000040b: REVERT
0000040c: JUMPDEST
0000040d: DUP1
0000040e: PUSH4 0x15b9598a
00000413: GT
00000414: PUSH2 0x0453
00000417: JUMPI
00000418: DUP1
00000419: PUSH4 0x15b9598a
0000041e: EQ
0000041f: PUSH2 0x054b
00000422: JUMPI
00000423: DUP1
00000424: PUSH4 0x16683aa5
00000429: EQ
0000042a: PUSH2 0x0572
0000042d: JUMPI
0000042e: DUP1
0000042f: PUSH4 0x191f3a3e
00000434: EQ
00000435: PUSH2 0x0587
00000438: JUMPI
00000439: DUP1
0000043a: PUSH4 0x1ed41163
0000043f: EQ
00000440: PUSH2 0x0591
00000443: JUMPI
00000444: DUP1
00000445: PUSH4 0x1fa1e8d4
0000044a: EQ
0000044b: PUSH2 0x05b8
0000044e: JUMPI
0000044f: PUSH1 0x00
00000451: DUP1
00000452: REVERT
00000453: JUMPDEST
00000454: DUP1
00000455: PUSH4 0x042da5ee
0000045a: EQ
0000045b: PUSH2 0x0490
0000045e: JUMPI
0000045f: DUP1
00000460: PUSH4 0x0b5a57bd
00000465: EQ
00000466: PUSH2 0x04c9
00000469: JUMPI
0000046a: DUP1
0000046b: PUSH4 0x105ed2b2
00000470: EQ
00000471: PUSH2 0x04ec
00000474: JUMPI
00000475: DUP1
00000476: PUSH4 0x13007d55
0000047b: EQ
0000047c: PUSH2 0x04f9
0000047f: JUMPI
00000480: DUP1
00000481: PUSH4 0x15571a04
00000486: EQ
00000487: PUSH2 0x052a
0000048a: JUMPI
0000048b: JUMPDEST
0000048c: PUSH1 0x00
0000048e: DUP1
0000048f: REVERT
00000490: JUMPDEST
00000491: PUSH2 0x04b4
00000494: PUSH2 0x049e
00000497: CALLDATASIZE
00000498: PUSH1 0x04
0000049a: PUSH2 0x467e
0000049d: JUMP
0000049e: JUMPDEST
0000049f: PUSH2 0x016b
000004a2: PUSH1 0x20
000004a4: MSTORE
000004a5: PUSH1 0x00
000004a7: SWAP1
000004a8: DUP2
000004a9: MSTORE
000004aa: PUSH1 0x40
000004ac: SWAP1
000004ad: KECCAK256
000004ae: SLOAD
000004af: PUSH1 0xff
000004b1: AND
000004b2: DUP2
000004b3: JUMP
000004b4: JUMPDEST
000004b5: PUSH1 0x40
000004b7: MLOAD
000004b8: SWAP1
000004b9: ISZERO
000004ba: ISZERO
000004bb: DUP2
000004bc: MSTORE
000004bd: PUSH1 0x20
000004bf: ADD
000004c0: JUMPDEST
000004c1: PUSH1 0x40
000004c3: MLOAD
000004c4: DUP1
000004c5: SWAP2
000004c6: SUB
000004c7: SWAP1
000004c8: RETURN
000004c9: JUMPDEST
000004ca: PUSH2 0x04b4
000004cd: PUSH2 0x04d7
000004d0: CALLDATASIZE
000004d1: PUSH1 0x04
000004d3: PUSH2 0x469b
000004d6: JUMP
000004d7: JUMPDEST
000004d8: PUSH1 0x97
000004da: PUSH1 0x20
000004dc: MSTORE
000004dd: PUSH1 0x00
000004df: SWAP1
000004e0: DUP2
000004e1: MSTORE
000004e2: PUSH1 0x40
000004e4: SWAP1
000004e5: KECCAK256
000004e6: SLOAD
000004e7: PUSH1 0xff
000004e9: AND
000004ea: DUP2
000004eb: JUMP
000004ec: JUMPDEST
000004ed: PUSH1 0xfc
000004ef: SLOAD
000004f0: PUSH2 0x04b4
000004f3: SWAP1
000004f4: PUSH1 0xff
000004f6: AND
000004f7: DUP2
000004f8: JUMP
000004f9: JUMPDEST
000004fa: PUSH1 0x00
000004fc: SLOAD
000004fd: PUSH2 0x0512
00000500: SWAP1
00000501: PUSH3 0x010000
00000505: SWAP1
00000506: DIV
00000507: PUSH1 0x01
00000509: PUSH1 0x01
0000050b: PUSH1 0xa0
0000050d: SHL
0000050e: SUB
0000050f: AND
00000510: DUP2
00000511: JUMP
00000512: JUMPDEST
00000513: PUSH1 0x40
00000515: MLOAD
00000516: PUSH1 0x01
00000518: PUSH1 0x01
0000051a: PUSH1 0xa0
0000051c: SHL
0000051d: SUB
0000051e: SWAP1
0000051f: SWAP2
00000520: AND
00000521: DUP2
00000522: MSTORE
00000523: PUSH1 0x20
00000525: ADD
00000526: PUSH2 0x04c0
00000529: JUMP
0000052a: JUMPDEST
0000052b: PUSH2 0x053d
0000052e: PUSH2 0x0538
00000531: CALLDATASIZE
00000532: PUSH1 0x04
00000534: PUSH2 0x46c5
00000537: JUMP
00000538: JUMPDEST
00000539: PUSH2 0x0b99
0000053c: JUMP
0000053d: JUMPDEST
0000053e: PUSH1 0x40
00000540: MLOAD
00000541: SWAP1
00000542: DUP2
00000543: MSTORE
00000544: PUSH1 0x20
00000546: ADD
00000547: PUSH2 0x04c0
0000054a: JUMP
0000054b: JUMPDEST
0000054c: PUSH2 0x053d
0000054f: PUSH32 0x77c5b782690f31cd39b1abf2448215259a688a75920040c399d96a676bd1999d
00000570: DUP2
00000571: JUMP
00000572: JUMPDEST
00000573: PUSH2 0x0585
00000576: PUSH2 0x0580
00000579: CALLDATASIZE
0000057a: PUSH1 0x04
0000057c: PUSH2 0x467e
0000057f: JUMP
00000580: JUMPDEST
00000581: PUSH2 0x0c9d
00000584: JUMP
00000585: JUMPDEST
00000586: STOP
00000587: JUMPDEST
00000588: PUSH2 0x053d
0000058b: PUSH2 0x01a4
0000058e: SLOAD
0000058f: DUP2
00000590: JUMP
00000591: JUMPDEST
00000592: PUSH2 0x053d
00000595: PUSH32 0xd2576bd6a4c5558421de15cb8ecdf4eb3282aac06b94d4f004e8cd0d00f3ebd8
000005b6: DUP2
000005b7: JUMP
000005b8: JUMPDEST
000005b9: PUSH2 0x0165
000005bc: SLOAD
000005bd: PUSH2 0x0512
000005c0: SWAP1
000005c1: PUSH1 0x01
000005c3: PUSH1 0x01
000005c5: PUSH1 0xa0
000005c7: SHL
000005c8: SUB
000005c9: AND
000005ca: DUP2
000005cb: JUMP
000005cc: JUMPDEST
000005cd: PUSH2 0x053d
000005d0: PUSH32 0xf579edbdfe71eecb0735bb2656b6d53f5b7ee74072467c73e651c84bd4f94e1b
000005f1: DUP2
000005f2: JUMP
000005f3: JUMPDEST
000005f4: PUSH2 0x0585
000005f7: PUSH2 0x0601
000005fa: CALLDATASIZE
000005fb: PUSH1 0x04
000005fd: PUSH2 0x4715
00000600: JUMP
00000601: JUMPDEST
00000602: PUSH2 0x0d53
00000605: JUMP
00000606: JUMPDEST
00000607: PUSH2 0x0585
0000060a: PUSH2 0x0614
0000060d: CALLDATASIZE
0000060e: PUSH1 0x04
00000610: PUSH2 0x4732
00000613: JUMP
00000614: JUMPDEST
00000615: PUSH2 0x0df8
00000618: JUMP
00000619: JUMPDEST
0000061a: PUSH2 0x0585
0000061d: PUSH2 0x0627
00000620: CALLDATASIZE
00000621: PUSH1 0x04
00000623: PUSH2 0x4754
00000626: JUMP
00000627: JUMPDEST
00000628: PUSH2 0x0e4f
0000062b: JUMP
0000062c: JUMPDEST
0000062d: PUSH2 0x053d
00000630: PUSH2 0x0f57
00000633: JUMP
00000634: JUMPDEST
00000635: PUSH2 0x0585
00000638: PUSH2 0x0642
0000063b: CALLDATASIZE
0000063c: PUSH1 0x04
0000063e: PUSH2 0x4754
00000641: JUMP
00000642: JUMPDEST
00000643: PUSH2 0x0f66
00000646: JUMP
00000647: JUMPDEST
00000648: PUSH2 0x0585
0000064b: PUSH2 0x0655
0000064e: CALLDATASIZE
0000064f: PUSH1 0x04
00000651: PUSH2 0x469b
00000654: JUMP
00000655: JUMPDEST
00000656: PUSH2 0x0fb4
00000659: JUMP
0000065a: JUMPDEST
0000065b: PUSH2 0x0585
0000065e: PUSH2 0x0668
00000661: CALLDATASIZE
00000662: PUSH1 0x04
00000664: PUSH2 0x469b
00000667: JUMP
00000668: JUMPDEST
00000669: PUSH2 0x1050
0000066c: JUMP
0000066d: JUMPDEST
0000066e: PUSH2 0x053d
00000671: PUSH2 0x0167
00000674: SLOAD
00000675: DUP2
00000676: JUMP
00000677: JUMPDEST
00000678: PUSH2 0x0585
0000067b: PUSH2 0x0685
0000067e: CALLDATASIZE
0000067f: PUSH1 0x04
00000681: PUSH2 0x476d
00000684: JUMP
00000685: JUMPDEST
00000686: PUSH2 0x1110
00000689: JUMP
0000068a: JUMPDEST
0000068b: PUSH2 0x0585
0000068e: PUSH2 0x0698
00000691: CALLDATASIZE
00000692: PUSH1 0x04
00000694: PUSH2 0x46c5
00000697: JUMP
00000698: JUMPDEST
00000699: PUSH2 0x11d7
0000069c: JUMP
0000069d: JUMPDEST
0000069e: PUSH2 0x0585
000006a1: PUSH2 0x1252
000006a4: JUMP
000006a5: JUMPDEST
000006a6: PUSH2 0x0585
000006a9: PUSH2 0x06b3
000006ac: CALLDATASIZE
000006ad: PUSH1 0x04
000006af: PUSH2 0x467e
000006b2: JUMP
000006b3: JUMPDEST
000006b4: PUSH2 0x1267
000006b7: JUMP
000006b8: JUMPDEST
000006b9: PUSH2 0x0585
000006bc: PUSH2 0x06c6
000006bf: CALLDATASIZE
000006c0: PUSH1 0x04
000006c2: PUSH2 0x467e
000006c5: JUMP
000006c6: JUMPDEST
000006c7: PUSH2 0x12ca
000006ca: JUMP
000006cb: JUMPDEST
000006cc: PUSH2 0x0585
000006cf: PUSH2 0x06d9
000006d2: CALLDATASIZE
000006d3: PUSH1 0x04
000006d5: PUSH2 0x47d0
000006d8: JUMP
000006d9: JUMPDEST
000006da: PUSH2 0x1322
000006dd: JUMP
000006de: JUMPDEST
000006df: PUSH2 0x053d
000006e2: PUSH32 0x2fdc6683bc8d03effec5b41d3834f28bd219e06ca0a6a26fc737e44b1c7889ff
00000703: DUP2
00000704: JUMP
00000705: JUMPDEST
00000706: PUSH2 0x0585
00000709: PUSH2 0x0713
0000070c: CALLDATASIZE
0000070d: PUSH1 0x04
0000070f: PUSH2 0x4754
00000712: JUMP
00000713: JUMPDEST
00000714: PUSH2 0x13fe
00000717: JUMP
00000718: JUMPDEST
00000719: PUSH2 0x0162
0000071c: SLOAD
0000071d: PUSH2 0x053d
00000720: SWAP1
00000721: DUP2
00000722: JUMP
00000723: JUMPDEST
00000724: PUSH2 0x020d
00000727: SLOAD
00000728: PUSH2 0x0512
0000072b: SWAP1
0000072c: PUSH1 0x01
0000072e: PUSH1 0x01
00000730: PUSH1 0xa0
00000732: SHL
00000733: SUB
00000734: AND
00000735: DUP2
00000736: JUMP
00000737: JUMPDEST
00000738: PUSH1 0x65
0000073a: SLOAD
0000073b: PUSH1 0xff
0000073d: AND
0000073e: PUSH2 0x04b4
00000741: JUMP
00000742: JUMPDEST
00000743: PUSH2 0x0164
00000746: SLOAD
00000747: PUSH2 0x0512
0000074a: SWAP1
0000074b: PUSH1 0x01
0000074d: PUSH1 0x01
0000074f: PUSH1 0xa0
00000751: SHL
00000752: SUB
00000753: AND
00000754: DUP2
00000755: JUMP
00000756: JUMPDEST
00000757: PUSH2 0x053d
0000075a: PUSH32 0x548c7f0307ab2a7ea894e5c7e8c5353cc750bb9385ee2e945f189a9a83daa8ed
0000077b: DUP2
0000077c: JUMP
0000077d: JUMPDEST
0000077e: PUSH2 0x0585
00000781: PUSH2 0x078b
00000784: CALLDATASIZE
00000785: PUSH1 0x04
00000787: PUSH2 0x4754
0000078a: JUMP
0000078b: JUMPDEST
0000078c: PUSH2 0x1441
0000078f: JUMP
00000790: JUMPDEST
00000791: PUSH2 0x053d
00000794: PUSH2 0x079e
00000797: CALLDATASIZE
00000798: PUSH1 0x04
0000079a: PUSH2 0x4754
0000079d: JUMP
0000079e: JUMPDEST
0000079f: PUSH2 0x0168
000007a2: PUSH1 0x20
000007a4: MSTORE
000007a5: PUSH1 0x00
000007a7: SWAP1
000007a8: DUP2
000007a9: MSTORE
000007aa: PUSH1 0x40
000007ac: SWAP1
000007ad: KECCAK256
000007ae: SLOAD
000007af: DUP2
000007b0: JUMP
000007b1: JUMPDEST
000007b2: PUSH2 0x053d
000007b5: PUSH2 0x016a
000007b8: SLOAD
000007b9: DUP2
000007ba: JUMP
000007bb: JUMPDEST
000007bc: PUSH2 0x0585
000007bf: PUSH2 0x07c9
000007c2: CALLDATASIZE
000007c3: PUSH1 0x04
000007c5: PUSH2 0x4754
000007c8: JUMP
000007c9: JUMPDEST
000007ca: PUSH2 0x14c5
000007cd: JUMP
000007ce: JUMPDEST
000007cf: PUSH2 0x01a7
000007d2: SLOAD
000007d3: PUSH2 0x0512
000007d6: SWAP1
000007d7: PUSH1 0x01
000007d9: PUSH1 0x01
000007db: PUSH1 0xa0
000007dd: SHL
000007de: SUB
000007df: AND
000007e0: DUP2
000007e1: JUMP
000007e2: JUMPDEST
000007e3: PUSH2 0x0585
000007e6: PUSH2 0x07f0
000007e9: CALLDATASIZE
000007ea: PUSH1 0x04
000007ec: PUSH2 0x4754
000007ef: JUMP
000007f0: JUMPDEST
000007f1: PUSH2 0x1513
000007f4: JUMP
000007f5: JUMPDEST
000007f6: PUSH2 0x053d
000007f9: PUSH2 0x01a3
000007fc: SLOAD
000007fd: DUP2
000007fe: JUMP
000007ff: JUMPDEST
00000800: PUSH2 0x0585
00000803: PUSH2 0x1556
00000806: JUMP
00000807: JUMPDEST
00000808: PUSH2 0x0585
0000080b: PUSH2 0x0815
0000080e: CALLDATASIZE
0000080f: PUSH1 0x04
00000811: PUSH2 0x4879
00000814: JUMP
00000815: JUMPDEST
00000816: PUSH2 0x1569
00000819: JUMP
0000081a: JUMPDEST
0000081b: PUSH2 0x0585
0000081e: PUSH2 0x0828
00000821: CALLDATASIZE
00000822: PUSH1 0x04
00000824: PUSH2 0x4732
00000827: JUMP
00000828: JUMPDEST
00000829: PUSH2 0x1667
0000082c: JUMP
0000082d: JUMPDEST
0000082e: PUSH2 0x0585
00000831: PUSH2 0x083b
00000834: CALLDATASIZE
00000835: PUSH1 0x04
00000837: PUSH2 0x4754
0000083a: JUMP
0000083b: JUMPDEST
0000083c: PUSH2 0x16b3
0000083f: JUMP
00000840: JUMPDEST
00000841: PUSH2 0x0585
00000844: PUSH2 0x084e
00000847: CALLDATASIZE
00000848: PUSH1 0x04
0000084a: PUSH2 0x467e
0000084d: JUMP
0000084e: JUMPDEST
0000084f: PUSH2 0x16f6
00000852: JUMP
00000853: JUMPDEST
00000854: PUSH2 0x0585
00000857: PUSH2 0x0861
0000085a: CALLDATASIZE
0000085b: PUSH1 0x04
0000085d: PUSH2 0x48c3
00000860: JUMP
00000861: JUMPDEST
00000862: PUSH2 0x17b1
00000865: JUMP
00000866: JUMPDEST
00000867: PUSH2 0x0585
0000086a: PUSH2 0x0874
0000086d: CALLDATASIZE
0000086e: PUSH1 0x04
00000870: PUSH2 0x48ef
00000873: JUMP
00000874: JUMPDEST
00000875: PUSH2 0x1879
00000878: JUMP
00000879: JUMPDEST
0000087a: PUSH2 0x053d
0000087d: PUSH8 0x0de0b6b3a7640000
00000886: DUP2
00000887: JUMP
00000888: JUMPDEST
00000889: PUSH2 0x0512
0000088c: PUSH1 0x00
0000088e: DUP2
0000088f: JUMP
00000890: JUMPDEST
00000891: PUSH2 0x053d
00000894: PUSH2 0x016f
00000897: SLOAD
00000898: DUP2
00000899: JUMP
0000089a: JUMPDEST
0000089b: PUSH2 0x0585
0000089e: PUSH2 0x08a8
000008a1: CALLDATASIZE
000008a2: PUSH1 0x04
000008a4: PUSH2 0x4970
000008a7: JUMP
000008a8: JUMPDEST
000008a9: PUSH2 0x1951
000008ac: JUMP
000008ad: JUMPDEST
000008ae: PUSH2 0x053d
000008b1: PUSH32 0xa6095bf1d1689844730f85ea9c1edf7d9e1566838e1baa0327271b6c8c31dd8a
000008d2: DUP2
000008d3: JUMP
000008d4: JUMPDEST
000008d5: PUSH2 0x053d
000008d8: PUSH1 0x00
000008da: DUP2
000008db: JUMP
000008dc: JUMPDEST
000008dd: PUSH2 0x053d
000008e0: PUSH2 0x01a5
000008e3: SLOAD
000008e4: DUP2
000008e5: JUMP
000008e6: JUMPDEST
000008e7: PUSH2 0x0585
000008ea: PUSH2 0x08f4
000008ed: CALLDATASIZE
000008ee: PUSH1 0x04
000008f0: PUSH2 0x467e
000008f3: JUMP
000008f4: JUMPDEST
000008f5: PUSH2 0x196d
000008f8: JUMP
000008f9: JUMPDEST
000008fa: PUSH2 0x0585
000008fd: PUSH2 0x0907
00000900: CALLDATASIZE
00000901: PUSH1 0x04
00000903: PUSH2 0x467e
00000906: JUMP
00000907: JUMPDEST
00000908: PUSH2 0x1a2c
0000090b: JUMP
0000090c: JUMPDEST
0000090d: PUSH2 0x0585
00000910: PUSH2 0x091a
00000913: CALLDATASIZE
00000914: PUSH1 0x04
00000916: PUSH2 0x4754
00000919: JUMP
0000091a: JUMPDEST
0000091b: PUSH2 0x1a93
0000091e: JUMP
0000091f: JUMPDEST
00000920: PUSH2 0x0169
00000923: SLOAD
00000924: PUSH2 0x0512
00000927: SWAP1
00000928: PUSH1 0x01
0000092a: PUSH1 0x01
0000092c: PUSH1 0xa0
0000092e: SHL
0000092f: SUB
00000930: AND
00000931: DUP2
00000932: JUMP
00000933: JUMPDEST
00000934: PUSH32 0xd2576bd6a4c5558421de15cb8ecdf4eb3282aac06b94d4f004e8cd0d00f3ebd8
00000955: PUSH2 0x053d
00000958: JUMP
00000959: JUMPDEST
0000095a: PUSH2 0x099c
0000095d: PUSH2 0x0967
00000960: CALLDATASIZE
00000961: PUSH1 0x04
00000963: PUSH2 0x467e
00000966: JUMP
00000967: JUMPDEST
00000968: PUSH2 0x016e
0000096b: PUSH1 0x20
0000096d: MSTORE
0000096e: PUSH1 0x00
00000970: SWAP1
00000971: DUP2
00000972: MSTORE
00000973: PUSH1 0x40
00000975: SWAP1
00000976: KECCAK256
00000977: DUP1
00000978: SLOAD
00000979: PUSH1 0x01
0000097b: DUP3
0000097c: ADD
0000097d: SLOAD
0000097e: PUSH1 0x02
00000980: DUP4
00000981: ADD
00000982: SLOAD
00000983: PUSH1 0x03
00000985: SWAP1
00000986: SWAP4
00000987: ADD
00000988: SLOAD
00000989: PUSH1 0x01
0000098b: PUSH1 0x01
0000098d: PUSH1 0xa0
0000098f: SHL
00000990: SUB
00000991: SWAP1
00000992: SWAP3
00000993: AND
00000994: SWAP3
00000995: SWAP1
00000996: SWAP2
00000997: PUSH1 0xff
00000999: AND
0000099a: DUP5
0000099b: JUMP
0000099c: JUMPDEST
0000099d: PUSH1 0x40
0000099f: DUP1
000009a0: MLOAD
000009a1: PUSH1 0x01
000009a3: PUSH1 0x01
000009a5: PUSH1 0xa0
000009a7: SHL
000009a8: SUB
000009a9: SWAP1
000009aa: SWAP6
000009ab: AND
000009ac: DUP6
000009ad: MSTORE
000009ae: PUSH1 0x20
000009b0: DUP6
000009b1: ADD
000009b2: SWAP4
000009b3: SWAP1
000009b4: SWAP4
000009b5: MSTORE
000009b6: SWAP2
000009b7: DUP4
000009b8: ADD
000009b9: MSTORE
000009ba: ISZERO
000009bb: ISZERO
000009bc: PUSH1 0x60
000009be: DUP3
000009bf: ADD
000009c0: MSTORE
000009c1: PUSH1 0x80
000009c3: ADD
000009c4: PUSH2 0x04c0
000009c7: JUMP
000009c8: JUMPDEST
000009c9: PUSH2 0x053d
000009cc: PUSH2 0x09d6
000009cf: CALLDATASIZE
000009d0: PUSH1 0x04
000009d2: PUSH2 0x48c3
000009d5: JUMP
000009d6: JUMPDEST
000009d7: PUSH2 0x1ae1
000009da: JUMP
000009db: JUMPDEST
000009dc: PUSH2 0x0163
000009df: SLOAD
000009e0: PUSH2 0x0512
000009e3: SWAP1
000009e4: PUSH1 0x01
000009e6: PUSH1 0x01
000009e8: PUSH1 0xa0
000009ea: SHL
000009eb: SUB
000009ec: AND
000009ed: DUP2
000009ee: JUMP
000009ef: JUMPDEST
000009f0: PUSH2 0x053d
000009f3: PUSH2 0x0166
000009f6: SLOAD
000009f7: DUP2
000009f8: JUMP
000009f9: JUMPDEST
000009fa: PUSH2 0x0a01
000009fd: PUSH2 0x1bc7
00000a00: JUMP
00000a01: JUMPDEST
00000a02: PUSH1 0x40
00000a04: MLOAD
00000a05: PUSH2 0x04c0
00000a08: SWAP2
00000a09: SWAP1
00000a0a: PUSH2 0x49b2
00000a0d: JUMP
00000a0e: JUMPDEST
00000a0f: PUSH2 0x0585
00000a12: PUSH2 0x0a1c
00000a15: CALLDATASIZE
00000a16: PUSH1 0x04
00000a18: PUSH2 0x49ff
00000a1b: JUMP
00000a1c: JUMPDEST
00000a1d: PUSH2 0x1bd4
00000a20: JUMP
00000a21: JUMPDEST
00000a22: PUSH2 0x053d
00000a25: PUSH2 0x0a2f
00000a28: CALLDATASIZE
00000a29: PUSH1 0x04
00000a2b: PUSH2 0x4754
00000a2e: JUMP
00000a2f: JUMPDEST
00000a30: PUSH2 0x1cfa
00000a33: JUMP
00000a34: JUMPDEST
00000a35: PUSH2 0x04b4
00000a38: PUSH2 0x0a42
00000a3b: CALLDATASIZE
00000a3c: PUSH1 0x04
00000a3e: PUSH2 0x467e
00000a41: JUMP
00000a42: JUMPDEST
00000a43: PUSH2 0x0170
00000a46: PUSH1 0x20
00000a48: MSTORE
00000a49: PUSH1 0x00
00000a4b: SWAP1
00000a4c: DUP2
00000a4d: MSTORE
00000a4e: PUSH1 0x40
00000a50: SWAP1
00000a51: KECCAK256
00000a52: SLOAD
00000a53: PUSH1 0xff
00000a55: AND
00000a56: DUP2
00000a57: JUMP
00000a58: JUMPDEST
00000a59: PUSH2 0x020c
00000a5c: SLOAD
00000a5d: PUSH2 0x0512
00000a60: SWAP1
00000a61: PUSH1 0x01
00000a63: PUSH1 0x01
00000a65: PUSH1 0xa0
00000a67: SHL
00000a68: SUB
00000a69: AND
00000a6a: DUP2
00000a6b: JUMP
00000a6c: JUMPDEST
00000a6d: PUSH2 0x0585
00000a70: PUSH2 0x0a7a
00000a73: CALLDATASIZE
00000a74: PUSH1 0x04
00000a76: PUSH2 0x48c3
00000a79: JUMP
00000a7a: JUMPDEST
00000a7b: PUSH2 0x1db1
00000a7e: JUMP
00000a7f: JUMPDEST
00000a80: PUSH2 0x053d
00000a83: PUSH2 0x2710
00000a86: DUP2
00000a87: JUMP
00000a88: JUMPDEST
00000a89: PUSH2 0x0585
00000a8c: PUSH2 0x0a96
00000a8f: CALLDATASIZE
00000a90: PUSH1 0x04
00000a92: PUSH2 0x467e
00000a95: JUMP
00000a96: JUMPDEST
00000a97: PUSH2 0x1e24
00000a9a: JUMP
00000a9b: JUMPDEST
00000a9c: PUSH2 0x053d
00000a9f: PUSH1 0x00
00000aa1: NOT
00000aa2: DUP2
00000aa3: JUMP
00000aa4: JUMPDEST
00000aa5: PUSH2 0x0585
00000aa8: PUSH2 0x0ab2
00000aab: CALLDATASIZE
00000aac: PUSH1 0x04
00000aae: PUSH2 0x467e
00000ab1: JUMP
00000ab2: JUMPDEST
00000ab3: PUSH2 0x1edc
00000ab6: JUMP
00000ab7: JUMPDEST
00000ab8: PUSH2 0x0b0b
00000abb: PUSH2 0x0ac5
00000abe: CALLDATASIZE
00000abf: PUSH1 0x04
00000ac1: PUSH2 0x4754
00000ac4: JUMP
00000ac5: JUMPDEST
00000ac6: PUSH2 0x01a6
00000ac9: PUSH1 0x20
00000acb: MSTORE
00000acc: PUSH1 0x00
00000ace: SWAP1
00000acf: DUP2
00000ad0: MSTORE
00000ad1: PUSH1 0x40
00000ad3: SWAP1
00000ad4: KECCAK256
00000ad5: DUP1
00000ad6: SLOAD
00000ad7: PUSH1 0x01
00000ad9: DUP3
00000ada: ADD
00000adb: SLOAD
00000adc: PUSH1 0x02
00000ade: DUP4
00000adf: ADD
00000ae0: SLOAD
00000ae1: PUSH1 0x03
00000ae3: DUP5
00000ae4: ADD
00000ae5: SLOAD
00000ae6: PUSH1 0x04
00000ae8: SWAP1
00000ae9: SWAP5
00000aea: ADD
00000aeb: SLOAD
00000aec: PUSH1 0x01
00000aee: PUSH1 0x01
00000af0: PUSH1 0xa0
00000af2: SHL
00000af3: SUB
00000af4: SWAP4
00000af5: DUP5
00000af6: AND
00000af7: SWAP5
00000af8: SWAP4
00000af9: DUP4
00000afa: AND
00000afb: SWAP4
00000afc: PUSH1 0x01
00000afe: PUSH1 0xa0
00000b00: SHL
00000b01: SWAP1
00000b02: SWAP4
00000b03: DIV
00000b04: PUSH1 0xff
00000b06: AND
00000b07: SWAP3
00000b08: SWAP1
00000b09: DUP7
00000b0a: JUMP
00000b0b: JUMPDEST
00000b0c: PUSH1 0x40
00000b0e: MLOAD
00000b0f: PUSH2 0x04c0
00000b12: SWAP7
00000b13: SWAP6
00000b14: SWAP5
00000b15: SWAP4
00000b16: SWAP3
00000b17: SWAP2
00000b18: SWAP1
00000b19: PUSH2 0x4ae6
00000b1c: JUMP
00000b1d: JUMPDEST
00000b1e: PUSH2 0x053d
00000b21: PUSH2 0x1f97
00000b24: JUMP
00000b25: JUMPDEST
00000b26: PUSH2 0x012f
00000b29: SLOAD
00000b2a: PUSH2 0x0512
00000b2d: SWAP1
00000b2e: PUSH1 0x01
00000b30: PUSH1 0x01
00000b32: PUSH1 0xa0
00000b34: SHL
00000b35: SUB
00000b36: AND
00000b37: DUP2
00000b38: JUMP
00000b39: JUMPDEST
00000b3a: PUSH2 0x053d
00000b3d: PUSH32 0x5375b38f2ad9c8c8833b90d06ab20e4199feca9d6a6c8f2369d8f717325f4732
00000b5e: DUP2
00000b5f: JUMP
00000b60: JUMPDEST
00000b61: PUSH2 0x0585
00000b64: PUSH2 0x0b6e
00000b67: CALLDATASIZE
00000b68: PUSH1 0x04
00000b6a: PUSH2 0x467e
00000b6d: JUMP
00000b6e: JUMPDEST
00000b6f: PUSH2 0x1fbb
00000b72: JUMP
00000b73: JUMPDEST
00000b74: PUSH2 0x0585
00000b77: PUSH2 0x0b81
00000b7a: CALLDATASIZE
00000b7b: PUSH1 0x04
00000b7d: PUSH2 0x4b3f
00000b80: JUMP
00000b81: JUMPDEST
00000b82: PUSH2 0x201e
00000b85: JUMP
00000b86: JUMPDEST
00000b87: PUSH2 0x0585
00000b8a: PUSH2 0x0b94
00000b8d: CALLDATASIZE
00000b8e: PUSH1 0x04
00000b90: PUSH2 0x4b9e
00000b93: JUMP
00000b94: JUMPDEST
00000b95: PUSH2 0x2150
00000b98: JUMP
00000b99: JUMPDEST
00000b9a: PUSH1 0x00
00000b9c: PUSH32 0x15571a04db30fd97c63b5be63c944e52a0a9a2af487d66beb3260a16c32f9bc2
00000bbd: PUSH2 0x0bc4
00000bc0: PUSH2 0x2206
00000bc3: JUMP
00000bc4: JUMPDEST
00000bc5: PUSH1 0x01
00000bc7: PUSH1 0x01
00000bc9: PUSH1 0xe0
00000bcb: SHL
00000bcc: SUB
00000bcd: NOT
00000bce: DUP2
00000bcf: AND
00000bd0: PUSH1 0x00
00000bd2: SWAP1
00000bd3: DUP2
00000bd4: MSTORE
00000bd5: PUSH1 0x97
00000bd7: PUSH1 0x20
00000bd9: MSTORE
00000bda: PUSH1 0x40
00000bdc: SWAP1
00000bdd: KECCAK256
00000bde: SLOAD
00000bdf: PUSH1 0xff
00000be1: AND
00000be2: ISZERO
00000be3: PUSH2 0x0c07
00000be6: JUMPI
00000be7: PUSH1 0x40
00000be9: MLOAD
00000bea: PUSH3 0x461bcd
00000bee: PUSH1 0xe5
00000bf0: SHL
00000bf1: DUP2
00000bf2: MSTORE
00000bf3: PUSH1 0x04
00000bf5: ADD
00000bf6: PUSH2 0x0bfe
00000bf9: SWAP1
00000bfa: PUSH2 0x4bea
00000bfd: JUMP
00000bfe: JUMPDEST
00000bff: PUSH1 0x40
00000c01: MLOAD
00000c02: DUP1
00000c03: SWAP2
00000c04: SUB
00000c05: SWAP1
00000c06: REVERT
00000c07: JUMPDEST
00000c08: PUSH2 0x0c10
00000c0b: CALLER
00000c0c: PUSH2 0x224c
00000c0f: JUMP
00000c10: JUMPDEST
00000c11: PUSH1 0x01
00000c13: PUSH1 0x01
00000c15: PUSH1 0xa0
00000c17: SHL
00000c18: SUB
00000c19: DUP4
00000c1a: AND
00000c1b: CALLER
00000c1c: EQ
00000c1d: PUSH2 0x0c29
00000c20: JUMPI
00000c21: PUSH2 0x0c29
00000c24: DUP4
00000c25: PUSH2 0x224c
00000c28: JUMP
00000c29: JUMPDEST
00000c2a: PUSH1 0x00
00000c2c: DUP1
00000c2d: PUSH2 0x0c39
00000c30: DUP8
00000c31: DUP8
00000c32: PUSH1 0x00
00000c34: DUP9
00000c35: PUSH2 0x2340
00000c38: JUMP
00000c39: JUMPDEST
00000c3a: DUP1
00000c3b: MLOAD
00000c3c: PUSH1 0x40
00000c3e: DUP1
00000c3f: MLOAD
00000c40: PUSH1 0x01
00000c42: PUSH1 0x01
00000c44: PUSH1 0xa0
00000c46: SHL
00000c47: SUB
00000c48: DUP11
00000c49: DUP2
00000c4a: AND
00000c4b: DUP3
00000c4c: MSTORE
00000c4d: PUSH1 0x20
00000c4f: DUP3
00000c50: ADD
00000c51: DUP13
00000c52: SWAP1
00000c53: MSTORE
00000c54: DUP2
00000c55: DUP4
00000c56: ADD
00000c57: SWAP4
00000c58: SWAP1
00000c59: SWAP4
00000c5a: MSTORE
00000c5b: SWAP1
00000c5c: MLOAD
00000c5d: SWAP4
00000c5e: SWAP6
00000c5f: POP
00000c60: SWAP2
00000c61: SWAP4
00000c62: POP
00000c63: DUP10
00000c64: AND
00000c65: SWAP2
00000c66: CALLER
00000c67: SWAP2
00000c68: DUP6
00000c69: SWAP2
00000c6a: PUSH32 0x691cd372bb63a5126a324513b634040d0ba3747c0a625207d99b6ba302c51a23
00000c8b: SWAP2
00000c8c: DUP2
00000c8d: SWAP1
00000c8e: SUB
00000c8f: PUSH1 0x60
00000c91: ADD
00000c92: SWAP1
00000c93: LOG4
00000c94: POP
00000c95: SWAP6
00000c96: SWAP5
00000c97: POP
00000c98: POP
00000c99: POP
00000c9a: POP
00000c9b: POP
00000c9c: JUMP
00000c9d: JUMPDEST
00000c9e: PUSH2 0x0cae
00000ca1: PUSH2 0x0ca8
00000ca4: PUSH2 0x1f97
00000ca7: JUMP
00000ca8: JUMPDEST
00000ca9: CALLER
00000caa: PUSH2 0x25c9
00000cad: JUMP
00000cae: JUMPDEST
00000caf: PUSH1 0x01
00000cb1: PUSH1 0x01
00000cb3: PUSH1 0xa0
00000cb5: SHL
00000cb6: SUB
00000cb7: DUP2
00000cb8: AND
00000cb9: PUSH1 0x00
00000cbb: SWAP1
00000cbc: DUP2
00000cbd: MSTORE
00000cbe: PUSH2 0x016b
00000cc1: PUSH1 0x20
00000cc3: MSTORE
00000cc4: PUSH1 0x40
00000cc6: SWAP1
00000cc7: KECCAK256
00000cc8: SLOAD
00000cc9: PUSH1 0xff
00000ccb: AND
00000ccc: PUSH2 0x0d07
00000ccf: JUMPI
00000cd0: PUSH1 0x40
00000cd2: MLOAD
00000cd3: PUSH3 0x461bcd
00000cd7: PUSH1 0xe5
00000cd9: SHL
00000cda: DUP2
00000cdb: MSTORE
00000cdc: PUSH1 0x20
00000cde: PUSH1 0x04
00000ce0: DUP3
00000ce1: ADD
00000ce2: MSTORE
00000ce3: PUSH1 0x0d
00000ce5: PUSH1 0x24
00000ce7: DUP3
00000ce8: ADD
00000ce9: MSTORE
00000cea: PUSH13 0x13558e881b9bdd08199bdd5b99
00000cf8: PUSH1 0x9a
00000cfa: SHL
00000cfb: PUSH1 0x44
00000cfd: DUP3
00000cfe: ADD
00000cff: MSTORE
00000d00: PUSH1 0x64
00000d02: ADD
00000d03: PUSH2 0x0bfe
00000d06: JUMP
00000d07: JUMPDEST
00000d08: PUSH1 0x01
00000d0a: PUSH1 0x01
00000d0c: PUSH1 0xa0
00000d0e: SHL
00000d0f: SUB
00000d10: DUP2
00000d11: AND
00000d12: PUSH1 0x00
00000d14: DUP2
00000d15: DUP2
00000d16: MSTORE
00000d17: PUSH2 0x016b
00000d1a: PUSH1 0x20
00000d1c: MSTORE
00000d1d: PUSH1 0x40
00000d1f: DUP1
00000d20: DUP3
00000d21: KECCAK256
00000d22: DUP1
00000d23: SLOAD
00000d24: PUSH1 0xff
00000d26: NOT
00000d27: AND
00000d28: SWAP1
00000d29: SSTORE
00000d2a: MLOAD
00000d2b: CALLER
00000d2c: SWAP3
00000d2d: SWAP2
00000d2e: PUSH32 0x57c4a95f59c12f0d4d846443c2d54c7d97f1505080199522fca2819e65213ca2
00000d4f: SWAP2
00000d50: LOG3
00000d51: POP
00000d52: JUMP
00000d53: JUMPDEST
00000d54: PUSH2 0x0d5c
00000d57: CALLER
00000d58: PUSH2 0x2697
00000d5b: JUMP
00000d5c: JUMPDEST
00000d5d: PUSH1 0xfc
00000d5f: SLOAD
00000d60: PUSH1 0xff
00000d62: AND
00000d63: ISZERO
00000d64: ISZERO
00000d65: DUP2
00000d66: ISZERO
00000d67: ISZERO
00000d68: EQ
00000d69: ISZERO
00000d6a: PUSH2 0x0dae
00000d6d: JUMPI
00000d6e: PUSH1 0x40
00000d70: MLOAD
00000d71: PUSH3 0x461bcd
00000d75: PUSH1 0xe5
00000d77: SHL
00000d78: DUP2
00000d79: MSTORE
00000d7a: PUSH1 0x20
00000d7c: PUSH1 0x04
00000d7e: DUP3
00000d7f: ADD
00000d80: MSTORE
00000d81: PUSH1 0x16
00000d83: PUSH1 0x24
00000d85: DUP3
00000d86: ADD
00000d87: MSTORE
00000d88: PUSH22 0x474c3a2073616d6520656e61626c6520737461747573
00000d9f: PUSH1 0x50
00000da1: SHL
00000da2: PUSH1 0x44
00000da4: DUP3
00000da5: ADD
00000da6: MSTORE
00000da7: PUSH1 0x64
00000da9: ADD
00000daa: PUSH2 0x0bfe
00000dad: JUMP
00000dae: JUMPDEST
00000daf: PUSH1 0xfc
00000db1: DUP1
00000db2: SLOAD
00000db3: PUSH1 0xff
00000db5: NOT
00000db6: AND
00000db7: DUP3
00000db8: ISZERO
00000db9: ISZERO
00000dba: SWAP1
00000dbb: DUP2
00000dbc: OR
00000dbd: SWAP1
00000dbe: SWAP2
00000dbf: SSTORE
00000dc0: PUSH1 0x40
00000dc2: MLOAD
00000dc3: SWAP1
00000dc4: DUP2
00000dc5: MSTORE
00000dc6: CALLER
00000dc7: SWAP1
00000dc8: PUSH32 0xa8434267b880129bc4ba30249aa4a2ac349e8997c699282a9f70562f0f152f54
00000de9: SWAP1
00000dea: PUSH1 0x20
00000dec: ADD
00000ded: JUMPDEST
00000dee: PUSH1 0x40
00000df0: MLOAD
00000df1: DUP1
00000df2: SWAP2
00000df3: SUB
00000df4: SWAP1
00000df5: LOG2
00000df6: POP
00000df7: JUMP
00000df8: JUMPDEST
00000df9: PUSH2 0x0e03
00000dfc: PUSH2 0x0ca8
00000dff: PUSH2 0x1f97
00000e02: JUMP
00000e03: JUMPDEST
00000e04: PUSH2 0x0e10
00000e07: DUP3
00000e08: DUP3
00000e09: PUSH1 0x00
00000e0b: DUP1
00000e0c: PUSH2 0x26aa
00000e0f: JUMP
00000e10: JUMPDEST
00000e11: POP
00000e12: DUP2
00000e13: PUSH32 0xf7d1fde87f32720fc30ce6847e0aae77e640b59bfac41b11b270358ccfa7a0ac
00000e34: DUP3
00000e35: PUSH1 0x40
00000e37: MLOAD
00000e38: PUSH2 0x0e43
00000e3b: SWAP2
00000e3c: DUP2
00000e3d: MSTORE
00000e3e: PUSH1 0x20
00000e40: ADD
00000e41: SWAP1
00000e42: JUMP
00000e43: JUMPDEST
00000e44: PUSH1 0x40
00000e46: MLOAD
00000e47: DUP1
00000e48: SWAP2
00000e49: SUB
00000e4a: SWAP1
00000e4b: LOG2
00000e4c: POP
00000e4d: POP
00000e4e: JUMP
00000e4f: JUMPDEST
00000e50: PUSH2 0x0e5a
00000e53: PUSH2 0x0ca8
00000e56: PUSH2 0x1f97
00000e59: JUMP
00000e5a: JUMPDEST
00000e5b: PUSH1 0x00
00000e5d: DUP2
00000e5e: DUP2
00000e5f: MSTORE
00000e60: PUSH2 0x01a6
00000e63: PUSH1 0x20
00000e65: SWAP1
00000e66: DUP2
00000e67: MSTORE
00000e68: PUSH1 0x40
00000e6a: DUP1
00000e6b: DUP4
00000e6c: KECCAK256
00000e6d: DUP2
00000e6e: MLOAD
00000e6f: PUSH1 0xc0
00000e71: DUP2
00000e72: ADD
00000e73: DUP4
00000e74: MSTORE
00000e75: DUP2
00000e76: SLOAD
00000e77: PUSH1 0x01
00000e79: PUSH1 0x01
00000e7b: PUSH1 0xa0
00000e7d: SHL
00000e7e: SUB
00000e7f: SWAP1
00000e80: DUP2
00000e81: AND
00000e82: DUP3
00000e83: MSTORE
00000e84: PUSH1 0x01
00000e86: DUP4
00000e87: ADD
00000e88: SLOAD
00000e89: SWAP1
00000e8a: DUP2
00000e8b: AND
00000e8c: SWAP5
00000e8d: DUP3
00000e8e: ADD
00000e8f: SWAP5
00000e90: SWAP1
00000e91: SWAP5
00000e92: MSTORE
00000e93: SWAP3
00000e94: SWAP1
00000e95: SWAP2
00000e96: DUP4
00000e97: ADD
00000e98: SWAP1
00000e99: PUSH1 0x01
00000e9b: PUSH1 0xa0
00000e9d: SHL
00000e9e: SWAP1
00000e9f: DIV
00000ea0: PUSH1 0xff
00000ea2: AND
00000ea3: PUSH1 0x02
00000ea5: DUP2
00000ea6: GT
00000ea7: ISZERO
00000ea8: PUSH2 0x0eb3
00000eab: JUMPI
00000eac: PUSH2 0x0eb3
00000eaf: PUSH2 0x4ad0
00000eb2: JUMP
00000eb3: JUMPDEST
00000eb4: PUSH1 0x02
00000eb6: DUP2
00000eb7: GT
00000eb8: ISZERO
00000eb9: PUSH2 0x0ec4
00000ebc: JUMPI
00000ebd: PUSH2 0x0ec4
00000ec0: PUSH2 0x4ad0
00000ec3: JUMP
00000ec4: JUMPDEST
00000ec5: DUP2
00000ec6: MSTORE
00000ec7: PUSH1 0x20
00000ec9: ADD
00000eca: PUSH1 0x02
00000ecc: DUP3
00000ecd: ADD
00000ece: SLOAD
00000ecf: DUP2
00000ed0: MSTORE
00000ed1: PUSH1 0x20
00000ed3: ADD
00000ed4: PUSH1 0x03
00000ed6: DUP3
00000ed7: ADD
00000ed8: SLOAD
00000ed9: DUP2
00000eda: MSTORE
00000edb: PUSH1 0x20
00000edd: ADD
00000ede: PUSH1 0x04
00000ee0: DUP3
00000ee1: ADD
00000ee2: SLOAD
00000ee3: DUP2
00000ee4: MSTORE
00000ee5: POP
00000ee6: POP
00000ee7: SWAP1
00000ee8: POP
00000ee9: PUSH2 0x0efa
00000eec: DUP2
00000eed: PUSH1 0x00
00000eef: ADD
00000ef0: MLOAD
00000ef1: DUP3
00000ef2: PUSH1 0x40
00000ef4: ADD
00000ef5: MLOAD
00000ef6: PUSH2 0x293a
00000ef9: JUMP
00000efa: JUMPDEST
00000efb: PUSH1 0x00
00000efd: DUP3
00000efe: DUP2
00000eff: MSTORE
00000f00: PUSH2 0x01a6
00000f03: PUSH1 0x20
00000f05: MSTORE
00000f06: PUSH1 0x40
00000f08: DUP1
00000f09: DUP3
00000f0a: KECCAK256
00000f0b: PUSH1 0x01
00000f0d: ADD
00000f0e: DUP1
00000f0f: SLOAD
00000f10: PUSH1 0xff
00000f12: PUSH1 0xa0
00000f14: SHL
00000f15: NOT
00000f16: AND
00000f17: PUSH1 0x01
00000f19: PUSH1 0xa1
00000f1b: SHL
00000f1c: OR
00000f1d: SWAP1
00000f1e: SSTORE
00000f1f: DUP3
00000f20: MLOAD
00000f21: SWAP1
00000f22: MLOAD
00000f23: PUSH1 0x01
00000f25: PUSH1 0x01
00000f27: PUSH1 0xa0
00000f29: SHL
00000f2a: SUB
00000f2b: SWAP1
00000f2c: SWAP2
00000f2d: AND
00000f2e: SWAP2
00000f2f: DUP5
00000f30: SWAP2
00000f31: PUSH31 0xce63cc55966b103e4f4cb39f3426cb91718ad4f8eb4ad08c14a7ee749d8157
00000f51: SWAP2
00000f52: SWAP1
00000f53: LOG3
00000f54: POP
00000f55: POP
00000f56: JUMP
00000f57: JUMPDEST
00000f58: PUSH1 0x00
00000f5a: PUSH2 0x0f61
00000f5d: PUSH2 0x1f97
00000f60: JUMP
00000f61: JUMPDEST
00000f62: SWAP1
00000f63: POP
00000f64: SWAP1
00000f65: JUMP
00000f66: JUMPDEST
00000f67: PUSH2 0x0f71
00000f6a: PUSH2 0x0ca8
00000f6d: PUSH2 0x1f97
00000f70: JUMP
00000f71: JUMPDEST
00000f72: PUSH2 0x0f7c
00000f75: DUP2
00000f76: PUSH1 0x01
00000f78: PUSH2 0x29e9
00000f7b: JUMP
00000f7c: JUMPDEST
00000f7d: PUSH2 0x016a
00000f80: DUP2
00000f81: SWAP1
00000f82: SSTORE
00000f83: PUSH1 0x40
00000f85: MLOAD
00000f86: DUP2
00000f87: DUP2
00000f88: MSTORE
00000f89: CALLER
00000f8a: SWAP1
00000f8b: PUSH32 0x018be394ba93a0dbca235443cfdc7173b2479180ad766083ce05199fbf3fc624
00000fac: SWAP1
00000fad: PUSH1 0x20
00000faf: ADD
00000fb0: PUSH2 0x0ded
00000fb3: JUMP
00000fb4: JUMPDEST
00000fb5: PUSH2 0x0fbf
00000fb8: PUSH2 0x0ca8
00000fbb: PUSH2 0x0f57
00000fbe: JUMP
00000fbf: JUMPDEST
00000fc0: PUSH1 0x01
00000fc2: PUSH1 0x01
00000fc4: PUSH1 0xe0
00000fc6: SHL
00000fc7: SUB
00000fc8: NOT
00000fc9: DUP2
00000fca: AND
00000fcb: PUSH1 0x00
00000fcd: SWAP1
00000fce: DUP2
00000fcf: MSTORE
00000fd0: PUSH1 0x97
00000fd2: PUSH1 0x20
00000fd4: MSTORE
00000fd5: PUSH1 0x40
00000fd7: SWAP1
00000fd8: KECCAK256
00000fd9: SLOAD
00000fda: PUSH1 0xff
00000fdc: AND
00000fdd: ISZERO
00000fde: PUSH2 0x0ff9
00000fe1: JUMPI
00000fe2: PUSH1 0x40
00000fe4: MLOAD
00000fe5: PUSH3 0x461bcd
00000fe9: PUSH1 0xe5
00000feb: SHL
00000fec: DUP2
00000fed: MSTORE
00000fee: PUSH1 0x04
00000ff0: ADD
00000ff1: PUSH2 0x0bfe
00000ff4: SWAP1
00000ff5: PUSH2 0x4bea
00000ff8: JUMP
00000ff9: JUMPDEST
00000ffa: PUSH1 0x01
00000ffc: PUSH1 0x01
00000ffe: PUSH1 0xe0
00001000: SHL
00001001: SUB
00001002: NOT
00001003: DUP2
00001004: AND
00001005: PUSH1 0x00
00001007: DUP2
00001008: DUP2
00001009: MSTORE
0000100a: PUSH1 0x97
0000100c: PUSH1 0x20
0000100e: SWAP1
0000100f: DUP2
00001010: MSTORE
00001011: PUSH1 0x40
00001013: SWAP2
00001014: DUP3
00001015: SWAP1
00001016: KECCAK256
00001017: DUP1
00001018: SLOAD
00001019: PUSH1 0xff
0000101b: NOT
0000101c: AND
0000101d: PUSH1 0x01
0000101f: OR
00001020: SWAP1
00001021: SSTORE
00001022: SWAP1
00001023: MLOAD
00001024: SWAP2
00001025: DUP3
00001026: MSTORE
00001027: CALLER
00001028: SWAP2
00001029: PUSH32 0x2278e547293e53a66144c1743877f8388ac3101bd21cfd7c7f4ce8c15c14f5c1
0000104a: SWAP2
0000104b: ADD
0000104c: PUSH2 0x0ded
0000104f: JUMP
00001050: JUMPDEST
00001051: PUSH2 0x105b
00001054: PUSH2 0x0ca8
00001057: PUSH2 0x0f57
0000105a: JUMP
0000105b: JUMPDEST
0000105c: PUSH1 0x01
0000105e: PUSH1 0x01
00001060: PUSH1 0xe0
00001062: SHL
00001063: SUB
00001064: NOT
00001065: DUP2
00001066: AND
00001067: PUSH1 0x00
00001069: SWAP1
0000106a: DUP2
0000106b: MSTORE
0000106c: PUSH1 0x97
0000106e: PUSH1 0x20
00001070: MSTORE
00001071: PUSH1 0x40
00001073: SWAP1
00001074: KECCAK256
00001075: SLOAD
00001076: PUSH1 0xff
00001078: AND
00001079: PUSH2 0x10bc
0000107c: JUMPI
0000107d: PUSH1 0x40
0000107f: MLOAD
00001080: PUSH3 0x461bcd
00001084: PUSH1 0xe5
00001086: SHL
00001087: DUP2
00001088: MSTORE
00001089: PUSH1 0x20
0000108b: PUSH1 0x04
0000108d: DUP3
0000108e: ADD
0000108f: MSTORE
00001090: PUSH1 0x15
00001092: PUSH1 0x24
00001094: DUP3
00001095: ADD
00001096: MSTORE
00001097: PUSH21 0x14185d5cd8589b194e88199b881d5b9c185d5cd959
000010ad: PUSH1 0x5a
000010af: SHL
000010b0: PUSH1 0x44
000010b2: DUP3
000010b3: ADD
000010b4: MSTORE
000010b5: PUSH1 0x64
000010b7: ADD
000010b8: PUSH2 0x0bfe
000010bb: JUMP
000010bc: JUMPDEST
000010bd: PUSH1 0x01
000010bf: PUSH1 0x01
000010c1: PUSH1 0xe0
000010c3: SHL
000010c4: SUB
000010c5: NOT
000010c6: DUP2
000010c7: AND
000010c8: PUSH1 0x00
000010ca: DUP2
000010cb: DUP2
000010cc: MSTORE
000010cd: PUSH1 0x97
000010cf: PUSH1 0x20
000010d1: SWAP1
000010d2: DUP2
000010d3: MSTORE
000010d4: PUSH1 0x40
000010d6: SWAP2
000010d7: DUP3
000010d8: SWAP1
000010d9: KECCAK256
000010da: DUP1
000010db: SLOAD
000010dc: PUSH1 0xff
000010de: NOT
000010df: AND
000010e0: SWAP1
000010e1: SSTORE
000010e2: SWAP1
000010e3: MLOAD
000010e4: SWAP2
000010e5: DUP3
000010e6: MSTORE
000010e7: CALLER
000010e8: SWAP2
000010e9: PUSH32 0x929135cc6324f958693bb5f24a4dbc226a83c721523fc2785545019a3423b2d7
0000110a: SWAP2
0000110b: ADD
0000110c: PUSH2 0x0ded
0000110f: JUMP
00001110: JUMPDEST
00001111: PUSH2 0x111b
00001114: PUSH2 0x0ca8
00001117: PUSH2 0x1f97
0000111a: JUMP
0000111b: JUMPDEST
0000111c: PUSH1 0x01
0000111e: PUSH1 0x01
00001120: PUSH1 0xa0
00001122: SHL
00001123: SUB
00001124: DUP3
00001125: AND
00001126: PUSH1 0x00
00001128: SWAP1
00001129: DUP2
0000112a: MSTORE
0000112b: PUSH2 0x0170
0000112e: PUSH1 0x20
00001130: MSTORE
00001131: PUSH1 0x40
00001133: SWAP1
00001134: KECCAK256
00001135: SLOAD
00001136: PUSH1 0xff
00001138: AND
00001139: ISZERO
0000113a: ISZERO
0000113b: DUP2
0000113c: ISZERO
0000113d: ISZERO
0000113e: EQ
0000113f: ISZERO
00001140: PUSH2 0x117e
00001143: JUMPI
00001144: PUSH1 0x40
00001146: MLOAD
00001147: PUSH3 0x461bcd
0000114b: PUSH1 0xe5
0000114d: SHL
0000114e: DUP2
0000114f: MSTORE
00001150: PUSH1 0x20
00001152: PUSH1 0x04
00001154: DUP3
00001155: ADD
00001156: MSTORE
00001157: PUSH1 0x10
00001159: PUSH1 0x24
0000115b: DUP3
0000115c: ADD
0000115d: MSTORE
0000115e: PUSH16 0x44563a20616c72656164792066726565
0000116f: PUSH1 0x80
00001171: SHL
00001172: PUSH1 0x44
00001174: DUP3
00001175: ADD
00001176: MSTORE
00001177: PUSH1 0x64
00001179: ADD
0000117a: PUSH2 0x0bfe
0000117d: JUMP
0000117e: JUMPDEST
0000117f: PUSH1 0x01
00001181: PUSH1 0x01
00001183: PUSH1 0xa0
00001185: SHL
00001186: SUB
00001187: DUP3
00001188: AND
00001189: PUSH1 0x00
0000118b: DUP2
0000118c: DUP2
0000118d: MSTORE
0000118e: PUSH2 0x0170
00001191: PUSH1 0x20
00001193: SWAP1
00001194: DUP2
00001195: MSTORE
00001196: PUSH1 0x40
00001198: SWAP2
00001199: DUP3
0000119a: SWAP1
0000119b: KECCAK256
0000119c: DUP1
0000119d: SLOAD
0000119e: PUSH1 0xff
000011a0: NOT
000011a1: AND
000011a2: DUP6
000011a3: ISZERO
000011a4: ISZERO
000011a5: SWAP1
000011a6: DUP2
000011a7: OR
000011a8: SWAP1
000011a9: SWAP2
000011aa: SSTORE
000011ab: SWAP2
000011ac: MLOAD
000011ad: SWAP2
000011ae: DUP3
000011af: MSTORE
000011b0: PUSH32 0x80f6f2f8801c6ac8fc60bf218b44fde97744d8709f69281972ec5557c10226cc
000011d1: SWAP2
000011d2: ADD
000011d3: PUSH2 0x0e43
000011d6: JUMP
000011d7: JUMPDEST
000011d8: PUSH2 0x11e2
000011db: PUSH2 0x0ca8
000011de: PUSH2 0x1f97
000011e1: JUMP
000011e2: JUMPDEST
000011e3: PUSH2 0x11f6
000011e6: PUSH1 0x01
000011e8: PUSH1 0x01
000011ea: PUSH1 0xa0
000011ec: SHL
000011ed: SUB
000011ee: DUP5
000011ef: AND
000011f0: DUP3
000011f1: DUP5
000011f2: PUSH2 0x2a69
000011f5: JUMP
000011f6: JUMPDEST
000011f7: DUP1
000011f8: PUSH1 0x01
000011fa: PUSH1 0x01
000011fc: PUSH1 0xa0
000011fe: SHL
000011ff: SUB
00001200: AND
00001201: DUP4
00001202: PUSH1 0x01
00001204: PUSH1 0x01
00001206: PUSH1 0xa0
00001208: SHL
00001209: SUB
0000120a: AND
0000120b: CALLER
0000120c: PUSH1 0x01
0000120e: PUSH1 0x01
00001210: PUSH1 0xa0
00001212: SHL
00001213: SUB
00001214: AND
00001215: PUSH32 0x9ca7c1e047552a8048d924a5a8d3c150eb861086a72a9100e5f19d1176c1b746
00001236: DUP6
00001237: PUSH1 0x40
00001239: MLOAD
0000123a: PUSH2 0x1245
0000123d: SWAP2
0000123e: DUP2
0000123f: MSTORE
00001240: PUSH1 0x20
00001242: ADD
00001243: SWAP1
00001244: JUMP
00001245: JUMPDEST
00001246: PUSH1 0x40
00001248: MLOAD
00001249: DUP1
0000124a: SWAP2
0000124b: SUB
0000124c: SWAP1
0000124d: LOG4
0000124e: POP
0000124f: POP
00001250: POP
00001251: JUMP
00001252: JUMPDEST
00001253: PUSH2 0x125d
00001256: PUSH2 0x0ca8
00001259: PUSH2 0x0f57
0000125c: JUMP
0000125d: JUMPDEST
0000125e: PUSH2 0x1265
00001261: PUSH2 0x2acc
00001264: JUMP
00001265: JUMPDEST
00001266: JUMP
00001267: JUMPDEST
00001268: PUSH2 0x1272
0000126b: PUSH2 0x0ca8
0000126e: PUSH2 0x1f97
00001271: JUMP
00001272: JUMPDEST
00001273: PUSH2 0x127d
00001276: DUP2
00001277: PUSH1 0x01
00001279: PUSH2 0x2b1e
0000127c: JUMP
0000127d: JUMPDEST
0000127e: PUSH2 0x0165
00001281: DUP1
00001282: SLOAD
00001283: PUSH1 0x01
00001285: PUSH1 0x01
00001287: PUSH1 0xa0
00001289: SHL
0000128a: SUB
0000128b: NOT
0000128c: AND
0000128d: PUSH1 0x01
0000128f: PUSH1 0x01
00001291: PUSH1 0xa0
00001293: SHL
00001294: SUB
00001295: DUP4
00001296: AND
00001297: SWAP1
00001298: DUP2
00001299: OR
0000129a: SWAP1
0000129b: SWAP2
0000129c: SSTORE
0000129d: PUSH1 0x40
0000129f: MLOAD
000012a0: CALLER
000012a1: SWAP1
000012a2: PUSH32 0xdb5a411e1a379f981ff6bc5284aa2c2522a9b8fd33a9db9ca19b34006cefbe9c
000012c3: SWAP1
000012c4: PUSH1 0x00
000012c6: SWAP1
000012c7: LOG3
000012c8: POP
000012c9: JUMP
000012ca: JUMPDEST
000012cb: PUSH2 0x12d5
000012ce: PUSH2 0x0ca8
000012d1: PUSH2 0x0f57
000012d4: JUMP
000012d5: JUMPDEST
000012d6: PUSH2 0x012f
000012d9: DUP1
000012da: SLOAD
000012db: PUSH1 0x01
000012dd: PUSH1 0x01
000012df: PUSH1 0xa0
000012e1: SHL
000012e2: SUB
000012e3: NOT
000012e4: AND
000012e5: PUSH1 0x01
000012e7: PUSH1 0x01
000012e9: PUSH1 0xa0
000012eb: SHL
000012ec: SUB
000012ed: DUP4
000012ee: AND
000012ef: SWAP1
000012f0: DUP2
000012f1: OR
000012f2: SWAP1
000012f3: SWAP2
000012f4: SSTORE
000012f5: PUSH1 0x40
000012f7: MLOAD
000012f8: CALLER
000012f9: SWAP1
000012fa: PUSH32 0x7f0c791852a03e270d4c2b78bbd4b959bca234de8d1ccf27eee03afaeafe63c4
0000131b: SWAP1
0000131c: PUSH1 0x00
0000131e: SWAP1
0000131f: LOG3
00001320: POP
00001321: JUMP
00001322: JUMPDEST
00001323: PUSH1 0x00
00001325: SLOAD
00001326: PUSH2 0x0100
00001329: SWAP1
0000132a: DIV
0000132b: PUSH1 0xff
0000132d: AND
0000132e: ISZERO
0000132f: DUP1
00001330: DUP1
00001331: ISZERO
00001332: PUSH2 0x1342
00001335: JUMPI
00001336: POP
00001337: PUSH1 0x00
00001339: SLOAD
0000133a: PUSH1 0x01
0000133c: PUSH1 0xff
0000133e: SWAP1
0000133f: SWAP2
00001340: AND
00001341: LT
00001342: JUMPDEST
00001343: DUP1
00001344: PUSH2 0x135c
00001347: JUMPI
00001348: POP
00001349: ADDRESS
0000134a: EXTCODESIZE
0000134b: ISZERO
0000134c: DUP1
0000134d: ISZERO
0000134e: PUSH2 0x135c
00001351: JUMPI
00001352: POP
00001353: PUSH1 0x00
00001355: SLOAD
00001356: PUSH1 0xff
00001358: AND
00001359: PUSH1 0x01
0000135b: EQ
0000135c: JUMPDEST
0000135d: PUSH2 0x1378
00001360: JUMPI
00001361: PUSH1 0x40
00001363: MLOAD
00001364: PUSH3 0x461bcd
00001368: PUSH1 0xe5
0000136a: SHL
0000136b: DUP2
0000136c: MSTORE
0000136d: PUSH1 0x04
0000136f: ADD
00001370: PUSH2 0x0bfe
00001373: SWAP1
00001374: PUSH2 0x4c17
00001377: JUMP
00001378: JUMPDEST
00001379: PUSH1 0x00
0000137b: DUP1
0000137c: SLOAD
0000137d: PUSH1 0xff
0000137f: NOT
00001380: AND
00001381: PUSH1 0x01
00001383: OR
00001384: SWAP1
00001385: SSTORE
00001386: DUP1
00001387: ISZERO
00001388: PUSH2 0x139b
0000138b: JUMPI
0000138c: PUSH1 0x00
0000138e: DUP1
0000138f: SLOAD
00001390: PUSH2 0xff00
00001393: NOT
00001394: AND
00001395: PUSH2 0x0100
00001398: OR
00001399: SWAP1
0000139a: SSTORE
0000139b: JUMPDEST
0000139c: PUSH2 0x13ac
0000139f: DUP11
000013a0: DUP11
000013a1: DUP11
000013a2: DUP11
000013a3: DUP11
000013a4: DUP11
000013a5: DUP11
000013a6: DUP11
000013a7: DUP11
000013a8: PUSH2 0x2bb4
000013ab: JUMP
000013ac: JUMPDEST
000013ad: DUP1
000013ae: ISZERO
000013af: PUSH2 0x13f2
000013b2: JUMPI
000013b3: PUSH1 0x00
000013b5: DUP1
000013b6: SLOAD
000013b7: PUSH2 0xff00
000013ba: NOT
000013bb: AND
000013bc: SWAP1
000013bd: SSTORE
000013be: PUSH1 0x40
000013c0: MLOAD
000013c1: PUSH1 0x01
000013c3: DUP2
000013c4: MSTORE
000013c5: PUSH32 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498
000013e6: SWAP1
000013e7: PUSH1 0x20
000013e9: ADD
000013ea: PUSH1 0x40
000013ec: MLOAD
000013ed: DUP1
000013ee: SWAP2
000013ef: SUB
000013f0: SWAP1
000013f1: LOG1
000013f2: JUMPDEST
000013f3: POP
000013f4: POP
000013f5: POP
000013f6: POP
000013f7: POP
000013f8: POP
000013f9: POP
000013fa: POP
000013fb: POP
000013fc: POP
000013fd: JUMP
000013fe: JUMPDEST
000013ff: PUSH2 0x1409
00001402: PUSH2 0x0ca8
00001405: PUSH2 0x1f97
00001408: JUMP
00001409: JUMPDEST
0000140a: PUSH2 0x01a5
0000140d: DUP2
0000140e: SWAP1
0000140f: SSTORE
00001410: PUSH1 0x40
00001412: MLOAD
00001413: DUP2
00001414: DUP2
00001415: MSTORE
00001416: CALLER
00001417: SWAP1
00001418: PUSH32 0x72bae0b4c0979f93d77dce748bd8dfbc89d0f1cd524eee95367e3d2ce5eca93f
00001439: SWAP1
0000143a: PUSH1 0x20
0000143c: ADD
0000143d: PUSH2 0x0ded
00001440: JUMP
00001441: JUMPDEST
00001442: PUSH2 0x144c
00001445: PUSH2 0x0ca8
00001448: PUSH2 0x1f97
0000144b: JUMP
0000144c: JUMPDEST
0000144d: PUSH1 0x00
0000144f: DUP2
00001450: GT
00001451: PUSH2 0x148d
00001454: JUMPI
00001455: PUSH1 0x40
00001457: MLOAD
00001458: PUSH3 0x461bcd
0000145c: PUSH1 0xe5
0000145e: SHL
0000145f: DUP2
00001460: MSTORE
00001461: PUSH1 0x20
00001463: PUSH1 0x04
00001465: DUP3
00001466: ADD
00001467: MSTORE
00001468: PUSH1 0x0e
0000146a: PUSH1 0x24
0000146c: DUP3
0000146d: ADD
0000146e: MSTORE
0000146f: PUSH14 0x4d563a206c696d6974207a65726f
0000147e: PUSH1 0x90
00001480: SHL
00001481: PUSH1 0x44
00001483: DUP3
00001484: ADD
00001485: MSTORE
00001486: PUSH1 0x64
00001488: ADD
00001489: PUSH2 0x0bfe
0000148c: JUMP
0000148d: JUMPDEST
0000148e: PUSH2 0x0167
00001491: DUP2
00001492: SWAP1
00001493: SSTORE
00001494: PUSH1 0x40
00001496: MLOAD
00001497: DUP2
00001498: DUP2
00001499: MSTORE
0000149a: CALLER
0000149b: SWAP1
0000149c: PUSH32 0x5e8309fc6b2360e7438bc53790b00913395fffa870f39043fe63ddc8a438a9b2
000014bd: SWAP1
000014be: PUSH1 0x20
000014c0: ADD
000014c1: PUSH2 0x0ded
000014c4: JUMP
000014c5: JUMPDEST
000014c6: PUSH2 0x14d0
000014c9: PUSH2 0x0ca8
000014cc: PUSH2 0x1f97
000014cf: JUMP
000014d0: JUMPDEST
000014d1: PUSH2 0x14db
000014d4: DUP2
000014d5: PUSH1 0x00
000014d7: PUSH2 0x29e9
000014da: JUMP
000014db: JUMPDEST
000014dc: PUSH2 0x01a4
000014df: DUP2
000014e0: SWAP1
000014e1: SSTORE
000014e2: PUSH1 0x40
000014e4: MLOAD
000014e5: DUP2
000014e6: DUP2
000014e7: MSTORE
000014e8: CALLER
000014e9: SWAP1
000014ea: PUSH32 0xa627d2a34207df740c6b90691350e2a762296cbf59affeb2282e6a54d631d4db
0000150b: SWAP1
0000150c: PUSH1 0x20
0000150e: ADD
0000150f: PUSH2 0x0ded
00001512: JUMP
00001513: JUMPDEST
00001514: PUSH2 0x151e
00001517: PUSH2 0x0ca8
0000151a: PUSH2 0x1f97
0000151d: JUMP
0000151e: JUMPDEST
0000151f: PUSH2 0x01a3
00001522: DUP2
00001523: SWAP1
00001524: SSTORE
00001525: PUSH1 0x40
00001527: MLOAD
00001528: DUP2
00001529: DUP2
0000152a: MSTORE
0000152b: CALLER
0000152c: SWAP1
0000152d: PUSH32 0x8855fe6f9cbc4052017b3546fa14e167c5af2daad7f1c64db7f897fbcfb657b0
0000154e: SWAP1
0000154f: PUSH1 0x20
00001551: ADD
00001552: PUSH2 0x0ded
00001555: JUMP
00001556: JUMPDEST
00001557: PUSH2 0x1561
0000155a: PUSH2 0x0ca8
0000155d: PUSH2 0x0f57
00001560: JUMP
00001561: JUMPDEST
00001562: PUSH2 0x1265
00001565: PUSH2 0x2c43
00001568: JUMP
00001569: JUMPDEST
0000156a: PUSH32 0x85ab2c1384c32949856b8251e03c48dafd9a1c9e9661d6ee6d38a46b7a508daa
0000158b: PUSH2 0x1592
0000158e: PUSH2 0x2206
00001591: JUMP
00001592: JUMPDEST
00001593: PUSH1 0x01
00001595: PUSH1 0x01
00001597: PUSH1 0xe0
00001599: SHL
0000159a: SUB
0000159b: NOT
0000159c: DUP2
0000159d: AND
0000159e: PUSH1 0x00
000015a0: SWAP1
000015a1: DUP2
000015a2: MSTORE
000015a3: PUSH1 0x97
000015a5: PUSH1 0x20
000015a7: MSTORE
000015a8: PUSH1 0x40
000015aa: SWAP1
000015ab: KECCAK256
000015ac: SLOAD
000015ad: PUSH1 0xff
000015af: AND
000015b0: ISZERO
000015b1: PUSH2 0x15cc
000015b4: JUMPI
000015b5: PUSH1 0x40
000015b7: MLOAD
000015b8: PUSH3 0x461bcd
000015bc: PUSH1 0xe5
000015be: SHL
000015bf: DUP2
000015c0: MSTORE
000015c1: PUSH1 0x04
000015c3: ADD
000015c4: PUSH2 0x0bfe
000015c7: SWAP1
000015c8: PUSH2 0x4bea
000015cb: JUMP
000015cc: JUMPDEST
000015cd: PUSH2 0x15d5
000015d0: CALLER
000015d1: PUSH2 0x224c
000015d4: JUMP
000015d5: JUMPDEST
000015d6: PUSH1 0x01
000015d8: PUSH1 0x01
000015da: PUSH1 0xa0
000015dc: SHL
000015dd: SUB
000015de: DUP3
000015df: AND
000015e0: CALLER
000015e1: EQ
000015e2: PUSH2 0x15ee
000015e5: JUMPI
000015e6: PUSH2 0x15ee
000015e9: DUP3
000015ea: PUSH2 0x224c
000015ed: JUMP
000015ee: JUMPDEST
000015ef: PUSH1 0x00
000015f1: DUP1
000015f2: PUSH2 0x15fd
000015f5: DUP8
000015f6: DUP8
000015f7: DUP8
000015f8: DUP8
000015f9: PUSH2 0x2c80
000015fc: JUMP
000015fd: JUMPDEST
000015fe: DUP2
000015ff: MLOAD
00001600: PUSH1 0x40
00001602: DUP1
00001603: MLOAD
00001604: PUSH1 0x01
00001606: PUSH1 0x01
00001608: PUSH1 0xa0
0000160a: SHL
0000160b: SUB
0000160c: DUP10
0000160d: DUP2
0000160e: AND
0000160f: DUP3
00001610: MSTORE
00001611: PUSH1 0x20
00001613: DUP3
00001614: ADD
00001615: DUP13
00001616: SWAP1
00001617: MSTORE
00001618: SWAP2
00001619: DUP2
0000161a: ADD
0000161b: SWAP3
0000161c: SWAP1
0000161d: SWAP3
0000161e: MSTORE
0000161f: PUSH1 0x60
00001621: DUP3
00001622: ADD
00001623: DUP4
00001624: SWAP1
00001625: MSTORE
00001626: SWAP3
00001627: SWAP5
00001628: POP
00001629: SWAP1
0000162a: SWAP3
0000162b: POP
0000162c: SWAP1
0000162d: DUP9
0000162e: AND
0000162f: SWAP1
00001630: CALLER
00001631: SWAP1
00001632: PUSH32 0x4fd0e2f3f27549d8d0c242f7193eaa0f61546e887fec39e69dfbff6b2384a4c3
00001653: SWAP1
00001654: PUSH1 0x80
00001656: ADD
00001657: PUSH1 0x40
00001659: MLOAD
0000165a: DUP1
0000165b: SWAP2
0000165c: SUB
0000165d: SWAP1
0000165e: LOG3
0000165f: POP
00001660: POP
00001661: POP
00001662: POP
00001663: POP
00001664: POP
00001665: POP
00001666: JUMP
00001667: JUMPDEST
00001668: PUSH2 0x1672
0000166b: PUSH2 0x0ca8
0000166e: PUSH2 0x1f97
00001671: JUMP
00001672: JUMPDEST
00001673: PUSH2 0x1680
00001676: DUP3
00001677: DUP3
00001678: PUSH1 0x01
0000167a: PUSH1 0x00
0000167c: PUSH2 0x26aa
0000167f: JUMP
00001680: JUMPDEST
00001681: POP
00001682: DUP2
00001683: PUSH32 0x03ea09e71742c9c754c9746b3e671ecb27fc372e3d29c31bac0192458ffd9d4b
000016a4: DUP3
000016a5: PUSH1 0x40
000016a7: MLOAD
000016a8: PUSH2 0x0e43
000016ab: SWAP2
000016ac: DUP2
000016ad: MSTORE
000016ae: PUSH1 0x20
000016b0: ADD
000016b1: SWAP1
000016b2: JUMP
000016b3: JUMPDEST
000016b4: PUSH2 0x16be
000016b7: PUSH2 0x0ca8
000016ba: PUSH2 0x1f97
000016bd: JUMP
000016be: JUMPDEST
000016bf: PUSH2 0x016f
000016c2: DUP2
000016c3: SWAP1
000016c4: SSTORE
000016c5: PUSH1 0x40
000016c7: MLOAD
000016c8: DUP2
000016c9: DUP2
000016ca: MSTORE
000016cb: CALLER
000016cc: SWAP1
000016cd: PUSH32 0x57e764c1fef224e74706b109734513889970db6f1dde107b1bda66e10d80ca9b
000016ee: SWAP1
000016ef: PUSH1 0x20
000016f1: ADD
000016f2: PUSH2 0x0ded
000016f5: JUMP
000016f6: JUMPDEST
000016f7: PUSH2 0x1701
000016fa: PUSH2 0x0ca8
000016fd: PUSH2 0x1f97
00001700: JUMP
00001701: JUMPDEST
00001702: PUSH2 0x020c
00001705: SLOAD
00001706: PUSH1 0x01
00001708: PUSH1 0x01
0000170a: PUSH1 0xa0
0000170c: SHL
0000170d: SUB
0000170e: DUP3
0000170f: DUP2
00001710: AND
00001711: SWAP2
00001712: AND
00001713: EQ
00001714: ISZERO
00001715: PUSH2 0x1759
00001718: JUMPI
00001719: PUSH1 0x40
0000171b: MLOAD
0000171c: PUSH3 0x461bcd
00001720: PUSH1 0xe5
00001722: SHL
00001723: DUP2
00001724: MSTORE
00001725: PUSH1 0x20
00001727: PUSH1 0x04
00001729: DUP3
0000172a: ADD
0000172b: MSTORE
0000172c: PUSH1 0x16
0000172e: PUSH1 0x24
00001730: DUP3
00001731: ADD
00001732: MSTORE
00001733: PUSH22 0x26a92b299d1030b63932b0b23c90383937bb34b232b9
0000174a: PUSH1 0x51
0000174c: SHL
0000174d: PUSH1 0x44
0000174f: DUP3
00001750: ADD
00001751: MSTORE
00001752: PUSH1 0x64
00001754: ADD
00001755: PUSH2 0x0bfe
00001758: JUMP
00001759: JUMPDEST
0000175a: PUSH2 0x1764
0000175d: DUP2
0000175e: PUSH1 0x01
00001760: PUSH2 0x2b1e
00001763: JUMP
00001764: JUMPDEST
00001765: PUSH2 0x020c
00001768: DUP1
00001769: SLOAD
0000176a: PUSH1 0x01
0000176c: PUSH1 0x01
0000176e: PUSH1 0xa0
00001770: SHL
00001771: SUB
00001772: NOT
00001773: AND
00001774: PUSH1 0x01
00001776: PUSH1 0x01
00001778: PUSH1 0xa0
0000177a: SHL
0000177b: SUB
0000177c: DUP4
0000177d: AND
0000177e: SWAP1
0000177f: DUP2
00001780: OR
00001781: SWAP1
00001782: SWAP2
00001783: SSTORE
00001784: PUSH1 0x40
00001786: MLOAD
00001787: CALLER
00001788: SWAP1
00001789: PUSH32 0xd081462190bc4f588c3e60685e37e27b800f5ac8b62c3edd7eecba5d1cecb9d5
000017aa: SWAP1
000017ab: PUSH1 0x00
000017ad: SWAP1
000017ae: LOG3
000017af: POP
000017b0: JUMP
000017b1: JUMPDEST
000017b2: PUSH2 0x17bc
000017b5: PUSH2 0x0ca8
000017b8: PUSH2 0x1f97
000017bb: JUMP
000017bc: JUMPDEST
000017bd: PUSH1 0x01
000017bf: PUSH1 0x01
000017c1: PUSH1 0xa0
000017c3: SHL
000017c4: SUB
000017c5: DUP3
000017c6: AND
000017c7: ISZERO
000017c8: PUSH2 0x17d4
000017cb: JUMPI
000017cc: PUSH2 0x17d4
000017cf: DUP3
000017d0: PUSH2 0x3057
000017d3: JUMP
000017d4: JUMPDEST
000017d5: PUSH1 0x00
000017d7: DUP2
000017d8: GT
000017d9: PUSH2 0x1819
000017dc: JUMPI
000017dd: PUSH1 0x40
000017df: MLOAD
000017e0: PUSH3 0x461bcd
000017e4: PUSH1 0xe5
000017e6: SHL
000017e7: DUP2
000017e8: MSTORE
000017e9: PUSH1 0x20
000017eb: PUSH1 0x04
000017ed: DUP3
000017ee: ADD
000017ef: MSTORE
000017f0: PUSH1 0x12
000017f2: PUSH1 0x24
000017f4: DUP3
000017f5: ADD
000017f6: MSTORE
000017f7: PUSH18 0x4d563a207a65726f20616c6c6f77616e6365
0000180a: PUSH1 0x70
0000180c: SHL
0000180d: PUSH1 0x44
0000180f: DUP3
00001810: ADD
00001811: MSTORE
00001812: PUSH1 0x64
00001814: ADD
00001815: PUSH2 0x0bfe
00001818: JUMP
00001819: JUMPDEST
0000181a: PUSH1 0x01
0000181c: PUSH1 0x01
0000181e: PUSH1 0xa0
00001820: SHL
00001821: SUB
00001822: DUP3
00001823: AND
00001824: PUSH1 0x00
00001826: DUP2
00001827: DUP2
00001828: MSTORE
00001829: PUSH2 0x016e
0000182c: PUSH1 0x20
0000182e: MSTORE
0000182f: PUSH1 0x40
00001831: SWAP1
00001832: DUP2
00001833: SWAP1
00001834: KECCAK256
00001835: PUSH1 0x02
00001837: ADD
00001838: DUP4
00001839: SWAP1
0000183a: SSTORE
0000183b: MLOAD
0000183c: CALLER
0000183d: SWAP2
0000183e: SWAP1
0000183f: PUSH32 0xf7273742887a46d8b97d83d1d12b6d8d8e6d21d814072369e2f4b355690221d7
00001860: SWAP1
00001861: PUSH2 0x186d
00001864: SWAP1
00001865: DUP6
00001866: DUP2
00001867: MSTORE
00001868: PUSH1 0x20
0000186a: ADD
0000186b: SWAP1
0000186c: JUMP
0000186d: JUMPDEST
0000186e: PUSH1 0x40
00001870: MLOAD
00001871: DUP1
00001872: SWAP2
00001873: SUB
00001874: SWAP1
00001875: LOG3
00001876: POP
00001877: POP
00001878: JUMP
00001879: JUMPDEST
0000187a: PUSH32 0x8b53f75ebd6e3af54b2d42f7b3f6d41d997973b4f29dcd155e6a81f98c0f7d5a
0000189b: PUSH2 0x18a2
0000189e: PUSH2 0x2206
000018a1: JUMP
000018a2: JUMPDEST
000018a3: PUSH1 0x01
000018a5: PUSH1 0x01
000018a7: PUSH1 0xe0
000018a9: SHL
000018aa: SUB
000018ab: NOT
000018ac: DUP2
000018ad: AND
000018ae: PUSH1 0x00
000018b0: SWAP1
000018b1: DUP2
000018b2: MSTORE
000018b3: PUSH1 0x97
000018b5: PUSH1 0x20
000018b7: MSTORE
000018b8: PUSH1 0x40
000018ba: SWAP1
000018bb: KECCAK256
000018bc: SLOAD
000018bd: PUSH1 0xff
000018bf: AND
000018c0: ISZERO
000018c1: PUSH2 0x18dc
000018c4: JUMPI
000018c5: PUSH1 0x40
000018c7: MLOAD
000018c8: PUSH3 0x461bcd
000018cc: PUSH1 0xe5
000018ce: SHL
000018cf: DUP2
000018d0: MSTORE
000018d1: PUSH1 0x04
000018d3: ADD
000018d4: PUSH2 0x0bfe
000018d7: SWAP1
000018d8: PUSH2 0x4bea
000018db: JUMP
000018dc: JUMPDEST
000018dd: PUSH2 0x18e5
000018e0: CALLER
000018e1: PUSH2 0x224c
000018e4: JUMP
000018e5: JUMPDEST
000018e6: PUSH1 0x00
000018e8: DUP1
000018e9: PUSH2 0x18f4
000018ec: DUP7
000018ed: DUP7
000018ee: DUP7
000018ef: CALLER
000018f0: PUSH2 0x2c80
000018f3: JUMP
000018f4: JUMPDEST
000018f5: DUP2
000018f6: MLOAD
000018f7: PUSH1 0x40
000018f9: DUP1
000018fa: MLOAD
000018fb: DUP10
000018fc: DUP2
000018fd: MSTORE
000018fe: PUSH1 0x20
00001900: DUP2
00001901: ADD
00001902: SWAP3
00001903: SWAP1
00001904: SWAP3
00001905: MSTORE
00001906: DUP2
00001907: ADD
00001908: DUP3
00001909: SWAP1
0000190a: MSTORE
0000190b: SWAP2
0000190c: SWAP4
0000190d: POP
0000190e: SWAP2
0000190f: POP
00001910: PUSH1 0x01
00001912: PUSH1 0x01
00001914: PUSH1 0xa0
00001916: SHL
00001917: SUB
00001918: DUP8
00001919: AND
0000191a: SWAP1
0000191b: CALLER
0000191c: SWAP1
0000191d: PUSH32 0x1af12536d161c2c30ad907b0abe442f94c4a7824f2463585b3fc893275247cce
0000193e: SWAP1
0000193f: PUSH1 0x60
00001941: ADD
00001942: PUSH1 0x40
00001944: MLOAD
00001945: DUP1
00001946: SWAP2
00001947: SUB
00001948: SWAP1
00001949: LOG3
0000194a: POP
0000194b: POP
0000194c: POP
0000194d: POP
0000194e: POP
0000194f: POP
00001950: JUMP
00001951: JUMPDEST
00001952: PUSH1 0x00
00001954: PUSH2 0x195b
00001957: PUSH2 0x30a9
0000195a: JUMP
0000195b: JUMPDEST
0000195c: SWAP1
0000195d: POP
0000195e: PUSH2 0x1968
00001961: DUP4
00001962: DUP4
00001963: DUP4
00001964: PUSH2 0x2150
00001967: JUMP
00001968: JUMPDEST
00001969: POP
0000196a: POP
0000196b: POP
0000196c: JUMP
0000196d: JUMPDEST
0000196e: PUSH2 0x1978
00001971: PUSH2 0x0ca8
00001974: PUSH2 0x1f97
00001977: JUMP
00001978: JUMPDEST
00001979: PUSH2 0x1984
0000197c: PUSH2 0x016c
0000197f: DUP3
00001980: PUSH2 0x3108
00001983: JUMP
00001984: JUMPDEST
00001985: PUSH2 0x19c1
00001988: JUMPI
00001989: PUSH1 0x40
0000198b: MLOAD
0000198c: PUSH3 0x461bcd
00001990: PUSH1 0xe5
00001992: SHL
00001993: DUP2
00001994: MSTORE
00001995: PUSH1 0x20
00001997: PUSH1 0x04
00001999: DUP3
0000199a: ADD
0000199b: MSTORE
0000199c: PUSH1 0x0e
0000199e: PUSH1 0x24
000019a0: DUP3
000019a1: ADD
000019a2: MSTORE
000019a3: PUSH14 0x4d563a206e6f7420657869737473
000019b2: PUSH1 0x90
000019b4: SHL
000019b5: PUSH1 0x44
000019b7: DUP3
000019b8: ADD
000019b9: MSTORE
000019ba: PUSH1 0x64
000019bc: ADD
000019bd: PUSH2 0x0bfe
000019c0: JUMP
000019c1: JUMPDEST
000019c2: PUSH1 0x01
000019c4: PUSH1 0x01
000019c6: PUSH1 0xa0
000019c8: SHL
000019c9: SUB
000019ca: DUP2
000019cb: AND
000019cc: PUSH1 0x00
000019ce: DUP2
000019cf: DUP2
000019d0: MSTORE
000019d1: PUSH2 0x016e
000019d4: PUSH1 0x20
000019d6: MSTORE
000019d7: PUSH1 0x40
000019d9: DUP1
000019da: DUP3
000019db: KECCAK256
000019dc: DUP1
000019dd: SLOAD
000019de: PUSH1 0x01
000019e0: PUSH1 0x01
000019e2: PUSH1 0xa0
000019e4: SHL
000019e5: SUB
000019e6: NOT
000019e7: AND
000019e8: DUP2
000019e9: SSTORE
000019ea: PUSH1 0x01
000019ec: DUP2
000019ed: ADD
000019ee: DUP4
000019ef: SWAP1
000019f0: SSTORE
000019f1: PUSH1 0x02
000019f3: DUP2
000019f4: ADD
000019f5: DUP4
000019f6: SWAP1
000019f7: SSTORE
000019f8: PUSH1 0x03
000019fa: ADD
000019fb: DUP1
000019fc: SLOAD
000019fd: PUSH1 0xff
000019ff: NOT
00001a00: AND
00001a01: SWAP1
00001a02: SSTORE
00001a03: MLOAD
00001a04: CALLER
00001a05: SWAP3
00001a06: SWAP2
00001a07: PUSH32 0x652fa2f5d587d3f1c189df0081b7bf3121f47d51d5471bf58d7d2c8a084894c3
00001a28: SWAP2
00001a29: LOG3
00001a2a: POP
00001a2b: JUMP
00001a2c: JUMPDEST
00001a2d: PUSH2 0x1a37
00001a30: PUSH2 0x0ca8
00001a33: PUSH2 0x1f97
00001a36: JUMP
00001a37: JUMPDEST
00001a38: PUSH2 0x1a42
00001a3b: DUP2
00001a3c: PUSH1 0x00
00001a3e: PUSH2 0x2b1e
00001a41: JUMP
00001a42: JUMPDEST
00001a43: PUSH2 0x01a7
00001a46: DUP1
00001a47: SLOAD
00001a48: PUSH1 0x01
00001a4a: PUSH1 0x01
00001a4c: PUSH1 0xa0
00001a4e: SHL
00001a4f: SUB
00001a50: NOT
00001a51: AND
00001a52: PUSH1 0x01
00001a54: PUSH1 0x01
00001a56: PUSH1 0xa0
00001a58: SHL
00001a59: SUB
00001a5a: DUP4
00001a5b: AND
00001a5c: SWAP1
00001a5d: DUP2
00001a5e: OR
00001a5f: SWAP1
00001a60: SWAP2
00001a61: SSTORE
00001a62: PUSH1 0x40
00001a64: MLOAD
00001a65: SWAP1
00001a66: DUP2
00001a67: MSTORE
00001a68: CALLER
00001a69: SWAP1
00001a6a: PUSH32 0x5059e224ac539671fe0261fc6672c365607aa98da29c849726ac5956902221b4
00001a8b: SWAP1
00001a8c: PUSH1 0x20
00001a8e: ADD
00001a8f: PUSH2 0x0ded
00001a92: JUMP
00001a93: JUMPDEST
00001a94: PUSH2 0x1a9e
00001a97: PUSH2 0x0ca8
00001a9a: PUSH2 0x1f97
00001a9d: JUMP
00001a9e: JUMPDEST
00001a9f: PUSH2 0x1aa9
00001aa2: DUP2
00001aa3: PUSH1 0x00
00001aa5: PUSH2 0x29e9
00001aa8: JUMP
00001aa9: JUMPDEST
00001aaa: PUSH2 0x0166
00001aad: DUP2
00001aae: SWAP1
00001aaf: SSTORE
00001ab0: PUSH1 0x40
00001ab2: MLOAD
00001ab3: DUP2
00001ab4: DUP2
00001ab5: MSTORE
00001ab6: CALLER
00001ab7: SWAP1
00001ab8: PUSH32 0x45acc8bd6ebd6fbb59ce049b682c124aeccc93c468fcf60fecf61340e86e79d3
00001ad9: SWAP1
00001ada: PUSH1 0x20
00001adc: ADD
00001add: PUSH2 0x0ded
00001ae0: JUMP
00001ae1: JUMPDEST
00001ae2: PUSH1 0x00
00001ae4: PUSH32 0xbfc2d46a919432a5240e2d1b08da2f7ce0add499a19be62446ee561d32e12e22
00001b05: PUSH2 0x1b0c
00001b08: PUSH2 0x2206
00001b0b: JUMP
00001b0c: JUMPDEST
00001b0d: PUSH1 0x01
00001b0f: PUSH1 0x01
00001b11: PUSH1 0xe0
00001b13: SHL
00001b14: SUB
00001b15: NOT
00001b16: DUP2
00001b17: AND
00001b18: PUSH1 0x00
00001b1a: SWAP1
00001b1b: DUP2
00001b1c: MSTORE
00001b1d: PUSH1 0x97
00001b1f: PUSH1 0x20
00001b21: MSTORE
00001b22: PUSH1 0x40
00001b24: SWAP1
00001b25: KECCAK256
00001b26: SLOAD
00001b27: PUSH1 0xff
00001b29: AND
00001b2a: ISZERO
00001b2b: PUSH2 0x1b46
00001b2e: JUMPI
00001b2f: PUSH1 0x40
00001b31: MLOAD
00001b32: PUSH3 0x461bcd
00001b36: PUSH1 0xe5
00001b38: SHL
00001b39: DUP2
00001b3a: MSTORE
00001b3b: PUSH1 0x04
00001b3d: ADD
00001b3e: PUSH2 0x0bfe
00001b41: SWAP1
00001b42: PUSH2 0x4bea
00001b45: JUMP
00001b46: JUMPDEST
00001b47: PUSH2 0x1b4f
00001b4a: CALLER
00001b4b: PUSH2 0x224c
00001b4e: JUMP
00001b4f: JUMPDEST
00001b50: PUSH1 0x00
00001b52: DUP1
00001b53: PUSH2 0x1b5f
00001b56: DUP7
00001b57: DUP7
00001b58: PUSH1 0x00
00001b5a: CALLER
00001b5b: PUSH2 0x2340
00001b5e: JUMP
00001b5f: JUMPDEST
00001b60: SWAP2
00001b61: POP
00001b62: SWAP2
00001b63: POP
00001b64: DUP6
00001b65: PUSH1 0x01
00001b67: PUSH1 0x01
00001b69: PUSH1 0xa0
00001b6b: SHL
00001b6c: SUB
00001b6d: AND
00001b6e: CALLER
00001b6f: PUSH1 0x01
00001b71: PUSH1 0x01
00001b73: PUSH1 0xa0
00001b75: SHL
00001b76: SUB
00001b77: AND
00001b78: DUP4
00001b79: PUSH32 0x55ba94d231fa70a45e82b0a1c6a60ef72e41bb2455385128ee5cf8d98c0c1c0e
00001b9a: DUP9
00001b9b: DUP6
00001b9c: PUSH1 0x00
00001b9e: ADD
00001b9f: MLOAD
00001ba0: PUSH1 0x40
00001ba2: MLOAD
00001ba3: PUSH2 0x1bb6
00001ba6: SWAP3
00001ba7: SWAP2
00001ba8: SWAP1
00001ba9: SWAP2
00001baa: DUP3
00001bab: MSTORE
00001bac: PUSH1 0x20
00001bae: DUP3
00001baf: ADD
00001bb0: MSTORE
00001bb1: PUSH1 0x40
00001bb3: ADD
00001bb4: SWAP1
00001bb5: JUMP
00001bb6: JUMPDEST
00001bb7: PUSH1 0x40
00001bb9: MLOAD
00001bba: DUP1
00001bbb: SWAP2
00001bbc: SUB
00001bbd: SWAP1
00001bbe: LOG4
00001bbf: POP
00001bc0: SWAP5
00001bc1: SWAP4
00001bc2: POP
00001bc3: POP
00001bc4: POP
00001bc5: POP
00001bc6: JUMP
00001bc7: JUMPDEST
00001bc8: PUSH1 0x60
00001bca: PUSH2 0x0f61
00001bcd: PUSH2 0x016c
00001bd0: PUSH2 0x3126
00001bd3: JUMP
00001bd4: JUMPDEST
00001bd5: PUSH1 0x00
00001bd7: SLOAD
00001bd8: PUSH2 0x0100
00001bdb: SWAP1
00001bdc: DIV
00001bdd: PUSH1 0xff
00001bdf: AND
00001be0: ISZERO
00001be1: DUP1
00001be2: DUP1
00001be3: ISZERO
00001be4: PUSH2 0x1bf4
00001be7: JUMPI
00001be8: POP
00001be9: PUSH1 0x00
00001beb: SLOAD
00001bec: PUSH1 0x01
00001bee: PUSH1 0xff
00001bf0: SWAP1
00001bf1: SWAP2
00001bf2: AND
00001bf3: LT
00001bf4: JUMPDEST
00001bf5: DUP1
00001bf6: PUSH2 0x1c0e
00001bf9: JUMPI
00001bfa: POP
00001bfb: ADDRESS
00001bfc: EXTCODESIZE
00001bfd: ISZERO
00001bfe: DUP1
00001bff: ISZERO
00001c00: PUSH2 0x1c0e
00001c03: JUMPI
00001c04: POP
00001c05: PUSH1 0x00
00001c07: SLOAD
00001c08: PUSH1 0xff
00001c0a: AND
00001c0b: PUSH1 0x01
00001c0d: EQ
00001c0e: JUMPDEST
00001c0f: PUSH2 0x1c2a
00001c12: JUMPI
00001c13: PUSH1 0x40
00001c15: MLOAD
00001c16: PUSH3 0x461bcd
00001c1a: PUSH1 0xe5
00001c1c: SHL
00001c1d: DUP2
00001c1e: MSTORE
00001c1f: PUSH1 0x04
00001c21: ADD
00001c22: PUSH2 0x0bfe
00001c25: SWAP1
00001c26: PUSH2 0x4c17
00001c29: JUMP
00001c2a: JUMPDEST
00001c2b: PUSH1 0x00
00001c2d: DUP1
00001c2e: SLOAD
00001c2f: PUSH1 0xff
00001c31: NOT
00001c32: AND
00001c33: PUSH1 0x01
00001c35: OR
00001c36: SWAP1
00001c37: SSTORE
00001c38: DUP1
00001c39: ISZERO
00001c3a: PUSH2 0x1c4d
00001c3d: JUMPI
00001c3e: PUSH1 0x00
00001c40: DUP1
00001c41: SLOAD
00001c42: PUSH2 0xff00
00001c45: NOT
00001c46: AND
00001c47: PUSH2 0x0100
00001c4a: OR
00001c4b: SWAP1
00001c4c: SSTORE
00001c4d: JUMPDEST
00001c4e: PUSH2 0x1c5e
00001c51: DUP13
00001c52: DUP13
00001c53: DUP13
00001c54: DUP13
00001c55: DUP13
00001c56: DUP13
00001c57: DUP13
00001c58: DUP13
00001c59: DUP13
00001c5a: PUSH2 0x2bb4
00001c5d: JUMP
00001c5e: JUMPDEST
00001c5f: PUSH2 0x1c69
00001c62: DUP4
00001c63: PUSH1 0x01
00001c65: PUSH2 0x2b1e
00001c68: JUMP
00001c69: JUMPDEST
00001c6a: PUSH2 0x1c74
00001c6d: DUP3
00001c6e: PUSH1 0x00
00001c70: PUSH2 0x2b1e
00001c73: JUMP
00001c74: JUMPDEST
00001c75: PUSH2 0x020c
00001c78: DUP1
00001c79: SLOAD
00001c7a: PUSH1 0x01
00001c7c: PUSH1 0x01
00001c7e: PUSH1 0xa0
00001c80: SHL
00001c81: SUB
00001c82: DUP1
00001c83: DUP7
00001c84: AND
00001c85: PUSH1 0x01
00001c87: PUSH1 0x01
00001c89: PUSH1 0xa0
00001c8b: SHL
00001c8c: SUB
00001c8d: NOT
00001c8e: SWAP3
00001c8f: DUP4
00001c90: AND
00001c91: OR
00001c92: SWAP1
00001c93: SWAP3
00001c94: SSTORE
00001c95: PUSH2 0x020d
00001c98: DUP1
00001c99: SLOAD
00001c9a: SWAP3
00001c9b: DUP6
00001c9c: AND
00001c9d: SWAP3
00001c9e: SWAP1
00001c9f: SWAP2
00001ca0: AND
00001ca1: SWAP2
00001ca2: SWAP1
00001ca3: SWAP2
00001ca4: OR
00001ca5: SWAP1
00001ca6: SSTORE
00001ca7: DUP1
00001ca8: ISZERO
00001ca9: PUSH2 0x1cec
00001cac: JUMPI
00001cad: PUSH1 0x00
00001caf: DUP1
00001cb0: SLOAD
00001cb1: PUSH2 0xff00
00001cb4: NOT
00001cb5: AND
00001cb6: SWAP1
00001cb7: SSTORE
00001cb8: PUSH1 0x40
00001cba: MLOAD
00001cbb: PUSH1 0x01
00001cbd: DUP2
00001cbe: MSTORE
00001cbf: PUSH32 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498
00001ce0: SWAP1
00001ce1: PUSH1 0x20
00001ce3: ADD
00001ce4: PUSH1 0x40
00001ce6: MLOAD
00001ce7: DUP1
00001ce8: SWAP2
00001ce9: SUB
00001cea: SWAP1
00001ceb: LOG1
00001cec: JUMPDEST
00001ced: POP
00001cee: POP
00001cef: POP
00001cf0: POP
00001cf1: POP
00001cf2: POP
00001cf3: POP
00001cf4: POP
00001cf5: POP
00001cf6: POP
00001cf7: POP
00001cf8: POP
00001cf9: JUMP
00001cfa: JUMPDEST
00001cfb: PUSH1 0x00
00001cfd: PUSH4 0x357dcfd7
00001d02: PUSH1 0xe2
00001d04: SHL
00001d05: PUSH2 0x1d0c
00001d08: PUSH2 0x2206
00001d0b: JUMP
00001d0c: JUMPDEST
00001d0d: PUSH1 0x01
00001d0f: PUSH1 0x01
00001d11: PUSH1 0xe0
00001d13: SHL
00001d14: SUB
00001d15: NOT
00001d16: DUP2
00001d17: AND
00001d18: PUSH1 0x00
00001d1a: SWAP1
00001d1b: DUP2
00001d1c: MSTORE
00001d1d: PUSH1 0x97
00001d1f: PUSH1 0x20
00001d21: MSTORE
00001d22: PUSH1 0x40
00001d24: SWAP1
00001d25: KECCAK256
00001d26: SLOAD
00001d27: PUSH1 0xff
00001d29: AND
00001d2a: ISZERO
00001d2b: PUSH2 0x1d46
00001d2e: JUMPI
00001d2f: PUSH1 0x40
00001d31: MLOAD
00001d32: PUSH3 0x461bcd
00001d36: PUSH1 0xe5
00001d38: SHL
00001d39: DUP2
00001d3a: MSTORE
00001d3b: PUSH1 0x04
00001d3d: ADD
00001d3e: PUSH2 0x0bfe
00001d41: SWAP1
00001d42: PUSH2 0x4bea
00001d45: JUMP
00001d46: JUMPDEST
00001d47: PUSH2 0x1d4f
00001d4a: CALLER
00001d4b: PUSH2 0x224c
00001d4e: JUMP
00001d4f: JUMPDEST
00001d50: PUSH1 0x00
00001d52: DUP1
00001d53: PUSH2 0x1d60
00001d56: PUSH1 0x00
00001d58: DUP7
00001d59: PUSH1 0x01
00001d5b: CALLER
00001d5c: PUSH2 0x2340
00001d5f: JUMP
00001d60: JUMPDEST
00001d61: DUP1
00001d62: MLOAD
00001d63: PUSH1 0x40
00001d65: DUP1
00001d66: MLOAD
00001d67: DUP10
00001d68: DUP2
00001d69: MSTORE
00001d6a: PUSH1 0x20
00001d6c: DUP2
00001d6d: ADD
00001d6e: SWAP3
00001d6f: SWAP1
00001d70: SWAP3
00001d71: MSTORE
00001d72: SWAP3
00001d73: SWAP5
00001d74: POP
00001d75: SWAP1
00001d76: SWAP3
00001d77: POP
00001d78: PUSH1 0x00
00001d7a: SWAP2
00001d7b: CALLER
00001d7c: SWAP2
00001d7d: DUP6
00001d7e: SWAP2
00001d7f: PUSH32 0x55ba94d231fa70a45e82b0a1c6a60ef72e41bb2455385128ee5cf8d98c0c1c0e
00001da0: SWAP2
00001da1: ADD
00001da2: PUSH1 0x40
00001da4: MLOAD
00001da5: DUP1
00001da6: SWAP2
00001da7: SUB
00001da8: SWAP1
00001da9: LOG4
00001daa: POP
00001dab: SWAP4
00001dac: SWAP3
00001dad: POP
00001dae: POP
00001daf: POP
00001db0: JUMP
00001db1: JUMPDEST
00001db2: PUSH2 0x1dbc
00001db5: PUSH2 0x0ca8
00001db8: PUSH2 0x1f97
00001dbb: JUMP
00001dbc: JUMPDEST
00001dbd: PUSH2 0x1dc5
00001dc0: DUP3
00001dc1: PUSH2 0x3057
00001dc4: JUMP
00001dc5: JUMPDEST
00001dc6: PUSH2 0x1dd0
00001dc9: DUP2
00001dca: PUSH1 0x00
00001dcc: PUSH2 0x29e9
00001dcf: JUMP
00001dd0: JUMPDEST
00001dd1: PUSH1 0x01
00001dd3: PUSH1 0x01
00001dd5: PUSH1 0xa0
00001dd7: SHL
00001dd8: SUB
00001dd9: DUP3
00001dda: AND
00001ddb: PUSH1 0x00
00001ddd: DUP2
00001dde: DUP2
00001ddf: MSTORE
00001de0: PUSH2 0x016e
00001de3: PUSH1 0x20
00001de5: MSTORE
00001de6: PUSH1 0x40
00001de8: SWAP1
00001de9: DUP2
00001dea: SWAP1
00001deb: KECCAK256
00001dec: PUSH1 0x01
00001dee: ADD
00001def: DUP4
00001df0: SWAP1
00001df1: SSTORE
00001df2: MLOAD
00001df3: CALLER
00001df4: SWAP2
00001df5: SWAP1
00001df6: PUSH32 0x1582567d288d96695cf3fe7280c630a4f1c82fc7e665e1db58468f2960fef869
00001e17: SWAP1
00001e18: PUSH2 0x186d
00001e1b: SWAP1
00001e1c: DUP6
00001e1d: DUP2
00001e1e: MSTORE
00001e1f: PUSH1 0x20
00001e21: ADD
00001e22: SWAP1
00001e23: JUMP
00001e24: JUMPDEST
00001e25: PUSH2 0x1e2f
00001e28: PUSH2 0x0ca8
00001e2b: PUSH2 0x1f97
00001e2e: JUMP
00001e2f: JUMPDEST
00001e30: PUSH1 0x01
00001e32: PUSH1 0x01
00001e34: PUSH1 0xa0
00001e36: SHL
00001e37: SUB
00001e38: DUP2
00001e39: AND
00001e3a: PUSH1 0x00
00001e3c: SWAP1
00001e3d: DUP2
00001e3e: MSTORE
00001e3f: PUSH2 0x016b
00001e42: PUSH1 0x20
00001e44: MSTORE
00001e45: PUSH1 0x40
00001e47: SWAP1
00001e48: KECCAK256
00001e49: SLOAD
00001e4a: PUSH1 0xff
00001e4c: AND
00001e4d: ISZERO
00001e4e: PUSH2 0x1e8d
00001e51: JUMPI
00001e52: PUSH1 0x40
00001e54: MLOAD
00001e55: PUSH3 0x461bcd
00001e59: PUSH1 0xe5
00001e5b: SHL
00001e5c: DUP2
00001e5d: MSTORE
00001e5e: PUSH1 0x20
00001e60: PUSH1 0x04
00001e62: DUP3
00001e63: ADD
00001e64: MSTORE
00001e65: PUSH1 0x11
00001e67: PUSH1 0x24
00001e69: DUP3
00001e6a: ADD
00001e6b: MSTORE
00001e6c: PUSH17 0x13558e88185b1c9958591e481859191959
00001e7e: PUSH1 0x7a
00001e80: SHL
00001e81: PUSH1 0x44
00001e83: DUP3
00001e84: ADD
00001e85: MSTORE
00001e86: PUSH1 0x64
00001e88: ADD
00001e89: PUSH2 0x0bfe
00001e8c: JUMP
00001e8d: JUMPDEST
00001e8e: PUSH1 0x01
00001e90: PUSH1 0x01
00001e92: PUSH1 0xa0
00001e94: SHL
00001e95: SUB
00001e96: DUP2
00001e97: AND
00001e98: PUSH1 0x00
00001e9a: DUP2
00001e9b: DUP2
00001e9c: MSTORE
00001e9d: PUSH2 0x016b
00001ea0: PUSH1 0x20
00001ea2: MSTORE
00001ea3: PUSH1 0x40
00001ea5: DUP1
00001ea6: DUP3
00001ea7: KECCAK256
00001ea8: DUP1
00001ea9: SLOAD
00001eaa: PUSH1 0xff
00001eac: NOT
00001ead: AND
00001eae: PUSH1 0x01
00001eb0: OR
00001eb1: SWAP1
00001eb2: SSTORE
00001eb3: MLOAD
00001eb4: CALLER
00001eb5: SWAP3
00001eb6: SWAP2
00001eb7: PUSH32 0x221f04b37331150bcfd05e2de362f50785c29ee4ab14f26d4495a51f3c029060
00001ed8: SWAP2
00001ed9: LOG3
00001eda: POP
00001edb: JUMP
00001edc: JUMPDEST
00001edd: PUSH2 0x1ee7
00001ee0: PUSH2 0x0ca8
00001ee3: PUSH2 0x1f97
00001ee6: JUMP
00001ee7: JUMPDEST
00001ee8: PUSH2 0x020d
00001eeb: SLOAD
00001eec: PUSH1 0x01
00001eee: PUSH1 0x01
00001ef0: PUSH1 0xa0
00001ef2: SHL
00001ef3: SUB
00001ef4: DUP3
00001ef5: DUP2
00001ef6: AND
00001ef7: SWAP2
00001ef8: AND
00001ef9: EQ
00001efa: ISZERO
00001efb: PUSH2 0x1f3f
00001efe: JUMPI
00001eff: PUSH1 0x40
00001f01: MLOAD
00001f02: PUSH3 0x461bcd
00001f06: PUSH1 0xe5
00001f08: SHL
00001f09: DUP2
00001f0a: MSTORE
00001f0b: PUSH1 0x20
00001f0d: PUSH1 0x04
00001f0f: DUP3
00001f10: ADD
00001f11: MSTORE
00001f12: PUSH1 0x16
00001f14: PUSH1 0x24
00001f16: DUP3
00001f17: ADD
00001f18: MSTORE
00001f19: PUSH22 0x26a92b299d1030b63932b0b23c90383937bb34b232b9
00001f30: PUSH1 0x51
00001f32: SHL
00001f33: PUSH1 0x44
00001f35: DUP3
00001f36: ADD
00001f37: MSTORE
00001f38: PUSH1 0x64
00001f3a: ADD
00001f3b: PUSH2 0x0bfe
00001f3e: JUMP
00001f3f: JUMPDEST
00001f40: PUSH2 0x1f4a
00001f43: DUP2
00001f44: PUSH1 0x00
00001f46: PUSH2 0x2b1e
00001f49: JUMP
00001f4a: JUMPDEST
00001f4b: PUSH2 0x020d
00001f4e: DUP1
00001f4f: SLOAD
00001f50: PUSH1 0x01
00001f52: PUSH1 0x01
00001f54: PUSH1 0xa0
00001f56: SHL
00001f57: SUB
00001f58: NOT
00001f59: AND
00001f5a: PUSH1 0x01
00001f5c: PUSH1 0x01
00001f5e: PUSH1 0xa0
00001f60: SHL
00001f61: SUB
00001f62: DUP4
00001f63: AND
00001f64: SWAP1
00001f65: DUP2
00001f66: OR
00001f67: SWAP1
00001f68: SWAP2
00001f69: SSTORE
00001f6a: PUSH1 0x40
00001f6c: MLOAD
00001f6d: CALLER
00001f6e: SWAP1
00001f6f: PUSH32 0x96210ef89e9bcdbde362a89b05013b89c67c586c9de1243edbf07af800c5da12
00001f90: SWAP1
00001f91: PUSH1 0x00
00001f93: SWAP1
00001f94: LOG3
00001f95: POP
00001f96: JUMP
00001f97: JUMPDEST
00001f98: PUSH32 0xa6095bf1d1689844730f85ea9c1edf7d9e1566838e1baa0327271b6c8c31dd8a
00001fb9: SWAP1
00001fba: JUMP
00001fbb: JUMPDEST
00001fbc: PUSH2 0x1fc6
00001fbf: PUSH2 0x0ca8
00001fc2: PUSH2 0x1f97
00001fc5: JUMP
00001fc6: JUMPDEST
00001fc7: PUSH2 0x1fd1
00001fca: DUP2
00001fcb: PUSH1 0x01
00001fcd: PUSH2 0x2b1e
00001fd0: JUMP
00001fd1: JUMPDEST
00001fd2: PUSH2 0x0169
00001fd5: DUP1
00001fd6: SLOAD
00001fd7: PUSH1 0x01
00001fd9: PUSH1 0x01
00001fdb: PUSH1 0xa0
00001fdd: SHL
00001fde: SUB
00001fdf: NOT
00001fe0: AND
00001fe1: PUSH1 0x01
00001fe3: PUSH1 0x01
00001fe5: PUSH1 0xa0
00001fe7: SHL
00001fe8: SUB
00001fe9: DUP4
00001fea: AND
00001feb: SWAP1
00001fec: DUP2
00001fed: OR
00001fee: SWAP1
00001fef: SWAP2
00001ff0: SSTORE
00001ff1: PUSH1 0x40
00001ff3: MLOAD
00001ff4: CALLER
00001ff5: SWAP1
00001ff6: PUSH32 0x1b092cca381ac00a07e1226c164f47c475d212f5e55699475a7f411811f77dd4
00002017: SWAP1
00002018: PUSH1 0x00
0000201a: SWAP1
0000201b: LOG3
0000201c: POP
0000201d: JUMP
0000201e: JUMPDEST
0000201f: PUSH2 0x2029
00002022: PUSH2 0x0ca8
00002025: PUSH2 0x1f97
00002028: JUMP
00002029: JUMPDEST
0000202a: PUSH2 0x2035
0000202d: PUSH2 0x016c
00002030: DUP7
00002031: PUSH2 0x313a
00002034: JUMP
00002035: JUMPDEST
00002036: PUSH2 0x2075
00002039: JUMPI
0000203a: PUSH1 0x40
0000203c: MLOAD
0000203d: PUSH3 0x461bcd
00002041: PUSH1 0xe5
00002043: SHL
00002044: DUP2
00002045: MSTORE
00002046: PUSH1 0x20
00002048: PUSH1 0x04
0000204a: DUP3
0000204b: ADD
0000204c: MSTORE
0000204d: PUSH1 0x11
0000204f: PUSH1 0x24
00002051: DUP3
00002052: ADD
00002053: MSTORE
00002054: PUSH17 0x13558e88185b1c9958591e481859191959
00002066: PUSH1 0x7a
00002068: SHL
00002069: PUSH1 0x44
0000206b: DUP3
0000206c: ADD
0000206d: MSTORE
0000206e: PUSH1 0x64
00002070: ADD
00002071: PUSH2 0x0bfe
00002074: JUMP
00002075: JUMPDEST
00002076: PUSH2 0x2080
00002079: DUP5
0000207a: PUSH1 0x00
0000207c: PUSH2 0x2b1e
0000207f: JUMP
00002080: JUMPDEST
00002081: PUSH2 0x208b
00002084: DUP4
00002085: PUSH1 0x00
00002087: PUSH2 0x29e9
0000208a: JUMP
0000208b: JUMPDEST
0000208c: PUSH1 0x40
0000208e: DUP1
0000208f: MLOAD
00002090: PUSH1 0x80
00002092: DUP2
00002093: ADD
00002094: DUP3
00002095: MSTORE
00002096: PUSH1 0x01
00002098: PUSH1 0x01
0000209a: PUSH1 0xa0
0000209c: SHL
0000209d: SUB
0000209e: DUP7
0000209f: DUP2
000020a0: AND
000020a1: DUP1
000020a2: DUP4
000020a3: MSTORE
000020a4: PUSH1 0x20
000020a6: DUP1
000020a7: DUP5
000020a8: ADD
000020a9: DUP9
000020aa: DUP2
000020ab: MSTORE
000020ac: DUP5
000020ad: DUP7
000020ae: ADD
000020af: DUP9
000020b0: DUP2
000020b1: MSTORE
000020b2: DUP8
000020b3: ISZERO
000020b4: ISZERO
000020b5: PUSH1 0x60
000020b7: DUP1
000020b8: DUP9
000020b9: ADD
000020ba: DUP3
000020bb: DUP2
000020bc: MSTORE
000020bd: DUP15
000020be: DUP9
000020bf: AND
000020c0: PUSH1 0x00
000020c2: DUP2
000020c3: DUP2
000020c4: MSTORE
000020c5: PUSH2 0x016e
000020c8: DUP9
000020c9: MSTORE
000020ca: DUP12
000020cb: SWAP1
000020cc: KECCAK256
000020cd: SWAP10
000020ce: MLOAD
000020cf: DUP11
000020d0: SLOAD
000020d1: PUSH1 0x01
000020d3: PUSH1 0x01
000020d5: PUSH1 0xa0
000020d7: SHL
000020d8: SUB
000020d9: NOT
000020da: AND
000020db: SWAP10
000020dc: AND
000020dd: SWAP9
000020de: SWAP1
000020df: SWAP9
000020e0: OR
000020e1: DUP10
000020e2: SSTORE
000020e3: SWAP4
000020e4: MLOAD
000020e5: PUSH1 0x01
000020e7: DUP10
000020e8: ADD
000020e9: SSTORE
000020ea: SWAP2
000020eb: MLOAD
000020ec: PUSH1 0x02
000020ee: DUP9
000020ef: ADD
000020f0: SSTORE
000020f1: SWAP2
000020f2: MLOAD
000020f3: PUSH1 0x03
000020f5: SWAP1
000020f6: SWAP7
000020f7: ADD
000020f8: DUP1
000020f9: SLOAD
000020fa: PUSH1 0xff
000020fc: NOT
000020fd: AND
000020fe: SWAP7
000020ff: ISZERO
00002100: ISZERO
00002101: SWAP7
00002102: SWAP1
00002103: SWAP7
00002104: OR
00002105: SWAP1
00002106: SWAP6
00002107: SSTORE
00002108: DUP6
00002109: MLOAD
0000210a: DUP10
0000210b: DUP2
0000210c: MSTORE
0000210d: SWAP2
0000210e: DUP3
0000210f: ADD
00002110: DUP9
00002111: SWAP1
00002112: MSTORE
00002113: SWAP5
00002114: DUP2
00002115: ADD
00002116: SWAP5
00002117: SWAP1
00002118: SWAP5
00002119: MSTORE
0000211a: SWAP3
0000211b: SWAP1
0000211c: SWAP2
0000211d: CALLER
0000211e: SWAP2
0000211f: PUSH32 0x049000a9db89588d7bfb162bc0f7e4299ee8762430a468131c2caf0824f1f995
00002140: SWAP2
00002141: ADD
00002142: PUSH1 0x40
00002144: MLOAD
00002145: DUP1
00002146: SWAP2
00002147: SUB
00002148: SWAP1
00002149: LOG4
0000214a: POP
0000214b: POP
0000214c: POP
0000214d: POP
0000214e: POP
0000214f: JUMP
00002150: JUMPDEST
00002151: PUSH2 0x215b
00002154: PUSH2 0x0ca8
00002157: PUSH2 0x1f97
0000215a: JUMP
0000215b: JUMPDEST
0000215c: PUSH1 0x00
0000215e: JUMPDEST
0000215f: DUP3
00002160: DUP2
00002161: LT
00002162: ISZERO
00002163: PUSH2 0x2200
00002166: JUMPI
00002167: PUSH1 0x00
00002169: PUSH2 0x218d
0000216c: DUP6
0000216d: DUP6
0000216e: DUP5
0000216f: DUP2
00002170: DUP2
00002171: LT
00002172: PUSH2 0x217d
00002175: JUMPI
00002176: PUSH2 0x217d
00002179: PUSH2 0x4c65
0000217c: JUMP
0000217d: JUMPDEST
0000217e: SWAP1
0000217f: POP
00002180: PUSH1 0x20
00002182: MUL
00002183: ADD
00002184: CALLDATALOAD
00002185: DUP5
00002186: PUSH1 0x01
00002188: DUP1
00002189: PUSH2 0x26aa
0000218c: JUMP
0000218d: JUMPDEST
0000218e: SWAP1
0000218f: POP
00002190: DUP1
00002191: PUSH2 0x219a
00002194: JUMPI
00002195: POP
00002196: PUSH2 0x21ee
00002199: JUMP
0000219a: JUMPDEST
0000219b: DUP5
0000219c: DUP5
0000219d: DUP4
0000219e: DUP2
0000219f: DUP2
000021a0: LT
000021a1: PUSH2 0x21ac
000021a4: JUMPI
000021a5: PUSH2 0x21ac
000021a8: PUSH2 0x4c65
000021ab: JUMP
000021ac: JUMPDEST
000021ad: SWAP1
000021ae: POP
000021af: PUSH1 0x20
000021b1: MUL
000021b2: ADD
000021b3: CALLDATALOAD
000021b4: PUSH32 0x03ea09e71742c9c754c9746b3e671ecb27fc372e3d29c31bac0192458ffd9d4b
000021d5: DUP5
000021d6: PUSH1 0x40
000021d8: MLOAD
000021d9: PUSH2 0x21e4
000021dc: SWAP2
000021dd: DUP2
000021de: MSTORE
000021df: PUSH1 0x20
000021e1: ADD
000021e2: SWAP1
000021e3: JUMP
000021e4: JUMPDEST
000021e5: PUSH1 0x40
000021e7: MLOAD
000021e8: DUP1
000021e9: SWAP2
000021ea: SUB
000021eb: SWAP1
000021ec: LOG2
000021ed: POP
000021ee: JUMPDEST
000021ef: DUP1
000021f0: PUSH2 0x21f8
000021f3: DUP2
000021f4: PUSH2 0x4c91
000021f7: JUMP
000021f8: JUMPDEST
000021f9: SWAP2
000021fa: POP
000021fb: POP
000021fc: PUSH2 0x215e
000021ff: JUMP
00002200: JUMPDEST
00002201: POP
00002202: POP
00002203: POP
00002204: POP
00002205: JUMP
00002206: JUMPDEST
00002207: PUSH1 0x65
00002209: SLOAD
0000220a: PUSH1 0xff
0000220c: AND
0000220d: ISZERO
0000220e: PUSH2 0x1265
00002211: JUMPI
00002212: PUSH1 0x40
00002214: MLOAD
00002215: PUSH3 0x461bcd
00002219: PUSH1 0xe5
0000221b: SHL
0000221c: DUP2
0000221d: MSTORE
0000221e: PUSH1 0x20
00002220: PUSH1 0x04
00002222: DUP3
00002223: ADD
00002224: MSTORE
00002225: PUSH1 0x10
00002227: PUSH1 0x24
00002229: DUP3
0000222a: ADD
0000222b: MSTORE
0000222c: PUSH16 0x14185d5cd8589b194e881c185d5cd959
0000223d: PUSH1 0x82
0000223f: SHL
00002240: PUSH1 0x44
00002242: DUP3
00002243: ADD
00002244: MSTORE
00002245: PUSH1 0x64
00002247: ADD
00002248: PUSH2 0x0bfe
0000224b: JUMP
0000224c: JUMPDEST
0000224d: PUSH1 0xfc
0000224f: SLOAD
00002250: DUP2
00002251: SWAP1
00002252: PUSH1 0xff
00002254: AND
00002255: ISZERO
00002256: PUSH2 0x2262
00002259: JUMPI
0000225a: PUSH2 0x2262
0000225d: DUP2
0000225e: PUSH2 0x314f
00002261: JUMP
00002262: JUMPDEST
00002263: DUP2
00002264: PUSH2 0x226c
00002267: DUP2
00002268: PUSH2 0x3175
0000226b: JUMP
0000226c: JUMPDEST
0000226d: PUSH2 0x012f
00002270: SLOAD
00002271: DUP4
00002272: SWAP1
00002273: PUSH1 0x01
00002275: PUSH1 0x01
00002277: PUSH1 0xa0
00002279: SHL
0000227a: SUB
0000227b: AND
0000227c: DUP1
0000227d: ISZERO
0000227e: PUSH2 0x2339
00002281: JUMPI
00002282: PUSH1 0x40
00002284: MLOAD
00002285: PUSH4 0xdf592f7d
0000228a: PUSH1 0xe0
0000228c: SHL
0000228d: DUP2
0000228e: MSTORE
0000228f: PUSH1 0x01
00002291: PUSH1 0x01
00002293: PUSH1 0xa0
00002295: SHL
00002296: SUB
00002297: DUP4
00002298: DUP2
00002299: AND
0000229a: PUSH1 0x04
0000229c: DUP4
0000229d: ADD
0000229e: MSTORE
0000229f: DUP3
000022a0: AND
000022a1: SWAP1
000022a2: PUSH4 0xdf592f7d
000022a7: SWAP1
000022a8: PUSH1 0x24
000022aa: ADD
000022ab: PUSH1 0x20
000022ad: PUSH1 0x40
000022af: MLOAD
000022b0: DUP1
000022b1: DUP4
000022b2: SUB
000022b3: DUP2
000022b4: DUP7
000022b5: DUP1
000022b6: EXTCODESIZE
000022b7: ISZERO
000022b8: DUP1
000022b9: ISZERO
000022ba: PUSH2 0x22c2
000022bd: JUMPI
000022be: PUSH1 0x00
000022c0: DUP1
000022c1: REVERT
000022c2: JUMPDEST
000022c3: POP
000022c4: GAS
000022c5: STATICCALL
000022c6: ISZERO
000022c7: DUP1
000022c8: ISZERO
000022c9: PUSH2 0x22d6
000022cc: JUMPI
000022cd: RETURNDATASIZE
000022ce: PUSH1 0x00
000022d0: DUP1
000022d1: RETURNDATACOPY
000022d2: RETURNDATASIZE
000022d3: PUSH1 0x00
000022d5: REVERT
000022d6: JUMPDEST
000022d7: POP
000022d8: POP
000022d9: POP
000022da: POP
000022db: PUSH1 0x40
000022dd: MLOAD
000022de: RETURNDATASIZE
000022df: PUSH1 0x1f
000022e1: NOT
000022e2: PUSH1 0x1f
000022e4: DUP3
000022e5: ADD
000022e6: AND
000022e7: DUP3
000022e8: ADD
000022e9: DUP1
000022ea: PUSH1 0x40
000022ec: MSTORE
000022ed: POP
000022ee: DUP2
000022ef: ADD
000022f0: SWAP1
000022f1: PUSH2 0x22fa
000022f4: SWAP2
000022f5: SWAP1
000022f6: PUSH2 0x4cac
000022f9: JUMP
000022fa: JUMPDEST
000022fb: ISZERO
000022fc: PUSH2 0x2339
000022ff: JUMPI
00002300: PUSH1 0x40
00002302: MLOAD
00002303: PUSH3 0x461bcd
00002307: PUSH1 0xe5
00002309: SHL
0000230a: DUP2
0000230b: MSTORE
0000230c: PUSH1 0x20
0000230e: PUSH1 0x04
00002310: DUP3
00002311: ADD
00002312: MSTORE
00002313: PUSH1 0x0f
00002315: PUSH1 0x24
00002317: DUP3
00002318: ADD
00002319: MSTORE
0000231a: PUSH15 0x15d4d30e881cd85b98dd1a5bdb9959
0000232a: PUSH1 0x8a
0000232c: SHL
0000232d: PUSH1 0x44
0000232f: DUP3
00002330: ADD
00002331: MSTORE
00002332: PUSH1 0x64
00002334: ADD
00002335: PUSH2 0x0bfe
00002338: JUMP
00002339: JUMPDEST
0000233a: POP
0000233b: POP
0000233c: POP
0000233d: POP
0000233e: POP
0000233f: JUMP
00002340: JUMPDEST
00002341: PUSH1 0x00
00002343: PUSH2 0x235f
00002346: PUSH1 0x40
00002348: MLOAD
00002349: DUP1
0000234a: PUSH1 0x40
0000234c: ADD
0000234d: PUSH1 0x40
0000234f: MSTORE
00002350: DUP1
00002351: PUSH1 0x00
00002353: DUP2
00002354: MSTORE
00002355: PUSH1 0x20
00002357: ADD
00002358: PUSH1 0x00
0000235a: DUP2
0000235b: MSTORE
0000235c: POP
0000235d: SWAP1
0000235e: JUMP
0000235f: JUMPDEST
00002360: DUP4
00002361: PUSH2 0x23b1
00002364: JUMPI
00002365: PUSH1 0x01
00002367: PUSH1 0x01
00002369: PUSH1 0xa0
0000236b: SHL
0000236c: SUB
0000236d: DUP7
0000236e: AND
0000236f: PUSH2 0x23b1
00002372: JUMPI
00002373: PUSH1 0x40
00002375: MLOAD
00002376: PUSH3 0x461bcd
0000237a: PUSH1 0xe5
0000237c: SHL
0000237d: DUP2
0000237e: MSTORE
0000237f: PUSH1 0x20
00002381: PUSH1 0x04
00002383: DUP3
00002384: ADD
00002385: MSTORE
00002386: PUSH1 0x14
00002388: PUSH1 0x24
0000238a: DUP3
0000238b: ADD
0000238c: MSTORE
0000238d: PUSH20 0x14958e881d1bdad95b93dd5d080f4f48199a585d
000023a2: PUSH1 0x62
000023a4: SHL
000023a5: PUSH1 0x44
000023a7: DUP3
000023a8: ADD
000023a9: MSTORE
000023aa: PUSH1 0x64
000023ac: ADD
000023ad: PUSH2 0x0bfe
000023b0: JUMP
000023b1: JUMPDEST
000023b2: CALLER
000023b3: PUSH2 0x23c0
000023b6: DUP2
000023b7: DUP9
000023b8: DUP9
000023b9: PUSH1 0x00
000023bb: DUP10
000023bc: PUSH2 0x31a1
000023bf: JUMP
000023c0: JUMPDEST
000023c1: SWAP2
000023c2: POP
000023c3: DUP7
000023c4: PUSH8 0x0de0b6b3a7640000
000023cd: DUP7
000023ce: PUSH2 0x2407
000023d1: JUMPI
000023d2: PUSH1 0x01
000023d4: PUSH1 0x01
000023d6: PUSH1 0xa0
000023d8: SHL
000023d9: SUB
000023da: DUP1
000023db: DUP4
000023dc: AND
000023dd: PUSH1 0x00
000023df: SWAP1
000023e0: DUP2
000023e1: MSTORE
000023e2: PUSH2 0x016e
000023e5: PUSH1 0x20
000023e7: MSTORE
000023e8: PUSH1 0x40
000023ea: SWAP1
000023eb: KECCAK256
000023ec: DUP1
000023ed: SLOAD
000023ee: PUSH1 0x03
000023f0: DUP3
000023f1: ADD
000023f2: SLOAD
000023f3: SWAP2
000023f4: SWAP3
000023f5: PUSH2 0x2403
000023f8: SWAP3
000023f9: SWAP2
000023fa: AND
000023fb: SWAP1
000023fc: PUSH1 0xff
000023fe: AND
000023ff: PUSH2 0x3399
00002402: JUMP
00002403: JUMPDEST
00002404: SWAP2
00002405: POP
00002406: POP
00002407: JUMPDEST
00002408: PUSH2 0x0164
0000240b: SLOAD
0000240c: PUSH1 0x40
0000240e: DUP1
0000240f: MLOAD
00002410: PUSH4 0x63692905
00002415: PUSH1 0xe0
00002417: SHL
00002418: DUP2
00002419: MSTORE
0000241a: SWAP1
0000241b: MLOAD
0000241c: PUSH1 0x00
0000241e: SWAP3
0000241f: PUSH1 0x01
00002421: PUSH1 0x01
00002423: PUSH1 0xa0
00002425: SHL
00002426: SUB
00002427: AND
00002428: SWAP2
00002429: PUSH4 0x63692905
0000242e: SWAP2
0000242f: PUSH1 0x04
00002431: DUP1
00002432: DUP4
00002433: ADD
00002434: SWAP3
00002435: PUSH1 0x20
00002437: SWAP3
00002438: SWAP2
00002439: SWAP1
0000243a: DUP3
0000243b: SWAP1
0000243c: SUB
0000243d: ADD
0000243e: DUP2
0000243f: DUP7
00002440: DUP1
00002441: EXTCODESIZE
00002442: ISZERO
00002443: DUP1
00002444: ISZERO
00002445: PUSH2 0x244d
00002448: JUMPI
00002449: PUSH1 0x00
0000244b: DUP1
0000244c: REVERT
0000244d: JUMPDEST
0000244e: POP
0000244f: GAS
00002450: STATICCALL
00002451: ISZERO
00002452: DUP1
00002453: ISZERO
00002454: PUSH2 0x2461
00002457: JUMPI
00002458: RETURNDATASIZE
00002459: PUSH1 0x00
0000245b: DUP1
0000245c: RETURNDATACOPY
0000245d: RETURNDATASIZE
0000245e: PUSH1 0x00
00002460: REVERT
00002461: JUMPDEST
00002462: POP
00002463: POP
00002464: POP
00002465: POP
00002466: PUSH1 0x40
00002468: MLOAD
00002469: RETURNDATASIZE
0000246a: PUSH1 0x1f
0000246c: NOT
0000246d: PUSH1 0x1f
0000246f: DUP3
00002470: ADD
00002471: AND
00002472: DUP3
00002473: ADD
00002474: DUP1
00002475: PUSH1 0x40
00002477: MSTORE
00002478: POP
00002479: DUP2
0000247a: ADD
0000247b: SWAP1
0000247c: PUSH2 0x2485
0000247f: SWAP2
00002480: SWAP1
00002481: PUSH2 0x4cc9
00002484: JUMP
00002485: JUMPDEST
00002486: PUSH2 0x0163
00002489: SLOAD
0000248a: PUSH1 0x20
0000248c: DUP8
0000248d: ADD
0000248e: MLOAD
0000248f: SWAP2
00002490: SWAP3
00002491: POP
00002492: PUSH2 0x24aa
00002495: SWAP2
00002496: PUSH1 0x01
00002498: PUSH1 0x01
0000249a: PUSH1 0xa0
0000249c: SHL
0000249d: SUB
0000249e: SWAP1
0000249f: SWAP2
000024a0: AND
000024a1: SWAP1
000024a2: ADDRESS
000024a3: SWAP1
000024a4: PUSH1 0x12
000024a6: PUSH2 0x3426
000024a9: JUMP
000024aa: JUMPDEST
000024ab: POP
000024ac: DUP5
000024ad: MLOAD
000024ae: ISZERO
000024af: PUSH2 0x24d7
000024b2: JUMPI
000024b3: PUSH2 0x0163
000024b6: SLOAD
000024b7: PUSH2 0x0169
000024ba: SLOAD
000024bb: DUP7
000024bc: MLOAD
000024bd: PUSH2 0x24d5
000024c0: SWAP3
000024c1: PUSH1 0x01
000024c3: PUSH1 0x01
000024c5: PUSH1 0xa0
000024c7: SHL
000024c8: SUB
000024c9: SWAP1
000024ca: DUP2
000024cb: AND
000024cc: SWAP3
000024cd: AND
000024ce: SWAP1
000024cf: PUSH1 0x12
000024d1: PUSH2 0x3426
000024d4: JUMP
000024d5: JUMPDEST
000024d6: POP
000024d7: JUMPDEST
000024d8: PUSH2 0x0162
000024db: SLOAD
000024dc: SWAP6
000024dd: POP
000024de: PUSH2 0x24ec
000024e1: PUSH2 0x0162
000024e4: DUP1
000024e5: SLOAD
000024e6: PUSH1 0x01
000024e8: ADD
000024e9: SWAP1
000024ea: SSTORE
000024eb: JUMP
000024ec: JUMPDEST
000024ed: PUSH1 0x40
000024ef: DUP1
000024f0: MLOAD
000024f1: PUSH1 0xc0
000024f3: DUP2
000024f4: ADD
000024f5: DUP3
000024f6: MSTORE
000024f7: PUSH1 0x01
000024f9: PUSH1 0x01
000024fb: PUSH1 0xa0
000024fd: SHL
000024fe: SUB
000024ff: DUP1
00002500: DUP11
00002501: AND
00002502: DUP3
00002503: MSTORE
00002504: DUP6
00002505: AND
00002506: PUSH1 0x20
00002508: DUP3
00002509: ADD
0000250a: MSTORE
0000250b: SWAP1
0000250c: DUP2
0000250d: ADD
0000250e: PUSH1 0x00
00002510: DUP2
00002511: MSTORE
00002512: PUSH1 0x20
00002514: DUP8
00002515: DUP2
00002516: ADD
00002517: MLOAD
00002518: DUP2
00002519: DUP4
0000251a: ADD
0000251b: MSTORE
0000251c: PUSH1 0x40
0000251e: DUP1
0000251f: DUP4
00002520: ADD
00002521: DUP6
00002522: SWAP1
00002523: MSTORE
00002524: PUSH1 0x60
00002526: SWAP1
00002527: SWAP3
00002528: ADD
00002529: DUP6
0000252a: SWAP1
0000252b: MSTORE
0000252c: PUSH1 0x00
0000252e: DUP10
0000252f: DUP2
00002530: MSTORE
00002531: PUSH2 0x01a6
00002534: DUP3
00002535: MSTORE
00002536: DUP3
00002537: SWAP1
00002538: KECCAK256
00002539: DUP4
0000253a: MLOAD
0000253b: DUP2
0000253c: SLOAD
0000253d: PUSH1 0x01
0000253f: PUSH1 0x01
00002541: PUSH1 0xa0
00002543: SHL
00002544: SUB
00002545: SWAP2
00002546: DUP3
00002547: AND
00002548: PUSH1 0x01
0000254a: PUSH1 0x01
0000254c: PUSH1 0xa0
0000254e: SHL
0000254f: SUB
00002550: NOT
00002551: SWAP2
00002552: DUP3
00002553: AND
00002554: OR
00002555: DUP4
00002556: SSTORE
00002557: SWAP3
00002558: DUP6
00002559: ADD
0000255a: MLOAD
0000255b: PUSH1 0x01
0000255d: DUP4
0000255e: ADD
0000255f: DUP1
00002560: SLOAD
00002561: SWAP2
00002562: SWAP1
00002563: SWAP3
00002564: AND
00002565: SWAP4
00002566: DUP2
00002567: AND
00002568: DUP5
00002569: OR
0000256a: DUP3
0000256b: SSTORE
0000256c: SWAP4
0000256d: DUP6
0000256e: ADD
0000256f: MLOAD
00002570: SWAP2
00002571: SWAP4
00002572: SWAP2
00002573: SWAP3
00002574: SWAP1
00002575: SWAP2
00002576: PUSH1 0x01
00002578: PUSH1 0x01
0000257a: PUSH1 0xa8
0000257c: SHL
0000257d: SUB
0000257e: NOT
0000257f: AND
00002580: OR
00002581: PUSH1 0x01
00002583: PUSH1 0xa0
00002585: SHL
00002586: DUP4
00002587: PUSH1 0x02
00002589: DUP2
0000258a: GT
0000258b: ISZERO
0000258c: PUSH2 0x2597
0000258f: JUMPI
00002590: PUSH2 0x2597
00002593: PUSH2 0x4ad0
00002596: JUMP
00002597: JUMPDEST
00002598: MUL
00002599: OR
0000259a: SWAP1
0000259b: SSTORE
0000259c: POP
0000259d: PUSH1 0x60
0000259f: DUP3
000025a0: ADD
000025a1: MLOAD
000025a2: PUSH1 0x02
000025a4: DUP3
000025a5: ADD
000025a6: SSTORE
000025a7: PUSH1 0x80
000025a9: DUP3
000025aa: ADD
000025ab: MLOAD
000025ac: PUSH1 0x03
000025ae: DUP3
000025af: ADD
000025b0: SSTORE
000025b1: PUSH1 0xa0
000025b3: SWAP1
000025b4: SWAP2
000025b5: ADD
000025b6: MLOAD
000025b7: PUSH1 0x04
000025b9: SWAP1
000025ba: SWAP2
000025bb: ADD
000025bc: SSTORE
000025bd: POP
000025be: POP
000025bf: POP
000025c0: POP
000025c1: SWAP5
000025c2: POP
000025c3: SWAP5
000025c4: SWAP3
000025c5: POP
000025c6: POP
000025c7: POP
000025c8: JUMP
000025c9: JUMPDEST
000025ca: PUSH1 0x00
000025cc: SLOAD
000025cd: PUSH1 0x40
000025cf: MLOAD
000025d0: PUSH4 0x24745215
000025d5: PUSH1 0xe2
000025d7: SHL
000025d8: DUP2
000025d9: MSTORE
000025da: PUSH1 0x04
000025dc: DUP2
000025dd: ADD
000025de: DUP5
000025df: SWAP1
000025e0: MSTORE
000025e1: PUSH1 0x01
000025e3: PUSH1 0x01
000025e5: PUSH1 0xa0
000025e7: SHL
000025e8: SUB
000025e9: DUP4
000025ea: DUP2
000025eb: AND
000025ec: PUSH1 0x24
000025ee: DUP4
000025ef: ADD
000025f0: MSTORE
000025f1: PUSH3 0x010000
000025f5: SWAP1
000025f6: SWAP3
000025f7: DIV
000025f8: SWAP1
000025f9: SWAP2
000025fa: AND
000025fb: SWAP1
000025fc: PUSH4 0x91d14854
00002601: SWAP1
00002602: PUSH1 0x44
00002604: ADD
00002605: PUSH1 0x20
00002607: PUSH1 0x40
00002609: MLOAD
0000260a: DUP1
0000260b: DUP4
0000260c: SUB
0000260d: DUP2
0000260e: DUP7
0000260f: DUP1
00002610: EXTCODESIZE
00002611: ISZERO
00002612: DUP1
00002613: ISZERO
00002614: PUSH2 0x261c
00002617: JUMPI
00002618: PUSH1 0x00
0000261a: DUP1
0000261b: REVERT
0000261c: JUMPDEST
0000261d: POP
0000261e: GAS
0000261f: STATICCALL
00002620: ISZERO
00002621: DUP1
00002622: ISZERO
00002623: PUSH2 0x2630
00002626: JUMPI
00002627: RETURNDATASIZE
00002628: PUSH1 0x00
0000262a: DUP1
0000262b: RETURNDATACOPY
0000262c: RETURNDATASIZE
0000262d: PUSH1 0x00
0000262f: REVERT
00002630: JUMPDEST
00002631: POP
00002632: POP
00002633: POP
00002634: POP
00002635: PUSH1 0x40
00002637: MLOAD
00002638: RETURNDATASIZE
00002639: PUSH1 0x1f
0000263b: NOT
0000263c: PUSH1 0x1f
0000263e: DUP3
0000263f: ADD
00002640: AND
00002641: DUP3
00002642: ADD
00002643: DUP1
00002644: PUSH1 0x40
00002646: MSTORE
00002647: POP
00002648: DUP2
00002649: ADD
0000264a: SWAP1
0000264b: PUSH2 0x2654
0000264e: SWAP2
0000264f: SWAP1
00002650: PUSH2 0x4cac
00002653: JUMP
00002654: JUMPDEST
00002655: PUSH2 0x2693
00002658: JUMPI
00002659: PUSH1 0x40
0000265b: MLOAD
0000265c: PUSH3 0x461bcd
00002660: PUSH1 0xe5
00002662: SHL
00002663: DUP2
00002664: MSTORE
00002665: PUSH1 0x20
00002667: PUSH1 0x04
00002669: DUP3
0000266a: ADD
0000266b: MSTORE
0000266c: PUSH1 0x10
0000266e: PUSH1 0x24
00002670: DUP3
00002671: ADD
00002672: MSTORE
00002673: PUSH16 0x574d41433a206861736e7420726f6c65
00002684: PUSH1 0x80
00002686: SHL
00002687: PUSH1 0x44
00002689: DUP3
0000268a: ADD
0000268b: MSTORE
0000268c: PUSH1 0x64
0000268e: ADD
0000268f: PUSH2 0x0bfe
00002692: JUMP
00002693: JUMPDEST
00002694: POP
00002695: POP
00002696: JUMP
00002697: JUMPDEST
00002698: PUSH2 0x269f
0000269b: PUSH2 0x0f57
0000269e: JUMP
0000269f: JUMPDEST
000026a0: DUP2
000026a1: PUSH2 0x1968
000026a4: DUP3
000026a5: DUP3
000026a6: PUSH2 0x25c9
000026a9: JUMP
000026aa: JUMPDEST
000026ab: PUSH1 0x00
000026ad: DUP5
000026ae: DUP2
000026af: MSTORE
000026b0: PUSH2 0x01a6
000026b3: PUSH1 0x20
000026b5: SWAP1
000026b6: DUP2
000026b7: MSTORE
000026b8: PUSH1 0x40
000026ba: DUP1
000026bb: DUP4
000026bc: KECCAK256
000026bd: DUP2
000026be: MLOAD
000026bf: PUSH1 0xc0
000026c1: DUP2
000026c2: ADD
000026c3: DUP4
000026c4: MSTORE
000026c5: DUP2
000026c6: SLOAD
000026c7: PUSH1 0x01
000026c9: PUSH1 0x01
000026cb: PUSH1 0xa0
000026cd: SHL
000026ce: SUB
000026cf: SWAP1
000026d0: DUP2
000026d1: AND
000026d2: DUP3
000026d3: MSTORE
000026d4: PUSH1 0x01
000026d6: DUP4
000026d7: ADD
000026d8: SLOAD
000026d9: SWAP1
000026da: DUP2
000026db: AND
000026dc: SWAP5
000026dd: DUP3
000026de: ADD
000026df: SWAP5
000026e0: SWAP1
000026e1: SWAP5
000026e2: MSTORE
000026e3: DUP5
000026e4: SWAP4
000026e5: SWAP1
000026e6: SWAP3
000026e7: DUP4
000026e8: ADD
000026e9: SWAP1
000026ea: PUSH1 0x01
000026ec: PUSH1 0xa0
000026ee: SHL
000026ef: SWAP1
000026f0: DIV
000026f1: PUSH1 0xff
000026f3: AND
000026f4: PUSH1 0x02
000026f6: DUP2
000026f7: GT
000026f8: ISZERO
000026f9: PUSH2 0x2704
000026fc: JUMPI
000026fd: PUSH2 0x2704
00002700: PUSH2 0x4ad0
00002703: JUMP
00002704: JUMPDEST
00002705: PUSH1 0x02
00002707: DUP2
00002708: GT
00002709: ISZERO
0000270a: PUSH2 0x2715
0000270d: JUMPI
0000270e: PUSH2 0x2715
00002711: PUSH2 0x4ad0
00002714: JUMP
00002715: JUMPDEST
00002716: DUP2
00002717: MSTORE
00002718: PUSH1 0x20
0000271a: ADD
0000271b: PUSH1 0x02
0000271d: DUP3
0000271e: ADD
0000271f: SLOAD
00002720: DUP2
00002721: MSTORE
00002722: PUSH1 0x20
00002724: ADD
00002725: PUSH1 0x03
00002727: DUP3
00002728: ADD
00002729: SLOAD
0000272a: DUP2
0000272b: MSTORE
0000272c: PUSH1 0x20
0000272e: ADD
0000272f: PUSH1 0x04
00002731: DUP3
00002732: ADD
00002733: SLOAD
00002734: DUP2
00002735: MSTORE
00002736: POP
00002737: POP
00002738: SWAP1
00002739: POP
0000273a: PUSH2 0x274b
0000273d: DUP2
0000273e: PUSH1 0x00
00002740: ADD
00002741: MLOAD
00002742: DUP3
00002743: PUSH1 0x40
00002745: ADD
00002746: MLOAD
00002747: PUSH2 0x293a
0000274a: JUMP
0000274b: JUMPDEST
0000274c: DUP4
0000274d: ISZERO
0000274e: PUSH2 0x275f
00002751: JUMPI
00002752: PUSH2 0x275f
00002755: DUP2
00002756: PUSH1 0x80
00002758: ADD
00002759: MLOAD
0000275a: DUP7
0000275b: PUSH2 0x3471
0000275e: JUMP
0000275f: JUMPDEST
00002760: PUSH1 0x20
00002762: DUP2
00002763: ADD
00002764: MLOAD
00002765: PUSH1 0x01
00002767: PUSH1 0x01
00002769: PUSH1 0xa0
0000276b: SHL
0000276c: SUB
0000276d: AND
0000276e: ISZERO
0000276f: PUSH1 0x00
00002771: DUP2
00002772: PUSH2 0x2787
00002775: JUMPI
00002776: PUSH2 0x2782
00002779: DUP4
0000277a: PUSH1 0x20
0000277c: ADD
0000277d: MLOAD
0000277e: PUSH2 0x3504
00002781: JUMP
00002782: JUMPDEST
00002783: PUSH2 0x278a
00002786: JUMP
00002787: JUMPDEST
00002788: PUSH1 0x12
0000278a: JUMPDEST
0000278b: PUSH1 0xff
0000278d: AND
0000278e: SWAP1
0000278f: POP
00002790: PUSH1 0x00
00002792: PUSH2 0x27b9
00002795: DUP5
00002796: PUSH1 0xa0
00002798: ADD
00002799: MLOAD
0000279a: DUP10
0000279b: DUP7
0000279c: PUSH1 0x60
0000279e: ADD
0000279f: MLOAD
000027a0: PUSH2 0x27a9
000027a3: SWAP2
000027a4: SWAP1
000027a5: PUSH2 0x4ce2
000027a8: JUMP
000027a9: JUMPDEST
000027aa: PUSH2 0x27b3
000027ad: SWAP2
000027ae: SWAP1
000027af: PUSH2 0x4d01
000027b2: JUMP
000027b3: JUMPDEST
000027b4: DUP4
000027b5: PUSH2 0x3577
000027b8: JUMP
000027b9: JUMPDEST
000027ba: SWAP1
000027bb: POP
000027bc: DUP3
000027bd: PUSH2 0x280c
000027c0: JUMPI
000027c1: DUP6
000027c2: DUP1
000027c3: ISZERO
000027c4: PUSH2 0x27d9
000027c7: JUMPI
000027c8: POP
000027c9: PUSH2 0x27d7
000027cc: DUP5
000027cd: PUSH1 0x20
000027cf: ADD
000027d0: MLOAD
000027d1: DUP3
000027d2: DUP5
000027d3: PUSH2 0x3587
000027d6: JUMP
000027d7: JUMPDEST
000027d8: ISZERO
000027d9: JUMPDEST
000027da: ISZERO
000027db: PUSH2 0x27eb
000027de: JUMPI
000027df: PUSH1 0x00
000027e1: SWAP5
000027e2: POP
000027e3: POP
000027e4: POP
000027e5: POP
000027e6: POP
000027e7: PUSH2 0x2932
000027ea: JUMP
000027eb: JUMPDEST
000027ec: PUSH1 0x20
000027ee: DUP5
000027ef: ADD
000027f0: MLOAD
000027f1: PUSH2 0x01a7
000027f4: SLOAD
000027f5: DUP6
000027f6: MLOAD
000027f7: PUSH2 0x280c
000027fa: SWAP3
000027fb: SWAP2
000027fc: PUSH1 0x01
000027fe: PUSH1 0x01
00002800: PUSH1 0xa0
00002802: SHL
00002803: SUB
00002804: AND
00002805: SWAP1
00002806: DUP5
00002807: DUP7
00002808: PUSH2 0x3620
0000280b: JUMP
0000280c: JUMPDEST
0000280d: PUSH2 0x281a
00002810: DUP5
00002811: PUSH1 0x20
00002813: ADD
00002814: MLOAD
00002815: DUP3
00002816: PUSH2 0x3673
00002819: JUMP
0000281a: JUMPDEST
0000281b: PUSH2 0x0163
0000281e: SLOAD
0000281f: PUSH1 0x60
00002821: DUP6
00002822: ADD
00002823: MLOAD
00002824: PUSH1 0x40
00002826: MLOAD
00002827: PUSH4 0x2770a7eb
0000282c: PUSH1 0xe2
0000282e: SHL
0000282f: DUP2
00002830: MSTORE
00002831: ADDRESS
00002832: PUSH1 0x04
00002834: DUP3
00002835: ADD
00002836: MSTORE
00002837: PUSH1 0x24
00002839: DUP2
0000283a: ADD
0000283b: SWAP2
0000283c: SWAP1
0000283d: SWAP2
0000283e: MSTORE
0000283f: PUSH1 0x01
00002841: PUSH1 0x01
00002843: PUSH1 0xa0
00002845: SHL
00002846: SUB
00002847: SWAP1
00002848: SWAP2
00002849: AND
0000284a: SWAP1
0000284b: PUSH4 0x9dc29fac
00002850: SWAP1
00002851: PUSH1 0x44
00002853: ADD
00002854: PUSH1 0x00
00002856: PUSH1 0x40
00002858: MLOAD
00002859: DUP1
0000285a: DUP4
0000285b: SUB
0000285c: DUP2
0000285d: PUSH1 0x00
0000285f: DUP8
00002860: DUP1
00002861: EXTCODESIZE
00002862: ISZERO
00002863: DUP1
00002864: ISZERO
00002865: PUSH2 0x286d
00002868: JUMPI
00002869: PUSH1 0x00
0000286b: DUP1
0000286c: REVERT
0000286d: JUMPDEST
0000286e: POP
0000286f: GAS
00002870: CALL
00002871: ISZERO
00002872: DUP1
00002873: ISZERO
00002874: PUSH2 0x2881
00002877: JUMPI
00002878: RETURNDATASIZE
00002879: PUSH1 0x00
0000287b: DUP1
0000287c: RETURNDATACOPY
0000287d: RETURNDATASIZE
0000287e: PUSH1 0x00
00002880: REVERT
00002881: JUMPDEST
00002882: POP
00002883: POP
00002884: PUSH1 0x01
00002886: PUSH1 0x40
00002888: DUP8
00002889: DUP2
0000288a: ADD
0000288b: DUP3
0000288c: DUP2
0000288d: MSTORE
0000288e: PUSH1 0x80
00002890: DUP10
00002891: ADD
00002892: DUP14
00002893: SWAP1
00002894: MSTORE
00002895: PUSH1 0x00
00002897: DUP15
00002898: DUP2
00002899: MSTORE
0000289a: PUSH2 0x01a6
0000289d: PUSH1 0x20
0000289f: SWAP1
000028a0: DUP2
000028a1: MSTORE
000028a2: SWAP3
000028a3: SWAP1
000028a4: KECCAK256
000028a5: DUP10
000028a6: MLOAD
000028a7: DUP2
000028a8: SLOAD
000028a9: PUSH1 0x01
000028ab: PUSH1 0x01
000028ad: PUSH1 0xa0
000028af: SHL
000028b0: SUB
000028b1: NOT
000028b2: SWAP1
000028b3: DUP2
000028b4: AND
000028b5: PUSH1 0x01
000028b7: PUSH1 0x01
000028b9: PUSH1 0xa0
000028bb: SHL
000028bc: SUB
000028bd: SWAP3
000028be: DUP4
000028bf: AND
000028c0: OR
000028c1: DUP4
000028c2: SSTORE
000028c3: SWAP4
000028c4: DUP12
000028c5: ADD
000028c6: MLOAD
000028c7: SWAP5
000028c8: DUP3
000028c9: ADD
000028ca: DUP1
000028cb: SLOAD
000028cc: SWAP5
000028cd: DUP6
000028ce: AND
000028cf: SWAP6
000028d0: SWAP1
000028d1: SWAP2
000028d2: AND
000028d3: SWAP5
000028d4: DUP6
000028d5: OR
000028d6: DUP2
000028d7: SSTORE
000028d8: SWAP2
000028d9: MLOAD
000028da: DUP11
000028db: SWAP7
000028dc: POP
000028dd: SWAP1
000028de: SWAP5
000028df: POP
000028e0: SWAP3
000028e1: SWAP1
000028e2: SWAP2
000028e3: PUSH1 0x01
000028e5: PUSH1 0x01
000028e7: PUSH1 0xa8
000028e9: SHL
000028ea: SUB
000028eb: NOT
000028ec: AND
000028ed: OR
000028ee: PUSH1 0x01
000028f0: PUSH1 0xa0
000028f2: SHL
000028f3: DUP4
000028f4: PUSH1 0x02
000028f6: DUP2
000028f7: GT
000028f8: ISZERO
000028f9: PUSH2 0x2904
000028fc: JUMPI
000028fd: PUSH2 0x2904
00002900: PUSH2 0x4ad0
00002903: JUMP
00002904: JUMPDEST
00002905: MUL
00002906: OR
00002907: SWAP1
00002908: SSTORE
00002909: POP
0000290a: PUSH1 0x60
0000290c: DUP3
0000290d: ADD
0000290e: MLOAD
0000290f: PUSH1 0x02
00002911: DUP3
00002912: ADD
00002913: SSTORE
00002914: PUSH1 0x80
00002916: DUP3
00002917: ADD
00002918: MLOAD
00002919: PUSH1 0x03
0000291b: DUP3
0000291c: ADD
0000291d: SSTORE
0000291e: PUSH1 0xa0
00002920: SWAP1
00002921: SWAP2
00002922: ADD
00002923: MLOAD
00002924: PUSH1 0x04
00002926: SWAP1
00002927: SWAP2
00002928: ADD
00002929: SSTORE
0000292a: POP
0000292b: PUSH1 0x01
0000292d: SWAP4
0000292e: POP
0000292f: POP
00002930: POP
00002931: POP
00002932: JUMPDEST
00002933: SWAP5
00002934: SWAP4
00002935: POP
00002936: POP
00002937: POP
00002938: POP
00002939: JUMP
0000293a: JUMPDEST
0000293b: PUSH1 0x01
0000293d: PUSH1 0x01
0000293f: PUSH1 0xa0
00002941: SHL
00002942: SUB
00002943: DUP3
00002944: AND
00002945: PUSH2 0x2988
00002948: JUMPI
00002949: PUSH1 0x40
0000294b: MLOAD
0000294c: PUSH3 0x461bcd
00002950: PUSH1 0xe5
00002952: SHL
00002953: DUP2
00002954: MSTORE
00002955: PUSH1 0x20
00002957: PUSH1 0x04
00002959: DUP3
0000295a: ADD
0000295b: MSTORE
0000295c: PUSH1 0x15
0000295e: PUSH1 0x24
00002960: DUP3
00002961: ADD
00002962: MSTORE
00002963: PUSH21 0x14958e881c995c5d595cdd081b9bdd08195e1a5cdd
00002979: PUSH1 0x5a
0000297b: SHL
0000297c: PUSH1 0x44
0000297e: DUP3
0000297f: ADD
00002980: MSTORE
00002981: PUSH1 0x64
00002983: ADD
00002984: PUSH2 0x0bfe
00002987: JUMP
00002988: JUMPDEST
00002989: PUSH1 0x00
0000298b: DUP2
0000298c: PUSH1 0x02
0000298e: DUP2
0000298f: GT
00002990: ISZERO
00002991: PUSH2 0x299c
00002994: JUMPI
00002995: PUSH2 0x299c
00002998: PUSH2 0x4ad0
0000299b: JUMP
0000299c: JUMPDEST
0000299d: EQ
0000299e: PUSH2 0x2693
000029a1: JUMPI
000029a2: PUSH1 0x40
000029a4: MLOAD
000029a5: PUSH3 0x461bcd
000029a9: PUSH1 0xe5
000029ab: SHL
000029ac: DUP2
000029ad: MSTORE
000029ae: PUSH1 0x20
000029b0: PUSH1 0x04
000029b2: DUP3
000029b3: ADD
000029b4: MSTORE
000029b5: PUSH1 0x17
000029b7: PUSH1 0x24
000029b9: DUP3
000029ba: ADD
000029bb: MSTORE
000029bc: PUSH32 0x52563a2072657175657374206e6f742070656e64696e67000000000000000000
000029dd: PUSH1 0x44
000029df: DUP3
000029e0: ADD
000029e1: MSTORE
000029e2: PUSH1 0x64
000029e4: ADD
000029e5: PUSH2 0x0bfe
000029e8: JUMP
000029e9: JUMPDEST
000029ea: PUSH2 0x2710
000029ed: DUP3
000029ee: GT
000029ef: ISZERO
000029f0: PUSH2 0x2a28
000029f3: JUMPI
000029f4: PUSH1 0x40
000029f6: MLOAD
000029f7: PUSH3 0x461bcd
000029fb: PUSH1 0xe5
000029fd: SHL
000029fe: DUP2
000029ff: MSTORE
00002a00: PUSH1 0x20
00002a02: PUSH1 0x04
00002a04: DUP3
00002a05: ADD
00002a06: MSTORE
00002a07: PUSH1 0x0a
00002a09: PUSH1 0x24
00002a0b: DUP3
00002a0c: ADD
00002a0d: MSTORE
00002a0e: PUSH10 0x666565203e2031303025
00002a19: PUSH1 0xb0
00002a1b: SHL
00002a1c: PUSH1 0x44
00002a1e: DUP3
00002a1f: ADD
00002a20: MSTORE
00002a21: PUSH1 0x64
00002a23: ADD
00002a24: PUSH2 0x0bfe
00002a27: JUMP
00002a28: JUMPDEST
00002a29: DUP1
00002a2a: ISZERO
00002a2b: PUSH2 0x2693
00002a2e: JUMPI
00002a2f: PUSH1 0x00
00002a31: DUP3
00002a32: GT
00002a33: PUSH2 0x2693
00002a36: JUMPI
00002a37: PUSH1 0x40
00002a39: MLOAD
00002a3a: PUSH3 0x461bcd
00002a3e: PUSH1 0xe5
00002a40: SHL
00002a41: DUP2
00002a42: MSTORE
00002a43: PUSH1 0x20
00002a45: PUSH1 0x04
00002a47: DUP3
00002a48: ADD
00002a49: MSTORE
00002a4a: PUSH1 0x08
00002a4c: PUSH1 0x24
00002a4e: DUP3
00002a4f: ADD
00002a50: MSTORE
00002a51: PUSH8 0x0666565203d3d203
00002a5a: PUSH1 0xc4
00002a5c: SHL
00002a5d: PUSH1 0x44
00002a5f: DUP3
00002a60: ADD
00002a61: MSTORE
00002a62: PUSH1 0x64
00002a64: ADD
00002a65: PUSH2 0x0bfe
00002a68: JUMP
00002a69: JUMPDEST
00002a6a: PUSH1 0x40
00002a6c: MLOAD
00002a6d: PUSH1 0x01
00002a6f: PUSH1 0x01
00002a71: PUSH1 0xa0
00002a73: SHL
00002a74: SUB
00002a75: DUP4
00002a76: AND
00002a77: PUSH1 0x24
00002a79: DUP3
00002a7a: ADD
00002a7b: MSTORE
00002a7c: PUSH1 0x44
00002a7e: DUP2
00002a7f: ADD
00002a80: DUP3
00002a81: SWAP1
00002a82: MSTORE
00002a83: PUSH2 0x1968
00002a86: SWAP1
00002a87: DUP5
00002a88: SWAP1
00002a89: PUSH4 0xa9059cbb
00002a8e: PUSH1 0xe0
00002a90: SHL
00002a91: SWAP1
00002a92: PUSH1 0x64
00002a94: ADD
00002a95: JUMPDEST
00002a96: PUSH1 0x40
00002a98: DUP1
00002a99: MLOAD
00002a9a: PUSH1 0x1f
00002a9c: NOT
00002a9d: DUP2
00002a9e: DUP5
00002a9f: SUB
00002aa0: ADD
00002aa1: DUP2
00002aa2: MSTORE
00002aa3: SWAP2
00002aa4: SWAP1
00002aa5: MSTORE
00002aa6: PUSH1 0x20
00002aa8: DUP2
00002aa9: ADD
00002aaa: DUP1
00002aab: MLOAD
00002aac: PUSH1 0x01
00002aae: PUSH1 0x01
00002ab0: PUSH1 0xe0
00002ab2: SHL
00002ab3: SUB
00002ab4: AND
00002ab5: PUSH1 0x01
00002ab7: PUSH1 0x01
00002ab9: PUSH1 0xe0
00002abb: SHL
00002abc: SUB
00002abd: NOT
00002abe: SWAP1
00002abf: SWAP4
00002ac0: AND
00002ac1: SWAP3
00002ac2: SWAP1
00002ac3: SWAP3
00002ac4: OR
00002ac5: SWAP1
00002ac6: SWAP2
00002ac7: MSTORE
00002ac8: PUSH2 0x371c
00002acb: JUMP
00002acc: JUMPDEST
00002acd: PUSH2 0x2ad4
00002ad0: PUSH2 0x37f1
00002ad3: JUMP
00002ad4: JUMPDEST
00002ad5: PUSH1 0x65
00002ad7: DUP1
00002ad8: SLOAD
00002ad9: PUSH1 0xff
00002adb: NOT
00002adc: AND
00002add: SWAP1
00002ade: SSTORE
00002adf: PUSH32 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa
00002b00: CALLER
00002b01: JUMPDEST
00002b02: PUSH1 0x40
00002b04: MLOAD
00002b05: PUSH1 0x01
00002b07: PUSH1 0x01
00002b09: PUSH1 0xa0
00002b0b: SHL
00002b0c: SUB
00002b0d: SWAP1
00002b0e: SWAP2
00002b0f: AND
00002b10: DUP2
00002b11: MSTORE
00002b12: PUSH1 0x20
00002b14: ADD
00002b15: PUSH1 0x40
00002b17: MLOAD
00002b18: DUP1
00002b19: SWAP2
00002b1a: SUB
00002b1b: SWAP1
00002b1c: LOG1
00002b1d: JUMP
00002b1e: JUMPDEST
00002b1f: PUSH1 0x01
00002b21: PUSH1 0x01
00002b23: PUSH1 0xa0
00002b25: SHL
00002b26: SUB
00002b27: DUP3
00002b28: AND
00002b29: PUSH2 0x2b63
00002b2c: JUMPI
00002b2d: PUSH1 0x40
00002b2f: MLOAD
00002b30: PUSH3 0x461bcd
00002b34: PUSH1 0xe5
00002b36: SHL
00002b37: DUP2
00002b38: MSTORE
00002b39: PUSH1 0x20
00002b3b: PUSH1 0x04
00002b3d: DUP3
00002b3e: ADD
00002b3f: MSTORE
00002b40: PUSH1 0x0c
00002b42: PUSH1 0x24
00002b44: DUP3
00002b45: ADD
00002b46: MSTORE
00002b47: PUSH12 0x7a65726f2061646472657373
00002b54: PUSH1 0xa0
00002b56: SHL
00002b57: PUSH1 0x44
00002b59: DUP3
00002b5a: ADD
00002b5b: MSTORE
00002b5c: PUSH1 0x64
00002b5e: ADD
00002b5f: PUSH2 0x0bfe
00002b62: JUMP
00002b63: JUMPDEST
00002b64: DUP1
00002b65: ISZERO
00002b66: PUSH2 0x2693
00002b69: JUMPI
00002b6a: PUSH1 0x01
00002b6c: PUSH1 0x01
00002b6e: PUSH1 0xa0
00002b70: SHL
00002b71: SUB
00002b72: DUP3
00002b73: AND
00002b74: ADDRESS
00002b75: EQ
00002b76: ISZERO
00002b77: PUSH2 0x2693
00002b7a: JUMPI
00002b7b: PUSH1 0x40
00002b7d: MLOAD
00002b7e: PUSH3 0x461bcd
00002b82: PUSH1 0xe5
00002b84: SHL
00002b85: DUP2
00002b86: MSTORE
00002b87: PUSH1 0x20
00002b89: PUSH1 0x04
00002b8b: DUP3
00002b8c: ADD
00002b8d: MSTORE
00002b8e: PUSH1 0x0f
00002b90: PUSH1 0x24
00002b92: DUP3
00002b93: ADD
00002b94: MSTORE
00002b95: PUSH15 0x696e76616c69642061646472657373
00002ba5: PUSH1 0x88
00002ba7: SHL
00002ba8: PUSH1 0x44
00002baa: DUP3
00002bab: ADD
00002bac: MSTORE
00002bad: PUSH1 0x64
00002baf: ADD
00002bb0: PUSH2 0x0bfe
00002bb3: JUMP
00002bb4: JUMPDEST
00002bb5: PUSH1 0x00
00002bb7: SLOAD
00002bb8: PUSH2 0x0100
00002bbb: SWAP1
00002bbc: DIV
00002bbd: PUSH1 0xff
00002bbf: AND
00002bc0: PUSH2 0x2bdb
00002bc3: JUMPI
00002bc4: PUSH1 0x40
00002bc6: MLOAD
00002bc7: PUSH3 0x461bcd
00002bcb: PUSH1 0xe5
00002bcd: SHL
00002bce: DUP2
00002bcf: MSTORE
00002bd0: PUSH1 0x04
00002bd2: ADD
00002bd3: PUSH2 0x0bfe
00002bd6: SWAP1
00002bd7: PUSH2 0x4d23
00002bda: JUMP
00002bdb: JUMPDEST
00002bdc: PUSH2 0x2bea
00002bdf: DUP10
00002be0: DUP10
00002be1: DUP10
00002be2: DUP10
00002be3: DUP10
00002be4: DUP10
00002be5: DUP10
00002be6: PUSH2 0x383a
00002be9: JUMP
00002bea: JUMPDEST
00002beb: PUSH2 0x2bf6
00002bee: DUP3
00002bef: CALLDATALOAD
00002bf0: PUSH1 0x00
00002bf2: PUSH2 0x29e9
00002bf5: JUMP
00002bf6: JUMPDEST
00002bf7: PUSH2 0x2c01
00002bfa: DUP2
00002bfb: PUSH1 0x00
00002bfd: PUSH2 0x2b1e
00002c00: JUMP
00002c01: JUMPDEST
00002c02: PUSH1 0x40
00002c04: DUP3
00002c05: ADD
00002c06: CALLDATALOAD
00002c07: PUSH2 0x01a3
00002c0a: SSTORE
00002c0b: DUP2
00002c0c: CALLDATALOAD
00002c0d: PUSH2 0x01a4
00002c10: SSTORE
00002c11: PUSH1 0x20
00002c13: SWAP1
00002c14: SWAP2
00002c15: ADD
00002c16: CALLDATALOAD
00002c17: PUSH2 0x01a5
00002c1a: SSTORE
00002c1b: PUSH2 0x01a7
00002c1e: DUP1
00002c1f: SLOAD
00002c20: PUSH1 0x01
00002c22: PUSH1 0x01
00002c24: PUSH1 0xa0
00002c26: SHL
00002c27: SUB
00002c28: NOT
00002c29: AND
00002c2a: PUSH1 0x01
00002c2c: PUSH1 0x01
00002c2e: PUSH1 0xa0
00002c30: SHL
00002c31: SUB
00002c32: SWAP1
00002c33: SWAP3
00002c34: AND
00002c35: SWAP2
00002c36: SWAP1
00002c37: SWAP2
00002c38: OR
00002c39: SWAP1
00002c3a: SSTORE
00002c3b: POP
00002c3c: POP
00002c3d: POP
00002c3e: POP
00002c3f: POP
00002c40: POP
00002c41: POP
00002c42: JUMP
00002c43: JUMPDEST
00002c44: PUSH2 0x2c4b
00002c47: PUSH2 0x2206
00002c4a: JUMP
00002c4b: JUMPDEST
00002c4c: PUSH1 0x65
00002c4e: DUP1
00002c4f: SLOAD
00002c50: PUSH1 0xff
00002c52: NOT
00002c53: AND
00002c54: PUSH1 0x01
00002c56: OR
00002c57: SWAP1
00002c58: SSTORE
00002c59: PUSH32 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258
00002c7a: PUSH2 0x2b01
00002c7d: CALLER
00002c7e: SWAP1
00002c7f: JUMP
00002c80: JUMPDEST
00002c81: PUSH1 0x40
00002c83: DUP1
00002c84: MLOAD
00002c85: DUP1
00002c86: DUP3
00002c87: ADD
00002c88: SWAP1
00002c89: SWAP2
00002c8a: MSTORE
00002c8b: PUSH1 0x00
00002c8d: DUP1
00002c8e: DUP3
00002c8f: MSTORE
00002c90: PUSH1 0x20
00002c92: DUP3
00002c93: ADD
00002c94: MSTORE
00002c95: PUSH1 0x00
00002c97: CALLER
00002c98: PUSH2 0x2ca5
00002c9b: DUP2
00002c9c: DUP9
00002c9d: DUP9
00002c9e: PUSH1 0x01
00002ca0: DUP7
00002ca1: PUSH2 0x31a1
00002ca4: JUMP
00002ca5: JUMPDEST
00002ca6: SWAP3
00002ca7: POP
00002ca8: PUSH1 0x00
00002caa: PUSH2 0x2cb2
00002cad: DUP9
00002cae: PUSH2 0x3504
00002cb1: JUMP
00002cb2: JUMPDEST
00002cb3: PUSH1 0xff
00002cb5: AND
00002cb6: SWAP1
00002cb7: POP
00002cb8: DUP7
00002cb9: DUP9
00002cba: DUP8
00002cbb: PUSH1 0x00
00002cbd: DUP1
00002cbe: PUSH2 0x2cc6
00002cc1: DUP6
00002cc2: PUSH2 0x3a12
00002cc5: JUMP
00002cc6: JUMPDEST
00002cc7: SWAP2
00002cc8: POP
00002cc9: SWAP2
00002cca: POP
00002ccb: PUSH1 0x00
00002ccd: DUP1
00002cce: PUSH2 0x2cd7
00002cd1: DUP5
00002cd2: DUP8
00002cd3: PUSH2 0x3a85
00002cd6: JUMP
00002cd7: JUMPDEST
00002cd8: SWAP2
00002cd9: POP
00002cda: SWAP2
00002cdb: POP
00002cdc: PUSH2 0x2cff
00002cdf: DUP2
00002ce0: DUP5
00002ce1: DUP14
00002ce2: PUSH1 0x20
00002ce4: ADD
00002ce5: MLOAD
00002ce6: PUSH2 0x2cef
00002ce9: SWAP2
00002cea: SWAP1
00002ceb: PUSH2 0x4ce2
00002cee: JUMP
00002cef: JUMPDEST
00002cf0: PUSH2 0x2cf9
00002cf3: SWAP2
00002cf4: SWAP1
00002cf5: PUSH2 0x4d01
00002cf8: JUMP
00002cf9: JUMPDEST
00002cfa: DUP10
00002cfb: PUSH2 0x3577
00002cfe: JUMP
00002cff: JUMPDEST
00002d00: SWAP10
00002d01: POP
00002d02: DUP5
00002d03: DUP11
00002d04: LT
00002d05: ISZERO
00002d06: PUSH2 0x2d51
00002d09: JUMPI
00002d0a: PUSH1 0x40
00002d0c: MLOAD
00002d0d: PUSH3 0x461bcd
00002d11: PUSH1 0xe5
00002d13: SHL
00002d14: DUP2
00002d15: MSTORE
00002d16: PUSH1 0x20
00002d18: PUSH1 0x04
00002d1a: DUP3
00002d1b: ADD
00002d1c: MSTORE
00002d1d: PUSH1 0x1e
00002d1f: PUSH1 0x24
00002d21: DUP3
00002d22: ADD
00002d23: MSTORE
00002d24: PUSH32 0x5256533a206d696e52656365697665416d6f756e74203e2061637475616c0000
00002d45: PUSH1 0x44
00002d47: DUP3
00002d48: ADD
00002d49: MSTORE
00002d4a: PUSH1 0x64
00002d4c: ADD
00002d4d: PUSH2 0x0bfe
00002d50: JUMP
00002d51: JUMPDEST
00002d52: DUP11
00002d53: MLOAD
00002d54: ISZERO
00002d55: PUSH2 0x2d7d
00002d58: JUMPI
00002d59: PUSH2 0x0163
00002d5c: SLOAD
00002d5d: PUSH2 0x0169
00002d60: SLOAD
00002d61: DUP13
00002d62: MLOAD
00002d63: PUSH2 0x2d7b
00002d66: SWAP3
00002d67: PUSH1 0x01
00002d69: PUSH1 0x01
00002d6b: PUSH1 0xa0
00002d6d: SHL
00002d6e: SUB
00002d6f: SWAP1
00002d70: DUP2
00002d71: AND
00002d72: SWAP3
00002d73: AND
00002d74: SWAP1
00002d75: PUSH1 0x12
00002d77: PUSH2 0x3426
00002d7a: JUMP
00002d7b: JUMPDEST
00002d7c: POP
00002d7d: JUMPDEST
00002d7e: PUSH1 0x40
00002d80: MLOAD
00002d81: PUSH4 0x70a08231
00002d86: PUSH1 0xe0
00002d88: SHL
00002d89: DUP2
00002d8a: MSTORE
00002d8b: ADDRESS
00002d8c: PUSH1 0x04
00002d8e: DUP3
00002d8f: ADD
00002d90: MSTORE
00002d91: PUSH1 0x00
00002d93: SWAP1
00002d94: PUSH1 0x01
00002d96: PUSH1 0x01
00002d98: PUSH1 0xa0
00002d9a: SHL
00002d9b: SUB
00002d9c: DUP9
00002d9d: AND
00002d9e: SWAP1
00002d9f: PUSH4 0x70a08231
00002da4: SWAP1
00002da5: PUSH1 0x24
00002da7: ADD
00002da8: PUSH1 0x20
00002daa: PUSH1 0x40
00002dac: MLOAD
00002dad: DUP1
00002dae: DUP4
00002daf: SUB
00002db0: DUP2
00002db1: DUP7
00002db2: DUP1
00002db3: EXTCODESIZE
00002db4: ISZERO
00002db5: DUP1
00002db6: ISZERO
00002db7: PUSH2 0x2dbf
00002dba: JUMPI
00002dbb: PUSH1 0x00
00002dbd: DUP1
00002dbe: REVERT
00002dbf: JUMPDEST
00002dc0: POP
00002dc1: GAS
00002dc2: STATICCALL
00002dc3: ISZERO
00002dc4: DUP1
00002dc5: ISZERO
00002dc6: PUSH2 0x2dd3
00002dc9: JUMPI
00002dca: RETURNDATASIZE
00002dcb: PUSH1 0x00
00002dcd: DUP1
00002dce: RETURNDATACOPY
00002dcf: RETURNDATASIZE
00002dd0: PUSH1 0x00
00002dd2: REVERT
00002dd3: JUMPDEST
00002dd4: POP
00002dd5: POP
00002dd6: POP
00002dd7: POP
00002dd8: PUSH1 0x40
00002dda: MLOAD
00002ddb: RETURNDATASIZE
00002ddc: PUSH1 0x1f
00002dde: NOT
00002ddf: PUSH1 0x1f
00002de1: DUP3
00002de2: ADD
00002de3: AND
00002de4: DUP3
00002de5: ADD
00002de6: DUP1
00002de7: PUSH1 0x40
00002de9: MSTORE
00002dea: POP
00002deb: DUP2
00002dec: ADD
00002ded: SWAP1
00002dee: PUSH2 0x2df7
00002df1: SWAP2
00002df2: SWAP1
00002df3: PUSH2 0x4cc9
00002df6: JUMP
00002df7: JUMPDEST
00002df8: SWAP1
00002df9: POP
00002dfa: PUSH2 0x2e02
00002dfd: DUP9
00002dfe: PUSH2 0x3b65
00002e01: JUMP
00002e02: JUMPDEST
00002e03: PUSH2 0x2e0c
00002e06: DUP8
00002e07: DUP5
00002e08: PUSH2 0x3673
00002e0b: JUMP
00002e0c: JUMPDEST
00002e0d: PUSH2 0x2e16
00002e10: DUP12
00002e11: DUP11
00002e12: PUSH2 0x3bef
00002e15: JUMP
00002e16: JUMPDEST
00002e17: DUP2
00002e18: LT
00002e19: PUSH2 0x2e8d
00002e1c: JUMPI
00002e1d: PUSH2 0x0163
00002e20: SLOAD
00002e21: PUSH1 0x20
00002e23: DUP14
00002e24: ADD
00002e25: MLOAD
00002e26: PUSH1 0x40
00002e28: MLOAD
00002e29: PUSH4 0x2770a7eb
00002e2e: PUSH1 0xe2
00002e30: SHL
00002e31: DUP2
00002e32: MSTORE
00002e33: PUSH1 0x01
00002e35: PUSH1 0x01
00002e37: PUSH1 0xa0
00002e39: SHL
00002e3a: SUB
00002e3b: DUP14
00002e3c: DUP2
00002e3d: AND
00002e3e: PUSH1 0x04
00002e40: DUP4
00002e41: ADD
00002e42: MSTORE
00002e43: PUSH1 0x24
00002e45: DUP3
00002e46: ADD
00002e47: SWAP3
00002e48: SWAP1
00002e49: SWAP3
00002e4a: MSTORE
00002e4b: SWAP2
00002e4c: AND
00002e4d: SWAP1
00002e4e: PUSH4 0x9dc29fac
00002e53: SWAP1
00002e54: PUSH1 0x44
00002e56: ADD
00002e57: PUSH1 0x00
00002e59: PUSH1 0x40
00002e5b: MLOAD
00002e5c: DUP1
00002e5d: DUP4
00002e5e: SUB
00002e5f: DUP2
00002e60: PUSH1 0x00
00002e62: DUP8
00002e63: DUP1
00002e64: EXTCODESIZE
00002e65: ISZERO
00002e66: DUP1
00002e67: ISZERO
00002e68: PUSH2 0x2e70
00002e6b: JUMPI
00002e6c: PUSH1 0x00
00002e6e: DUP1
00002e6f: REVERT
00002e70: JUMPDEST
00002e71: POP
00002e72: GAS
00002e73: CALL
00002e74: ISZERO
00002e75: DUP1
00002e76: ISZERO
00002e77: PUSH2 0x2e84
00002e7a: JUMPI
00002e7b: RETURNDATASIZE
00002e7c: PUSH1 0x00
00002e7e: DUP1
00002e7f: RETURNDATACOPY
00002e80: RETURNDATASIZE
00002e81: PUSH1 0x00
00002e83: REVERT
00002e84: JUMPDEST
00002e85: POP
00002e86: POP
00002e87: POP
00002e88: POP
00002e89: PUSH2 0x3038
00002e8c: JUMP
00002e8d: JUMPDEST
00002e8e: PUSH1 0x00
00002e90: PUSH2 0x2e9c
00002e93: DUP14
00002e94: PUSH1 0x20
00002e96: ADD
00002e97: MLOAD
00002e98: PUSH2 0x3bfd
00002e9b: JUMP
00002e9c: JUMPDEST
00002e9d: PUSH2 0x020c
00002ea0: SLOAD
00002ea1: PUSH1 0x40
00002ea3: DUP1
00002ea4: MLOAD
00002ea5: PUSH4 0xc3b6f939
00002eaa: PUSH1 0xe0
00002eac: SHL
00002ead: DUP2
00002eae: MSTORE
00002eaf: SWAP1
00002eb0: MLOAD
00002eb1: SWAP3
00002eb2: SWAP4
00002eb3: POP
00002eb4: PUSH2 0x2f35
00002eb7: SWAP3
00002eb8: PUSH1 0x01
00002eba: PUSH1 0x01
00002ebc: PUSH1 0xa0
00002ebe: SHL
00002ebf: SUB
00002ec0: SWAP1
00002ec1: SWAP3
00002ec2: AND
00002ec3: SWAP2
00002ec4: DUP5
00002ec5: SWAP2
00002ec6: DUP4
00002ec7: SWAP2
00002ec8: PUSH4 0xc3b6f939
00002ecd: SWAP2
00002ece: PUSH1 0x04
00002ed0: DUP1
00002ed1: DUP3
00002ed2: ADD
00002ed3: SWAP3
00002ed4: PUSH1 0x20
00002ed6: SWAP3
00002ed7: SWAP1
00002ed8: SWAP2
00002ed9: SWAP1
00002eda: DUP3
00002edb: SWAP1
00002edc: SUB
00002edd: ADD
00002ede: DUP2
00002edf: DUP7
00002ee0: DUP1
00002ee1: EXTCODESIZE
00002ee2: ISZERO
00002ee3: DUP1
00002ee4: ISZERO
00002ee5: PUSH2 0x2eed
00002ee8: JUMPI
00002ee9: PUSH1 0x00
00002eeb: DUP1
00002eec: REVERT
00002eed: JUMPDEST
00002eee: POP
00002eef: GAS
00002ef0: STATICCALL
00002ef1: ISZERO
00002ef2: DUP1
00002ef3: ISZERO
00002ef4: PUSH2 0x2f01
00002ef7: JUMPI
00002ef8: RETURNDATASIZE
00002ef9: PUSH1 0x00
00002efb: DUP1
00002efc: RETURNDATACOPY
00002efd: RETURNDATASIZE
00002efe: PUSH1 0x00
00002f00: REVERT
00002f01: JUMPDEST
00002f02: POP
00002f03: POP
00002f04: POP
00002f05: POP
00002f06: PUSH1 0x40
00002f08: MLOAD
00002f09: RETURNDATASIZE
00002f0a: PUSH1 0x1f
00002f0c: NOT
00002f0d: PUSH1 0x1f
00002f0f: DUP3
00002f10: ADD
00002f11: AND
00002f12: DUP3
00002f13: ADD
00002f14: DUP1
00002f15: PUSH1 0x40
00002f17: MSTORE
00002f18: POP
00002f19: DUP2
00002f1a: ADD
00002f1b: SWAP1
00002f1c: PUSH2 0x2f25
00002f1f: SWAP2
00002f20: SWAP1
00002f21: PUSH2 0x4d6e
00002f24: JUMP
00002f25: JUMPDEST
00002f26: PUSH1 0x01
00002f28: PUSH1 0x01
00002f2a: PUSH1 0xa0
00002f2c: SHL
00002f2d: SUB
00002f2e: AND
00002f2f: SWAP2
00002f30: SWAP1
00002f31: PUSH2 0x3e5b
00002f34: JUMP
00002f35: JUMPDEST
00002f36: PUSH2 0x020c
00002f39: SLOAD
00002f3a: PUSH1 0x40
00002f3c: MLOAD
00002f3d: PUSH4 0x45a9fbaf
00002f42: PUSH1 0xe1
00002f44: SHL
00002f45: DUP2
00002f46: MSTORE
00002f47: PUSH1 0x01
00002f49: PUSH1 0x01
00002f4b: PUSH1 0xa0
00002f4d: SHL
00002f4e: SUB
00002f4f: DUP11
00002f50: DUP2
00002f51: AND
00002f52: PUSH1 0x04
00002f54: DUP4
00002f55: ADD
00002f56: MSTORE
00002f57: PUSH1 0x24
00002f59: DUP3
00002f5a: ADD
00002f5b: DUP5
00002f5c: SWAP1
00002f5d: MSTORE
00002f5e: PUSH1 0x44
00002f60: DUP3
00002f61: ADD
00002f62: DUP11
00002f63: SWAP1
00002f64: MSTORE
00002f65: SWAP1
00002f66: SWAP2
00002f67: AND
00002f68: SWAP1
00002f69: PUSH4 0x8b53f75e
00002f6e: SWAP1
00002f6f: PUSH1 0x64
00002f71: ADD
00002f72: PUSH1 0x00
00002f74: PUSH1 0x40
00002f76: MLOAD
00002f77: DUP1
00002f78: DUP4
00002f79: SUB
00002f7a: DUP2
00002f7b: PUSH1 0x00
00002f7d: DUP8
00002f7e: DUP1
00002f7f: EXTCODESIZE
00002f80: ISZERO
00002f81: DUP1
00002f82: ISZERO
00002f83: PUSH2 0x2f8b
00002f86: JUMPI
00002f87: PUSH1 0x00
00002f89: DUP1
00002f8a: REVERT
00002f8b: JUMPDEST
00002f8c: POP
00002f8d: GAS
00002f8e: CALL
00002f8f: ISZERO
00002f90: DUP1
00002f91: ISZERO
00002f92: PUSH2 0x2f9f
00002f95: JUMPI
00002f96: RETURNDATASIZE
00002f97: PUSH1 0x00
00002f99: DUP1
00002f9a: RETURNDATACOPY
00002f9b: RETURNDATASIZE
00002f9c: PUSH1 0x00
00002f9e: REVERT
00002f9f: JUMPDEST
00002fa0: POP
00002fa1: POP
00002fa2: PUSH1 0x40
00002fa4: MLOAD
00002fa5: PUSH4 0x70a08231
00002faa: PUSH1 0xe0
00002fac: SHL
00002fad: DUP2
00002fae: MSTORE
00002faf: ADDRESS
00002fb0: PUSH1 0x04
00002fb2: DUP3
00002fb3: ADD
00002fb4: MSTORE
00002fb5: PUSH1 0x00
00002fb7: SWAP3
00002fb8: POP
00002fb9: PUSH1 0x01
00002fbb: PUSH1 0x01
00002fbd: PUSH1 0xa0
00002fbf: SHL
00002fc0: SUB
00002fc1: DUP12
00002fc2: AND
00002fc3: SWAP2
00002fc4: POP
00002fc5: PUSH4 0x70a08231
00002fca: SWAP1
00002fcb: PUSH1 0x24
00002fcd: ADD
00002fce: PUSH1 0x20
00002fd0: PUSH1 0x40
00002fd2: MLOAD
00002fd3: DUP1
00002fd4: DUP4
00002fd5: SUB
00002fd6: DUP2
00002fd7: DUP7
00002fd8: DUP1
00002fd9: EXTCODESIZE
00002fda: ISZERO
00002fdb: DUP1
00002fdc: ISZERO
00002fdd: PUSH2 0x2fe5
00002fe0: JUMPI
00002fe1: PUSH1 0x00
00002fe3: DUP1
00002fe4: REVERT
00002fe5: JUMPDEST
00002fe6: POP
00002fe7: GAS
00002fe8: STATICCALL
00002fe9: ISZERO
00002fea: DUP1
00002feb: ISZERO
00002fec: PUSH2 0x2ff9
00002fef: JUMPI
00002ff0: RETURNDATASIZE
00002ff1: PUSH1 0x00
00002ff3: DUP1
00002ff4: RETURNDATACOPY
00002ff5: RETURNDATASIZE
00002ff6: PUSH1 0x00
00002ff8: REVERT
00002ff9: JUMPDEST
00002ffa: POP
00002ffb: POP
00002ffc: POP
00002ffd: POP
00002ffe: PUSH1 0x40
00003000: MLOAD
00003001: RETURNDATASIZE
00003002: PUSH1 0x1f
00003004: NOT
00003005: PUSH1 0x1f
00003007: DUP3
00003008: ADD
00003009: AND
0000300a: DUP3
0000300b: ADD
0000300c: DUP1
0000300d: PUSH1 0x40
0000300f: MSTORE
00003010: POP
00003011: DUP2
00003012: ADD
00003013: SWAP1
00003014: PUSH2 0x301d
00003017: SWAP2
00003018: SWAP1
00003019: PUSH2 0x4cc9
0000301c: JUMP
0000301d: JUMPDEST
0000301e: SWAP1
0000301f: POP
00003020: PUSH2 0x3033
00003023: DUP12
00003024: PUSH2 0x302d
00003027: DUP6
00003028: DUP5
00003029: PUSH2 0x4d8b
0000302c: JUMP
0000302d: JUMPDEST
0000302e: SWAP1
0000302f: PUSH2 0x3f17
00003032: JUMP
00003033: JUMPDEST
00003034: SWAP13
00003035: POP
00003036: POP
00003037: POP
00003038: JUMPDEST
00003039: PUSH2 0x3044
0000303c: DUP8
0000303d: DUP15
0000303e: DUP14
0000303f: DUP13
00003040: PUSH2 0x3f25
00003043: JUMP
00003044: JUMPDEST
00003045: POP
00003046: POP
00003047: POP
00003048: POP
00003049: POP
0000304a: POP
0000304b: POP
0000304c: POP
0000304d: POP
0000304e: POP
0000304f: SWAP5
00003050: POP
00003051: SWAP5
00003052: SWAP3
00003053: POP
00003054: POP
00003055: POP
00003056: JUMP
00003057: JUMPDEST
00003058: PUSH2 0x3063
0000305b: PUSH2 0x016c
0000305e: DUP3
0000305f: PUSH2 0x3f6f
00003062: JUMP
00003063: JUMPDEST
00003064: PUSH2 0x30a6
00003067: JUMPI
00003068: PUSH1 0x40
0000306a: MLOAD
0000306b: PUSH3 0x461bcd
0000306f: PUSH1 0xe5
00003071: SHL
00003072: DUP2
00003073: MSTORE
00003074: PUSH1 0x20
00003076: PUSH1 0x04
00003078: DUP3
00003079: ADD
0000307a: MSTORE
0000307b: PUSH1 0x14
0000307d: PUSH1 0x24
0000307f: DUP3
00003080: ADD
00003081: MSTORE
00003082: PUSH20 0x4d563a20746f6b656e206e6f7420657869737473
00003097: PUSH1 0x60
00003099: SHL
0000309a: PUSH1 0x44
0000309c: DUP3
0000309d: ADD
0000309e: MSTORE
0000309f: PUSH1 0x64
000030a1: ADD
000030a2: PUSH2 0x0bfe
000030a5: JUMP
000030a6: JUMPDEST
000030a7: POP
000030a8: JUMP
000030a9: JUMPDEST
000030aa: PUSH2 0x0164
000030ad: SLOAD
000030ae: PUSH1 0x00
000030b0: SWAP1
000030b1: PUSH2 0x30c3
000030b4: SWAP1
000030b5: PUSH1 0x01
000030b7: PUSH1 0x01
000030b9: PUSH1 0xa0
000030bb: SHL
000030bc: SUB
000030bd: AND
000030be: DUP3
000030bf: PUSH2 0x3399
000030c2: JUMP
000030c3: JUMPDEST
000030c4: SWAP1
000030c5: POP
000030c6: PUSH1 0x00
000030c8: DUP2
000030c9: GT
000030ca: PUSH2 0x3105
000030cd: JUMPI
000030ce: PUSH1 0x40
000030d0: MLOAD
000030d1: PUSH3 0x461bcd
000030d5: PUSH1 0xe5
000030d7: SHL
000030d8: DUP2
000030d9: MSTORE
000030da: PUSH1 0x20
000030dc: PUSH1 0x04
000030de: DUP3
000030df: ADD
000030e0: MSTORE
000030e1: PUSH1 0x0d
000030e3: PUSH1 0x24
000030e5: DUP3
000030e6: ADD
000030e7: MSTORE
000030e8: PUSH13 0x52563a2072617465207a65726f
000030f6: PUSH1 0x98
000030f8: SHL
000030f9: PUSH1 0x44
000030fb: DUP3
000030fc: ADD
000030fd: MSTORE
000030fe: PUSH1 0x64
00003100: ADD
00003101: PUSH2 0x0bfe
00003104: JUMP
00003105: JUMPDEST
00003106: SWAP1
00003107: JUMP
00003108: JUMPDEST
00003109: PUSH1 0x00
0000310b: PUSH2 0x311d
0000310e: DUP4
0000310f: PUSH1 0x01
00003111: PUSH1 0x01
00003113: PUSH1 0xa0
00003115: SHL
00003116: SUB
00003117: DUP5
00003118: AND
00003119: PUSH2 0x3f91
0000311c: JUMP
0000311d: JUMPDEST
0000311e: SWAP1
0000311f: POP
00003120: JUMPDEST
00003121: SWAP3
00003122: SWAP2
00003123: POP
00003124: POP
00003125: JUMP
00003126: JUMPDEST
00003127: PUSH1 0x60
00003129: PUSH1 0x00
0000312b: PUSH2 0x3133
0000312e: DUP4
0000312f: PUSH2 0x4084
00003132: JUMP
00003133: JUMPDEST
00003134: SWAP4
00003135: SWAP3
00003136: POP
00003137: POP
00003138: POP
00003139: JUMP
0000313a: JUMPDEST
0000313b: PUSH1 0x00
0000313d: PUSH2 0x311d
00003140: DUP4
00003141: PUSH1 0x01
00003143: PUSH1 0x01
00003145: PUSH1 0xa0
00003147: SHL
00003148: SUB
00003149: DUP5
0000314a: AND
0000314b: PUSH2 0x40e0
0000314e: JUMP
0000314f: JUMPDEST
00003150: PUSH32 0xd2576bd6a4c5558421de15cb8ecdf4eb3282aac06b94d4f004e8cd0d00f3ebd8
00003171: PUSH2 0x269f
00003174: JUMP
00003175: JUMPDEST
00003176: PUSH32 0x548c7f0307ab2a7ea894e5c7e8c5353cc750bb9385ee2e945f189a9a83daa8ed
00003197: DUP2
00003198: PUSH2 0x1968
0000319b: DUP3
0000319c: DUP3
0000319d: PUSH2 0x412f
000031a0: JUMP
000031a1: JUMPDEST
000031a2: PUSH1 0x40
000031a4: DUP1
000031a5: MLOAD
000031a6: DUP1
000031a7: DUP3
000031a8: ADD
000031a9: SWAP1
000031aa: SWAP2
000031ab: MSTORE
000031ac: PUSH1 0x00
000031ae: DUP1
000031af: DUP3
000031b0: MSTORE
000031b1: PUSH1 0x20
000031b3: DUP3
000031b4: ADD
000031b5: MSTORE
000031b6: PUSH1 0x00
000031b8: DUP5
000031b9: GT
000031ba: PUSH2 0x31fa
000031bd: JUMPI
000031be: PUSH1 0x40
000031c0: MLOAD
000031c1: PUSH3 0x461bcd
000031c5: PUSH1 0xe5
000031c7: SHL
000031c8: DUP2
000031c9: MSTORE
000031ca: PUSH1 0x20
000031cc: PUSH1 0x04
000031ce: DUP3
000031cf: ADD
000031d0: MSTORE
000031d1: PUSH1 0x12
000031d3: PUSH1 0x24
000031d5: DUP3
000031d6: ADD
000031d7: MSTORE
000031d8: PUSH18 0x14958e881a5b9d985b1a5908185b5bdd5b9d
000031eb: PUSH1 0x72
000031ed: SHL
000031ee: PUSH1 0x44
000031f0: DUP3
000031f1: ADD
000031f2: MSTORE
000031f3: PUSH1 0x64
000031f5: ADD
000031f6: PUSH2 0x0bfe
000031f9: JUMP
000031fa: JUMPDEST
000031fb: PUSH1 0x01
000031fd: PUSH1 0x01
000031ff: PUSH1 0xa0
00003201: SHL
00003202: SUB
00003203: DUP7
00003204: AND
00003205: PUSH1 0x00
00003207: SWAP1
00003208: DUP2
00003209: MSTORE
0000320a: PUSH2 0x0170
0000320d: PUSH1 0x20
0000320f: MSTORE
00003210: PUSH1 0x40
00003212: SWAP1
00003213: KECCAK256
00003214: SLOAD
00003215: PUSH1 0xff
00003217: AND
00003218: PUSH2 0x3277
0000321b: JUMPI
0000321c: PUSH1 0x00
0000321e: DUP3
0000321f: PUSH2 0x322b
00003222: JUMPI
00003223: PUSH2 0x016f
00003226: SLOAD
00003227: PUSH2 0x3230
0000322a: JUMP
0000322b: JUMPDEST
0000322c: PUSH2 0x01a3
0000322f: SLOAD
00003230: JUMPDEST
00003231: SWAP1
00003232: POP
00003233: DUP5
00003234: DUP2
00003235: GT
00003236: ISZERO
00003237: PUSH2 0x3275
0000323a: JUMPI
0000323b: PUSH1 0x40
0000323d: MLOAD
0000323e: PUSH3 0x461bcd
00003242: PUSH1 0xe5
00003244: SHL
00003245: DUP2
00003246: MSTORE
00003247: PUSH1 0x20
00003249: PUSH1 0x04
0000324b: DUP3
0000324c: ADD
0000324d: MSTORE
0000324e: PUSH1 0x10
00003250: PUSH1 0x24
00003252: DUP3
00003253: ADD
00003254: MSTORE
00003255: PUSH16 0x292b1d1030b6b7bab73a101e1036b4b7
00003266: PUSH1 0x81
00003268: SHL
00003269: PUSH1 0x44
0000326b: DUP3
0000326c: ADD
0000326d: MSTORE
0000326e: PUSH1 0x64
00003270: ADD
00003271: PUSH2 0x0bfe
00003274: JUMP
00003275: JUMPDEST
00003276: POP
00003277: JUMPDEST
00003278: PUSH2 0x3293
0000327b: DUP7
0000327c: DUP7
0000327d: DUP7
0000327e: DUP7
0000327f: DUP7
00003280: PUSH2 0x328a
00003283: JUMPI
00003284: PUSH1 0x00
00003286: PUSH2 0x41f8
00003289: JUMP
0000328a: JUMPDEST
0000328b: PUSH2 0x01a4
0000328e: SLOAD
0000328f: PUSH2 0x41f8
00003292: JUMP
00003293: JUMPDEST
00003294: DUP2
00003295: MSTORE
00003296: DUP2
00003297: ISZERO
00003298: PUSH2 0x3326
0000329b: JUMPI
0000329c: PUSH1 0x01
0000329e: PUSH1 0x01
000032a0: PUSH1 0xa0
000032a2: SHL
000032a3: SUB
000032a4: DUP6
000032a5: AND
000032a6: ISZERO
000032a7: PUSH2 0x32e9
000032aa: JUMPI
000032ab: PUSH1 0x40
000032ad: MLOAD
000032ae: PUSH3 0x461bcd
000032b2: PUSH1 0xe5
000032b4: SHL
000032b5: DUP2
000032b6: MSTORE
000032b7: PUSH1 0x20
000032b9: PUSH1 0x04
000032bb: DUP3
000032bc: ADD
000032bd: MSTORE
000032be: PUSH1 0x14
000032c0: PUSH1 0x24
000032c2: DUP3
000032c3: ADD
000032c4: MSTORE
000032c5: PUSH20 0x14958e881d1bdad95b93dd5d08084f48199a585d
000032da: PUSH1 0x62
000032dc: SHL
000032dd: PUSH1 0x44
000032df: DUP3
000032e0: ADD
000032e1: MSTORE
000032e2: PUSH1 0x64
000032e4: ADD
000032e5: PUSH2 0x0bfe
000032e8: JUMP
000032e9: JUMPDEST
000032ea: PUSH1 0x01
000032ec: PUSH1 0x01
000032ee: PUSH1 0xa0
000032f0: SHL
000032f1: SUB
000032f2: DUP7
000032f3: AND
000032f4: PUSH1 0x00
000032f6: SWAP1
000032f7: DUP2
000032f8: MSTORE
000032f9: PUSH2 0x016b
000032fc: PUSH1 0x20
000032fe: MSTORE
000032ff: PUSH1 0x40
00003301: SWAP1
00003302: KECCAK256
00003303: SLOAD
00003304: PUSH1 0xff
00003306: AND
00003307: PUSH2 0x3321
0000330a: JUMPI
0000330b: PUSH2 0x01a5
0000330e: SLOAD
0000330f: DUP2
00003310: MLOAD
00003311: DUP3
00003312: SWAP1
00003313: PUSH2 0x331d
00003316: SWAP1
00003317: DUP4
00003318: SWAP1
00003319: PUSH2 0x4da2
0000331c: JUMP
0000331d: JUMPDEST
0000331e: SWAP1
0000331f: MSTORE
00003320: POP
00003321: JUMPDEST
00003322: PUSH2 0x332f
00003325: JUMP
00003326: JUMPDEST
00003327: PUSH2 0x332f
0000332a: DUP6
0000332b: PUSH2 0x3057
0000332e: JUMP
0000332f: JUMPDEST
00003330: DUP1
00003331: MLOAD
00003332: DUP5
00003333: GT
00003334: PUSH2 0x337f
00003337: JUMPI
00003338: PUSH1 0x40
0000333a: MLOAD
0000333b: PUSH3 0x461bcd
0000333f: PUSH1 0xe5
00003341: SHL
00003342: DUP2
00003343: MSTORE
00003344: PUSH1 0x20
00003346: PUSH1 0x04
00003348: DUP3
00003349: ADD
0000334a: MSTORE
0000334b: PUSH1 0x18
0000334d: PUSH1 0x24
0000334f: DUP3
00003350: ADD
00003351: MSTORE
00003352: PUSH32 0x52563a20616d6f756e744d546f6b656e496e203c206665650000000000000000
00003373: PUSH1 0x44
00003375: DUP3
00003376: ADD
00003377: MSTORE
00003378: PUSH1 0x64
0000337a: ADD
0000337b: PUSH2 0x0bfe
0000337e: JUMP
0000337f: JUMPDEST
00003380: DUP1
00003381: MLOAD
00003382: PUSH2 0x338b
00003385: SWAP1
00003386: DUP6
00003387: PUSH2 0x4d8b
0000338a: JUMP
0000338b: JUMPDEST
0000338c: PUSH1 0x20
0000338e: DUP3
0000338f: ADD
00003390: MSTORE
00003391: SWAP6
00003392: SWAP5
00003393: POP
00003394: POP
00003395: POP
00003396: POP
00003397: POP
00003398: JUMP
00003399: JUMPDEST
0000339a: PUSH1 0x00
0000339c: DUP1
0000339d: DUP4
0000339e: PUSH1 0x01
000033a0: PUSH1 0x01
000033a2: PUSH1 0xa0
000033a4: SHL
000033a5: SUB
000033a6: AND
000033a7: PUSH4 0x63692905
000033ac: PUSH1 0x40
000033ae: MLOAD
000033af: DUP2
000033b0: PUSH4 0xffffffff
000033b5: AND
000033b6: PUSH1 0xe0
000033b8: SHL
000033b9: DUP2
000033ba: MSTORE
000033bb: PUSH1 0x04
000033bd: ADD
000033be: PUSH1 0x20
000033c0: PUSH1 0x40
000033c2: MLOAD
000033c3: DUP1
000033c4: DUP4
000033c5: SUB
000033c6: DUP2
000033c7: DUP7
000033c8: DUP1
000033c9: EXTCODESIZE
000033ca: ISZERO
000033cb: DUP1
000033cc: ISZERO
000033cd: PUSH2 0x33d5
000033d0: JUMPI
000033d1: PUSH1 0x00
000033d3: DUP1
000033d4: REVERT
000033d5: JUMPDEST
000033d6: POP
000033d7: GAS
000033d8: STATICCALL
000033d9: ISZERO
000033da: DUP1
000033db: ISZERO
000033dc: PUSH2 0x33e9
000033df: JUMPI
000033e0: RETURNDATASIZE
000033e1: PUSH1 0x00
000033e3: DUP1
000033e4: RETURNDATACOPY
000033e5: RETURNDATASIZE
000033e6: PUSH1 0x00
000033e8: REVERT
000033e9: JUMPDEST
000033ea: POP
000033eb: POP
000033ec: POP
000033ed: POP
000033ee: PUSH1 0x40
000033f0: MLOAD
000033f1: RETURNDATASIZE
000033f2: PUSH1 0x1f
000033f4: NOT
000033f5: PUSH1 0x1f
000033f7: DUP3
000033f8: ADD
000033f9: AND
000033fa: DUP3
000033fb: ADD
000033fc: DUP1
000033fd: PUSH1 0x40
000033ff: MSTORE
00003400: POP
00003401: DUP2
00003402: ADD
00003403: SWAP1
00003404: PUSH2 0x340d
00003407: SWAP2
00003408: SWAP1
00003409: PUSH2 0x4cc9
0000340c: JUMP
0000340d: JUMPDEST
0000340e: SWAP1
0000340f: POP
00003410: DUP3
00003411: ISZERO
00003412: PUSH2 0x311d
00003415: JUMPI
00003416: PUSH8 0x0de0b6b3a7640000
0000341f: SWAP2
00003420: POP
00003421: POP
00003422: PUSH2 0x3120
00003425: JUMP
00003426: JUMPDEST
00003427: PUSH1 0x00
00003429: PUSH2 0x3432
0000342c: DUP4
0000342d: DUP4
0000342e: PUSH2 0x3bef
00003431: JUMP
00003432: JUMPDEST
00003433: SWAP1
00003434: POP
00003435: PUSH2 0x343e
00003438: DUP2
00003439: DUP4
0000343a: PUSH2 0x3f17
0000343d: JUMP
0000343e: JUMPDEST
0000343f: DUP4
00003440: EQ
00003441: PUSH2 0x345c
00003444: JUMPI
00003445: PUSH1 0x40
00003447: MLOAD
00003448: PUSH3 0x461bcd
0000344c: PUSH1 0xe5
0000344e: SHL
0000344f: DUP2
00003450: MSTORE
00003451: PUSH1 0x04
00003453: ADD
00003454: PUSH2 0x0bfe
00003457: SWAP1
00003458: PUSH2 0x4dba
0000345b: JUMP
0000345c: JUMPDEST
0000345d: PUSH2 0x2932
00003460: PUSH1 0x01
00003462: PUSH1 0x01
00003464: PUSH1 0xa0
00003466: SHL
00003467: SUB
00003468: DUP7
00003469: AND
0000346a: CALLER
0000346b: DUP7
0000346c: DUP5
0000346d: PUSH2 0x4299
00003470: JUMP
00003471: JUMPDEST
00003472: PUSH1 0x00
00003474: DUP3
00003475: DUP3
00003476: LT
00003477: ISZERO
00003478: PUSH2 0x348a
0000347b: JUMPI
0000347c: PUSH2 0x3485
0000347f: DUP3
00003480: DUP5
00003481: PUSH2 0x4d8b
00003484: JUMP
00003485: JUMPDEST
00003486: PUSH2 0x3494
00003489: JUMP
0000348a: JUMPDEST
0000348b: PUSH2 0x3494
0000348e: DUP4
0000348f: DUP4
00003490: PUSH2 0x4d8b
00003493: JUMP
00003494: JUMPDEST
00003495: SWAP1
00003496: POP
00003497: PUSH1 0x00
00003499: DUP4
0000349a: PUSH2 0x34a5
0000349d: PUSH2 0x2710
000034a0: DUP5
000034a1: PUSH2 0x4ce2
000034a4: JUMP
000034a5: JUMPDEST
000034a6: PUSH2 0x34af
000034a9: SWAP2
000034aa: SWAP1
000034ab: PUSH2 0x4d01
000034ae: JUMP
000034af: JUMPDEST
000034b0: SWAP1
000034b1: POP
000034b2: PUSH2 0x016a
000034b5: SLOAD
000034b6: DUP2
000034b7: GT
000034b8: ISZERO
000034b9: PUSH2 0x2200
000034bc: JUMPI
000034bd: PUSH1 0x40
000034bf: MLOAD
000034c0: PUSH3 0x461bcd
000034c4: PUSH1 0xe5
000034c6: SHL
000034c7: DUP2
000034c8: MSTORE
000034c9: PUSH1 0x20
000034cb: PUSH1 0x04
000034cd: DUP3
000034ce: ADD
000034cf: MSTORE
000034d0: PUSH1 0x1a
000034d2: PUSH1 0x24
000034d4: DUP3
000034d5: ADD
000034d6: MSTORE
000034d7: PUSH32 0x4d563a2065786365656420707269636520646976696174696f6e000000000000
000034f8: PUSH1 0x44
000034fa: DUP3
000034fb: ADD
000034fc: MSTORE
000034fd: PUSH1 0x64
000034ff: ADD
00003500: PUSH2 0x0bfe
00003503: JUMP
00003504: JUMPDEST
00003505: PUSH1 0x00
00003507: DUP2
00003508: PUSH1 0x01
0000350a: PUSH1 0x01
0000350c: PUSH1 0xa0
0000350e: SHL
0000350f: SUB
00003510: AND
00003511: PUSH4 0x313ce567
00003516: PUSH1 0x40
00003518: MLOAD
00003519: DUP2
0000351a: PUSH4 0xffffffff
0000351f: AND
00003520: PUSH1 0xe0
00003522: SHL
00003523: DUP2
00003524: MSTORE
00003525: PUSH1 0x04
00003527: ADD
00003528: PUSH1 0x20
0000352a: PUSH1 0x40
0000352c: MLOAD
0000352d: DUP1
0000352e: DUP4
0000352f: SUB
00003530: DUP2
00003531: DUP7
00003532: DUP1
00003533: EXTCODESIZE
00003534: ISZERO
00003535: DUP1
00003536: ISZERO
00003537: PUSH2 0x353f
0000353a: JUMPI
0000353b: PUSH1 0x00
0000353d: DUP1
0000353e: REVERT
0000353f: JUMPDEST
00003540: POP
00003541: GAS
00003542: STATICCALL
00003543: ISZERO
00003544: DUP1
00003545: ISZERO
00003546: PUSH2 0x3553
00003549: JUMPI
0000354a: RETURNDATASIZE
0000354b: PUSH1 0x00
0000354d: DUP1
0000354e: RETURNDATACOPY
0000354f: RETURNDATASIZE
00003550: PUSH1 0x00
00003552: REVERT
00003553: JUMPDEST
00003554: POP
00003555: POP
00003556: POP
00003557: POP
00003558: PUSH1 0x40
0000355a: MLOAD
0000355b: RETURNDATASIZE
0000355c: PUSH1 0x1f
0000355e: NOT
0000355f: PUSH1 0x1f
00003561: DUP3
00003562: ADD
00003563: AND
00003564: DUP3
00003565: ADD
00003566: DUP1
00003567: PUSH1 0x40
00003569: MSTORE
0000356a: POP
0000356b: DUP2
0000356c: ADD
0000356d: SWAP1
0000356e: PUSH2 0x3120
00003571: SWAP2
00003572: SWAP1
00003573: PUSH2 0x4de8
00003576: JUMP
00003577: JUMPDEST
00003578: PUSH1 0x00
0000357a: PUSH2 0x311d
0000357d: DUP3
0000357e: PUSH2 0x302d
00003581: DUP6
00003582: DUP3
00003583: PUSH2 0x3bef
00003586: JUMP
00003587: JUMPDEST
00003588: PUSH2 0x01a7
0000358b: SLOAD
0000358c: PUSH1 0x40
0000358e: MLOAD
0000358f: PUSH4 0x70a08231
00003594: PUSH1 0xe0
00003596: SHL
00003597: DUP2
00003598: MSTORE
00003599: PUSH1 0x01
0000359b: PUSH1 0x01
0000359d: PUSH1 0xa0
0000359f: SHL
000035a0: SUB
000035a1: SWAP2
000035a2: DUP3
000035a3: AND
000035a4: PUSH1 0x04
000035a6: DUP3
000035a7: ADD
000035a8: MSTORE
000035a9: PUSH1 0x00
000035ab: SWAP2
000035ac: DUP3
000035ad: SWAP2
000035ae: SWAP1
000035af: DUP7
000035b0: AND
000035b1: SWAP1
000035b2: PUSH4 0x70a08231
000035b7: SWAP1
000035b8: PUSH1 0x24
000035ba: ADD
000035bb: PUSH1 0x20
000035bd: PUSH1 0x40
000035bf: MLOAD
000035c0: DUP1
000035c1: DUP4
000035c2: SUB
000035c3: DUP2
000035c4: DUP7
000035c5: DUP1
000035c6: EXTCODESIZE
000035c7: ISZERO
000035c8: DUP1
000035c9: ISZERO
000035ca: PUSH2 0x35d2
000035cd: JUMPI
000035ce: PUSH1 0x00
000035d0: DUP1
000035d1: REVERT
000035d2: JUMPDEST
000035d3: POP
000035d4: GAS
000035d5: STATICCALL
000035d6: ISZERO
000035d7: DUP1
000035d8: ISZERO
000035d9: PUSH2 0x35e6
000035dc: JUMPI
000035dd: RETURNDATASIZE
000035de: PUSH1 0x00
000035e0: DUP1
000035e1: RETURNDATACOPY
000035e2: RETURNDATASIZE
000035e3: PUSH1 0x00
000035e5: REVERT
000035e6: JUMPDEST
000035e7: POP
000035e8: POP
000035e9: POP
000035ea: POP
000035eb: PUSH1 0x40
000035ed: MLOAD
000035ee: RETURNDATASIZE
000035ef: PUSH1 0x1f
000035f1: NOT
000035f2: PUSH1 0x1f
000035f4: DUP3
000035f5: ADD
000035f6: AND
000035f7: DUP3
000035f8: ADD
000035f9: DUP1
000035fa: PUSH1 0x40
000035fc: MSTORE
000035fd: POP
000035fe: DUP2
000035ff: ADD
00003600: SWAP1
00003601: PUSH2 0x360a
00003604: SWAP2
00003605: SWAP1
00003606: PUSH2 0x4cc9
00003609: JUMP
0000360a: JUMPDEST
0000360b: SWAP1
0000360c: POP
0000360d: PUSH2 0x3616
00003610: DUP5
00003611: DUP5
00003612: PUSH2 0x3bef
00003615: JUMP
00003616: JUMPDEST
00003617: GT
00003618: ISZERO
00003619: SWAP5
0000361a: SWAP4
0000361b: POP
0000361c: POP
0000361d: POP
0000361e: POP
0000361f: JUMP
00003620: JUMPDEST
00003621: PUSH1 0x00
00003623: PUSH2 0x362c
00003626: DUP4
00003627: DUP4
00003628: PUSH2 0x3bef
0000362b: JUMP
0000362c: JUMPDEST
0000362d: SWAP1
0000362e: POP
0000362f: PUSH2 0x3638
00003632: DUP2
00003633: DUP4
00003634: PUSH2 0x3f17
00003637: JUMP
00003638: JUMPDEST
00003639: DUP4
0000363a: EQ
0000363b: PUSH2 0x3656
0000363e: JUMPI
0000363f: PUSH1 0x40
00003641: MLOAD
00003642: PUSH3 0x461bcd
00003646: PUSH1 0xe5
00003648: SHL
00003649: DUP2
0000364a: MSTORE
0000364b: PUSH1 0x04
0000364d: ADD
0000364e: PUSH2 0x0bfe
00003651: SWAP1
00003652: PUSH2 0x4dba
00003655: JUMP
00003656: JUMPDEST
00003657: PUSH2 0x366b
0000365a: PUSH1 0x01
0000365c: PUSH1 0x01
0000365e: PUSH1 0xa0
00003660: SHL
00003661: SUB
00003662: DUP8
00003663: AND
00003664: DUP7
00003665: DUP7
00003666: DUP5
00003667: PUSH2 0x4299
0000366a: JUMP
0000366b: JUMPDEST
0000366c: POP
0000366d: POP
0000366e: POP
0000366f: POP
00003670: POP
00003671: POP
00003672: JUMP
00003673: JUMPDEST
00003674: PUSH1 0x01
00003676: PUSH1 0x01
00003678: PUSH1 0xa0
0000367a: SHL
0000367b: SUB
0000367c: DUP3
0000367d: AND
0000367e: PUSH1 0x00
00003680: SWAP1
00003681: DUP2
00003682: MSTORE
00003683: PUSH2 0x016e
00003686: PUSH1 0x20
00003688: MSTORE
00003689: PUSH1 0x40
0000368b: SWAP1
0000368c: KECCAK256
0000368d: PUSH1 0x02
0000368f: ADD
00003690: SLOAD
00003691: PUSH1 0x00
00003693: NOT
00003694: DUP2
00003695: EQ
00003696: ISZERO
00003697: PUSH2 0x369f
0000369a: JUMPI
0000369b: POP
0000369c: POP
0000369d: POP
0000369e: JUMP
0000369f: JUMPDEST
000036a0: DUP2
000036a1: DUP2
000036a2: LT
000036a3: ISZERO
000036a4: PUSH2 0x36e6
000036a7: JUMPI
000036a8: PUSH1 0x40
000036aa: MLOAD
000036ab: PUSH3 0x461bcd
000036af: PUSH1 0xe5
000036b1: SHL
000036b2: DUP2
000036b3: MSTORE
000036b4: PUSH1 0x20
000036b6: PUSH1 0x04
000036b8: DUP3
000036b9: ADD
000036ba: MSTORE
000036bb: PUSH1 0x14
000036bd: PUSH1 0x24
000036bf: DUP3
000036c0: ADD
000036c1: MSTORE
000036c2: PUSH20 0x4d563a2065786365656420616c6c6f77616e6365
000036d7: PUSH1 0x60
000036d9: SHL
000036da: PUSH1 0x44
000036dc: DUP3
000036dd: ADD
000036de: MSTORE
000036df: PUSH1 0x64
000036e1: ADD
000036e2: PUSH2 0x0bfe
000036e5: JUMP
000036e6: JUMPDEST
000036e7: PUSH1 0x01
000036e9: PUSH1 0x01
000036eb: PUSH1 0xa0
000036ed: SHL
000036ee: SUB
000036ef: DUP4
000036f0: AND
000036f1: PUSH1 0x00
000036f3: SWAP1
000036f4: DUP2
000036f5: MSTORE
000036f6: PUSH2 0x016e
000036f9: PUSH1 0x20
000036fb: MSTORE
000036fc: PUSH1 0x40
000036fe: DUP2
000036ff: KECCAK256
00003700: PUSH1 0x02
00003702: ADD
00003703: DUP1
00003704: SLOAD
00003705: DUP5
00003706: SWAP3
00003707: SWAP1
00003708: PUSH2 0x3712
0000370b: SWAP1
0000370c: DUP5
0000370d: SWAP1
0000370e: PUSH2 0x4d8b
00003711: JUMP
00003712: JUMPDEST
00003713: SWAP1
00003714: SWAP2
00003715: SSTORE
00003716: POP
00003717: POP
00003718: POP
00003719: POP
0000371a: POP
0000371b: JUMP
0000371c: JUMPDEST
0000371d: PUSH1 0x00
0000371f: PUSH2 0x3771
00003722: DUP3
00003723: PUSH1 0x40
00003725: MLOAD
00003726: DUP1
00003727: PUSH1 0x40
00003729: ADD
0000372a: PUSH1 0x40
0000372c: MSTORE
0000372d: DUP1
0000372e: PUSH1 0x20
00003730: DUP2
00003731: MSTORE
00003732: PUSH1 0x20
00003734: ADD
00003735: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
00003756: DUP2
00003757: MSTORE
00003758: POP
00003759: DUP6
0000375a: PUSH1 0x01
0000375c: PUSH1 0x01
0000375e: PUSH1 0xa0
00003760: SHL
00003761: SUB
00003762: AND
00003763: PUSH2 0x42d1
00003766: SWAP1
00003767: SWAP3
00003768: SWAP2
00003769: SWAP1
0000376a: PUSH4 0xffffffff
0000376f: AND
00003770: JUMP
00003771: JUMPDEST
00003772: SWAP1
00003773: POP
00003774: DUP1
00003775: MLOAD
00003776: PUSH1 0x00
00003778: EQ
00003779: DUP1
0000377a: PUSH2 0x3792
0000377d: JUMPI
0000377e: POP
0000377f: DUP1
00003780: DUP1
00003781: PUSH1 0x20
00003783: ADD
00003784: SWAP1
00003785: MLOAD
00003786: DUP2
00003787: ADD
00003788: SWAP1
00003789: PUSH2 0x3792
0000378c: SWAP2
0000378d: SWAP1
0000378e: PUSH2 0x4cac
00003791: JUMP
00003792: JUMPDEST
00003793: PUSH2 0x1968
00003796: JUMPI
00003797: PUSH1 0x40
00003799: MLOAD
0000379a: PUSH3 0x461bcd
0000379e: PUSH1 0xe5
000037a0: SHL
000037a1: DUP2
000037a2: MSTORE
000037a3: PUSH1 0x20
000037a5: PUSH1 0x04
000037a7: DUP3
000037a8: ADD
000037a9: MSTORE
000037aa: PUSH1 0x2a
000037ac: PUSH1 0x24
000037ae: DUP3
000037af: ADD
000037b0: MSTORE
000037b1: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e
000037d2: PUSH1 0x44
000037d4: DUP3
000037d5: ADD
000037d6: MSTORE
000037d7: PUSH10 0x1bdd081cdd58d8d95959
000037e2: PUSH1 0xb2
000037e4: SHL
000037e5: PUSH1 0x64
000037e7: DUP3
000037e8: ADD
000037e9: MSTORE
000037ea: PUSH1 0x84
000037ec: ADD
000037ed: PUSH2 0x0bfe
000037f0: JUMP
000037f1: JUMPDEST
000037f2: PUSH1 0x65
000037f4: SLOAD
000037f5: PUSH1 0xff
000037f7: AND
000037f8: PUSH2 0x1265
000037fb: JUMPI
000037fc: PUSH1 0x40
000037fe: MLOAD
000037ff: PUSH3 0x461bcd
00003803: PUSH1 0xe5
00003805: SHL
00003806: DUP2
00003807: MSTORE
00003808: PUSH1 0x20
0000380a: PUSH1 0x04
0000380c: DUP3
0000380d: ADD
0000380e: MSTORE
0000380f: PUSH1 0x14
00003811: PUSH1 0x24
00003813: DUP3
00003814: ADD
00003815: MSTORE
00003816: PUSH20 0x14185d5cd8589b194e881b9bdd081c185d5cd959
0000382b: PUSH1 0x62
0000382d: SHL
0000382e: PUSH1 0x44
00003830: DUP3
00003831: ADD
00003832: MSTORE
00003833: PUSH1 0x64
00003835: ADD
00003836: PUSH2 0x0bfe
00003839: JUMP
0000383a: JUMPDEST
0000383b: PUSH1 0x00
0000383d: SLOAD
0000383e: PUSH2 0x0100
00003841: SWAP1
00003842: DIV
00003843: PUSH1 0xff
00003845: AND
00003846: PUSH2 0x3861
00003849: JUMPI
0000384a: PUSH1 0x40
0000384c: MLOAD
0000384d: PUSH3 0x461bcd
00003851: PUSH1 0xe5
00003853: SHL
00003854: DUP2
00003855: MSTORE
00003856: PUSH1 0x04
00003858: ADD
00003859: PUSH2 0x0bfe
0000385c: SWAP1
0000385d: PUSH2 0x4d23
00003860: JUMP
00003861: JUMPDEST
00003862: PUSH2 0x3878
00003865: PUSH2 0x3871
00003868: PUSH1 0x20
0000386a: DUP9
0000386b: ADD
0000386c: DUP9
0000386d: PUSH2 0x467e
00003870: JUMP
00003871: JUMPDEST
00003872: PUSH1 0x00
00003874: PUSH2 0x2b1e
00003877: JUMP
00003878: JUMPDEST
00003879: PUSH2 0x388b
0000387c: PUSH2 0x3871
0000387f: PUSH1 0x40
00003881: DUP9
00003882: ADD
00003883: PUSH1 0x20
00003885: DUP10
00003886: ADD
00003887: PUSH2 0x467e
0000388a: JUMP
0000388b: JUMPDEST
0000388c: PUSH2 0x38a2
0000388f: PUSH2 0x389b
00003892: PUSH1 0x20
00003894: DUP8
00003895: ADD
00003896: DUP8
00003897: PUSH2 0x467e
0000389a: JUMP
0000389b: JUMPDEST
0000389c: PUSH1 0x01
0000389e: PUSH2 0x2b1e
000038a1: JUMP
000038a2: JUMPDEST
000038a3: PUSH2 0x38b5
000038a6: PUSH2 0x389b
000038a9: PUSH1 0x40
000038ab: DUP8
000038ac: ADD
000038ad: PUSH1 0x20
000038af: DUP9
000038b0: ADD
000038b1: PUSH2 0x467e
000038b4: JUMP
000038b5: JUMPDEST
000038b6: PUSH1 0x00
000038b8: DUP5
000038b9: PUSH1 0x20
000038bb: ADD
000038bc: CALLDATALOAD
000038bd: GT
000038be: PUSH2 0x38f6
000038c1: JUMPI
000038c2: PUSH1 0x40
000038c4: MLOAD
000038c5: PUSH3 0x461bcd
000038c9: PUSH1 0xe5
000038cb: SHL
000038cc: DUP2
000038cd: MSTORE
000038ce: PUSH1 0x20
000038d0: PUSH1 0x04
000038d2: DUP3
000038d3: ADD
000038d4: MSTORE
000038d5: PUSH1 0x0a
000038d7: PUSH1 0x24
000038d9: DUP3
000038da: ADD
000038db: MSTORE
000038dc: PUSH10 0x1e995c9bc81b1a5b5a5d
000038e7: PUSH1 0xb2
000038e9: SHL
000038ea: PUSH1 0x44
000038ec: DUP3
000038ed: ADD
000038ee: MSTORE
000038ef: PUSH1 0x64
000038f1: ADD
000038f2: PUSH2 0x0bfe
000038f5: JUMP
000038f6: JUMPDEST
000038f7: PUSH2 0x3901
000038fa: DUP3
000038fb: PUSH1 0x01
000038fd: PUSH2 0x29e9
00003900: JUMP
00003901: JUMPDEST
00003902: PUSH2 0x390d
00003905: DUP5
00003906: CALLDATALOAD
00003907: PUSH1 0x00
00003909: PUSH2 0x29e9
0000390c: JUMP
0000390d: JUMPDEST
0000390e: PUSH2 0x391a
00003911: PUSH1 0x20
00003913: DUP8
00003914: ADD
00003915: DUP8
00003916: PUSH2 0x467e
00003919: JUMP
0000391a: JUMPDEST
0000391b: PUSH2 0x0163
0000391e: DUP1
0000391f: SLOAD
00003920: PUSH1 0x01
00003922: PUSH1 0x01
00003924: PUSH1 0xa0
00003926: SHL
00003927: SUB
00003928: NOT
00003929: AND
0000392a: PUSH1 0x01
0000392c: PUSH1 0x01
0000392e: PUSH1 0xa0
00003930: SHL
00003931: SUB
00003932: SWAP3
00003933: SWAP1
00003934: SWAP3
00003935: AND
00003936: SWAP2
00003937: SWAP1
00003938: SWAP2
00003939: OR
0000393a: SWAP1
0000393b: SSTORE
0000393c: PUSH2 0x3944
0000393f: DUP8
00003940: PUSH2 0x42e0
00003943: JUMP
00003944: JUMPDEST
00003945: PUSH2 0x394c
00003948: PUSH2 0x4318
0000394b: JUMP
0000394c: JUMPDEST
0000394d: PUSH2 0x3954
00003950: PUSH2 0x4318
00003953: JUMP
00003954: JUMPDEST
00003955: PUSH2 0x395d
00003958: DUP4
00003959: PUSH2 0x433f
0000395c: JUMP
0000395d: JUMPDEST
0000395e: PUSH2 0x396a
00003961: PUSH1 0x20
00003963: DUP7
00003964: ADD
00003965: DUP7
00003966: PUSH2 0x467e
00003969: JUMP
0000396a: JUMPDEST
0000396b: PUSH2 0x0165
0000396e: DUP1
0000396f: SLOAD
00003970: PUSH1 0x01
00003972: PUSH1 0x01
00003974: PUSH1 0xa0
00003976: SHL
00003977: SUB
00003978: NOT
00003979: AND
0000397a: PUSH1 0x01
0000397c: PUSH1 0x01
0000397e: PUSH1 0xa0
00003980: SHL
00003981: SUB
00003982: SWAP3
00003983: SWAP1
00003984: SWAP3
00003985: AND
00003986: SWAP2
00003987: SWAP1
00003988: SWAP2
00003989: OR
0000398a: SWAP1
0000398b: SSTORE
0000398c: PUSH2 0x399b
0000398f: PUSH1 0x40
00003991: DUP7
00003992: ADD
00003993: PUSH1 0x20
00003995: DUP8
00003996: ADD
00003997: PUSH2 0x467e
0000399a: JUMP
0000399b: JUMPDEST
0000399c: PUSH2 0x0169
0000399f: DUP1
000039a0: SLOAD
000039a1: PUSH1 0x01
000039a3: PUSH1 0x01
000039a5: PUSH1 0xa0
000039a7: SHL
000039a8: SUB
000039a9: NOT
000039aa: AND
000039ab: PUSH1 0x01
000039ad: PUSH1 0x01
000039af: PUSH1 0xa0
000039b1: SHL
000039b2: SUB
000039b3: SWAP3
000039b4: SWAP1
000039b5: SWAP3
000039b6: AND
000039b7: SWAP2
000039b8: SWAP1
000039b9: SWAP2
000039ba: OR
000039bb: SWAP1
000039bc: SSTORE
000039bd: DUP4
000039be: CALLDATALOAD
000039bf: PUSH2 0x0166
000039c2: SSTORE
000039c3: PUSH1 0x20
000039c5: DUP1
000039c6: DUP6
000039c7: ADD
000039c8: CALLDATALOAD
000039c9: PUSH2 0x0167
000039cc: SSTORE
000039cd: PUSH2 0x016f
000039d0: DUP3
000039d1: SWAP1
000039d2: SSTORE
000039d3: PUSH2 0x016a
000039d6: DUP4
000039d7: SWAP1
000039d8: SSTORE
000039d9: PUSH2 0x39e8
000039dc: SWAP1
000039dd: PUSH1 0x40
000039df: DUP9
000039e0: ADD
000039e1: SWAP1
000039e2: DUP9
000039e3: ADD
000039e4: PUSH2 0x467e
000039e7: JUMP
000039e8: JUMPDEST
000039e9: PUSH2 0x0164
000039ec: DUP1
000039ed: SLOAD
000039ee: PUSH1 0x01
000039f0: PUSH1 0x01
000039f2: PUSH1 0xa0
000039f4: SHL
000039f5: SUB
000039f6: NOT
000039f7: AND
000039f8: PUSH1 0x01
000039fa: PUSH1 0x01
000039fc: PUSH1 0xa0
000039fe: SHL
000039ff: SUB
00003a00: SWAP3
00003a01: SWAP1
00003a02: SWAP3
00003a03: AND
00003a04: SWAP2
00003a05: SWAP1
00003a06: SWAP2
00003a07: OR
00003a08: SWAP1
00003a09: SSTORE
00003a0a: POP
00003a0b: POP
00003a0c: POP
00003a0d: POP
00003a0e: POP
00003a0f: POP
00003a10: POP
00003a11: JUMP
00003a12: JUMPDEST
00003a13: PUSH1 0x00
00003a15: DUP1
00003a16: PUSH1 0x00
00003a18: DUP4
00003a19: GT
00003a1a: PUSH2 0x3a57
00003a1d: JUMPI
00003a1e: PUSH1 0x40
00003a20: MLOAD
00003a21: PUSH3 0x461bcd
00003a25: PUSH1 0xe5
00003a27: SHL
00003a28: DUP2
00003a29: MSTORE
00003a2a: PUSH1 0x20
00003a2c: PUSH1 0x04
00003a2e: DUP3
00003a2f: ADD
00003a30: MSTORE
00003a31: PUSH1 0x0f
00003a33: PUSH1 0x24
00003a35: DUP3
00003a36: ADD
00003a37: MSTORE
00003a38: PUSH15 0x52563a20616d6f756e74207a65726f
00003a48: PUSH1 0x88
00003a4a: SHL
00003a4b: PUSH1 0x44
00003a4d: DUP3
00003a4e: ADD
00003a4f: MSTORE
00003a50: PUSH1 0x64
00003a52: ADD
00003a53: PUSH2 0x0bfe
00003a56: JUMP
00003a57: JUMPDEST
00003a58: PUSH2 0x3a5f
00003a5b: PUSH2 0x30a9
00003a5e: JUMP
00003a5f: JUMPDEST
00003a60: SWAP1
00003a61: POP
00003a62: PUSH8 0x0de0b6b3a7640000
00003a6b: PUSH2 0x3a74
00003a6e: DUP3
00003a6f: DUP6
00003a70: PUSH2 0x4ce2
00003a73: JUMP
00003a74: JUMPDEST
00003a75: PUSH2 0x3a7e
00003a78: SWAP2
00003a79: SWAP1
00003a7a: PUSH2 0x4d01
00003a7d: JUMP
00003a7e: JUMPDEST
00003a7f: SWAP2
00003a80: POP
00003a81: SWAP2
00003a82: POP
00003a83: SWAP2
00003a84: JUMP
00003a85: JUMPDEST
00003a86: PUSH1 0x00
00003a88: DUP1
00003a89: PUSH1 0x00
00003a8b: DUP5
00003a8c: GT
00003a8d: PUSH2 0x3aca
00003a90: JUMPI
00003a91: PUSH1 0x40
00003a93: MLOAD
00003a94: PUSH3 0x461bcd
00003a98: PUSH1 0xe5
00003a9a: SHL
00003a9b: DUP2
00003a9c: MSTORE
00003a9d: PUSH1 0x20
00003a9f: PUSH1 0x04
00003aa1: DUP3
00003aa2: ADD
00003aa3: MSTORE
00003aa4: PUSH1 0x0f
00003aa6: PUSH1 0x24
00003aa8: DUP3
00003aa9: ADD
00003aaa: MSTORE
00003aab: PUSH15 0x52563a20616d6f756e74207a65726f
00003abb: PUSH1 0x88
00003abd: SHL
00003abe: PUSH1 0x44
00003ac0: DUP3
00003ac1: ADD
00003ac2: MSTORE
00003ac3: PUSH1 0x64
00003ac5: ADD
00003ac6: PUSH2 0x0bfe
00003ac9: JUMP
00003aca: JUMPDEST
00003acb: PUSH1 0x01
00003acd: PUSH1 0x01
00003acf: PUSH1 0xa0
00003ad1: SHL
00003ad2: SUB
00003ad3: DUP1
00003ad4: DUP5
00003ad5: AND
00003ad6: PUSH1 0x00
00003ad8: SWAP1
00003ad9: DUP2
00003ada: MSTORE
00003adb: PUSH2 0x016e
00003ade: PUSH1 0x20
00003ae0: MSTORE
00003ae1: PUSH1 0x40
00003ae3: SWAP1
00003ae4: KECCAK256
00003ae5: DUP1
00003ae6: SLOAD
00003ae7: PUSH1 0x03
00003ae9: DUP3
00003aea: ADD
00003aeb: SLOAD
00003aec: SWAP2
00003aed: SWAP3
00003aee: PUSH2 0x3afc
00003af1: SWAP3
00003af2: SWAP2
00003af3: AND
00003af4: SWAP1
00003af5: PUSH1 0xff
00003af7: AND
00003af8: PUSH2 0x3399
00003afb: JUMP
00003afc: JUMPDEST
00003afd: SWAP2
00003afe: POP
00003aff: PUSH1 0x00
00003b01: DUP3
00003b02: GT
00003b03: PUSH2 0x3b3e
00003b06: JUMPI
00003b07: PUSH1 0x40
00003b09: MLOAD
00003b0a: PUSH3 0x461bcd
00003b0e: PUSH1 0xe5
00003b10: SHL
00003b11: DUP2
00003b12: MSTORE
00003b13: PUSH1 0x20
00003b15: PUSH1 0x04
00003b17: DUP3
00003b18: ADD
00003b19: MSTORE
00003b1a: PUSH1 0x0d
00003b1c: PUSH1 0x24
00003b1e: DUP3
00003b1f: ADD
00003b20: MSTORE
00003b21: PUSH13 0x52563a2072617465207a65726f
00003b2f: PUSH1 0x98
00003b31: SHL
00003b32: PUSH1 0x44
00003b34: DUP3
00003b35: ADD
00003b36: MSTORE
00003b37: PUSH1 0x64
00003b39: ADD
00003b3a: PUSH2 0x0bfe
00003b3d: JUMP
00003b3e: JUMPDEST
00003b3f: DUP2
00003b40: PUSH2 0x3b51
00003b43: DUP7
00003b44: PUSH8 0x0de0b6b3a7640000
00003b4d: PUSH2 0x4ce2
00003b50: JUMP
00003b51: JUMPDEST
00003b52: PUSH2 0x3b5b
00003b55: SWAP2
00003b56: SWAP1
00003b57: PUSH2 0x4d01
00003b5a: JUMP
00003b5b: JUMPDEST
00003b5c: SWAP3
00003b5d: POP
00003b5e: POP
00003b5f: SWAP3
00003b60: POP
00003b61: SWAP3
00003b62: SWAP1
00003b63: POP
00003b64: JUMP
00003b65: JUMPDEST
00003b66: PUSH1 0x00
00003b68: PUSH2 0x3b74
00003b6b: PUSH3 0x015180
00003b6f: TIMESTAMP
00003b70: PUSH2 0x4d01
00003b73: JUMP
00003b74: JUMPDEST
00003b75: PUSH1 0x00
00003b77: DUP2
00003b78: DUP2
00003b79: MSTORE
00003b7a: PUSH2 0x0168
00003b7d: PUSH1 0x20
00003b7f: MSTORE
00003b80: PUSH1 0x40
00003b82: DUP2
00003b83: KECCAK256
00003b84: SLOAD
00003b85: SWAP2
00003b86: SWAP3
00003b87: POP
00003b88: SWAP1
00003b89: PUSH2 0x3b93
00003b8c: SWAP1
00003b8d: DUP5
00003b8e: SWAP1
00003b8f: PUSH2 0x4da2
00003b92: JUMP
00003b93: JUMPDEST
00003b94: SWAP1
00003b95: POP
00003b96: PUSH2 0x0167
00003b99: SLOAD
00003b9a: DUP2
00003b9b: GT
00003b9c: ISZERO
00003b9d: PUSH2 0x3bdb
00003ba0: JUMPI
00003ba1: PUSH1 0x40
00003ba3: MLOAD
00003ba4: PUSH3 0x461bcd
00003ba8: PUSH1 0xe5
00003baa: SHL
00003bab: DUP2
00003bac: MSTORE
00003bad: PUSH1 0x20
00003baf: PUSH1 0x04
00003bb1: DUP3
00003bb2: ADD
00003bb3: MSTORE
00003bb4: PUSH1 0x10
00003bb6: PUSH1 0x24
00003bb8: DUP3
00003bb9: ADD
00003bba: MSTORE
00003bbb: PUSH16 0x13558e88195e18d95959081b1a5b5a5d
00003bcc: PUSH1 0x82
00003bce: SHL
00003bcf: PUSH1 0x44
00003bd1: DUP3
00003bd2: ADD
00003bd3: MSTORE
00003bd4: PUSH1 0x64
00003bd6: ADD
00003bd7: PUSH2 0x0bfe
00003bda: JUMP
00003bdb: JUMPDEST
00003bdc: PUSH1 0x00
00003bde: SWAP2
00003bdf: DUP3
00003be0: MSTORE
00003be1: PUSH2 0x0168
00003be4: PUSH1 0x20
00003be6: MSTORE
00003be7: PUSH1 0x40
00003be9: SWAP1
00003bea: SWAP2
00003beb: KECCAK256
00003bec: SSTORE
00003bed: POP
00003bee: JUMP
00003bef: JUMPDEST
00003bf0: PUSH1 0x00
00003bf2: PUSH2 0x311d
00003bf5: DUP4
00003bf6: PUSH1 0x12
00003bf8: DUP5
00003bf9: PUSH2 0x4389
00003bfc: JUMP
00003bfd: JUMPDEST
00003bfe: PUSH2 0x0163
00003c01: SLOAD
00003c02: PUSH2 0x020d
00003c05: SLOAD
00003c06: PUSH1 0x00
00003c08: SWAP2
00003c09: PUSH2 0x3c21
00003c0c: SWAP2
00003c0d: PUSH1 0x01
00003c0f: PUSH1 0x01
00003c11: PUSH1 0xa0
00003c13: SHL
00003c14: SUB
00003c15: SWAP2
00003c16: DUP3
00003c17: AND
00003c18: SWAP2
00003c19: AND
00003c1a: DUP5
00003c1b: PUSH1 0x12
00003c1d: PUSH2 0x3426
00003c20: JUMP
00003c21: JUMPDEST
00003c22: POP
00003c23: PUSH2 0x020c
00003c26: SLOAD
00003c27: PUSH1 0x40
00003c29: DUP1
00003c2a: MLOAD
00003c2b: PUSH4 0x312a57db
00003c30: PUSH1 0xe1
00003c32: SHL
00003c33: DUP2
00003c34: MSTORE
00003c35: SWAP1
00003c36: MLOAD
00003c37: PUSH1 0x00
00003c39: SWAP3
00003c3a: PUSH1 0x01
00003c3c: PUSH1 0x01
00003c3e: PUSH1 0xa0
00003c40: SHL
00003c41: SUB
00003c42: AND
00003c43: SWAP2
00003c44: PUSH4 0x6254afb6
00003c49: SWAP2
00003c4a: PUSH1 0x04
00003c4c: DUP1
00003c4d: DUP4
00003c4e: ADD
00003c4f: SWAP3
00003c50: PUSH1 0x20
00003c52: SWAP3
00003c53: SWAP2
00003c54: SWAP1
00003c55: DUP3
00003c56: SWAP1
00003c57: SUB
00003c58: ADD
00003c59: DUP2
00003c5a: DUP7
00003c5b: DUP1
00003c5c: EXTCODESIZE
00003c5d: ISZERO
00003c5e: DUP1
00003c5f: ISZERO
00003c60: PUSH2 0x3c68
00003c63: JUMPI
00003c64: PUSH1 0x00
00003c66: DUP1
00003c67: REVERT
00003c68: JUMPDEST
00003c69: POP
00003c6a: GAS
00003c6b: STATICCALL
00003c6c: ISZERO
00003c6d: DUP1
00003c6e: ISZERO
00003c6f: PUSH2 0x3c7c
00003c72: JUMPI
00003c73: RETURNDATASIZE
00003c74: PUSH1 0x00
00003c76: DUP1
00003c77: RETURNDATACOPY
00003c78: RETURNDATASIZE
00003c79: PUSH1 0x00
00003c7b: REVERT
00003c7c: JUMPDEST
00003c7d: POP
00003c7e: POP
00003c7f: POP
00003c80: POP
00003c81: PUSH1 0x40
00003c83: MLOAD
00003c84: RETURNDATASIZE
00003c85: PUSH1 0x1f
00003c87: NOT
00003c88: PUSH1 0x1f
00003c8a: DUP3
00003c8b: ADD
00003c8c: AND
00003c8d: DUP3
00003c8e: ADD
00003c8f: DUP1
00003c90: PUSH1 0x40
00003c92: MSTORE
00003c93: POP
00003c94: DUP2
00003c95: ADD
00003c96: SWAP1
00003c97: PUSH2 0x3ca0
00003c9a: SWAP2
00003c9b: SWAP1
00003c9c: PUSH2 0x4d6e
00003c9f: JUMP
00003ca0: JUMPDEST
00003ca1: PUSH1 0x01
00003ca3: PUSH1 0x01
00003ca5: PUSH1 0xa0
00003ca7: SHL
00003ca8: SUB
00003ca9: AND
00003caa: PUSH4 0x63692905
00003caf: PUSH1 0x40
00003cb1: MLOAD
00003cb2: DUP2
00003cb3: PUSH4 0xffffffff
00003cb8: AND
00003cb9: PUSH1 0xe0
00003cbb: SHL
00003cbc: DUP2
00003cbd: MSTORE
00003cbe: PUSH1 0x04
00003cc0: ADD
00003cc1: PUSH1 0x20
00003cc3: PUSH1 0x40
00003cc5: MLOAD
00003cc6: DUP1
00003cc7: DUP4
00003cc8: SUB
00003cc9: DUP2
00003cca: DUP7
00003ccb: DUP1
00003ccc: EXTCODESIZE
00003ccd: ISZERO
00003cce: DUP1
00003ccf: ISZERO
00003cd0: PUSH2 0x3cd8
00003cd3: JUMPI
00003cd4: PUSH1 0x00
00003cd6: DUP1
00003cd7: REVERT
00003cd8: JUMPDEST
00003cd9: POP
00003cda: GAS
00003cdb: STATICCALL
00003cdc: ISZERO
00003cdd: DUP1
00003cde: ISZERO
00003cdf: PUSH2 0x3cec
00003ce2: JUMPI
00003ce3: RETURNDATASIZE
00003ce4: PUSH1 0x00
00003ce6: DUP1
00003ce7: RETURNDATACOPY
00003ce8: RETURNDATASIZE
00003ce9: PUSH1 0x00
00003ceb: REVERT
00003cec: JUMPDEST
00003ced: POP
00003cee: POP
00003cef: POP
00003cf0: POP
00003cf1: PUSH1 0x40
00003cf3: MLOAD
00003cf4: RETURNDATASIZE
00003cf5: PUSH1 0x1f
00003cf7: NOT
00003cf8: PUSH1 0x1f
00003cfa: DUP3
00003cfb: ADD
00003cfc: AND
00003cfd: DUP3
00003cfe: ADD
00003cff: DUP1
00003d00: PUSH1 0x40
00003d02: MSTORE
00003d03: POP
00003d04: DUP2
00003d05: ADD
00003d06: SWAP1
00003d07: PUSH2 0x3d10
00003d0a: SWAP2
00003d0b: SWAP1
00003d0c: PUSH2 0x4cc9
00003d0f: JUMP
00003d10: JUMPDEST
00003d11: SWAP1
00003d12: POP
00003d13: PUSH1 0x00
00003d15: PUSH2 0x0164
00003d18: PUSH1 0x00
00003d1a: SWAP1
00003d1b: SLOAD
00003d1c: SWAP1
00003d1d: PUSH2 0x0100
00003d20: EXP
00003d21: SWAP1
00003d22: DIV
00003d23: PUSH1 0x01
00003d25: PUSH1 0x01
00003d27: PUSH1 0xa0
00003d29: SHL
00003d2a: SUB
00003d2b: AND
00003d2c: PUSH1 0x01
00003d2e: PUSH1 0x01
00003d30: PUSH1 0xa0
00003d32: SHL
00003d33: SUB
00003d34: AND
00003d35: PUSH4 0x63692905
00003d3a: PUSH1 0x40
00003d3c: MLOAD
00003d3d: DUP2
00003d3e: PUSH4 0xffffffff
00003d43: AND
00003d44: PUSH1 0xe0
00003d46: SHL
00003d47: DUP2
00003d48: MSTORE
00003d49: PUSH1 0x04
00003d4b: ADD
00003d4c: PUSH1 0x20
00003d4e: PUSH1 0x40
00003d50: MLOAD
00003d51: DUP1
00003d52: DUP4
00003d53: SUB
00003d54: DUP2
00003d55: DUP7
00003d56: DUP1
00003d57: EXTCODESIZE
00003d58: ISZERO
00003d59: DUP1
00003d5a: ISZERO
00003d5b: PUSH2 0x3d63
00003d5e: JUMPI
00003d5f: PUSH1 0x00
00003d61: DUP1
00003d62: REVERT
00003d63: JUMPDEST
00003d64: POP
00003d65: GAS
00003d66: STATICCALL
00003d67: ISZERO
00003d68: DUP1
00003d69: ISZERO
00003d6a: PUSH2 0x3d77
00003d6d: JUMPI
00003d6e: RETURNDATASIZE
00003d6f: PUSH1 0x00
00003d71: DUP1
00003d72: RETURNDATACOPY
00003d73: RETURNDATASIZE
00003d74: PUSH1 0x00
00003d76: REVERT
00003d77: JUMPDEST
00003d78: POP
00003d79: POP
00003d7a: POP
00003d7b: POP
00003d7c: PUSH1 0x40
00003d7e: MLOAD
00003d7f: RETURNDATASIZE
00003d80: PUSH1 0x1f
00003d82: NOT
00003d83: PUSH1 0x1f
00003d85: DUP3
00003d86: ADD
00003d87: AND
00003d88: DUP3
00003d89: ADD
00003d8a: DUP1
00003d8b: PUSH1 0x40
00003d8d: MSTORE
00003d8e: POP
00003d8f: DUP2
00003d90: ADD
00003d91: SWAP1
00003d92: PUSH2 0x3d9b
00003d95: SWAP2
00003d96: SWAP1
00003d97: PUSH2 0x4cc9
00003d9a: JUMP
00003d9b: JUMPDEST
00003d9c: SWAP1
00003d9d: POP
00003d9e: DUP2
00003d9f: PUSH2 0x3da8
00003da2: DUP3
00003da3: DUP7
00003da4: PUSH2 0x4ce2
00003da7: JUMP
00003da8: JUMPDEST
00003da9: PUSH2 0x3db2
00003dac: SWAP2
00003dad: SWAP1
00003dae: PUSH2 0x4d01
00003db1: JUMP
00003db2: JUMPDEST
00003db3: SWAP3
00003db4: POP
00003db5: PUSH2 0x3e54
00003db8: PUSH2 0x020c
00003dbb: PUSH1 0x00
00003dbd: SWAP1
00003dbe: SLOAD
00003dbf: SWAP1
00003dc0: PUSH2 0x0100
00003dc3: EXP
00003dc4: SWAP1
00003dc5: DIV
00003dc6: PUSH1 0x01
00003dc8: PUSH1 0x01
00003dca: PUSH1 0xa0
00003dcc: SHL
00003dcd: SUB
00003dce: AND
00003dcf: PUSH1 0x01
00003dd1: PUSH1 0x01
00003dd3: PUSH1 0xa0
00003dd5: SHL
00003dd6: SUB
00003dd7: AND
00003dd8: PUSH4 0xc3b6f939
00003ddd: PUSH1 0x40
00003ddf: MLOAD
00003de0: DUP2
00003de1: PUSH4 0xffffffff
00003de6: AND
00003de7: PUSH1 0xe0
00003de9: SHL
00003dea: DUP2
00003deb: MSTORE
00003dec: PUSH1 0x04
00003dee: ADD
00003def: PUSH1 0x20
00003df1: PUSH1 0x40
00003df3: MLOAD
00003df4: DUP1
00003df5: DUP4
00003df6: SUB
00003df7: DUP2
00003df8: DUP7
00003df9: DUP1
00003dfa: EXTCODESIZE
00003dfb: ISZERO
00003dfc: DUP1
00003dfd: ISZERO
00003dfe: PUSH2 0x3e06
00003e01: JUMPI
00003e02: PUSH1 0x00
00003e04: DUP1
00003e05: REVERT
00003e06: JUMPDEST
00003e07: POP
00003e08: GAS
00003e09: STATICCALL
00003e0a: ISZERO
00003e0b: DUP1
00003e0c: ISZERO
00003e0d: PUSH2 0x3e1a
00003e10: JUMPI
00003e11: RETURNDATASIZE
00003e12: PUSH1 0x00
00003e14: DUP1
00003e15: RETURNDATACOPY
00003e16: RETURNDATASIZE
00003e17: PUSH1 0x00
00003e19: REVERT
00003e1a: JUMPDEST
00003e1b: POP
00003e1c: POP
00003e1d: POP
00003e1e: POP
00003e1f: PUSH1 0x40
00003e21: MLOAD
00003e22: RETURNDATASIZE
00003e23: PUSH1 0x1f
00003e25: NOT
00003e26: PUSH1 0x1f
00003e28: DUP3
00003e29: ADD
00003e2a: AND
00003e2b: DUP3
00003e2c: ADD
00003e2d: DUP1
00003e2e: PUSH1 0x40
00003e30: MSTORE
00003e31: POP
00003e32: DUP2
00003e33: ADD
00003e34: SWAP1
00003e35: PUSH2 0x3e3e
00003e38: SWAP2
00003e39: SWAP1
00003e3a: PUSH2 0x4d6e
00003e3d: JUMP
00003e3e: JUMPDEST
00003e3f: PUSH2 0x020d
00003e42: SLOAD
00003e43: PUSH1 0x01
00003e45: PUSH1 0x01
00003e47: PUSH1 0xa0
00003e49: SHL
00003e4a: SUB
00003e4b: AND
00003e4c: ADDRESS
00003e4d: DUP7
00003e4e: PUSH1 0x12
00003e50: PUSH2 0x3620
00003e53: JUMP
00003e54: JUMPDEST
00003e55: POP
00003e56: POP
00003e57: SWAP2
00003e58: SWAP1
00003e59: POP
00003e5a: JUMP
00003e5b: JUMPDEST
00003e5c: PUSH1 0x40
00003e5e: MLOAD
00003e5f: PUSH4 0x6eb1769f
00003e64: PUSH1 0xe1
00003e66: SHL
00003e67: DUP2
00003e68: MSTORE
00003e69: ADDRESS
00003e6a: PUSH1 0x04
00003e6c: DUP3
00003e6d: ADD
00003e6e: MSTORE
00003e6f: PUSH1 0x01
00003e71: PUSH1 0x01
00003e73: PUSH1 0xa0
00003e75: SHL
00003e76: SUB
00003e77: DUP4
00003e78: DUP2
00003e79: AND
00003e7a: PUSH1 0x24
00003e7c: DUP4
00003e7d: ADD
00003e7e: MSTORE
00003e7f: PUSH1 0x00
00003e81: SWAP2
00003e82: SWAP1
00003e83: DUP6
00003e84: AND
00003e85: SWAP1
00003e86: PUSH4 0xdd62ed3e
00003e8b: SWAP1
00003e8c: PUSH1 0x44
00003e8e: ADD
00003e8f: PUSH1 0x20
00003e91: PUSH1 0x40
00003e93: MLOAD
00003e94: DUP1
00003e95: DUP4
00003e96: SUB
00003e97: DUP2
00003e98: DUP7
00003e99: DUP1
00003e9a: EXTCODESIZE
00003e9b: ISZERO
00003e9c: DUP1
00003e9d: ISZERO
00003e9e: PUSH2 0x3ea6
00003ea1: JUMPI
00003ea2: PUSH1 0x00
00003ea4: DUP1
00003ea5: REVERT
00003ea6: JUMPDEST
00003ea7: POP
00003ea8: GAS
00003ea9: STATICCALL
00003eaa: ISZERO
00003eab: DUP1
00003eac: ISZERO
00003ead: PUSH2 0x3eba
00003eb0: JUMPI
00003eb1: RETURNDATASIZE
00003eb2: PUSH1 0x00
00003eb4: DUP1
00003eb5: RETURNDATACOPY
00003eb6: RETURNDATASIZE
00003eb7: PUSH1 0x00
00003eb9: REVERT
00003eba: JUMPDEST
00003ebb: POP
00003ebc: POP
00003ebd: POP
00003ebe: POP
00003ebf: PUSH1 0x40
00003ec1: MLOAD
00003ec2: RETURNDATASIZE
00003ec3: PUSH1 0x1f
00003ec5: NOT
00003ec6: PUSH1 0x1f
00003ec8: DUP3
00003ec9: ADD
00003eca: AND
00003ecb: DUP3
00003ecc: ADD
00003ecd: DUP1
00003ece: PUSH1 0x40
00003ed0: MSTORE
00003ed1: POP
00003ed2: DUP2
00003ed3: ADD
00003ed4: SWAP1
00003ed5: PUSH2 0x3ede
00003ed8: SWAP2
00003ed9: SWAP1
00003eda: PUSH2 0x4cc9
00003edd: JUMP
00003ede: JUMPDEST
00003edf: SWAP1
00003ee0: POP
00003ee1: PUSH2 0x2200
00003ee4: DUP5
00003ee5: PUSH4 0x095ea7b3
00003eea: PUSH1 0xe0
00003eec: SHL
00003eed: DUP6
00003eee: PUSH2 0x3ef7
00003ef1: DUP7
00003ef2: DUP7
00003ef3: PUSH2 0x4da2
00003ef6: JUMP
00003ef7: JUMPDEST
00003ef8: PUSH1 0x40
00003efa: MLOAD
00003efb: PUSH1 0x01
00003efd: PUSH1 0x01
00003eff: PUSH1 0xa0
00003f01: SHL
00003f02: SUB
00003f03: SWAP1
00003f04: SWAP3
00003f05: AND
00003f06: PUSH1 0x24
00003f08: DUP4
00003f09: ADD
00003f0a: MSTORE
00003f0b: PUSH1 0x44
00003f0d: DUP3
00003f0e: ADD
00003f0f: MSTORE
00003f10: PUSH1 0x64
00003f12: ADD
00003f13: PUSH2 0x2a95
00003f16: JUMP
00003f17: JUMPDEST
00003f18: PUSH1 0x00
00003f1a: PUSH2 0x311d
00003f1d: DUP4
00003f1e: DUP4
00003f1f: PUSH1 0x12
00003f21: PUSH2 0x4389
00003f24: JUMP
00003f25: JUMPDEST
00003f26: PUSH1 0x00
00003f28: PUSH2 0x3f31
00003f2b: DUP4
00003f2c: DUP4
00003f2d: PUSH2 0x3bef
00003f30: JUMP
00003f31: JUMPDEST
00003f32: SWAP1
00003f33: POP
00003f34: PUSH2 0x3f3d
00003f37: DUP2
00003f38: DUP4
00003f39: PUSH2 0x3f17
00003f3c: JUMP
00003f3d: JUMPDEST
00003f3e: DUP4
00003f3f: EQ
00003f40: PUSH2 0x3f5b
00003f43: JUMPI
00003f44: PUSH1 0x40
00003f46: MLOAD
00003f47: PUSH3 0x461bcd
00003f4b: PUSH1 0xe5
00003f4d: SHL
00003f4e: DUP2
00003f4f: MSTORE
00003f50: PUSH1 0x04
00003f52: ADD
00003f53: PUSH2 0x0bfe
00003f56: SWAP1
00003f57: PUSH2 0x4dba
00003f5a: JUMP
00003f5b: JUMPDEST
00003f5c: PUSH2 0x2339
00003f5f: PUSH1 0x01
00003f61: PUSH1 0x01
00003f63: PUSH1 0xa0
00003f65: SHL
00003f66: SUB
00003f67: DUP7
00003f68: AND
00003f69: DUP6
00003f6a: DUP4
00003f6b: PUSH2 0x2a69
00003f6e: JUMP
00003f6f: JUMPDEST
00003f70: PUSH1 0x01
00003f72: PUSH1 0x01
00003f74: PUSH1 0xa0
00003f76: SHL
00003f77: SUB
00003f78: DUP2
00003f79: AND
00003f7a: PUSH1 0x00
00003f7c: SWAP1
00003f7d: DUP2
00003f7e: MSTORE
00003f7f: PUSH1 0x01
00003f81: DUP4
00003f82: ADD
00003f83: PUSH1 0x20
00003f85: MSTORE
00003f86: PUSH1 0x40
00003f88: DUP2
00003f89: KECCAK256
00003f8a: SLOAD
00003f8b: ISZERO
00003f8c: ISZERO
00003f8d: PUSH2 0x311d
00003f90: JUMP
00003f91: JUMPDEST
00003f92: PUSH1 0x00
00003f94: DUP2
00003f95: DUP2
00003f96: MSTORE
00003f97: PUSH1 0x01
00003f99: DUP4
00003f9a: ADD
00003f9b: PUSH1 0x20
00003f9d: MSTORE
00003f9e: PUSH1 0x40
00003fa0: DUP2
00003fa1: KECCAK256
00003fa2: SLOAD
00003fa3: DUP1
00003fa4: ISZERO
00003fa5: PUSH2 0x407a
00003fa8: JUMPI
00003fa9: PUSH1 0x00
00003fab: PUSH2 0x3fb5
00003fae: PUSH1 0x01
00003fb0: DUP4
00003fb1: PUSH2 0x4d8b
00003fb4: JUMP
00003fb5: JUMPDEST
00003fb6: DUP6
00003fb7: SLOAD
00003fb8: SWAP1
00003fb9: SWAP2
00003fba: POP
00003fbb: PUSH1 0x00
00003fbd: SWAP1
00003fbe: PUSH2 0x3fc9
00003fc1: SWAP1
00003fc2: PUSH1 0x01
00003fc4: SWAP1
00003fc5: PUSH2 0x4d8b
00003fc8: JUMP
00003fc9: JUMPDEST
00003fca: SWAP1
00003fcb: POP
00003fcc: DUP2
00003fcd: DUP2
00003fce: EQ
00003fcf: PUSH2 0x402e
00003fd2: JUMPI
00003fd3: PUSH1 0x00
00003fd5: DUP7
00003fd6: PUSH1 0x00
00003fd8: ADD
00003fd9: DUP3
00003fda: DUP2
00003fdb: SLOAD
00003fdc: DUP2
00003fdd: LT
00003fde: PUSH2 0x3fe9
00003fe1: JUMPI
00003fe2: PUSH2 0x3fe9
00003fe5: PUSH2 0x4c65
00003fe8: JUMP
00003fe9: JUMPDEST
00003fea: SWAP1
00003feb: PUSH1 0x00
00003fed: MSTORE
00003fee: PUSH1 0x20
00003ff0: PUSH1 0x00
00003ff2: KECCAK256
00003ff3: ADD
00003ff4: SLOAD
00003ff5: SWAP1
00003ff6: POP
00003ff7: DUP1
00003ff8: DUP8
00003ff9: PUSH1 0x00
00003ffb: ADD
00003ffc: DUP5
00003ffd: DUP2
00003ffe: SLOAD
00003fff: DUP2
00004000: LT
00004001: PUSH2 0x400c
00004004: JUMPI
00004005: PUSH2 0x400c
00004008: PUSH2 0x4c65
0000400b: JUMP
0000400c: JUMPDEST
0000400d: PUSH1 0x00
0000400f: SWAP2
00004010: DUP3
00004011: MSTORE
00004012: PUSH1 0x20
00004014: DUP1
00004015: DUP4
00004016: KECCAK256
00004017: SWAP1
00004018: SWAP2
00004019: ADD
0000401a: SWAP3
0000401b: SWAP1
0000401c: SWAP3
0000401d: SSTORE
0000401e: SWAP2
0000401f: DUP3
00004020: MSTORE
00004021: PUSH1 0x01
00004023: DUP9
00004024: ADD
00004025: SWAP1
00004026: MSTORE
00004027: PUSH1 0x40
00004029: SWAP1
0000402a: KECCAK256
0000402b: DUP4
0000402c: SWAP1
0000402d: SSTORE
0000402e: JUMPDEST
0000402f: DUP6
00004030: SLOAD
00004031: DUP7
00004032: SWAP1
00004033: DUP1
00004034: PUSH2 0x403f
00004037: JUMPI
00004038: PUSH2 0x403f
0000403b: PUSH2 0x4e0b
0000403e: JUMP
0000403f: JUMPDEST
00004040: PUSH1 0x01
00004042: SWAP1
00004043: SUB
00004044: DUP2
00004045: DUP2
00004046: SWAP1
00004047: PUSH1 0x00
00004049: MSTORE
0000404a: PUSH1 0x20
0000404c: PUSH1 0x00
0000404e: KECCAK256
0000404f: ADD
00004050: PUSH1 0x00
00004052: SWAP1
00004053: SSTORE
00004054: SWAP1
00004055: SSTORE
00004056: DUP6
00004057: PUSH1 0x01
00004059: ADD
0000405a: PUSH1 0x00
0000405c: DUP7
0000405d: DUP2
0000405e: MSTORE
0000405f: PUSH1 0x20
00004061: ADD
00004062: SWAP1
00004063: DUP2
00004064: MSTORE
00004065: PUSH1 0x20
00004067: ADD
00004068: PUSH1 0x00
0000406a: KECCAK256
0000406b: PUSH1 0x00
0000406d: SWAP1
0000406e: SSTORE
0000406f: PUSH1 0x01
00004071: SWAP4
00004072: POP
00004073: POP
00004074: POP
00004075: POP
00004076: PUSH2 0x3120
00004079: JUMP
0000407a: JUMPDEST
0000407b: PUSH1 0x00
0000407d: SWAP2
0000407e: POP
0000407f: POP
00004080: PUSH2 0x3120
00004083: JUMP
00004084: JUMPDEST
00004085: PUSH1 0x60
00004087: DUP2
00004088: PUSH1 0x00
0000408a: ADD
0000408b: DUP1
0000408c: SLOAD
0000408d: DUP1
0000408e: PUSH1 0x20
00004090: MUL
00004091: PUSH1 0x20
00004093: ADD
00004094: PUSH1 0x40
00004096: MLOAD
00004097: SWAP1
00004098: DUP2
00004099: ADD
0000409a: PUSH1 0x40
0000409c: MSTORE
0000409d: DUP1
0000409e: SWAP3
0000409f: SWAP2
000040a0: SWAP1
000040a1: DUP2
000040a2: DUP2
000040a3: MSTORE
000040a4: PUSH1 0x20
000040a6: ADD
000040a7: DUP3
000040a8: DUP1
000040a9: SLOAD
000040aa: DUP1
000040ab: ISZERO
000040ac: PUSH2 0x40d4
000040af: JUMPI
000040b0: PUSH1 0x20
000040b2: MUL
000040b3: DUP3
000040b4: ADD
000040b5: SWAP2
000040b6: SWAP1
000040b7: PUSH1 0x00
000040b9: MSTORE
000040ba: PUSH1 0x20
000040bc: PUSH1 0x00
000040be: KECCAK256
000040bf: SWAP1
000040c0: JUMPDEST
000040c1: DUP2
000040c2: SLOAD
000040c3: DUP2
000040c4: MSTORE
000040c5: PUSH1 0x20
000040c7: ADD
000040c8: SWAP1
000040c9: PUSH1 0x01
000040cb: ADD
000040cc: SWAP1
000040cd: DUP1
000040ce: DUP4
000040cf: GT
000040d0: PUSH2 0x40c0
000040d3: JUMPI
000040d4: JUMPDEST
000040d5: POP
000040d6: POP
000040d7: POP
000040d8: POP
000040d9: POP
000040da: SWAP1
000040db: POP
000040dc: SWAP2
000040dd: SWAP1
000040de: POP
000040df: JUMP
000040e0: JUMPDEST
000040e1: PUSH1 0x00
000040e3: DUP2
000040e4: DUP2
000040e5: MSTORE
000040e6: PUSH1 0x01
000040e8: DUP4
000040e9: ADD
000040ea: PUSH1 0x20
000040ec: MSTORE
000040ed: PUSH1 0x40
000040ef: DUP2
000040f0: KECCAK256
000040f1: SLOAD
000040f2: PUSH2 0x4127
000040f5: JUMPI
000040f6: POP
000040f7: DUP2
000040f8: SLOAD
000040f9: PUSH1 0x01
000040fb: DUP2
000040fc: DUP2
000040fd: ADD
000040fe: DUP5
000040ff: SSTORE
00004100: PUSH1 0x00
00004102: DUP5
00004103: DUP2
00004104: MSTORE
00004105: PUSH1 0x20
00004107: DUP1
00004108: DUP3
00004109: KECCAK256
0000410a: SWAP1
0000410b: SWAP4
0000410c: ADD
0000410d: DUP5
0000410e: SWAP1
0000410f: SSTORE
00004110: DUP5
00004111: SLOAD
00004112: DUP5
00004113: DUP3
00004114: MSTORE
00004115: DUP3
00004116: DUP7
00004117: ADD
00004118: SWAP1
00004119: SWAP4
0000411a: MSTORE
0000411b: PUSH1 0x40
0000411d: SWAP1
0000411e: KECCAK256
0000411f: SWAP2
00004120: SWAP1
00004121: SWAP2
00004122: SSTORE
00004123: PUSH2 0x3120
00004126: JUMP
00004127: JUMPDEST
00004128: POP
00004129: PUSH1 0x00
0000412b: PUSH2 0x3120
0000412e: JUMP
0000412f: JUMPDEST
00004130: PUSH1 0x00
00004132: SLOAD
00004133: PUSH1 0x40
00004135: MLOAD
00004136: PUSH4 0x24745215
0000413b: PUSH1 0xe2
0000413d: SHL
0000413e: DUP2
0000413f: MSTORE
00004140: PUSH1 0x04
00004142: DUP2
00004143: ADD
00004144: DUP5
00004145: SWAP1
00004146: MSTORE
00004147: PUSH1 0x01
00004149: PUSH1 0x01
0000414b: PUSH1 0xa0
0000414d: SHL
0000414e: SUB
0000414f: DUP4
00004150: DUP2
00004151: AND
00004152: PUSH1 0x24
00004154: DUP4
00004155: ADD
00004156: MSTORE
00004157: PUSH3 0x010000
0000415b: SWAP1
0000415c: SWAP3
0000415d: DIV
0000415e: SWAP1
0000415f: SWAP2
00004160: AND
00004161: SWAP1
00004162: PUSH4 0x91d14854
00004167: SWAP1
00004168: PUSH1 0x44
0000416a: ADD
0000416b: PUSH1 0x20
0000416d: PUSH1 0x40
0000416f: MLOAD
00004170: DUP1
00004171: DUP4
00004172: SUB
00004173: DUP2
00004174: DUP7
00004175: DUP1
00004176: EXTCODESIZE
00004177: ISZERO
00004178: DUP1
00004179: ISZERO
0000417a: PUSH2 0x4182
0000417d: JUMPI
0000417e: PUSH1 0x00
00004180: DUP1
00004181: REVERT
00004182: JUMPDEST
00004183: POP
00004184: GAS
00004185: STATICCALL
00004186: ISZERO
00004187: DUP1
00004188: ISZERO
00004189: PUSH2 0x4196
0000418c: JUMPI
0000418d: RETURNDATASIZE
0000418e: PUSH1 0x00
00004190: DUP1
00004191: RETURNDATACOPY
00004192: RETURNDATASIZE
00004193: PUSH1 0x00
00004195: REVERT
00004196: JUMPDEST
00004197: POP
00004198: POP
00004199: POP
0000419a: POP
0000419b: PUSH1 0x40
0000419d: MLOAD
0000419e: RETURNDATASIZE
0000419f: PUSH1 0x1f
000041a1: NOT
000041a2: PUSH1 0x1f
000041a4: DUP3
000041a5: ADD
000041a6: AND
000041a7: DUP3
000041a8: ADD
000041a9: DUP1
000041aa: PUSH1 0x40
000041ac: MSTORE
000041ad: POP
000041ae: DUP2
000041af: ADD
000041b0: SWAP1
000041b1: PUSH2 0x41ba
000041b4: SWAP2
000041b5: SWAP1
000041b6: PUSH2 0x4cac
000041b9: JUMP
000041ba: JUMPDEST
000041bb: ISZERO
000041bc: PUSH2 0x2693
000041bf: JUMPI
000041c0: PUSH1 0x40
000041c2: MLOAD
000041c3: PUSH3 0x461bcd
000041c7: PUSH1 0xe5
000041c9: SHL
000041ca: DUP2
000041cb: MSTORE
000041cc: PUSH1 0x20
000041ce: PUSH1 0x04
000041d0: DUP3
000041d1: ADD
000041d2: MSTORE
000041d3: PUSH1 0x0e
000041d5: PUSH1 0x24
000041d7: DUP3
000041d8: ADD
000041d9: MSTORE
000041da: PUSH14 0x574d41433a2068617320726f6c65
000041e9: PUSH1 0x90
000041eb: SHL
000041ec: PUSH1 0x44
000041ee: DUP3
000041ef: ADD
000041f0: MSTORE
000041f1: PUSH1 0x64
000041f3: ADD
000041f4: PUSH2 0x0bfe
000041f7: JUMP
000041f8: JUMPDEST
000041f9: PUSH1 0x01
000041fb: PUSH1 0x01
000041fd: PUSH1 0xa0
000041ff: SHL
00004200: SUB
00004201: DUP6
00004202: AND
00004203: PUSH1 0x00
00004205: SWAP1
00004206: DUP2
00004207: MSTORE
00004208: PUSH2 0x016b
0000420b: PUSH1 0x20
0000420d: MSTORE
0000420e: PUSH1 0x40
00004210: DUP2
00004211: KECCAK256
00004212: SLOAD
00004213: PUSH1 0xff
00004215: AND
00004216: ISZERO
00004217: PUSH2 0x4222
0000421a: JUMPI
0000421b: POP
0000421c: PUSH1 0x00
0000421e: PUSH2 0x4290
00004221: JUMP
00004222: JUMPDEST
00004223: PUSH1 0x00
00004225: DUP3
00004226: PUSH2 0x424c
00004229: JUMPI
0000422a: POP
0000422b: PUSH1 0x01
0000422d: PUSH1 0x01
0000422f: PUSH1 0xa0
00004231: SHL
00004232: SUB
00004233: DUP6
00004234: AND
00004235: PUSH1 0x00
00004237: SWAP1
00004238: DUP2
00004239: MSTORE
0000423a: PUSH2 0x016e
0000423d: PUSH1 0x20
0000423f: MSTORE
00004240: PUSH1 0x40
00004242: SWAP1
00004243: KECCAK256
00004244: PUSH1 0x01
00004246: ADD
00004247: SLOAD
00004248: PUSH2 0x424f
0000424b: JUMP
0000424c: JUMPDEST
0000424d: POP
0000424e: DUP2
0000424f: JUMPDEST
00004250: DUP4
00004251: ISZERO
00004252: PUSH2 0x4266
00004255: JUMPI
00004256: PUSH2 0x0166
00004259: SLOAD
0000425a: PUSH2 0x4263
0000425d: SWAP1
0000425e: DUP3
0000425f: PUSH2 0x4da2
00004262: JUMP
00004263: JUMPDEST
00004264: SWAP1
00004265: POP
00004266: JUMPDEST
00004267: PUSH2 0x2710
0000426a: DUP2
0000426b: GT
0000426c: ISZERO
0000426d: PUSH2 0x4275
00004270: JUMPI
00004271: POP
00004272: PUSH2 0x2710
00004275: JUMPDEST
00004276: PUSH2 0x2710
00004279: PUSH2 0x4282
0000427c: DUP3
0000427d: DUP8
0000427e: PUSH2 0x4ce2
00004281: JUMP
00004282: JUMPDEST
00004283: PUSH2 0x428c
00004286: SWAP2
00004287: SWAP1
00004288: PUSH2 0x4d01
0000428b: JUMP
0000428c: JUMPDEST
0000428d: SWAP2
0000428e: POP
0000428f: POP
00004290: JUMPDEST
00004291: SWAP6
00004292: SWAP5
00004293: POP
00004294: POP
00004295: POP
00004296: POP
00004297: POP
00004298: JUMP
00004299: JUMPDEST
0000429a: PUSH1 0x40
0000429c: MLOAD
0000429d: PUSH1 0x01
0000429f: PUSH1 0x01
000042a1: PUSH1 0xa0
000042a3: SHL
000042a4: SUB
000042a5: DUP1
000042a6: DUP6
000042a7: AND
000042a8: PUSH1 0x24
000042aa: DUP4
000042ab: ADD
000042ac: MSTORE
000042ad: DUP4
000042ae: AND
000042af: PUSH1 0x44
000042b1: DUP3
000042b2: ADD
000042b3: MSTORE
000042b4: PUSH1 0x64
000042b6: DUP2
000042b7: ADD
000042b8: DUP3
000042b9: SWAP1
000042ba: MSTORE
000042bb: PUSH2 0x2200
000042be: SWAP1
000042bf: DUP6
000042c0: SWAP1
000042c1: PUSH4 0x23b872dd
000042c6: PUSH1 0xe0
000042c8: SHL
000042c9: SWAP1
000042ca: PUSH1 0x84
000042cc: ADD
000042cd: PUSH2 0x2a95
000042d0: JUMP
000042d1: JUMPDEST
000042d2: PUSH1 0x60
000042d4: PUSH2 0x2932
000042d7: DUP5
000042d8: DUP5
000042d9: PUSH1 0x00
000042db: DUP6
000042dc: PUSH2 0x43f6
000042df: JUMP
000042e0: JUMPDEST
000042e1: PUSH1 0x00
000042e3: SLOAD
000042e4: PUSH2 0x0100
000042e7: SWAP1
000042e8: DIV
000042e9: PUSH1 0xff
000042eb: AND
000042ec: PUSH2 0x4307
000042ef: JUMPI
000042f0: PUSH1 0x40
000042f2: MLOAD
000042f3: PUSH3 0x461bcd
000042f7: PUSH1 0xe5
000042f9: SHL
000042fa: DUP2
000042fb: MSTORE
000042fc: PUSH1 0x04
000042fe: ADD
000042ff: PUSH2 0x0bfe
00004302: SWAP1
00004303: PUSH2 0x4d23
00004306: JUMP
00004307: JUMPDEST
00004308: PUSH2 0x430f
0000430b: PUSH2 0x44d1
0000430e: JUMP
0000430f: JUMPDEST
00004310: PUSH2 0x30a6
00004313: DUP2
00004314: PUSH2 0x4500
00004317: JUMP
00004318: JUMPDEST
00004319: PUSH1 0x00
0000431b: SLOAD
0000431c: PUSH2 0x0100
0000431f: SWAP1
00004320: DIV
00004321: PUSH1 0xff
00004323: AND
00004324: PUSH2 0x1265
00004327: JUMPI
00004328: PUSH1 0x40
0000432a: MLOAD
0000432b: PUSH3 0x461bcd
0000432f: PUSH1 0xe5
00004331: SHL
00004332: DUP2
00004333: MSTORE
00004334: PUSH1 0x04
00004336: ADD
00004337: PUSH2 0x0bfe
0000433a: SWAP1
0000433b: PUSH2 0x4d23
0000433e: JUMP
0000433f: JUMPDEST
00004340: PUSH1 0x00
00004342: SLOAD
00004343: PUSH2 0x0100
00004346: SWAP1
00004347: DIV
00004348: PUSH1 0xff
0000434a: AND
0000434b: PUSH2 0x4366
0000434e: JUMPI
0000434f: PUSH1 0x40
00004351: MLOAD
00004352: PUSH3 0x461bcd
00004356: PUSH1 0xe5
00004358: SHL
00004359: DUP2
0000435a: MSTORE
0000435b: PUSH1 0x04
0000435d: ADD
0000435e: PUSH2 0x0bfe
00004361: SWAP1
00004362: PUSH2 0x4d23
00004365: JUMP
00004366: JUMPDEST
00004367: PUSH2 0x012f
0000436a: DUP1
0000436b: SLOAD
0000436c: PUSH1 0x01
0000436e: PUSH1 0x01
00004370: PUSH1 0xa0
00004372: SHL
00004373: SUB
00004374: NOT
00004375: AND
00004376: PUSH1 0x01
00004378: PUSH1 0x01
0000437a: PUSH1 0xa0
0000437c: SHL
0000437d: SUB
0000437e: SWAP3
0000437f: SWAP1
00004380: SWAP3
00004381: AND
00004382: SWAP2
00004383: SWAP1
00004384: SWAP2
00004385: OR
00004386: SWAP1
00004387: SSTORE
00004388: JUMP
00004389: JUMPDEST
0000438a: PUSH1 0x00
0000438c: DUP4
0000438d: PUSH2 0x4398
00004390: JUMPI
00004391: POP
00004392: PUSH1 0x00
00004394: PUSH2 0x3133
00004397: JUMP
00004398: JUMPDEST
00004399: DUP2
0000439a: DUP4
0000439b: EQ
0000439c: ISZERO
0000439d: PUSH2 0x43a7
000043a0: JUMPI
000043a1: POP
000043a2: DUP3
000043a3: PUSH2 0x3133
000043a6: JUMP
000043a7: JUMPDEST
000043a8: PUSH1 0x00
000043aa: DUP3
000043ab: DUP5
000043ac: GT
000043ad: ISZERO
000043ae: PUSH2 0x43d7
000043b1: JUMPI
000043b2: PUSH2 0x43bb
000043b5: DUP4
000043b6: DUP6
000043b7: PUSH2 0x4d8b
000043ba: JUMP
000043bb: JUMPDEST
000043bc: PUSH2 0x43c6
000043bf: SWAP1
000043c0: PUSH1 0x0a
000043c2: PUSH2 0x4f05
000043c5: JUMP
000043c6: JUMPDEST
000043c7: PUSH2 0x43d0
000043ca: SWAP1
000043cb: DUP7
000043cc: PUSH2 0x4d01
000043cf: JUMP
000043d0: JUMPDEST
000043d1: SWAP1
000043d2: POP
000043d3: PUSH2 0x2932
000043d6: JUMP
000043d7: JUMPDEST
000043d8: PUSH2 0x43e1
000043db: DUP5
000043dc: DUP5
000043dd: PUSH2 0x4d8b
000043e0: JUMP
000043e1: JUMPDEST
000043e2: PUSH2 0x43ec
000043e5: SWAP1
000043e6: PUSH1 0x0a
000043e8: PUSH2 0x4f05
000043eb: JUMP
000043ec: JUMPDEST
000043ed: PUSH2 0x4290
000043f0: SWAP1
000043f1: DUP7
000043f2: PUSH2 0x4ce2
000043f5: JUMP
000043f6: JUMPDEST
000043f7: PUSH1 0x60
000043f9: DUP3
000043fa: SELFBALANCE
000043fb: LT
000043fc: ISZERO
000043fd: PUSH2 0x4457
00004400: JUMPI
00004401: PUSH1 0x40
00004403: MLOAD
00004404: PUSH3 0x461bcd
00004408: PUSH1 0xe5
0000440a: SHL
0000440b: DUP2
0000440c: MSTORE
0000440d: PUSH1 0x20
0000440f: PUSH1 0x04
00004411: DUP3
00004412: ADD
00004413: MSTORE
00004414: PUSH1 0x26
00004416: PUSH1 0x24
00004418: DUP3
00004419: ADD
0000441a: MSTORE
0000441b: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f
0000443c: PUSH1 0x44
0000443e: DUP3
0000443f: ADD
00004440: MSTORE
00004441: PUSH6 0x1c8818d85b1b
00004448: PUSH1 0xd2
0000444a: SHL
0000444b: PUSH1 0x64
0000444d: DUP3
0000444e: ADD
0000444f: MSTORE
00004450: PUSH1 0x84
00004452: ADD
00004453: PUSH2 0x0bfe
00004456: JUMP
00004457: JUMPDEST
00004458: PUSH1 0x00
0000445a: DUP1
0000445b: DUP7
0000445c: PUSH1 0x01
0000445e: PUSH1 0x01
00004460: PUSH1 0xa0
00004462: SHL
00004463: SUB
00004464: AND
00004465: DUP6
00004466: DUP8
00004467: PUSH1 0x40
00004469: MLOAD
0000446a: PUSH2 0x4473
0000446d: SWAP2
0000446e: SWAP1
0000446f: PUSH2 0x4f3d
00004472: JUMP
00004473: JUMPDEST
00004474: PUSH1 0x00
00004476: PUSH1 0x40
00004478: MLOAD
00004479: DUP1
0000447a: DUP4
0000447b: SUB
0000447c: DUP2
0000447d: DUP6
0000447e: DUP8
0000447f: GAS
00004480: CALL
00004481: SWAP3
00004482: POP
00004483: POP
00004484: POP
00004485: RETURNDATASIZE
00004486: DUP1
00004487: PUSH1 0x00
00004489: DUP2
0000448a: EQ
0000448b: PUSH2 0x44b0
0000448e: JUMPI
0000448f: PUSH1 0x40
00004491: MLOAD
00004492: SWAP2
00004493: POP
00004494: PUSH1 0x1f
00004496: NOT
00004497: PUSH1 0x3f
00004499: RETURNDATASIZE
0000449a: ADD
0000449b: AND
0000449c: DUP3
0000449d: ADD
0000449e: PUSH1 0x40
000044a0: MSTORE
000044a1: RETURNDATASIZE
000044a2: DUP3
000044a3: MSTORE
000044a4: RETURNDATASIZE
000044a5: PUSH1 0x00
000044a7: PUSH1 0x20
000044a9: DUP5
000044aa: ADD
000044ab: RETURNDATACOPY
000044ac: PUSH2 0x44b5
000044af: JUMP
000044b0: JUMPDEST
000044b1: PUSH1 0x60
000044b3: SWAP2
000044b4: POP
000044b5: JUMPDEST
000044b6: POP
000044b7: SWAP2
000044b8: POP
000044b9: SWAP2
000044ba: POP
000044bb: PUSH2 0x44c6
000044be: DUP8
000044bf: DUP4
000044c0: DUP4
000044c1: DUP8
000044c2: PUSH2 0x4596
000044c5: JUMP
000044c6: JUMPDEST
000044c7: SWAP8
000044c8: SWAP7
000044c9: POP
000044ca: POP
000044cb: POP
000044cc: POP
000044cd: POP
000044ce: POP
000044cf: POP
000044d0: JUMP
000044d1: JUMPDEST
000044d2: PUSH1 0x00
000044d4: SLOAD
000044d5: PUSH2 0x0100
000044d8: SWAP1
000044d9: DIV
000044da: PUSH1 0xff
000044dc: AND
000044dd: PUSH2 0x44f8
000044e0: JUMPI
000044e1: PUSH1 0x40
000044e3: MLOAD
000044e4: PUSH3 0x461bcd
000044e8: PUSH1 0xe5
000044ea: SHL
000044eb: DUP2
000044ec: MSTORE
000044ed: PUSH1 0x04
000044ef: ADD
000044f0: PUSH2 0x0bfe
000044f3: SWAP1
000044f4: PUSH2 0x4d23
000044f7: JUMP
000044f8: JUMPDEST
000044f9: PUSH2 0x1265
000044fc: PUSH2 0x460c
000044ff: JUMP
00004500: JUMPDEST
00004501: PUSH1 0x00
00004503: SLOAD
00004504: PUSH2 0x0100
00004507: SWAP1
00004508: DIV
00004509: PUSH1 0xff
0000450b: AND
0000450c: PUSH2 0x4527
0000450f: JUMPI
00004510: PUSH1 0x40
00004512: MLOAD
00004513: PUSH3 0x461bcd
00004517: PUSH1 0xe5
00004519: SHL
0000451a: DUP2
0000451b: MSTORE
0000451c: PUSH1 0x04
0000451e: ADD
0000451f: PUSH2 0x0bfe
00004522: SWAP1
00004523: PUSH2 0x4d23
00004526: JUMP
00004527: JUMPDEST
00004528: PUSH1 0x01
0000452a: PUSH1 0x01
0000452c: PUSH1 0xa0
0000452e: SHL
0000452f: SUB
00004530: DUP2
00004531: AND
00004532: PUSH2 0x456c
00004535: JUMPI
00004536: PUSH1 0x40
00004538: MLOAD
00004539: PUSH3 0x461bcd
0000453d: PUSH1 0xe5
0000453f: SHL
00004540: DUP2
00004541: MSTORE
00004542: PUSH1 0x20
00004544: PUSH1 0x04
00004546: DUP3
00004547: ADD
00004548: MSTORE
00004549: PUSH1 0x0c
0000454b: PUSH1 0x24
0000454d: DUP3
0000454e: ADD
0000454f: MSTORE
00004550: PUSH12 0x7a65726f2061646472657373
0000455d: PUSH1 0xa0
0000455f: SHL
00004560: PUSH1 0x44
00004562: DUP3
00004563: ADD
00004564: MSTORE
00004565: PUSH1 0x64
00004567: ADD
00004568: PUSH2 0x0bfe
0000456b: JUMP
0000456c: JUMPDEST
0000456d: PUSH1 0x00
0000456f: DUP1
00004570: SLOAD
00004571: PUSH1 0x01
00004573: PUSH1 0x01
00004575: PUSH1 0xa0
00004577: SHL
00004578: SUB
00004579: SWAP1
0000457a: SWAP3
0000457b: AND
0000457c: PUSH3 0x010000
00004580: MUL
00004581: PUSH3 0x010000
00004585: PUSH1 0x01
00004587: PUSH1 0xb0
00004589: SHL
0000458a: SUB
0000458b: NOT
0000458c: SWAP1
0000458d: SWAP3
0000458e: AND
0000458f: SWAP2
00004590: SWAP1
00004591: SWAP2
00004592: OR
00004593: SWAP1
00004594: SSTORE
00004595: JUMP
00004596: JUMPDEST
00004597: PUSH1 0x60
00004599: DUP4
0000459a: ISZERO
0000459b: PUSH2 0x4602
0000459e: JUMPI
0000459f: DUP3
000045a0: MLOAD
000045a1: PUSH2 0x45fb
000045a4: JUMPI
000045a5: PUSH1 0x01
000045a7: PUSH1 0x01
000045a9: PUSH1 0xa0
000045ab: SHL
000045ac: SUB
000045ad: DUP6
000045ae: AND
000045af: EXTCODESIZE
000045b0: PUSH2 0x45fb
000045b3: JUMPI
000045b4: PUSH1 0x40
000045b6: MLOAD
000045b7: PUSH3 0x461bcd
000045bb: PUSH1 0xe5
000045bd: SHL
000045be: DUP2
000045bf: MSTORE
000045c0: PUSH1 0x20
000045c2: PUSH1 0x04
000045c4: DUP3
000045c5: ADD
000045c6: MSTORE
000045c7: PUSH1 0x1d
000045c9: PUSH1 0x24
000045cb: DUP3
000045cc: ADD
000045cd: MSTORE
000045ce: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
000045ef: PUSH1 0x44
000045f1: DUP3
000045f2: ADD
000045f3: MSTORE
000045f4: PUSH1 0x64
000045f6: ADD
000045f7: PUSH2 0x0bfe
000045fa: JUMP
000045fb: JUMPDEST
000045fc: POP
000045fd: DUP2
000045fe: PUSH2 0x2932
00004601: JUMP
00004602: JUMPDEST
00004603: PUSH2 0x2932
00004606: DUP4
00004607: DUP4
00004608: PUSH2 0x463f
0000460b: JUMP
0000460c: JUMPDEST
0000460d: PUSH1 0x00
0000460f: SLOAD
00004610: PUSH2 0x0100
00004613: SWAP1
00004614: DIV
00004615: PUSH1 0xff
00004617: AND
00004618: PUSH2 0x4633
0000461b: JUMPI
0000461c: PUSH1 0x40
0000461e: MLOAD
0000461f: PUSH3 0x461bcd
00004623: PUSH1 0xe5
00004625: SHL
00004626: DUP2
00004627: MSTORE
00004628: PUSH1 0x04
0000462a: ADD
0000462b: PUSH2 0x0bfe
0000462e: SWAP1
0000462f: PUSH2 0x4d23
00004632: JUMP
00004633: JUMPDEST
00004634: PUSH1 0x65
00004636: DUP1
00004637: SLOAD
00004638: PUSH1 0xff
0000463a: NOT
0000463b: AND
0000463c: SWAP1
0000463d: SSTORE
0000463e: JUMP
0000463f: JUMPDEST
00004640: DUP2
00004641: MLOAD
00004642: ISZERO
00004643: PUSH2 0x464f
00004646: JUMPI
00004647: DUP2
00004648: MLOAD
00004649: DUP1
0000464a: DUP4
0000464b: PUSH1 0x20
0000464d: ADD
0000464e: REVERT
0000464f: JUMPDEST
00004650: DUP1
00004651: PUSH1 0x40
00004653: MLOAD
00004654: PUSH3 0x461bcd
00004658: PUSH1 0xe5
0000465a: SHL
0000465b: DUP2
0000465c: MSTORE
0000465d: PUSH1 0x04
0000465f: ADD
00004660: PUSH2 0x0bfe
00004663: SWAP2
00004664: SWAP1
00004665: PUSH2 0x4f59
00004668: JUMP
00004669: JUMPDEST
0000466a: PUSH1 0x01
0000466c: PUSH1 0x01
0000466e: PUSH1 0xa0
00004670: SHL
00004671: SUB
00004672: DUP2
00004673: AND
00004674: DUP2
00004675: EQ
00004676: PUSH2 0x30a6
00004679: JUMPI
0000467a: PUSH1 0x00
0000467c: DUP1
0000467d: REVERT
0000467e: JUMPDEST
0000467f: PUSH1 0x00
00004681: PUSH1 0x20
00004683: DUP3
00004684: DUP5
00004685: SUB
00004686: SLT
00004687: ISZERO
00004688: PUSH2 0x4690
0000468b: JUMPI
0000468c: PUSH1 0x00
0000468e: DUP1
0000468f: REVERT
00004690: JUMPDEST
00004691: DUP2
00004692: CALLDATALOAD
00004693: PUSH2 0x311d
00004696: DUP2
00004697: PUSH2 0x4669
0000469a: JUMP
0000469b: JUMPDEST
0000469c: PUSH1 0x00
0000469e: PUSH1 0x20
000046a0: DUP3
000046a1: DUP5
000046a2: SUB
000046a3: SLT
000046a4: ISZERO
000046a5: PUSH2 0x46ad
000046a8: JUMPI
000046a9: PUSH1 0x00
000046ab: DUP1
000046ac: REVERT
000046ad: JUMPDEST
000046ae: DUP2
000046af: CALLDATALOAD
000046b0: PUSH1 0x01
000046b2: PUSH1 0x01
000046b4: PUSH1 0xe0
000046b6: SHL
000046b7: SUB
000046b8: NOT
000046b9: DUP2
000046ba: AND
000046bb: DUP2
000046bc: EQ
000046bd: PUSH2 0x311d
000046c0: JUMPI
000046c1: PUSH1 0x00
000046c3: DUP1
000046c4: REVERT
000046c5: JUMPDEST
000046c6: PUSH1 0x00
000046c8: DUP1
000046c9: PUSH1 0x00
000046cb: PUSH1 0x60
000046cd: DUP5
000046ce: DUP7
000046cf: SUB
000046d0: SLT
000046d1: ISZERO
000046d2: PUSH2 0x46da
000046d5: JUMPI
000046d6: PUSH1 0x00
000046d8: DUP1
000046d9: REVERT
000046da: JUMPDEST
000046db: DUP4
000046dc: CALLDATALOAD
000046dd: PUSH2 0x46e5
000046e0: DUP2
000046e1: PUSH2 0x4669
000046e4: JUMP
000046e5: JUMPDEST
000046e6: SWAP3
000046e7: POP
000046e8: PUSH1 0x20
000046ea: DUP5
000046eb: ADD
000046ec: CALLDATALOAD
000046ed: SWAP2
000046ee: POP
000046ef: PUSH1 0x40
000046f1: DUP5
000046f2: ADD
000046f3: CALLDATALOAD
000046f4: PUSH2 0x46fc
000046f7: DUP2
000046f8: PUSH2 0x4669
000046fb: JUMP
000046fc: JUMPDEST
000046fd: DUP1
000046fe: SWAP2
000046ff: POP
00004700: POP
00004701: SWAP3
00004702: POP
00004703: SWAP3
00004704: POP
00004705: SWAP3
00004706: JUMP
00004707: JUMPDEST
00004708: DUP1
00004709: ISZERO
0000470a: ISZERO
0000470b: DUP2
0000470c: EQ
0000470d: PUSH2 0x30a6
00004710: JUMPI
00004711: PUSH1 0x00
00004713: DUP1
00004714: REVERT
00004715: JUMPDEST
00004716: PUSH1 0x00
00004718: PUSH1 0x20
0000471a: DUP3
0000471b: DUP5
0000471c: SUB
0000471d: SLT
0000471e: ISZERO
0000471f: PUSH2 0x4727
00004722: JUMPI
00004723: PUSH1 0x00
00004725: DUP1
00004726: REVERT
00004727: JUMPDEST
00004728: DUP2
00004729: CALLDATALOAD
0000472a: PUSH2 0x311d
0000472d: DUP2
0000472e: PUSH2 0x4707
00004731: JUMP
00004732: JUMPDEST
00004733: PUSH1 0x00
00004735: DUP1
00004736: PUSH1 0x40
00004738: DUP4
00004739: DUP6
0000473a: SUB
0000473b: SLT
0000473c: ISZERO
0000473d: PUSH2 0x4745
00004740: JUMPI
00004741: PUSH1 0x00
00004743: DUP1
00004744: REVERT
00004745: JUMPDEST
00004746: POP
00004747: POP
00004748: DUP1
00004749: CALLDATALOAD
0000474a: SWAP3
0000474b: PUSH1 0x20
0000474d: SWAP1
0000474e: SWAP2
0000474f: ADD
00004750: CALLDATALOAD
00004751: SWAP2
00004752: POP
00004753: JUMP
00004754: JUMPDEST
00004755: PUSH1 0x00
00004757: PUSH1 0x20
00004759: DUP3
0000475a: DUP5
0000475b: SUB
0000475c: SLT
0000475d: ISZERO
0000475e: PUSH2 0x4766
00004761: JUMPI
00004762: PUSH1 0x00
00004764: DUP1
00004765: REVERT
00004766: JUMPDEST
00004767: POP
00004768: CALLDATALOAD
00004769: SWAP2
0000476a: SWAP1
0000476b: POP
0000476c: JUMP
0000476d: JUMPDEST
0000476e: PUSH1 0x00
00004770: DUP1
00004771: PUSH1 0x40
00004773: DUP4
00004774: DUP6
00004775: SUB
00004776: SLT
00004777: ISZERO
00004778: PUSH2 0x4780
0000477b: JUMPI
0000477c: PUSH1 0x00
0000477e: DUP1
0000477f: REVERT
00004780: JUMPDEST
00004781: DUP3
00004782: CALLDATALOAD
00004783: PUSH2 0x478b
00004786: DUP2
00004787: PUSH2 0x4669
0000478a: JUMP
0000478b: JUMPDEST
0000478c: SWAP2
0000478d: POP
0000478e: PUSH1 0x20
00004790: DUP4
00004791: ADD
00004792: CALLDATALOAD
00004793: PUSH2 0x479b
00004796: DUP2
00004797: PUSH2 0x4707
0000479a: JUMP
0000479b: JUMPDEST
0000479c: DUP1
0000479d: SWAP2
0000479e: POP
0000479f: POP
000047a0: SWAP3
000047a1: POP
000047a2: SWAP3
000047a3: SWAP1
000047a4: POP
000047a5: JUMP
000047a6: JUMPDEST
000047a7: PUSH1 0x00
000047a9: PUSH1 0x40
000047ab: DUP3
000047ac: DUP5
000047ad: SUB
000047ae: SLT
000047af: ISZERO
000047b0: PUSH2 0x47b8
000047b3: JUMPI
000047b4: PUSH1 0x00
000047b6: DUP1
000047b7: REVERT
000047b8: JUMPDEST
000047b9: POP
000047ba: SWAP2
000047bb: SWAP1
000047bc: POP
000047bd: JUMP
000047be: JUMPDEST
000047bf: PUSH1 0x00
000047c1: PUSH1 0x60
000047c3: DUP3
000047c4: DUP5
000047c5: SUB
000047c6: SLT
000047c7: ISZERO
000047c8: PUSH2 0x47b8
000047cb: JUMPI
000047cc: PUSH1 0x00
000047ce: DUP1
000047cf: REVERT
000047d0: JUMPDEST
000047d1: PUSH1 0x00
000047d3: DUP1
000047d4: PUSH1 0x00
000047d6: DUP1
000047d7: PUSH1 0x00
000047d9: DUP1
000047da: PUSH1 0x00
000047dc: DUP1
000047dd: PUSH1 0x00
000047df: PUSH2 0x01c0
000047e2: DUP11
000047e3: DUP13
000047e4: SUB
000047e5: SLT
000047e6: ISZERO
000047e7: PUSH2 0x47ef
000047ea: JUMPI
000047eb: PUSH1 0x00
000047ed: DUP1
000047ee: REVERT
000047ef: JUMPDEST
000047f0: DUP10
000047f1: CALLDATALOAD
000047f2: PUSH2 0x47fa
000047f5: DUP2
000047f6: PUSH2 0x4669
000047f9: JUMP
000047fa: JUMPDEST
000047fb: SWAP9
000047fc: POP
000047fd: PUSH2 0x4809
00004800: DUP12
00004801: PUSH1 0x20
00004803: DUP13
00004804: ADD
00004805: PUSH2 0x47a6
00004808: JUMP
00004809: JUMPDEST
0000480a: SWAP8
0000480b: POP
0000480c: PUSH2 0x4818
0000480f: DUP12
00004810: PUSH1 0x60
00004812: DUP13
00004813: ADD
00004814: PUSH2 0x47a6
00004817: JUMP
00004818: JUMPDEST
00004819: SWAP7
0000481a: POP
0000481b: PUSH2 0x4827
0000481e: DUP12
0000481f: PUSH1 0xa0
00004821: DUP13
00004822: ADD
00004823: PUSH2 0x47a6
00004826: JUMP
00004827: JUMPDEST
00004828: SWAP6
00004829: POP
0000482a: PUSH1 0xe0
0000482c: DUP11
0000482d: ADD
0000482e: CALLDATALOAD
0000482f: PUSH2 0x4837
00004832: DUP2
00004833: PUSH2 0x4669
00004836: JUMP
00004837: JUMPDEST
00004838: SWAP5
00004839: POP
0000483a: PUSH2 0x0100
0000483d: DUP11
0000483e: ADD
0000483f: CALLDATALOAD
00004840: SWAP4
00004841: POP
00004842: PUSH2 0x0120
00004845: DUP11
00004846: ADD
00004847: CALLDATALOAD
00004848: SWAP3
00004849: POP
0000484a: PUSH2 0x4857
0000484d: DUP12
0000484e: PUSH2 0x0140
00004851: DUP13
00004852: ADD
00004853: PUSH2 0x47be
00004856: JUMP
00004857: JUMPDEST
00004858: SWAP2
00004859: POP
0000485a: PUSH2 0x01a0
0000485d: DUP11
0000485e: ADD
0000485f: CALLDATALOAD
00004860: PUSH2 0x4868
00004863: DUP2
00004864: PUSH2 0x4669
00004867: JUMP
00004868: JUMPDEST
00004869: DUP1
0000486a: SWAP2
0000486b: POP
0000486c: POP
0000486d: SWAP3
0000486e: SWAP6
0000486f: SWAP9
00004870: POP
00004871: SWAP3
00004872: SWAP6
00004873: SWAP9
00004874: POP
00004875: SWAP3
00004876: SWAP6
00004877: SWAP9
00004878: JUMP
00004879: JUMPDEST
0000487a: PUSH1 0x00
0000487c: DUP1
0000487d: PUSH1 0x00
0000487f: DUP1
00004880: PUSH1 0x80
00004882: DUP6
00004883: DUP8
00004884: SUB
00004885: SLT
00004886: ISZERO
00004887: PUSH2 0x488f
0000488a: JUMPI
0000488b: PUSH1 0x00
0000488d: DUP1
0000488e: REVERT
0000488f: JUMPDEST
00004890: DUP5
00004891: CALLDATALOAD
00004892: PUSH2 0x489a
00004895: DUP2
00004896: PUSH2 0x4669
00004899: JUMP
0000489a: JUMPDEST
0000489b: SWAP4
0000489c: POP
0000489d: PUSH1 0x20
0000489f: DUP6
000048a0: ADD
000048a1: CALLDATALOAD
000048a2: SWAP3
000048a3: POP
000048a4: PUSH1 0x40
000048a6: DUP6
000048a7: ADD
000048a8: CALLDATALOAD
000048a9: SWAP2
000048aa: POP
000048ab: PUSH1 0x60
000048ad: DUP6
000048ae: ADD
000048af: CALLDATALOAD
000048b0: PUSH2 0x48b8
000048b3: DUP2
000048b4: PUSH2 0x4669
000048b7: JUMP
000048b8: JUMPDEST
000048b9: SWAP4
000048ba: SWAP7
000048bb: SWAP3
000048bc: SWAP6
000048bd: POP
000048be: SWAP1
000048bf: SWAP4
000048c0: POP
000048c1: POP
000048c2: JUMP
000048c3: JUMPDEST
000048c4: PUSH1 0x00
000048c6: DUP1
000048c7: PUSH1 0x40
000048c9: DUP4
000048ca: DUP6
000048cb: SUB
000048cc: SLT
000048cd: ISZERO
000048ce: PUSH2 0x48d6
000048d1: JUMPI
000048d2: PUSH1 0x00
000048d4: DUP1
000048d5: REVERT
000048d6: JUMPDEST
000048d7: DUP3
000048d8: CALLDATALOAD
000048d9: PUSH2 0x48e1
000048dc: DUP2
000048dd: PUSH2 0x4669
000048e0: JUMP
000048e1: JUMPDEST
000048e2: SWAP5
000048e3: PUSH1 0x20
000048e5: SWAP4
000048e6: SWAP1
000048e7: SWAP4
000048e8: ADD
000048e9: CALLDATALOAD
000048ea: SWAP4
000048eb: POP
000048ec: POP
000048ed: POP
000048ee: JUMP
000048ef: JUMPDEST
000048f0: PUSH1 0x00
000048f2: DUP1
000048f3: PUSH1 0x00
000048f5: PUSH1 0x60
000048f7: DUP5
000048f8: DUP7
000048f9: SUB
000048fa: SLT
000048fb: ISZERO
000048fc: PUSH2 0x4904
000048ff: JUMPI
00004900: PUSH1 0x00
00004902: DUP1
00004903: REVERT
00004904: JUMPDEST
00004905: DUP4
00004906: CALLDATALOAD
00004907: PUSH2 0x490f
0000490a: DUP2
0000490b: PUSH2 0x4669
0000490e: JUMP
0000490f: JUMPDEST
00004910: SWAP6
00004911: PUSH1 0x20
00004913: DUP6
00004914: ADD
00004915: CALLDATALOAD
00004916: SWAP6
00004917: POP
00004918: PUSH1 0x40
0000491a: SWAP1
0000491b: SWAP5
0000491c: ADD
0000491d: CALLDATALOAD
0000491e: SWAP4
0000491f: SWAP3
00004920: POP
00004921: POP
00004922: POP
00004923: JUMP
00004924: JUMPDEST
00004925: PUSH1 0x00
00004927: DUP1
00004928: DUP4
00004929: PUSH1 0x1f
0000492b: DUP5
0000492c: ADD
0000492d: SLT
0000492e: PUSH2 0x4936
00004931: JUMPI
00004932: PUSH1 0x00
00004934: DUP1
00004935: REVERT
00004936: JUMPDEST
00004937: POP
00004938: DUP2
00004939: CALLDATALOAD
0000493a: PUSH8 0xffffffffffffffff
00004943: DUP2
00004944: GT
00004945: ISZERO
00004946: PUSH2 0x494e
00004949: JUMPI
0000494a: PUSH1 0x00
0000494c: DUP1
0000494d: REVERT
0000494e: JUMPDEST
0000494f: PUSH1 0x20
00004951: DUP4
00004952: ADD
00004953: SWAP2
00004954: POP
00004955: DUP4
00004956: PUSH1 0x20
00004958: DUP3
00004959: PUSH1 0x05
0000495b: SHL
0000495c: DUP6
0000495d: ADD
0000495e: ADD
0000495f: GT
00004960: ISZERO
00004961: PUSH2 0x4969
00004964: JUMPI
00004965: PUSH1 0x00
00004967: DUP1
00004968: REVERT
00004969: JUMPDEST
0000496a: SWAP3
0000496b: POP
0000496c: SWAP3
0000496d: SWAP1
0000496e: POP
0000496f: JUMP
00004970: JUMPDEST
00004971: PUSH1 0x00
00004973: DUP1
00004974: PUSH1 0x20
00004976: DUP4
00004977: DUP6
00004978: SUB
00004979: SLT
0000497a: ISZERO
0000497b: PUSH2 0x4983
0000497e: JUMPI
0000497f: PUSH1 0x00
00004981: DUP1
00004982: REVERT
00004983: JUMPDEST
00004984: DUP3
00004985: CALLDATALOAD
00004986: PUSH8 0xffffffffffffffff
0000498f: DUP2
00004990: GT
00004991: ISZERO
00004992: PUSH2 0x499a
00004995: JUMPI
00004996: PUSH1 0x00
00004998: DUP1
00004999: REVERT
0000499a: JUMPDEST
0000499b: PUSH2 0x49a6
0000499e: DUP6
0000499f: DUP3
000049a0: DUP7
000049a1: ADD
000049a2: PUSH2 0x4924
000049a5: JUMP
000049a6: JUMPDEST
000049a7: SWAP1
000049a8: SWAP7
000049a9: SWAP1
000049aa: SWAP6
000049ab: POP
000049ac: SWAP4
000049ad: POP
000049ae: POP
000049af: POP
000049b0: POP
000049b1: JUMP
000049b2: JUMPDEST
000049b3: PUSH1 0x20
000049b5: DUP1
000049b6: DUP3
000049b7: MSTORE
000049b8: DUP3
000049b9: MLOAD
000049ba: DUP3
000049bb: DUP3
000049bc: ADD
000049bd: DUP2
000049be: SWAP1
000049bf: MSTORE
000049c0: PUSH1 0x00
000049c2: SWAP2
000049c3: SWAP1
000049c4: DUP5
000049c5: DUP3
000049c6: ADD
000049c7: SWAP1
000049c8: PUSH1 0x40
000049ca: DUP6
000049cb: ADD
000049cc: SWAP1
000049cd: DUP5
000049ce: JUMPDEST
000049cf: DUP2
000049d0: DUP2
000049d1: LT
000049d2: ISZERO
000049d3: PUSH2 0x49f3
000049d6: JUMPI
000049d7: DUP4
000049d8: MLOAD
000049d9: PUSH1 0x01
000049db: PUSH1 0x01
000049dd: PUSH1 0xa0
000049df: SHL
000049e0: SUB
000049e1: AND
000049e2: DUP4
000049e3: MSTORE
000049e4: SWAP3
000049e5: DUP5
000049e6: ADD
000049e7: SWAP3
000049e8: SWAP2
000049e9: DUP5
000049ea: ADD
000049eb: SWAP2
000049ec: PUSH1 0x01
000049ee: ADD
000049ef: PUSH2 0x49ce
000049f2: JUMP
000049f3: JUMPDEST
000049f4: POP
000049f5: SWAP1
000049f6: SWAP7
000049f7: SWAP6
000049f8: POP
000049f9: POP
000049fa: POP
000049fb: POP
000049fc: POP
000049fd: POP
000049fe: JUMP
000049ff: JUMPDEST
00004a00: PUSH1 0x00
00004a02: DUP1
00004a03: PUSH1 0x00
00004a05: DUP1
00004a06: PUSH1 0x00
00004a08: DUP1
00004a09: PUSH1 0x00
00004a0b: DUP1
00004a0c: PUSH1 0x00
00004a0e: DUP1
00004a0f: PUSH1 0x00
00004a11: PUSH2 0x0200
00004a14: DUP13
00004a15: DUP15
00004a16: SUB
00004a17: SLT
00004a18: ISZERO
00004a19: PUSH2 0x4a21
00004a1c: JUMPI
00004a1d: PUSH1 0x00
00004a1f: DUP1
00004a20: REVERT
00004a21: JUMPDEST
00004a22: DUP12
00004a23: CALLDATALOAD
00004a24: PUSH2 0x4a2c
00004a27: DUP2
00004a28: PUSH2 0x4669
00004a2b: JUMP
00004a2c: JUMPDEST
00004a2d: SWAP11
00004a2e: POP
00004a2f: PUSH2 0x4a3b
00004a32: DUP14
00004a33: PUSH1 0x20
00004a35: DUP15
00004a36: ADD
00004a37: PUSH2 0x47a6
00004a3a: JUMP
00004a3b: JUMPDEST
00004a3c: SWAP10
00004a3d: POP
00004a3e: PUSH2 0x4a4a
00004a41: DUP14
00004a42: PUSH1 0x60
00004a44: DUP15
00004a45: ADD
00004a46: PUSH2 0x47a6
00004a49: JUMP
00004a4a: JUMPDEST
00004a4b: SWAP9
00004a4c: POP
00004a4d: PUSH2 0x4a59
00004a50: DUP14
00004a51: PUSH1 0xa0
00004a53: DUP15
00004a54: ADD
00004a55: PUSH2 0x47a6
00004a58: JUMP
00004a59: JUMPDEST
00004a5a: SWAP8
00004a5b: POP
00004a5c: PUSH1 0xe0
00004a5e: DUP13
00004a5f: ADD
00004a60: CALLDATALOAD
00004a61: PUSH2 0x4a69
00004a64: DUP2
00004a65: PUSH2 0x4669
00004a68: JUMP
00004a69: JUMPDEST
00004a6a: SWAP7
00004a6b: POP
00004a6c: PUSH2 0x0100
00004a6f: DUP13
00004a70: ADD
00004a71: CALLDATALOAD
00004a72: SWAP6
00004a73: POP
00004a74: PUSH2 0x0120
00004a77: DUP13
00004a78: ADD
00004a79: CALLDATALOAD
00004a7a: SWAP5
00004a7b: POP
00004a7c: PUSH2 0x4a89
00004a7f: DUP14
00004a80: PUSH2 0x0140
00004a83: DUP15
00004a84: ADD
00004a85: PUSH2 0x47be
00004a88: JUMP
00004a89: JUMPDEST
00004a8a: SWAP4
00004a8b: POP
00004a8c: PUSH2 0x01a0
00004a8f: DUP13
00004a90: ADD
00004a91: CALLDATALOAD
00004a92: PUSH2 0x4a9a
00004a95: DUP2
00004a96: PUSH2 0x4669
00004a99: JUMP
00004a9a: JUMPDEST
00004a9b: SWAP3
00004a9c: POP
00004a9d: PUSH2 0x01c0
00004aa0: DUP13
00004aa1: ADD
00004aa2: CALLDATALOAD
00004aa3: PUSH2 0x4aab
00004aa6: DUP2
00004aa7: PUSH2 0x4669
00004aaa: JUMP
00004aab: JUMPDEST
00004aac: SWAP2
00004aad: POP
00004aae: PUSH2 0x01e0
00004ab1: DUP13
00004ab2: ADD
00004ab3: CALLDATALOAD
00004ab4: PUSH2 0x4abc
00004ab7: DUP2
00004ab8: PUSH2 0x4669
00004abb: JUMP
00004abc: JUMPDEST
00004abd: DUP1
00004abe: SWAP2
00004abf: POP
00004ac0: POP
00004ac1: SWAP3
00004ac2: SWAP6
00004ac3: SWAP9
00004ac4: SWAP12
00004ac5: POP
00004ac6: SWAP3
00004ac7: SWAP6
00004ac8: SWAP9
00004ac9: SWAP12
00004aca: SWAP1
00004acb: SWAP4
00004acc: SWAP7
00004acd: SWAP10
00004ace: POP
00004acf: JUMP
00004ad0: JUMPDEST
00004ad1: PUSH4 0x4e487b71
00004ad6: PUSH1 0xe0
00004ad8: SHL
00004ad9: PUSH1 0x00
00004adb: MSTORE
00004adc: PUSH1 0x21
00004ade: PUSH1 0x04
00004ae0: MSTORE
00004ae1: PUSH1 0x24
00004ae3: PUSH1 0x00
00004ae5: REVERT
00004ae6: JUMPDEST
00004ae7: PUSH1 0x01
00004ae9: PUSH1 0x01
00004aeb: PUSH1 0xa0
00004aed: SHL
00004aee: SUB
00004aef: DUP8
00004af0: DUP2
00004af1: AND
00004af2: DUP3
00004af3: MSTORE
00004af4: DUP7
00004af5: AND
00004af6: PUSH1 0x20
00004af8: DUP3
00004af9: ADD
00004afa: MSTORE
00004afb: PUSH1 0xc0
00004afd: DUP2
00004afe: ADD
00004aff: PUSH1 0x03
00004b01: DUP7
00004b02: LT
00004b03: PUSH2 0x4b1c
00004b06: JUMPI
00004b07: PUSH4 0x4e487b71
00004b0c: PUSH1 0xe0
00004b0e: SHL
00004b0f: PUSH1 0x00
00004b11: MSTORE
00004b12: PUSH1 0x21
00004b14: PUSH1 0x04
00004b16: MSTORE
00004b17: PUSH1 0x24
00004b19: PUSH1 0x00
00004b1b: REVERT
00004b1c: JUMPDEST
00004b1d: DUP6
00004b1e: PUSH1 0x40
00004b20: DUP4
00004b21: ADD
00004b22: MSTORE
00004b23: DUP5
00004b24: PUSH1 0x60
00004b26: DUP4
00004b27: ADD
00004b28: MSTORE
00004b29: DUP4
00004b2a: PUSH1 0x80
00004b2c: DUP4
00004b2d: ADD
00004b2e: MSTORE
00004b2f: DUP3
00004b30: PUSH1 0xa0
00004b32: DUP4
00004b33: ADD
00004b34: MSTORE
00004b35: SWAP8
00004b36: SWAP7
00004b37: POP
00004b38: POP
00004b39: POP
00004b3a: POP
00004b3b: POP
00004b3c: POP
00004b3d: POP
00004b3e: JUMP
00004b3f: JUMPDEST
00004b40: PUSH1 0x00
00004b42: DUP1
00004b43: PUSH1 0x00
00004b45: DUP1
00004b46: PUSH1 0x00
00004b48: PUSH1 0xa0
00004b4a: DUP7
00004b4b: DUP9
00004b4c: SUB
00004b4d: SLT
00004b4e: ISZERO
00004b4f: PUSH2 0x4b57
00004b52: JUMPI
00004b53: PUSH1 0x00
00004b55: DUP1
00004b56: REVERT
00004b57: JUMPDEST
00004b58: DUP6
00004b59: CALLDATALOAD
00004b5a: PUSH2 0x4b62
00004b5d: DUP2
00004b5e: PUSH2 0x4669
00004b61: JUMP
00004b62: JUMPDEST
00004b63: SWAP5
00004b64: POP
00004b65: PUSH1 0x20
00004b67: DUP7
00004b68: ADD
00004b69: CALLDATALOAD
00004b6a: PUSH2 0x4b72
00004b6d: DUP2
00004b6e: PUSH2 0x4669
00004b71: JUMP
00004b72: JUMPDEST
00004b73: SWAP4
00004b74: POP
00004b75: PUSH1 0x40
00004b77: DUP7
00004b78: ADD
00004b79: CALLDATALOAD
00004b7a: SWAP3
00004b7b: POP
00004b7c: PUSH1 0x60
00004b7e: DUP7
00004b7f: ADD
00004b80: CALLDATALOAD
00004b81: SWAP2
00004b82: POP
00004b83: PUSH1 0x80
00004b85: DUP7
00004b86: ADD
00004b87: CALLDATALOAD
00004b88: PUSH2 0x4b90
00004b8b: DUP2
00004b8c: PUSH2 0x4707
00004b8f: JUMP
00004b90: JUMPDEST
00004b91: DUP1
00004b92: SWAP2
00004b93: POP
00004b94: POP
00004b95: SWAP3
00004b96: SWAP6
00004b97: POP
00004b98: SWAP3
00004b99: SWAP6
00004b9a: SWAP1
00004b9b: SWAP4
00004b9c: POP
00004b9d: JUMP
00004b9e: JUMPDEST
00004b9f: PUSH1 0x00
00004ba1: DUP1
00004ba2: PUSH1 0x00
00004ba4: PUSH1 0x40
00004ba6: DUP5
00004ba7: DUP7
00004ba8: SUB
00004ba9: SLT
00004baa: ISZERO
00004bab: PUSH2 0x4bb3
00004bae: JUMPI
00004baf: PUSH1 0x00
00004bb1: DUP1
00004bb2: REVERT
00004bb3: JUMPDEST
00004bb4: DUP4
00004bb5: CALLDATALOAD
00004bb6: PUSH8 0xffffffffffffffff
00004bbf: DUP2
00004bc0: GT
00004bc1: ISZERO
00004bc2: PUSH2 0x4bca
00004bc5: JUMPI
00004bc6: PUSH1 0x00
00004bc8: DUP1
00004bc9: REVERT
00004bca: JUMPDEST
00004bcb: PUSH2 0x4bd6
00004bce: DUP7
00004bcf: DUP3
00004bd0: DUP8
00004bd1: ADD
00004bd2: PUSH2 0x4924
00004bd5: JUMP
00004bd6: JUMPDEST
00004bd7: SWAP1
00004bd8: SWAP8
00004bd9: SWAP1
00004bda: SWAP7
00004bdb: POP
00004bdc: PUSH1 0x20
00004bde: SWAP6
00004bdf: SWAP1
00004be0: SWAP6
00004be1: ADD
00004be2: CALLDATALOAD
00004be3: SWAP5
00004be4: SWAP4
00004be5: POP
00004be6: POP
00004be7: POP
00004be8: POP
00004be9: JUMP
00004bea: JUMPDEST
00004beb: PUSH1 0x20
00004bed: DUP1
00004bee: DUP3
00004bef: MSTORE
00004bf0: PUSH1 0x13
00004bf2: SWAP1
00004bf3: DUP3
00004bf4: ADD
00004bf5: MSTORE
00004bf6: PUSH19 0x14185d5cd8589b194e88199b881c185d5cd959
00004c0a: PUSH1 0x6a
00004c0c: SHL
00004c0d: PUSH1 0x40
00004c0f: DUP3
00004c10: ADD
00004c11: MSTORE
00004c12: PUSH1 0x60
00004c14: ADD
00004c15: SWAP1
00004c16: JUMP
00004c17: JUMPDEST
00004c18: PUSH1 0x20
00004c1a: DUP1
00004c1b: DUP3
00004c1c: MSTORE
00004c1d: PUSH1 0x2e
00004c1f: SWAP1
00004c20: DUP3
00004c21: ADD
00004c22: MSTORE
00004c23: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561
00004c44: PUSH1 0x40
00004c46: DUP3
00004c47: ADD
00004c48: MSTORE
00004c49: PUSH14 0x191e481a5b9a5d1a585b1a5e9959
00004c58: PUSH1 0x92
00004c5a: SHL
00004c5b: PUSH1 0x60
00004c5d: DUP3
00004c5e: ADD
00004c5f: MSTORE
00004c60: PUSH1 0x80
00004c62: ADD
00004c63: SWAP1
00004c64: JUMP
00004c65: JUMPDEST
00004c66: PUSH4 0x4e487b71
00004c6b: PUSH1 0xe0
00004c6d: SHL
00004c6e: PUSH1 0x00
00004c70: MSTORE
00004c71: PUSH1 0x32
00004c73: PUSH1 0x04
00004c75: MSTORE
00004c76: PUSH1 0x24
00004c78: PUSH1 0x00
00004c7a: REVERT
00004c7b: JUMPDEST
00004c7c: PUSH4 0x4e487b71
00004c81: PUSH1 0xe0
00004c83: SHL
00004c84: PUSH1 0x00
00004c86: MSTORE
00004c87: PUSH1 0x11
00004c89: PUSH1 0x04
00004c8b: MSTORE
00004c8c: PUSH1 0x24
00004c8e: PUSH1 0x00
00004c90: REVERT
00004c91: JUMPDEST
00004c92: PUSH1 0x00
00004c94: PUSH1 0x00
00004c96: NOT
00004c97: DUP3
00004c98: EQ
00004c99: ISZERO
00004c9a: PUSH2 0x4ca5
00004c9d: JUMPI
00004c9e: PUSH2 0x4ca5
00004ca1: PUSH2 0x4c7b
00004ca4: JUMP
00004ca5: JUMPDEST
00004ca6: POP
00004ca7: PUSH1 0x01
00004ca9: ADD
00004caa: SWAP1
00004cab: JUMP
00004cac: JUMPDEST
00004cad: PUSH1 0x00
00004caf: PUSH1 0x20
00004cb1: DUP3
00004cb2: DUP5
00004cb3: SUB
00004cb4: SLT
00004cb5: ISZERO
00004cb6: PUSH2 0x4cbe
00004cb9: JUMPI
00004cba: PUSH1 0x00
00004cbc: DUP1
00004cbd: REVERT
00004cbe: JUMPDEST
00004cbf: DUP2
00004cc0: MLOAD
00004cc1: PUSH2 0x311d
00004cc4: DUP2
00004cc5: PUSH2 0x4707
00004cc8: JUMP
00004cc9: JUMPDEST
00004cca: PUSH1 0x00
00004ccc: PUSH1 0x20
00004cce: DUP3
00004ccf: DUP5
00004cd0: SUB
00004cd1: SLT
00004cd2: ISZERO
00004cd3: PUSH2 0x4cdb
00004cd6: JUMPI
00004cd7: PUSH1 0x00
00004cd9: DUP1
00004cda: REVERT
00004cdb: JUMPDEST
00004cdc: POP
00004cdd: MLOAD
00004cde: SWAP2
00004cdf: SWAP1
00004ce0: POP
00004ce1: JUMP
00004ce2: JUMPDEST
00004ce3: PUSH1 0x00
00004ce5: DUP2
00004ce6: PUSH1 0x00
00004ce8: NOT
00004ce9: DIV
00004cea: DUP4
00004ceb: GT
00004cec: DUP3
00004ced: ISZERO
00004cee: ISZERO
00004cef: AND
00004cf0: ISZERO
00004cf1: PUSH2 0x4cfc
00004cf4: JUMPI
00004cf5: PUSH2 0x4cfc
00004cf8: PUSH2 0x4c7b
00004cfb: JUMP
00004cfc: JUMPDEST
00004cfd: POP
00004cfe: MUL
00004cff: SWAP1
00004d00: JUMP
00004d01: JUMPDEST
00004d02: PUSH1 0x00
00004d04: DUP3
00004d05: PUSH2 0x4d1e
00004d08: JUMPI
00004d09: PUSH4 0x4e487b71
00004d0e: PUSH1 0xe0
00004d10: SHL
00004d11: PUSH1 0x00
00004d13: MSTORE
00004d14: PUSH1 0x12
00004d16: PUSH1 0x04
00004d18: MSTORE
00004d19: PUSH1 0x24
00004d1b: PUSH1 0x00
00004d1d: REVERT
00004d1e: JUMPDEST
00004d1f: POP
00004d20: DIV
00004d21: SWAP1
00004d22: JUMP
00004d23: JUMPDEST
00004d24: PUSH1 0x20
00004d26: DUP1
00004d27: DUP3
00004d28: MSTORE
00004d29: PUSH1 0x2b
00004d2b: SWAP1
00004d2c: DUP3
00004d2d: ADD
00004d2e: MSTORE
00004d2f: PUSH32 0x496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069
00004d50: PUSH1 0x40
00004d52: DUP3
00004d53: ADD
00004d54: MSTORE
00004d55: PUSH11 0x6e697469616c697a696e67
00004d61: PUSH1 0xa8
00004d63: SHL
00004d64: PUSH1 0x60
00004d66: DUP3
00004d67: ADD
00004d68: MSTORE
00004d69: PUSH1 0x80
00004d6b: ADD
00004d6c: SWAP1
00004d6d: JUMP
00004d6e: JUMPDEST
00004d6f: PUSH1 0x00
00004d71: PUSH1 0x20
00004d73: DUP3
00004d74: DUP5
00004d75: SUB
00004d76: SLT
00004d77: ISZERO
00004d78: PUSH2 0x4d80
00004d7b: JUMPI
00004d7c: PUSH1 0x00
00004d7e: DUP1
00004d7f: REVERT
00004d80: JUMPDEST
00004d81: DUP2
00004d82: MLOAD
00004d83: PUSH2 0x311d
00004d86: DUP2
00004d87: PUSH2 0x4669
00004d8a: JUMP
00004d8b: JUMPDEST
00004d8c: PUSH1 0x00
00004d8e: DUP3
00004d8f: DUP3
00004d90: LT
00004d91: ISZERO
00004d92: PUSH2 0x4d9d
00004d95: JUMPI
00004d96: PUSH2 0x4d9d
00004d99: PUSH2 0x4c7b
00004d9c: JUMP
00004d9d: JUMPDEST
00004d9e: POP
00004d9f: SUB
00004da0: SWAP1
00004da1: JUMP
00004da2: JUMPDEST
00004da3: PUSH1 0x00
00004da5: DUP3
00004da6: NOT
00004da7: DUP3
00004da8: GT
00004da9: ISZERO
00004daa: PUSH2 0x4db5
00004dad: JUMPI
00004dae: PUSH2 0x4db5
00004db1: PUSH2 0x4c7b
00004db4: JUMP
00004db5: JUMPDEST
00004db6: POP
00004db7: ADD
00004db8: SWAP1
00004db9: JUMP
00004dba: JUMPDEST
00004dbb: PUSH1 0x20
00004dbd: DUP1
00004dbe: DUP3
00004dbf: MSTORE
00004dc0: PUSH1 0x14
00004dc2: SWAP1
00004dc3: DUP3
00004dc4: ADD
00004dc5: MSTORE
00004dc6: PUSH20 0x4d563a20696e76616c696420726f756e64696e67
00004ddb: PUSH1 0x60
00004ddd: SHL
00004dde: PUSH1 0x40
00004de0: DUP3
00004de1: ADD
00004de2: MSTORE
00004de3: PUSH1 0x60
00004de5: ADD
00004de6: SWAP1
00004de7: JUMP
00004de8: JUMPDEST
00004de9: PUSH1 0x00
00004deb: PUSH1 0x20
00004ded: DUP3
00004dee: DUP5
00004def: SUB
00004df0: SLT
00004df1: ISZERO
00004df2: PUSH2 0x4dfa
00004df5: JUMPI
00004df6: PUSH1 0x00
00004df8: DUP1
00004df9: REVERT
00004dfa: JUMPDEST
00004dfb: DUP2
00004dfc: MLOAD
00004dfd: PUSH1 0xff
00004dff: DUP2
00004e00: AND
00004e01: DUP2
00004e02: EQ
00004e03: PUSH2 0x311d
00004e06: JUMPI
00004e07: PUSH1 0x00
00004e09: DUP1
00004e0a: REVERT
00004e0b: JUMPDEST
00004e0c: PUSH4 0x4e487b71
00004e11: PUSH1 0xe0
00004e13: SHL
00004e14: PUSH1 0x00
00004e16: MSTORE
00004e17: PUSH1 0x31
00004e19: PUSH1 0x04
00004e1b: MSTORE
00004e1c: PUSH1 0x24
00004e1e: PUSH1 0x00
00004e20: REVERT
00004e21: JUMPDEST
00004e22: PUSH1 0x01
00004e24: DUP2
00004e25: DUP2
00004e26: JUMPDEST
00004e27: DUP1
00004e28: DUP6
00004e29: GT
00004e2a: ISZERO
00004e2b: PUSH2 0x4e5c
00004e2e: JUMPI
00004e2f: DUP2
00004e30: PUSH1 0x00
00004e32: NOT
00004e33: DIV
00004e34: DUP3
00004e35: GT
00004e36: ISZERO
00004e37: PUSH2 0x4e42
00004e3a: JUMPI
00004e3b: PUSH2 0x4e42
00004e3e: PUSH2 0x4c7b
00004e41: JUMP
00004e42: JUMPDEST
00004e43: DUP1
00004e44: DUP6
00004e45: AND
00004e46: ISZERO
00004e47: PUSH2 0x4e4f
00004e4a: JUMPI
00004e4b: SWAP2
00004e4c: DUP2
00004e4d: MUL
00004e4e: SWAP2
00004e4f: JUMPDEST
00004e50: SWAP4
00004e51: DUP5
00004e52: SHR
00004e53: SWAP4
00004e54: SWAP1
00004e55: DUP1
00004e56: MUL
00004e57: SWAP1
00004e58: PUSH2 0x4e26
00004e5b: JUMP
00004e5c: JUMPDEST
00004e5d: POP
00004e5e: SWAP3
00004e5f: POP
00004e60: SWAP3
00004e61: SWAP1
00004e62: POP
00004e63: JUMP
00004e64: JUMPDEST
00004e65: PUSH1 0x00
00004e67: DUP3
00004e68: PUSH2 0x4e73
00004e6b: JUMPI
00004e6c: POP
00004e6d: PUSH1 0x01
00004e6f: PUSH2 0x3120
00004e72: JUMP
00004e73: JUMPDEST
00004e74: DUP2
00004e75: PUSH2 0x4e80
00004e78: JUMPI
00004e79: POP
00004e7a: PUSH1 0x00
00004e7c: PUSH2 0x3120
00004e7f: JUMP
00004e80: JUMPDEST
00004e81: DUP2
00004e82: PUSH1 0x01
00004e84: DUP2
00004e85: EQ
00004e86: PUSH2 0x4e96
00004e89: JUMPI
00004e8a: PUSH1 0x02
00004e8c: DUP2
00004e8d: EQ
00004e8e: PUSH2 0x4ea0
00004e91: JUMPI
00004e92: PUSH2 0x4ebc
00004e95: JUMP
00004e96: JUMPDEST
00004e97: PUSH1 0x01
00004e99: SWAP2
00004e9a: POP
00004e9b: POP
00004e9c: PUSH2 0x3120
00004e9f: JUMP
00004ea0: JUMPDEST
00004ea1: PUSH1 0xff
00004ea3: DUP5
00004ea4: GT
00004ea5: ISZERO
00004ea6: PUSH2 0x4eb1
00004ea9: JUMPI
00004eaa: PUSH2 0x4eb1
00004ead: PUSH2 0x4c7b
00004eb0: JUMP
00004eb1: JUMPDEST
00004eb2: POP
00004eb3: POP
00004eb4: PUSH1 0x01
00004eb6: DUP3
00004eb7: SHL
00004eb8: PUSH2 0x3120
00004ebb: JUMP
00004ebc: JUMPDEST
00004ebd: POP
00004ebe: PUSH1 0x20
00004ec0: DUP4
00004ec1: LT
00004ec2: PUSH2 0x0133
00004ec5: DUP4
00004ec6: LT
00004ec7: AND
00004ec8: PUSH1 0x4e
00004eca: DUP5
00004ecb: LT
00004ecc: PUSH1 0x0b
00004ece: DUP5
00004ecf: LT
00004ed0: AND
00004ed1: OR
00004ed2: ISZERO
00004ed3: PUSH2 0x4edf
00004ed6: JUMPI
00004ed7: POP
00004ed8: DUP2
00004ed9: DUP2
00004eda: EXP
00004edb: PUSH2 0x3120
00004ede: JUMP
00004edf: JUMPDEST
00004ee0: PUSH2 0x4ee9
00004ee3: DUP4
00004ee4: DUP4
00004ee5: PUSH2 0x4e21
00004ee8: JUMP
00004ee9: JUMPDEST
00004eea: DUP1
00004eeb: PUSH1 0x00
00004eed: NOT
00004eee: DIV
00004eef: DUP3
00004ef0: GT
00004ef1: ISZERO
00004ef2: PUSH2 0x4efd
00004ef5: JUMPI
00004ef6: PUSH2 0x4efd
00004ef9: PUSH2 0x4c7b
00004efc: JUMP
00004efd: JUMPDEST
00004efe: MUL
00004eff: SWAP4
00004f00: SWAP3
00004f01: POP
00004f02: POP
00004f03: POP
00004f04: JUMP
00004f05: JUMPDEST
00004f06: PUSH1 0x00
00004f08: PUSH2 0x311d
00004f0b: DUP4
00004f0c: DUP4
00004f0d: PUSH2 0x4e64
00004f10: JUMP
00004f11: JUMPDEST
00004f12: PUSH1 0x00
00004f14: JUMPDEST
00004f15: DUP4
00004f16: DUP2
00004f17: LT
00004f18: ISZERO
00004f19: PUSH2 0x4f2c
00004f1c: JUMPI
00004f1d: DUP2
00004f1e: DUP2
00004f1f: ADD
00004f20: MLOAD
00004f21: DUP4
00004f22: DUP3
00004f23: ADD
00004f24: MSTORE
00004f25: PUSH1 0x20
00004f27: ADD
00004f28: PUSH2 0x4f14
00004f2b: JUMP
00004f2c: JUMPDEST
00004f2d: DUP4
00004f2e: DUP2
00004f2f: GT
00004f30: ISZERO
00004f31: PUSH2 0x2200
00004f34: JUMPI
00004f35: POP
00004f36: POP
00004f37: PUSH1 0x00
00004f39: SWAP2
00004f3a: ADD
00004f3b: MSTORE
00004f3c: JUMP
00004f3d: JUMPDEST
00004f3e: PUSH1 0x00
00004f40: DUP3
00004f41: MLOAD
00004f42: PUSH2 0x4f4f
00004f45: DUP2
00004f46: DUP5
00004f47: PUSH1 0x20
00004f49: DUP8
00004f4a: ADD
00004f4b: PUSH2 0x4f11
00004f4e: JUMP
00004f4f: JUMPDEST
00004f50: SWAP2
00004f51: SWAP1
00004f52: SWAP2
00004f53: ADD
00004f54: SWAP3
00004f55: SWAP2
00004f56: POP
00004f57: POP
00004f58: JUMP
00004f59: JUMPDEST
00004f5a: PUSH1 0x20
00004f5c: DUP2
00004f5d: MSTORE
00004f5e: PUSH1 0x00
00004f60: DUP3
00004f61: MLOAD
00004f62: DUP1
00004f63: PUSH1 0x20
00004f65: DUP5
00004f66: ADD
00004f67: MSTORE
00004f68: PUSH2 0x4f78
00004f6b: DUP2
00004f6c: PUSH1 0x40
00004f6e: DUP6
00004f6f: ADD
00004f70: PUSH1 0x20
00004f72: DUP8
00004f73: ADD
00004f74: PUSH2 0x4f11
00004f77: JUMP
00004f78: JUMPDEST
00004f79: PUSH1 0x1f
00004f7b: ADD
00004f7c: PUSH1 0x1f
00004f7e: NOT
00004f7f: AND
00004f80: SWAP2
00004f81: SWAP1
00004f82: SWAP2
00004f83: ADD
00004f84: PUSH1 0x40
00004f86: ADD
00004f87: SWAP3
00004f88: SWAP2
00004f89: POP
00004f8a: POP
00004f8b: JUMP
00004f8c: INVALID
00004f8d: LOG2
00004f8e: PUSH5 0x6970667358
00004f94: UNKNOWN(0x22)
00004f95: SLT
00004f96: KECCAK256
00004f97: UNKNOWN(0xF7)
00004f98: UNKNOWN(0xDE)
00004f99: UNKNOWN(0xE1)
00004f9a: EQ
00004f9b: PUSH19 0xf404bcc6aa493cd0570871d6a1ac6466323657
00004faf: UNKNOWN(0xCC)
00004fb0: UNKNOWN(0xA8)
00004fb1: CALLCODE
00004fb2: PUSH18

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0xd3b37cfb28eb3010f95740fdbe126a56ce97d663fcba99a46476f92bb6655bff
call_targets: 0x570c15bc5faf98531a8b351d69e22e41e3505e47
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xd3b37cfb28eb3010f95740fdbe126a56ce97d663fcba99a46476f92bb6655bff",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x570c15bc5faf98531a8b351d69e22e41e3505e47"
    ],
    "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": "0xeaf896fd",
            "selector": "0xeaf896fd",
            "calldata_variants": [
                "0xeaf896fd",
                "0xeaf896fd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xec571c6a",
            "selector": "0xec571c6a",
            "calldata_variants": [
                "0xec571c6a",
                "0xec571c6a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xef3d7e6c",
            "selector": "0xef3d7e6c",
            "calldata_variants": [
                "0xef3d7e6c",
                "0xef3d7e6c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xefdcd974",
            "selector": "0xefdcd974",
            "calldata_variants": [
                "0xefdcd974",
                "0xefdcd9740000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf41759e7",
            "selector": "0xf41759e7",
            "calldata_variants": [
                "0xf41759e7",
                "0xf41759e70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf5d46c51",
            "selector": "0xf5d46c51",
            "calldata_variants": [
                "0xf5d46c51",
                "0xf5d46c510000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd0081c7",
            "selector": "0xdd0081c7",
            "calldata_variants": [
                "0xdd0081c7",
                "0xdd0081c70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe428877e",
            "selector": "0xe428877e",
            "calldata_variants": [
                "0xe428877e",
                "0xe428877e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 10352,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 11891,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 12174,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 5,
    "guards_detected": [],
    "untrusted_call_count": 5
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0xd3b37cfb28eb3010f95740fdbe126a56ce97d663fcba99a46476f92bb6655bff
call_targets: 0x570c15bc5faf98531a8b351d69e22e41e3505e47
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xd3b37cfb28eb3010f95740fdbe126a56ce97d663fcba99a46476f92bb6655bff",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x570c15bc5faf98531a8b351d69e22e41e3505e47"
    ],
    "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": "0xeaf896fd",
            "selector": "0xeaf896fd",
            "calldata_variants": [
                "0xeaf896fd",
                "0xeaf896fd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xec571c6a",
            "selector": "0xec571c6a",
            "calldata_variants": [
                "0xec571c6a",
                "0xec571c6a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xef3d7e6c",
            "selector": "0xef3d7e6c",
            "calldata_variants": [
                "0xef3d7e6c",
                "0xef3d7e6c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xefdcd974",
            "selector": "0xefdcd974",
            "calldata_variants": [
                "0xefdcd974",
                "0xefdcd9740000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf41759e7",
            "selector": "0xf41759e7",
            "calldata_variants": [
                "0xf41759e7",
                "0xf41759e70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf5d46c51",
            "selector": "0xf5d46c51",
            "calldata_variants": [
                "0xf5d46c51",
                "0xf5d46c510000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd0081c7",
            "selector": "0xdd0081c7",
            "calldata_variants": [
                "0xdd0081c7",
                "0xdd0081c70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe428877e",
            "selector": "0xe428877e",
            "calldata_variants": [
                "0xe428877e",
                "0xe428877e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 10352,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 11891,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 12174,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 5,
    "guards_detected": []
}
medium oracle codex Redemption requests lock in unvalidated tokenOutRate, enabling oracle manipulation or stuck approvals 75 no
view
evidence_json
{
    "evidence": "_redeemRequest stores rates without checks (`tokenOutRate = _getTokenRate(...)`, `mTokenRate = mTokenDataFeed.getDataInBase18()`), while `_approveRequest` later computes `amountTokenOutWithoutFee = (request.amountMToken * newMTokenRate) / request.tokenOutRate` and only validates `request.mTokenRate` via `_requireVariationTolerance`.",
    "locations": [
        "contracts/contracts/RedemptionVault.sol:659",
        "contracts/contracts/RedemptionVault.sol:664",
        "contracts/contracts/RedemptionVault.sol:481",
        "contracts/contracts/RedemptionVault.sol:489"
    ],
    "recommendation": "Recompute tokenOutRate (and mTokenRate) at approval time or enforce a deviation tolerance for both rates before approving. Require non-zero rates when creating requests and reject stale/invalid oracle responses.",
    "exploit_scenario": "An attacker can create a redeem request while the tokenOut data feed is manipulated to a very low value (or returns 0). The request stores this tokenOutRate, and approval later uses it without revalidation, so `amountTokenOutWithoutFee` becomes inflated and the requester can receive excess tokenOut. If the stored rate is 0, approvals revert on division-by-zero and the request becomes permanently stuck, locking user mToken."
}
medium access_control codex Swapper redemption bypasses downstream vault user restrictions 75 no
view
evidence_json
{
    "evidence": "Swapper invokes `mTbillRedemptionVault.redeemInstant(...)`, while the downstream vault\u2019s `redeemInstant` checks `_validateUserAccess(msg.sender)` (the swapper contract).",
    "locations": [
        "contracts/contracts/RedemptionVaultWithSwapper.sol:176",
        "contracts/contracts/RedemptionVaultWithSwapper.sol:181",
        "contracts/contracts/RedemptionVault.sol:165"
    ],
    "recommendation": "Ensure the swapper enforces the same greenlist/blacklist/sanctions rules as the downstream vault, or add a redeem-on-behalf method in the downstream vault that validates the end user. Otherwise restrict the swapper from interacting with vaults that have stricter access lists.",
    "exploit_scenario": "When liquidity is insufficient, the swapper calls `mTbillRedemptionVault.redeemInstant` as itself. The downstream vault validates `msg.sender`, so only the swapper address is checked. Any user permitted by the swapper vault\u2014even if blacklisted/sanctioned in the mTbill vault\u2014can redeem through this path and receive funds, bypassing the mTbill vault\u2019s user-level restrictions."
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 21
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 20
}