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

Analysis Run

590ab4c5-8d96-47c8-9fc0-f26f3c909cb4

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

What survived the funnel

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

Confirmed
0
Validated
0
Source
Verified
Review Backing
Present
Best current signal
SELFDESTRUCT present
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
30470 report.consolidate complete 1 / 1 3 months ago
103679 artifact.fetch failed 1 / 3 1 week ago
103680 tool.cast_disasm complete 1 / 3 1 week ago
103681 analysis.bundle complete 1 / 3 1 week ago
103682 capability.graph complete 1 / 3 1 week ago
103683 detector.run complete 1 / 3 1 week ago
103684 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
1
No findings?
no
Summary
Queued inbound/outbound transfers bypass rate‑limit accounting, allowing throughput above configured caps after the waiting period.
View stderr
[codex:1084138] OpenAI Codex v0.77.0 (research preview)
[codex:1084138] --------
[codex:1084138] workdir: /tmp/codex-multi-h8xt1f_p
[codex:1084138] model: gpt-5.2-codex
[codex:1084138] provider: openai
[codex:1084138] approval: never
[codex:1084138] sandbox: read-only
[codex:1084138] reasoning effort: xhigh
[codex:1084138] reasoning summaries: auto
[codex:1084138] session id: 019b6921-e37d-7331-85df-bdfed6f8a2b8
[codex:1084138] --------
[codex:1084138] user
[codex:1084138] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:1084138] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:1084138] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:1084138] 
[codex:1084138] Scope rules:
[codex:1084138] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:1084138] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:1084138] 
[codex:1084138] Output MUST be valid JSON matching the provided schema.
[codex:1084138] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:1084138] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:1084138] 
[codex:1084138] Output constraints (IMPORTANT):
[codex:1084138] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1084138] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1084138] mcp startup: no servers
[codex:1084138] 
[codex:1084138] thinking
[codex:1084138] **Deciding how to read instructions**
[codex:1084138] exec
[codex:1084138] /bin/bash -lc ls in /tmp/codex-multi-h8xt1f_p succeeded in 5ms:
[codex:1084138] AUDIT_BUNDLE.txt
[codex:1084138] codex-output-schema.json
[codex:1084138] contracts
[codex:1084138] 
[codex:1084138] thinking
[codex:1084138] **Reading AUDIT_BUNDLE content**
[codex:1084138] exec
[codex:1084138] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-h8xt1f_p succeeded in 6ms:
[codex:1084138] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1084138] 
[codex:1084138] ================================================================================
[codex:1084138] FILE: contracts/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol
[codex:1084138] ================================================================================
[codex:1084138] // SPDX-License-Identifier: MIT
[codex:1084138] // OpenZeppelin Contracts (last updated v4.5.0) (interfaces/draft-IERC1822.sol)
[codex:1084138] 
[codex:1084138] pragma solidity ^0.8.0;
[codex:1084138] 
[codex:1084138] /**
[codex:1084138]  * @dev ERC1822: Universal Upgradeable Proxy Standard (UUPS) documents a method for upgradeability through a simplified
[codex:1084138]  * proxy whose upgrades are fully controlled by the current implementation.
[codex:1084138]  */
[codex:1084138] interface IERC1822Proxiable {
[codex:1084138]     /**
[codex:1084138]      * @dev Returns the storage slot that the proxiable contract assumes is being used to store the implementation
[codex:1084138]      * address.
[codex:1084138]      *
[codex:1084138]      * IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks
[codex:1084138] 
[codex:1084138] thinking
[codex:1084138] **Searching for first-party contracts in AUDIT_BUNDLE**
[codex:1084138] exec
[codex:1084138] /bin/bash -lc 'rg "FILE: contracts/src" -n AUDIT_BUNDLE.txt' in /tmp/codex-multi-h8xt1f_p succeeded in 7ms:
[codex:1084138] 4467:FILE: contracts/src/NttManager/ManagerBase.sol
[codex:1084138] 4935:FILE: contracts/src/NttManager/NttManager.sol
[codex:1084138] 5509:FILE: contracts/src/NttManager/TransceiverRegistry.sol
[codex:1084138] 5814:FILE: contracts/src/interfaces/IManagerBase.sol
[codex:1084138] 6000:FILE: contracts/src/interfaces/INttManager.sol
[codex:1084138] 6239:FILE: contracts/src/interfaces/INttToken.sol
[codex:1084138] 6279:FILE: contracts/src/interfaces/IOwnableUpgradeable.sol
[codex:1084138] 6290:FILE: contracts/src/interfaces/IRateLimiter.sol
[codex:1084138] 6394:FILE: contracts/src/interfaces/IRateLimiterEvents.sol
[codex:1084138] 6426:FILE: contracts/src/interfaces/ITransceiver.sol
[codex:1084138] 6499:FILE: contracts/src/libraries/Implementation.sol
[codex:1084138] 6607:FILE: contracts/src/libraries/PausableOwnable.sol
[codex:1084138] 6651:FILE: contracts/src/libraries/PausableUpgradeable.sol
[codex:1084138] 6815:FILE: contracts/src/libraries/RateLimiter.sol
[codex:1084138] 7138:FILE: contracts/src/libraries/TransceiverHelpers.sol
[codex:1084138] 7170:FILE: contracts/src/libraries/TransceiverStructs.sol
[codex:1084138] 7626:FILE: contracts/src/libraries/TrimmedAmount.sol
[codex:1084138] 7818:FILE: contracts/src/libraries/external/ContextUpgradeable.sol
[codex:1084138] 7859:FILE: contracts/src/libraries/external/Initializable.sol
[codex:1084138] 8095:FILE: contracts/src/libraries/external/OwnableUpgradeable.sol
[codex:1084138] 
[codex:1084138] thinking
[codex:1084138] **Distinguishing first-party from third-party code**
[codex:1084138] exec
[codex:1084138] /bin/bash -lc "sed -n '4467,4934p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-h8xt1f_p succeeded in 6ms:
[codex:1084138] FILE: contracts/src/NttManager/ManagerBase.sol
[codex:1084138] ================================================================================
[codex:1084138] // SPDX-License-Identifier: Apache 2
[codex:1084138] pragma solidity >=0.8.8 <0.9.0;
[codex:1084138] 
[codex:1084138] import "wormhole-solidity-sdk/Utils.sol";
[codex:1084138] import "wormhole-solidity-sdk/libraries/BytesParsing.sol";
[codex:1084138] 
[codex:1084138] import "../libraries/external/OwnableUpgradeable.sol";
[codex:1084138] import "../libraries/external/ReentrancyGuardUpgradeable.sol";
[codex:1084138] import "../libraries/TransceiverStructs.sol";
[codex:1084138] import "../libraries/TransceiverHelpers.sol";
[codex:1084138] import "../libraries/PausableOwnable.sol";
[codex:1084138] import "../libraries/Implementation.sol";
[codex:1084138] 
[codex:1084138] import "../interfaces/ITransceiver.sol";
[codex:1084138] import "../interfaces/IManagerBase.sol";
[codex:1084138] 
[codex:1084138] import "./TransceiverRegistry.sol";
[codex:1084138] 
[codex:1084138] 
[codex:1084138] thinking
[codex:1084138] **Identifying next components**
[codex:1084138] exec
[codex:1084138] /bin/bash -lc "sed -n '4935,5508p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-h8xt1f_p succeeded in 5ms:
[codex:1084138] FILE: contracts/src/NttManager/NttManager.sol
[codex:1084138] ================================================================================
[codex:1084138] // SPDX-License-Identifier: Apache 2
[codex:1084138] pragma solidity >=0.8.8 <0.9.0;
[codex:1084138] 
[codex:1084138] import "openzeppelin-contracts/contracts/token/ERC20/IERC20.sol";
[codex:1084138] import "openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:1084138] import "openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Burnable.sol";
[codex:1084138] import "wormhole-solidity-sdk/Utils.sol";
[codex:1084138] import "wormhole-solidity-sdk/libraries/BytesParsing.sol";
[codex:1084138] 
[codex:1084138] import "../libraries/RateLimiter.sol";
[codex:1084138] 
[codex:1084138] import "../interfaces/INttManager.sol";
[codex:1084138] import "../interfaces/INttToken.sol";
[codex:1084138] import "../interfaces/ITransceiver.sol";
[codex:1084138] 
[codex:1084138] import {ManagerBase} from "./ManagerBase.sol";
[codex:1084138] 
[codex:1084138] /// @title NttManager
[codex:1084138] 
[codex:1084138] thinking
[codex:1084138] **Moving to TransceiverRegistry**
[codex:1084138] exec
[codex:1084138] /bin/bash -lc "sed -n '5509,5813p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-h8xt1f_p succeeded in 6ms:
[codex:1084138] FILE: contracts/src/NttManager/TransceiverRegistry.sol
[codex:1084138] ================================================================================
[codex:1084138] // SPDX-License-Identifier: Apache 2
[codex:1084138] pragma solidity >=0.8.8 <0.9.0;
[codex:1084138] 
[codex:1084138] /// @title TransceiverRegistry
[codex:1084138] /// @author Wormhole Project Contributors.
[codex:1084138] /// @notice This contract is responsible for handling the registration of Transceivers.
[codex:1084138] /// @dev This contract checks that a few critical invariants hold when transceivers are added or removed,
[codex:1084138] ///      including:
[codex:1084138] ///         1. If a transceiver is not registered, it should be enabled.
[codex:1084138] ///         2. The value set in the bitmap of trannsceivers
[codex:1084138] ///            should directly correspond to the whether the transceiver is enabled
[codex:1084138] abstract contract TransceiverRegistry {
[codex:1084138]     constructor() {
[codex:1084138]         _checkTransceiversInvariants();
[codex:1084138]     }
[codex:1084138] 
[codex:1084138]     /// @dev Information about registered transceivers.
[codex:1084138]     struct TransceiverInfo {
[codex:1084138] 
[codex:1084138] thinking
[codex:1084138] **Inspecting relevant interfaces and libraries**
[codex:1084138] exec
[codex:1084138] /bin/bash -lc "sed -n '5814,6498p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-h8xt1f_p succeeded in 6ms:
[codex:1084138] FILE: contracts/src/interfaces/IManagerBase.sol
[codex:1084138] ================================================================================
[codex:1084138] // SPDX-License-Identifier: Apache 2
[codex:1084138] pragma solidity >=0.8.8 <0.9.0;
[codex:1084138] 
[codex:1084138] import "../libraries/TransceiverStructs.sol";
[codex:1084138] 
[codex:1084138] interface IManagerBase {
[codex:1084138]     /// @notice The mode is either LOCKING or BURNING. In LOCKING mode, the NttManager locks the
[codex:1084138]     ///         tokens of the sender and mints an equivalent amount on the target chain. In BURNING
[codex:1084138]     ///         mode, the NttManager burns the tokens of the sender and mints an equivalent amount
[codex:1084138]     ///         on the target chain.LOCKING mode preserves the total supply of the tokens.
[codex:1084138]     enum Mode {
[codex:1084138]         LOCKING,
[codex:1084138]         BURNING
[codex:1084138]     }
[codex:1084138] 
[codex:1084138]     /// @notice Information about attestations for a given message.
[codex:1084138]     /// @dev The fields are as follows:
[codex:1084138]     ///      - executed: whether the message has been executed.
[codex:1084138] 
[codex:1084138] thinking
[codex:1084138] **Identifying required libraries**
[codex:1084138] exec
[codex:1084138] /bin/bash -lc "sed -n '6499,7817p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-h8xt1f_p succeeded in 7ms:
[codex:1084138] FILE: contracts/src/libraries/Implementation.sol
[codex:1084138] ================================================================================
[codex:1084138] // SPDX-License-Identifier: Apache 2
[codex:1084138] pragma solidity >=0.8.8 <0.9.0;
[codex:1084138] 
[codex:1084138] import "./external/Initializable.sol";
[codex:1084138] import "openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol";
[codex:1084138] 
[codex:1084138] /// @dev This contract should be used as a base contract for implementation contracts
[codex:1084138] ///      that are used with ERC1967Proxy.
[codex:1084138] ///      It ensures that the contract cannot be initialized directly, only through
[codex:1084138] ///      the proxy (by disabling initializers in the constructor).
[codex:1084138] ///      It also exposes a migrate function that is called during upgrades.
[codex:1084138] abstract contract Implementation is Initializable, ERC1967Upgrade {
[codex:1084138]     address immutable _this;
[codex:1084138] 
[codex:1084138]     error OnlyDelegateCall();
[codex:1084138]     error NotMigrating();
[codex:1084138] 
[codex:1084138]     constructor() {
[codex:1084138] 
[codex:1084138] thinking
[codex:1084138] **Locating full RateLimiter and TransceiverHelpers code**
[codex:1084138] exec
[codex:1084138] /bin/bash -lc 'rg -n "FILE: contracts/src/libraries/TransceiverHelpers.sol" AUDIT_BUNDLE.txt' in /tmp/codex-multi-h8xt1f_p succeeded in 9ms:
[codex:1084138] 7138:FILE: contracts/src/libraries/TransceiverHelpers.sol
[codex:1084138] 
[codex:1084138] thinking
[codex:1084138] **Extracting RateLimiter code segment**
[codex:1084138] exec
[codex:1084138] /bin/bash -lc "sed -n '6815,7137p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-h8xt1f_p succeeded in 6ms:
[codex:1084138] FILE: contracts/src/libraries/RateLimiter.sol
[codex:1084138] ================================================================================
[codex:1084138] // SPDX-License-Identifier: Apache 2
[codex:1084138] pragma solidity >=0.8.8 <0.9.0;
[codex:1084138] 
[codex:1084138] import "../interfaces/IRateLimiter.sol";
[codex:1084138] import "../interfaces/IRateLimiterEvents.sol";
[codex:1084138] import "./TransceiverHelpers.sol";
[codex:1084138] import "./TransceiverStructs.sol";
[codex:1084138] import "../libraries/TrimmedAmount.sol";
[codex:1084138] import "openzeppelin-contracts/contracts/utils/math/SafeCast.sol";
[codex:1084138] 
[codex:1084138] abstract contract RateLimiter is IRateLimiter, IRateLimiterEvents {
[codex:1084138]     using TrimmedAmountLib for TrimmedAmount;
[codex:1084138] 
[codex:1084138]     /// @dev The duration (in seconds) it takes for the limits to fully replenish.
[codex:1084138]     uint64 public immutable rateLimitDuration;
[codex:1084138] 
[codex:1084138]     /// =============== STORAGE ===============================================
[codex:1084138] 
[codex:1084138] 
[codex:1084138] thinking
[codex:1084138] **Inspecting TransceiverHelpers and TransceiverStructs**
[codex:1084138] exec
[codex:1084138] /bin/bash -lc "sed -n '7138,7625p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-h8xt1f_p succeeded in 6ms:
[codex:1084138] FILE: contracts/src/libraries/TransceiverHelpers.sol
[codex:1084138] ================================================================================
[codex:1084138] // SPDX-License-Identifier: Apache 2
[codex:1084138] pragma solidity >=0.8.8 <0.9.0;
[codex:1084138] 
[codex:1084138] error InvalidFork(uint256 evmChainId, uint256 blockChainId);
[codex:1084138] 
[codex:1084138] function checkFork(uint256 evmChainId) view {
[codex:1084138]     if (isFork(evmChainId)) {
[codex:1084138]         revert InvalidFork(evmChainId, block.chainid);
[codex:1084138]     }
[codex:1084138] }
[codex:1084138] 
[codex:1084138] function isFork(uint256 evmChainId) view returns (bool) {
[codex:1084138]     return evmChainId != block.chainid;
[codex:1084138] }
[codex:1084138] 
[codex:1084138] function min(uint256 a, uint256 b) pure returns (uint256) {
[codex:1084138]     return a < b ? a : b;
[codex:1084138] }
[codex:1084138] 
[codex:1084138] 
[codex:1084138] 
[codex:1084138] 
[codex:1084138] 
[codex:1084138] 
[codex:1084138] 
[codex:1084138] thinking
[codex:1084138] **Analyzing potential security and reentrancy risks**
[codex:1084138] 
[codex:1084138] I've gone through key functions in depth, checking reentrancy guards, access controls, upgrade safety, and message approval logic. I'm weighing if external calls to tokens or refunds could enable malicious reentrancy or state manipulation, considering rate limits and execution flow carefully to spot vulnerabilities or design quirks that might be risky.
[codex:1084138] thinking
[codex:1084138] **Investigating message execution and transceiver logic**
[codex:1084138] 
[codex:1084138] I’m unpacking how messages get marked executed before full validation, considering if malformed or misrouted messages could cause permanent blocking. I’m also spotting a logic mismatch in transceiver instruction indexing that risks out-of-bounds errors in quote calculations, plus a few subtle quirks around refund handling and rate limit checks that might affect behavior or user experience.
[codex:1084138] thinking
[codex:1084138] **Analyzing reentrancy, rate limiting, and initialization nuances**
[codex:1084138] 
[codex:1084138] I’m reviewing how nonReentrant guards interact with rate limit checks in queued transfers and exploring potential reentrancy scenarios during token minting and message execution. I’m also examining token handling assumptions, upgrade initialization flows, and some solidity function misannotations that might affect correctness but not security.
[codex:1084138] thinking
[codex:1084138] **Evaluating transceiver management and rate limit queuing behavior**
[codex:1084138] 
[codex:1084138] I’m checking whether enabling/disabling transceivers can cause duplicates in enabled lists and exploring how queued inbound/outbound transfers interact with rate limits—especially how queued inbound transfers bypass capacity consumption on completion, possibly allowing more throughput than intended. I’m also reviewing upgrade calls, token decimals handling, and message execution state management to ensure they align correctly.
[codex:1084138] thinking
[codex:1084138] **Analyzing rate limit bypass via queued transfers**
[codex:1084138] 
[codex:1084138] I’m reviewing how queued outbound and inbound transfers don’t consume capacity when completed, letting users exceed rate limits after delays by batching many transfers for later execution. This design seems to treat queued transfers as delayed rather than limited throughput, which breaks rate limit accounting and might undermine intended transfer caps over time. I'm also considering other side effects around upgrade immutables and external call patterns.
[codex:1084138] thinking
[codex:1084138] **Reviewing immutable checks and message approval nuances**
[codex:1084138] 
[codex:1084138] I’m examining how immutable variables aren’t effectively checked across upgrades, meaning their values can change without detection—mostly a configuration issue since only the owner can upgrade. I’m also exploring the message approval logic, noticing the digest excludes source manager address, which could lead to subtle replay or collision scenarios after peer changes, though storage separation and attestation checks mostly prevent exploitation.
[codex:1084138] thinking
[codex:1084138] **Summarizing findings and planning report output**
[codex:1084138] 
[codex:1084138] I’m gathering and reviewing all potential issues identified—mainly rate limit bypass and some upgradeability nuances—to prepare a detailed JSON report with severities, categories, titles, scenarios, recommendations, evidence, and file path locations, aiming to include line numbers where possible by inspecting sources carefully.
[codex:1084138] exec
[codex:1084138] /bin/bash -lc 'rg -n "completeOutboundQueuedTransfer|_enqueueOutboundTransfer|_enqueueInboundTransfer|_isOutboundAmountRateLimited|_isInboundAmountRateLimited" contracts/src -g "*.sol"' in /tmp/codex-multi-h8xt1f_p succeeded in 11ms:
[codex:1084138] contracts/src/interfaces/INttManager.sol:163:    function completeOutboundQueuedTransfer(uint64 queueSequence)
[codex:1084138] contracts/src/NttManager/NttManager.sol:221:            bool isRateLimited = _isInboundAmountRateLimited(nativeTransferAmount, sourceChainId);
[codex:1084138] contracts/src/NttManager/NttManager.sol:224:                _enqueueInboundTransfer(digest, nativeTransferAmount, transferRecipient);
[codex:1084138] contracts/src/NttManager/NttManager.sol:261:    function completeOutboundQueuedTransfer(uint64 messageSequence)
[codex:1084138] contracts/src/NttManager/NttManager.sol:389:            bool isAmountRateLimited = _isOutboundAmountRateLimited(internalAmount);
[codex:1084138] contracts/src/NttManager/NttManager.sol:400:                _enqueueOutboundTransfer(
[codex:1084138] contracts/src/libraries/RateLimiter.sol:260:    function _isOutboundAmountRateLimited(TrimmedAmount amount) internal view returns (bool) {
[codex:1084138] contracts/src/libraries/RateLimiter.sol:266:    function _isInboundAmountRateLimited(
[codex:1084138] contracts/src/libraries/RateLimiter.sol:282:    function _enqueueOutboundTransfer(
[codex:1084138] contracts/src/libraries/RateLimiter.sol:304:    function _enqueueInboundTransfer(
[codex:1084138] 
[codex:1084138] thinking
[codex:1084138] **Adding line numbers to NttManager functions**
[codex:1084138] exec
[codex:1084138] /bin/bash -lc "nl -ba contracts/src/NttManager/NttManager.sol | sed -n '200,260p'" in /tmp/codex-multi-h8xt1f_p succeeded in 6ms:
[codex:1084138]    200	            _isMessageExecuted(sourceChainId, sourceNttManagerAddress, message);
[codex:1084138]    201	
[codex:1084138]    202	        if (alreadyExecuted) {
[codex:1084138]    203	            return;
[codex:1084138]    204	        }
[codex:1084138]    205	
[codex:1084138]    206	        TransceiverStructs.NativeTokenTransfer memory nativeTokenTransfer =
[codex:1084138]    207	            TransceiverStructs.parseNativeTokenTransfer(message.payload);
[codex:1084138]    208	
[codex:1084138]    209	        // verify that the destination chain is valid
[codex:1084138]    210	        if (nativeTokenTransfer.toChain != chainId) {
[codex:1084138]    211	            revert InvalidTargetChain(nativeTokenTransfer.toChain, chainId);
[codex:1084138]    212	        }
[codex:1084138]    213	        uint8 toDecimals = tokenDecimals();
[codex:1084138]    214	        TrimmedAmount nativeTransferAmount =
[codex:1084138]    215	            (nativeTokenTransfer.amount.untrim(toDecimals)).trim(toDecimals, toDecimals);
[codex:1084138]    216	
[codex:1084138]    217	        address transferRecipient = fromWormholeFormat(nativeTokenTransfer.to);
[codex:1084138]    218	
[codex:1084138]    219	        {
[codex:1084138] 
[codex:1084138] thinking
[codex:1084138] **Reviewing outbound section lines**
[codex:1084138] exec
[codex:1084138] /bin/bash -lc "nl -ba contracts/src/NttManager/NttManager.sol | sed -n '360,430p'" in /tmp/codex-multi-h8xt1f_p succeeded in 6ms:
[codex:1084138]    360	                    // Accounting for burn fees can be non-trivial, since there
[codex:1084138]    361	                    // is no standard way to account for the fee if the fee amount
[codex:1084138]    362	                    // is taken out of the burn amount.
[codex:1084138]    363	                    // For example, if there's a fee of 1 which is taken out of the
[codex:1084138]    364	                    // amount, then burning 20 tokens would result in a transfer of only 19 tokens.
[codex:1084138]    365	                    // However, the difference in the user's balance would only show 20.
[codex:1084138]    366	                    // Since there is no standard way to query for burn fee amounts with burnable tokens,
[codex:1084138]    367	                    // and NTT would be used on a per-token basis, implementing this functionality
[codex:1084138]    368	                    // is left to integrating projects who may need to account for burn fees on their tokens.
[codex:1084138]    369	                    ERC20Burnable(token).burn(amount);
[codex:1084138]    370	
[codex:1084138]    371	                    // tokens held by the contract after the operation should be the same as before
[codex:1084138]    372	                    uint256 balanceAfterBurn = _getTokenBalanceOf(token, address(this));
[codex:1084138]    373	                    if (balanceBefore != balanceAfterBurn) {
[codex:1084138]    374	                        revert BurnAmountDifferentThanBalanceDiff(balanceBefore, balanceAfterBurn);
[codex:1084138]    375	                    }
[codex:1084138]    376	                }
[codex:1084138]    377	            }
[codex:1084138]    378	        }
[codex:1084138]    379	
[codex:1084138] 
[codex:1084138] thinking
[codex:1084138] **Displaying RateLimiter enqueue and consume lines**
[codex:1084138] exec
[codex:1084138] /bin/bash -lc "nl -ba contracts/src/libraries/RateLimiter.sol | sed -n '250,330p'" in /tmp/codex-multi-h8xt1f_p succeeded in 5ms:
[codex:1084138]    250	    /// This is used to replenish the capacity via backflows.
[codex:1084138]    251	    function _backfillRateLimitAmount(
[codex:1084138]    252	        TrimmedAmount amount,
[codex:1084138]    253	        TrimmedAmount capacity,
[codex:1084138]    254	        RateLimitParams storage rateLimitParams
[codex:1084138]    255	    ) internal {
[codex:1084138]    256	        rateLimitParams.lastTxTimestamp = uint64(block.timestamp);
[codex:1084138]    257	        rateLimitParams.currentCapacity = capacity.saturatingAdd(amount).min(rateLimitParams.limit);
[codex:1084138]    258	    }
[codex:1084138]    259	
[codex:1084138]    260	    function _isOutboundAmountRateLimited(TrimmedAmount amount) internal view returns (bool) {
[codex:1084138]    261	        return rateLimitDuration != 0
[codex:1084138]    262	            ? _isAmountRateLimited(_getCurrentCapacity(getOutboundLimitParams()), amount)
[codex:1084138]    263	            : false;
[codex:1084138]    264	    }
[codex:1084138]    265	
[codex:1084138]    266	    function _isInboundAmountRateLimited(
[codex:1084138]    267	        TrimmedAmount amount,
[codex:1084138]    268	        uint16 chainId_
[codex:1084138]    269	    ) internal view returns (bool) {
[codex:1084138] 
[codex:1084138] thinking
[codex:1084138] **Identifying rate limit issue in NttManager**
[codex:1084138] exec
[codex:1084138] /bin/bash -lc "nl -ba contracts/src/NttManager/NttManager.sol | sed -n '250,330p'" in /tmp/codex-multi-h8xt1f_p succeeded in 5ms:
[codex:1084138]    250	            revert InboundQueuedTransferStillQueued(digest, queuedTransfer.txTimestamp);
[codex:1084138]    251	        }
[codex:1084138]    252	
[codex:1084138]    253	        // remove transfer from the queue
[codex:1084138]    254	        delete _getInboundQueueStorage()[digest];
[codex:1084138]    255	
[codex:1084138]    256	        // run it through the mint/unlock logic
[codex:1084138]    257	        _mintOrUnlockToRecipient(digest, queuedTransfer.recipient, queuedTransfer.amount, false);
[codex:1084138]    258	    }
[codex:1084138]    259	
[codex:1084138]    260	    /// @inheritdoc INttManager
[codex:1084138]    261	    function completeOutboundQueuedTransfer(uint64 messageSequence)
[codex:1084138]    262	        external
[codex:1084138]    263	        payable
[codex:1084138]    264	        nonReentrant
[codex:1084138]    265	        whenNotPaused
[codex:1084138]    266	        returns (uint64)
[codex:1084138]    267	    {
[codex:1084138]    268	        // find the message in the queue
[codex:1084138]    269	        OutboundQueuedTransfer memory queuedTransfer = _getOutboundQueueStorage()[messageSequence];
[codex:1084138] 
[codex:1084138] 
[codex:1084138] thinking
[codex:1084138] **Reviewing potential vulnerabilities and design concerns**
[codex:1084138] thinking
[codex:1084138] ```json
[codex:1084138] {
[codex:1084138]   "no_findings": false,
[codex:1084138]   "summary": "Queued inbound and outbound transfers bypass rate-limit accounting, enabling throughput beyond configured caps after the waiting period.",
[codex:1084138]   "findings": [
[codex:1084138]     {
[codex:1084138]       "severity": "medium",
[codex:1084138]       "category": "other",
[codex:1084138]       "title": "Queued transfers bypass rate-limit accounting",
[codex:1084138]       "exploit_scenario": "An attacker submits transfers until the outbound capacity is exhausted and sets shouldQueue to true. Each transfer is queued without reducing the rate limit capacity. After the rateLimitDuration passes, the attacker calls completeOutboundQueuedTransfer for each queued transfer; since completion skips consuming outbound capacity, all transfers execute regardless of the limit, allowing throughput above the configured cap. Similarly, inbound messages can be flooded and queued when rate-limited, then completed without reducing inbound capacity, effectively bypassing rate limits.",
[codex:1084138]       "recommendation": "Modify the system to consume capacity either at the time of queuing (reserve capacity) or upon completion by recomputing and consuming capacity or rejecting if still limited. For inbound transfers, apply similar rate limit consumption during queueing or completion. Consider summing queued amounts as reserved capacity to enforce the rate limit properly and adjust backfill logic as needed.",
[codex:1084138]       "evidence": "The executeMsg function queues inbound transfers when rate-limited without consuming capacity; completeInboundQueuedTransfer merely mints or unlocks tokens without rate limit adjustments. On the outbound side, _transferEntryPoint queues transfers without consuming capacity when rate-limited, and completeOutboundQueuedTransfer directly calls _transfer while explicitly skipping consumption of outbound capacity.",
[codex:1084138]       "locations": [
[codex:1084138]         "contracts/src/NttManager/NttManager.sol:219",
[codex:1084138]         "contracts/src/NttManager/NttManager.sol:241",
[codex:1084138]         "contracts/src/NttManager/NttManager.sol:389",
[codex:1084138]         "contracts/src/NttManager/NttManager.sol:261"
[codex:1084138]       ]
[codex:1084138]     }
[codex:1084138]   ]
[codex:1084138] }
[codex:1084138] ```
[codex:1084138] codex
[codex:1084138] {"no_findings":false,"summary":"Queued inbound/outbound transfers bypass rate‑limit accounting, allowing throughput above configured caps after the waiting period.","findings":[{"severity":"medium","category":"other","title":"Queued transfers bypass rate‑limit accounting","exploit_scenario":"An attacker depletes outbound capacity, submits many transfers with `shouldQueue=true`, and waits `rateLimitDuration`. Because queuing does not consume outbound capacity and `completeOutboundQueuedTransfer` skips rate‑limit consumption, the attacker can execute all queued transfers in one window, exceeding the intended cap. The same logic applies inbound: rate‑limited messages are queued without consuming inbound capacity, and `completeInboundQueuedTransfer` mints/unlocks without any capacity adjustment, enabling unlimited throughput after the delay.","recommendation":"Consume/reserve capacity when queueing or re‑apply and consume rate limits at completion. For example, on completion recompute capacity and either consume/backfill or keep the transfer queued until sufficient capacity exists. Alternatively, decrement capacity at queue time to reserve throughput and prevent unbounded batching.","evidence":"Inbound: `executeMsg` enqueues and returns early on rate limit without calling `_consumeInboundAmount`, and `completeInboundQueuedTransfer` only mints/unlocks. Outbound: `_transferEntryPoint` enqueues on rate limit without calling `_consumeOutboundAmount`, and `completeOutboundQueuedTransfer` explicitly skips rate‑limit checks before calling `_transfer`.","locations":["contracts/src/NttManager/NttManager.sol:219","contracts/src/NttManager/NttManager.sol:241","contracts/src/NttManager/NttManager.sol:389","contracts/src/NttManager/NttManager.sol:261"]}]}
[codex:1084138] tokens used
[codex:1084138] 89,126
[codex:1084138] {"no_findings":false,"summary":"Queued inbound/outbound transfers bypass rate‑limit accounting, allowing throughput above configured caps after the waiting period.","findings":[{"severity":"medium","category":"other","title":"Queued transfers bypass rate‑limit accounting","exploit_scenario":"An attacker depletes outbound capacity, submits many transfers with `shouldQueue=true`, and waits `rateLimitDuration`. Because queuing does not consume outbound capacity and `completeOutboundQueuedTransfer` skips rate‑limit consumption, the attacker can execute all queued transfers in one window, exceeding the intended cap. The same logic applies inbound: rate‑limited messages are queued without consuming inbound capacity, and `completeInboundQueuedTransfer` mints/unlocks without any capacity adjustment, enabling unlimited throughput after the delay.","recommendation":"Consume/reserve capacity when queueing or re‑apply and consume rate limits at completion. For example, on completion recompute capacity and either consume/backfill or keep the transfer queued until sufficient capacity exists. Alternatively, decrement capacity at queue time to reserve throughput and prevent unbounded batching.","evidence":"Inbound: `executeMsg` enqueues and returns early on rate limit without calling `_consumeInboundAmount`, and `completeInboundQueuedTransfer` only mints/unlocks. Outbound: `_transferEntryPoint` enqueues on rate limit without calling `_consumeOutboundAmount`, and `completeOutboundQueuedTransfer` explicitly skips rate‑limit checks before calling `_transfer`.","locations":["contracts/src/NttManager/NttManager.sol:219","contracts/src/NttManager/NttManager.sol:241","contracts/src/NttManager/NttManager.sol:389","contracts/src/NttManager/NttManager.sol:261"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-29T08:12:55.300359+00:00",
        "returncode": 0
    },
    "summary": "Queued inbound/outbound transfers bypass rate\u2011limit accounting, allowing throughput above configured caps after the waiting period.",
    "raw_final": {
        "summary": "Queued inbound/outbound transfers bypass rate\u2011limit accounting, allowing throughput above configured caps after the waiting period.",
        "findings": [
            {
                "title": "Queued transfers bypass rate\u2011limit accounting",
                "category": "other",
                "evidence": "Inbound: `executeMsg` enqueues and returns early on rate limit without calling `_consumeInboundAmount`, and `completeInboundQueuedTransfer` only mints/unlocks. Outbound: `_transferEntryPoint` enqueues on rate limit without calling `_consumeOutboundAmount`, and `completeOutboundQueuedTransfer` explicitly skips rate\u2011limit checks before calling `_transfer`.",
                "severity": "medium",
                "locations": [
                    "contracts/src/NttManager/NttManager.sol:219",
                    "contracts/src/NttManager/NttManager.sol:241",
                    "contracts/src/NttManager/NttManager.sol:389",
                    "contracts/src/NttManager/NttManager.sol:261"
                ],
                "recommendation": "Consume/reserve capacity when queueing or re\u2011apply and consume rate limits at completion. For example, on completion recompute capacity and either consume/backfill or keep the transfer queued until sufficient capacity exists. Alternatively, decrement capacity at queue time to reserve throughput and prevent unbounded batching.",
                "exploit_scenario": "An attacker depletes outbound capacity, submits many transfers with `shouldQueue=true`, and waits `rateLimitDuration`. Because queuing does not consume outbound capacity and `completeOutboundQueuedTransfer` skips rate\u2011limit consumption, the attacker can execute all queued transfers in one window, exceeding the intended cap. The same logic applies inbound: rate\u2011limited messages are queued without consuming inbound capacity, and `completeInboundQueuedTransfer` mints/unlocks without any capacity adjustment, enabling unlimited throughput after the delay."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
7
Selfdestruct
1
CREATE2
0
CALL-family (heavy)
18
EXT*/BALANCE
13
Total opcodes
14655
Flags
delegatecall_present selfdestruct_present heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: ISZERO
0000000a: PUSH2 0x0012
0000000d: JUMPI
0000000e: PUSH1 0x00
00000010: DUP1
00000011: REVERT
00000012: JUMPDEST
00000013: PUSH1 0x00
00000015: DUP1
00000016: CALLDATALOAD
00000017: PUSH1 0xe0
00000019: SHR
0000001a: DUP1
0000001b: PUSH4 0x02717250
00000020: EQ
00000021: PUSH2 0x2a42
00000024: JUMPI
00000025: DUP1
00000026: PUSH4 0x036de8af
0000002b: EQ
0000002c: PUSH2 0x29b7
0000002f: JUMPI
00000030: DUP1
00000031: PUSH4 0x0677df54
00000036: EQ
00000037: PUSH2 0x2998
0000003a: JUMPI
0000003b: DUP1
0000003c: PUSH4 0x0900f010
00000041: EQ
00000042: PUSH2 0x2531
00000045: JUMPI
00000046: DUP1
00000047: PUSH4 0x186ce612
0000004c: EQ
0000004d: PUSH2 0x24dc
00000050: JUMPI
00000051: DUP1
00000052: PUSH4 0x19017175
00000057: EQ
00000058: PUSH2 0x24a6
0000005b: JUMPI
0000005c: DUP1
0000005d: PUSH4 0x1f97c9a8
00000062: EQ
00000063: PUSH2 0x22b4
00000066: JUMPI
00000067: DUP1
00000068: PUSH4 0x203e4a9b
0000006d: EQ
0000006e: PUSH2 0x1fb6
00000071: JUMPI
00000072: DUP1
00000073: PUSH4 0x23d75e31
00000078: EQ
00000079: PUSH2 0x1f82
0000007c: JUMPI
0000007d: DUP1
0000007e: PUSH4 0x295a5212
00000083: EQ
00000084: PUSH2 0x1f28
00000087: JUMPI
00000088: DUP1
00000089: PUSH4 0x396c16b7
0000008e: EQ
0000008f: PUSH2 0x1eec
00000092: JUMPI
00000093: DUP1
00000094: PUSH4 0x3b97e856
00000099: EQ
0000009a: PUSH2 0x1ed1
0000009d: JUMPI
0000009e: DUP1
0000009f: PUSH4 0x3f4ba83a
000000a4: EQ
000000a5: PUSH2 0x1e43
000000a8: JUMPI
000000a9: DUP1
000000aa: PUSH4 0x4b4fd03b
000000af: EQ
000000b0: PUSH2 0x1de5
000000b3: JUMPI
000000b4: DUP1
000000b5: PUSH4 0x689f90c3
000000ba: EQ
000000bb: PUSH2 0x1da3
000000be: JUMPI
000000bf: DUP1
000000c0: PUSH4 0x74aa7bfc
000000c5: EQ
000000c6: PUSH2 0x1d5f
000000c9: JUMPI
000000ca: DUP1
000000cb: PUSH4 0x7c918634
000000d0: EQ
000000d1: PUSH2 0x1c0a
000000d4: JUMPI
000000d5: DUP1
000000d6: PUSH4 0x8129fc1c
000000db: EQ
000000dc: PUSH2 0x19e7
000000df: JUMPI
000000e0: DUP1
000000e1: PUSH4 0x8413bcba
000000e6: EQ
000000e7: PUSH2 0x18cb
000000ea: JUMPI
000000eb: DUP1
000000ec: PUSH4 0x8456cb59
000000f1: EQ
000000f2: PUSH2 0x184e
000000f5: JUMPI
000000f6: DUP1
000000f7: PUSH4 0x86e11ffa
000000fc: EQ
000000fd: PUSH2 0x1829
00000100: JUMPI
00000101: DUP1
00000102: PUSH4 0x89c619dd
00000107: EQ
00000108: PUSH2 0x17c9
0000010b: JUMPI
0000010c: DUP1
0000010d: PUSH4 0x8da5cb5b
00000112: EQ
00000113: PUSH2 0x1793
00000116: JUMPI
00000117: DUP1
00000118: PUSH4 0x8e3ba8c9
0000011d: EQ
0000011e: PUSH2 0x175c
00000121: JUMPI
00000122: DUP1
00000123: PUSH4 0x8fd3ab80
00000128: EQ
00000129: PUSH2 0x161d
0000012c: JUMPI
0000012d: DUP1
0000012e: PUSH4 0x9057412d
00000133: EQ
00000134: PUSH2 0x14a0
00000137: JUMPI
00000138: DUP1
00000139: PUSH4 0x961b94d0
0000013e: EQ
0000013f: PUSH2 0x1442
00000142: JUMPI
00000143: DUP1
00000144: PUSH4 0x97c35146
00000149: EQ
0000014a: PUSH2 0x11ba
0000014d: JUMPI
0000014e: DUP1
0000014f: PUSH4 0x9a8a0592
00000154: EQ
00000155: PUSH2 0x117b
00000158: JUMPI
00000159: DUP1
0000015a: PUSH4 0x9d782454
0000015f: EQ
00000160: PUSH2 0x0f40
00000163: JUMPI
00000164: DUP1
00000165: PUSH4 0x9f86029c
0000016a: EQ
0000016b: PUSH2 0x0c2f
0000016e: JUMPI
0000016f: DUP1
00000170: PUSH4 0x9fd0506d
00000175: EQ
00000176: PUSH2 0x0bf9
00000179: JUMPI
0000017a: DUP1
0000017b: PUSH4 0xb187bd26
00000180: EQ
00000181: PUSH2 0x0bcb
00000184: JUMPI
00000185: DUP1
00000186: PUSH4 0xb293f97f
0000018b: EQ
0000018c: PUSH2 0x0b35
0000018f: JUMPI
00000190: DUP1
00000191: PUSH4 0xb4d591bb
00000196: EQ
00000197: PUSH2 0x0a74
0000019a: JUMPI
0000019b: DUP1
0000019c: PUSH4 0xc0b07bde
000001a1: EQ
000001a2: PUSH2 0x0a2e
000001a5: JUMPI
000001a6: DUP1
000001a7: PUSH4 0xc128d170
000001ac: EQ
000001ad: PUSH2 0x09b2
000001b0: JUMPI
000001b1: DUP1
000001b2: PUSH4 0xd788c147
000001b7: EQ
000001b8: PUSH2 0x0927
000001bb: JUMPI
000001bc: DUP1
000001bd: PUSH4 0xda4856a1
000001c2: EQ
000001c3: PUSH2 0x08f4
000001c6: JUMPI
000001c7: DUP1
000001c8: PUSH4 0xe5a98603
000001cd: EQ
000001ce: PUSH2 0x0848
000001d1: JUMPI
000001d2: DUP1
000001d3: PUSH4 0xe75235b8
000001d8: EQ
000001d9: PUSH2 0x081a
000001dc: JUMPI
000001dd: DUP1
000001de: PUSH4 0xf2fde38b
000001e3: EQ
000001e4: PUSH2 0x06d5
000001e7: JUMPI
000001e8: DUP1
000001e9: PUSH4 0xf5cfec18
000001ee: EQ
000001ef: PUSH2 0x06b2
000001f2: JUMPI
000001f3: DUP1
000001f4: PUSH4 0xf7514fbc
000001f9: EQ
000001fa: PUSH2 0x02b4
000001fd: JUMPI
000001fe: DUP1
000001ff: PUSH4 0xfc0c546a
00000204: EQ
00000205: PUSH2 0x026f
00000208: JUMPI
00000209: PUSH4 0xfd96063c
0000020e: EQ
0000020f: PUSH2 0x0217
00000212: JUMPI
00000213: PUSH1 0x00
00000215: DUP1
00000216: REVERT
00000217: JUMPDEST
00000218: CALLVALUE
00000219: PUSH2 0x026c
0000021c: JUMPI
0000021d: PUSH1 0x20
0000021f: CALLDATASIZE
00000220: PUSH1 0x03
00000222: NOT
00000223: ADD
00000224: SLT
00000225: PUSH2 0x026c
00000228: JUMPI
00000229: PUSH1 0x60
0000022b: PUSH2 0x0235
0000022e: PUSH1 0x04
00000230: CALLDATALOAD
00000231: PUSH2 0x5228
00000234: JUMP
00000235: JUMPDEST
00000236: PUSH1 0x40
00000238: DUP1
00000239: MLOAD
0000023a: DUP3
0000023b: MLOAD
0000023c: PUSH1 0x01
0000023e: PUSH1 0x01
00000240: PUSH1 0x48
00000242: SHL
00000243: SUB
00000244: AND
00000245: DUP2
00000246: MSTORE
00000247: PUSH1 0x20
00000249: DUP1
0000024a: DUP5
0000024b: ADD
0000024c: MLOAD
0000024d: PUSH1 0x01
0000024f: PUSH1 0x01
00000251: PUSH1 0x40
00000253: SHL
00000254: SUB
00000255: AND
00000256: SWAP1
00000257: DUP3
00000258: ADD
00000259: MSTORE
0000025a: SWAP2
0000025b: DUP2
0000025c: ADD
0000025d: MLOAD
0000025e: PUSH1 0x01
00000260: PUSH1 0x01
00000262: PUSH1 0xa0
00000264: SHL
00000265: SUB
00000266: AND
00000267: SWAP1
00000268: DUP3
00000269: ADD
0000026a: MSTORE
0000026b: RETURN
0000026c: JUMPDEST
0000026d: DUP1
0000026e: REVERT
0000026f: JUMPDEST
00000270: POP
00000271: CALLVALUE
00000272: PUSH2 0x026c
00000275: JUMPI
00000276: DUP1
00000277: PUSH1 0x03
00000279: NOT
0000027a: CALLDATASIZE
0000027b: ADD
0000027c: SLT
0000027d: PUSH2 0x026c
00000280: JUMPI
00000281: PUSH1 0x40
00000283: MLOAD
00000284: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
000002a5: PUSH1 0x01
000002a7: PUSH1 0x01
000002a9: PUSH1 0xa0
000002ab: SHL
000002ac: SUB
000002ad: AND
000002ae: DUP2
000002af: MSTORE
000002b0: PUSH1 0x20
000002b2: SWAP1
000002b3: RETURN
000002b4: JUMPDEST
000002b5: POP
000002b6: CALLVALUE
000002b7: PUSH2 0x026c
000002ba: JUMPI
000002bb: PUSH1 0x20
000002bd: CALLDATASIZE
000002be: PUSH1 0x03
000002c0: NOT
000002c1: ADD
000002c2: SLT
000002c3: PUSH2 0x026c
000002c6: JUMPI
000002c7: PUSH1 0x04
000002c9: CALLDATALOAD
000002ca: PUSH1 0x01
000002cc: PUSH1 0x01
000002ce: PUSH1 0x40
000002d0: SHL
000002d1: SUB
000002d2: DUP2
000002d3: AND
000002d4: DUP2
000002d5: SUB
000002d6: PUSH2 0x06ae
000002d9: JUMPI
000002da: PUSH2 0x02e1
000002dd: PUSH2 0x5a50
000002e0: JUMP
000002e1: JUMPDEST
000002e2: PUSH1 0x02
000002e4: PUSH1 0x00
000002e6: DUP1
000002e7: MLOAD
000002e8: PUSH1 0x20
000002ea: PUSH2 0x5b21
000002ed: DUP4
000002ee: CODECOPY
000002ef: DUP2
000002f0: MLOAD
000002f1: SWAP2
000002f2: MSTORE
000002f3: SLOAD
000002f4: EQ
000002f5: PUSH2 0x069c
000002f8: JUMPI
000002f9: PUSH1 0x01
000002fb: PUSH1 0x01
000002fd: PUSH1 0x40
000002ff: SHL
00000300: SUB
00000301: DUP2
00000302: AND
00000303: PUSH1 0x00
00000305: MSTORE
00000306: PUSH1 0x00
00000308: DUP1
00000309: MLOAD
0000030a: PUSH1 0x20
0000030c: PUSH2 0x5c01
0000030f: DUP4
00000310: CODECOPY
00000311: DUP2
00000312: MLOAD
00000313: SWAP2
00000314: MSTORE
00000315: PUSH1 0x20
00000317: MSTORE
00000318: PUSH1 0x40
0000031a: PUSH1 0x00
0000031c: KECCAK256
0000031d: PUSH1 0x40
0000031f: MLOAD
00000320: SWAP1
00000321: PUSH2 0x0329
00000324: DUP3
00000325: PUSH2 0x2b1a
00000328: JUMP
00000329: JUMPDEST
0000032a: DUP1
0000032b: SLOAD
0000032c: DUP3
0000032d: MSTORE
0000032e: PUSH1 0x01
00000330: DUP2
00000331: ADD
00000332: SLOAD
00000333: PUSH1 0x20
00000335: DUP4
00000336: ADD
00000337: MSTORE
00000338: PUSH2 0xffff
0000033b: PUSH1 0x02
0000033d: DUP3
0000033e: ADD
0000033f: SLOAD
00000340: PUSH1 0x01
00000342: PUSH1 0x01
00000344: PUSH1 0x48
00000346: SHL
00000347: SUB
00000348: DUP2
00000349: AND
0000034a: PUSH1 0x40
0000034c: DUP6
0000034d: ADD
0000034e: MSTORE
0000034f: PUSH1 0x01
00000351: PUSH1 0x01
00000353: PUSH1 0x40
00000355: SHL
00000356: SUB
00000357: DUP2
00000358: PUSH1 0x48
0000035a: SHR
0000035b: AND
0000035c: PUSH1 0x60
0000035e: DUP6
0000035f: ADD
00000360: MSTORE
00000361: PUSH1 0x88
00000363: SHR
00000364: AND
00000365: PUSH1 0x80
00000367: DUP4
00000368: ADD
00000369: MSTORE
0000036a: PUSH1 0x01
0000036c: DUP1
0000036d: PUSH1 0xa0
0000036f: SHL
00000370: SUB
00000371: PUSH1 0x03
00000373: DUP3
00000374: ADD
00000375: SLOAD
00000376: AND
00000377: PUSH1 0xa0
00000379: DUP4
0000037a: ADD
0000037b: MSTORE
0000037c: PUSH1 0x40
0000037e: MLOAD
0000037f: SWAP1
00000380: DUP2
00000381: DUP6
00000382: PUSH1 0x04
00000384: DUP4
00000385: ADD
00000386: SLOAD
00000387: SWAP3
00000388: PUSH2 0x0390
0000038b: DUP5
0000038c: PUSH2 0x3587
0000038f: JUMP
00000390: JUMPDEST
00000391: DUP1
00000392: DUP5
00000393: MSTORE
00000394: SWAP4
00000395: PUSH1 0x01
00000397: DUP2
00000398: AND
00000399: SWAP1
0000039a: DUP2
0000039b: ISZERO
0000039c: PUSH2 0x067a
0000039f: JUMPI
000003a0: POP
000003a1: PUSH1 0x01
000003a3: EQ
000003a4: PUSH2 0x0636
000003a7: JUMPI
000003a8: JUMPDEST
000003a9: POP
000003aa: PUSH2 0x03b5
000003ad: SWAP3
000003ae: POP
000003af: SUB
000003b0: DUP3
000003b1: PUSH2 0x2ba1
000003b4: JUMP
000003b5: JUMPDEST
000003b6: PUSH1 0xc0
000003b8: DUP3
000003b9: ADD
000003ba: MSTORE
000003bb: PUSH1 0x01
000003bd: PUSH1 0x01
000003bf: PUSH1 0x40
000003c1: SHL
000003c2: SUB
000003c3: PUSH1 0x60
000003c5: DUP3
000003c6: ADD
000003c7: MLOAD
000003c8: AND
000003c9: ISZERO
000003ca: PUSH2 0x0615
000003cd: JUMPI
000003ce: PUSH1 0xa0
000003d0: DUP2
000003d1: ADD
000003d2: MLOAD
000003d3: PUSH1 0x01
000003d5: PUSH1 0x01
000003d7: PUSH1 0xa0
000003d9: SHL
000003da: SUB
000003db: AND
000003dc: CALLER
000003dd: DUP2
000003de: SUB
000003df: PUSH2 0x05e8
000003e2: JUMPI
000003e3: POP
000003e4: PUSH1 0x60
000003e6: PUSH2 0x0458
000003e9: PUSH1 0x40
000003eb: PUSH32 0xf80e572ae1b63e2449629b6c7d783add85c36473926f216077f17ee002bcfd07
0000040c: SWAP4
0000040d: PUSH1 0x01
0000040f: PUSH1 0x01
00000411: PUSH1 0x40
00000413: SHL
00000414: SUB
00000415: DUP7
00000416: AND
00000417: PUSH1 0x00
00000419: MSTORE
0000041a: PUSH1 0x00
0000041c: DUP1
0000041d: MLOAD
0000041e: PUSH1 0x20
00000420: PUSH2 0x5c01
00000423: DUP4
00000424: CODECOPY
00000425: DUP2
00000426: MLOAD
00000427: SWAP2
00000428: MSTORE
00000429: PUSH1 0x20
0000042b: MSTORE
0000042c: PUSH2 0x0437
0000042f: DUP3
00000430: PUSH1 0x00
00000432: KECCAK256
00000433: PUSH2 0x35d8
00000436: JUMP
00000437: JUMPDEST
00000438: ADD
00000439: MLOAD
0000043a: PUSH2 0x0441
0000043d: PUSH2 0x49cd
00000440: JUMP
00000441: JUMPDEST
00000442: SWAP1
00000443: PUSH1 0x01
00000445: PUSH1 0x01
00000447: PUSH1 0x40
00000449: SHL
0000044a: SUB
0000044b: PUSH1 0xff
0000044d: DUP3
0000044e: AND
0000044f: SWAP2
00000450: PUSH1 0x08
00000452: SHR
00000453: AND
00000454: PUSH2 0x58bf
00000457: JUMP
00000458: JUMPDEST
00000459: SWAP3
0000045a: PUSH1 0x01
0000045c: PUSH1 0x01
0000045e: PUSH1 0x40
00000460: SHL
00000461: SUB
00000462: PUSH1 0x40
00000464: MLOAD
00000465: SWAP2
00000466: AND
00000467: DUP2
00000468: MSTORE
00000469: CALLER
0000046a: PUSH1 0x20
0000046c: DUP3
0000046d: ADD
0000046e: MSTORE
0000046f: DUP4
00000470: PUSH1 0x40
00000472: DUP3
00000473: ADD
00000474: MSTORE
00000475: LOG1
00000476: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
00000497: PUSH1 0x02
00000499: DUP2
0000049a: LT
0000049b: ISZERO
0000049c: PUSH2 0x05d2
0000049f: JUMPI
000004a0: DUP1
000004a1: PUSH2 0x0522
000004a4: JUMPI
000004a5: POP
000004a6: PUSH1 0x40
000004a8: MLOAD
000004a9: PUSH4 0xa9059cbb
000004ae: PUSH1 0xe0
000004b0: SHL
000004b1: PUSH1 0x20
000004b3: DUP3
000004b4: ADD
000004b5: MSTORE
000004b6: CALLER
000004b7: PUSH1 0x24
000004b9: DUP3
000004ba: ADD
000004bb: MSTORE
000004bc: PUSH1 0x44
000004be: DUP2
000004bf: ADD
000004c0: SWAP2
000004c1: SWAP1
000004c2: SWAP2
000004c3: MSTORE
000004c4: PUSH2 0x050d
000004c7: SWAP1
000004c8: PUSH2 0x04de
000004cb: DUP2
000004cc: PUSH1 0x64
000004ce: DUP2
000004cf: ADD
000004d0: JUMPDEST
000004d1: SUB
000004d2: PUSH1 0x1f
000004d4: NOT
000004d5: DUP2
000004d6: ADD
000004d7: DUP4
000004d8: MSTORE
000004d9: DUP3
000004da: PUSH2 0x2ba1
000004dd: JUMP
000004de: JUMPDEST
000004df: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
00000500: PUSH1 0x01
00000502: PUSH1 0x01
00000504: PUSH1 0xa0
00000506: SHL
00000507: SUB
00000508: AND
00000509: PUSH2 0x4218
0000050c: JUMP
0000050d: JUMPDEST
0000050e: PUSH1 0x01
00000510: PUSH1 0x00
00000512: DUP1
00000513: MLOAD
00000514: PUSH1 0x20
00000516: PUSH2 0x5c21
00000519: DUP4
0000051a: CODECOPY
0000051b: DUP2
0000051c: MLOAD
0000051d: SWAP2
0000051e: MSTORE
0000051f: SSTORE
00000520: DUP1
00000521: RETURN
00000522: JUMPDEST
00000523: PUSH1 0x01
00000525: DUP2
00000526: SUB
00000527: PUSH2 0x05b6
0000052a: JUMPI
0000052b: POP
0000052c: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
0000054d: PUSH1 0x01
0000054f: PUSH1 0x01
00000551: PUSH1 0xa0
00000553: SHL
00000554: SUB
00000555: AND
00000556: DUP1
00000557: EXTCODESIZE
00000558: ISZERO
00000559: PUSH2 0x05b1
0000055c: JUMPI
0000055d: PUSH1 0x40
0000055f: MLOAD
00000560: PUSH4 0x40c10f19
00000565: PUSH1 0xe0
00000567: SHL
00000568: DUP2
00000569: MSTORE
0000056a: CALLER
0000056b: PUSH1 0x04
0000056d: DUP3
0000056e: ADD
0000056f: MSTORE
00000570: PUSH1 0x24
00000572: DUP2
00000573: ADD
00000574: SWAP3
00000575: SWAP1
00000576: SWAP3
00000577: MSTORE
00000578: PUSH1 0x00
0000057a: SWAP1
0000057b: DUP3
0000057c: SWAP1
0000057d: PUSH1 0x44
0000057f: SWAP1
00000580: DUP3
00000581: SWAP1
00000582: DUP5
00000583: SWAP1
00000584: GAS
00000585: CALL
00000586: DUP1
00000587: ISZERO
00000588: PUSH2 0x05a5
0000058b: JUMPI
0000058c: PUSH2 0x0596
0000058f: JUMPI
00000590: JUMPDEST
00000591: POP
00000592: PUSH2 0x050d
00000595: JUMP
00000596: JUMPDEST
00000597: PUSH2 0x059f
0000059a: SWAP1
0000059b: PUSH2 0x2b07
0000059e: JUMP
0000059f: JUMPDEST
000005a0: CODESIZE
000005a1: PUSH2 0x0590
000005a4: JUMP
000005a5: JUMPDEST
000005a6: PUSH1 0x40
000005a8: MLOAD
000005a9: RETURNDATASIZE
000005aa: PUSH1 0x00
000005ac: DUP3
000005ad: RETURNDATACOPY
000005ae: RETURNDATASIZE
000005af: SWAP1
000005b0: REVERT
000005b1: JUMPDEST
000005b2: PUSH1 0x00
000005b4: DUP1
000005b5: REVERT
000005b6: JUMPDEST
000005b7: PUSH1 0x40
000005b9: MLOAD
000005ba: PUSH4 0x66001a89
000005bf: PUSH1 0xe0
000005c1: SHL
000005c2: DUP2
000005c3: MSTORE
000005c4: PUSH1 0xff
000005c6: SWAP1
000005c7: SWAP2
000005c8: AND
000005c9: PUSH1 0x04
000005cb: DUP3
000005cc: ADD
000005cd: MSTORE
000005ce: PUSH1 0x24
000005d0: SWAP1
000005d1: REVERT
000005d2: JUMPDEST
000005d3: PUSH4 0x4e487b71
000005d8: PUSH1 0xe0
000005da: SHL
000005db: PUSH1 0x00
000005dd: MSTORE
000005de: PUSH1 0x21
000005e0: PUSH1 0x04
000005e2: MSTORE
000005e3: PUSH1 0x24
000005e5: PUSH1 0x00
000005e7: REVERT
000005e8: JUMPDEST
000005e9: PUSH1 0x40
000005eb: MLOAD
000005ec: PUSH4 0xceb40a85
000005f1: PUSH1 0xe0
000005f3: SHL
000005f4: DUP2
000005f5: MSTORE
000005f6: CALLER
000005f7: PUSH1 0x04
000005f9: DUP3
000005fa: ADD
000005fb: MSTORE
000005fc: PUSH1 0x01
000005fe: PUSH1 0x01
00000600: PUSH1 0xa0
00000602: SHL
00000603: SUB
00000604: SWAP2
00000605: SWAP1
00000606: SWAP2
00000607: AND
00000608: PUSH1 0x24
0000060a: DUP3
0000060b: ADD
0000060c: MSTORE
0000060d: PUSH1 0x44
0000060f: SWAP1
00000610: REVERT
00000611: JUMPDEST
00000612: SUB
00000613: SWAP1
00000614: REVERT
00000615: JUMPDEST
00000616: PUSH1 0x40
00000618: MLOAD
00000619: PUSH4 0x5feafa31
0000061e: PUSH1 0xe1
00000620: SHL
00000621: DUP2
00000622: MSTORE
00000623: PUSH1 0x01
00000625: PUSH1 0x01
00000627: PUSH1 0x40
00000629: SHL
0000062a: SUB
0000062b: DUP4
0000062c: AND
0000062d: PUSH1 0x04
0000062f: DUP3
00000630: ADD
00000631: MSTORE
00000632: PUSH1 0x24
00000634: SWAP1
00000635: REVERT
00000636: JUMPDEST
00000637: PUSH1 0x04
00000639: ADD
0000063a: DUP8
0000063b: MSTORE
0000063c: POP
0000063d: PUSH1 0x20
0000063f: DUP7
00000640: KECCAK256
00000641: SWAP1
00000642: SWAP2
00000643: DUP7
00000644: SWAP2
00000645: JUMPDEST
00000646: DUP2
00000647: DUP4
00000648: LT
00000649: PUSH2 0x065e
0000064c: JUMPI
0000064d: POP
0000064e: POP
0000064f: SWAP1
00000650: PUSH1 0x20
00000652: PUSH2 0x03b5
00000655: SWAP3
00000656: DUP3
00000657: ADD
00000658: ADD
00000659: CODESIZE
0000065a: PUSH2 0x03a8
0000065d: JUMP
0000065e: JUMPDEST
0000065f: PUSH1 0x20
00000661: SWAP2
00000662: SWAP4
00000663: POP
00000664: DUP1
00000665: PUSH1 0x01
00000667: SWAP2
00000668: SLOAD
00000669: DUP4
0000066a: DUP6
0000066b: DUP9
0000066c: ADD
0000066d: ADD
0000066e: MSTORE
0000066f: ADD
00000670: SWAP2
00000671: ADD
00000672: SWAP1
00000673: SWAP2
00000674: DUP4
00000675: SWAP3
00000676: PUSH2 0x0645
00000679: JUMP
0000067a: JUMPDEST
0000067b: SWAP1
0000067c: POP
0000067d: PUSH1 0x20
0000067f: SWAP3
00000680: POP
00000681: PUSH2 0x03b5
00000684: SWAP5
00000685: SWAP2
00000686: POP
00000687: PUSH1 0xff
00000689: NOT
0000068a: AND
0000068b: DUP3
0000068c: DUP5
0000068d: ADD
0000068e: MSTORE
0000068f: ISZERO
00000690: ISZERO
00000691: PUSH1 0x05
00000693: SHL
00000694: DUP3
00000695: ADD
00000696: ADD
00000697: CODESIZE
00000698: PUSH2 0x03a8
0000069b: JUMP
0000069c: JUMPDEST
0000069d: PUSH1 0x40
0000069f: MLOAD
000006a0: PUSH4 0x09e3d0f3
000006a5: PUSH1 0xe1
000006a7: SHL
000006a8: DUP2
000006a9: MSTORE
000006aa: PUSH1 0x04
000006ac: SWAP1
000006ad: REVERT
000006ae: JUMPDEST
000006af: POP
000006b0: DUP1
000006b1: REVERT
000006b2: JUMPDEST
000006b3: POP
000006b4: CALLVALUE
000006b5: PUSH2 0x026c
000006b8: JUMPI
000006b9: DUP1
000006ba: PUSH1 0x03
000006bc: NOT
000006bd: CALLDATASIZE
000006be: ADD
000006bf: SLT
000006c0: PUSH2 0x026c
000006c3: JUMPI
000006c4: PUSH1 0x20
000006c6: PUSH2 0x06cd
000006c9: PUSH2 0x5211
000006cc: JUMP
000006cd: JUMPDEST
000006ce: PUSH1 0x40
000006d0: MLOAD
000006d1: SWAP1
000006d2: DUP2
000006d3: MSTORE
000006d4: RETURN
000006d5: JUMPDEST
000006d6: POP
000006d7: CALLVALUE
000006d8: PUSH2 0x026c
000006db: JUMPI
000006dc: PUSH1 0x20
000006de: CALLDATASIZE
000006df: PUSH1 0x03
000006e1: NOT
000006e2: ADD
000006e3: SLT
000006e4: PUSH2 0x026c
000006e7: JUMPI
000006e8: PUSH1 0x01
000006ea: PUSH1 0x01
000006ec: PUSH1 0xa0
000006ee: SHL
000006ef: SUB
000006f0: PUSH1 0x04
000006f2: CALLDATALOAD
000006f3: DUP2
000006f4: DUP2
000006f5: AND
000006f6: SWAP1
000006f7: DUP2
000006f8: DUP2
000006f9: SUB
000006fa: PUSH2 0x07e5
000006fd: JUMPI
000006fe: PUSH2 0x0716
00000701: SWAP1
00000702: PUSH2 0x0709
00000705: PUSH2 0x5a17
00000708: JUMP
00000709: JUMPDEST
0000070a: PUSH2 0x0711
0000070d: PUSH2 0x5a17
00000710: JUMP
00000711: JUMPDEST
00000712: PUSH2 0x59a3
00000715: JUMP
00000716: JUMPDEST
00000717: PUSH32 0x3031d39df71efbb605646fc51d7571499445af538fa6dd17ce8c07e8118ed978
00000738: SWAP2
00000739: DUP3
0000073a: SLOAD
0000073b: PUSH1 0xff
0000073d: PUSH1 0x00
0000073f: DUP1
00000740: MLOAD
00000741: PUSH1 0x20
00000743: PUSH2 0x5ba1
00000746: DUP4
00000747: CODECOPY
00000748: DUP2
00000749: MLOAD
0000074a: SWAP2
0000074b: MSTORE
0000074c: SLOAD
0000074d: AND
0000074e: DUP1
0000074f: DUP3
00000750: SUB
00000751: PUSH2 0x07fc
00000754: JUMPI
00000755: POP
00000756: POP
00000757: SWAP1
00000758: DUP4
00000759: SWAP2
0000075a: DUP3
0000075b: JUMPDEST
0000075c: DUP5
0000075d: SLOAD
0000075e: DUP2
0000075f: LT
00000760: ISZERO
00000761: PUSH2 0x07f8
00000764: JUMPI
00000765: DUP5
00000766: PUSH1 0x00
00000768: MSTORE
00000769: DUP2
0000076a: DUP2
0000076b: PUSH32 0x357eda4c1707ce60b55a439f3dc12fcacea5ca0fd863e2fc179a916cf05fccd1
0000078c: ADD
0000078d: SLOAD
0000078e: AND
0000078f: DUP1
00000790: EXTCODESIZE
00000791: ISZERO
00000792: PUSH2 0x07f4
00000795: JUMPI
00000796: DUP5
00000797: DUP1
00000798: SWAP2
00000799: PUSH1 0x24
0000079b: PUSH1 0x40
0000079d: MLOAD
0000079e: DUP1
0000079f: SWAP5
000007a0: DUP2
000007a1: SWAP4
000007a2: PUSH4 0x2c7b84dd
000007a7: PUSH1 0xe1
000007a9: SHL
000007aa: DUP4
000007ab: MSTORE
000007ac: DUP10
000007ad: PUSH1 0x04
000007af: DUP5
000007b0: ADD
000007b1: MSTORE
000007b2: GAS
000007b3: CALL
000007b4: SWAP1
000007b5: DUP2
000007b6: ISZERO
000007b7: PUSH2 0x07e9
000007ba: JUMPI
000007bb: DUP6
000007bc: SWAP2
000007bd: PUSH2 0x07d1
000007c0: JUMPI
000007c1: JUMPDEST
000007c2: POP
000007c3: POP
000007c4: PUSH2 0x07cc
000007c7: SWAP1
000007c8: PUSH2 0x2de1
000007cb: JUMP
000007cc: JUMPDEST
000007cd: PUSH2 0x075b
000007d0: JUMP
000007d1: JUMPDEST
000007d2: PUSH2 0x07da
000007d5: SWAP1
000007d6: PUSH2 0x2b07
000007d9: JUMP
000007da: JUMPDEST
000007db: PUSH2 0x07e5
000007de: JUMPI
000007df: DUP4
000007e0: CODESIZE
000007e1: PUSH2 0x07c1
000007e4: JUMP
000007e5: JUMPDEST
000007e6: DUP4
000007e7: DUP1
000007e8: REVERT
000007e9: JUMPDEST
000007ea: PUSH1 0x40
000007ec: MLOAD
000007ed: RETURNDATASIZE
000007ee: DUP8
000007ef: DUP3
000007f0: RETURNDATACOPY
000007f1: RETURNDATASIZE
000007f2: SWAP1
000007f3: REVERT
000007f4: JUMPDEST
000007f5: DUP5
000007f6: DUP1
000007f7: REVERT
000007f8: JUMPDEST
000007f9: DUP4
000007fa: DUP1
000007fb: RETURN
000007fc: JUMPDEST
000007fd: PUSH1 0x44
000007ff: SWAP3
00000800: POP
00000801: PUSH1 0x40
00000803: MLOAD
00000804: SWAP2
00000805: PUSH4 0xd2a13a29
0000080a: PUSH1 0xe0
0000080c: SHL
0000080d: DUP4
0000080e: MSTORE
0000080f: PUSH1 0x04
00000811: DUP4
00000812: ADD
00000813: MSTORE
00000814: PUSH1 0x24
00000816: DUP3
00000817: ADD
00000818: MSTORE
00000819: REVERT
0000081a: JUMPDEST
0000081b: POP
0000081c: CALLVALUE
0000081d: PUSH2 0x026c
00000820: JUMPI
00000821: DUP1
00000822: PUSH1 0x03
00000824: NOT
00000825: CALLDATASIZE
00000826: ADD
00000827: SLT
00000828: PUSH2 0x026c
0000082b: JUMPI
0000082c: PUSH1 0x20
0000082e: PUSH1 0xff
00000830: PUSH1 0x00
00000832: DUP1
00000833: MLOAD
00000834: PUSH1 0x20
00000836: PUSH2 0x5aa1
00000839: DUP4
0000083a: CODECOPY
0000083b: DUP2
0000083c: MLOAD
0000083d: SWAP2
0000083e: MSTORE
0000083f: SLOAD
00000840: AND
00000841: PUSH1 0x40
00000843: MLOAD
00000844: SWAP1
00000845: DUP2
00000846: MSTORE
00000847: RETURN
00000848: JUMPDEST
00000849: POP
0000084a: CALLVALUE
0000084b: PUSH2 0x026c
0000084e: JUMPI
0000084f: PUSH1 0x20
00000851: CALLDATASIZE
00000852: PUSH1 0x03
00000854: NOT
00000855: ADD
00000856: SLT
00000857: PUSH2 0x026c
0000085a: JUMPI
0000085b: PUSH1 0x04
0000085d: CALLDATALOAD
0000085e: PUSH1 0xff
00000860: DUP2
00000861: AND
00000862: SWAP1
00000863: DUP2
00000864: DUP2
00000865: SUB
00000866: PUSH2 0x05b1
00000869: JUMPI
0000086a: PUSH2 0x0871
0000086d: PUSH2 0x5a17
00000870: JUMP
00000871: JUMPDEST
00000872: DUP2
00000873: ISZERO
00000874: PUSH2 0x08e2
00000877: JUMPI
00000878: PUSH32 0x2a855b929b9a53c6fb5b5ed248b27e502b709c088e036a5aa17620c8fc5085a9
00000899: SWAP2
0000089a: PUSH2 0x08dc
0000089d: PUSH1 0xff
0000089f: SWAP3
000008a0: PUSH1 0x00
000008a2: DUP1
000008a3: MLOAD
000008a4: PUSH1 0x20
000008a6: PUSH2 0x5aa1
000008a9: DUP4
000008aa: CODECOPY
000008ab: DUP2
000008ac: MLOAD
000008ad: SWAP2
000008ae: MSTORE
000008af: DUP1
000008b0: SLOAD
000008b1: SWAP4
000008b2: DUP6
000008b3: NOT
000008b4: DUP6
000008b5: AND
000008b6: OR
000008b7: SWAP1
000008b8: SSTORE
000008b9: PUSH2 0x08c0
000008bc: PUSH2 0x3060
000008bf: JUMP
000008c0: JUMPDEST
000008c1: PUSH1 0x40
000008c3: DUP1
000008c4: MLOAD
000008c5: PUSH1 0xff
000008c7: SWAP5
000008c8: SWAP1
000008c9: SWAP6
000008ca: AND
000008cb: DUP5
000008cc: AND
000008cd: DUP6
000008ce: MSTORE
000008cf: SWAP3
000008d0: AND
000008d1: PUSH1 0x20
000008d3: DUP5
000008d4: ADD
000008d5: MSTORE
000008d6: DUP3
000008d7: SWAP2
000008d8: DUP3
000008d9: ADD
000008da: SWAP1
000008db: JUMP
000008dc: JUMPDEST
000008dd: SUB
000008de: SWAP1
000008df: LOG1
000008e0: DUP1
000008e1: RETURN
000008e2: JUMPDEST
000008e3: PUSH1 0x40
000008e5: MLOAD
000008e6: PUSH4 0x831761d7
000008eb: PUSH1 0xe0
000008ed: SHL
000008ee: DUP2
000008ef: MSTORE
000008f0: PUSH1 0x04
000008f2: SWAP1
000008f3: REVERT
000008f4: JUMPDEST
000008f5: POP
000008f6: CALLVALUE
000008f7: PUSH2 0x026c
000008fa: JUMPI
000008fb: PUSH2 0x0903
000008fe: CALLDATASIZE
000008ff: PUSH2 0x2c24
00000902: JUMP
00000903: JUMPDEST
00000904: SWAP1
00000905: PUSH1 0x02
00000907: PUSH1 0x00
00000909: DUP1
0000090a: MLOAD
0000090b: PUSH1 0x20
0000090d: PUSH2 0x5b21
00000910: DUP4
00000911: CODECOPY
00000912: DUP2
00000913: MLOAD
00000914: SWAP2
00000915: MSTORE
00000916: SLOAD
00000917: EQ
00000918: PUSH2 0x069c
0000091b: JUMPI
0000091c: PUSH2 0x0924
0000091f: SWAP3
00000920: PUSH2 0x3129
00000923: JUMP
00000924: JUMPDEST
00000925: DUP1
00000926: RETURN
00000927: JUMPDEST
00000928: POP
00000929: CALLVALUE
0000092a: PUSH2 0x026c
0000092d: JUMPI
0000092e: PUSH1 0x20
00000930: CALLDATASIZE
00000931: PUSH1 0x03
00000933: NOT
00000934: ADD
00000935: SLT
00000936: PUSH2 0x026c
00000939: JUMPI
0000093a: PUSH2 0xffff
0000093d: PUSH2 0x0944
00000940: PUSH2 0x2a9d
00000943: JUMP
00000944: JUMPDEST
00000945: PUSH2 0x094c
00000948: PUSH2 0x51f2
0000094b: JUMP
0000094c: JUMPDEST
0000094d: POP
0000094e: AND
0000094f: PUSH1 0x00
00000951: MSTORE
00000952: PUSH1 0x00
00000954: DUP1
00000955: MLOAD
00000956: PUSH1 0x20
00000958: PUSH2 0x5bc1
0000095b: DUP4
0000095c: CODECOPY
0000095d: DUP2
0000095e: MLOAD
0000095f: SWAP2
00000960: MSTORE
00000961: PUSH1 0x20
00000963: MSTORE
00000964: PUSH2 0x09ae
00000967: PUSH2 0x0973
0000096a: PUSH1 0x40
0000096c: PUSH1 0x00
0000096e: KECCAK256
0000096f: PUSH2 0x4dcd
00000972: JUMP
00000973: JUMPDEST
00000974: PUSH1 0x40
00000976: MLOAD
00000977: SWAP2
00000978: DUP3
00000979: SWAP2
0000097a: DUP3
0000097b: SWAP2
0000097c: SWAP1
0000097d: SWAP2
0000097e: PUSH1 0x40
00000980: PUSH1 0x01
00000982: PUSH1 0x01
00000984: PUSH1 0x40
00000986: SHL
00000987: SUB
00000988: DUP2
00000989: PUSH1 0x60
0000098b: DUP5
0000098c: ADD
0000098d: SWAP6
0000098e: PUSH1 0x01
00000990: PUSH1 0x01
00000992: PUSH1 0x48
00000994: SHL
00000995: SUB
00000996: DUP1
00000997: DUP3
00000998: MLOAD
00000999: AND
0000099a: DUP7
0000099b: MSTORE
0000099c: PUSH1 0x20
0000099e: DUP3
0000099f: ADD
000009a0: MLOAD
000009a1: AND
000009a2: PUSH1 0x20
000009a4: DUP7
000009a5: ADD
000009a6: MSTORE
000009a7: ADD
000009a8: MLOAD
000009a9: AND
000009aa: SWAP2
000009ab: ADD
000009ac: MSTORE
000009ad: JUMP
000009ae: JUMPDEST
000009af: SUB
000009b0: SWAP1
000009b1: RETURN
000009b2: JUMPDEST
000009b3: POP
000009b4: CALLVALUE
000009b5: PUSH2 0x026c
000009b8: JUMPI
000009b9: PUSH1 0x20
000009bb: CALLDATASIZE
000009bc: PUSH1 0x03
000009be: NOT
000009bf: ADD
000009c0: SLT
000009c1: PUSH2 0x026c
000009c4: JUMPI
000009c5: PUSH2 0xffff
000009c8: SWAP1
000009c9: PUSH2 0x09d0
000009cc: PUSH2 0x2a9d
000009cf: JUMP
000009d0: JUMPDEST
000009d1: SWAP1
000009d2: PUSH1 0x20
000009d4: PUSH1 0x40
000009d6: MLOAD
000009d7: PUSH2 0x09df
000009da: DUP2
000009db: PUSH2 0x2b50
000009de: JUMP
000009df: JUMPDEST
000009e0: DUP3
000009e1: DUP2
000009e2: MSTORE
000009e3: ADD
000009e4: MSTORE
000009e5: AND
000009e6: PUSH1 0x00
000009e8: MSTORE
000009e9: PUSH1 0x00
000009eb: DUP1
000009ec: MLOAD
000009ed: PUSH1 0x20
000009ef: PUSH2 0x5a81
000009f2: DUP4
000009f3: CODECOPY
000009f4: DUP2
000009f5: MLOAD
000009f6: SWAP2
000009f7: MSTORE
000009f8: PUSH1 0x20
000009fa: MSTORE
000009fb: PUSH1 0x40
000009fd: DUP1
000009fe: PUSH1 0x00
00000a00: KECCAK256
00000a01: PUSH1 0xff
00000a03: DUP3
00000a04: MLOAD
00000a05: PUSH2 0x0a0d
00000a08: DUP2
00000a09: PUSH2 0x2b50
00000a0c: JUMP
00000a0d: JUMPDEST
00000a0e: PUSH1 0x20
00000a10: DUP3
00000a11: PUSH1 0x01
00000a13: DUP6
00000a14: SLOAD
00000a15: SWAP6
00000a16: DUP7
00000a17: DUP6
00000a18: MSTORE
00000a19: ADD
00000a1a: SLOAD
00000a1b: AND
00000a1c: SWAP2
00000a1d: ADD
00000a1e: SWAP1
00000a1f: DUP2
00000a20: MSTORE
00000a21: DUP4
00000a22: MLOAD
00000a23: SWAP3
00000a24: DUP4
00000a25: MSTORE
00000a26: MLOAD
00000a27: AND
00000a28: PUSH1 0x20
00000a2a: DUP3
00000a2b: ADD
00000a2c: MSTORE
00000a2d: RETURN
00000a2e: JUMPDEST
00000a2f: POP
00000a30: CALLVALUE
00000a31: PUSH2 0x026c
00000a34: JUMPI
00000a35: DUP1
00000a36: PUSH1 0x03
00000a38: NOT
00000a39: CALLDATASIZE
00000a3a: ADD
00000a3b: SLT
00000a3c: PUSH2 0x026c
00000a3f: JUMPI
00000a40: PUSH2 0x09ae
00000a43: PUSH1 0x40
00000a45: MLOAD
00000a46: PUSH2 0x0a4e
00000a49: DUP2
00000a4a: PUSH2 0x2b50
00000a4d: JUMP
00000a4e: JUMPDEST
00000a4f: PUSH1 0x05
00000a51: DUP2
00000a52: MSTORE
00000a53: PUSH5 0x0302e312e3
00000a59: PUSH1 0xdc
00000a5b: SHL
00000a5c: PUSH1 0x20
00000a5e: DUP3
00000a5f: ADD
00000a60: MSTORE
00000a61: PUSH1 0x40
00000a63: MLOAD
00000a64: SWAP2
00000a65: DUP3
00000a66: SWAP2
00000a67: PUSH1 0x20
00000a69: DUP4
00000a6a: MSTORE
00000a6b: PUSH1 0x20
00000a6d: DUP4
00000a6e: ADD
00000a6f: SWAP1
00000a70: PUSH2 0x2ae2
00000a73: JUMP
00000a74: JUMPDEST
00000a75: POP
00000a76: CALLVALUE
00000a77: PUSH2 0x026c
00000a7a: JUMPI
00000a7b: DUP1
00000a7c: PUSH1 0x03
00000a7e: NOT
00000a7f: CALLDATASIZE
00000a80: ADD
00000a81: SLT
00000a82: PUSH2 0x026c
00000a85: JUMPI
00000a86: PUSH1 0x40
00000a88: MLOAD
00000a89: DUP1
00000a8a: SWAP2
00000a8b: PUSH1 0x00
00000a8d: DUP1
00000a8e: MLOAD
00000a8f: PUSH1 0x20
00000a91: PUSH2 0x5b61
00000a94: DUP4
00000a95: CODECOPY
00000a96: DUP2
00000a97: MLOAD
00000a98: SWAP2
00000a99: MSTORE
00000a9a: SWAP1
00000a9b: DUP2
00000a9c: SLOAD
00000a9d: DUP1
00000a9e: DUP5
00000a9f: MSTORE
00000aa0: PUSH1 0x20
00000aa2: DUP1
00000aa3: SWAP5
00000aa4: ADD
00000aa5: SWAP1
00000aa6: DUP2
00000aa7: SWAP4
00000aa8: DUP4
00000aa9: MSTORE
00000aaa: PUSH1 0x00
00000aac: DUP1
00000aad: MLOAD
00000aae: PUSH1 0x20
00000ab0: PUSH2 0x5ac1
00000ab3: DUP4
00000ab4: CODECOPY
00000ab5: DUP2
00000ab6: MLOAD
00000ab7: SWAP2
00000ab8: MSTORE
00000ab9: SWAP1
00000aba: DUP4
00000abb: JUMPDEST
00000abc: DUP2
00000abd: DUP2
00000abe: LT
00000abf: PUSH2 0x0b18
00000ac2: JUMPI
00000ac3: POP
00000ac4: POP
00000ac5: POP
00000ac6: DUP5
00000ac7: PUSH2 0x0ad1
00000aca: SWAP2
00000acb: SUB
00000acc: DUP6
00000acd: PUSH2 0x2ba1
00000ad0: JUMP
00000ad1: JUMPDEST
00000ad2: PUSH1 0x40
00000ad4: MLOAD
00000ad5: SWAP4
00000ad6: DUP4
00000ad7: DUP6
00000ad8: SWAP5
00000ad9: DUP6
00000ada: ADD
00000adb: SWAP2
00000adc: DUP2
00000add: DUP7
00000ade: MSTORE
00000adf: MLOAD
00000ae0: DUP1
00000ae1: SWAP3
00000ae2: MSTORE
00000ae3: PUSH1 0x40
00000ae5: DUP6
00000ae6: ADD
00000ae7: SWAP4
00000ae8: SWAP3
00000ae9: JUMPDEST
00000aea: DUP3
00000aeb: DUP2
00000aec: LT
00000aed: PUSH2 0x0af8
00000af0: JUMPI
00000af1: POP
00000af2: POP
00000af3: POP
00000af4: POP
00000af5: SUB
00000af6: SWAP1
00000af7: RETURN
00000af8: JUMPDEST
00000af9: DUP4
00000afa: MLOAD
00000afb: PUSH1 0x01
00000afd: PUSH1 0x01
00000aff: PUSH1 0xa0
00000b01: SHL
00000b02: SUB
00000b03: AND
00000b04: DUP6
00000b05: MSTORE
00000b06: DUP7
00000b07: SWAP6
00000b08: POP
00000b09: SWAP4
00000b0a: DUP2
00000b0b: ADD
00000b0c: SWAP4
00000b0d: SWAP3
00000b0e: DUP2
00000b0f: ADD
00000b10: SWAP3
00000b11: PUSH1 0x01
00000b13: ADD
00000b14: PUSH2 0x0ae9
00000b17: JUMP
00000b18: JUMPDEST
00000b19: DUP3
00000b1a: SLOAD
00000b1b: PUSH1 0x01
00000b1d: PUSH1 0x01
00000b1f: PUSH1 0xa0
00000b21: SHL
00000b22: SUB
00000b23: AND
00000b24: DUP5
00000b25: MSTORE
00000b26: SWAP3
00000b27: DUP7
00000b28: ADD
00000b29: SWAP3
00000b2a: PUSH1 0x01
00000b2c: SWAP3
00000b2d: DUP4
00000b2e: ADD
00000b2f: SWAP3
00000b30: ADD
00000b31: PUSH2 0x0abb
00000b34: JUMP
00000b35: JUMPDEST
00000b36: POP
00000b37: PUSH1 0xc0
00000b39: CALLDATASIZE
00000b3a: PUSH1 0x03
00000b3c: NOT
00000b3d: ADD
00000b3e: SLT
00000b3f: PUSH2 0x026c
00000b42: JUMPI
00000b43: PUSH2 0x0b4a
00000b46: PUSH2 0x2aae
00000b49: JUMP
00000b4a: JUMPDEST
00000b4b: SWAP1
00000b4c: PUSH1 0x84
00000b4e: CALLDATALOAD
00000b4f: SWAP2
00000b50: DUP3
00000b51: ISZERO
00000b52: ISZERO
00000b53: DUP4
00000b54: SUB
00000b55: PUSH2 0x06ae
00000b58: JUMPI
00000b59: PUSH1 0xa4
00000b5b: CALLDATALOAD
00000b5c: PUSH1 0x01
00000b5e: PUSH1 0x01
00000b60: PUSH1 0x40
00000b62: SHL
00000b63: SUB
00000b64: SWAP3
00000b65: DUP4
00000b66: DUP3
00000b67: GT
00000b68: PUSH2 0x026c
00000b6b: JUMPI
00000b6c: POP
00000b6d: PUSH2 0x0b7a
00000b70: SWAP1
00000b71: CALLDATASIZE
00000b72: SWAP1
00000b73: PUSH1 0x04
00000b75: ADD
00000b76: PUSH2 0x2bdd
00000b79: JUMP
00000b7a: JUMPDEST
00000b7b: PUSH2 0x0b82
00000b7e: PUSH2 0x5a50
00000b81: JUMP
00000b82: JUMPDEST
00000b83: PUSH1 0x02
00000b85: PUSH1 0x00
00000b87: DUP1
00000b88: MLOAD
00000b89: PUSH1 0x20
00000b8b: PUSH2 0x5b21
00000b8e: DUP4
00000b8f: CODECOPY
00000b90: DUP2
00000b91: MLOAD
00000b92: SWAP2
00000b93: MSTORE
00000b94: SLOAD
00000b95: EQ
00000b96: PUSH2 0x069c
00000b99: JUMPI
00000b9a: PUSH1 0x20
00000b9c: SWAP4
00000b9d: PUSH2 0x0bb0
00000ba0: SWAP3
00000ba1: PUSH1 0x64
00000ba3: CALLDATALOAD
00000ba4: SWAP1
00000ba5: PUSH1 0x44
00000ba7: CALLDATALOAD
00000ba8: SWAP1
00000ba9: PUSH1 0x04
00000bab: CALLDATALOAD
00000bac: PUSH2 0x3c9c
00000baf: JUMP
00000bb0: JUMPDEST
00000bb1: PUSH1 0x01
00000bb3: PUSH1 0x00
00000bb5: DUP1
00000bb6: MLOAD
00000bb7: PUSH1 0x20
00000bb9: PUSH2 0x5c21
00000bbc: DUP4
00000bbd: CODECOPY
00000bbe: DUP2
00000bbf: MLOAD
00000bc0: SWAP2
00000bc1: MSTORE
00000bc2: SSTORE
00000bc3: PUSH1 0x40
00000bc5: MLOAD
00000bc6: SWAP2
00000bc7: AND
00000bc8: DUP2
00000bc9: MSTORE
00000bca: RETURN
00000bcb: JUMPDEST
00000bcc: POP
00000bcd: CALLVALUE
00000bce: PUSH2 0x026c
00000bd1: JUMPI
00000bd2: DUP1
00000bd3: PUSH1 0x03
00000bd5: NOT
00000bd6: CALLDATASIZE
00000bd7: ADD
00000bd8: SLT
00000bd9: PUSH2 0x026c
00000bdc: JUMPI
00000bdd: PUSH1 0x20
00000bdf: PUSH1 0x02
00000be1: PUSH1 0x00
00000be3: DUP1
00000be4: MLOAD
00000be5: PUSH1 0x20
00000be7: PUSH2 0x5b21
00000bea: DUP4
00000beb: CODECOPY
00000bec: DUP2
00000bed: MLOAD
00000bee: SWAP2
00000bef: MSTORE
00000bf0: SLOAD
00000bf1: EQ
00000bf2: PUSH1 0x40
00000bf4: MLOAD
00000bf5: SWAP1
00000bf6: DUP2
00000bf7: MSTORE
00000bf8: RETURN
00000bf9: JUMPDEST
00000bfa: POP
00000bfb: CALLVALUE
00000bfc: PUSH2 0x026c
00000bff: JUMPI
00000c00: DUP1
00000c01: PUSH1 0x03
00000c03: NOT
00000c04: CALLDATASIZE
00000c05: ADD
00000c06: SLT
00000c07: PUSH2 0x026c
00000c0a: JUMPI
00000c0b: PUSH1 0x00
00000c0d: DUP1
00000c0e: MLOAD
00000c0f: PUSH1 0x20
00000c11: PUSH2 0x5c41
00000c14: DUP4
00000c15: CODECOPY
00000c16: DUP2
00000c17: MLOAD
00000c18: SWAP2
00000c19: MSTORE
00000c1a: SLOAD
00000c1b: PUSH1 0x40
00000c1d: MLOAD
00000c1e: PUSH1 0x01
00000c20: PUSH1 0x01
00000c22: PUSH1 0xa0
00000c24: SHL
00000c25: SUB
00000c26: SWAP1
00000c27: SWAP2
00000c28: AND
00000c29: DUP2
00000c2a: MSTORE
00000c2b: PUSH1 0x20
00000c2d: SWAP1
00000c2e: RETURN
00000c2f: JUMPDEST
00000c30: POP
00000c31: CALLVALUE
00000c32: PUSH2 0x026c
00000c35: JUMPI
00000c36: PUSH1 0x20
00000c38: DUP1
00000c39: PUSH1 0x03
00000c3b: NOT
00000c3c: CALLDATASIZE
00000c3d: ADD
00000c3e: SLT
00000c3f: PUSH2 0x06ae
00000c42: JUMPI
00000c43: PUSH1 0x01
00000c45: PUSH1 0x01
00000c47: PUSH1 0xa0
00000c49: SHL
00000c4a: SUB
00000c4b: SWAP1
00000c4c: PUSH1 0x04
00000c4e: CALLDATALOAD
00000c4f: DUP3
00000c50: DUP2
00000c51: AND
00000c52: SWAP2
00000c53: SWAP1
00000c54: DUP3
00000c55: DUP2
00000c56: SUB
00000c57: PUSH2 0x07f4
00000c5a: JUMPI
00000c5b: PUSH2 0x0c62
00000c5e: PUSH2 0x5a17
00000c61: JUMP
00000c62: JUMPDEST
00000c63: DUP3
00000c64: ISZERO
00000c65: PUSH2 0x0f2e
00000c68: JUMPI
00000c69: DUP3
00000c6a: PUSH1 0x00
00000c6c: MSTORE
00000c6d: PUSH1 0x00
00000c6f: DUP1
00000c70: MLOAD
00000c71: PUSH1 0x20
00000c73: PUSH2 0x5be1
00000c76: DUP4
00000c77: CODECOPY
00000c78: DUP2
00000c79: MLOAD
00000c7a: SWAP2
00000c7b: MSTORE
00000c7c: DUP1
00000c7d: DUP4
00000c7e: MSTORE
00000c7f: PUSH1 0xff
00000c81: SWAP2
00000c82: DUP3
00000c83: PUSH1 0x40
00000c85: PUSH1 0x00
00000c87: KECCAK256
00000c88: SLOAD
00000c89: AND
00000c8a: ISZERO
00000c8b: PUSH2 0x0f15
00000c8e: JUMPI
00000c8f: DUP5
00000c90: PUSH1 0x00
00000c92: MSTORE
00000c93: DUP2
00000c94: DUP5
00000c95: MSTORE
00000c96: DUP3
00000c97: PUSH1 0x40
00000c99: PUSH1 0x00
00000c9b: KECCAK256
00000c9c: SLOAD
00000c9d: PUSH1 0x08
00000c9f: SHR
00000ca0: AND
00000ca1: ISZERO
00000ca2: PUSH2 0x0efc
00000ca5: JUMPI
00000ca6: DUP5
00000ca7: PUSH1 0x00
00000ca9: MSTORE
00000caa: DUP2
00000cab: DUP5
00000cac: MSTORE
00000cad: PUSH1 0x40
00000caf: PUSH1 0x00
00000cb1: KECCAK256
00000cb2: PUSH2 0xff00
00000cb5: NOT
00000cb6: SWAP1
00000cb7: DUP2
00000cb8: DUP2
00000cb9: SLOAD
00000cba: AND
00000cbb: SWAP1
00000cbc: SSTORE
00000cbd: PUSH1 0x00
00000cbf: DUP1
00000cc0: MLOAD
00000cc1: PUSH1 0x20
00000cc3: PUSH2 0x5ba1
00000cc6: DUP4
00000cc7: CODECOPY
00000cc8: DUP2
00000cc9: MLOAD
00000cca: SWAP2
00000ccb: MSTORE
00000ccc: SWAP3
00000ccd: DUP4
00000cce: SLOAD
00000ccf: DUP6
00000cd0: DUP2
00000cd1: PUSH1 0x08
00000cd3: SHR
00000cd4: AND
00000cd5: SWAP3
00000cd6: DUP4
00000cd7: ISZERO
00000cd8: PUSH2 0x0ee8
00000cdb: JUMPI
00000cdc: PUSH2 0xff00
00000cdf: PUSH1 0x00
00000ce1: NOT
00000ce2: DUP1
00000ce3: SWAP6
00000ce4: ADD
00000ce5: PUSH1 0x08
00000ce7: SHL
00000ce8: AND
00000ce9: SWAP2
00000cea: AND
00000ceb: OR
00000cec: DUP5
00000ced: SSTORE
00000cee: PUSH1 0x00
00000cf0: DUP1
00000cf1: MLOAD
00000cf2: PUSH1 0x20
00000cf4: PUSH2 0x5b41
00000cf7: DUP4
00000cf8: CODECOPY
00000cf9: DUP2
00000cfa: MLOAD
00000cfb: SWAP2
00000cfc: MSTORE
00000cfd: DUP1
00000cfe: SLOAD
00000cff: SWAP2
00000d00: DUP9
00000d01: PUSH1 0x00
00000d03: MSTORE
00000d04: DUP8
00000d05: MSTORE
00000d06: PUSH1 0x01
00000d08: PUSH1 0x01
00000d0a: PUSH1 0x40
00000d0c: SHL
00000d0d: SUB
00000d0e: PUSH1 0x01
00000d10: SWAP3
00000d11: PUSH2 0x0d2f
00000d14: DUP3
00000d15: DUP6
00000d16: DUP11
00000d17: PUSH1 0x40
00000d19: PUSH1 0x00
00000d1b: KECCAK256
00000d1c: SLOAD
00000d1d: PUSH1 0x10
00000d1f: SHR
00000d20: AND
00000d21: SHL
00000d22: NOT
00000d23: DUP4
00000d24: AND
00000d25: AND
00000d26: SWAP3
00000d27: DUP3
00000d28: AND
00000d29: DUP4
00000d2a: LT
00000d2b: PUSH2 0x4a9f
00000d2e: JUMP
00000d2f: JUMPDEST
00000d30: PUSH1 0x01
00000d32: PUSH1 0x01
00000d34: PUSH1 0x40
00000d36: SHL
00000d37: SUB
00000d38: NOT
00000d39: AND
00000d3a: OR
00000d3b: SWAP1
00000d3c: SSTORE
00000d3d: DUP9
00000d3e: SWAP8
00000d3f: PUSH1 0x00
00000d41: DUP1
00000d42: MLOAD
00000d43: PUSH1 0x20
00000d45: PUSH2 0x5b61
00000d48: DUP4
00000d49: CODECOPY
00000d4a: DUP2
00000d4b: MLOAD
00000d4c: SWAP2
00000d4d: MSTORE
00000d4e: DUP1
00000d4f: SLOAD
00000d50: SWAP4
00000d51: DUP12
00000d52: JUMPDEST
00000d53: DUP6
00000d54: DUP2
00000d55: LT
00000d56: PUSH2 0x0de2
00000d59: JUMPI
00000d5a: JUMPDEST
00000d5b: POP
00000d5c: POP
00000d5d: POP
00000d5e: POP
00000d5f: POP
00000d60: POP
00000d61: SWAP2
00000d62: DUP1
00000d63: SWAP2
00000d64: PUSH2 0x0da2
00000d67: PUSH1 0x40
00000d69: SWAP7
00000d6a: SWAP6
00000d6b: SWAP5
00000d6c: PUSH2 0x0d95
00000d6f: PUSH32 0x697a3853515b88013ad432f29f53d406debc9509ed6d9313dcfe115250fcd18f
00000d90: SWAP10
00000d91: PUSH2 0x4a9f
00000d94: JUMP
00000d95: JUMPDEST
00000d96: PUSH2 0x0d9d
00000d99: PUSH2 0x4abc
00000d9c: JUMP
00000d9d: JUMPDEST
00000d9e: PUSH2 0x4ba7
00000da1: JUMP
00000da2: JUMPDEST
00000da3: SLOAD
00000da4: PUSH1 0x08
00000da6: SHR
00000da7: AND
00000da8: PUSH1 0x00
00000daa: DUP1
00000dab: MLOAD
00000dac: PUSH1 0x20
00000dae: PUSH2 0x5aa1
00000db1: DUP4
00000db2: CODECOPY
00000db3: DUP2
00000db4: MLOAD
00000db5: SWAP2
00000db6: MSTORE
00000db7: SWAP1
00000db8: DUP2
00000db9: SLOAD
00000dba: DUP4
00000dbb: DUP2
00000dbc: AND
00000dbd: DUP3
00000dbe: LT
00000dbf: PUSH2 0x0dd4
00000dc2: JUMPI
00000dc3: JUMPDEST
00000dc4: POP
00000dc5: POP
00000dc6: SLOAD
00000dc7: AND
00000dc8: SWAP1
00000dc9: DUP4
00000dca: MLOAD
00000dcb: SWAP3
00000dcc: DUP4
00000dcd: MSTORE
00000dce: DUP3
00000dcf: ADD
00000dd0: MSTORE
00000dd1: LOG1
00000dd2: DUP1
00000dd3: RETURN
00000dd4: JUMPDEST
00000dd5: PUSH1 0xff
00000dd7: NOT
00000dd8: AND
00000dd9: OR
00000dda: DUP2
00000ddb: SSTORE
00000ddc: CODESIZE
00000ddd: DUP1
00000dde: PUSH2 0x0dc3
00000de1: JUMP
00000de2: JUMPDEST
00000de3: DUP4
00000de4: DUP12
00000de5: PUSH2 0x0ded
00000de8: DUP4
00000de9: PUSH2 0x302f
00000dec: JUMP
00000ded: JUMPDEST
00000dee: SWAP3
00000def: SWAP1
00000df0: SLOAD
00000df1: PUSH1 0x03
00000df3: SWAP4
00000df4: DUP5
00000df5: SHL
00000df6: SHR
00000df7: AND
00000df8: EQ
00000df9: PUSH2 0x0e0b
00000dfc: JUMPI
00000dfd: POP
00000dfe: PUSH2 0x0e06
00000e01: SWAP1
00000e02: PUSH2 0x2de1
00000e05: JUMP
00000e06: JUMPDEST
00000e07: PUSH2 0x0d52
00000e0a: JUMP
00000e0b: JUMPDEST
00000e0c: SWAP6
00000e0d: SWAP1
00000e0e: SWAP2
00000e0f: DUP1
00000e10: SWAP4
00000e11: SWAP6
00000e12: SWAP8
00000e13: SWAP9
00000e14: SWAP10
00000e15: SWAP11
00000e16: SWAP12
00000e17: SWAP13
00000e18: POP
00000e19: DUP2
00000e1a: ADD
00000e1b: SWAP1
00000e1c: DUP2
00000e1d: GT
00000e1e: PUSH2 0x0ed4
00000e21: JUMPI
00000e22: SWAP1
00000e23: PUSH2 0x0e3f
00000e26: DUP5
00000e27: PUSH2 0x0e32
00000e2a: PUSH2 0x0e5e
00000e2d: SWAP5
00000e2e: PUSH2 0x302f
00000e31: JUMP
00000e32: JUMPDEST
00000e33: SWAP1
00000e34: SLOAD
00000e35: SWAP1
00000e36: DUP10
00000e37: SHL
00000e38: SHR
00000e39: AND
00000e3a: SWAP2
00000e3b: PUSH2 0x302f
00000e3e: JUMP
00000e3f: JUMPDEST
00000e40: SWAP1
00000e41: SWAP2
00000e42: SWAP1
00000e43: DUP3
00000e44: SLOAD
00000e45: SWAP1
00000e46: PUSH1 0x03
00000e48: SHL
00000e49: SWAP2
00000e4a: PUSH1 0x01
00000e4c: DUP1
00000e4d: PUSH1 0xa0
00000e4f: SHL
00000e50: SUB
00000e51: DUP1
00000e52: SWAP2
00000e53: AND
00000e54: DUP4
00000e55: SHL
00000e56: SWAP3
00000e57: SHL
00000e58: NOT
00000e59: AND
00000e5a: OR
00000e5b: SWAP1
00000e5c: SSTORE
00000e5d: JUMP
00000e5e: JUMPDEST
00000e5f: DUP3
00000e60: SLOAD
00000e61: DUP1
00000e62: ISZERO
00000e63: PUSH2 0x0ec0
00000e66: JUMPI
00000e67: SWAP5
00000e68: PUSH1 0x40
00000e6a: SWAP10
00000e6b: SWAP8
00000e6c: SWAP5
00000e6d: PUSH2 0x0da2
00000e70: SWAP5
00000e71: DUP11
00000e72: SWAP9
00000e73: SWAP5
00000e74: PUSH2 0x0d95
00000e77: SWAP5
00000e78: PUSH32 0x697a3853515b88013ad432f29f53d406debc9509ed6d9313dcfe115250fcd18f
00000e99: SWAP15
00000e9a: SWAP13
00000e9b: SWAP10
00000e9c: ADD
00000e9d: SWAP3
00000e9e: PUSH2 0x0ea6
00000ea1: DUP5
00000ea2: PUSH2 0x302f
00000ea5: JUMP
00000ea6: JUMPDEST
00000ea7: DUP2
00000ea8: SWAP4
00000ea9: SWAP2
00000eaa: SLOAD
00000eab: SWAP3
00000eac: SHL
00000ead: SHL
00000eae: NOT
00000eaf: AND
00000eb0: SWAP1
00000eb1: SSTORE
00000eb2: SSTORE
00000eb3: SWAP10
00000eb4: DUP5
00000eb5: SWAP7
00000eb6: SWAP8
00000eb7: SWAP9
00000eb8: SWAP10
00000eb9: DUP4
00000eba: SWAP7
00000ebb: POP
00000ebc: PUSH2 0x0d5a
00000ebf: JUMP
00000ec0: JUMPDEST
00000ec1: PUSH4 0x4e487b71
00000ec6: PUSH1 0xe0
00000ec8: SHL
00000ec9: DUP13
00000eca: MSTORE
00000ecb: PUSH1 0x31
00000ecd: PUSH1 0x04
00000ecf: MSTORE
00000ed0: PUSH1 0x24
00000ed2: DUP13
00000ed3: REVERT
00000ed4: JUMPDEST
00000ed5: PUSH4 0x4e487b71
00000eda: PUSH1 0xe0
00000edc: SHL
00000edd: DUP14
00000ede: MSTORE
00000edf: PUSH1 0x11
00000ee1: PUSH1 0x04
00000ee3: MSTORE
00000ee4: PUSH1 0x24
00000ee6: DUP14
00000ee7: REVERT
00000ee8: JUMPDEST
00000ee9: PUSH4 0x4e487b71
00000eee: PUSH1 0xe0
00000ef0: SHL
00000ef1: DUP12
00000ef2: MSTORE
00000ef3: PUSH1 0x11
00000ef5: PUSH1 0x04
00000ef7: MSTORE
00000ef8: PUSH1 0x24
00000efa: DUP12
00000efb: REVERT
00000efc: JUMPDEST
00000efd: PUSH1 0x40
00000eff: MLOAD
00000f00: PUSH4 0x07d86e91
00000f05: PUSH1 0xe2
00000f07: SHL
00000f08: DUP2
00000f09: MSTORE
00000f0a: PUSH1 0x04
00000f0c: DUP2
00000f0d: ADD
00000f0e: DUP7
00000f0f: SWAP1
00000f10: MSTORE
00000f11: PUSH1 0x24
00000f13: SWAP1
00000f14: REVERT
00000f15: JUMPDEST
00000f16: PUSH1 0x40
00000f18: MLOAD
00000f19: PUSH4 0x0d583f47
00000f1e: PUSH1 0xe4
00000f20: SHL
00000f21: DUP2
00000f22: MSTORE
00000f23: PUSH1 0x04
00000f25: DUP2
00000f26: ADD
00000f27: DUP7
00000f28: SWAP1
00000f29: MSTORE
00000f2a: PUSH1 0x24
00000f2c: SWAP1
00000f2d: REVERT
00000f2e: JUMPDEST
00000f2f: PUSH1 0x40
00000f31: MLOAD
00000f32: PUSH4 0x2f44bd77
00000f37: PUSH1 0xe0
00000f39: SHL
00000f3a: DUP2
00000f3b: MSTORE
00000f3c: PUSH1 0x04
00000f3e: SWAP1
00000f3f: REVERT
00000f40: JUMPDEST
00000f41: POP
00000f42: CALLVALUE
00000f43: PUSH2 0x026c
00000f46: JUMPI
00000f47: PUSH2 0x0f4f
00000f4a: CALLDATASIZE
00000f4b: PUSH2 0x2c24
00000f4e: JUMP
00000f4f: JUMPDEST
00000f50: SWAP1
00000f51: CALLER
00000f52: PUSH1 0x00
00000f54: MSTORE
00000f55: PUSH1 0x00
00000f57: DUP1
00000f58: MLOAD
00000f59: PUSH1 0x20
00000f5b: PUSH2 0x5be1
00000f5e: DUP4
00000f5f: CODECOPY
00000f60: DUP2
00000f61: MLOAD
00000f62: SWAP2
00000f63: MSTORE
00000f64: PUSH1 0x20
00000f66: SWAP1
00000f67: DUP1
00000f68: DUP3
00000f69: MSTORE
00000f6a: PUSH1 0xff
00000f6c: PUSH1 0x40
00000f6e: PUSH1 0x00
00000f70: KECCAK256
00000f71: SLOAD
00000f72: PUSH1 0x08
00000f74: SHR
00000f75: AND
00000f76: ISZERO
00000f77: PUSH2 0x1163
00000f7a: JUMPI
00000f7b: PUSH1 0x00
00000f7d: DUP1
00000f7e: MLOAD
00000f7f: PUSH1 0x20
00000f81: PUSH2 0x5b21
00000f84: DUP4
00000f85: CODECOPY
00000f86: DUP2
00000f87: MLOAD
00000f88: SWAP2
00000f89: MSTORE
00000f8a: SWAP2
00000f8b: PUSH1 0x02
00000f8d: DUP4
00000f8e: SLOAD
00000f8f: EQ
00000f90: PUSH2 0x069c
00000f93: JUMPI
00000f94: PUSH2 0xffff
00000f97: DUP7
00000f98: AND
00000f99: DUP1
00000f9a: PUSH1 0x00
00000f9c: MSTORE
00000f9d: PUSH1 0x00
00000f9f: DUP1
00000fa0: MLOAD
00000fa1: PUSH1 0x20
00000fa3: PUSH2 0x5a81
00000fa6: DUP4
00000fa7: CODECOPY
00000fa8: DUP2
00000fa9: MLOAD
00000faa: SWAP2
00000fab: MSTORE
00000fac: DUP3
00000fad: MSTORE
00000fae: DUP5
00000faf: PUSH1 0x40
00000fb1: PUSH1 0x00
00000fb3: KECCAK256
00000fb4: SLOAD
00000fb5: SUB
00000fb6: PUSH2 0x1145
00000fb9: JUMPI
00000fba: POP
00000fbb: PUSH1 0x40
00000fbd: MLOAD
00000fbe: PUSH4 0xb3f07bbd
00000fc3: PUSH1 0xe0
00000fc5: SHL
00000fc6: DUP2
00000fc7: MSTORE
00000fc8: SWAP2
00000fc9: DUP2
00000fca: DUP4
00000fcb: DUP1
00000fcc: PUSH2 0x0fd9
00000fcf: DUP10
00000fd0: DUP12
00000fd1: PUSH1 0x04
00000fd3: DUP5
00000fd4: ADD
00000fd5: PUSH2 0x30ff
00000fd8: JUMP
00000fd9: JUMPDEST
00000fda: SUB
00000fdb: DUP2
00000fdc: PUSH20 0x370d05c1f7e88312056bf2df462976219ca0fed4
00000ff1: GAS
00000ff2: DELEGATECALL
00000ff3: SWAP3
00000ff4: DUP4
00000ff5: ISZERO
00000ff6: PUSH2 0x113a
00000ff9: JUMPI
00000ffa: DUP9
00000ffb: SWAP4
00000ffc: PUSH2 0x110b
00000fff: JUMPI
00001000: JUMPDEST
00001001: POP
00001002: CALLER
00001003: PUSH1 0x00
00001005: MSTORE
00001006: DUP1
00001007: DUP3
00001008: MSTORE
00001009: PUSH2 0x101d
0000100c: PUSH1 0xff
0000100e: PUSH1 0x40
00001010: PUSH1 0x00
00001012: KECCAK256
00001013: SLOAD
00001014: PUSH1 0x10
00001016: SHR
00001017: AND
00001018: DUP5
00001019: PUSH2 0x2ff9
0000101c: JUMP
0000101d: JUMPDEST
0000101e: PUSH2 0x10f2
00001021: JUMPI
00001022: PUSH1 0x60
00001024: PUSH2 0x10d1
00001027: SWAP4
00001028: SWAP3
00001029: PUSH32 0x35a2101eaac94b493e0dfca061f9a7f087913fde8678e7cde0aca9897edba0e5
0000104a: SWAP3
0000104b: CALLER
0000104c: PUSH1 0x00
0000104e: MSTORE
0000104f: DUP1
00001050: DUP3
00001051: MSTORE
00001052: DUP11
00001053: PUSH1 0x01
00001055: PUSH1 0x01
00001057: PUSH1 0x40
00001059: SHL
0000105a: SUB
0000105b: PUSH2 0x0100
0000105e: PUSH1 0x01
00001060: PUSH1 0x48
00001062: SHL
00001063: SUB
00001064: PUSH1 0x40
00001066: DUP3
00001067: PUSH1 0x01
00001069: PUSH1 0xff
0000106b: DUP4
0000106c: PUSH1 0x00
0000106e: KECCAK256
0000106f: SLOAD
00001070: PUSH1 0x10
00001072: SHR
00001073: AND
00001074: SHL
00001075: AND
00001076: SWAP4
00001077: DUP10
00001078: DUP2
00001079: MSTORE
0000107a: PUSH1 0x00
0000107c: DUP1
0000107d: MLOAD
0000107e: PUSH1 0x20
00001080: PUSH2 0x5ae1
00001083: DUP4
00001084: CODECOPY
00001085: DUP2
00001086: MLOAD
00001087: SWAP2
00001088: MSTORE
00001089: DUP8
0000108a: MSTORE
0000108b: KECCAK256
0000108c: SWAP3
0000108d: DUP4
0000108e: SLOAD
0000108f: SWAP3
00001090: DUP4
00001091: PUSH1 0x08
00001093: SHR
00001094: AND
00001095: OR
00001096: PUSH1 0x08
00001098: SHL
00001099: AND
0000109a: SWAP1
0000109b: PUSH2 0x0100
0000109e: PUSH1 0x01
000010a0: PUSH1 0x48
000010a2: SHL
000010a3: SUB
000010a4: NOT
000010a5: AND
000010a6: OR
000010a7: SWAP1
000010a8: SSTORE
000010a9: CALLER
000010aa: PUSH1 0x00
000010ac: MSTORE
000010ad: DUP2
000010ae: MSTORE
000010af: PUSH1 0xff
000010b1: PUSH1 0x40
000010b3: PUSH1 0x00
000010b5: KECCAK256
000010b6: SLOAD
000010b7: PUSH1 0x10
000010b9: SHR
000010ba: AND
000010bb: PUSH1 0x40
000010bd: MLOAD
000010be: SWAP2
000010bf: DUP6
000010c0: DUP4
000010c1: MSTORE
000010c2: CALLER
000010c3: SWAP1
000010c4: DUP4
000010c5: ADD
000010c6: MSTORE
000010c7: PUSH1 0x40
000010c9: DUP3
000010ca: ADD
000010cb: MSTORE
000010cc: LOG1
000010cd: PUSH2 0x2f8c
000010d0: JUMP
000010d1: JUMPDEST
000010d2: PUSH2 0x10d9
000010d5: JUMPI
000010d6: DUP5
000010d7: DUP1
000010d8: RETURN
000010d9: JUMPDEST
000010da: SLOAD
000010db: PUSH1 0x02
000010dd: EQ
000010de: PUSH2 0x069c
000010e1: JUMPI
000010e2: PUSH2 0x10ea
000010e5: SWAP3
000010e6: PUSH2 0x3129
000010e9: JUMP
000010ea: JUMPDEST
000010eb: CODESIZE
000010ec: DUP1
000010ed: DUP1
000010ee: DUP1
000010ef: DUP5
000010f0: DUP1
000010f1: RETURN
000010f2: JUMPDEST
000010f3: PUSH1 0x40
000010f5: MLOAD
000010f6: PUSH4 0x1089c4a1
000010fb: PUSH1 0xe1
000010fd: SHL
000010fe: DUP2
000010ff: MSTORE
00001100: PUSH1 0x04
00001102: DUP2
00001103: ADD
00001104: DUP5
00001105: SWAP1
00001106: MSTORE
00001107: PUSH1 0x24
00001109: SWAP1
0000110a: REVERT
0000110b: JUMPDEST
0000110c: SWAP1
0000110d: SWAP3
0000110e: POP
0000110f: DUP2
00001110: DUP2
00001111: DUP2
00001112: RETURNDATASIZE
00001113: DUP4
00001114: GT
00001115: PUSH2 0x1133
00001118: JUMPI
00001119: JUMPDEST
0000111a: PUSH2 0x1123
0000111d: DUP2
0000111e: DUP4
0000111f: PUSH2 0x2ba1
00001122: JUMP
00001123: JUMPDEST
00001124: DUP2
00001125: ADD
00001126: SUB
00001127: SLT
00001128: PUSH2 0x05b1
0000112b: JUMPI
0000112c: MLOAD
0000112d: SWAP2
0000112e: CODESIZE
0000112f: PUSH2 0x1000
00001132: JUMP
00001133: JUMPDEST
00001134: POP
00001135: RETURNDATASIZE
00001136: PUSH2 0x1119
00001139: JUMP
0000113a: JUMPDEST
0000113b: PUSH1 0x40
0000113d: MLOAD
0000113e: RETURNDATASIZE
0000113f: DUP11
00001140: DUP3
00001141: RETURNDATACOPY
00001142: RETURNDATASIZE
00001143: SWAP1
00001144: REVERT
00001145: JUMPDEST
00001146: PUSH1 0x44
00001148: SWAP1
00001149: DUP6
0000114a: PUSH1 0x40
0000114c: MLOAD
0000114d: SWAP2
0000114e: PUSH4 0x5788c0fd
00001153: PUSH1 0xe1
00001155: SHL
00001156: DUP4
00001157: MSTORE
00001158: PUSH1 0x04
0000115a: DUP4
0000115b: ADD
0000115c: MSTORE
0000115d: PUSH1 0x24
0000115f: DUP3
00001160: ADD
00001161: MSTORE
00001162: REVERT
00001163: JUMPDEST
00001164: PUSH1 0x40
00001166: MLOAD
00001167: PUSH4 0xa0ae911d
0000116c: PUSH1 0xe0
0000116e: SHL
0000116f: DUP2
00001170: MSTORE
00001171: CALLER
00001172: PUSH1 0x04
00001174: DUP3
00001175: ADD
00001176: MSTORE
00001177: PUSH1 0x24
00001179: SWAP1
0000117a: REVERT
0000117b: JUMPDEST
0000117c: POP
0000117d: CALLVALUE
0000117e: PUSH2 0x026c
00001181: JUMPI
00001182: DUP1
00001183: PUSH1 0x03
00001185: NOT
00001186: CALLDATASIZE
00001187: ADD
00001188: SLT
00001189: PUSH2 0x026c
0000118c: JUMPI
0000118d: PUSH1 0x20
0000118f: PUSH1 0x40
00001191: MLOAD
00001192: PUSH2 0xffff
00001195: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000002
000011b6: AND
000011b7: DUP2
000011b8: MSTORE
000011b9: RETURN
000011ba: JUMPDEST
000011bb: POP
000011bc: PUSH1 0x20
000011be: CALLDATASIZE
000011bf: PUSH1 0x03
000011c1: NOT
000011c2: ADD
000011c3: SLT
000011c4: PUSH2 0x026c
000011c7: JUMPI
000011c8: PUSH1 0x01
000011ca: PUSH1 0x01
000011cc: PUSH1 0x40
000011ce: SHL
000011cf: SUB
000011d0: PUSH1 0x04
000011d2: CALLDATALOAD
000011d3: AND
000011d4: SWAP1
000011d5: DUP2
000011d6: PUSH1 0x04
000011d8: CALLDATALOAD
000011d9: SUB
000011da: PUSH2 0x026c
000011dd: JUMPI
000011de: PUSH2 0x11e5
000011e1: PUSH2 0x5a50
000011e4: JUMP
000011e5: JUMPDEST
000011e6: PUSH1 0x02
000011e8: PUSH1 0x00
000011ea: DUP1
000011eb: MLOAD
000011ec: PUSH1 0x20
000011ee: PUSH2 0x5b21
000011f1: DUP4
000011f2: CODECOPY
000011f3: DUP2
000011f4: MLOAD
000011f5: SWAP2
000011f6: MSTORE
000011f7: SLOAD
000011f8: EQ
000011f9: PUSH2 0x069c
000011fc: JUMPI
000011fd: DUP2
000011fe: PUSH1 0x00
00001200: MSTORE
00001201: PUSH1 0x00
00001203: DUP1
00001204: MLOAD
00001205: PUSH1 0x20
00001207: PUSH2 0x5c01
0000120a: DUP4
0000120b: CODECOPY
0000120c: DUP2
0000120d: MLOAD
0000120e: SWAP2
0000120f: MSTORE
00001210: PUSH1 0x20
00001212: MSTORE
00001213: PUSH1 0x40
00001215: PUSH1 0x00
00001217: KECCAK256
00001218: SWAP2
00001219: PUSH1 0x40
0000121b: MLOAD
0000121c: SWAP3
0000121d: PUSH2 0x1225
00001220: DUP5
00001221: PUSH2 0x2b1a
00001224: JUMP
00001225: JUMPDEST
00001226: DUP1
00001227: SLOAD
00001228: DUP5
00001229: MSTORE
0000122a: PUSH1 0x01
0000122c: DUP2
0000122d: ADD
0000122e: SLOAD
0000122f: PUSH1 0x20
00001231: DUP6
00001232: ADD
00001233: MSTORE
00001234: PUSH2 0xffff
00001237: PUSH1 0x02
00001239: DUP3
0000123a: ADD
0000123b: SLOAD
0000123c: PUSH1 0x01
0000123e: PUSH1 0x01
00001240: PUSH1 0x48
00001242: SHL
00001243: SUB
00001244: DUP2
00001245: AND
00001246: PUSH1 0x40
00001248: DUP8
00001249: ADD
0000124a: MSTORE
0000124b: PUSH1 0x01
0000124d: PUSH1 0x01
0000124f: PUSH1 0x40
00001251: SHL
00001252: SUB
00001253: DUP2
00001254: PUSH1 0x48
00001256: SHR
00001257: AND
00001258: PUSH1 0x60
0000125a: DUP8
0000125b: ADD
0000125c: MSTORE
0000125d: PUSH1 0x88
0000125f: SHR
00001260: AND
00001261: PUSH1 0x80
00001263: DUP6
00001264: ADD
00001265: MSTORE
00001266: PUSH1 0x01
00001268: DUP1
00001269: PUSH1 0xa0
0000126b: SHL
0000126c: SUB
0000126d: PUSH1 0x03
0000126f: DUP3
00001270: ADD
00001271: SLOAD
00001272: AND
00001273: PUSH1 0xa0
00001275: DUP6
00001276: ADD
00001277: MSTORE
00001278: PUSH1 0x40
0000127a: MLOAD
0000127b: DUP4
0000127c: DUP2
0000127d: SWAP5
0000127e: SWAP1
0000127f: PUSH1 0x04
00001281: DUP5
00001282: ADD
00001283: SLOAD
00001284: SWAP4
00001285: PUSH2 0x128d
00001288: DUP6
00001289: PUSH2 0x3587
0000128c: JUMP
0000128d: JUMPDEST
0000128e: DUP1
0000128f: DUP6
00001290: MSTORE
00001291: SWAP5
00001292: PUSH1 0x01
00001294: DUP2
00001295: AND
00001296: SWAP1
00001297: DUP2
00001298: ISZERO
00001299: PUSH2 0x141e
0000129c: JUMPI
0000129d: POP
0000129e: PUSH1 0x01
000012a0: EQ
000012a1: PUSH2 0x13d9
000012a4: JUMPI
000012a5: JUMPDEST
000012a6: POP
000012a7: POP
000012a8: PUSH2 0x12b3
000012ab: SWAP3
000012ac: POP
000012ad: SUB
000012ae: DUP4
000012af: PUSH2 0x2ba1
000012b2: JUMP
000012b3: JUMPDEST
000012b4: PUSH1 0xc0
000012b6: DUP4
000012b7: ADD
000012b8: SWAP2
000012b9: DUP3
000012ba: MSTORE
000012bb: PUSH1 0x01
000012bd: PUSH1 0x01
000012bf: PUSH1 0x40
000012c1: SHL
000012c2: SUB
000012c3: PUSH1 0x60
000012c5: DUP5
000012c6: ADD
000012c7: MLOAD
000012c8: AND
000012c9: ISZERO
000012ca: PUSH2 0x13c1
000012cd: JUMPI
000012ce: PUSH2 0x12e4
000012d1: PUSH1 0x01
000012d3: PUSH1 0x01
000012d5: PUSH1 0x40
000012d7: SHL
000012d8: SUB
000012d9: PUSH1 0x60
000012db: DUP6
000012dc: ADD
000012dd: MLOAD
000012de: AND
000012df: TIMESTAMP
000012e0: PUSH2 0x2f7f
000012e3: JUMP
000012e4: JUMPDEST
000012e5: PUSH1 0x01
000012e7: PUSH1 0x01
000012e9: PUSH1 0x40
000012eb: SHL
000012ec: SUB
000012ed: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
0000130e: AND
0000130f: GT
00001310: PUSH2 0x1396
00001313: JUMPI
00001314: SWAP2
00001315: PUSH2 0x1373
00001318: SWAP2
00001319: PUSH1 0x20
0000131b: SWAP4
0000131c: PUSH1 0x00
0000131e: MSTORE
0000131f: PUSH1 0x00
00001321: DUP1
00001322: MLOAD
00001323: PUSH1 0x20
00001325: PUSH2 0x5c01
00001328: DUP4
00001329: CODECOPY
0000132a: DUP2
0000132b: MLOAD
0000132c: SWAP2
0000132d: MSTORE
0000132e: DUP5
0000132f: MSTORE
00001330: PUSH2 0x133c
00001333: PUSH1 0x40
00001335: PUSH1 0x00
00001337: KECCAK256
00001338: PUSH2 0x35d8
0000133b: JUMP
0000133c: JUMPDEST
0000133d: PUSH1 0x01
0000133f: PUSH1 0x01
00001341: PUSH1 0x48
00001343: SHL
00001344: SUB
00001345: PUSH1 0x40
00001347: DUP4
00001348: ADD
00001349: MLOAD
0000134a: AND
0000134b: SWAP2
0000134c: PUSH2 0xffff
0000134f: PUSH1 0x80
00001351: DUP3
00001352: ADD
00001353: MLOAD
00001354: AND
00001355: DUP2
00001356: MLOAD
00001357: SWAP1
00001358: DUP7
00001359: DUP4
0000135a: ADD
0000135b: MLOAD
0000135c: SWAP3
0000135d: PUSH1 0xa0
0000135f: PUSH1 0x01
00001361: DUP1
00001362: DUP3
00001363: SHL
00001364: SUB
00001365: SWAP2
00001366: ADD
00001367: MLOAD
00001368: AND
00001369: SWAP4
0000136a: MLOAD
0000136b: SWAP5
0000136c: PUSH1 0x04
0000136e: CALLDATALOAD
0000136f: PUSH2 0x4412
00001372: JUMP
00001373: JUMPDEST
00001374: PUSH1 0x01
00001376: PUSH1 0x00
00001378: DUP1
00001379: MLOAD
0000137a: PUSH1 0x20
0000137c: PUSH2 0x5c21
0000137f: DUP4
00001380: CODECOPY
00001381: DUP2
00001382: MLOAD
00001383: SWAP2
00001384: MSTORE
00001385: SSTORE
00001386: PUSH1 0x01
00001388: PUSH1 0x01
0000138a: PUSH1 0x40
0000138c: SHL
0000138d: SUB
0000138e: PUSH1 0x40
00001390: MLOAD
00001391: SWAP2
00001392: AND
00001393: DUP2
00001394: MSTORE
00001395: RETURN
00001396: JUMPDEST
00001397: PUSH1 0x44
00001399: SWAP1
0000139a: PUSH1 0x01
0000139c: PUSH1 0x01
0000139e: PUSH1 0x40
000013a0: SHL
000013a1: SUB
000013a2: PUSH1 0x60
000013a4: DUP6
000013a5: ADD
000013a6: MLOAD
000013a7: AND
000013a8: PUSH1 0x40
000013aa: MLOAD
000013ab: SWAP2
000013ac: PUSH4 0xc06cf05f
000013b1: PUSH1 0xe0
000013b3: SHL
000013b4: DUP4
000013b5: MSTORE
000013b6: PUSH1 0x04
000013b8: DUP4
000013b9: ADD
000013ba: MSTORE
000013bb: PUSH1 0x24
000013bd: DUP3
000013be: ADD
000013bf: MSTORE
000013c0: REVERT
000013c1: JUMPDEST
000013c2: PUSH1 0x24
000013c4: SWAP1
000013c5: PUSH1 0x40
000013c7: MLOAD
000013c8: SWAP1
000013c9: PUSH4 0x5feafa31
000013ce: PUSH1 0xe1
000013d0: SHL
000013d1: DUP3
000013d2: MSTORE
000013d3: PUSH1 0x04
000013d5: DUP3
000013d6: ADD
000013d7: MSTORE
000013d8: REVERT
000013d9: JUMPDEST
000013da: PUSH1 0x04
000013dc: SWAP2
000013dd: SWAP4
000013de: SWAP5
000013df: SWAP3
000013e0: POP
000013e1: ADD
000013e2: DUP3
000013e3: MSTORE
000013e4: PUSH1 0x20
000013e6: DUP3
000013e7: KECCAK256
000013e8: JUMPDEST
000013e9: DUP2
000013ea: DUP4
000013eb: LT
000013ec: PUSH2 0x1402
000013ef: JUMPI
000013f0: POP
000013f1: POP
000013f2: SWAP1
000013f3: PUSH1 0x20
000013f5: PUSH2 0x12b3
000013f8: SWAP3
000013f9: DUP3
000013fa: ADD
000013fb: ADD
000013fc: CODESIZE
000013fd: DUP1
000013fe: PUSH2 0x12a5
00001401: JUMP
00001402: JUMPDEST
00001403: PUSH1 0x20
00001405: SWAP2
00001406: SWAP4
00001407: POP
00001408: DUP1
00001409: PUSH1 0x01
0000140b: SWAP2
0000140c: SLOAD
0000140d: DUP4
0000140e: DUP6
0000140f: DUP10
00001410: ADD
00001411: ADD
00001412: MSTORE
00001413: ADD
00001414: SWAP2
00001415: ADD
00001416: SWAP1
00001417: SWAP2
00001418: DUP5
00001419: SWAP3
0000141a: PUSH2 0x13e8
0000141d: JUMP
0000141e: JUMPDEST
0000141f: SWAP2
00001420: POP
00001421: POP
00001422: PUSH1 0x20
00001424: SWAP3
00001425: POP
00001426: PUSH2 0x12b3
00001429: SWAP5
0000142a: SWAP2
0000142b: POP
0000142c: PUSH1 0xff
0000142e: NOT
0000142f: AND
00001430: DUP3
00001431: DUP5
00001432: ADD
00001433: MSTORE
00001434: ISZERO
00001435: ISZERO
00001436: PUSH1 0x05
00001438: SHL
00001439: DUP3
0000143a: ADD
0000143b: ADD
0000143c: CODESIZE
0000143d: DUP1
0000143e: PUSH2 0x12a5
00001441: JUMP
00001442: JUMPDEST
00001443: POP
00001444: PUSH1 0x60
00001446: CALLDATASIZE
00001447: PUSH1 0x03
00001449: NOT
0000144a: ADD
0000144b: SLT
0000144c: PUSH2 0x026c
0000144f: JUMPI
00001450: PUSH2 0x1457
00001453: PUSH2 0x2aae
00001456: JUMP
00001457: JUMPDEST
00001458: PUSH1 0x44
0000145a: CALLDATALOAD
0000145b: PUSH2 0x1462
0000145e: PUSH2 0x5a50
00001461: JUMP
00001462: JUMPDEST
00001463: PUSH1 0x02
00001465: PUSH1 0x00
00001467: DUP1
00001468: MLOAD
00001469: PUSH1 0x20
0000146b: PUSH2 0x5b21
0000146e: DUP4
0000146f: CODECOPY
00001470: DUP2
00001471: MLOAD
00001472: SWAP2
00001473: MSTORE
00001474: SLOAD
00001475: EQ
00001476: PUSH2 0x069c
00001479: JUMPI
0000147a: PUSH1 0x20
0000147c: SWAP2
0000147d: DUP2
0000147e: PUSH2 0x1373
00001481: SWAP3
00001482: PUSH1 0x40
00001484: MLOAD
00001485: SWAP3
00001486: PUSH2 0x148e
00001489: DUP5
0000148a: PUSH2 0x2b50
0000148d: JUMP
0000148e: JUMPDEST
0000148f: PUSH1 0x01
00001491: DUP5
00001492: MSTORE
00001493: DUP6
00001494: CALLDATASIZE
00001495: DUP2
00001496: DUP7
00001497: ADD
00001498: CALLDATACOPY
00001499: PUSH1 0x04
0000149b: CALLDATALOAD
0000149c: PUSH2 0x363a
0000149f: JUMP
000014a0: JUMPDEST
000014a1: POP
000014a2: CALLVALUE
000014a3: PUSH2 0x026c
000014a6: JUMPI
000014a7: PUSH1 0x40
000014a9: CALLDATASIZE
000014aa: PUSH1 0x03
000014ac: NOT
000014ad: ADD
000014ae: SLT
000014af: PUSH2 0x026c
000014b2: JUMPI
000014b3: PUSH2 0x14ba
000014b6: PUSH2 0x2a9d
000014b9: JUMP
000014ba: JUMPDEST
000014bb: PUSH1 0x24
000014bd: CALLDATALOAD
000014be: PUSH1 0x01
000014c0: PUSH1 0x01
000014c2: PUSH1 0x40
000014c4: SHL
000014c5: SUB
000014c6: DUP2
000014c7: GT
000014c8: PUSH2 0x1619
000014cb: JUMPI
000014cc: PUSH2 0x14d9
000014cf: SWAP1
000014d0: CALLDATASIZE
000014d1: SWAP1
000014d2: PUSH1 0x04
000014d4: ADD
000014d5: PUSH2 0x2bdd
000014d8: JUMP
000014d9: JUMPDEST
000014da: SWAP2
000014db: PUSH1 0x40
000014dd: MLOAD
000014de: SWAP2
000014df: DUP3
000014e0: SWAP1
000014e1: PUSH1 0x00
000014e3: DUP1
000014e4: MLOAD
000014e5: PUSH1 0x20
000014e7: PUSH2 0x5b61
000014ea: DUP4
000014eb: CODECOPY
000014ec: DUP2
000014ed: MLOAD
000014ee: SWAP2
000014ef: MSTORE
000014f0: DUP3
000014f1: DUP2
000014f2: SLOAD
000014f3: SWAP2
000014f4: DUP3
000014f5: DUP8
000014f6: MSTORE
000014f7: PUSH1 0x20
000014f9: DUP1
000014fa: SWAP8
000014fb: ADD
000014fc: SWAP1
000014fd: DUP7
000014fe: MSTORE
000014ff: PUSH1 0x00
00001501: DUP1
00001502: MLOAD
00001503: PUSH1 0x20
00001505: PUSH2 0x5ac1
00001508: DUP4
00001509: CODECOPY
0000150a: DUP2
0000150b: MLOAD
0000150c: SWAP2
0000150d: MSTORE
0000150e: SWAP3
0000150f: DUP7
00001510: JUMPDEST
00001511: DUP9
00001512: DUP3
00001513: DUP3
00001514: LT
00001515: PUSH2 0x15fa
00001518: JUMPI
00001519: POP
0000151a: POP
0000151b: POP
0000151c: PUSH2 0x1527
0000151f: SWAP3
00001520: POP
00001521: SUB
00001522: DUP4
00001523: PUSH2 0x2ba1
00001526: JUMP
00001527: JUMPDEST
00001528: DUP3
00001529: PUSH2 0x1551
0000152c: DUP4
0000152d: MLOAD
0000152e: SWAP7
0000152f: PUSH1 0x40
00001531: MLOAD
00001532: SWAP8
00001533: DUP9
00001534: SWAP3
00001535: DUP4
00001536: SWAP3
00001537: PUSH4 0x5b107439
0000153c: PUSH1 0xe1
0000153e: SHL
0000153f: DUP5
00001540: MSTORE
00001541: PUSH1 0x40
00001543: PUSH1 0x04
00001545: DUP6
00001546: ADD
00001547: MSTORE
00001548: PUSH1 0x44
0000154a: DUP5
0000154b: ADD
0000154c: SWAP1
0000154d: PUSH2 0x2ae2
00001550: JUMP
00001551: JUMPDEST
00001552: SWAP1
00001553: PUSH1 0x24
00001555: DUP4
00001556: ADD
00001557: MSTORE
00001558: SUB
00001559: DUP2
0000155a: PUSH20 0x370d05c1f7e88312056bf2df462976219ca0fed4
0000156f: GAS
00001570: DELEGATECALL
00001571: SWAP1
00001572: DUP2
00001573: ISZERO
00001574: PUSH2 0x15ef
00001577: JUMPI
00001578: DUP4
00001579: SWAP5
0000157a: SWAP6
0000157b: PUSH2 0x158a
0000157e: SWAP5
0000157f: SWAP3
00001580: PUSH2 0x15cb
00001583: JUMPI
00001584: JUMPDEST
00001585: POP
00001586: PUSH2 0x2e24
00001589: JUMP
0000158a: JUMPDEST
0000158b: PUSH1 0x40
0000158d: MLOAD
0000158e: SWAP3
0000158f: PUSH1 0x40
00001591: DUP5
00001592: ADD
00001593: PUSH1 0x40
00001595: DUP6
00001596: MSTORE
00001597: DUP4
00001598: MLOAD
00001599: DUP1
0000159a: SWAP2
0000159b: MSTORE
0000159c: DUP6
0000159d: PUSH1 0x60
0000159f: DUP7
000015a0: ADD
000015a1: SWAP5
000015a2: ADD
000015a3: SWAP2
000015a4: JUMPDEST
000015a5: DUP2
000015a6: DUP2
000015a7: LT
000015a8: PUSH2 0x15b7
000015ab: JUMPI
000015ac: POP
000015ad: POP
000015ae: POP
000015af: DUP3
000015b0: SWAP4
000015b1: DUP4
000015b2: ADD
000015b3: MSTORE
000015b4: SUB
000015b5: SWAP1
000015b6: RETURN
000015b7: JUMPDEST
000015b8: DUP3
000015b9: MLOAD
000015ba: DUP6
000015bb: MSTORE
000015bc: SWAP4
000015bd: DUP7
000015be: ADD
000015bf: SWAP4
000015c0: SWAP2
000015c1: DUP7
000015c2: ADD
000015c3: SWAP2
000015c4: PUSH1 0x01
000015c6: ADD
000015c7: PUSH2 0x15a4
000015ca: JUMP
000015cb: JUMPDEST
000015cc: PUSH2 0x15e8
000015cf: SWAP2
000015d0: SWAP3
000015d1: POP
000015d2: RETURNDATASIZE
000015d3: DUP1
000015d4: DUP8
000015d5: DUP4
000015d6: RETURNDATACOPY
000015d7: PUSH2 0x15e0
000015da: DUP2
000015db: DUP4
000015dc: PUSH2 0x2ba1
000015df: JUMP
000015e0: JUMPDEST
000015e1: DUP2
000015e2: ADD
000015e3: SWAP1
000015e4: PUSH2 0x2d0f
000015e7: JUMP
000015e8: JUMPDEST
000015e9: SWAP1
000015ea: CODESIZE
000015eb: PUSH2 0x1584
000015ee: JUMP
000015ef: JUMPDEST
000015f0: PUSH1 0x40
000015f2: MLOAD
000015f3: RETURNDATASIZE
000015f4: DUP6
000015f5: DUP3
000015f6: RETURNDATACOPY
000015f7: RETURNDATASIZE
000015f8: SWAP1
000015f9: REVERT
000015fa: JUMPDEST
000015fb: DUP6
000015fc: SLOAD
000015fd: PUSH1 0x01
000015ff: PUSH1 0x01
00001601: PUSH1 0xa0
00001603: SHL
00001604: SUB
00001605: AND
00001606: DUP5
00001607: MSTORE
00001608: PUSH1 0x01
0000160a: SWAP6
0000160b: DUP7
0000160c: ADD
0000160d: SWAP6
0000160e: DUP9
0000160f: SWAP6
00001610: POP
00001611: SWAP4
00001612: ADD
00001613: SWAP3
00001614: ADD
00001615: PUSH2 0x1510
00001618: JUMP
00001619: JUMPDEST
0000161a: DUP3
0000161b: DUP1
0000161c: REVERT
0000161d: JUMPDEST
0000161e: POP
0000161f: CALLVALUE
00001620: PUSH2 0x026c
00001623: JUMPI
00001624: DUP1
00001625: PUSH1 0x03
00001627: NOT
00001628: CALLDATASIZE
00001629: ADD
0000162a: SLT
0000162b: PUSH2 0x026c
0000162e: JUMPI
0000162f: PUSH2 0x1636
00001632: PUSH2 0x4cee
00001635: JUMP
00001636: JUMPDEST
00001637: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00
00001658: DUP1
00001659: SLOAD
0000165a: PUSH1 0x01
0000165c: PUSH1 0x01
0000165e: PUSH1 0x40
00001660: SHL
00001661: SUB
00001662: DUP1
00001663: DUP3
00001664: AND
00001665: SWAP1
00001666: PUSH1 0x01
00001668: DUP3
00001669: ADD
0000166a: SWAP2
0000166b: DUP2
0000166c: DUP4
0000166d: GT
0000166e: PUSH2 0x1746
00001671: JUMPI
00001672: PUSH1 0xff
00001674: DUP5
00001675: PUSH1 0x40
00001677: SHR
00001678: AND
00001679: SWAP1
0000167a: DUP2
0000167b: ISZERO
0000167c: PUSH2 0x1739
0000167f: JUMPI
00001680: JUMPDEST
00001681: POP
00001682: PUSH2 0x1727
00001685: JUMPI
00001686: PUSH1 0x01
00001688: PUSH1 0x40
0000168a: SHL
0000168b: SWAP2
0000168c: AND
0000168d: DUP1
0000168e: SWAP3
0000168f: PUSH1 0x01
00001691: PUSH1 0x01
00001693: PUSH1 0x48
00001695: SHL
00001696: SUB
00001697: NOT
00001698: AND
00001699: OR
0000169a: OR
0000169b: SWAP1
0000169c: DUP2
0000169d: DUP4
0000169e: SSTORE
0000169f: PUSH1 0xff
000016a1: PUSH32 0x7487ca88d037ca20519908b1ee7556206bef53bce0226a348750cb9d4f688e4e
000016c2: SLOAD
000016c3: AND
000016c4: ISZERO
000016c5: PUSH2 0x1715
000016c8: JUMPI
000016c9: PUSH32 0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2
000016ea: SWAP3
000016eb: PUSH1 0x20
000016ed: SWAP3
000016ee: PUSH2 0x16f5
000016f1: PUSH2 0x3060
000016f4: JUMP
000016f5: JUMPDEST
000016f6: PUSH2 0x16fd
000016f9: PUSH2 0x4abc
000016fc: JUMP
000016fd: JUMPDEST
000016fe: PUSH9 0xff0000000000000000
00001708: NOT
00001709: AND
0000170a: SWAP1
0000170b: SSTORE
0000170c: PUSH1 0x40
0000170e: MLOAD
0000170f: SWAP1
00001710: DUP2
00001711: MSTORE
00001712: LOG1
00001713: DUP1
00001714: RETURN
00001715: JUMPDEST
00001716: PUSH1 0x40
00001718: MLOAD
00001719: PUSH4 0x28668153
0000171e: PUSH1 0xe1
00001720: SHL
00001721: DUP2
00001722: MSTORE
00001723: PUSH1 0x04
00001725: SWAP1
00001726: REVERT
00001727: JUMPDEST
00001728: PUSH1 0x40
0000172a: MLOAD
0000172b: PUSH4 0xf92ee8a9
00001730: PUSH1 0xe0
00001732: SHL
00001733: DUP2
00001734: MSTORE
00001735: PUSH1 0x04
00001737: SWAP1
00001738: REVERT
00001739: JUMPDEST
0000173a: SWAP1
0000173b: POP
0000173c: DUP2
0000173d: DUP4
0000173e: AND
0000173f: GT
00001740: ISZERO
00001741: CODESIZE
00001742: PUSH2 0x1680
00001745: JUMP
00001746: JUMPDEST
00001747: PUSH4 0x4e487b71
0000174c: PUSH1 0xe0
0000174e: SHL
0000174f: PUSH1 0x00
00001751: MSTORE
00001752: PUSH1 0x11
00001754: PUSH1 0x04
00001756: MSTORE
00001757: PUSH1 0x24
00001759: PUSH1 0x00
0000175b: REVERT
0000175c: JUMPDEST
0000175d: POP
0000175e: CALLVALUE
0000175f: PUSH2 0x026c
00001762: JUMPI
00001763: PUSH1 0x40
00001765: CALLDATASIZE
00001766: PUSH1 0x03
00001768: NOT
00001769: ADD
0000176a: SLT
0000176b: PUSH2 0x026c
0000176e: JUMPI
0000176f: PUSH1 0x24
00001771: CALLDATALOAD
00001772: PUSH1 0xff
00001774: DUP2
00001775: AND
00001776: DUP2
00001777: SUB
00001778: PUSH2 0x05b1
0000177b: JUMPI
0000177c: PUSH2 0x1789
0000177f: PUSH1 0x20
00001781: SWAP2
00001782: PUSH1 0x04
00001784: CALLDATALOAD
00001785: PUSH2 0x2ff9
00001788: JUMP
00001789: JUMPDEST
0000178a: PUSH1 0x40
0000178c: MLOAD
0000178d: SWAP1
0000178e: ISZERO
0000178f: ISZERO
00001790: DUP2
00001791: MSTORE
00001792: RETURN
00001793: JUMPDEST
00001794: POP
00001795: CALLVALUE
00001796: PUSH2 0x026c
00001799: JUMPI
0000179a: DUP1
0000179b: PUSH1 0x03
0000179d: NOT
0000179e: CALLDATASIZE
0000179f: ADD
000017a0: SLT
000017a1: PUSH2 0x026c
000017a4: JUMPI
000017a5: PUSH1 0x00
000017a7: DUP1
000017a8: MLOAD
000017a9: PUSH1 0x20
000017ab: PUSH2 0x5b01
000017ae: DUP4
000017af: CODECOPY
000017b0: DUP2
000017b1: MLOAD
000017b2: SWAP2
000017b3: MSTORE
000017b4: SLOAD
000017b5: PUSH1 0x40
000017b7: MLOAD
000017b8: PUSH1 0x01
000017ba: PUSH1 0x01
000017bc: PUSH1 0xa0
000017be: SHL
000017bf: SUB
000017c0: SWAP1
000017c1: SWAP2
000017c2: AND
000017c3: DUP2
000017c4: MSTORE
000017c5: PUSH1 0x20
000017c7: SWAP1
000017c8: RETURN
000017c9: JUMPDEST
000017ca: POP
000017cb: CALLVALUE
000017cc: PUSH2 0x026c
000017cf: JUMPI
000017d0: PUSH1 0x20
000017d2: CALLDATASIZE
000017d3: PUSH1 0x03
000017d5: NOT
000017d6: ADD
000017d7: SLT
000017d8: PUSH2 0x026c
000017db: JUMPI
000017dc: PUSH2 0x181e
000017df: PUSH1 0x01
000017e1: PUSH1 0x01
000017e3: PUSH1 0x40
000017e5: SHL
000017e6: SUB
000017e7: PUSH1 0x20
000017e9: SWAP3
000017ea: PUSH1 0x40
000017ec: PUSH1 0x00
000017ee: DUP1
000017ef: MLOAD
000017f0: PUSH1 0x20
000017f2: PUSH2 0x5b41
000017f5: DUP4
000017f6: CODECOPY
000017f7: DUP2
000017f8: MLOAD
000017f9: SWAP2
000017fa: MSTORE
000017fb: SLOAD
000017fc: SWAP2
000017fd: PUSH1 0x04
000017ff: CALLDATALOAD
00001800: DUP2
00001801: MSTORE
00001802: PUSH1 0x00
00001804: DUP1
00001805: MLOAD
00001806: PUSH1 0x20
00001808: PUSH2 0x5ae1
0000180b: DUP4
0000180c: CODECOPY
0000180d: DUP2
0000180e: MLOAD
0000180f: SWAP2
00001810: MSTORE
00001811: DUP7
00001812: MSTORE
00001813: KECCAK256
00001814: SLOAD
00001815: PUSH1 0x08
00001817: SHR
00001818: AND
00001819: AND
0000181a: PUSH2 0x57e1
0000181d: JUMP
0000181e: JUMPDEST
0000181f: PUSH1 0xff
00001821: PUSH1 0x40
00001823: MLOAD
00001824: SWAP2
00001825: AND
00001826: DUP2
00001827: MSTORE
00001828: RETURN
00001829: JUMPDEST
0000182a: POP
0000182b: CALLVALUE
0000182c: PUSH2 0x026c
0000182f: JUMPI
00001830: DUP1
00001831: PUSH1 0x03
00001833: NOT
00001834: CALLDATASIZE
00001835: ADD
00001836: SLT
00001837: PUSH2 0x026c
0000183a: JUMPI
0000183b: PUSH2 0x1842
0000183e: PUSH2 0x51f2
00001841: JUMP
00001842: JUMPDEST
00001843: POP
00001844: PUSH2 0x09ae
00001847: PUSH2 0x0973
0000184a: PUSH2 0x4d85
0000184d: JUMP
0000184e: JUMPDEST
0000184f: POP
00001850: CALLVALUE
00001851: PUSH2 0x026c
00001854: JUMPI
00001855: DUP1
00001856: PUSH1 0x03
00001858: NOT
00001859: CALLDATASIZE
0000185a: ADD
0000185b: SLT
0000185c: PUSH2 0x026c
0000185f: JUMPI
00001860: PUSH1 0x00
00001862: DUP1
00001863: MLOAD
00001864: PUSH1 0x20
00001866: PUSH2 0x5b01
00001869: DUP4
0000186a: CODECOPY
0000186b: DUP2
0000186c: MLOAD
0000186d: SWAP2
0000186e: MSTORE
0000186f: SLOAD
00001870: PUSH2 0x1881
00001873: SWAP1
00001874: PUSH1 0x01
00001876: PUSH1 0x01
00001878: PUSH1 0xa0
0000187a: SHL
0000187b: SUB
0000187c: AND
0000187d: PUSH2 0x4d32
00001880: JUMP
00001881: JUMPDEST
00001882: PUSH1 0x00
00001884: DUP1
00001885: MLOAD
00001886: PUSH1 0x20
00001888: PUSH2 0x5b21
0000188b: DUP4
0000188c: CODECOPY
0000188d: DUP2
0000188e: MLOAD
0000188f: SWAP2
00001890: MSTORE
00001891: PUSH1 0x02
00001893: DUP2
00001894: SLOAD
00001895: EQ
00001896: PUSH2 0x069c
00001899: JUMPI
0000189a: PUSH1 0x02
0000189c: SWAP1
0000189d: SSTORE
0000189e: PUSH32 0x0e2fb031ee032dc02d8011dc50b816eb450cf856abd8261680dac74f72165bd2
000018bf: PUSH1 0x20
000018c1: PUSH1 0x40
000018c3: MLOAD
000018c4: PUSH1 0x01
000018c6: DUP2
000018c7: MSTORE
000018c8: LOG1
000018c9: DUP1
000018ca: RETURN
000018cb: JUMPDEST
000018cc: POP
000018cd: CALLVALUE
000018ce: PUSH2 0x026c
000018d1: JUMPI
000018d2: PUSH1 0x20
000018d4: CALLDATASIZE
000018d5: PUSH1 0x03
000018d7: NOT
000018d8: ADD
000018d9: SLT
000018da: PUSH2 0x026c
000018dd: JUMPI
000018de: PUSH1 0x04
000018e0: CALLDATALOAD
000018e1: PUSH2 0x18e8
000018e4: PUSH2 0x5a50
000018e7: JUMP
000018e8: JUMPDEST
000018e9: PUSH1 0x02
000018eb: PUSH1 0x00
000018ed: DUP1
000018ee: MLOAD
000018ef: PUSH1 0x20
000018f1: PUSH2 0x5b21
000018f4: DUP4
000018f5: CODECOPY
000018f6: DUP2
000018f7: MLOAD
000018f8: SWAP2
000018f9: MSTORE
000018fa: SLOAD
000018fb: EQ
000018fc: PUSH2 0x069c
000018ff: JUMPI
00001900: PUSH2 0x1908
00001903: DUP2
00001904: PUSH2 0x5228
00001907: JUMP
00001908: JUMPDEST
00001909: PUSH1 0x20
0000190b: DUP2
0000190c: ADD
0000190d: PUSH1 0x01
0000190f: PUSH1 0x01
00001911: PUSH1 0x40
00001913: SHL
00001914: SUB
00001915: SWAP1
00001916: DUP2
00001917: DUP2
00001918: MLOAD
00001919: AND
0000191a: ISZERO
0000191b: PUSH2 0x19ce
0000191e: JUMPI
0000191f: PUSH2 0x192b
00001922: DUP3
00001923: DUP3
00001924: MLOAD
00001925: AND
00001926: TIMESTAMP
00001927: PUSH2 0x2f7f
0000192a: JUMP
0000192b: JUMPDEST
0000192c: DUP3
0000192d: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
0000194e: AND
0000194f: GT
00001950: PUSH2 0x19ac
00001953: JUMPI
00001954: DUP4
00001955: DUP6
00001956: MSTORE
00001957: PUSH32 0x4e8909a01183a67951f5a6147d6e76ed02ea890c72afea01a9edee91edc609b8
00001978: PUSH1 0x20
0000197a: MSTORE
0000197b: PUSH1 0x40
0000197d: DUP1
0000197e: DUP7
0000197f: KECCAK256
00001980: DUP7
00001981: DUP2
00001982: SSTORE
00001983: PUSH1 0x01
00001985: ADD
00001986: DUP7
00001987: SWAP1
00001988: SSTORE
00001989: DUP4
0000198a: ADD
0000198b: MLOAD
0000198c: DUP4
0000198d: MLOAD
0000198e: DUP7
0000198f: SWAP2
00001990: PUSH2 0x050d
00001993: SWAP2
00001994: PUSH1 0x01
00001996: PUSH1 0x01
00001998: PUSH1 0x48
0000199a: SHL
0000199b: SUB
0000199c: AND
0000199d: SWAP1
0000199e: PUSH1 0x01
000019a0: PUSH1 0x01
000019a2: PUSH1 0xa0
000019a4: SHL
000019a5: SUB
000019a6: AND
000019a7: DUP8
000019a8: PUSH2 0x4893
000019ab: JUMP
000019ac: JUMPDEST
000019ad: MLOAD
000019ae: PUSH1 0x40
000019b0: MLOAD
000019b1: PUSH4 0x01cb739d
000019b6: PUSH1 0xe7
000019b8: SHL
000019b9: DUP2
000019ba: MSTORE
000019bb: PUSH1 0x04
000019bd: DUP2
000019be: ADD
000019bf: SWAP5
000019c0: SWAP1
000019c1: SWAP5
000019c2: MSTORE
000019c3: AND
000019c4: PUSH1 0x24
000019c6: DUP4
000019c7: ADD
000019c8: MSTORE
000019c9: POP
000019ca: PUSH1 0x44
000019cc: SWAP1
000019cd: REVERT
000019ce: JUMPDEST
000019cf: PUSH1 0x40
000019d1: MLOAD
000019d2: PUSH4 0x0301bcaf
000019d7: PUSH1 0xe6
000019d9: SHL
000019da: DUP2
000019db: MSTORE
000019dc: PUSH1 0x04
000019de: DUP2
000019df: ADD
000019e0: DUP6
000019e1: SWAP1
000019e2: MSTORE
000019e3: PUSH1 0x24
000019e5: SWAP1
000019e6: REVERT
000019e7: JUMPDEST
000019e8: POP
000019e9: CALLVALUE
000019ea: PUSH2 0x026c
000019ed: JUMPI
000019ee: DUP1
000019ef: PUSH1 0x03
000019f1: NOT
000019f2: CALLDATASIZE
000019f3: ADD
000019f4: SLT
000019f5: PUSH2 0x026c
000019f8: JUMPI
000019f9: PUSH2 0x1a00
000019fc: PUSH2 0x4cee
000019ff: JUMP
00001a00: JUMPDEST
00001a01: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00
00001a22: DUP1
00001a23: SLOAD
00001a24: PUSH1 0xff
00001a26: DUP2
00001a27: PUSH1 0x40
00001a29: SHR
00001a2a: AND
00001a2b: ISZERO
00001a2c: SWAP1
00001a2d: PUSH1 0x01
00001a2f: PUSH1 0x01
00001a31: PUSH1 0x40
00001a33: SHL
00001a34: SUB
00001a35: DUP2
00001a36: AND
00001a37: DUP1
00001a38: ISZERO
00001a39: SWAP1
00001a3a: DUP2
00001a3b: PUSH2 0x1c02
00001a3e: JUMPI
00001a3f: JUMPDEST
00001a40: PUSH1 0x01
00001a42: EQ
00001a43: SWAP1
00001a44: DUP2
00001a45: PUSH2 0x1bf8
00001a48: JUMPI
00001a49: JUMPDEST
00001a4a: ISZERO
00001a4b: SWAP1
00001a4c: DUP2
00001a4d: PUSH2 0x1bef
00001a50: JUMPI
00001a51: JUMPDEST
00001a52: POP
00001a53: PUSH2 0x1727
00001a56: JUMPI
00001a57: PUSH8 0xffffffffffffffff
00001a60: NOT
00001a61: DUP2
00001a62: AND
00001a63: PUSH1 0x01
00001a65: OR
00001a66: DUP4
00001a67: SSTORE
00001a68: DUP2
00001a69: PUSH2 0x1bd0
00001a6c: JUMPI
00001a6d: JUMPDEST
00001a6e: POP
00001a6f: PUSH2 0x1a76
00001a72: PUSH2 0x5962
00001a75: JUMP
00001a76: JUMPDEST
00001a77: PUSH32 0x000000000000000000000000fdefcd1d1cd700cb9ee3c37cb8a2013a3f417e8c
00001a98: PUSH1 0x01
00001a9a: PUSH1 0x01
00001a9c: PUSH1 0xa0
00001a9e: SHL
00001a9f: SUB
00001aa0: DUP2
00001aa1: AND
00001aa2: CALLER
00001aa3: SUB
00001aa4: PUSH2 0x1ba7
00001aa7: JUMPI
00001aa8: POP
00001aa9: PUSH2 0x1ab0
00001aac: PUSH2 0x5962
00001aaf: JUMP
00001ab0: JUMPDEST
00001ab1: PUSH2 0x1ab8
00001ab4: PUSH2 0x5962
00001ab7: JUMP
00001ab8: JUMPDEST
00001ab9: PUSH2 0x1ac0
00001abc: PUSH2 0x5962
00001abf: JUMP
00001ac0: JUMPDEST
00001ac1: PUSH1 0x01
00001ac3: PUSH1 0x00
00001ac5: DUP1
00001ac6: MLOAD
00001ac7: PUSH1 0x20
00001ac9: PUSH2 0x5b21
00001acc: DUP4
00001acd: CODECOPY
00001ace: DUP2
00001acf: MLOAD
00001ad0: SWAP2
00001ad1: MSTORE
00001ad2: SSTORE
00001ad3: PUSH1 0x00
00001ad5: DUP1
00001ad6: MLOAD
00001ad7: PUSH1 0x20
00001ad9: PUSH2 0x5c41
00001adc: DUP4
00001add: CODECOPY
00001ade: DUP2
00001adf: MLOAD
00001ae0: SWAP2
00001ae1: MSTORE
00001ae2: DUP1
00001ae3: SLOAD
00001ae4: PUSH1 0x01
00001ae6: PUSH1 0x01
00001ae8: PUSH1 0xa0
00001aea: SHL
00001aeb: SUB
00001aec: NOT
00001aed: AND
00001aee: CALLER
00001aef: OR
00001af0: SWAP1
00001af1: SSTORE
00001af2: PUSH2 0x1af9
00001af5: PUSH2 0x5962
00001af8: JUMP
00001af9: JUMPDEST
00001afa: PUSH2 0x1b01
00001afd: PUSH2 0x5962
00001b00: JUMP
00001b01: JUMPDEST
00001b02: PUSH2 0x1b0a
00001b05: CALLER
00001b06: PUSH2 0x59a3
00001b09: JUMP
00001b0a: JUMPDEST
00001b0b: PUSH2 0x1b12
00001b0e: PUSH2 0x5962
00001b11: JUMP
00001b12: JUMPDEST
00001b13: PUSH2 0x1b1a
00001b16: PUSH2 0x5962
00001b19: JUMP
00001b1a: JUMPDEST
00001b1b: PUSH1 0x01
00001b1d: PUSH1 0x00
00001b1f: DUP1
00001b20: MLOAD
00001b21: PUSH1 0x20
00001b23: PUSH2 0x5c21
00001b26: DUP4
00001b27: CODECOPY
00001b28: DUP2
00001b29: MLOAD
00001b2a: SWAP2
00001b2b: MSTORE
00001b2c: SSTORE
00001b2d: PUSH2 0x1b51
00001b30: PUSH2 0x0100
00001b33: PUSH1 0x01
00001b35: PUSH1 0x48
00001b37: SHL
00001b38: SUB
00001b39: PUSH1 0xff
00001b3b: PUSH2 0x1b4a
00001b3e: PUSH2 0x1b45
00001b41: PUSH2 0x49cd
00001b44: JUMP
00001b45: JUMPDEST
00001b46: PUSH2 0x5888
00001b49: JUMP
00001b4a: JUMPDEST
00001b4b: AND
00001b4c: OR
00001b4d: PUSH2 0x4e2d
00001b50: JUMP
00001b51: JUMPDEST
00001b52: PUSH2 0x1b59
00001b55: PUSH2 0x3060
00001b58: JUMP
00001b59: JUMPDEST
00001b5a: PUSH2 0x1b61
00001b5d: PUSH2 0x4abc
00001b60: JUMP
00001b61: JUMPDEST
00001b62: PUSH2 0x1b69
00001b65: JUMPI
00001b66: POP
00001b67: DUP1
00001b68: RETURN
00001b69: JUMPDEST
00001b6a: PUSH9 0xff0000000000000000
00001b74: NOT
00001b75: DUP2
00001b76: SLOAD
00001b77: AND
00001b78: SWAP1
00001b79: SSTORE
00001b7a: PUSH32 0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2
00001b9b: PUSH1 0x20
00001b9d: PUSH1 0x40
00001b9f: MLOAD
00001ba0: PUSH1 0x01
00001ba2: DUP2
00001ba3: MSTORE
00001ba4: LOG1
00001ba5: DUP1
00001ba6: RETURN
00001ba7: JUMPDEST
00001ba8: PUSH1 0x40
00001baa: MLOAD
00001bab: PUSH4 0x63450721
00001bb0: PUSH1 0xe1
00001bb2: SHL
00001bb3: DUP2
00001bb4: MSTORE
00001bb5: PUSH1 0x01
00001bb7: PUSH1 0x01
00001bb9: PUSH1 0xa0
00001bbb: SHL
00001bbc: SUB
00001bbd: SWAP2
00001bbe: SWAP1
00001bbf: SWAP2
00001bc0: AND
00001bc1: PUSH1 0x04
00001bc3: DUP3
00001bc4: ADD
00001bc5: MSTORE
00001bc6: CALLER
00001bc7: PUSH1 0x24
00001bc9: DUP3
00001bca: ADD
00001bcb: MSTORE
00001bcc: PUSH1 0x44
00001bce: SWAP1
00001bcf: REVERT
00001bd0: JUMPDEST
00001bd1: PUSH9 0xffffffffffffffffff
00001bdb: NOT
00001bdc: AND
00001bdd: PUSH9 0x010000000000000001
00001be7: OR
00001be8: DUP3
00001be9: SSTORE
00001bea: CODESIZE
00001beb: PUSH2 0x1a6d
00001bee: JUMP
00001bef: JUMPDEST
00001bf0: SWAP1
00001bf1: POP
00001bf2: ISZERO
00001bf3: CODESIZE
00001bf4: PUSH2 0x1a51
00001bf7: JUMP
00001bf8: JUMPDEST
00001bf9: ADDRESS
00001bfa: EXTCODESIZE
00001bfb: ISZERO
00001bfc: SWAP2
00001bfd: POP
00001bfe: PUSH2 0x1a49
00001c01: JUMP
00001c02: JUMPDEST
00001c03: DUP4
00001c04: SWAP2
00001c05: POP
00001c06: PUSH2 0x1a3f
00001c09: JUMP
00001c0a: JUMPDEST
00001c0b: POP
00001c0c: CALLVALUE
00001c0d: PUSH2 0x026c
00001c10: JUMPI
00001c11: PUSH1 0x80
00001c13: CALLDATASIZE
00001c14: PUSH1 0x03
00001c16: NOT
00001c17: ADD
00001c18: SLT
00001c19: PUSH2 0x026c
00001c1c: JUMPI
00001c1d: PUSH2 0x1c24
00001c20: PUSH2 0x2a9d
00001c23: JUMP
00001c24: JUMPDEST
00001c25: PUSH1 0x24
00001c27: CALLDATALOAD
00001c28: PUSH1 0x44
00001c2a: CALLDATALOAD
00001c2b: SWAP2
00001c2c: PUSH1 0xff
00001c2e: DUP4
00001c2f: AND
00001c30: DUP1
00001c31: SWAP4
00001c32: SUB
00001c33: PUSH2 0x05b1
00001c36: JUMPI
00001c37: PUSH2 0xffff
00001c3a: SWAP1
00001c3b: PUSH2 0x1c42
00001c3e: PUSH2 0x5a17
00001c41: JUMP
00001c42: JUMPDEST
00001c43: AND
00001c44: SWAP2
00001c45: DUP3
00001c46: ISZERO
00001c47: PUSH2 0x1d4d
00001c4a: JUMPI
00001c4b: DUP2
00001c4c: ISZERO
00001c4d: PUSH2 0x1d3b
00001c50: JUMPI
00001c51: DUP1
00001c52: ISZERO
00001c53: PUSH2 0x1d29
00001c56: JUMPI
00001c57: PUSH32 0x1456404e7f41f35c3daac941bb50bad417a66275c3040061b4287d787719599d
00001c78: SWAP2
00001c79: PUSH1 0x80
00001c7b: SWAP2
00001c7c: DUP5
00001c7d: PUSH1 0x00
00001c7f: MSTORE
00001c80: PUSH1 0x00
00001c82: DUP1
00001c83: MLOAD
00001c84: PUSH1 0x20
00001c86: PUSH2 0x5a81
00001c89: DUP4
00001c8a: CODECOPY
00001c8b: DUP2
00001c8c: MLOAD
00001c8d: SWAP2
00001c8e: MSTORE
00001c8f: SWAP2
00001c90: DUP3
00001c91: PUSH1 0x20
00001c93: MSTORE
00001c94: PUSH1 0xff
00001c96: PUSH1 0x40
00001c98: PUSH1 0x00
00001c9a: KECCAK256
00001c9b: DUP2
00001c9c: PUSH1 0x01
00001c9e: PUSH1 0x40
00001ca0: MLOAD
00001ca1: SWAP3
00001ca2: PUSH2 0x1caa
00001ca5: DUP5
00001ca6: PUSH2 0x2b50
00001ca9: JUMP
00001caa: JUMPDEST
00001cab: DUP1
00001cac: SLOAD
00001cad: DUP5
00001cae: MSTORE
00001caf: ADD
00001cb0: SLOAD
00001cb1: AND
00001cb2: SWAP5
00001cb3: PUSH1 0x20
00001cb5: DUP3
00001cb6: ADD
00001cb7: SWAP6
00001cb8: DUP7
00001cb9: MSTORE
00001cba: DUP9
00001cbb: PUSH1 0x00
00001cbd: MSTORE
00001cbe: PUSH1 0x20
00001cc0: MSTORE
00001cc1: PUSH1 0x01
00001cc3: PUSH1 0x40
00001cc5: PUSH1 0x00
00001cc7: KECCAK256
00001cc8: DUP5
00001cc9: DUP2
00001cca: SSTORE
00001ccb: ADD
00001ccc: DUP5
00001ccd: DUP4
00001cce: NOT
00001ccf: DUP3
00001cd0: SLOAD
00001cd1: AND
00001cd2: OR
00001cd3: SWAP1
00001cd4: SSTORE
00001cd5: PUSH2 0x1d0c
00001cd8: PUSH2 0x1ceb
00001cdb: PUSH2 0x1ce2
00001cde: PUSH2 0x49cd
00001ce1: JUMP
00001ce2: JUMPDEST
00001ce3: DUP1
00001ce4: PUSH1 0x64
00001ce6: CALLDATALOAD
00001ce7: PUSH2 0x591a
00001cea: JUMP
00001ceb: JUMPDEST
00001cec: DUP10
00001ced: PUSH1 0x00
00001cef: MSTORE
00001cf0: PUSH1 0x00
00001cf2: DUP1
00001cf3: MLOAD
00001cf4: PUSH1 0x20
00001cf6: PUSH2 0x5bc1
00001cf9: DUP4
00001cfa: CODECOPY
00001cfb: DUP2
00001cfc: MLOAD
00001cfd: SWAP2
00001cfe: MSTORE
00001cff: PUSH1 0x20
00001d01: MSTORE
00001d02: PUSH1 0x40
00001d04: PUSH1 0x00
00001d06: KECCAK256
00001d07: SWAP1
00001d08: PUSH2 0x502b
00001d0b: JUMP
00001d0c: JUMPDEST
00001d0d: MLOAD
00001d0e: SWAP4
00001d0f: MLOAD
00001d10: AND
00001d11: PUSH1 0x40
00001d13: MLOAD
00001d14: SWAP4
00001d15: DUP5
00001d16: MSTORE
00001d17: PUSH1 0x20
00001d19: DUP5
00001d1a: ADD
00001d1b: MSTORE
00001d1c: PUSH1 0x40
00001d1e: DUP4
00001d1f: ADD
00001d20: MSTORE
00001d21: PUSH1 0x60
00001d23: DUP3
00001d24: ADD
00001d25: MSTORE
00001d26: LOG2
00001d27: DUP1
00001d28: RETURN
00001d29: JUMPDEST
00001d2a: PUSH1 0x40
00001d2c: MLOAD
00001d2d: PUSH4 0xade64f0b
00001d32: PUSH1 0xe0
00001d34: SHL
00001d35: DUP2
00001d36: MSTORE
00001d37: PUSH1 0x04
00001d39: SWAP1
00001d3a: REVERT
00001d3b: JUMPDEST
00001d3c: PUSH1 0x40
00001d3e: MLOAD
00001d3f: PUSH4 0xf839a0cb
00001d44: PUSH1 0xe0
00001d46: SHL
00001d47: DUP2
00001d48: MSTORE
00001d49: PUSH1 0x04
00001d4b: SWAP1
00001d4c: REVERT
00001d4d: JUMPDEST
00001d4e: PUSH1 0x40
00001d50: MLOAD
00001d51: PUSH4 0x100b0f27
00001d56: PUSH1 0xe1
00001d58: SHL
00001d59: DUP2
00001d5a: MSTORE
00001d5b: PUSH1 0x04
00001d5d: SWAP1
00001d5e: REVERT
00001d5f: JUMPDEST
00001d60: POP
00001d61: CALLVALUE
00001d62: PUSH2 0x026c
00001d65: JUMPI
00001d66: DUP1
00001d67: PUSH1 0x03
00001d69: NOT
00001d6a: CALLDATASIZE
00001d6b: ADD
00001d6c: SLT
00001d6d: PUSH2 0x026c
00001d70: JUMPI
00001d71: PUSH1 0x20
00001d73: PUSH1 0x40
00001d75: MLOAD
00001d76: PUSH1 0x01
00001d78: PUSH1 0x01
00001d7a: PUSH1 0x40
00001d7c: SHL
00001d7d: SUB
00001d7e: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
00001d9f: AND
00001da0: DUP2
00001da1: MSTORE
00001da2: RETURN
00001da3: JUMPDEST
00001da4: POP
00001da5: CALLVALUE
00001da6: PUSH2 0x026c
00001da9: JUMPI
00001daa: DUP1
00001dab: PUSH1 0x03
00001dad: NOT
00001dae: CALLDATASIZE
00001daf: ADD
00001db0: SLT
00001db1: PUSH2 0x026c
00001db4: JUMPI
00001db5: PUSH1 0x20
00001db7: PUSH1 0xff
00001db9: PUSH32 0x5443fea4dc453d96b81ce55b62e11a4094cc4cbb8a360956a7253cfdb42506cb
00001dda: SLOAD
00001ddb: AND
00001ddc: PUSH1 0x40
00001dde: MLOAD
00001ddf: SWAP1
00001de0: ISZERO
00001de1: ISZERO
00001de2: DUP2
00001de3: MSTORE
00001de4: RETURN
00001de5: JUMPDEST
00001de6: POP
00001de7: CALLVALUE
00001de8: PUSH2 0x026c
00001deb: JUMPI
00001dec: DUP1
00001ded: PUSH1 0x03
00001def: NOT
00001df0: CALLDATASIZE
00001df1: ADD
00001df2: SLT
00001df3: PUSH2 0x026c
00001df6: JUMPI
00001df7: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
00001e18: SWAP1
00001e19: PUSH1 0x02
00001e1b: DUP3
00001e1c: LT
00001e1d: ISZERO
00001e1e: PUSH2 0x1e2f
00001e21: JUMPI
00001e22: PUSH1 0x20
00001e24: DUP3
00001e25: PUSH1 0xff
00001e27: PUSH1 0x40
00001e29: MLOAD
00001e2a: SWAP2
00001e2b: AND
00001e2c: DUP2
00001e2d: MSTORE
00001e2e: RETURN
00001e2f: JUMPDEST
00001e30: PUSH4 0x4e487b71
00001e35: PUSH1 0xe0
00001e37: SHL
00001e38: DUP2
00001e39: MSTORE
00001e3a: PUSH1 0x21
00001e3c: PUSH1 0x04
00001e3e: MSTORE
00001e3f: PUSH1 0x24
00001e41: SWAP1
00001e42: REVERT
00001e43: JUMPDEST
00001e44: POP
00001e45: CALLVALUE
00001e46: PUSH2 0x026c
00001e49: JUMPI
00001e4a: DUP1
00001e4b: PUSH1 0x03
00001e4d: NOT
00001e4e: CALLDATASIZE
00001e4f: ADD
00001e50: SLT
00001e51: PUSH2 0x026c
00001e54: JUMPI
00001e55: PUSH1 0x00
00001e57: DUP1
00001e58: MLOAD
00001e59: PUSH1 0x20
00001e5b: PUSH2 0x5b01
00001e5e: DUP4
00001e5f: CODECOPY
00001e60: DUP2
00001e61: MLOAD
00001e62: SWAP2
00001e63: MSTORE
00001e64: SLOAD
00001e65: PUSH2 0x1e76
00001e68: SWAP1
00001e69: PUSH1 0x01
00001e6b: PUSH1 0x01
00001e6d: PUSH1 0xa0
00001e6f: SHL
00001e70: SUB
00001e71: AND
00001e72: PUSH2 0x4d32
00001e75: JUMP
00001e76: JUMPDEST
00001e77: PUSH1 0x00
00001e79: DUP1
00001e7a: MLOAD
00001e7b: PUSH1 0x20
00001e7d: PUSH2 0x5b21
00001e80: DUP4
00001e81: CODECOPY
00001e82: DUP2
00001e83: MLOAD
00001e84: SWAP2
00001e85: MSTORE
00001e86: PUSH1 0x02
00001e88: DUP2
00001e89: SLOAD
00001e8a: SUB
00001e8b: PUSH2 0x1ebf
00001e8e: JUMPI
00001e8f: PUSH1 0x01
00001e91: SWAP1
00001e92: SSTORE
00001e93: PUSH32 0xe11c2112add17fb763d3bd59f63b10429c3e11373da4fb8ef6725107a2fdc4b0
00001eb4: PUSH1 0x20
00001eb6: PUSH1 0x40
00001eb8: MLOAD
00001eb9: DUP4
00001eba: DUP2
00001ebb: MSTORE
00001ebc: LOG1
00001ebd: DUP1
00001ebe: RETURN
00001ebf: JUMPDEST
00001ec0: PUSH1 0x40
00001ec2: MLOAD
00001ec3: PUSH4 0x7e38d1d3
00001ec8: PUSH1 0xe1
00001eca: SHL
00001ecb: DUP2
00001ecc: MSTORE
00001ecd: PUSH1 0x04
00001ecf: SWAP1
00001ed0: REVERT
00001ed1: JUMPDEST
00001ed2: POP
00001ed3: CALLVALUE
00001ed4: PUSH2 0x026c
00001ed7: JUMPI
00001ed8: DUP1
00001ed9: PUSH1 0x03
00001edb: NOT
00001edc: CALLDATASIZE
00001edd: ADD
00001ede: SLT
00001edf: PUSH2 0x026c
00001ee2: JUMPI
00001ee3: PUSH1 0x20
00001ee5: PUSH2 0x181e
00001ee8: PUSH2 0x49cd
00001eeb: JUMP
00001eec: JUMPDEST
00001eed: POP
00001eee: CALLVALUE
00001eef: PUSH2 0x026c
00001ef2: JUMPI
00001ef3: PUSH1 0x20
00001ef5: CALLDATASIZE
00001ef6: PUSH1 0x03
00001ef8: NOT
00001ef9: ADD
00001efa: SLT
00001efb: PUSH2 0x026c
00001efe: JUMPI
00001eff: PUSH1 0xff
00001f01: PUSH1 0x40
00001f03: PUSH1 0x20
00001f05: SWAP3
00001f06: PUSH1 0x04
00001f08: CALLDATALOAD
00001f09: DUP2
00001f0a: MSTORE
00001f0b: PUSH1 0x00
00001f0d: DUP1
00001f0e: MLOAD
00001f0f: PUSH1 0x20
00001f11: PUSH2 0x5ae1
00001f14: DUP4
00001f15: CODECOPY
00001f16: DUP2
00001f17: MLOAD
00001f18: SWAP2
00001f19: MSTORE
00001f1a: DUP5
00001f1b: MSTORE
00001f1c: KECCAK256
00001f1d: SLOAD
00001f1e: AND
00001f1f: PUSH1 0x40
00001f21: MLOAD
00001f22: SWAP1
00001f23: ISZERO
00001f24: ISZERO
00001f25: DUP2
00001f26: MSTORE
00001f27: RETURN
00001f28: JUMPDEST
00001f29: POP
00001f2a: CALLVALUE
00001f2b: PUSH2 0x026c
00001f2e: JUMPI
00001f2f: DUP1
00001f30: PUSH1 0x03
00001f32: NOT
00001f33: CALLDATASIZE
00001f34: ADD
00001f35: SLT
00001f36: PUSH2 0x026c
00001f39: JUMPI
00001f3a: PUSH1 0x40
00001f3c: MLOAD
00001f3d: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
00001f5e: PUSH1 0x02
00001f60: DUP2
00001f61: LT
00001f62: ISZERO
00001f63: PUSH2 0x1f6e
00001f66: JUMPI
00001f67: PUSH1 0x20
00001f69: SWAP3
00001f6a: POP
00001f6b: DUP2
00001f6c: MSTORE
00001f6d: RETURN
00001f6e: JUMPDEST
00001f6f: PUSH4 0x4e487b71
00001f74: PUSH1 0xe0
00001f76: SHL
00001f77: DUP4
00001f78: MSTORE
00001f79: PUSH1 0x21
00001f7b: PUSH1 0x04
00001f7d: MSTORE
00001f7e: PUSH1 0x24
00001f80: DUP4
00001f81: REVERT
00001f82: JUMPDEST
00001f83: POP
00001f84: CALLVALUE
00001f85: PUSH2 0x026c
00001f88: JUMPI
00001f89: DUP1
00001f8a: PUSH1 0x03
00001f8c: NOT
00001f8d: CALLDATASIZE
00001f8e: ADD
00001f8f: SLT
00001f90: PUSH2 0x026c
00001f93: JUMPI
00001f94: PUSH1 0x20
00001f96: PUSH1 0x01
00001f98: PUSH1 0x01
00001f9a: PUSH1 0x40
00001f9c: SHL
00001f9d: SUB
00001f9e: PUSH1 0x00
00001fa0: DUP1
00001fa1: MLOAD
00001fa2: PUSH1 0x20
00001fa4: PUSH2 0x5b81
00001fa7: DUP4
00001fa8: CODECOPY
00001fa9: DUP2
00001faa: MLOAD
00001fab: SWAP2
00001fac: MSTORE
00001fad: SLOAD
00001fae: AND
00001faf: PUSH1 0x40
00001fb1: MLOAD
00001fb2: SWAP1
00001fb3: DUP2
00001fb4: MSTORE
00001fb5: RETURN
00001fb6: JUMPDEST
00001fb7: POP
00001fb8: CALLVALUE
00001fb9: PUSH2 0x026c
00001fbc: JUMPI
00001fbd: PUSH1 0x20
00001fbf: DUP1
00001fc0: PUSH1 0x03
00001fc2: NOT
00001fc3: CALLDATASIZE
00001fc4: ADD
00001fc5: SLT
00001fc6: PUSH2 0x06ae
00001fc9: JUMPI
00001fca: PUSH1 0x04
00001fcc: CALLDATALOAD
00001fcd: PUSH1 0x01
00001fcf: PUSH1 0x01
00001fd1: PUSH1 0xa0
00001fd3: SHL
00001fd4: SUB
00001fd5: DUP2
00001fd6: AND
00001fd7: SWAP2
00001fd8: DUP3
00001fd9: DUP3
00001fda: SUB
00001fdb: PUSH2 0x07e5
00001fde: JUMPI
00001fdf: PUSH2 0x1fe6
00001fe2: PUSH2 0x5a17
00001fe5: JUMP
00001fe6: JUMPDEST
00001fe7: DUP3
00001fe8: ISZERO
00001fe9: PUSH2 0x0f2e
00001fec: JUMPI
00001fed: DUP3
00001fee: PUSH1 0x00
00001ff0: MSTORE
00001ff1: PUSH1 0x00
00001ff3: DUP1
00001ff4: MLOAD
00001ff5: PUSH1 0x20
00001ff7: PUSH2 0x5be1
00001ffa: DUP4
00001ffb: CODECOPY
00001ffc: DUP2
00001ffd: MLOAD
00001ffe: SWAP2
00001fff: MSTORE
00002000: SWAP2
00002001: DUP3
00002002: DUP3
00002003: MSTORE
00002004: PUSH1 0xff
00002006: SWAP1
00002007: DUP2
00002008: PUSH1 0x40
0000200a: PUSH1 0x00
0000200c: KECCAK256
0000200d: SLOAD
0000200e: AND
0000200f: PUSH1 0x00
00002011: EQ
00002012: PUSH2 0x218a
00002015: JUMPI
00002016: DUP5
00002017: PUSH1 0x00
00002019: MSTORE
0000201a: DUP4
0000201b: DUP4
0000201c: MSTORE
0000201d: PUSH1 0x40
0000201f: PUSH1 0x00
00002021: KECCAK256
00002022: PUSH2 0x0100
00002025: PUSH2 0xff00
00002028: NOT
00002029: DUP3
0000202a: SLOAD
0000202b: AND
0000202c: OR
0000202d: SWAP1
0000202e: SSTORE
0000202f: JUMPDEST
00002030: PUSH1 0x00
00002032: DUP1
00002033: MLOAD
00002034: PUSH1 0x20
00002036: PUSH2 0x5b61
00002039: DUP4
0000203a: CODECOPY
0000203b: DUP2
0000203c: MLOAD
0000203d: SWAP2
0000203e: MSTORE
0000203f: SWAP1
00002040: DUP2
00002041: SLOAD
00002042: SWAP2
00002043: PUSH1 0x01
00002045: PUSH1 0x40
00002047: SHL
00002048: DUP4
00002049: LT
0000204a: ISZERO
0000204b: PUSH2 0x2174
0000204e: JUMPI
0000204f: DUP3
00002050: PUSH2 0x0e3f
00002053: SWAP2
00002054: PUSH1 0x01
00002056: PUSH2 0x2061
00002059: SWAP6
0000205a: ADD
0000205b: SWAP1
0000205c: SSTORE
0000205d: PUSH2 0x302f
00002060: JUMP
00002061: JUMPDEST
00002062: PUSH1 0x00
00002064: DUP1
00002065: MLOAD
00002066: PUSH1 0x20
00002068: PUSH2 0x5ba1
0000206b: DUP4
0000206c: CODECOPY
0000206d: DUP2
0000206e: MLOAD
0000206f: SWAP2
00002070: MSTORE
00002071: SWAP3
00002072: DUP4
00002073: SLOAD
00002074: PUSH2 0xff00
00002077: PUSH2 0x2084
0000207a: DUP5
0000207b: DUP4
0000207c: PUSH1 0x08
0000207e: SHR
0000207f: AND
00002080: PUSH2 0x4a8e
00002083: JUMP
00002084: JUMPDEST
00002085: PUSH1 0x08
00002087: SHL
00002088: AND
00002089: SWAP1
0000208a: PUSH2 0xff00
0000208d: NOT
0000208e: AND
0000208f: OR
00002090: DUP1
00002091: SWAP5
00002092: SSTORE
00002093: PUSH1 0x00
00002095: DUP1
00002096: MLOAD
00002097: PUSH1 0x20
00002099: PUSH2 0x5b41
0000209c: DUP4
0000209d: CODECOPY
0000209e: DUP2
0000209f: MLOAD
000020a0: SWAP2
000020a1: MSTORE
000020a2: DUP1
000020a3: SLOAD
000020a4: PUSH1 0x01
000020a6: PUSH1 0x01
000020a8: PUSH1 0x40
000020aa: SHL
000020ab: SUB
000020ac: SWAP1
000020ad: DUP2
000020ae: DUP2
000020af: AND
000020b0: SWAP2
000020b1: DUP9
000020b2: PUSH1 0x00
000020b4: MSTORE
000020b5: DUP5
000020b6: DUP8
000020b7: MSTORE
000020b8: PUSH1 0x01
000020ba: DUP7
000020bb: PUSH1 0x40
000020bd: PUSH1 0x00
000020bf: KECCAK256
000020c0: SLOAD
000020c1: PUSH1 0x10
000020c3: SHR
000020c4: AND
000020c5: SHL
000020c6: AND
000020c7: DUP3
000020c8: OR
000020c9: SWAP2
000020ca: DUP3
000020cb: EQ
000020cc: PUSH2 0x215b
000020cf: JUMPI
000020d0: PUSH8 0xffffffffffffffff
000020d9: NOT
000020da: AND
000020db: OR
000020dc: SWAP1
000020dd: SSTORE
000020de: PUSH32 0xf05962b5774c658e85ed80c91a75af9d66d2af2253dda480f90bce78aff5eda5
000020ff: SWAP5
00002100: PUSH1 0x60
00002102: SWAP5
00002103: SWAP1
00002104: SWAP4
00002105: SWAP1
00002106: SWAP3
00002107: SWAP1
00002108: SWAP2
00002109: PUSH2 0x2110
0000210c: PUSH2 0x4abc
0000210f: JUMP
00002110: JUMPDEST
00002111: DUP5
00002112: PUSH1 0x00
00002114: MSTORE
00002115: DUP3
00002116: MSTORE
00002117: DUP1
00002118: PUSH1 0x00
0000211a: DUP1
0000211b: MLOAD
0000211c: PUSH1 0x20
0000211e: PUSH2 0x5aa1
00002121: DUP4
00002122: CODECOPY
00002123: DUP2
00002124: MLOAD
00002125: SWAP2
00002126: MSTORE
00002127: DUP1
00002128: SLOAD
00002129: DUP3
0000212a: DUP2
0000212b: AND
0000212c: ISZERO
0000212d: PUSH2 0x214c
00002130: JUMPI
00002131: JUMPDEST
00002132: POP
00002133: SLOAD
00002134: AND
00002135: SWAP3
00002136: PUSH1 0x40
00002138: MLOAD
00002139: SWAP5
0000213a: DUP6
0000213b: MSTORE
0000213c: PUSH1 0x08
0000213e: SHR
0000213f: AND
00002140: SWAP1
00002141: DUP4
00002142: ADD
00002143: MSTORE
00002144: PUSH1 0x40
00002146: DUP3
00002147: ADD
00002148: MSTORE
00002149: LOG1
0000214a: DUP1
0000214b: RETURN
0000214c: JUMPDEST
0000214d: PUSH1 0xff
0000214f: NOT
00002150: AND
00002151: PUSH1 0x01
00002153: OR
00002154: DUP2
00002155: SSTORE
00002156: CODESIZE
00002157: PUSH2 0x2131
0000215a: JUMP
0000215b: JUMPDEST
0000215c: PUSH1 0x40
0000215e: MLOAD
0000215f: PUSH4 0x8d68f84d
00002164: PUSH1 0xe0
00002166: SHL
00002167: DUP2
00002168: MSTORE
00002169: PUSH1 0x04
0000216b: DUP2
0000216c: ADD
0000216d: DUP10
0000216e: SWAP1
0000216f: MSTORE
00002170: PUSH1 0x24
00002172: SWAP1
00002173: REVERT
00002174: JUMPDEST
00002175: PUSH4 0x4e487b71
0000217a: PUSH1 0xe0
0000217c: SHL
0000217d: PUSH1 0x00
0000217f: MSTORE
00002180: PUSH1 0x41
00002182: PUSH1 0x04
00002184: MSTORE
00002185: PUSH1 0x24
00002187: PUSH1 0x00
00002189: REVERT
0000218a: JUMPDEST
0000218b: PUSH1 0x00
0000218d: DUP1
0000218e: MLOAD
0000218f: PUSH1 0x20
00002191: PUSH2 0x5ba1
00002194: DUP4
00002195: CODECOPY
00002196: DUP2
00002197: MLOAD
00002198: SWAP2
00002199: MSTORE
0000219a: DUP3
0000219b: DUP2
0000219c: SLOAD
0000219d: AND
0000219e: PUSH1 0x40
000021a0: DUP2
000021a1: LT
000021a2: ISZERO
000021a3: PUSH2 0x22a2
000021a6: JUMPI
000021a7: PUSH1 0x40
000021a9: MLOAD
000021aa: SWAP1
000021ab: PUSH2 0x21b3
000021ae: DUP3
000021af: PUSH2 0x2b35
000021b2: JUMP
000021b3: JUMPDEST
000021b4: PUSH1 0x01
000021b6: DUP3
000021b7: MSTORE
000021b8: DUP6
000021b9: DUP3
000021ba: ADD
000021bb: SWAP1
000021bc: PUSH1 0x01
000021be: DUP3
000021bf: MSTORE
000021c0: PUSH1 0x40
000021c2: DUP4
000021c3: ADD
000021c4: SWAP1
000021c5: DUP2
000021c6: MSTORE
000021c7: DUP9
000021c8: PUSH1 0x00
000021ca: MSTORE
000021cb: DUP8
000021cc: DUP8
000021cd: MSTORE
000021ce: PUSH1 0x40
000021d0: PUSH1 0x00
000021d2: KECCAK256
000021d3: SWAP3
000021d4: MLOAD
000021d5: ISZERO
000021d6: ISZERO
000021d7: SWAP2
000021d8: DUP7
000021d9: PUSH3 0xff0000
000021dd: PUSH2 0xff00
000021e0: DUP7
000021e1: SLOAD
000021e2: SWAP4
000021e3: MLOAD
000021e4: ISZERO
000021e5: ISZERO
000021e6: PUSH1 0x08
000021e8: SHL
000021e9: AND
000021ea: SWAP4
000021eb: MLOAD
000021ec: PUSH1 0x10
000021ee: SHL
000021ef: AND
000021f0: SWAP4
000021f1: AND
000021f2: SWAP1
000021f3: PUSH3 0xffffff
000021f7: NOT
000021f8: AND
000021f9: OR
000021fa: OR
000021fb: OR
000021fc: SWAP1
000021fd: SSTORE
000021fe: DUP1
000021ff: SLOAD
00002200: DUP4
00002201: PUSH2 0x220b
00002204: DUP2
00002205: DUP4
00002206: AND
00002207: PUSH2 0x4a8e
0000220a: JUMP
0000220b: JUMPDEST
0000220c: AND
0000220d: SWAP1
0000220e: PUSH1 0xff
00002210: NOT
00002211: AND
00002212: OR
00002213: SWAP1
00002214: SSTORE
00002215: PUSH32 0x3031d39df71efbb605646fc51d7571499445af538fa6dd17ce8c07e8118ed978
00002236: DUP1
00002237: SLOAD
00002238: SWAP1
00002239: PUSH1 0x01
0000223b: PUSH1 0x40
0000223d: SHL
0000223e: DUP3
0000223f: LT
00002240: ISZERO
00002241: PUSH2 0x2174
00002244: JUMPI
00002245: PUSH1 0x01
00002247: DUP3
00002248: ADD
00002249: DUP1
0000224a: DUP3
0000224b: SSTORE
0000224c: DUP3
0000224d: LT
0000224e: ISZERO
0000224f: PUSH2 0x228c
00002252: JUMPI
00002253: PUSH1 0x00
00002255: MSTORE
00002256: PUSH32 0x357eda4c1707ce60b55a439f3dc12fcacea5ca0fd863e2fc179a916cf05fccd1
00002277: ADD
00002278: DUP1
00002279: SLOAD
0000227a: PUSH1 0x01
0000227c: PUSH1 0x01
0000227e: PUSH1 0xa0
00002280: SHL
00002281: SUB
00002282: NOT
00002283: AND
00002284: DUP7
00002285: OR
00002286: SWAP1
00002287: SSTORE
00002288: PUSH2 0x202f
0000228b: JUMP
0000228c: JUMPDEST
0000228d: PUSH4 0x4e487b71
00002292: PUSH1 0xe0
00002294: SHL
00002295: PUSH1 0x00
00002297: MSTORE
00002298: PUSH1 0x32
0000229a: PUSH1 0x04
0000229c: MSTORE
0000229d: PUSH1 0x24
0000229f: PUSH1 0x00
000022a1: REVERT
000022a2: JUMPDEST
000022a3: PUSH1 0x40
000022a5: MLOAD
000022a6: PUSH4 0x891684c3
000022ab: PUSH1 0xe0
000022ad: SHL
000022ae: DUP2
000022af: MSTORE
000022b0: PUSH1 0x04
000022b2: SWAP1
000022b3: REVERT
000022b4: JUMPDEST
000022b5: POP
000022b6: CALLVALUE
000022b7: PUSH2 0x026c
000022ba: JUMPI
000022bb: PUSH1 0x20
000022bd: CALLDATASIZE
000022be: PUSH1 0x03
000022c0: NOT
000022c1: ADD
000022c2: SLT
000022c3: PUSH2 0x026c
000022c6: JUMPI
000022c7: PUSH1 0x04
000022c9: CALLDATALOAD
000022ca: PUSH1 0x01
000022cc: PUSH1 0x01
000022ce: PUSH1 0x40
000022d0: SHL
000022d1: SUB
000022d2: DUP2
000022d3: AND
000022d4: DUP1
000022d5: SWAP2
000022d6: SUB
000022d7: PUSH2 0x06ae
000022da: JUMPI
000022db: PUSH1 0x60
000022dd: PUSH1 0xc0
000022df: PUSH1 0x40
000022e1: MLOAD
000022e2: PUSH2 0x22ea
000022e5: DUP2
000022e6: PUSH2 0x2b1a
000022e9: JUMP
000022ea: JUMPDEST
000022eb: DUP5
000022ec: DUP2
000022ed: MSTORE
000022ee: DUP5
000022ef: PUSH1 0x20
000022f1: DUP3
000022f2: ADD
000022f3: MSTORE
000022f4: DUP5
000022f5: PUSH1 0x40
000022f7: DUP3
000022f8: ADD
000022f9: MSTORE
000022fa: DUP5
000022fb: DUP4
000022fc: DUP3
000022fd: ADD
000022fe: MSTORE
000022ff: DUP5
00002300: PUSH1 0x80
00002302: DUP3
00002303: ADD
00002304: MSTORE
00002305: DUP5
00002306: PUSH1 0xa0
00002308: DUP3
00002309: ADD
0000230a: MSTORE
0000230b: ADD
0000230c: MSTORE
0000230d: PUSH1 0x00
0000230f: MSTORE
00002310: PUSH1 0x00
00002312: DUP1
00002313: MLOAD
00002314: PUSH1 0x20
00002316: PUSH2 0x5c01
00002319: DUP4
0000231a: CODECOPY
0000231b: DUP2
0000231c: MLOAD
0000231d: SWAP2
0000231e: MSTORE
0000231f: PUSH1 0x20
00002321: MSTORE
00002322: PUSH1 0x40
00002324: PUSH1 0x00
00002326: KECCAK256
00002327: PUSH1 0x40
00002329: MLOAD
0000232a: SWAP1
0000232b: PUSH2 0x2333
0000232e: DUP3
0000232f: PUSH2 0x2b1a
00002332: JUMP
00002333: JUMPDEST
00002334: DUP1
00002335: SLOAD
00002336: DUP3
00002337: MSTORE
00002338: PUSH1 0x01
0000233a: DUP2
0000233b: ADD
0000233c: SLOAD
0000233d: PUSH1 0x20
0000233f: DUP4
00002340: ADD
00002341: MSTORE
00002342: PUSH2 0xffff
00002345: PUSH1 0x02
00002347: DUP3
00002348: ADD
00002349: SLOAD
0000234a: PUSH1 0x01
0000234c: PUSH1 0x01
0000234e: PUSH1 0x48
00002350: SHL
00002351: SUB
00002352: DUP2
00002353: AND
00002354: PUSH1 0x40
00002356: DUP6
00002357: ADD
00002358: MSTORE
00002359: PUSH1 0x01
0000235b: PUSH1 0x01
0000235d: PUSH1 0x40
0000235f: SHL
00002360: SUB
00002361: DUP2
00002362: PUSH1 0x48
00002364: SHR
00002365: AND
00002366: PUSH1 0x60
00002368: DUP6
00002369: ADD
0000236a: MSTORE
0000236b: PUSH1 0x88
0000236d: SHR
0000236e: AND
0000236f: PUSH1 0x80
00002371: DUP4
00002372: ADD
00002373: MSTORE
00002374: PUSH1 0x01
00002376: DUP1
00002377: PUSH1 0xa0
00002379: SHL
0000237a: SUB
0000237b: PUSH1 0x03
0000237d: DUP3
0000237e: ADD
0000237f: SLOAD
00002380: AND
00002381: PUSH1 0xa0
00002383: DUP4
00002384: ADD
00002385: MSTORE
00002386: PUSH1 0x40
00002388: MLOAD
00002389: DUP4
0000238a: DUP2
0000238b: SWAP5
0000238c: SWAP1
0000238d: PUSH1 0x04
0000238f: DUP5
00002390: ADD
00002391: SLOAD
00002392: SWAP4
00002393: PUSH2 0x239b
00002396: DUP6
00002397: PUSH2 0x3587
0000239a: JUMP
0000239b: JUMPDEST
0000239c: DUP1
0000239d: DUP6
0000239e: MSTORE
0000239f: SWAP5
000023a0: PUSH1 0x01
000023a2: DUP2
000023a3: AND
000023a4: SWAP1
000023a5: DUP2
000023a6: ISZERO
000023a7: PUSH2 0x2482
000023aa: JUMPI
000023ab: POP
000023ac: PUSH1 0x01
000023ae: EQ
000023af: PUSH2 0x243d
000023b2: JUMPI
000023b3: JUMPDEST
000023b4: POP
000023b5: POP
000023b6: PUSH2 0x23c1
000023b9: SWAP3
000023ba: POP
000023bb: SUB
000023bc: DUP4
000023bd: PUSH2 0x2ba1
000023c0: JUMP
000023c1: JUMPDEST
000023c2: PUSH1 0xc0
000023c4: DUP2
000023c5: ADD
000023c6: SWAP2
000023c7: DUP3
000023c8: MSTORE
000023c9: PUSH2 0x09ae
000023cc: PUSH1 0x40
000023ce: MLOAD
000023cf: SWAP3
000023d0: DUP4
000023d1: SWAP3
000023d2: PUSH1 0x20
000023d4: DUP5
000023d5: MSTORE
000023d6: DUP1
000023d7: MLOAD
000023d8: PUSH1 0x20
000023da: DUP6
000023db: ADD
000023dc: MSTORE
000023dd: PUSH1 0x20
000023df: DUP2
000023e0: ADD
000023e1: MLOAD
000023e2: PUSH1 0x40
000023e4: DUP6
000023e5: ADD
000023e6: MSTORE
000023e7: PUSH1 0x01
000023e9: PUSH1 0x01
000023eb: PUSH1 0x48
000023ed: SHL
000023ee: SUB
000023ef: PUSH1 0x40
000023f1: DUP3
000023f2: ADD
000023f3: MLOAD
000023f4: AND
000023f5: PUSH1 0x60
000023f7: DUP6
000023f8: ADD
000023f9: MSTORE
000023fa: PUSH1 0x01
000023fc: PUSH1 0x01
000023fe: PUSH1 0x40
00002400: SHL
00002401: SUB
00002402: PUSH1 0x60
00002404: DUP3
00002405: ADD
00002406: MLOAD
00002407: AND
00002408: PUSH1 0x80
0000240a: DUP6
0000240b: ADD
0000240c: MSTORE
0000240d: PUSH2 0xffff
00002410: PUSH1 0x80
00002412: DUP3
00002413: ADD
00002414: MLOAD
00002415: AND
00002416: PUSH1 0xa0
00002418: DUP6
00002419: ADD
0000241a: MSTORE
0000241b: PUSH1 0xa0
0000241d: PUSH1 0x01
0000241f: DUP1
00002420: DUP3
00002421: SHL
00002422: SUB
00002423: SWAP2
00002424: ADD
00002425: MLOAD
00002426: AND
00002427: PUSH1 0xc0
00002429: DUP5
0000242a: ADD
0000242b: MSTORE
0000242c: MLOAD
0000242d: PUSH1 0xe0
0000242f: DUP1
00002430: DUP5
00002431: ADD
00002432: MSTORE
00002433: PUSH2 0x0100
00002436: DUP4
00002437: ADD
00002438: SWAP1
00002439: PUSH2 0x2ae2
0000243c: JUMP
0000243d: JUMPDEST
0000243e: PUSH1 0x04
00002440: SWAP2
00002441: SWAP4
00002442: SWAP5
00002443: SWAP3
00002444: POP
00002445: ADD
00002446: DUP3
00002447: MSTORE
00002448: PUSH1 0x20
0000244a: DUP3
0000244b: KECCAK256
0000244c: JUMPDEST
0000244d: DUP2
0000244e: DUP4
0000244f: LT
00002450: PUSH2 0x2466
00002453: JUMPI
00002454: POP
00002455: POP
00002456: SWAP1
00002457: PUSH1 0x20
00002459: PUSH2 0x23c1
0000245c: SWAP3
0000245d: DUP3
0000245e: ADD
0000245f: ADD
00002460: CODESIZE
00002461: DUP1
00002462: PUSH2 0x23b3
00002465: JUMP
00002466: JUMPDEST
00002467: PUSH1 0x20
00002469: SWAP2
0000246a: SWAP4
0000246b: POP
0000246c: DUP1
0000246d: PUSH1 0x01
0000246f: SWAP2
00002470: SLOAD
00002471: DUP4
00002472: DUP6
00002473: DUP10
00002474: ADD
00002475: ADD
00002476: MSTORE
00002477: ADD
00002478: SWAP2
00002479: ADD
0000247a: SWAP1
0000247b: SWAP2
0000247c: DUP5
0000247d: SWAP3
0000247e: PUSH2 0x244c
00002481: JUMP
00002482: JUMPDEST
00002483: SWAP2
00002484: POP
00002485: POP
00002486: PUSH1 0x20
00002488: SWAP3
00002489: POP
0000248a: PUSH2 0x23c1
0000248d: SWAP5
0000248e: SWAP2
0000248f: POP
00002490: PUSH1 0xff
00002492: NOT
00002493: AND
00002494: DUP3
00002495: DUP5
00002496: ADD
00002497: MSTORE
00002498: ISZERO
00002499: ISZERO
0000249a: PUSH1 0x05
0000249c: SHL
0000249d: DUP3
0000249e: ADD
0000249f: ADD
000024a0: CODESIZE
000024a1: DUP1
000024a2: PUSH2 0x23b3
000024a5: JUMP
000024a6: JUMPDEST
000024a7: POP
000024a8: CALLVALUE
000024a9: PUSH2 0x026c
000024ac: JUMPI
000024ad: PUSH1 0x20
000024af: CALLDATASIZE
000024b0: PUSH1 0x03
000024b2: NOT
000024b3: ADD
000024b4: SLT
000024b5: PUSH2 0x026c
000024b8: JUMPI
000024b9: PUSH2 0x24c0
000024bc: PUSH2 0x5a17
000024bf: JUMP
000024c0: JUMPDEST
000024c1: PUSH2 0x0924
000024c4: PUSH2 0x24d7
000024c7: PUSH2 0x24ce
000024ca: PUSH2 0x49cd
000024cd: JUMP
000024ce: JUMPDEST
000024cf: DUP1
000024d0: PUSH1 0x04
000024d2: CALLDATALOAD
000024d3: PUSH2 0x591a
000024d6: JUMP
000024d7: JUMPDEST
000024d8: PUSH2 0x4e2d
000024db: JUMP
000024dc: JUMPDEST
000024dd: POP
000024de: CALLVALUE
000024df: PUSH2 0x026c
000024e2: JUMPI
000024e3: PUSH1 0x40
000024e5: CALLDATASIZE
000024e6: PUSH1 0x03
000024e8: NOT
000024e9: ADD
000024ea: SLT
000024eb: PUSH2 0x026c
000024ee: JUMPI
000024ef: PUSH2 0x0924
000024f2: PUSH2 0x24f9
000024f5: PUSH2 0x2aae
000024f8: JUMP
000024f9: JUMPDEST
000024fa: PUSH2 0x2501
000024fd: PUSH2 0x5a17
00002500: JUMP
00002501: JUMPDEST
00002502: PUSH2 0xffff
00002505: PUSH2 0x250f
00002508: PUSH2 0x24ce
0000250b: PUSH2 0x49cd
0000250e: JUMP
0000250f: JUMPDEST
00002510: SWAP2
00002511: AND
00002512: PUSH1 0x00
00002514: MSTORE
00002515: PUSH1 0x00
00002517: DUP1
00002518: MLOAD
00002519: PUSH1 0x20
0000251b: PUSH2 0x5bc1
0000251e: DUP4
0000251f: CODECOPY
00002520: DUP2
00002521: MLOAD
00002522: SWAP2
00002523: MSTORE
00002524: PUSH1 0x20
00002526: MSTORE
00002527: PUSH1 0x40
00002529: PUSH1 0x00
0000252b: KECCAK256
0000252c: SWAP1
0000252d: PUSH2 0x502b
00002530: JUMP
00002531: JUMPDEST
00002532: POP
00002533: CALLVALUE
00002534: PUSH2 0x026c
00002537: JUMPI
00002538: PUSH1 0x20
0000253a: DUP1
0000253b: PUSH1 0x03
0000253d: NOT
0000253e: CALLDATASIZE
0000253f: ADD
00002540: SLT
00002541: PUSH2 0x06ae
00002544: JUMPI
00002545: PUSH1 0x01
00002547: PUSH1 0x01
00002549: PUSH1 0xa0
0000254b: SHL
0000254c: SUB
0000254d: PUSH1 0x04
0000254f: CALLDATALOAD
00002550: DUP2
00002551: DUP2
00002552: AND
00002553: SWAP1
00002554: DUP2
00002555: DUP2
00002556: SUB
00002557: PUSH2 0x07f4
0000255a: JUMPI
0000255b: PUSH2 0x2562
0000255e: PUSH2 0x5a17
00002561: JUMP
00002562: JUMPDEST
00002563: PUSH2 0x256a
00002566: PUSH2 0x4cee
00002569: JUMP
0000256a: JUMPDEST
0000256b: EXTCODESIZE
0000256c: ISZERO
0000256d: PUSH2 0x293d
00002570: JUMPI
00002571: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
00002592: DUP1
00002593: SLOAD
00002594: PUSH1 0x01
00002596: PUSH1 0x01
00002598: PUSH1 0xa0
0000259a: SHL
0000259b: SUB
0000259c: NOT
0000259d: AND
0000259e: DUP3
0000259f: OR
000025a0: SWAP1
000025a1: SSTORE
000025a2: PUSH32 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b
000025c3: DUP5
000025c4: DUP1
000025c5: LOG2
000025c6: PUSH32 0x7487ca88d037ca20519908b1ee7556206bef53bce0226a348750cb9d4f688e4e
000025e7: SWAP2
000025e8: DUP3
000025e9: SLOAD
000025ea: SWAP2
000025eb: PUSH2 0x25f7
000025ee: PUSH1 0xff
000025f0: DUP5
000025f1: AND
000025f2: ISZERO
000025f3: PUSH2 0x4a9f
000025f6: JUMP
000025f7: JUMPDEST
000025f8: PUSH1 0xff
000025fa: NOT
000025fb: SWAP3
000025fc: DUP4
000025fd: AND
000025fe: PUSH1 0x01
00002600: OR
00002601: DUP5
00002602: SSTORE
00002603: ADDRESS
00002604: EXTCODESIZE
00002605: ISZERO
00002606: PUSH2 0x07f4
00002609: JUMPI
0000260a: PUSH1 0x40
0000260c: MLOAD
0000260d: PUSH4 0x011fa757
00002612: PUSH1 0xe7
00002614: SHL
00002615: DUP2
00002616: MSTORE
00002617: DUP6
00002618: DUP2
00002619: PUSH1 0x04
0000261b: DUP2
0000261c: DUP4
0000261d: ADDRESS
0000261e: GAS
0000261f: CALL
00002620: DUP1
00002621: ISZERO
00002622: PUSH2 0x28f2
00002625: JUMPI
00002626: PUSH2 0x292a
00002629: JUMPI
0000262a: JUMPDEST
0000262b: POP
0000262c: PUSH1 0x40
0000262e: MLOAD
0000262f: PUSH4 0x689f90c3
00002634: PUSH1 0xe0
00002636: SHL
00002637: DUP2
00002638: MSTORE
00002639: DUP3
0000263a: DUP2
0000263b: PUSH1 0x04
0000263d: DUP2
0000263e: ADDRESS
0000263f: GAS
00002640: STATICCALL
00002641: SWAP1
00002642: DUP2
00002643: ISZERO
00002644: PUSH2 0x28f2
00002647: JUMPI
00002648: DUP7
00002649: SWAP2
0000264a: PUSH2 0x28fd
0000264d: JUMPI
0000264e: JUMPDEST
0000264f: POP
00002650: ISZERO
00002651: PUSH2 0x2686
00002654: JUMPI
00002655: JUMPDEST
00002656: POP
00002657: POP
00002658: PUSH32 0x5443fea4dc453d96b81ce55b62e11a4094cc4cbb8a360956a7253cfdb42506cb
00002679: DUP2
0000267a: DUP2
0000267b: SLOAD
0000267c: AND
0000267d: SWAP1
0000267e: SSTORE
0000267f: DUP2
00002680: SLOAD
00002681: AND
00002682: SWAP1
00002683: SSTORE
00002684: DUP1
00002685: RETURN
00002686: JUMPDEST
00002687: PUSH1 0x40
00002689: MLOAD
0000268a: PUSH4 0x7e062a35
0000268f: PUSH1 0xe1
00002691: SHL
00002692: DUP2
00002693: MSTORE
00002694: DUP3
00002695: DUP2
00002696: PUSH1 0x04
00002698: DUP2
00002699: ADDRESS
0000269a: GAS
0000269b: STATICCALL
0000269c: SWAP1
0000269d: DUP2
0000269e: ISZERO
0000269f: PUSH2 0x28f2
000026a2: JUMPI
000026a3: DUP7
000026a4: SWAP2
000026a5: PUSH2 0x28b4
000026a8: JUMPI
000026a9: JUMPDEST
000026aa: POP
000026ab: DUP2
000026ac: PUSH2 0x26d9
000026af: SWAP3
000026b0: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
000026d1: AND
000026d2: SWAP2
000026d3: AND
000026d4: EQ
000026d5: PUSH2 0x4a9f
000026d8: JUMP
000026d9: JUMPDEST
000026da: PUSH1 0x40
000026dc: MLOAD
000026dd: PUSH4 0x14ad2909
000026e2: PUSH1 0xe1
000026e4: SHL
000026e5: DUP2
000026e6: MSTORE
000026e7: DUP2
000026e8: DUP2
000026e9: PUSH1 0x04
000026eb: DUP2
000026ec: ADDRESS
000026ed: GAS
000026ee: STATICCALL
000026ef: SWAP1
000026f0: DUP2
000026f1: ISZERO
000026f2: PUSH2 0x07e9
000026f5: JUMPI
000026f6: DUP6
000026f7: SWAP2
000026f8: PUSH2 0x287e
000026fb: JUMPI
000026fc: JUMPDEST
000026fd: POP
000026fe: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
0000271f: SWAP1
00002720: PUSH1 0x02
00002722: DUP3
00002723: LT
00002724: ISZERO
00002725: PUSH2 0x286a
00002728: JUMPI
00002729: PUSH1 0x02
0000272b: DUP2
0000272c: LT
0000272d: ISZERO
0000272e: PUSH2 0x286a
00002731: JUMPI
00002732: PUSH2 0x273b
00002735: SWAP2
00002736: EQ
00002737: PUSH2 0x4a9f
0000273a: JUMP
0000273b: JUMPDEST
0000273c: PUSH1 0x40
0000273e: MLOAD
0000273f: PUSH4 0x4d4502c9
00002744: PUSH1 0xe1
00002746: SHL
00002747: DUP2
00002748: MSTORE
00002749: DUP2
0000274a: DUP2
0000274b: PUSH1 0x04
0000274d: DUP2
0000274e: ADDRESS
0000274f: GAS
00002750: STATICCALL
00002751: DUP1
00002752: ISZERO
00002753: PUSH2 0x07e9
00002756: JUMPI
00002757: DUP6
00002758: SWAP1
00002759: PUSH2 0x2834
0000275c: JUMPI
0000275d: JUMPDEST
0000275e: PUSH2 0x2790
00002761: SWAP2
00002762: POP
00002763: PUSH2 0xffff
00002766: DUP1
00002767: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000002
00002788: AND
00002789: SWAP2
0000278a: AND
0000278b: EQ
0000278c: PUSH2 0x4a9f
0000278f: JUMP
00002790: JUMPDEST
00002791: PUSH1 0x40
00002793: MLOAD
00002794: PUSH4 0x1d2a9eff
00002799: PUSH1 0xe2
0000279b: SHL
0000279c: DUP2
0000279d: MSTORE
0000279e: SWAP1
0000279f: DUP1
000027a0: DUP3
000027a1: PUSH1 0x04
000027a3: DUP2
000027a4: ADDRESS
000027a5: GAS
000027a6: STATICCALL
000027a7: SWAP1
000027a8: DUP2
000027a9: ISZERO
000027aa: PUSH2 0x07e9
000027ad: JUMPI
000027ae: DUP6
000027af: SWAP2
000027b0: PUSH2 0x27f4
000027b3: JUMPI
000027b4: JUMPDEST
000027b5: POP
000027b6: PUSH2 0x27ed
000027b9: SWAP2
000027ba: POP
000027bb: PUSH1 0x01
000027bd: PUSH1 0x01
000027bf: PUSH1 0x40
000027c1: SHL
000027c2: SUB
000027c3: DUP1
000027c4: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
000027e5: AND
000027e6: SWAP2
000027e7: AND
000027e8: EQ
000027e9: PUSH2 0x4a9f
000027ec: JUMP
000027ed: JUMPDEST
000027ee: CODESIZE
000027ef: DUP1
000027f0: PUSH2 0x2655
000027f3: JUMP
000027f4: JUMPDEST
000027f5: SWAP1
000027f6: POP
000027f7: DUP2
000027f8: DUP2
000027f9: RETURNDATASIZE
000027fa: DUP4
000027fb: GT
000027fc: PUSH2 0x282d
000027ff: JUMPI
00002800: JUMPDEST
00002801: PUSH2 0x280a
00002804: DUP2
00002805: DUP4
00002806: PUSH2 0x2ba1
00002809: JUMP
0000280a: JUMPDEST
0000280b: DUP2
0000280c: ADD
0000280d: SUB
0000280e: SLT
0000280f: PUSH2 0x07e5
00002812: JUMPI
00002813: MLOAD
00002814: PUSH1 0x01
00002816: PUSH1 0x01
00002818: PUSH1 0x40
0000281a: SHL
0000281b: SUB
0000281c: DUP2
0000281d: AND
0000281e: DUP2
0000281f: SUB
00002820: PUSH2 0x07e5
00002823: JUMPI
00002824: PUSH2 0x27ed
00002827: SWAP1
00002828: CODESIZE
00002829: PUSH2 0x27b4
0000282c: JUMP
0000282d: JUMPDEST
0000282e: POP
0000282f: RETURNDATASIZE
00002830: PUSH2 0x2800
00002833: JUMP
00002834: JUMPDEST
00002835: POP
00002836: DUP2
00002837: DUP2
00002838: DUP2
00002839: RETURNDATASIZE
0000283a: DUP4
0000283b: GT
0000283c: PUSH2 0x2863
0000283f: JUMPI
00002840: JUMPDEST
00002841: PUSH2 0x284a
00002844: DUP2
00002845: DUP4
00002846: PUSH2 0x2ba1
00002849: JUMP
0000284a: JUMPDEST
0000284b: DUP2
0000284c: ADD
0000284d: SUB
0000284e: SLT
0000284f: PUSH2 0x07f4
00002852: JUMPI
00002853: PUSH2 0x285e
00002856: PUSH2 0x2790
00002859: SWAP2
0000285a: PUSH2 0x311a
0000285d: JUMP
0000285e: JUMPDEST
0000285f: PUSH2 0x275d
00002862: JUMP
00002863: JUMPDEST
00002864: POP
00002865: RETURNDATASIZE
00002866: PUSH2 0x2840
00002869: JUMP
0000286a: JUMPDEST
0000286b: PUSH4 0x4e487b71
00002870: PUSH1 0xe0
00002872: SHL
00002873: DUP7
00002874: MSTORE
00002875: PUSH1 0x21
00002877: PUSH1 0x04
00002879: MSTORE
0000287a: PUSH1 0x24
0000287c: DUP7
0000287d: REVERT
0000287e: JUMPDEST
0000287f: SWAP1
00002880: POP
00002881: DUP2
00002882: DUP2
00002883: DUP2
00002884: RETURNDATASIZE
00002885: DUP4
00002886: GT
00002887: PUSH2 0x28ad
0000288a: JUMPI
0000288b: JUMPDEST
0000288c: PUSH2 0x2895
0000288f: DUP2
00002890: DUP4
00002891: PUSH2 0x2ba1
00002894: JUMP
00002895: JUMPDEST
00002896: DUP2
00002897: ADD
00002898: SUB
00002899: SLT
0000289a: PUSH2 0x07f4
0000289d: JUMPI
0000289e: MLOAD
0000289f: PUSH1 0x02
000028a1: DUP2
000028a2: LT
000028a3: ISZERO
000028a4: PUSH2 0x07f4
000028a7: JUMPI
000028a8: CODESIZE
000028a9: PUSH2 0x26fc
000028ac: JUMP
000028ad: JUMPDEST
000028ae: POP
000028af: RETURNDATASIZE
000028b0: PUSH2 0x288b
000028b3: JUMP
000028b4: JUMPDEST
000028b5: SWAP1
000028b6: POP
000028b7: DUP3
000028b8: DUP2
000028b9: DUP2
000028ba: RETURNDATASIZE
000028bb: DUP4
000028bc: GT
000028bd: PUSH2 0x28eb
000028c0: JUMPI
000028c1: JUMPDEST
000028c2: PUSH2 0x28cb
000028c5: DUP2
000028c6: DUP4
000028c7: PUSH2 0x2ba1
000028ca: JUMP
000028cb: JUMPDEST
000028cc: DUP2
000028cd: ADD
000028ce: SUB
000028cf: SLT
000028d0: PUSH2 0x28e7
000028d3: JUMPI
000028d4: MLOAD
000028d5: SWAP1
000028d6: DUP1
000028d7: DUP3
000028d8: AND
000028d9: DUP3
000028da: SUB
000028db: PUSH2 0x28e7
000028de: JUMPI
000028df: SWAP1
000028e0: PUSH2 0x26d9
000028e3: PUSH2 0x26a9
000028e6: JUMP
000028e7: JUMPDEST
000028e8: DUP6
000028e9: DUP1
000028ea: REVERT
000028eb: JUMPDEST
000028ec: POP
000028ed: RETURNDATASIZE
000028ee: PUSH2 0x28c1
000028f1: JUMP
000028f2: JUMPDEST
000028f3: PUSH1 0x40
000028f5: MLOAD
000028f6: RETURNDATASIZE
000028f7: DUP9
000028f8: DUP3
000028f9: RETURNDATACOPY
000028fa: RETURNDATASIZE
000028fb: SWAP1
000028fc: REVERT
000028fd: JUMPDEST
000028fe: PUSH2 0x291d
00002901: SWAP2
00002902: POP
00002903: DUP4
00002904: RETURNDATASIZE
00002905: DUP6
00002906: GT
00002907: PUSH2 0x2923
0000290a: JUMPI
0000290b: JUMPDEST
0000290c: PUSH2 0x2915
0000290f: DUP2
00002910: DUP4
00002911: PUSH2 0x2ba1
00002914: JUMP
00002915: JUMPDEST
00002916: DUP2
00002917: ADD
00002918: SWAP1
00002919: PUSH2 0x4200
0000291c: JUMP
0000291d: JUMPDEST
0000291e: CODESIZE
0000291f: PUSH2 0x264e
00002922: JUMP
00002923: JUMPDEST
00002924: POP
00002925: RETURNDATASIZE
00002926: PUSH2 0x290b
00002929: JUMP
0000292a: JUMPDEST
0000292b: PUSH2 0x2936
0000292e: SWAP1
0000292f: SWAP6
00002930: SWAP2
00002931: SWAP6
00002932: PUSH2 0x2b07
00002935: JUMP
00002936: JUMPDEST
00002937: SWAP4
00002938: CODESIZE
00002939: PUSH2 0x262a
0000293c: JUMP
0000293d: JUMPDEST
0000293e: PUSH1 0x40
00002940: MLOAD
00002941: PUSH3 0x461bcd
00002945: PUSH1 0xe5
00002947: SHL
00002948: DUP2
00002949: MSTORE
0000294a: PUSH1 0x04
0000294c: DUP2
0000294d: ADD
0000294e: DUP5
0000294f: SWAP1
00002950: MSTORE
00002951: PUSH1 0x2d
00002953: PUSH1 0x24
00002955: DUP3
00002956: ADD
00002957: MSTORE
00002958: PUSH32 0x455243313936373a206e657720696d706c656d656e746174696f6e206973206e
00002979: PUSH1 0x44
0000297b: DUP3
0000297c: ADD
0000297d: MSTORE
0000297e: PUSH13 0x1bdd08184818dbdb9d1c9858dd
0000298c: PUSH1 0x9a
0000298e: SHL
0000298f: PUSH1 0x64
00002991: DUP3
00002992: ADD
00002993: MSTORE
00002994: PUSH1 0x84
00002996: SWAP1
00002997: REVERT
00002998: JUMPDEST
00002999: POP
0000299a: CALLVALUE
0000299b: PUSH2 0x026c
0000299e: JUMPI
0000299f: PUSH1 0x20
000029a1: CALLDATASIZE
000029a2: PUSH1 0x03
000029a4: NOT
000029a5: ADD
000029a6: SLT
000029a7: PUSH2 0x026c
000029aa: JUMPI
000029ab: PUSH1 0x20
000029ad: PUSH2 0x1789
000029b0: PUSH1 0x04
000029b2: CALLDATALOAD
000029b3: PUSH2 0x2f8c
000029b6: JUMP
000029b7: JUMPDEST
000029b8: POP
000029b9: CALLVALUE
000029ba: PUSH2 0x026c
000029bd: JUMPI
000029be: PUSH1 0x20
000029c0: CALLDATASIZE
000029c1: PUSH1 0x03
000029c3: NOT
000029c4: ADD
000029c5: SLT
000029c6: PUSH2 0x026c
000029c9: JUMPI
000029ca: PUSH1 0x04
000029cc: CALLDATALOAD
000029cd: PUSH1 0x01
000029cf: PUSH1 0x01
000029d1: PUSH1 0xa0
000029d3: SHL
000029d4: SUB
000029d5: DUP2
000029d6: DUP2
000029d7: AND
000029d8: SWAP2
000029d9: DUP3
000029da: SWAP1
000029db: SUB
000029dc: PUSH2 0x1619
000029df: JUMPI
000029e0: PUSH2 0x29f9
000029e3: DUP2
000029e4: PUSH1 0x00
000029e6: DUP1
000029e7: MLOAD
000029e8: PUSH1 0x20
000029ea: PUSH2 0x5b01
000029ed: DUP4
000029ee: CODECOPY
000029ef: DUP2
000029f0: MLOAD
000029f1: SWAP2
000029f2: MSTORE
000029f3: SLOAD
000029f4: AND
000029f5: PUSH2 0x4d32
000029f8: JUMP
000029f9: JUMPDEST
000029fa: PUSH1 0x00
000029fc: DUP1
000029fd: MLOAD
000029fe: PUSH1 0x20
00002a00: PUSH2 0x5c41
00002a03: DUP4
00002a04: CODECOPY
00002a05: DUP2
00002a06: MLOAD
00002a07: SWAP2
00002a08: MSTORE
00002a09: DUP1
00002a0a: SLOAD
00002a0b: PUSH1 0x01
00002a0d: PUSH1 0x01
00002a0f: PUSH1 0xa0
00002a11: SHL
00002a12: SUB
00002a13: NOT
00002a14: DUP2
00002a15: AND
00002a16: DUP5
00002a17: OR
00002a18: SWAP1
00002a19: SWAP2
00002a1a: SSTORE
00002a1b: AND
00002a1c: PUSH32 0x51c4874e0f23f262e04a38c51751336dde72126d67f53eb672aaff02996b3ef6
00002a3d: DUP4
00002a3e: DUP1
00002a3f: LOG3
00002a40: DUP1
00002a41: RETURN
00002a42: JUMPDEST
00002a43: POP
00002a44: CALLVALUE
00002a45: PUSH2 0x026c
00002a48: JUMPI
00002a49: PUSH1 0x20
00002a4b: CALLDATASIZE
00002a4c: PUSH1 0x03
00002a4e: NOT
00002a4f: ADD
00002a50: SLT
00002a51: PUSH2 0x026c
00002a54: JUMPI
00002a55: PUSH2 0x06cd
00002a58: PUSH2 0x2a95
00002a5b: PUSH2 0x2a90
00002a5e: PUSH1 0x40
00002a60: PUSH1 0x20
00002a62: SWAP5
00002a63: PUSH2 0xffff
00002a66: PUSH2 0x2a6d
00002a69: PUSH2 0x2a9d
00002a6c: JUMP
00002a6d: JUMPDEST
00002a6e: PUSH2 0x2a75
00002a71: PUSH2 0x51f2
00002a74: JUMP
00002a75: JUMPDEST
00002a76: POP
00002a77: AND
00002a78: DUP2
00002a79: MSTORE
00002a7a: PUSH1 0x00
00002a7c: DUP1
00002a7d: MLOAD
00002a7e: PUSH1 0x20
00002a80: PUSH2 0x5bc1
00002a83: DUP4
00002a84: CODECOPY
00002a85: DUP2
00002a86: MLOAD
00002a87: SWAP2
00002a88: MSTORE
00002a89: DUP7
00002a8a: MSTORE
00002a8b: KECCAK256
00002a8c: PUSH2 0x4dcd
00002a8f: JUMP
00002a90: JUMPDEST
00002a91: PUSH2 0x52be
00002a94: JUMP
00002a95: JUMPDEST
00002a96: PUSH2 0x0441
00002a99: PUSH2 0x49cd
00002a9c: JUMP
00002a9d: JUMPDEST
00002a9e: PUSH1 0x04
00002aa0: CALLDATALOAD
00002aa1: SWAP1
00002aa2: PUSH2 0xffff
00002aa5: DUP3
00002aa6: AND
00002aa7: DUP3
00002aa8: SUB
00002aa9: PUSH2 0x05b1
00002aac: JUMPI
00002aad: JUMP
00002aae: JUMPDEST
00002aaf: PUSH1 0x24
00002ab1: CALLDATALOAD
00002ab2: SWAP1
00002ab3: PUSH2 0xffff
00002ab6: DUP3
00002ab7: AND
00002ab8: DUP3
00002ab9: SUB
00002aba: PUSH2 0x05b1
00002abd: JUMPI
00002abe: JUMP
00002abf: JUMPDEST
00002ac0: PUSH1 0x00
00002ac2: JUMPDEST
00002ac3: DUP4
00002ac4: DUP2
00002ac5: LT
00002ac6: PUSH2 0x2ad2
00002ac9: JUMPI
00002aca: POP
00002acb: POP
00002acc: PUSH1 0x00
00002ace: SWAP2
00002acf: ADD
00002ad0: MSTORE
00002ad1: JUMP
00002ad2: JUMPDEST
00002ad3: DUP2
00002ad4: DUP2
00002ad5: ADD
00002ad6: MLOAD
00002ad7: DUP4
00002ad8: DUP3
00002ad9: ADD
00002ada: MSTORE
00002adb: PUSH1 0x20
00002add: ADD
00002ade: PUSH2 0x2ac2
00002ae1: JUMP
00002ae2: JUMPDEST
00002ae3: SWAP1
00002ae4: PUSH1 0x20
00002ae6: SWAP2
00002ae7: PUSH2 0x2afb
00002aea: DUP2
00002aeb: MLOAD
00002aec: DUP1
00002aed: SWAP3
00002aee: DUP2
00002aef: DUP6
00002af0: MSTORE
00002af1: DUP6
00002af2: DUP1
00002af3: DUP7
00002af4: ADD
00002af5: SWAP2
00002af6: ADD
00002af7: PUSH2 0x2abf
00002afa: JUMP
00002afb: JUMPDEST
00002afc: PUSH1 0x1f
00002afe: ADD
00002aff: PUSH1 0x1f
00002b01: NOT
00002b02: AND
00002b03: ADD
00002b04: ADD
00002b05: SWAP1
00002b06: JUMP
00002b07: JUMPDEST
00002b08: PUSH1 0x01
00002b0a: PUSH1 0x01
00002b0c: PUSH1 0x40
00002b0e: SHL
00002b0f: SUB
00002b10: DUP2
00002b11: GT
00002b12: PUSH2 0x2174
00002b15: JUMPI
00002b16: PUSH1 0x40
00002b18: MSTORE
00002b19: JUMP
00002b1a: JUMPDEST
00002b1b: PUSH1 0xe0
00002b1d: DUP2
00002b1e: ADD
00002b1f: SWAP1
00002b20: DUP2
00002b21: LT
00002b22: PUSH1 0x01
00002b24: PUSH1 0x01
00002b26: PUSH1 0x40
00002b28: SHL
00002b29: SUB
00002b2a: DUP3
00002b2b: GT
00002b2c: OR
00002b2d: PUSH2 0x2174
00002b30: JUMPI
00002b31: PUSH1 0x40
00002b33: MSTORE
00002b34: JUMP
00002b35: JUMPDEST
00002b36: PUSH1 0x60
00002b38: DUP2
00002b39: ADD
00002b3a: SWAP1
00002b3b: DUP2
00002b3c: LT
00002b3d: PUSH1 0x01
00002b3f: PUSH1 0x01
00002b41: PUSH1 0x40
00002b43: SHL
00002b44: SUB
00002b45: DUP3
00002b46: GT
00002b47: OR
00002b48: PUSH2 0x2174
00002b4b: JUMPI
00002b4c: PUSH1 0x40
00002b4e: MSTORE
00002b4f: JUMP
00002b50: JUMPDEST
00002b51: PUSH1 0x40
00002b53: DUP2
00002b54: ADD
00002b55: SWAP1
00002b56: DUP2
00002b57: LT
00002b58: PUSH1 0x01
00002b5a: PUSH1 0x01
00002b5c: PUSH1 0x40
00002b5e: SHL
00002b5f: SUB
00002b60: DUP3
00002b61: GT
00002b62: OR
00002b63: PUSH2 0x2174
00002b66: JUMPI
00002b67: PUSH1 0x40
00002b69: MSTORE
00002b6a: JUMP
00002b6b: JUMPDEST
00002b6c: PUSH1 0x80
00002b6e: DUP2
00002b6f: ADD
00002b70: SWAP1
00002b71: DUP2
00002b72: LT
00002b73: PUSH1 0x01
00002b75: PUSH1 0x01
00002b77: PUSH1 0x40
00002b79: SHL
00002b7a: SUB
00002b7b: DUP3
00002b7c: GT
00002b7d: OR
00002b7e: PUSH2 0x2174
00002b81: JUMPI
00002b82: PUSH1 0x40
00002b84: MSTORE
00002b85: JUMP
00002b86: JUMPDEST
00002b87: PUSH1 0xa0
00002b89: DUP2
00002b8a: ADD
00002b8b: SWAP1
00002b8c: DUP2
00002b8d: LT
00002b8e: PUSH1 0x01
00002b90: PUSH1 0x01
00002b92: PUSH1 0x40
00002b94: SHL
00002b95: SUB
00002b96: DUP3
00002b97: GT
00002b98: OR
00002b99: PUSH2 0x2174
00002b9c: JUMPI
00002b9d: PUSH1 0x40
00002b9f: MSTORE
00002ba0: JUMP
00002ba1: JUMPDEST
00002ba2: SWAP1
00002ba3: PUSH1 0x1f
00002ba5: DUP1
00002ba6: NOT
00002ba7: SWAP2
00002ba8: ADD
00002ba9: AND
00002baa: DUP2
00002bab: ADD
00002bac: SWAP1
00002bad: DUP2
00002bae: LT
00002baf: PUSH1 0x01
00002bb1: PUSH1 0x01
00002bb3: PUSH1 0x40
00002bb5: SHL
00002bb6: SUB
00002bb7: DUP3
00002bb8: GT
00002bb9: OR
00002bba: PUSH2 0x2174
00002bbd: JUMPI
00002bbe: PUSH1 0x40
00002bc0: MSTORE
00002bc1: JUMP
00002bc2: JUMPDEST
00002bc3: PUSH1 0x01
00002bc5: PUSH1 0x01
00002bc7: PUSH1 0x40
00002bc9: SHL
00002bca: SUB
00002bcb: DUP2
00002bcc: GT
00002bcd: PUSH2 0x2174
00002bd0: JUMPI
00002bd1: PUSH1 0x1f
00002bd3: ADD
00002bd4: PUSH1 0x1f
00002bd6: NOT
00002bd7: AND
00002bd8: PUSH1 0x20
00002bda: ADD
00002bdb: SWAP1
00002bdc: JUMP
00002bdd: JUMPDEST
00002bde: DUP2
00002bdf: PUSH1 0x1f
00002be1: DUP3
00002be2: ADD
00002be3: SLT
00002be4: ISZERO
00002be5: PUSH2 0x05b1
00002be8: JUMPI
00002be9: DUP1
00002bea: CALLDATALOAD
00002beb: SWAP1
00002bec: PUSH2 0x2bf4
00002bef: DUP3
00002bf0: PUSH2 0x2bc2
00002bf3: JUMP
00002bf4: JUMPDEST
00002bf5: SWAP3
00002bf6: PUSH2 0x2c02
00002bf9: PUSH1 0x40
00002bfb: MLOAD
00002bfc: SWAP5
00002bfd: DUP6
00002bfe: PUSH2 0x2ba1
00002c01: JUMP
00002c02: JUMPDEST
00002c03: DUP3
00002c04: DUP5
00002c05: MSTORE
00002c06: PUSH1 0x20
00002c08: DUP4
00002c09: DUP4
00002c0a: ADD
00002c0b: ADD
00002c0c: GT
00002c0d: PUSH2 0x05b1
00002c10: JUMPI
00002c11: DUP2
00002c12: PUSH1 0x00
00002c14: SWAP3
00002c15: PUSH1 0x20
00002c17: DUP1
00002c18: SWAP4
00002c19: ADD
00002c1a: DUP4
00002c1b: DUP7
00002c1c: ADD
00002c1d: CALLDATACOPY
00002c1e: DUP4
00002c1f: ADD
00002c20: ADD
00002c21: MSTORE
00002c22: SWAP1
00002c23: JUMP
00002c24: JUMPDEST
00002c25: SWAP1
00002c26: PUSH1 0x03
00002c28: NOT
00002c29: SWAP1
00002c2a: PUSH1 0x60
00002c2c: DUP3
00002c2d: DUP5
00002c2e: ADD
00002c2f: SLT
00002c30: PUSH2 0x05b1
00002c33: JUMPI
00002c34: PUSH1 0x04
00002c36: CALLDATALOAD
00002c37: PUSH2 0xffff
00002c3a: DUP2
00002c3b: AND
00002c3c: DUP2
00002c3d: SUB
00002c3e: PUSH2 0x05b1
00002c41: JUMPI
00002c42: SWAP3
00002c43: PUSH1 0x24
00002c45: CALLDATALOAD
00002c46: SWAP3
00002c47: PUSH1 0x44
00002c49: CALLDATALOAD
00002c4a: SWAP2
00002c4b: PUSH1 0x01
00002c4d: PUSH1 0x01
00002c4f: PUSH1 0x40
00002c51: SHL
00002c52: SUB
00002c53: SWAP2
00002c54: DUP3
00002c55: DUP5
00002c56: GT
00002c57: PUSH2 0x05b1
00002c5a: JUMPI
00002c5b: PUSH1 0x60
00002c5d: SWAP1
00002c5e: DUP5
00002c5f: DUP4
00002c60: SUB
00002c61: ADD
00002c62: SLT
00002c63: PUSH2 0x05b1
00002c66: JUMPI
00002c67: PUSH1 0x40
00002c69: MLOAD
00002c6a: SWAP3
00002c6b: PUSH2 0x2c73
00002c6e: DUP5
00002c6f: PUSH2 0x2b35
00002c72: JUMP
00002c73: JUMPDEST
00002c74: DUP1
00002c75: PUSH1 0x04
00002c77: ADD
00002c78: CALLDATALOAD
00002c79: DUP5
00002c7a: MSTORE
00002c7b: PUSH1 0x24
00002c7d: DUP2
00002c7e: ADD
00002c7f: CALLDATALOAD
00002c80: PUSH1 0x20
00002c82: DUP6
00002c83: ADD
00002c84: MSTORE
00002c85: PUSH1 0x44
00002c87: DUP2
00002c88: ADD
00002c89: CALLDATALOAD
00002c8a: SWAP3
00002c8b: DUP4
00002c8c: GT
00002c8d: PUSH2 0x05b1
00002c90: JUMPI
00002c91: PUSH2 0x2c9d
00002c94: SWAP3
00002c95: ADD
00002c96: PUSH1 0x04
00002c98: ADD
00002c99: PUSH2 0x2bdd
00002c9c: JUMP
00002c9d: JUMPDEST
00002c9e: PUSH1 0x40
00002ca0: DUP3
00002ca1: ADD
00002ca2: MSTORE
00002ca3: SWAP1
00002ca4: JUMP
00002ca5: JUMPDEST
00002ca6: PUSH1 0x01
00002ca8: PUSH1 0x01
00002caa: PUSH1 0x40
00002cac: SHL
00002cad: SUB
00002cae: DUP2
00002caf: GT
00002cb0: PUSH2 0x2174
00002cb3: JUMPI
00002cb4: PUSH1 0x05
00002cb6: SHL
00002cb7: PUSH1 0x20
00002cb9: ADD
00002cba: SWAP1
00002cbb: JUMP
00002cbc: JUMPDEST
00002cbd: MLOAD
00002cbe: SWAP1
00002cbf: PUSH1 0xff
00002cc1: DUP3
00002cc2: AND
00002cc3: DUP3
00002cc4: SUB
00002cc5: PUSH2 0x05b1
00002cc8: JUMPI
00002cc9: JUMP
00002cca: JUMPDEST
00002ccb: DUP2
00002ccc: PUSH1 0x1f
00002cce: DUP3
00002ccf: ADD
00002cd0: SLT
00002cd1: ISZERO
00002cd2: PUSH2 0x05b1
00002cd5: JUMPI
00002cd6: DUP1
00002cd7: MLOAD
00002cd8: PUSH2 0x2ce0
00002cdb: DUP2
00002cdc: PUSH2 0x2bc2
00002cdf: JUMP
00002ce0: JUMPDEST
00002ce1: SWAP3
00002ce2: PUSH2 0x2cee
00002ce5: PUSH1 0x40
00002ce7: MLOAD
00002ce8: SWAP5
00002ce9: DUP6
00002cea: PUSH2 0x2ba1
00002ced: JUMP
00002cee: JUMPDEST
00002cef: DUP2
00002cf0: DUP5
00002cf1: MSTORE
00002cf2: PUSH1 0x20
00002cf4: DUP3
00002cf5: DUP5
00002cf6: ADD
00002cf7: ADD
00002cf8: GT
00002cf9: PUSH2 0x05b1
00002cfc: JUMPI
00002cfd: PUSH2 0x2d0c
00002d00: SWAP2
00002d01: PUSH1 0x20
00002d03: DUP1
00002d04: DUP6
00002d05: ADD
00002d06: SWAP2
00002d07: ADD
00002d08: PUSH2 0x2abf
00002d0b: JUMP
00002d0c: JUMPDEST
00002d0d: SWAP1
00002d0e: JUMP
00002d0f: JUMPDEST
00002d10: SWAP1
00002d11: PUSH1 0x20
00002d13: SWAP1
00002d14: DUP2
00002d15: DUP4
00002d16: DUP3
00002d17: SUB
00002d18: SLT
00002d19: PUSH2 0x05b1
00002d1c: JUMPI
00002d1d: DUP3
00002d1e: MLOAD
00002d1f: PUSH1 0x01
00002d21: PUSH1 0x01
00002d23: PUSH1 0x40
00002d25: SHL
00002d26: SUB
00002d27: SWAP4
00002d28: DUP5
00002d29: DUP3
00002d2a: GT
00002d2b: PUSH2 0x05b1
00002d2e: JUMPI
00002d2f: ADD
00002d30: SWAP1
00002d31: DUP1
00002d32: PUSH1 0x1f
00002d34: DUP4
00002d35: ADD
00002d36: SLT
00002d37: ISZERO
00002d38: PUSH2 0x05b1
00002d3b: JUMPI
00002d3c: DUP2
00002d3d: MLOAD
00002d3e: PUSH2 0x2d46
00002d41: DUP2
00002d42: PUSH2 0x2ca5
00002d45: JUMP
00002d46: JUMPDEST
00002d47: SWAP5
00002d48: PUSH1 0x40
00002d4a: SWAP1
00002d4b: PUSH2 0x2d56
00002d4e: DUP3
00002d4f: MLOAD
00002d50: SWAP8
00002d51: DUP9
00002d52: PUSH2 0x2ba1
00002d55: JUMP
00002d56: JUMPDEST
00002d57: DUP3
00002d58: DUP8
00002d59: MSTORE
00002d5a: DUP6
00002d5b: DUP1
00002d5c: DUP9
00002d5d: ADD
00002d5e: SWAP4
00002d5f: PUSH1 0x05
00002d61: SHL
00002d62: DUP7
00002d63: ADD
00002d64: ADD
00002d65: SWAP5
00002d66: DUP5
00002d67: DUP7
00002d68: GT
00002d69: PUSH2 0x05b1
00002d6c: JUMPI
00002d6d: DUP7
00002d6e: DUP2
00002d6f: ADD
00002d70: SWAP4
00002d71: JUMPDEST
00002d72: DUP7
00002d73: DUP6
00002d74: LT
00002d75: PUSH2 0x2d83
00002d78: JUMPI
00002d79: POP
00002d7a: POP
00002d7b: POP
00002d7c: POP
00002d7d: POP
00002d7e: POP
00002d7f: POP
00002d80: POP
00002d81: SWAP1
00002d82: JUMP
00002d83: JUMPDEST
00002d84: DUP5
00002d85: MLOAD
00002d86: DUP4
00002d87: DUP2
00002d88: GT
00002d89: PUSH2 0x05b1
00002d8c: JUMPI
00002d8d: DUP3
00002d8e: ADD
00002d8f: SWAP1
00002d90: DUP5
00002d91: PUSH1 0x1f
00002d93: NOT
00002d94: DUP4
00002d95: DUP10
00002d96: SUB
00002d97: ADD
00002d98: SLT
00002d99: PUSH2 0x05b1
00002d9c: JUMPI
00002d9d: DUP5
00002d9e: MLOAD
00002d9f: SWAP1
00002da0: PUSH2 0x2da8
00002da3: DUP3
00002da4: PUSH2 0x2b50
00002da7: JUMP
00002da8: JUMPDEST
00002da9: PUSH2 0x2db3
00002dac: DUP11
00002dad: DUP5
00002dae: ADD
00002daf: PUSH2 0x2cbc
00002db2: JUMP
00002db3: JUMPDEST
00002db4: DUP3
00002db5: MSTORE
00002db6: DUP6
00002db7: DUP4
00002db8: ADD
00002db9: MLOAD
00002dba: SWAP2
00002dbb: DUP6
00002dbc: DUP4
00002dbd: GT
00002dbe: PUSH2 0x05b1
00002dc1: JUMPI
00002dc2: PUSH2 0x2dd2
00002dc5: DUP10
00002dc6: DUP13
00002dc7: DUP1
00002dc8: SWAP7
00002dc9: SWAP6
00002dca: DUP2
00002dcb: SWAP7
00002dcc: ADD
00002dcd: ADD
00002dce: PUSH2 0x2cca
00002dd1: JUMP
00002dd2: JUMPDEST
00002dd3: DUP4
00002dd4: DUP3
00002dd5: ADD
00002dd6: MSTORE
00002dd7: DUP2
00002dd8: MSTORE
00002dd9: ADD
00002dda: SWAP5
00002ddb: ADD
00002ddc: SWAP4
00002ddd: PUSH2 0x2d71
00002de0: JUMP
00002de1: JUMPDEST
00002de2: PUSH1 0x00
00002de4: NOT
00002de5: DUP2
00002de6: EQ
00002de7: PUSH2 0x1746
00002dea: JUMPI
00002deb: PUSH1 0x01
00002ded: ADD
00002dee: SWAP1
00002def: JUMP
00002df0: JUMPDEST
00002df1: DUP1
00002df2: MLOAD
00002df3: DUP3
00002df4: LT
00002df5: ISZERO
00002df6: PUSH2 0x228c
00002df9: JUMPI
00002dfa: PUSH1 0x20
00002dfc: SWAP2
00002dfd: PUSH1 0x05
00002dff: SHL
00002e00: ADD
00002e01: ADD
00002e02: SWAP1
00002e03: JUMP
00002e04: JUMPDEST
00002e05: SWAP1
00002e06: PUSH1 0x40
00002e08: PUSH1 0x20
00002e0a: PUSH2 0x2d0c
00002e0d: SWAP4
00002e0e: PUSH1 0xff
00002e10: DUP2
00002e11: MLOAD
00002e12: AND
00002e13: DUP5
00002e14: MSTORE
00002e15: ADD
00002e16: MLOAD
00002e17: SWAP2
00002e18: DUP2
00002e19: PUSH1 0x20
00002e1b: DUP3
00002e1c: ADD
00002e1d: MSTORE
00002e1e: ADD
00002e1f: SWAP1
00002e20: PUSH2 0x2ae2
00002e23: JUMP
00002e24: JUMPDEST
00002e25: SWAP1
00002e26: SWAP3
00002e27: SWAP2
00002e28: DUP1
00002e29: MLOAD
00002e2a: SWAP2
00002e2b: PUSH2 0x2e33
00002e2e: DUP4
00002e2f: PUSH2 0x2ca5
00002e32: JUMP
00002e33: JUMPDEST
00002e34: SWAP3
00002e35: PUSH1 0x40
00002e37: SWAP2
00002e38: PUSH2 0x2e43
00002e3b: DUP4
00002e3c: MLOAD
00002e3d: SWAP6
00002e3e: DUP7
00002e3f: PUSH2 0x2ba1
00002e42: JUMP
00002e43: JUMPDEST
00002e44: DUP2
00002e45: DUP6
00002e46: MSTORE
00002e47: PUSH1 0x1f
00002e49: NOT
00002e4a: PUSH2 0x2e52
00002e4d: DUP4
00002e4e: PUSH2 0x2ca5
00002e51: JUMP
00002e52: JUMPDEST
00002e53: ADD
00002e54: PUSH1 0x20
00002e56: SWAP1
00002e57: CALLDATASIZE
00002e58: DUP3
00002e59: DUP9
00002e5a: ADD
00002e5b: CALLDATACOPY
00002e5c: PUSH1 0x00
00002e5e: SWAP8
00002e5f: DUP9
00002e60: SWAP6
00002e61: JUMPDEST
00002e62: DUP5
00002e63: DUP8
00002e64: LT
00002e65: PUSH2 0x2e73
00002e68: JUMPI
00002e69: POP
00002e6a: POP
00002e6b: POP
00002e6c: POP
00002e6d: POP
00002e6e: POP
00002e6f: POP
00002e70: SWAP2
00002e71: SWAP1
00002e72: JUMP
00002e73: JUMPDEST
00002e74: SWAP1
00002e75: SWAP2
00002e76: SWAP3
00002e77: SWAP4
00002e78: SWAP5
00002e79: SWAP6
00002e7a: SWAP9
00002e7b: DUP7
00002e7c: DUP6
00002e7d: PUSH2 0x2eec
00002e80: DUP7
00002e81: DUP14
00002e82: PUSH2 0x2e92
00002e85: PUSH1 0x01
00002e87: DUP1
00002e88: PUSH1 0xa0
00002e8a: SHL
00002e8b: SUB
00002e8c: SWAP2
00002e8d: DUP9
00002e8e: PUSH2 0x2df0
00002e91: JUMP
00002e92: JUMPDEST
00002e93: MLOAD
00002e94: AND
00002e95: DUP1
00002e96: PUSH1 0x00
00002e98: MSTORE
00002e99: PUSH1 0x00
00002e9b: DUP1
00002e9c: MLOAD
00002e9d: PUSH1 0x20
00002e9f: PUSH2 0x5be1
00002ea2: DUP4
00002ea3: CODECOPY
00002ea4: DUP2
00002ea5: MLOAD
00002ea6: SWAP2
00002ea7: MSTORE
00002ea8: DUP3
00002ea9: MSTORE
00002eaa: PUSH2 0x2ebd
00002ead: PUSH1 0xff
00002eaf: DUP7
00002eb0: PUSH1 0x00
00002eb2: KECCAK256
00002eb3: SLOAD
00002eb4: PUSH1 0x10
00002eb6: SHR
00002eb7: AND
00002eb8: DUP10
00002eb9: PUSH2 0x2df0
00002ebc: JUMP
00002ebd: JUMPDEST
00002ebe: MLOAD
00002ebf: SWAP1
00002ec0: DUP6
00002ec1: MLOAD
00002ec2: DUP1
00002ec3: DUP1
00002ec4: SWAP6
00002ec5: DUP2
00002ec6: SWAP5
00002ec7: PUSH4 0xb5634c73
00002ecc: PUSH1 0xe0
00002ece: SHL
00002ecf: DUP4
00002ed0: MSTORE
00002ed1: PUSH2 0xffff
00002ed4: PUSH1 0x04
00002ed6: SWAP10
00002ed7: AND
00002ed8: DUP10
00002ed9: DUP5
00002eda: ADD
00002edb: MSTORE
00002edc: PUSH1 0x24
00002ede: SWAP10
00002edf: DUP11
00002ee0: DUP5
00002ee1: ADD
00002ee2: MSTORE
00002ee3: PUSH1 0x44
00002ee5: DUP4
00002ee6: ADD
00002ee7: SWAP1
00002ee8: PUSH2 0x2e04
00002eeb: JUMP
00002eec: JUMPDEST
00002eed: SUB
00002eee: SWAP2
00002eef: GAS
00002ef0: STATICCALL
00002ef1: SWAP1
00002ef2: DUP2
00002ef3: ISZERO
00002ef4: PUSH2 0x2f74
00002ef7: JUMPI
00002ef8: SWAP1
00002ef9: DUP14
00002efa: SWAP2
00002efb: PUSH1 0x00
00002efd: SWAP2
00002efe: PUSH2 0x2f42
00002f01: JUMPI
00002f02: JUMPDEST
00002f03: POP
00002f04: PUSH2 0x2f0e
00002f07: DUP2
00002f08: SWAP3
00002f09: DUP14
00002f0a: PUSH2 0x2df0
00002f0d: JUMP
00002f0e: JUMPDEST
00002f0f: MSTORE
00002f10: DUP4
00002f11: ADD
00002f12: DUP1
00002f13: SWAP4
00002f14: GT
00002f15: PUSH2 0x2f2f
00002f18: JUMPI
00002f19: POP
00002f1a: POP
00002f1b: PUSH2 0x2f24
00002f1e: SWAP1
00002f1f: SWAP10
00002f20: PUSH2 0x2de1
00002f23: JUMP
00002f24: JUMPDEST
00002f25: SWAP6
00002f26: SWAP5
00002f27: SWAP4
00002f28: SWAP3
00002f29: SWAP2
00002f2a: SWAP1
00002f2b: PUSH2 0x2e61
00002f2e: JUMP
00002f2f: JUMPDEST
00002f30: PUSH1 0x11
00002f32: SWAP1
00002f33: PUSH4 0x4e487b71
00002f38: PUSH1 0xe0
00002f3a: SHL
00002f3b: PUSH1 0x00
00002f3d: MSTORE
00002f3e: MSTORE
00002f3f: PUSH1 0x00
00002f41: REVERT
00002f42: JUMPDEST
00002f43: SWAP2
00002f44: POP
00002f45: DUP8
00002f46: DUP3
00002f47: DUP2
00002f48: RETURNDATASIZE
00002f49: DUP4
00002f4a: GT
00002f4b: PUSH2 0x2f6d
00002f4e: JUMPI
00002f4f: JUMPDEST
00002f50: PUSH2 0x2f59
00002f53: DUP2
00002f54: DUP4
00002f55: PUSH2 0x2ba1
00002f58: JUMP
00002f59: JUMPDEST
00002f5a: DUP2
00002f5b: ADD
00002f5c: SUB
00002f5d: SLT
00002f5e: PUSH2 0x026c
00002f61: JUMPI
00002f62: POP
00002f63: MLOAD
00002f64: DUP13
00002f65: SWAP1
00002f66: PUSH2 0x2f0e
00002f69: PUSH2 0x2f02
00002f6c: JUMP
00002f6d: JUMPDEST
00002f6e: POP
00002f6f: RETURNDATASIZE
00002f70: PUSH2 0x2f4f
00002f73: JUMP
00002f74: JUMPDEST
00002f75: DUP11
00002f76: MLOAD
00002f77: RETURNDATASIZE
00002f78: PUSH1 0x00
00002f7a: DUP3
00002f7b: RETURNDATACOPY
00002f7c: RETURNDATASIZE
00002f7d: SWAP1
00002f7e: REVERT
00002f7f: JUMPDEST
00002f80: SWAP2
00002f81: SWAP1
00002f82: DUP3
00002f83: SUB
00002f84: SWAP2
00002f85: DUP3
00002f86: GT
00002f87: PUSH2 0x1746
00002f8a: JUMPI
00002f8b: JUMP
00002f8c: JUMPDEST
00002f8d: PUSH1 0x01
00002f8f: PUSH1 0x01
00002f91: PUSH1 0x40
00002f93: SHL
00002f94: SUB
00002f95: SWAP1
00002f96: PUSH1 0xff
00002f98: PUSH2 0x2fe5
00002f9b: DUP2
00002f9c: PUSH1 0x00
00002f9e: DUP1
00002f9f: MLOAD
00002fa0: PUSH1 0x20
00002fa2: PUSH2 0x5aa1
00002fa5: DUP4
00002fa6: CODECOPY
00002fa7: DUP2
00002fa8: MLOAD
00002fa9: SWAP2
00002faa: MSTORE
00002fab: SLOAD
00002fac: AND
00002fad: SWAP4
00002fae: DUP5
00002faf: SWAP4
00002fb0: PUSH1 0x00
00002fb2: DUP1
00002fb3: MLOAD
00002fb4: PUSH1 0x20
00002fb6: PUSH2 0x5b41
00002fb9: DUP4
00002fba: CODECOPY
00002fbb: DUP2
00002fbc: MLOAD
00002fbd: SWAP2
00002fbe: MSTORE
00002fbf: SLOAD
00002fc0: SWAP1
00002fc1: PUSH1 0x00
00002fc3: MSTORE
00002fc4: PUSH1 0x00
00002fc6: DUP1
00002fc7: MLOAD
00002fc8: PUSH1 0x20
00002fca: PUSH2 0x5ae1
00002fcd: DUP4
00002fce: CODECOPY
00002fcf: DUP2
00002fd0: MLOAD
00002fd1: SWAP2
00002fd2: MSTORE
00002fd3: PUSH1 0x20
00002fd5: MSTORE
00002fd6: PUSH1 0x40
00002fd8: PUSH1 0x00
00002fda: KECCAK256
00002fdb: SLOAD
00002fdc: PUSH1 0x08
00002fde: SHR
00002fdf: AND
00002fe0: AND
00002fe1: PUSH2 0x57e1
00002fe4: JUMP
00002fe5: JUMPDEST
00002fe6: AND
00002fe7: LT
00002fe8: ISZERO
00002fe9: SWAP1
00002fea: DUP2
00002feb: PUSH2 0x2ff2
00002fee: JUMPI
00002fef: POP
00002ff0: SWAP1
00002ff1: JUMP
00002ff2: JUMPDEST
00002ff3: SWAP1
00002ff4: POP
00002ff5: ISZERO
00002ff6: ISZERO
00002ff7: SWAP1
00002ff8: JUMP
00002ff9: JUMPDEST
00002ffa: SWAP1
00002ffb: PUSH1 0x01
00002ffd: PUSH1 0x01
00002fff: PUSH1 0x40
00003001: SHL
00003002: SUB
00003003: SWAP2
00003004: PUSH1 0x00
00003006: MSTORE
00003007: PUSH1 0x00
00003009: DUP1
0000300a: MLOAD
0000300b: PUSH1 0x20
0000300d: PUSH2 0x5ae1
00003010: DUP4
00003011: CODECOPY
00003012: DUP2
00003013: MLOAD
00003014: SWAP2
00003015: MSTORE
00003016: PUSH1 0x20
00003018: MSTORE
00003019: PUSH1 0x01
0000301b: PUSH1 0xff
0000301d: PUSH1 0x40
0000301f: PUSH1 0x00
00003021: KECCAK256
00003022: SLOAD
00003023: PUSH1 0x08
00003025: SHR
00003026: SWAP3
00003027: AND
00003028: SHL
00003029: AND
0000302a: AND
0000302b: ISZERO
0000302c: ISZERO
0000302d: SWAP1
0000302e: JUMP
0000302f: JUMPDEST
00003030: PUSH1 0x00
00003032: DUP1
00003033: MLOAD
00003034: PUSH1 0x20
00003036: PUSH2 0x5b61
00003039: DUP4
0000303a: CODECOPY
0000303b: DUP2
0000303c: MLOAD
0000303d: SWAP2
0000303e: MSTORE
0000303f: DUP1
00003040: SLOAD
00003041: DUP3
00003042: LT
00003043: ISZERO
00003044: PUSH2 0x228c
00003047: JUMPI
00003048: PUSH1 0x00
0000304a: MSTORE
0000304b: PUSH1 0x00
0000304d: DUP1
0000304e: MLOAD
0000304f: PUSH1 0x20
00003051: PUSH2 0x5ac1
00003054: DUP4
00003055: CODECOPY
00003056: DUP2
00003057: MLOAD
00003058: SWAP2
00003059: MSTORE
0000305a: ADD
0000305b: SWAP1
0000305c: PUSH1 0x00
0000305e: SWAP1
0000305f: JUMP
00003060: JUMPDEST
00003061: PUSH1 0xff
00003063: PUSH1 0x00
00003065: DUP1
00003066: MLOAD
00003067: PUSH1 0x20
00003069: PUSH2 0x5aa1
0000306c: DUP4
0000306d: CODECOPY
0000306e: DUP2
0000306f: MLOAD
00003070: SWAP2
00003071: MSTORE
00003072: SLOAD
00003073: AND
00003074: PUSH1 0x40
00003076: MLOAD
00003077: PUSH2 0x307f
0000307a: DUP2
0000307b: PUSH2 0x2b50
0000307e: JUMP
0000307f: JUMPDEST
00003080: PUSH1 0xff
00003082: PUSH1 0x00
00003084: DUP1
00003085: MLOAD
00003086: PUSH1 0x20
00003088: PUSH2 0x5ba1
0000308b: DUP4
0000308c: CODECOPY
0000308d: DUP2
0000308e: MLOAD
0000308f: SWAP2
00003090: MSTORE
00003091: SLOAD
00003092: DUP2
00003093: DUP2
00003094: AND
00003095: DUP4
00003096: MSTORE
00003097: PUSH1 0x08
00003099: SHR
0000309a: AND
0000309b: DUP1
0000309c: PUSH1 0x20
0000309e: DUP4
0000309f: ADD
000030a0: MSTORE
000030a1: DUP1
000030a2: DUP4
000030a3: GT
000030a4: PUSH2 0x30ba
000030a7: JUMPI
000030a8: POP
000030a9: MLOAD
000030aa: PUSH1 0xff
000030ac: AND
000030ad: PUSH2 0x30b3
000030b0: JUMPI
000030b1: POP
000030b2: JUMP
000030b3: JUMPDEST
000030b4: ISZERO
000030b5: PUSH2 0x08e2
000030b8: JUMPI
000030b9: JUMP
000030ba: JUMPDEST
000030bb: DUP3
000030bc: PUSH1 0x44
000030be: SWAP2
000030bf: PUSH1 0x40
000030c1: MLOAD
000030c2: SWAP2
000030c3: PUSH4 0x13c3d1b1
000030c8: PUSH1 0xe0
000030ca: SHL
000030cb: DUP4
000030cc: MSTORE
000030cd: PUSH1 0x04
000030cf: DUP4
000030d0: ADD
000030d1: MSTORE
000030d2: PUSH1 0x24
000030d4: DUP3
000030d5: ADD
000030d6: MSTORE
000030d7: REVERT
000030d8: JUMPDEST
000030d9: SWAP1
000030da: PUSH1 0x60
000030dc: PUSH1 0x40
000030de: PUSH2 0x2d0c
000030e1: SWAP4
000030e2: DUP1
000030e3: MLOAD
000030e4: DUP5
000030e5: MSTORE
000030e6: PUSH1 0x20
000030e8: DUP2
000030e9: ADD
000030ea: MLOAD
000030eb: PUSH1 0x20
000030ed: DUP6
000030ee: ADD
000030ef: MSTORE
000030f0: ADD
000030f1: MLOAD
000030f2: SWAP2
000030f3: DUP2
000030f4: PUSH1 0x40
000030f6: DUP3
000030f7: ADD
000030f8: MSTORE
000030f9: ADD
000030fa: SWAP1
000030fb: PUSH2 0x2ae2
000030fe: JUMP
000030ff: JUMPDEST
00003100: PUSH1 0x40
00003102: SWAP1
00003103: PUSH2 0xffff
00003106: PUSH2 0x2d0c
00003109: SWAP5
0000310a: SWAP4
0000310b: AND
0000310c: DUP2
0000310d: MSTORE
0000310e: DUP2
0000310f: PUSH1 0x20
00003111: DUP3
00003112: ADD
00003113: MSTORE
00003114: ADD
00003115: SWAP1
00003116: PUSH2 0x30d8
00003119: JUMP
0000311a: JUMPDEST
0000311b: MLOAD
0000311c: SWAP1
0000311d: PUSH2 0xffff
00003120: DUP3
00003121: AND
00003122: DUP3
00003123: SUB
00003124: PUSH2 0x05b1
00003127: JUMPI
00003128: JUMP
00003129: JUMPDEST
0000312a: SWAP2
0000312b: SWAP1
0000312c: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000001
0000314d: CHAINID
0000314e: DUP2
0000314f: SUB
00003150: PUSH2 0x3449
00003153: JUMPI
00003154: POP
00003155: DUP2
00003156: PUSH2 0x315f
00003159: SWAP2
0000315a: DUP5
0000315b: PUSH2 0x3467
0000315e: JUMP
0000315f: JUMPDEST
00003160: SWAP2
00003161: SWAP1
00003162: SWAP2
00003163: PUSH2 0x3444
00003166: JUMPI
00003167: PUSH1 0x40
00003169: DUP1
0000316a: SWAP2
0000316b: ADD
0000316c: MLOAD
0000316d: SWAP2
0000316e: DUP2
0000316f: MLOAD
00003170: SWAP3
00003171: PUSH4 0x5399ded5
00003176: PUSH1 0xe1
00003178: SHL
00003179: DUP5
0000317a: MSTORE
0000317b: PUSH1 0x80
0000317d: DUP5
0000317e: DUP1
0000317f: PUSH2 0x3194
00003182: PUSH1 0x20
00003184: SWAP5
00003185: DUP6
00003186: PUSH1 0x04
00003188: DUP5
00003189: ADD
0000318a: MSTORE
0000318b: PUSH1 0x24
0000318d: DUP4
0000318e: ADD
0000318f: SWAP1
00003190: PUSH2 0x2ae2
00003193: JUMP
00003194: JUMPDEST
00003195: SUB
00003196: DUP2
00003197: PUSH20 0x370d05c1f7e88312056bf2df462976219ca0fed4
000031ac: GAS
000031ad: DELEGATECALL
000031ae: SWAP4
000031af: DUP5
000031b0: ISZERO
000031b1: PUSH2 0x3439
000031b4: JUMPI
000031b5: PUSH1 0x00
000031b7: SWAP5
000031b8: PUSH2 0x33c4
000031bb: JUMPI
000031bc: JUMPDEST
000031bd: POP
000031be: PUSH2 0xffff
000031c1: SWAP3
000031c2: DUP4
000031c3: PUSH1 0x60
000031c5: DUP7
000031c6: ADD
000031c7: MLOAD
000031c8: AND
000031c9: DUP5
000031ca: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000002
000031eb: AND
000031ec: DUP1
000031ed: DUP3
000031ee: SUB
000031ef: PUSH2 0x33a9
000031f2: JUMPI
000031f3: POP
000031f4: POP
000031f5: PUSH2 0x31fc
000031f8: PUSH2 0x49cd
000031fb: JUMP
000031fc: JUMPDEST
000031fd: DUP2
000031fe: PUSH2 0x3225
00003201: DUP8
00003202: MLOAD
00003203: SWAP3
00003204: DUP1
00003205: PUSH2 0x3220
00003208: DUP2
00003209: PUSH1 0x01
0000320b: PUSH1 0x01
0000320d: PUSH1 0x40
0000320f: SHL
00003210: SUB
00003211: SWAP7
00003212: DUP8
00003213: PUSH1 0xff
00003215: DUP3
00003216: AND
00003217: SWAP2
00003218: PUSH1 0x08
0000321a: SHR
0000321b: AND
0000321c: PUSH2 0x58bf
0000321f: JUMP
00003220: JUMPDEST
00003221: PUSH2 0x591a
00003224: JUMP
00003225: JUMPDEST
00003226: SWAP7
00003227: ADD
00003228: MLOAD
00003229: SWAP1
0000322a: DUP2
0000322b: PUSH1 0xa0
0000322d: SHR
0000322e: PUSH2 0x3392
00003231: JUMPI
00003232: PUSH1 0x01
00003234: PUSH1 0x01
00003236: PUSH1 0xa0
00003238: SHL
00003239: SUB
0000323a: SWAP2
0000323b: DUP3
0000323c: AND
0000323d: SWAP6
0000323e: PUSH1 0x00
00003240: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
00003261: DUP4
00003262: AND
00003263: ISZERO
00003264: PUSH2 0x338b
00003267: JUMPI
00003268: POP
00003269: PUSH2 0x3270
0000326c: PUSH2 0x51f2
0000326f: JUMP
00003270: JUMPDEST
00003271: POP
00003272: DUP9
00003273: AND
00003274: PUSH1 0x00
00003276: MSTORE
00003277: PUSH1 0x00
00003279: DUP1
0000327a: MLOAD
0000327b: PUSH1 0x20
0000327d: PUSH2 0x5bc1
00003280: DUP4
00003281: CODECOPY
00003282: DUP2
00003283: MLOAD
00003284: SWAP2
00003285: MSTORE
00003286: DUP5
00003287: MSTORE
00003288: PUSH2 0x3296
0000328b: PUSH2 0x2a90
0000328e: DUP5
0000328f: PUSH1 0x00
00003291: KECCAK256
00003292: PUSH2 0x4dcd
00003295: JUMP
00003296: JUMPDEST
00003297: PUSH2 0x32a0
0000329a: DUP9
0000329b: DUP3
0000329c: PUSH2 0x5853
0000329f: JUMP
000032a0: JUMPDEST
000032a1: DUP2
000032a2: DUP1
000032a3: DUP10
000032a4: PUSH1 0x08
000032a6: SHR
000032a7: AND
000032a8: SWAP2
000032a9: PUSH1 0x08
000032ab: SHR
000032ac: AND
000032ad: LT
000032ae: JUMPDEST
000032af: PUSH2 0x32d3
000032b2: JUMPI
000032b3: POP
000032b4: POP
000032b5: POP
000032b6: POP
000032b7: PUSH2 0x32c3
000032ba: PUSH2 0x32d1
000032bd: SWAP5
000032be: DUP5
000032bf: PUSH2 0x55b1
000032c2: JUMP
000032c3: JUMPDEST
000032c4: PUSH2 0x32cc
000032c7: DUP4
000032c8: PUSH2 0x5491
000032cb: JUMP
000032cc: JUMPDEST
000032cd: PUSH2 0x4893
000032d0: JUMP
000032d1: JUMPDEST
000032d2: JUMP
000032d3: JUMPDEST
000032d4: PUSH32 0x7f63c9251d82a933210c2b6d0b0f116252c3c116788120e64e8e8215df6f3162
000032f5: SWAP8
000032f6: POP
000032f7: SWAP6
000032f8: PUSH2 0x336f
000032fb: DUP4
000032fc: SWAP6
000032fd: SWAP7
000032fe: SWAP5
000032ff: SWAP8
00003300: PUSH1 0x01
00003302: SWAP4
00003303: SWAP5
00003304: MLOAD
00003305: SWAP3
00003306: PUSH2 0x330e
00003309: DUP5
0000330a: PUSH2 0x2b35
0000330d: JUMP
0000330e: JUMPDEST
0000330f: PUSH1 0x01
00003311: PUSH1 0x01
00003313: PUSH1 0x48
00003315: SHL
00003316: SUB
00003317: DUP1
00003318: SWAP2
00003319: AND
0000331a: DUP5
0000331b: MSTORE
0000331c: DUP10
0000331d: DUP5
0000331e: ADD
0000331f: SWAP1
00003320: DUP3
00003321: TIMESTAMP
00003322: AND
00003323: DUP3
00003324: MSTORE
00003325: DUP9
00003326: DUP6
00003327: ADD
00003328: SWAP8
00003329: DUP9
0000332a: MSTORE
0000332b: DUP10
0000332c: PUSH1 0x00
0000332e: MSTORE
0000332f: PUSH32 0x4e8909a01183a67951f5a6147d6e76ed02ea890c72afea01a9edee91edc609b8
00003350: DUP12
00003351: MSTORE
00003352: DUP9
00003353: PUSH1 0x00
00003355: KECCAK256
00003356: SWAP5
00003357: MLOAD
00003358: AND
00003359: PUSH1 0x01
0000335b: PUSH1 0x01
0000335d: PUSH1 0x48
0000335f: SHL
00003360: SUB
00003361: NOT
00003362: DUP6
00003363: SLOAD
00003364: AND
00003365: OR
00003366: DUP5
00003367: SSTORE
00003368: MLOAD
00003369: AND
0000336a: DUP3
0000336b: PUSH2 0x57a0
0000336e: JUMP
0000336f: JUMPDEST
00003370: ADD
00003371: SWAP2
00003372: MLOAD
00003373: AND
00003374: PUSH1 0x01
00003376: PUSH1 0x01
00003378: PUSH1 0x60
0000337a: SHL
0000337b: SUB
0000337c: PUSH1 0xa0
0000337e: SHL
0000337f: DUP3
00003380: SLOAD
00003381: AND
00003382: OR
00003383: SWAP1
00003384: SSTORE
00003385: MLOAD
00003386: SWAP1
00003387: DUP2
00003388: MSTORE
00003389: LOG1
0000338a: JUMP
0000338b: JUMPDEST
0000338c: SWAP1
0000338d: POP
0000338e: PUSH2 0x32ae
00003391: JUMP
00003392: JUMPDEST
00003393: POP
00003394: PUSH1 0x24
00003396: SWAP2
00003397: MLOAD
00003398: SWAP1
00003399: PUSH4 0x033b960d
0000339e: PUSH1 0xe4
000033a0: SHL
000033a1: DUP3
000033a2: MSTORE
000033a3: PUSH1 0x04
000033a5: DUP3
000033a6: ADD
000033a7: MSTORE
000033a8: REVERT
000033a9: JUMPDEST
000033aa: PUSH1 0x44
000033ac: SWAP3
000033ad: MLOAD
000033ae: SWAP2
000033af: PUSH4 0x1ee59025
000033b4: PUSH1 0xe1
000033b6: SHL
000033b7: DUP4
000033b8: MSTORE
000033b9: PUSH1 0x04
000033bb: DUP4
000033bc: ADD
000033bd: MSTORE
000033be: PUSH1 0x24
000033c0: DUP3
000033c1: ADD
000033c2: MSTORE
000033c3: REVERT
000033c4: JUMPDEST
000033c5: PUSH1 0x80
000033c7: SWAP5
000033c8: SWAP2
000033c9: SWAP5
000033ca: DUP2
000033cb: RETURNDATASIZE
000033cc: DUP3
000033cd: GT
000033ce: PUSH2 0x3431
000033d1: JUMPI
000033d2: JUMPDEST
000033d3: DUP2
000033d4: PUSH2 0x33df
000033d7: PUSH1 0x80
000033d9: SWAP4
000033da: DUP4
000033db: PUSH2 0x2ba1
000033de: JUMP
000033df: JUMPDEST
000033e0: DUP2
000033e1: ADD
000033e2: SUB
000033e3: SLT
000033e4: PUSH2 0x06ae
000033e7: JUMPI
000033e8: DUP4
000033e9: MLOAD
000033ea: SWAP2
000033eb: PUSH2 0x33f3
000033ee: DUP4
000033ef: PUSH2 0x2b6b
000033f2: JUMP
000033f3: JUMPDEST
000033f4: DUP2
000033f5: MLOAD
000033f6: SWAP1
000033f7: PUSH1 0x01
000033f9: PUSH1 0x01
000033fb: PUSH1 0x48
000033fd: SHL
000033fe: SUB
000033ff: DUP3
00003400: AND
00003401: DUP3
00003402: SUB
00003403: PUSH2 0x026c
00003406: JUMPI
00003407: POP
00003408: DUP3
00003409: MSTORE
0000340a: DUP5
0000340b: DUP2
0000340c: ADD
0000340d: MLOAD
0000340e: DUP6
0000340f: DUP4
00003410: ADD
00003411: MSTORE
00003412: DUP4
00003413: DUP2
00003414: ADD
00003415: MLOAD
00003416: DUP5
00003417: DUP4
00003418: ADD
00003419: MSTORE
0000341a: PUSH2 0x3425
0000341d: SWAP1
0000341e: PUSH1 0x60
00003420: ADD
00003421: PUSH2 0x311a
00003424: JUMP
00003425: JUMPDEST
00003426: PUSH1 0x60
00003428: DUP3
00003429: ADD
0000342a: MSTORE
0000342b: SWAP3
0000342c: CODESIZE
0000342d: PUSH2 0x31bc
00003430: JUMP
00003431: JUMPDEST
00003432: RETURNDATASIZE
00003433: SWAP2
00003434: POP
00003435: PUSH2 0x33d2
00003438: JUMP
00003439: JUMPDEST
0000343a: DUP4
0000343b: MLOAD
0000343c: RETURNDATASIZE
0000343d: PUSH1 0x00
0000343f: DUP3
00003440: RETURNDATACOPY
00003441: RETURNDATASIZE
00003442: SWAP1
00003443: REVERT
00003444: JUMPDEST
00003445: POP
00003446: POP
00003447: POP
00003448: JUMP
00003449: JUMPDEST
0000344a: PUSH1 0x44
0000344c: SWAP1
0000344d: PUSH1 0x40
0000344f: MLOAD
00003450: SWAP1
00003451: PUSH4 0x77d879fb
00003456: PUSH1 0xe0
00003458: SHL
00003459: DUP3
0000345a: MSTORE
0000345b: PUSH1 0x04
0000345d: DUP3
0000345e: ADD
0000345f: MSTORE
00003460: CHAINID
00003461: PUSH1 0x24
00003463: DUP3
00003464: ADD
00003465: MSTORE
00003466: REVERT
00003467: JUMPDEST
00003468: PUSH1 0x40
0000346a: MLOAD
0000346b: PUSH4 0xb3f07bbd
00003470: PUSH1 0xe0
00003472: SHL
00003473: DUP2
00003474: MSTORE
00003475: SWAP2
00003476: SWAP4
00003477: SWAP3
00003478: PUSH1 0x20
0000347a: SWAP2
0000347b: DUP4
0000347c: SWAP2
0000347d: DUP3
0000347e: SWAP2
0000347f: PUSH2 0x348c
00003482: SWAP2
00003483: SWAP1
00003484: PUSH1 0x04
00003486: DUP5
00003487: ADD
00003488: PUSH2 0x30ff
0000348b: JUMP
0000348c: JUMPDEST
0000348d: SUB
0000348e: DUP2
0000348f: PUSH20 0x370d05c1f7e88312056bf2df462976219ca0fed4
000034a4: GAS
000034a5: DELEGATECALL
000034a6: SWAP1
000034a7: DUP2
000034a8: ISZERO
000034a9: PUSH2 0x05a5
000034ac: JUMPI
000034ad: PUSH1 0x00
000034af: SWAP2
000034b0: PUSH2 0x351d
000034b3: JUMPI
000034b4: JUMPDEST
000034b5: POP
000034b6: PUSH2 0x34be
000034b9: DUP2
000034ba: PUSH2 0x2f8c
000034bd: JUMP
000034be: JUMPDEST
000034bf: ISZERO
000034c0: PUSH2 0x3505
000034c3: JUMPI
000034c4: PUSH2 0x34cc
000034c7: DUP2
000034c8: PUSH2 0x354e
000034cb: JUMP
000034cc: JUMPDEST
000034cd: SWAP3
000034ce: DUP4
000034cf: PUSH2 0x34da
000034d2: JUMPI
000034d3: POP
000034d4: SWAP2
000034d5: POP
000034d6: PUSH1 0x00
000034d8: SWAP1
000034d9: JUMP
000034da: JUMPDEST
000034db: PUSH32 0x4069dff8c9df7e38d2867c0910bd96fd61787695e5380281148c04932d02bef2
000034fc: PUSH1 0x00
000034fe: DUP1
000034ff: LOG3
00003500: PUSH1 0x00
00003502: SWAP2
00003503: SWAP1
00003504: JUMP
00003505: JUMPDEST
00003506: PUSH1 0x24
00003508: SWAP1
00003509: PUSH1 0x40
0000350b: MLOAD
0000350c: SWAP1
0000350d: PUSH4 0x0451c4fb
00003512: PUSH1 0xe4
00003514: SHL
00003515: DUP3
00003516: MSTORE
00003517: PUSH1 0x04
00003519: DUP3
0000351a: ADD
0000351b: MSTORE
0000351c: REVERT
0000351d: JUMPDEST
0000351e: SWAP1
0000351f: PUSH1 0x20
00003521: DUP3
00003522: RETURNDATASIZE
00003523: DUP3
00003524: GT
00003525: PUSH2 0x3546
00003528: JUMPI
00003529: JUMPDEST
0000352a: DUP2
0000352b: PUSH2 0x3536
0000352e: PUSH1 0x20
00003530: SWAP4
00003531: DUP4
00003532: PUSH2 0x2ba1
00003535: JUMP
00003536: JUMPDEST
00003537: DUP2
00003538: ADD
00003539: SUB
0000353a: SLT
0000353b: PUSH2 0x026c
0000353e: JUMPI
0000353f: POP
00003540: MLOAD
00003541: CODESIZE
00003542: PUSH2 0x34b4
00003545: JUMP
00003546: JUMPDEST
00003547: RETURNDATASIZE
00003548: SWAP2
00003549: POP
0000354a: PUSH2 0x3529
0000354d: JUMP
0000354e: JUMPDEST
0000354f: PUSH1 0x00
00003551: MSTORE
00003552: PUSH1 0x00
00003554: DUP1
00003555: MLOAD
00003556: PUSH1 0x20
00003558: PUSH2 0x5ae1
0000355b: DUP4
0000355c: CODECOPY
0000355d: DUP2
0000355e: MLOAD
0000355f: SWAP2
00003560: MSTORE
00003561: PUSH1 0x20
00003563: MSTORE
00003564: PUSH1 0x40
00003566: PUSH1 0x00
00003568: KECCAK256
00003569: DUP1
0000356a: SLOAD
0000356b: PUSH1 0xff
0000356d: DUP2
0000356e: AND
0000356f: PUSH2 0x3580
00003572: JUMPI
00003573: PUSH1 0xff
00003575: NOT
00003576: AND
00003577: PUSH1 0x01
00003579: OR
0000357a: SWAP1
0000357b: SSTORE
0000357c: PUSH1 0x00
0000357e: SWAP1
0000357f: JUMP
00003580: JUMPDEST
00003581: POP
00003582: POP
00003583: PUSH1 0x01
00003585: SWAP1
00003586: JUMP
00003587: JUMPDEST
00003588: SWAP1
00003589: PUSH1 0x01
0000358b: DUP3
0000358c: DUP2
0000358d: SHR
0000358e: SWAP3
0000358f: AND
00003590: DUP1
00003591: ISZERO
00003592: PUSH2 0x35b7
00003595: JUMPI
00003596: JUMPDEST
00003597: PUSH1 0x20
00003599: DUP4
0000359a: LT
0000359b: EQ
0000359c: PUSH2 0x35a1
0000359f: JUMPI
000035a0: JUMP
000035a1: JUMPDEST
000035a2: PUSH4 0x4e487b71
000035a7: PUSH1 0xe0
000035a9: SHL
000035aa: PUSH1 0x00
000035ac: MSTORE
000035ad: PUSH1 0x22
000035af: PUSH1 0x04
000035b1: MSTORE
000035b2: PUSH1 0x24
000035b4: PUSH1 0x00
000035b6: REVERT
000035b7: JUMPDEST
000035b8: SWAP2
000035b9: PUSH1 0x7f
000035bb: AND
000035bc: SWAP2
000035bd: PUSH2 0x3596
000035c0: JUMP
000035c1: JUMPDEST
000035c2: DUP2
000035c3: DUP2
000035c4: LT
000035c5: PUSH2 0x35cc
000035c8: JUMPI
000035c9: POP
000035ca: POP
000035cb: JUMP
000035cc: JUMPDEST
000035cd: PUSH1 0x00
000035cf: DUP2
000035d0: SSTORE
000035d1: PUSH1 0x01
000035d3: ADD
000035d4: PUSH2 0x35c1
000035d7: JUMP
000035d8: JUMPDEST
000035d9: PUSH1 0x04
000035db: PUSH1 0x00
000035dd: SWAP2
000035de: DUP3
000035df: DUP2
000035e0: SSTORE
000035e1: DUP3
000035e2: PUSH1 0x01
000035e4: DUP3
000035e5: ADD
000035e6: SSTORE
000035e7: DUP3
000035e8: PUSH1 0x02
000035ea: DUP3
000035eb: ADD
000035ec: SSTORE
000035ed: DUP3
000035ee: PUSH1 0x03
000035f0: DUP3
000035f1: ADD
000035f2: SSTORE
000035f3: ADD
000035f4: PUSH2 0x35fd
000035f7: DUP2
000035f8: SLOAD
000035f9: PUSH2 0x3587
000035fc: JUMP
000035fd: JUMPDEST
000035fe: DUP1
000035ff: PUSH2 0x3607
00003602: JUMPI
00003603: POP
00003604: POP
00003605: POP
00003606: JUMP
00003607: JUMPDEST
00003608: DUP3
00003609: PUSH1 0x1f
0000360b: DUP3
0000360c: GT
0000360d: PUSH1 0x01
0000360f: EQ
00003610: PUSH2 0x3618
00003613: JUMPI
00003614: POP
00003615: POP
00003616: SSTORE
00003617: JUMP
00003618: JUMPDEST
00003619: SWAP1
0000361a: SWAP2
0000361b: DUP1
0000361c: DUP3
0000361d: MSTORE
0000361e: PUSH2 0x3636
00003621: PUSH1 0x1f
00003623: PUSH1 0x20
00003625: DUP5
00003626: KECCAK256
00003627: SWAP5
00003628: ADD
00003629: PUSH1 0x05
0000362b: SHR
0000362c: DUP5
0000362d: ADD
0000362e: PUSH1 0x01
00003630: DUP6
00003631: ADD
00003632: PUSH2 0x35c1
00003635: JUMP
00003636: JUMPDEST
00003637: SSTORE
00003638: SSTORE
00003639: JUMP
0000363a: JUMPDEST
0000363b: SWAP2
0000363c: SWAP5
0000363d: SWAP4
0000363e: SWAP3
0000363f: SWAP1
00003640: SWAP5
00003641: PUSH1 0x00
00003643: SWAP6
00003644: DUP4
00003645: ISZERO
00003646: PUSH2 0x3c8a
00003649: JUMPI
0000364a: DUP2
0000364b: ISZERO
0000364c: PUSH2 0x3c78
0000364f: JUMPI
00003650: DUP3
00003651: ISZERO
00003652: PUSH2 0x3c66
00003655: JUMPI
00003656: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
00003677: PUSH2 0x3680
0000367a: ADDRESS
0000367b: DUP3
0000367c: PUSH2 0x4a36
0000367f: JUMP
00003680: JUMPDEST
00003681: SWAP1
00003682: PUSH2 0x36c3
00003685: PUSH1 0x01
00003687: DUP1
00003688: PUSH1 0xa0
0000368a: SHL
0000368b: SUB
0000368c: DUP3
0000368d: AND
0000368e: SWAP7
0000368f: PUSH1 0x40
00003691: MLOAD
00003692: SWAP1
00003693: PUSH4 0x23b872dd
00003698: PUSH1 0xe0
0000369a: SHL
0000369b: PUSH1 0x20
0000369d: DUP4
0000369e: ADD
0000369f: MSTORE
000036a0: CALLER
000036a1: PUSH1 0x24
000036a3: DUP4
000036a4: ADD
000036a5: MSTORE
000036a6: ADDRESS
000036a7: PUSH1 0x44
000036a9: DUP4
000036aa: ADD
000036ab: MSTORE
000036ac: PUSH1 0x64
000036ae: DUP3
000036af: ADD
000036b0: MSTORE
000036b1: PUSH1 0x64
000036b3: DUP2
000036b4: MSTORE
000036b5: PUSH2 0x36bd
000036b8: DUP2
000036b9: PUSH2 0x2b86
000036bc: JUMP
000036bd: JUMPDEST
000036be: DUP8
000036bf: PUSH2 0x4218
000036c2: JUMP
000036c3: JUMPDEST
000036c4: PUSH2 0x36d6
000036c7: DUP3
000036c8: PUSH2 0x36d1
000036cb: ADDRESS
000036cc: DUP5
000036cd: PUSH2 0x4a36
000036d0: JUMP
000036d1: JUMPDEST
000036d2: PUSH2 0x2f7f
000036d5: JUMP
000036d6: JUMPDEST
000036d7: SWAP6
000036d8: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
000036f9: PUSH1 0x02
000036fb: DUP2
000036fc: LT
000036fd: ISZERO
000036fe: PUSH2 0x3c52
00003701: JUMPI
00003702: SWAP1
00003703: PUSH1 0x01
00003705: DUP12
00003706: SWAP3
00003707: EQ
00003708: PUSH2 0x3bcb
0000370b: JUMPI
0000370c: JUMPDEST
0000370d: POP
0000370e: POP
0000370f: POP
00003710: POP
00003711: PUSH2 0xffff
00003714: DUP2
00003715: AND
00003716: PUSH1 0x00
00003718: MSTORE
00003719: PUSH1 0x00
0000371b: DUP1
0000371c: MLOAD
0000371d: PUSH1 0x20
0000371f: PUSH2 0x5a81
00003722: DUP4
00003723: CODECOPY
00003724: DUP2
00003725: MLOAD
00003726: SWAP2
00003727: MSTORE
00003728: PUSH1 0x20
0000372a: MSTORE
0000372b: PUSH1 0xff
0000372d: PUSH1 0x01
0000372f: PUSH1 0x40
00003731: PUSH1 0x00
00003733: KECCAK256
00003734: ADD
00003735: SLOAD
00003736: AND
00003737: DUP1
00003738: ISZERO
00003739: PUSH2 0x1d29
0000373c: JUMPI
0000373d: PUSH2 0x374f
00003740: PUSH2 0x3747
00003743: PUSH2 0x49cd
00003746: JUMP
00003747: JUMPDEST
00003748: SWAP2
00003749: DUP3
0000374a: DUP8
0000374b: PUSH2 0x591a
0000374e: JUMP
0000374f: JUMPDEST
00003750: SWAP1
00003751: PUSH1 0x01
00003753: PUSH1 0x01
00003755: PUSH1 0x40
00003757: SHL
00003758: SUB
00003759: DUP3
0000375a: PUSH1 0x08
0000375c: SHR
0000375d: AND
0000375e: PUSH2 0x376c
00003761: PUSH1 0xff
00003763: DUP5
00003764: AND
00003765: SWAP3
00003766: DUP4
00003767: DUP4
00003768: PUSH2 0x58bf
0000376b: JUMP
0000376c: JUMPDEST
0000376d: DUP1
0000376e: DUP9
0000376f: SUB
00003770: PUSH2 0x3ba4
00003773: JUMPI
00003774: POP
00003775: PUSH2 0x378e
00003778: PUSH2 0x3793
0000377b: SWAP2
0000377c: PUSH2 0x3786
0000377f: PUSH2 0x1b45
00003782: PUSH2 0x49cd
00003785: JUMP
00003786: JUMPDEST
00003787: SWAP4
00003788: DUP5
00003789: SWAP2
0000378a: PUSH2 0x58bf
0000378d: JUMP
0000378e: JUMPDEST
0000378f: PUSH2 0x5369
00003792: JUMP
00003793: JUMPDEST
00003794: SWAP9
00003795: PUSH1 0x00
00003797: DUP1
00003798: MLOAD
00003799: PUSH1 0x20
0000379b: PUSH2 0x5b81
0000379e: DUP4
0000379f: CODECOPY
000037a0: DUP2
000037a1: MLOAD
000037a2: SWAP2
000037a3: MSTORE
000037a4: SLOAD
000037a5: SWAP7
000037a6: PUSH1 0x01
000037a8: PUSH1 0x01
000037aa: PUSH1 0x40
000037ac: SHL
000037ad: SUB
000037ae: DUP1
000037af: DUP10
000037b0: AND
000037b1: EQ
000037b2: PUSH2 0x3b90
000037b5: JUMPI
000037b6: PUSH8 0xffffffffffffffff
000037bf: NOT
000037c0: DUP9
000037c1: AND
000037c2: PUSH1 0x01
000037c4: PUSH1 0x01
000037c6: PUSH1 0x40
000037c8: SHL
000037c9: SUB
000037ca: DUP10
000037cb: DUP2
000037cc: AND
000037cd: PUSH1 0x01
000037cf: ADD
000037d0: DUP2
000037d1: AND
000037d2: SWAP2
000037d3: SWAP1
000037d4: SWAP2
000037d5: OR
000037d6: PUSH1 0x00
000037d8: DUP1
000037d9: MLOAD
000037da: PUSH1 0x20
000037dc: PUSH2 0x5b81
000037df: DUP4
000037e0: CODECOPY
000037e1: DUP2
000037e2: MLOAD
000037e3: SWAP2
000037e4: MSTORE
000037e5: SSTORE
000037e6: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
00003807: AND
00003808: ISZERO
00003809: PUSH2 0x3b8a
0000380c: JUMPI
0000380d: PUSH2 0x3814
00003810: PUSH2 0x51f2
00003813: JUMP
00003814: JUMPDEST
00003815: POP
00003816: PUSH2 0x3820
00003819: PUSH2 0x2a90
0000381c: PUSH2 0x4d85
0000381f: JUMP
00003820: JUMPDEST
00003821: PUSH2 0x383d
00003824: DUP13
00003825: PUSH2 0x0100
00003828: PUSH1 0x01
0000382a: PUSH1 0x48
0000382c: SHL
0000382d: SUB
0000382e: PUSH1 0xff
00003830: DUP8
00003831: AND
00003832: SWAP2
00003833: PUSH1 0x08
00003835: SHL
00003836: AND
00003837: OR
00003838: DUP3
00003839: PUSH2 0x5853
0000383c: JUMP
0000383d: JUMPDEST
0000383e: PUSH1 0x01
00003840: PUSH1 0x01
00003842: PUSH1 0x40
00003844: SHL
00003845: SUB
00003846: DUP1
00003847: DUP14
00003848: PUSH2 0x0100
0000384b: PUSH1 0x01
0000384d: PUSH1 0x48
0000384f: SHL
00003850: SUB
00003851: PUSH1 0xff
00003853: DUP9
00003854: AND
00003855: SWAP2
00003856: PUSH1 0x08
00003858: SHL
00003859: AND
0000385a: OR
0000385b: PUSH1 0x08
0000385d: SHR
0000385e: AND
0000385f: SWAP2
00003860: PUSH1 0x08
00003862: SHR
00003863: AND
00003864: LT
00003865: JUMPDEST
00003866: PUSH2 0x3b64
00003869: JUMPI
0000386a: DUP2
0000386b: DUP1
0000386c: PUSH2 0x3b5c
0000386f: JUMPI
00003870: JUMPDEST
00003871: PUSH2 0x38b9
00003874: JUMPI
00003875: POP
00003876: POP
00003877: DUP3
00003878: PUSH2 0x2d0c
0000387b: SWAP9
0000387c: SWAP10
0000387d: PUSH2 0x0100
00003880: PUSH1 0x01
00003882: PUSH1 0x48
00003884: SHL
00003885: SUB
00003886: PUSH1 0xff
00003888: DUP5
00003889: PUSH2 0x389d
0000388c: DUP3
0000388d: PUSH2 0x38a9
00003890: SWAP8
00003891: AND
00003892: DUP5
00003893: DUP7
00003894: PUSH1 0x08
00003896: SHL
00003897: AND
00003898: OR
00003899: PUSH2 0x53d1
0000389c: JUMP
0000389d: JUMPDEST
0000389e: AND
0000389f: SWAP2
000038a0: PUSH1 0x08
000038a2: SHL
000038a3: AND
000038a4: OR
000038a5: PUSH2 0x5679
000038a8: JUMP
000038a9: JUMPDEST
000038aa: PUSH1 0x01
000038ac: PUSH1 0x01
000038ae: PUSH1 0x40
000038b0: SHL
000038b1: SUB
000038b2: CALLER
000038b3: SWAP6
000038b4: AND
000038b5: PUSH2 0x4412
000038b8: JUMP
000038b9: JUMPDEST
000038ba: PUSH2 0xffff
000038bd: SWAP6
000038be: SWAP8
000038bf: SWAP9
000038c0: SWAP7
000038c1: SWAP2
000038c2: SWAP11
000038c3: POP
000038c4: PUSH1 0x01
000038c6: PUSH1 0x01
000038c8: PUSH1 0x48
000038ca: SHL
000038cb: SUB
000038cc: SWAP4
000038cd: SWAP3
000038ce: POP
000038cf: PUSH2 0x38d6
000038d2: PUSH2 0x5211
000038d5: JUMP
000038d6: JUMPDEST
000038d7: PUSH1 0x40
000038d9: MLOAD
000038da: SWAP2
000038db: PUSH1 0x01
000038dd: PUSH1 0x01
000038df: PUSH1 0x40
000038e1: SHL
000038e2: SUB
000038e3: DUP12
000038e4: AND
000038e5: DUP4
000038e6: MSTORE
000038e7: PUSH1 0x20
000038e9: DUP4
000038ea: ADD
000038eb: MSTORE
000038ec: PUSH1 0x40
000038ee: DUP3
000038ef: ADD
000038f0: MSTORE
000038f1: PUSH32 0xf33512b84e24a49905c26c6991942fc5a9652411769fc1e448f967cdb049f08a
00003912: PUSH1 0x60
00003914: CALLER
00003915: SWAP3
00003916: LOG2
00003917: PUSH1 0x40
00003919: MLOAD
0000391a: SWAP7
0000391b: PUSH2 0x3923
0000391e: DUP9
0000391f: PUSH2 0x2b1a
00003922: JUMP
00003923: JUMPDEST
00003924: DUP8
00003925: MSTORE
00003926: PUSH1 0x20
00003928: DUP8
00003929: ADD
0000392a: MSTORE
0000392b: AND
0000392c: PUSH1 0x40
0000392e: DUP6
0000392f: ADD
00003930: MSTORE
00003931: PUSH1 0x01
00003933: PUSH1 0x01
00003935: PUSH1 0x40
00003937: SHL
00003938: SUB
00003939: TIMESTAMP
0000393a: AND
0000393b: PUSH1 0x60
0000393d: DUP6
0000393e: ADD
0000393f: MSTORE
00003940: AND
00003941: PUSH1 0x80
00003943: DUP4
00003944: ADD
00003945: MSTORE
00003946: CALLER
00003947: PUSH1 0xa0
00003949: DUP4
0000394a: ADD
0000394b: MSTORE
0000394c: PUSH1 0xc0
0000394e: DUP3
0000394f: ADD
00003950: MSTORE
00003951: PUSH1 0x01
00003953: PUSH1 0x01
00003955: PUSH1 0x40
00003957: SHL
00003958: SUB
00003959: DUP3
0000395a: AND
0000395b: PUSH1 0x00
0000395d: MSTORE
0000395e: PUSH1 0x00
00003960: DUP1
00003961: MLOAD
00003962: PUSH1 0x20
00003964: PUSH2 0x5c01
00003967: DUP4
00003968: CODECOPY
00003969: DUP2
0000396a: MLOAD
0000396b: SWAP2
0000396c: MSTORE
0000396d: PUSH1 0x20
0000396f: MSTORE
00003970: PUSH1 0xc0
00003972: PUSH1 0x04
00003974: PUSH1 0x40
00003976: PUSH1 0x00
00003978: KECCAK256
00003979: DUP4
0000397a: MLOAD
0000397b: DUP2
0000397c: SSTORE
0000397d: PUSH1 0x20
0000397f: DUP5
00003980: ADD
00003981: MLOAD
00003982: PUSH1 0x01
00003984: DUP3
00003985: ADD
00003986: SSTORE
00003987: PUSH1 0x02
00003989: DUP2
0000398a: ADD
0000398b: PUSH1 0x01
0000398d: PUSH1 0x01
0000398f: PUSH1 0x48
00003991: SHL
00003992: SUB
00003993: PUSH1 0x40
00003995: DUP7
00003996: ADD
00003997: MLOAD
00003998: AND
00003999: PUSH1 0x01
0000399b: PUSH1 0x01
0000399d: PUSH1 0x48
0000399f: SHL
000039a0: SUB
000039a1: NOT
000039a2: DUP3
000039a3: SLOAD
000039a4: AND
000039a5: OR
000039a6: DUP2
000039a7: SSTORE
000039a8: PUSH2 0x39be
000039ab: PUSH1 0x01
000039ad: PUSH1 0x01
000039af: PUSH1 0x40
000039b1: SHL
000039b2: SUB
000039b3: PUSH1 0x60
000039b5: DUP8
000039b6: ADD
000039b7: MLOAD
000039b8: AND
000039b9: DUP3
000039ba: PUSH2 0x57a0
000039bd: JUMP
000039be: JUMPDEST
000039bf: PUSH1 0x80
000039c1: DUP6
000039c2: ADD
000039c3: MLOAD
000039c4: DUP2
000039c5: SLOAD
000039c6: SWAP1
000039c7: PUSH2 0xffff
000039ca: PUSH1 0x88
000039cc: SHL
000039cd: SWAP1
000039ce: PUSH1 0x88
000039d0: SHL
000039d1: AND
000039d2: SWAP1
000039d3: PUSH2 0xffff
000039d6: PUSH1 0x88
000039d8: SHL
000039d9: NOT
000039da: AND
000039db: OR
000039dc: SWAP1
000039dd: SSTORE
000039de: PUSH1 0x03
000039e0: DUP2
000039e1: ADD
000039e2: PUSH1 0x01
000039e4: DUP1
000039e5: PUSH1 0xa0
000039e7: SHL
000039e8: SUB
000039e9: PUSH1 0xa0
000039eb: DUP7
000039ec: ADD
000039ed: MLOAD
000039ee: AND
000039ef: PUSH1 0x01
000039f1: PUSH1 0x01
000039f3: PUSH1 0x60
000039f5: SHL
000039f6: SUB
000039f7: PUSH1 0xa0
000039f9: SHL
000039fa: DUP3
000039fb: SLOAD
000039fc: AND
000039fd: OR
000039fe: SWAP1
000039ff: SSTORE
00003a00: ADD
00003a01: SWAP2
00003a02: ADD
00003a03: MLOAD
00003a04: SWAP4
00003a05: DUP5
00003a06: MLOAD
00003a07: SWAP1
00003a08: PUSH1 0x01
00003a0a: PUSH1 0x01
00003a0c: PUSH1 0x40
00003a0e: SHL
00003a0f: SUB
00003a10: DUP3
00003a11: GT
00003a12: PUSH2 0x3b48
00003a15: JUMPI
00003a16: PUSH2 0x3a1f
00003a19: DUP4
00003a1a: SLOAD
00003a1b: PUSH2 0x3587
00003a1e: JUMP
00003a1f: JUMPDEST
00003a20: PUSH1 0x1f
00003a22: DUP2
00003a23: GT
00003a24: PUSH2 0x3b0d
00003a27: JUMPI
00003a28: JUMPDEST
00003a29: POP
00003a2a: PUSH1 0x20
00003a2c: SWAP1
00003a2d: PUSH1 0x1f
00003a2f: DUP4
00003a30: GT
00003a31: PUSH1 0x01
00003a33: EQ
00003a34: PUSH2 0x3aa1
00003a37: JUMPI
00003a38: SWAP1
00003a39: PUSH1 0x01
00003a3b: PUSH1 0x01
00003a3d: PUSH1 0x40
00003a3f: SHL
00003a40: SUB
00003a41: SWAP6
00003a42: SWAP7
00003a43: DUP4
00003a44: PUSH2 0x3a96
00003a47: JUMPI
00003a48: JUMPDEST
00003a49: POP
00003a4a: POP
00003a4b: DUP2
00003a4c: PUSH1 0x01
00003a4e: SHL
00003a4f: SWAP2
00003a50: PUSH1 0x00
00003a52: NOT
00003a53: SWAP1
00003a54: PUSH1 0x03
00003a56: SHL
00003a57: SHR
00003a58: NOT
00003a59: AND
00003a5a: OR
00003a5b: SWAP1
00003a5c: SSTORE
00003a5d: JUMPDEST
00003a5e: PUSH32 0x69add1952a6a6b9cb86f04d05f0cb605cbb469a50ae916139d34495a9991481f
00003a7f: PUSH1 0x20
00003a81: PUSH1 0x40
00003a83: MLOAD
00003a84: DUP5
00003a85: DUP5
00003a86: AND
00003a87: DUP2
00003a88: MSTORE
00003a89: LOG1
00003a8a: PUSH2 0x3a92
00003a8d: CALLVALUE
00003a8e: PUSH2 0x43bb
00003a91: JUMP
00003a92: JUMPDEST
00003a93: AND
00003a94: SWAP1
00003a95: JUMP
00003a96: JUMPDEST
00003a97: ADD
00003a98: MLOAD
00003a99: SWAP1
00003a9a: POP
00003a9b: CODESIZE
00003a9c: DUP1
00003a9d: PUSH2 0x3a48
00003aa0: JUMP
00003aa1: JUMPDEST
00003aa2: SWAP6
00003aa3: PUSH1 0x1f
00003aa5: NOT
00003aa6: DUP4
00003aa7: AND
00003aa8: DUP5
00003aa9: DUP9
00003aaa: MSTORE
00003aab: PUSH1 0x20
00003aad: DUP9
00003aae: KECCAK256
00003aaf: SWAP8
00003ab0: JUMPDEST
00003ab1: DUP2
00003ab2: DUP2
00003ab3: LT
00003ab4: PUSH2 0x3af5
00003ab7: JUMPI
00003ab8: POP
00003ab9: SWAP2
00003aba: PUSH1 0x01
00003abc: PUSH1 0x01
00003abe: PUSH1 0x40
00003ac0: SHL
00003ac1: SUB
00003ac2: SWAP7
00003ac3: SWAP8
00003ac4: SWAP2
00003ac5: DUP5
00003ac6: PUSH1 0x01
00003ac8: SWAP6
00003ac9: SWAP5
00003aca: LT
00003acb: PUSH2 0x3adc
00003ace: JUMPI
00003acf: JUMPDEST
00003ad0: POP
00003ad1: POP
00003ad2: POP
00003ad3: DUP2
00003ad4: SHL
00003ad5: ADD
00003ad6: SWAP1
00003ad7: SSTORE
00003ad8: PUSH2 0x3a5d
00003adb: JUMP
00003adc: JUMPDEST
00003add: ADD
00003ade: MLOAD
00003adf: PUSH1 0x00
00003ae1: NOT
00003ae2: PUSH1 0xf8
00003ae4: DUP5
00003ae5: PUSH1 0x03
00003ae7: SHL
00003ae8: AND
00003ae9: SHR
00003aea: NOT
00003aeb: AND
00003aec: SWAP1
00003aed: SSTORE
00003aee: CODESIZE
00003aef: DUP1
00003af0: DUP1
00003af1: PUSH2 0x3acf
00003af4: JUMP
00003af5: JUMPDEST
00003af6: DUP4
00003af7: DUP4
00003af8: ADD
00003af9: MLOAD
00003afa: DUP10
00003afb: SSTORE
00003afc: PUSH1 0x01
00003afe: SWAP1
00003aff: SWAP9
00003b00: ADD
00003b01: SWAP8
00003b02: PUSH1 0x20
00003b04: SWAP4
00003b05: DUP5
00003b06: ADD
00003b07: SWAP4
00003b08: ADD
00003b09: PUSH2 0x3ab0
00003b0c: JUMP
00003b0d: JUMPDEST
00003b0e: PUSH2 0x3b38
00003b11: SWAP1
00003b12: DUP5
00003b13: DUP4
00003b14: MSTORE
00003b15: PUSH1 0x20
00003b17: DUP4
00003b18: KECCAK256
00003b19: PUSH1 0x1f
00003b1b: DUP6
00003b1c: ADD
00003b1d: PUSH1 0x05
00003b1f: SHR
00003b20: DUP2
00003b21: ADD
00003b22: SWAP2
00003b23: PUSH1 0x20
00003b25: DUP7
00003b26: LT
00003b27: PUSH2 0x3b3e
00003b2a: JUMPI
00003b2b: JUMPDEST
00003b2c: PUSH1 0x1f
00003b2e: ADD
00003b2f: PUSH1 0x05
00003b31: SHR
00003b32: ADD
00003b33: SWAP1
00003b34: PUSH2 0x35c1
00003b37: JUMP
00003b38: JUMPDEST
00003b39: CODESIZE
00003b3a: PUSH2 0x3a28
00003b3d: JUMP
00003b3e: JUMPDEST
00003b3f: SWAP1
00003b40: SWAP2
00003b41: POP
00003b42: DUP2
00003b43: SWAP1
00003b44: PUSH2 0x3b2b
00003b47: JUMP
00003b48: JUMPDEST
00003b49: PUSH4 0x4e487b71
00003b4e: PUSH1 0xe0
00003b50: SHL
00003b51: DUP2
00003b52: MSTORE
00003b53: PUSH1 0x41
00003b55: PUSH1 0x04
00003b57: MSTORE
00003b58: PUSH1 0x24
00003b5a: SWAP1
00003b5b: REVERT
00003b5c: JUMPDEST
00003b5d: POP
00003b5e: PUSH1 0x00
00003b60: PUSH2 0x3870
00003b63: JUMP
00003b64: JUMPDEST
00003b65: PUSH1 0x44
00003b67: SWAP1
00003b68: PUSH2 0x3b6f
00003b6b: PUSH2 0x5211
00003b6e: JUMP
00003b6f: JUMPDEST
00003b70: SWAP1
00003b71: PUSH1 0x40
00003b73: MLOAD
00003b74: SWAP2
00003b75: PUSH4 0x26fb55dd
00003b7a: PUSH1 0xe0
00003b7c: SHL
00003b7d: DUP4
00003b7e: MSTORE
00003b7f: PUSH1 0x04
00003b81: DUP4
00003b82: ADD
00003b83: MSTORE
00003b84: PUSH1 0x24
00003b86: DUP3
00003b87: ADD
00003b88: MSTORE
00003b89: REVERT
00003b8a: JUMPDEST
00003b8b: DUP2
00003b8c: PUSH2 0x3865
00003b8f: JUMP
00003b90: JUMPDEST
00003b91: PUSH4 0x4e487b71
00003b96: PUSH1 0xe0
00003b98: SHL
00003b99: DUP3
00003b9a: MSTORE
00003b9b: PUSH1 0x11
00003b9d: PUSH1 0x04
00003b9f: MSTORE
00003ba0: PUSH1 0x24
00003ba2: DUP3
00003ba3: REVERT
00003ba4: JUMPDEST
00003ba5: DUP8
00003ba6: PUSH2 0x3bb1
00003ba9: PUSH1 0x44
00003bab: SWAP3
00003bac: DUP3
00003bad: PUSH2 0x2f7f
00003bb0: JUMP
00003bb1: JUMPDEST
00003bb2: PUSH1 0x40
00003bb4: MLOAD
00003bb5: SWAP2
00003bb6: PUSH4 0x38f831a5
00003bbb: PUSH1 0xe1
00003bbd: SHL
00003bbe: DUP4
00003bbf: MSTORE
00003bc0: PUSH1 0x04
00003bc2: DUP4
00003bc3: ADD
00003bc4: MSTORE
00003bc5: PUSH1 0x24
00003bc7: DUP3
00003bc8: ADD
00003bc9: MSTORE
00003bca: REVERT
00003bcb: JUMPDEST
00003bcc: DUP1
00003bcd: EXTCODESIZE
00003bce: ISZERO
00003bcf: PUSH2 0x06ae
00003bd2: JUMPI
00003bd3: DUP2
00003bd4: SWAP1
00003bd5: PUSH1 0x24
00003bd7: PUSH1 0x40
00003bd9: MLOAD
00003bda: DUP1
00003bdb: SWAP5
00003bdc: DUP2
00003bdd: SWAP4
00003bde: PUSH4 0x0852cd8d
00003be3: PUSH1 0xe3
00003be5: SHL
00003be6: DUP4
00003be7: MSTORE
00003be8: DUP13
00003be9: PUSH1 0x04
00003beb: DUP5
00003bec: ADD
00003bed: MSTORE
00003bee: GAS
00003bef: CALL
00003bf0: DUP1
00003bf1: ISZERO
00003bf2: PUSH2 0x3c47
00003bf5: JUMPI
00003bf6: PUSH2 0x3c32
00003bf9: JUMPI
00003bfa: JUMPDEST
00003bfb: POP
00003bfc: PUSH2 0x3c06
00003bff: SWAP1
00003c00: ADDRESS
00003c01: SWAP1
00003c02: PUSH2 0x4a36
00003c05: JUMP
00003c06: JUMPDEST
00003c07: DUP1
00003c08: DUP3
00003c09: SUB
00003c0a: PUSH2 0x3c14
00003c0d: JUMPI
00003c0e: DUP9
00003c0f: DUP2
00003c10: PUSH2 0x370c
00003c13: JUMP
00003c14: JUMPDEST
00003c15: PUSH1 0x44
00003c17: SWAP3
00003c18: POP
00003c19: PUSH1 0x40
00003c1b: MLOAD
00003c1c: SWAP2
00003c1d: PUSH4 0x02156a8f
00003c22: PUSH1 0xe0
00003c24: SHL
00003c25: DUP4
00003c26: MSTORE
00003c27: PUSH1 0x04
00003c29: DUP4
00003c2a: ADD
00003c2b: MSTORE
00003c2c: PUSH1 0x24
00003c2e: DUP3
00003c2f: ADD
00003c30: MSTORE
00003c31: REVERT
00003c32: JUMPDEST
00003c33: SWAP9
00003c34: PUSH2 0x3c40
00003c37: PUSH2 0x3c06
00003c3a: SWAP3
00003c3b: SWAP11
00003c3c: PUSH2 0x2b07
00003c3f: JUMP
00003c40: JUMPDEST
00003c41: SWAP9
00003c42: SWAP1
00003c43: PUSH2 0x3bfa
00003c46: JUMP
00003c47: JUMPDEST
00003c48: PUSH1 0x40
00003c4a: MLOAD
00003c4b: RETURNDATASIZE
00003c4c: DUP13
00003c4d: DUP3
00003c4e: RETURNDATACOPY
00003c4f: RETURNDATASIZE
00003c50: SWAP1
00003c51: REVERT
00003c52: JUMPDEST
00003c53: PUSH4 0x4e487b71
00003c58: PUSH1 0xe0
00003c5a: SHL
00003c5b: DUP12
00003c5c: MSTORE
00003c5d: PUSH1 0x21
00003c5f: PUSH1 0x04
00003c61: MSTORE
00003c62: PUSH1 0x24
00003c64: DUP12
00003c65: REVERT
00003c66: JUMPDEST
00003c67: PUSH1 0x40
00003c69: MLOAD
00003c6a: PUSH4 0x717f1393
00003c6f: PUSH1 0xe1
00003c71: SHL
00003c72: DUP2
00003c73: MSTORE
00003c74: PUSH1 0x04
00003c76: SWAP1
00003c77: REVERT
00003c78: JUMPDEST
00003c79: PUSH1 0x40
00003c7b: MLOAD
00003c7c: PUSH4 0x4e469669
00003c81: PUSH1 0xe1
00003c83: SHL
00003c84: DUP2
00003c85: MSTORE
00003c86: PUSH1 0x04
00003c88: SWAP1
00003c89: REVERT
00003c8a: JUMPDEST
00003c8b: PUSH1 0x40
00003c8d: MLOAD
00003c8e: PUSH4 0x1f2a2005
00003c93: PUSH1 0xe0
00003c95: SHL
00003c96: DUP2
00003c97: MSTORE
00003c98: PUSH1 0x04
00003c9a: SWAP1
00003c9b: REVERT
00003c9c: JUMPDEST
00003c9d: SWAP6
00003c9e: SWAP5
00003c9f: SWAP4
00003ca0: SWAP3
00003ca1: SWAP2
00003ca2: SWAP1
00003ca3: PUSH1 0x00
00003ca5: DUP8
00003ca6: ISZERO
00003ca7: PUSH2 0x3c8a
00003caa: JUMPI
00003cab: DUP3
00003cac: ISZERO
00003cad: PUSH2 0x3c78
00003cb0: JUMPI
00003cb1: DUP4
00003cb2: ISZERO
00003cb3: PUSH2 0x3c66
00003cb6: JUMPI
00003cb7: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
00003cd8: PUSH2 0x3ce1
00003cdb: ADDRESS
00003cdc: DUP3
00003cdd: PUSH2 0x4a36
00003ce0: JUMP
00003ce1: JUMPDEST
00003ce2: SWAP1
00003ce3: PUSH2 0x3d24
00003ce6: PUSH1 0x01
00003ce8: DUP1
00003ce9: PUSH1 0xa0
00003ceb: SHL
00003cec: SUB
00003ced: DUP3
00003cee: AND
00003cef: SWAP11
00003cf0: PUSH1 0x40
00003cf2: MLOAD
00003cf3: SWAP1
00003cf4: PUSH4 0x23b872dd
00003cf9: PUSH1 0xe0
00003cfb: SHL
00003cfc: PUSH1 0x20
00003cfe: DUP4
00003cff: ADD
00003d00: MSTORE
00003d01: CALLER
00003d02: PUSH1 0x24
00003d04: DUP4
00003d05: ADD
00003d06: MSTORE
00003d07: ADDRESS
00003d08: PUSH1 0x44
00003d0a: DUP4
00003d0b: ADD
00003d0c: MSTORE
00003d0d: PUSH1 0x64
00003d0f: DUP3
00003d10: ADD
00003d11: MSTORE
00003d12: PUSH1 0x64
00003d14: DUP2
00003d15: MSTORE
00003d16: PUSH2 0x3d1e
00003d19: DUP2
00003d1a: PUSH2 0x2b86
00003d1d: JUMP
00003d1e: JUMPDEST
00003d1f: DUP12
00003d20: PUSH2 0x4218
00003d23: JUMP
00003d24: JUMPDEST
00003d25: PUSH2 0x3d32
00003d28: DUP3
00003d29: PUSH2 0x36d1
00003d2c: ADDRESS
00003d2d: DUP5
00003d2e: PUSH2 0x4a36
00003d31: JUMP
00003d32: JUMPDEST
00003d33: SWAP10
00003d34: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
00003d55: PUSH1 0x02
00003d57: DUP2
00003d58: LT
00003d59: ISZERO
00003d5a: PUSH2 0x41ec
00003d5d: JUMPI
00003d5e: PUSH1 0x01
00003d60: EQ
00003d61: PUSH2 0x4182
00003d64: JUMPI
00003d65: JUMPDEST
00003d66: POP
00003d67: POP
00003d68: POP
00003d69: PUSH2 0xffff
00003d6c: DUP3
00003d6d: AND
00003d6e: PUSH1 0x00
00003d70: MSTORE
00003d71: PUSH1 0x00
00003d73: DUP1
00003d74: MLOAD
00003d75: PUSH1 0x20
00003d77: PUSH2 0x5a81
00003d7a: DUP4
00003d7b: CODECOPY
00003d7c: DUP2
00003d7d: MLOAD
00003d7e: SWAP2
00003d7f: MSTORE
00003d80: PUSH1 0x20
00003d82: MSTORE
00003d83: PUSH1 0xff
00003d85: PUSH1 0x01
00003d87: PUSH1 0x40
00003d89: PUSH1 0x00
00003d8b: KECCAK256
00003d8c: ADD
00003d8d: SLOAD
00003d8e: AND
00003d8f: DUP1
00003d90: ISZERO
00003d91: PUSH2 0x1d29
00003d94: JUMPI
00003d95: PUSH2 0x3da7
00003d98: PUSH2 0x3d9f
00003d9b: PUSH2 0x49cd
00003d9e: JUMP
00003d9f: JUMPDEST
00003da0: SWAP2
00003da1: DUP3
00003da2: DUP12
00003da3: PUSH2 0x591a
00003da6: JUMP
00003da7: JUMPDEST
00003da8: SWAP2
00003da9: PUSH1 0x01
00003dab: PUSH1 0x01
00003dad: PUSH1 0x40
00003daf: SHL
00003db0: SUB
00003db1: DUP4
00003db2: PUSH1 0x08
00003db4: SHR
00003db5: AND
00003db6: PUSH2 0x3dc4
00003db9: PUSH1 0xff
00003dbb: DUP6
00003dbc: AND
00003dbd: SWAP4
00003dbe: DUP5
00003dbf: DUP4
00003dc0: PUSH2 0x58bf
00003dc3: JUMP
00003dc4: JUMPDEST
00003dc5: DUP1
00003dc6: DUP13
00003dc7: SUB
00003dc8: PUSH2 0x4175
00003dcb: JUMPI
00003dcc: POP
00003dcd: PUSH2 0x378e
00003dd0: PUSH2 0x3de6
00003dd3: SWAP2
00003dd4: PUSH2 0x3dde
00003dd7: PUSH2 0x1b45
00003dda: PUSH2 0x49cd
00003ddd: JUMP
00003dde: JUMPDEST
00003ddf: SWAP5
00003de0: DUP6
00003de1: SWAP2
00003de2: PUSH2 0x58bf
00003de5: JUMP
00003de6: JUMPDEST
00003de7: SWAP10
00003de8: PUSH1 0x00
00003dea: DUP1
00003deb: MLOAD
00003dec: PUSH1 0x20
00003dee: PUSH2 0x5b81
00003df1: DUP4
00003df2: CODECOPY
00003df3: DUP2
00003df4: MLOAD
00003df5: SWAP2
00003df6: MSTORE
00003df7: SLOAD
00003df8: SWAP8
00003df9: PUSH1 0x01
00003dfb: PUSH1 0x01
00003dfd: PUSH1 0x40
00003dff: SHL
00003e00: SUB
00003e01: DUP1
00003e02: DUP11
00003e03: AND
00003e04: EQ
00003e05: PUSH2 0x4161
00003e08: JUMPI
00003e09: PUSH8 0xffffffffffffffff
00003e12: NOT
00003e13: DUP10
00003e14: AND
00003e15: PUSH1 0x01
00003e17: PUSH1 0x01
00003e19: PUSH1 0x40
00003e1b: SHL
00003e1c: SUB
00003e1d: DUP11
00003e1e: DUP2
00003e1f: AND
00003e20: PUSH1 0x01
00003e22: ADD
00003e23: DUP2
00003e24: AND
00003e25: SWAP2
00003e26: SWAP1
00003e27: SWAP2
00003e28: OR
00003e29: PUSH1 0x00
00003e2b: DUP1
00003e2c: MLOAD
00003e2d: PUSH1 0x20
00003e2f: PUSH2 0x5b81
00003e32: DUP4
00003e33: CODECOPY
00003e34: DUP2
00003e35: MLOAD
00003e36: SWAP2
00003e37: MSTORE
00003e38: SSTORE
00003e39: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
00003e5a: AND
00003e5b: ISZERO
00003e5c: PUSH2 0x415b
00003e5f: JUMPI
00003e60: PUSH2 0x3e67
00003e63: PUSH2 0x51f2
00003e66: JUMP
00003e67: JUMPDEST
00003e68: POP
00003e69: DUP12
00003e6a: PUSH1 0x01
00003e6c: PUSH1 0x01
00003e6e: PUSH1 0x40
00003e70: SHL
00003e71: SUB
00003e72: DUP1
00003e73: PUSH2 0x3e7d
00003e76: PUSH2 0x2a90
00003e79: PUSH2 0x4d85
00003e7c: JUMP
00003e7d: JUMPDEST
00003e7e: SWAP3
00003e7f: PUSH1 0x08
00003e81: SHL
00003e82: PUSH2 0x0100
00003e85: PUSH1 0x01
00003e87: PUSH1 0x48
00003e89: SHL
00003e8a: SUB
00003e8b: AND
00003e8c: PUSH1 0xff
00003e8e: DUP9
00003e8f: AND
00003e90: OR
00003e91: PUSH2 0x3e9a
00003e94: DUP2
00003e95: DUP6
00003e96: PUSH2 0x5853
00003e99: JUMP
00003e9a: JUMPDEST
00003e9b: PUSH1 0x08
00003e9d: SHR
00003e9e: AND
00003e9f: SWAP2
00003ea0: PUSH1 0x08
00003ea2: SHR
00003ea3: AND
00003ea4: LT
00003ea5: JUMPDEST
00003ea6: DUP2
00003ea7: ISZERO
00003ea8: DUP1
00003ea9: PUSH2 0x4154
00003eac: JUMPI
00003ead: JUMPDEST
00003eae: PUSH2 0x4149
00003eb1: JUMPI
00003eb2: DUP2
00003eb3: PUSH2 0x4141
00003eb6: JUMPI
00003eb7: JUMPDEST
00003eb8: POP
00003eb9: PUSH2 0x3ee8
00003ebc: JUMPI
00003ebd: POP
00003ebe: POP
00003ebf: DUP3
00003ec0: PUSH2 0x2d0c
00003ec3: SWAP9
00003ec4: SWAP10
00003ec5: PUSH2 0x0100
00003ec8: PUSH1 0x01
00003eca: PUSH1 0x48
00003ecc: SHL
00003ecd: SUB
00003ece: PUSH1 0xff
00003ed0: PUSH2 0x38a9
00003ed3: SWAP5
00003ed4: AND
00003ed5: SWAP2
00003ed6: PUSH1 0x08
00003ed8: SHL
00003ed9: AND
00003eda: OR
00003edb: PUSH2 0x3ee3
00003ede: DUP2
00003edf: PUSH2 0x53d1
00003ee2: JUMP
00003ee3: JUMPDEST
00003ee4: PUSH2 0x5679
00003ee7: JUMP
00003ee8: JUMPDEST
00003ee9: PUSH2 0xffff
00003eec: SWAP6
00003eed: SWAP8
00003eee: SWAP9
00003eef: SWAP7
00003ef0: SWAP2
00003ef1: SWAP11
00003ef2: POP
00003ef3: PUSH1 0x01
00003ef5: PUSH1 0x01
00003ef7: PUSH1 0x48
00003ef9: SHL
00003efa: SUB
00003efb: SWAP4
00003efc: SWAP3
00003efd: POP
00003efe: PUSH2 0x3f05
00003f01: PUSH2 0x5211
00003f04: JUMP
00003f05: JUMPDEST
00003f06: PUSH1 0x40
00003f08: MLOAD
00003f09: SWAP2
00003f0a: PUSH1 0x01
00003f0c: PUSH1 0x01
00003f0e: PUSH1 0x40
00003f10: SHL
00003f11: SUB
00003f12: DUP12
00003f13: AND
00003f14: DUP4
00003f15: MSTORE
00003f16: PUSH1 0x20
00003f18: DUP4
00003f19: ADD
00003f1a: MSTORE
00003f1b: PUSH1 0x40
00003f1d: DUP3
00003f1e: ADD
00003f1f: MSTORE
00003f20: PUSH32 0xf33512b84e24a49905c26c6991942fc5a9652411769fc1e448f967cdb049f08a
00003f41: PUSH1 0x60
00003f43: CALLER
00003f44: SWAP3
00003f45: LOG2
00003f46: PUSH1 0x40
00003f48: MLOAD
00003f49: SWAP7
00003f4a: PUSH2 0x3f52
00003f4d: DUP9
00003f4e: PUSH2 0x2b1a
00003f51: JUMP
00003f52: JUMPDEST
00003f53: DUP8
00003f54: MSTORE
00003f55: PUSH1 0x20
00003f57: DUP8
00003f58: ADD
00003f59: MSTORE
00003f5a: AND
00003f5b: PUSH1 0x40
00003f5d: DUP6
00003f5e: ADD
00003f5f: MSTORE
00003f60: PUSH1 0x01
00003f62: PUSH1 0x01
00003f64: PUSH1 0x40
00003f66: SHL
00003f67: SUB
00003f68: TIMESTAMP
00003f69: AND
00003f6a: PUSH1 0x60
00003f6c: DUP6
00003f6d: ADD
00003f6e: MSTORE
00003f6f: AND
00003f70: PUSH1 0x80
00003f72: DUP4
00003f73: ADD
00003f74: MSTORE
00003f75: CALLER
00003f76: PUSH1 0xa0
00003f78: DUP4
00003f79: ADD
00003f7a: MSTORE
00003f7b: PUSH1 0xc0
00003f7d: DUP3
00003f7e: ADD
00003f7f: MSTORE
00003f80: PUSH1 0x01
00003f82: PUSH1 0x01
00003f84: PUSH1 0x40
00003f86: SHL
00003f87: SUB
00003f88: DUP3
00003f89: AND
00003f8a: PUSH1 0x00
00003f8c: MSTORE
00003f8d: PUSH1 0x00
00003f8f: DUP1
00003f90: MLOAD
00003f91: PUSH1 0x20
00003f93: PUSH2 0x5c01
00003f96: DUP4
00003f97: CODECOPY
00003f98: DUP2
00003f99: MLOAD
00003f9a: SWAP2
00003f9b: MSTORE
00003f9c: PUSH1 0x20
00003f9e: MSTORE
00003f9f: PUSH1 0xc0
00003fa1: PUSH1 0x04
00003fa3: PUSH1 0x40
00003fa5: PUSH1 0x00
00003fa7: KECCAK256
00003fa8: DUP4
00003fa9: MLOAD
00003faa: DUP2
00003fab: SSTORE
00003fac: PUSH1 0x20
00003fae: DUP5
00003faf: ADD
00003fb0: MLOAD
00003fb1: PUSH1 0x01
00003fb3: DUP3
00003fb4: ADD
00003fb5: SSTORE
00003fb6: PUSH1 0x02
00003fb8: DUP2
00003fb9: ADD
00003fba: PUSH1 0x01
00003fbc: PUSH1 0x01
00003fbe: PUSH1 0x48
00003fc0: SHL
00003fc1: SUB
00003fc2: PUSH1 0x40
00003fc4: DUP7
00003fc5: ADD
00003fc6: MLOAD
00003fc7: AND
00003fc8: PUSH1 0x01
00003fca: PUSH1 0x01
00003fcc: PUSH1 0x48
00003fce: SHL
00003fcf: SUB
00003fd0: NOT
00003fd1: DUP3
00003fd2: SLOAD
00003fd3: AND
00003fd4: OR
00003fd5: DUP2
00003fd6: SSTORE
00003fd7: PUSH2 0x3fed
00003fda: PUSH1 0x01
00003fdc: PUSH1 0x01
00003fde: PUSH1 0x40
00003fe0: SHL
00003fe1: SUB
00003fe2: PUSH1 0x60
00003fe4: DUP8
00003fe5: ADD
00003fe6: MLOAD
00003fe7: AND
00003fe8: DUP3
00003fe9: PUSH2 0x57a0
00003fec: JUMP
00003fed: JUMPDEST
00003fee: PUSH1 0x80
00003ff0: DUP6
00003ff1: ADD
00003ff2: MLOAD
00003ff3: DUP2
00003ff4: SLOAD
00003ff5: SWAP1
00003ff6: PUSH2 0xffff
00003ff9: PUSH1 0x88
00003ffb: SHL
00003ffc: SWAP1
00003ffd: PUSH1 0x88
00003fff: SHL
00004000: AND
00004001: SWAP1
00004002: PUSH2 0xffff
00004005: PUSH1 0x88
00004007: SHL
00004008: NOT
00004009: AND
0000400a: OR
0000400b: SWAP1
0000400c: SSTORE
0000400d: PUSH1 0x03
0000400f: DUP2
00004010: ADD
00004011: PUSH1 0x01
00004013: DUP1
00004014: PUSH1 0xa0
00004016: SHL
00004017: SUB
00004018: PUSH1 0xa0
0000401a: DUP7
0000401b: ADD
0000401c: MLOAD
0000401d: AND
0000401e: PUSH1 0x01
00004020: PUSH1 0x01
00004022: PUSH1 0x60
00004024: SHL
00004025: SUB
00004026: PUSH1 0xa0
00004028: SHL
00004029: DUP3
0000402a: SLOAD
0000402b: AND
0000402c: OR
0000402d: SWAP1
0000402e: SSTORE
0000402f: ADD
00004030: SWAP2
00004031: ADD
00004032: MLOAD
00004033: SWAP4
00004034: DUP5
00004035: MLOAD
00004036: SWAP1
00004037: PUSH1 0x01
00004039: PUSH1 0x01
0000403b: PUSH1 0x40
0000403d: SHL
0000403e: SUB
0000403f: DUP3
00004040: GT
00004041: PUSH2 0x3b48
00004044: JUMPI
00004045: PUSH2 0x404e
00004048: DUP4
00004049: SLOAD
0000404a: PUSH2 0x3587
0000404d: JUMP
0000404e: JUMPDEST
0000404f: PUSH1 0x1f
00004051: DUP2
00004052: GT
00004053: PUSH2 0x4111
00004056: JUMPI
00004057: JUMPDEST
00004058: POP
00004059: PUSH1 0x20
0000405b: SWAP1
0000405c: PUSH1 0x1f
0000405e: DUP4
0000405f: GT
00004060: PUSH1 0x01
00004062: EQ
00004063: PUSH2 0x40bf
00004066: JUMPI
00004067: SWAP1
00004068: PUSH1 0x01
0000406a: PUSH1 0x01
0000406c: PUSH1 0x40
0000406e: SHL
0000406f: SUB
00004070: SWAP6
00004071: SWAP7
00004072: DUP4
00004073: PUSH2 0x3a96
00004076: JUMPI
00004077: POP
00004078: POP
00004079: DUP2
0000407a: PUSH1 0x01
0000407c: SHL
0000407d: SWAP2
0000407e: PUSH1 0x00
00004080: NOT
00004081: SWAP1
00004082: PUSH1 0x03
00004084: SHL
00004085: SHR
00004086: NOT
00004087: AND
00004088: OR
00004089: SWAP1
0000408a: SSTORE
0000408b: PUSH32 0x69add1952a6a6b9cb86f04d05f0cb605cbb469a50ae916139d34495a9991481f
000040ac: PUSH1 0x20
000040ae: PUSH1 0x40
000040b0: MLOAD
000040b1: DUP5
000040b2: DUP5
000040b3: AND
000040b4: DUP2
000040b5: MSTORE
000040b6: LOG1
000040b7: PUSH2 0x3a92
000040ba: CALLVALUE
000040bb: PUSH2 0x43bb
000040be: JUMP
000040bf: JUMPDEST
000040c0: SWAP6
000040c1: PUSH1 0x1f
000040c3: NOT
000040c4: DUP4
000040c5: AND
000040c6: DUP5
000040c7: DUP9
000040c8: MSTORE
000040c9: PUSH1 0x20
000040cb: DUP9
000040cc: KECCAK256
000040cd: SWAP8
000040ce: JUMPDEST
000040cf: DUP2
000040d0: DUP2
000040d1: LT
000040d2: PUSH2 0x40f9
000040d5: JUMPI
000040d6: POP
000040d7: SWAP2
000040d8: PUSH1 0x01
000040da: PUSH1 0x01
000040dc: PUSH1 0x40
000040de: SHL
000040df: SUB
000040e0: SWAP7
000040e1: SWAP8
000040e2: SWAP2
000040e3: DUP5
000040e4: PUSH1 0x01
000040e6: SWAP6
000040e7: SWAP5
000040e8: LT
000040e9: PUSH2 0x3adc
000040ec: JUMPI
000040ed: POP
000040ee: POP
000040ef: POP
000040f0: DUP2
000040f1: SHL
000040f2: ADD
000040f3: SWAP1
000040f4: SSTORE
000040f5: PUSH2 0x3a5d
000040f8: JUMP
000040f9: JUMPDEST
000040fa: DUP4
000040fb: DUP4
000040fc: ADD
000040fd: MLOAD
000040fe: DUP10
000040ff: SSTORE
00004100: PUSH1 0x01
00004102: SWAP1
00004103: SWAP9
00004104: ADD
00004105: SWAP8
00004106: PUSH1 0x20
00004108: SWAP4
00004109: DUP5
0000410a: ADD
0000410b: SWAP4
0000410c: ADD
0000410d: PUSH2 0x40ce
00004110: JUMP
00004111: JUMPDEST
00004112: PUSH2 0x413b
00004115: SWAP1
00004116: DUP5
00004117: DUP4
00004118: MSTORE
00004119: PUSH1 0x20
0000411b: DUP4
0000411c: KECCAK256
0000411d: PUSH1 0x1f
0000411f: DUP6
00004120: ADD
00004121: PUSH1 0x05
00004123: SHR
00004124: DUP2
00004125: ADD
00004126: SWAP2
00004127: PUSH1 0x20
00004129: DUP7
0000412a: LT
0000412b: PUSH2 0x3b3e
0000412e: JUMPI
0000412f: PUSH1 0x1f
00004131: ADD
00004132: PUSH1 0x05
00004134: SHR
00004135: ADD
00004136: SWAP1
00004137: PUSH2 0x35c1
0000413a: JUMP
0000413b: JUMPDEST
0000413c: CODESIZE
0000413d: PUSH2 0x4057
00004140: JUMP
00004141: JUMPDEST
00004142: SWAP1
00004143: POP
00004144: CODESIZE
00004145: PUSH2 0x3eb7
00004148: JUMP
00004149: JUMPDEST
0000414a: PUSH1 0x44
0000414c: DUP4
0000414d: PUSH2 0x3b6f
00004150: PUSH2 0x5211
00004153: JUMP
00004154: JUMPDEST
00004155: POP
00004156: DUP1
00004157: PUSH2 0x3ead
0000415a: JUMP
0000415b: JUMPDEST
0000415c: DUP3
0000415d: PUSH2 0x3ea5
00004160: JUMP
00004161: JUMPDEST
00004162: PUSH4 0x4e487b71
00004167: PUSH1 0xe0
00004169: SHL
0000416a: DUP4
0000416b: MSTORE
0000416c: PUSH1 0x11
0000416e: PUSH1 0x04
00004170: MSTORE
00004171: PUSH1 0x24
00004173: DUP4
00004174: REVERT
00004175: JUMPDEST
00004176: DUP12
00004177: PUSH2 0x3bb1
0000417a: PUSH1 0x44
0000417c: SWAP3
0000417d: DUP3
0000417e: PUSH2 0x2f7f
00004181: JUMP
00004182: JUMPDEST
00004183: DUP1
00004184: EXTCODESIZE
00004185: ISZERO
00004186: PUSH2 0x07e5
00004189: JUMPI
0000418a: DUP4
0000418b: DUP1
0000418c: SWAP2
0000418d: PUSH1 0x24
0000418f: DUP14
00004190: PUSH1 0x40
00004192: MLOAD
00004193: SWAP5
00004194: DUP6
00004195: SWAP4
00004196: DUP5
00004197: SWAP3
00004198: PUSH4 0x0852cd8d
0000419d: PUSH1 0xe3
0000419f: SHL
000041a0: DUP5
000041a1: MSTORE
000041a2: PUSH1 0x04
000041a4: DUP5
000041a5: ADD
000041a6: MSTORE
000041a7: GAS
000041a8: CALL
000041a9: DUP1
000041aa: ISZERO
000041ab: PUSH2 0x41e1
000041ae: JUMPI
000041af: PUSH2 0x41cc
000041b2: JUMPI
000041b3: JUMPDEST
000041b4: POP
000041b5: PUSH2 0x41bf
000041b8: SWAP1
000041b9: ADDRESS
000041ba: SWAP1
000041bb: PUSH2 0x4a36
000041be: JUMP
000041bf: JUMPDEST
000041c0: DUP1
000041c1: DUP3
000041c2: SUB
000041c3: PUSH2 0x3c14
000041c6: JUMPI
000041c7: DUP1
000041c8: PUSH2 0x3d65
000041cb: JUMP
000041cc: JUMPDEST
000041cd: SWAP3
000041ce: PUSH2 0x41da
000041d1: PUSH2 0x41bf
000041d4: SWAP3
000041d5: SWAP5
000041d6: PUSH2 0x2b07
000041d9: JUMP
000041da: JUMPDEST
000041db: SWAP3
000041dc: SWAP1
000041dd: PUSH2 0x41b3
000041e0: JUMP
000041e1: JUMPDEST
000041e2: PUSH1 0x40
000041e4: MLOAD
000041e5: RETURNDATASIZE
000041e6: DUP7
000041e7: DUP3
000041e8: RETURNDATACOPY
000041e9: RETURNDATASIZE
000041ea: SWAP1
000041eb: REVERT
000041ec: JUMPDEST
000041ed: PUSH4 0x4e487b71
000041f2: PUSH1 0xe0
000041f4: SHL
000041f5: DUP6
000041f6: MSTORE
000041f7: PUSH1 0x21
000041f9: PUSH1 0x04
000041fb: MSTORE
000041fc: PUSH1 0x24
000041fe: DUP6
000041ff: REVERT
00004200: JUMPDEST
00004201: SWAP1
00004202: DUP2
00004203: PUSH1 0x20
00004205: SWAP2
00004206: SUB
00004207: SLT
00004208: PUSH2 0x05b1
0000420b: JUMPI
0000420c: MLOAD
0000420d: DUP1
0000420e: ISZERO
0000420f: ISZERO
00004210: DUP2
00004211: SUB
00004212: PUSH2 0x05b1
00004215: JUMPI
00004216: SWAP1
00004217: JUMP
00004218: JUMPDEST
00004219: PUSH1 0x40
0000421b: MLOAD
0000421c: PUSH2 0x4276
0000421f: SWAP2
00004220: PUSH1 0x01
00004222: PUSH1 0x01
00004224: PUSH1 0xa0
00004226: SHL
00004227: SUB
00004228: AND
00004229: PUSH2 0x4231
0000422c: DUP3
0000422d: PUSH2 0x2b50
00004230: JUMP
00004231: JUMPDEST
00004232: PUSH1 0x00
00004234: DUP1
00004235: PUSH1 0x20
00004237: SWAP6
00004238: DUP7
00004239: DUP6
0000423a: MSTORE
0000423b: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
0000425c: DUP8
0000425d: DUP7
0000425e: ADD
0000425f: MSTORE
00004260: DUP7
00004261: DUP2
00004262: MLOAD
00004263: SWAP2
00004264: ADD
00004265: DUP3
00004266: DUP6
00004267: GAS
00004268: CALL
00004269: PUSH2 0x4270
0000426c: PUSH2 0x42f2
0000426f: JUMP
00004270: JUMPDEST
00004271: SWAP2
00004272: PUSH2 0x4322
00004275: JUMP
00004276: JUMPDEST
00004277: DUP1
00004278: MLOAD
00004279: SWAP1
0000427a: DUP2
0000427b: PUSH2 0x4283
0000427e: JUMPI
0000427f: POP
00004280: POP
00004281: POP
00004282: JUMP
00004283: JUMPDEST
00004284: DUP3
00004285: DUP1
00004286: PUSH2 0x4293
00004289: SWAP4
0000428a: DUP4
0000428b: ADD
0000428c: ADD
0000428d: SWAP2
0000428e: ADD
0000428f: PUSH2 0x4200
00004292: JUMP
00004293: JUMPDEST
00004294: ISZERO
00004295: PUSH2 0x429b
00004298: JUMPI
00004299: POP
0000429a: JUMP
0000429b: JUMPDEST
0000429c: PUSH1 0x84
0000429e: SWAP1
0000429f: PUSH1 0x40
000042a1: MLOAD
000042a2: SWAP1
000042a3: PUSH3 0x461bcd
000042a7: PUSH1 0xe5
000042a9: SHL
000042aa: DUP3
000042ab: MSTORE
000042ac: PUSH1 0x04
000042ae: DUP3
000042af: ADD
000042b0: MSTORE
000042b1: PUSH1 0x2a
000042b3: PUSH1 0x24
000042b5: DUP3
000042b6: ADD
000042b7: MSTORE
000042b8: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e
000042d9: PUSH1 0x44
000042db: DUP3
000042dc: ADD
000042dd: MSTORE
000042de: PUSH10 0x1bdd081cdd58d8d95959
000042e9: PUSH1 0xb2
000042eb: SHL
000042ec: PUSH1 0x64
000042ee: DUP3
000042ef: ADD
000042f0: MSTORE
000042f1: REVERT
000042f2: JUMPDEST
000042f3: RETURNDATASIZE
000042f4: ISZERO
000042f5: PUSH2 0x431d
000042f8: JUMPI
000042f9: RETURNDATASIZE
000042fa: SWAP1
000042fb: PUSH2 0x4303
000042fe: DUP3
000042ff: PUSH2 0x2bc2
00004302: JUMP
00004303: JUMPDEST
00004304: SWAP2
00004305: PUSH2 0x4311
00004308: PUSH1 0x40
0000430a: MLOAD
0000430b: SWAP4
0000430c: DUP5
0000430d: PUSH2 0x2ba1
00004310: JUMP
00004311: JUMPDEST
00004312: DUP3
00004313: MSTORE
00004314: RETURNDATASIZE
00004315: PUSH1 0x00
00004317: PUSH1 0x20
00004319: DUP5
0000431a: ADD
0000431b: RETURNDATACOPY
0000431c: JUMP
0000431d: JUMPDEST
0000431e: PUSH1 0x60
00004320: SWAP1
00004321: JUMP
00004322: JUMPDEST
00004323: SWAP2
00004324: SWAP3
00004325: SWAP1
00004326: ISZERO
00004327: PUSH2 0x4384
0000432a: JUMPI
0000432b: POP
0000432c: DUP2
0000432d: MLOAD
0000432e: ISZERO
0000432f: PUSH2 0x4336
00004332: JUMPI
00004333: POP
00004334: SWAP1
00004335: JUMP
00004336: JUMPDEST
00004337: EXTCODESIZE
00004338: ISZERO
00004339: PUSH2 0x433f
0000433c: JUMPI
0000433d: SWAP1
0000433e: JUMP
0000433f: JUMPDEST
00004340: PUSH1 0x40
00004342: MLOAD
00004343: PUSH3 0x461bcd
00004347: PUSH1 0xe5
00004349: SHL
0000434a: DUP2
0000434b: MSTORE
0000434c: PUSH1 0x20
0000434e: PUSH1 0x04
00004350: DUP3
00004351: ADD
00004352: MSTORE
00004353: PUSH1 0x1d
00004355: PUSH1 0x24
00004357: DUP3
00004358: ADD
00004359: MSTORE
0000435a: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
0000437b: PUSH1 0x44
0000437d: DUP3
0000437e: ADD
0000437f: MSTORE
00004380: PUSH1 0x64
00004382: SWAP1
00004383: REVERT
00004384: JUMPDEST
00004385: DUP3
00004386: MLOAD
00004387: SWAP1
00004388: SWAP2
00004389: POP
0000438a: ISZERO
0000438b: PUSH2 0x4397
0000438e: JUMPI
0000438f: POP
00004390: DUP1
00004391: MLOAD
00004392: SWAP1
00004393: PUSH1 0x20
00004395: ADD
00004396: REVERT
00004397: JUMPDEST
00004398: PUSH1 0x40
0000439a: MLOAD
0000439b: PUSH3 0x461bcd
0000439f: PUSH1 0xe5
000043a1: SHL
000043a2: DUP2
000043a3: MSTORE
000043a4: PUSH1 0x20
000043a6: PUSH1 0x04
000043a8: DUP3
000043a9: ADD
000043aa: MSTORE
000043ab: SWAP1
000043ac: DUP2
000043ad: SWAP1
000043ae: PUSH2 0x0611
000043b1: SWAP1
000043b2: PUSH1 0x24
000043b4: DUP4
000043b5: ADD
000043b6: SWAP1
000043b7: PUSH2 0x2ae2
000043ba: JUMP
000043bb: JUMPDEST
000043bc: PUSH1 0x00
000043be: DUP1
000043bf: DUP1
000043c0: DUP1
000043c1: DUP5
000043c2: CALLER
000043c3: GAS
000043c4: CALL
000043c5: PUSH2 0x43cc
000043c8: PUSH2 0x42f2
000043cb: JUMP
000043cc: JUMPDEST
000043cd: POP
000043ce: ISZERO
000043cf: PUSH2 0x43d5
000043d2: JUMPI
000043d3: POP
000043d4: JUMP
000043d5: JUMPDEST
000043d6: PUSH1 0x24
000043d8: SWAP1
000043d9: PUSH1 0x40
000043db: MLOAD
000043dc: SWAP1
000043dd: PUSH4 0x0b288dc5
000043e2: PUSH1 0xe2
000043e4: SHL
000043e5: DUP3
000043e6: MSTORE
000043e7: PUSH1 0x04
000043e9: DUP3
000043ea: ADD
000043eb: MSTORE
000043ec: REVERT
000043ed: JUMPDEST
000043ee: SWAP1
000043ef: PUSH1 0x20
000043f1: DUP3
000043f2: DUP3
000043f3: SUB
000043f4: SLT
000043f5: PUSH2 0x05b1
000043f8: JUMPI
000043f9: DUP2
000043fa: MLOAD
000043fb: PUSH1 0x01
000043fd: PUSH1 0x01
000043ff: PUSH1 0x40
00004401: SHL
00004402: SUB
00004403: DUP2
00004404: GT
00004405: PUSH2 0x05b1
00004408: JUMPI
00004409: PUSH2 0x2d0c
0000440c: SWAP3
0000440d: ADD
0000440e: PUSH2 0x2cca
00004411: JUMP
00004412: JUMPDEST
00004413: SWAP6
00004414: SWAP5
00004415: SWAP3
00004416: SWAP5
00004417: SWAP4
00004418: SWAP2
00004419: SWAP4
0000441a: PUSH1 0x40
0000441c: MLOAD
0000441d: DUP1
0000441e: DUP2
0000441f: PUSH1 0x00
00004421: DUP1
00004422: MLOAD
00004423: PUSH1 0x20
00004425: PUSH2 0x5b61
00004428: DUP4
00004429: CODECOPY
0000442a: DUP2
0000442b: MLOAD
0000442c: SWAP2
0000442d: MSTORE
0000442e: PUSH1 0x20
00004430: DUP2
00004431: SLOAD
00004432: SWAP4
00004433: DUP5
00004434: DUP2
00004435: MSTORE
00004436: ADD
00004437: SWAP1
00004438: PUSH1 0x00
0000443a: MSTORE
0000443b: PUSH1 0x00
0000443d: DUP1
0000443e: MLOAD
0000443f: PUSH1 0x20
00004441: PUSH2 0x5ac1
00004444: DUP4
00004445: CODECOPY
00004446: DUP2
00004447: MLOAD
00004448: SWAP2
00004449: MSTORE
0000444a: SWAP3
0000444b: PUSH1 0x00
0000444d: JUMPDEST
0000444e: DUP2
0000444f: DUP2
00004450: LT
00004451: PUSH2 0x4871
00004454: JUMPI
00004455: POP
00004456: POP
00004457: PUSH2 0x4462
0000445a: SWAP3
0000445b: POP
0000445c: SUB
0000445d: DUP3
0000445e: PUSH2 0x2ba1
00004461: JUMP
00004462: JUMPDEST
00004463: PUSH32 0x3031d39df71efbb605646fc51d7571499445af538fa6dd17ce8c07e8118ed978
00004484: SLOAD
00004485: SWAP2
00004486: DUP2
00004487: MLOAD
00004488: ISZERO
00004489: PUSH2 0x485f
0000448c: JUMPI
0000448d: PUSH2 0x44b5
00004490: PUSH1 0x00
00004492: SWAP2
00004493: PUSH1 0x40
00004495: MLOAD
00004496: SWAP5
00004497: DUP6
00004498: SWAP3
00004499: DUP4
0000449a: SWAP3
0000449b: PUSH4 0x5b107439
000044a0: PUSH1 0xe1
000044a2: SHL
000044a3: DUP5
000044a4: MSTORE
000044a5: PUSH1 0x40
000044a7: PUSH1 0x04
000044a9: DUP6
000044aa: ADD
000044ab: MSTORE
000044ac: PUSH1 0x44
000044ae: DUP5
000044af: ADD
000044b0: SWAP1
000044b1: PUSH2 0x2ae2
000044b4: JUMP
000044b5: JUMPDEST
000044b6: SWAP1
000044b7: PUSH1 0x24
000044b9: DUP4
000044ba: ADD
000044bb: MSTORE
000044bc: SUB
000044bd: DUP2
000044be: PUSH20 0x370d05c1f7e88312056bf2df462976219ca0fed4
000044d3: GAS
000044d4: DELEGATECALL
000044d5: SWAP2
000044d6: DUP3
000044d7: ISZERO
000044d8: PUSH2 0x05a5
000044db: JUMPI
000044dc: PUSH1 0x00
000044de: SWAP3
000044df: PUSH2 0x4842
000044e2: JUMPI
000044e3: JUMPDEST
000044e4: POP
000044e5: PUSH2 0x44ef
000044e8: DUP2
000044e9: DUP4
000044ea: DUP9
000044eb: PUSH2 0x2e24
000044ee: JUMP
000044ef: JUMPDEST
000044f0: SWAP6
000044f1: DUP7
000044f2: CALLVALUE
000044f3: LT
000044f4: PUSH2 0x4823
000044f7: JUMPI
000044f8: PUSH2 0x4501
000044fb: DUP8
000044fc: CALLVALUE
000044fd: PUSH2 0x2f7f
00004500: JUMP
00004501: JUMPDEST
00004502: DUP1
00004503: PUSH2 0x4814
00004506: JUMPI
00004507: JUMPDEST
00004508: POP
00004509: PUSH1 0x40
0000450b: MLOAD
0000450c: SWAP1
0000450d: PUSH2 0x4515
00004510: DUP3
00004511: PUSH2 0x2b6b
00004514: JUMP
00004515: JUMPDEST
00004516: PUSH1 0x01
00004518: PUSH1 0x01
0000451a: PUSH1 0x48
0000451c: SHL
0000451d: SUB
0000451e: DUP7
0000451f: DUP2
00004520: AND
00004521: DUP4
00004522: MSTORE
00004523: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
00004544: PUSH1 0x01
00004546: PUSH1 0x01
00004548: PUSH1 0xa0
0000454a: SHL
0000454b: SUB
0000454c: AND
0000454d: PUSH1 0x20
0000454f: DUP5
00004550: ADD
00004551: SWAP1
00004552: DUP2
00004553: MSTORE
00004554: PUSH1 0x40
00004556: DUP1
00004557: DUP6
00004558: ADD
00004559: DUP14
0000455a: DUP2
0000455b: MSTORE
0000455c: PUSH2 0xffff
0000455f: DUP14
00004560: DUP2
00004561: AND
00004562: PUSH1 0x60
00004564: DUP9
00004565: ADD
00004566: SWAP1
00004567: DUP2
00004568: MSTORE
00004569: SWAP3
0000456a: MLOAD
0000456b: PUSH4 0x15cfa3cb
00004570: PUSH1 0xe1
00004572: SHL
00004573: DUP2
00004574: MSTORE
00004575: SWAP7
00004576: MLOAD
00004577: SWAP1
00004578: SWAP5
00004579: AND
0000457a: PUSH1 0x04
0000457c: DUP8
0000457d: ADD
0000457e: MSTORE
0000457f: SWAP2
00004580: MLOAD
00004581: PUSH1 0x24
00004583: DUP7
00004584: ADD
00004585: MSTORE
00004586: SWAP1
00004587: MLOAD
00004588: PUSH1 0x44
0000458a: DUP6
0000458b: ADD
0000458c: MSTORE
0000458d: MLOAD
0000458e: AND
0000458f: PUSH1 0x64
00004591: DUP4
00004592: ADD
00004593: MSTORE
00004594: PUSH1 0x00
00004596: DUP3
00004597: PUSH1 0x84
00004599: DUP2
0000459a: PUSH20 0x370d05c1f7e88312056bf2df462976219ca0fed4
000045af: GAS
000045b0: DELEGATECALL
000045b1: SWAP2
000045b2: DUP3
000045b3: ISZERO
000045b4: PUSH2 0x05a5
000045b7: JUMPI
000045b8: PUSH2 0x4614
000045bb: SWAP3
000045bc: PUSH1 0x00
000045be: SWAP3
000045bf: DUP14
000045c0: SWAP3
000045c1: DUP5
000045c2: SWAP3
000045c3: PUSH2 0x47f8
000045c6: JUMPI
000045c7: JUMPDEST
000045c8: POP
000045c9: PUSH1 0x01
000045cb: PUSH1 0x01
000045cd: PUSH1 0x40
000045cf: SHL
000045d0: SUB
000045d1: PUSH1 0x40
000045d3: MLOAD
000045d4: SWAP4
000045d5: PUSH2 0x45dd
000045d8: DUP6
000045d9: PUSH2 0x2b35
000045dc: JUMP
000045dd: JUMPDEST
000045de: AND
000045df: DUP4
000045e0: MSTORE
000045e1: PUSH1 0x01
000045e3: DUP1
000045e4: PUSH1 0xa0
000045e6: SHL
000045e7: SUB
000045e8: AND
000045e9: PUSH1 0x20
000045eb: DUP4
000045ec: ADD
000045ed: MSTORE
000045ee: PUSH1 0x40
000045f0: DUP3
000045f1: ADD
000045f2: MSTORE
000045f3: PUSH1 0x40
000045f5: MLOAD
000045f6: DUP1
000045f7: SWAP4
000045f8: DUP2
000045f9: SWAP3
000045fa: PUSH4 0x11692f37
000045ff: PUSH1 0xe3
00004601: SHL
00004602: DUP4
00004603: MSTORE
00004604: PUSH1 0x20
00004606: PUSH1 0x04
00004608: DUP5
00004609: ADD
0000460a: MSTORE
0000460b: PUSH1 0x24
0000460d: DUP4
0000460e: ADD
0000460f: SWAP1
00004610: PUSH2 0x30d8
00004613: JUMP
00004614: JUMPDEST
00004615: SUB
00004616: DUP2
00004617: PUSH20 0x370d05c1f7e88312056bf2df462976219ca0fed4
0000462c: GAS
0000462d: DELEGATECALL
0000462e: SWAP1
0000462f: DUP2
00004630: ISZERO
00004631: PUSH2 0x05a5
00004634: JUMPI
00004635: PUSH1 0x00
00004637: SWAP2
00004638: PUSH2 0x47d5
0000463b: JUMPI
0000463c: JUMPDEST
0000463d: POP
0000463e: PUSH2 0xffff
00004641: DUP9
00004642: AND
00004643: PUSH1 0x00
00004645: MSTORE
00004646: PUSH1 0x00
00004648: DUP1
00004649: MLOAD
0000464a: PUSH1 0x20
0000464c: PUSH2 0x5a81
0000464f: DUP4
00004650: CODECOPY
00004651: DUP2
00004652: MLOAD
00004653: SWAP2
00004654: MSTORE
00004655: PUSH1 0x20
00004657: MSTORE
00004658: PUSH1 0x40
0000465a: PUSH1 0x00
0000465c: KECCAK256
0000465d: SLOAD
0000465e: SWAP4
0000465f: DUP4
00004660: MLOAD
00004661: SWAP4
00004662: DUP6
00004663: ISZERO
00004664: PUSH2 0x47b9
00004667: JUMPI
00004668: PUSH1 0x00
0000466a: JUMPDEST
0000466b: DUP6
0000466c: DUP2
0000466d: LT
0000466e: PUSH2 0x46dd
00004671: JUMPI
00004672: POP
00004673: POP
00004674: POP
00004675: POP
00004676: POP
00004677: POP
00004678: POP
00004679: SWAP3
0000467a: PUSH32 0xe54e51e42099622516fa3b48e9733581c9dbdcb771cafb093f745a0532a35982
0000469b: SWAP5
0000469c: SWAP3
0000469d: PUSH2 0xffff
000046a0: SWAP3
000046a1: PUSH2 0x46ae
000046a4: PUSH1 0xc0
000046a6: SWAP7
000046a7: PUSH2 0x0441
000046aa: PUSH2 0x49cd
000046ad: JUMP
000046ae: JUMPDEST
000046af: SWAP1
000046b0: PUSH1 0x40
000046b2: MLOAD
000046b3: SWAP6
000046b4: DUP7
000046b5: MSTORE
000046b6: PUSH1 0x20
000046b8: DUP7
000046b9: ADD
000046ba: MSTORE
000046bb: PUSH1 0x40
000046bd: DUP6
000046be: ADD
000046bf: MSTORE
000046c0: PUSH1 0x60
000046c2: DUP5
000046c3: ADD
000046c4: MSTORE
000046c5: AND
000046c6: PUSH1 0x80
000046c8: DUP3
000046c9: ADD
000046ca: MSTORE
000046cb: PUSH1 0x01
000046cd: PUSH1 0x01
000046cf: PUSH1 0x40
000046d1: SHL
000046d2: SUB
000046d3: DUP5
000046d4: AND
000046d5: PUSH1 0xa0
000046d7: DUP3
000046d8: ADD
000046d9: MSTORE
000046da: LOG1
000046db: SWAP1
000046dc: JUMP
000046dd: JUMPDEST
000046de: PUSH1 0x01
000046e0: PUSH1 0x01
000046e2: PUSH1 0xa0
000046e4: SHL
000046e5: SUB
000046e6: PUSH2 0x46ef
000046e9: DUP3
000046ea: DUP5
000046eb: PUSH2 0x2df0
000046ee: JUMP
000046ef: JUMPDEST
000046f0: MLOAD
000046f1: AND
000046f2: SWAP1
000046f3: PUSH2 0x46fc
000046f6: DUP2
000046f7: DUP8
000046f8: PUSH2 0x2df0
000046fb: JUMP
000046fc: JUMPDEST
000046fd: MLOAD
000046fe: DUP3
000046ff: PUSH1 0x00
00004701: MSTORE
00004702: PUSH1 0x00
00004704: DUP1
00004705: MLOAD
00004706: PUSH1 0x20
00004708: PUSH2 0x5be1
0000470b: DUP4
0000470c: CODECOPY
0000470d: DUP2
0000470e: MLOAD
0000470f: SWAP2
00004710: MSTORE
00004711: PUSH1 0x20
00004713: MSTORE
00004714: PUSH2 0x4728
00004717: PUSH1 0xff
00004719: PUSH1 0x40
0000471b: PUSH1 0x00
0000471d: KECCAK256
0000471e: SLOAD
0000471f: PUSH1 0x10
00004721: SHR
00004722: AND
00004723: DUP7
00004724: PUSH2 0x2df0
00004727: JUMP
00004728: JUMPDEST
00004729: MLOAD
0000472a: DUP4
0000472b: EXTCODESIZE
0000472c: ISZERO
0000472d: PUSH2 0x05b1
00004730: JUMPI
00004731: PUSH2 0x476e
00004734: SWAP4
00004735: PUSH2 0xffff
00004738: DUP16
00004739: SWAP4
0000473a: PUSH1 0x00
0000473c: SWAP5
0000473d: DUP16
0000473e: DUP15
0000473f: SWAP1
00004740: PUSH2 0x4780
00004743: DUP14
00004744: PUSH1 0x40
00004746: MLOAD
00004747: SWAP12
00004748: DUP13
00004749: SWAP10
0000474a: DUP11
0000474b: SWAP9
0000474c: DUP10
0000474d: SWAP8
0000474e: PUSH4 0x4b5b0505
00004753: PUSH1 0xe0
00004755: SHL
00004756: DUP10
00004757: MSTORE
00004758: AND
00004759: PUSH1 0x04
0000475b: DUP9
0000475c: ADD
0000475d: MSTORE
0000475e: PUSH1 0xa0
00004760: PUSH1 0x24
00004762: DUP9
00004763: ADD
00004764: MSTORE
00004765: PUSH1 0xa4
00004767: DUP8
00004768: ADD
00004769: SWAP1
0000476a: PUSH2 0x2e04
0000476d: JUMP
0000476e: JUMPDEST
0000476f: DUP6
00004770: DUP2
00004771: SUB
00004772: PUSH1 0x03
00004774: NOT
00004775: ADD
00004776: PUSH1 0x44
00004778: DUP8
00004779: ADD
0000477a: MSTORE
0000477b: SWAP1
0000477c: PUSH2 0x2ae2
0000477f: JUMP
00004780: JUMPDEST
00004781: SWAP2
00004782: PUSH1 0x64
00004784: DUP5
00004785: ADD
00004786: MSTORE
00004787: PUSH1 0x84
00004789: DUP4
0000478a: ADD
0000478b: MSTORE
0000478c: SUB
0000478d: SWAP3
0000478e: GAS
0000478f: CALL
00004790: SWAP2
00004791: DUP3
00004792: ISZERO
00004793: PUSH2 0x05a5
00004796: JUMPI
00004797: PUSH2 0x47a5
0000479a: SWAP3
0000479b: PUSH2 0x47aa
0000479e: JUMPI
0000479f: JUMPDEST
000047a0: POP
000047a1: PUSH2 0x2de1
000047a4: JUMP
000047a5: JUMPDEST
000047a6: PUSH2 0x466a
000047a9: JUMP
000047aa: JUMPDEST
000047ab: PUSH2 0x47b3
000047ae: SWAP1
000047af: PUSH2 0x2b07
000047b2: JUMP
000047b3: JUMPDEST
000047b4: CODESIZE
000047b5: PUSH2 0x479f
000047b8: JUMP
000047b9: JUMPDEST
000047ba: PUSH1 0x40
000047bc: MLOAD
000047bd: PUSH4 0x0ebc95af
000047c2: PUSH1 0xe2
000047c4: SHL
000047c5: DUP2
000047c6: MSTORE
000047c7: PUSH2 0xffff
000047ca: DUP12
000047cb: AND
000047cc: PUSH1 0x04
000047ce: DUP3
000047cf: ADD
000047d0: MSTORE
000047d1: PUSH1 0x24
000047d3: SWAP1
000047d4: REVERT
000047d5: JUMPDEST
000047d6: PUSH2 0x47f2
000047d9: SWAP2
000047da: POP
000047db: RETURNDATASIZE
000047dc: DUP1
000047dd: PUSH1 0x00
000047df: DUP4
000047e0: RETURNDATACOPY
000047e1: PUSH2 0x47ea
000047e4: DUP2
000047e5: DUP4
000047e6: PUSH2 0x2ba1
000047e9: JUMP
000047ea: JUMPDEST
000047eb: DUP2
000047ec: ADD
000047ed: SWAP1
000047ee: PUSH2 0x43ed
000047f1: JUMP
000047f2: JUMPDEST
000047f3: CODESIZE
000047f4: PUSH2 0x463c
000047f7: JUMP
000047f8: JUMPDEST
000047f9: PUSH2 0x480d
000047fc: SWAP2
000047fd: SWAP3
000047fe: POP
000047ff: RETURNDATASIZE
00004800: DUP1
00004801: DUP7
00004802: DUP4
00004803: RETURNDATACOPY
00004804: PUSH2 0x47ea
00004807: DUP2
00004808: DUP4
00004809: PUSH2 0x2ba1
0000480c: JUMP
0000480d: JUMPDEST
0000480e: SWAP1
0000480f: CODESIZE
00004810: PUSH2 0x45c7
00004813: JUMP
00004814: JUMPDEST
00004815: PUSH2 0x481d
00004818: SWAP1
00004819: PUSH2 0x43bb
0000481c: JUMP
0000481d: JUMPDEST
0000481e: CODESIZE
0000481f: PUSH2 0x4507
00004822: JUMP
00004823: JUMPDEST
00004824: PUSH1 0x40
00004826: MLOAD
00004827: PUSH4 0x06a91e37
0000482c: PUSH1 0xe5
0000482e: SHL
0000482f: DUP2
00004830: MSTORE
00004831: PUSH1 0x04
00004833: DUP2
00004834: ADD
00004835: DUP9
00004836: SWAP1
00004837: MSTORE
00004838: CALLVALUE
00004839: PUSH1 0x24
0000483b: DUP3
0000483c: ADD
0000483d: MSTORE
0000483e: PUSH1 0x44
00004840: SWAP1
00004841: REVERT
00004842: JUMPDEST
00004843: PUSH2 0x4858
00004846: SWAP2
00004847: SWAP3
00004848: POP
00004849: RETURNDATASIZE
0000484a: DUP1
0000484b: PUSH1 0x00
0000484d: DUP4
0000484e: RETURNDATACOPY
0000484f: PUSH2 0x15e0
00004852: DUP2
00004853: DUP4
00004854: PUSH2 0x2ba1
00004857: JUMP
00004858: JUMPDEST
00004859: SWAP1
0000485a: CODESIZE
0000485b: PUSH2 0x44e3
0000485e: JUMP
0000485f: JUMPDEST
00004860: PUSH1 0x40
00004862: MLOAD
00004863: PUSH4 0x34e7b195
00004868: PUSH1 0xe1
0000486a: SHL
0000486b: DUP2
0000486c: MSTORE
0000486d: PUSH1 0x04
0000486f: SWAP1
00004870: REVERT
00004871: JUMPDEST
00004872: DUP5
00004873: SLOAD
00004874: PUSH1 0x01
00004876: PUSH1 0x01
00004878: PUSH1 0xa0
0000487a: SHL
0000487b: SUB
0000487c: AND
0000487d: DUP4
0000487e: MSTORE
0000487f: PUSH1 0x01
00004881: SWAP5
00004882: DUP6
00004883: ADD
00004884: SWAP5
00004885: DUP7
00004886: SWAP5
00004887: POP
00004888: PUSH1 0x20
0000488a: SWAP1
0000488b: SWAP4
0000488c: ADD
0000488d: SWAP3
0000488e: ADD
0000488f: PUSH2 0x444d
00004892: JUMP
00004893: JUMPDEST
00004894: SWAP3
00004895: SWAP2
00004896: PUSH2 0x48a1
00004899: SWAP1
0000489a: PUSH2 0x0441
0000489d: PUSH2 0x49cd
000048a0: JUMP
000048a1: JUMPDEST
000048a2: SWAP1
000048a3: PUSH1 0x00
000048a5: SWAP4
000048a6: PUSH32 0x504e6efe18ab9eed10dc6501a417f5b12a2f7f2b1593aed9b89f9bce3cf29a91
000048c7: DUP6
000048c8: DUP1
000048c9: LOG2
000048ca: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
000048eb: SWAP4
000048ec: PUSH1 0x02
000048ee: DUP6
000048ef: LT
000048f0: ISZERO
000048f1: PUSH2 0x1e2f
000048f4: JUMPI
000048f5: DUP5
000048f6: PUSH2 0x4936
000048f9: JUMPI
000048fa: POP
000048fb: PUSH1 0x40
000048fd: MLOAD
000048fe: PUSH4 0xa9059cbb
00004903: PUSH1 0xe0
00004905: SHL
00004906: PUSH1 0x20
00004908: DUP3
00004909: ADD
0000490a: MSTORE
0000490b: PUSH1 0x01
0000490d: PUSH1 0x01
0000490f: PUSH1 0xa0
00004911: SHL
00004912: SUB
00004913: SWAP1
00004914: SWAP2
00004915: AND
00004916: PUSH1 0x24
00004918: DUP3
00004919: ADD
0000491a: MSTORE
0000491b: PUSH1 0x44
0000491d: DUP2
0000491e: ADD
0000491f: SWAP2
00004920: SWAP1
00004921: SWAP2
00004922: MSTORE
00004923: SWAP1
00004924: SWAP2
00004925: POP
00004926: PUSH2 0x32d1
00004929: SWAP1
0000492a: PUSH2 0x04de
0000492d: DUP2
0000492e: PUSH1 0x64
00004930: DUP2
00004931: ADD
00004932: PUSH2 0x04d0
00004935: JUMP
00004936: JUMPDEST
00004937: SWAP2
00004938: SWAP4
00004939: PUSH1 0x01
0000493b: DUP2
0000493c: SUB
0000493d: PUSH2 0x05b6
00004940: JUMPI
00004941: POP
00004942: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
00004963: PUSH1 0x01
00004965: PUSH1 0x01
00004967: PUSH1 0xa0
00004969: SHL
0000496a: SUB
0000496b: AND
0000496c: SWAP1
0000496d: DUP2
0000496e: EXTCODESIZE
0000496f: ISZERO
00004970: PUSH2 0x1619
00004973: JUMPI
00004974: PUSH1 0x40
00004976: MLOAD
00004977: PUSH4 0x40c10f19
0000497c: PUSH1 0xe0
0000497e: SHL
0000497f: DUP2
00004980: MSTORE
00004981: PUSH1 0x01
00004983: PUSH1 0x01
00004985: PUSH1 0xa0
00004987: SHL
00004988: SUB
00004989: SWAP2
0000498a: SWAP1
0000498b: SWAP2
0000498c: AND
0000498d: PUSH1 0x04
0000498f: DUP3
00004990: ADD
00004991: MSTORE
00004992: PUSH1 0x24
00004994: DUP2
00004995: ADD
00004996: SWAP5
00004997: SWAP1
00004998: SWAP5
00004999: MSTORE
0000499a: SWAP2
0000499b: SWAP3
0000499c: SWAP2
0000499d: DUP2
0000499e: SWAP1
0000499f: DUP4
000049a0: SWAP1
000049a1: PUSH1 0x44
000049a3: SWAP1
000049a4: DUP3
000049a5: SWAP1
000049a6: DUP5
000049a7: SWAP1
000049a8: GAS
000049a9: CALL
000049aa: SWAP1
000049ab: DUP2
000049ac: ISZERO
000049ad: PUSH2 0x49c1
000049b0: JUMPI
000049b1: POP
000049b2: PUSH2 0x49b8
000049b5: JUMPI
000049b6: POP
000049b7: JUMP
000049b8: JUMPDEST
000049b9: PUSH2 0x32d1
000049bc: SWAP1
000049bd: PUSH2 0x2b07
000049c0: JUMP
000049c1: JUMPDEST
000049c2: PUSH1 0x40
000049c4: MLOAD
000049c5: SWAP1
000049c6: RETURNDATASIZE
000049c7: SWAP1
000049c8: DUP3
000049c9: RETURNDATACOPY
000049ca: RETURNDATASIZE
000049cb: SWAP1
000049cc: REVERT
000049cd: JUMPDEST
000049ce: PUSH1 0x00
000049d0: DUP1
000049d1: PUSH1 0x40
000049d3: MLOAD
000049d4: PUSH1 0x20
000049d6: DUP2
000049d7: ADD
000049d8: SWAP1
000049d9: PUSH4 0x313ce567
000049de: PUSH1 0xe0
000049e0: SHL
000049e1: DUP3
000049e2: MSTORE
000049e3: PUSH1 0x04
000049e5: DUP2
000049e6: MSTORE
000049e7: PUSH2 0x49ef
000049ea: DUP2
000049eb: PUSH2 0x2b50
000049ee: JUMP
000049ef: JUMPDEST
000049f0: MLOAD
000049f1: SWAP1
000049f2: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
00004a13: GAS
00004a14: STATICCALL
00004a15: POP
00004a16: PUSH2 0x4a1d
00004a19: PUSH2 0x42f2
00004a1c: JUMP
00004a1d: JUMPDEST
00004a1e: PUSH1 0x20
00004a20: DUP2
00004a21: DUP1
00004a22: MLOAD
00004a23: DUP2
00004a24: ADD
00004a25: SUB
00004a26: SLT
00004a27: PUSH2 0x05b1
00004a2a: JUMPI
00004a2b: PUSH1 0x20
00004a2d: PUSH2 0x2d0c
00004a30: SWAP2
00004a31: ADD
00004a32: PUSH2 0x2cbc
00004a35: JUMP
00004a36: JUMPDEST
00004a37: PUSH1 0x40
00004a39: MLOAD
00004a3a: PUSH4 0x70a08231
00004a3f: PUSH1 0xe0
00004a41: SHL
00004a42: PUSH1 0x20
00004a44: DUP3
00004a45: ADD
00004a46: SWAP1
00004a47: DUP2
00004a48: MSTORE
00004a49: PUSH1 0x01
00004a4b: PUSH1 0x01
00004a4d: PUSH1 0xa0
00004a4f: SHL
00004a50: SUB
00004a51: SWAP1
00004a52: SWAP4
00004a53: AND
00004a54: PUSH1 0x24
00004a56: DUP1
00004a57: DUP4
00004a58: ADD
00004a59: SWAP2
00004a5a: SWAP1
00004a5b: SWAP2
00004a5c: MSTORE
00004a5d: DUP2
00004a5e: MSTORE
00004a5f: PUSH1 0x00
00004a61: SWAP3
00004a62: DUP4
00004a63: SWAP3
00004a64: SWAP2
00004a65: PUSH2 0x4a6d
00004a68: DUP2
00004a69: PUSH2 0x2b35
00004a6c: JUMP
00004a6d: JUMPDEST
00004a6e: MLOAD
00004a6f: SWAP2
00004a70: GAS
00004a71: STATICCALL
00004a72: POP
00004a73: PUSH2 0x4a7a
00004a76: PUSH2 0x42f2
00004a79: JUMP
00004a7a: JUMPDEST
00004a7b: PUSH1 0x20
00004a7d: DUP2
00004a7e: DUP1
00004a7f: MLOAD
00004a80: DUP2
00004a81: ADD
00004a82: SUB
00004a83: SLT
00004a84: PUSH2 0x05b1
00004a87: JUMPI
00004a88: PUSH1 0x20
00004a8a: ADD
00004a8b: MLOAD
00004a8c: SWAP1
00004a8d: JUMP
00004a8e: JUMPDEST
00004a8f: PUSH1 0xff
00004a91: AND
00004a92: PUSH1 0xff
00004a94: DUP2
00004a95: EQ
00004a96: PUSH2 0x1746
00004a99: JUMPI
00004a9a: PUSH1 0x01
00004a9c: ADD
00004a9d: SWAP1
00004a9e: JUMP
00004a9f: JUMPDEST
00004aa0: ISZERO
00004aa1: PUSH2 0x4aa6
00004aa4: JUMPI
00004aa5: JUMP
00004aa6: JUMPDEST
00004aa7: PUSH4 0x4e487b71
00004aac: PUSH1 0xe0
00004aae: SHL
00004aaf: PUSH1 0x00
00004ab1: MSTORE
00004ab2: PUSH1 0x01
00004ab4: PUSH1 0x04
00004ab6: MSTORE
00004ab7: PUSH1 0x24
00004ab9: PUSH1 0x00
00004abb: REVERT
00004abc: JUMPDEST
00004abd: PUSH1 0x00
00004abf: DUP1
00004ac0: MLOAD
00004ac1: PUSH1 0x20
00004ac3: PUSH2 0x5ba1
00004ac6: DUP4
00004ac7: CODECOPY
00004ac8: DUP2
00004ac9: MLOAD
00004aca: SWAP2
00004acb: MSTORE
00004acc: SLOAD
00004acd: PUSH1 0xff
00004acf: DUP2
00004ad0: PUSH1 0x08
00004ad2: SHR
00004ad3: AND
00004ad4: PUSH2 0x4aed
00004ad7: PUSH1 0x00
00004ad9: DUP1
00004ada: MLOAD
00004adb: PUSH1 0x20
00004add: PUSH2 0x5b61
00004ae0: DUP4
00004ae1: CODECOPY
00004ae2: DUP2
00004ae3: MLOAD
00004ae4: SWAP2
00004ae5: MSTORE
00004ae6: SLOAD
00004ae7: DUP3
00004ae8: EQ
00004ae9: PUSH2 0x4a9f
00004aec: JUMP
00004aed: JUMPDEST
00004aee: PUSH1 0x00
00004af0: JUMPDEST
00004af1: DUP2
00004af2: DUP2
00004af3: LT
00004af4: PUSH2 0x4b7b
00004af7: JUMPI
00004af8: POP
00004af9: PUSH1 0x00
00004afb: JUMPDEST
00004afc: DUP2
00004afd: DUP2
00004afe: LT
00004aff: PUSH2 0x4b14
00004b02: JUMPI
00004b03: POP
00004b04: POP
00004b05: PUSH1 0x40
00004b07: PUSH1 0xff
00004b09: PUSH2 0x32d1
00004b0c: SWAP3
00004b0d: AND
00004b0e: GT
00004b0f: ISZERO
00004b10: PUSH2 0x4a9f
00004b13: JUMP
00004b14: JUMPDEST
00004b15: PUSH1 0x01
00004b17: DUP2
00004b18: ADD
00004b19: DUP1
00004b1a: DUP3
00004b1b: GT
00004b1c: PUSH2 0x1746
00004b1f: JUMPI
00004b20: JUMPDEST
00004b21: DUP3
00004b22: DUP2
00004b23: LT
00004b24: PUSH2 0x4b36
00004b27: JUMPI
00004b28: POP
00004b29: PUSH2 0x4b31
00004b2c: SWAP1
00004b2d: PUSH2 0x2de1
00004b30: JUMP
00004b31: JUMPDEST
00004b32: PUSH2 0x4afb
00004b35: JUMP
00004b36: JUMPDEST
00004b37: PUSH2 0x4b76
00004b3a: SWAP1
00004b3b: PUSH2 0x4b71
00004b3e: PUSH2 0x4b46
00004b41: DUP5
00004b42: PUSH2 0x302f
00004b45: JUMP
00004b46: JUMPDEST
00004b47: SWAP1
00004b48: SLOAD
00004b49: SWAP1
00004b4a: PUSH2 0x4b52
00004b4d: DUP5
00004b4e: PUSH2 0x302f
00004b51: JUMP
00004b52: JUMPDEST
00004b53: SWAP3
00004b54: SWAP1
00004b55: SWAP2
00004b56: PUSH1 0x01
00004b58: DUP1
00004b59: PUSH1 0xa0
00004b5b: SHL
00004b5c: SUB
00004b5d: DUP1
00004b5e: SWAP4
00004b5f: SLOAD
00004b60: PUSH1 0x03
00004b62: SWAP6
00004b63: DUP7
00004b64: SHL
00004b65: SHR
00004b66: AND
00004b67: SWAP4
00004b68: SHL
00004b69: SHR
00004b6a: AND
00004b6b: EQ
00004b6c: ISZERO
00004b6d: PUSH2 0x4a9f
00004b70: JUMP
00004b71: JUMPDEST
00004b72: PUSH2 0x2de1
00004b75: JUMP
00004b76: JUMPDEST
00004b77: PUSH2 0x4b20
00004b7a: JUMP
00004b7b: JUMPDEST
00004b7c: DUP1
00004b7d: PUSH2 0x4b71
00004b80: PUSH2 0x4b8b
00004b83: PUSH2 0x4ba2
00004b86: SWAP4
00004b87: PUSH2 0x302f
00004b8a: JUMP
00004b8b: JUMPDEST
00004b8c: SWAP1
00004b8d: SLOAD
00004b8e: PUSH1 0x03
00004b90: SWAP2
00004b91: SWAP1
00004b92: SWAP2
00004b93: SHL
00004b94: SHR
00004b95: PUSH1 0x01
00004b97: PUSH1 0x01
00004b99: PUSH1 0xa0
00004b9b: SHL
00004b9c: SUB
00004b9d: AND
00004b9e: PUSH2 0x4ba7
00004ba1: JUMP
00004ba2: JUMPDEST
00004ba3: PUSH2 0x4af0
00004ba6: JUMP
00004ba7: JUMPDEST
00004ba8: PUSH1 0x01
00004baa: PUSH1 0x01
00004bac: PUSH1 0xa0
00004bae: SHL
00004baf: SUB
00004bb0: SWAP1
00004bb1: DUP2
00004bb2: AND
00004bb3: PUSH1 0x00
00004bb5: DUP2
00004bb6: DUP2
00004bb7: MSTORE
00004bb8: PUSH1 0x00
00004bba: DUP1
00004bbb: MLOAD
00004bbc: PUSH1 0x20
00004bbe: PUSH2 0x5be1
00004bc1: DUP4
00004bc2: CODECOPY
00004bc3: DUP2
00004bc4: MLOAD
00004bc5: SWAP2
00004bc6: MSTORE
00004bc7: PUSH1 0x20
00004bc9: MSTORE
00004bca: PUSH1 0x40
00004bcc: SWAP1
00004bcd: DUP2
00004bce: SWAP1
00004bcf: KECCAK256
00004bd0: SWAP1
00004bd1: MLOAD
00004bd2: SWAP3
00004bd3: SWAP2
00004bd4: SWAP1
00004bd5: PUSH2 0x4bdd
00004bd8: DUP5
00004bd9: PUSH2 0x2b35
00004bdc: JUMP
00004bdd: JUMPDEST
00004bde: SLOAD
00004bdf: PUSH1 0xff
00004be1: SWAP2
00004be2: PUSH2 0x4c19
00004be5: DUP4
00004be6: DUP4
00004be7: AND
00004be8: ISZERO
00004be9: DUP1
00004bea: ISZERO
00004beb: SWAP4
00004bec: DUP5
00004bed: DUP9
00004bee: MSTORE
00004bef: PUSH1 0x20
00004bf1: DUP9
00004bf2: ADD
00004bf3: SWAP8
00004bf4: PUSH1 0x40
00004bf6: DUP8
00004bf7: DUP1
00004bf8: DUP5
00004bf9: PUSH1 0x08
00004bfb: SHR
00004bfc: AND
00004bfd: ISZERO
00004bfe: SWAP4
00004bff: DUP5
00004c00: ISZERO
00004c01: DUP13
00004c02: MSTORE
00004c03: PUSH1 0x10
00004c05: SHR
00004c06: AND
00004c07: SWAP2
00004c08: ADD
00004c09: SWAP6
00004c0a: DUP2
00004c0b: DUP8
00004c0c: MSTORE
00004c0d: SWAP3
00004c0e: PUSH2 0x4cd4
00004c11: JUMPI
00004c12: JUMPDEST
00004c13: POP
00004c14: POP
00004c15: PUSH2 0x4a9f
00004c18: JUMP
00004c19: JUMPDEST
00004c1a: PUSH1 0x00
00004c1c: DUP1
00004c1d: MLOAD
00004c1e: PUSH1 0x20
00004c20: PUSH2 0x5b41
00004c23: DUP4
00004c24: CODECOPY
00004c25: DUP2
00004c26: MLOAD
00004c27: SWAP2
00004c28: MSTORE
00004c29: SLOAD
00004c2a: SWAP5
00004c2b: PUSH1 0x01
00004c2d: PUSH1 0x01
00004c2f: PUSH1 0x40
00004c31: SHL
00004c32: SUB
00004c33: PUSH1 0x01
00004c35: SWAP7
00004c36: DUP8
00004c37: DUP7
00004c38: DUP7
00004c39: MLOAD
00004c3a: AND
00004c3b: SHL
00004c3c: AND
00004c3d: AND
00004c3e: ISZERO
00004c3f: ISZERO
00004c40: SWAP1
00004c41: MLOAD
00004c42: ISZERO
00004c43: ISZERO
00004c44: SWAP2
00004c45: PUSH1 0x00
00004c47: SWAP7
00004c48: DUP8
00004c49: SWAP2
00004c4a: PUSH1 0x00
00004c4c: DUP1
00004c4d: MLOAD
00004c4e: PUSH1 0x20
00004c50: PUSH2 0x5ba1
00004c53: DUP4
00004c54: CODECOPY
00004c55: DUP2
00004c56: MLOAD
00004c57: SWAP2
00004c58: MSTORE
00004c59: SLOAD
00004c5a: SWAP8
00004c5b: DUP8
00004c5c: DUP10
00004c5d: PUSH1 0x08
00004c5f: SHR
00004c60: AND
00004c61: SWAP4
00004c62: JUMPDEST
00004c63: DUP5
00004c64: DUP2
00004c65: LT
00004c66: PUSH2 0x4c96
00004c69: JUMPI
00004c6a: JUMPDEST
00004c6b: POP
00004c6c: POP
00004c6d: POP
00004c6e: POP
00004c6f: POP
00004c70: DUP2
00004c71: PUSH2 0x32d1
00004c74: SWAP7
00004c75: PUSH2 0x4c84
00004c78: DUP7
00004c79: SWAP6
00004c7a: SWAP5
00004c7b: PUSH2 0x4c8c
00004c7e: SWAP5
00004c7f: EQ
00004c80: PUSH2 0x4a9f
00004c83: JUMP
00004c84: JUMPDEST
00004c85: ISZERO
00004c86: ISZERO
00004c87: EQ
00004c88: PUSH2 0x4a9f
00004c8b: JUMP
00004c8c: JUMPDEST
00004c8d: MLOAD
00004c8e: AND
00004c8f: SWAP2
00004c90: AND
00004c91: GT
00004c92: PUSH2 0x4a9f
00004c95: JUMP
00004c96: JUMPDEST
00004c97: DUP3
00004c98: DUP3
00004c99: PUSH2 0x4ca1
00004c9c: DUP4
00004c9d: PUSH2 0x302f
00004ca0: JUMP
00004ca1: JUMPDEST
00004ca2: SWAP1
00004ca3: SLOAD
00004ca4: SWAP1
00004ca5: PUSH1 0x03
00004ca7: SHL
00004ca8: SHR
00004ca9: AND
00004caa: EQ
00004cab: PUSH2 0x4cbc
00004cae: JUMPI
00004caf: PUSH2 0x4cb7
00004cb2: SWAP1
00004cb3: PUSH2 0x2de1
00004cb6: JUMP
00004cb7: JUMPDEST
00004cb8: PUSH2 0x4c62
00004cbb: JUMP
00004cbc: JUMPDEST
00004cbd: POP
00004cbe: SWAP2
00004cbf: SWAP9
00004cc0: POP
00004cc1: DUP5
00004cc2: SWAP3
00004cc3: POP
00004cc4: DUP4
00004cc5: SWAP2
00004cc6: POP
00004cc7: PUSH2 0x4c84
00004cca: SWAP1
00004ccb: POP
00004ccc: DUP3
00004ccd: PUSH2 0x32d1
00004cd0: PUSH2 0x4c6a
00004cd3: JUMP
00004cd4: JUMPDEST
00004cd5: SWAP1
00004cd6: SWAP2
00004cd7: POP
00004cd8: DUP2
00004cd9: PUSH2 0x4ce5
00004cdc: JUMPI
00004cdd: JUMPDEST
00004cde: POP
00004cdf: CODESIZE
00004ce0: DUP1
00004ce1: PUSH2 0x4c12
00004ce4: JUMP
00004ce5: JUMPDEST
00004ce6: SWAP1
00004ce7: POP
00004ce8: ISZERO
00004ce9: CODESIZE
00004cea: PUSH2 0x4cdd
00004ced: JUMP
00004cee: JUMPDEST
00004cef: ADDRESS
00004cf0: PUSH32 0x0000000000000000000000004d573bc8ce236be2609333206776c5b6fb8f4a10
00004d11: PUSH1 0x01
00004d13: PUSH1 0x01
00004d15: PUSH1 0xa0
00004d17: SHL
00004d18: SUB
00004d19: AND
00004d1a: EQ
00004d1b: PUSH2 0x4d20
00004d1e: JUMPI
00004d1f: JUMP
00004d20: JUMPDEST
00004d21: PUSH1 0x40
00004d23: MLOAD
00004d24: PUSH4 0x3c64f993
00004d29: PUSH1 0xe2
00004d2b: SHL
00004d2c: DUP2
00004d2d: MSTORE
00004d2e: PUSH1 0x04
00004d30: SWAP1
00004d31: REVERT
00004d32: JUMPDEST
00004d33: PUSH1 0x00
00004d35: DUP1
00004d36: MLOAD
00004d37: PUSH1 0x20
00004d39: PUSH2 0x5c41
00004d3c: DUP4
00004d3d: CODECOPY
00004d3e: DUP2
00004d3f: MLOAD
00004d40: SWAP2
00004d41: MSTORE
00004d42: SLOAD
00004d43: CALLER
00004d44: PUSH1 0x01
00004d46: PUSH1 0x01
00004d48: PUSH1 0xa0
00004d4a: SHL
00004d4b: SUB
00004d4c: SWAP2
00004d4d: DUP3
00004d4e: AND
00004d4f: EQ
00004d50: ISZERO
00004d51: SWAP2
00004d52: SWAP1
00004d53: DUP3
00004d54: PUSH2 0x4d78
00004d57: JUMPI
00004d58: JUMPDEST
00004d59: POP
00004d5a: POP
00004d5b: PUSH2 0x4d60
00004d5e: JUMPI
00004d5f: JUMP
00004d60: JUMPDEST
00004d61: PUSH1 0x40
00004d63: MLOAD
00004d64: PUSH4 0xe2a08e5d
00004d69: PUSH1 0xe0
00004d6b: SHL
00004d6c: DUP2
00004d6d: MSTORE
00004d6e: CALLER
00004d6f: PUSH1 0x04
00004d71: DUP3
00004d72: ADD
00004d73: MSTORE
00004d74: PUSH1 0x24
00004d76: SWAP1
00004d77: REVERT
00004d78: JUMPDEST
00004d79: AND
00004d7a: CALLER
00004d7b: EQ
00004d7c: ISZERO
00004d7d: SWAP1
00004d7e: POP
00004d7f: CODESIZE
00004d80: DUP1
00004d81: PUSH2 0x4d58
00004d84: JUMP
00004d85: JUMPDEST
00004d86: PUSH1 0x40
00004d88: MLOAD
00004d89: SWAP1
00004d8a: PUSH2 0x4d92
00004d8d: DUP3
00004d8e: PUSH2 0x2b35
00004d91: JUMP
00004d92: JUMPDEST
00004d93: DUP2
00004d94: PUSH1 0x40
00004d96: PUSH1 0x01
00004d98: PUSH1 0x01
00004d9a: PUSH1 0x40
00004d9c: SHL
00004d9d: SUB
00004d9e: PUSH1 0x00
00004da0: DUP1
00004da1: MLOAD
00004da2: PUSH1 0x20
00004da4: PUSH2 0x5c61
00004da7: DUP4
00004da8: CODECOPY
00004da9: DUP2
00004daa: MLOAD
00004dab: SWAP2
00004dac: MSTORE
00004dad: SLOAD
00004dae: PUSH1 0x01
00004db0: PUSH1 0x01
00004db2: PUSH1 0x48
00004db4: SHL
00004db5: SUB
00004db6: DUP1
00004db7: DUP3
00004db8: AND
00004db9: DUP6
00004dba: MSTORE
00004dbb: DUP2
00004dbc: PUSH1 0x48
00004dbe: SHR
00004dbf: AND
00004dc0: PUSH1 0x20
00004dc2: DUP6
00004dc3: ADD
00004dc4: MSTORE
00004dc5: PUSH1 0x90
00004dc7: SHR
00004dc8: AND
00004dc9: SWAP2
00004dca: ADD
00004dcb: MSTORE
00004dcc: JUMP
00004dcd: JUMPDEST
00004dce: SWAP1
00004dcf: PUSH1 0x40
00004dd1: MLOAD
00004dd2: PUSH2 0x4dda
00004dd5: DUP2
00004dd6: PUSH2 0x2b35
00004dd9: JUMP
00004dda: JUMPDEST
00004ddb: PUSH1 0x40
00004ddd: PUSH1 0x01
00004ddf: PUSH1 0x01
00004de1: PUSH1 0x40
00004de3: SHL
00004de4: SUB
00004de5: DUP3
00004de6: SWAP5
00004de7: SLOAD
00004de8: PUSH1 0x01
00004dea: PUSH1 0x01
00004dec: PUSH1 0x48
00004dee: SHL
00004def: SUB
00004df0: DUP1
00004df1: DUP3
00004df2: AND
00004df3: DUP6
00004df4: MSTORE
00004df5: DUP2
00004df6: PUSH1 0x48
00004df8: SHR
00004df9: AND
00004dfa: PUSH1 0x20
00004dfc: DUP6
00004dfd: ADD
00004dfe: MSTORE
00004dff: PUSH1 0x90
00004e01: SHR
00004e02: AND
00004e03: SWAP2
00004e04: ADD
00004e05: MSTORE
00004e06: JUMP
00004e07: JUMPDEST
00004e08: SWAP1
00004e09: PUSH1 0x01
00004e0b: PUSH1 0x48
00004e0d: SHL
00004e0e: PUSH1 0x01
00004e10: PUSH1 0x90
00004e12: SHL
00004e13: SUB
00004e14: DUP3
00004e15: SLOAD
00004e16: SWAP2
00004e17: PUSH1 0x48
00004e19: SHL
00004e1a: AND
00004e1b: SWAP1
00004e1c: PUSH1 0x01
00004e1e: PUSH1 0x48
00004e20: SHL
00004e21: PUSH1 0x01
00004e23: PUSH1 0x90
00004e25: SHL
00004e26: SUB
00004e27: NOT
00004e28: AND
00004e29: OR
00004e2a: SWAP1
00004e2b: SSTORE
00004e2c: JUMP
00004e2d: JUMPDEST
00004e2e: PUSH1 0x00
00004e30: DUP1
00004e31: MLOAD
00004e32: PUSH1 0x20
00004e34: PUSH2 0x5c61
00004e37: DUP4
00004e38: CODECOPY
00004e39: DUP2
00004e3a: MLOAD
00004e3b: SWAP2
00004e3c: MSTORE
00004e3d: SWAP1
00004e3e: DUP2
00004e3f: SLOAD
00004e40: PUSH1 0x01
00004e42: PUSH1 0x01
00004e44: PUSH1 0x48
00004e46: SHL
00004e47: SUB
00004e48: SWAP1
00004e49: DUP2
00004e4a: DUP2
00004e4b: AND
00004e4c: PUSH1 0x01
00004e4e: PUSH1 0x01
00004e50: PUSH1 0x40
00004e52: SHL
00004e53: SUB
00004e54: PUSH1 0x08
00004e56: SWAP2
00004e57: DUP2
00004e58: DUP5
00004e59: DUP5
00004e5a: SHR
00004e5b: AND
00004e5c: DUP1
00004e5d: ISZERO
00004e5e: DUP1
00004e5f: PUSH2 0x5020
00004e62: JUMPI
00004e63: JUMPDEST
00004e64: ISZERO
00004e65: PUSH2 0x4ed1
00004e68: JUMPI
00004e69: POP
00004e6a: POP
00004e6b: DUP6
00004e6c: SLOAD
00004e6d: PUSH18 0xffffffffffffffffff000000000000000000
00004e80: NOT
00004e81: AND
00004e82: PUSH1 0x48
00004e84: DUP7
00004e85: SWAP1
00004e86: SHL
00004e87: PUSH1 0x01
00004e89: PUSH1 0x48
00004e8b: SHL
00004e8c: PUSH1 0x01
00004e8e: PUSH1 0x90
00004e90: SHL
00004e91: SUB
00004e92: AND
00004e93: OR
00004e94: DUP7
00004e95: SSTORE
00004e96: POP
00004e97: POP
00004e98: POP
00004e99: JUMPDEST
00004e9a: DUP3
00004e9b: SLOAD
00004e9c: PUSH26 0xffffffffffffffff000000000000000000ffffffffffffffffff
00004eb7: NOT
00004eb8: AND
00004eb9: SWAP2
00004eba: AND
00004ebb: OR
00004ebc: TIMESTAMP
00004ebd: PUSH1 0x90
00004ebf: SHL
00004ec0: PUSH8 0xffffffffffffffff
00004ec9: PUSH1 0x90
00004ecb: SHL
00004ecc: AND
00004ecd: OR
00004ece: SWAP1
00004ecf: SSTORE
00004ed0: JUMP
00004ed1: JUMPDEST
00004ed2: DUP7
00004ed3: PUSH2 0x4edd
00004ed6: PUSH2 0x2a90
00004ed9: PUSH2 0x4d85
00004edc: JUMP
00004edd: JUMPDEST
00004ede: SWAP3
00004edf: PUSH1 0x00
00004ee1: PUSH2 0x4eea
00004ee4: DUP4
00004ee5: DUP4
00004ee6: PUSH2 0x5831
00004ee9: JUMP
00004eea: JUMPDEST
00004eeb: ISZERO
00004eec: PUSH2 0x4fb6
00004eef: JUMPI
00004ef0: POP
00004ef1: PUSH2 0x4f09
00004ef4: SWAP3
00004ef5: SWAP2
00004ef6: PUSH2 0x4efe
00004ef9: SWAP2
00004efa: PUSH2 0x5853
00004efd: JUMP
00004efe: JUMPDEST
00004eff: DUP4
00004f00: DUP9
00004f01: DUP7
00004f02: SHR
00004f03: AND
00004f04: SWAP1
00004f05: PUSH2 0x57c8
00004f08: JUMP
00004f09: JUMPDEST
00004f0a: PUSH2 0x0100
00004f0d: PUSH1 0x01
00004f0f: PUSH1 0x48
00004f11: SHL
00004f12: SUB
00004f13: SWAP3
00004f14: SWAP1
00004f15: DUP5
00004f16: SHL
00004f17: DUP4
00004f18: AND
00004f19: PUSH1 0xff
00004f1b: DUP7
00004f1c: AND
00004f1d: OR
00004f1e: PUSH2 0x4f27
00004f21: DUP2
00004f22: DUP5
00004f23: PUSH2 0x5831
00004f26: JUMP
00004f27: JUMPDEST
00004f28: ISZERO
00004f29: PUSH2 0x4fa8
00004f2c: JUMPI
00004f2d: DUP2
00004f2e: PUSH1 0xff
00004f30: SWAP3
00004f31: DUP3
00004f32: PUSH2 0x4f3e
00004f35: PUSH2 0x4f4b
00004f38: SWAP5
00004f39: DUP8
00004f3a: PUSH2 0x5853
00004f3d: JUMP
00004f3e: JUMPDEST
00004f3f: DUP8
00004f40: SHR
00004f41: AND
00004f42: SWAP1
00004f43: DUP5
00004f44: DUP8
00004f45: SHR
00004f46: AND
00004f47: PUSH2 0x57c8
00004f4a: JUMP
00004f4b: JUMPDEST
00004f4c: SWAP2
00004f4d: AND
00004f4e: SWAP3
00004f4f: SHL
00004f50: AND
00004f51: OR
00004f52: JUMPDEST
00004f53: PUSH2 0x4f5c
00004f56: DUP5
00004f57: DUP3
00004f58: PUSH2 0x5831
00004f5b: JUMP
00004f5c: JUMPDEST
00004f5d: PUSH2 0x4f86
00004f60: JUMPI
00004f61: PUSH1 0x01
00004f63: PUSH1 0x48
00004f65: SHL
00004f66: PUSH1 0x01
00004f68: PUSH1 0x90
00004f6a: SHL
00004f6b: SUB
00004f6c: SWAP1
00004f6d: PUSH1 0x48
00004f6f: SHL
00004f70: AND
00004f71: SWAP1
00004f72: PUSH1 0x01
00004f74: PUSH1 0x48
00004f76: SHL
00004f77: PUSH1 0x01
00004f79: PUSH1 0x90
00004f7b: SHL
00004f7c: SUB
00004f7d: NOT
00004f7e: AND
00004f7f: OR
00004f80: DUP4
00004f81: SSTORE
00004f82: PUSH2 0x4e99
00004f85: JUMP
00004f86: JUMPDEST
00004f87: PUSH1 0x40
00004f89: MLOAD
00004f8a: PUSH4 0x1e74e8fb
00004f8f: PUSH1 0xe3
00004f91: SHL
00004f92: DUP2
00004f93: MSTORE
00004f94: SWAP1
00004f95: DUP4
00004f96: AND
00004f97: PUSH1 0x04
00004f99: DUP3
00004f9a: ADD
00004f9b: MSTORE
00004f9c: DUP4
00004f9d: DUP4
00004f9e: AND
00004f9f: PUSH1 0x24
00004fa1: DUP3
00004fa2: ADD
00004fa3: MSTORE
00004fa4: PUSH1 0x44
00004fa6: SWAP1
00004fa7: REVERT
00004fa8: JUMPDEST
00004fa9: POP
00004faa: POP
00004fab: SWAP1
00004fac: POP
00004fad: PUSH1 0xff
00004faf: SWAP2
00004fb0: POP
00004fb1: AND
00004fb2: PUSH2 0x4f52
00004fb5: JUMP
00004fb6: JUMPDEST
00004fb7: SWAP5
00004fb8: SWAP4
00004fb9: SWAP6
00004fba: SWAP3
00004fbb: SWAP1
00004fbc: PUSH2 0x4fc8
00004fbf: SWAP1
00004fc0: PUSH2 0x4fd2
00004fc3: SWAP4
00004fc4: PUSH2 0x5853
00004fc7: JUMP
00004fc8: JUMPDEST
00004fc9: DUP4
00004fca: DUP10
00004fcb: DUP5
00004fcc: SHR
00004fcd: AND
00004fce: PUSH2 0x57c8
00004fd1: JUMP
00004fd2: JUMPDEST
00004fd3: SWAP3
00004fd4: PUSH1 0xff
00004fd6: DUP9
00004fd7: AND
00004fd8: SWAP5
00004fd9: DUP4
00004fda: DUP1
00004fdb: DUP8
00004fdc: PUSH2 0x0100
00004fdf: PUSH1 0x01
00004fe1: PUSH1 0x48
00004fe3: SHL
00004fe4: SUB
00004fe5: DUP1
00004fe6: SWAP9
00004fe7: DUP8
00004fe8: SHL
00004fe9: AND
00004fea: OR
00004feb: PUSH2 0x4ff4
00004fee: DUP2
00004fef: DUP6
00004ff0: PUSH2 0x5853
00004ff3: JUMP
00004ff4: JUMPDEST
00004ff5: DUP6
00004ff6: SHR
00004ff7: AND
00004ff8: SWAP2
00004ff9: DUP5
00004ffa: SHR
00004ffb: AND
00004ffc: ADD
00004ffd: SWAP3
00004ffe: DUP4
00004fff: GT
00005000: PUSH2 0x500c
00005003: JUMPI
00005004: POP
00005005: SHL
00005006: AND
00005007: OR
00005008: PUSH2 0x4f52
0000500b: JUMP
0000500c: JUMPDEST
0000500d: PUSH4 0x4e487b71
00005012: PUSH1 0xe0
00005014: SHL
00005015: DUP2
00005016: MSTORE
00005017: PUSH1 0x11
00005019: PUSH1 0x04
0000501b: MSTORE
0000501c: PUSH1 0x24
0000501e: SWAP1
0000501f: REVERT
00005020: JUMPDEST
00005021: POP
00005022: PUSH1 0xff
00005024: DUP6
00005025: AND
00005026: ISZERO
00005027: PUSH2 0x4e63
0000502a: JUMP
0000502b: JUMPDEST
0000502c: SWAP2
0000502d: SWAP1
0000502e: DUP1
0000502f: SLOAD
00005030: PUSH1 0x01
00005032: PUSH1 0x01
00005034: PUSH1 0x48
00005036: SHL
00005037: SUB
00005038: DUP1
00005039: DUP3
0000503a: AND
0000503b: SWAP2
0000503c: PUSH1 0x01
0000503e: PUSH1 0x01
00005040: PUSH1 0x40
00005042: SHL
00005043: SUB
00005044: SWAP3
00005045: PUSH1 0x08
00005047: SWAP1
00005048: DUP5
00005049: DUP4
0000504a: DUP4
0000504b: SHR
0000504c: AND
0000504d: DUP1
0000504e: ISZERO
0000504f: DUP1
00005050: PUSH2 0x51e7
00005053: JUMPI
00005054: JUMPDEST
00005055: ISZERO
00005056: PUSH2 0x50ba
00005059: JUMPI
0000505a: POP
0000505b: POP
0000505c: POP
0000505d: POP
0000505e: DUP5
0000505f: PUSH2 0x506c
00005062: PUSH2 0x32d1
00005065: SWAP6
00005066: SWAP7
00005067: DUP6
00005068: PUSH2 0x4e07
0000506b: JUMP
0000506c: JUMPDEST
0000506d: DUP4
0000506e: SLOAD
0000506f: PUSH8 0xffffffffffffffff
00005078: PUSH1 0x90
0000507a: SHL
0000507b: NOT
0000507c: SWAP2
0000507d: SWAP1
0000507e: SWAP3
0000507f: AND
00005080: AND
00005081: PUSH26 0xffffffffffffffff000000000000000000ffffffffffffffffff
0000509c: NOT
0000509d: SWAP1
0000509e: SWAP2
0000509f: AND
000050a0: OR
000050a1: TIMESTAMP
000050a2: SWAP2
000050a3: SWAP1
000050a4: SWAP2
000050a5: AND
000050a6: PUSH1 0x90
000050a8: SHL
000050a9: PUSH8 0xffffffffffffffff
000050b2: PUSH1 0x90
000050b4: SHL
000050b5: AND
000050b6: OR
000050b7: SWAP1
000050b8: SSTORE
000050b9: JUMP
000050ba: JUMPDEST
000050bb: DUP6
000050bc: SWAP1
000050bd: DUP10
000050be: PUSH2 0x50c9
000050c1: PUSH2 0x2a90
000050c4: DUP11
000050c5: PUSH2 0x4dcd
000050c8: JUMP
000050c9: JUMPDEST
000050ca: SWAP4
000050cb: PUSH1 0x00
000050cd: PUSH2 0x50d6
000050d0: DUP4
000050d1: DUP4
000050d2: PUSH2 0x5831
000050d5: JUMP
000050d6: JUMPDEST
000050d7: ISZERO
000050d8: PUSH2 0x5191
000050db: JUMPI
000050dc: POP
000050dd: SWAP2
000050de: PUSH2 0x50ee
000050e1: PUSH2 0x50f9
000050e4: SWAP3
000050e5: PUSH1 0xff
000050e7: SWAP8
000050e8: SWAP9
000050e9: SWAP5
000050ea: PUSH2 0x5853
000050ed: JUMP
000050ee: JUMPDEST
000050ef: DUP4
000050f0: DUP13
000050f1: DUP9
000050f2: SHR
000050f3: AND
000050f4: SWAP1
000050f5: PUSH2 0x57c8
000050f8: JUMP
000050f9: JUMPDEST
000050fa: PUSH2 0x0100
000050fd: PUSH1 0x01
000050ff: PUSH1 0x48
00005101: SHL
00005102: SUB
00005103: SWAP5
00005104: SWAP1
00005105: DUP7
00005106: SHL
00005107: DUP6
00005108: AND
00005109: SWAP2
0000510a: AND
0000510b: OR
0000510c: PUSH2 0x5115
0000510f: DUP2
00005110: DUP5
00005111: PUSH2 0x5831
00005114: JUMP
00005115: JUMPDEST
00005116: ISZERO
00005117: PUSH2 0x5183
0000511a: JUMPI
0000511b: PUSH1 0xff
0000511d: SWAP2
0000511e: DUP2
0000511f: PUSH2 0x512b
00005122: PUSH2 0x5138
00005125: SWAP4
00005126: DUP7
00005127: PUSH2 0x5853
0000512a: JUMP
0000512b: JUMPDEST
0000512c: DUP7
0000512d: SHR
0000512e: AND
0000512f: DUP8
00005130: DUP5
00005131: DUP8
00005132: SHR
00005133: AND
00005134: PUSH2 0x57c8
00005137: JUMP
00005138: JUMPDEST
00005139: SWAP2
0000513a: AND
0000513b: SWAP3
0000513c: SHL
0000513d: AND
0000513e: OR
0000513f: JUMPDEST
00005140: PUSH2 0x5149
00005143: DUP7
00005144: DUP3
00005145: PUSH2 0x5831
00005148: JUMP
00005149: JUMPDEST
0000514a: PUSH2 0x5161
0000514d: JUMPI
0000514e: SWAP5
0000514f: PUSH2 0x515c
00005152: PUSH2 0x32d1
00005155: SWAP6
00005156: SWAP7
00005157: DUP6
00005158: PUSH2 0x4e07
0000515b: JUMP
0000515c: JUMPDEST
0000515d: PUSH2 0x506c
00005160: JUMP
00005161: JUMPDEST
00005162: PUSH1 0x40
00005164: MLOAD
00005165: PUSH4 0x1e74e8fb
0000516a: PUSH1 0xe3
0000516c: SHL
0000516d: DUP2
0000516e: MSTORE
0000516f: SWAP1
00005170: DUP3
00005171: AND
00005172: PUSH1 0x04
00005174: DUP3
00005175: ADD
00005176: MSTORE
00005177: SWAP1
00005178: DUP6
00005179: AND
0000517a: PUSH1 0x24
0000517c: DUP3
0000517d: ADD
0000517e: MSTORE
0000517f: PUSH1 0x44
00005181: SWAP1
00005182: REVERT
00005183: JUMPDEST
00005184: POP
00005185: POP
00005186: SWAP1
00005187: POP
00005188: PUSH1 0xff
0000518a: SWAP2
0000518b: POP
0000518c: AND
0000518d: PUSH2 0x513f
00005190: JUMP
00005191: JUMPDEST
00005192: SWAP5
00005193: SWAP7
00005194: POP
00005195: PUSH2 0x51ac
00005198: SWAP4
00005199: POP
0000519a: PUSH2 0x51a2
0000519d: SWAP2
0000519e: PUSH2 0x5853
000051a1: JUMP
000051a2: JUMPDEST
000051a3: DUP7
000051a4: DUP11
000051a5: DUP6
000051a6: SHR
000051a7: AND
000051a8: PUSH2 0x57c8
000051ab: JUMP
000051ac: JUMPDEST
000051ad: SWAP2
000051ae: PUSH1 0xff
000051b0: DUP10
000051b1: AND
000051b2: SWAP4
000051b3: DUP7
000051b4: DUP1
000051b5: DUP7
000051b6: PUSH2 0x0100
000051b9: PUSH1 0x01
000051bb: PUSH1 0x48
000051bd: SHL
000051be: SUB
000051bf: DUP1
000051c0: SWAP8
000051c1: DUP7
000051c2: SHL
000051c3: AND
000051c4: OR
000051c5: PUSH2 0x51ce
000051c8: DUP2
000051c9: DUP6
000051ca: PUSH2 0x5853
000051cd: JUMP
000051ce: JUMPDEST
000051cf: DUP5
000051d0: SHR
000051d1: AND
000051d2: SWAP2
000051d3: DUP4
000051d4: SHR
000051d5: AND
000051d6: ADD
000051d7: SWAP2
000051d8: DUP7
000051d9: DUP4
000051da: GT
000051db: PUSH2 0x500c
000051de: JUMPI
000051df: POP
000051e0: SHL
000051e1: AND
000051e2: OR
000051e3: PUSH2 0x513f
000051e6: JUMP
000051e7: JUMPDEST
000051e8: POP
000051e9: PUSH1 0xff
000051eb: DUP5
000051ec: AND
000051ed: ISZERO
000051ee: PUSH2 0x5054
000051f1: JUMP
000051f2: JUMPDEST
000051f3: PUSH1 0x40
000051f5: MLOAD
000051f6: SWAP1
000051f7: PUSH2 0x51ff
000051fa: DUP3
000051fb: PUSH2 0x2b35
000051fe: JUMP
000051ff: JUMPDEST
00005200: PUSH1 0x00
00005202: PUSH1 0x40
00005204: DUP4
00005205: DUP3
00005206: DUP2
00005207: MSTORE
00005208: DUP3
00005209: PUSH1 0x20
0000520b: DUP3
0000520c: ADD
0000520d: MSTORE
0000520e: ADD
0000520f: MSTORE
00005210: JUMP
00005211: JUMPDEST
00005212: PUSH2 0x5219
00005215: PUSH2 0x51f2
00005218: JUMP
00005219: JUMPDEST
0000521a: POP
0000521b: PUSH2 0x2d0c
0000521e: PUSH2 0x2a95
00005221: PUSH2 0x2a90
00005224: PUSH2 0x4d85
00005227: JUMP
00005228: JUMPDEST
00005229: PUSH2 0x5230
0000522c: PUSH2 0x51f2
0000522f: JUMP
00005230: JUMPDEST
00005231: POP
00005232: PUSH1 0x00
00005234: MSTORE
00005235: PUSH32 0x4e8909a01183a67951f5a6147d6e76ed02ea890c72afea01a9edee91edc609b8
00005256: PUSH1 0x20
00005258: MSTORE
00005259: PUSH1 0x40
0000525b: PUSH1 0x00
0000525d: KECCAK256
0000525e: PUSH1 0x40
00005260: MLOAD
00005261: SWAP1
00005262: PUSH2 0x526a
00005265: DUP3
00005266: PUSH2 0x2b35
00005269: JUMP
0000526a: JUMPDEST
0000526b: DUP1
0000526c: SLOAD
0000526d: PUSH1 0x01
0000526f: PUSH1 0x01
00005271: PUSH1 0x48
00005273: SHL
00005274: SUB
00005275: DUP2
00005276: AND
00005277: DUP4
00005278: MSTORE
00005279: PUSH1 0x48
0000527b: SHR
0000527c: PUSH1 0x01
0000527e: PUSH1 0x01
00005280: PUSH1 0x40
00005282: SHL
00005283: SUB
00005284: AND
00005285: PUSH1 0x20
00005287: DUP4
00005288: ADD
00005289: MSTORE
0000528a: PUSH1 0x01
0000528c: ADD
0000528d: SLOAD
0000528e: PUSH1 0x01
00005290: PUSH1 0x01
00005292: PUSH1 0xa0
00005294: SHL
00005295: SUB
00005296: AND
00005297: PUSH1 0x40
00005299: DUP3
0000529a: ADD
0000529b: MSTORE
0000529c: SWAP1
0000529d: JUMP
0000529e: JUMPDEST
0000529f: DUP2
000052a0: ISZERO
000052a1: PUSH2 0x52a8
000052a4: JUMPI
000052a5: DIV
000052a6: SWAP1
000052a7: JUMP
000052a8: JUMPDEST
000052a9: PUSH4 0x4e487b71
000052ae: PUSH1 0xe0
000052b0: SHL
000052b1: PUSH1 0x00
000052b3: MSTORE
000052b4: PUSH1 0x12
000052b6: PUSH1 0x04
000052b8: MSTORE
000052b9: PUSH1 0x24
000052bb: PUSH1 0x00
000052bd: REVERT
000052be: JUMPDEST
000052bf: PUSH1 0x01
000052c1: PUSH1 0x01
000052c3: PUSH1 0x40
000052c5: SHL
000052c6: SUB
000052c7: SWAP1
000052c8: DUP2
000052c9: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
000052ea: AND
000052eb: SWAP2
000052ec: DUP3
000052ed: ISZERO
000052ee: PUSH2 0x5352
000052f1: JUMPI
000052f2: PUSH2 0x533f
000052f5: DUP3
000052f6: DUP3
000052f7: PUSH1 0xff
000052f9: SWAP4
000052fa: PUSH1 0x40
000052fc: PUSH2 0x0100
000052ff: PUSH1 0x01
00005301: PUSH1 0x48
00005303: SHL
00005304: SUB
00005305: SWAP7
00005306: ADD
00005307: MLOAD
00005308: AND
00005309: TIMESTAMP
0000530a: SUB
0000530b: DUP2
0000530c: PUSH2 0x5323
0000530f: PUSH1 0x20
00005311: DUP6
00005312: ADD
00005313: SWAP9
00005314: DUP10
00005315: MLOAD
00005316: SWAP4
00005317: DUP4
00005318: DUP8
00005319: MLOAD
0000531a: PUSH1 0x08
0000531c: SHR
0000531d: AND
0000531e: MUL
0000531f: PUSH2 0x529e
00005322: JUMP
00005323: JUMPDEST
00005324: SWAP2
00005325: PUSH1 0x08
00005327: SHR
00005328: AND
00005329: ADD
0000532a: SWAP2
0000532b: MLOAD
0000532c: PUSH1 0x08
0000532e: SHR
0000532f: AND
00005330: DUP1
00005331: DUP3
00005332: LT
00005333: PUSH1 0x00
00005335: EQ
00005336: PUSH2 0x534b
00005339: JUMPI
0000533a: POP
0000533b: PUSH2 0x5369
0000533e: JUMP
0000533f: JUMPDEST
00005340: SWAP3
00005341: MLOAD
00005342: AND
00005343: SWAP2
00005344: PUSH1 0x08
00005346: SHL
00005347: AND
00005348: OR
00005349: SWAP1
0000534a: JUMP
0000534b: JUMPDEST
0000534c: SWAP1
0000534d: POP
0000534e: PUSH2 0x5369
00005351: JUMP
00005352: JUMPDEST
00005353: POP
00005354: PUSH1 0x20
00005356: ADD
00005357: MLOAD
00005358: PUSH1 0xff
0000535a: AND
0000535b: PUSH2 0x0100
0000535e: PUSH1 0x01
00005360: PUSH1 0x48
00005362: SHL
00005363: SUB
00005364: OR
00005365: SWAP2
00005366: SWAP1
00005367: POP
00005368: JUMP
00005369: JUMPDEST
0000536a: PUSH1 0x01
0000536c: PUSH1 0x01
0000536e: PUSH1 0x40
00005370: SHL
00005371: SUB
00005372: SWAP1
00005373: DUP2
00005374: DUP2
00005375: GT
00005376: PUSH2 0x537d
00005379: JUMPI
0000537a: AND
0000537b: SWAP1
0000537c: JUMP
0000537d: JUMPDEST
0000537e: PUSH1 0x40
00005380: MLOAD
00005381: PUSH3 0x461bcd
00005385: PUSH1 0xe5
00005387: SHL
00005388: DUP2
00005389: MSTORE
0000538a: PUSH1 0x20
0000538c: PUSH1 0x04
0000538e: DUP3
0000538f: ADD
00005390: MSTORE
00005391: PUSH1 0x26
00005393: PUSH1 0x24
00005395: DUP3
00005396: ADD
00005397: MSTORE
00005398: PUSH32 0x53616665436173743a2076616c756520646f65736e27742066697420696e2036
000053b9: PUSH1 0x44
000053bb: DUP3
000053bc: ADD
000053bd: MSTORE
000053be: PUSH6 0x342062697473
000053c5: PUSH1 0xd0
000053c7: SHL
000053c8: PUSH1 0x64
000053ca: DUP3
000053cb: ADD
000053cc: MSTORE
000053cd: PUSH1 0x84
000053cf: SWAP1
000053d0: REVERT
000053d1: JUMPDEST
000053d2: PUSH1 0x01
000053d4: PUSH1 0x01
000053d6: PUSH1 0x40
000053d8: SHL
000053d9: SUB
000053da: SWAP1
000053db: DUP2
000053dc: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
000053fd: AND
000053fe: ISZERO
000053ff: PUSH2 0x548d
00005402: JUMPI
00005403: PUSH2 0x540a
00005406: PUSH2 0x51f2
00005409: JUMP
0000540a: JUMPDEST
0000540b: POP
0000540c: PUSH1 0x01
0000540e: PUSH1 0x48
00005410: SHL
00005411: PUSH1 0x01
00005413: PUSH1 0x90
00005415: SHL
00005416: SUB
00005417: PUSH2 0x5421
0000541a: PUSH2 0x2a90
0000541d: PUSH2 0x4d85
00005420: JUMP
00005421: JUMPDEST
00005422: PUSH2 0x0100
00005425: PUSH1 0x01
00005427: PUSH1 0x48
00005429: SHL
0000542a: SUB
0000542b: PUSH1 0xff
0000542d: PUSH2 0x545c
00005430: PUSH1 0x00
00005432: DUP1
00005433: MLOAD
00005434: PUSH1 0x20
00005436: PUSH2 0x5c61
00005439: DUP4
0000543a: CODECOPY
0000543b: DUP2
0000543c: MLOAD
0000543d: SWAP2
0000543e: MSTORE
0000543f: SWAP7
00005440: DUP1
00005441: DUP9
00005442: SLOAD
00005443: SWAP8
00005444: PUSH2 0x544d
00005447: DUP2
00005448: DUP9
00005449: PUSH2 0x5853
0000544c: JUMP
0000544d: JUMPDEST
0000544e: PUSH1 0x08
00005450: SHR
00005451: AND
00005452: SWAP1
00005453: DUP6
00005454: PUSH1 0x08
00005456: SHR
00005457: AND
00005458: PUSH2 0x57c8
0000545b: JUMP
0000545c: JUMPDEST
0000545d: SWAP3
0000545e: AND
0000545f: SWAP2
00005460: PUSH1 0x08
00005462: SHL
00005463: AND
00005464: OR
00005465: PUSH1 0x48
00005467: SHL
00005468: AND
00005469: SWAP1
0000546a: PUSH1 0x01
0000546c: PUSH1 0x01
0000546e: PUSH1 0x40
00005470: SHL
00005471: SUB
00005472: PUSH1 0x90
00005474: SHL
00005475: TIMESTAMP
00005476: PUSH1 0x90
00005478: SHL
00005479: AND
0000547a: SWAP1
0000547b: PUSH1 0x01
0000547d: PUSH1 0x48
0000547f: SHL
00005480: PUSH1 0x01
00005482: PUSH1 0xd0
00005484: SHL
00005485: SUB
00005486: NOT
00005487: AND
00005488: OR
00005489: OR
0000548a: SWAP1
0000548b: SSTORE
0000548c: JUMP
0000548d: JUMPDEST
0000548e: POP
0000548f: POP
00005490: JUMP
00005491: JUMPDEST
00005492: PUSH1 0x01
00005494: PUSH1 0x01
00005496: PUSH1 0x40
00005498: SHL
00005499: SUB
0000549a: SWAP1
0000549b: DUP2
0000549c: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
000054bd: AND
000054be: ISZERO
000054bf: PUSH2 0x548d
000054c2: JUMPI
000054c3: PUSH2 0x54ca
000054c6: PUSH2 0x51f2
000054c9: JUMP
000054ca: JUMPDEST
000054cb: POP
000054cc: PUSH2 0x54d6
000054cf: PUSH2 0x2a90
000054d2: PUSH2 0x4d85
000054d5: JUMP
000054d6: JUMPDEST
000054d7: SWAP1
000054d8: PUSH1 0x01
000054da: PUSH1 0x48
000054dc: SHL
000054dd: PUSH1 0x01
000054df: PUSH1 0x90
000054e1: SHL
000054e2: SUB
000054e3: PUSH1 0x00
000054e5: DUP1
000054e6: MLOAD
000054e7: PUSH1 0x20
000054e9: PUSH2 0x5c61
000054ec: DUP4
000054ed: CODECOPY
000054ee: DUP2
000054ef: MLOAD
000054f0: SWAP2
000054f1: MSTORE
000054f2: SWAP4
000054f3: DUP5
000054f4: SLOAD
000054f5: SWAP4
000054f6: DUP2
000054f7: PUSH1 0x01
000054f9: PUSH1 0x01
000054fb: PUSH1 0x40
000054fd: SHL
000054fe: SUB
000054ff: PUSH1 0x90
00005501: SHL
00005502: TIMESTAMP
00005503: PUSH1 0x90
00005505: SHL
00005506: AND
00005507: SWAP5
00005508: PUSH2 0x5511
0000550b: DUP2
0000550c: DUP5
0000550d: PUSH2 0x5853
00005510: JUMP
00005511: JUMPDEST
00005512: PUSH1 0x08
00005514: SHR
00005515: AND
00005516: DUP3
00005517: DUP3
00005518: PUSH1 0x08
0000551a: SHR
0000551b: AND
0000551c: ADD
0000551d: DUP3
0000551e: DUP2
0000551f: GT
00005520: PUSH1 0x00
00005522: EQ
00005523: PUSH2 0x559d
00005526: JUMPI
00005527: POP
00005528: PUSH2 0x0100
0000552b: PUSH1 0x01
0000552d: PUSH1 0x48
0000552f: SHL
00005530: SUB
00005531: PUSH1 0xff
00005533: PUSH2 0x553b
00005536: DUP5
00005537: PUSH2 0x5369
0000553a: JUMP
0000553b: JUMPDEST
0000553c: SWAP3
0000553d: AND
0000553e: SWAP2
0000553f: PUSH1 0x08
00005541: SHL
00005542: AND
00005543: OR
00005544: SWAP1
00005545: PUSH1 0x01
00005547: PUSH1 0x01
00005549: PUSH1 0x48
0000554b: SHL
0000554c: SUB
0000554d: DUP6
0000554e: AND
0000554f: SWAP1
00005550: PUSH2 0x5559
00005553: DUP3
00005554: DUP5
00005555: PUSH2 0x5853
00005558: JUMP
00005559: JUMPDEST
0000555a: DUP1
0000555b: DUP6
0000555c: PUSH1 0x01
0000555e: PUSH1 0x01
00005560: PUSH1 0x40
00005562: SHL
00005563: SUB
00005564: PUSH1 0x90
00005566: SHL
00005567: NOT
00005568: DUP9
00005569: AND
0000556a: OR
0000556b: PUSH1 0x08
0000556d: SHR
0000556e: AND
0000556f: SWAP1
00005570: DUP4
00005571: PUSH1 0x08
00005573: SHR
00005574: AND
00005575: LT
00005576: PUSH1 0x00
00005578: EQ
00005579: PUSH2 0x5596
0000557c: JUMPI
0000557d: POP
0000557e: JUMPDEST
0000557f: PUSH1 0x48
00005581: SHL
00005582: AND
00005583: SWAP2
00005584: PUSH1 0x01
00005586: PUSH1 0x48
00005588: SHL
00005589: PUSH1 0x01
0000558b: PUSH1 0xd0
0000558d: SHL
0000558e: SUB
0000558f: NOT
00005590: AND
00005591: OR
00005592: OR
00005593: SWAP1
00005594: SSTORE
00005595: JUMP
00005596: JUMPDEST
00005597: SWAP1
00005598: POP
00005599: PUSH2 0x557e
0000559c: JUMP
0000559d: JUMPDEST
0000559e: PUSH1 0xff
000055a0: PUSH2 0x553b
000055a3: PUSH2 0x0100
000055a6: PUSH1 0x01
000055a8: PUSH1 0x48
000055aa: SHL
000055ab: SUB
000055ac: SWAP3
000055ad: PUSH2 0x5369
000055b0: JUMP
000055b1: JUMPDEST
000055b2: PUSH1 0x01
000055b4: PUSH1 0x01
000055b6: PUSH1 0x40
000055b8: SHL
000055b9: SUB
000055ba: DUP1
000055bb: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
000055dc: AND
000055dd: ISZERO
000055de: PUSH2 0x3444
000055e1: JUMPI
000055e2: PUSH2 0x0100
000055e5: PUSH1 0x01
000055e7: PUSH1 0x48
000055e9: SHL
000055ea: SUB
000055eb: PUSH1 0xff
000055ed: PUSH2 0x566b
000055f0: PUSH2 0xffff
000055f3: PUSH2 0x32d1
000055f6: SWAP7
000055f7: PUSH2 0x55fe
000055fa: PUSH2 0x51f2
000055fd: JUMP
000055fe: JUMPDEST
000055ff: POP
00005600: AND
00005601: SWAP4
00005602: DUP5
00005603: PUSH1 0x00
00005605: MSTORE
00005606: PUSH1 0x00
00005608: DUP1
00005609: MLOAD
0000560a: PUSH1 0x20
0000560c: PUSH2 0x5bc1
0000560f: DUP4
00005610: CODECOPY
00005611: DUP2
00005612: MLOAD
00005613: SWAP2
00005614: MSTORE
00005615: DUP1
00005616: PUSH1 0x20
00005618: MSTORE
00005619: PUSH2 0x5628
0000561c: PUSH2 0x2a90
0000561f: PUSH1 0x40
00005621: PUSH1 0x00
00005623: KECCAK256
00005624: PUSH2 0x4dcd
00005627: JUMP
00005628: JUMPDEST
00005629: PUSH1 0x00
0000562b: SWAP7
0000562c: DUP8
0000562d: MSTORE
0000562e: PUSH1 0x20
00005630: SWAP2
00005631: SWAP1
00005632: SWAP2
00005633: MSTORE
00005634: PUSH1 0x40
00005636: SWAP1
00005637: SWAP6
00005638: KECCAK256
00005639: DUP1
0000563a: SLOAD
0000563b: PUSH8 0xffffffffffffffff
00005644: PUSH1 0x90
00005646: SHL
00005647: NOT
00005648: AND
00005649: TIMESTAMP
0000564a: DUP4
0000564b: AND
0000564c: PUSH1 0x90
0000564e: SHL
0000564f: PUSH8 0xffffffffffffffff
00005658: PUSH1 0x90
0000565a: SHL
0000565b: AND
0000565c: OR
0000565d: DUP2
0000565e: SSTORE
0000565f: SWAP6
00005660: DUP2
00005661: SWAP1
00005662: PUSH2 0x544d
00005665: DUP2
00005666: DUP9
00005667: PUSH2 0x5853
0000566a: JUMP
0000566b: JUMPDEST
0000566c: SWAP3
0000566d: AND
0000566e: SWAP2
0000566f: PUSH1 0x08
00005671: SHL
00005672: AND
00005673: OR
00005674: SWAP1
00005675: PUSH2 0x4e07
00005678: JUMP
00005679: JUMPDEST
0000567a: PUSH1 0x01
0000567c: PUSH1 0x01
0000567e: PUSH1 0x40
00005680: SHL
00005681: SUB
00005682: DUP1
00005683: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
000056a4: AND
000056a5: ISZERO
000056a6: PUSH2 0x3444
000056a9: JUMPI
000056aa: PUSH2 0xffff
000056ad: PUSH2 0x32d1
000056b0: SWAP4
000056b1: PUSH2 0x56b8
000056b4: PUSH2 0x51f2
000056b7: JUMP
000056b8: JUMPDEST
000056b9: POP
000056ba: AND
000056bb: PUSH1 0x00
000056bd: SWAP1
000056be: DUP1
000056bf: DUP3
000056c0: MSTORE
000056c1: PUSH1 0x00
000056c3: DUP1
000056c4: MLOAD
000056c5: PUSH1 0x20
000056c7: PUSH2 0x5bc1
000056ca: DUP4
000056cb: CODECOPY
000056cc: DUP2
000056cd: MLOAD
000056ce: SWAP2
000056cf: MSTORE
000056d0: DUP1
000056d1: PUSH1 0x20
000056d3: MSTORE
000056d4: PUSH2 0x56e2
000056d7: PUSH2 0x2a90
000056da: PUSH1 0x40
000056dc: DUP6
000056dd: KECCAK256
000056de: PUSH2 0x4dcd
000056e1: JUMP
000056e2: JUMPDEST
000056e3: SWAP2
000056e4: DUP4
000056e5: MSTORE
000056e6: PUSH1 0x20
000056e8: MSTORE
000056e9: PUSH1 0x40
000056eb: DUP3
000056ec: KECCAK256
000056ed: DUP1
000056ee: SLOAD
000056ef: PUSH8 0xffffffffffffffff
000056f8: PUSH1 0x90
000056fa: SHL
000056fb: NOT
000056fc: AND
000056fd: TIMESTAMP
000056fe: DUP6
000056ff: AND
00005700: PUSH1 0x90
00005702: SHL
00005703: PUSH8 0xffffffffffffffff
0000570c: PUSH1 0x90
0000570e: SHL
0000570f: AND
00005710: OR
00005711: DUP2
00005712: SSTORE
00005713: SWAP4
00005714: DUP4
00005715: SWAP1
00005716: PUSH2 0x571f
00005719: DUP2
0000571a: DUP5
0000571b: PUSH2 0x5853
0000571e: JUMP
0000571f: JUMPDEST
00005720: PUSH1 0x08
00005722: SHR
00005723: AND
00005724: DUP4
00005725: DUP3
00005726: PUSH1 0x08
00005728: SHR
00005729: AND
0000572a: ADD
0000572b: DUP4
0000572c: DUP2
0000572d: GT
0000572e: PUSH1 0x00
00005730: EQ
00005731: PUSH2 0x578c
00005734: JUMPI
00005735: POP
00005736: PUSH2 0x0100
00005739: PUSH1 0x01
0000573b: PUSH1 0x48
0000573d: SHL
0000573e: SUB
0000573f: PUSH1 0xff
00005741: PUSH2 0x5749
00005744: DUP6
00005745: PUSH2 0x5369
00005748: JUMP
00005749: JUMPDEST
0000574a: SWAP3
0000574b: AND
0000574c: SWAP2
0000574d: PUSH1 0x08
0000574f: SHL
00005750: AND
00005751: OR
00005752: SWAP2
00005753: DUP1
00005754: DUP5
00005755: SLOAD
00005756: PUSH1 0x01
00005758: PUSH1 0x01
0000575a: PUSH1 0x48
0000575c: SHL
0000575d: SUB
0000575e: DUP2
0000575f: AND
00005760: SWAP4
00005761: PUSH2 0x576a
00005764: DUP6
00005765: DUP8
00005766: PUSH2 0x5853
00005769: JUMP
0000576a: JUMPDEST
0000576b: POP
0000576c: PUSH1 0x08
0000576e: SHR
0000576f: AND
00005770: SWAP1
00005771: DUP4
00005772: PUSH1 0x08
00005774: SHR
00005775: AND
00005776: LT
00005777: PUSH1 0x00
00005779: EQ
0000577a: PUSH2 0x5784
0000577d: JUMPI
0000577e: POP
0000577f: SWAP1
00005780: PUSH2 0x4e07
00005783: JUMP
00005784: JUMPDEST
00005785: SWAP1
00005786: POP
00005787: SWAP1
00005788: PUSH2 0x4e07
0000578b: JUMP
0000578c: JUMPDEST
0000578d: PUSH1 0xff
0000578f: PUSH2 0x5749
00005792: PUSH2 0x0100
00005795: PUSH1 0x01
00005797: PUSH1 0x48
00005799: SHL
0000579a: SUB
0000579b: SWAP3
0000579c: PUSH2 0x5369
0000579f: JUMP
000057a0: JUMPDEST
000057a1: SWAP1
000057a2: PUSH8 0xffffffffffffffff
000057ab: PUSH1 0x48
000057ad: SHL
000057ae: DUP3
000057af: SLOAD
000057b0: SWAP2
000057b1: PUSH1 0x48
000057b3: SHL
000057b4: AND
000057b5: SWAP1
000057b6: PUSH8 0xffffffffffffffff
000057bf: PUSH1 0x48
000057c1: SHL
000057c2: NOT
000057c3: AND
000057c4: OR
000057c5: SWAP1
000057c6: SSTORE
000057c7: JUMP
000057c8: JUMPDEST
000057c9: PUSH1 0x01
000057cb: PUSH1 0x01
000057cd: PUSH1 0x40
000057cf: SHL
000057d0: SUB
000057d1: SWAP2
000057d2: DUP3
000057d3: AND
000057d4: SWAP1
000057d5: DUP3
000057d6: AND
000057d7: SUB
000057d8: SWAP2
000057d9: SWAP1
000057da: DUP3
000057db: GT
000057dc: PUSH2 0x1746
000057df: JUMPI
000057e0: JUMP
000057e1: JUMPDEST
000057e2: PUSH1 0x00
000057e4: SWAP2
000057e5: DUP3
000057e6: SWAP2
000057e7: JUMPDEST
000057e8: PUSH1 0x01
000057ea: PUSH1 0x01
000057ec: PUSH1 0x40
000057ee: SHL
000057ef: SUB
000057f0: SWAP1
000057f1: DUP2
000057f2: DUP2
000057f3: AND
000057f4: DUP1
000057f5: ISZERO
000057f6: PUSH2 0x5829
000057f9: JUMPI
000057fa: PUSH1 0x00
000057fc: NOT
000057fd: ADD
000057fe: SWAP2
000057ff: DUP3
00005800: GT
00005801: PUSH2 0x5815
00005804: JUMPI
00005805: AND
00005806: SWAP2
00005807: PUSH2 0x580f
0000580a: SWAP1
0000580b: PUSH2 0x4a8e
0000580e: JUMP
0000580f: JUMPDEST
00005810: SWAP2
00005811: PUSH2 0x57e7
00005814: JUMP
00005815: JUMPDEST
00005816: PUSH4 0x4e487b71
0000581b: PUSH1 0xe0
0000581d: SHL
0000581e: DUP6
0000581f: MSTORE
00005820: PUSH1 0x11
00005822: PUSH1 0x04
00005824: MSTORE
00005825: PUSH1 0x24
00005827: DUP6
00005828: REVERT
00005829: JUMPDEST
0000582a: POP
0000582b: POP
0000582c: POP
0000582d: SWAP2
0000582e: POP
0000582f: SWAP1
00005830: JUMP
00005831: JUMPDEST
00005832: SWAP1
00005833: PUSH2 0x583c
00005836: DUP2
00005837: DUP4
00005838: PUSH2 0x5853
0000583b: JUMP
0000583c: JUMPDEST
0000583d: PUSH1 0x01
0000583f: PUSH1 0x01
00005841: PUSH1 0x40
00005843: SHL
00005844: SUB
00005845: DUP1
00005846: SWAP2
00005847: PUSH1 0x08
00005849: SHR
0000584a: AND
0000584b: SWAP2
0000584c: PUSH1 0x08
0000584e: SHR
0000584f: AND
00005850: GT
00005851: SWAP1
00005852: JUMP
00005853: JUMPDEST
00005854: PUSH1 0xff
00005856: SWAP2
00005857: DUP3
00005858: AND
00005859: SWAP2
0000585a: AND
0000585b: DUP2
0000585c: DUP2
0000585d: SUB
0000585e: PUSH2 0x5865
00005861: JUMPI
00005862: POP
00005863: POP
00005864: JUMP
00005865: JUMPDEST
00005866: PUSH1 0x40
00005868: MLOAD
00005869: PUSH4 0x5ce6db61
0000586e: PUSH1 0xe1
00005870: SHL
00005871: DUP2
00005872: MSTORE
00005873: PUSH1 0xff
00005875: SWAP2
00005876: DUP3
00005877: AND
00005878: PUSH1 0x04
0000587a: DUP3
0000587b: ADD
0000587c: MSTORE
0000587d: SWAP2
0000587e: AND
0000587f: PUSH1 0x24
00005881: DUP3
00005882: ADD
00005883: MSTORE
00005884: PUSH1 0x44
00005886: SWAP1
00005887: REVERT
00005888: JUMPDEST
00005889: PUSH1 0xff
0000588b: DUP2
0000588c: AND
0000588d: PUSH1 0x08
0000588f: LT
00005890: ISZERO
00005891: PUSH2 0x2d0c
00005894: JUMPI
00005895: POP
00005896: PUSH1 0x08
00005898: SWAP1
00005899: JUMP
0000589a: JUMPDEST
0000589b: SWAP1
0000589c: PUSH1 0xff
0000589e: DUP1
0000589f: SWAP2
000058a0: AND
000058a1: SWAP2
000058a2: AND
000058a3: SUB
000058a4: SWAP1
000058a5: PUSH1 0xff
000058a7: DUP3
000058a8: GT
000058a9: PUSH2 0x1746
000058ac: JUMPI
000058ad: JUMP
000058ae: JUMPDEST
000058af: PUSH1 0xff
000058b1: AND
000058b2: PUSH1 0x4d
000058b4: DUP2
000058b5: GT
000058b6: PUSH2 0x1746
000058b9: JUMPI
000058ba: PUSH1 0x0a
000058bc: EXP
000058bd: SWAP1
000058be: JUMP
000058bf: JUMPDEST
000058c0: SWAP2
000058c1: SWAP1
000058c2: PUSH1 0xff
000058c4: DUP3
000058c5: AND
000058c6: PUSH1 0xff
000058c8: DUP3
000058c9: AND
000058ca: DUP2
000058cb: DUP2
000058cc: EQ
000058cd: PUSH2 0x5913
000058d0: JUMPI
000058d1: GT
000058d2: ISZERO
000058d3: PUSH2 0x58f2
000058d6: JUMPI
000058d7: PUSH2 0x58e7
000058da: PUSH2 0x2d0c
000058dd: SWAP4
000058de: SWAP3
000058df: PUSH2 0x58ec
000058e2: SWAP3
000058e3: PUSH2 0x589a
000058e6: JUMP
000058e7: JUMPDEST
000058e8: PUSH2 0x58ae
000058eb: JUMP
000058ec: JUMPDEST
000058ed: SWAP1
000058ee: PUSH2 0x529e
000058f1: JUMP
000058f2: JUMPDEST
000058f3: PUSH2 0x58e7
000058f6: SWAP1
000058f7: PUSH2 0x58ff
000058fa: SWAP3
000058fb: PUSH2 0x589a
000058fe: JUMP
000058ff: JUMPDEST
00005900: SWAP1
00005901: DUP2
00005902: DUP2
00005903: MUL
00005904: SWAP2
00005905: DUP2
00005906: DUP4
00005907: DIV
00005908: EQ
00005909: SWAP1
0000590a: ISZERO
0000590b: OR
0000590c: ISZERO
0000590d: PUSH2 0x1746
00005910: JUMPI
00005911: SWAP1
00005912: JUMP
00005913: JUMPDEST
00005914: POP
00005915: POP
00005916: POP
00005917: POP
00005918: SWAP1
00005919: JUMP
0000591a: JUMPDEST
0000591b: PUSH2 0x594d
0000591e: PUSH2 0x378e
00005921: PUSH1 0xff
00005923: SWAP3
00005924: PUSH2 0x0100
00005927: PUSH1 0x01
00005929: PUSH1 0x48
0000592b: SHL
0000592c: SUB
0000592d: SWAP5
0000592e: SWAP6
0000592f: PUSH2 0x5937
00005932: DUP8
00005933: PUSH2 0x5888
00005936: JUMP
00005937: JUMPDEST
00005938: SWAP1
00005939: DUP6
0000593a: DUP2
0000593b: AND
0000593c: DUP7
0000593d: DUP4
0000593e: AND
0000593f: LT
00005940: ISZERO
00005941: PUSH2 0x5958
00005944: JUMPI
00005945: POP
00005946: SWAP6
00005947: DUP7
00005948: SWAP2
00005949: PUSH2 0x58bf
0000594c: JUMP
0000594d: JUMPDEST
0000594e: SWAP3
0000594f: AND
00005950: SWAP2
00005951: PUSH1 0x08
00005953: SHL
00005954: AND
00005955: OR
00005956: SWAP1
00005957: JUMP
00005958: JUMPDEST
00005959: SWAP1
0000595a: POP
0000595b: SWAP6
0000595c: DUP7
0000595d: SWAP2
0000595e: PUSH2 0x58bf
00005961: JUMP
00005962: JUMPDEST
00005963: PUSH1 0xff
00005965: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00
00005986: SLOAD
00005987: PUSH1 0x40
00005989: SHR
0000598a: AND
0000598b: ISZERO
0000598c: PUSH2 0x5991
0000598f: JUMPI
00005990: JUMP
00005991: JUMPDEST
00005992: PUSH1 0x40
00005994: MLOAD
00005995: PUSH4 0x1afcd79f
0000599a: PUSH1 0xe3
0000599c: SHL
0000599d: DUP2
0000599e: MSTORE
0000599f: PUSH1 0x04
000059a1: SWAP1
000059a2: REVERT
000059a3: JUMPDEST
000059a4: PUSH1 0x01
000059a6: PUSH1 0x01
000059a8: PUSH1 0xa0
000059aa: SHL
000059ab: SUB
000059ac: SWAP1
000059ad: DUP2
000059ae: AND
000059af: SWAP1
000059b0: DUP2
000059b1: ISZERO
000059b2: PUSH2 0x59fe
000059b5: JUMPI
000059b6: PUSH1 0x00
000059b8: DUP1
000059b9: MLOAD
000059ba: PUSH1 0x20
000059bc: PUSH2 0x5b01
000059bf: DUP4
000059c0: CODECOPY
000059c1: DUP2
000059c2: MLOAD
000059c3: SWAP2
000059c4: MSTORE
000059c5: DUP1
000059c6: SLOAD
000059c7: PUSH1 0x01
000059c9: PUSH1 0x01
000059cb: PUSH1 0xa0
000059cd: SHL
000059ce: SUB
000059cf: NOT
000059d0: DUP2
000059d1: AND
000059d2: DUP5
000059d3: OR
000059d4: SWAP1
000059d5: SWAP2
000059d6: SSTORE
000059d7: AND
000059d8: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
000059f9: PUSH1 0x00
000059fb: DUP1
000059fc: LOG3
000059fd: JUMP
000059fe: JUMPDEST
000059ff: PUSH1 0x40
00005a01: MLOAD
00005a02: PUSH4 0x1e4fbdf7
00005a07: PUSH1 0xe0
00005a09: SHL
00005a0a: DUP2
00005a0b: MSTORE
00005a0c: PUSH1 0x00
00005a0e: PUSH1 0x04
00005a10: DUP3
00005a11: ADD
00005a12: MSTORE
00005a13: PUSH1 0x24
00005a15: SWAP1
00005a16: REVERT
00005a17: JUMPDEST
00005a18: PUSH1 0x00
00005a1a: DUP1
00005a1b: MLOAD
00005a1c: PUSH1 0x20
00005a1e: PUSH2 0x5b01
00005a21: DUP4
00005a22: CODECOPY
00005a23: DUP2
00005a24: MLOAD
00005a25: SWAP2
00005a26: MSTORE
00005a27: SLOAD
00005a28: PUSH1 0x01
00005a2a: PUSH1 0x01
00005a2c: PUSH1 0xa0
00005a2e: SHL
00005a2f: SUB
00005a30: AND
00005a31: CALLER
00005a32: SUB
00005a33: PUSH2 0x5a38
00005a36: JUMPI
00005a37: JUMP
00005a38: JUMPDEST
00005a39: PUSH1 0x40
00005a3b: MLOAD
00005a3c: PUSH4 0x118cdaa7
00005a41: PUSH1 0xe0
00005a43: SHL
00005a44: DUP2
00005a45: MSTORE
00005a46: CALLER
00005a47: PUSH1 0x04
00005a49: DUP3
00005a4a: ADD
00005a4b: MSTORE
00005a4c: PUSH1 0x24
00005a4e: SWAP1
00005a4f: REVERT
00005a50: JUMPDEST
00005a51: PUSH1 0x00
00005a53: DUP1
00005a54: MLOAD
00005a55: PUSH1 0x20
00005a57: PUSH2 0x5c21
00005a5a: DUP4
00005a5b: CODECOPY
00005a5c: DUP2
00005a5d: MLOAD
00005a5e: SWAP2
00005a5f: MSTORE
00005a60: PUSH1 0x02
00005a62: DUP2
00005a63: SLOAD
00005a64: EQ
00005a65: PUSH2 0x5a6e
00005a68: JUMPI
00005a69: PUSH1 0x02
00005a6b: SWAP1
00005a6c: SSTORE
00005a6d: JUMP
00005a6e: JUMPDEST
00005a6f: PUSH1 0x40
00005a71: MLOAD
00005a72: PUSH4 0x3ee5aeb5
00005a77: PUSH1 0xe0
00005a79: SHL
00005a7a: DUP2
00005a7b: MSTORE
00005a7c: PUSH1 0x04
00005a7e: SWAP1
00005a7f: REVERT
00005a80: INVALID
00005a81: UNKNOWN(0xEB)
00005a82: UNKNOWN(0xCC)
00005a83: SWAP16
00005a84: PUSH5 0x6b0f459ff8
00005a8a: RETURN
00005a8b: DUP8
00005a8c: PC
00005a8d: PUSH30 0x536b0af3484cf442e1577400f322334e7d1ef047028352a8b3feae1a85fb
00005aac: LOG4
00005aad: EXTCODESIZE
00005aae: UNKNOWN(0xC1)
00005aaf: EXTCODEHASH
00005ab0: SWAP10
00005ab1: SDIV
00005ab2: PUSH9 0xbb1637dce33d3dbfd7
00005abc: SWAP2
00005abd: LOG0
00005abe: DUP1
00005abf: DUP12
00005ac0: PUSH32 0x6c3cb3f3ae91330f31ba2bc0ff8855fc834fb66dc27e8e0b1a398617dabaa5a6
00005ae1: PUSH9 0xdfeeddfa5e4e9adcee
00005aeb: UNKNOWN(0xC0)
00005aec: BYTE
00005aed: GASPRICE
00005aee: UNKNOWN(0xBA)
00005aef: UNKNOWN(0x27)
00005af0: UNKNOWN(0x4B)
00005af1: UNKNOWN(0xDC)
00005af2: UNKNOWN(0xBA)
00005af3: UNKNOWN(0xB3)
00005af4: UNKNOWN(0xF6)
00005af5: UNKNOWN(0xAC)
00005af6: SWAP10
00005af7: JUMP
00005af8: COINBASE
00005af9: PUSH27 0x4332f2b08abdda9016d09d72d40fdae2fd8ceac6b6234c7706214f
00005b15: UNKNOWN(0xD3)
00005b16: SWAP13
00005b17: SHR
00005b18: UNKNOWN(0xD1)
00005b19: UNKNOWN(0xE6)
00005b1a: MULMOD
00005b1b: LOG0
00005b1c: MSTORE
00005b1d: DUP13
00005b1e: NOT
00005b1f: SWAP4
00005b20: STOP
00005b21: PUSH5 0xbacf405c5d
00005b27: PUSH32 0x563d3ba5252584a52c37e4fee380fd825b10666c27b8258022fd6568c039679b
00005b48: EXTCODESIZE
00005b49: PUSH29 0xc93c26c41d9379b7b1bec1677120493b467688302cb11f00758a264b9b
00005b67: UNKNOWN(0xDB)
00005b68: UNKNOWN(0xE3)
00005b69: UNKNOWN(0x29)
00005b6a: PUSH0
00005b6b: UNKNOWN(0xE3)
00005b6c: PUSH12 0xd6ff7abaa122f48bf70e90af
00005b79: DIV
00005b7a: LOG1
00005b7b: UNKNOWN(0xB8)
00005b7c: LOG3
00005b7d: UNKNOWN(0x2D)
00005b7e: UNKNOWN(0x21)
00005b7f: UNKNOWN(0xE4)
00005b80: UNKNOWN(0xE1)
00005b81: UNKNOWN(0xAD)
00005b82: PUSH25 0x307a8b51804c575f26039dcb87c58925afb3b7c08732f3b21b
00005b9c: SWAP5
00005b9d: UNKNOWN(0x2A)
00005b9e: UNKNOWN(0xED)
00005b9f: PUSH27 0x768561949d1c6242cee5c5a5aeb6b9c190ee611d7742fcec65d9e5
00005bbb: UNKNOWN(0xB1)
00005bbc: CALLVALUE
00005bbd: CLZ
00005bbe: LOG0
00005bbf: UNKNOWN(0x4D)
00005bc0: DUP10
00005bc1: UNKNOWN(0xEF)
00005bc2: UNKNOWN(0xB2)
00005bc3: SAR
00005bc4: UNKNOWN(0xCA)
00005bc5: UNKNOWN(0xED)
00005bc6: UNKNOWN(0xEA)
00005bc7: PUSH4 0xb55c4488
00005bcc: UNKNOWN(0x2F)
00005bcd: ORIGIN
00005bce: SWAP7
00005bcf: UNKNOWN(0x22)
00005bd0: UNKNOWN(0xE1)
00005bd1: GASPRICE
00005bd2: DUP14
00005bd3: UNKNOWN(0x0F)
00005bd4: JUMPDEST
00005bd5: SWAP5
00005bd6: PUSH28 0x3a372826208a9003da1549bca747e973430e858f2f5de357b8dba36e
00005bf3: UNKNOWN(0xA6)
00005bf4: UNKNOWN(0xD3)
00005bf5: PUSH22 0xb81bdb5d53dfaabf0b3a7f852fa0677fef8612c6c15b
00005c0c: MLOAD
00005c0d: DUP13
00005c0e: SWAP16
00005c0f: UNKNOWN(0xA5)
00005c10: PUSH8 0x61e9ed15cfd5c6e5
00005c19: CODECOPY
00005c1a: SWAP15
00005c1b: SLOAD
00005c1c: PUSH8 0x985ac7ed9b779b17
00005c25: TIMESTAMP
00005c26: UNKNOWN(0x2D)
00005c27: UNKNOWN(0x0D)
00005c28: UNKNOWN(0xF9)
00005c29: UNKNOWN(0x22)
00005c2a: UNKNOWN(0x23)
00005c2b: ADD
00005c2c: DUP12
00005c2d: ORIGIN
00005c2e: UNKNOWN(0xB4)
00005c2f: UNKNOWN(0xD1)
00005c30: STATICCALL
00005c31: CHAINID
00005c32: UNKNOWN(0xE0)
00005c33: PUSH18 0x723d6817e2486d003becc55f00bfa91572ce
00005c46: CLZ
00005c47: PUSH0
00005c48: UNKNOWN(0xE8)
00005c49: PUSH24 0x6a160d3b1f862e83f5ee2c080a7423b4761602a3ad12497c
00005c62: UNKNOWN(0x25)
00005c63: UNKNOWN(0x28)
00005c64: SWAP11
00005c65: UNKNOWN(0x27)
00005c66: UNKNOWN(0xEC)
00005c67: DUP13
00005c68: SWAP12
00005c69: UNKNOWN(0xE5)
00005c6a: UNKNOWN(0x4D)
00005c6b: BLOBBASEFEE
00005c6c: ISZERO
00005c6d: UNKNOWN(0x4C)
00005c6e: UNKNOWN(0xF8)
00005c6f: DIV
00005c70: SWAP1
00005c71: UNKNOWN(0xD6)
00005c72: SWAP12
00005c73: UNKNOWN(0xDA)
00005c74: SWAP9
00005c75: SWAP13
00005c76: UNKNOWN(0xDB)
00005c77: DUP4
00005c78: UNKNOWN(0x28)
00005c79: UNKNOWN(0x23)
00005c7a: UNKNOWN(0x2E)
00005c7b: ADDMOD
00005c7c: INVALID
00005c7d: UNKNOWN(0xA9)
00005c7e: UNKNOWN(0x22)
00005c7f: DIV
00005c80: KECCAK256
00005c81: LOG2
00005c82: PUSH5 0x6970667358
00005c88: UNKNOWN(0x22)
00005c89: SLT
00005c8a: KECCAK256
00005c8b: SELFDESTRUCT
00005c8c: UNKNOWN(0x24)
00005c8d: UNKNOWN(0xBB)
00005c8e: PUSH3 0x18d11a
00005c92: PUSH1 0xfa
00005c94: UNKNOWN(0xD2)
00005c95: UNKNOWN(0xE1)
00005c96: PUSH28 0x2c54e55dfe3f8155f61d7f10dfd1f2886b23efbc64736f6c63430008
00005cb3: SGT
00005cb4: STOP
00005cb5: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other cast SELFDESTRUCT present 85 no
view
evidence_json
{
    "notes": "selfdestruct can remove contract code and send funds; review reachability",
    "selfdestruct_count": 1
}
high upgradeability detector Untrusted DELEGATECALL target reachable 55 no no
view
trace_id: 0xa4187968d9432f6858c2d7a73ff851f2d472d4b263ed7fb67aa1c5109110fb54
call_targets: 0x43506849d7c04f9138d1a2050bbf3a0c054402dd
target_varies: no
classification: constant_target
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 2,
    "trace_id": "0xa4187968d9432f6858c2d7a73ff851f2d472d4b263ed7fb67aa1c5109110fb54",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x43506849d7c04f9138d1a2050bbf3a0c054402dd"
    ],
    "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": "0x02717250",
            "selector": "0x02717250",
            "calldata_variants": [
                "0x02717250",
                "0x027172500000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x036de8af",
            "selector": "0x036de8af",
            "calldata_variants": [
                "0x036de8af",
                "0x036de8af0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0677df54",
            "selector": "0x0677df54",
            "calldata_variants": [
                "0x0677df54",
                "0x0677df540000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0900f010",
            "selector": "0x0900f010",
            "calldata_variants": [
                "0x0900f010",
                "0x0900f0100000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x186ce612",
            "selector": "0x186ce612",
            "calldata_variants": [
                "0x186ce612",
                "0x186ce6120000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x19017175",
            "selector": "0x19017175",
            "calldata_variants": [
                "0x19017175",
                "0x190171750000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1f97c9a8",
            "selector": "0x1f97c9a8",
            "calldata_variants": [
                "0x1f97c9a8",
                "0x1f97c9a80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x203e4a9b",
            "selector": "0x203e4a9b",
            "calldata_variants": [
                "0x203e4a9b",
                "0x203e4a9b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 4082,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 5488,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 12717,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [
        {
            "pc": 23501,
            "type": "tx_origin_used"
        },
        {
            "pc": 23597,
            "type": "tx_origin_used"
        }
    ],
    "delegatecall_count": 7,
    "untrusted_delegatecall_count": 7
}
high auth detector Authorization based on tx.origin 70 no
view
validation_json
{
    "reason": "missing sink mapping",
    "status": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x02717250",
            "selector": "0x02717250",
            "calldata_variants": [
                "0x02717250",
                "0x027172500000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x036de8af",
            "selector": "0x036de8af",
            "calldata_variants": [
                "0x036de8af",
                "0x036de8af0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0677df54",
            "selector": "0x0677df54",
            "calldata_variants": [
                "0x0677df54",
                "0x0677df540000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0900f010",
            "selector": "0x0900f010",
            "calldata_variants": [
                "0x0900f010",
                "0x0900f0100000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x186ce612",
            "selector": "0x186ce612",
            "calldata_variants": [
                "0x186ce612",
                "0x186ce6120000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x19017175",
            "selector": "0x19017175",
            "calldata_variants": [
                "0x19017175",
                "0x190171750000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1f97c9a8",
            "selector": "0x1f97c9a8",
            "calldata_variants": [
                "0x1f97c9a8",
                "0x1f97c9a80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x203e4a9b",
            "selector": "0x203e4a9b",
            "calldata_variants": [
                "0x203e4a9b",
                "0x203e4a9b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 23501,
            "type": "tx_origin_used"
        },
        {
            "pc": 23597,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x5b7fdbbaa21a5b8610bea0a78a4c818e0702ee1a93c4334019e296a775c680b0
call_targets: 0x4d573bc8ce236be2609333206776c5b6fb8f4a10
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x5b7fdbbaa21a5b8610bea0a78a4c818e0702ee1a93c4334019e296a775c680b0",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x4d573bc8ce236be2609333206776c5b6fb8f4a10"
    ],
    "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": "0x02717250",
            "selector": "0x02717250",
            "calldata_variants": [
                "0x02717250",
                "0x027172500000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x036de8af",
            "selector": "0x036de8af",
            "calldata_variants": [
                "0x036de8af",
                "0x036de8af0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0677df54",
            "selector": "0x0677df54",
            "calldata_variants": [
                "0x0677df54",
                "0x0677df540000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0900f010",
            "selector": "0x0900f010",
            "calldata_variants": [
                "0x0900f010",
                "0x0900f0100000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x186ce612",
            "selector": "0x186ce612",
            "calldata_variants": [
                "0x186ce612",
                "0x186ce6120000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x19017175",
            "selector": "0x19017175",
            "calldata_variants": [
                "0x19017175",
                "0x190171750000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1f97c9a8",
            "selector": "0x1f97c9a8",
            "calldata_variants": [
                "0x1f97c9a8",
                "0x1f97c9a80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x203e4a9b",
            "selector": "0x203e4a9b",
            "calldata_variants": [
                "0x203e4a9b",
                "0x203e4a9b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1413,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1971,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 9759,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 9,
    "guards_detected": [
        {
            "pc": 23501,
            "type": "tx_origin_used"
        },
        {
            "pc": 23597,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector SELFDESTRUCT reachable 45 no no
view
trace_id: 0xff68093f50b27dfb700e07fe3d0066d36e30ca0d8d48ce3a765f978f0f5b7b55
validation_json
{
    "sink": "SELFDESTRUCT",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0xff68093f50b27dfb700e07fe3d0066d36e30ca0d8d48ce3a765f978f0f5b7b55",
    "confirmed": false,
    "trace_mode": "structLogs",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x02717250",
            "selector": "0x02717250",
            "calldata_variants": [
                "0x02717250",
                "0x027172500000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x036de8af",
            "selector": "0x036de8af",
            "calldata_variants": [
                "0x036de8af",
                "0x036de8af0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0677df54",
            "selector": "0x0677df54",
            "calldata_variants": [
                "0x0677df54",
                "0x0677df540000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0900f010",
            "selector": "0x0900f010",
            "calldata_variants": [
                "0x0900f010",
                "0x0900f0100000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x186ce612",
            "selector": "0x186ce612",
            "calldata_variants": [
                "0x186ce612",
                "0x186ce6120000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x19017175",
            "selector": "0x19017175",
            "calldata_variants": [
                "0x19017175",
                "0x190171750000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1f97c9a8",
            "selector": "0x1f97c9a8",
            "calldata_variants": [
                "0x1f97c9a8",
                "0x1f97c9a80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x203e4a9b",
            "selector": "0x203e4a9b",
            "calldata_variants": [
                "0x203e4a9b",
                "0x203e4a9b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 23501,
            "type": "tx_origin_used"
        },
        {
            "pc": 23597,
            "type": "tx_origin_used"
        }
    ],
    "selfdestruct_count": 1
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x5b7fdbbaa21a5b8610bea0a78a4c818e0702ee1a93c4334019e296a775c680b0
call_targets: 0x4d573bc8ce236be2609333206776c5b6fb8f4a10
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x5b7fdbbaa21a5b8610bea0a78a4c818e0702ee1a93c4334019e296a775c680b0",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x4d573bc8ce236be2609333206776c5b6fb8f4a10"
    ],
    "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": "0x02717250",
            "selector": "0x02717250",
            "calldata_variants": [
                "0x02717250",
                "0x027172500000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x036de8af",
            "selector": "0x036de8af",
            "calldata_variants": [
                "0x036de8af",
                "0x036de8af0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0677df54",
            "selector": "0x0677df54",
            "calldata_variants": [
                "0x0677df54",
                "0x0677df540000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0900f010",
            "selector": "0x0900f010",
            "calldata_variants": [
                "0x0900f010",
                "0x0900f0100000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x186ce612",
            "selector": "0x186ce612",
            "calldata_variants": [
                "0x186ce612",
                "0x186ce6120000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x19017175",
            "selector": "0x19017175",
            "calldata_variants": [
                "0x19017175",
                "0x190171750000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1f97c9a8",
            "selector": "0x1f97c9a8",
            "calldata_variants": [
                "0x1f97c9a8",
                "0x1f97c9a80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x203e4a9b",
            "selector": "0x203e4a9b",
            "calldata_variants": [
                "0x203e4a9b",
                "0x203e4a9b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1413,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1971,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 9759,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 9,
    "guards_detected": [
        {
            "pc": 23501,
            "type": "tx_origin_used"
        },
        {
            "pc": 23597,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 9
}
medium other codex Queued transfers bypass rate‑limit accounting 75 no
view
evidence_json
{
    "evidence": "Inbound: `executeMsg` enqueues and returns early on rate limit without calling `_consumeInboundAmount`, and `completeInboundQueuedTransfer` only mints/unlocks. Outbound: `_transferEntryPoint` enqueues on rate limit without calling `_consumeOutboundAmount`, and `completeOutboundQueuedTransfer` explicitly skips rate\u2011limit checks before calling `_transfer`.",
    "locations": [
        "contracts/src/NttManager/NttManager.sol:219",
        "contracts/src/NttManager/NttManager.sol:241",
        "contracts/src/NttManager/NttManager.sol:389",
        "contracts/src/NttManager/NttManager.sol:261"
    ],
    "recommendation": "Consume/reserve capacity when queueing or re\u2011apply and consume rate limits at completion. For example, on completion recompute capacity and either consume/backfill or keep the transfer queued until sufficient capacity exists. Alternatively, decrement capacity at queue time to reserve throughput and prevent unbounded batching.",
    "exploit_scenario": "An attacker depletes outbound capacity, submits many transfers with `shouldQueue=true`, and waits `rateLimitDuration`. Because queuing does not consume outbound capacity and `completeOutboundQueuedTransfer` skips rate\u2011limit consumption, the attacker can execute all queued transfers in one window, exceeding the intended cap. The same logic applies inbound: rate\u2011limited messages are queued without consuming inbound capacity, and `completeInboundQueuedTransfer` mints/unlocks without any capacity adjustment, enabling unlimited throughput after the delay."
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 7
}
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": 18
}
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": 13
}