019be3d8-3ae4-7210-9784-c559a0c79016
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 41338 | artifact.fetch | complete | 1 / 3 | 2 months ago |
| 41339 | proxy.resolve | complete | 1 / 3 | 2 months ago |
| 41340 | tool.cast_disasm | complete | 1 / 3 | 2 months ago |
| 41341 | analysis.bundle | complete | 1 / 3 | 2 months ago |
| 41342 | capability.graph | complete | 1 / 3 | 2 months ago |
| 41343 | detector.run | complete | 1 / 3 | 2 months ago |
| 41344 | validation.fork | complete | 1 / 3 | 2 months ago |
| 41465 | report.consolidate | complete | 1 / 6 | 2 months ago |
| 41466 | tool.slither | failed | 2 / 2 | 2 months ago |
{
"status": "not_proxy"
}
Traceback (most recent call last):
File "/var/www/tripwire/worker/worker.py", line 199, in main
laravel_client.complete_job(job_id, payload if payload else None)
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/worker/laravel_client.py", line 27, in complete_job
return self._post(f"/internal/jobs/{job_id}/complete", payload=payload)
~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/worker/laravel_client.py", line 17, in _post
response.raise_for_status()
~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/requests/models.py", line 1026, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 500 Server Error: Internal Server Error for url: https://tripwire.topgun.bot/internal/jobs/41466/complete
{"no_findings":true,"summary":"Reviewed first-party contracts in AUDIT_BUNDLE.txt for the requested classes; no exploitable issues found.","findings":[]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-ufkoyq_t
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019be4cf-ca77-71a0-afd5-c899039da8f6
--------
user
You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
Scope rules:
- You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party Solidity sources in this workspace.
- Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
- If there are only dependency files and no first-party sources, set no_findings=true and explain in summary.
Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
Output constraints (IMPORTANT):
- severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
- category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
Keep summary short and concrete.
mcp startup: no servers
thinking
**Planning audit content review**
I'm preparing to read the AUDIT_BUNDLE.txt file using a simple command to understand its contents for the audit.
exec
/bin/bash -lc 'cat /tmp/codex-ufkoyq_t/AUDIT_BUNDLE.txt' in /tmp/codex-ufkoyq_t succeeded in 7ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.
================================================================================
FILE: src/L1/L2OutputOracle.sol
================================================================================
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;
import { Initializable } from "@openzeppelin/contracts/proxy/utils/Initializable.sol";
import { ISemver } from "src/universal/ISemver.sol";
import { Types } from "src/libraries/Types.sol";
import { Constants } from "src/libraries/Constants.sol";
/// @custom:proxied
/// @title L2OutputOracle
/// @notice The L2OutputOracle contains an array of L2 state outputs, where each output is a
/// commitment to the state of the L2 chain. Other contracts like the OptimismPortal use
/// these outputs to verify information about the state of L2.
contract L2OutputOracle is Initializable, ISemver {
thinking
**Planning focused security scan**
I'm preparing to scan first-party code within the AUDIT_BUNDLE for vulnerabilities like reentrancy and unsafe delegatecalls, using targeted searches while ignoring dependencies. Next, I'll list relevant files and inspect key contracts in the OptimismPortal area.
exec
/bin/bash -lc 'rg --files /tmp/codex-ufkoyq_t' in /tmp/codex-ufkoyq_t succeeded in 14ms:
/tmp/codex-ufkoyq_t/codex-output-schema.json
/tmp/codex-ufkoyq_t/AUDIT_BUNDLE.txt
/tmp/codex-ufkoyq_t/src/universal/ISemver.sol
/tmp/codex-ufkoyq_t/src/L2/L1Block.sol
/tmp/codex-ufkoyq_t/src/libraries/GasPayingToken.sol
/tmp/codex-ufkoyq_t/src/vendor/AddressAliasHelper.sol
/tmp/codex-ufkoyq_t/src/libraries/Types.sol
/tmp/codex-ufkoyq_t/src/libraries/Predeploys.sol
/tmp/codex-ufkoyq_t/src/libraries/Encoding.sol
/tmp/codex-ufkoyq_t/src/libraries/PortalErrors.sol
/tmp/codex-ufkoyq_t/src/libraries/SafeCall.sol
/tmp/codex-ufkoyq_t/src/libraries/Storage.sol
/tmp/codex-ufkoyq_t/src/libraries/L1BlockErrors.sol
/tmp/codex-ufkoyq_t/src/libraries/Bytes.sol
/tmp/codex-ufkoyq_t/src/libraries/Burn.sol
/tmp/codex-ufkoyq_t/src/libraries/Constants.sol
/tmp/codex-ufkoyq_t/lib/solady/src/utils/LibString.sol
/tmp/codex-ufkoyq_t/src/L1/OptimismPortal.sol
/tmp/codex-ufkoyq_t/src/L1/ResourceMetering.sol
/tmp/codex-ufkoyq_t/src/L1/L2OutputOracle.sol
thinking
**Identifying key contract functions**
Planning to examine main contracts like OptimismPortal, focusing on critical functions such as finalizeWithdrawalTransaction by opening files partially and using search tools to target relevant code sections.
exec
/bin/bash -lc 'rg -n "contract OptimismPortal|function finalize|withdraw|prove|deposit|reenter|delegatecall|call" /tmp/codex-ufkoyq_t/src/L1/OptimismPortal.sol' in /tmp/codex-ufkoyq_t succeeded in 9ms:
27:contract OptimismPortal is Initializable, ResourceMetering, ISemver {
31: /// @notice Represents a proven withdrawal.
32: /// @custom:field outputRoot Root of the L2 output this was proven against.
33: /// @custom:field timestamp Timestamp at whcih the withdrawal was proven.
34: /// @custom:field l2OutputIndex Index of the output this was proven against.
41: /// @notice Version of the deposit event.
44: /// @notice The L2 gas limit set when eth is deposited using the receive() function.
47: /// @notice The L2 gas limit for system deposit transactions that are initiated from L1.
50: /// @notice Address of the L2 account which initiated a withdrawal in this transaction.
52: /// a call to finalizeWithdrawalTransaction.
55: /// @notice A list of withdrawal hashes which have been successfully finalized.
58: /// @notice A mapping of withdrawal hashes to `ProvenWithdrawal` data.
59: mapping(bytes32 => ProvenWithdrawal) public provenWithdrawals;
81: /// @custom:spacer provenWithdrawals
99: /// without triggering a deposit transaction. It also is used to prevent
104: /// @notice Emitted when a transaction is deposited from L1 to L2.
105: /// The parameters of this event are read by the rollup node and used to derive deposit
107: /// @param from Address that triggered the deposit transaction.
108: /// @param to Address that the deposit transaction is directed to.
109: /// @param version Version of this deposit transaction event.
thinking
**Opening relevant transaction sections**
exec
/bin/bash -lc "sed -n '200,520p' /tmp/codex-ufkoyq_t/src/L1/OptimismPortal.sol" in /tmp/codex-ufkoyq_t succeeded in 25ms:
/// @notice Accepts value so that users can send ETH directly to this contract and have the
/// funds be deposited to their address on L2. This is intended as a convenience
/// function for EOAs. Contracts should call the depositTransaction() function directly
/// otherwise any deposited funds will be lost due to address aliasing.
receive() external payable {
depositTransaction(msg.sender, msg.value, RECEIVE_DEFAULT_GAS_LIMIT, false, bytes(""));
}
/// @notice Accepts ETH value without triggering a deposit to L2.
/// This function mainly exists for the sake of the migration between the legacy
/// Optimism system and Bedrock.
function donateETH() external payable {
// Intentionally empty.
}
/// @notice Returns the gas paying token and its decimals.
function gasPayingToken() internal view returns (address addr_, uint8 decimals_) {
(addr_, decimals_) = systemConfig.gasPayingToken();
}
exec
/bin/bash -lc "sed -n '520,900p' /tmp/codex-ufkoyq_t/src/L1/OptimismPortal.sol" in /tmp/codex-ufkoyq_t succeeded in 8ms:
/// @param _data Data to trigger the recipient with.
function _depositTransaction(
address _to,
uint256 _mint,
uint256 _value,
uint64 _gasLimit,
bool _isCreation,
bytes memory _data
)
internal
{
// Just to be safe, make sure that people specify address(0) as the target when doing
// contract creations.
if (_isCreation && _to != address(0)) revert BadTarget();
// Prevent depositing transactions that have too small of a gas limit. Users should pay
// more for more resource usage.
if (_gasLimit < minimumGasLimit(uint64(_data.length))) revert SmallGasLimit();
// Prevent the creation of deposit transactions that have too much calldata. This gives an
thinking
**Inspecting SystemConfig contract**
exec
/bin/bash -lc "sed -n '1,240p' /tmp/codex-ufkoyq_t/src/L1/SystemConfig.sol" in /tmp/codex-ufkoyq_t succeeded in 8ms:
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;
import { OwnableUpgradeable } from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
import { ISemver } from "src/universal/ISemver.sol";
import { ResourceMetering } from "src/L1/ResourceMetering.sol";
import { Storage } from "src/libraries/Storage.sol";
import { Constants } from "src/libraries/Constants.sol";
import { OptimismPortal } from "src/L1/OptimismPortal.sol";
import { GasPayingToken, IGasToken } from "src/libraries/GasPayingToken.sol";
import { ERC20 } from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
/// @title SystemConfig
/// @notice The SystemConfig contract is used to manage configuration of an Optimism network.
/// All configuration is stored on L1 and picked up by L2 as part of the derviation of
/// the L2 chain.
contract SystemConfig is OwnableUpgradeable, ISemver, IGasToken {
/// @notice Enum representing different types of updates.
/// @custom:value BATCHER Represents an update to the batcher hash.
/// @custom:value GAS_CONFIG Represents an update to txn fee config on L2.
exec
/bin/bash -lc "sed -n '240,520p' /tmp/codex-ufkoyq_t/src/L1/SystemConfig.sol" in /tmp/codex-ufkoyq_t succeeded in 8ms:
addr_ = Storage.getAddress(UNSAFE_BLOCK_SIGNER_SLOT);
}
/// @notice Getter for the L1CrossDomainMessenger address.
function l1CrossDomainMessenger() external view returns (address addr_) {
addr_ = Storage.getAddress(L1_CROSS_DOMAIN_MESSENGER_SLOT);
}
/// @notice Getter for the L1ERC721Bridge address.
function l1ERC721Bridge() external view returns (address addr_) {
addr_ = Storage.getAddress(L1_ERC_721_BRIDGE_SLOT);
}
/// @notice Getter for the L1StandardBridge address.
function l1StandardBridge() external view returns (address addr_) {
addr_ = Storage.getAddress(L1_STANDARD_BRIDGE_SLOT);
}
/// @notice Getter for the DisputeGameFactory address.
function disputeGameFactory() external view returns (address addr_) {
thinking
**Checking for SuperchainConfig**
exec
/bin/bash -lc "sed -n '1,240p' /tmp/codex-ufkoyq_t/src/L1/SuperchainConfig.sol" in /tmp/codex-ufkoyq_t succeeded in 6ms:
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;
import { Initializable } from "@openzeppelin/contracts/proxy/utils/Initializable.sol";
import { ISemver } from "src/universal/ISemver.sol";
import { Storage } from "src/libraries/Storage.sol";
/// @custom:audit none This contracts is not yet audited.
/// @title SuperchainConfig
/// @notice The SuperchainConfig contract is used to manage configuration of global superchain values.
contract SuperchainConfig is Initializable, ISemver {
/// @notice Enum representing different types of updates.
/// @custom:value GUARDIAN Represents an update to the guardian.
enum UpdateType {
GUARDIAN
}
/// @notice Whether or not the Superchain is paused.
bytes32 public constant PAUSED_SLOT = bytes32(uint256(keccak256("superchainConfig.paused")) - 1);
thinking
**Noting pause/unpause logic lacks idempotency checks**
exec
/bin/bash -lc "sed -n '1,260p' /tmp/codex-ufkoyq_t/src/L1/ResourceMetering.sol" in /tmp/codex-ufkoyq_t succeeded in 5ms:
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;
import { Initializable } from "@openzeppelin/contracts/proxy/utils/Initializable.sol";
import { Math } from "@openzeppelin/contracts/utils/math/Math.sol";
import { Burn } from "src/libraries/Burn.sol";
import { Arithmetic } from "src/libraries/Arithmetic.sol";
/// @custom:upgradeable
/// @title ResourceMetering
/// @notice ResourceMetering implements an EIP-1559 style resource metering system where pricing
/// updates automatically based on current demand.
abstract contract ResourceMetering is Initializable {
/// @notice Error returned when too much gas resource is consumed.
error OutOfGas();
/// @notice Represents the various parameters that control the way in which resources are
/// metered. Corresponds to the EIP-1559 resource metering system.
/// @custom:field prevBaseFee Base fee from the previous block(s).
/// @custom:field prevBoughtGas Amount of gas bought so far in the current block.
thinking
**Scanning L1Block usage**
exec
/bin/bash -lc "sed -n '1,240p' /tmp/codex-ufkoyq_t/src/L2/L1Block.sol" in /tmp/codex-ufkoyq_t succeeded in 6ms:
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;
import { ISemver } from "src/universal/ISemver.sol";
import { Constants } from "src/libraries/Constants.sol";
import { GasPayingToken, IGasToken } from "src/libraries/GasPayingToken.sol";
import "src/libraries/L1BlockErrors.sol";
/// @custom:proxied
/// @custom:predeploy 0x4200000000000000000000000000000000000015
/// @title L1Block
/// @notice The L1Block predeploy gives users access to information about the last known L1 block.
/// Values within this contract are updated once per epoch (every L1 block) and can only be
/// set by the "depositor" account, a special system address. Depositor account transactions
/// are created by the protocol whenever we move to a new epoch.
contract L1Block is ISemver, IGasToken {
/// @notice Event emitted when the gas paying token is set.
event GasPayingTokenSet(address indexed token, uint8 indexed decimals, bytes32 name, bytes32 symbol);
/// @notice Address of the special depositor account.
thinking
**Assessing key vulnerabilities**
I'm focusing on critical issues like reentrancy, access control, upgradeability, and delegatecall usage, especially since Optimism contracts and libraries like SafeCall might involve risky patterns; next I'll scan the source for delegatecall occurrences.
exec
/bin/bash -lc 'rg -n "delegatecall" /tmp/codex-ufkoyq_t/src' in /tmp/codex-ufkoyq_t exited 1 in 17ms:
thinking
**Inspecting external call patterns**
I'm focusing on the SafeCall library and related first-party contracts to verify if any external calls use risky patterns like delegatecall or incorrect call, aiming to assess potential issues or misuse.
exec
/bin/bash -lc "sed -n '1,240p' /tmp/codex-ufkoyq_t/src/libraries/SafeCall.sol" in /tmp/codex-ufkoyq_t succeeded in 6ms:
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;
/// @title SafeCall
/// @notice Perform low level safe calls
library SafeCall {
/// @notice Performs a low level call without copying any returndata.
/// @dev Passes no calldata to the call context.
/// @param _target Address to call
/// @param _gas Amount of gas to pass to the call
/// @param _value Amount of value to pass to the call
function send(address _target, uint256 _gas, uint256 _value) internal returns (bool success_) {
assembly {
success_ :=
call(
_gas, // gas
_target, // recipient
_value, // ether value
0, // inloc
0, // inlen
thinking
**Searching for signature and ecrecover usage**
I'm confirming uses of signature handling and ecrecover to assess hashing and type safety next.
exec
/bin/bash -lc 'rg -n "ecrecover|signature|sig|recover" /tmp/codex-ufkoyq_t/src' in /tmp/codex-ufkoyq_t succeeded in 9ms:
/tmp/codex-ufkoyq_t/src/libraries/Constants.sol:15: /// use address(1) because it's the ecrecover precompile and therefore guaranteed to
/tmp/codex-ufkoyq_t/src/L1/OptimismPortal.sol:297: // Designate the withdrawalHash as proven by storing the `outputRoot`, `timestamp`, and
/tmp/codex-ufkoyq_t/src/libraries/trie/MerkleTrie.sol:150: // Our Merkle Trie is designed specifically for the purposes of the Ethereum
/tmp/codex-ufkoyq_t/src/L1/ResourceMetering.sol:31: /// maxResourceLimit / elasticityMultiplier. This struct was designed to fit within a
/tmp/codex-ufkoyq_t/src/L1/SystemConfig.sol:22: /// @custom:value UNSAFE_BLOCK_SIGNER Represents an update to the signer key for unsafe
/tmp/codex-ufkoyq_t/src/L1/SystemConfig.sol:47: /// @notice Storage slot that the unsafe block signer is stored at.
/tmp/codex-ufkoyq_t/src/L1/SystemConfig.sol:55: bytes32 public constant UNSAFE_BLOCK_SIGNER_SLOT = keccak256("systemconfig.unsafeblocksigner");
/tmp/codex-ufkoyq_t/src/L1/SystemConfig.sol:97: /// The most significant byte is used to determine the version since the
/tmp/codex-ufkoyq_t/src/L1/SystemConfig.sol:174: /// @param _unsafeBlockSigner Initial unsafe block signer address.
/tmp/codex-ufkoyq_t/src/L1/SystemConfig.sol:235: /// @notice High level getter for the unsafe block signer address.
/tmp/codex-ufkoyq_t/src/L1/SystemConfig.sol:236: /// Unsafe blocks can be propagated across the p2p network if they are signed by the
/tmp/codex-ufkoyq_t/src/L1/SystemConfig.sol:238: /// @return addr_ Address of the unsafe block signer.
/tmp/codex-ufkoyq_t/src/L1/SystemConfig.sol:329: /// @notice Updates the unsafe block signer address. Can only be called by the owner.
/tmp/codex-ufkoyq_t/src/L1/SystemConfig.sol:330: /// @param _unsafeBlockSigner New unsafe block signer address.
/tmp/codex-ufkoyq_t/src/L1/SystemConfig.sol:335: /// @notice Updates the unsafe block signer address.
/tmp/codex-ufkoyq_t/src/L1/SystemConfig.sol:336: /// @param _unsafeBlockSigner New unsafe block signer address.
thinking
**Identifying potential reentrancy risk in ERC20 deposits**
The depositERC20Transaction function calls external safeTransferFrom without a reentrancy guard, which could allow malicious token contracts to reenter the contract and exploit it; finalizeWithdrawalTransaction uses l2Sender as a guard, but depositERC20Transaction lacks such protection.
thinking
**Analyzing reentrancy impact on internal balance during ERC20 deposits**
The internal _balance increments before the external safeTransferFrom call in depositERC20Transaction, so a reentrant call could manipulate _balance state mid-execution; this raises concerns about possible inconsistencies or exploits tied to _balance usage, warranting further investigation.
exec
/bin/bash -lc 'rg -n "_balance" /tmp/codex-ufkoyq_t/src/L1/OptimismPortal.sol' in /tmp/codex-ufkoyq_t succeeded in 6ms:
102: uint256 internal _balance;
172: return _balance;
392: _balance -= _tx.value;
458: _balance += _mint;
exec
/bin/bash -lc "sed -n '150,210p' /tmp/codex-ufkoyq_t/src/L1/OptimismPortal.sol" in /tmp/codex-ufkoyq_t succeeded in 7ms:
L2OutputOracle _l2Oracle,
SystemConfig _systemConfig,
SuperchainConfig _superchainConfig
)
public
initializer
{
l2Oracle = _l2Oracle;
systemConfig = _systemConfig;
superchainConfig = _superchainConfig;
if (l2Sender == address(0)) {
l2Sender = Constants.DEFAULT_L2_SENDER;
}
__ResourceMetering_init();
}
/// @notice Getter for the balance of the contract.
function balance() public view returns (uint256) {
(address token,) = gasPayingToken();
if (token == Constants.ETHER) {
thinking
**Analyzing internal balance tracking and trust in ERC20 compliance**
The _balance variable internally tracks L2 minted tokens to prevent overflow and assist reporting, but reliance on ERC20.balanceOf for verifying transfers is risky since tokens might misreport or enable reentrancy. The contract comments highlight this trust issue, especially for custom gas tokens, indicating a need to consider how to safely handle potentially non-compliant tokens despite current checks.
thinking
**Reviewing upgradeable patterns and access controls**
The constructor calling initialize in the implementation is safe due to proxy behavior and OZ's Initializable handling. Access controls in key contracts like OptimismPortal and SystemConfig appear sound, with setters properly restricted or internal-only. Some potential edge cases exist—like public functions that revert on invalid inputs or guardian set to zero disabling pausing—but none pose clear vulnerabilities. Next focus is inspecting core libraries for subtle issues.
exec
/bin/bash -lc "sed -n '1,260p' /tmp/codex-ufkoyq_t/src/libraries/Hashing.sol" in /tmp/codex-ufkoyq_t succeeded in 6ms:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import { Types } from "src/libraries/Types.sol";
import { Encoding } from "src/libraries/Encoding.sol";
/// @title Hashing
/// @notice Hashing handles Optimism's various different hashing schemes.
library Hashing {
/// @notice Computes the hash of the RLP encoded L2 transaction that would be generated when a
/// given deposit is sent to the L2 system. Useful for searching for a deposit in the L2
/// system.
/// @param _tx User deposit transaction to hash.
/// @return Hash of the RLP encoded L2 deposit transaction.
function hashDepositTransaction(Types.UserDepositTransaction memory _tx) internal pure returns (bytes32) {
return keccak256(Encoding.encodeDepositTransaction(_tx));
}
/// @notice Computes the deposit transaction's "source hash", a value that guarantees the hash
/// of the L2 transaction that corresponds to a deposit is unique and is
thinking
**Checking types for issues**
exec
/bin/bash -lc "sed -n '1,240p' /tmp/codex-ufkoyq_t/src/libraries/Types.sol" in /tmp/codex-ufkoyq_t succeeded in 5ms:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
/// @title Types
/// @notice Contains various types used throughout the Optimism contract system.
library Types {
/// @notice OutputProposal represents a commitment to the L2 state. The timestamp is the L1
/// timestamp that the output root is posted. This timestamp is used to verify that the
/// finalization period has passed since the output root was submitted.
/// @custom:field outputRoot Hash of the L2 output.
/// @custom:field timestamp Timestamp of the L1 block that the output root was submitted in.
/// @custom:field l2BlockNumber L2 block number that the output corresponds to.
struct OutputProposal {
bytes32 outputRoot;
uint128 timestamp;
uint128 l2BlockNumber;
}
/// @notice Struct representing the elements that are hashed together to generate an output root
/// which itself represents a snapshot of the L2 state.
thinking
**Analyzing upgradeable contract initialization**
The contracts use constructors calling initialize functions with default values, which can risk leaving the implementation initialized but still not disabling further initialization attempts. This could raise concerns about proper disabling of initializers on implementation contracts to prevent takeover, though current patterns suggest the implementation is already initialized, blocking re-initialization.
thinking
**Identifying subtle risks in initialization and state updates**
Noted missing onlyInitializing checks in some initializers and absent zero-address validation for key dependencies, which could enable misconfiguration but not direct exploits. Observed potential for bypass in blockhash validation if future block numbers are passed. Found careful overflow checks in ResourceMetering math and proper bounds in array length changes. Reentrancy concerns flagged around updating balances before external calls in withdrawal finalization, warranting deeper inspection of token interactions.
exec
/bin/bash -lc "sed -n '1,260p' /tmp/codex-ufkoyq_t/src/libraries/GasPayingToken.sol" in /tmp/codex-ufkoyq_t succeeded in 5ms:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import { Storage } from "src/libraries/Storage.sol";
import { Constants } from "src/libraries/Constants.sol";
import { LibString } from "@solady/utils/LibString.sol";
/// @title IGasToken
/// @notice Implemented by contracts that are aware of the custom gas token used
/// by the L2 network.
interface IGasToken {
/// @notice Getter for the ERC20 token address that is used to pay for gas and its decimals.
function gasPayingToken() external view returns (address, uint8);
/// @notice Returns the gas token name.
function gasPayingTokenName() external view returns (string memory);
/// @notice Returns the gas token symbol.
function gasPayingTokenSymbol() external view returns (string memory);
/// @notice Returns true if the network uses a custom gas token.
function isCustomGasToken() external view returns (bool);
}
thinking
**Flagging potential storage library issue**
exec
/bin/bash -lc "sed -n '1,240p' /tmp/codex-ufkoyq_t/src/libraries/Storage.sol" in /tmp/codex-ufkoyq_t succeeded in 6ms:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
/// @title Storage
/// @notice Storage handles reading and writing to arbitary storage locations
library Storage {
/// @notice Returns an address stored in an arbitrary storage slot.
/// These storage slots decouple the storage layout from
/// solc's automation.
/// @param _slot The storage slot to retrieve the address from.
function getAddress(bytes32 _slot) internal view returns (address addr_) {
assembly {
addr_ := sload(_slot)
}
}
/// @notice Stores an address in an arbitrary storage slot, `_slot`.
/// @param _slot The storage slot to store the address in.
/// @param _address The protocol version to store
/// @dev WARNING! This function must be used cautiously, as it allows for overwriting addresses
thinking
**Investigating reentrancy and gas logic**
I'm focusing on OptimismPortal's deposit path and its interaction with SafeERC20, noting that reentrancy guards only apply on finalize, not deposit. Next, I'll inspect Burn.sol to understand the gas metering mechanism in use.
exec
/bin/bash -lc "sed -n '1,200p' /tmp/codex-ufkoyq_t/src/libraries/Burn.sol" in /tmp/codex-ufkoyq_t succeeded in 11ms:
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;
/// @title Burn
/// @notice Utilities for burning stuff.
library Burn {
/// @notice Burns a given amount of ETH.
/// @param _amount Amount of ETH to burn.
function eth(uint256 _amount) internal {
new Burner{ value: _amount }();
}
/// @notice Burns a given amount of gas.
/// @param _amount Amount of gas to burn.
function gas(uint256 _amount) internal view {
uint256 i = 0;
uint256 initialGas = gasleft();
while (initialGas - gasleft() < _amount) {
++i;
}
thinking
**Analyzing gas burn and reentrancy risks**
The burn gas logic includes safeguards against excessive gas amounts via max resource limits, preventing DoS from large _amount values. FinalizeWithdrawalTransaction uses a reentrancy guard, but depositTransaction and proveWithdrawalTransaction lack explicit reentrancy protection, possibly allowing nested calls during finalization.
thinking
**Validating aliasing and pause controls**
Address aliasing in deposit flows appears consistent, correctly handling contract versus user calls. Pause functionality is enforced via whenNotPaused modifiers on key functions like proofs and finalization; next, I'll confirm where whenNotPaused is defined to ensure proper access control.
exec
/bin/bash -lc 'rg -n "whenNotPaused" /tmp/codex-ufkoyq_t/src/L1/OptimismPortal.sol' in /tmp/codex-ufkoyq_t succeeded in 6ms:
125: modifier whenNotPaused() {
241: whenNotPaused
312: function finalizeWithdrawalTransaction(Types.WithdrawalTransaction memory _tx) external whenNotPaused {
exec
/bin/bash -lc "sed -n '110,160p' /tmp/codex-ufkoyq_t/src/L1/OptimismPortal.sol" in /tmp/codex-ufkoyq_t succeeded in 6ms:
/// @param opaqueData ABI encoded deposit data to be parsed off-chain.
event TransactionDeposited(address indexed from, address indexed to, uint256 indexed version, bytes opaqueData);
/// @notice Emitted when a withdrawal transaction is proven.
/// @param withdrawalHash Hash of the withdrawal transaction.
/// @param from Address that triggered the withdrawal transaction.
/// @param to Address that the withdrawal transaction is directed to.
event WithdrawalProven(bytes32 indexed withdrawalHash, address indexed from, address indexed to);
/// @notice Emitted when a withdrawal transaction is finalized.
/// @param withdrawalHash Hash of the withdrawal transaction.
/// @param success Whether the withdrawal transaction was successful.
event WithdrawalFinalized(bytes32 indexed withdrawalHash, bool success);
/// @notice Reverts when paused.
modifier whenNotPaused() {
if (paused()) revert CallPaused();
_;
}
thinking
**Analyzing upgradeability and pause logic**
I've identified a potential concern with pause checking using storage slots differently and noted that constructors call initialize in upgradeable contracts, which is an anti-pattern but likely not a vulnerability here. Initialization of implementation contracts might remain possible but doesn't impact proxies. There's also a subtlety in token deposit logic when using custom gas tokens, where minted amounts and transferred values may differ, highlighting potential edge cases in value handling.
thinking
**Identifying potential token minting and balance edge cases**
I've spotted a scenario where custom gas tokens may enable L2 value transfers without minting tokens, which could affect L2 behavior but may not be a vulnerability. Also, finalizeWithdrawalTransaction relies on internal balance tracking without explicit on-chain checks but will revert safely on underflows. The L2OutputOracle's deletion logic prevents removal if finalization period is zero, ensuring safety. Some boundary checks in output index querying are strict but safe. Next, I'll inspect encoding and arithmetic libraries for subtle issues.
exec
/bin/bash -lc "sed -n '1,240p' /tmp/codex-ufkoyq_t/src/libraries/Arithmetic.sol" in /tmp/codex-ufkoyq_t succeeded in 5ms:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import { SignedMath } from "@openzeppelin/contracts/utils/math/SignedMath.sol";
import { FixedPointMathLib } from "@rari-capital/solmate/src/utils/FixedPointMathLib.sol";
/// @title Arithmetic
/// @notice Even more math than before.
library Arithmetic {
/// @notice Clamps a value between a minimum and maximum.
/// @param _value The value to clamp.
/// @param _min The minimum value.
/// @param _max The maximum value.
/// @return The clamped value.
function clamp(int256 _value, int256 _min, int256 _max) internal pure returns (int256) {
return SignedMath.min(SignedMath.max(_value, _min), _max);
}
/// @notice (c)oefficient (d)enominator (exp)onentiation function.
/// Returns the result of: c * (1 - 1/d)^exp.
thinking
**Checking arithmetic overflow**
Noticed the arithmetic uses powWad from solmate, which might raise overflow concerns, but it appears safe; next I'll verify encoding details.
exec
/bin/bash -lc "sed -n '1,240p' /tmp/codex-ufkoyq_t/src/libraries/Encoding.sol" in /tmp/codex-ufkoyq_t succeeded in 6ms:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import { Types } from "src/libraries/Types.sol";
import { Hashing } from "src/libraries/Hashing.sol";
import { RLPWriter } from "src/libraries/rlp/RLPWriter.sol";
/// @title Encoding
/// @notice Encoding handles Optimism's various different encoding schemes.
library Encoding {
/// @notice RLP encodes the L2 transaction that would be generated when a given deposit is sent
/// to the L2 system. Useful for searching for a deposit in the L2 system. The
/// transaction is prefixed with 0x7e to identify its EIP-2718 type.
/// @param _tx User deposit transaction to encode.
/// @return RLP encoded L2 deposit transaction.
function encodeDepositTransaction(Types.UserDepositTransaction memory _tx) internal pure returns (bytes memory) {
bytes32 source = Hashing.hashDepositSource(_tx.l1BlockHash, _tx.logIndex);
bytes[] memory raw = new bytes[](8);
raw[0] = RLPWriter.writeBytes(abi.encodePacked(source));
raw[1] = RLPWriter.writeAddress(_tx.from);
thinking
**Identifying potential reentrancy risk in depositERC20Transaction**
I found that depositERC20Transaction calls an external token transfer which could allow reentrancy before the resource metering modifier runs, potentially letting nested calls bypass metering checks.
thinking
**Eliminating reentrancy bypass and vulnerabilities**
Reentrancy during depositERC20Transaction doesn't bypass resource metering since nested calls each run the metered modifier and update usage correctly. Other examined paths show no critical vulnerabilities, with proper guards, assumptions about tokens, and sane initialization protecting key logic.
exec
/bin/bash -lc "sed -n '1,140p' /tmp/codex-ufkoyq_t/src/L1/OptimismPortal.sol" in /tmp/codex-ufkoyq_t succeeded in 7ms:
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;
import { Initializable } from "@openzeppelin/contracts/proxy/utils/Initializable.sol";
import { SafeCall } from "src/libraries/SafeCall.sol";
import { L2OutputOracle } from "src/L1/L2OutputOracle.sol";
import { SystemConfig } from "src/L1/SystemConfig.sol";
import { SuperchainConfig } from "src/L1/SuperchainConfig.sol";
import { Constants } from "src/libraries/Constants.sol";
import { Types } from "src/libraries/Types.sol";
import { Hashing } from "src/libraries/Hashing.sol";
import { SecureMerkleTrie } from "src/libraries/trie/SecureMerkleTrie.sol";
import { AddressAliasHelper } from "src/vendor/AddressAliasHelper.sol";
import { ResourceMetering } from "src/L1/ResourceMetering.sol";
import { ISemver } from "src/universal/ISemver.sol";
import { SafeERC20 } from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import { L1Block } from "src/L2/L1Block.sol";
import { Predeploys } from "src/libraries/Predeploys.sol";
import "src/libraries/PortalErrors.sol";
thinking
**Assessing potential vulnerabilities**
Reviewed key spots for common issues like improper SafeERC20 use, deposit function misuse with ETH vs. ERC20 tokens, and time comparisons in finalization logic; found no exploitable vulnerabilities or misuse, concluding no findings for now.
thinking
**Reviewing access control and input sanitation**
Verified pause/unpause guardian logic and token parameter acceptance, finding no risks given depositor controls. Noted no explicit check on L2 block number bounds but logic implies safety. Planning to search usage of potentially unchecked `SafeCall.send` for further inspection.
exec
/bin/bash -lc "rg -n \"SafeCall\\.send\" /tmp/codex-ufkoyq_t/src" in /tmp/codex-ufkoyq_t exited 1 in 11ms:
thinking
**Evaluating low-level calls and state checks**
I examined low-level `.call(` usage and found no clear issues; considered upgradeability and proxy pattern storage gaps but found none concerning. I confirmed certain underflow reverts in L2OutputOracle are expected per documentation and not vulnerabilities while noting a potential timing check vulnerability in `proposeL2Output`.
thinking
**Identifying no exploitable issues**
I thoroughly evaluated initialization, reentrancy, external calls, and token interactions finding no exploitable vulnerabilities, only expected behaviors and trust assumptions. I'll produce a final JSON marking no findings with a concise summary.
codex
{"no_findings":true,"summary":"Reviewed first-party contracts in AUDIT_BUNDLE.txt for the requested classes; no exploitable issues found.","findings":[]}
tokens used
61,178
{
"codex": {
"ran_at": "2026-01-22T08:31:28.726548+00:00",
"returncode": 0
},
"project": {
"mode": "source",
"file_count": 42,
"import_count": 45,
"first_party_contracts_count": 26
},
"summary": "Reviewed first-party contracts in AUDIT_BUNDLE.txt for the requested classes; no exploitable issues found.",
"raw_final": {
"summary": "Reviewed first-party contracts in AUDIT_BUNDLE.txt for the requested classes; no exploitable issues found.",
"findings": [],
"no_findings": true
},
"no_findings": true,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x0163 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x8c3152e9 00000019: GT 0000001a: PUSH2 0x00c0 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0xb69ef8a8 00000024: GT 00000025: PUSH2 0x0074 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xcff0ab96 0000002f: GT 00000030: PUSH2 0x0059 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xcff0ab96 0000003a: EQ 0000003b: PUSH2 0x0444 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xe965084c 00000045: EQ 00000046: PUSH2 0x04e5 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xe9e05c42 00000050: EQ 00000051: PUSH2 0x0571 00000054: JUMPI 00000055: PUSH1 0x00 00000057: DUP1 00000058: REVERT 00000059: JUMPDEST 0000005a: DUP1 0000005b: PUSH4 0xb69ef8a8 00000060: EQ 00000061: PUSH2 0x0401 00000064: JUMPI 00000065: DUP1 00000066: PUSH4 0xc0c53b8b 0000006b: EQ 0000006c: PUSH2 0x0424 0000006f: JUMPI 00000070: PUSH1 0x00 00000072: DUP1 00000073: REVERT 00000074: JUMPDEST 00000075: DUP1 00000076: PUSH4 0x9bf62d82 0000007b: GT 0000007c: PUSH2 0x00a5 0000007f: JUMPI 00000080: DUP1 00000081: PUSH4 0x9bf62d82 00000086: EQ 00000087: PUSH2 0x036b 0000008a: JUMPI 0000008b: DUP1 0000008c: PUSH4 0xa14238e7 00000091: EQ 00000092: PUSH2 0x0398 00000095: JUMPI 00000096: DUP1 00000097: PUSH4 0xa35d99df 0000009c: EQ 0000009d: PUSH2 0x03c8 000000a0: JUMPI 000000a1: PUSH1 0x00 000000a3: DUP1 000000a4: REVERT 000000a5: JUMPDEST 000000a6: DUP1 000000a7: PUSH4 0x8c3152e9 000000ac: EQ 000000ad: PUSH2 0x031e 000000b0: JUMPI 000000b1: DUP1 000000b2: PUSH4 0x9b5f694a 000000b7: EQ 000000b8: PUSH2 0x033e 000000bb: JUMPI 000000bc: PUSH1 0x00 000000be: DUP1 000000bf: REVERT 000000c0: JUMPDEST 000000c1: DUP1 000000c2: PUSH4 0x54fd4d50 000000c7: GT 000000c8: PUSH2 0x0117 000000cb: JUMPI 000000cc: DUP1 000000cd: PUSH4 0x6dbffb78 000000d2: GT 000000d3: PUSH2 0x00fc 000000d6: JUMPI 000000d7: DUP1 000000d8: PUSH4 0x6dbffb78 000000dd: EQ 000000de: PUSH2 0x02de 000000e1: JUMPI 000000e2: DUP1 000000e3: PUSH4 0x71cfaa3f 000000e8: EQ 000000e9: PUSH2 0x02fe 000000ec: JUMPI 000000ed: DUP1 000000ee: PUSH4 0x8b4c40b0 000000f3: EQ 000000f4: PUSH2 0x0188 000000f7: JUMPI 000000f8: PUSH1 0x00 000000fa: DUP1 000000fb: REVERT 000000fc: JUMPDEST 000000fd: DUP1 000000fe: PUSH4 0x54fd4d50 00000103: EQ 00000104: PUSH2 0x026d 00000107: JUMPI 00000108: DUP1 00000109: PUSH4 0x5c975abb 0000010e: EQ 0000010f: PUSH2 0x02b9 00000112: JUMPI 00000113: PUSH1 0x00 00000115: DUP1 00000116: REVERT 00000117: JUMPDEST 00000118: DUP1 00000119: PUSH4 0x35e80ab3 0000011e: GT 0000011f: PUSH2 0x0148 00000122: JUMPI 00000123: DUP1 00000124: PUSH4 0x35e80ab3 00000129: EQ 0000012a: PUSH2 0x0206 0000012d: JUMPI 0000012e: DUP1 0000012f: PUSH4 0x452a9320 00000134: EQ 00000135: PUSH2 0x0238 00000138: JUMPI 00000139: DUP1 0000013a: PUSH4 0x4870496f 0000013f: EQ 00000140: PUSH2 0x024d 00000143: JUMPI 00000144: PUSH1 0x00 00000146: DUP1 00000147: REVERT 00000148: JUMPDEST 00000149: DUP1 0000014a: PUSH4 0x149f2f22 0000014f: EQ 00000150: PUSH2 0x018f 00000153: JUMPI 00000154: DUP1 00000155: PUSH4 0x33d7e2bd 0000015a: EQ 0000015b: PUSH2 0x01af 0000015e: JUMPI 0000015f: PUSH1 0x00 00000161: DUP1 00000162: REVERT 00000163: JUMPDEST 00000164: CALLDATASIZE 00000165: PUSH2 0x018a 00000168: JUMPI 00000169: PUSH2 0x0188 0000016c: CALLER 0000016d: CALLVALUE 0000016e: PUSH3 0x0186a0 00000172: PUSH1 0x00 00000174: PUSH1 0x40 00000176: MLOAD 00000177: DUP1 00000178: PUSH1 0x20 0000017a: ADD 0000017b: PUSH1 0x40 0000017d: MSTORE 0000017e: DUP1 0000017f: PUSH1 0x00 00000181: DUP2 00000182: MSTORE 00000183: POP 00000184: PUSH2 0x057f 00000187: JUMP 00000188: JUMPDEST 00000189: STOP 0000018a: JUMPDEST 0000018b: PUSH1 0x00 0000018d: DUP1 0000018e: REVERT 0000018f: JUMPDEST 00000190: CALLVALUE 00000191: DUP1 00000192: ISZERO 00000193: PUSH2 0x019b 00000196: JUMPI 00000197: PUSH1 0x00 00000199: DUP1 0000019a: REVERT 0000019b: JUMPDEST 0000019c: POP 0000019d: PUSH2 0x0188 000001a0: PUSH2 0x01aa 000001a3: CALLDATASIZE 000001a4: PUSH1 0x04 000001a6: PUSH2 0x4b97 000001a9: JUMP 000001aa: JUMPDEST 000001ab: PUSH2 0x0624 000001ae: JUMP 000001af: JUMPDEST 000001b0: CALLVALUE 000001b1: DUP1 000001b2: ISZERO 000001b3: PUSH2 0x01bb 000001b6: JUMPI 000001b7: PUSH1 0x00 000001b9: DUP1 000001ba: REVERT 000001bb: JUMPDEST 000001bc: POP 000001bd: PUSH1 0x37 000001bf: SLOAD 000001c0: PUSH2 0x01dc 000001c3: SWAP1 000001c4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001d9: AND 000001da: DUP2 000001db: JUMP 000001dc: JUMPDEST 000001dd: PUSH1 0x40 000001df: MLOAD 000001e0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001f5: SWAP1 000001f6: SWAP2 000001f7: AND 000001f8: DUP2 000001f9: MSTORE 000001fa: PUSH1 0x20 000001fc: ADD 000001fd: JUMPDEST 000001fe: PUSH1 0x40 00000200: MLOAD 00000201: DUP1 00000202: SWAP2 00000203: SUB 00000204: SWAP1 00000205: RETURN 00000206: JUMPDEST 00000207: CALLVALUE 00000208: DUP1 00000209: ISZERO 0000020a: PUSH2 0x0212 0000020d: JUMPI 0000020e: PUSH1 0x00 00000210: DUP1 00000211: REVERT 00000212: JUMPDEST 00000213: POP 00000214: PUSH1 0x35 00000216: SLOAD 00000217: PUSH2 0x01dc 0000021a: SWAP1 0000021b: PUSH2 0x0100 0000021e: SWAP1 0000021f: DIV 00000220: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000235: AND 00000236: DUP2 00000237: JUMP 00000238: JUMPDEST 00000239: CALLVALUE 0000023a: DUP1 0000023b: ISZERO 0000023c: PUSH2 0x0244 0000023f: JUMPI 00000240: PUSH1 0x00 00000242: DUP1 00000243: REVERT 00000244: JUMPDEST 00000245: POP 00000246: PUSH2 0x01dc 00000249: PUSH2 0x0865 0000024c: JUMP 0000024d: JUMPDEST 0000024e: CALLVALUE 0000024f: DUP1 00000250: ISZERO 00000251: PUSH2 0x0259 00000254: JUMPI 00000255: PUSH1 0x00 00000257: DUP1 00000258: REVERT 00000259: JUMPDEST 0000025a: POP 0000025b: PUSH2 0x0188 0000025e: PUSH2 0x0268 00000261: CALLDATASIZE 00000262: PUSH1 0x04 00000264: PUSH2 0x4ccb 00000267: JUMP 00000268: JUMPDEST 00000269: PUSH2 0x08fd 0000026c: JUMP 0000026d: JUMPDEST 0000026e: CALLVALUE 0000026f: DUP1 00000270: ISZERO 00000271: PUSH2 0x0279 00000274: JUMPI 00000275: PUSH1 0x00 00000277: DUP1 00000278: REVERT 00000279: JUMPDEST 0000027a: POP 0000027b: PUSH1 0x40 0000027d: DUP1 0000027e: MLOAD 0000027f: DUP1 00000280: DUP3 00000281: ADD 00000282: DUP3 00000283: MSTORE 00000284: PUSH1 0x0c 00000286: DUP2 00000287: MSTORE 00000288: PUSH32 0x322e382e312d626574612e310000000000000000000000000000000000000000 000002a9: PUSH1 0x20 000002ab: DUP3 000002ac: ADD 000002ad: MSTORE 000002ae: SWAP1 000002af: MLOAD 000002b0: PUSH2 0x01fd 000002b3: SWAP2 000002b4: SWAP1 000002b5: PUSH2 0x4e1d 000002b8: JUMP 000002b9: JUMPDEST 000002ba: CALLVALUE 000002bb: DUP1 000002bc: ISZERO 000002bd: PUSH2 0x02c5 000002c0: JUMPI 000002c1: PUSH1 0x00 000002c3: DUP1 000002c4: REVERT 000002c5: JUMPDEST 000002c6: POP 000002c7: PUSH2 0x02ce 000002ca: PUSH2 0x0eaa 000002cd: JUMP 000002ce: JUMPDEST 000002cf: PUSH1 0x40 000002d1: MLOAD 000002d2: SWAP1 000002d3: ISZERO 000002d4: ISZERO 000002d5: DUP2 000002d6: MSTORE 000002d7: PUSH1 0x20 000002d9: ADD 000002da: PUSH2 0x01fd 000002dd: JUMP 000002de: JUMPDEST 000002df: CALLVALUE 000002e0: DUP1 000002e1: ISZERO 000002e2: PUSH2 0x02ea 000002e5: JUMPI 000002e6: PUSH1 0x00 000002e8: DUP1 000002e9: REVERT 000002ea: JUMPDEST 000002eb: POP 000002ec: PUSH2 0x02ce 000002ef: PUSH2 0x02f9 000002f2: CALLDATASIZE 000002f3: PUSH1 0x04 000002f5: PUSH2 0x4e30 000002f8: JUMP 000002f9: JUMPDEST 000002fa: PUSH2 0x0f3d 000002fd: JUMP 000002fe: JUMPDEST 000002ff: CALLVALUE 00000300: DUP1 00000301: ISZERO 00000302: PUSH2 0x030a 00000305: JUMPI 00000306: PUSH1 0x00 00000308: DUP1 00000309: REVERT 0000030a: JUMPDEST 0000030b: POP 0000030c: PUSH2 0x0188 0000030f: PUSH2 0x0319 00000312: CALLDATASIZE 00000313: PUSH1 0x04 00000315: PUSH2 0x4e58 00000318: JUMP 00000319: JUMPDEST 0000031a: PUSH2 0x0ff8 0000031d: JUMP 0000031e: JUMPDEST 0000031f: CALLVALUE 00000320: DUP1 00000321: ISZERO 00000322: PUSH2 0x032a 00000325: JUMPI 00000326: PUSH1 0x00 00000328: DUP1 00000329: REVERT 0000032a: JUMPDEST 0000032b: POP 0000032c: PUSH2 0x0188 0000032f: PUSH2 0x0339 00000332: CALLDATASIZE 00000333: PUSH1 0x04 00000335: PUSH2 0x4e9e 00000338: JUMP 00000339: JUMPDEST 0000033a: PUSH2 0x11ba 0000033d: JUMP 0000033e: JUMPDEST 0000033f: CALLVALUE 00000340: DUP1 00000341: ISZERO 00000342: PUSH2 0x034a 00000345: JUMPI 00000346: PUSH1 0x00 00000348: DUP1 00000349: REVERT 0000034a: JUMPDEST 0000034b: POP 0000034c: PUSH1 0x36 0000034e: SLOAD 0000034f: PUSH2 0x01dc 00000352: SWAP1 00000353: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000368: AND 00000369: DUP2 0000036a: JUMP 0000036b: JUMPDEST 0000036c: CALLVALUE 0000036d: DUP1 0000036e: ISZERO 0000036f: PUSH2 0x0377 00000372: JUMPI 00000373: PUSH1 0x00 00000375: DUP1 00000376: REVERT 00000377: JUMPDEST 00000378: POP 00000379: PUSH1 0x32 0000037b: SLOAD 0000037c: PUSH2 0x01dc 0000037f: SWAP1 00000380: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000395: AND 00000396: DUP2 00000397: JUMP 00000398: JUMPDEST 00000399: CALLVALUE 0000039a: DUP1 0000039b: ISZERO 0000039c: PUSH2 0x03a4 0000039f: JUMPI 000003a0: PUSH1 0x00 000003a2: DUP1 000003a3: REVERT 000003a4: JUMPDEST 000003a5: POP 000003a6: PUSH2 0x02ce 000003a9: PUSH2 0x03b3 000003ac: CALLDATASIZE 000003ad: PUSH1 0x04 000003af: PUSH2 0x4e30 000003b2: JUMP 000003b3: JUMPDEST 000003b4: PUSH1 0x33 000003b6: PUSH1 0x20 000003b8: MSTORE 000003b9: PUSH1 0x00 000003bb: SWAP1 000003bc: DUP2 000003bd: MSTORE 000003be: PUSH1 0x40 000003c0: SWAP1 000003c1: KECCAK256 000003c2: SLOAD 000003c3: PUSH1 0xff 000003c5: AND 000003c6: DUP2 000003c7: JUMP 000003c8: JUMPDEST 000003c9: CALLVALUE 000003ca: DUP1 000003cb: ISZERO 000003cc: PUSH2 0x03d4 000003cf: JUMPI 000003d0: PUSH1 0x00 000003d2: DUP1 000003d3: REVERT 000003d4: JUMPDEST 000003d5: POP 000003d6: PUSH2 0x03e8 000003d9: PUSH2 0x03e3 000003dc: CALLDATASIZE 000003dd: PUSH1 0x04 000003df: PUSH2 0x4edb 000003e2: JUMP 000003e3: JUMPDEST 000003e4: PUSH2 0x1c3c 000003e7: JUMP 000003e8: JUMPDEST 000003e9: PUSH1 0x40 000003eb: MLOAD 000003ec: PUSH8 0xffffffffffffffff 000003f5: SWAP1 000003f6: SWAP2 000003f7: AND 000003f8: DUP2 000003f9: MSTORE 000003fa: PUSH1 0x20 000003fc: ADD 000003fd: PUSH2 0x01fd 00000400: JUMP 00000401: JUMPDEST 00000402: CALLVALUE 00000403: DUP1 00000404: ISZERO 00000405: PUSH2 0x040d 00000408: JUMPI 00000409: PUSH1 0x00 0000040b: DUP1 0000040c: REVERT 0000040d: JUMPDEST 0000040e: POP 0000040f: PUSH2 0x0416 00000412: PUSH2 0x1c55 00000415: JUMP 00000416: JUMPDEST 00000417: PUSH1 0x40 00000419: MLOAD 0000041a: SWAP1 0000041b: DUP2 0000041c: MSTORE 0000041d: PUSH1 0x20 0000041f: ADD 00000420: PUSH2 0x01fd 00000423: JUMP 00000424: JUMPDEST 00000425: CALLVALUE 00000426: DUP1 00000427: ISZERO 00000428: PUSH2 0x0430 0000042b: JUMPI 0000042c: PUSH1 0x00 0000042e: DUP1 0000042f: REVERT 00000430: JUMPDEST 00000431: POP 00000432: PUSH2 0x0188 00000435: PUSH2 0x043f 00000438: CALLDATASIZE 00000439: PUSH1 0x04 0000043b: PUSH2 0x4ef6 0000043e: JUMP 0000043f: JUMPDEST 00000440: PUSH2 0x1caf 00000443: JUMP 00000444: JUMPDEST 00000445: CALLVALUE 00000446: DUP1 00000447: ISZERO 00000448: PUSH2 0x0450 0000044b: JUMPI 0000044c: PUSH1 0x00 0000044e: DUP1 0000044f: REVERT 00000450: JUMPDEST 00000451: POP 00000452: PUSH1 0x01 00000454: SLOAD 00000455: PUSH2 0x04ac 00000458: SWAP1 00000459: PUSH16 0xffffffffffffffffffffffffffffffff 0000046a: DUP2 0000046b: AND 0000046c: SWAP1 0000046d: PUSH8 0xffffffffffffffff 00000476: PUSH17 0x0100000000000000000000000000000000 00000488: DUP3 00000489: DIV 0000048a: DUP2 0000048b: AND 0000048c: SWAP2 0000048d: PUSH25 0x01000000000000000000000000000000000000000000000000 000004a7: SWAP1 000004a8: DIV 000004a9: AND 000004aa: DUP4 000004ab: JUMP 000004ac: JUMPDEST 000004ad: PUSH1 0x40 000004af: DUP1 000004b0: MLOAD 000004b1: PUSH16 0xffffffffffffffffffffffffffffffff 000004c2: SWAP1 000004c3: SWAP5 000004c4: AND 000004c5: DUP5 000004c6: MSTORE 000004c7: PUSH8 0xffffffffffffffff 000004d0: SWAP3 000004d1: DUP4 000004d2: AND 000004d3: PUSH1 0x20 000004d5: DUP6 000004d6: ADD 000004d7: MSTORE 000004d8: SWAP2 000004d9: AND 000004da: SWAP1 000004db: DUP3 000004dc: ADD 000004dd: MSTORE 000004de: PUSH1 0x60 000004e0: ADD 000004e1: PUSH2 0x01fd 000004e4: JUMP 000004e5: JUMPDEST 000004e6: CALLVALUE 000004e7: DUP1 000004e8: ISZERO 000004e9: PUSH2 0x04f1 000004ec: JUMPI 000004ed: PUSH1 0x00 000004ef: DUP1 000004f0: REVERT 000004f1: JUMPDEST 000004f2: POP 000004f3: PUSH2 0x0543 000004f6: PUSH2 0x0500 000004f9: CALLDATASIZE 000004fa: PUSH1 0x04 000004fc: PUSH2 0x4e30 000004ff: JUMP 00000500: JUMPDEST 00000501: PUSH1 0x34 00000503: PUSH1 0x20 00000505: MSTORE 00000506: PUSH1 0x00 00000508: SWAP1 00000509: DUP2 0000050a: MSTORE 0000050b: PUSH1 0x40 0000050d: SWAP1 0000050e: KECCAK256 0000050f: DUP1 00000510: SLOAD 00000511: PUSH1 0x01 00000513: SWAP1 00000514: SWAP2 00000515: ADD 00000516: SLOAD 00000517: PUSH16 0xffffffffffffffffffffffffffffffff 00000528: DUP1 00000529: DUP3 0000052a: AND 0000052b: SWAP2 0000052c: PUSH17 0x0100000000000000000000000000000000 0000053e: SWAP1 0000053f: DIV 00000540: AND 00000541: DUP4 00000542: JUMP 00000543: JUMPDEST 00000544: PUSH1 0x40 00000546: DUP1 00000547: MLOAD 00000548: SWAP4 00000549: DUP5 0000054a: MSTORE 0000054b: PUSH16 0xffffffffffffffffffffffffffffffff 0000055c: SWAP3 0000055d: DUP4 0000055e: AND 0000055f: PUSH1 0x20 00000561: DUP6 00000562: ADD 00000563: MSTORE 00000564: SWAP2 00000565: AND 00000566: SWAP1 00000567: DUP3 00000568: ADD 00000569: MSTORE 0000056a: PUSH1 0x60 0000056c: ADD 0000056d: PUSH2 0x01fd 00000570: JUMP 00000571: JUMPDEST 00000572: PUSH2 0x0188 00000575: PUSH2 0x057f 00000578: CALLDATASIZE 00000579: PUSH1 0x04 0000057b: PUSH2 0x4f41 0000057e: JUMP 0000057f: JUMPDEST 00000580: DUP3 00000581: PUSH1 0x00 00000583: GAS 00000584: SWAP1 00000585: POP 00000586: PUSH1 0x00 00000588: PUSH2 0x058f 0000058b: PUSH2 0x1f19 0000058e: JUMP 0000058f: JUMPDEST 00000590: POP 00000591: SWAP1 00000592: POP 00000593: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000005a8: DUP2 000005a9: AND 000005aa: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 000005bf: EQ 000005c0: DUP1 000005c1: ISZERO 000005c2: SWAP1 000005c3: PUSH2 0x05cb 000005c6: JUMPI 000005c7: POP 000005c8: CALLVALUE 000005c9: ISZERO 000005ca: ISZERO 000005cb: JUMPDEST 000005cc: ISZERO 000005cd: PUSH2 0x0602 000005d0: JUMPI 000005d1: PUSH1 0x40 000005d3: MLOAD 000005d4: PUSH32 0xf2365b5b00000000000000000000000000000000000000000000000000000000 000005f5: DUP2 000005f6: MSTORE 000005f7: PUSH1 0x04 000005f9: ADD 000005fa: PUSH1 0x40 000005fc: MLOAD 000005fd: DUP1 000005fe: SWAP2 000005ff: SUB 00000600: SWAP1 00000601: REVERT 00000602: JUMPDEST 00000603: PUSH2 0x0610 00000606: DUP9 00000607: CALLVALUE 00000608: DUP10 00000609: DUP10 0000060a: DUP10 0000060b: DUP10 0000060c: PUSH2 0x1fb6 0000060f: JUMP 00000610: JUMPDEST 00000611: POP 00000612: PUSH2 0x061b 00000615: DUP3 00000616: DUP3 00000617: PUSH2 0x2162 0000061a: JUMP 0000061b: JUMPDEST 0000061c: POP 0000061d: POP 0000061e: POP 0000061f: POP 00000620: POP 00000621: POP 00000622: POP 00000623: JUMP 00000624: JUMPDEST 00000625: DUP3 00000626: PUSH1 0x00 00000628: GAS 00000629: SWAP1 0000062a: POP 0000062b: PUSH1 0x00 0000062d: PUSH2 0x0634 00000630: PUSH2 0x1f19 00000633: JUMP 00000634: JUMPDEST 00000635: POP 00000636: SWAP1 00000637: POP 00000638: PUSH32 0xffffffffffffffffffffffff1111111111111111111111111111111111111112 00000659: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000066e: DUP3 0000066f: AND 00000670: ADD 00000671: PUSH2 0x06a6 00000674: JUMPI 00000675: PUSH1 0x40 00000677: MLOAD 00000678: PUSH32 0x0eaf3c0f00000000000000000000000000000000000000000000000000000000 00000699: DUP2 0000069a: MSTORE 0000069b: PUSH1 0x04 0000069d: ADD 0000069e: PUSH1 0x40 000006a0: MLOAD 000006a1: DUP1 000006a2: SWAP2 000006a3: SUB 000006a4: SWAP1 000006a5: REVERT 000006a6: JUMPDEST 000006a7: DUP8 000006a8: PUSH1 0x3d 000006aa: PUSH1 0x00 000006ac: DUP3 000006ad: DUP3 000006ae: SLOAD 000006af: PUSH2 0x06b8 000006b2: SWAP2 000006b3: SWAP1 000006b4: PUSH2 0x4fed 000006b7: JUMP 000006b8: JUMPDEST 000006b9: SWAP1 000006ba: SWAP2 000006bb: SSTORE 000006bc: POP 000006bd: POP 000006be: PUSH1 0x40 000006c0: MLOAD 000006c1: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000 000006e2: DUP2 000006e3: MSTORE 000006e4: ADDRESS 000006e5: PUSH1 0x04 000006e7: DUP3 000006e8: ADD 000006e9: MSTORE 000006ea: PUSH1 0x00 000006ec: SWAP1 000006ed: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000702: DUP4 00000703: AND 00000704: SWAP1 00000705: PUSH4 0x70a08231 0000070a: SWAP1 0000070b: PUSH1 0x24 0000070d: ADD 0000070e: PUSH1 0x20 00000710: PUSH1 0x40 00000712: MLOAD 00000713: DUP1 00000714: DUP4 00000715: SUB 00000716: DUP2 00000717: DUP7 00000718: GAS 00000719: STATICCALL 0000071a: ISZERO 0000071b: DUP1 0000071c: ISZERO 0000071d: PUSH2 0x072a 00000720: JUMPI 00000721: RETURNDATASIZE 00000722: PUSH1 0x00 00000724: DUP1 00000725: RETURNDATACOPY 00000726: RETURNDATASIZE 00000727: PUSH1 0x00 00000729: REVERT 0000072a: JUMPDEST 0000072b: POP 0000072c: POP 0000072d: POP 0000072e: POP 0000072f: PUSH1 0x40 00000731: MLOAD 00000732: RETURNDATASIZE 00000733: PUSH1 0x1f 00000735: NOT 00000736: PUSH1 0x1f 00000738: DUP3 00000739: ADD 0000073a: AND 0000073b: DUP3 0000073c: ADD 0000073d: DUP1 0000073e: PUSH1 0x40 00000740: MSTORE 00000741: POP 00000742: DUP2 00000743: ADD 00000744: SWAP1 00000745: PUSH2 0x074e 00000748: SWAP2 00000749: SWAP1 0000074a: PUSH2 0x5005 0000074d: JUMP 0000074e: JUMPDEST 0000074f: SWAP1 00000750: POP 00000751: PUSH2 0x0772 00000754: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000769: DUP4 0000076a: AND 0000076b: CALLER 0000076c: ADDRESS 0000076d: DUP13 0000076e: PUSH2 0x242f 00000771: JUMP 00000772: JUMPDEST 00000773: PUSH2 0x077c 00000776: DUP10 00000777: DUP3 00000778: PUSH2 0x4fed 0000077b: JUMP 0000077c: JUMPDEST 0000077d: PUSH1 0x40 0000077f: MLOAD 00000780: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000 000007a1: DUP2 000007a2: MSTORE 000007a3: ADDRESS 000007a4: PUSH1 0x04 000007a6: DUP3 000007a7: ADD 000007a8: MSTORE 000007a9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007be: DUP5 000007bf: AND 000007c0: SWAP1 000007c1: PUSH4 0x70a08231 000007c6: SWAP1 000007c7: PUSH1 0x24 000007c9: ADD 000007ca: PUSH1 0x20 000007cc: PUSH1 0x40 000007ce: MLOAD 000007cf: DUP1 000007d0: DUP4 000007d1: SUB 000007d2: DUP2 000007d3: DUP7 000007d4: GAS 000007d5: STATICCALL 000007d6: ISZERO 000007d7: DUP1 000007d8: ISZERO 000007d9: PUSH2 0x07e6 000007dc: JUMPI 000007dd: RETURNDATASIZE 000007de: PUSH1 0x00 000007e0: DUP1 000007e1: RETURNDATACOPY 000007e2: RETURNDATASIZE 000007e3: PUSH1 0x00 000007e5: REVERT 000007e6: JUMPDEST 000007e7: POP 000007e8: POP 000007e9: POP 000007ea: POP 000007eb: PUSH1 0x40 000007ed: MLOAD 000007ee: RETURNDATASIZE 000007ef: PUSH1 0x1f 000007f1: NOT 000007f2: PUSH1 0x1f 000007f4: DUP3 000007f5: ADD 000007f6: AND 000007f7: DUP3 000007f8: ADD 000007f9: DUP1 000007fa: PUSH1 0x40 000007fc: MSTORE 000007fd: POP 000007fe: DUP2 000007ff: ADD 00000800: SWAP1 00000801: PUSH2 0x080a 00000804: SWAP2 00000805: SWAP1 00000806: PUSH2 0x5005 00000809: JUMP 0000080a: JUMPDEST 0000080b: EQ 0000080c: PUSH2 0x0841 0000080f: JUMPI 00000810: PUSH1 0x40 00000812: MLOAD 00000813: PUSH32 0x90b8ec1800000000000000000000000000000000000000000000000000000000 00000834: DUP2 00000835: MSTORE 00000836: PUSH1 0x04 00000838: ADD 00000839: PUSH1 0x40 0000083b: MLOAD 0000083c: DUP1 0000083d: SWAP2 0000083e: SUB 0000083f: SWAP1 00000840: REVERT 00000841: JUMPDEST 00000842: PUSH2 0x084f 00000845: DUP11 00000846: DUP11 00000847: DUP11 00000848: DUP11 00000849: DUP11 0000084a: DUP11 0000084b: PUSH2 0x1fb6 0000084e: JUMP 0000084f: JUMPDEST 00000850: POP 00000851: POP 00000852: PUSH2 0x085b 00000855: DUP3 00000856: DUP3 00000857: PUSH2 0x2162 0000085a: JUMP 0000085b: JUMPDEST 0000085c: POP 0000085d: POP 0000085e: POP 0000085f: POP 00000860: POP 00000861: POP 00000862: POP 00000863: POP 00000864: JUMP 00000865: JUMPDEST 00000866: PUSH1 0x00 00000868: PUSH1 0x35 0000086a: PUSH1 0x01 0000086c: SWAP1 0000086d: SLOAD 0000086e: SWAP1 0000086f: PUSH2 0x0100 00000872: EXP 00000873: SWAP1 00000874: DIV 00000875: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000088a: AND 0000088b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008a0: AND 000008a1: PUSH4 0x452a9320 000008a6: PUSH1 0x40 000008a8: MLOAD 000008a9: DUP2 000008aa: PUSH4 0xffffffff 000008af: AND 000008b0: PUSH1 0xe0 000008b2: SHL 000008b3: DUP2 000008b4: MSTORE 000008b5: PUSH1 0x04 000008b7: ADD 000008b8: PUSH1 0x20 000008ba: PUSH1 0x40 000008bc: MLOAD 000008bd: DUP1 000008be: DUP4 000008bf: SUB 000008c0: DUP2 000008c1: DUP7 000008c2: GAS 000008c3: STATICCALL 000008c4: ISZERO 000008c5: DUP1 000008c6: ISZERO 000008c7: PUSH2 0x08d4 000008ca: JUMPI 000008cb: RETURNDATASIZE 000008cc: PUSH1 0x00 000008ce: DUP1 000008cf: RETURNDATACOPY 000008d0: RETURNDATASIZE 000008d1: PUSH1 0x00 000008d3: REVERT 000008d4: JUMPDEST 000008d5: POP 000008d6: POP 000008d7: POP 000008d8: POP 000008d9: PUSH1 0x40 000008db: MLOAD 000008dc: RETURNDATASIZE 000008dd: PUSH1 0x1f 000008df: NOT 000008e0: PUSH1 0x1f 000008e2: DUP3 000008e3: ADD 000008e4: AND 000008e5: DUP3 000008e6: ADD 000008e7: DUP1 000008e8: PUSH1 0x40 000008ea: MSTORE 000008eb: POP 000008ec: DUP2 000008ed: ADD 000008ee: SWAP1 000008ef: PUSH2 0x08f8 000008f2: SWAP2 000008f3: SWAP1 000008f4: PUSH2 0x501e 000008f7: JUMP 000008f8: JUMPDEST 000008f9: SWAP1 000008fa: POP 000008fb: SWAP1 000008fc: JUMP 000008fd: JUMPDEST 000008fe: PUSH2 0x0905 00000901: PUSH2 0x0eaa 00000904: JUMP 00000905: JUMPDEST 00000906: ISZERO 00000907: PUSH2 0x093c 0000090a: JUMPI 0000090b: PUSH1 0x40 0000090d: MLOAD 0000090e: PUSH32 0xf480973e00000000000000000000000000000000000000000000000000000000 0000092f: DUP2 00000930: MSTORE 00000931: PUSH1 0x04 00000933: ADD 00000934: PUSH1 0x40 00000936: MLOAD 00000937: DUP1 00000938: SWAP2 00000939: SUB 0000093a: SWAP1 0000093b: REVERT 0000093c: JUMPDEST 0000093d: ADDRESS 0000093e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000953: AND 00000954: DUP6 00000955: PUSH1 0x40 00000957: ADD 00000958: MLOAD 00000959: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000096e: AND 0000096f: SUB 00000970: PUSH2 0x09a5 00000973: JUMPI 00000974: PUSH1 0x40 00000976: MLOAD 00000977: PUSH32 0x13496fda00000000000000000000000000000000000000000000000000000000 00000998: DUP2 00000999: MSTORE 0000099a: PUSH1 0x04 0000099c: ADD 0000099d: PUSH1 0x40 0000099f: MLOAD 000009a0: DUP1 000009a1: SWAP2 000009a2: SUB 000009a3: SWAP1 000009a4: REVERT 000009a5: JUMPDEST 000009a6: PUSH1 0x36 000009a8: SLOAD 000009a9: PUSH1 0x40 000009ab: MLOAD 000009ac: PUSH32 0xa25ae55700000000000000000000000000000000000000000000000000000000 000009cd: DUP2 000009ce: MSTORE 000009cf: PUSH1 0x04 000009d1: DUP2 000009d2: ADD 000009d3: DUP7 000009d4: SWAP1 000009d5: MSTORE 000009d6: PUSH1 0x00 000009d8: SWAP2 000009d9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000009ee: AND 000009ef: SWAP1 000009f0: PUSH4 0xa25ae557 000009f5: SWAP1 000009f6: PUSH1 0x24 000009f8: ADD 000009f9: PUSH1 0x60 000009fb: PUSH1 0x40 000009fd: MLOAD 000009fe: DUP1 000009ff: DUP4 00000a00: SUB 00000a01: DUP2 00000a02: DUP7 00000a03: GAS 00000a04: STATICCALL 00000a05: ISZERO 00000a06: DUP1 00000a07: ISZERO 00000a08: PUSH2 0x0a15 00000a0b: JUMPI 00000a0c: RETURNDATASIZE 00000a0d: PUSH1 0x00 00000a0f: DUP1 00000a10: RETURNDATACOPY 00000a11: RETURNDATASIZE 00000a12: PUSH1 0x00 00000a14: REVERT 00000a15: JUMPDEST 00000a16: POP 00000a17: POP 00000a18: POP 00000a19: POP 00000a1a: PUSH1 0x40 00000a1c: MLOAD 00000a1d: RETURNDATASIZE 00000a1e: PUSH1 0x1f 00000a20: NOT 00000a21: PUSH1 0x1f 00000a23: DUP3 00000a24: ADD 00000a25: AND 00000a26: DUP3 00000a27: ADD 00000a28: DUP1 00000a29: PUSH1 0x40 00000a2b: MSTORE 00000a2c: POP 00000a2d: DUP2 00000a2e: ADD 00000a2f: SWAP1 00000a30: PUSH2 0x0a39 00000a33: SWAP2 00000a34: SWAP1 00000a35: PUSH2 0x505b 00000a38: JUMP 00000a39: JUMPDEST 00000a3a: MLOAD 00000a3b: SWAP1 00000a3c: POP 00000a3d: PUSH2 0x0a53 00000a40: PUSH2 0x0a4e 00000a43: CALLDATASIZE 00000a44: DUP7 00000a45: SWAP1 00000a46: SUB 00000a47: DUP7 00000a48: ADD 00000a49: DUP7 00000a4a: PUSH2 0x50c0 00000a4d: JUMP 00000a4e: JUMPDEST 00000a4f: PUSH2 0x250b 00000a52: JUMP 00000a53: JUMPDEST 00000a54: DUP2 00000a55: EQ 00000a56: PUSH2 0x0ae6 00000a59: JUMPI 00000a5a: PUSH1 0x40 00000a5c: MLOAD 00000a5d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000a7e: DUP2 00000a7f: MSTORE 00000a80: PUSH1 0x20 00000a82: PUSH1 0x04 00000a84: DUP3 00000a85: ADD 00000a86: MSTORE 00000a87: PUSH1 0x29 00000a89: PUSH1 0x24 00000a8b: DUP3 00000a8c: ADD 00000a8d: MSTORE 00000a8e: PUSH32 0x4f7074696d69736d506f7274616c3a20696e76616c6964206f75747075742072 00000aaf: PUSH1 0x44 00000ab1: DUP3 00000ab2: ADD 00000ab3: MSTORE 00000ab4: PUSH32 0x6f6f742070726f6f660000000000000000000000000000000000000000000000 00000ad5: PUSH1 0x64 00000ad7: DUP3 00000ad8: ADD 00000ad9: MSTORE 00000ada: PUSH1 0x84 00000adc: ADD 00000add: JUMPDEST 00000ade: PUSH1 0x40 00000ae0: MLOAD 00000ae1: DUP1 00000ae2: SWAP2 00000ae3: SUB 00000ae4: SWAP1 00000ae5: REVERT 00000ae6: JUMPDEST 00000ae7: PUSH1 0x00 00000ae9: PUSH2 0x0af1 00000aec: DUP8 00000aed: PUSH2 0x2567 00000af0: JUMP 00000af1: JUMPDEST 00000af2: PUSH1 0x00 00000af4: DUP2 00000af5: DUP2 00000af6: MSTORE 00000af7: PUSH1 0x34 00000af9: PUSH1 0x20 00000afb: SWAP1 00000afc: DUP2 00000afd: MSTORE 00000afe: PUSH1 0x40 00000b00: SWAP2 00000b01: DUP3 00000b02: SWAP1 00000b03: KECCAK256 00000b04: DUP3 00000b05: MLOAD 00000b06: PUSH1 0x60 00000b08: DUP2 00000b09: ADD 00000b0a: DUP5 00000b0b: MSTORE 00000b0c: DUP2 00000b0d: SLOAD 00000b0e: DUP2 00000b0f: MSTORE 00000b10: PUSH1 0x01 00000b12: SWAP1 00000b13: SWAP2 00000b14: ADD 00000b15: SLOAD 00000b16: PUSH16 0xffffffffffffffffffffffffffffffff 00000b27: DUP1 00000b28: DUP3 00000b29: AND 00000b2a: SWAP4 00000b2b: DUP4 00000b2c: ADD 00000b2d: DUP5 00000b2e: SWAP1 00000b2f: MSTORE 00000b30: PUSH17 0x0100000000000000000000000000000000 00000b42: SWAP1 00000b43: SWAP2 00000b44: DIV 00000b45: AND 00000b46: SWAP3 00000b47: DUP2 00000b48: ADD 00000b49: SWAP3 00000b4a: SWAP1 00000b4b: SWAP3 00000b4c: MSTORE 00000b4d: SWAP2 00000b4e: SWAP3 00000b4f: POP 00000b50: SWAP1 00000b51: ISZERO 00000b52: DUP1 00000b53: PUSH2 0x0c07 00000b56: JUMPI 00000b57: POP 00000b58: DUP1 00000b59: MLOAD 00000b5a: PUSH1 0x36 00000b5c: SLOAD 00000b5d: PUSH1 0x40 00000b5f: DUP1 00000b60: DUP5 00000b61: ADD 00000b62: MLOAD 00000b63: SWAP1 00000b64: MLOAD 00000b65: PUSH32 0xa25ae55700000000000000000000000000000000000000000000000000000000 00000b86: DUP2 00000b87: MSTORE 00000b88: PUSH16 0xffffffffffffffffffffffffffffffff 00000b99: SWAP1 00000b9a: SWAP2 00000b9b: AND 00000b9c: PUSH1 0x04 00000b9e: DUP3 00000b9f: ADD 00000ba0: MSTORE 00000ba1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000bb6: SWAP1 00000bb7: SWAP2 00000bb8: AND 00000bb9: SWAP1 00000bba: PUSH4 0xa25ae557 00000bbf: SWAP1 00000bc0: PUSH1 0x24 00000bc2: ADD 00000bc3: PUSH1 0x60 00000bc5: PUSH1 0x40 00000bc7: MLOAD 00000bc8: DUP1 00000bc9: DUP4 00000bca: SUB 00000bcb: DUP2 00000bcc: DUP7 00000bcd: GAS 00000bce: STATICCALL 00000bcf: ISZERO 00000bd0: DUP1 00000bd1: ISZERO 00000bd2: PUSH2 0x0bdf 00000bd5: JUMPI 00000bd6: RETURNDATASIZE 00000bd7: PUSH1 0x00 00000bd9: DUP1 00000bda: RETURNDATACOPY 00000bdb: RETURNDATASIZE 00000bdc: PUSH1 0x00 00000bde: REVERT 00000bdf: JUMPDEST 00000be0: POP 00000be1: POP 00000be2: POP 00000be3: POP 00000be4: PUSH1 0x40 00000be6: MLOAD 00000be7: RETURNDATASIZE 00000be8: PUSH1 0x1f 00000bea: NOT 00000beb: PUSH1 0x1f 00000bed: DUP3 00000bee: ADD 00000bef: AND 00000bf0: DUP3 00000bf1: ADD 00000bf2: DUP1 00000bf3: PUSH1 0x40 00000bf5: MSTORE 00000bf6: POP 00000bf7: DUP2 00000bf8: ADD 00000bf9: SWAP1 00000bfa: PUSH2 0x0c03 00000bfd: SWAP2 00000bfe: SWAP1 00000bff: PUSH2 0x505b 00000c02: JUMP 00000c03: JUMPDEST 00000c04: MLOAD 00000c05: EQ 00000c06: ISZERO 00000c07: JUMPDEST 00000c08: PUSH2 0x0c93 00000c0b: JUMPI 00000c0c: PUSH1 0x40 00000c0e: MLOAD 00000c0f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000c30: DUP2 00000c31: MSTORE 00000c32: PUSH1 0x20 00000c34: PUSH1 0x04 00000c36: DUP3 00000c37: ADD 00000c38: MSTORE 00000c39: PUSH1 0x37 00000c3b: PUSH1 0x24 00000c3d: DUP3 00000c3e: ADD 00000c3f: MSTORE 00000c40: PUSH32 0x4f7074696d69736d506f7274616c3a207769746864726177616c206861736820 00000c61: PUSH1 0x44 00000c63: DUP3 00000c64: ADD 00000c65: MSTORE 00000c66: PUSH32 0x68617320616c7265616479206265656e2070726f76656e000000000000000000 00000c87: PUSH1 0x64 00000c89: DUP3 00000c8a: ADD 00000c8b: MSTORE 00000c8c: PUSH1 0x84 00000c8e: ADD 00000c8f: PUSH2 0x0add 00000c92: JUMP 00000c93: JUMPDEST 00000c94: PUSH1 0x40 00000c96: DUP1 00000c97: MLOAD 00000c98: PUSH1 0x20 00000c9a: DUP2 00000c9b: ADD 00000c9c: DUP5 00000c9d: SWAP1 00000c9e: MSTORE 00000c9f: PUSH1 0x00 00000ca1: SWAP2 00000ca2: DUP2 00000ca3: ADD 00000ca4: DUP3 00000ca5: SWAP1 00000ca6: MSTORE 00000ca7: PUSH1 0x60 00000ca9: ADD 00000caa: PUSH1 0x40 00000cac: DUP1 00000cad: MLOAD 00000cae: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00000ccf: DUP2 00000cd0: DUP5 00000cd1: SUB 00000cd2: ADD 00000cd3: DUP2 00000cd4: MSTORE 00000cd5: DUP3 00000cd6: DUP3 00000cd7: MSTORE 00000cd8: DUP1 00000cd9: MLOAD 00000cda: PUSH1 0x20 00000cdc: SWAP2 00000cdd: DUP3 00000cde: ADD 00000cdf: KECCAK256 00000ce0: SWAP1 00000ce1: DUP4 00000ce2: ADD 00000ce3: DUP2 00000ce4: SWAP1 00000ce5: MSTORE 00000ce6: SWAP3 00000ce7: POP 00000ce8: PUSH2 0x0d5c 00000ceb: SWAP2 00000cec: ADD 00000ced: PUSH1 0x40 00000cef: DUP1 00000cf0: MLOAD 00000cf1: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00000d12: DUP2 00000d13: DUP5 00000d14: SUB 00000d15: ADD 00000d16: DUP2 00000d17: MSTORE 00000d18: DUP3 00000d19: DUP3 00000d1a: ADD 00000d1b: SWAP1 00000d1c: SWAP2 00000d1d: MSTORE 00000d1e: PUSH1 0x01 00000d20: DUP3 00000d21: MSTORE 00000d22: PUSH32 0x0100000000000000000000000000000000000000000000000000000000000000 00000d43: PUSH1 0x20 00000d45: DUP4 00000d46: ADD 00000d47: MSTORE 00000d48: SWAP1 00000d49: PUSH2 0x0d52 00000d4c: DUP9 00000d4d: DUP11 00000d4e: PUSH2 0x5126 00000d51: JUMP 00000d52: JUMPDEST 00000d53: DUP11 00000d54: PUSH1 0x40 00000d56: ADD 00000d57: CALLDATALOAD 00000d58: PUSH2 0x2597 00000d5b: JUMP 00000d5c: JUMPDEST 00000d5d: PUSH2 0x0de8 00000d60: JUMPI 00000d61: PUSH1 0x40 00000d63: MLOAD 00000d64: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000d85: DUP2 00000d86: MSTORE 00000d87: PUSH1 0x20 00000d89: PUSH1 0x04 00000d8b: DUP3 00000d8c: ADD 00000d8d: MSTORE 00000d8e: PUSH1 0x32 00000d90: PUSH1 0x24 00000d92: DUP3 00000d93: ADD 00000d94: MSTORE 00000d95: PUSH32 0x4f7074696d69736d506f7274616c3a20696e76616c6964207769746864726177 00000db6: PUSH1 0x44 00000db8: DUP3 00000db9: ADD 00000dba: MSTORE 00000dbb: PUSH32 0x616c20696e636c7573696f6e2070726f6f660000000000000000000000000000 00000ddc: PUSH1 0x64 00000dde: DUP3 00000ddf: ADD 00000de0: MSTORE 00000de1: PUSH1 0x84 00000de3: ADD 00000de4: PUSH2 0x0add 00000de7: JUMP 00000de8: JUMPDEST 00000de9: PUSH1 0x40 00000deb: DUP1 00000dec: MLOAD 00000ded: PUSH1 0x60 00000def: DUP2 00000df0: ADD 00000df1: DUP3 00000df2: MSTORE 00000df3: DUP6 00000df4: DUP2 00000df5: MSTORE 00000df6: PUSH16 0xffffffffffffffffffffffffffffffff 00000e07: TIMESTAMP 00000e08: DUP2 00000e09: AND 00000e0a: PUSH1 0x20 00000e0c: DUP1 00000e0d: DUP5 00000e0e: ADD 00000e0f: SWAP2 00000e10: DUP3 00000e11: MSTORE 00000e12: DUP13 00000e13: DUP4 00000e14: AND 00000e15: DUP5 00000e16: DUP7 00000e17: ADD 00000e18: SWAP1 00000e19: DUP2 00000e1a: MSTORE 00000e1b: PUSH1 0x00 00000e1d: DUP10 00000e1e: DUP2 00000e1f: MSTORE 00000e20: PUSH1 0x34 00000e22: DUP4 00000e23: MSTORE 00000e24: DUP7 00000e25: DUP2 00000e26: KECCAK256 00000e27: SWAP6 00000e28: MLOAD 00000e29: DUP7 00000e2a: SSTORE 00000e2b: SWAP3 00000e2c: MLOAD 00000e2d: SWAP1 00000e2e: MLOAD 00000e2f: DUP5 00000e30: AND 00000e31: PUSH17 0x0100000000000000000000000000000000 00000e43: MUL 00000e44: SWAP4 00000e45: AND 00000e46: SWAP3 00000e47: SWAP1 00000e48: SWAP3 00000e49: OR 00000e4a: PUSH1 0x01 00000e4c: SWAP1 00000e4d: SWAP4 00000e4e: ADD 00000e4f: SWAP3 00000e50: SWAP1 00000e51: SWAP3 00000e52: SSTORE 00000e53: DUP12 00000e54: DUP4 00000e55: ADD 00000e56: MLOAD 00000e57: SWAP1 00000e58: DUP13 00000e59: ADD 00000e5a: MLOAD 00000e5b: SWAP3 00000e5c: MLOAD 00000e5d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e72: SWAP2 00000e73: DUP3 00000e74: AND 00000e75: SWAP4 00000e76: SWAP1 00000e77: SWAP2 00000e78: AND 00000e79: SWAP2 00000e7a: DUP7 00000e7b: SWAP2 00000e7c: PUSH32 0x67a6208cfcc0801d50f6cbe764733f4fddf66ac0b04442061a8a8c0cb6b63f62 00000e9d: SWAP2 00000e9e: SWAP1 00000e9f: LOG4 00000ea0: POP 00000ea1: POP 00000ea2: POP 00000ea3: POP 00000ea4: POP 00000ea5: POP 00000ea6: POP 00000ea7: POP 00000ea8: POP 00000ea9: JUMP 00000eaa: JUMPDEST 00000eab: PUSH1 0x00 00000ead: PUSH1 0x35 00000eaf: PUSH1 0x01 00000eb1: SWAP1 00000eb2: SLOAD 00000eb3: SWAP1 00000eb4: PUSH2 0x0100 00000eb7: EXP 00000eb8: SWAP1 00000eb9: DIV 00000eba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ecf: AND 00000ed0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ee5: AND 00000ee6: PUSH4 0x5c975abb 00000eeb: PUSH1 0x40 00000eed: MLOAD 00000eee: DUP2 00000eef: PUSH4 0xffffffff 00000ef4: AND 00000ef5: PUSH1 0xe0 00000ef7: SHL 00000ef8: DUP2 00000ef9: MSTORE 00000efa: PUSH1 0x04 00000efc: ADD 00000efd: PUSH1 0x20 00000eff: PUSH1 0x40 00000f01: MLOAD 00000f02: DUP1 00000f03: DUP4 00000f04: SUB 00000f05: DUP2 00000f06: DUP7 00000f07: GAS 00000f08: STATICCALL 00000f09: ISZERO 00000f0a: DUP1 00000f0b: ISZERO 00000f0c: PUSH2 0x0f19 00000f0f: JUMPI 00000f10: RETURNDATASIZE 00000f11: PUSH1 0x00 00000f13: DUP1 00000f14: RETURNDATACOPY 00000f15: RETURNDATASIZE 00000f16: PUSH1 0x00 00000f18: REVERT 00000f19: JUMPDEST 00000f1a: POP 00000f1b: POP 00000f1c: POP 00000f1d: POP 00000f1e: PUSH1 0x40 00000f20: MLOAD 00000f21: RETURNDATASIZE 00000f22: PUSH1 0x1f 00000f24: NOT 00000f25: PUSH1 0x1f 00000f27: DUP3 00000f28: ADD 00000f29: AND 00000f2a: DUP3 00000f2b: ADD 00000f2c: DUP1 00000f2d: PUSH1 0x40 00000f2f: MSTORE 00000f30: POP 00000f31: DUP2 00000f32: ADD 00000f33: SWAP1 00000f34: PUSH2 0x08f8 00000f37: SWAP2 00000f38: SWAP1 00000f39: PUSH2 0x51aa 00000f3c: JUMP 00000f3d: JUMPDEST 00000f3e: PUSH1 0x36 00000f40: SLOAD 00000f41: PUSH1 0x40 00000f43: MLOAD 00000f44: PUSH32 0xa25ae55700000000000000000000000000000000000000000000000000000000 00000f65: DUP2 00000f66: MSTORE 00000f67: PUSH1 0x04 00000f69: DUP2 00000f6a: ADD 00000f6b: DUP4 00000f6c: SWAP1 00000f6d: MSTORE 00000f6e: PUSH1 0x00 00000f70: SWAP2 00000f71: PUSH2 0x0ff2 00000f74: SWAP2 00000f75: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f8a: SWAP1 00000f8b: SWAP2 00000f8c: AND 00000f8d: SWAP1 00000f8e: PUSH4 0xa25ae557 00000f93: SWAP1 00000f94: PUSH1 0x24 00000f96: ADD 00000f97: PUSH1 0x60 00000f99: PUSH1 0x40 00000f9b: MLOAD 00000f9c: DUP1 00000f9d: DUP4 00000f9e: SUB 00000f9f: DUP2 00000fa0: DUP7 00000fa1: GAS 00000fa2: STATICCALL 00000fa3: ISZERO 00000fa4: DUP1 00000fa5: ISZERO 00000fa6: PUSH2 0x0fb3 00000fa9: JUMPI 00000faa: RETURNDATASIZE 00000fab: PUSH1 0x00 00000fad: DUP1 00000fae: RETURNDATACOPY 00000faf: RETURNDATASIZE 00000fb0: PUSH1 0x00 00000fb2: REVERT 00000fb3: JUMPDEST 00000fb4: POP 00000fb5: POP 00000fb6: POP 00000fb7: POP 00000fb8: PUSH1 0x40 00000fba: MLOAD 00000fbb: RETURNDATASIZE 00000fbc: PUSH1 0x1f 00000fbe: NOT 00000fbf: PUSH1 0x1f 00000fc1: DUP3 00000fc2: ADD 00000fc3: AND 00000fc4: DUP3 00000fc5: ADD 00000fc6: DUP1 00000fc7: PUSH1 0x40 00000fc9: MSTORE 00000fca: POP 00000fcb: DUP2 00000fcc: ADD 00000fcd: SWAP1 00000fce: PUSH2 0x0fd7 00000fd1: SWAP2 00000fd2: SWAP1 00000fd3: PUSH2 0x505b 00000fd6: JUMP 00000fd7: JUMPDEST 00000fd8: PUSH1 0x20 00000fda: ADD 00000fdb: MLOAD 00000fdc: PUSH16 0xffffffffffffffffffffffffffffffff 00000fed: AND 00000fee: PUSH2 0x25bb 00000ff1: JUMP 00000ff2: JUMPDEST 00000ff3: SWAP3 00000ff4: SWAP2 00000ff5: POP 00000ff6: POP 00000ff7: JUMP 00000ff8: JUMPDEST 00000ff9: PUSH1 0x37 00000ffb: SLOAD 00000ffc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001011: AND 00001012: CALLER 00001013: EQ 00001014: PUSH2 0x1049 00001017: JUMPI 00001018: PUSH1 0x40 0000101a: MLOAD 0000101b: PUSH32 0x82b4290000000000000000000000000000000000000000000000000000000000 0000103c: DUP2 0000103d: MSTORE 0000103e: PUSH1 0x04 00001040: ADD 00001041: PUSH1 0x40 00001043: MLOAD 00001044: DUP1 00001045: SWAP2 00001046: SUB 00001047: SWAP1 00001048: REVERT 00001049: JUMPDEST 0000104a: PUSH2 0x1055 0000104d: PUSH3 0x030d40 00001051: PUSH2 0x2661 00001054: JUMP 00001055: JUMPDEST 00001056: PUSH1 0x40 00001058: MLOAD 00001059: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000106e: DUP6 0000106f: AND 00001070: PUSH1 0x24 00001072: DUP3 00001073: ADD 00001074: MSTORE 00001075: PUSH1 0xff 00001077: DUP5 00001078: AND 00001079: PUSH1 0x44 0000107b: DUP3 0000107c: ADD 0000107d: MSTORE 0000107e: PUSH1 0x64 00001080: DUP2 00001081: ADD 00001082: DUP4 00001083: SWAP1 00001084: MSTORE 00001085: PUSH1 0x84 00001087: DUP2 00001088: ADD 00001089: DUP3 0000108a: SWAP1 0000108b: MSTORE 0000108c: PUSH1 0x00 0000108e: SWAP1 0000108f: PUSH20 0x4200000000000000000000000000000000000015 000010a4: SWAP1 000010a5: PUSH20 0xdeaddeaddeaddeaddeaddeaddeaddeaddead0001 000010ba: SWAP1 000010bb: PUSH32 0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32 000010dc: SWAP1 000010dd: DUP5 000010de: SWAP1 000010df: DUP2 000010e0: SWAP1 000010e1: PUSH3 0x030d40 000010e5: SWAP1 000010e6: DUP3 000010e7: SWAP1 000010e8: PUSH1 0xa4 000010ea: ADD 000010eb: PUSH1 0x40 000010ed: DUP1 000010ee: MLOAD 000010ef: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00001110: DUP2 00001111: DUP5 00001112: SUB 00001113: ADD 00001114: DUP2 00001115: MSTORE 00001116: SWAP2 00001117: DUP2 00001118: MSTORE 00001119: PUSH1 0x20 0000111b: DUP1 0000111c: DUP4 0000111d: ADD 0000111e: DUP1 0000111f: MLOAD 00001120: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0000113d: AND 0000113e: PUSH32 0x71cfaa3f00000000000000000000000000000000000000000000000000000000 0000115f: OR 00001160: SWAP1 00001161: MSTORE 00001162: SWAP1 00001163: MLOAD 00001164: PUSH2 0x1172 00001167: SWAP7 00001168: SWAP6 00001169: SWAP5 0000116a: SWAP4 0000116b: SWAP3 0000116c: SWAP2 0000116d: ADD 0000116e: PUSH2 0x51c7 00001171: JUMP 00001172: JUMPDEST 00001173: PUSH1 0x40 00001175: DUP1 00001176: MLOAD 00001177: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00001198: DUP2 00001199: DUP5 0000119a: SUB 0000119b: ADD 0000119c: DUP2 0000119d: MSTORE 0000119e: SWAP1 0000119f: DUP3 000011a0: SWAP1 000011a1: MSTORE 000011a2: PUSH2 0x11aa 000011a5: SWAP2 000011a6: PUSH2 0x4e1d 000011a9: JUMP 000011aa: JUMPDEST 000011ab: PUSH1 0x40 000011ad: MLOAD 000011ae: DUP1 000011af: SWAP2 000011b0: SUB 000011b1: SWAP1 000011b2: LOG4 000011b3: POP 000011b4: POP 000011b5: POP 000011b6: POP 000011b7: JUMP 000011b8: JUMPDEST 000011b9: JUMP 000011ba: JUMPDEST 000011bb: PUSH2 0x11c2 000011be: PUSH2 0x0eaa 000011c1: JUMP 000011c2: JUMPDEST 000011c3: ISZERO 000011c4: PUSH2 0x11f9 000011c7: JUMPI 000011c8: PUSH1 0x40 000011ca: MLOAD 000011cb: PUSH32 0xf480973e00000000000000000000000000000000000000000000000000000000 000011ec: DUP2 000011ed: MSTORE 000011ee: PUSH1 0x04 000011f0: ADD 000011f1: PUSH1 0x40 000011f3: MLOAD 000011f4: DUP1 000011f5: SWAP2 000011f6: SUB 000011f7: SWAP1 000011f8: REVERT 000011f9: JUMPDEST 000011fa: PUSH1 0x32 000011fc: SLOAD 000011fd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001212: AND 00001213: PUSH2 0xdead 00001216: EQ 00001217: PUSH2 0x124c 0000121a: JUMPI 0000121b: PUSH1 0x40 0000121d: MLOAD 0000121e: PUSH32 0x9396d15600000000000000000000000000000000000000000000000000000000 0000123f: DUP2 00001240: MSTORE 00001241: PUSH1 0x04 00001243: ADD 00001244: PUSH1 0x40 00001246: MLOAD 00001247: DUP1 00001248: SWAP2 00001249: SUB 0000124a: SWAP1 0000124b: REVERT 0000124c: JUMPDEST 0000124d: PUSH1 0x00 0000124f: PUSH2 0x1257 00001252: DUP3 00001253: PUSH2 0x2567 00001256: JUMP 00001257: JUMPDEST 00001258: PUSH1 0x00 0000125a: DUP2 0000125b: DUP2 0000125c: MSTORE 0000125d: PUSH1 0x34 0000125f: PUSH1 0x20 00001261: SWAP1 00001262: DUP2 00001263: MSTORE 00001264: PUSH1 0x40 00001266: DUP1 00001267: DUP4 00001268: KECCAK256 00001269: DUP2 0000126a: MLOAD 0000126b: PUSH1 0x60 0000126d: DUP2 0000126e: ADD 0000126f: DUP4 00001270: MSTORE 00001271: DUP2 00001272: SLOAD 00001273: DUP2 00001274: MSTORE 00001275: PUSH1 0x01 00001277: SWAP1 00001278: SWAP2 00001279: ADD 0000127a: SLOAD 0000127b: PUSH16 0xffffffffffffffffffffffffffffffff 0000128c: DUP1 0000128d: DUP3 0000128e: AND 0000128f: SWAP5 00001290: DUP4 00001291: ADD 00001292: DUP6 00001293: SWAP1 00001294: MSTORE 00001295: PUSH17 0x0100000000000000000000000000000000 000012a7: SWAP1 000012a8: SWAP2 000012a9: DIV 000012aa: AND 000012ab: SWAP2 000012ac: DUP2 000012ad: ADD 000012ae: SWAP2 000012af: SWAP1 000012b0: SWAP2 000012b1: MSTORE 000012b2: SWAP3 000012b3: SWAP4 000012b4: POP 000012b5: SWAP1 000012b6: SUB 000012b7: PUSH2 0x1342 000012ba: JUMPI 000012bb: PUSH1 0x40 000012bd: MLOAD 000012be: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000012df: DUP2 000012e0: MSTORE 000012e1: PUSH1 0x20 000012e3: PUSH1 0x04 000012e5: DUP3 000012e6: ADD 000012e7: MSTORE 000012e8: PUSH1 0x32 000012ea: PUSH1 0x24 000012ec: DUP3 000012ed: ADD 000012ee: MSTORE 000012ef: PUSH32 0x4f7074696d69736d506f7274616c3a207769746864726177616c20686173206e 00001310: PUSH1 0x44 00001312: DUP3 00001313: ADD 00001314: MSTORE 00001315: PUSH32 0x6f74206265656e2070726f76656e207965740000000000000000000000000000 00001336: PUSH1 0x64 00001338: DUP3 00001339: ADD 0000133a: MSTORE 0000133b: PUSH1 0x84 0000133d: ADD 0000133e: PUSH2 0x0add 00001341: JUMP 00001342: JUMPDEST 00001343: PUSH1 0x36 00001345: PUSH1 0x00 00001347: SWAP1 00001348: SLOAD 00001349: SWAP1 0000134a: PUSH2 0x0100 0000134d: EXP 0000134e: SWAP1 0000134f: DIV 00001350: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001365: AND 00001366: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000137b: AND 0000137c: PUSH4 0x88786272 00001381: PUSH1 0x40 00001383: MLOAD 00001384: DUP2 00001385: PUSH4 0xffffffff 0000138a: AND 0000138b: PUSH1 0xe0 0000138d: SHL 0000138e: DUP2 0000138f: MSTORE 00001390: PUSH1 0x04 00001392: ADD 00001393: PUSH1 0x20 00001395: PUSH1 0x40 00001397: MLOAD 00001398: DUP1 00001399: DUP4 0000139a: SUB 0000139b: DUP2 0000139c: DUP7 0000139d: GAS 0000139e: STATICCALL 0000139f: ISZERO 000013a0: DUP1 000013a1: ISZERO 000013a2: PUSH2 0x13af 000013a5: JUMPI 000013a6: RETURNDATASIZE 000013a7: PUSH1 0x00 000013a9: DUP1 000013aa: RETURNDATACOPY 000013ab: RETURNDATASIZE 000013ac: PUSH1 0x00 000013ae: REVERT 000013af: JUMPDEST 000013b0: POP 000013b1: POP 000013b2: POP 000013b3: POP 000013b4: PUSH1 0x40 000013b6: MLOAD 000013b7: RETURNDATASIZE 000013b8: PUSH1 0x1f 000013ba: NOT 000013bb: PUSH1 0x1f 000013bd: DUP3 000013be: ADD 000013bf: AND 000013c0: DUP3 000013c1: ADD 000013c2: DUP1 000013c3: PUSH1 0x40 000013c5: MSTORE 000013c6: POP 000013c7: DUP2 000013c8: ADD 000013c9: SWAP1 000013ca: PUSH2 0x13d3 000013cd: SWAP2 000013ce: SWAP1 000013cf: PUSH2 0x5005 000013d2: JUMP 000013d3: JUMPDEST 000013d4: DUP2 000013d5: PUSH1 0x20 000013d7: ADD 000013d8: MLOAD 000013d9: PUSH16 0xffffffffffffffffffffffffffffffff 000013ea: AND 000013eb: LT 000013ec: ISZERO 000013ed: PUSH2 0x149e 000013f0: JUMPI 000013f1: PUSH1 0x40 000013f3: MLOAD 000013f4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001415: DUP2 00001416: MSTORE 00001417: PUSH1 0x20 00001419: PUSH1 0x04 0000141b: DUP3 0000141c: ADD 0000141d: MSTORE 0000141e: PUSH1 0x4b 00001420: PUSH1 0x24 00001422: DUP3 00001423: ADD 00001424: MSTORE 00001425: PUSH32 0x4f7074696d69736d506f7274616c3a207769746864726177616c2074696d6573 00001446: PUSH1 0x44 00001448: DUP3 00001449: ADD 0000144a: MSTORE 0000144b: PUSH32 0x74616d70206c657373207468616e204c32204f7261636c65207374617274696e 0000146c: PUSH1 0x64 0000146e: DUP3 0000146f: ADD 00001470: MSTORE 00001471: PUSH32 0x672074696d657374616d70000000000000000000000000000000000000000000 00001492: PUSH1 0x84 00001494: DUP3 00001495: ADD 00001496: MSTORE 00001497: PUSH1 0xa4 00001499: ADD 0000149a: PUSH2 0x0add 0000149d: JUMP 0000149e: JUMPDEST 0000149f: PUSH2 0x14bd 000014a2: DUP2 000014a3: PUSH1 0x20 000014a5: ADD 000014a6: MLOAD 000014a7: PUSH16 0xffffffffffffffffffffffffffffffff 000014b8: AND 000014b9: PUSH2 0x25bb 000014bc: JUMP 000014bd: JUMPDEST 000014be: PUSH2 0x156f 000014c1: JUMPI 000014c2: PUSH1 0x40 000014c4: MLOAD 000014c5: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000014e6: DUP2 000014e7: MSTORE 000014e8: PUSH1 0x20 000014ea: PUSH1 0x04 000014ec: DUP3 000014ed: ADD 000014ee: MSTORE 000014ef: PUSH1 0x45 000014f1: PUSH1 0x24 000014f3: DUP3 000014f4: ADD 000014f5: MSTORE 000014f6: PUSH32 0x4f7074696d69736d506f7274616c3a2070726f76656e20776974686472617761 00001517: PUSH1 0x44 00001519: DUP3 0000151a: ADD 0000151b: MSTORE 0000151c: PUSH32 0x6c2066696e616c697a6174696f6e20706572696f6420686173206e6f7420656c 0000153d: PUSH1 0x64 0000153f: DUP3 00001540: ADD 00001541: MSTORE 00001542: PUSH32 0x6170736564000000000000000000000000000000000000000000000000000000 00001563: PUSH1 0x84 00001565: DUP3 00001566: ADD 00001567: MSTORE 00001568: PUSH1 0xa4 0000156a: ADD 0000156b: PUSH2 0x0add 0000156e: JUMP 0000156f: JUMPDEST 00001570: PUSH1 0x36 00001572: SLOAD 00001573: PUSH1 0x40 00001575: DUP3 00001576: DUP2 00001577: ADD 00001578: MLOAD 00001579: SWAP1 0000157a: MLOAD 0000157b: PUSH32 0xa25ae55700000000000000000000000000000000000000000000000000000000 0000159c: DUP2 0000159d: MSTORE 0000159e: PUSH16 0xffffffffffffffffffffffffffffffff 000015af: SWAP1 000015b0: SWAP2 000015b1: AND 000015b2: PUSH1 0x04 000015b4: DUP3 000015b5: ADD 000015b6: MSTORE 000015b7: PUSH1 0x00 000015b9: SWAP2 000015ba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000015cf: AND 000015d0: SWAP1 000015d1: PUSH4 0xa25ae557 000015d6: SWAP1 000015d7: PUSH1 0x24 000015d9: ADD 000015da: PUSH1 0x60 000015dc: PUSH1 0x40 000015de: MLOAD 000015df: DUP1 000015e0: DUP4 000015e1: SUB 000015e2: DUP2 000015e3: DUP7 000015e4: GAS 000015e5: STATICCALL 000015e6: ISZERO 000015e7: DUP1 000015e8: ISZERO 000015e9: PUSH2 0x15f6 000015ec: JUMPI 000015ed: RETURNDATASIZE 000015ee: PUSH1 0x00 000015f0: DUP1 000015f1: RETURNDATACOPY 000015f2: RETURNDATASIZE 000015f3: PUSH1 0x00 000015f5: REVERT 000015f6: JUMPDEST 000015f7: POP 000015f8: POP 000015f9: POP 000015fa: POP 000015fb: PUSH1 0x40 000015fd: MLOAD 000015fe: RETURNDATASIZE 000015ff: PUSH1 0x1f 00001601: NOT 00001602: PUSH1 0x1f 00001604: DUP3 00001605: ADD 00001606: AND 00001607: DUP3 00001608: ADD 00001609: DUP1 0000160a: PUSH1 0x40 0000160c: MSTORE 0000160d: POP 0000160e: DUP2 0000160f: ADD 00001610: SWAP1 00001611: PUSH2 0x161a 00001614: SWAP2 00001615: SWAP1 00001616: PUSH2 0x505b 00001619: JUMP 0000161a: JUMPDEST 0000161b: DUP3 0000161c: MLOAD 0000161d: DUP2 0000161e: MLOAD 0000161f: SWAP2 00001620: SWAP3 00001621: POP 00001622: EQ 00001623: PUSH2 0x16d4 00001626: JUMPI 00001627: PUSH1 0x40 00001629: MLOAD 0000162a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000164b: DUP2 0000164c: MSTORE 0000164d: PUSH1 0x20 0000164f: PUSH1 0x04 00001651: DUP3 00001652: ADD 00001653: MSTORE 00001654: PUSH1 0x49 00001656: PUSH1 0x24 00001658: DUP3 00001659: ADD 0000165a: MSTORE 0000165b: PUSH32 0x4f7074696d69736d506f7274616c3a206f757470757420726f6f742070726f76 0000167c: PUSH1 0x44 0000167e: DUP3 0000167f: ADD 00001680: MSTORE 00001681: PUSH32 0x656e206973206e6f74207468652073616d652061732063757272656e74206f75 000016a2: PUSH1 0x64 000016a4: DUP3 000016a5: ADD 000016a6: MSTORE 000016a7: PUSH32 0x7470757420726f6f740000000000000000000000000000000000000000000000 000016c8: PUSH1 0x84 000016ca: DUP3 000016cb: ADD 000016cc: MSTORE 000016cd: PUSH1 0xa4 000016cf: ADD 000016d0: PUSH2 0x0add 000016d3: JUMP 000016d4: JUMPDEST 000016d5: PUSH2 0x16f3 000016d8: DUP2 000016d9: PUSH1 0x20 000016db: ADD 000016dc: MLOAD 000016dd: PUSH16 0xffffffffffffffffffffffffffffffff 000016ee: AND 000016ef: PUSH2 0x25bb 000016f2: JUMP 000016f3: JUMPDEST 000016f4: PUSH2 0x17a5 000016f7: JUMPI 000016f8: PUSH1 0x40 000016fa: MLOAD 000016fb: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000171c: DUP2 0000171d: MSTORE 0000171e: PUSH1 0x20 00001720: PUSH1 0x04 00001722: DUP3 00001723: ADD 00001724: MSTORE 00001725: PUSH1 0x43 00001727: PUSH1 0x24 00001729: DUP3 0000172a: ADD 0000172b: MSTORE 0000172c: PUSH32 0x4f7074696d69736d506f7274616c3a206f75747075742070726f706f73616c20 0000174d: PUSH1 0x44 0000174f: DUP3 00001750: ADD 00001751: MSTORE 00001752: PUSH32 0x66696e616c697a6174696f6e20706572696f6420686173206e6f7420656c6170 00001773: PUSH1 0x64 00001775: DUP3 00001776: ADD 00001777: MSTORE 00001778: PUSH32 0x7365640000000000000000000000000000000000000000000000000000000000 00001799: PUSH1 0x84 0000179b: DUP3 0000179c: ADD 0000179d: MSTORE 0000179e: PUSH1 0xa4 000017a0: ADD 000017a1: PUSH2 0x0add 000017a4: JUMP 000017a5: JUMPDEST 000017a6: PUSH1 0x00 000017a8: DUP4 000017a9: DUP2 000017aa: MSTORE 000017ab: PUSH1 0x33 000017ad: PUSH1 0x20 000017af: MSTORE 000017b0: PUSH1 0x40 000017b2: SWAP1 000017b3: KECCAK256 000017b4: SLOAD 000017b5: PUSH1 0xff 000017b7: AND 000017b8: ISZERO 000017b9: PUSH2 0x1844 000017bc: JUMPI 000017bd: PUSH1 0x40 000017bf: MLOAD 000017c0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000017e1: DUP2 000017e2: MSTORE 000017e3: PUSH1 0x20 000017e5: PUSH1 0x04 000017e7: DUP3 000017e8: ADD 000017e9: MSTORE 000017ea: PUSH1 0x35 000017ec: PUSH1 0x24 000017ee: DUP3 000017ef: ADD 000017f0: MSTORE 000017f1: PUSH32 0x4f7074696d69736d506f7274616c3a207769746864726177616c206861732061 00001812: PUSH1 0x44 00001814: DUP3 00001815: ADD 00001816: MSTORE 00001817: PUSH32 0x6c7265616479206265656e2066696e616c697a65640000000000000000000000 00001838: PUSH1 0x64 0000183a: DUP3 0000183b: ADD 0000183c: MSTORE 0000183d: PUSH1 0x84 0000183f: ADD 00001840: PUSH2 0x0add 00001843: JUMP 00001844: JUMPDEST 00001845: PUSH1 0x00 00001847: DUP4 00001848: DUP2 00001849: MSTORE 0000184a: PUSH1 0x33 0000184c: PUSH1 0x20 0000184e: SWAP1 0000184f: DUP2 00001850: MSTORE 00001851: PUSH1 0x40 00001853: DUP3 00001854: KECCAK256 00001855: DUP1 00001856: SLOAD 00001857: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 00001878: AND 00001879: PUSH1 0x01 0000187b: OR 0000187c: SWAP1 0000187d: SSTORE 0000187e: DUP6 0000187f: ADD 00001880: MLOAD 00001881: PUSH1 0x32 00001883: DUP1 00001884: SLOAD 00001885: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000189a: SWAP1 0000189b: SWAP3 0000189c: AND 0000189d: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 000018be: SWAP1 000018bf: SWAP3 000018c0: AND 000018c1: SWAP2 000018c2: SWAP1 000018c3: SWAP2 000018c4: OR 000018c5: SWAP1 000018c6: SSTORE 000018c7: DUP1 000018c8: PUSH2 0x18cf 000018cb: PUSH2 0x1f19 000018ce: JUMP 000018cf: JUMPDEST 000018d0: POP 000018d1: SWAP1 000018d2: POP 000018d3: PUSH32 0xffffffffffffffffffffffff1111111111111111111111111111111111111112 000018f4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001909: DUP3 0000190a: AND 0000190b: ADD 0000190c: PUSH2 0x1932 0000190f: JUMPI 00001910: PUSH2 0x192b 00001913: DUP7 00001914: PUSH1 0x40 00001916: ADD 00001917: MLOAD 00001918: DUP8 00001919: PUSH1 0x80 0000191b: ADD 0000191c: MLOAD 0000191d: DUP9 0000191e: PUSH1 0x60 00001920: ADD 00001921: MLOAD 00001922: DUP10 00001923: PUSH1 0xa0 00001925: ADD 00001926: MLOAD 00001927: PUSH2 0x26c3 0000192a: JUMP 0000192b: JUMPDEST 0000192c: SWAP2 0000192d: POP 0000192e: PUSH2 0x1b85 00001931: JUMP 00001932: JUMPDEST 00001933: DUP1 00001934: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001949: AND 0000194a: DUP7 0000194b: PUSH1 0x40 0000194d: ADD 0000194e: MLOAD 0000194f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001964: AND 00001965: SUB 00001966: PUSH2 0x199b 00001969: JUMPI 0000196a: PUSH1 0x40 0000196c: MLOAD 0000196d: PUSH32 0x13496fda00000000000000000000000000000000000000000000000000000000 0000198e: DUP2 0000198f: MSTORE 00001990: PUSH1 0x04 00001992: ADD 00001993: PUSH1 0x40 00001995: MLOAD 00001996: DUP1 00001997: SWAP2 00001998: SUB 00001999: SWAP1 0000199a: REVERT 0000199b: JUMPDEST 0000199c: PUSH1 0x60 0000199e: DUP7 0000199f: ADD 000019a0: MLOAD 000019a1: ISZERO 000019a2: PUSH2 0x1b5c 000019a5: JUMPI 000019a6: DUP6 000019a7: PUSH1 0x60 000019a9: ADD 000019aa: MLOAD 000019ab: PUSH1 0x3d 000019ad: PUSH1 0x00 000019af: DUP3 000019b0: DUP3 000019b1: SLOAD 000019b2: PUSH2 0x19bb 000019b5: SWAP2 000019b6: SWAP1 000019b7: PUSH2 0x522c 000019ba: JUMP 000019bb: JUMPDEST 000019bc: SWAP1 000019bd: SWAP2 000019be: SSTORE 000019bf: POP 000019c0: POP 000019c1: PUSH1 0x40 000019c3: MLOAD 000019c4: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000 000019e5: DUP2 000019e6: MSTORE 000019e7: ADDRESS 000019e8: PUSH1 0x04 000019ea: DUP3 000019eb: ADD 000019ec: MSTORE 000019ed: PUSH1 0x00 000019ef: SWAP1 000019f0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a05: DUP4 00001a06: AND 00001a07: SWAP1 00001a08: PUSH4 0x70a08231 00001a0d: SWAP1 00001a0e: PUSH1 0x24 00001a10: ADD 00001a11: PUSH1 0x20 00001a13: PUSH1 0x40 00001a15: MLOAD 00001a16: DUP1 00001a17: DUP4 00001a18: SUB 00001a19: DUP2 00001a1a: DUP7 00001a1b: GAS 00001a1c: STATICCALL 00001a1d: ISZERO 00001a1e: DUP1 00001a1f: ISZERO 00001a20: PUSH2 0x1a2d 00001a23: JUMPI 00001a24: RETURNDATASIZE 00001a25: PUSH1 0x00 00001a27: DUP1 00001a28: RETURNDATACOPY 00001a29: RETURNDATASIZE 00001a2a: PUSH1 0x00 00001a2c: REVERT 00001a2d: JUMPDEST 00001a2e: POP 00001a2f: POP 00001a30: POP 00001a31: POP 00001a32: PUSH1 0x40 00001a34: MLOAD 00001a35: RETURNDATASIZE 00001a36: PUSH1 0x1f 00001a38: NOT 00001a39: PUSH1 0x1f 00001a3b: DUP3 00001a3c: ADD 00001a3d: AND 00001a3e: DUP3 00001a3f: ADD 00001a40: DUP1 00001a41: PUSH1 0x40 00001a43: MSTORE 00001a44: POP 00001a45: DUP2 00001a46: ADD 00001a47: SWAP1 00001a48: PUSH2 0x1a51 00001a4b: SWAP2 00001a4c: SWAP1 00001a4d: PUSH2 0x5005 00001a50: JUMP 00001a51: JUMPDEST 00001a52: SWAP1 00001a53: POP 00001a54: PUSH2 0x1a86 00001a57: DUP8 00001a58: PUSH1 0x40 00001a5a: ADD 00001a5b: MLOAD 00001a5c: DUP9 00001a5d: PUSH1 0x60 00001a5f: ADD 00001a60: MLOAD 00001a61: DUP5 00001a62: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a77: AND 00001a78: PUSH2 0x2721 00001a7b: SWAP1 00001a7c: SWAP3 00001a7d: SWAP2 00001a7e: SWAP1 00001a7f: PUSH4 0xffffffff 00001a84: AND 00001a85: JUMP 00001a86: JUMPDEST 00001a87: PUSH1 0x60 00001a89: DUP8 00001a8a: ADD 00001a8b: MLOAD 00001a8c: PUSH2 0x1a95 00001a8f: SWAP1 00001a90: DUP3 00001a91: PUSH2 0x522c 00001a94: JUMP 00001a95: JUMPDEST 00001a96: PUSH1 0x40 00001a98: MLOAD 00001a99: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000 00001aba: DUP2 00001abb: MSTORE 00001abc: ADDRESS 00001abd: PUSH1 0x04 00001abf: DUP3 00001ac0: ADD 00001ac1: MSTORE 00001ac2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ad7: DUP5 00001ad8: AND 00001ad9: SWAP1 00001ada: PUSH4 0x70a08231 00001adf: SWAP1 00001ae0: PUSH1 0x24 00001ae2: ADD 00001ae3: PUSH1 0x20 00001ae5: PUSH1 0x40 00001ae7: MLOAD 00001ae8: DUP1 00001ae9: DUP4 00001aea: SUB 00001aeb: DUP2 00001aec: DUP7 00001aed: GAS 00001aee: STATICCALL 00001aef: ISZERO 00001af0: DUP1 00001af1: ISZERO 00001af2: PUSH2 0x1aff 00001af5: JUMPI 00001af6: RETURNDATASIZE 00001af7: PUSH1 0x00 00001af9: DUP1 00001afa: RETURNDATACOPY 00001afb: RETURNDATASIZE 00001afc: PUSH1 0x00 00001afe: REVERT 00001aff: JUMPDEST 00001b00: POP 00001b01: POP 00001b02: POP 00001b03: POP 00001b04: PUSH1 0x40 00001b06: MLOAD 00001b07: RETURNDATASIZE 00001b08: PUSH1 0x1f 00001b0a: NOT 00001b0b: PUSH1 0x1f 00001b0d: DUP3 00001b0e: ADD 00001b0f: AND 00001b10: DUP3 00001b11: ADD 00001b12: DUP1 00001b13: PUSH1 0x40 00001b15: MSTORE 00001b16: POP 00001b17: DUP2 00001b18: ADD 00001b19: SWAP1 00001b1a: PUSH2 0x1b23 00001b1d: SWAP2 00001b1e: SWAP1 00001b1f: PUSH2 0x5005 00001b22: JUMP 00001b23: JUMPDEST 00001b24: EQ 00001b25: PUSH2 0x1b5a 00001b28: JUMPI 00001b29: PUSH1 0x40 00001b2b: MLOAD 00001b2c: PUSH32 0x90b8ec1800000000000000000000000000000000000000000000000000000000 00001b4d: DUP2 00001b4e: MSTORE 00001b4f: PUSH1 0x04 00001b51: ADD 00001b52: PUSH1 0x40 00001b54: MLOAD 00001b55: DUP1 00001b56: SWAP2 00001b57: SUB 00001b58: SWAP1 00001b59: REVERT 00001b5a: JUMPDEST 00001b5b: POP 00001b5c: JUMPDEST 00001b5d: PUSH1 0xa0 00001b5f: DUP7 00001b60: ADD 00001b61: MLOAD 00001b62: MLOAD 00001b63: ISZERO 00001b64: PUSH2 0x1b80 00001b67: JUMPI 00001b68: PUSH2 0x192b 00001b6b: DUP7 00001b6c: PUSH1 0x40 00001b6e: ADD 00001b6f: MLOAD 00001b70: DUP8 00001b71: PUSH1 0x80 00001b73: ADD 00001b74: MLOAD 00001b75: PUSH1 0x00 00001b77: DUP10 00001b78: PUSH1 0xa0 00001b7a: ADD 00001b7b: MLOAD 00001b7c: PUSH2 0x26c3 00001b7f: JUMP 00001b80: JUMPDEST 00001b81: PUSH1 0x01 00001b83: SWAP2 00001b84: POP 00001b85: JUMPDEST 00001b86: PUSH1 0x32 00001b88: DUP1 00001b89: SLOAD 00001b8a: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00001bab: AND 00001bac: PUSH2 0xdead 00001baf: OR 00001bb0: SWAP1 00001bb1: SSTORE 00001bb2: PUSH1 0x40 00001bb4: MLOAD 00001bb5: DUP6 00001bb6: SWAP1 00001bb7: PUSH32 0xdb5c7652857aa163daadd670e116628fb42e869d8ac4251ef8971d9e5727df1b 00001bd8: SWAP1 00001bd9: PUSH2 0x1be7 00001bdc: SWAP1 00001bdd: DUP6 00001bde: ISZERO 00001bdf: ISZERO 00001be0: DUP2 00001be1: MSTORE 00001be2: PUSH1 0x20 00001be4: ADD 00001be5: SWAP1 00001be6: JUMP 00001be7: JUMPDEST 00001be8: PUSH1 0x40 00001bea: MLOAD 00001beb: DUP1 00001bec: SWAP2 00001bed: SUB 00001bee: SWAP1 00001bef: LOG2 00001bf0: DUP2 00001bf1: ISZERO 00001bf2: DUP1 00001bf3: ISZERO 00001bf4: PUSH2 0x1bfd 00001bf7: JUMPI 00001bf8: POP 00001bf9: ORIGIN 00001bfa: PUSH1 0x01 00001bfc: EQ 00001bfd: JUMPDEST 00001bfe: ISZERO 00001bff: PUSH2 0x1c34 00001c02: JUMPI 00001c03: PUSH1 0x40 00001c05: MLOAD 00001c06: PUSH32 0xeeae4ed300000000000000000000000000000000000000000000000000000000 00001c27: DUP2 00001c28: MSTORE 00001c29: PUSH1 0x04 00001c2b: ADD 00001c2c: PUSH1 0x40 00001c2e: MLOAD 00001c2f: DUP1 00001c30: SWAP2 00001c31: SUB 00001c32: SWAP1 00001c33: REVERT 00001c34: JUMPDEST 00001c35: POP 00001c36: POP 00001c37: POP 00001c38: POP 00001c39: POP 00001c3a: POP 00001c3b: JUMP 00001c3c: JUMPDEST 00001c3d: PUSH1 0x00 00001c3f: PUSH2 0x1c49 00001c42: DUP3 00001c43: PUSH1 0x10 00001c45: PUSH2 0x5243 00001c48: JUMP 00001c49: JUMPDEST 00001c4a: PUSH2 0x0ff2 00001c4d: SWAP1 00001c4e: PUSH2 0x5208 00001c51: PUSH2 0x5273 00001c54: JUMP 00001c55: JUMPDEST 00001c56: PUSH1 0x00 00001c58: DUP1 00001c59: PUSH2 0x1c60 00001c5c: PUSH2 0x1f19 00001c5f: JUMP 00001c60: JUMPDEST 00001c61: POP 00001c62: SWAP1 00001c63: POP 00001c64: PUSH32 0xffffffffffffffffffffffff1111111111111111111111111111111111111112 00001c85: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c9a: DUP3 00001c9b: AND 00001c9c: ADD 00001c9d: PUSH2 0x1ca7 00001ca0: JUMPI 00001ca1: SELFBALANCE 00001ca2: SWAP2 00001ca3: POP 00001ca4: POP 00001ca5: SWAP1 00001ca6: JUMP 00001ca7: JUMPDEST 00001ca8: POP 00001ca9: POP 00001caa: PUSH1 0x3d 00001cac: SLOAD 00001cad: SWAP1 00001cae: JUMP 00001caf: JUMPDEST 00001cb0: PUSH1 0x00 00001cb2: SLOAD 00001cb3: PUSH2 0x0100 00001cb6: SWAP1 00001cb7: DIV 00001cb8: PUSH1 0xff 00001cba: AND 00001cbb: ISZERO 00001cbc: DUP1 00001cbd: DUP1 00001cbe: ISZERO 00001cbf: PUSH2 0x1ccf 00001cc2: JUMPI 00001cc3: POP 00001cc4: PUSH1 0x00 00001cc6: SLOAD 00001cc7: PUSH1 0x01 00001cc9: PUSH1 0xff 00001ccb: SWAP1 00001ccc: SWAP2 00001ccd: AND 00001cce: LT 00001ccf: JUMPDEST 00001cd0: DUP1 00001cd1: PUSH2 0x1ce9 00001cd4: JUMPI 00001cd5: POP 00001cd6: ADDRESS 00001cd7: EXTCODESIZE 00001cd8: ISZERO 00001cd9: DUP1 00001cda: ISZERO 00001cdb: PUSH2 0x1ce9 00001cde: JUMPI 00001cdf: POP 00001ce0: PUSH1 0x00 00001ce2: SLOAD 00001ce3: PUSH1 0xff 00001ce5: AND 00001ce6: PUSH1 0x01 00001ce8: EQ 00001ce9: JUMPDEST 00001cea: PUSH2 0x1d75 00001ced: JUMPI 00001cee: PUSH1 0x40 00001cf0: MLOAD 00001cf1: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001d12: DUP2 00001d13: MSTORE 00001d14: PUSH1 0x20 00001d16: PUSH1 0x04 00001d18: DUP3 00001d19: ADD 00001d1a: MSTORE 00001d1b: PUSH1 0x2e 00001d1d: PUSH1 0x24 00001d1f: DUP3 00001d20: ADD 00001d21: MSTORE 00001d22: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561 00001d43: PUSH1 0x44 00001d45: DUP3 00001d46: ADD 00001d47: MSTORE 00001d48: PUSH32 0x647920696e697469616c697a6564000000000000000000000000000000000000 00001d69: PUSH1 0x64 00001d6b: DUP3 00001d6c: ADD 00001d6d: MSTORE 00001d6e: PUSH1 0x84 00001d70: ADD 00001d71: PUSH2 0x0add 00001d74: JUMP 00001d75: JUMPDEST 00001d76: PUSH1 0x00 00001d78: DUP1 00001d79: SLOAD 00001d7a: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 00001d9b: AND 00001d9c: PUSH1 0x01 00001d9e: OR 00001d9f: SWAP1 00001da0: SSTORE 00001da1: DUP1 00001da2: ISZERO 00001da3: PUSH2 0x1dd3 00001da6: JUMPI 00001da7: PUSH1 0x00 00001da9: DUP1 00001daa: SLOAD 00001dab: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff 00001dcc: AND 00001dcd: PUSH2 0x0100 00001dd0: OR 00001dd1: SWAP1 00001dd2: SSTORE 00001dd3: JUMPDEST 00001dd4: PUSH1 0x36 00001dd6: DUP1 00001dd7: SLOAD 00001dd8: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00001df9: SWAP1 00001dfa: DUP2 00001dfb: AND 00001dfc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001e11: DUP8 00001e12: DUP2 00001e13: AND 00001e14: SWAP2 00001e15: SWAP1 00001e16: SWAP2 00001e17: OR 00001e18: SWAP1 00001e19: SWAP3 00001e1a: SSTORE 00001e1b: PUSH1 0x37 00001e1d: DUP1 00001e1e: SLOAD 00001e1f: SWAP1 00001e20: SWAP2 00001e21: AND 00001e22: DUP6 00001e23: DUP4 00001e24: AND 00001e25: OR 00001e26: SWAP1 00001e27: SSTORE 00001e28: PUSH1 0x35 00001e2a: DUP1 00001e2b: SLOAD 00001e2c: PUSH32 0xffffffffffffffffffffff0000000000000000000000000000000000000000ff 00001e4d: AND 00001e4e: PUSH2 0x0100 00001e51: DUP6 00001e52: DUP5 00001e53: AND 00001e54: MUL 00001e55: OR 00001e56: SWAP1 00001e57: SSTORE 00001e58: PUSH1 0x32 00001e5a: SLOAD 00001e5b: AND 00001e5c: PUSH2 0x1e8c 00001e5f: JUMPI 00001e60: PUSH1 0x32 00001e62: DUP1 00001e63: SLOAD 00001e64: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00001e85: AND 00001e86: PUSH2 0xdead 00001e89: OR 00001e8a: SWAP1 00001e8b: SSTORE 00001e8c: JUMPDEST 00001e8d: PUSH2 0x1e94 00001e90: PUSH2 0x277c 00001e93: JUMP 00001e94: JUMPDEST 00001e95: DUP1 00001e96: ISZERO 00001e97: PUSH2 0x1ef7 00001e9a: JUMPI 00001e9b: PUSH1 0x00 00001e9d: DUP1 00001e9e: SLOAD 00001e9f: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff 00001ec0: AND 00001ec1: SWAP1 00001ec2: SSTORE 00001ec3: PUSH1 0x40 00001ec5: MLOAD 00001ec6: PUSH1 0x01 00001ec8: DUP2 00001ec9: MSTORE 00001eca: PUSH32 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498 00001eeb: SWAP1 00001eec: PUSH1 0x20 00001eee: ADD 00001eef: PUSH1 0x40 00001ef1: MLOAD 00001ef2: DUP1 00001ef3: SWAP2 00001ef4: SUB 00001ef5: SWAP1 00001ef6: LOG1 00001ef7: JUMPDEST 00001ef8: POP 00001ef9: POP 00001efa: POP 00001efb: POP 00001efc: JUMP 00001efd: JUMPDEST 00001efe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f13: AND 00001f14: EXTCODESIZE 00001f15: ISZERO 00001f16: ISZERO 00001f17: SWAP1 00001f18: JUMP 00001f19: JUMPDEST 00001f1a: PUSH1 0x37 00001f1c: SLOAD 00001f1d: PUSH1 0x40 00001f1f: DUP1 00001f20: MLOAD 00001f21: PUSH32 0x4397dfef00000000000000000000000000000000000000000000000000000000 00001f42: DUP2 00001f43: MSTORE 00001f44: DUP2 00001f45: MLOAD 00001f46: PUSH1 0x00 00001f48: SWAP4 00001f49: DUP5 00001f4a: SWAP4 00001f4b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f60: SWAP1 00001f61: SWAP2 00001f62: AND 00001f63: SWAP3 00001f64: PUSH4 0x4397dfef 00001f69: SWAP3 00001f6a: PUSH1 0x04 00001f6c: DUP1 00001f6d: DUP4 00001f6e: ADD 00001f6f: SWAP4 00001f70: SWAP3 00001f71: DUP3 00001f72: SWAP1 00001f73: SUB 00001f74: ADD 00001f75: DUP2 00001f76: DUP7 00001f77: GAS 00001f78: STATICCALL 00001f79: ISZERO 00001f7a: DUP1 00001f7b: ISZERO 00001f7c: PUSH2 0x1f89 00001f7f: JUMPI 00001f80: RETURNDATASIZE 00001f81: PUSH1 0x00 00001f83: DUP1 00001f84: RETURNDATACOPY 00001f85: RETURNDATASIZE 00001f86: PUSH1 0x00 00001f88: REVERT 00001f89: JUMPDEST 00001f8a: POP 00001f8b: POP 00001f8c: POP 00001f8d: POP 00001f8e: PUSH1 0x40 00001f90: MLOAD 00001f91: RETURNDATASIZE 00001f92: PUSH1 0x1f 00001f94: NOT 00001f95: PUSH1 0x1f 00001f97: DUP3 00001f98: ADD 00001f99: AND 00001f9a: DUP3 00001f9b: ADD 00001f9c: DUP1 00001f9d: PUSH1 0x40 00001f9f: MSTORE 00001fa0: POP 00001fa1: DUP2 00001fa2: ADD 00001fa3: SWAP1 00001fa4: PUSH2 0x1fad 00001fa7: SWAP2 00001fa8: SWAP1 00001fa9: PUSH2 0x529f 00001fac: JUMP 00001fad: JUMPDEST 00001fae: SWAP1 00001faf: SWAP4 00001fb0: SWAP1 00001fb1: SWAP3 00001fb2: POP 00001fb3: SWAP1 00001fb4: POP 00001fb5: JUMP 00001fb6: JUMPDEST 00001fb7: DUP2 00001fb8: DUP1 00001fb9: ISZERO 00001fba: PUSH2 0x1fd8 00001fbd: JUMPI 00001fbe: POP 00001fbf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001fd4: DUP7 00001fd5: AND 00001fd6: ISZERO 00001fd7: ISZERO 00001fd8: JUMPDEST 00001fd9: ISZERO 00001fda: PUSH2 0x200f 00001fdd: JUMPI 00001fde: PUSH1 0x40 00001fe0: MLOAD 00001fe1: PUSH32 0x13496fda00000000000000000000000000000000000000000000000000000000 00002002: DUP2 00002003: MSTORE 00002004: PUSH1 0x04 00002006: ADD 00002007: PUSH1 0x40 00002009: MLOAD 0000200a: DUP1 0000200b: SWAP2 0000200c: SUB 0000200d: SWAP1 0000200e: REVERT 0000200f: JUMPDEST 00002010: PUSH2 0x2019 00002013: DUP2 00002014: MLOAD 00002015: PUSH2 0x1c3c 00002018: JUMP 00002019: JUMPDEST 0000201a: PUSH8 0xffffffffffffffff 00002023: AND 00002024: DUP4 00002025: PUSH8 0xffffffffffffffff 0000202e: AND 0000202f: LT 00002030: ISZERO 00002031: PUSH2 0x2066 00002034: JUMPI 00002035: PUSH1 0x40 00002037: MLOAD 00002038: PUSH32 0x4929b80800000000000000000000000000000000000000000000000000000000 00002059: DUP2 0000205a: MSTORE 0000205b: PUSH1 0x04 0000205d: ADD 0000205e: PUSH1 0x40 00002060: MLOAD 00002061: DUP1 00002062: SWAP2 00002063: SUB 00002064: SWAP1 00002065: REVERT 00002066: JUMPDEST 00002067: PUSH3 0x01d4c0 0000206b: DUP2 0000206c: MLOAD 0000206d: GT 0000206e: ISZERO 0000206f: PUSH2 0x20a4 00002072: JUMPI 00002073: PUSH1 0x40 00002075: MLOAD 00002076: PUSH32 0x73052b0f00000000000000000000000000000000000000000000000000000000 00002097: DUP2 00002098: MSTORE 00002099: PUSH1 0x04 0000209b: ADD 0000209c: PUSH1 0x40 0000209e: MLOAD 0000209f: DUP1 000020a0: SWAP2 000020a1: SUB 000020a2: SWAP1 000020a3: REVERT 000020a4: JUMPDEST 000020a5: CALLER 000020a6: ORIGIN 000020a7: DUP2 000020a8: EQ 000020a9: PUSH2 0x20c5 000020ac: JUMPI 000020ad: POP 000020ae: CALLER 000020af: PUSH20 0x1111000000000000000000000000000000001111 000020c4: ADD 000020c5: JUMPDEST 000020c6: PUSH1 0x00 000020c8: DUP7 000020c9: DUP7 000020ca: DUP7 000020cb: DUP7 000020cc: DUP7 000020cd: PUSH1 0x40 000020cf: MLOAD 000020d0: PUSH1 0x20 000020d2: ADD 000020d3: PUSH2 0x20e0 000020d6: SWAP6 000020d7: SWAP5 000020d8: SWAP4 000020d9: SWAP3 000020da: SWAP2 000020db: SWAP1 000020dc: PUSH2 0x51c7 000020df: JUMP 000020e0: JUMPDEST 000020e1: PUSH1 0x40 000020e3: MLOAD 000020e4: PUSH1 0x20 000020e6: DUP2 000020e7: DUP4 000020e8: SUB 000020e9: SUB 000020ea: DUP2 000020eb: MSTORE 000020ec: SWAP1 000020ed: PUSH1 0x40 000020ef: MSTORE 000020f0: SWAP1 000020f1: POP 000020f2: PUSH1 0x00 000020f4: DUP9 000020f5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000210a: AND 0000210b: DUP4 0000210c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002121: AND 00002122: PUSH32 0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32 00002143: DUP5 00002144: PUSH1 0x40 00002146: MLOAD 00002147: PUSH2 0x2150 0000214a: SWAP2 0000214b: SWAP1 0000214c: PUSH2 0x4e1d 0000214f: JUMP 00002150: JUMPDEST 00002151: PUSH1 0x40 00002153: MLOAD 00002154: DUP1 00002155: SWAP2 00002156: SUB 00002157: SWAP1 00002158: LOG4 00002159: POP 0000215a: POP 0000215b: POP 0000215c: POP 0000215d: POP 0000215e: POP 0000215f: POP 00002160: POP 00002161: JUMP 00002162: JUMPDEST 00002163: PUSH1 0x01 00002165: SLOAD 00002166: PUSH1 0x00 00002168: SWAP1 00002169: PUSH2 0x2198 0000216c: SWAP1 0000216d: PUSH25 0x01000000000000000000000000000000000000000000000000 00002187: SWAP1 00002188: DIV 00002189: PUSH8 0xffffffffffffffff 00002192: AND 00002193: NUMBER 00002194: PUSH2 0x522c 00002197: JUMP 00002198: JUMPDEST 00002199: SWAP1 0000219a: POP 0000219b: PUSH1 0x00 0000219d: PUSH2 0x21a4 000021a0: PUSH2 0x288f 000021a3: JUMP 000021a4: JUMPDEST 000021a5: SWAP1 000021a6: POP 000021a7: PUSH1 0x00 000021a9: DUP2 000021aa: PUSH1 0x20 000021ac: ADD 000021ad: MLOAD 000021ae: PUSH1 0xff 000021b0: AND 000021b1: DUP3 000021b2: PUSH1 0x00 000021b4: ADD 000021b5: MLOAD 000021b6: PUSH4 0xffffffff 000021bb: AND 000021bc: PUSH2 0x21c5 000021bf: SWAP2 000021c0: SWAP1 000021c1: PUSH2 0x5308 000021c4: JUMP 000021c5: JUMPDEST 000021c6: SWAP1 000021c7: POP 000021c8: DUP3 000021c9: ISZERO 000021ca: PUSH2 0x22fc 000021cd: JUMPI 000021ce: PUSH1 0x01 000021d0: SLOAD 000021d1: PUSH1 0x00 000021d3: SWAP1 000021d4: PUSH2 0x21fc 000021d7: SWAP1 000021d8: DUP4 000021d9: SWAP1 000021da: PUSH17 0x0100000000000000000000000000000000 000021ec: SWAP1 000021ed: DIV 000021ee: PUSH8 0xffffffffffffffff 000021f7: AND 000021f8: PUSH2 0x5370 000021fb: JUMP 000021fc: JUMPDEST 000021fd: SWAP1 000021fe: POP 000021ff: PUSH1 0x00 00002201: DUP4 00002202: PUSH1 0x40 00002204: ADD 00002205: MLOAD 00002206: PUSH1 0xff 00002208: AND 00002209: DUP4 0000220a: PUSH2 0x2213 0000220d: SWAP2 0000220e: SWAP1 0000220f: PUSH2 0x53e4 00002212: JUMP 00002213: JUMPDEST 00002214: PUSH1 0x01 00002216: SLOAD 00002217: PUSH2 0x2233 0000221a: SWAP1 0000221b: DUP5 0000221c: SWAP1 0000221d: PUSH16 0xffffffffffffffffffffffffffffffff 0000222e: AND 0000222f: PUSH2 0x53e4 00002232: JUMP 00002233: JUMPDEST 00002234: PUSH2 0x223d 00002237: SWAP2 00002238: SWAP1 00002239: PUSH2 0x5308 0000223c: JUMP 0000223d: JUMPDEST 0000223e: PUSH1 0x01 00002240: SLOAD 00002241: SWAP1 00002242: SWAP2 00002243: POP 00002244: PUSH1 0x00 00002246: SWAP1 00002247: PUSH2 0x228e 0000224a: SWAP1 0000224b: PUSH2 0x2267 0000224e: SWAP1 0000224f: DUP5 00002250: SWAP1 00002251: PUSH16 0xffffffffffffffffffffffffffffffff 00002262: AND 00002263: PUSH2 0x54a0 00002266: JUMP 00002267: JUMPDEST 00002268: DUP7 00002269: PUSH1 0x60 0000226b: ADD 0000226c: MLOAD 0000226d: PUSH4 0xffffffff 00002272: AND 00002273: DUP8 00002274: PUSH1 0xa0 00002276: ADD 00002277: MLOAD 00002278: PUSH16 0xffffffffffffffffffffffffffffffff 00002289: AND 0000228a: PUSH2 0x2950 0000228d: JUMP 0000228e: JUMPDEST 0000228f: SWAP1 00002290: POP 00002291: PUSH1 0x01 00002293: DUP7 00002294: GT 00002295: ISZERO 00002296: PUSH2 0x22bd 00002299: JUMPI 0000229a: PUSH2 0x22ba 0000229d: PUSH2 0x2267 000022a0: DUP3 000022a1: DUP8 000022a2: PUSH1 0x40 000022a4: ADD 000022a5: MLOAD 000022a6: PUSH1 0xff 000022a8: AND 000022a9: PUSH1 0x01 000022ab: DUP11 000022ac: PUSH2 0x22b5 000022af: SWAP2 000022b0: SWAP1 000022b1: PUSH2 0x522c 000022b4: JUMP 000022b5: JUMPDEST 000022b6: PUSH2 0x296f 000022b9: JUMP 000022ba: JUMPDEST 000022bb: SWAP1 000022bc: POP 000022bd: JUMPDEST 000022be: PUSH16 0xffffffffffffffffffffffffffffffff 000022cf: AND 000022d0: PUSH25 0x01000000000000000000000000000000000000000000000000 000022ea: PUSH8 0xffffffffffffffff 000022f3: NUMBER 000022f4: AND 000022f5: MUL 000022f6: OR 000022f7: PUSH1 0x01 000022f9: SSTORE 000022fa: POP 000022fb: POP 000022fc: JUMPDEST 000022fd: PUSH1 0x01 000022ff: DUP1 00002300: SLOAD 00002301: DUP7 00002302: SWAP2 00002303: SWAP1 00002304: PUSH1 0x10 00002306: SWAP1 00002307: PUSH2 0x232f 0000230a: SWAP1 0000230b: DUP5 0000230c: SWAP1 0000230d: PUSH17 0x0100000000000000000000000000000000 0000231f: SWAP1 00002320: DIV 00002321: PUSH8 0xffffffffffffffff 0000232a: AND 0000232b: PUSH2 0x5273 0000232e: JUMP 0000232f: JUMPDEST 00002330: SWAP3 00002331: POP 00002332: PUSH2 0x0100 00002335: EXP 00002336: DUP2 00002337: SLOAD 00002338: DUP2 00002339: PUSH8 0xffffffffffffffff 00002342: MUL 00002343: NOT 00002344: AND 00002345: SWAP1 00002346: DUP4 00002347: PUSH8 0xffffffffffffffff 00002350: AND 00002351: MUL 00002352: OR 00002353: SWAP1 00002354: SSTORE 00002355: POP 00002356: DUP2 00002357: PUSH1 0x00 00002359: ADD 0000235a: MLOAD 0000235b: PUSH4 0xffffffff 00002360: AND 00002361: PUSH1 0x01 00002363: PUSH1 0x00 00002365: ADD 00002366: PUSH1 0x10 00002368: SWAP1 00002369: SLOAD 0000236a: SWAP1 0000236b: PUSH2 0x0100 0000236e: EXP 0000236f: SWAP1 00002370: DIV 00002371: PUSH8 0xffffffffffffffff 0000237a: AND 0000237b: PUSH8 0xffffffffffffffff 00002384: AND 00002385: SGT 00002386: ISZERO 00002387: PUSH2 0x23bc 0000238a: JUMPI 0000238b: PUSH1 0x40 0000238d: MLOAD 0000238e: PUSH32 0x77ebef4d00000000000000000000000000000000000000000000000000000000 000023af: DUP2 000023b0: MSTORE 000023b1: PUSH1 0x04 000023b3: ADD 000023b4: PUSH1 0x40 000023b6: MLOAD 000023b7: DUP1 000023b8: SWAP2 000023b9: SUB 000023ba: SWAP1 000023bb: REVERT 000023bc: JUMPDEST 000023bd: PUSH1 0x01 000023bf: SLOAD 000023c0: PUSH1 0x00 000023c2: SWAP1 000023c3: PUSH2 0x23e8 000023c6: SWAP1 000023c7: PUSH16 0xffffffffffffffffffffffffffffffff 000023d8: AND 000023d9: PUSH8 0xffffffffffffffff 000023e2: DUP9 000023e3: AND 000023e4: PUSH2 0x5514 000023e7: JUMP 000023e8: JUMPDEST 000023e9: SWAP1 000023ea: POP 000023eb: PUSH1 0x00 000023ed: PUSH2 0x23fa 000023f0: BASEFEE 000023f1: PUSH4 0x3b9aca00 000023f6: PUSH2 0x29c4 000023f9: JUMP 000023fa: JUMPDEST 000023fb: PUSH2 0x2404 000023fe: SWAP1 000023ff: DUP4 00002400: PUSH2 0x5551 00002403: JUMP 00002404: JUMPDEST 00002405: SWAP1 00002406: POP 00002407: PUSH1 0x00 00002409: GAS 0000240a: PUSH2 0x2413 0000240d: SWAP1 0000240e: DUP9 0000240f: PUSH2 0x522c 00002412: JUMP 00002413: JUMPDEST 00002414: SWAP1 00002415: POP 00002416: DUP1 00002417: DUP3 00002418: GT 00002419: ISZERO 0000241a: PUSH2 0x085b 0000241d: JUMPI 0000241e: PUSH2 0x085b 00002421: PUSH2 0x242a 00002424: DUP3 00002425: DUP5 00002426: PUSH2 0x522c 00002429: JUMP 0000242a: JUMPDEST 0000242b: PUSH2 0x29db 0000242e: JUMP 0000242f: JUMPDEST 00002430: PUSH1 0x40 00002432: MLOAD 00002433: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002448: DUP1 00002449: DUP6 0000244a: AND 0000244b: PUSH1 0x24 0000244d: DUP4 0000244e: ADD 0000244f: MSTORE 00002450: DUP4 00002451: AND 00002452: PUSH1 0x44 00002454: DUP3 00002455: ADD 00002456: MSTORE 00002457: PUSH1 0x64 00002459: DUP2 0000245a: ADD 0000245b: DUP3 0000245c: SWAP1 0000245d: MSTORE 0000245e: PUSH2 0x1ef7 00002461: SWAP1 00002462: DUP6 00002463: SWAP1 00002464: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000 00002485: SWAP1 00002486: PUSH1 0x84 00002488: ADD 00002489: JUMPDEST 0000248a: PUSH1 0x40 0000248c: DUP1 0000248d: MLOAD 0000248e: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 000024af: DUP2 000024b0: DUP5 000024b1: SUB 000024b2: ADD 000024b3: DUP2 000024b4: MSTORE 000024b5: SWAP2 000024b6: SWAP1 000024b7: MSTORE 000024b8: PUSH1 0x20 000024ba: DUP2 000024bb: ADD 000024bc: DUP1 000024bd: MLOAD 000024be: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000024db: AND 000024dc: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 000024fd: SWAP1 000024fe: SWAP4 000024ff: AND 00002500: SWAP3 00002501: SWAP1 00002502: SWAP3 00002503: OR 00002504: SWAP1 00002505: SWAP2 00002506: MSTORE 00002507: PUSH2 0x2a04 0000250a: JUMP 0000250b: JUMPDEST 0000250c: PUSH1 0x00 0000250e: DUP2 0000250f: PUSH1 0x00 00002511: ADD 00002512: MLOAD 00002513: DUP3 00002514: PUSH1 0x20 00002516: ADD 00002517: MLOAD 00002518: DUP4 00002519: PUSH1 0x40 0000251b: ADD 0000251c: MLOAD 0000251d: DUP5 0000251e: PUSH1 0x60 00002520: ADD 00002521: MLOAD 00002522: PUSH1 0x40 00002524: MLOAD 00002525: PUSH1 0x20 00002527: ADD 00002528: PUSH2 0x254a 0000252b: SWAP5 0000252c: SWAP4 0000252d: SWAP3 0000252e: SWAP2 0000252f: SWAP1 00002530: SWAP4 00002531: DUP5 00002532: MSTORE 00002533: PUSH1 0x20 00002535: DUP5 00002536: ADD 00002537: SWAP3 00002538: SWAP1 00002539: SWAP3 0000253a: MSTORE 0000253b: PUSH1 0x40 0000253d: DUP4 0000253e: ADD 0000253f: MSTORE 00002540: PUSH1 0x60 00002542: DUP3 00002543: ADD 00002544: MSTORE 00002545: PUSH1 0x80 00002547: ADD 00002548: SWAP1 00002549: JUMP 0000254a: JUMPDEST 0000254b: PUSH1 0x40 0000254d: MLOAD 0000254e: PUSH1 0x20 00002550: DUP2 00002551: DUP4 00002552: SUB 00002553: SUB 00002554: DUP2 00002555: MSTORE 00002556: SWAP1 00002557: PUSH1 0x40 00002559: MSTORE 0000255a: DUP1 0000255b: MLOAD 0000255c: SWAP1 0000255d: PUSH1 0x20 0000255f: ADD 00002560: KECCAK256 00002561: SWAP1 00002562: POP 00002563: SWAP2 00002564: SWAP1 00002565: POP 00002566: JUMP 00002567: JUMPDEST 00002568: DUP1 00002569: MLOAD 0000256a: PUSH1 0x20 0000256c: DUP1 0000256d: DUP4 0000256e: ADD 0000256f: MLOAD 00002570: PUSH1 0x40 00002572: DUP1 00002573: DUP6 00002574: ADD 00002575: MLOAD 00002576: PUSH1 0x60 00002578: DUP7 00002579: ADD 0000257a: MLOAD 0000257b: PUSH1 0x80 0000257d: DUP8 0000257e: ADD 0000257f: MLOAD 00002580: PUSH1 0xa0 00002582: DUP9 00002583: ADD 00002584: MLOAD 00002585: SWAP4 00002586: MLOAD 00002587: PUSH1 0x00 00002589: SWAP8 0000258a: PUSH2 0x254a 0000258d: SWAP8 0000258e: SWAP1 0000258f: SWAP7 00002590: SWAP6 00002591: SWAP2 00002592: ADD 00002593: PUSH2 0x5565 00002596: JUMP 00002597: JUMPDEST 00002598: PUSH1 0x00 0000259a: DUP1 0000259b: PUSH2 0x25a3 0000259e: DUP7 0000259f: PUSH2 0x2b10 000025a2: JUMP 000025a3: JUMPDEST 000025a4: SWAP1 000025a5: POP 000025a6: PUSH2 0x25b1 000025a9: DUP2 000025aa: DUP7 000025ab: DUP7 000025ac: DUP7 000025ad: PUSH2 0x2b42 000025b0: JUMP 000025b1: JUMPDEST 000025b2: SWAP7 000025b3: SWAP6 000025b4: POP 000025b5: POP 000025b6: POP 000025b7: POP 000025b8: POP 000025b9: POP 000025ba: JUMP 000025bb: JUMPDEST 000025bc: PUSH1 0x36 000025be: SLOAD 000025bf: PUSH1 0x40 000025c1: DUP1 000025c2: MLOAD 000025c3: PUSH32 0xf4daa29100000000000000000000000000000000000000000000000000000000 000025e4: DUP2 000025e5: MSTORE 000025e6: SWAP1 000025e7: MLOAD 000025e8: PUSH1 0x00 000025ea: SWAP3 000025eb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002600: AND 00002601: SWAP2 00002602: PUSH4 0xf4daa291 00002607: SWAP2 00002608: PUSH1 0x04 0000260a: DUP1 0000260b: DUP4 0000260c: ADD 0000260d: SWAP3 0000260e: PUSH1 0x20 00002610: SWAP3 00002611: SWAP2 00002612: SWAP1 00002613: DUP3 00002614: SWAP1 00002615: SUB 00002616: ADD 00002617: DUP2 00002618: DUP7 00002619: GAS 0000261a: STATICCALL 0000261b: ISZERO 0000261c: DUP1 0000261d: ISZERO 0000261e: PUSH2 0x262b 00002621: JUMPI 00002622: RETURNDATASIZE 00002623: PUSH1 0x00 00002625: DUP1 00002626: RETURNDATACOPY 00002627: RETURNDATASIZE 00002628: PUSH1 0x00 0000262a: REVERT 0000262b: JUMPDEST 0000262c: POP 0000262d: POP 0000262e: POP 0000262f: POP 00002630: PUSH1 0x40 00002632: MLOAD 00002633: RETURNDATASIZE 00002634: PUSH1 0x1f 00002636: NOT 00002637: PUSH1 0x1f 00002639: DUP3 0000263a: ADD 0000263b: AND 0000263c: DUP3 0000263d: ADD 0000263e: DUP1 0000263f: PUSH1 0x40 00002641: MSTORE 00002642: POP 00002643: DUP2 00002644: ADD 00002645: SWAP1 00002646: PUSH2 0x264f 00002649: SWAP2 0000264a: SWAP1 0000264b: PUSH2 0x5005 0000264e: JUMP 0000264f: JUMPDEST 00002650: PUSH2 0x2659 00002653: SWAP1 00002654: DUP4 00002655: PUSH2 0x4fed 00002658: JUMP 00002659: JUMPDEST 0000265a: TIMESTAMP 0000265b: GT 0000265c: SWAP3 0000265d: SWAP2 0000265e: POP 0000265f: POP 00002660: JUMP 00002661: JUMPDEST 00002662: PUSH1 0x01 00002664: DUP1 00002665: SLOAD 00002666: PUSH4 0xffffffff 0000266b: DUP4 0000266c: AND 0000266d: SWAP2 0000266e: SWAP1 0000266f: PUSH1 0x10 00002671: SWAP1 00002672: PUSH2 0x269a 00002675: SWAP1 00002676: DUP5 00002677: SWAP1 00002678: PUSH17 0x0100000000000000000000000000000000 0000268a: SWAP1 0000268b: DIV 0000268c: PUSH8 0xffffffffffffffff 00002695: AND 00002696: PUSH2 0x5273 00002699: JUMP 0000269a: JUMPDEST 0000269b: SWAP3 0000269c: POP 0000269d: PUSH2 0x0100 000026a0: EXP 000026a1: DUP2 000026a2: SLOAD 000026a3: DUP2 000026a4: PUSH8 0xffffffffffffffff 000026ad: MUL 000026ae: NOT 000026af: AND 000026b0: SWAP1 000026b1: DUP4 000026b2: PUSH8 0xffffffffffffffff 000026bb: AND 000026bc: MUL 000026bd: OR 000026be: SWAP1 000026bf: SSTORE 000026c0: POP 000026c1: POP 000026c2: JUMP 000026c3: JUMPDEST 000026c4: PUSH1 0x00 000026c6: DUP1 000026c7: PUSH1 0x00 000026c9: PUSH2 0x26d3 000026cc: DUP7 000026cd: PUSH1 0x00 000026cf: PUSH2 0x2b72 000026d2: JUMP 000026d3: JUMPDEST 000026d4: SWAP1 000026d5: POP 000026d6: DUP1 000026d7: PUSH2 0x2709 000026da: JUMPI 000026db: PUSH4 0x08c379a0 000026e0: PUSH1 0x00 000026e2: MSTORE 000026e3: PUSH1 0x20 000026e5: DUP1 000026e6: MSTORE 000026e7: PUSH25 0x185361666543616c6c3a204e6f7420656e6f75676820676173 00002701: PUSH1 0x58 00002703: MSTORE 00002704: PUSH1 0x64 00002706: PUSH1 0x1c 00002708: REVERT 00002709: JUMPDEST 0000270a: PUSH1 0x00 0000270c: DUP1 0000270d: DUP6 0000270e: MLOAD 0000270f: PUSH1 0x20 00002711: DUP8 00002712: ADD 00002713: DUP9 00002714: DUP12 00002715: GAS 00002716: CALL 00002717: SWAP8 00002718: SWAP7 00002719: POP 0000271a: POP 0000271b: POP 0000271c: POP 0000271d: POP 0000271e: POP 0000271f: POP 00002720: JUMP 00002721: JUMPDEST 00002722: PUSH1 0x40 00002724: MLOAD 00002725: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000273a: DUP4 0000273b: AND 0000273c: PUSH1 0x24 0000273e: DUP3 0000273f: ADD 00002740: MSTORE 00002741: PUSH1 0x44 00002743: DUP2 00002744: ADD 00002745: DUP3 00002746: SWAP1 00002747: MSTORE 00002748: PUSH2 0x2777 0000274b: SWAP1 0000274c: DUP5 0000274d: SWAP1 0000274e: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 0000276f: SWAP1 00002770: PUSH1 0x64 00002772: ADD 00002773: PUSH2 0x2489 00002776: JUMP 00002777: JUMPDEST 00002778: POP 00002779: POP 0000277a: POP 0000277b: JUMP 0000277c: JUMPDEST 0000277d: PUSH1 0x00 0000277f: SLOAD 00002780: PUSH2 0x0100 00002783: SWAP1 00002784: DIV 00002785: PUSH1 0xff 00002787: AND 00002788: PUSH2 0x2813 0000278b: JUMPI 0000278c: PUSH1 0x40 0000278e: MLOAD 0000278f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000027b0: DUP2 000027b1: MSTORE 000027b2: PUSH1 0x20 000027b4: PUSH1 0x04 000027b6: DUP3 000027b7: ADD 000027b8: MSTORE 000027b9: PUSH1 0x2b 000027bb: PUSH1 0x24 000027bd: DUP3 000027be: ADD 000027bf: MSTORE 000027c0: PUSH32 0x496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069 000027e1: PUSH1 0x44 000027e3: DUP3 000027e4: ADD 000027e5: MSTORE 000027e6: PUSH32 0x6e697469616c697a696e67000000000000000000000000000000000000000000 00002807: PUSH1 0x64 00002809: DUP3 0000280a: ADD 0000280b: MSTORE 0000280c: PUSH1 0x84 0000280e: ADD 0000280f: PUSH2 0x0add 00002812: JUMP 00002813: JUMPDEST 00002814: PUSH1 0x01 00002816: SLOAD 00002817: PUSH25 0x01000000000000000000000000000000000000000000000000 00002831: SWAP1 00002832: DIV 00002833: PUSH8 0xffffffffffffffff 0000283c: AND 0000283d: PUSH1 0x00 0000283f: SUB 00002840: PUSH2 0x11b8 00002843: JUMPI 00002844: PUSH1 0x40 00002846: DUP1 00002847: MLOAD 00002848: PUSH1 0x60 0000284a: DUP2 0000284b: ADD 0000284c: DUP3 0000284d: MSTORE 0000284e: PUSH4 0x3b9aca00 00002853: DUP1 00002854: DUP3 00002855: MSTORE 00002856: PUSH1 0x00 00002858: PUSH1 0x20 0000285a: DUP4 0000285b: ADD 0000285c: MSTORE 0000285d: NUMBER 0000285e: PUSH8 0xffffffffffffffff 00002867: AND 00002868: SWAP2 00002869: SWAP1 0000286a: SWAP3 0000286b: ADD 0000286c: DUP2 0000286d: SWAP1 0000286e: MSTORE 0000286f: PUSH25 0x01000000000000000000000000000000000000000000000000 00002889: MUL 0000288a: OR 0000288b: PUSH1 0x01 0000288d: SSTORE 0000288e: JUMP 0000288f: JUMPDEST 00002890: PUSH1 0x40 00002892: DUP1 00002893: MLOAD 00002894: PUSH1 0xc0 00002896: DUP1 00002897: DUP3 00002898: ADD 00002899: DUP4 0000289a: MSTORE 0000289b: PUSH1 0x00 0000289d: DUP1 0000289e: DUP4 0000289f: MSTORE 000028a0: PUSH1 0x20 000028a2: DUP4 000028a3: ADD 000028a4: DUP2 000028a5: SWAP1 000028a6: MSTORE 000028a7: DUP3 000028a8: DUP5 000028a9: ADD 000028aa: DUP2 000028ab: SWAP1 000028ac: MSTORE 000028ad: PUSH1 0x60 000028af: DUP4 000028b0: ADD 000028b1: DUP2 000028b2: SWAP1 000028b3: MSTORE 000028b4: PUSH1 0x80 000028b6: DUP4 000028b7: ADD 000028b8: DUP2 000028b9: SWAP1 000028ba: MSTORE 000028bb: PUSH1 0xa0 000028bd: DUP4 000028be: ADD 000028bf: MSTORE 000028c0: PUSH1 0x37 000028c2: SLOAD 000028c3: DUP4 000028c4: MLOAD 000028c5: PUSH32 0xcc731b0200000000000000000000000000000000000000000000000000000000 000028e6: DUP2 000028e7: MSTORE 000028e8: SWAP4 000028e9: MLOAD 000028ea: SWAP3 000028eb: SWAP4 000028ec: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002901: SWAP1 00002902: SWAP2 00002903: AND 00002904: SWAP3 00002905: PUSH4 0xcc731b02 0000290a: SWAP3 0000290b: PUSH1 0x04 0000290d: DUP1 0000290e: DUP5 0000290f: ADD 00002910: SWAP4 00002911: SWAP2 00002912: SWAP3 00002913: SWAP2 00002914: DUP3 00002915: SWAP1 00002916: SUB 00002917: ADD 00002918: DUP2 00002919: DUP7 0000291a: GAS 0000291b: STATICCALL 0000291c: ISZERO 0000291d: DUP1 0000291e: ISZERO 0000291f: PUSH2 0x292c 00002922: JUMPI 00002923: RETURNDATASIZE 00002924: PUSH1 0x00 00002926: DUP1 00002927: RETURNDATACOPY 00002928: RETURNDATASIZE 00002929: PUSH1 0x00 0000292b: REVERT 0000292c: JUMPDEST 0000292d: POP 0000292e: POP 0000292f: POP 00002930: POP 00002931: PUSH1 0x40 00002933: MLOAD 00002934: RETURNDATASIZE 00002935: PUSH1 0x1f 00002937: NOT 00002938: PUSH1 0x1f 0000293a: DUP3 0000293b: ADD 0000293c: AND 0000293d: DUP3 0000293e: ADD 0000293f: DUP1 00002940: PUSH1 0x40 00002942: MSTORE 00002943: POP 00002944: DUP2 00002945: ADD 00002946: SWAP1 00002947: PUSH2 0x08f8 0000294a: SWAP2 0000294b: SWAP1 0000294c: PUSH2 0x55d0 0000294f: JUMP 00002950: JUMPDEST 00002951: PUSH1 0x00 00002953: PUSH2 0x2965 00002956: PUSH2 0x295f 00002959: DUP6 0000295a: DUP6 0000295b: PUSH2 0x2b90 0000295e: JUMP 0000295f: JUMPDEST 00002960: DUP4 00002961: PUSH2 0x2ba0 00002964: JUMP 00002965: JUMPDEST 00002966: SWAP1 00002967: POP 00002968: JUMPDEST 00002969: SWAP4 0000296a: SWAP3 0000296b: POP 0000296c: POP 0000296d: POP 0000296e: JUMP 0000296f: JUMPDEST 00002970: PUSH1 0x00 00002972: PUSH8 0x0de0b6b3a7640000 0000297b: PUSH2 0x29b0 0000297e: PUSH2 0x2987 00002981: DUP6 00002982: DUP4 00002983: PUSH2 0x5308 00002986: JUMP 00002987: JUMPDEST 00002988: PUSH2 0x2999 0000298b: SWAP1 0000298c: PUSH8 0x0de0b6b3a7640000 00002995: PUSH2 0x5370 00002998: JUMP 00002999: JUMPDEST 0000299a: PUSH2 0x29ab 0000299d: DUP6 0000299e: PUSH8 0x0de0b6b3a7640000 000029a7: PUSH2 0x53e4 000029aa: JUMP 000029ab: JUMPDEST 000029ac: PUSH2 0x2baf 000029af: JUMP 000029b0: JUMPDEST 000029b1: PUSH2 0x29ba 000029b4: SWAP1 000029b5: DUP7 000029b6: PUSH2 0x53e4 000029b9: JUMP 000029ba: JUMPDEST 000029bb: PUSH2 0x2965 000029be: SWAP2 000029bf: SWAP1 000029c0: PUSH2 0x5308 000029c3: JUMP 000029c4: JUMPDEST 000029c5: PUSH1 0x00 000029c7: DUP2 000029c8: DUP4 000029c9: LT 000029ca: ISZERO 000029cb: PUSH2 0x29d4 000029ce: JUMPI 000029cf: DUP2 000029d0: PUSH2 0x2968 000029d3: JUMP 000029d4: JUMPDEST 000029d5: POP 000029d6: SWAP1 000029d7: SWAP2 000029d8: SWAP1 000029d9: POP 000029da: JUMP 000029db: JUMPDEST 000029dc: PUSH1 0x00 000029de: DUP1 000029df: GAS 000029e0: SWAP1 000029e1: POP 000029e2: JUMPDEST 000029e3: DUP3 000029e4: GAS 000029e5: PUSH2 0x29ee 000029e8: SWAP1 000029e9: DUP4 000029ea: PUSH2 0x522c 000029ed: JUMP 000029ee: JUMPDEST 000029ef: LT 000029f0: ISZERO 000029f1: PUSH2 0x2777 000029f4: JUMPI 000029f5: PUSH2 0x29fd 000029f8: DUP3 000029f9: PUSH2 0x5673 000029fc: JUMP 000029fd: JUMPDEST 000029fe: SWAP2 000029ff: POP 00002a00: PUSH2 0x29e2 00002a03: JUMP 00002a04: JUMPDEST 00002a05: PUSH1 0x00 00002a07: PUSH2 0x2a66 00002a0a: DUP3 00002a0b: PUSH1 0x40 00002a0d: MLOAD 00002a0e: DUP1 00002a0f: PUSH1 0x40 00002a11: ADD 00002a12: PUSH1 0x40 00002a14: MSTORE 00002a15: DUP1 00002a16: PUSH1 0x20 00002a18: DUP2 00002a19: MSTORE 00002a1a: PUSH1 0x20 00002a1c: ADD 00002a1d: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564 00002a3e: DUP2 00002a3f: MSTORE 00002a40: POP 00002a41: DUP6 00002a42: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002a57: AND 00002a58: PUSH2 0x2be0 00002a5b: SWAP1 00002a5c: SWAP3 00002a5d: SWAP2 00002a5e: SWAP1 00002a5f: PUSH4 0xffffffff 00002a64: AND 00002a65: JUMP 00002a66: JUMPDEST 00002a67: DUP1 00002a68: MLOAD 00002a69: SWAP1 00002a6a: SWAP2 00002a6b: POP 00002a6c: ISZERO 00002a6d: PUSH2 0x2777 00002a70: JUMPI 00002a71: DUP1 00002a72: DUP1 00002a73: PUSH1 0x20 00002a75: ADD 00002a76: SWAP1 00002a77: MLOAD 00002a78: DUP2 00002a79: ADD 00002a7a: SWAP1 00002a7b: PUSH2 0x2a84 00002a7e: SWAP2 00002a7f: SWAP1 00002a80: PUSH2 0x51aa 00002a83: JUMP 00002a84: JUMPDEST 00002a85: PUSH2 0x2777 00002a88: JUMPI 00002a89: PUSH1 0x40 00002a8b: MLOAD 00002a8c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002aad: DUP2 00002aae: MSTORE 00002aaf: PUSH1 0x20 00002ab1: PUSH1 0x04 00002ab3: DUP3 00002ab4: ADD 00002ab5: MSTORE 00002ab6: PUSH1 0x2a 00002ab8: PUSH1 0x24 00002aba: DUP3 00002abb: ADD 00002abc: MSTORE 00002abd: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e 00002ade: PUSH1 0x44 00002ae0: DUP3 00002ae1: ADD 00002ae2: MSTORE 00002ae3: PUSH32 0x6f74207375636365656400000000000000000000000000000000000000000000 00002b04: PUSH1 0x64 00002b06: DUP3 00002b07: ADD 00002b08: MSTORE 00002b09: PUSH1 0x84 00002b0b: ADD 00002b0c: PUSH2 0x0add 00002b0f: JUMP 00002b10: JUMPDEST 00002b11: PUSH1 0x60 00002b13: DUP2 00002b14: DUP1 00002b15: MLOAD 00002b16: SWAP1 00002b17: PUSH1 0x20 00002b19: ADD 00002b1a: KECCAK256 00002b1b: PUSH1 0x40 00002b1d: MLOAD 00002b1e: PUSH1 0x20 00002b20: ADD 00002b21: PUSH2 0x2b2c 00002b24: SWAP2 00002b25: DUP2 00002b26: MSTORE 00002b27: PUSH1 0x20 00002b29: ADD 00002b2a: SWAP1 00002b2b: JUMP 00002b2c: JUMPDEST 00002b2d: PUSH1 0x40 00002b2f: MLOAD 00002b30: PUSH1 0x20 00002b32: DUP2 00002b33: DUP4 00002b34: SUB 00002b35: SUB 00002b36: DUP2 00002b37: MSTORE 00002b38: SWAP1 00002b39: PUSH1 0x40 00002b3b: MSTORE 00002b3c: SWAP1 00002b3d: POP 00002b3e: SWAP2 00002b3f: SWAP1 00002b40: POP 00002b41: JUMP 00002b42: JUMPDEST 00002b43: PUSH1 0x00 00002b45: PUSH2 0x2b69 00002b48: DUP5 00002b49: PUSH2 0x2b53 00002b4c: DUP8 00002b4d: DUP7 00002b4e: DUP7 00002b4f: PUSH2 0x2bef 00002b52: JUMP 00002b53: JUMPDEST 00002b54: DUP1 00002b55: MLOAD 00002b56: PUSH1 0x20 00002b58: SWAP2 00002b59: DUP3 00002b5a: ADD 00002b5b: KECCAK256 00002b5c: DUP3 00002b5d: MLOAD 00002b5e: SWAP3 00002b5f: SWAP1 00002b60: SWAP2 00002b61: ADD 00002b62: SWAP2 00002b63: SWAP1 00002b64: SWAP2 00002b65: KECCAK256 00002b66: EQ 00002b67: SWAP1 00002b68: JUMP 00002b69: JUMPDEST 00002b6a: SWAP6 00002b6b: SWAP5 00002b6c: POP 00002b6d: POP 00002b6e: POP 00002b6f: POP 00002b70: POP 00002b71: JUMP 00002b72: JUMPDEST 00002b73: PUSH1 0x00 00002b75: DUP1 00002b76: PUSH1 0x3f 00002b78: DUP4 00002b79: PUSH2 0x9c40 00002b7c: ADD 00002b7d: MUL 00002b7e: PUSH1 0x40 00002b80: DUP6 00002b81: MUL 00002b82: ADD 00002b83: PUSH1 0x3f 00002b85: GAS 00002b86: MUL 00002b87: LT 00002b88: ISZERO 00002b89: SWAP5 00002b8a: SWAP4 00002b8b: POP 00002b8c: POP 00002b8d: POP 00002b8e: POP 00002b8f: JUMP 00002b90: JUMPDEST 00002b91: PUSH1 0x00 00002b93: DUP2 00002b94: DUP4 00002b95: SLT 00002b96: ISZERO 00002b97: PUSH2 0x29d4 00002b9a: JUMPI 00002b9b: DUP2 00002b9c: PUSH2 0x2968 00002b9f: JUMP 00002ba0: JUMPDEST 00002ba1: PUSH1 0x00 00002ba3: DUP2 00002ba4: DUP4 00002ba5: SLT 00002ba6: PUSH2 0x29d4 00002ba9: JUMPI 00002baa: DUP2 00002bab: PUSH2 0x2968 00002bae: JUMP 00002baf: JUMPDEST 00002bb0: PUSH1 0x00 00002bb2: PUSH2 0x2968 00002bb5: PUSH8 0x0de0b6b3a7640000 00002bbe: DUP4 00002bbf: PUSH2 0x2bc7 00002bc2: DUP7 00002bc3: PUSH2 0x366d 00002bc6: JUMP 00002bc7: JUMPDEST 00002bc8: PUSH2 0x2bd1 00002bcb: SWAP2 00002bcc: SWAP1 00002bcd: PUSH2 0x53e4 00002bd0: JUMP 00002bd1: JUMPDEST 00002bd2: PUSH2 0x2bdb 00002bd5: SWAP2 00002bd6: SWAP1 00002bd7: PUSH2 0x5308 00002bda: JUMP 00002bdb: JUMPDEST 00002bdc: PUSH2 0x38b1 00002bdf: JUMP 00002be0: JUMPDEST 00002be1: PUSH1 0x60 00002be3: PUSH2 0x2965 00002be6: DUP5 00002be7: DUP5 00002be8: PUSH1 0x00 00002bea: DUP6 00002beb: PUSH2 0x3af0 00002bee: JUMP 00002bef: JUMPDEST 00002bf0: PUSH1 0x60 00002bf2: PUSH1 0x00 00002bf4: DUP5 00002bf5: MLOAD 00002bf6: GT 00002bf7: PUSH2 0x2c5c 00002bfa: JUMPI 00002bfb: PUSH1 0x40 00002bfd: MLOAD 00002bfe: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002c1f: DUP2 00002c20: MSTORE 00002c21: PUSH1 0x20 00002c23: PUSH1 0x04 00002c25: DUP3 00002c26: ADD 00002c27: MSTORE 00002c28: PUSH1 0x15 00002c2a: PUSH1 0x24 00002c2c: DUP3 00002c2d: ADD 00002c2e: MSTORE 00002c2f: PUSH32 0x4d65726b6c65547269653a20656d707479206b65790000000000000000000000 00002c50: PUSH1 0x44 00002c52: DUP3 00002c53: ADD 00002c54: MSTORE 00002c55: PUSH1 0x64 00002c57: ADD 00002c58: PUSH2 0x0add 00002c5b: JUMP 00002c5c: JUMPDEST 00002c5d: PUSH1 0x00 00002c5f: PUSH2 0x2c67 00002c62: DUP5 00002c63: PUSH2 0x3c86 00002c66: JUMP 00002c67: JUMPDEST 00002c68: SWAP1 00002c69: POP 00002c6a: PUSH1 0x00 00002c6c: PUSH2 0x2c74 00002c6f: DUP7 00002c70: PUSH2 0x3d72 00002c73: JUMP 00002c74: JUMPDEST 00002c75: SWAP1 00002c76: POP 00002c77: PUSH1 0x00 00002c79: DUP5 00002c7a: PUSH1 0x40 00002c7c: MLOAD 00002c7d: PUSH1 0x20 00002c7f: ADD 00002c80: PUSH2 0x2c8b 00002c83: SWAP2 00002c84: DUP2 00002c85: MSTORE 00002c86: PUSH1 0x20 00002c88: ADD 00002c89: SWAP1 00002c8a: JUMP 00002c8b: JUMPDEST 00002c8c: PUSH1 0x40 00002c8e: MLOAD 00002c8f: PUSH1 0x20 00002c91: DUP2 00002c92: DUP4 00002c93: SUB 00002c94: SUB 00002c95: DUP2 00002c96: MSTORE 00002c97: SWAP1 00002c98: PUSH1 0x40 00002c9a: MSTORE 00002c9b: SWAP1 00002c9c: POP 00002c9d: PUSH1 0x00 00002c9f: DUP1 00002ca0: JUMPDEST 00002ca1: DUP5 00002ca2: MLOAD 00002ca3: DUP2 00002ca4: LT 00002ca5: ISZERO 00002ca6: PUSH2 0x35e4 00002ca9: JUMPI 00002caa: PUSH1 0x00 00002cac: DUP6 00002cad: DUP3 00002cae: DUP2 00002caf: MLOAD 00002cb0: DUP2 00002cb1: LT 00002cb2: PUSH2 0x2cbd 00002cb5: JUMPI 00002cb6: PUSH2 0x2cbd 00002cb9: PUSH2 0x56ab 00002cbc: JUMP 00002cbd: JUMPDEST 00002cbe: PUSH1 0x20 00002cc0: MUL 00002cc1: PUSH1 0x20 00002cc3: ADD 00002cc4: ADD 00002cc5: MLOAD 00002cc6: SWAP1 00002cc7: POP 00002cc8: DUP5 00002cc9: MLOAD 00002cca: DUP4 00002ccb: GT 00002ccc: ISZERO 00002ccd: PUSH2 0x2d58 00002cd0: JUMPI 00002cd1: PUSH1 0x40 00002cd3: MLOAD 00002cd4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002cf5: DUP2 00002cf6: MSTORE 00002cf7: PUSH1 0x20 00002cf9: PUSH1 0x04 00002cfb: DUP3 00002cfc: ADD 00002cfd: MSTORE 00002cfe: PUSH1 0x2e 00002d00: PUSH1 0x24 00002d02: DUP3 00002d03: ADD 00002d04: MSTORE 00002d05: PUSH32 0x4d65726b6c65547269653a206b657920696e646578206578636565647320746f 00002d26: PUSH1 0x44 00002d28: DUP3 00002d29: ADD 00002d2a: MSTORE 00002d2b: PUSH32 0x74616c206b6579206c656e677468000000000000000000000000000000000000 00002d4c: PUSH1 0x64 00002d4e: DUP3 00002d4f: ADD 00002d50: MSTORE 00002d51: PUSH1 0x84 00002d53: ADD 00002d54: PUSH2 0x0add 00002d57: JUMP 00002d58: JUMPDEST 00002d59: DUP3 00002d5a: PUSH1 0x00 00002d5c: SUB 00002d5d: PUSH2 0x2e11 00002d60: JUMPI 00002d61: DUP1 00002d62: MLOAD 00002d63: DUP1 00002d64: MLOAD 00002d65: PUSH1 0x20 00002d67: SWAP2 00002d68: DUP3 00002d69: ADD 00002d6a: KECCAK256 00002d6b: PUSH1 0x40 00002d6d: MLOAD 00002d6e: PUSH2 0x2da6 00002d71: SWAP3 00002d72: PUSH2 0x2d80 00002d75: SWAP3 00002d76: SWAP2 00002d77: ADD 00002d78: SWAP1 00002d79: DUP2 00002d7a: MSTORE 00002d7b: PUSH1 0x20 00002d7d: ADD 00002d7e: SWAP1 00002d7f: JUMP 00002d80: JUMPDEST 00002d81: PUSH1 0x40 00002d83: MLOAD 00002d84: PUSH1 0x20 00002d86: DUP2 00002d87: DUP4 00002d88: SUB 00002d89: SUB 00002d8a: DUP2 00002d8b: MSTORE 00002d8c: SWAP1 00002d8d: PUSH1 0x40 00002d8f: MSTORE 00002d90: DUP6 00002d91: DUP1 00002d92: MLOAD 00002d93: PUSH1 0x20 00002d95: SWAP2 00002d96: DUP3 00002d97: ADD 00002d98: KECCAK256 00002d99: DUP3 00002d9a: MLOAD 00002d9b: SWAP3 00002d9c: SWAP1 00002d9d: SWAP2 00002d9e: ADD 00002d9f: SWAP2 00002da0: SWAP1 00002da1: SWAP2 00002da2: KECCAK256 00002da3: EQ 00002da4: SWAP1 00002da5: JUMP 00002da6: JUMPDEST 00002da7: PUSH2 0x2e0c 00002daa: JUMPI 00002dab: PUSH1 0x40 00002dad: MLOAD 00002dae: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002dcf: DUP2 00002dd0: MSTORE 00002dd1: PUSH1 0x20 00002dd3: PUSH1 0x04 00002dd5: DUP3 00002dd6: ADD 00002dd7: MSTORE 00002dd8: PUSH1 0x1d 00002dda: PUSH1 0x24 00002ddc: DUP3 00002ddd: ADD 00002dde: MSTORE 00002ddf: PUSH32 0x4d65726b6c65547269653a20696e76616c696420726f6f742068617368000000 00002e00: PUSH1 0x44 00002e02: DUP3 00002e03: ADD 00002e04: MSTORE 00002e05: PUSH1 0x64 00002e07: ADD 00002e08: PUSH2 0x0add 00002e0b: JUMP 00002e0c: JUMPDEST 00002e0d: PUSH2 0x2f68 00002e10: JUMP 00002e11: JUMPDEST 00002e12: DUP1 00002e13: MLOAD 00002e14: MLOAD 00002e15: PUSH1 0x20 00002e17: GT 00002e18: PUSH2 0x2ec7 00002e1b: JUMPI 00002e1c: DUP1 00002e1d: MLOAD 00002e1e: DUP1 00002e1f: MLOAD 00002e20: PUSH1 0x20 00002e22: SWAP2 00002e23: DUP3 00002e24: ADD 00002e25: KECCAK256 00002e26: PUSH1 0x40 00002e28: MLOAD 00002e29: PUSH2 0x2e3b 00002e2c: SWAP3 00002e2d: PUSH2 0x2d80 00002e30: SWAP3 00002e31: SWAP2 00002e32: ADD 00002e33: SWAP1 00002e34: DUP2 00002e35: MSTORE 00002e36: PUSH1 0x20 00002e38: ADD 00002e39: SWAP1 00002e3a: JUMP 00002e3b: JUMPDEST 00002e3c: PUSH2 0x2e0c 00002e3f: JUMPI 00002e40: PUSH1 0x40 00002e42: MLOAD 00002e43: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002e64: DUP2 00002e65: MSTORE 00002e66: PUSH1 0x20 00002e68: PUSH1 0x04 00002e6a: DUP3 00002e6b: ADD 00002e6c: MSTORE 00002e6d: PUSH1 0x27 00002e6f: PUSH1 0x24 00002e71: DUP3 00002e72: ADD 00002e73: MSTORE 00002e74: PUSH32 0x4d65726b6c65547269653a20696e76616c6964206c6172676520696e7465726e 00002e95: PUSH1 0x44 00002e97: DUP3 00002e98: ADD 00002e99: MSTORE 00002e9a: PUSH32 0x616c206861736800000000000000000000000000000000000000000000000000 00002ebb: PUSH1 0x64 00002ebd: DUP3 00002ebe: ADD 00002ebf: MSTORE 00002ec0: PUSH1 0x84 00002ec2: ADD 00002ec3: PUSH2 0x0add 00002ec6: JUMP 00002ec7: JUMPDEST 00002ec8: DUP1 00002ec9: MLOAD 00002eca: DUP5 00002ecb: MLOAD 00002ecc: PUSH1 0x20 00002ece: DUP1 00002ecf: DUP8 00002ed0: ADD 00002ed1: SWAP2 00002ed2: SWAP1 00002ed3: SWAP2 00002ed4: KECCAK256 00002ed5: DUP3 00002ed6: MLOAD 00002ed7: SWAP2 00002ed8: SWAP1 00002ed9: SWAP3 00002eda: ADD 00002edb: KECCAK256 00002edc: EQ 00002edd: PUSH2 0x2f68 00002ee0: JUMPI 00002ee1: PUSH1 0x40 00002ee3: MLOAD 00002ee4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002f05: DUP2 00002f06: MSTORE 00002f07: PUSH1 0x20 00002f09: PUSH1 0x04 00002f0b: DUP3 00002f0c: ADD 00002f0d: MSTORE 00002f0e: PUSH1 0x26 00002f10: PUSH1 0x24 00002f12: DUP3 00002f13: ADD 00002f14: MSTORE 00002f15: PUSH32 0x4d65726b6c65547269653a20696e76616c696420696e7465726e616c206e6f64 00002f36: PUSH1 0x44 00002f38: DUP3 00002f39: ADD 00002f3a: MSTORE 00002f3b: PUSH32 0x6520686173680000000000000000000000000000000000000000000000000000 00002f5c: PUSH1 0x64 00002f5e: DUP3 00002f5f: ADD 00002f60: MSTORE 00002f61: PUSH1 0x84 00002f63: ADD 00002f64: PUSH2 0x0add 00002f67: JUMP 00002f68: JUMPDEST 00002f69: PUSH2 0x2f74 00002f6c: PUSH1 0x10 00002f6e: PUSH1 0x01 00002f70: PUSH2 0x4fed 00002f73: JUMP 00002f74: JUMPDEST 00002f75: DUP2 00002f76: PUSH1 0x20 00002f78: ADD 00002f79: MLOAD 00002f7a: MLOAD 00002f7b: SUB 00002f7c: PUSH2 0x3150 00002f7f: JUMPI 00002f80: DUP5 00002f81: MLOAD 00002f82: DUP4 00002f83: SUB 00002f84: PUSH2 0x30e8 00002f87: JUMPI 00002f88: PUSH2 0x2fae 00002f8b: DUP2 00002f8c: PUSH1 0x20 00002f8e: ADD 00002f8f: MLOAD 00002f90: PUSH1 0x10 00002f92: DUP2 00002f93: MLOAD 00002f94: DUP2 00002f95: LT 00002f96: PUSH2 0x2fa1 00002f99: JUMPI 00002f9a: PUSH2 0x2fa1 00002f9d: PUSH2 0x56ab 00002fa0: JUMP 00002fa1: JUMPDEST 00002fa2: PUSH1 0x20 00002fa4: MUL 00002fa5: PUSH1 0x20 00002fa7: ADD 00002fa8: ADD 00002fa9: MLOAD 00002faa: PUSH2 0x3dd5 00002fad: JUMP 00002fae: JUMPDEST 00002faf: SWAP7 00002fb0: POP 00002fb1: PUSH1 0x00 00002fb3: DUP8 00002fb4: MLOAD 00002fb5: GT 00002fb6: PUSH2 0x3041 00002fb9: JUMPI 00002fba: PUSH1 0x40 00002fbc: MLOAD 00002fbd: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002fde: DUP2 00002fdf: MSTORE 00002fe0: PUSH1 0x20 00002fe2: PUSH1 0x04 00002fe4: DUP3 00002fe5: ADD 00002fe6: MSTORE 00002fe7: PUSH1 0x3b 00002fe9: PUSH1 0x24 00002feb: DUP3 00002fec: ADD 00002fed: MSTORE 00002fee: PUSH32 0x4d65726b6c65547269653a2076616c7565206c656e677468206d757374206265 0000300f: PUSH1 0x44 00003011: DUP3 00003012: ADD 00003013: MSTORE 00003014: PUSH32 0x2067726561746572207468616e207a65726f20286272616e6368290000000000 00003035: PUSH1 0x64 00003037: DUP3 00003038: ADD 00003039: MSTORE 0000303a: PUSH1 0x84 0000303c: ADD 0000303d: PUSH2 0x0add 00003040: JUMP 00003041: JUMPDEST 00003042: PUSH1 0x01 00003044: DUP7 00003045: MLOAD 00003046: PUSH2 0x304f 00003049: SWAP2 0000304a: SWAP1 0000304b: PUSH2 0x522c 0000304e: JUMP 0000304f: JUMPDEST 00003050: DUP3 00003051: EQ 00003052: PUSH2 0x30dd 00003055: JUMPI 00003056: PUSH1 0x40 00003058: MLOAD 00003059: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000307a: DUP2 0000307b: MSTORE 0000307c: PUSH1 0x20 0000307e: PUSH1 0x04 00003080: DUP3 00003081: ADD 00003082: MSTORE 00003083: PUSH1 0x3a 00003085: PUSH1 0x24 00003087: DUP3 00003088: ADD 00003089: MSTORE 0000308a: PUSH32 0x4d65726b6c65547269653a2076616c7565206e6f6465206d757374206265206c 000030ab: PUSH1 0x44 000030ad: DUP3 000030ae: ADD 000030af: MSTORE 000030b0: PUSH32 0x617374206e6f646520696e2070726f6f6620286272616e636829000000000000 000030d1: PUSH1 0x64 000030d3: DUP3 000030d4: ADD 000030d5: MSTORE 000030d6: PUSH1 0x84 000030d8: ADD 000030d9: PUSH2 0x0add 000030dc: JUMP 000030dd: JUMPDEST 000030de: POP 000030df: POP 000030e0: POP 000030e1: POP 000030e2: POP 000030e3: POP 000030e4: PUSH2 0x2968 000030e7: JUMP 000030e8: JUMPDEST 000030e9: PUSH1 0x00 000030eb: DUP6 000030ec: DUP5 000030ed: DUP2 000030ee: MLOAD 000030ef: DUP2 000030f0: LT 000030f1: PUSH2 0x30fc 000030f4: JUMPI 000030f5: PUSH2 0x30fc 000030f8: PUSH2 0x56ab 000030fb: JUMP 000030fc: JUMPDEST 000030fd: PUSH1 0x20 000030ff: ADD 00003100: ADD 00003101: MLOAD 00003102: PUSH1 0xf8 00003104: SHR 00003105: PUSH1 0xf8 00003107: SHL 00003108: PUSH1 0xf8 0000310a: SHR 0000310b: SWAP1 0000310c: POP 0000310d: PUSH1 0x00 0000310f: DUP3 00003110: PUSH1 0x20 00003112: ADD 00003113: MLOAD 00003114: DUP3 00003115: PUSH1 0xff 00003117: AND 00003118: DUP2 00003119: MLOAD 0000311a: DUP2 0000311b: LT 0000311c: PUSH2 0x3127 0000311f: JUMPI 00003120: PUSH2 0x3127 00003123: PUSH2 0x56ab 00003126: JUMP 00003127: JUMPDEST 00003128: PUSH1 0x20 0000312a: MUL 0000312b: PUSH1 0x20 0000312d: ADD 0000312e: ADD 0000312f: MLOAD 00003130: SWAP1 00003131: POP 00003132: PUSH2 0x313a 00003135: DUP2 00003136: PUSH2 0x3e89 00003139: JUMP 0000313a: JUMPDEST 0000313b: SWAP6 0000313c: POP 0000313d: PUSH2 0x3147 00003140: PUSH1 0x01 00003142: DUP7 00003143: PUSH2 0x4fed 00003146: JUMP 00003147: JUMPDEST 00003148: SWAP5 00003149: POP 0000314a: POP 0000314b: POP 0000314c: PUSH2 0x35d1 0000314f: JUMP 00003150: JUMPDEST 00003151: PUSH1 0x02 00003153: DUP2 00003154: PUSH1 0x20 00003156: ADD 00003157: MLOAD 00003158: MLOAD 00003159: SUB 0000315a: PUSH2 0x3549 0000315d: JUMPI 0000315e: PUSH1 0x00 00003160: PUSH2 0x3168 00003163: DUP3 00003164: PUSH2 0x3eae 00003167: JUMP 00003168: JUMPDEST 00003169: SWAP1 0000316a: POP 0000316b: PUSH1 0x00 0000316d: DUP2 0000316e: PUSH1 0x00 00003170: DUP2 00003171: MLOAD 00003172: DUP2 00003173: LT 00003174: PUSH2 0x317f 00003177: JUMPI 00003178: PUSH2 0x317f 0000317b: PUSH2 0x56ab 0000317e: JUMP 0000317f: JUMPDEST 00003180: ADD 00003181: PUSH1 0x20 00003183: ADD 00003184: MLOAD 00003185: PUSH1 0xf8 00003187: SHR 00003188: SWAP1 00003189: POP 0000318a: PUSH1 0x00 0000318c: PUSH2 0x3196 0000318f: PUSH1 0x02 00003191: DUP4 00003192: PUSH2 0x56da 00003195: JUMP 00003196: JUMPDEST 00003197: PUSH2 0x31a1 0000319a: SWAP1 0000319b: PUSH1 0x02 0000319d: PUSH2 0x56fc 000031a0: JUMP 000031a1: JUMPDEST 000031a2: SWAP1 000031a3: POP 000031a4: PUSH1 0x00 000031a6: PUSH2 0x31b2 000031a9: DUP5 000031aa: DUP4 000031ab: PUSH1 0xff 000031ad: AND 000031ae: PUSH2 0x3ed2 000031b1: JUMP 000031b2: JUMPDEST 000031b3: SWAP1 000031b4: POP 000031b5: PUSH1 0x00 000031b7: PUSH2 0x31c0 000031ba: DUP11 000031bb: DUP10 000031bc: PUSH2 0x3ed2 000031bf: JUMP 000031c0: JUMPDEST 000031c1: SWAP1 000031c2: POP 000031c3: PUSH1 0x00 000031c5: PUSH2 0x31ce 000031c8: DUP4 000031c9: DUP4 000031ca: PUSH2 0x3f08 000031cd: JUMP 000031ce: JUMPDEST 000031cf: SWAP1 000031d0: POP 000031d1: DUP1 000031d2: DUP4 000031d3: MLOAD 000031d4: EQ 000031d5: PUSH2 0x3260 000031d8: JUMPI 000031d9: PUSH1 0x40 000031db: MLOAD 000031dc: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000031fd: DUP2 000031fe: MSTORE 000031ff: PUSH1 0x20 00003201: PUSH1 0x04 00003203: DUP3 00003204: ADD 00003205: MSTORE 00003206: PUSH1 0x3a 00003208: PUSH1 0x24 0000320a: DUP3 0000320b: ADD 0000320c: MSTORE 0000320d: PUSH32 0x4d65726b6c65547269653a20706174682072656d61696e646572206d75737420 0000322e: PUSH1 0x44 00003230: DUP3 00003231: ADD 00003232: MSTORE 00003233: PUSH32 0x736861726520616c6c206e6962626c65732077697468206b6579000000000000 00003254: PUSH1 0x64 00003256: DUP3 00003257: ADD 00003258: MSTORE 00003259: PUSH1 0x84 0000325b: ADD 0000325c: PUSH2 0x0add 0000325f: JUMP 00003260: JUMPDEST 00003261: PUSH1 0xff 00003263: DUP6 00003264: AND 00003265: PUSH1 0x02 00003267: EQ 00003268: DUP1 00003269: PUSH2 0x3275 0000326c: JUMPI 0000326d: POP 0000326e: PUSH1 0xff 00003270: DUP6 00003271: AND 00003272: PUSH1 0x03 00003274: EQ 00003275: JUMPDEST 00003276: ISZERO 00003277: PUSH2 0x3464 0000327a: JUMPI 0000327b: DUP1 0000327c: DUP3 0000327d: MLOAD 0000327e: EQ 0000327f: PUSH2 0x330a 00003282: JUMPI 00003283: PUSH1 0x40 00003285: MLOAD 00003286: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000032a7: DUP2 000032a8: MSTORE 000032a9: PUSH1 0x20 000032ab: PUSH1 0x04 000032ad: DUP3 000032ae: ADD 000032af: MSTORE 000032b0: PUSH1 0x3d 000032b2: PUSH1 0x24 000032b4: DUP3 000032b5: ADD 000032b6: MSTORE 000032b7: PUSH32 0x4d65726b6c65547269653a206b65792072656d61696e646572206d7573742062 000032d8: PUSH1 0x44 000032da: DUP3 000032db: ADD 000032dc: MSTORE 000032dd: PUSH32 0x65206964656e746963616c20746f20706174682072656d61696e646572000000 000032fe: PUSH1 0x64 00003300: DUP3 00003301: ADD 00003302: MSTORE 00003303: PUSH1 0x84 00003305: ADD 00003306: PUSH2 0x0add 00003309: JUMP 0000330a: JUMPDEST 0000330b: PUSH2 0x3324 0000330e: DUP8 0000330f: PUSH1 0x20 00003311: ADD 00003312: MLOAD 00003313: PUSH1 0x01 00003315: DUP2 00003316: MLOAD 00003317: DUP2 00003318: LT 00003319: PUSH2 0x2fa1 0000331c: JUMPI 0000331d: PUSH2 0x2fa1 00003320: PUSH2 0x56ab 00003323: JUMP 00003324: JUMPDEST 00003325: SWAP13 00003326: POP 00003327: PUSH1 0x00 00003329: DUP14 0000332a: MLOAD 0000332b: GT 0000332c: PUSH2 0x33b7 0000332f: JUMPI 00003330: PUSH1 0x40 00003332: MLOAD 00003333: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003354: DUP2 00003355: MSTORE 00003356: PUSH1 0x20 00003358: PUSH1 0x04 0000335a: DUP3 0000335b: ADD 0000335c: MSTORE 0000335d: PUSH1 0x39 0000335f: PUSH1 0x24 00003361: DUP3 00003362: ADD 00003363: MSTORE 00003364: PUSH32 0x4d65726b6c65547269653a2076616c7565206c656e677468206d757374206265 00003385: PUSH1 0x44 00003387: DUP3 00003388: ADD 00003389: MSTORE 0000338a: PUSH32 0x2067726561746572207468616e207a65726f20286c6561662900000000000000 000033ab: PUSH1 0x64 000033ad: DUP3 000033ae: ADD 000033af: MSTORE 000033b0: PUSH1 0x84 000033b2: ADD 000033b3: PUSH2 0x0add 000033b6: JUMP 000033b7: JUMPDEST 000033b8: PUSH1 0x01 000033ba: DUP13 000033bb: MLOAD 000033bc: PUSH2 0x33c5 000033bf: SWAP2 000033c0: SWAP1 000033c1: PUSH2 0x522c 000033c4: JUMP 000033c5: JUMPDEST 000033c6: DUP9 000033c7: EQ 000033c8: PUSH2 0x3453 000033cb: JUMPI 000033cc: PUSH1 0x40 000033ce: MLOAD 000033cf: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000033f0: DUP2 000033f1: MSTORE 000033f2: PUSH1 0x20 000033f4: PUSH1 0x04 000033f6: DUP3 000033f7: ADD 000033f8: MSTORE 000033f9: PUSH1 0x38 000033fb: PUSH1 0x24 000033fd: DUP3 000033fe: ADD 000033ff: MSTORE 00003400: PUSH32 0x4d65726b6c65547269653a2076616c7565206e6f6465206d757374206265206c 00003421: PUSH1 0x44 00003423: DUP3 00003424: ADD 00003425: MSTORE 00003426: PUSH32 0x617374206e6f646520696e2070726f6f6620286c656166290000000000000000 00003447: PUSH1 0x64 00003449: DUP3 0000344a: ADD 0000344b: MSTORE 0000344c: PUSH1 0x84 0000344e: ADD 0000344f: PUSH2 0x0add 00003452: JUMP 00003453: JUMPDEST 00003454: POP 00003455: POP 00003456: POP 00003457: POP 00003458: POP 00003459: POP 0000345a: POP 0000345b: POP 0000345c: POP 0000345d: POP 0000345e: POP 0000345f: POP 00003460: PUSH2 0x2968 00003463: JUMP 00003464: JUMPDEST 00003465: PUSH1 0xff 00003467: DUP6 00003468: AND 00003469: ISZERO 0000346a: DUP1 0000346b: PUSH2 0x3477 0000346e: JUMPI 0000346f: POP 00003470: PUSH1 0xff 00003472: DUP6 00003473: AND 00003474: PUSH1 0x01 00003476: EQ 00003477: JUMPDEST 00003478: ISZERO 00003479: PUSH2 0x34b6 0000347c: JUMPI 0000347d: PUSH2 0x34a3 00003480: DUP8 00003481: PUSH1 0x20 00003483: ADD 00003484: MLOAD 00003485: PUSH1 0x01 00003487: DUP2 00003488: MLOAD 00003489: DUP2 0000348a: LT 0000348b: PUSH2 0x3496 0000348e: JUMPI 0000348f: PUSH2 0x3496 00003492: PUSH2 0x56ab 00003495: JUMP 00003496: JUMPDEST 00003497: PUSH1 0x20 00003499: MUL 0000349a: PUSH1 0x20 0000349c: ADD 0000349d: ADD 0000349e: MLOAD 0000349f: PUSH2 0x3e89 000034a2: JUMP 000034a3: JUMPDEST 000034a4: SWAP10 000034a5: POP 000034a6: PUSH2 0x34af 000034a9: DUP2 000034aa: DUP11 000034ab: PUSH2 0x4fed 000034ae: JUMP 000034af: JUMPDEST 000034b0: SWAP9 000034b1: POP 000034b2: PUSH2 0x353e 000034b5: JUMP 000034b6: JUMPDEST 000034b7: PUSH1 0x40 000034b9: MLOAD 000034ba: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000034db: DUP2 000034dc: MSTORE 000034dd: PUSH1 0x20 000034df: PUSH1 0x04 000034e1: DUP3 000034e2: ADD 000034e3: MSTORE 000034e4: PUSH1 0x32 000034e6: PUSH1 0x24 000034e8: DUP3 000034e9: ADD 000034ea: MSTORE 000034eb: PUSH32 0x4d65726b6c65547269653a2072656365697665642061206e6f64652077697468 0000350c: PUSH1 0x44 0000350e: DUP3 0000350f: ADD 00003510: MSTORE 00003511: PUSH32 0x20616e20756e6b6e6f776e207072656669780000000000000000000000000000 00003532: PUSH1 0x64 00003534: DUP3 00003535: ADD 00003536: MSTORE 00003537: PUSH1 0x84 00003539: ADD 0000353a: PUSH2 0x0add 0000353d: JUMP 0000353e: JUMPDEST 0000353f: POP 00003540: POP 00003541: POP 00003542: POP 00003543: POP 00003544: POP 00003545: PUSH2 0x35d1 00003548: JUMP 00003549: JUMPDEST 0000354a: PUSH1 0x40 0000354c: MLOAD 0000354d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000356e: DUP2 0000356f: MSTORE 00003570: PUSH1 0x20 00003572: PUSH1 0x04 00003574: DUP3 00003575: ADD 00003576: MSTORE 00003577: PUSH1 0x28 00003579: PUSH1 0x24 0000357b: DUP3 0000357c: ADD 0000357d: MSTORE 0000357e: PUSH32 0x4d65726b6c65547269653a20726563656976656420616e20756e706172736561 0000359f: PUSH1 0x44 000035a1: DUP3 000035a2: ADD 000035a3: MSTORE 000035a4: PUSH32 0x626c65206e6f6465000000000000000000000000000000000000000000000000 000035c5: PUSH1 0x64 000035c7: DUP3 000035c8: ADD 000035c9: MSTORE 000035ca: PUSH1 0x84 000035cc: ADD 000035cd: PUSH2 0x0add 000035d0: JUMP 000035d1: JUMPDEST 000035d2: POP 000035d3: DUP1 000035d4: PUSH2 0x35dc 000035d7: DUP2 000035d8: PUSH2 0x5673 000035db: JUMP 000035dc: JUMPDEST 000035dd: SWAP2 000035de: POP 000035df: POP 000035e0: PUSH2 0x2ca0 000035e3: JUMP 000035e4: JUMPDEST 000035e5: POP 000035e6: PUSH1 0x40 000035e8: MLOAD 000035e9: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000360a: DUP2 0000360b: MSTORE 0000360c: PUSH1 0x20 0000360e: PUSH1 0x04 00003610: DUP3 00003611: ADD 00003612: MSTORE 00003613: PUSH1 0x25 00003615: PUSH1 0x24 00003617: DUP3 00003618: ADD 00003619: MSTORE 0000361a: PUSH32 0x4d65726b6c65547269653a2072616e206f7574206f662070726f6f6620656c65 0000363b: PUSH1 0x44 0000363d: DUP3 0000363e: ADD 0000363f: MSTORE 00003640: PUSH32 0x6d656e7473000000000000000000000000000000000000000000000000000000 00003661: PUSH1 0x64 00003663: DUP3 00003664: ADD 00003665: MSTORE 00003666: PUSH1 0x84 00003668: ADD 00003669: PUSH2 0x0add 0000366c: JUMP 0000366d: JUMPDEST 0000366e: PUSH1 0x00 00003670: DUP1 00003671: DUP3 00003672: SGT 00003673: PUSH2 0x36d8 00003676: JUMPI 00003677: PUSH1 0x40 00003679: MLOAD 0000367a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000369b: DUP2 0000369c: MSTORE 0000369d: PUSH1 0x20 0000369f: PUSH1 0x04 000036a1: DUP3 000036a2: ADD 000036a3: MSTORE 000036a4: PUSH1 0x09 000036a6: PUSH1 0x24 000036a8: DUP3 000036a9: ADD 000036aa: MSTORE 000036ab: PUSH32 0x554e444546494e45440000000000000000000000000000000000000000000000 000036cc: PUSH1 0x44 000036ce: DUP3 000036cf: ADD 000036d0: MSTORE 000036d1: PUSH1 0x64 000036d3: ADD 000036d4: PUSH2 0x0add 000036d7: JUMP 000036d8: JUMPDEST 000036d9: PUSH1 0x00 000036db: PUSH1 0x60 000036dd: PUSH2 0x36e5 000036e0: DUP5 000036e1: PUSH2 0x3fbc 000036e4: JUMP 000036e5: JUMPDEST 000036e6: SUB 000036e7: PUSH1 0x9f 000036e9: DUP2 000036ea: DUP2 000036eb: SUB 000036ec: SWAP5 000036ed: SWAP1 000036ee: SWAP5 000036ef: SHL 000036f0: SWAP1 000036f1: SWAP4 000036f2: SHR 000036f3: PUSH13 0x465772b2bbbb5f824b15207a30 00003701: DUP2 00003702: ADD 00003703: DUP2 00003704: MUL 00003705: PUSH1 0x60 00003707: SWAP1 00003708: DUP2 00003709: SAR 0000370a: PUSH14 0x0388eaa27412d5aca026815d636e 00003719: ADD 0000371a: DUP3 0000371b: MUL 0000371c: DUP2 0000371d: SAR 0000371e: PUSH14 0x0df99ac502031bf953eff472fdcc 0000372d: ADD 0000372e: DUP3 0000372f: MUL 00003730: DUP2 00003731: SAR 00003732: PUSH14 0x13cdffb29d51d99322bdff5f2211 00003741: ADD 00003742: DUP3 00003743: MUL 00003744: DUP2 00003745: SAR 00003746: PUSH14 0x0a0f742023def783a307a986912e 00003755: ADD 00003756: DUP3 00003757: MUL 00003758: DUP2 00003759: SAR 0000375a: PUSH14 0x01920d8043ca89b5239253284e42 00003769: ADD 0000376a: DUP3 0000376b: MUL 0000376c: DUP2 0000376d: SAR 0000376e: PUSH13 0x0b7a86d7375468fac667a0a527 0000377c: ADD 0000377d: PUSH13 0x29508e458543d8aa4df2abee78 0000378b: DUP4 0000378c: ADD 0000378d: DUP4 0000378e: MUL 0000378f: DUP3 00003790: SAR 00003791: PUSH14 0x0139601a2efabe717e604cbb4894 000037a0: ADD 000037a1: DUP4 000037a2: MUL 000037a3: DUP3 000037a4: SAR 000037a5: PUSH14 0x02247f7a7b6594320649aa03aba1 000037b4: ADD 000037b5: DUP4 000037b6: MUL 000037b7: DUP3 000037b8: SAR 000037b9: PUSH32 0xffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9 000037da: ADD 000037db: DUP4 000037dc: MUL 000037dd: DUP3 000037de: SAR 000037df: PUSH32 0xfffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f 00003800: ADD 00003801: DUP4 00003802: MUL 00003803: SWAP1 00003804: SWAP2 00003805: SAR 00003806: PUSH32 0xffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832 00003827: ADD 00003828: SWAP1 00003829: SWAP2 0000382a: MUL 0000382b: PUSH32 0xfffffffffffffff5f6af8f7b3396644f18e15796000000000000000000000000 0000384c: ADD 0000384d: SDIV 0000384e: PUSH18 0x1340daa0d5f769dba1915cef59f0815a5506 00003861: MUL 00003862: PUSH30 0x0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b3 00003881: SWAP4 00003882: SWAP1 00003883: SWAP4 00003884: MUL 00003885: SWAP3 00003886: SWAP1 00003887: SWAP3 00003888: ADD 00003889: PUSH30 0x57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b8864284 000038a8: ADD 000038a9: PUSH1 0xae 000038ab: SAR 000038ac: SWAP3 000038ad: SWAP2 000038ae: POP 000038af: POP 000038b0: JUMP 000038b1: JUMPDEST 000038b2: PUSH1 0x00 000038b4: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffdb731c958f34d94c1 000038d5: DUP3 000038d6: SGT 000038d7: PUSH2 0x38e2 000038da: JUMPI 000038db: POP 000038dc: PUSH1 0x00 000038de: SWAP2 000038df: SWAP1 000038e0: POP 000038e1: JUMP 000038e2: JUMPDEST 000038e3: PUSH9 0x0755bf798b4a1bf1e5 000038ed: DUP3 000038ee: SLT 000038ef: PUSH2 0x3954 000038f2: JUMPI 000038f3: PUSH1 0x40 000038f5: MLOAD 000038f6: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003917: DUP2 00003918: MSTORE 00003919: PUSH1 0x20 0000391b: PUSH1 0x04 0000391d: DUP3 0000391e: ADD 0000391f: MSTORE 00003920: PUSH1 0x0c 00003922: PUSH1 0x24 00003924: DUP3 00003925: ADD 00003926: MSTORE 00003927: PUSH32 0x4558505f4f564552464c4f570000000000000000000000000000000000000000 00003948: PUSH1 0x44 0000394a: DUP3 0000394b: ADD 0000394c: MSTORE 0000394d: PUSH1 0x64 0000394f: ADD 00003950: PUSH2 0x0add 00003953: JUMP 00003954: JUMPDEST 00003955: PUSH6 0x03782dace9d9 0000395c: PUSH1 0x4e 0000395e: DUP4 0000395f: SWAP1 00003960: SHL 00003961: SDIV 00003962: SWAP2 00003963: POP 00003964: PUSH1 0x00 00003966: PUSH1 0x60 00003968: PUSH12 0xb17217f7d1cf79abc9e3b398 00003975: DUP5 00003976: DUP3 00003977: SHL 00003978: SDIV 00003979: PUSH12 0x800000000000000000000000 00003986: ADD 00003987: SWAP1 00003988: SAR 00003989: PUSH12 0xb17217f7d1cf79abc9e3b398 00003996: DUP2 00003997: MUL 00003998: SWAP1 00003999: SWAP4 0000399a: SUB 0000399b: PUSH32 0xffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a5504 000039bc: DUP2 000039bd: ADD 000039be: DUP2 000039bf: MUL 000039c0: PUSH1 0x60 000039c2: SWAP1 000039c3: DUP2 000039c4: SAR 000039c5: PUSH14 0x0277594991cfc85f6e2461837cd9 000039d4: ADD 000039d5: DUP3 000039d6: MUL 000039d7: DUP2 000039d8: SAR 000039d9: PUSH32 0xffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c 000039fa: ADD 000039fb: DUP3 000039fc: MUL 000039fd: DUP2 000039fe: SAR 000039ff: PUSH14 0xb1bbb201f443cf962f1a1d3db4a5 00003a0e: ADD 00003a0f: DUP3 00003a10: MUL 00003a11: DUP2 00003a12: SAR 00003a13: PUSH32 0xfffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb 00003a34: ADD 00003a35: DUP3 00003a36: MUL 00003a37: DUP2 00003a38: SAR 00003a39: PUSH15 0x05180bb14799ab47a8a8cb2a527d57 00003a49: ADD 00003a4a: PUSH14 0x02d16720577bd19bf614176fe9ea 00003a59: PUSH13 0x10fe68e7fd37d0007b713f7650 00003a67: DUP5 00003a68: ADD 00003a69: DUP5 00003a6a: MUL 00003a6b: DUP4 00003a6c: SAR 00003a6d: SWAP1 00003a6e: DUP2 00003a6f: ADD 00003a70: SWAP1 00003a71: DUP5 00003a72: ADD 00003a73: PUSH32 0xfffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e 00003a94: ADD 00003a95: MUL 00003a96: SWAP1 00003a97: SWAP2 00003a98: SAR 00003a99: PUSH15 0x0587f503bb6ea29d25fcb740196450 00003aa9: ADD 00003aaa: SWAP1 00003aab: SWAP2 00003aac: MUL 00003aad: PUSH26 0xd835ebba824c98fb31b83b2ca45c000000000000000000000000 00003ac8: ADD 00003ac9: SDIV 00003aca: PUSH21 0x029d9dc38563c32e5c2f6dc192ee70ef65f9978af3 00003ae0: MUL 00003ae1: PUSH1 0xc3 00003ae3: SWAP4 00003ae4: SWAP1 00003ae5: SWAP4 00003ae6: SUB 00003ae7: SWAP3 00003ae8: SWAP1 00003ae9: SWAP3 00003aea: SHR 00003aeb: SWAP3 00003aec: SWAP2 00003aed: POP 00003aee: POP 00003aef: JUMP 00003af0: JUMPDEST 00003af1: PUSH1 0x60 00003af3: DUP3 00003af4: SELFBALANCE 00003af5: LT 00003af6: ISZERO 00003af7: PUSH2 0x3b82 00003afa: JUMPI 00003afb: PUSH1 0x40 00003afd: MLOAD 00003afe: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003b1f: DUP2 00003b20: MSTORE 00003b21: PUSH1 0x20 00003b23: PUSH1 0x04 00003b25: DUP3 00003b26: ADD 00003b27: MSTORE 00003b28: PUSH1 0x26 00003b2a: PUSH1 0x24 00003b2c: DUP3 00003b2d: ADD 00003b2e: MSTORE 00003b2f: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f 00003b50: PUSH1 0x44 00003b52: DUP3 00003b53: ADD 00003b54: MSTORE 00003b55: PUSH32 0x722063616c6c0000000000000000000000000000000000000000000000000000 00003b76: PUSH1 0x64 00003b78: DUP3 00003b79: ADD 00003b7a: MSTORE 00003b7b: PUSH1 0x84 00003b7d: ADD 00003b7e: PUSH2 0x0add 00003b81: JUMP 00003b82: JUMPDEST 00003b83: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003b98: DUP6 00003b99: AND 00003b9a: EXTCODESIZE 00003b9b: PUSH2 0x3c00 00003b9e: JUMPI 00003b9f: PUSH1 0x40 00003ba1: MLOAD 00003ba2: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003bc3: DUP2 00003bc4: MSTORE 00003bc5: PUSH1 0x20 00003bc7: PUSH1 0x04 00003bc9: DUP3 00003bca: ADD 00003bcb: MSTORE 00003bcc: PUSH1 0x1d 00003bce: PUSH1 0x24 00003bd0: DUP3 00003bd1: ADD 00003bd2: MSTORE 00003bd3: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000 00003bf4: PUSH1 0x44 00003bf6: DUP3 00003bf7: ADD 00003bf8: MSTORE 00003bf9: PUSH1 0x64 00003bfb: ADD 00003bfc: PUSH2 0x0add 00003bff: JUMP 00003c00: JUMPDEST 00003c01: PUSH1 0x00 00003c03: DUP1 00003c04: DUP7 00003c05: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003c1a: AND 00003c1b: DUP6 00003c1c: DUP8 00003c1d: PUSH1 0x40 00003c1f: MLOAD 00003c20: PUSH2 0x3c29 00003c23: SWAP2 00003c24: SWAP1 00003c25: PUSH2 0x571f 00003c28: JUMP 00003c29: JUMPDEST 00003c2a: PUSH1 0x00 00003c2c: PUSH1 0x40 00003c2e: MLOAD 00003c2f: DUP1 00003c30: DUP4 00003c31: SUB 00003c32: DUP2 00003c33: DUP6 00003c34: DUP8 00003c35: GAS 00003c36: CALL 00003c37: SWAP3 00003c38: POP 00003c39: POP 00003c3a: POP 00003c3b: RETURNDATASIZE 00003c3c: DUP1 00003c3d: PUSH1 0x00 00003c3f: DUP2 00003c40: EQ 00003c41: PUSH2 0x3c66 00003c44: JUMPI 00003c45: PUSH1 0x40 00003c47: MLOAD 00003c48: SWAP2 00003c49: POP 00003c4a: PUSH1 0x1f 00003c4c: NOT 00003c4d: PUSH1 0x3f 00003c4f: RETURNDATASIZE 00003c50: ADD 00003c51: AND 00003c52: DUP3 00003c53: ADD 00003c54: PUSH1 0x40 00003c56: MSTORE 00003c57: RETURNDATASIZE 00003c58: DUP3 00003c59: MSTORE 00003c5a: RETURNDATASIZE 00003c5b: PUSH1 0x00 00003c5d: PUSH1 0x20 00003c5f: DUP5 00003c60: ADD 00003c61: RETURNDATACOPY 00003c62: PUSH2 0x3c6b 00003c65: JUMP 00003c66: JUMPDEST 00003c67: PUSH1 0x60 00003c69: SWAP2 00003c6a: POP 00003c6b: JUMPDEST 00003c6c: POP 00003c6d: SWAP2 00003c6e: POP 00003c6f: SWAP2 00003c70: POP 00003c71: PUSH2 0x3c7b 00003c74: DUP3 00003c75: DUP3 00003c76: DUP7 00003c77: PUSH2 0x4092 00003c7a: JUMP 00003c7b: JUMPDEST 00003c7c: SWAP8 00003c7d: SWAP7 00003c7e: POP 00003c7f: POP 00003c80: POP 00003c81: POP 00003c82: POP 00003c83: POP 00003c84: POP 00003c85: JUMP 00003c86: JUMPDEST 00003c87: DUP1 00003c88: MLOAD 00003c89: PUSH1 0x60 00003c8b: SWAP1 00003c8c: DUP1 00003c8d: PUSH8 0xffffffffffffffff 00003c96: DUP2 00003c97: GT 00003c98: ISZERO 00003c99: PUSH2 0x3ca4 00003c9c: JUMPI 00003c9d: PUSH2 0x3ca4 00003ca0: PUSH2 0x4a8b 00003ca3: JUMP 00003ca4: JUMPDEST 00003ca5: PUSH1 0x40 00003ca7: MLOAD 00003ca8: SWAP1 00003ca9: DUP1 00003caa: DUP3 00003cab: MSTORE 00003cac: DUP1 00003cad: PUSH1 0x20 00003caf: MUL 00003cb0: PUSH1 0x20 00003cb2: ADD 00003cb3: DUP3 00003cb4: ADD 00003cb5: PUSH1 0x40 00003cb7: MSTORE 00003cb8: DUP1 00003cb9: ISZERO 00003cba: PUSH2 0x3ce9 00003cbd: JUMPI 00003cbe: DUP2 00003cbf: PUSH1 0x20 00003cc1: ADD 00003cc2: JUMPDEST 00003cc3: PUSH1 0x40 00003cc5: DUP1 00003cc6: MLOAD 00003cc7: DUP1 00003cc8: DUP3 00003cc9: ADD 00003cca: SWAP1 00003ccb: SWAP2 00003ccc: MSTORE 00003ccd: PUSH1 0x60 00003ccf: DUP1 00003cd0: DUP3 00003cd1: MSTORE 00003cd2: PUSH1 0x20 00003cd4: DUP3 00003cd5: ADD 00003cd6: MSTORE 00003cd7: DUP2 00003cd8: MSTORE 00003cd9: PUSH1 0x20 00003cdb: ADD 00003cdc: SWAP1 00003cdd: PUSH1 0x01 00003cdf: SWAP1 00003ce0: SUB 00003ce1: SWAP1 00003ce2: DUP2 00003ce3: PUSH2 0x3cc2 00003ce6: JUMPI 00003ce7: SWAP1 00003ce8: POP 00003ce9: JUMPDEST 00003cea: POP 00003ceb: SWAP2 00003cec: POP 00003ced: PUSH1 0x00 00003cef: JUMPDEST 00003cf0: DUP2 00003cf1: DUP2 00003cf2: LT 00003cf3: ISZERO 00003cf4: PUSH2 0x3d6b 00003cf7: JUMPI 00003cf8: PUSH1 0x40 00003cfa: MLOAD 00003cfb: DUP1 00003cfc: PUSH1 0x40 00003cfe: ADD 00003cff: PUSH1 0x40 00003d01: MSTORE 00003d02: DUP1 00003d03: DUP6 00003d04: DUP4 00003d05: DUP2 00003d06: MLOAD 00003d07: DUP2 00003d08: LT 00003d09: PUSH2 0x3d14 00003d0c: JUMPI 00003d0d: PUSH2 0x3d14 00003d10: PUSH2 0x56ab 00003d13: JUMP 00003d14: JUMPDEST 00003d15: PUSH1 0x20 00003d17: MUL 00003d18: PUSH1 0x20 00003d1a: ADD 00003d1b: ADD 00003d1c: MLOAD 00003d1d: DUP2 00003d1e: MSTORE 00003d1f: PUSH1 0x20 00003d21: ADD 00003d22: PUSH2 0x3d43 00003d25: DUP7 00003d26: DUP5 00003d27: DUP2 00003d28: MLOAD 00003d29: DUP2 00003d2a: LT 00003d2b: PUSH2 0x3d36 00003d2e: JUMPI 00003d2f: PUSH2 0x3d36 00003d32: PUSH2 0x56ab 00003d35: JUMP 00003d36: JUMPDEST 00003d37: PUSH1 0x20 00003d39: MUL 00003d3a: PUSH1 0x20 00003d3c: ADD 00003d3d: ADD 00003d3e: MLOAD 00003d3f: PUSH2 0x40e5 00003d42: JUMP 00003d43: JUMPDEST 00003d44: DUP2 00003d45: MSTORE 00003d46: POP 00003d47: DUP4 00003d48: DUP3 00003d49: DUP2 00003d4a: MLOAD 00003d4b: DUP2 00003d4c: LT 00003d4d: PUSH2 0x3d58 00003d50: JUMPI 00003d51: PUSH2 0x3d58 00003d54: PUSH2 0x56ab 00003d57: JUMP 00003d58: JUMPDEST 00003d59: PUSH1 0x20 00003d5b: SWAP1 00003d5c: DUP2 00003d5d: MUL 00003d5e: SWAP2 00003d5f: SWAP1 00003d60: SWAP2 00003d61: ADD 00003d62: ADD 00003d63: MSTORE 00003d64: PUSH1 0x01 00003d66: ADD 00003d67: PUSH2 0x3cef 00003d6a: JUMP 00003d6b: JUMPDEST 00003d6c: POP 00003d6d: POP 00003d6e: SWAP2 00003d6f: SWAP1 00003d70: POP 00003d71: JUMP 00003d72: JUMPDEST 00003d73: PUSH1 0x60 00003d75: DUP1 00003d76: PUSH1 0x40 00003d78: MLOAD 00003d79: SWAP1 00003d7a: POP 00003d7b: DUP3 00003d7c: MLOAD 00003d7d: DUP1 00003d7e: PUSH1 0x01 00003d80: SHL 00003d81: PUSH1 0x3f 00003d83: DUP2 00003d84: ADD 00003d85: PUSH1 0x1f 00003d87: NOT 00003d88: AND 00003d89: DUP4 00003d8a: ADD 00003d8b: PUSH1 0x40 00003d8d: MSTORE 00003d8e: DUP1 00003d8f: DUP4 00003d90: MSTORE 00003d91: POP 00003d92: PUSH1 0x20 00003d94: DUP5 00003d95: ADD 00003d96: PUSH1 0x20 00003d98: DUP4 00003d99: ADD 00003d9a: PUSH1 0x00 00003d9c: JUMPDEST 00003d9d: DUP4 00003d9e: DUP2 00003d9f: LT 00003da0: ISZERO 00003da1: PUSH2 0x3dca 00003da4: JUMPI 00003da5: DUP1 00003da6: PUSH1 0x01 00003da8: SHL 00003da9: DUP3 00003daa: ADD 00003dab: DUP2 00003dac: DUP5 00003dad: ADD 00003dae: MLOAD 00003daf: PUSH1 0x00 00003db1: BYTE 00003db2: DUP1 00003db3: PUSH1 0x04 00003db5: SHR 00003db6: DUP3 00003db7: MSTORE8 00003db8: PUSH1 0x0f 00003dba: DUP2 00003dbb: AND 00003dbc: PUSH1 0x01 00003dbe: DUP4 00003dbf: ADD 00003dc0: MSTORE8 00003dc1: POP 00003dc2: POP 00003dc3: PUSH1 0x01 00003dc5: ADD 00003dc6: PUSH2 0x3d9c 00003dc9: JUMP 00003dca: JUMPDEST 00003dcb: POP 00003dcc: SWAP3 00003dcd: SWAP6 00003dce: SWAP5 00003dcf: POP 00003dd0: POP 00003dd1: POP 00003dd2: POP 00003dd3: POP 00003dd4: JUMP 00003dd5: JUMPDEST 00003dd6: PUSH1 0x60 00003dd8: PUSH1 0x00 00003dda: DUP1 00003ddb: PUSH1 0x00 00003ddd: PUSH2 0x3de5 00003de0: DUP6 00003de1: PUSH2 0x40f8 00003de4: JUMP 00003de5: JUMPDEST 00003de6: SWAP2 00003de7: SWAP5 00003de8: POP 00003de9: SWAP3 00003dea: POP 00003deb: SWAP1 00003dec: POP 00003ded: PUSH1 0x00 00003def: DUP2 00003df0: PUSH1 0x01 00003df2: DUP2 00003df3: GT 00003df4: ISZERO 00003df5: PUSH2 0x3e00 00003df8: JUMPI 00003df9: PUSH2 0x3e00 00003dfc: PUSH2 0x573b 00003dff: JUMP 00003e00: JUMPDEST 00003e01: EQ 00003e02: PUSH2 0x3e37 00003e05: JUMPI 00003e06: PUSH1 0x40 00003e08: MLOAD 00003e09: PUSH32 0x1ff9b2e400000000000000000000000000000000000000000000000000000000 00003e2a: DUP2 00003e2b: MSTORE 00003e2c: PUSH1 0x04 00003e2e: ADD 00003e2f: PUSH1 0x40 00003e31: MLOAD 00003e32: DUP1 00003e33: SWAP2 00003e34: SUB 00003e35: SWAP1 00003e36: REVERT 00003e37: JUMPDEST 00003e38: PUSH2 0x3e41 00003e3b: DUP3 00003e3c: DUP5 00003e3d: PUSH2 0x4fed 00003e40: JUMP 00003e41: JUMPDEST 00003e42: DUP6 00003e43: MLOAD 00003e44: EQ 00003e45: PUSH2 0x3e7a 00003e48: JUMPI 00003e49: PUSH1 0x40 00003e4b: MLOAD 00003e4c: PUSH32 0x5c5537b800000000000000000000000000000000000000000000000000000000 00003e6d: DUP2 00003e6e: MSTORE 00003e6f: PUSH1 0x04 00003e71: ADD 00003e72: PUSH1 0x40 00003e74: MLOAD 00003e75: DUP1 00003e76: SWAP2 00003e77: SUB 00003e78: SWAP1 00003e79: REVERT 00003e7a: JUMPDEST 00003e7b: PUSH2 0x2b69 00003e7e: DUP6 00003e7f: PUSH1 0x20 00003e81: ADD 00003e82: MLOAD 00003e83: DUP5 00003e84: DUP5 00003e85: PUSH2 0x4596 00003e88: JUMP 00003e89: JUMPDEST 00003e8a: PUSH1 0x60 00003e8c: PUSH1 0x20 00003e8e: DUP3 00003e8f: PUSH1 0x00 00003e91: ADD 00003e92: MLOAD 00003e93: LT 00003e94: PUSH2 0x3ea5 00003e97: JUMPI 00003e98: PUSH2 0x3ea0 00003e9b: DUP3 00003e9c: PUSH2 0x3dd5 00003e9f: JUMP 00003ea0: JUMPDEST 00003ea1: PUSH2 0x0ff2 00003ea4: JUMP 00003ea5: JUMPDEST 00003ea6: PUSH2 0x0ff2 00003ea9: DUP3 00003eaa: PUSH2 0x462a 00003ead: JUMP 00003eae: JUMPDEST 00003eaf: PUSH1 0x60 00003eb1: PUSH2 0x0ff2 00003eb4: PUSH2 0x3ecd 00003eb7: DUP4 00003eb8: PUSH1 0x20 00003eba: ADD 00003ebb: MLOAD 00003ebc: PUSH1 0x00 00003ebe: DUP2 00003ebf: MLOAD 00003ec0: DUP2 00003ec1: LT 00003ec2: PUSH2 0x2fa1 00003ec5: JUMPI 00003ec6: PUSH2 0x2fa1 00003ec9: PUSH2 0x56ab 00003ecc: JUMP 00003ecd: JUMPDEST 00003ece: PUSH2 0x3d72 00003ed1: JUMP 00003ed2: JUMPDEST 00003ed3: PUSH1 0x60 00003ed5: DUP3 00003ed6: MLOAD 00003ed7: DUP3 00003ed8: LT 00003ed9: PUSH2 0x3ef1 00003edc: JUMPI 00003edd: POP 00003ede: PUSH1 0x40 00003ee0: DUP1 00003ee1: MLOAD 00003ee2: PUSH1 0x20 00003ee4: DUP2 00003ee5: ADD 00003ee6: SWAP1 00003ee7: SWAP2 00003ee8: MSTORE 00003ee9: PUSH1 0x00 00003eeb: DUP2 00003eec: MSTORE 00003eed: PUSH2 0x0ff2 00003ef0: JUMP 00003ef1: JUMPDEST 00003ef2: PUSH2 0x2968 00003ef5: DUP4 00003ef6: DUP4 00003ef7: DUP5 00003ef8: DUP7 00003ef9: MLOAD 00003efa: PUSH2 0x3f03 00003efd: SWAP2 00003efe: SWAP1 00003eff: PUSH2 0x522c 00003f02: JUMP 00003f03: JUMPDEST 00003f04: PUSH2 0x4640 00003f07: JUMP 00003f08: JUMPDEST 00003f09: PUSH1 0x00 00003f0b: DUP1 00003f0c: DUP3 00003f0d: MLOAD 00003f0e: DUP5 00003f0f: MLOAD 00003f10: LT 00003f11: PUSH2 0x3f1b 00003f14: JUMPI 00003f15: DUP3 00003f16: MLOAD 00003f17: PUSH2 0x3f1e 00003f1a: JUMP 00003f1b: JUMPDEST 00003f1c: DUP4 00003f1d: MLOAD 00003f1e: JUMPDEST 00003f1f: SWAP1 00003f20: POP 00003f21: JUMPDEST 00003f22: DUP1 00003f23: DUP3 00003f24: LT 00003f25: DUP1 00003f26: ISZERO 00003f27: PUSH2 0x3fa5 00003f2a: JUMPI 00003f2b: POP 00003f2c: DUP3 00003f2d: DUP3 00003f2e: DUP2 00003f2f: MLOAD 00003f30: DUP2 00003f31: LT 00003f32: PUSH2 0x3f3d 00003f35: JUMPI 00003f36: PUSH2 0x3f3d 00003f39: PUSH2 0x56ab 00003f3c: JUMP 00003f3d: JUMPDEST 00003f3e: PUSH1 0x20 00003f40: ADD 00003f41: ADD 00003f42: MLOAD 00003f43: PUSH1 0xf8 00003f45: SHR 00003f46: PUSH1 0xf8 00003f48: SHL 00003f49: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00003f69: NOT 00003f6a: AND 00003f6b: DUP5 00003f6c: DUP4 00003f6d: DUP2 00003f6e: MLOAD 00003f6f: DUP2 00003f70: LT 00003f71: PUSH2 0x3f7c 00003f74: JUMPI 00003f75: PUSH2 0x3f7c 00003f78: PUSH2 0x56ab 00003f7b: JUMP 00003f7c: JUMPDEST 00003f7d: ADD 00003f7e: PUSH1 0x20 00003f80: ADD 00003f81: MLOAD 00003f82: PUSH32 0xff00000000000000000000000000000000000000000000000000000000000000 00003fa3: AND 00003fa4: EQ 00003fa5: JUMPDEST 00003fa6: ISZERO 00003fa7: PUSH2 0x3fb5 00003faa: JUMPI 00003fab: DUP2 00003fac: PUSH1 0x01 00003fae: ADD 00003faf: SWAP2 00003fb0: POP 00003fb1: PUSH2 0x3f21 00003fb4: JUMP 00003fb5: JUMPDEST 00003fb6: POP 00003fb7: SWAP3 00003fb8: SWAP2 00003fb9: POP 00003fba: POP 00003fbb: JUMP 00003fbc: JUMPDEST 00003fbd: PUSH1 0x00 00003fbf: DUP1 00003fc0: DUP3 00003fc1: GT 00003fc2: PUSH2 0x4027 00003fc5: JUMPI 00003fc6: PUSH1 0x40 00003fc8: MLOAD 00003fc9: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003fea: DUP2 00003feb: MSTORE 00003fec: PUSH1 0x20 00003fee: PUSH1 0x04 00003ff0: DUP3 00003ff1: ADD 00003ff2: MSTORE 00003ff3: PUSH1 0x09 00003ff5: PUSH1 0x24 00003ff7: DUP3 00003ff8: ADD 00003ff9: MSTORE 00003ffa: PUSH32 0x554e444546494e45440000000000000000000000000000000000000000000000 0000401b: PUSH1 0x44 0000401d: DUP3 0000401e: ADD 0000401f: MSTORE 00004020: PUSH1 0x64 00004022: ADD 00004023: PUSH2 0x0add 00004026: JUMP 00004027: JUMPDEST 00004028: POP 00004029: PUSH1 0x01 0000402b: PUSH16 0xffffffffffffffffffffffffffffffff 0000403c: DUP3 0000403d: GT 0000403e: PUSH1 0x07 00004040: SHL 00004041: DUP3 00004042: DUP2 00004043: SHR 00004044: PUSH8 0xffffffffffffffff 0000404d: LT 0000404e: PUSH1 0x06 00004050: SHL 00004051: OR 00004052: DUP3 00004053: DUP2 00004054: SHR 00004055: PUSH4 0xffffffff 0000405a: LT 0000405b: PUSH1 0x05 0000405d: SHL 0000405e: OR 0000405f: DUP3 00004060: DUP2 00004061: SHR 00004062: PUSH2 0xffff 00004065: LT 00004066: PUSH1 0x04 00004068: SHL 00004069: OR 0000406a: DUP3 0000406b: DUP2 0000406c: SHR 0000406d: PUSH1 0xff 0000406f: LT 00004070: PUSH1 0x03 00004072: SWAP1 00004073: DUP2 00004074: SHL 00004075: SWAP1 00004076: SWAP2 00004077: OR 00004078: DUP4 00004079: DUP2 0000407a: SHR 0000407b: PUSH1 0x0f 0000407d: LT 0000407e: PUSH1 0x02 00004080: SHL 00004081: OR 00004082: DUP4 00004083: DUP2 00004084: SHR 00004085: SWAP1 00004086: SWAP2 00004087: LT 00004088: DUP3 00004089: SHL 0000408a: OR 0000408b: SWAP2 0000408c: DUP3 0000408d: SHR 0000408e: GT 0000408f: OR 00004090: SWAP1 00004091: JUMP 00004092: JUMPDEST 00004093: PUSH1 0x60 00004095: DUP4 00004096: ISZERO 00004097: PUSH2 0x40a1 0000409a: JUMPI 0000409b: POP 0000409c: DUP2 0000409d: PUSH2 0x2968 000040a0: JUMP 000040a1: JUMPDEST 000040a2: DUP3 000040a3: MLOAD 000040a4: ISZERO 000040a5: PUSH2 0x40b1 000040a8: JUMPI 000040a9: DUP3 000040aa: MLOAD 000040ab: DUP1 000040ac: DUP5 000040ad: PUSH1 0x20 000040af: ADD 000040b0: REVERT 000040b1: JUMPDEST 000040b2: DUP2 000040b3: PUSH1 0x40 000040b5: MLOAD 000040b6: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000040d7: DUP2 000040d8: MSTORE 000040d9: PUSH1 0x04 000040db: ADD 000040dc: PUSH2 0x0add 000040df: SWAP2 000040e0: SWAP1 000040e1: PUSH2 0x4e1d 000040e4: JUMP 000040e5: JUMPDEST 000040e6: PUSH1 0x60 000040e8: PUSH2 0x0ff2 000040eb: PUSH2 0x40f3 000040ee: DUP4 000040ef: PUSH2 0x4818 000040f2: JUMP 000040f3: JUMPDEST 000040f4: PUSH2 0x4885 000040f7: JUMP 000040f8: JUMPDEST 000040f9: PUSH1 0x00 000040fb: DUP1 000040fc: PUSH1 0x00 000040fe: DUP4 000040ff: PUSH1 0x00 00004101: ADD 00004102: MLOAD 00004103: PUSH1 0x00 00004105: SUB 00004106: PUSH2 0x413b 00004109: JUMPI 0000410a: PUSH1 0x40 0000410c: MLOAD 0000410d: PUSH32 0x5ab458fb00000000000000000000000000000000000000000000000000000000 0000412e: DUP2 0000412f: MSTORE 00004130: PUSH1 0x04 00004132: ADD 00004133: PUSH1 0x40 00004135: MLOAD 00004136: DUP1 00004137: SWAP2 00004138: SUB 00004139: SWAP1 0000413a: REVERT 0000413b: JUMPDEST 0000413c: PUSH1 0x20 0000413e: DUP5 0000413f: ADD 00004140: MLOAD 00004141: DUP1 00004142: MLOAD 00004143: PUSH1 0x00 00004145: BYTE 00004146: PUSH1 0x7f 00004148: DUP2 00004149: GT 0000414a: PUSH2 0x4160 0000414d: JUMPI 0000414e: PUSH1 0x00 00004150: PUSH1 0x01 00004152: PUSH1 0x00 00004154: SWAP5 00004155: POP 00004156: SWAP5 00004157: POP 00004158: SWAP5 00004159: POP 0000415a: POP 0000415b: POP 0000415c: PUSH2 0x458f 0000415f: JUMP 00004160: JUMPDEST 00004161: PUSH1 0xb7 00004163: DUP2 00004164: GT 00004165: PUSH2 0x4276 00004168: JUMPI 00004169: PUSH1 0x00 0000416b: PUSH2 0x4175 0000416e: PUSH1 0x80 00004170: DUP4 00004171: PUSH2 0x522c 00004174: JUMP 00004175: JUMPDEST 00004176: SWAP1 00004177: POP 00004178: DUP1 00004179: DUP8 0000417a: PUSH1 0x00 0000417c: ADD 0000417d: MLOAD 0000417e: GT 0000417f: PUSH2 0x41b4 00004182: JUMPI 00004183: PUSH1 0x40 00004185: MLOAD 00004186: PUSH32 0x66c9448500000000000000000000000000000000000000000000000000000000 000041a7: DUP2 000041a8: MSTORE 000041a9: PUSH1 0x04 000041ab: ADD 000041ac: PUSH1 0x40 000041ae: MLOAD 000041af: DUP1 000041b0: SWAP2 000041b1: SUB 000041b2: SWAP1 000041b3: REVERT 000041b4: JUMPDEST 000041b5: PUSH1 0x01 000041b7: DUP4 000041b8: DUP2 000041b9: ADD 000041ba: MLOAD 000041bb: PUSH32 0xff00000000000000000000000000000000000000000000000000000000000000 000041dc: AND 000041dd: SWAP1 000041de: DUP3 000041df: EQ 000041e0: DUP1 000041e1: ISZERO 000041e2: PUSH2 0x422c 000041e5: JUMPI 000041e6: POP 000041e7: PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 00004208: PUSH32 0xff00000000000000000000000000000000000000000000000000000000000000 00004229: DUP3 0000422a: AND 0000422b: LT 0000422c: JUMPDEST 0000422d: ISZERO 0000422e: PUSH2 0x4263 00004231: JUMPI 00004232: PUSH1 0x40 00004234: MLOAD 00004235: PUSH32 0xbabb01dd00000000000000000000000000000000000000000000000000000000 00004256: DUP2 00004257: MSTORE 00004258: PUSH1 0x04 0000425a: ADD 0000425b: PUSH1 0x40 0000425d: MLOAD 0000425e: DUP1 0000425f: SWAP2 00004260: SUB 00004261: SWAP1 00004262: REVERT 00004263: JUMPDEST 00004264: POP 00004265: PUSH1 0x01 00004267: SWAP6 00004268: POP 00004269: SWAP4 0000426a: POP 0000426b: PUSH1 0x00 0000426d: SWAP3 0000426e: POP 0000426f: PUSH2 0x458f 00004272: SWAP2 00004273: POP 00004274: POP 00004275: JUMP 00004276: JUMPDEST 00004277: PUSH1 0xbf 00004279: DUP2 0000427a: GT 0000427b: PUSH2 0x43d4 0000427e: JUMPI 0000427f: PUSH1 0x00 00004281: PUSH2 0x428b 00004284: PUSH1 0xb7 00004286: DUP4 00004287: PUSH2 0x522c 0000428a: JUMP 0000428b: JUMPDEST 0000428c: SWAP1 0000428d: POP 0000428e: DUP1 0000428f: DUP8 00004290: PUSH1 0x00 00004292: ADD 00004293: MLOAD 00004294: GT 00004295: PUSH2 0x42ca 00004298: JUMPI 00004299: PUSH1 0x40 0000429b: MLOAD 0000429c: PUSH32 0x66c9448500000000000000000000000000000000000000000000000000000000 000042bd: DUP2 000042be: MSTORE 000042bf: PUSH1 0x04 000042c1: ADD 000042c2: PUSH1 0x40 000042c4: MLOAD 000042c5: DUP1 000042c6: SWAP2 000042c7: SUB 000042c8: SWAP1 000042c9: REVERT 000042ca: JUMPDEST 000042cb: PUSH1 0x01 000042cd: DUP4 000042ce: ADD 000042cf: MLOAD 000042d0: PUSH32 0xff00000000000000000000000000000000000000000000000000000000000000 000042f1: AND 000042f2: PUSH1 0x00 000042f4: DUP2 000042f5: SWAP1 000042f6: SUB 000042f7: PUSH2 0x432c 000042fa: JUMPI 000042fb: PUSH1 0x40 000042fd: MLOAD 000042fe: PUSH32 0xbabb01dd00000000000000000000000000000000000000000000000000000000 0000431f: DUP2 00004320: MSTORE 00004321: PUSH1 0x04 00004323: ADD 00004324: PUSH1 0x40 00004326: MLOAD 00004327: DUP1 00004328: SWAP2 00004329: SUB 0000432a: SWAP1 0000432b: REVERT 0000432c: JUMPDEST 0000432d: PUSH1 0x01 0000432f: DUP5 00004330: ADD 00004331: MLOAD 00004332: PUSH1 0x08 00004334: DUP4 00004335: MUL 00004336: PUSH2 0x0100 00004339: SUB 0000433a: SHR 0000433b: PUSH1 0x37 0000433d: DUP2 0000433e: GT 0000433f: PUSH2 0x4374 00004342: JUMPI 00004343: PUSH1 0x40 00004345: MLOAD 00004346: PUSH32 0xbabb01dd00000000000000000000000000000000000000000000000000000000 00004367: DUP2 00004368: MSTORE 00004369: PUSH1 0x04 0000436b: ADD 0000436c: PUSH1 0x40 0000436e: MLOAD 0000436f: DUP1 00004370: SWAP2 00004371: SUB 00004372: SWAP1 00004373: REVERT 00004374: JUMPDEST 00004375: PUSH2 0x437e 00004378: DUP2 00004379: DUP5 0000437a: PUSH2 0x4fed 0000437d: JUMP 0000437e: JUMPDEST 0000437f: DUP10 00004380: MLOAD 00004381: GT 00004382: PUSH2 0x43b7 00004385: JUMPI 00004386: PUSH1 0x40 00004388: MLOAD 00004389: PUSH32 0x66c9448500000000000000000000000000000000000000000000000000000000 000043aa: DUP2 000043ab: MSTORE 000043ac: PUSH1 0x04 000043ae: ADD 000043af: PUSH1 0x40 000043b1: MLOAD 000043b2: DUP1 000043b3: SWAP2 000043b4: SUB 000043b5: SWAP1 000043b6: REVERT 000043b7: JUMPDEST 000043b8: PUSH2 0x43c2 000043bb: DUP4 000043bc: PUSH1 0x01 000043be: PUSH2 0x4fed 000043c1: JUMP 000043c2: JUMPDEST 000043c3: SWAP8 000043c4: POP 000043c5: SWAP6 000043c6: POP 000043c7: PUSH1 0x00 000043c9: SWAP5 000043ca: POP 000043cb: PUSH2 0x458f 000043ce: SWAP4 000043cf: POP 000043d0: POP 000043d1: POP 000043d2: POP 000043d3: JUMP 000043d4: JUMPDEST 000043d5: PUSH1 0xf7 000043d7: DUP2 000043d8: GT 000043d9: PUSH2 0x4439 000043dc: JUMPI 000043dd: PUSH1 0x00 000043df: PUSH2 0x43e9 000043e2: PUSH1 0xc0 000043e4: DUP4 000043e5: PUSH2 0x522c 000043e8: JUMP 000043e9: JUMPDEST 000043ea: SWAP1 000043eb: POP 000043ec: DUP1 000043ed: DUP8 000043ee: PUSH1 0x00 000043f0: ADD 000043f1: MLOAD 000043f2: GT 000043f3: PUSH2 0x4428 000043f6: JUMPI 000043f7: PUSH1 0x40 000043f9: MLOAD 000043fa: PUSH32 0x66c9448500000000000000000000000000000000000000000000000000000000 0000441b: DUP2 0000441c: MSTORE 0000441d: PUSH1 0x04 0000441f: ADD 00004420: PUSH1 0x40 00004422: MLOAD 00004423: DUP1 00004424: SWAP2 00004425: SUB 00004426: SWAP1 00004427: REVERT 00004428: JUMPDEST 00004429: PUSH1 0x01 0000442b: SWAP6 0000442c: POP 0000442d: SWAP4 0000442e: POP 0000442f: DUP5 00004430: SWAP3 00004431: POP 00004432: PUSH2 0x458f 00004435: SWAP2 00004436: POP 00004437: POP 00004438: JUMP 00004439: JUMPDEST 0000443a: PUSH1 0x00 0000443c: PUSH2 0x4446 0000443f: PUSH1 0xf7 00004441: DUP4 00004442: PUSH2 0x522c 00004445: JUMP 00004446: JUMPDEST 00004447: SWAP1 00004448: POP 00004449: DUP1 0000444a: DUP8 0000444b: PUSH1 0x00 0000444d: ADD 0000444e: MLOAD 0000444f: GT 00004450: PUSH2 0x4485 00004453: JUMPI 00004454: PUSH1 0x40 00004456: MLOAD 00004457: PUSH32 0x66c9448500000000000000000000000000000000000000000000000000000000 00004478: DUP2 00004479: MSTORE 0000447a: PUSH1 0x04 0000447c: ADD 0000447d: PUSH1 0x40 0000447f: MLOAD 00004480: DUP1 00004481: SWAP2 00004482: SUB 00004483: SWAP1 00004484: REVERT 00004485: JUMPDEST 00004486: PUSH1 0x01 00004488: DUP4 00004489: ADD 0000448a: MLOAD 0000448b: PUSH32 0xff00000000000000000000000000000000000000000000000000000000000000 000044ac: AND 000044ad: PUSH1 0x00 000044af: DUP2 000044b0: SWAP1 000044b1: SUB 000044b2: PUSH2 0x44e7 000044b5: JUMPI 000044b6: PUSH1 0x40 000044b8: MLOAD 000044b9: PUSH32 0xbabb01dd00000000000000000000000000000000000000000000000000000000 000044da: DUP2 000044db: MSTORE 000044dc: PUSH1 0x04 000044de: ADD 000044df: PUSH1 0x40 000044e1: MLOAD 000044e2: DUP1 000044e3: SWAP2 000044e4: SUB 000044e5: SWAP1 000044e6: REVERT 000044e7: JUMPDEST 000044e8: PUSH1 0x01 000044ea: DUP5 000044eb: ADD 000044ec: MLOAD 000044ed: PUSH1 0x08 000044ef: DUP4 000044f0: MUL 000044f1: PUSH2 0x0100 000044f4: SUB 000044f5: SHR 000044f6: PUSH1 0x37 000044f8: DUP2 000044f9: GT 000044fa: PUSH2 0x452f 000044fd: JUMPI 000044fe: PUSH1 0x40 00004500: MLOAD 00004501: PUSH32 0xbabb01dd00000000000000000000000000000000000000000000000000000000 00004522: DUP2 00004523: MSTORE 00004524: PUSH1 0x04 00004526: ADD 00004527: PUSH1 0x40 00004529: MLOAD 0000452a: DUP1 0000452b: SWAP2 0000452c: SUB 0000452d: SWAP1 0000452e: REVERT 0000452f: JUMPDEST 00004530: PUSH2 0x4539 00004533: DUP2 00004534: DUP5 00004535: PUSH2 0x4fed 00004538: JUMP 00004539: JUMPDEST 0000453a: DUP10 0000453b: MLOAD 0000453c: GT 0000453d: PUSH2 0x4572 00004540: JUMPI 00004541: PUSH1 0x40 00004543: MLOAD 00004544: PUSH32 0x66c9448500000000000000000000000000000000000000000000000000000000 00004565: DUP2 00004566: MSTORE 00004567: PUSH1 0x04 00004569: ADD 0000456a: PUSH1 0x40 0000456c: MLOAD 0000456d: DUP1 0000456e: SWAP2 0000456f: SUB 00004570: SWAP1 00004571: REVERT 00004572: JUMPDEST 00004573: PUSH2 0x457d 00004576: DUP4 00004577: PUSH1 0x01 00004579: PUSH2 0x4fed 0000457c: JUMP 0000457d: JUMPDEST 0000457e: SWAP8 0000457f: POP 00004580: SWAP6 00004581: POP 00004582: PUSH1 0x01 00004584: SWAP5 00004585: POP 00004586: PUSH2 0x458f 00004589: SWAP4 0000458a: POP 0000458b: POP 0000458c: POP 0000458d: POP 0000458e: JUMP 0000458f: JUMPDEST 00004590: SWAP2 00004591: SWAP4 00004592: SWAP1 00004593: SWAP3 00004594: POP 00004595: JUMP 00004596: JUMPDEST 00004597: PUSH1 0x60 00004599: DUP2 0000459a: PUSH8 0xffffffffffffffff 000045a3: DUP2 000045a4: GT 000045a5: ISZERO 000045a6: PUSH2 0x45b1 000045a9: JUMPI 000045aa: PUSH2 0x45b1 000045ad: PUSH2 0x4a8b 000045b0: JUMP 000045b1: JUMPDEST 000045b2: PUSH1 0x40 000045b4: MLOAD 000045b5: SWAP1 000045b6: DUP1 000045b7: DUP3 000045b8: MSTORE 000045b9: DUP1 000045ba: PUSH1 0x1f 000045bc: ADD 000045bd: PUSH1 0x1f 000045bf: NOT 000045c0: AND 000045c1: PUSH1 0x20 000045c3: ADD 000045c4: DUP3 000045c5: ADD 000045c6: PUSH1 0x40 000045c8: MSTORE 000045c9: DUP1 000045ca: ISZERO 000045cb: PUSH2 0x45db 000045ce: JUMPI 000045cf: PUSH1 0x20 000045d1: DUP3 000045d2: ADD 000045d3: DUP2 000045d4: DUP1 000045d5: CALLDATASIZE 000045d6: DUP4 000045d7: CALLDATACOPY 000045d8: ADD 000045d9: SWAP1 000045da: POP 000045db: JUMPDEST 000045dc: POP 000045dd: SWAP1 000045de: POP 000045df: DUP2 000045e0: ISZERO 000045e1: PUSH2 0x2968 000045e4: JUMPI 000045e5: PUSH1 0x00 000045e7: PUSH2 0x45f0 000045ea: DUP5 000045eb: DUP7 000045ec: PUSH2 0x4fed 000045ef: JUMP 000045f0: JUMPDEST 000045f1: SWAP1 000045f2: POP 000045f3: PUSH1 0x20 000045f5: DUP3 000045f6: ADD 000045f7: PUSH1 0x00 000045f9: JUMPDEST 000045fa: DUP5 000045fb: DUP2 000045fc: LT 000045fd: ISZERO 000045fe: PUSH2 0x4611 00004601: JUMPI 00004602: DUP3 00004603: DUP2 00004604: ADD 00004605: MLOAD 00004606: DUP3 00004607: DUP3 00004608: ADD 00004609: MSTORE 0000460a: PUSH1 0x20 0000460c: ADD 0000460d: PUSH2 0x45f9 00004610: JUMP 00004611: JUMPDEST 00004612: DUP5 00004613: DUP2 00004614: GT 00004615: ISZERO 00004616: PUSH2 0x4620 00004619: JUMPI 0000461a: PUSH1 0x00 0000461c: DUP6 0000461d: DUP4 0000461e: ADD 0000461f: MSTORE 00004620: JUMPDEST 00004621: POP 00004622: POP 00004623: POP 00004624: SWAP4 00004625: SWAP3 00004626: POP 00004627: POP 00004628: POP 00004629: JUMP 0000462a: JUMPDEST 0000462b: PUSH1 0x60 0000462d: PUSH2 0x0ff2 00004630: DUP3 00004631: PUSH1 0x20 00004633: ADD 00004634: MLOAD 00004635: PUSH1 0x00 00004637: DUP5 00004638: PUSH1 0x00 0000463a: ADD 0000463b: MLOAD 0000463c: PUSH2 0x4596 0000463f: JUMP 00004640: JUMPDEST 00004641: PUSH1 0x60 00004643: DUP2 00004644: DUP3 00004645: PUSH1 0x1f 00004647: ADD 00004648: LT 00004649: ISZERO 0000464a: PUSH2 0x46af 0000464d: JUMPI 0000464e: PUSH1 0x40 00004650: MLOAD 00004651: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00004672: DUP2 00004673: MSTORE 00004674: PUSH1 0x20 00004676: PUSH1 0x04 00004678: DUP3 00004679: ADD 0000467a: MSTORE 0000467b: PUSH1 0x0e 0000467d: PUSH1 0x24 0000467f: DUP3 00004680: ADD 00004681: MSTORE 00004682: PUSH32 0x736c6963655f6f766572666c6f77000000000000000000000000000000000000 000046a3: PUSH1 0x44 000046a5: DUP3 000046a6: ADD 000046a7: MSTORE 000046a8: PUSH1 0x64 000046aa: ADD 000046ab: PUSH2 0x0add 000046ae: JUMP 000046af: JUMPDEST 000046b0: DUP3 000046b1: DUP3 000046b2: DUP5 000046b3: ADD 000046b4: LT 000046b5: ISZERO 000046b6: PUSH2 0x471b 000046b9: JUMPI 000046ba: PUSH1 0x40 000046bc: MLOAD 000046bd: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000046de: DUP2 000046df: MSTORE 000046e0: PUSH1 0x20 000046e2: PUSH1 0x04 000046e4: DUP3 000046e5: ADD 000046e6: MSTORE 000046e7: PUSH1 0x0e 000046e9: PUSH1 0x24 000046eb: DUP3 000046ec: ADD 000046ed: MSTORE 000046ee: PUSH32 0x736c6963655f6f766572666c6f77000000000000000000000000000000000000 0000470f: PUSH1 0x44 00004711: DUP3 00004712: ADD 00004713: MSTORE 00004714: PUSH1 0x64 00004716: ADD 00004717: PUSH2 0x0add 0000471a: JUMP 0000471b: JUMPDEST 0000471c: DUP2 0000471d: DUP4 0000471e: ADD 0000471f: DUP5 00004720: MLOAD 00004721: LT 00004722: ISZERO 00004723: PUSH2 0x4788 00004726: JUMPI 00004727: PUSH1 0x40 00004729: MLOAD 0000472a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000474b: DUP2 0000474c: MSTORE 0000474d: PUSH1 0x20 0000474f: PUSH1 0x04 00004751: DUP3 00004752: ADD 00004753: MSTORE 00004754: PUSH1 0x11 00004756: PUSH1 0x24 00004758: DUP3 00004759: ADD 0000475a: MSTORE 0000475b: PUSH32 0x736c6963655f6f75744f66426f756e6473000000000000000000000000000000 0000477c: PUSH1 0x44 0000477e: DUP3 0000477f: ADD 00004780: MSTORE 00004781: PUSH1 0x64 00004783: ADD 00004784: PUSH2 0x0add 00004787: JUMP 00004788: JUMPDEST 00004789: PUSH1 0x60 0000478b: DUP3 0000478c: ISZERO 0000478d: DUP1 0000478e: ISZERO 0000478f: PUSH2 0x47a7 00004792: JUMPI 00004793: PUSH1 0x40 00004795: MLOAD 00004796: SWAP2 00004797: POP 00004798: PUSH1 0x00 0000479a: DUP3 0000479b: MSTORE 0000479c: PUSH1 0x20 0000479e: DUP3 0000479f: ADD 000047a0: PUSH1 0x40 000047a2: MSTORE 000047a3: PUSH2 0x480f 000047a6: JUMP 000047a7: JUMPDEST 000047a8: PUSH1 0x40 000047aa: MLOAD 000047ab: SWAP2 000047ac: POP 000047ad: PUSH1 0x1f 000047af: DUP5 000047b0: AND 000047b1: DUP1 000047b2: ISZERO 000047b3: PUSH1 0x20 000047b5: MUL 000047b6: DUP2 000047b7: DUP5 000047b8: ADD 000047b9: ADD 000047ba: DUP6 000047bb: DUP2 000047bc: ADD 000047bd: DUP8 000047be: DUP4 000047bf: ISZERO 000047c0: PUSH1 0x20 000047c2: MUL 000047c3: DUP5 000047c4: DUP12 000047c5: ADD 000047c6: ADD 000047c7: ADD 000047c8: JUMPDEST 000047c9: DUP2 000047ca: DUP4 000047cb: LT 000047cc: ISZERO 000047cd: PUSH2 0x47e0 000047d0: JUMPI 000047d1: DUP1 000047d2: MLOAD 000047d3: DUP4 000047d4: MSTORE 000047d5: PUSH1 0x20 000047d7: SWAP3 000047d8: DUP4 000047d9: ADD 000047da: SWAP3 000047db: ADD 000047dc: PUSH2 0x47c8 000047df: JUMP 000047e0: JUMPDEST 000047e1: POP 000047e2: POP 000047e3: DUP6 000047e4: DUP5 000047e5: MSTORE 000047e6: PUSH1 0x1f 000047e8: ADD 000047e9: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 0000480a: AND 0000480b: PUSH1 0x40 0000480d: MSTORE 0000480e: POP 0000480f: JUMPDEST 00004810: POP 00004811: SWAP5 00004812: SWAP4 00004813: POP 00004814: POP 00004815: POP 00004816: POP 00004817: JUMP 00004818: JUMPDEST 00004819: PUSH1 0x40 0000481b: DUP1 0000481c: MLOAD 0000481d: DUP1 0000481e: DUP3 0000481f: ADD 00004820: SWAP1 00004821: SWAP2 00004822: MSTORE 00004823: PUSH1 0x00 00004825: DUP1 00004826: DUP3 00004827: MSTORE 00004828: PUSH1 0x20 0000482a: DUP3 0000482b: ADD 0000482c: MSTORE 0000482d: DUP2 0000482e: MLOAD 0000482f: PUSH1 0x00 00004831: SUB 00004832: PUSH2 0x4867 00004835: JUMPI 00004836: PUSH1 0x40 00004838: MLOAD 00004839: PUSH32 0x5ab458fb00000000000000000000000000000000000000000000000000000000 0000485a: DUP2 0000485b: MSTORE 0000485c: PUSH1 0x04 0000485e: ADD 0000485f: PUSH1 0x40 00004861: MLOAD 00004862: DUP1 00004863: SWAP2 00004864: SUB 00004865: SWAP1 00004866: REVERT 00004867: JUMPDEST 00004868: POP 00004869: PUSH1 0x40 0000486b: DUP1 0000486c: MLOAD 0000486d: DUP1 0000486e: DUP3 0000486f: ADD 00004870: SWAP1 00004871: SWAP2 00004872: MSTORE 00004873: DUP2 00004874: MLOAD 00004875: DUP2 00004876: MSTORE 00004877: PUSH1 0x20 00004879: SWAP2 0000487a: DUP3 0000487b: ADD 0000487c: SWAP2 0000487d: DUP2 0000487e: ADD 0000487f: SWAP2 00004880: SWAP1 00004881: SWAP2 00004882: MSTORE 00004883: SWAP1 00004884: JUMP 00004885: JUMPDEST 00004886: PUSH1 0x60 00004888: PUSH1 0x00 0000488a: DUP1 0000488b: PUSH1 0x00 0000488d: PUSH2 0x4895 00004890: DUP6 00004891: PUSH2 0x40f8 00004894: JUMP 00004895: JUMPDEST 00004896: SWAP2 00004897: SWAP5 00004898: POP 00004899: SWAP3 0000489a: POP 0000489b: SWAP1 0000489c: POP 0000489d: PUSH1 0x01 0000489f: DUP2 000048a0: PUSH1 0x01 000048a2: DUP2 000048a3: GT 000048a4: ISZERO 000048a5: PUSH2 0x48b0 000048a8: JUMPI 000048a9: PUSH2 0x48b0 000048ac: PUSH2 0x573b 000048af: JUMP 000048b0: JUMPDEST 000048b1: EQ 000048b2: PUSH2 0x48e7 000048b5: JUMPI 000048b6: PUSH1 0x40 000048b8: MLOAD 000048b9: PUSH32 0x4b9c6abe00000000000000000000000000000000000000000000000000000000 000048da: DUP2 000048db: MSTORE 000048dc: PUSH1 0x04 000048de: ADD 000048df: PUSH1 0x40 000048e1: MLOAD 000048e2: DUP1 000048e3: SWAP2 000048e4: SUB 000048e5: SWAP1 000048e6: REVERT 000048e7: JUMPDEST 000048e8: DUP5 000048e9: MLOAD 000048ea: PUSH2 0x48f3 000048ed: DUP4 000048ee: DUP6 000048ef: PUSH2 0x4fed 000048f2: JUMP 000048f3: JUMPDEST 000048f4: EQ 000048f5: PUSH2 0x492a 000048f8: JUMPI 000048f9: PUSH1 0x40 000048fb: MLOAD 000048fc: PUSH32 0x5c5537b800000000000000000000000000000000000000000000000000000000 0000491d: DUP2 0000491e: MSTORE 0000491f: PUSH1 0x04 00004921: ADD 00004922: PUSH1 0x40 00004924: MLOAD 00004925: DUP1 00004926: SWAP2 00004927: SUB 00004928: SWAP1 00004929: REVERT 0000492a: JUMPDEST 0000492b: PUSH1 0x40 0000492d: DUP1 0000492e: MLOAD 0000492f: PUSH1 0x20 00004931: DUP1 00004932: DUP3 00004933: MSTORE 00004934: PUSH2 0x0420 00004937: DUP3 00004938: ADD 00004939: SWAP1 0000493a: SWAP3 0000493b: MSTORE 0000493c: SWAP1 0000493d: DUP2 0000493e: PUSH1 0x20 00004940: ADD 00004941: JUMPDEST 00004942: PUSH1 0x40 00004944: DUP1 00004945: MLOAD 00004946: DUP1 00004947: DUP3 00004948: ADD 00004949: SWAP1 0000494a: SWAP2 0000494b: MSTORE 0000494c: PUSH1 0x00 0000494e: DUP1 0000494f: DUP3 00004950: MSTORE 00004951: PUSH1 0x20 00004953: DUP3 00004954: ADD 00004955: MSTORE 00004956: DUP2 00004957: MSTORE 00004958: PUSH1 0x20 0000495a: ADD 0000495b: SWAP1 0000495c: PUSH1 0x01 0000495e: SWAP1 0000495f: SUB 00004960: SWAP1 00004961: DUP2 00004962: PUSH2 0x4941 00004965: JUMPI 00004966: SWAP1 00004967: POP 00004968: POP 00004969: SWAP4 0000496a: POP 0000496b: PUSH1 0x00 0000496d: DUP4 0000496e: JUMPDEST 0000496f: DUP7 00004970: MLOAD 00004971: DUP2 00004972: LT 00004973: ISZERO 00004974: PUSH2 0x4a2f 00004977: JUMPI 00004978: PUSH1 0x00 0000497a: DUP1 0000497b: PUSH2 0x49b4 0000497e: PUSH1 0x40 00004980: MLOAD 00004981: DUP1 00004982: PUSH1 0x40 00004984: ADD 00004985: PUSH1 0x40 00004987: MSTORE 00004988: DUP1 00004989: DUP6 0000498a: DUP13 0000498b: PUSH1 0x00 0000498d: ADD 0000498e: MLOAD 0000498f: PUSH2 0x4998 00004992: SWAP2 00004993: SWAP1 00004994: PUSH2 0x522c 00004997: JUMP 00004998: JUMPDEST 00004999: DUP2 0000499a: MSTORE 0000499b: PUSH1 0x20 0000499d: ADD 0000499e: DUP6 0000499f: DUP13 000049a0: PUSH1 0x20 000049a2: ADD 000049a3: MLOAD 000049a4: PUSH2 0x49ad 000049a7: SWAP2 000049a8: SWAP1 000049a9: PUSH2 0x4fed 000049ac: JUMP 000049ad: JUMPDEST 000049ae: SWAP1 000049af: MSTORE 000049b0: PUSH2 0x40f8 000049b3: JUMP 000049b4: JUMPDEST 000049b5: POP 000049b6: SWAP2 000049b7: POP 000049b8: SWAP2 000049b9: POP 000049ba: PUSH1 0x40 000049bc: MLOAD 000049bd: DUP1 000049be: PUSH1 0x40 000049c0: ADD 000049c1: PUSH1 0x40 000049c3: MSTORE 000049c4: DUP1 000049c5: DUP4 000049c6: DUP4 000049c7: PUSH2 0x49d0 000049ca: SWAP2 000049cb: SWAP1 000049cc: PUSH2 0x4fed 000049cf: JUMP 000049d0: JUMPDEST 000049d1: DUP2 000049d2: MSTORE 000049d3: PUSH1 0x20 000049d5: ADD 000049d6: DUP5 000049d7: DUP12 000049d8: PUSH1 0x20 000049da: ADD 000049db: MLOAD 000049dc: PUSH2 0x49e5 000049df: SWAP2 000049e0: SWAP1 000049e1: PUSH2 0x4fed 000049e4: JUMP 000049e5: JUMPDEST 000049e6: DUP2 000049e7: MSTORE 000049e8: POP 000049e9: DUP9 000049ea: DUP6 000049eb: DUP2 000049ec: MLOAD 000049ed: DUP2 000049ee: LT 000049ef: PUSH2 0x49fa 000049f2: JUMPI 000049f3: PUSH2 0x49fa 000049f6: PUSH2 0x56ab 000049f9: JUMP 000049fa: JUMPDEST 000049fb: PUSH1 0x20 000049fd: SWAP1 000049fe: DUP2 000049ff: MUL 00004a00: SWAP2 00004a01: SWAP1 00004a02: SWAP2 00004a03: ADD 00004a04: ADD 00004a05: MSTORE 00004a06: PUSH2 0x4a10 00004a09: PUSH1 0x01 00004a0b: DUP6 00004a0c: PUSH2 0x4fed 00004a0f: JUMP 00004a10: JUMPDEST 00004a11: SWAP4 00004a12: POP 00004a13: PUSH2 0x4a1c 00004a16: DUP2 00004a17: DUP4 00004a18: PUSH2 0x4fed 00004a1b: JUMP 00004a1c: JUMPDEST 00004a1d: PUSH2 0x4a26 00004a20: SWAP1 00004a21: DUP5 00004a22: PUSH2 0x4fed 00004a25: JUMP 00004a26: JUMPDEST 00004a27: SWAP3 00004a28: POP 00004a29: POP 00004a2a: POP 00004a2b: PUSH2 0x496e 00004a2e: JUMP 00004a2f: JUMPDEST 00004a30: POP 00004a31: DUP5 00004a32: MSTORE 00004a33: POP 00004a34: SWAP2 00004a35: SWAP4 00004a36: SWAP3 00004a37: POP 00004a38: POP 00004a39: POP 00004a3a: JUMP 00004a3b: JUMPDEST 00004a3c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00004a51: DUP2 00004a52: AND 00004a53: DUP2 00004a54: EQ 00004a55: PUSH2 0x4a5d 00004a58: JUMPI 00004a59: PUSH1 0x00 00004a5b: DUP1 00004a5c: REVERT 00004a5d: JUMPDEST 00004a5e: POP 00004a5f: JUMP 00004a60: JUMPDEST 00004a61: DUP1 00004a62: CALLDATALOAD 00004a63: PUSH8 0xffffffffffffffff 00004a6c: DUP2 00004a6d: AND 00004a6e: DUP2 00004a6f: EQ 00004a70: PUSH2 0x4a78 00004a73: JUMPI 00004a74: PUSH1 0x00 00004a76: DUP1 00004a77: REVERT 00004a78: JUMPDEST 00004a79: SWAP2 00004a7a: SWAP1 00004a7b: POP 00004a7c: JUMP 00004a7d: JUMPDEST 00004a7e: DUP1 00004a7f: ISZERO 00004a80: ISZERO 00004a81: DUP2 00004a82: EQ 00004a83: PUSH2 0x4a5d 00004a86: JUMPI 00004a87: PUSH1 0x00 00004a89: DUP1 00004a8a: REVERT 00004a8b: JUMPDEST 00004a8c: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00004aad: PUSH1 0x00 00004aaf: MSTORE 00004ab0: PUSH1 0x41 00004ab2: PUSH1 0x04 00004ab4: MSTORE 00004ab5: PUSH1 0x24 00004ab7: PUSH1 0x00 00004ab9: REVERT 00004aba: JUMPDEST 00004abb: PUSH1 0x40 00004abd: MLOAD 00004abe: PUSH1 0x1f 00004ac0: DUP3 00004ac1: ADD 00004ac2: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00004ae3: AND 00004ae4: DUP2 00004ae5: ADD 00004ae6: PUSH8 0xffffffffffffffff 00004aef: DUP2 00004af0: GT 00004af1: DUP3 00004af2: DUP3 00004af3: LT 00004af4: OR 00004af5: ISZERO 00004af6: PUSH2 0x4b01 00004af9: JUMPI 00004afa: PUSH2 0x4b01 00004afd: PUSH2 0x4a8b 00004b00: JUMP 00004b01: JUMPDEST 00004b02: PUSH1 0x40 00004b04: MSTORE 00004b05: SWAP2 00004b06: SWAP1 00004b07: POP 00004b08: JUMP 00004b09: JUMPDEST 00004b0a: PUSH1 0x00 00004b0c: DUP3 00004b0d: PUSH1 0x1f 00004b0f: DUP4 00004b10: ADD 00004b11: SLT 00004b12: PUSH2 0x4b1a 00004b15: JUMPI 00004b16: PUSH1 0x00 00004b18: DUP1 00004b19: REVERT 00004b1a: JUMPDEST 00004b1b: DUP2 00004b1c: CALLDATALOAD 00004b1d: PUSH8 0xffffffffffffffff 00004b26: DUP2 00004b27: GT 00004b28: ISZERO 00004b29: PUSH2 0x4b34 00004b2c: JUMPI 00004b2d: PUSH2 0x4b34 00004b30: PUSH2 0x4a8b 00004b33: JUMP 00004b34: JUMPDEST 00004b35: PUSH2 0x4b65 00004b38: PUSH1 0x20 00004b3a: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00004b5b: PUSH1 0x1f 00004b5d: DUP5 00004b5e: ADD 00004b5f: AND 00004b60: ADD 00004b61: PUSH2 0x4aba 00004b64: JUMP 00004b65: JUMPDEST 00004b66: DUP2 00004b67: DUP2 00004b68: MSTORE 00004b69: DUP5 00004b6a: PUSH1 0x20 00004b6c: DUP4 00004b6d: DUP7 00004b6e: ADD 00004b6f: ADD 00004b70: GT 00004b71: ISZERO 00004b72: PUSH2 0x4b7a 00004b75: JUMPI 00004b76: PUSH1 0x00 00004b78: DUP1 00004b79: REVERT 00004b7a: JUMPDEST 00004b7b: DUP2 00004b7c: PUSH1 0x20 00004b7e: DUP6 00004b7f: ADD 00004b80: PUSH1 0x20 00004b82: DUP4 00004b83: ADD 00004b84: CALLDATACOPY 00004b85: PUSH1 0x00 00004b87: SWAP2 00004b88: DUP2 00004b89: ADD 00004b8a: PUSH1 0x20 00004b8c: ADD 00004b8d: SWAP2 00004b8e: SWAP1 00004b8f: SWAP2 00004b90: MSTORE 00004b91: SWAP4 00004b92: SWAP3 00004b93: POP 00004b94: POP 00004b95: POP 00004b96: JUMP 00004b97: JUMPDEST 00004b98: PUSH1 0x00 00004b9a: DUP1 00004b9b: PUSH1 0x00 00004b9d: DUP1 00004b9e: PUSH1 0x00 00004ba0: DUP1 00004ba1: PUSH1 0xc0 00004ba3: DUP8 00004ba4: DUP10 00004ba5: SUB 00004ba6: SLT 00004ba7: ISZERO 00004ba8: PUSH2 0x4bb0 00004bab: JUMPI 00004bac: PUSH1 0x00 00004bae: DUP1 00004baf: REVERT 00004bb0: JUMPDEST 00004bb1: DUP7 00004bb2: CALLDATALOAD 00004bb3: PUSH2 0x4bbb 00004bb6: DUP2 00004bb7: PUSH2 0x4a3b 00004bba: JUMP 00004bbb: JUMPDEST 00004bbc: SWAP6 00004bbd: POP 00004bbe: PUSH1 0x20 00004bc0: DUP8 00004bc1: ADD 00004bc2: CALLDATALOAD 00004bc3: SWAP5 00004bc4: POP 00004bc5: PUSH1 0x40 00004bc7: DUP8 00004bc8: ADD 00004bc9: CALLDATALOAD 00004bca: SWAP4 00004bcb: POP 00004bcc: PUSH2 0x4bd7 00004bcf: PUSH1 0x60 00004bd1: DUP9 00004bd2: ADD 00004bd3: PUSH2 0x4a60 00004bd6: JUMP 00004bd7: JUMPDEST 00004bd8: SWAP3 00004bd9: POP 00004bda: PUSH1 0x80 00004bdc: DUP8 00004bdd: ADD 00004bde: CALLDATALOAD 00004bdf: PUSH2 0x4be7 00004be2: DUP2 00004be3: PUSH2 0x4a7d 00004be6: JUMP 00004be7: JUMPDEST 00004be8: SWAP2 00004be9: POP 00004bea: PUSH1 0xa0 00004bec: DUP8 00004bed: ADD 00004bee: CALLDATALOAD 00004bef: PUSH8 0xffffffffffffffff 00004bf8: DUP2 00004bf9: GT 00004bfa: ISZERO 00004bfb: PUSH2 0x4c03 00004bfe: JUMPI 00004bff: PUSH1 0x00 00004c01: DUP1 00004c02: REVERT 00004c03: JUMPDEST 00004c04: PUSH2 0x4c0f 00004c07: DUP10 00004c08: DUP3 00004c09: DUP11 00004c0a: ADD 00004c0b: PUSH2 0x4b09 00004c0e: JUMP 00004c0f: JUMPDEST 00004c10: SWAP2 00004c11: POP 00004c12: POP 00004c13: SWAP3 00004c14: SWAP6 00004c15: POP 00004c16: SWAP3 00004c17: SWAP6 00004c18: POP 00004c19: SWAP3 00004c1a: SWAP6 00004c1b: JUMP 00004c1c: JUMPDEST 00004c1d: PUSH1 0x00 00004c1f: PUSH1 0xc0 00004c21: DUP3 00004c22: DUP5 00004c23: SUB 00004c24: SLT 00004c25: ISZERO 00004c26: PUSH2 0x4c2e 00004c29: JUMPI 00004c2a: PUSH1 0x00 00004c2c: DUP1 00004c2d: REVERT 00004c2e: JUMPDEST 00004c2f: PUSH1 0x40 00004c31: MLOAD 00004c32: PUSH1 0xc0 00004c34: DUP2 00004c35: ADD 00004c36: PUSH8 0xffffffffffffffff 00004c3f: DUP3 00004c40: DUP3 00004c41: LT 00004c42: DUP2 00004c43: DUP4 00004c44: GT 00004c45: OR 00004c46: ISZERO 00004c47: PUSH2 0x4c52 00004c4a: JUMPI 00004c4b: PUSH2 0x4c52 00004c4e: PUSH2 0x4a8b 00004c51: JUMP 00004c52: JUMPDEST 00004c53: DUP2 00004c54: PUSH1 0x40 00004c56: MSTORE 00004c57: DUP3 00004c58: SWAP4 00004c59: POP 00004c5a: DUP5 00004c5b: CALLDATALOAD 00004c5c: DUP4 00004c5d: MSTORE 00004c5e: PUSH1 0x20 00004c60: DUP6 00004c61: ADD 00004c62: CALLDATALOAD 00004c63: SWAP2 00004c64: POP 00004c65: PUSH2 0x4c6d 00004c68: DUP3 00004c69: PUSH2 0x4a3b 00004c6c: JUMP 00004c6d: JUMPDEST 00004c6e: DUP2 00004c6f: PUSH1 0x20 00004c71: DUP5 00004c72: ADD 00004c73: MSTORE 00004c74: PUSH1 0x40 00004c76: DUP6 00004c77: ADD 00004c78: CALLDATALOAD 00004c79: SWAP2 00004c7a: POP 00004c7b: PUSH2 0x4c83 00004c7e: DUP3 00004c7f: PUSH2 0x4a3b 00004c82: JUMP 00004c83: JUMPDEST 00004c84: DUP2 00004c85: PUSH1 0x40 00004c87: DUP5 00004c88: ADD 00004c89: MSTORE 00004c8a: PUSH1 0x60 00004c8c: DUP6 00004c8d: ADD 00004c8e: CALLDATALOAD 00004c8f: PUSH1 0x60 00004c91: DUP5 00004c92: ADD 00004c93: MSTORE 00004c94: PUSH1 0x80 00004c96: DUP6 00004c97: ADD 00004c98: CALLDATALOAD 00004c99: PUSH1 0x80 00004c9b: DUP5 00004c9c: ADD 00004c9d: MSTORE 00004c9e: PUSH1 0xa0 00004ca0: DUP6 00004ca1: ADD 00004ca2: CALLDATALOAD 00004ca3: SWAP2 00004ca4: POP 00004ca5: DUP1 00004ca6: DUP3 00004ca7: GT 00004ca8: ISZERO 00004ca9: PUSH2 0x4cb1 00004cac: JUMPI 00004cad: PUSH1 0x00 00004caf: DUP1 00004cb0: REVERT 00004cb1: JUMPDEST 00004cb2: POP 00004cb3: PUSH2 0x4cbe 00004cb6: DUP6 00004cb7: DUP3 00004cb8: DUP7 00004cb9: ADD 00004cba: PUSH2 0x4b09 00004cbd: JUMP 00004cbe: JUMPDEST 00004cbf: PUSH1 0xa0 00004cc1: DUP4 00004cc2: ADD 00004cc3: MSTORE 00004cc4: POP 00004cc5: POP 00004cc6: SWAP3 00004cc7: SWAP2 00004cc8: POP 00004cc9: POP 00004cca: JUMP 00004ccb: JUMPDEST 00004ccc: PUSH1 0x00 00004cce: DUP1 00004ccf: PUSH1 0x00 00004cd1: DUP1 00004cd2: PUSH1 0x00 00004cd4: DUP6 00004cd5: DUP8 00004cd6: SUB 00004cd7: PUSH1 0xe0 00004cd9: DUP2 00004cda: SLT 00004cdb: ISZERO 00004cdc: PUSH2 0x4ce4 00004cdf: JUMPI 00004ce0: PUSH1 0x00 00004ce2: DUP1 00004ce3: REVERT 00004ce4: JUMPDEST 00004ce5: DUP7 00004ce6: CALLDATALOAD 00004ce7: PUSH8 0xffffffffffffffff 00004cf0: DUP1 00004cf1: DUP3 00004cf2: GT 00004cf3: ISZERO 00004cf4: PUSH2 0x4cfc 00004cf7: JUMPI 00004cf8: PUSH1 0x00 00004cfa: DUP1 00004cfb: REVERT 00004cfc: JUMPDEST 00004cfd: PUSH2 0x4d08 00004d00: DUP11 00004d01: DUP4 00004d02: DUP12 00004d03: ADD 00004d04: PUSH2 0x4c1c 00004d07: JUMP 00004d08: JUMPDEST 00004d09: SWAP8 00004d0a: POP 00004d0b: PUSH1 0x20 00004d0d: DUP10 00004d0e: ADD 00004d0f: CALLDATALOAD 00004d10: SWAP7 00004d11: POP 00004d12: PUSH1 0x80 00004d14: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0 00004d35: DUP5 00004d36: ADD 00004d37: SLT 00004d38: ISZERO 00004d39: PUSH2 0x4d41 00004d3c: JUMPI 00004d3d: PUSH1 0x00 00004d3f: DUP1 00004d40: REVERT 00004d41: JUMPDEST 00004d42: PUSH1 0x40 00004d44: DUP10 00004d45: ADD 00004d46: SWAP6 00004d47: POP 00004d48: PUSH1 0xc0 00004d4a: DUP10 00004d4b: ADD 00004d4c: CALLDATALOAD 00004d4d: SWAP3 00004d4e: POP 00004d4f: DUP1 00004d50: DUP4 00004d51: GT 00004d52: ISZERO 00004d53: PUSH2 0x4d5b 00004d56: JUMPI 00004d57: PUSH1 0x00 00004d59: DUP1 00004d5a: REVERT 00004d5b: JUMPDEST 00004d5c: DUP3 00004d5d: DUP10 00004d5e: ADD 00004d5f: SWAP3 00004d60: POP 00004d61: DUP10 00004d62: PUSH1 0x1f 00004d64: DUP5 00004d65: ADD 00004d66: SLT 00004d67: PUSH2 0x4d6f 00004d6a: JUMPI 00004d6b: PUSH1 0x00 00004d6d: DUP1 00004d6e: REVERT 00004d6f: JUMPDEST 00004d70: DUP3 00004d71: CALLDATALOAD 00004d72: SWAP2 00004d73: POP 00004d74: DUP1 00004d75: DUP3 00004d76: GT 00004d77: ISZERO 00004d78: PUSH2 0x4d80 00004d7b: JUMPI 00004d7c: PUSH1 0x00 00004d7e: DUP1 00004d7f: REVERT 00004d80: JUMPDEST 00004d81: POP 00004d82: DUP9 00004d83: PUSH1 0x20 00004d85: DUP3 00004d86: PUSH1 0x05 00004d88: SHL 00004d89: DUP5 00004d8a: ADD 00004d8b: ADD 00004d8c: GT 00004d8d: ISZERO 00004d8e: PUSH2 0x4d96 00004d91: JUMPI 00004d92: PUSH1 0x00 00004d94: DUP1 00004d95: REVERT 00004d96: JUMPDEST 00004d97: SWAP6 00004d98: SWAP9 00004d99: SWAP5 00004d9a: SWAP8 00004d9b: POP 00004d9c: SWAP3 00004d9d: SWAP6 00004d9e: POP 00004d9f: POP 00004da0: POP 00004da1: PUSH1 0x20 00004da3: ADD 00004da4: SWAP2 00004da5: SWAP1 00004da6: JUMP 00004da7: JUMPDEST 00004da8: PUSH1 0x00 00004daa: JUMPDEST 00004dab: DUP4 00004dac: DUP2 00004dad: LT 00004dae: ISZERO 00004daf: PUSH2 0x4dc2 00004db2: JUMPI 00004db3: DUP2 00004db4: DUP2 00004db5: ADD 00004db6: MLOAD 00004db7: DUP4 00004db8: DUP3 00004db9: ADD 00004dba: MSTORE 00004dbb: PUSH1 0x20 00004dbd: ADD 00004dbe: PUSH2 0x4daa 00004dc1: JUMP 00004dc2: JUMPDEST 00004dc3: DUP4 00004dc4: DUP2 00004dc5: GT 00004dc6: ISZERO 00004dc7: PUSH2 0x1ef7 00004dca: JUMPI 00004dcb: POP 00004dcc: POP 00004dcd: PUSH1 0x00 00004dcf: SWAP2 00004dd0: ADD 00004dd1: MSTORE 00004dd2: JUMP 00004dd3: JUMPDEST 00004dd4: PUSH1 0x00 00004dd6: DUP2 00004dd7: MLOAD 00004dd8: DUP1 00004dd9: DUP5 00004dda: MSTORE 00004ddb: PUSH2 0x4deb 00004dde: DUP2 00004ddf: PUSH1 0x20 00004de1: DUP7 00004de2: ADD 00004de3: PUSH1 0x20 00004de5: DUP7 00004de6: ADD 00004de7: PUSH2 0x4da7 00004dea: JUMP 00004deb: JUMPDEST 00004dec: PUSH1 0x1f 00004dee: ADD 00004def: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00004e10: AND 00004e11: SWAP3 00004e12: SWAP1 00004e13: SWAP3 00004e14: ADD 00004e15: PUSH1 0x20 00004e17: ADD 00004e18: SWAP3 00004e19: SWAP2 00004e1a: POP 00004e1b: POP 00004e1c: JUMP 00004e1d: JUMPDEST 00004e1e: PUSH1 0x20 00004e20: DUP2 00004e21: MSTORE 00004e22: PUSH1 0x00 00004e24: PUSH2 0x2968 00004e27: PUSH1 0x20 00004e29: DUP4 00004e2a: ADD 00004e2b: DUP5 00004e2c: PUSH2 0x4dd3 00004e2f: JUMP 00004e30: JUMPDEST 00004e31: PUSH1 0x00 00004e33: PUSH1 0x20 00004e35: DUP3 00004e36: DUP5 00004e37: SUB 00004e38: SLT 00004e39: ISZERO 00004e3a: PUSH2 0x4e42 00004e3d: JUMPI 00004e3e: PUSH1 0x00 00004e40: DUP1 00004e41: REVERT 00004e42: JUMPDEST 00004e43: POP 00004e44: CALLDATALOAD 00004e45: SWAP2 00004e46: SWAP1 00004e47: POP 00004e48: JUMP 00004e49: JUMPDEST 00004e4a: PUSH1 0xff 00004e4c: DUP2 00004e4d: AND 00004e4e: DUP2 00004e4f: EQ 00004e50: PUSH2 0x4a5d 00004e53: JUMPI 00004e54: PUSH1 0x00 00004e56: DUP1 00004e57: REVERT 00004e58: JUMPDEST 00004e59: PUSH1 0x00 00004e5b: DUP1 00004e5c: PUSH1 0x00 00004e5e: DUP1 00004e5f: PUSH1 0x80 00004e61: DUP6 00004e62: DUP8 00004e63: SUB 00004e64: SLT 00004e65: ISZERO 00004e66: PUSH2 0x4e6e 00004e69: JUMPI 00004e6a: PUSH1 0x00 00004e6c: DUP1 00004e6d: REVERT 00004e6e: JUMPDEST 00004e6f: DUP5 00004e70: CALLDATALOAD 00004e71: PUSH2 0x4e79 00004e74: DUP2 00004e75: PUSH2 0x4a3b 00004e78: JUMP 00004e79: JUMPDEST 00004e7a: SWAP4 00004e7b: POP 00004e7c: PUSH1 0x20 00004e7e: DUP6 00004e7f: ADD 00004e80: CALLDATALOAD 00004e81: PUSH2 0x4e89 00004e84: DUP2 00004e85: PUSH2 0x4e49 00004e88: JUMP 00004e89: JUMPDEST 00004e8a: SWAP4 00004e8b: SWAP7 00004e8c: SWAP4 00004e8d: SWAP6 00004e8e: POP 00004e8f: POP 00004e90: POP 00004e91: POP 00004e92: PUSH1 0x40 00004e94: DUP3 00004e95: ADD 00004e96: CALLDATALOAD 00004e97: SWAP2 00004e98: PUSH1 0x60 00004e9a: ADD 00004e9b: CALLDATALOAD 00004e9c: SWAP1 00004e9d: JUMP 00004e9e: JUMPDEST 00004e9f: PUSH1 0x00 00004ea1: PUSH1 0x20 00004ea3: DUP3 00004ea4: DUP5 00004ea5: SUB 00004ea6: SLT 00004ea7: ISZERO 00004ea8: PUSH2 0x4eb0 00004eab: JUMPI 00004eac: PUSH1 0x00 00004eae: DUP1 00004eaf: REVERT 00004eb0: JUMPDEST 00004eb1: DUP2 00004eb2: CALLDATALOAD 00004eb3: PUSH8 0xffffffffffffffff 00004ebc: DUP2 00004ebd: GT 00004ebe: ISZERO 00004ebf: PUSH2 0x4ec7 00004ec2: JUMPI 00004ec3: PUSH1 0x00 00004ec5: DUP1 00004ec6: REVERT 00004ec7: JUMPDEST 00004ec8: PUSH2 0x4ed3 00004ecb: DUP5 00004ecc: DUP3 00004ecd: DUP6 00004ece: ADD 00004ecf: PUSH2 0x4c1c 00004ed2: JUMP 00004ed3: JUMPDEST 00004ed4: SWAP5 00004ed5: SWAP4 00004ed6: POP 00004ed7: POP 00004ed8: POP 00004ed9: POP 00004eda: JUMP 00004edb: JUMPDEST 00004edc: PUSH1 0x00 00004ede: PUSH1 0x20 00004ee0: DUP3 00004ee1: DUP5 00004ee2: SUB 00004ee3: SLT 00004ee4: ISZERO 00004ee5: PUSH2 0x4eed 00004ee8: JUMPI 00004ee9: PUSH1 0x00 00004eeb: DUP1 00004eec: REVERT 00004eed: JUMPDEST 00004eee: PUSH2 0x2968 00004ef1: DUP3 00004ef2: PUSH2 0x4a60 00004ef5: JUMP 00004ef6: JUMPDEST 00004ef7: PUSH1 0x00 00004ef9: DUP1 00004efa: PUSH1 0x00 00004efc: PUSH1 0x60 00004efe: DUP5 00004eff: DUP7 00004f00: SUB 00004f01: SLT 00004f02: ISZERO 00004f03: PUSH2 0x4f0b 00004f06: JUMPI 00004f07: PUSH1 0x00 00004f09: DUP1 00004f0a: REVERT 00004f0b: JUMPDEST 00004f0c: DUP4 00004f0d: CALLDATALOAD 00004f0e: PUSH2 0x4f16 00004f11: DUP2 00004f12: PUSH2 0x4a3b 00004f15: JUMP 00004f16: JUMPDEST 00004f17: SWAP3 00004f18: POP 00004f19: PUSH1 0x20 00004f1b: DUP5 00004f1c: ADD 00004f1d: CALLDATALOAD 00004f1e: PUSH2 0x4f26 00004f21: DUP2 00004f22: PUSH2 0x4a3b 00004f25: JUMP 00004f26: JUMPDEST 00004f27: SWAP2 00004f28: POP 00004f29: PUSH1 0x40 00004f2b: DUP5 00004f2c: ADD 00004f2d: CALLDATALOAD 00004f2e: PUSH2 0x4f36 00004f31: DUP2 00004f32: PUSH2 0x4a3b 00004f35: JUMP 00004f36: JUMPDEST 00004f37: DUP1 00004f38: SWAP2 00004f39: POP 00004f3a: POP 00004f3b: SWAP3 00004f3c: POP 00004f3d: SWAP3 00004f3e: POP 00004f3f: SWAP3 00004f40: JUMP 00004f41: JUMPDEST 00004f42: PUSH1 0x00 00004f44: DUP1 00004f45: PUSH1 0x00 00004f47: DUP1 00004f48: PUSH1 0x00 00004f4a: PUSH1 0xa0 00004f4c: DUP7 00004f4d: DUP9 00004f4e: SUB 00004f4f: SLT 00004f50: ISZERO 00004f51: PUSH2 0x4f59 00004f54: JUMPI 00004f55: PUSH1 0x00 00004f57: DUP1 00004f58: REVERT 00004f59: JUMPDEST 00004f5a: DUP6 00004f5b: CALLDATALOAD 00004f5c: PUSH2 0x4f64 00004f5f: DUP2 00004f60: PUSH2 0x4a3b 00004f63: JUMP 00004f64: JUMPDEST 00004f65: SWAP5 00004f66: POP 00004f67: PUSH1 0x20 00004f69: DUP7 00004f6a: ADD 00004f6b: CALLDATALOAD 00004f6c: SWAP4 00004f6d: POP 00004f6e: PUSH2 0x4f79 00004f71: PUSH1 0x40 00004f73: DUP8 00004f74: ADD 00004f75: PUSH2 0x4a60 00004f78: JUMP 00004f79: JUMPDEST 00004f7a: SWAP3 00004f7b: POP 00004f7c: PUSH1 0x60 00004f7e: DUP7 00004f7f: ADD 00004f80: CALLDATALOAD 00004f81: PUSH2 0x4f89 00004f84: DUP2 00004f85: PUSH2 0x4a7d 00004f88: JUMP 00004f89: JUMPDEST 00004f8a: SWAP2 00004f8b: POP 00004f8c: PUSH1 0x80 00004f8e: DUP7 00004f8f: ADD 00004f90: CALLDATALOAD 00004f91: PUSH8 0xffffffffffffffff 00004f9a: DUP2 00004f9b: GT 00004f9c: ISZERO 00004f9d: PUSH2 0x4fa5 00004fa0: JUMPI 00004fa1: PUSH1 0x00 00004fa3: DUP1 00004fa4: REVERT 00004fa5: JUMPDEST 00004fa6: PUSH2 0x4fb1 00004fa9: DUP9 00004faa: DUP3 00004fab: DUP10 00004fac: ADD 00004fad: PUSH2 0x4b09 00004fb0: JUMP 00004fb1: JUMPDEST 00004fb2: SWAP2 00004fb3: POP 00004fb4: POP 00004fb5: SWAP3 00004fb6: SWAP6 00004fb7: POP 00004fb8: SWAP3 00004fb9: SWAP6 00004fba: SWAP1 00004fbb: SWAP4 00004fbc: POP 00004fbd: JUMP 00004fbe: JUMPDEST 00004fbf: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00004fe0: PUSH1 0x00 00004fe2: MSTORE 00004fe3: PUSH1 0x11 00004fe5: PUSH1 0x04 00004fe7: MSTORE 00004fe8: PUSH1 0x24 00004fea: PUSH1 0x00 00004fec: REVERT 00004fed: JUMPDEST 00004fee: PUSH1 0x00 00004ff0: DUP3 00004ff1: NOT 00004ff2: DUP3 00004ff3: GT 00004ff4: ISZERO 00004ff5: PUSH2 0x5000 00004ff8: JUMPI 00004ff9: PUSH2 0x5000 00004ffc: PUSH2 0x4fbe 00004fff: JUMP 00005000: JUMPDEST 00005001: POP 00005002: ADD 00005003: SWAP1 00005004: JUMP 00005005: JUMPDEST 00005006: PUSH1 0x00 00005008: PUSH1 0x20 0000500a: DUP3 0000500b: DUP5 0000500c: SUB 0000500d: SLT 0000500e: ISZERO 0000500f: PUSH2 0x5017 00005012: JUMPI 00005013: PUSH1 0x00 00005015: DUP1 00005016: REVERT 00005017: JUMPDEST 00005018: POP 00005019: MLOAD 0000501a: SWAP2 0000501b: SWAP1 0000501c: POP 0000501d: JUMP 0000501e: JUMPDEST 0000501f: PUSH1 0x00 00005021: PUSH1 0x20 00005023: DUP3 00005024: DUP5 00005025: SUB 00005026: SLT 00005027: ISZERO 00005028: PUSH2 0x5030 0000502b: JUMPI 0000502c: PUSH1 0x00 0000502e: DUP1 0000502f: REVERT 00005030: JUMPDEST 00005031: DUP2 00005032: MLOAD 00005033: PUSH2 0x2968 00005036: DUP2 00005037: PUSH2 0x4a3b 0000503a: JUMP 0000503b: JUMPDEST 0000503c: DUP1 0000503d: MLOAD 0000503e: PUSH16 0xffffffffffffffffffffffffffffffff 0000504f: DUP2 00005050: AND 00005051: DUP2 00005052: EQ 00005053: PUSH2 0x4a78 00005056: JUMPI 00005057: PUSH1 0x00 00005059: DUP1 0000505a: REVERT 0000505b: JUMPDEST 0000505c: PUSH1 0x00 0000505e: PUSH1 0x60 00005060: DUP3 00005061: DUP5 00005062: SUB 00005063: SLT 00005064: ISZERO 00005065: PUSH2 0x506d 00005068: JUMPI 00005069: PUSH1 0x00 0000506b: DUP1 0000506c: REVERT 0000506d: JUMPDEST 0000506e: PUSH1 0x40 00005070: MLOAD 00005071: PUSH1 0x60 00005073: DUP2 00005074: ADD 00005075: DUP2 00005076: DUP2 00005077: LT 00005078: PUSH8 0xffffffffffffffff 00005081: DUP3 00005082: GT 00005083: OR 00005084: ISZERO 00005085: PUSH2 0x5090 00005088: JUMPI 00005089: PUSH2 0x5090 0000508c: PUSH2 0x4a8b 0000508f: JUMP 00005090: JUMPDEST 00005091: PUSH1 0x40 00005093: MSTORE 00005094: DUP3 00005095: MLOAD 00005096: DUP2 00005097: MSTORE 00005098: PUSH2 0x50a3 0000509b: PUSH1 0x20 0000509d: DUP5 0000509e: ADD 0000509f: PUSH2 0x503b 000050a2: JUMP 000050a3: JUMPDEST 000050a4: PUSH1 0x20 000050a6: DUP3 000050a7: ADD 000050a8: MSTORE 000050a9: PUSH2 0x50b4 000050ac: PUSH1 0x40 000050ae: DUP5 000050af: ADD 000050b0: PUSH2 0x503b 000050b3: JUMP 000050b4: JUMPDEST 000050b5: PUSH1 0x40 000050b7: DUP3 000050b8: ADD 000050b9: MSTORE 000050ba: SWAP4 000050bb: SWAP3 000050bc: POP 000050bd: POP 000050be: POP 000050bf: JUMP 000050c0: JUMPDEST 000050c1: PUSH1 0x00 000050c3: PUSH1 0x80 000050c5: DUP3 000050c6: DUP5 000050c7: SUB 000050c8: SLT 000050c9: ISZERO 000050ca: PUSH2 0x50d2 000050cd: JUMPI 000050ce: PUSH1 0x00 000050d0: DUP1 000050d1: REVERT 000050d2: JUMPDEST 000050d3: PUSH1 0x40 000050d5: MLOAD 000050d6: PUSH1 0x80 000050d8: DUP2 000050d9: ADD 000050da: DUP2 000050db: DUP2 000050dc: LT 000050dd: PUSH8 0xffffffffffffffff 000050e6: DUP3 000050e7: GT 000050e8: OR 000050e9: ISZERO 000050ea: PUSH2 0x50f5 000050ed: JUMPI 000050ee: PUSH2 0x50f5 000050f1: PUSH2 0x4a8b 000050f4: JUMP 000050f5: JUMPDEST 000050f6: DUP1 000050f7: PUSH1 0x40 000050f9: MSTORE 000050fa: POP 000050fb: DUP3 000050fc: CALLDATALOAD 000050fd: DUP2 000050fe: MSTORE 000050ff: PUSH1 0x20 00005101: DUP4 00005102: ADD 00005103: CALLDATALOAD 00005104: PUSH1 0x20 00005106: DUP3 00005107: ADD 00005108: MSTORE 00005109: PUSH1 0x40 0000510b: DUP4 0000510c: ADD 0000510d: CALLDATALOAD 0000510e: PUSH1 0x40 00005110: DUP3 00005111: ADD 00005112: MSTORE 00005113: PUSH1 0x60 00005115: DUP4 00005116: ADD 00005117: CALLDATALOAD 00005118: PUSH1 0x60 0000511a: DUP3 0000511b: ADD 0000511c: MSTORE 0000511d: DUP1 0000511e: SWAP2 0000511f: POP 00005120: POP 00005121: SWAP3 00005122: SWAP2 00005123: POP 00005124: POP 00005125: JUMP 00005126: JUMPDEST 00005127: PUSH1 0x00 00005129: PUSH8 0xffffffffffffffff 00005132: DUP1 00005133: DUP5 00005134: GT 00005135: ISZERO 00005136: PUSH2 0x5141 00005139: JUMPI 0000513a: PUSH2 0x5141 0000513d: PUSH2 0x4a8b 00005140: JUMP 00005141: JUMPDEST 00005142: DUP4 00005143: PUSH1 0x05 00005145: SHL 00005146: PUSH1 0x20 00005148: PUSH2 0x5152 0000514b: DUP2 0000514c: DUP4 0000514d: ADD 0000514e: PUSH2 0x4aba 00005151: JUMP 00005152: JUMPDEST 00005153: DUP7 00005154: DUP2 00005155: MSTORE 00005156: SWAP2 00005157: DUP6 00005158: ADD 00005159: SWAP2 0000515a: DUP2 0000515b: DUP2 0000515c: ADD 0000515d: SWAP1 0000515e: CALLDATASIZE 0000515f: DUP5 00005160: GT 00005161: ISZERO 00005162: PUSH2 0x516a 00005165: JUMPI 00005166: PUSH1 0x00 00005168: DUP1 00005169: REVERT 0000516a: JUMPDEST 0000516b: DUP7 0000516c: JUMPDEST 0000516d: DUP5 0000516e: DUP2 0000516f: LT 00005170: ISZERO 00005171: PUSH2 0x519e 00005174: JUMPI 00005175: DUP1 00005176: CALLDATALOAD 00005177: DUP7 00005178: DUP2 00005179: GT 0000517a: ISZERO 0000517b: PUSH2 0x5184 0000517e: JUMPI 0000517f: PUSH1 0x00 00005181: DUP1 00005182: DUP2 00005183: REVERT 00005184: JUMPDEST 00005185: PUSH2 0x5190 00005188: CALLDATASIZE 00005189: DUP3 0000518a: DUP12 0000518b: ADD 0000518c: PUSH2 0x4b09 0000518f: JUMP 00005190: JUMPDEST 00005191: DUP5 00005192: MSTORE 00005193: POP 00005194: SWAP2 00005195: DUP4 00005196: ADD 00005197: SWAP2 00005198: DUP4 00005199: ADD 0000519a: PUSH2 0x516c 0000519d: JUMP 0000519e: JUMPDEST 0000519f: POP 000051a0: SWAP8 000051a1: SWAP7 000051a2: POP 000051a3: POP 000051a4: POP 000051a5: POP 000051a6: POP 000051a7: POP 000051a8: POP 000051a9: JUMP 000051aa: JUMPDEST 000051ab: PUSH1 0x00 000051ad: PUSH1 0x20 000051af: DUP3 000051b0: DUP5 000051b1: SUB 000051b2: SLT 000051b3: ISZERO 000051b4: PUSH2 0x51bc 000051b7: JUMPI 000051b8: PUSH1 0x00 000051ba: DUP1 000051bb: REVERT 000051bc: JUMPDEST 000051bd: DUP2 000051be: MLOAD 000051bf: PUSH2 0x2968 000051c2: DUP2 000051c3: PUSH2 0x4a7d 000051c6: JUMP 000051c7: JUMPDEST 000051c8: DUP6 000051c9: DUP2 000051ca: MSTORE 000051cb: DUP5 000051cc: PUSH1 0x20 000051ce: DUP3 000051cf: ADD 000051d0: MSTORE 000051d1: PUSH32 0xffffffffffffffff000000000000000000000000000000000000000000000000 000051f2: DUP5 000051f3: PUSH1 0xc0 000051f5: SHL 000051f6: AND 000051f7: PUSH1 0x40 000051f9: DUP3 000051fa: ADD 000051fb: MSTORE 000051fc: DUP3 000051fd: ISZERO 000051fe: ISZERO 000051ff: PUSH1 0xf8 00005201: SHL 00005202: PUSH1 0x48 00005204: DUP3 00005205: ADD 00005206: MSTORE 00005207: PUSH1 0x00 00005209: DUP3 0000520a: MLOAD 0000520b: PUSH2 0x521b 0000520e: DUP2 0000520f: PUSH1 0x49 00005211: DUP6 00005212: ADD 00005213: PUSH1 0x20 00005215: DUP8 00005216: ADD 00005217: PUSH2 0x4da7 0000521a: JUMP 0000521b: JUMPDEST 0000521c: SWAP2 0000521d: SWAP1 0000521e: SWAP2 0000521f: ADD 00005220: PUSH1 0x49 00005222: ADD 00005223: SWAP7 00005224: SWAP6 00005225: POP 00005226: POP 00005227: POP 00005228: POP 00005229: POP 0000522a: POP 0000522b: JUMP 0000522c: JUMPDEST 0000522d: PUSH1 0x00 0000522f: DUP3 00005230: DUP3 00005231: LT 00005232: ISZERO 00005233: PUSH2 0x523e 00005236: JUMPI 00005237: PUSH2 0x523e 0000523a: PUSH2 0x4fbe 0000523d: JUMP 0000523e: JUMPDEST 0000523f: POP 00005240: SUB 00005241: SWAP1 00005242: JUMP 00005243: JUMPDEST 00005244: PUSH1 0x00 00005246: PUSH8 0xffffffffffffffff 0000524f: DUP1 00005250: DUP4 00005251: AND 00005252: DUP2 00005253: DUP6 00005254: AND 00005255: DUP2 00005256: DUP4 00005257: DIV 00005258: DUP2 00005259: GT 0000525a: DUP3 0000525b: ISZERO 0000525c: ISZERO 0000525d: AND 0000525e: ISZERO 0000525f: PUSH2 0x526a 00005262: JUMPI 00005263: PUSH2 0x526a 00005266: PUSH2 0x4fbe 00005269: JUMP 0000526a: JUMPDEST 0000526b: MUL 0000526c: SWAP5 0000526d: SWAP4 0000526e: POP 0000526f: POP 00005270: POP 00005271: POP 00005272: JUMP 00005273: JUMPDEST 00005274: PUSH1 0x00 00005276: PUSH8 0xffffffffffffffff 0000527f: DUP1 00005280: DUP4 00005281: AND 00005282: DUP2 00005283: DUP6 00005284: AND 00005285: DUP1 00005286: DUP4 00005287: SUB 00005288: DUP3 00005289: GT 0000528a: ISZERO 0000528b: PUSH2 0x5296 0000528e: JUMPI 0000528f: PUSH2 0x5296 00005292: PUSH2 0x4fbe 00005295: JUMP 00005296: JUMPDEST 00005297: ADD 00005298: SWAP5 00005299: SWAP4 0000529a: POP 0000529b: POP 0000529c: POP 0000529d: POP 0000529e: JUMP 0000529f: JUMPDEST 000052a0: PUSH1 0x00 000052a2: DUP1 000052a3: PUSH1 0x40 000052a5: DUP4 000052a6: DUP6 000052a7: SUB 000052a8: SLT 000052a9: ISZERO 000052aa: PUSH2 0x52b2 000052ad: JUMPI 000052ae: PUSH1 0x00 000052b0: DUP1 000052b1: REVERT 000052b2: JUMPDEST 000052b3: DUP3 000052b4: MLOAD 000052b5: PUSH2 0x52bd 000052b8: DUP2 000052b9: PUSH2 0x4a3b 000052bc: JUMP 000052bd: JUMPDEST 000052be: PUSH1 0x20 000052c0: DUP5 000052c1: ADD 000052c2: MLOAD 000052c3: SWAP1 000052c4: SWAP3 000052c5: POP 000052c6: PUSH2 0x52ce 000052c9: DUP2 000052ca: PUSH2 0x4e49 000052cd: JUMP 000052ce: JUMPDEST 000052cf: DUP1 000052d0: SWAP2 000052d1: POP 000052d2: POP 000052d3: SWAP3 000052d4: POP 000052d5: SWAP3 000052d6: SWAP1 000052d7: POP 000052d8: JUMP 000052d9: JUMPDEST 000052da: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 000052fb: PUSH1 0x00 000052fd: MSTORE 000052fe: PUSH1 0x12 00005300: PUSH1 0x04 00005302: MSTORE 00005303: PUSH1 0x24 00005305: PUSH1 0x00 00005307: REVERT 00005308: JUMPDEST 00005309: PUSH1 0x00 0000530b: DUP3 0000530c: PUSH2 0x5317 0000530f: JUMPI 00005310: PUSH2 0x5317 00005313: PUSH2 0x52d9 00005316: JUMP 00005317: JUMPDEST 00005318: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00005339: DUP4 0000533a: EQ 0000533b: PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 0000535c: DUP4 0000535d: EQ 0000535e: AND 0000535f: ISZERO 00005360: PUSH2 0x536b 00005363: JUMPI 00005364: PUSH2 0x536b 00005367: PUSH2 0x4fbe 0000536a: JUMP 0000536b: JUMPDEST 0000536c: POP 0000536d: SDIV 0000536e: SWAP1 0000536f: JUMP 00005370: JUMPDEST 00005371: PUSH1 0x00 00005373: DUP1 00005374: DUP4 00005375: SLT 00005376: DUP4 00005377: PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 00005398: ADD 00005399: DUP4 0000539a: SLT 0000539b: DUP2 0000539c: ISZERO 0000539d: AND 0000539e: ISZERO 0000539f: PUSH2 0x53aa 000053a2: JUMPI 000053a3: PUSH2 0x53aa 000053a6: PUSH2 0x4fbe 000053a9: JUMP 000053aa: JUMPDEST 000053ab: DUP4 000053ac: PUSH32 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000053cd: ADD 000053ce: DUP4 000053cf: SGT 000053d0: DUP2 000053d1: AND 000053d2: ISZERO 000053d3: PUSH2 0x53de 000053d6: JUMPI 000053d7: PUSH2 0x53de 000053da: PUSH2 0x4fbe 000053dd: JUMP 000053de: JUMPDEST 000053df: POP 000053e0: POP 000053e1: SUB 000053e2: SWAP1 000053e3: JUMP 000053e4: JUMPDEST 000053e5: PUSH1 0x00 000053e7: PUSH32 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00005408: PUSH1 0x00 0000540a: DUP5 0000540b: SGT 0000540c: PUSH1 0x00 0000540e: DUP5 0000540f: SGT 00005410: DUP6 00005411: DUP4 00005412: DIV 00005413: DUP6 00005414: GT 00005415: DUP3 00005416: DUP3 00005417: AND 00005418: AND 00005419: ISZERO 0000541a: PUSH2 0x5425 0000541d: JUMPI 0000541e: PUSH2 0x5425 00005421: PUSH2 0x4fbe 00005424: JUMP 00005425: JUMPDEST 00005426: PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 00005447: PUSH1 0x00 00005449: DUP8 0000544a: SLT 0000544b: DUP7 0000544c: DUP3 0000544d: SDIV 0000544e: DUP9 0000544f: SLT 00005450: DUP2 00005451: DUP5 00005452: AND 00005453: AND 00005454: ISZERO 00005455: PUSH2 0x5460 00005458: JUMPI 00005459: PUSH2 0x5460 0000545c: PUSH2 0x4fbe 0000545f: JUMP 00005460: JUMPDEST 00005461: PUSH1 0x00 00005463: DUP8 00005464: SLT 00005465: SWAP3 00005466: POP 00005467: DUP8 00005468: DUP3 00005469: SDIV 0000546a: DUP8 0000546b: SLT 0000546c: DUP5 0000546d: DUP5 0000546e: AND 0000546f: AND 00005470: ISZERO 00005471: PUSH2 0x547c 00005474: JUMPI 00005475: PUSH2 0x547c 00005478: PUSH2 0x4fbe 0000547b: JUMP 0000547c: JUMPDEST 0000547d: DUP8 0000547e: DUP6 0000547f: SDIV 00005480: DUP8 00005481: SLT 00005482: DUP2 00005483: DUP5 00005484: AND 00005485: AND 00005486: ISZERO 00005487: PUSH2 0x5492 0000548a: JUMPI 0000548b: PUSH2 0x5492 0000548e: PUSH2 0x4fbe 00005491: JUMP 00005492: JUMPDEST 00005493: POP 00005494: POP 00005495: POP 00005496: SWAP3 00005497: SWAP1 00005498: SWAP4 00005499: MUL 0000549a: SWAP4 0000549b: SWAP3 0000549c: POP 0000549d: POP 0000549e: POP 0000549f: JUMP 000054a0: JUMPDEST 000054a1: PUSH1 0x00 000054a3: DUP1 000054a4: DUP3 000054a5: SLT 000054a6: DUP3 000054a7: PUSH32 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000054c8: SUB 000054c9: DUP5 000054ca: SGT 000054cb: DUP2 000054cc: ISZERO 000054cd: AND 000054ce: ISZERO 000054cf: PUSH2 0x54da 000054d2: JUMPI 000054d3: PUSH2 0x54da 000054d6: PUSH2 0x4fbe 000054d9: JUMP 000054da: JUMPDEST 000054db: DUP3 000054dc: PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 000054fd: SUB 000054fe: DUP5 000054ff: SLT 00005500: DUP2 00005501: AND 00005502: ISZERO 00005503: PUSH2 0x550e 00005506: JUMPI 00005507: PUSH2 0x550e 0000550a: PUSH2 0x4fbe 0000550d: JUMP 0000550e: JUMPDEST 0000550f: POP 00005510: POP 00005511: ADD 00005512: SWAP1 00005513: JUMP 00005514: JUMPDEST 00005515: PUSH1 0x00 00005517: DUP2 00005518: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00005539: DIV 0000553a: DUP4 0000553b: GT 0000553c: DUP3 0000553d: ISZERO 0000553e: ISZERO 0000553f: AND 00005540: ISZERO 00005541: PUSH2 0x554c 00005544: JUMPI 00005545: PUSH2 0x554c 00005548: PUSH2 0x4fbe 0000554b: JUMP 0000554c: JUMPDEST 0000554d: POP 0000554e: MUL 0000554f: SWAP1 00005550: JUMP 00005551: JUMPDEST 00005552: PUSH1 0x00 00005554: DUP3 00005555: PUSH2 0x5560 00005558: JUMPI 00005559: PUSH2 0x5560 0000555c: PUSH2 0x52d9 0000555f: JUMP 00005560: JUMPDEST 00005561: POP 00005562: DIV 00005563: SWAP1 00005564: JUMP 00005565: JUMPDEST 00005566: DUP7 00005567: DUP2 00005568: MSTORE 00005569: PUSH1 0x00 0000556b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00005580: DUP1 00005581: DUP9 00005582: AND 00005583: PUSH1 0x20 00005585: DUP5 00005586: ADD 00005587: MSTORE 00005588: DUP1 00005589: DUP8 0000558a: AND 0000558b: PUSH1 0x40 0000558d: DUP5 0000558e: ADD 0000558f: MSTORE 00005590: POP 00005591: DUP5 00005592: PUSH1 0x60 00005594: DUP4 00005595: ADD 00005596: MSTORE 00005597: DUP4 00005598: PUSH1 0x80 0000559a: DUP4 0000559b: ADD 0000559c: MSTORE 0000559d: PUSH1 0xc0 0000559f: PUSH1 0xa0 000055a1: DUP4 000055a2: ADD 000055a3: MSTORE 000055a4: PUSH2 0x55b0 000055a7: PUSH1 0xc0 000055a9: DUP4 000055aa: ADD 000055ab: DUP5 000055ac: PUSH2 0x4dd3 000055af: JUMP 000055b0: JUMPDEST 000055b1: SWAP9 000055b2: SWAP8 000055b3: POP 000055b4: POP 000055b5: POP 000055b6: POP 000055b7: POP 000055b8: POP 000055b9: POP 000055ba: POP 000055bb: JUMP 000055bc: JUMPDEST 000055bd: DUP1 000055be: MLOAD 000055bf: PUSH4 0xffffffff 000055c4: DUP2 000055c5: AND 000055c6: DUP2 000055c7: EQ 000055c8: PUSH2 0x4a78 000055cb: JUMPI 000055cc: PUSH1 0x00 000055ce: DUP1 000055cf: REVERT 000055d0: JUMPDEST 000055d1: PUSH1 0x00 000055d3: PUSH1 0xc0 000055d5: DUP3 000055d6: DUP5 000055d7: SUB 000055d8: SLT 000055d9: ISZERO 000055da: PUSH2 0x55e2 000055dd: JUMPI 000055de: PUSH1 0x00 000055e0: DUP1 000055e1: REVERT 000055e2: JUMPDEST 000055e3: PUSH1 0x40 000055e5: MLOAD 000055e6: PUSH1 0xc0 000055e8: DUP2 000055e9: ADD 000055ea: DUP2 000055eb: DUP2 000055ec: LT 000055ed: PUSH8 0xffffffffffffffff 000055f6: DUP3 000055f7: GT 000055f8: OR 000055f9: ISZERO 000055fa: PUSH2 0x5605 000055fd: JUMPI 000055fe: PUSH2 0x5605 00005601: PUSH2 0x4a8b 00005604: JUMP 00005605: JUMPDEST 00005606: PUSH1 0x40 00005608: MSTORE 00005609: PUSH2 0x5611 0000560c: DUP4 0000560d: PUSH2 0x55bc 00005610: JUMP 00005611: JUMPDEST 00005612: DUP2 00005613: MSTORE 00005614: PUSH1 0x20 00005616: DUP4 00005617: ADD 00005618: MLOAD 00005619: PUSH2 0x5621 0000561c: DUP2 0000561d: PUSH2 0x4e49 00005620: JUMP 00005621: JUMPDEST 00005622: PUSH1 0x20 00005624: DUP3 00005625: ADD 00005626: MSTORE 00005627: PUSH1 0x40 00005629: DUP4 0000562a: ADD 0000562b: MLOAD 0000562c: PUSH2 0x5634 0000562f: DUP2 00005630: PUSH2 0x4e49 00005633: JUMP 00005634: JUMPDEST 00005635: PUSH1 0x40 00005637: DUP3 00005638: ADD 00005639: MSTORE 0000563a: PUSH2 0x5645 0000563d: PUSH1 0x60 0000563f: DUP5 00005640: ADD 00005641: PUSH2 0x55bc 00005644: JUMP 00005645: JUMPDEST 00005646: PUSH1 0x60 00005648: DUP3 00005649: ADD 0000564a: MSTORE 0000564b: PUSH2 0x5656 0000564e: PUSH1 0x80 00005650: DUP5 00005651: ADD 00005652: PUSH2 0x55bc 00005655: JUMP 00005656: JUMPDEST 00005657: PUSH1 0x80 00005659: DUP3 0000565a: ADD 0000565b: MSTORE 0000565c: PUSH2 0x5667 0000565f: PUSH1 0xa0 00005661: DUP5 00005662: ADD 00005663: PUSH2 0x503b 00005666: JUMP 00005667: JUMPDEST 00005668: PUSH1 0xa0 0000566a: DUP3 0000566b: ADD 0000566c: MSTORE 0000566d: SWAP4 0000566e: SWAP3 0000566f: POP 00005670: POP 00005671: POP 00005672: JUMP 00005673: JUMPDEST 00005674: PUSH1 0x00 00005676: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00005697: DUP3 00005698: SUB 00005699: PUSH2 0x56a4 0000569c: JUMPI 0000569d: PUSH2 0x56a4 000056a0: PUSH2 0x4fbe 000056a3: JUMP 000056a4: JUMPDEST 000056a5: POP 000056a6: PUSH1 0x01 000056a8: ADD 000056a9: SWAP1 000056aa: JUMP 000056ab: JUMPDEST 000056ac: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 000056cd: PUSH1 0x00 000056cf: MSTORE 000056d0: PUSH1 0x32 000056d2: PUSH1 0x04 000056d4: MSTORE 000056d5: PUSH1 0x24 000056d7: PUSH1 0x00 000056d9: REVERT 000056da: JUMPDEST 000056db: PUSH1 0x00 000056dd: PUSH1 0xff 000056df: DUP4 000056e0: AND 000056e1: DUP1 000056e2: PUSH2 0x56ed 000056e5: JUMPI 000056e6: PUSH2 0x56ed 000056e9: PUSH2 0x52d9 000056ec: JUMP 000056ed: JUMPDEST 000056ee: DUP1 000056ef: PUSH1 0xff 000056f1: DUP5 000056f2: AND 000056f3: MOD 000056f4: SWAP2 000056f5: POP 000056f6: POP 000056f7: SWAP3 000056f8: SWAP2 000056f9: POP 000056fa: POP 000056fb: JUMP 000056fc: JUMPDEST 000056fd: PUSH1 0x00 000056ff: PUSH1 0xff 00005701: DUP3 00005702: AND 00005703: PUSH1 0xff 00005705: DUP5 00005706: AND 00005707: DUP1 00005708: DUP3 00005709: LT 0000570a: ISZERO 0000570b: PUSH2 0x5716 0000570e: JUMPI 0000570f: PUSH2 0x5716 00005712: PUSH2 0x4fbe 00005715: JUMP 00005716: JUMPDEST 00005717: SWAP1 00005718: SUB 00005719: SWAP4 0000571a: SWAP3 0000571b: POP 0000571c: POP 0000571d: POP 0000571e: JUMP 0000571f: JUMPDEST 00005720: PUSH1 0x00 00005722: DUP3 00005723: MLOAD 00005724: PUSH2 0x5731 00005727: DUP2 00005728: DUP5 00005729: PUSH1 0x20 0000572b: DUP8 0000572c: ADD 0000572d: PUSH2 0x4da7 00005730: JUMP 00005731: JUMPDEST 00005732: SWAP2 00005733: SWAP1 00005734: SWAP2 00005735: ADD 00005736: SWAP3 00005737: SWAP2 00005738: POP 00005739: POP 0000573a: JUMP 0000573b: JUMPDEST 0000573c: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 0000575d: PUSH1 0x00 0000575f: MSTORE 00005760: PUSH1 0x21 00005762: PUSH1 0x04 00005764: MSTORE 00005765: PUSH1 0x24 00005767: PUSH1 0x00 00005769: REVERT 0000576a: INVALID 0000576b: LOG1 0000576c: PUSH5 0x736f6c6343 00005772: STOP 00005773: ADDMOD 00005774: UNKNOWN(0x0F) 00005775: STOP 00005776: EXP
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | auth | detector | Authorization based on tx.origin | 70 | no | — |
viewvalidation_json{
"reason": "missing sink mapping",
"status": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xcff0ab96",
"selector": "0xcff0ab96",
"calldata_variants": [
"0xcff0ab96",
"0xcff0ab960000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe965084c",
"selector": "0xe965084c",
"calldata_variants": [
"0xe965084c",
"0xe965084c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe9e05c42",
"selector": "0xe9e05c42",
"calldata_variants": [
"0xe9e05c42",
"0xe9e05c420000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb69ef8a8",
"selector": "0xb69ef8a8",
"calldata_variants": [
"0xb69ef8a8",
"0xb69ef8a80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc0c53b8b",
"selector": "0xc0c53b8b",
"calldata_variants": [
"0xc0c53b8b",
"0xc0c53b8b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x9bf62d82",
"selector": "0x9bf62d82",
"calldata_variants": [
"0x9bf62d82",
"0x9bf62d820000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa14238e7",
"selector": "0xa14238e7",
"calldata_variants": [
"0xa14238e7",
"0xa14238e70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa35d99df",
"selector": "0xa35d99df",
"calldata_variants": [
"0xa35d99df",
"0xa35d99df0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 7164,
"type": "tx_origin_used"
},
{
"pc": 8360,
"type": "tx_origin_used"
},
{
"pc": 7161,
"type": "tx_origin_used"
},
{
"pc": 8358,
"type": "tx_origin_used"
}
]
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x1206e091261854ffc187d57266de87573ac12ffd96f8368dcbb83e9f07d11aad
call_targets:
0xbdd90485fcbcac869d5b5752179815a3103d8131
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x1206e091261854ffc187d57266de87573ac12ffd96f8368dcbb83e9f07d11aad",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xbdd90485fcbcac869d5b5752179815a3103d8131"
],
"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": "0xcff0ab96",
"selector": "0xcff0ab96",
"calldata_variants": [
"0xcff0ab96",
"0xcff0ab960000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe965084c",
"selector": "0xe965084c",
"calldata_variants": [
"0xe965084c",
"0xe965084c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe9e05c42",
"selector": "0xe9e05c42",
"calldata_variants": [
"0xe9e05c42",
"0xe9e05c420000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb69ef8a8",
"selector": "0xb69ef8a8",
"calldata_variants": [
"0xb69ef8a8",
"0xb69ef8a80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc0c53b8b",
"selector": "0xc0c53b8b",
"calldata_variants": [
"0xc0c53b8b",
"0xc0c53b8b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x9bf62d82",
"selector": "0x9bf62d82",
"calldata_variants": [
"0x9bf62d82",
"0x9bf62d820000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa14238e7",
"selector": "0xa14238e7",
"calldata_variants": [
"0xa14238e7",
"0xa14238e70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa35d99df",
"selector": "0xa35d99df",
"calldata_variants": [
"0xa35d99df",
"0xa35d99df0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 10006,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 15414,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 2,
"guards_detected": [
{
"pc": 7164,
"type": "tx_origin_used"
},
{
"pc": 8360,
"type": "tx_origin_used"
},
{
"pc": 7161,
"type": "tx_origin_used"
},
{
"pc": 8358,
"type": "tx_origin_used"
}
],
"untrusted_call_count": 2
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x1206e091261854ffc187d57266de87573ac12ffd96f8368dcbb83e9f07d11aad
call_targets:
0xbdd90485fcbcac869d5b5752179815a3103d8131
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x1206e091261854ffc187d57266de87573ac12ffd96f8368dcbb83e9f07d11aad",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xbdd90485fcbcac869d5b5752179815a3103d8131"
],
"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": "0xcff0ab96",
"selector": "0xcff0ab96",
"calldata_variants": [
"0xcff0ab96",
"0xcff0ab960000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe965084c",
"selector": "0xe965084c",
"calldata_variants": [
"0xe965084c",
"0xe965084c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe9e05c42",
"selector": "0xe9e05c42",
"calldata_variants": [
"0xe9e05c42",
"0xe9e05c420000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb69ef8a8",
"selector": "0xb69ef8a8",
"calldata_variants": [
"0xb69ef8a8",
"0xb69ef8a80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc0c53b8b",
"selector": "0xc0c53b8b",
"calldata_variants": [
"0xc0c53b8b",
"0xc0c53b8b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x9bf62d82",
"selector": "0x9bf62d82",
"calldata_variants": [
"0x9bf62d82",
"0x9bf62d820000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa14238e7",
"selector": "0xa14238e7",
"calldata_variants": [
"0xa14238e7",
"0xa14238e70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa35d99df",
"selector": "0xa35d99df",
"calldata_variants": [
"0xa35d99df",
"0xa35d99df0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 10006,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 15414,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 2,
"guards_detected": [
{
"pc": 7164,
"type": "tx_origin_used"
},
{
"pc": 8360,
"type": "tx_origin_used"
},
{
"pc": 7161,
"type": "tx_origin_used"
},
{
"pc": 8358,
"type": "tx_origin_used"
}
]
}
|
| info | other | cast | Heavy CALL-family usage | 55 | no | — |
viewevidence_json{
"notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
"call_family_count": 16
}
|