88bd2506-df5e-49a8-b71b-00755028d3a1
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 |
|---|---|---|---|---|
| 31199 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 77008 | artifact.fetch | failed | 1 / 3 | 1 week ago |
| 77009 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 77010 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 77011 | capability.graph | complete | 1 / 3 | 1 week ago |
| 77012 | detector.run | complete | 1 / 3 | 1 week ago |
| 77013 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:1078854] OpenAI Codex v0.77.0 (research preview)
[codex:1078854] --------
[codex:1078854] workdir: /tmp/codex-multi-9zk6ffpy
[codex:1078854] model: gpt-5.2-codex
[codex:1078854] provider: openai
[codex:1078854] approval: never
[codex:1078854] sandbox: read-only
[codex:1078854] reasoning effort: xhigh
[codex:1078854] reasoning summaries: auto
[codex:1078854] session id: 019b7cad-e96f-76e2-886f-7f870caebd0b
[codex:1078854] --------
[codex:1078854] user
[codex:1078854] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:1078854]
[codex:1078854] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:1078854]
[codex:1078854] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:1078854] - Gas inefficiency, code quality, naming, or best practices
[codex:1078854] - Theoretical vulnerabilities without a clear extraction path
[codex:1078854] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:1078854] - Front-running unless it enables theft beyond MEV
[codex:1078854] - DoS, griefing, or issues that don't result in attacker profit
[codex:1078854] - Missing events, view function issues, or informational findings
[codex:1078854]
[codex:1078854] HIGH-VALUE PATTERNS TO HUNT:
[codex:1078854] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:1078854] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:1078854] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:1078854] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:1078854] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:1078854] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:1078854] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:1078854] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:1078854] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:1078854]
[codex:1078854] For each finding, you MUST provide:
[codex:1078854] 1. Exact file and line numbers of vulnerable code
[codex:1078854] 2. Step-by-step exploit transaction sequence
[codex:1078854] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:1078854]
[codex:1078854] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:1078854]
[codex:1078854] Output MUST be valid JSON matching the provided schema.
[codex:1078854] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:1078854] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:1078854] mcp startup: no servers
[codex:1078854]
[codex:1078854] thinking
[codex:1078854] **Preparing to review instructions and skills**
[codex:1078854] exec
[codex:1078854] /bin/bash -lc ls in /tmp/codex-multi-9zk6ffpy succeeded in 5ms:
[codex:1078854] AUDIT_BUNDLE.txt
[codex:1078854] codex-output-schema.json
[codex:1078854] contracts
[codex:1078854] exec
[codex:1078854] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-9zk6ffpy succeeded in 6ms:
[codex:1078854] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:1078854]
[codex:1078854] ================================================================================
[codex:1078854] FILE: contracts/src/L1/OptimismPortal2.sol
[codex:1078854] ================================================================================
[codex:1078854] // SPDX-License-Identifier: MIT
[codex:1078854] pragma solidity 0.8.15;
[codex:1078854]
[codex:1078854] import { Initializable } from "@openzeppelin/contracts/proxy/utils/Initializable.sol";
[codex:1078854] import { SafeCall } from "src/libraries/SafeCall.sol";
[codex:1078854] import { DisputeGameFactory, IDisputeGame } from "src/dispute/DisputeGameFactory.sol";
[codex:1078854] import { SystemConfig } from "src/L1/SystemConfig.sol";
[codex:1078854] import { SuperchainConfig } from "src/L1/SuperchainConfig.sol";
[codex:1078854] import { Constants } from "src/libraries/Constants.sol";
[codex:1078854] import { Types } from "src/libraries/Types.sol";
[codex:1078854] import { Hashing } from "src/libraries/Hashing.sol";
[codex:1078854] import { SecureMerkleTrie } from "src/libraries/trie/SecureMerkleTrie.sol";
[codex:1078854] import { AddressAliasHelper } from "src/vendor/AddressAliasHelper.sol";
[codex:1078854] import { ResourceMetering } from "src/L1/ResourceMetering.sol";
[codex:1078854] import { ISemver } from "src/universal/ISemver.sol";
[codex:1078854]
[codex:1078854] thinking
[codex:1078854] **Analyzing large contract audit for vulnerabilities**
[codex:1078854] exec
[codex:1078854] /bin/bash -lc 'rg --files contracts/src' in /tmp/codex-multi-9zk6ffpy succeeded in 8ms:
[codex:1078854] contracts/src/universal/ISemver.sol
[codex:1078854] contracts/src/libraries/Types.sol
[codex:1078854] contracts/src/libraries/Encoding.sol
[codex:1078854] contracts/src/libraries/PortalErrors.sol
[codex:1078854] contracts/src/libraries/SafeCall.sol
[codex:1078854] contracts/src/libraries/Storage.sol
[codex:1078854] contracts/src/libraries/Bytes.sol
[codex:1078854] contracts/src/libraries/Burn.sol
[codex:1078854] contracts/src/libraries/Constants.sol
[codex:1078854] contracts/src/libraries/rlp/RLPWriter.sol
[codex:1078854] contracts/src/libraries/rlp/RLPErrors.sol
[codex:1078854] contracts/src/libraries/rlp/RLPReader.sol
[codex:1078854] contracts/src/libraries/Hashing.sol
[codex:1078854] contracts/src/dispute/interfaces/IInitializable.sol
[codex:1078854] contracts/src/dispute/interfaces/IDisputeGame.sol
[codex:1078854] contracts/src/dispute/interfaces/IDisputeGameFactory.sol
[codex:1078854] contracts/src/L1/ResourceMetering.sol
[codex:1078854] contracts/src/L1/SystemConfig.sol
[codex:1078854] contracts/src/L1/OptimismPortal2.sol
[codex:1078854] contracts/src/L1/SuperchainConfig.sol
[codex:1078854]
[codex:1078854] thinking
[codex:1078854] **Analyzing potential vulnerabilities in upgradeable contracts**
[codex:1078854]
[codex:1078854] I'm reviewing contract upgradeability and initialization, focusing on whether public initialize functions in proxies could allow attackers to hijack control before admin setup. I'm also considering if malicious dispute games could exploit withdrawal proofs, so I plan to inspect DisputeGameFactory and related contracts next to understand authentication and verification logic.
[codex:1078854] exec
[codex:1078854] /bin/bash -lc "sed -n '1,240p' contracts/src/dispute/DisputeGameFactory.sol" in /tmp/codex-multi-9zk6ffpy succeeded in 5ms:
[codex:1078854] // SPDX-License-Identifier: MIT
[codex:1078854] pragma solidity 0.8.15;
[codex:1078854]
[codex:1078854] import { LibClone } from "@solady/utils/LibClone.sol";
[codex:1078854] import { OwnableUpgradeable } from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
[codex:1078854] import { ISemver } from "src/universal/ISemver.sol";
[codex:1078854]
[codex:1078854] import { IDisputeGame } from "src/dispute/interfaces/IDisputeGame.sol";
[codex:1078854] import { IDisputeGameFactory } from "src/dispute/interfaces/IDisputeGameFactory.sol";
[codex:1078854]
[codex:1078854] import "src/dispute/lib/Types.sol";
[codex:1078854] import "src/dispute/lib/Errors.sol";
[codex:1078854]
[codex:1078854] /// @title DisputeGameFactory
[codex:1078854] /// @notice A factory contract for creating `IDisputeGame` contracts. All created dispute games are stored in both a
[codex:1078854] /// mapping and an append only array. The timestamp of the creation time of the dispute game is packed tightly
[codex:1078854] /// into the storage slot with the address of the dispute game to make offchain discoverability of playable
[codex:1078854] /// dispute games easier.
[codex:1078854] contract DisputeGameFactory is OwnableUpgradeable, IDisputeGameFactory, ISemver {
[codex:1078854] /// @dev Allows for the creation of clone proxies with immutable arguments.
[codex:1078854]
[codex:1078854] thinking
[codex:1078854] **Analyzing dispute game vulnerabilities and withdrawal checks**
[codex:1078854] exec
[codex:1078854] /bin/bash -lc 'rg -n "checkWithdrawal" -n contracts/src/L1/OptimismPortal2.sol' in /tmp/codex-multi-9zk6ffpy succeeded in 7ms:
[codex:1078854] 357: checkWithdrawal(withdrawalHash, _proofSubmitter);
[codex:1078854] 461: function checkWithdrawal(bytes32 _withdrawalHash, address _proofSubmitter) public view {
[codex:1078854] exec
[codex:1078854] /bin/bash -lc "sed -n '420,560p' contracts/src/L1/OptimismPortal2.sol" in /tmp/codex-multi-9zk6ffpy succeeded in 5ms:
[codex:1078854] // transactions are not gossipped over the p2p network.
[codex:1078854] if (_data.length > 120_000) revert LargeCalldata();
[codex:1078854]
[codex:1078854] // Transform the from-address to its alias if the caller is a contract.
[codex:1078854] address from = msg.sender;
[codex:1078854] if (msg.sender != tx.origin) {
[codex:1078854] from = AddressAliasHelper.applyL1ToL2Alias(msg.sender);
[codex:1078854] }
[codex:1078854]
[codex:1078854] // Compute the opaque data that will be emitted as part of the TransactionDeposited event.
[codex:1078854] // We use opaque data so that we can update the TransactionDeposited event in the future
[codex:1078854] // without breaking the current interface.
[codex:1078854] bytes memory opaqueData = abi.encodePacked(msg.value, _value, _gasLimit, _isCreation, _data);
[codex:1078854]
[codex:1078854] // Emit a TransactionDeposited event so that the rollup node can derive a deposit
[codex:1078854] // transaction for this deposit.
[codex:1078854] emit TransactionDeposited(from, _to, DEPOSIT_VERSION, opaqueData);
[codex:1078854] }
[codex:1078854]
[codex:1078854] /// @notice Blacklists a dispute game. Should only be used in the event that a dispute game resolves incorrectly.
[codex:1078854]
[codex:1078854] thinking
[codex:1078854] **Analyzing dispute game resolution logic**
[codex:1078854] exec
[codex:1078854] /bin/bash -lc "sed -n '1,240p' contracts/src/L1/SystemConfig.sol" in /tmp/codex-multi-9zk6ffpy succeeded in 6ms:
[codex:1078854] // SPDX-License-Identifier: MIT
[codex:1078854] pragma solidity 0.8.15;
[codex:1078854]
[codex:1078854] import { OwnableUpgradeable } from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
[codex:1078854] import { ISemver } from "src/universal/ISemver.sol";
[codex:1078854] import { ResourceMetering } from "src/L1/ResourceMetering.sol";
[codex:1078854] import { Storage } from "src/libraries/Storage.sol";
[codex:1078854] import { Constants } from "src/libraries/Constants.sol";
[codex:1078854]
[codex:1078854] /// @title SystemConfig
[codex:1078854] /// @notice The SystemConfig contract is used to manage configuration of an Optimism network.
[codex:1078854] /// All configuration is stored on L1 and picked up by L2 as part of the derviation of
[codex:1078854] /// the L2 chain.
[codex:1078854] contract SystemConfig is OwnableUpgradeable, ISemver {
[codex:1078854] /// @notice Enum representing different types of updates.
[codex:1078854] /// @custom:value BATCHER Represents an update to the batcher hash.
[codex:1078854] /// @custom:value GAS_CONFIG Represents an update to txn fee config on L2.
[codex:1078854] /// @custom:value GAS_LIMIT Represents an update to gas limit on L2.
[codex:1078854] /// @custom:value UNSAFE_BLOCK_SIGNER Represents an update to the signer key for unsafe
[codex:1078854] /// block distrubution.
[codex:1078854]
[codex:1078854] thinking
[codex:1078854] **Checking dependency on SuperchainConfig**
[codex:1078854] exec
[codex:1078854] /bin/bash -lc "sed -n '1,200p' contracts/src/L1/SuperchainConfig.sol" in /tmp/codex-multi-9zk6ffpy succeeded in 5ms:
[codex:1078854] // SPDX-License-Identifier: MIT
[codex:1078854] pragma solidity 0.8.15;
[codex:1078854]
[codex:1078854] import { Initializable } from "@openzeppelin/contracts/proxy/utils/Initializable.sol";
[codex:1078854] import { ISemver } from "src/universal/ISemver.sol";
[codex:1078854] import { Storage } from "src/libraries/Storage.sol";
[codex:1078854]
[codex:1078854] /// @custom:audit none This contracts is not yet audited.
[codex:1078854] /// @title SuperchainConfig
[codex:1078854] /// @notice The SuperchainConfig contract is used to manage configuration of global superchain values.
[codex:1078854] contract SuperchainConfig is Initializable, ISemver {
[codex:1078854] /// @notice Enum representing different types of updates.
[codex:1078854] /// @custom:value GUARDIAN Represents an update to the guardian.
[codex:1078854] enum UpdateType {
[codex:1078854] GUARDIAN
[codex:1078854] }
[codex:1078854]
[codex:1078854] /// @notice Whether or not the Superchain is paused.
[codex:1078854] bytes32 public constant PAUSED_SLOT = bytes32(uint256(keccak256("superchainConfig.paused")) - 1);
[codex:1078854]
[codex:1078854]
[codex:1078854] thinking
[codex:1078854] **Examining ResourceMetering for vulnerabilities**
[codex:1078854] exec
[codex:1078854] /bin/bash -lc "sed -n '1,220p' contracts/src/L1/ResourceMetering.sol" in /tmp/codex-multi-9zk6ffpy succeeded in 5ms:
[codex:1078854] // SPDX-License-Identifier: MIT
[codex:1078854] pragma solidity 0.8.15;
[codex:1078854]
[codex:1078854] import { Initializable } from "@openzeppelin/contracts/proxy/utils/Initializable.sol";
[codex:1078854] import { Math } from "@openzeppelin/contracts/utils/math/Math.sol";
[codex:1078854] import { Burn } from "src/libraries/Burn.sol";
[codex:1078854] import { Arithmetic } from "src/libraries/Arithmetic.sol";
[codex:1078854]
[codex:1078854] /// @custom:upgradeable
[codex:1078854] /// @title ResourceMetering
[codex:1078854] /// @notice ResourceMetering implements an EIP-1559 style resource metering system where pricing
[codex:1078854] /// updates automatically based on current demand.
[codex:1078854] abstract contract ResourceMetering is Initializable {
[codex:1078854] /// @notice Error returned when too much gas resource is consumed.
[codex:1078854] error OutOfGas();
[codex:1078854]
[codex:1078854] /// @notice Represents the various parameters that control the way in which resources are
[codex:1078854] /// metered. Corresponds to the EIP-1559 resource metering system.
[codex:1078854] /// @custom:field prevBaseFee Base fee from the previous block(s).
[codex:1078854] /// @custom:field prevBoughtGas Amount of gas bought so far in the current block.
[codex:1078854]
[codex:1078854] thinking
[codex:1078854] **Inspecting Burn library for issues**
[codex:1078854] exec
[codex:1078854] /bin/bash -lc "sed -n '1,200p' contracts/src/libraries/Burn.sol" in /tmp/codex-multi-9zk6ffpy succeeded in 6ms:
[codex:1078854] // SPDX-License-Identifier: MIT
[codex:1078854] pragma solidity 0.8.15;
[codex:1078854]
[codex:1078854] /// @title Burn
[codex:1078854] /// @notice Utilities for burning stuff.
[codex:1078854] library Burn {
[codex:1078854] /// @notice Burns a given amount of ETH.
[codex:1078854] /// @param _amount Amount of ETH to burn.
[codex:1078854] function eth(uint256 _amount) internal {
[codex:1078854] new Burner{ value: _amount }();
[codex:1078854] }
[codex:1078854]
[codex:1078854] /// @notice Burns a given amount of gas.
[codex:1078854] /// @param _amount Amount of gas to burn.
[codex:1078854] function gas(uint256 _amount) internal view {
[codex:1078854] uint256 i = 0;
[codex:1078854] uint256 initialGas = gasleft();
[codex:1078854] while (initialGas - gasleft() < _amount) {
[codex:1078854] ++i;
[codex:1078854] }
[codex:1078854]
[codex:1078854] thinking
[codex:1078854] **Checking for busy loops**
[codex:1078854] exec
[codex:1078854] /bin/bash -lc "sed -n '1,200p' contracts/src/libraries/SafeCall.sol" in /tmp/codex-multi-9zk6ffpy succeeded in 5ms:
[codex:1078854] // SPDX-License-Identifier: MIT
[codex:1078854] pragma solidity 0.8.15;
[codex:1078854]
[codex:1078854] /// @title SafeCall
[codex:1078854] /// @notice Perform low level safe calls
[codex:1078854] library SafeCall {
[codex:1078854] /// @notice Performs a low level call without copying any returndata.
[codex:1078854] /// @dev Passes no calldata to the call context.
[codex:1078854] /// @param _target Address to call
[codex:1078854] /// @param _gas Amount of gas to pass to the call
[codex:1078854] /// @param _value Amount of value to pass to the call
[codex:1078854] function send(address _target, uint256 _gas, uint256 _value) internal returns (bool) {
[codex:1078854] bool _success;
[codex:1078854] assembly {
[codex:1078854] _success :=
[codex:1078854] call(
[codex:1078854] _gas, // gas
[codex:1078854] _target, // recipient
[codex:1078854] _value, // ether value
[codex:1078854] 0, // inloc
[codex:1078854]
[codex:1078854] thinking
[codex:1078854] **Investigating hashing dependencies**
[codex:1078854] exec
[codex:1078854] /bin/bash -lc "sed -n '1,200p' contracts/src/libraries/Hashing.sol" in /tmp/codex-multi-9zk6ffpy succeeded in 5ms:
[codex:1078854] // SPDX-License-Identifier: MIT
[codex:1078854] pragma solidity ^0.8.0;
[codex:1078854]
[codex:1078854] import { Types } from "src/libraries/Types.sol";
[codex:1078854] import { Encoding } from "src/libraries/Encoding.sol";
[codex:1078854]
[codex:1078854] /// @title Hashing
[codex:1078854] /// @notice Hashing handles Optimism's various different hashing schemes.
[codex:1078854] library Hashing {
[codex:1078854] /// @notice Computes the hash of the RLP encoded L2 transaction that would be generated when a
[codex:1078854] /// given deposit is sent to the L2 system. Useful for searching for a deposit in the L2
[codex:1078854] /// system.
[codex:1078854] /// @param _tx User deposit transaction to hash.
[codex:1078854] /// @return Hash of the RLP encoded L2 deposit transaction.
[codex:1078854] function hashDepositTransaction(Types.UserDepositTransaction memory _tx) internal pure returns (bytes32) {
[codex:1078854] return keccak256(Encoding.encodeDepositTransaction(_tx));
[codex:1078854] }
[codex:1078854]
[codex:1078854] /// @notice Computes the deposit transaction's "source hash", a value that guarantees the hash
[codex:1078854] /// of the L2 transaction that corresponds to a deposit is unique and is
[codex:1078854]
[codex:1078854] thinking
[codex:1078854] **Checking hashing and types**
[codex:1078854] exec
[codex:1078854] /bin/bash -lc "sed -n '1,200p' contracts/src/libraries/Types.sol" in /tmp/codex-multi-9zk6ffpy succeeded in 5ms:
[codex:1078854] // SPDX-License-Identifier: MIT
[codex:1078854] pragma solidity ^0.8.0;
[codex:1078854]
[codex:1078854] /// @title Types
[codex:1078854] /// @notice Contains various types used throughout the Optimism contract system.
[codex:1078854] library Types {
[codex:1078854] /// @notice OutputProposal represents a commitment to the L2 state. The timestamp is the L1
[codex:1078854] /// timestamp that the output root is posted. This timestamp is used to verify that the
[codex:1078854] /// finalization period has passed since the output root was submitted.
[codex:1078854] /// @custom:field outputRoot Hash of the L2 output.
[codex:1078854] /// @custom:field timestamp Timestamp of the L1 block that the output root was submitted in.
[codex:1078854] /// @custom:field l2BlockNumber L2 block number that the output corresponds to.
[codex:1078854] struct OutputProposal {
[codex:1078854] bytes32 outputRoot;
[codex:1078854] uint128 timestamp;
[codex:1078854] uint128 l2BlockNumber;
[codex:1078854] }
[codex:1078854]
[codex:1078854] /// @notice Struct representing the elements that are hashed together to generate an output root
[codex:1078854] /// which itself represents a snapshot of the L2 state.
[codex:1078854]
[codex:1078854] thinking
[codex:1078854] **Reviewing dispute interfaces**
[codex:1078854] exec
[codex:1078854] /bin/bash -lc "sed -n '1,200p' contracts/src/dispute/interfaces/IDisputeGame.sol" in /tmp/codex-multi-9zk6ffpy succeeded in 6ms:
[codex:1078854] // SPDX-License-Identifier: MIT
[codex:1078854] pragma solidity ^0.8.0;
[codex:1078854]
[codex:1078854] import { IInitializable } from "src/dispute/interfaces/IInitializable.sol";
[codex:1078854]
[codex:1078854] import "src/dispute/lib/Types.sol";
[codex:1078854]
[codex:1078854] /// @title IDisputeGame
[codex:1078854] /// @notice The generic interface for a DisputeGame contract.
[codex:1078854] interface IDisputeGame is IInitializable {
[codex:1078854] /// @notice Emitted when the game is resolved.
[codex:1078854] /// @param status The status of the game after resolution.
[codex:1078854] event Resolved(GameStatus indexed status);
[codex:1078854]
[codex:1078854] /// @notice Returns the timestamp that the DisputeGame contract was created at.
[codex:1078854] /// @return createdAt_ The timestamp that the DisputeGame contract was created at.
[codex:1078854] function createdAt() external view returns (Timestamp createdAt_);
[codex:1078854]
[codex:1078854] /// @notice Returns the timestamp that the DisputeGame contract was resolved at.
[codex:1078854] /// @return resolvedAt_ The timestamp that the DisputeGame contract was resolved at.
[codex:1078854]
[codex:1078854] thinking
[codex:1078854] **Verifying withdrawal and deposit logic**
[codex:1078854] exec
[codex:1078854] /bin/bash -lc 'rg -n "depositTransaction" -n contracts/src/L1/OptimismPortal2.sol' in /tmp/codex-multi-9zk6ffpy succeeded in 6ms:
[codex:1078854] 228: /// function for EOAs. Contracts should call the depositTransaction() function directly
[codex:1078854] 231: depositTransaction(msg.sender, msg.value, RECEIVE_DEFAULT_GAS_LIMIT, false, bytes(""));
[codex:1078854] 398: function depositTransaction(
[codex:1078854] exec
[codex:1078854] /bin/bash -lc "sed -n '360,460p' contracts/src/L1/OptimismPortal2.sol" in /tmp/codex-multi-9zk6ffpy succeeded in 6ms:
[codex:1078854] finalizedWithdrawals[withdrawalHash] = true;
[codex:1078854]
[codex:1078854] // Set the l2Sender so contracts know who triggered this withdrawal on L2.
[codex:1078854] l2Sender = _tx.sender;
[codex:1078854]
[codex:1078854] // Trigger the call to the target contract. We use a custom low level method
[codex:1078854] // SafeCall.callWithMinGas to ensure two key properties
[codex:1078854] // 1. Target contracts cannot force this call to run out of gas by returning a very large
[codex:1078854] // amount of data (and this is OK because we don't care about the returndata here).
[codex:1078854] // 2. The amount of gas provided to the execution context of the target is at least the
[codex:1078854] // gas limit specified by the user. If there is not enough gas in the current context
[codex:1078854] // to accomplish this, `callWithMinGas` will revert.
[codex:1078854] bool success = SafeCall.callWithMinGas(_tx.target, _tx.gasLimit, _tx.value, _tx.data);
[codex:1078854]
[codex:1078854] // Reset the l2Sender back to the default value.
[codex:1078854] l2Sender = Constants.DEFAULT_L2_SENDER;
[codex:1078854]
[codex:1078854] // All withdrawals are immediately finalized. Replayability can
[codex:1078854] // be achieved through contracts built on top of this contract
[codex:1078854] emit WithdrawalFinalized(withdrawalHash, success);
[codex:1078854]
[codex:1078854] thinking
[codex:1078854] **Analyzing DepositTransaction value handling**
[codex:1078854] exec
[codex:1078854] /bin/bash -lc 'rg -n "function set" contracts/src/L1/SystemConfig.sol' in /tmp/codex-multi-9zk6ffpy succeeded in 7ms:
[codex:1078854] 264: function setUnsafeBlockSigner(address _unsafeBlockSigner) external onlyOwner {
[codex:1078854] 279: function setBatcherHash(bytes32 _batcherHash) external onlyOwner {
[codex:1078854] 295: function setGasConfig(uint256 _overhead, uint256 _scalar) external onlyOwner {
[codex:1078854] 312: function setGasLimit(uint64 _gasLimit) external onlyOwner {
[codex:1078854]
[codex:1078854] thinking
[codex:1078854] **Analyzing contract logic and potential vulnerabilities**
[codex:1078854]
[codex:1078854] I'm examining various contract functions and patterns to see if vulnerabilities like reentrancy, proof forging, or underflows exist. I'm checking how proofs, withdrawals, and state transitions handle conditions, especially around deposit and finalize calls, Merkle trie proof validation, and looping constructs that might cause underflows or infinite loops. The logic seems mostly sound with careful guards, but I’m curious if any subtle bugs hide in libraries like Storage or MerkleTrie.
[codex:1078854] exec
[codex:1078854] /bin/bash -lc "sed -n '1,200p' contracts/src/libraries/Storage.sol" in /tmp/codex-multi-9zk6ffpy succeeded in 5ms:
[codex:1078854] // SPDX-License-Identifier: MIT
[codex:1078854] pragma solidity ^0.8.0;
[codex:1078854]
[codex:1078854] /// @title Storage
[codex:1078854] /// @notice Storage handles reading and writing to arbitary storage locations
[codex:1078854] library Storage {
[codex:1078854] /// @notice Returns an address stored in an arbitrary storage slot.
[codex:1078854] /// These storage slots decouple the storage layout from
[codex:1078854] /// solc's automation.
[codex:1078854] /// @param _slot The storage slot to retrieve the address from.
[codex:1078854] function getAddress(bytes32 _slot) internal view returns (address addr_) {
[codex:1078854] assembly {
[codex:1078854] addr_ := sload(_slot)
[codex:1078854] }
[codex:1078854] }
[codex:1078854]
[codex:1078854] /// @notice Stores an address in an arbitrary storage slot, `_slot`.
[codex:1078854] /// @param _slot The storage slot to store the address in.
[codex:1078854] /// @param _address The protocol version to store
[codex:1078854] /// @dev WARNING! This function must be used cautiously, as it allows for overwriting addresses
[codex:1078854]
[codex:1078854] thinking
[codex:1078854] **Analyzing upgradeable proxy initialization risks**
[codex:1078854]
[codex:1078854] I’m carefully evaluating whether unprotected initialization in upgradeable proxies could lead to a concrete exploit. While publicly accessible initialize functions without access control are typical in proxies, leaving a proxy uninitialized lets an attacker set critical admin roles and malicious configs to drain funds. Given the context and instructions, this counts as a known deployment misconfiguration risk rather than a direct code bug, so I lean toward reporting no concrete exploit if the deployment is correct. Still, I’m parsing details on constructor calls, storage patterns, and config dependencies to be thorough.
[codex:1078854] exec
[codex:1078854] /bin/bash -lc "sed -n '1,200p' contracts/src/libraries/Constants.sol" in /tmp/codex-multi-9zk6ffpy succeeded in 5ms:
[codex:1078854] // SPDX-License-Identifier: MIT
[codex:1078854] pragma solidity ^0.8.0;
[codex:1078854]
[codex:1078854] import { ResourceMetering } from "src/L1/ResourceMetering.sol";
[codex:1078854]
[codex:1078854] /// @title Constants
[codex:1078854] /// @notice Constants is a library for storing constants. Simple! Don't put everything in here, just
[codex:1078854] /// the stuff used in multiple contracts. Constants that only apply to a single contract
[codex:1078854] /// should be defined in that contract instead.
[codex:1078854] library Constants {
[codex:1078854] /// @notice Special address to be used as the tx origin for gas estimation calls in the
[codex:1078854] /// OptimismPortal and CrossDomainMessenger calls. You only need to use this address if
[codex:1078854] /// the minimum gas limit specified by the user is not actually enough to execute the
[codex:1078854] /// given message and you're attempting to estimate the actual necessary gas limit. We
[codex:1078854] /// use address(1) because it's the ecrecover precompile and therefore guaranteed to
[codex:1078854] /// never have any code on any EVM chain.
[codex:1078854] address internal constant ESTIMATION_ADDRESS = address(1);
[codex:1078854]
[codex:1078854] /// @notice Value used for the L2 sender storage slot in both the OptimismPortal and the
[codex:1078854] /// CrossDomainMessenger contracts before an actual sender is set. This value is
[codex:1078854]
[codex:1078854] thinking
[codex:1078854] **Analyzing potential withdrawal exploits**
[codex:1078854] exec
[codex:1078854] /bin/bash -lc "rg -n \"transfer|call\\(|send\\(|selfdestruct|withdraw\" contracts/src" in /tmp/codex-multi-9zk6ffpy succeeded in 9ms:
[codex:1078854] contracts/src/L1/SystemConfig.sol:174: transferOwnership(_owner);
[codex:1078854] contracts/src/dispute/DisputeGameFactory.sol:50: _transferOwnership(_owner);
[codex:1078854] contracts/src/L1/OptimismPortal2.sol:27: /// @notice Represents a proven withdrawal.
[codex:1078854] contracts/src/L1/OptimismPortal2.sol:28: /// @custom:field disputeGameProxy The address of the dispute game proxy that the withdrawal was proven against.
[codex:1078854] contracts/src/L1/OptimismPortal2.sol:29: /// @custom:field timestamp Timestamp at whcih the withdrawal was proven.
[codex:1078854] contracts/src/L1/OptimismPortal2.sol:35: /// @notice The delay between when a withdrawal transaction is proven and when it may be finalized.
[codex:1078854] contracts/src/L1/OptimismPortal2.sol:38: /// @notice The delay between when a dispute game is resolved and when a withdrawal proven against it may be
[codex:1078854] contracts/src/L1/OptimismPortal2.sol:48: /// @notice Address of the L2 account which initiated a withdrawal in this transaction.
[codex:1078854] contracts/src/L1/OptimismPortal2.sol:53: /// @notice A list of withdrawal hashes which have been successfully finalized.
[codex:1078854] contracts/src/L1/OptimismPortal2.sol:82: /// @notice A mapping of withdrawal hashes to proof submitters to `ProvenWithdrawal` data.
[codex:1078854] contracts/src/L1/OptimismPortal2.sol:94: /// @notice Mapping of withdrawal hashes to addresses that have submitted a proof for the withdrawal.
[codex:1078854] contracts/src/L1/OptimismPortal2.sol:110: /// @notice Emitted when a withdrawal transaction is proven.
[codex:1078854] contracts/src/L1/OptimismPortal2.sol:111: /// @param withdrawalHash Hash of the withdrawal transaction.
[codex:1078854] contracts/src/L1/OptimismPortal2.sol:112: /// @param from Address that triggered the withdrawal transaction.
[codex:1078854] contracts/src/L1/OptimismPortal2.sol:113: /// @param to Address that the withdrawal transaction is directed to.
[codex:1078854] contracts/src/L1/OptimismPortal2.sol:114: event WithdrawalProven(bytes32 indexed withdrawalHash, address indexed from, address indexed to);
[codex:1078854] contracts/src/L1/OptimismPortal2.sol:116: /// @notice Emitted when a withdrawal transaction is proven. Exists as a separate event to allow for backwards
[codex:1078854] contracts/src/L1/OptimismPortal2.sol:118: /// @param withdrawalHash Hash of the withdrawal transaction.
[codex:1078854] contracts/src/L1/OptimismPortal2.sol:120: event WithdrawalProvenExtension1(bytes32 indexed withdrawalHash, address indexed proofSubmitter);
[codex:1078854] contracts/src/L1/OptimismPortal2.sol:122: /// @notice Emitted when a withdrawal transaction is finalized.
[codex:1078854]
[codex:1078854] thinking
[codex:1078854] **Checking for withdrawal errors**
[codex:1078854] exec
[codex:1078854] /bin/bash -lc "sed -n '1,200p' contracts/src/dispute/lib/Errors.sol" in /tmp/codex-multi-9zk6ffpy succeeded in 5ms:
[codex:1078854] // SPDX-License-Identifier: MIT
[codex:1078854] pragma solidity ^0.8.15;
[codex:1078854]
[codex:1078854] import "src/dispute/lib/LibUDT.sol";
[codex:1078854]
[codex:1078854] ////////////////////////////////////////////////////////////////
[codex:1078854] // `DisputeGameFactory` Errors //
[codex:1078854] ////////////////////////////////////////////////////////////////
[codex:1078854]
[codex:1078854] /// @notice Thrown when a dispute game is attempted to be created with an unsupported game type.
[codex:1078854] /// @param gameType The unsupported game type.
[codex:1078854] error NoImplementation(GameType gameType);
[codex:1078854]
[codex:1078854] /// @notice Thrown when a dispute game that already exists is attempted to be created.
[codex:1078854] /// @param uuid The UUID of the dispute game that already exists.
[codex:1078854] error GameAlreadyExists(Hash uuid);
[codex:1078854]
[codex:1078854] /// @notice Thrown when the root claim has an unexpected VM status.
[codex:1078854] /// Some games can only start with a root-claim with a specific status.
[codex:1078854] /// @param rootClaim is the claim that was unexpected.
[codex:1078854]
[codex:1078854] thinking
[codex:1078854] **Assessing exploitable paths and game implementation**
[codex:1078854] exec
[codex:1078854] /bin/bash -lc "sed -n '1,160p' contracts/src/libraries/PortalErrors.sol" in /tmp/codex-multi-9zk6ffpy succeeded in 6ms:
[codex:1078854] // SPDX-License-Identifier: MIT
[codex:1078854] pragma solidity ^0.8.0;
[codex:1078854]
[codex:1078854] /// @notice Error for when a deposit or withdrawal is to a bad target.
[codex:1078854] error BadTarget();
[codex:1078854] /// @notice Error for when a deposit has too much calldata.
[codex:1078854] error LargeCalldata();
[codex:1078854] /// @notice Error for when a deposit has too small of a gas limit.
[codex:1078854] error SmallGasLimit();
[codex:1078854] /// @notice Error for when a withdrawal transfer fails.
[codex:1078854] error TransferFailed();
[codex:1078854] /// @notice Error for when a method is called that only works when using a custom gas token.
[codex:1078854] error OnlyCustomGasToken();
[codex:1078854] /// @notice Error for when a method cannot be called with non zero CALLVALUE.
[codex:1078854] error NoValue();
[codex:1078854] /// @notice Error for an unauthorized CALLER.
[codex:1078854] error Unauthorized();
[codex:1078854] /// @notice Error for when a method cannot be called when paused. This could be renamed
[codex:1078854] /// to `Paused` in the future, but it collides with the `Paused` event.
[codex:1078854] error CallPaused();
[codex:1078854]
[codex:1078854] thinking
[codex:1078854] **Preparing final JSON output**
[codex:1078854] codex
[codex:1078854] {"no_findings":true,"summary":"No concrete, exploitable profit path found in the provided bundle.","findings":[]}
[codex:1078854] tokens used
[codex:1078854] 78,283
[codex:1078854] {"no_findings":true,"summary":"No concrete, exploitable profit path found in the provided bundle.","findings":[]}
{
"codex": {
"ran_at": "2026-01-02T03:12:31.910814+00:00",
"returncode": 0
},
"summary": "No concrete, exploitable profit path found in the provided bundle.",
"raw_final": {
"summary": "No concrete, exploitable profit path found in the provided bundle.",
"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 0x01b0 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x7fc48504 00000019: GT 0000001a: PUSH2 0x00ec 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0xa35d99df 00000024: GT 00000025: PUSH2 0x008a 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xbf653a5c 0000002f: GT 00000030: PUSH2 0x0064 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xbf653a5c 0000003a: EQ 0000003b: PUSH2 0x062b 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xcff0ab96 00000045: EQ 00000046: PUSH2 0x065e 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xe9e05c42 00000050: EQ 00000051: PUSH2 0x06ff 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0xf2b4e617 0000005b: EQ 0000005c: PUSH2 0x0712 0000005f: JUMPI 00000060: PUSH1 0x00 00000062: DUP1 00000063: REVERT 00000064: JUMPDEST 00000065: DUP1 00000066: PUSH4 0xa35d99df 0000006b: EQ 0000006c: PUSH2 0x0544 0000006f: JUMPI 00000070: DUP1 00000071: PUSH4 0xa3860f48 00000076: EQ 00000077: PUSH2 0x0564 0000007a: JUMPI 0000007b: DUP1 0000007c: PUSH4 0xbb2c727e 00000081: EQ 00000082: PUSH2 0x0584 00000085: JUMPI 00000086: PUSH1 0x00 00000088: DUP1 00000089: REVERT 0000008a: JUMPDEST 0000008b: DUP1 0000008c: PUSH4 0x8e819e54 00000091: GT 00000092: PUSH2 0x00c6 00000095: JUMPI 00000096: DUP1 00000097: PUSH4 0x8e819e54 0000009c: EQ 0000009d: PUSH2 0x0494 000000a0: JUMPI 000000a1: DUP1 000000a2: PUSH4 0x952b2797 000000a7: EQ 000000a8: PUSH2 0x04b4 000000ab: JUMPI 000000ac: DUP1 000000ad: PUSH4 0x9bf62d82 000000b2: EQ 000000b3: PUSH2 0x04e7 000000b6: JUMPI 000000b7: DUP1 000000b8: PUSH4 0xa14238e7 000000bd: EQ 000000be: PUSH2 0x0514 000000c1: JUMPI 000000c2: PUSH1 0x00 000000c4: DUP1 000000c5: REVERT 000000c6: JUMPDEST 000000c7: DUP1 000000c8: PUSH4 0x7fc48504 000000cd: EQ 000000ce: PUSH2 0x0454 000000d1: JUMPI 000000d2: DUP1 000000d3: PUSH4 0x8b4c40b0 000000d8: EQ 000000d9: PUSH2 0x01d5 000000dc: JUMPI 000000dd: DUP1 000000de: PUSH4 0x8c3152e9 000000e3: EQ 000000e4: PUSH2 0x0474 000000e7: JUMPI 000000e8: PUSH1 0x00 000000ea: DUP1 000000eb: REVERT 000000ec: JUMPDEST 000000ed: DUP1 000000ee: PUSH4 0x4870496f 000000f3: GT 000000f4: PUSH2 0x0159 000000f7: JUMPI 000000f8: DUP1 000000f9: PUSH4 0x54fd4d50 000000fe: GT 000000ff: PUSH2 0x0133 00000102: JUMPI 00000103: DUP1 00000104: PUSH4 0x54fd4d50 00000109: EQ 0000010a: PUSH2 0x03a9 0000010d: JUMPI 0000010e: DUP1 0000010f: PUSH4 0x5c975abb 00000114: EQ 00000115: PUSH2 0x03ff 00000118: JUMPI 00000119: DUP1 0000011a: PUSH4 0x71c1566e 0000011f: EQ 00000120: PUSH2 0x0414 00000123: JUMPI 00000124: DUP1 00000125: PUSH4 0x7d6be8dc 0000012a: EQ 0000012b: PUSH2 0x0434 0000012e: JUMPI 0000012f: PUSH1 0x00 00000131: DUP1 00000132: REVERT 00000133: JUMPDEST 00000134: DUP1 00000135: PUSH4 0x4870496f 0000013a: EQ 0000013b: PUSH2 0x030c 0000013e: JUMPI 0000013f: DUP1 00000140: PUSH4 0x4fd0434c 00000145: EQ 00000146: PUSH2 0x032c 00000149: JUMPI 0000014a: DUP1 0000014b: PUSH4 0x513747ab 00000150: EQ 00000151: PUSH2 0x036e 00000154: JUMPI 00000155: PUSH1 0x00 00000157: DUP1 00000158: REVERT 00000159: JUMPDEST 0000015a: DUP1 0000015b: PUSH4 0x43ca1c50 00000160: GT 00000161: PUSH2 0x018a 00000164: JUMPI 00000165: DUP1 00000166: PUSH4 0x43ca1c50 0000016b: EQ 0000016c: PUSH2 0x0297 0000016f: JUMPI 00000170: DUP1 00000171: PUSH4 0x452a9320 00000176: EQ 00000177: PUSH2 0x02b7 0000017a: JUMPI 0000017b: DUP1 0000017c: PUSH4 0x45884d32 00000181: EQ 00000182: PUSH2 0x02cc 00000185: JUMPI 00000186: PUSH1 0x00 00000188: DUP1 00000189: REVERT 0000018a: JUMPDEST 0000018b: DUP1 0000018c: PUSH4 0x33d7e2bd 00000191: EQ 00000192: PUSH2 0x01dc 00000195: JUMPI 00000196: DUP1 00000197: PUSH4 0x35e80ab3 0000019c: EQ 0000019d: PUSH2 0x0233 000001a0: JUMPI 000001a1: DUP1 000001a2: PUSH4 0x3c9f397c 000001a7: EQ 000001a8: PUSH2 0x0265 000001ab: JUMPI 000001ac: PUSH1 0x00 000001ae: DUP1 000001af: REVERT 000001b0: JUMPDEST 000001b1: CALLDATASIZE 000001b2: PUSH2 0x01d7 000001b5: JUMPI 000001b6: PUSH2 0x01d5 000001b9: CALLER 000001ba: CALLVALUE 000001bb: PUSH3 0x0186a0 000001bf: PUSH1 0x00 000001c1: PUSH1 0x40 000001c3: MLOAD 000001c4: DUP1 000001c5: PUSH1 0x20 000001c7: ADD 000001c8: PUSH1 0x40 000001ca: MSTORE 000001cb: DUP1 000001cc: PUSH1 0x00 000001ce: DUP2 000001cf: MSTORE 000001d0: POP 000001d1: PUSH2 0x073f 000001d4: JUMP 000001d5: JUMPDEST 000001d6: STOP 000001d7: JUMPDEST 000001d8: PUSH1 0x00 000001da: DUP1 000001db: REVERT 000001dc: JUMPDEST 000001dd: CALLVALUE 000001de: DUP1 000001df: ISZERO 000001e0: PUSH2 0x01e8 000001e3: JUMPI 000001e4: PUSH1 0x00 000001e6: DUP1 000001e7: REVERT 000001e8: JUMPDEST 000001e9: POP 000001ea: PUSH1 0x37 000001ec: SLOAD 000001ed: PUSH2 0x0209 000001f0: SWAP1 000001f1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000206: AND 00000207: DUP2 00000208: JUMP 00000209: JUMPDEST 0000020a: PUSH1 0x40 0000020c: MLOAD 0000020d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000222: SWAP1 00000223: SWAP2 00000224: AND 00000225: DUP2 00000226: MSTORE 00000227: PUSH1 0x20 00000229: ADD 0000022a: JUMPDEST 0000022b: PUSH1 0x40 0000022d: MLOAD 0000022e: DUP1 0000022f: SWAP2 00000230: SUB 00000231: SWAP1 00000232: RETURN 00000233: JUMPDEST 00000234: CALLVALUE 00000235: DUP1 00000236: ISZERO 00000237: PUSH2 0x023f 0000023a: JUMPI 0000023b: PUSH1 0x00 0000023d: DUP1 0000023e: REVERT 0000023f: JUMPDEST 00000240: POP 00000241: PUSH1 0x35 00000243: SLOAD 00000244: PUSH2 0x0209 00000247: SWAP1 00000248: PUSH2 0x0100 0000024b: SWAP1 0000024c: DIV 0000024d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000262: AND 00000263: DUP2 00000264: JUMP 00000265: JUMPDEST 00000266: CALLVALUE 00000267: DUP1 00000268: ISZERO 00000269: PUSH2 0x0271 0000026c: JUMPI 0000026d: PUSH1 0x00 0000026f: DUP1 00000270: REVERT 00000271: JUMPDEST 00000272: POP 00000273: PUSH1 0x3b 00000275: SLOAD 00000276: PUSH2 0x0282 00000279: SWAP1 0000027a: PUSH4 0xffffffff 0000027f: AND 00000280: DUP2 00000281: JUMP 00000282: JUMPDEST 00000283: PUSH1 0x40 00000285: MLOAD 00000286: PUSH4 0xffffffff 0000028b: SWAP1 0000028c: SWAP2 0000028d: AND 0000028e: DUP2 0000028f: MSTORE 00000290: PUSH1 0x20 00000292: ADD 00000293: PUSH2 0x022a 00000296: JUMP 00000297: JUMPDEST 00000298: CALLVALUE 00000299: DUP1 0000029a: ISZERO 0000029b: PUSH2 0x02a3 0000029e: JUMPI 0000029f: PUSH1 0x00 000002a1: DUP1 000002a2: REVERT 000002a3: JUMPDEST 000002a4: POP 000002a5: PUSH2 0x01d5 000002a8: PUSH2 0x02b2 000002ab: CALLDATASIZE 000002ac: PUSH1 0x04 000002ae: PUSH2 0x46f9 000002b1: JUMP 000002b2: JUMPDEST 000002b3: PUSH2 0x08fc 000002b6: JUMP 000002b7: JUMPDEST 000002b8: CALLVALUE 000002b9: DUP1 000002ba: ISZERO 000002bb: PUSH2 0x02c3 000002be: JUMPI 000002bf: PUSH1 0x00 000002c1: DUP1 000002c2: REVERT 000002c3: JUMPDEST 000002c4: POP 000002c5: PUSH2 0x0209 000002c8: PUSH2 0x0b5a 000002cb: JUMP 000002cc: JUMPDEST 000002cd: CALLVALUE 000002ce: DUP1 000002cf: ISZERO 000002d0: PUSH2 0x02d8 000002d3: JUMPI 000002d4: PUSH1 0x00 000002d6: DUP1 000002d7: REVERT 000002d8: JUMPDEST 000002d9: POP 000002da: PUSH2 0x02fc 000002dd: PUSH2 0x02e7 000002e0: CALLDATASIZE 000002e1: PUSH1 0x04 000002e3: PUSH2 0x474b 000002e6: JUMP 000002e7: JUMPDEST 000002e8: PUSH1 0x3a 000002ea: PUSH1 0x20 000002ec: MSTORE 000002ed: PUSH1 0x00 000002ef: SWAP1 000002f0: DUP2 000002f1: MSTORE 000002f2: PUSH1 0x40 000002f4: SWAP1 000002f5: KECCAK256 000002f6: SLOAD 000002f7: PUSH1 0xff 000002f9: AND 000002fa: DUP2 000002fb: JUMP 000002fc: JUMPDEST 000002fd: PUSH1 0x40 000002ff: MLOAD 00000300: SWAP1 00000301: ISZERO 00000302: ISZERO 00000303: DUP2 00000304: MSTORE 00000305: PUSH1 0x20 00000307: ADD 00000308: PUSH2 0x022a 0000030b: JUMP 0000030c: JUMPDEST 0000030d: CALLVALUE 0000030e: DUP1 0000030f: ISZERO 00000310: PUSH2 0x0318 00000313: JUMPI 00000314: PUSH1 0x00 00000316: DUP1 00000317: REVERT 00000318: JUMPDEST 00000319: POP 0000031a: PUSH2 0x01d5 0000031d: PUSH2 0x0327 00000320: CALLDATASIZE 00000321: PUSH1 0x04 00000323: PUSH2 0x4768 00000326: JUMP 00000327: JUMPDEST 00000328: PUSH2 0x0bf2 0000032b: JUMP 0000032c: JUMPDEST 0000032d: CALLVALUE 0000032e: DUP1 0000032f: ISZERO 00000330: PUSH2 0x0338 00000333: JUMPI 00000334: PUSH1 0x00 00000336: DUP1 00000337: REVERT 00000338: JUMPDEST 00000339: POP 0000033a: PUSH1 0x3b 0000033c: SLOAD 0000033d: PUSH2 0x0355 00000340: SWAP1 00000341: PUSH5 0x0100000000 00000347: SWAP1 00000348: DIV 00000349: PUSH8 0xffffffffffffffff 00000352: AND 00000353: DUP2 00000354: JUMP 00000355: JUMPDEST 00000356: PUSH1 0x40 00000358: MLOAD 00000359: PUSH8 0xffffffffffffffff 00000362: SWAP1 00000363: SWAP2 00000364: AND 00000365: DUP2 00000366: MSTORE 00000367: PUSH1 0x20 00000369: ADD 0000036a: PUSH2 0x022a 0000036d: JUMP 0000036e: JUMPDEST 0000036f: CALLVALUE 00000370: DUP1 00000371: ISZERO 00000372: PUSH2 0x037a 00000375: JUMPI 00000376: PUSH1 0x00 00000378: DUP1 00000379: REVERT 0000037a: JUMPDEST 0000037b: POP 0000037c: PUSH2 0x039b 0000037f: PUSH2 0x0389 00000382: CALLDATASIZE 00000383: PUSH1 0x04 00000385: PUSH2 0x4844 00000388: JUMP 00000389: JUMPDEST 0000038a: PUSH1 0x00 0000038c: SWAP1 0000038d: DUP2 0000038e: MSTORE 0000038f: PUSH1 0x3c 00000391: PUSH1 0x20 00000393: MSTORE 00000394: PUSH1 0x40 00000396: SWAP1 00000397: KECCAK256 00000398: SLOAD 00000399: SWAP1 0000039a: JUMP 0000039b: JUMPDEST 0000039c: PUSH1 0x40 0000039e: MLOAD 0000039f: SWAP1 000003a0: DUP2 000003a1: MSTORE 000003a2: PUSH1 0x20 000003a4: ADD 000003a5: PUSH2 0x022a 000003a8: JUMP 000003a9: JUMPDEST 000003aa: CALLVALUE 000003ab: DUP1 000003ac: ISZERO 000003ad: PUSH2 0x03b5 000003b0: JUMPI 000003b1: PUSH1 0x00 000003b3: DUP1 000003b4: REVERT 000003b5: JUMPDEST 000003b6: POP 000003b7: PUSH2 0x03f2 000003ba: PUSH1 0x40 000003bc: MLOAD 000003bd: DUP1 000003be: PUSH1 0x40 000003c0: ADD 000003c1: PUSH1 0x40 000003c3: MSTORE 000003c4: DUP1 000003c5: PUSH1 0x06 000003c7: DUP2 000003c8: MSTORE 000003c9: PUSH1 0x20 000003cb: ADD 000003cc: PUSH32 0x332e31302e300000000000000000000000000000000000000000000000000000 000003ed: DUP2 000003ee: MSTORE 000003ef: POP 000003f0: DUP2 000003f1: JUMP 000003f2: JUMPDEST 000003f3: PUSH1 0x40 000003f5: MLOAD 000003f6: PUSH2 0x022a 000003f9: SWAP2 000003fa: SWAP1 000003fb: PUSH2 0x48d3 000003fe: JUMP 000003ff: JUMPDEST 00000400: CALLVALUE 00000401: DUP1 00000402: ISZERO 00000403: PUSH2 0x040b 00000406: JUMPI 00000407: PUSH1 0x00 00000409: DUP1 0000040a: REVERT 0000040b: JUMPDEST 0000040c: POP 0000040d: PUSH2 0x02fc 00000410: PUSH2 0x1303 00000413: JUMP 00000414: JUMPDEST 00000415: CALLVALUE 00000416: DUP1 00000417: ISZERO 00000418: PUSH2 0x0420 0000041b: JUMPI 0000041c: PUSH1 0x00 0000041e: DUP1 0000041f: REVERT 00000420: JUMPDEST 00000421: POP 00000422: PUSH2 0x01d5 00000425: PUSH2 0x042f 00000428: CALLDATASIZE 00000429: PUSH1 0x04 0000042b: PUSH2 0x48e6 0000042e: JUMP 0000042f: JUMPDEST 00000430: PUSH2 0x1396 00000433: JUMP 00000434: JUMPDEST 00000435: CALLVALUE 00000436: DUP1 00000437: ISZERO 00000438: PUSH2 0x0440 0000043b: JUMPI 0000043c: PUSH1 0x00 0000043e: DUP1 0000043f: REVERT 00000440: JUMPDEST 00000441: POP 00000442: PUSH2 0x01d5 00000445: PUSH2 0x044f 00000448: CALLDATASIZE 00000449: PUSH1 0x04 0000044b: PUSH2 0x474b 0000044e: JUMP 0000044f: JUMPDEST 00000450: PUSH2 0x1c27 00000453: JUMP 00000454: JUMPDEST 00000455: CALLVALUE 00000456: DUP1 00000457: ISZERO 00000458: PUSH2 0x0460 0000045b: JUMPI 0000045c: PUSH1 0x00 0000045e: DUP1 0000045f: REVERT 00000460: JUMPDEST 00000461: POP 00000462: PUSH2 0x01d5 00000465: PUSH2 0x046f 00000468: CALLDATASIZE 00000469: PUSH1 0x04 0000046b: PUSH2 0x491d 0000046e: JUMP 0000046f: JUMPDEST 00000470: PUSH2 0x1d0a 00000473: JUMP 00000474: JUMPDEST 00000475: CALLVALUE 00000476: DUP1 00000477: ISZERO 00000478: PUSH2 0x0480 0000047b: JUMPI 0000047c: PUSH1 0x00 0000047e: DUP1 0000047f: REVERT 00000480: JUMPDEST 00000481: POP 00000482: PUSH2 0x01d5 00000485: PUSH2 0x048f 00000488: CALLDATASIZE 00000489: PUSH1 0x04 0000048b: PUSH2 0x493a 0000048e: JUMP 0000048f: JUMPDEST 00000490: PUSH2 0x1df6 00000493: JUMP 00000494: JUMPDEST 00000495: CALLVALUE 00000496: DUP1 00000497: ISZERO 00000498: PUSH2 0x04a0 0000049b: JUMPI 0000049c: PUSH1 0x00 0000049e: DUP1 0000049f: REVERT 000004a0: JUMPDEST 000004a1: POP 000004a2: PUSH2 0x01d5 000004a5: PUSH2 0x04af 000004a8: CALLDATASIZE 000004a9: PUSH1 0x04 000004ab: PUSH2 0x4977 000004ae: JUMP 000004af: JUMPDEST 000004b0: PUSH2 0x1e42 000004b3: JUMP 000004b4: JUMPDEST 000004b5: CALLVALUE 000004b6: DUP1 000004b7: ISZERO 000004b8: PUSH2 0x04c0 000004bb: JUMPI 000004bc: PUSH1 0x00 000004be: DUP1 000004bf: REVERT 000004c0: JUMPDEST 000004c1: POP 000004c2: PUSH32 0x0000000000000000000000000000000000000000000000000000000000049d40 000004e3: PUSH2 0x039b 000004e6: JUMP 000004e7: JUMPDEST 000004e8: CALLVALUE 000004e9: DUP1 000004ea: ISZERO 000004eb: PUSH2 0x04f3 000004ee: JUMPI 000004ef: PUSH1 0x00 000004f1: DUP1 000004f2: REVERT 000004f3: JUMPDEST 000004f4: POP 000004f5: PUSH1 0x32 000004f7: SLOAD 000004f8: PUSH2 0x0209 000004fb: SWAP1 000004fc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000511: AND 00000512: DUP2 00000513: JUMP 00000514: JUMPDEST 00000515: CALLVALUE 00000516: DUP1 00000517: ISZERO 00000518: PUSH2 0x0520 0000051b: JUMPI 0000051c: PUSH1 0x00 0000051e: DUP1 0000051f: REVERT 00000520: JUMPDEST 00000521: POP 00000522: PUSH2 0x02fc 00000525: PUSH2 0x052f 00000528: CALLDATASIZE 00000529: PUSH1 0x04 0000052b: PUSH2 0x4844 0000052e: JUMP 0000052f: JUMPDEST 00000530: PUSH1 0x33 00000532: PUSH1 0x20 00000534: MSTORE 00000535: PUSH1 0x00 00000537: SWAP1 00000538: DUP2 00000539: MSTORE 0000053a: PUSH1 0x40 0000053c: SWAP1 0000053d: KECCAK256 0000053e: SLOAD 0000053f: PUSH1 0xff 00000541: AND 00000542: DUP2 00000543: JUMP 00000544: JUMPDEST 00000545: CALLVALUE 00000546: DUP1 00000547: ISZERO 00000548: PUSH2 0x0550 0000054b: JUMPI 0000054c: PUSH1 0x00 0000054e: DUP1 0000054f: REVERT 00000550: JUMPDEST 00000551: POP 00000552: PUSH2 0x0355 00000555: PUSH2 0x055f 00000558: CALLDATASIZE 00000559: PUSH1 0x04 0000055b: PUSH2 0x49e9 0000055e: JUMP 0000055f: JUMPDEST 00000560: PUSH2 0x20f7 00000563: JUMP 00000564: JUMPDEST 00000565: CALLVALUE 00000566: DUP1 00000567: ISZERO 00000568: PUSH2 0x0570 0000056b: JUMPI 0000056c: PUSH1 0x00 0000056e: DUP1 0000056f: REVERT 00000570: JUMPDEST 00000571: POP 00000572: PUSH2 0x0209 00000575: PUSH2 0x057f 00000578: CALLDATASIZE 00000579: PUSH1 0x04 0000057b: PUSH2 0x4a06 0000057e: JUMP 0000057f: JUMPDEST 00000580: PUSH2 0x2116 00000583: JUMP 00000584: JUMPDEST 00000585: CALLVALUE 00000586: DUP1 00000587: ISZERO 00000588: PUSH2 0x0590 0000058b: JUMPI 0000058c: PUSH1 0x00 0000058e: DUP1 0000058f: REVERT 00000590: JUMPDEST 00000591: POP 00000592: PUSH2 0x05f6 00000595: PUSH2 0x059f 00000598: CALLDATASIZE 00000599: PUSH1 0x04 0000059b: PUSH2 0x48e6 0000059e: JUMP 0000059f: JUMPDEST 000005a0: PUSH1 0x39 000005a2: PUSH1 0x20 000005a4: SWAP1 000005a5: DUP2 000005a6: MSTORE 000005a7: PUSH1 0x00 000005a9: SWAP3 000005aa: DUP4 000005ab: MSTORE 000005ac: PUSH1 0x40 000005ae: DUP1 000005af: DUP5 000005b0: KECCAK256 000005b1: SWAP1 000005b2: SWAP2 000005b3: MSTORE 000005b4: SWAP1 000005b5: DUP3 000005b6: MSTORE 000005b7: SWAP1 000005b8: KECCAK256 000005b9: SLOAD 000005ba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000005cf: DUP2 000005d0: AND 000005d1: SWAP1 000005d2: PUSH21 0x010000000000000000000000000000000000000000 000005e8: SWAP1 000005e9: DIV 000005ea: PUSH8 0xffffffffffffffff 000005f3: AND 000005f4: DUP3 000005f5: JUMP 000005f6: JUMPDEST 000005f7: PUSH1 0x40 000005f9: DUP1 000005fa: MLOAD 000005fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000610: SWAP1 00000611: SWAP4 00000612: AND 00000613: DUP4 00000614: MSTORE 00000615: PUSH8 0xffffffffffffffff 0000061e: SWAP1 0000061f: SWAP2 00000620: AND 00000621: PUSH1 0x20 00000623: DUP4 00000624: ADD 00000625: MSTORE 00000626: ADD 00000627: PUSH2 0x022a 0000062a: JUMP 0000062b: JUMPDEST 0000062c: CALLVALUE 0000062d: DUP1 0000062e: ISZERO 0000062f: PUSH2 0x0637 00000632: JUMPI 00000633: PUSH1 0x00 00000635: DUP1 00000636: REVERT 00000637: JUMPDEST 00000638: POP 00000639: PUSH32 0x0000000000000000000000000000000000000000000000000000000000093a80 0000065a: PUSH2 0x039b 0000065d: JUMP 0000065e: JUMPDEST 0000065f: CALLVALUE 00000660: DUP1 00000661: ISZERO 00000662: PUSH2 0x066a 00000665: JUMPI 00000666: PUSH1 0x00 00000668: DUP1 00000669: REVERT 0000066a: JUMPDEST 0000066b: POP 0000066c: PUSH1 0x01 0000066e: SLOAD 0000066f: PUSH2 0x06c6 00000672: SWAP1 00000673: PUSH16 0xffffffffffffffffffffffffffffffff 00000684: DUP2 00000685: AND 00000686: SWAP1 00000687: PUSH8 0xffffffffffffffff 00000690: PUSH17 0x0100000000000000000000000000000000 000006a2: DUP3 000006a3: DIV 000006a4: DUP2 000006a5: AND 000006a6: SWAP2 000006a7: PUSH25 0x01000000000000000000000000000000000000000000000000 000006c1: SWAP1 000006c2: DIV 000006c3: AND 000006c4: DUP4 000006c5: JUMP 000006c6: JUMPDEST 000006c7: PUSH1 0x40 000006c9: DUP1 000006ca: MLOAD 000006cb: PUSH16 0xffffffffffffffffffffffffffffffff 000006dc: SWAP1 000006dd: SWAP5 000006de: AND 000006df: DUP5 000006e0: MSTORE 000006e1: PUSH8 0xffffffffffffffff 000006ea: SWAP3 000006eb: DUP4 000006ec: AND 000006ed: PUSH1 0x20 000006ef: DUP6 000006f0: ADD 000006f1: MSTORE 000006f2: SWAP2 000006f3: AND 000006f4: SWAP1 000006f5: DUP3 000006f6: ADD 000006f7: MSTORE 000006f8: PUSH1 0x60 000006fa: ADD 000006fb: PUSH2 0x022a 000006fe: JUMP 000006ff: JUMPDEST 00000700: PUSH2 0x01d5 00000703: PUSH2 0x070d 00000706: CALLDATASIZE 00000707: PUSH1 0x04 00000709: PUSH2 0x4a36 0000070c: JUMP 0000070d: JUMPDEST 0000070e: PUSH2 0x073f 00000711: JUMP 00000712: JUMPDEST 00000713: CALLVALUE 00000714: DUP1 00000715: ISZERO 00000716: PUSH2 0x071e 00000719: JUMPI 0000071a: PUSH1 0x00 0000071c: DUP1 0000071d: REVERT 0000071e: JUMPDEST 0000071f: POP 00000720: PUSH1 0x38 00000722: SLOAD 00000723: PUSH2 0x0209 00000726: SWAP1 00000727: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000073c: AND 0000073d: DUP2 0000073e: JUMP 0000073f: JUMPDEST 00000740: DUP3 00000741: PUSH1 0x00 00000743: GAS 00000744: SWAP1 00000745: POP 00000746: DUP4 00000747: DUP1 00000748: ISZERO 00000749: PUSH2 0x0767 0000074c: JUMPI 0000074d: POP 0000074e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000763: DUP8 00000764: AND 00000765: ISZERO 00000766: ISZERO 00000767: JUMPDEST 00000768: ISZERO 00000769: PUSH2 0x079e 0000076c: JUMPI 0000076d: PUSH1 0x40 0000076f: MLOAD 00000770: PUSH32 0x13496fda00000000000000000000000000000000000000000000000000000000 00000791: DUP2 00000792: MSTORE 00000793: PUSH1 0x04 00000795: ADD 00000796: PUSH1 0x40 00000798: MLOAD 00000799: DUP1 0000079a: SWAP2 0000079b: SUB 0000079c: SWAP1 0000079d: REVERT 0000079e: JUMPDEST 0000079f: PUSH2 0x07a8 000007a2: DUP4 000007a3: MLOAD 000007a4: PUSH2 0x20f7 000007a7: JUMP 000007a8: JUMPDEST 000007a9: PUSH8 0xffffffffffffffff 000007b2: AND 000007b3: DUP6 000007b4: PUSH8 0xffffffffffffffff 000007bd: AND 000007be: LT 000007bf: ISZERO 000007c0: PUSH2 0x07f5 000007c3: JUMPI 000007c4: PUSH1 0x40 000007c6: MLOAD 000007c7: PUSH32 0x4929b80800000000000000000000000000000000000000000000000000000000 000007e8: DUP2 000007e9: MSTORE 000007ea: PUSH1 0x04 000007ec: ADD 000007ed: PUSH1 0x40 000007ef: MLOAD 000007f0: DUP1 000007f1: SWAP2 000007f2: SUB 000007f3: SWAP1 000007f4: REVERT 000007f5: JUMPDEST 000007f6: PUSH3 0x01d4c0 000007fa: DUP4 000007fb: MLOAD 000007fc: GT 000007fd: ISZERO 000007fe: PUSH2 0x0833 00000801: JUMPI 00000802: PUSH1 0x40 00000804: MLOAD 00000805: PUSH32 0x73052b0f00000000000000000000000000000000000000000000000000000000 00000826: DUP2 00000827: MSTORE 00000828: PUSH1 0x04 0000082a: ADD 0000082b: PUSH1 0x40 0000082d: MLOAD 0000082e: DUP1 0000082f: SWAP2 00000830: SUB 00000831: SWAP1 00000832: REVERT 00000833: JUMPDEST 00000834: CALLER 00000835: ORIGIN 00000836: DUP2 00000837: EQ 00000838: PUSH2 0x0854 0000083b: JUMPI 0000083c: POP 0000083d: CALLER 0000083e: PUSH20 0x1111000000000000000000000000000000001111 00000853: ADD 00000854: JUMPDEST 00000855: PUSH1 0x00 00000857: CALLVALUE 00000858: DUP9 00000859: DUP9 0000085a: DUP9 0000085b: DUP9 0000085c: PUSH1 0x40 0000085e: MLOAD 0000085f: PUSH1 0x20 00000861: ADD 00000862: PUSH2 0x086f 00000865: SWAP6 00000866: SWAP5 00000867: SWAP4 00000868: SWAP3 00000869: SWAP2 0000086a: SWAP1 0000086b: PUSH2 0x4ab5 0000086e: JUMP 0000086f: JUMPDEST 00000870: PUSH1 0x40 00000872: MLOAD 00000873: PUSH1 0x20 00000875: DUP2 00000876: DUP4 00000877: SUB 00000878: SUB 00000879: DUP2 0000087a: MSTORE 0000087b: SWAP1 0000087c: PUSH1 0x40 0000087e: MSTORE 0000087f: SWAP1 00000880: POP 00000881: PUSH1 0x00 00000883: DUP10 00000884: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000899: AND 0000089a: DUP4 0000089b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008b0: AND 000008b1: PUSH32 0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32 000008d2: DUP5 000008d3: PUSH1 0x40 000008d5: MLOAD 000008d6: PUSH2 0x08df 000008d9: SWAP2 000008da: SWAP1 000008db: PUSH2 0x48d3 000008de: JUMP 000008df: JUMPDEST 000008e0: PUSH1 0x40 000008e2: MLOAD 000008e3: DUP1 000008e4: SWAP2 000008e5: SUB 000008e6: SWAP1 000008e7: LOG4 000008e8: POP 000008e9: POP 000008ea: PUSH2 0x08f3 000008ed: DUP3 000008ee: DUP3 000008ef: PUSH2 0x2177 000008f2: JUMP 000008f3: JUMPDEST 000008f4: POP 000008f5: POP 000008f6: POP 000008f7: POP 000008f8: POP 000008f9: POP 000008fa: POP 000008fb: JUMP 000008fc: JUMPDEST 000008fd: PUSH2 0x0904 00000900: PUSH2 0x1303 00000903: JUMP 00000904: JUMPDEST 00000905: ISZERO 00000906: PUSH2 0x093b 00000909: JUMPI 0000090a: PUSH1 0x40 0000090c: MLOAD 0000090d: PUSH32 0xf480973e00000000000000000000000000000000000000000000000000000000 0000092e: DUP2 0000092f: MSTORE 00000930: PUSH1 0x04 00000932: ADD 00000933: PUSH1 0x40 00000935: MLOAD 00000936: DUP1 00000937: SWAP2 00000938: SUB 00000939: SWAP1 0000093a: REVERT 0000093b: JUMPDEST 0000093c: PUSH1 0x32 0000093e: SLOAD 0000093f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000954: AND 00000955: PUSH2 0xdead 00000958: EQ 00000959: PUSH2 0x09e9 0000095c: JUMPI 0000095d: PUSH1 0x40 0000095f: MLOAD 00000960: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000981: DUP2 00000982: MSTORE 00000983: PUSH1 0x20 00000985: PUSH1 0x04 00000987: DUP3 00000988: ADD 00000989: MSTORE 0000098a: PUSH1 0x3f 0000098c: PUSH1 0x24 0000098e: DUP3 0000098f: ADD 00000990: MSTORE 00000991: PUSH32 0x4f7074696d69736d506f7274616c3a2063616e206f6e6c792074726967676572 000009b2: PUSH1 0x44 000009b4: DUP3 000009b5: ADD 000009b6: MSTORE 000009b7: PUSH32 0x206f6e65207769746864726177616c20706572207472616e73616374696f6e00 000009d8: PUSH1 0x64 000009da: DUP3 000009db: ADD 000009dc: MSTORE 000009dd: PUSH1 0x84 000009df: ADD 000009e0: JUMPDEST 000009e1: PUSH1 0x40 000009e3: MLOAD 000009e4: DUP1 000009e5: SWAP2 000009e6: SUB 000009e7: SWAP1 000009e8: REVERT 000009e9: JUMPDEST 000009ea: PUSH1 0x00 000009ec: PUSH2 0x09f4 000009ef: DUP4 000009f0: PUSH2 0x244e 000009f3: JUMP 000009f4: JUMPDEST 000009f5: SWAP1 000009f6: POP 000009f7: PUSH2 0x0a00 000009fa: DUP2 000009fb: DUP4 000009fc: PUSH2 0x1396 000009ff: JUMP 00000a00: JUMPDEST 00000a01: PUSH1 0x00 00000a03: DUP2 00000a04: DUP2 00000a05: MSTORE 00000a06: PUSH1 0x33 00000a08: PUSH1 0x20 00000a0a: SWAP1 00000a0b: DUP2 00000a0c: MSTORE 00000a0d: PUSH1 0x40 00000a0f: DUP1 00000a10: DUP4 00000a11: KECCAK256 00000a12: DUP1 00000a13: SLOAD 00000a14: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 00000a35: AND 00000a36: PUSH1 0x01 00000a38: OR 00000a39: SWAP1 00000a3a: SSTORE 00000a3b: SWAP1 00000a3c: DUP6 00000a3d: ADD 00000a3e: MLOAD 00000a3f: PUSH1 0x32 00000a41: DUP1 00000a42: SLOAD 00000a43: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a58: SWAP1 00000a59: SWAP3 00000a5a: AND 00000a5b: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00000a7c: SWAP1 00000a7d: SWAP3 00000a7e: AND 00000a7f: SWAP2 00000a80: SWAP1 00000a81: SWAP2 00000a82: OR 00000a83: SWAP1 00000a84: SSTORE 00000a85: DUP5 00000a86: ADD 00000a87: MLOAD 00000a88: PUSH1 0x80 00000a8a: DUP6 00000a8b: ADD 00000a8c: MLOAD 00000a8d: PUSH1 0x60 00000a8f: DUP7 00000a90: ADD 00000a91: MLOAD 00000a92: PUSH1 0xa0 00000a94: DUP8 00000a95: ADD 00000a96: MLOAD 00000a97: PUSH2 0x0aa2 00000a9a: SWAP4 00000a9b: SWAP3 00000a9c: SWAP2 00000a9d: SWAP1 00000a9e: PUSH2 0x249b 00000aa1: JUMP 00000aa2: JUMPDEST 00000aa3: PUSH1 0x32 00000aa5: DUP1 00000aa6: SLOAD 00000aa7: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00000ac8: AND 00000ac9: PUSH2 0xdead 00000acc: OR 00000acd: SWAP1 00000ace: SSTORE 00000acf: PUSH1 0x40 00000ad1: MLOAD 00000ad2: SWAP1 00000ad3: SWAP2 00000ad4: POP 00000ad5: DUP3 00000ad6: SWAP1 00000ad7: PUSH32 0xdb5c7652857aa163daadd670e116628fb42e869d8ac4251ef8971d9e5727df1b 00000af8: SWAP1 00000af9: PUSH2 0x0b07 00000afc: SWAP1 00000afd: DUP5 00000afe: ISZERO 00000aff: ISZERO 00000b00: DUP2 00000b01: MSTORE 00000b02: PUSH1 0x20 00000b04: ADD 00000b05: SWAP1 00000b06: JUMP 00000b07: JUMPDEST 00000b08: PUSH1 0x40 00000b0a: MLOAD 00000b0b: DUP1 00000b0c: SWAP2 00000b0d: SUB 00000b0e: SWAP1 00000b0f: LOG2 00000b10: DUP1 00000b11: ISZERO 00000b12: DUP1 00000b13: ISZERO 00000b14: PUSH2 0x0b1d 00000b17: JUMPI 00000b18: POP 00000b19: ORIGIN 00000b1a: PUSH1 0x01 00000b1c: EQ 00000b1d: JUMPDEST 00000b1e: ISZERO 00000b1f: PUSH2 0x0b54 00000b22: JUMPI 00000b23: PUSH1 0x40 00000b25: MLOAD 00000b26: PUSH32 0xeeae4ed300000000000000000000000000000000000000000000000000000000 00000b47: DUP2 00000b48: MSTORE 00000b49: PUSH1 0x04 00000b4b: ADD 00000b4c: PUSH1 0x40 00000b4e: MLOAD 00000b4f: DUP1 00000b50: SWAP2 00000b51: SUB 00000b52: SWAP1 00000b53: REVERT 00000b54: JUMPDEST 00000b55: POP 00000b56: POP 00000b57: POP 00000b58: POP 00000b59: JUMP 00000b5a: JUMPDEST 00000b5b: PUSH1 0x00 00000b5d: PUSH1 0x35 00000b5f: PUSH1 0x01 00000b61: SWAP1 00000b62: SLOAD 00000b63: SWAP1 00000b64: PUSH2 0x0100 00000b67: EXP 00000b68: SWAP1 00000b69: DIV 00000b6a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b7f: AND 00000b80: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b95: AND 00000b96: PUSH4 0x452a9320 00000b9b: PUSH1 0x40 00000b9d: MLOAD 00000b9e: DUP2 00000b9f: PUSH4 0xffffffff 00000ba4: AND 00000ba5: PUSH1 0xe0 00000ba7: SHL 00000ba8: DUP2 00000ba9: MSTORE 00000baa: PUSH1 0x04 00000bac: ADD 00000bad: PUSH1 0x20 00000baf: PUSH1 0x40 00000bb1: MLOAD 00000bb2: DUP1 00000bb3: DUP4 00000bb4: SUB 00000bb5: DUP2 00000bb6: DUP7 00000bb7: GAS 00000bb8: STATICCALL 00000bb9: ISZERO 00000bba: DUP1 00000bbb: ISZERO 00000bbc: PUSH2 0x0bc9 00000bbf: JUMPI 00000bc0: RETURNDATASIZE 00000bc1: PUSH1 0x00 00000bc3: DUP1 00000bc4: RETURNDATACOPY 00000bc5: RETURNDATASIZE 00000bc6: PUSH1 0x00 00000bc8: REVERT 00000bc9: JUMPDEST 00000bca: POP 00000bcb: POP 00000bcc: POP 00000bcd: POP 00000bce: PUSH1 0x40 00000bd0: MLOAD 00000bd1: RETURNDATASIZE 00000bd2: PUSH1 0x1f 00000bd4: NOT 00000bd5: PUSH1 0x1f 00000bd7: DUP3 00000bd8: ADD 00000bd9: AND 00000bda: DUP3 00000bdb: ADD 00000bdc: DUP1 00000bdd: PUSH1 0x40 00000bdf: MSTORE 00000be0: POP 00000be1: DUP2 00000be2: ADD 00000be3: SWAP1 00000be4: PUSH2 0x0bed 00000be7: SWAP2 00000be8: SWAP1 00000be9: PUSH2 0x4b1a 00000bec: JUMP 00000bed: JUMPDEST 00000bee: SWAP1 00000bef: POP 00000bf0: SWAP1 00000bf1: JUMP 00000bf2: JUMPDEST 00000bf3: PUSH2 0x0bfa 00000bf6: PUSH2 0x1303 00000bf9: JUMP 00000bfa: JUMPDEST 00000bfb: ISZERO 00000bfc: PUSH2 0x0c31 00000bff: JUMPI 00000c00: PUSH1 0x40 00000c02: MLOAD 00000c03: PUSH32 0xf480973e00000000000000000000000000000000000000000000000000000000 00000c24: DUP2 00000c25: MSTORE 00000c26: PUSH1 0x04 00000c28: ADD 00000c29: PUSH1 0x40 00000c2b: MLOAD 00000c2c: DUP1 00000c2d: SWAP2 00000c2e: SUB 00000c2f: SWAP1 00000c30: REVERT 00000c31: JUMPDEST 00000c32: ADDRESS 00000c33: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c48: AND 00000c49: DUP6 00000c4a: PUSH1 0x40 00000c4c: ADD 00000c4d: MLOAD 00000c4e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c63: AND 00000c64: SUB 00000c65: PUSH2 0x0cf0 00000c68: JUMPI 00000c69: PUSH1 0x40 00000c6b: MLOAD 00000c6c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000c8d: DUP2 00000c8e: MSTORE 00000c8f: PUSH1 0x20 00000c91: PUSH1 0x04 00000c93: DUP3 00000c94: ADD 00000c95: MSTORE 00000c96: PUSH1 0x3f 00000c98: PUSH1 0x24 00000c9a: DUP3 00000c9b: ADD 00000c9c: MSTORE 00000c9d: PUSH32 0x4f7074696d69736d506f7274616c3a20796f752063616e6e6f742073656e6420 00000cbe: PUSH1 0x44 00000cc0: DUP3 00000cc1: ADD 00000cc2: MSTORE 00000cc3: PUSH32 0x6d6573736167657320746f2074686520706f7274616c20636f6e747261637400 00000ce4: PUSH1 0x64 00000ce6: DUP3 00000ce7: ADD 00000ce8: MSTORE 00000ce9: PUSH1 0x84 00000ceb: ADD 00000cec: PUSH2 0x09e0 00000cef: JUMP 00000cf0: JUMPDEST 00000cf1: PUSH1 0x38 00000cf3: SLOAD 00000cf4: PUSH1 0x40 00000cf6: MLOAD 00000cf7: PUSH32 0xbb8aa1fc00000000000000000000000000000000000000000000000000000000 00000d18: DUP2 00000d19: MSTORE 00000d1a: PUSH1 0x04 00000d1c: DUP2 00000d1d: ADD 00000d1e: DUP7 00000d1f: SWAP1 00000d20: MSTORE 00000d21: PUSH1 0x00 00000d23: SWAP2 00000d24: DUP3 00000d25: SWAP2 00000d26: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d3b: SWAP1 00000d3c: SWAP2 00000d3d: AND 00000d3e: SWAP1 00000d3f: PUSH4 0xbb8aa1fc 00000d44: SWAP1 00000d45: PUSH1 0x24 00000d47: ADD 00000d48: PUSH1 0x60 00000d4a: PUSH1 0x40 00000d4c: MLOAD 00000d4d: DUP1 00000d4e: DUP4 00000d4f: SUB 00000d50: DUP2 00000d51: DUP7 00000d52: GAS 00000d53: STATICCALL 00000d54: ISZERO 00000d55: DUP1 00000d56: ISZERO 00000d57: PUSH2 0x0d64 00000d5a: JUMPI 00000d5b: RETURNDATASIZE 00000d5c: PUSH1 0x00 00000d5e: DUP1 00000d5f: RETURNDATACOPY 00000d60: RETURNDATASIZE 00000d61: PUSH1 0x00 00000d63: REVERT 00000d64: JUMPDEST 00000d65: POP 00000d66: POP 00000d67: POP 00000d68: POP 00000d69: PUSH1 0x40 00000d6b: MLOAD 00000d6c: RETURNDATASIZE 00000d6d: PUSH1 0x1f 00000d6f: NOT 00000d70: PUSH1 0x1f 00000d72: DUP3 00000d73: ADD 00000d74: AND 00000d75: DUP3 00000d76: ADD 00000d77: DUP1 00000d78: PUSH1 0x40 00000d7a: MSTORE 00000d7b: POP 00000d7c: DUP2 00000d7d: ADD 00000d7e: SWAP1 00000d7f: PUSH2 0x0d88 00000d82: SWAP2 00000d83: SWAP1 00000d84: PUSH2 0x4b37 00000d87: JUMP 00000d88: JUMPDEST 00000d89: SWAP3 00000d8a: POP 00000d8b: POP 00000d8c: SWAP2 00000d8d: POP 00000d8e: PUSH1 0x00 00000d90: DUP2 00000d91: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000da6: AND 00000da7: PUSH4 0xbcef3b55 00000dac: PUSH1 0x40 00000dae: MLOAD 00000daf: DUP2 00000db0: PUSH4 0xffffffff 00000db5: AND 00000db6: PUSH1 0xe0 00000db8: SHL 00000db9: DUP2 00000dba: MSTORE 00000dbb: PUSH1 0x04 00000dbd: ADD 00000dbe: PUSH1 0x20 00000dc0: PUSH1 0x40 00000dc2: MLOAD 00000dc3: DUP1 00000dc4: DUP4 00000dc5: SUB 00000dc6: DUP2 00000dc7: DUP7 00000dc8: GAS 00000dc9: STATICCALL 00000dca: ISZERO 00000dcb: DUP1 00000dcc: ISZERO 00000dcd: PUSH2 0x0dda 00000dd0: JUMPI 00000dd1: RETURNDATASIZE 00000dd2: PUSH1 0x00 00000dd4: DUP1 00000dd5: RETURNDATACOPY 00000dd6: RETURNDATASIZE 00000dd7: PUSH1 0x00 00000dd9: REVERT 00000dda: JUMPDEST 00000ddb: POP 00000ddc: POP 00000ddd: POP 00000dde: POP 00000ddf: PUSH1 0x40 00000de1: MLOAD 00000de2: RETURNDATASIZE 00000de3: PUSH1 0x1f 00000de5: NOT 00000de6: PUSH1 0x1f 00000de8: DUP3 00000de9: ADD 00000dea: AND 00000deb: DUP3 00000dec: ADD 00000ded: DUP1 00000dee: PUSH1 0x40 00000df0: MSTORE 00000df1: POP 00000df2: DUP2 00000df3: ADD 00000df4: SWAP1 00000df5: PUSH2 0x0dfe 00000df8: SWAP2 00000df9: SWAP1 00000dfa: PUSH2 0x4b84 00000dfd: JUMP 00000dfe: JUMPDEST 00000dff: PUSH1 0x3b 00000e01: SLOAD 00000e02: SWAP1 00000e03: SWAP2 00000e04: POP 00000e05: PUSH4 0xffffffff 00000e0a: DUP5 00000e0b: DUP2 00000e0c: AND 00000e0d: SWAP2 00000e0e: AND 00000e0f: EQ 00000e10: PUSH2 0x0e9b 00000e13: JUMPI 00000e14: PUSH1 0x40 00000e16: MLOAD 00000e17: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000e38: DUP2 00000e39: MSTORE 00000e3a: PUSH1 0x20 00000e3c: PUSH1 0x04 00000e3e: DUP3 00000e3f: ADD 00000e40: MSTORE 00000e41: PUSH1 0x21 00000e43: PUSH1 0x24 00000e45: DUP3 00000e46: ADD 00000e47: MSTORE 00000e48: PUSH32 0x4f7074696d69736d506f7274616c3a20696e76616c69642067616d6520747970 00000e69: PUSH1 0x44 00000e6b: DUP3 00000e6c: ADD 00000e6d: MSTORE 00000e6e: PUSH32 0x6500000000000000000000000000000000000000000000000000000000000000 00000e8f: PUSH1 0x64 00000e91: DUP3 00000e92: ADD 00000e93: MSTORE 00000e94: PUSH1 0x84 00000e96: ADD 00000e97: PUSH2 0x09e0 00000e9a: JUMP 00000e9b: JUMPDEST 00000e9c: PUSH2 0x0eb2 00000e9f: PUSH2 0x0ead 00000ea2: CALLDATASIZE 00000ea3: DUP9 00000ea4: SWAP1 00000ea5: SUB 00000ea6: DUP9 00000ea7: ADD 00000ea8: DUP9 00000ea9: PUSH2 0x4b9d 00000eac: JUMP 00000ead: JUMPDEST 00000eae: PUSH2 0x24f9 00000eb1: JUMP 00000eb2: JUMPDEST 00000eb3: DUP2 00000eb4: EQ 00000eb5: PUSH2 0x0f40 00000eb8: JUMPI 00000eb9: PUSH1 0x40 00000ebb: MLOAD 00000ebc: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000edd: DUP2 00000ede: MSTORE 00000edf: PUSH1 0x20 00000ee1: PUSH1 0x04 00000ee3: DUP3 00000ee4: ADD 00000ee5: MSTORE 00000ee6: PUSH1 0x29 00000ee8: PUSH1 0x24 00000eea: DUP3 00000eeb: ADD 00000eec: MSTORE 00000eed: PUSH32 0x4f7074696d69736d506f7274616c3a20696e76616c6964206f75747075742072 00000f0e: PUSH1 0x44 00000f10: DUP3 00000f11: ADD 00000f12: MSTORE 00000f13: PUSH32 0x6f6f742070726f6f660000000000000000000000000000000000000000000000 00000f34: PUSH1 0x64 00000f36: DUP3 00000f37: ADD 00000f38: MSTORE 00000f39: PUSH1 0x84 00000f3b: ADD 00000f3c: PUSH2 0x09e0 00000f3f: JUMP 00000f40: JUMPDEST 00000f41: PUSH1 0x00 00000f43: PUSH2 0x0f4b 00000f46: DUP10 00000f47: PUSH2 0x244e 00000f4a: JUMP 00000f4b: JUMPDEST 00000f4c: SWAP1 00000f4d: POP 00000f4e: PUSH1 0x01 00000f50: DUP4 00000f51: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f66: AND 00000f67: PUSH4 0x200d2ed2 00000f6c: PUSH1 0x40 00000f6e: MLOAD 00000f6f: DUP2 00000f70: PUSH4 0xffffffff 00000f75: AND 00000f76: PUSH1 0xe0 00000f78: SHL 00000f79: DUP2 00000f7a: MSTORE 00000f7b: PUSH1 0x04 00000f7d: ADD 00000f7e: PUSH1 0x20 00000f80: PUSH1 0x40 00000f82: MLOAD 00000f83: DUP1 00000f84: DUP4 00000f85: SUB 00000f86: DUP2 00000f87: DUP7 00000f88: GAS 00000f89: STATICCALL 00000f8a: ISZERO 00000f8b: DUP1 00000f8c: ISZERO 00000f8d: PUSH2 0x0f9a 00000f90: JUMPI 00000f91: RETURNDATASIZE 00000f92: PUSH1 0x00 00000f94: DUP1 00000f95: RETURNDATACOPY 00000f96: RETURNDATASIZE 00000f97: PUSH1 0x00 00000f99: REVERT 00000f9a: JUMPDEST 00000f9b: POP 00000f9c: POP 00000f9d: POP 00000f9e: POP 00000f9f: PUSH1 0x40 00000fa1: MLOAD 00000fa2: RETURNDATASIZE 00000fa3: PUSH1 0x1f 00000fa5: NOT 00000fa6: PUSH1 0x1f 00000fa8: DUP3 00000fa9: ADD 00000faa: AND 00000fab: DUP3 00000fac: ADD 00000fad: DUP1 00000fae: PUSH1 0x40 00000fb0: MSTORE 00000fb1: POP 00000fb2: DUP2 00000fb3: ADD 00000fb4: SWAP1 00000fb5: PUSH2 0x0fbe 00000fb8: SWAP2 00000fb9: SWAP1 00000fba: PUSH2 0x4c32 00000fbd: JUMP 00000fbe: JUMPDEST 00000fbf: PUSH1 0x02 00000fc1: DUP2 00000fc2: GT 00000fc3: ISZERO 00000fc4: PUSH2 0x0fcf 00000fc7: JUMPI 00000fc8: PUSH2 0x0fcf 00000fcb: PUSH2 0x4c03 00000fce: JUMP 00000fcf: JUMPDEST 00000fd0: SUB 00000fd1: PUSH2 0x105c 00000fd4: JUMPI 00000fd5: PUSH1 0x40 00000fd7: MLOAD 00000fd8: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000ff9: DUP2 00000ffa: MSTORE 00000ffb: PUSH1 0x20 00000ffd: PUSH1 0x04 00000fff: DUP3 00001000: ADD 00001001: MSTORE 00001002: PUSH1 0x3a 00001004: PUSH1 0x24 00001006: DUP3 00001007: ADD 00001008: MSTORE 00001009: PUSH32 0x4f7074696d69736d506f7274616c3a2063616e6e6f742070726f766520616761 0000102a: PUSH1 0x44 0000102c: DUP3 0000102d: ADD 0000102e: MSTORE 0000102f: PUSH32 0x696e737420696e76616c696420646973707574652067616d6573000000000000 00001050: PUSH1 0x64 00001052: DUP3 00001053: ADD 00001054: MSTORE 00001055: PUSH1 0x84 00001057: ADD 00001058: PUSH2 0x09e0 0000105b: JUMP 0000105c: JUMPDEST 0000105d: PUSH1 0x40 0000105f: DUP1 00001060: MLOAD 00001061: PUSH1 0x20 00001063: DUP2 00001064: ADD 00001065: DUP4 00001066: SWAP1 00001067: MSTORE 00001068: PUSH1 0x00 0000106a: SWAP2 0000106b: DUP2 0000106c: ADD 0000106d: DUP3 0000106e: SWAP1 0000106f: MSTORE 00001070: PUSH1 0x60 00001072: ADD 00001073: PUSH1 0x40 00001075: DUP1 00001076: MLOAD 00001077: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00001098: DUP2 00001099: DUP5 0000109a: SUB 0000109b: ADD 0000109c: DUP2 0000109d: MSTORE 0000109e: DUP3 0000109f: DUP3 000010a0: MSTORE 000010a1: DUP1 000010a2: MLOAD 000010a3: PUSH1 0x20 000010a5: SWAP2 000010a6: DUP3 000010a7: ADD 000010a8: KECCAK256 000010a9: SWAP1 000010aa: DUP4 000010ab: ADD 000010ac: DUP2 000010ad: SWAP1 000010ae: MSTORE 000010af: SWAP3 000010b0: POP 000010b1: PUSH2 0x1125 000010b4: SWAP2 000010b5: ADD 000010b6: PUSH1 0x40 000010b8: DUP1 000010b9: MLOAD 000010ba: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 000010db: DUP2 000010dc: DUP5 000010dd: SUB 000010de: ADD 000010df: DUP2 000010e0: MSTORE 000010e1: DUP3 000010e2: DUP3 000010e3: ADD 000010e4: SWAP1 000010e5: SWAP2 000010e6: MSTORE 000010e7: PUSH1 0x01 000010e9: DUP3 000010ea: MSTORE 000010eb: PUSH32 0x0100000000000000000000000000000000000000000000000000000000000000 0000110c: PUSH1 0x20 0000110e: DUP4 0000110f: ADD 00001110: MSTORE 00001111: SWAP1 00001112: PUSH2 0x111b 00001115: DUP10 00001116: DUP12 00001117: PUSH2 0x4c53 0000111a: JUMP 0000111b: JUMPDEST 0000111c: DUP12 0000111d: PUSH1 0x40 0000111f: ADD 00001120: CALLDATALOAD 00001121: PUSH2 0x2538 00001124: JUMP 00001125: JUMPDEST 00001126: PUSH2 0x11b1 00001129: JUMPI 0000112a: PUSH1 0x40 0000112c: MLOAD 0000112d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000114e: DUP2 0000114f: MSTORE 00001150: PUSH1 0x20 00001152: PUSH1 0x04 00001154: DUP3 00001155: ADD 00001156: MSTORE 00001157: PUSH1 0x32 00001159: PUSH1 0x24 0000115b: DUP3 0000115c: ADD 0000115d: MSTORE 0000115e: PUSH32 0x4f7074696d69736d506f7274616c3a20696e76616c6964207769746864726177 0000117f: PUSH1 0x44 00001181: DUP3 00001182: ADD 00001183: MSTORE 00001184: PUSH32 0x616c20696e636c7573696f6e2070726f6f660000000000000000000000000000 000011a5: PUSH1 0x64 000011a7: DUP3 000011a8: ADD 000011a9: MSTORE 000011aa: PUSH1 0x84 000011ac: ADD 000011ad: PUSH2 0x09e0 000011b0: JUMP 000011b1: JUMPDEST 000011b2: PUSH1 0x40 000011b4: DUP1 000011b5: MLOAD 000011b6: DUP1 000011b7: DUP3 000011b8: ADD 000011b9: DUP3 000011ba: MSTORE 000011bb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000011d0: DUP1 000011d1: DUP8 000011d2: AND 000011d3: DUP3 000011d4: MSTORE 000011d5: PUSH8 0xffffffffffffffff 000011de: TIMESTAMP 000011df: DUP2 000011e0: AND 000011e1: PUSH1 0x20 000011e3: DUP1 000011e4: DUP6 000011e5: ADD 000011e6: SWAP2 000011e7: DUP3 000011e8: MSTORE 000011e9: PUSH1 0x00 000011eb: DUP9 000011ec: DUP2 000011ed: MSTORE 000011ee: PUSH1 0x39 000011f0: DUP3 000011f1: MSTORE 000011f2: DUP7 000011f3: DUP2 000011f4: KECCAK256 000011f5: CALLER 000011f6: DUP3 000011f7: MSTORE 000011f8: DUP3 000011f9: MSTORE 000011fa: DUP7 000011fb: DUP2 000011fc: KECCAK256 000011fd: SWAP6 000011fe: MLOAD 000011ff: DUP7 00001200: SLOAD 00001201: SWAP4 00001202: MLOAD 00001203: SWAP1 00001204: SWAP5 00001205: AND 00001206: PUSH21 0x010000000000000000000000000000000000000000 0000121c: MUL 0000121d: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 0000123e: SWAP1 0000123f: SWAP4 00001240: AND 00001241: SWAP4 00001242: DUP6 00001243: AND 00001244: SWAP4 00001245: SWAP1 00001246: SWAP4 00001247: OR 00001248: SWAP2 00001249: SWAP1 0000124a: SWAP2 0000124b: OR 0000124c: SWAP1 0000124d: SWAP4 0000124e: SSTORE 0000124f: DUP14 00001250: DUP5 00001251: ADD 00001252: MLOAD 00001253: SWAP3 00001254: DUP15 00001255: ADD 00001256: MLOAD 00001257: SWAP4 00001258: MLOAD 00001259: SWAP3 0000125a: DUP3 0000125b: AND 0000125c: SWAP4 0000125d: SWAP1 0000125e: SWAP2 0000125f: AND 00001260: SWAP2 00001261: DUP6 00001262: SWAP2 00001263: PUSH32 0x67a6208cfcc0801d50f6cbe764733f4fddf66ac0b04442061a8a8c0cb6b63f62 00001284: SWAP2 00001285: LOG4 00001286: PUSH1 0x40 00001288: MLOAD 00001289: CALLER 0000128a: SWAP1 0000128b: DUP4 0000128c: SWAP1 0000128d: PUSH32 0x798f9f13695f8f045aa5f80ed8efebb695f3c7fe65da381969f2f28bf3c60b97 000012ae: SWAP1 000012af: PUSH1 0x00 000012b1: SWAP1 000012b2: LOG3 000012b3: POP 000012b4: PUSH1 0x00 000012b6: SWAP1 000012b7: DUP2 000012b8: MSTORE 000012b9: PUSH1 0x3c 000012bb: PUSH1 0x20 000012bd: SWAP1 000012be: DUP2 000012bf: MSTORE 000012c0: PUSH1 0x40 000012c2: DUP3 000012c3: KECCAK256 000012c4: DUP1 000012c5: SLOAD 000012c6: PUSH1 0x01 000012c8: DUP2 000012c9: ADD 000012ca: DUP3 000012cb: SSTORE 000012cc: SWAP1 000012cd: DUP4 000012ce: MSTORE 000012cf: SWAP2 000012d0: KECCAK256 000012d1: ADD 000012d2: DUP1 000012d3: SLOAD 000012d4: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 000012f5: AND 000012f6: CALLER 000012f7: OR 000012f8: SWAP1 000012f9: SSTORE 000012fa: POP 000012fb: POP 000012fc: POP 000012fd: POP 000012fe: POP 000012ff: POP 00001300: POP 00001301: POP 00001302: JUMP 00001303: JUMPDEST 00001304: PUSH1 0x00 00001306: PUSH1 0x35 00001308: PUSH1 0x01 0000130a: SWAP1 0000130b: SLOAD 0000130c: SWAP1 0000130d: PUSH2 0x0100 00001310: EXP 00001311: SWAP1 00001312: DIV 00001313: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001328: AND 00001329: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000133e: AND 0000133f: PUSH4 0x5c975abb 00001344: PUSH1 0x40 00001346: MLOAD 00001347: DUP2 00001348: PUSH4 0xffffffff 0000134d: AND 0000134e: PUSH1 0xe0 00001350: SHL 00001351: DUP2 00001352: MSTORE 00001353: PUSH1 0x04 00001355: ADD 00001356: PUSH1 0x20 00001358: PUSH1 0x40 0000135a: MLOAD 0000135b: DUP1 0000135c: DUP4 0000135d: SUB 0000135e: DUP2 0000135f: DUP7 00001360: GAS 00001361: STATICCALL 00001362: ISZERO 00001363: DUP1 00001364: ISZERO 00001365: PUSH2 0x1372 00001368: JUMPI 00001369: RETURNDATASIZE 0000136a: PUSH1 0x00 0000136c: DUP1 0000136d: RETURNDATACOPY 0000136e: RETURNDATASIZE 0000136f: PUSH1 0x00 00001371: REVERT 00001372: JUMPDEST 00001373: POP 00001374: POP 00001375: POP 00001376: POP 00001377: PUSH1 0x40 00001379: MLOAD 0000137a: RETURNDATASIZE 0000137b: PUSH1 0x1f 0000137d: NOT 0000137e: PUSH1 0x1f 00001380: DUP3 00001381: ADD 00001382: AND 00001383: DUP3 00001384: ADD 00001385: DUP1 00001386: PUSH1 0x40 00001388: MSTORE 00001389: POP 0000138a: DUP2 0000138b: ADD 0000138c: SWAP1 0000138d: PUSH2 0x0bed 00001390: SWAP2 00001391: SWAP1 00001392: PUSH2 0x4cd7 00001395: JUMP 00001396: JUMPDEST 00001397: PUSH1 0x00 00001399: DUP3 0000139a: DUP2 0000139b: MSTORE 0000139c: PUSH1 0x39 0000139e: PUSH1 0x20 000013a0: SWAP1 000013a1: DUP2 000013a2: MSTORE 000013a3: PUSH1 0x40 000013a5: DUP1 000013a6: DUP4 000013a7: KECCAK256 000013a8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000013bd: DUP6 000013be: DUP2 000013bf: AND 000013c0: DUP6 000013c1: MSTORE 000013c2: SWAP1 000013c3: DUP4 000013c4: MSTORE 000013c5: DUP2 000013c6: DUP5 000013c7: KECCAK256 000013c8: DUP3 000013c9: MLOAD 000013ca: DUP1 000013cb: DUP5 000013cc: ADD 000013cd: DUP5 000013ce: MSTORE 000013cf: SWAP1 000013d0: SLOAD 000013d1: SWAP2 000013d2: DUP3 000013d3: AND 000013d4: DUP1 000013d5: DUP3 000013d6: MSTORE 000013d7: PUSH21 0x010000000000000000000000000000000000000000 000013ed: SWAP1 000013ee: SWAP3 000013ef: DIV 000013f0: PUSH8 0xffffffffffffffff 000013f9: AND 000013fa: DUP2 000013fb: DUP6 000013fc: ADD 000013fd: MSTORE 000013fe: DUP2 000013ff: DUP6 00001400: MSTORE 00001401: PUSH1 0x3a 00001403: SWAP1 00001404: SWAP4 00001405: MSTORE 00001406: SWAP3 00001407: KECCAK256 00001408: SLOAD 00001409: SWAP1 0000140a: SWAP2 0000140b: SWAP1 0000140c: PUSH1 0xff 0000140e: AND 0000140f: ISZERO 00001410: PUSH2 0x149b 00001413: JUMPI 00001414: PUSH1 0x40 00001416: MLOAD 00001417: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001438: DUP2 00001439: MSTORE 0000143a: PUSH1 0x20 0000143c: PUSH1 0x04 0000143e: DUP3 0000143f: ADD 00001440: MSTORE 00001441: PUSH1 0x31 00001443: PUSH1 0x24 00001445: DUP3 00001446: ADD 00001447: MSTORE 00001448: PUSH32 0x4f7074696d69736d506f7274616c3a20646973707574652067616d6520686173 00001469: PUSH1 0x44 0000146b: DUP3 0000146c: ADD 0000146d: MSTORE 0000146e: PUSH32 0x206265656e20626c61636b6c6973746564000000000000000000000000000000 0000148f: PUSH1 0x64 00001491: DUP3 00001492: ADD 00001493: MSTORE 00001494: PUSH1 0x84 00001496: ADD 00001497: PUSH2 0x09e0 0000149a: JUMP 0000149b: JUMPDEST 0000149c: DUP2 0000149d: PUSH1 0x20 0000149f: ADD 000014a0: MLOAD 000014a1: PUSH8 0xffffffffffffffff 000014aa: AND 000014ab: PUSH1 0x00 000014ad: SUB 000014ae: PUSH2 0x155f 000014b1: JUMPI 000014b2: PUSH1 0x40 000014b4: MLOAD 000014b5: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000014d6: DUP2 000014d7: MSTORE 000014d8: PUSH1 0x20 000014da: PUSH1 0x04 000014dc: DUP3 000014dd: ADD 000014de: MSTORE 000014df: PUSH1 0x4d 000014e1: PUSH1 0x24 000014e3: DUP3 000014e4: ADD 000014e5: MSTORE 000014e6: PUSH32 0x4f7074696d69736d506f7274616c3a207769746864726177616c20686173206e 00001507: PUSH1 0x44 00001509: DUP3 0000150a: ADD 0000150b: MSTORE 0000150c: PUSH32 0x6f74206265656e2070726f76656e2062792070726f6f66207375626d69747465 0000152d: PUSH1 0x64 0000152f: DUP3 00001530: ADD 00001531: MSTORE 00001532: PUSH32 0x7220616464726573732079657400000000000000000000000000000000000000 00001553: PUSH1 0x84 00001555: DUP3 00001556: ADD 00001557: MSTORE 00001558: PUSH1 0xa4 0000155a: ADD 0000155b: PUSH2 0x09e0 0000155e: JUMP 0000155f: JUMPDEST 00001560: PUSH1 0x00 00001562: PUSH2 0x15e0 00001565: DUP3 00001566: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000157b: AND 0000157c: PUSH4 0xcf09e0d0 00001581: PUSH1 0x40 00001583: MLOAD 00001584: DUP2 00001585: PUSH4 0xffffffff 0000158a: AND 0000158b: PUSH1 0xe0 0000158d: SHL 0000158e: DUP2 0000158f: MSTORE 00001590: PUSH1 0x04 00001592: ADD 00001593: PUSH1 0x20 00001595: PUSH1 0x40 00001597: MLOAD 00001598: DUP1 00001599: DUP4 0000159a: SUB 0000159b: DUP2 0000159c: DUP7 0000159d: GAS 0000159e: STATICCALL 0000159f: ISZERO 000015a0: DUP1 000015a1: ISZERO 000015a2: PUSH2 0x15af 000015a5: JUMPI 000015a6: RETURNDATASIZE 000015a7: PUSH1 0x00 000015a9: DUP1 000015aa: RETURNDATACOPY 000015ab: RETURNDATASIZE 000015ac: PUSH1 0x00 000015ae: REVERT 000015af: JUMPDEST 000015b0: POP 000015b1: POP 000015b2: POP 000015b3: POP 000015b4: PUSH1 0x40 000015b6: MLOAD 000015b7: RETURNDATASIZE 000015b8: PUSH1 0x1f 000015ba: NOT 000015bb: PUSH1 0x1f 000015bd: DUP3 000015be: ADD 000015bf: AND 000015c0: DUP3 000015c1: ADD 000015c2: DUP1 000015c3: PUSH1 0x40 000015c5: MSTORE 000015c6: POP 000015c7: DUP2 000015c8: ADD 000015c9: SWAP1 000015ca: PUSH2 0x15d3 000015cd: SWAP2 000015ce: SWAP1 000015cf: PUSH2 0x4cf4 000015d2: JUMP 000015d3: JUMPDEST 000015d4: PUSH8 0xffffffffffffffff 000015dd: AND 000015de: SWAP1 000015df: JUMP 000015e0: JUMPDEST 000015e1: SWAP1 000015e2: POP 000015e3: DUP1 000015e4: PUSH8 0xffffffffffffffff 000015ed: AND 000015ee: DUP4 000015ef: PUSH1 0x20 000015f1: ADD 000015f2: MLOAD 000015f3: PUSH8 0xffffffffffffffff 000015fc: AND 000015fd: GT 000015fe: PUSH2 0x16af 00001601: JUMPI 00001602: PUSH1 0x40 00001604: MLOAD 00001605: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001626: DUP2 00001627: MSTORE 00001628: PUSH1 0x20 0000162a: PUSH1 0x04 0000162c: DUP3 0000162d: ADD 0000162e: MSTORE 0000162f: PUSH1 0x4e 00001631: PUSH1 0x24 00001633: DUP3 00001634: ADD 00001635: MSTORE 00001636: PUSH32 0x4f7074696d69736d506f7274616c3a207769746864726177616c2074696d6573 00001657: PUSH1 0x44 00001659: DUP3 0000165a: ADD 0000165b: MSTORE 0000165c: PUSH32 0x74616d70206c657373207468616e20646973707574652067616d652063726561 0000167d: PUSH1 0x64 0000167f: DUP3 00001680: ADD 00001681: MSTORE 00001682: PUSH32 0x74696f6e2074696d657374616d70000000000000000000000000000000000000 000016a3: PUSH1 0x84 000016a5: DUP3 000016a6: ADD 000016a7: MSTORE 000016a8: PUSH1 0xa4 000016aa: ADD 000016ab: PUSH2 0x09e0 000016ae: JUMP 000016af: JUMPDEST 000016b0: PUSH32 0x0000000000000000000000000000000000000000000000000000000000093a80 000016d1: DUP4 000016d2: PUSH1 0x20 000016d4: ADD 000016d5: MLOAD 000016d6: PUSH8 0xffffffffffffffff 000016df: AND 000016e0: TIMESTAMP 000016e1: PUSH2 0x16ea 000016e4: SWAP2 000016e5: SWAP1 000016e6: PUSH2 0x4d40 000016e9: JUMP 000016ea: JUMPDEST 000016eb: GT 000016ec: PUSH2 0x1777 000016ef: JUMPI 000016f0: PUSH1 0x40 000016f2: MLOAD 000016f3: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001714: DUP2 00001715: MSTORE 00001716: PUSH1 0x20 00001718: PUSH1 0x04 0000171a: DUP3 0000171b: ADD 0000171c: MSTORE 0000171d: PUSH1 0x35 0000171f: PUSH1 0x24 00001721: DUP3 00001722: ADD 00001723: MSTORE 00001724: PUSH32 0x4f7074696d69736d506f7274616c3a2070726f76656e20776974686472617761 00001745: PUSH1 0x44 00001747: DUP3 00001748: ADD 00001749: MSTORE 0000174a: PUSH32 0x6c20686173206e6f74206d617475726564207965740000000000000000000000 0000176b: PUSH1 0x64 0000176d: DUP3 0000176e: ADD 0000176f: MSTORE 00001770: PUSH1 0x84 00001772: ADD 00001773: PUSH2 0x09e0 00001776: JUMP 00001777: JUMPDEST 00001778: PUSH1 0x02 0000177a: DUP3 0000177b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001790: AND 00001791: PUSH4 0x200d2ed2 00001796: PUSH1 0x40 00001798: MLOAD 00001799: DUP2 0000179a: PUSH4 0xffffffff 0000179f: AND 000017a0: PUSH1 0xe0 000017a2: SHL 000017a3: DUP2 000017a4: MSTORE 000017a5: PUSH1 0x04 000017a7: ADD 000017a8: PUSH1 0x20 000017aa: PUSH1 0x40 000017ac: MLOAD 000017ad: DUP1 000017ae: DUP4 000017af: SUB 000017b0: DUP2 000017b1: DUP7 000017b2: GAS 000017b3: STATICCALL 000017b4: ISZERO 000017b5: DUP1 000017b6: ISZERO 000017b7: PUSH2 0x17c4 000017ba: JUMPI 000017bb: RETURNDATASIZE 000017bc: PUSH1 0x00 000017be: DUP1 000017bf: RETURNDATACOPY 000017c0: RETURNDATASIZE 000017c1: PUSH1 0x00 000017c3: REVERT 000017c4: JUMPDEST 000017c5: POP 000017c6: POP 000017c7: POP 000017c8: POP 000017c9: PUSH1 0x40 000017cb: MLOAD 000017cc: RETURNDATASIZE 000017cd: PUSH1 0x1f 000017cf: NOT 000017d0: PUSH1 0x1f 000017d2: DUP3 000017d3: ADD 000017d4: AND 000017d5: DUP3 000017d6: ADD 000017d7: DUP1 000017d8: PUSH1 0x40 000017da: MSTORE 000017db: POP 000017dc: DUP2 000017dd: ADD 000017de: SWAP1 000017df: PUSH2 0x17e8 000017e2: SWAP2 000017e3: SWAP1 000017e4: PUSH2 0x4c32 000017e7: JUMP 000017e8: JUMPDEST 000017e9: PUSH1 0x02 000017eb: DUP2 000017ec: GT 000017ed: ISZERO 000017ee: PUSH2 0x17f9 000017f1: JUMPI 000017f2: PUSH2 0x17f9 000017f5: PUSH2 0x4c03 000017f8: JUMP 000017f9: JUMPDEST 000017fa: EQ 000017fb: PUSH2 0x1886 000017fe: JUMPI 000017ff: PUSH1 0x40 00001801: MLOAD 00001802: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001823: DUP2 00001824: MSTORE 00001825: PUSH1 0x20 00001827: PUSH1 0x04 00001829: DUP3 0000182a: ADD 0000182b: MSTORE 0000182c: PUSH1 0x36 0000182e: PUSH1 0x24 00001830: DUP3 00001831: ADD 00001832: MSTORE 00001833: PUSH32 0x4f7074696d69736d506f7274616c3a206f75747075742070726f706f73616c20 00001854: PUSH1 0x44 00001856: DUP3 00001857: ADD 00001858: MSTORE 00001859: PUSH32 0x686173206e6f74206265656e2076616c69646174656400000000000000000000 0000187a: PUSH1 0x64 0000187c: DUP3 0000187d: ADD 0000187e: MSTORE 0000187f: PUSH1 0x84 00001881: ADD 00001882: PUSH2 0x09e0 00001885: JUMP 00001886: JUMPDEST 00001887: PUSH1 0x3b 00001889: SLOAD 0000188a: PUSH4 0xffffffff 0000188f: AND 00001890: PUSH4 0xffffffff 00001895: AND 00001896: PUSH2 0x1910 00001899: DUP4 0000189a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000018af: AND 000018b0: PUSH4 0xbbdc02db 000018b5: PUSH1 0x40 000018b7: MLOAD 000018b8: DUP2 000018b9: PUSH4 0xffffffff 000018be: AND 000018bf: PUSH1 0xe0 000018c1: SHL 000018c2: DUP2 000018c3: MSTORE 000018c4: PUSH1 0x04 000018c6: ADD 000018c7: PUSH1 0x20 000018c9: PUSH1 0x40 000018cb: MLOAD 000018cc: DUP1 000018cd: DUP4 000018ce: SUB 000018cf: DUP2 000018d0: DUP7 000018d1: GAS 000018d2: STATICCALL 000018d3: ISZERO 000018d4: DUP1 000018d5: ISZERO 000018d6: PUSH2 0x18e3 000018d9: JUMPI 000018da: RETURNDATASIZE 000018db: PUSH1 0x00 000018dd: DUP1 000018de: RETURNDATACOPY 000018df: RETURNDATASIZE 000018e0: PUSH1 0x00 000018e2: REVERT 000018e3: JUMPDEST 000018e4: POP 000018e5: POP 000018e6: POP 000018e7: POP 000018e8: PUSH1 0x40 000018ea: MLOAD 000018eb: RETURNDATASIZE 000018ec: PUSH1 0x1f 000018ee: NOT 000018ef: PUSH1 0x1f 000018f1: DUP3 000018f2: ADD 000018f3: AND 000018f4: DUP3 000018f5: ADD 000018f6: DUP1 000018f7: PUSH1 0x40 000018f9: MSTORE 000018fa: POP 000018fb: DUP2 000018fc: ADD 000018fd: SWAP1 000018fe: PUSH2 0x1907 00001901: SWAP2 00001902: SWAP1 00001903: PUSH2 0x4d57 00001906: JUMP 00001907: JUMPDEST 00001908: PUSH4 0xffffffff 0000190d: AND 0000190e: SWAP1 0000190f: JUMP 00001910: JUMPDEST 00001911: PUSH4 0xffffffff 00001916: AND 00001917: EQ 00001918: PUSH2 0x19a3 0000191b: JUMPI 0000191c: PUSH1 0x40 0000191e: MLOAD 0000191f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001940: DUP2 00001941: MSTORE 00001942: PUSH1 0x20 00001944: PUSH1 0x04 00001946: DUP3 00001947: ADD 00001948: MSTORE 00001949: PUSH1 0x21 0000194b: PUSH1 0x24 0000194d: DUP3 0000194e: ADD 0000194f: MSTORE 00001950: PUSH32 0x4f7074696d69736d506f7274616c3a20696e76616c69642067616d6520747970 00001971: PUSH1 0x44 00001973: DUP3 00001974: ADD 00001975: MSTORE 00001976: PUSH32 0x6500000000000000000000000000000000000000000000000000000000000000 00001997: PUSH1 0x64 00001999: DUP3 0000199a: ADD 0000199b: MSTORE 0000199c: PUSH1 0x84 0000199e: ADD 0000199f: PUSH2 0x09e0 000019a2: JUMP 000019a3: JUMPDEST 000019a4: PUSH1 0x3b 000019a6: SLOAD 000019a7: PUSH8 0xffffffffffffffff 000019b0: PUSH5 0x0100000000 000019b6: SWAP1 000019b7: SWAP2 000019b8: DIV 000019b9: DUP2 000019ba: AND 000019bb: SWAP1 000019bc: DUP3 000019bd: AND 000019be: LT 000019bf: ISZERO 000019c0: PUSH2 0x1a71 000019c3: JUMPI 000019c4: PUSH1 0x40 000019c6: MLOAD 000019c7: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000019e8: DUP2 000019e9: MSTORE 000019ea: PUSH1 0x20 000019ec: PUSH1 0x04 000019ee: DUP3 000019ef: ADD 000019f0: MSTORE 000019f1: PUSH1 0x4b 000019f3: PUSH1 0x24 000019f5: DUP3 000019f6: ADD 000019f7: MSTORE 000019f8: PUSH32 0x4f7074696d69736d506f7274616c3a20646973707574652067616d6520637265 00001a19: PUSH1 0x44 00001a1b: DUP3 00001a1c: ADD 00001a1d: MSTORE 00001a1e: PUSH32 0x61746564206265666f7265207265737065637465642067616d65207479706520 00001a3f: PUSH1 0x64 00001a41: DUP3 00001a42: ADD 00001a43: MSTORE 00001a44: PUSH32 0x7761732075706461746564000000000000000000000000000000000000000000 00001a65: PUSH1 0x84 00001a67: DUP3 00001a68: ADD 00001a69: MSTORE 00001a6a: PUSH1 0xa4 00001a6c: ADD 00001a6d: PUSH2 0x09e0 00001a70: JUMP 00001a71: JUMPDEST 00001a72: PUSH32 0x0000000000000000000000000000000000000000000000000000000000049d40 00001a93: PUSH2 0x1ae0 00001a96: DUP4 00001a97: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001aac: AND 00001aad: PUSH4 0x19effeb4 00001ab2: PUSH1 0x40 00001ab4: MLOAD 00001ab5: DUP2 00001ab6: PUSH4 0xffffffff 00001abb: AND 00001abc: PUSH1 0xe0 00001abe: SHL 00001abf: DUP2 00001ac0: MSTORE 00001ac1: PUSH1 0x04 00001ac3: ADD 00001ac4: PUSH1 0x20 00001ac6: PUSH1 0x40 00001ac8: MLOAD 00001ac9: DUP1 00001aca: DUP4 00001acb: SUB 00001acc: DUP2 00001acd: DUP7 00001ace: GAS 00001acf: STATICCALL 00001ad0: ISZERO 00001ad1: DUP1 00001ad2: ISZERO 00001ad3: PUSH2 0x15af 00001ad6: JUMPI 00001ad7: RETURNDATASIZE 00001ad8: PUSH1 0x00 00001ada: DUP1 00001adb: RETURNDATACOPY 00001adc: RETURNDATASIZE 00001add: PUSH1 0x00 00001adf: REVERT 00001ae0: JUMPDEST 00001ae1: PUSH2 0x1af4 00001ae4: SWAP1 00001ae5: PUSH8 0xffffffffffffffff 00001aee: AND 00001aef: TIMESTAMP 00001af0: PUSH2 0x4d40 00001af3: JUMP 00001af4: JUMPDEST 00001af5: GT 00001af6: PUSH2 0x1b81 00001af9: JUMPI 00001afa: PUSH1 0x40 00001afc: MLOAD 00001afd: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001b1e: DUP2 00001b1f: MSTORE 00001b20: PUSH1 0x20 00001b22: PUSH1 0x04 00001b24: DUP3 00001b25: ADD 00001b26: MSTORE 00001b27: PUSH1 0x2a 00001b29: PUSH1 0x24 00001b2b: DUP3 00001b2c: ADD 00001b2d: MSTORE 00001b2e: PUSH32 0x4f7074696d69736d506f7274616c3a206f75747075742070726f706f73616c20 00001b4f: PUSH1 0x44 00001b51: DUP3 00001b52: ADD 00001b53: MSTORE 00001b54: PUSH32 0x696e206169722d67617000000000000000000000000000000000000000000000 00001b75: PUSH1 0x64 00001b77: DUP3 00001b78: ADD 00001b79: MSTORE 00001b7a: PUSH1 0x84 00001b7c: ADD 00001b7d: PUSH2 0x09e0 00001b80: JUMP 00001b81: JUMPDEST 00001b82: PUSH1 0x00 00001b84: DUP6 00001b85: DUP2 00001b86: MSTORE 00001b87: PUSH1 0x33 00001b89: PUSH1 0x20 00001b8b: MSTORE 00001b8c: PUSH1 0x40 00001b8e: SWAP1 00001b8f: KECCAK256 00001b90: SLOAD 00001b91: PUSH1 0xff 00001b93: AND 00001b94: ISZERO 00001b95: PUSH2 0x1c20 00001b98: JUMPI 00001b99: PUSH1 0x40 00001b9b: MLOAD 00001b9c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001bbd: DUP2 00001bbe: MSTORE 00001bbf: PUSH1 0x20 00001bc1: PUSH1 0x04 00001bc3: DUP3 00001bc4: ADD 00001bc5: MSTORE 00001bc6: PUSH1 0x35 00001bc8: PUSH1 0x24 00001bca: DUP3 00001bcb: ADD 00001bcc: MSTORE 00001bcd: PUSH32 0x4f7074696d69736d506f7274616c3a207769746864726177616c206861732061 00001bee: PUSH1 0x44 00001bf0: DUP3 00001bf1: ADD 00001bf2: MSTORE 00001bf3: PUSH32 0x6c7265616479206265656e2066696e616c697a65640000000000000000000000 00001c14: PUSH1 0x64 00001c16: DUP3 00001c17: ADD 00001c18: MSTORE 00001c19: PUSH1 0x84 00001c1b: ADD 00001c1c: PUSH2 0x09e0 00001c1f: JUMP 00001c20: JUMPDEST 00001c21: POP 00001c22: POP 00001c23: POP 00001c24: POP 00001c25: POP 00001c26: JUMP 00001c27: JUMPDEST 00001c28: PUSH2 0x1c2f 00001c2b: PUSH2 0x0b5a 00001c2e: JUMP 00001c2f: JUMPDEST 00001c30: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c45: AND 00001c46: CALLER 00001c47: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c5c: AND 00001c5d: EQ 00001c5e: PUSH2 0x1c93 00001c61: JUMPI 00001c62: PUSH1 0x40 00001c64: MLOAD 00001c65: PUSH32 0x82b4290000000000000000000000000000000000000000000000000000000000 00001c86: DUP2 00001c87: MSTORE 00001c88: PUSH1 0x04 00001c8a: ADD 00001c8b: PUSH1 0x40 00001c8d: MLOAD 00001c8e: DUP1 00001c8f: SWAP2 00001c90: SUB 00001c91: SWAP1 00001c92: REVERT 00001c93: JUMPDEST 00001c94: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ca9: DUP2 00001caa: AND 00001cab: PUSH1 0x00 00001cad: DUP2 00001cae: DUP2 00001caf: MSTORE 00001cb0: PUSH1 0x3a 00001cb2: PUSH1 0x20 00001cb4: MSTORE 00001cb5: PUSH1 0x40 00001cb7: DUP1 00001cb8: DUP3 00001cb9: KECCAK256 00001cba: DUP1 00001cbb: SLOAD 00001cbc: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 00001cdd: AND 00001cde: PUSH1 0x01 00001ce0: OR 00001ce1: SWAP1 00001ce2: SSTORE 00001ce3: MLOAD 00001ce4: PUSH32 0x192c289026d59a41a27f5aea08f3969b57931b0589202d14f4368cded95d3cda 00001d05: SWAP2 00001d06: SWAP1 00001d07: LOG2 00001d08: POP 00001d09: JUMP 00001d0a: JUMPDEST 00001d0b: PUSH2 0x1d12 00001d0e: PUSH2 0x0b5a 00001d11: JUMP 00001d12: JUMPDEST 00001d13: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d28: AND 00001d29: CALLER 00001d2a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d3f: AND 00001d40: EQ 00001d41: PUSH2 0x1d76 00001d44: JUMPI 00001d45: PUSH1 0x40 00001d47: MLOAD 00001d48: PUSH32 0x82b4290000000000000000000000000000000000000000000000000000000000 00001d69: DUP2 00001d6a: MSTORE 00001d6b: PUSH1 0x04 00001d6d: ADD 00001d6e: PUSH1 0x40 00001d70: MLOAD 00001d71: DUP1 00001d72: SWAP2 00001d73: SUB 00001d74: SWAP1 00001d75: REVERT 00001d76: JUMPDEST 00001d77: PUSH1 0x3b 00001d79: DUP1 00001d7a: SLOAD 00001d7b: PUSH4 0xffffffff 00001d80: DUP4 00001d81: AND 00001d82: PUSH32 0xffffffffffffffffffffffffffffffffffffffff000000000000000000000000 00001da3: SWAP1 00001da4: SWAP2 00001da5: AND 00001da6: DUP2 00001da7: OR 00001da8: PUSH5 0x0100000000 00001dae: TIMESTAMP 00001daf: PUSH8 0xffffffffffffffff 00001db8: SWAP1 00001db9: DUP2 00001dba: AND 00001dbb: DUP3 00001dbc: MUL 00001dbd: SWAP3 00001dbe: SWAP1 00001dbf: SWAP3 00001dc0: OR 00001dc1: SWAP4 00001dc2: DUP5 00001dc3: SWAP1 00001dc4: SSTORE 00001dc5: PUSH1 0x40 00001dc7: MLOAD 00001dc8: SWAP4 00001dc9: DIV 00001dca: AND 00001dcb: SWAP2 00001dcc: PUSH32 0x049fe9dd413cdf037cce27011cc1790c753118272f3630e6e8bdfa5e82081760 00001ded: SWAP1 00001dee: PUSH1 0x00 00001df0: SWAP1 00001df1: LOG3 00001df2: POP 00001df3: JUMP 00001df4: JUMPDEST 00001df5: JUMP 00001df6: JUMPDEST 00001df7: PUSH2 0x1dfe 00001dfa: PUSH2 0x1303 00001dfd: JUMP 00001dfe: JUMPDEST 00001dff: ISZERO 00001e00: PUSH2 0x1e35 00001e03: JUMPI 00001e04: PUSH1 0x40 00001e06: MLOAD 00001e07: PUSH32 0xf480973e00000000000000000000000000000000000000000000000000000000 00001e28: DUP2 00001e29: MSTORE 00001e2a: PUSH1 0x04 00001e2c: ADD 00001e2d: PUSH1 0x40 00001e2f: MLOAD 00001e30: DUP1 00001e31: SWAP2 00001e32: SUB 00001e33: SWAP1 00001e34: REVERT 00001e35: JUMPDEST 00001e36: PUSH2 0x1e3f 00001e39: DUP2 00001e3a: CALLER 00001e3b: PUSH2 0x08fc 00001e3e: JUMP 00001e3f: JUMPDEST 00001e40: POP 00001e41: JUMP 00001e42: JUMPDEST 00001e43: PUSH1 0x00 00001e45: SLOAD 00001e46: PUSH2 0x0100 00001e49: SWAP1 00001e4a: DIV 00001e4b: PUSH1 0xff 00001e4d: AND 00001e4e: ISZERO 00001e4f: DUP1 00001e50: DUP1 00001e51: ISZERO 00001e52: PUSH2 0x1e62 00001e55: JUMPI 00001e56: POP 00001e57: PUSH1 0x00 00001e59: SLOAD 00001e5a: PUSH1 0x01 00001e5c: PUSH1 0xff 00001e5e: SWAP1 00001e5f: SWAP2 00001e60: AND 00001e61: LT 00001e62: JUMPDEST 00001e63: DUP1 00001e64: PUSH2 0x1e7c 00001e67: JUMPI 00001e68: POP 00001e69: ADDRESS 00001e6a: EXTCODESIZE 00001e6b: ISZERO 00001e6c: DUP1 00001e6d: ISZERO 00001e6e: PUSH2 0x1e7c 00001e71: JUMPI 00001e72: POP 00001e73: PUSH1 0x00 00001e75: SLOAD 00001e76: PUSH1 0xff 00001e78: AND 00001e79: PUSH1 0x01 00001e7b: EQ 00001e7c: JUMPDEST 00001e7d: PUSH2 0x1f08 00001e80: JUMPI 00001e81: PUSH1 0x40 00001e83: MLOAD 00001e84: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001ea5: DUP2 00001ea6: MSTORE 00001ea7: PUSH1 0x20 00001ea9: PUSH1 0x04 00001eab: DUP3 00001eac: ADD 00001ead: MSTORE 00001eae: PUSH1 0x2e 00001eb0: PUSH1 0x24 00001eb2: DUP3 00001eb3: ADD 00001eb4: MSTORE 00001eb5: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561 00001ed6: PUSH1 0x44 00001ed8: DUP3 00001ed9: ADD 00001eda: MSTORE 00001edb: PUSH32 0x647920696e697469616c697a6564000000000000000000000000000000000000 00001efc: PUSH1 0x64 00001efe: DUP3 00001eff: ADD 00001f00: MSTORE 00001f01: PUSH1 0x84 00001f03: ADD 00001f04: PUSH2 0x09e0 00001f07: JUMP 00001f08: JUMPDEST 00001f09: PUSH1 0x00 00001f0b: DUP1 00001f0c: SLOAD 00001f0d: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 00001f2e: AND 00001f2f: PUSH1 0x01 00001f31: OR 00001f32: SWAP1 00001f33: SSTORE 00001f34: DUP1 00001f35: ISZERO 00001f36: PUSH2 0x1f66 00001f39: JUMPI 00001f3a: PUSH1 0x00 00001f3c: DUP1 00001f3d: SLOAD 00001f3e: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff 00001f5f: AND 00001f60: PUSH2 0x0100 00001f63: OR 00001f64: SWAP1 00001f65: SSTORE 00001f66: JUMPDEST 00001f67: PUSH1 0x38 00001f69: DUP1 00001f6a: SLOAD 00001f6b: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00001f8c: SWAP1 00001f8d: DUP2 00001f8e: AND 00001f8f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001fa4: DUP9 00001fa5: DUP2 00001fa6: AND 00001fa7: SWAP2 00001fa8: SWAP1 00001fa9: SWAP2 00001faa: OR 00001fab: SWAP1 00001fac: SWAP3 00001fad: SSTORE 00001fae: PUSH1 0x37 00001fb0: DUP1 00001fb1: SLOAD 00001fb2: SWAP1 00001fb3: SWAP2 00001fb4: AND 00001fb5: DUP7 00001fb6: DUP4 00001fb7: AND 00001fb8: OR 00001fb9: SWAP1 00001fba: SSTORE 00001fbb: PUSH1 0x35 00001fbd: DUP1 00001fbe: SLOAD 00001fbf: PUSH32 0xffffffffffffffffffffff0000000000000000000000000000000000000000ff 00001fe0: AND 00001fe1: PUSH2 0x0100 00001fe4: DUP7 00001fe5: DUP5 00001fe6: AND 00001fe7: MUL 00001fe8: OR 00001fe9: SWAP1 00001fea: SSTORE 00001feb: PUSH1 0x32 00001fed: SLOAD 00001fee: AND 00001fef: PUSH2 0x2086 00001ff2: JUMPI 00001ff3: PUSH1 0x32 00001ff5: DUP1 00001ff6: SLOAD 00001ff7: PUSH2 0xdead 00001ffa: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 0000201b: SWAP1 0000201c: SWAP2 0000201d: AND 0000201e: OR 0000201f: SWAP1 00002020: SSTORE 00002021: PUSH1 0x3b 00002023: DUP1 00002024: SLOAD 00002025: PUSH32 0xffffffffffffffffffffffffffffffffffffffff000000000000000000000000 00002046: AND 00002047: PUSH5 0x0100000000 0000204d: TIMESTAMP 0000204e: PUSH8 0xffffffffffffffff 00002057: AND 00002058: MUL 00002059: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000 0000207a: AND 0000207b: OR 0000207c: PUSH4 0xffffffff 00002081: DUP5 00002082: AND 00002083: OR 00002084: SWAP1 00002085: SSTORE 00002086: JUMPDEST 00002087: PUSH2 0x208e 0000208a: PUSH2 0x255c 0000208d: JUMP 0000208e: JUMPDEST 0000208f: DUP1 00002090: ISZERO 00002091: PUSH2 0x1c20 00002094: JUMPI 00002095: PUSH1 0x00 00002097: DUP1 00002098: SLOAD 00002099: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff 000020ba: AND 000020bb: SWAP1 000020bc: SSTORE 000020bd: PUSH1 0x40 000020bf: MLOAD 000020c0: PUSH1 0x01 000020c2: DUP2 000020c3: MSTORE 000020c4: PUSH32 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498 000020e5: SWAP1 000020e6: PUSH1 0x20 000020e8: ADD 000020e9: PUSH1 0x40 000020eb: MLOAD 000020ec: DUP1 000020ed: SWAP2 000020ee: SUB 000020ef: SWAP1 000020f0: LOG1 000020f1: POP 000020f2: POP 000020f3: POP 000020f4: POP 000020f5: POP 000020f6: JUMP 000020f7: JUMPDEST 000020f8: PUSH1 0x00 000020fa: PUSH2 0x2104 000020fd: DUP3 000020fe: PUSH1 0x10 00002100: PUSH2 0x4d74 00002103: JUMP 00002104: JUMPDEST 00002105: PUSH2 0x2110 00002108: SWAP1 00002109: PUSH2 0x5208 0000210c: PUSH2 0x4da4 0000210f: JUMP 00002110: JUMPDEST 00002111: SWAP3 00002112: SWAP2 00002113: POP 00002114: POP 00002115: JUMP 00002116: JUMPDEST 00002117: PUSH1 0x3c 00002119: PUSH1 0x20 0000211b: MSTORE 0000211c: DUP2 0000211d: PUSH1 0x00 0000211f: MSTORE 00002120: PUSH1 0x40 00002122: PUSH1 0x00 00002124: KECCAK256 00002125: DUP2 00002126: DUP2 00002127: SLOAD 00002128: DUP2 00002129: LT 0000212a: PUSH2 0x2132 0000212d: JUMPI 0000212e: PUSH1 0x00 00002130: DUP1 00002131: REVERT 00002132: JUMPDEST 00002133: PUSH1 0x00 00002135: SWAP2 00002136: DUP3 00002137: MSTORE 00002138: PUSH1 0x20 0000213a: SWAP1 0000213b: SWAP2 0000213c: KECCAK256 0000213d: ADD 0000213e: SLOAD 0000213f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002154: AND 00002155: SWAP2 00002156: POP 00002157: DUP3 00002158: SWAP1 00002159: POP 0000215a: JUMP 0000215b: JUMPDEST 0000215c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002171: AND 00002172: EXTCODESIZE 00002173: ISZERO 00002174: ISZERO 00002175: SWAP1 00002176: JUMP 00002177: JUMPDEST 00002178: PUSH1 0x01 0000217a: SLOAD 0000217b: PUSH1 0x00 0000217d: SWAP1 0000217e: PUSH2 0x21ad 00002181: SWAP1 00002182: PUSH25 0x01000000000000000000000000000000000000000000000000 0000219c: SWAP1 0000219d: DIV 0000219e: PUSH8 0xffffffffffffffff 000021a7: AND 000021a8: NUMBER 000021a9: PUSH2 0x4d40 000021ac: JUMP 000021ad: JUMPDEST 000021ae: SWAP1 000021af: POP 000021b0: PUSH1 0x00 000021b2: PUSH2 0x21b9 000021b5: PUSH2 0x266f 000021b8: JUMP 000021b9: JUMPDEST 000021ba: SWAP1 000021bb: POP 000021bc: PUSH1 0x00 000021be: DUP2 000021bf: PUSH1 0x20 000021c1: ADD 000021c2: MLOAD 000021c3: PUSH1 0xff 000021c5: AND 000021c6: DUP3 000021c7: PUSH1 0x00 000021c9: ADD 000021ca: MLOAD 000021cb: PUSH4 0xffffffff 000021d0: AND 000021d1: PUSH2 0x21da 000021d4: SWAP2 000021d5: SWAP1 000021d6: PUSH2 0x4dff 000021d9: JUMP 000021da: JUMPDEST 000021db: SWAP1 000021dc: POP 000021dd: DUP3 000021de: ISZERO 000021df: PUSH2 0x2311 000021e2: JUMPI 000021e3: PUSH1 0x01 000021e5: SLOAD 000021e6: PUSH1 0x00 000021e8: SWAP1 000021e9: PUSH2 0x2211 000021ec: SWAP1 000021ed: DUP4 000021ee: SWAP1 000021ef: PUSH17 0x0100000000000000000000000000000000 00002201: SWAP1 00002202: DIV 00002203: PUSH8 0xffffffffffffffff 0000220c: AND 0000220d: PUSH2 0x4e67 00002210: JUMP 00002211: JUMPDEST 00002212: SWAP1 00002213: POP 00002214: PUSH1 0x00 00002216: DUP4 00002217: PUSH1 0x40 00002219: ADD 0000221a: MLOAD 0000221b: PUSH1 0xff 0000221d: AND 0000221e: DUP4 0000221f: PUSH2 0x2228 00002222: SWAP2 00002223: SWAP1 00002224: PUSH2 0x4edb 00002227: JUMP 00002228: JUMPDEST 00002229: PUSH1 0x01 0000222b: SLOAD 0000222c: PUSH2 0x2248 0000222f: SWAP1 00002230: DUP5 00002231: SWAP1 00002232: PUSH16 0xffffffffffffffffffffffffffffffff 00002243: AND 00002244: PUSH2 0x4edb 00002247: JUMP 00002248: JUMPDEST 00002249: PUSH2 0x2252 0000224c: SWAP2 0000224d: SWAP1 0000224e: PUSH2 0x4dff 00002251: JUMP 00002252: JUMPDEST 00002253: PUSH1 0x01 00002255: SLOAD 00002256: SWAP1 00002257: SWAP2 00002258: POP 00002259: PUSH1 0x00 0000225b: SWAP1 0000225c: PUSH2 0x22a3 0000225f: SWAP1 00002260: PUSH2 0x227c 00002263: SWAP1 00002264: DUP5 00002265: SWAP1 00002266: PUSH16 0xffffffffffffffffffffffffffffffff 00002277: AND 00002278: PUSH2 0x4f97 0000227b: JUMP 0000227c: JUMPDEST 0000227d: DUP7 0000227e: PUSH1 0x60 00002280: ADD 00002281: MLOAD 00002282: PUSH4 0xffffffff 00002287: AND 00002288: DUP8 00002289: PUSH1 0xa0 0000228b: ADD 0000228c: MLOAD 0000228d: PUSH16 0xffffffffffffffffffffffffffffffff 0000229e: AND 0000229f: PUSH2 0x2730 000022a2: JUMP 000022a3: JUMPDEST 000022a4: SWAP1 000022a5: POP 000022a6: PUSH1 0x01 000022a8: DUP7 000022a9: GT 000022aa: ISZERO 000022ab: PUSH2 0x22d2 000022ae: JUMPI 000022af: PUSH2 0x22cf 000022b2: PUSH2 0x227c 000022b5: DUP3 000022b6: DUP8 000022b7: PUSH1 0x40 000022b9: ADD 000022ba: MLOAD 000022bb: PUSH1 0xff 000022bd: AND 000022be: PUSH1 0x01 000022c0: DUP11 000022c1: PUSH2 0x22ca 000022c4: SWAP2 000022c5: SWAP1 000022c6: PUSH2 0x4d40 000022c9: JUMP 000022ca: JUMPDEST 000022cb: PUSH2 0x274f 000022ce: JUMP 000022cf: JUMPDEST 000022d0: SWAP1 000022d1: POP 000022d2: JUMPDEST 000022d3: PUSH16 0xffffffffffffffffffffffffffffffff 000022e4: AND 000022e5: PUSH25 0x01000000000000000000000000000000000000000000000000 000022ff: PUSH8 0xffffffffffffffff 00002308: NUMBER 00002309: AND 0000230a: MUL 0000230b: OR 0000230c: PUSH1 0x01 0000230e: SSTORE 0000230f: POP 00002310: POP 00002311: JUMPDEST 00002312: PUSH1 0x01 00002314: DUP1 00002315: SLOAD 00002316: DUP7 00002317: SWAP2 00002318: SWAP1 00002319: PUSH1 0x10 0000231b: SWAP1 0000231c: PUSH2 0x2344 0000231f: SWAP1 00002320: DUP5 00002321: SWAP1 00002322: PUSH17 0x0100000000000000000000000000000000 00002334: SWAP1 00002335: DIV 00002336: PUSH8 0xffffffffffffffff 0000233f: AND 00002340: PUSH2 0x4da4 00002343: JUMP 00002344: JUMPDEST 00002345: SWAP3 00002346: POP 00002347: PUSH2 0x0100 0000234a: EXP 0000234b: DUP2 0000234c: SLOAD 0000234d: DUP2 0000234e: PUSH8 0xffffffffffffffff 00002357: MUL 00002358: NOT 00002359: AND 0000235a: SWAP1 0000235b: DUP4 0000235c: PUSH8 0xffffffffffffffff 00002365: AND 00002366: MUL 00002367: OR 00002368: SWAP1 00002369: SSTORE 0000236a: POP 0000236b: DUP2 0000236c: PUSH1 0x00 0000236e: ADD 0000236f: MLOAD 00002370: PUSH4 0xffffffff 00002375: AND 00002376: PUSH1 0x01 00002378: PUSH1 0x00 0000237a: ADD 0000237b: PUSH1 0x10 0000237d: SWAP1 0000237e: SLOAD 0000237f: SWAP1 00002380: PUSH2 0x0100 00002383: EXP 00002384: SWAP1 00002385: DIV 00002386: PUSH8 0xffffffffffffffff 0000238f: AND 00002390: PUSH8 0xffffffffffffffff 00002399: AND 0000239a: SGT 0000239b: ISZERO 0000239c: PUSH2 0x23d1 0000239f: JUMPI 000023a0: PUSH1 0x40 000023a2: MLOAD 000023a3: PUSH32 0x77ebef4d00000000000000000000000000000000000000000000000000000000 000023c4: DUP2 000023c5: MSTORE 000023c6: PUSH1 0x04 000023c8: ADD 000023c9: PUSH1 0x40 000023cb: MLOAD 000023cc: DUP1 000023cd: SWAP2 000023ce: SUB 000023cf: SWAP1 000023d0: REVERT 000023d1: JUMPDEST 000023d2: PUSH1 0x01 000023d4: SLOAD 000023d5: PUSH1 0x00 000023d7: SWAP1 000023d8: PUSH2 0x23fd 000023db: SWAP1 000023dc: PUSH16 0xffffffffffffffffffffffffffffffff 000023ed: AND 000023ee: PUSH8 0xffffffffffffffff 000023f7: DUP9 000023f8: AND 000023f9: PUSH2 0x500b 000023fc: JUMP 000023fd: JUMPDEST 000023fe: SWAP1 000023ff: POP 00002400: PUSH1 0x00 00002402: PUSH2 0x240f 00002405: BASEFEE 00002406: PUSH4 0x3b9aca00 0000240b: PUSH2 0x27a4 0000240e: JUMP 0000240f: JUMPDEST 00002410: PUSH2 0x2419 00002413: SWAP1 00002414: DUP4 00002415: PUSH2 0x5048 00002418: JUMP 00002419: JUMPDEST 0000241a: SWAP1 0000241b: POP 0000241c: PUSH1 0x00 0000241e: GAS 0000241f: PUSH2 0x2428 00002422: SWAP1 00002423: DUP9 00002424: PUSH2 0x4d40 00002427: JUMP 00002428: JUMPDEST 00002429: SWAP1 0000242a: POP 0000242b: DUP1 0000242c: DUP3 0000242d: GT 0000242e: ISZERO 0000242f: PUSH2 0x2444 00002432: JUMPI 00002433: PUSH2 0x2444 00002436: PUSH2 0x243f 00002439: DUP3 0000243a: DUP5 0000243b: PUSH2 0x4d40 0000243e: JUMP 0000243f: JUMPDEST 00002440: PUSH2 0x27bb 00002443: JUMP 00002444: JUMPDEST 00002445: POP 00002446: POP 00002447: POP 00002448: POP 00002449: POP 0000244a: POP 0000244b: POP 0000244c: POP 0000244d: JUMP 0000244e: JUMPDEST 0000244f: DUP1 00002450: MLOAD 00002451: PUSH1 0x20 00002453: DUP1 00002454: DUP4 00002455: ADD 00002456: MLOAD 00002457: PUSH1 0x40 00002459: DUP1 0000245a: DUP6 0000245b: ADD 0000245c: MLOAD 0000245d: PUSH1 0x60 0000245f: DUP7 00002460: ADD 00002461: MLOAD 00002462: PUSH1 0x80 00002464: DUP8 00002465: ADD 00002466: MLOAD 00002467: PUSH1 0xa0 00002469: DUP9 0000246a: ADD 0000246b: MLOAD 0000246c: SWAP4 0000246d: MLOAD 0000246e: PUSH1 0x00 00002470: SWAP8 00002471: PUSH2 0x247e 00002474: SWAP8 00002475: SWAP1 00002476: SWAP7 00002477: SWAP6 00002478: SWAP2 00002479: ADD 0000247a: PUSH2 0x505c 0000247d: JUMP 0000247e: JUMPDEST 0000247f: PUSH1 0x40 00002481: MLOAD 00002482: PUSH1 0x20 00002484: DUP2 00002485: DUP4 00002486: SUB 00002487: SUB 00002488: DUP2 00002489: MSTORE 0000248a: SWAP1 0000248b: PUSH1 0x40 0000248d: MSTORE 0000248e: DUP1 0000248f: MLOAD 00002490: SWAP1 00002491: PUSH1 0x20 00002493: ADD 00002494: KECCAK256 00002495: SWAP1 00002496: POP 00002497: SWAP2 00002498: SWAP1 00002499: POP 0000249a: JUMP 0000249b: JUMPDEST 0000249c: PUSH1 0x00 0000249e: DUP1 0000249f: PUSH1 0x00 000024a1: PUSH2 0x24ab 000024a4: DUP7 000024a5: PUSH1 0x00 000024a7: PUSH2 0x27e9 000024aa: JUMP 000024ab: JUMPDEST 000024ac: SWAP1 000024ad: POP 000024ae: DUP1 000024af: PUSH2 0x24e1 000024b2: JUMPI 000024b3: PUSH4 0x08c379a0 000024b8: PUSH1 0x00 000024ba: MSTORE 000024bb: PUSH1 0x20 000024bd: DUP1 000024be: MSTORE 000024bf: PUSH25 0x185361666543616c6c3a204e6f7420656e6f75676820676173 000024d9: PUSH1 0x58 000024db: MSTORE 000024dc: PUSH1 0x64 000024de: PUSH1 0x1c 000024e0: REVERT 000024e1: JUMPDEST 000024e2: PUSH1 0x00 000024e4: DUP1 000024e5: DUP6 000024e6: MLOAD 000024e7: PUSH1 0x20 000024e9: DUP8 000024ea: ADD 000024eb: DUP9 000024ec: DUP12 000024ed: GAS 000024ee: CALL 000024ef: SWAP8 000024f0: SWAP7 000024f1: POP 000024f2: POP 000024f3: POP 000024f4: POP 000024f5: POP 000024f6: POP 000024f7: POP 000024f8: JUMP 000024f9: JUMPDEST 000024fa: PUSH1 0x00 000024fc: DUP2 000024fd: PUSH1 0x00 000024ff: ADD 00002500: MLOAD 00002501: DUP3 00002502: PUSH1 0x20 00002504: ADD 00002505: MLOAD 00002506: DUP4 00002507: PUSH1 0x40 00002509: ADD 0000250a: MLOAD 0000250b: DUP5 0000250c: PUSH1 0x60 0000250e: ADD 0000250f: MLOAD 00002510: PUSH1 0x40 00002512: MLOAD 00002513: PUSH1 0x20 00002515: ADD 00002516: PUSH2 0x247e 00002519: SWAP5 0000251a: SWAP4 0000251b: SWAP3 0000251c: SWAP2 0000251d: SWAP1 0000251e: SWAP4 0000251f: DUP5 00002520: MSTORE 00002521: PUSH1 0x20 00002523: DUP5 00002524: ADD 00002525: SWAP3 00002526: SWAP1 00002527: SWAP3 00002528: MSTORE 00002529: PUSH1 0x40 0000252b: DUP4 0000252c: ADD 0000252d: MSTORE 0000252e: PUSH1 0x60 00002530: DUP3 00002531: ADD 00002532: MSTORE 00002533: PUSH1 0x80 00002535: ADD 00002536: SWAP1 00002537: JUMP 00002538: JUMPDEST 00002539: PUSH1 0x00 0000253b: DUP1 0000253c: PUSH2 0x2544 0000253f: DUP7 00002540: PUSH2 0x2807 00002543: JUMP 00002544: JUMPDEST 00002545: SWAP1 00002546: POP 00002547: PUSH2 0x2552 0000254a: DUP2 0000254b: DUP7 0000254c: DUP7 0000254d: DUP7 0000254e: PUSH2 0x2839 00002551: JUMP 00002552: JUMPDEST 00002553: SWAP7 00002554: SWAP6 00002555: POP 00002556: POP 00002557: POP 00002558: POP 00002559: POP 0000255a: POP 0000255b: JUMP 0000255c: JUMPDEST 0000255d: PUSH1 0x00 0000255f: SLOAD 00002560: PUSH2 0x0100 00002563: SWAP1 00002564: DIV 00002565: PUSH1 0xff 00002567: AND 00002568: PUSH2 0x25f3 0000256b: JUMPI 0000256c: PUSH1 0x40 0000256e: MLOAD 0000256f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002590: DUP2 00002591: MSTORE 00002592: PUSH1 0x20 00002594: PUSH1 0x04 00002596: DUP3 00002597: ADD 00002598: MSTORE 00002599: PUSH1 0x2b 0000259b: PUSH1 0x24 0000259d: DUP3 0000259e: ADD 0000259f: MSTORE 000025a0: PUSH32 0x496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069 000025c1: PUSH1 0x44 000025c3: DUP3 000025c4: ADD 000025c5: MSTORE 000025c6: PUSH32 0x6e697469616c697a696e67000000000000000000000000000000000000000000 000025e7: PUSH1 0x64 000025e9: DUP3 000025ea: ADD 000025eb: MSTORE 000025ec: PUSH1 0x84 000025ee: ADD 000025ef: PUSH2 0x09e0 000025f2: JUMP 000025f3: JUMPDEST 000025f4: PUSH1 0x01 000025f6: SLOAD 000025f7: PUSH25 0x01000000000000000000000000000000000000000000000000 00002611: SWAP1 00002612: DIV 00002613: PUSH8 0xffffffffffffffff 0000261c: AND 0000261d: PUSH1 0x00 0000261f: SUB 00002620: PUSH2 0x1df4 00002623: JUMPI 00002624: PUSH1 0x40 00002626: DUP1 00002627: MLOAD 00002628: PUSH1 0x60 0000262a: DUP2 0000262b: ADD 0000262c: DUP3 0000262d: MSTORE 0000262e: PUSH4 0x3b9aca00 00002633: DUP1 00002634: DUP3 00002635: MSTORE 00002636: PUSH1 0x00 00002638: PUSH1 0x20 0000263a: DUP4 0000263b: ADD 0000263c: MSTORE 0000263d: NUMBER 0000263e: PUSH8 0xffffffffffffffff 00002647: AND 00002648: SWAP2 00002649: SWAP1 0000264a: SWAP3 0000264b: ADD 0000264c: DUP2 0000264d: SWAP1 0000264e: MSTORE 0000264f: PUSH25 0x01000000000000000000000000000000000000000000000000 00002669: MUL 0000266a: OR 0000266b: PUSH1 0x01 0000266d: SSTORE 0000266e: JUMP 0000266f: JUMPDEST 00002670: PUSH1 0x40 00002672: DUP1 00002673: MLOAD 00002674: PUSH1 0xc0 00002676: DUP1 00002677: DUP3 00002678: ADD 00002679: DUP4 0000267a: MSTORE 0000267b: PUSH1 0x00 0000267d: DUP1 0000267e: DUP4 0000267f: MSTORE 00002680: PUSH1 0x20 00002682: DUP4 00002683: ADD 00002684: DUP2 00002685: SWAP1 00002686: MSTORE 00002687: DUP3 00002688: DUP5 00002689: ADD 0000268a: DUP2 0000268b: SWAP1 0000268c: MSTORE 0000268d: PUSH1 0x60 0000268f: DUP4 00002690: ADD 00002691: DUP2 00002692: SWAP1 00002693: MSTORE 00002694: PUSH1 0x80 00002696: DUP4 00002697: ADD 00002698: DUP2 00002699: SWAP1 0000269a: MSTORE 0000269b: PUSH1 0xa0 0000269d: DUP4 0000269e: ADD 0000269f: MSTORE 000026a0: PUSH1 0x37 000026a2: SLOAD 000026a3: DUP4 000026a4: MLOAD 000026a5: PUSH32 0xcc731b0200000000000000000000000000000000000000000000000000000000 000026c6: DUP2 000026c7: MSTORE 000026c8: SWAP4 000026c9: MLOAD 000026ca: SWAP3 000026cb: SWAP4 000026cc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000026e1: SWAP1 000026e2: SWAP2 000026e3: AND 000026e4: SWAP3 000026e5: PUSH4 0xcc731b02 000026ea: SWAP3 000026eb: PUSH1 0x04 000026ed: DUP1 000026ee: DUP5 000026ef: ADD 000026f0: SWAP4 000026f1: SWAP2 000026f2: SWAP3 000026f3: SWAP2 000026f4: DUP3 000026f5: SWAP1 000026f6: SUB 000026f7: ADD 000026f8: DUP2 000026f9: DUP7 000026fa: GAS 000026fb: STATICCALL 000026fc: ISZERO 000026fd: DUP1 000026fe: ISZERO 000026ff: PUSH2 0x270c 00002702: JUMPI 00002703: RETURNDATASIZE 00002704: PUSH1 0x00 00002706: DUP1 00002707: RETURNDATACOPY 00002708: RETURNDATASIZE 00002709: PUSH1 0x00 0000270b: REVERT 0000270c: JUMPDEST 0000270d: POP 0000270e: POP 0000270f: POP 00002710: POP 00002711: PUSH1 0x40 00002713: MLOAD 00002714: RETURNDATASIZE 00002715: PUSH1 0x1f 00002717: NOT 00002718: PUSH1 0x1f 0000271a: DUP3 0000271b: ADD 0000271c: AND 0000271d: DUP3 0000271e: ADD 0000271f: DUP1 00002720: PUSH1 0x40 00002722: MSTORE 00002723: POP 00002724: DUP2 00002725: ADD 00002726: SWAP1 00002727: PUSH2 0x0bed 0000272a: SWAP2 0000272b: SWAP1 0000272c: PUSH2 0x50c9 0000272f: JUMP 00002730: JUMPDEST 00002731: PUSH1 0x00 00002733: PUSH2 0x2745 00002736: PUSH2 0x273f 00002739: DUP6 0000273a: DUP6 0000273b: PUSH2 0x2869 0000273e: JUMP 0000273f: JUMPDEST 00002740: DUP4 00002741: PUSH2 0x2879 00002744: JUMP 00002745: JUMPDEST 00002746: SWAP1 00002747: POP 00002748: JUMPDEST 00002749: SWAP4 0000274a: SWAP3 0000274b: POP 0000274c: POP 0000274d: POP 0000274e: JUMP 0000274f: JUMPDEST 00002750: PUSH1 0x00 00002752: PUSH8 0x0de0b6b3a7640000 0000275b: PUSH2 0x2790 0000275e: PUSH2 0x2767 00002761: DUP6 00002762: DUP4 00002763: PUSH2 0x4dff 00002766: JUMP 00002767: JUMPDEST 00002768: PUSH2 0x2779 0000276b: SWAP1 0000276c: PUSH8 0x0de0b6b3a7640000 00002775: PUSH2 0x4e67 00002778: JUMP 00002779: JUMPDEST 0000277a: PUSH2 0x278b 0000277d: DUP6 0000277e: PUSH8 0x0de0b6b3a7640000 00002787: PUSH2 0x4edb 0000278a: JUMP 0000278b: JUMPDEST 0000278c: PUSH2 0x2888 0000278f: JUMP 00002790: JUMPDEST 00002791: PUSH2 0x279a 00002794: SWAP1 00002795: DUP7 00002796: PUSH2 0x4edb 00002799: JUMP 0000279a: JUMPDEST 0000279b: PUSH2 0x2745 0000279e: SWAP2 0000279f: SWAP1 000027a0: PUSH2 0x4dff 000027a3: JUMP 000027a4: JUMPDEST 000027a5: PUSH1 0x00 000027a7: DUP2 000027a8: DUP4 000027a9: LT 000027aa: ISZERO 000027ab: PUSH2 0x27b4 000027ae: JUMPI 000027af: DUP2 000027b0: PUSH2 0x2748 000027b3: JUMP 000027b4: JUMPDEST 000027b5: POP 000027b6: SWAP1 000027b7: SWAP2 000027b8: SWAP1 000027b9: POP 000027ba: JUMP 000027bb: JUMPDEST 000027bc: PUSH1 0x00 000027be: DUP1 000027bf: GAS 000027c0: SWAP1 000027c1: POP 000027c2: JUMPDEST 000027c3: DUP3 000027c4: GAS 000027c5: PUSH2 0x27ce 000027c8: SWAP1 000027c9: DUP4 000027ca: PUSH2 0x4d40 000027cd: JUMP 000027ce: JUMPDEST 000027cf: LT 000027d0: ISZERO 000027d1: PUSH2 0x27e4 000027d4: JUMPI 000027d5: PUSH2 0x27dd 000027d8: DUP3 000027d9: PUSH2 0x5185 000027dc: JUMP 000027dd: JUMPDEST 000027de: SWAP2 000027df: POP 000027e0: PUSH2 0x27c2 000027e3: JUMP 000027e4: JUMPDEST 000027e5: POP 000027e6: POP 000027e7: POP 000027e8: JUMP 000027e9: JUMPDEST 000027ea: PUSH1 0x00 000027ec: DUP1 000027ed: PUSH1 0x3f 000027ef: DUP4 000027f0: PUSH2 0x9c40 000027f3: ADD 000027f4: MUL 000027f5: PUSH1 0x40 000027f7: DUP6 000027f8: MUL 000027f9: ADD 000027fa: PUSH1 0x3f 000027fc: GAS 000027fd: MUL 000027fe: LT 000027ff: ISZERO 00002800: SWAP5 00002801: SWAP4 00002802: POP 00002803: POP 00002804: POP 00002805: POP 00002806: JUMP 00002807: JUMPDEST 00002808: PUSH1 0x60 0000280a: DUP2 0000280b: DUP1 0000280c: MLOAD 0000280d: SWAP1 0000280e: PUSH1 0x20 00002810: ADD 00002811: KECCAK256 00002812: PUSH1 0x40 00002814: MLOAD 00002815: PUSH1 0x20 00002817: ADD 00002818: PUSH2 0x2823 0000281b: SWAP2 0000281c: DUP2 0000281d: MSTORE 0000281e: PUSH1 0x20 00002820: ADD 00002821: SWAP1 00002822: JUMP 00002823: JUMPDEST 00002824: PUSH1 0x40 00002826: MLOAD 00002827: PUSH1 0x20 00002829: DUP2 0000282a: DUP4 0000282b: SUB 0000282c: SUB 0000282d: DUP2 0000282e: MSTORE 0000282f: SWAP1 00002830: PUSH1 0x40 00002832: MSTORE 00002833: SWAP1 00002834: POP 00002835: SWAP2 00002836: SWAP1 00002837: POP 00002838: JUMP 00002839: JUMPDEST 0000283a: PUSH1 0x00 0000283c: PUSH2 0x2860 0000283f: DUP5 00002840: PUSH2 0x284a 00002843: DUP8 00002844: DUP7 00002845: DUP7 00002846: PUSH2 0x28b9 00002849: JUMP 0000284a: JUMPDEST 0000284b: DUP1 0000284c: MLOAD 0000284d: PUSH1 0x20 0000284f: SWAP2 00002850: DUP3 00002851: ADD 00002852: KECCAK256 00002853: DUP3 00002854: MLOAD 00002855: SWAP3 00002856: SWAP1 00002857: SWAP2 00002858: ADD 00002859: SWAP2 0000285a: SWAP1 0000285b: SWAP2 0000285c: KECCAK256 0000285d: EQ 0000285e: SWAP1 0000285f: JUMP 00002860: JUMPDEST 00002861: SWAP6 00002862: SWAP5 00002863: POP 00002864: POP 00002865: POP 00002866: POP 00002867: POP 00002868: JUMP 00002869: JUMPDEST 0000286a: PUSH1 0x00 0000286c: DUP2 0000286d: DUP4 0000286e: SLT 0000286f: ISZERO 00002870: PUSH2 0x27b4 00002873: JUMPI 00002874: DUP2 00002875: PUSH2 0x2748 00002878: JUMP 00002879: JUMPDEST 0000287a: PUSH1 0x00 0000287c: DUP2 0000287d: DUP4 0000287e: SLT 0000287f: PUSH2 0x27b4 00002882: JUMPI 00002883: DUP2 00002884: PUSH2 0x2748 00002887: JUMP 00002888: JUMPDEST 00002889: PUSH1 0x00 0000288b: PUSH2 0x2748 0000288e: PUSH8 0x0de0b6b3a7640000 00002897: DUP4 00002898: PUSH2 0x28a0 0000289b: DUP7 0000289c: PUSH2 0x3337 0000289f: JUMP 000028a0: JUMPDEST 000028a1: PUSH2 0x28aa 000028a4: SWAP2 000028a5: SWAP1 000028a6: PUSH2 0x4edb 000028a9: JUMP 000028aa: JUMPDEST 000028ab: PUSH2 0x28b4 000028ae: SWAP2 000028af: SWAP1 000028b0: PUSH2 0x4dff 000028b3: JUMP 000028b4: JUMPDEST 000028b5: PUSH2 0x357b 000028b8: JUMP 000028b9: JUMPDEST 000028ba: PUSH1 0x60 000028bc: PUSH1 0x00 000028be: DUP5 000028bf: MLOAD 000028c0: GT 000028c1: PUSH2 0x2926 000028c4: JUMPI 000028c5: PUSH1 0x40 000028c7: MLOAD 000028c8: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000028e9: DUP2 000028ea: MSTORE 000028eb: PUSH1 0x20 000028ed: PUSH1 0x04 000028ef: DUP3 000028f0: ADD 000028f1: MSTORE 000028f2: PUSH1 0x15 000028f4: PUSH1 0x24 000028f6: DUP3 000028f7: ADD 000028f8: MSTORE 000028f9: PUSH32 0x4d65726b6c65547269653a20656d707479206b65790000000000000000000000 0000291a: PUSH1 0x44 0000291c: DUP3 0000291d: ADD 0000291e: MSTORE 0000291f: PUSH1 0x64 00002921: ADD 00002922: PUSH2 0x09e0 00002925: JUMP 00002926: JUMPDEST 00002927: PUSH1 0x00 00002929: PUSH2 0x2931 0000292c: DUP5 0000292d: PUSH2 0x37ba 00002930: JUMP 00002931: JUMPDEST 00002932: SWAP1 00002933: POP 00002934: PUSH1 0x00 00002936: PUSH2 0x293e 00002939: DUP7 0000293a: PUSH2 0x38a6 0000293d: JUMP 0000293e: JUMPDEST 0000293f: SWAP1 00002940: POP 00002941: PUSH1 0x00 00002943: DUP5 00002944: PUSH1 0x40 00002946: MLOAD 00002947: PUSH1 0x20 00002949: ADD 0000294a: PUSH2 0x2955 0000294d: SWAP2 0000294e: DUP2 0000294f: MSTORE 00002950: PUSH1 0x20 00002952: ADD 00002953: SWAP1 00002954: JUMP 00002955: JUMPDEST 00002956: PUSH1 0x40 00002958: MLOAD 00002959: PUSH1 0x20 0000295b: DUP2 0000295c: DUP4 0000295d: SUB 0000295e: SUB 0000295f: DUP2 00002960: MSTORE 00002961: SWAP1 00002962: PUSH1 0x40 00002964: MSTORE 00002965: SWAP1 00002966: POP 00002967: PUSH1 0x00 00002969: DUP1 0000296a: JUMPDEST 0000296b: DUP5 0000296c: MLOAD 0000296d: DUP2 0000296e: LT 0000296f: ISZERO 00002970: PUSH2 0x32ae 00002973: JUMPI 00002974: PUSH1 0x00 00002976: DUP6 00002977: DUP3 00002978: DUP2 00002979: MLOAD 0000297a: DUP2 0000297b: LT 0000297c: PUSH2 0x2987 0000297f: JUMPI 00002980: PUSH2 0x2987 00002983: PUSH2 0x51bd 00002986: JUMP 00002987: JUMPDEST 00002988: PUSH1 0x20 0000298a: MUL 0000298b: PUSH1 0x20 0000298d: ADD 0000298e: ADD 0000298f: MLOAD 00002990: SWAP1 00002991: POP 00002992: DUP5 00002993: MLOAD 00002994: DUP4 00002995: GT 00002996: ISZERO 00002997: PUSH2 0x2a22 0000299a: JUMPI 0000299b: PUSH1 0x40 0000299d: MLOAD 0000299e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000029bf: DUP2 000029c0: MSTORE 000029c1: PUSH1 0x20 000029c3: PUSH1 0x04 000029c5: DUP3 000029c6: ADD 000029c7: MSTORE 000029c8: PUSH1 0x2e 000029ca: PUSH1 0x24 000029cc: DUP3 000029cd: ADD 000029ce: MSTORE 000029cf: PUSH32 0x4d65726b6c65547269653a206b657920696e646578206578636565647320746f 000029f0: PUSH1 0x44 000029f2: DUP3 000029f3: ADD 000029f4: MSTORE 000029f5: PUSH32 0x74616c206b6579206c656e677468000000000000000000000000000000000000 00002a16: PUSH1 0x64 00002a18: DUP3 00002a19: ADD 00002a1a: MSTORE 00002a1b: PUSH1 0x84 00002a1d: ADD 00002a1e: PUSH2 0x09e0 00002a21: JUMP 00002a22: JUMPDEST 00002a23: DUP3 00002a24: PUSH1 0x00 00002a26: SUB 00002a27: PUSH2 0x2adb 00002a2a: JUMPI 00002a2b: DUP1 00002a2c: MLOAD 00002a2d: DUP1 00002a2e: MLOAD 00002a2f: PUSH1 0x20 00002a31: SWAP2 00002a32: DUP3 00002a33: ADD 00002a34: KECCAK256 00002a35: PUSH1 0x40 00002a37: MLOAD 00002a38: PUSH2 0x2a70 00002a3b: SWAP3 00002a3c: PUSH2 0x2a4a 00002a3f: SWAP3 00002a40: SWAP2 00002a41: ADD 00002a42: SWAP1 00002a43: DUP2 00002a44: MSTORE 00002a45: PUSH1 0x20 00002a47: ADD 00002a48: SWAP1 00002a49: JUMP 00002a4a: JUMPDEST 00002a4b: PUSH1 0x40 00002a4d: MLOAD 00002a4e: PUSH1 0x20 00002a50: DUP2 00002a51: DUP4 00002a52: SUB 00002a53: SUB 00002a54: DUP2 00002a55: MSTORE 00002a56: SWAP1 00002a57: PUSH1 0x40 00002a59: MSTORE 00002a5a: DUP6 00002a5b: DUP1 00002a5c: MLOAD 00002a5d: PUSH1 0x20 00002a5f: SWAP2 00002a60: DUP3 00002a61: ADD 00002a62: KECCAK256 00002a63: DUP3 00002a64: MLOAD 00002a65: SWAP3 00002a66: SWAP1 00002a67: SWAP2 00002a68: ADD 00002a69: SWAP2 00002a6a: SWAP1 00002a6b: SWAP2 00002a6c: KECCAK256 00002a6d: EQ 00002a6e: SWAP1 00002a6f: JUMP 00002a70: JUMPDEST 00002a71: PUSH2 0x2ad6 00002a74: JUMPI 00002a75: PUSH1 0x40 00002a77: MLOAD 00002a78: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002a99: DUP2 00002a9a: MSTORE 00002a9b: PUSH1 0x20 00002a9d: PUSH1 0x04 00002a9f: DUP3 00002aa0: ADD 00002aa1: MSTORE 00002aa2: PUSH1 0x1d 00002aa4: PUSH1 0x24 00002aa6: DUP3 00002aa7: ADD 00002aa8: MSTORE 00002aa9: PUSH32 0x4d65726b6c65547269653a20696e76616c696420726f6f742068617368000000 00002aca: PUSH1 0x44 00002acc: DUP3 00002acd: ADD 00002ace: MSTORE 00002acf: PUSH1 0x64 00002ad1: ADD 00002ad2: PUSH2 0x09e0 00002ad5: JUMP 00002ad6: JUMPDEST 00002ad7: PUSH2 0x2c32 00002ada: JUMP 00002adb: JUMPDEST 00002adc: DUP1 00002add: MLOAD 00002ade: MLOAD 00002adf: PUSH1 0x20 00002ae1: GT 00002ae2: PUSH2 0x2b91 00002ae5: JUMPI 00002ae6: DUP1 00002ae7: MLOAD 00002ae8: DUP1 00002ae9: MLOAD 00002aea: PUSH1 0x20 00002aec: SWAP2 00002aed: DUP3 00002aee: ADD 00002aef: KECCAK256 00002af0: PUSH1 0x40 00002af2: MLOAD 00002af3: PUSH2 0x2b05 00002af6: SWAP3 00002af7: PUSH2 0x2a4a 00002afa: SWAP3 00002afb: SWAP2 00002afc: ADD 00002afd: SWAP1 00002afe: DUP2 00002aff: MSTORE 00002b00: PUSH1 0x20 00002b02: ADD 00002b03: SWAP1 00002b04: JUMP 00002b05: JUMPDEST 00002b06: PUSH2 0x2ad6 00002b09: JUMPI 00002b0a: PUSH1 0x40 00002b0c: MLOAD 00002b0d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002b2e: DUP2 00002b2f: MSTORE 00002b30: PUSH1 0x20 00002b32: PUSH1 0x04 00002b34: DUP3 00002b35: ADD 00002b36: MSTORE 00002b37: PUSH1 0x27 00002b39: PUSH1 0x24 00002b3b: DUP3 00002b3c: ADD 00002b3d: MSTORE 00002b3e: PUSH32 0x4d65726b6c65547269653a20696e76616c6964206c6172676520696e7465726e 00002b5f: PUSH1 0x44 00002b61: DUP3 00002b62: ADD 00002b63: MSTORE 00002b64: PUSH32 0x616c206861736800000000000000000000000000000000000000000000000000 00002b85: PUSH1 0x64 00002b87: DUP3 00002b88: ADD 00002b89: MSTORE 00002b8a: PUSH1 0x84 00002b8c: ADD 00002b8d: PUSH2 0x09e0 00002b90: JUMP 00002b91: JUMPDEST 00002b92: DUP1 00002b93: MLOAD 00002b94: DUP5 00002b95: MLOAD 00002b96: PUSH1 0x20 00002b98: DUP1 00002b99: DUP8 00002b9a: ADD 00002b9b: SWAP2 00002b9c: SWAP1 00002b9d: SWAP2 00002b9e: KECCAK256 00002b9f: DUP3 00002ba0: MLOAD 00002ba1: SWAP2 00002ba2: SWAP1 00002ba3: SWAP3 00002ba4: ADD 00002ba5: KECCAK256 00002ba6: EQ 00002ba7: PUSH2 0x2c32 00002baa: JUMPI 00002bab: PUSH1 0x40 00002bad: MLOAD 00002bae: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002bcf: DUP2 00002bd0: MSTORE 00002bd1: PUSH1 0x20 00002bd3: PUSH1 0x04 00002bd5: DUP3 00002bd6: ADD 00002bd7: MSTORE 00002bd8: PUSH1 0x26 00002bda: PUSH1 0x24 00002bdc: DUP3 00002bdd: ADD 00002bde: MSTORE 00002bdf: PUSH32 0x4d65726b6c65547269653a20696e76616c696420696e7465726e616c206e6f64 00002c00: PUSH1 0x44 00002c02: DUP3 00002c03: ADD 00002c04: MSTORE 00002c05: PUSH32 0x6520686173680000000000000000000000000000000000000000000000000000 00002c26: PUSH1 0x64 00002c28: DUP3 00002c29: ADD 00002c2a: MSTORE 00002c2b: PUSH1 0x84 00002c2d: ADD 00002c2e: PUSH2 0x09e0 00002c31: JUMP 00002c32: JUMPDEST 00002c33: PUSH2 0x2c3e 00002c36: PUSH1 0x10 00002c38: PUSH1 0x01 00002c3a: PUSH2 0x51ec 00002c3d: JUMP 00002c3e: JUMPDEST 00002c3f: DUP2 00002c40: PUSH1 0x20 00002c42: ADD 00002c43: MLOAD 00002c44: MLOAD 00002c45: SUB 00002c46: PUSH2 0x2e1a 00002c49: JUMPI 00002c4a: DUP5 00002c4b: MLOAD 00002c4c: DUP4 00002c4d: SUB 00002c4e: PUSH2 0x2db2 00002c51: JUMPI 00002c52: PUSH2 0x2c78 00002c55: DUP2 00002c56: PUSH1 0x20 00002c58: ADD 00002c59: MLOAD 00002c5a: PUSH1 0x10 00002c5c: DUP2 00002c5d: MLOAD 00002c5e: DUP2 00002c5f: LT 00002c60: PUSH2 0x2c6b 00002c63: JUMPI 00002c64: PUSH2 0x2c6b 00002c67: PUSH2 0x51bd 00002c6a: JUMP 00002c6b: JUMPDEST 00002c6c: PUSH1 0x20 00002c6e: MUL 00002c6f: PUSH1 0x20 00002c71: ADD 00002c72: ADD 00002c73: MLOAD 00002c74: PUSH2 0x3909 00002c77: JUMP 00002c78: JUMPDEST 00002c79: SWAP7 00002c7a: POP 00002c7b: PUSH1 0x00 00002c7d: DUP8 00002c7e: MLOAD 00002c7f: GT 00002c80: PUSH2 0x2d0b 00002c83: JUMPI 00002c84: PUSH1 0x40 00002c86: MLOAD 00002c87: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002ca8: DUP2 00002ca9: MSTORE 00002caa: PUSH1 0x20 00002cac: PUSH1 0x04 00002cae: DUP3 00002caf: ADD 00002cb0: MSTORE 00002cb1: PUSH1 0x3b 00002cb3: PUSH1 0x24 00002cb5: DUP3 00002cb6: ADD 00002cb7: MSTORE 00002cb8: PUSH32 0x4d65726b6c65547269653a2076616c7565206c656e677468206d757374206265 00002cd9: PUSH1 0x44 00002cdb: DUP3 00002cdc: ADD 00002cdd: MSTORE 00002cde: PUSH32 0x2067726561746572207468616e207a65726f20286272616e6368290000000000 00002cff: PUSH1 0x64 00002d01: DUP3 00002d02: ADD 00002d03: MSTORE 00002d04: PUSH1 0x84 00002d06: ADD 00002d07: PUSH2 0x09e0 00002d0a: JUMP 00002d0b: JUMPDEST 00002d0c: PUSH1 0x01 00002d0e: DUP7 00002d0f: MLOAD 00002d10: PUSH2 0x2d19 00002d13: SWAP2 00002d14: SWAP1 00002d15: PUSH2 0x4d40 00002d18: JUMP 00002d19: JUMPDEST 00002d1a: DUP3 00002d1b: EQ 00002d1c: PUSH2 0x2da7 00002d1f: JUMPI 00002d20: PUSH1 0x40 00002d22: MLOAD 00002d23: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002d44: DUP2 00002d45: MSTORE 00002d46: PUSH1 0x20 00002d48: PUSH1 0x04 00002d4a: DUP3 00002d4b: ADD 00002d4c: MSTORE 00002d4d: PUSH1 0x3a 00002d4f: PUSH1 0x24 00002d51: DUP3 00002d52: ADD 00002d53: MSTORE 00002d54: PUSH32 0x4d65726b6c65547269653a2076616c7565206e6f6465206d757374206265206c 00002d75: PUSH1 0x44 00002d77: DUP3 00002d78: ADD 00002d79: MSTORE 00002d7a: PUSH32 0x617374206e6f646520696e2070726f6f6620286272616e636829000000000000 00002d9b: PUSH1 0x64 00002d9d: DUP3 00002d9e: ADD 00002d9f: MSTORE 00002da0: PUSH1 0x84 00002da2: ADD 00002da3: PUSH2 0x09e0 00002da6: JUMP 00002da7: JUMPDEST 00002da8: POP 00002da9: POP 00002daa: POP 00002dab: POP 00002dac: POP 00002dad: POP 00002dae: PUSH2 0x2748 00002db1: JUMP 00002db2: JUMPDEST 00002db3: PUSH1 0x00 00002db5: DUP6 00002db6: DUP5 00002db7: DUP2 00002db8: MLOAD 00002db9: DUP2 00002dba: LT 00002dbb: PUSH2 0x2dc6 00002dbe: JUMPI 00002dbf: PUSH2 0x2dc6 00002dc2: PUSH2 0x51bd 00002dc5: JUMP 00002dc6: JUMPDEST 00002dc7: PUSH1 0x20 00002dc9: ADD 00002dca: ADD 00002dcb: MLOAD 00002dcc: PUSH1 0xf8 00002dce: SHR 00002dcf: PUSH1 0xf8 00002dd1: SHL 00002dd2: PUSH1 0xf8 00002dd4: SHR 00002dd5: SWAP1 00002dd6: POP 00002dd7: PUSH1 0x00 00002dd9: DUP3 00002dda: PUSH1 0x20 00002ddc: ADD 00002ddd: MLOAD 00002dde: DUP3 00002ddf: PUSH1 0xff 00002de1: AND 00002de2: DUP2 00002de3: MLOAD 00002de4: DUP2 00002de5: LT 00002de6: PUSH2 0x2df1 00002de9: JUMPI 00002dea: PUSH2 0x2df1 00002ded: PUSH2 0x51bd 00002df0: JUMP 00002df1: JUMPDEST 00002df2: PUSH1 0x20 00002df4: MUL 00002df5: PUSH1 0x20 00002df7: ADD 00002df8: ADD 00002df9: MLOAD 00002dfa: SWAP1 00002dfb: POP 00002dfc: PUSH2 0x2e04 00002dff: DUP2 00002e00: PUSH2 0x39bd 00002e03: JUMP 00002e04: JUMPDEST 00002e05: SWAP6 00002e06: POP 00002e07: PUSH2 0x2e11 00002e0a: PUSH1 0x01 00002e0c: DUP7 00002e0d: PUSH2 0x51ec 00002e10: JUMP 00002e11: JUMPDEST 00002e12: SWAP5 00002e13: POP 00002e14: POP 00002e15: POP 00002e16: PUSH2 0x329b 00002e19: JUMP 00002e1a: JUMPDEST 00002e1b: PUSH1 0x02 00002e1d: DUP2 00002e1e: PUSH1 0x20 00002e20: ADD 00002e21: MLOAD 00002e22: MLOAD 00002e23: SUB 00002e24: PUSH2 0x3213 00002e27: JUMPI 00002e28: PUSH1 0x00 00002e2a: PUSH2 0x2e32 00002e2d: DUP3 00002e2e: PUSH2 0x39e2 00002e31: JUMP 00002e32: JUMPDEST 00002e33: SWAP1 00002e34: POP 00002e35: PUSH1 0x00 00002e37: DUP2 00002e38: PUSH1 0x00 00002e3a: DUP2 00002e3b: MLOAD 00002e3c: DUP2 00002e3d: LT 00002e3e: PUSH2 0x2e49 00002e41: JUMPI 00002e42: PUSH2 0x2e49 00002e45: PUSH2 0x51bd 00002e48: JUMP 00002e49: JUMPDEST 00002e4a: ADD 00002e4b: PUSH1 0x20 00002e4d: ADD 00002e4e: MLOAD 00002e4f: PUSH1 0xf8 00002e51: SHR 00002e52: SWAP1 00002e53: POP 00002e54: PUSH1 0x00 00002e56: PUSH2 0x2e60 00002e59: PUSH1 0x02 00002e5b: DUP4 00002e5c: PUSH2 0x5204 00002e5f: JUMP 00002e60: JUMPDEST 00002e61: PUSH2 0x2e6b 00002e64: SWAP1 00002e65: PUSH1 0x02 00002e67: PUSH2 0x5226 00002e6a: JUMP 00002e6b: JUMPDEST 00002e6c: SWAP1 00002e6d: POP 00002e6e: PUSH1 0x00 00002e70: PUSH2 0x2e7c 00002e73: DUP5 00002e74: DUP4 00002e75: PUSH1 0xff 00002e77: AND 00002e78: PUSH2 0x3a06 00002e7b: JUMP 00002e7c: JUMPDEST 00002e7d: SWAP1 00002e7e: POP 00002e7f: PUSH1 0x00 00002e81: PUSH2 0x2e8a 00002e84: DUP11 00002e85: DUP10 00002e86: PUSH2 0x3a06 00002e89: JUMP 00002e8a: JUMPDEST 00002e8b: SWAP1 00002e8c: POP 00002e8d: PUSH1 0x00 00002e8f: PUSH2 0x2e98 00002e92: DUP4 00002e93: DUP4 00002e94: PUSH2 0x3a3c 00002e97: JUMP 00002e98: JUMPDEST 00002e99: SWAP1 00002e9a: POP 00002e9b: DUP1 00002e9c: DUP4 00002e9d: MLOAD 00002e9e: EQ 00002e9f: PUSH2 0x2f2a 00002ea2: JUMPI 00002ea3: PUSH1 0x40 00002ea5: MLOAD 00002ea6: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002ec7: DUP2 00002ec8: MSTORE 00002ec9: PUSH1 0x20 00002ecb: PUSH1 0x04 00002ecd: DUP3 00002ece: ADD 00002ecf: MSTORE 00002ed0: PUSH1 0x3a 00002ed2: PUSH1 0x24 00002ed4: DUP3 00002ed5: ADD 00002ed6: MSTORE 00002ed7: PUSH32 0x4d65726b6c65547269653a20706174682072656d61696e646572206d75737420 00002ef8: PUSH1 0x44 00002efa: DUP3 00002efb: ADD 00002efc: MSTORE 00002efd: PUSH32 0x736861726520616c6c206e6962626c65732077697468206b6579000000000000 00002f1e: PUSH1 0x64 00002f20: DUP3 00002f21: ADD 00002f22: MSTORE 00002f23: PUSH1 0x84 00002f25: ADD 00002f26: PUSH2 0x09e0 00002f29: JUMP 00002f2a: JUMPDEST 00002f2b: PUSH1 0xff 00002f2d: DUP6 00002f2e: AND 00002f2f: PUSH1 0x02 00002f31: EQ 00002f32: DUP1 00002f33: PUSH2 0x2f3f 00002f36: JUMPI 00002f37: POP 00002f38: PUSH1 0xff 00002f3a: DUP6 00002f3b: AND 00002f3c: PUSH1 0x03 00002f3e: EQ 00002f3f: JUMPDEST 00002f40: ISZERO 00002f41: PUSH2 0x312e 00002f44: JUMPI 00002f45: DUP1 00002f46: DUP3 00002f47: MLOAD 00002f48: EQ 00002f49: PUSH2 0x2fd4 00002f4c: JUMPI 00002f4d: PUSH1 0x40 00002f4f: MLOAD 00002f50: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002f71: DUP2 00002f72: MSTORE 00002f73: PUSH1 0x20 00002f75: PUSH1 0x04 00002f77: DUP3 00002f78: ADD 00002f79: MSTORE 00002f7a: PUSH1 0x3d 00002f7c: PUSH1 0x24 00002f7e: DUP3 00002f7f: ADD 00002f80: MSTORE 00002f81: PUSH32 0x4d65726b6c65547269653a206b65792072656d61696e646572206d7573742062 00002fa2: PUSH1 0x44 00002fa4: DUP3 00002fa5: ADD 00002fa6: MSTORE 00002fa7: PUSH32 0x65206964656e746963616c20746f20706174682072656d61696e646572000000 00002fc8: PUSH1 0x64 00002fca: DUP3 00002fcb: ADD 00002fcc: MSTORE 00002fcd: PUSH1 0x84 00002fcf: ADD 00002fd0: PUSH2 0x09e0 00002fd3: JUMP 00002fd4: JUMPDEST 00002fd5: PUSH2 0x2fee 00002fd8: DUP8 00002fd9: PUSH1 0x20 00002fdb: ADD 00002fdc: MLOAD 00002fdd: PUSH1 0x01 00002fdf: DUP2 00002fe0: MLOAD 00002fe1: DUP2 00002fe2: LT 00002fe3: PUSH2 0x2c6b 00002fe6: JUMPI 00002fe7: PUSH2 0x2c6b 00002fea: PUSH2 0x51bd 00002fed: JUMP 00002fee: JUMPDEST 00002fef: SWAP13 00002ff0: POP 00002ff1: PUSH1 0x00 00002ff3: DUP14 00002ff4: MLOAD 00002ff5: GT 00002ff6: PUSH2 0x3081 00002ff9: JUMPI 00002ffa: PUSH1 0x40 00002ffc: MLOAD 00002ffd: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000301e: DUP2 0000301f: MSTORE 00003020: PUSH1 0x20 00003022: PUSH1 0x04 00003024: DUP3 00003025: ADD 00003026: MSTORE 00003027: PUSH1 0x39 00003029: PUSH1 0x24 0000302b: DUP3 0000302c: ADD 0000302d: MSTORE 0000302e: PUSH32 0x4d65726b6c65547269653a2076616c7565206c656e677468206d757374206265 0000304f: PUSH1 0x44 00003051: DUP3 00003052: ADD 00003053: MSTORE 00003054: PUSH32 0x2067726561746572207468616e207a65726f20286c6561662900000000000000 00003075: PUSH1 0x64 00003077: DUP3 00003078: ADD 00003079: MSTORE 0000307a: PUSH1 0x84 0000307c: ADD 0000307d: PUSH2 0x09e0 00003080: JUMP 00003081: JUMPDEST 00003082: PUSH1 0x01 00003084: DUP13 00003085: MLOAD 00003086: PUSH2 0x308f 00003089: SWAP2 0000308a: SWAP1 0000308b: PUSH2 0x4d40 0000308e: JUMP 0000308f: JUMPDEST 00003090: DUP9 00003091: EQ 00003092: PUSH2 0x311d 00003095: JUMPI 00003096: PUSH1 0x40 00003098: MLOAD 00003099: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000030ba: DUP2 000030bb: MSTORE 000030bc: PUSH1 0x20 000030be: PUSH1 0x04 000030c0: DUP3 000030c1: ADD 000030c2: MSTORE 000030c3: PUSH1 0x38 000030c5: PUSH1 0x24 000030c7: DUP3 000030c8: ADD 000030c9: MSTORE 000030ca: PUSH32 0x4d65726b6c65547269653a2076616c7565206e6f6465206d757374206265206c 000030eb: PUSH1 0x44 000030ed: DUP3 000030ee: ADD 000030ef: MSTORE 000030f0: PUSH32 0x617374206e6f646520696e2070726f6f6620286c656166290000000000000000 00003111: PUSH1 0x64 00003113: DUP3 00003114: ADD 00003115: MSTORE 00003116: PUSH1 0x84 00003118: ADD 00003119: PUSH2 0x09e0 0000311c: JUMP 0000311d: JUMPDEST 0000311e: POP 0000311f: POP 00003120: POP 00003121: POP 00003122: POP 00003123: POP 00003124: POP 00003125: POP 00003126: POP 00003127: POP 00003128: POP 00003129: POP 0000312a: PUSH2 0x2748 0000312d: JUMP 0000312e: JUMPDEST 0000312f: PUSH1 0xff 00003131: DUP6 00003132: AND 00003133: ISZERO 00003134: DUP1 00003135: PUSH2 0x3141 00003138: JUMPI 00003139: POP 0000313a: PUSH1 0xff 0000313c: DUP6 0000313d: AND 0000313e: PUSH1 0x01 00003140: EQ 00003141: JUMPDEST 00003142: ISZERO 00003143: PUSH2 0x3180 00003146: JUMPI 00003147: PUSH2 0x316d 0000314a: DUP8 0000314b: PUSH1 0x20 0000314d: ADD 0000314e: MLOAD 0000314f: PUSH1 0x01 00003151: DUP2 00003152: MLOAD 00003153: DUP2 00003154: LT 00003155: PUSH2 0x3160 00003158: JUMPI 00003159: PUSH2 0x3160 0000315c: PUSH2 0x51bd 0000315f: JUMP 00003160: JUMPDEST 00003161: PUSH1 0x20 00003163: MUL 00003164: PUSH1 0x20 00003166: ADD 00003167: ADD 00003168: MLOAD 00003169: PUSH2 0x39bd 0000316c: JUMP 0000316d: JUMPDEST 0000316e: SWAP10 0000316f: POP 00003170: PUSH2 0x3179 00003173: DUP2 00003174: DUP11 00003175: PUSH2 0x51ec 00003178: JUMP 00003179: JUMPDEST 0000317a: SWAP9 0000317b: POP 0000317c: PUSH2 0x3208 0000317f: JUMP 00003180: JUMPDEST 00003181: PUSH1 0x40 00003183: MLOAD 00003184: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000031a5: DUP2 000031a6: MSTORE 000031a7: PUSH1 0x20 000031a9: PUSH1 0x04 000031ab: DUP3 000031ac: ADD 000031ad: MSTORE 000031ae: PUSH1 0x32 000031b0: PUSH1 0x24 000031b2: DUP3 000031b3: ADD 000031b4: MSTORE 000031b5: PUSH32 0x4d65726b6c65547269653a2072656365697665642061206e6f64652077697468 000031d6: PUSH1 0x44 000031d8: DUP3 000031d9: ADD 000031da: MSTORE 000031db: PUSH32 0x20616e20756e6b6e6f776e207072656669780000000000000000000000000000 000031fc: PUSH1 0x64 000031fe: DUP3 000031ff: ADD 00003200: MSTORE 00003201: PUSH1 0x84 00003203: ADD 00003204: PUSH2 0x09e0 00003207: JUMP 00003208: JUMPDEST 00003209: POP 0000320a: POP 0000320b: POP 0000320c: POP 0000320d: POP 0000320e: POP 0000320f: PUSH2 0x329b 00003212: JUMP 00003213: JUMPDEST 00003214: PUSH1 0x40 00003216: MLOAD 00003217: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003238: DUP2 00003239: MSTORE 0000323a: PUSH1 0x20 0000323c: PUSH1 0x04 0000323e: DUP3 0000323f: ADD 00003240: MSTORE 00003241: PUSH1 0x28 00003243: PUSH1 0x24 00003245: DUP3 00003246: ADD 00003247: MSTORE 00003248: PUSH32 0x4d65726b6c65547269653a20726563656976656420616e20756e706172736561 00003269: PUSH1 0x44 0000326b: DUP3 0000326c: ADD 0000326d: MSTORE 0000326e: PUSH32 0x626c65206e6f6465000000000000000000000000000000000000000000000000 0000328f: PUSH1 0x64 00003291: DUP3 00003292: ADD 00003293: MSTORE 00003294: PUSH1 0x84 00003296: ADD 00003297: PUSH2 0x09e0 0000329a: JUMP 0000329b: JUMPDEST 0000329c: POP 0000329d: DUP1 0000329e: PUSH2 0x32a6 000032a1: DUP2 000032a2: PUSH2 0x5185 000032a5: JUMP 000032a6: JUMPDEST 000032a7: SWAP2 000032a8: POP 000032a9: POP 000032aa: PUSH2 0x296a 000032ad: JUMP 000032ae: JUMPDEST 000032af: POP 000032b0: PUSH1 0x40 000032b2: MLOAD 000032b3: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000032d4: DUP2 000032d5: MSTORE 000032d6: PUSH1 0x20 000032d8: PUSH1 0x04 000032da: DUP3 000032db: ADD 000032dc: MSTORE 000032dd: PUSH1 0x25 000032df: PUSH1 0x24 000032e1: DUP3 000032e2: ADD 000032e3: MSTORE 000032e4: PUSH32 0x4d65726b6c65547269653a2072616e206f7574206f662070726f6f6620656c65 00003305: PUSH1 0x44 00003307: DUP3 00003308: ADD 00003309: MSTORE 0000330a: PUSH32 0x6d656e7473000000000000000000000000000000000000000000000000000000 0000332b: PUSH1 0x64 0000332d: DUP3 0000332e: ADD 0000332f: MSTORE 00003330: PUSH1 0x84 00003332: ADD 00003333: PUSH2 0x09e0 00003336: JUMP 00003337: JUMPDEST 00003338: PUSH1 0x00 0000333a: DUP1 0000333b: DUP3 0000333c: SGT 0000333d: PUSH2 0x33a2 00003340: JUMPI 00003341: PUSH1 0x40 00003343: MLOAD 00003344: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003365: DUP2 00003366: MSTORE 00003367: PUSH1 0x20 00003369: PUSH1 0x04 0000336b: DUP3 0000336c: ADD 0000336d: MSTORE 0000336e: PUSH1 0x09 00003370: PUSH1 0x24 00003372: DUP3 00003373: ADD 00003374: MSTORE 00003375: PUSH32 0x554e444546494e45440000000000000000000000000000000000000000000000 00003396: PUSH1 0x44 00003398: DUP3 00003399: ADD 0000339a: MSTORE 0000339b: PUSH1 0x64 0000339d: ADD 0000339e: PUSH2 0x09e0 000033a1: JUMP 000033a2: JUMPDEST 000033a3: PUSH1 0x00 000033a5: PUSH1 0x60 000033a7: PUSH2 0x33af 000033aa: DUP5 000033ab: PUSH2 0x3af0 000033ae: JUMP 000033af: JUMPDEST 000033b0: SUB 000033b1: PUSH1 0x9f 000033b3: DUP2 000033b4: DUP2 000033b5: SUB 000033b6: SWAP5 000033b7: SWAP1 000033b8: SWAP5 000033b9: SHL 000033ba: SWAP1 000033bb: SWAP4 000033bc: SHR 000033bd: PUSH13 0x465772b2bbbb5f824b15207a30 000033cb: DUP2 000033cc: ADD 000033cd: DUP2 000033ce: MUL 000033cf: PUSH1 0x60 000033d1: SWAP1 000033d2: DUP2 000033d3: SAR 000033d4: PUSH14 0x0388eaa27412d5aca026815d636e 000033e3: ADD 000033e4: DUP3 000033e5: MUL 000033e6: DUP2 000033e7: SAR 000033e8: PUSH14 0x0df99ac502031bf953eff472fdcc 000033f7: ADD 000033f8: DUP3 000033f9: MUL 000033fa: DUP2 000033fb: SAR 000033fc: PUSH14 0x13cdffb29d51d99322bdff5f2211 0000340b: ADD 0000340c: DUP3 0000340d: MUL 0000340e: DUP2 0000340f: SAR 00003410: PUSH14 0x0a0f742023def783a307a986912e 0000341f: ADD 00003420: DUP3 00003421: MUL 00003422: DUP2 00003423: SAR 00003424: PUSH14 0x01920d8043ca89b5239253284e42 00003433: ADD 00003434: DUP3 00003435: MUL 00003436: DUP2 00003437: SAR 00003438: PUSH13 0x0b7a86d7375468fac667a0a527 00003446: ADD 00003447: PUSH13 0x29508e458543d8aa4df2abee78 00003455: DUP4 00003456: ADD 00003457: DUP4 00003458: MUL 00003459: DUP3 0000345a: SAR 0000345b: PUSH14 0x0139601a2efabe717e604cbb4894 0000346a: ADD 0000346b: DUP4 0000346c: MUL 0000346d: DUP3 0000346e: SAR 0000346f: PUSH14 0x02247f7a7b6594320649aa03aba1 0000347e: ADD 0000347f: DUP4 00003480: MUL 00003481: DUP3 00003482: SAR 00003483: PUSH32 0xffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9 000034a4: ADD 000034a5: DUP4 000034a6: MUL 000034a7: DUP3 000034a8: SAR 000034a9: PUSH32 0xfffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f 000034ca: ADD 000034cb: DUP4 000034cc: MUL 000034cd: SWAP1 000034ce: SWAP2 000034cf: SAR 000034d0: PUSH32 0xffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832 000034f1: ADD 000034f2: SWAP1 000034f3: SWAP2 000034f4: MUL 000034f5: PUSH32 0xfffffffffffffff5f6af8f7b3396644f18e15796000000000000000000000000 00003516: ADD 00003517: SDIV 00003518: PUSH18 0x1340daa0d5f769dba1915cef59f0815a5506 0000352b: MUL 0000352c: PUSH30 0x0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b3 0000354b: SWAP4 0000354c: SWAP1 0000354d: SWAP4 0000354e: MUL 0000354f: SWAP3 00003550: SWAP1 00003551: SWAP3 00003552: ADD 00003553: PUSH30 0x57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b8864284 00003572: ADD 00003573: PUSH1 0xae 00003575: SAR 00003576: SWAP3 00003577: SWAP2 00003578: POP 00003579: POP 0000357a: JUMP 0000357b: JUMPDEST 0000357c: PUSH1 0x00 0000357e: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffdb731c958f34d94c1 0000359f: DUP3 000035a0: SGT 000035a1: PUSH2 0x35ac 000035a4: JUMPI 000035a5: POP 000035a6: PUSH1 0x00 000035a8: SWAP2 000035a9: SWAP1 000035aa: POP 000035ab: JUMP 000035ac: JUMPDEST 000035ad: PUSH9 0x0755bf798b4a1bf1e5 000035b7: DUP3 000035b8: SLT 000035b9: PUSH2 0x361e 000035bc: JUMPI 000035bd: PUSH1 0x40 000035bf: MLOAD 000035c0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000035e1: DUP2 000035e2: MSTORE 000035e3: PUSH1 0x20 000035e5: PUSH1 0x04 000035e7: DUP3 000035e8: ADD 000035e9: MSTORE 000035ea: PUSH1 0x0c 000035ec: PUSH1 0x24 000035ee: DUP3 000035ef: ADD 000035f0: MSTORE 000035f1: PUSH32 0x4558505f4f564552464c4f570000000000000000000000000000000000000000 00003612: PUSH1 0x44 00003614: DUP3 00003615: ADD 00003616: MSTORE 00003617: PUSH1 0x64 00003619: ADD 0000361a: PUSH2 0x09e0 0000361d: JUMP 0000361e: JUMPDEST 0000361f: PUSH6 0x03782dace9d9 00003626: PUSH1 0x4e 00003628: DUP4 00003629: SWAP1 0000362a: SHL 0000362b: SDIV 0000362c: SWAP2 0000362d: POP 0000362e: PUSH1 0x00 00003630: PUSH1 0x60 00003632: PUSH12 0xb17217f7d1cf79abc9e3b398 0000363f: DUP5 00003640: DUP3 00003641: SHL 00003642: SDIV 00003643: PUSH12 0x800000000000000000000000 00003650: ADD 00003651: SWAP1 00003652: SAR 00003653: PUSH12 0xb17217f7d1cf79abc9e3b398 00003660: DUP2 00003661: MUL 00003662: SWAP1 00003663: SWAP4 00003664: SUB 00003665: PUSH32 0xffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a5504 00003686: DUP2 00003687: ADD 00003688: DUP2 00003689: MUL 0000368a: PUSH1 0x60 0000368c: SWAP1 0000368d: DUP2 0000368e: SAR 0000368f: PUSH14 0x0277594991cfc85f6e2461837cd9 0000369e: ADD 0000369f: DUP3 000036a0: MUL 000036a1: DUP2 000036a2: SAR 000036a3: PUSH32 0xffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c 000036c4: ADD 000036c5: DUP3 000036c6: MUL 000036c7: DUP2 000036c8: SAR 000036c9: PUSH14 0xb1bbb201f443cf962f1a1d3db4a5 000036d8: ADD 000036d9: DUP3 000036da: MUL 000036db: DUP2 000036dc: SAR 000036dd: PUSH32 0xfffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb 000036fe: ADD 000036ff: DUP3 00003700: MUL 00003701: DUP2 00003702: SAR 00003703: PUSH15 0x05180bb14799ab47a8a8cb2a527d57 00003713: ADD 00003714: PUSH14 0x02d16720577bd19bf614176fe9ea 00003723: PUSH13 0x10fe68e7fd37d0007b713f7650 00003731: DUP5 00003732: ADD 00003733: DUP5 00003734: MUL 00003735: DUP4 00003736: SAR 00003737: SWAP1 00003738: DUP2 00003739: ADD 0000373a: SWAP1 0000373b: DUP5 0000373c: ADD 0000373d: PUSH32 0xfffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e 0000375e: ADD 0000375f: MUL 00003760: SWAP1 00003761: SWAP2 00003762: SAR 00003763: PUSH15 0x0587f503bb6ea29d25fcb740196450 00003773: ADD 00003774: SWAP1 00003775: SWAP2 00003776: MUL 00003777: PUSH26 0xd835ebba824c98fb31b83b2ca45c000000000000000000000000 00003792: ADD 00003793: SDIV 00003794: PUSH21 0x029d9dc38563c32e5c2f6dc192ee70ef65f9978af3 000037aa: MUL 000037ab: PUSH1 0xc3 000037ad: SWAP4 000037ae: SWAP1 000037af: SWAP4 000037b0: SUB 000037b1: SWAP3 000037b2: SWAP1 000037b3: SWAP3 000037b4: SHR 000037b5: SWAP3 000037b6: SWAP2 000037b7: POP 000037b8: POP 000037b9: JUMP 000037ba: JUMPDEST 000037bb: DUP1 000037bc: MLOAD 000037bd: PUSH1 0x60 000037bf: SWAP1 000037c0: DUP1 000037c1: PUSH8 0xffffffffffffffff 000037ca: DUP2 000037cb: GT 000037cc: ISZERO 000037cd: PUSH2 0x37d8 000037d0: JUMPI 000037d1: PUSH2 0x37d8 000037d4: PUSH2 0x451c 000037d7: JUMP 000037d8: JUMPDEST 000037d9: PUSH1 0x40 000037db: MLOAD 000037dc: SWAP1 000037dd: DUP1 000037de: DUP3 000037df: MSTORE 000037e0: DUP1 000037e1: PUSH1 0x20 000037e3: MUL 000037e4: PUSH1 0x20 000037e6: ADD 000037e7: DUP3 000037e8: ADD 000037e9: PUSH1 0x40 000037eb: MSTORE 000037ec: DUP1 000037ed: ISZERO 000037ee: PUSH2 0x381d 000037f1: JUMPI 000037f2: DUP2 000037f3: PUSH1 0x20 000037f5: ADD 000037f6: JUMPDEST 000037f7: PUSH1 0x40 000037f9: DUP1 000037fa: MLOAD 000037fb: DUP1 000037fc: DUP3 000037fd: ADD 000037fe: SWAP1 000037ff: SWAP2 00003800: MSTORE 00003801: PUSH1 0x60 00003803: DUP1 00003804: DUP3 00003805: MSTORE 00003806: PUSH1 0x20 00003808: DUP3 00003809: ADD 0000380a: MSTORE 0000380b: DUP2 0000380c: MSTORE 0000380d: PUSH1 0x20 0000380f: ADD 00003810: SWAP1 00003811: PUSH1 0x01 00003813: SWAP1 00003814: SUB 00003815: SWAP1 00003816: DUP2 00003817: PUSH2 0x37f6 0000381a: JUMPI 0000381b: SWAP1 0000381c: POP 0000381d: JUMPDEST 0000381e: POP 0000381f: SWAP2 00003820: POP 00003821: PUSH1 0x00 00003823: JUMPDEST 00003824: DUP2 00003825: DUP2 00003826: LT 00003827: ISZERO 00003828: PUSH2 0x389f 0000382b: JUMPI 0000382c: PUSH1 0x40 0000382e: MLOAD 0000382f: DUP1 00003830: PUSH1 0x40 00003832: ADD 00003833: PUSH1 0x40 00003835: MSTORE 00003836: DUP1 00003837: DUP6 00003838: DUP4 00003839: DUP2 0000383a: MLOAD 0000383b: DUP2 0000383c: LT 0000383d: PUSH2 0x3848 00003840: JUMPI 00003841: PUSH2 0x3848 00003844: PUSH2 0x51bd 00003847: JUMP 00003848: JUMPDEST 00003849: PUSH1 0x20 0000384b: MUL 0000384c: PUSH1 0x20 0000384e: ADD 0000384f: ADD 00003850: MLOAD 00003851: DUP2 00003852: MSTORE 00003853: PUSH1 0x20 00003855: ADD 00003856: PUSH2 0x3877 00003859: DUP7 0000385a: DUP5 0000385b: DUP2 0000385c: MLOAD 0000385d: DUP2 0000385e: LT 0000385f: PUSH2 0x386a 00003862: JUMPI 00003863: PUSH2 0x386a 00003866: PUSH2 0x51bd 00003869: JUMP 0000386a: JUMPDEST 0000386b: PUSH1 0x20 0000386d: MUL 0000386e: PUSH1 0x20 00003870: ADD 00003871: ADD 00003872: MLOAD 00003873: PUSH2 0x3bc6 00003876: JUMP 00003877: JUMPDEST 00003878: DUP2 00003879: MSTORE 0000387a: POP 0000387b: DUP4 0000387c: DUP3 0000387d: DUP2 0000387e: MLOAD 0000387f: DUP2 00003880: LT 00003881: PUSH2 0x388c 00003884: JUMPI 00003885: PUSH2 0x388c 00003888: PUSH2 0x51bd 0000388b: JUMP 0000388c: JUMPDEST 0000388d: PUSH1 0x20 0000388f: SWAP1 00003890: DUP2 00003891: MUL 00003892: SWAP2 00003893: SWAP1 00003894: SWAP2 00003895: ADD 00003896: ADD 00003897: MSTORE 00003898: PUSH1 0x01 0000389a: ADD 0000389b: PUSH2 0x3823 0000389e: JUMP 0000389f: JUMPDEST 000038a0: POP 000038a1: POP 000038a2: SWAP2 000038a3: SWAP1 000038a4: POP 000038a5: JUMP 000038a6: JUMPDEST 000038a7: PUSH1 0x60 000038a9: DUP1 000038aa: PUSH1 0x40 000038ac: MLOAD 000038ad: SWAP1 000038ae: POP 000038af: DUP3 000038b0: MLOAD 000038b1: DUP1 000038b2: PUSH1 0x01 000038b4: SHL 000038b5: PUSH1 0x3f 000038b7: DUP2 000038b8: ADD 000038b9: PUSH1 0x1f 000038bb: NOT 000038bc: AND 000038bd: DUP4 000038be: ADD 000038bf: PUSH1 0x40 000038c1: MSTORE 000038c2: DUP1 000038c3: DUP4 000038c4: MSTORE 000038c5: POP 000038c6: PUSH1 0x20 000038c8: DUP5 000038c9: ADD 000038ca: PUSH1 0x20 000038cc: DUP4 000038cd: ADD 000038ce: PUSH1 0x00 000038d0: JUMPDEST 000038d1: DUP4 000038d2: DUP2 000038d3: LT 000038d4: ISZERO 000038d5: PUSH2 0x38fe 000038d8: JUMPI 000038d9: DUP1 000038da: PUSH1 0x01 000038dc: SHL 000038dd: DUP3 000038de: ADD 000038df: DUP2 000038e0: DUP5 000038e1: ADD 000038e2: MLOAD 000038e3: PUSH1 0x00 000038e5: BYTE 000038e6: DUP1 000038e7: PUSH1 0x04 000038e9: SHR 000038ea: DUP3 000038eb: MSTORE8 000038ec: PUSH1 0x0f 000038ee: DUP2 000038ef: AND 000038f0: PUSH1 0x01 000038f2: DUP4 000038f3: ADD 000038f4: MSTORE8 000038f5: POP 000038f6: POP 000038f7: PUSH1 0x01 000038f9: ADD 000038fa: PUSH2 0x38d0 000038fd: JUMP 000038fe: JUMPDEST 000038ff: POP 00003900: SWAP3 00003901: SWAP6 00003902: SWAP5 00003903: POP 00003904: POP 00003905: POP 00003906: POP 00003907: POP 00003908: JUMP 00003909: JUMPDEST 0000390a: PUSH1 0x60 0000390c: PUSH1 0x00 0000390e: DUP1 0000390f: PUSH1 0x00 00003911: PUSH2 0x3919 00003914: DUP6 00003915: PUSH2 0x3bd9 00003918: JUMP 00003919: JUMPDEST 0000391a: SWAP2 0000391b: SWAP5 0000391c: POP 0000391d: SWAP3 0000391e: POP 0000391f: SWAP1 00003920: POP 00003921: PUSH1 0x00 00003923: DUP2 00003924: PUSH1 0x01 00003926: DUP2 00003927: GT 00003928: ISZERO 00003929: PUSH2 0x3934 0000392c: JUMPI 0000392d: PUSH2 0x3934 00003930: PUSH2 0x4c03 00003933: JUMP 00003934: JUMPDEST 00003935: EQ 00003936: PUSH2 0x396b 00003939: JUMPI 0000393a: PUSH1 0x40 0000393c: MLOAD 0000393d: PUSH32 0x1ff9b2e400000000000000000000000000000000000000000000000000000000 0000395e: DUP2 0000395f: MSTORE 00003960: PUSH1 0x04 00003962: ADD 00003963: PUSH1 0x40 00003965: MLOAD 00003966: DUP1 00003967: SWAP2 00003968: SUB 00003969: SWAP1 0000396a: REVERT 0000396b: JUMPDEST 0000396c: PUSH2 0x3975 0000396f: DUP3 00003970: DUP5 00003971: PUSH2 0x51ec 00003974: JUMP 00003975: JUMPDEST 00003976: DUP6 00003977: MLOAD 00003978: EQ 00003979: PUSH2 0x39ae 0000397c: JUMPI 0000397d: PUSH1 0x40 0000397f: MLOAD 00003980: PUSH32 0x5c5537b800000000000000000000000000000000000000000000000000000000 000039a1: DUP2 000039a2: MSTORE 000039a3: PUSH1 0x04 000039a5: ADD 000039a6: PUSH1 0x40 000039a8: MLOAD 000039a9: DUP1 000039aa: SWAP2 000039ab: SUB 000039ac: SWAP1 000039ad: REVERT 000039ae: JUMPDEST 000039af: PUSH2 0x2860 000039b2: DUP6 000039b3: PUSH1 0x20 000039b5: ADD 000039b6: MLOAD 000039b7: DUP5 000039b8: DUP5 000039b9: PUSH2 0x4077 000039bc: JUMP 000039bd: JUMPDEST 000039be: PUSH1 0x60 000039c0: PUSH1 0x20 000039c2: DUP3 000039c3: PUSH1 0x00 000039c5: ADD 000039c6: MLOAD 000039c7: LT 000039c8: PUSH2 0x39d9 000039cb: JUMPI 000039cc: PUSH2 0x39d4 000039cf: DUP3 000039d0: PUSH2 0x3909 000039d3: JUMP 000039d4: JUMPDEST 000039d5: PUSH2 0x2110 000039d8: JUMP 000039d9: JUMPDEST 000039da: PUSH2 0x2110 000039dd: DUP3 000039de: PUSH2 0x410b 000039e1: JUMP 000039e2: JUMPDEST 000039e3: PUSH1 0x60 000039e5: PUSH2 0x2110 000039e8: PUSH2 0x3a01 000039eb: DUP4 000039ec: PUSH1 0x20 000039ee: ADD 000039ef: MLOAD 000039f0: PUSH1 0x00 000039f2: DUP2 000039f3: MLOAD 000039f4: DUP2 000039f5: LT 000039f6: PUSH2 0x2c6b 000039f9: JUMPI 000039fa: PUSH2 0x2c6b 000039fd: PUSH2 0x51bd 00003a00: JUMP 00003a01: JUMPDEST 00003a02: PUSH2 0x38a6 00003a05: JUMP 00003a06: JUMPDEST 00003a07: PUSH1 0x60 00003a09: DUP3 00003a0a: MLOAD 00003a0b: DUP3 00003a0c: LT 00003a0d: PUSH2 0x3a25 00003a10: JUMPI 00003a11: POP 00003a12: PUSH1 0x40 00003a14: DUP1 00003a15: MLOAD 00003a16: PUSH1 0x20 00003a18: DUP2 00003a19: ADD 00003a1a: SWAP1 00003a1b: SWAP2 00003a1c: MSTORE 00003a1d: PUSH1 0x00 00003a1f: DUP2 00003a20: MSTORE 00003a21: PUSH2 0x2110 00003a24: JUMP 00003a25: JUMPDEST 00003a26: PUSH2 0x2748 00003a29: DUP4 00003a2a: DUP4 00003a2b: DUP5 00003a2c: DUP7 00003a2d: MLOAD 00003a2e: PUSH2 0x3a37 00003a31: SWAP2 00003a32: SWAP1 00003a33: PUSH2 0x4d40 00003a36: JUMP 00003a37: JUMPDEST 00003a38: PUSH2 0x4121 00003a3b: JUMP 00003a3c: JUMPDEST 00003a3d: PUSH1 0x00 00003a3f: DUP1 00003a40: DUP3 00003a41: MLOAD 00003a42: DUP5 00003a43: MLOAD 00003a44: LT 00003a45: PUSH2 0x3a4f 00003a48: JUMPI 00003a49: DUP3 00003a4a: MLOAD 00003a4b: PUSH2 0x3a52 00003a4e: JUMP 00003a4f: JUMPDEST 00003a50: DUP4 00003a51: MLOAD 00003a52: JUMPDEST 00003a53: SWAP1 00003a54: POP 00003a55: JUMPDEST 00003a56: DUP1 00003a57: DUP3 00003a58: LT 00003a59: DUP1 00003a5a: ISZERO 00003a5b: PUSH2 0x3ad9 00003a5e: JUMPI 00003a5f: POP 00003a60: DUP3 00003a61: DUP3 00003a62: DUP2 00003a63: MLOAD 00003a64: DUP2 00003a65: LT 00003a66: PUSH2 0x3a71 00003a69: JUMPI 00003a6a: PUSH2 0x3a71 00003a6d: PUSH2 0x51bd 00003a70: JUMP 00003a71: JUMPDEST 00003a72: PUSH1 0x20 00003a74: ADD 00003a75: ADD 00003a76: MLOAD 00003a77: PUSH1 0xf8 00003a79: SHR 00003a7a: PUSH1 0xf8 00003a7c: SHL 00003a7d: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00003a9d: NOT 00003a9e: AND 00003a9f: DUP5 00003aa0: DUP4 00003aa1: DUP2 00003aa2: MLOAD 00003aa3: DUP2 00003aa4: LT 00003aa5: PUSH2 0x3ab0 00003aa8: JUMPI 00003aa9: PUSH2 0x3ab0 00003aac: PUSH2 0x51bd 00003aaf: JUMP 00003ab0: JUMPDEST 00003ab1: ADD 00003ab2: PUSH1 0x20 00003ab4: ADD 00003ab5: MLOAD 00003ab6: PUSH32 0xff00000000000000000000000000000000000000000000000000000000000000 00003ad7: AND 00003ad8: EQ 00003ad9: JUMPDEST 00003ada: ISZERO 00003adb: PUSH2 0x3ae9 00003ade: JUMPI 00003adf: DUP2 00003ae0: PUSH1 0x01 00003ae2: ADD 00003ae3: SWAP2 00003ae4: POP 00003ae5: PUSH2 0x3a55 00003ae8: JUMP 00003ae9: JUMPDEST 00003aea: POP 00003aeb: SWAP3 00003aec: SWAP2 00003aed: POP 00003aee: POP 00003aef: JUMP 00003af0: JUMPDEST 00003af1: PUSH1 0x00 00003af3: DUP1 00003af4: DUP3 00003af5: GT 00003af6: PUSH2 0x3b5b 00003af9: JUMPI 00003afa: PUSH1 0x40 00003afc: MLOAD 00003afd: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003b1e: DUP2 00003b1f: MSTORE 00003b20: PUSH1 0x20 00003b22: PUSH1 0x04 00003b24: DUP3 00003b25: ADD 00003b26: MSTORE 00003b27: PUSH1 0x09 00003b29: PUSH1 0x24 00003b2b: DUP3 00003b2c: ADD 00003b2d: MSTORE 00003b2e: PUSH32 0x554e444546494e45440000000000000000000000000000000000000000000000 00003b4f: PUSH1 0x44 00003b51: DUP3 00003b52: ADD 00003b53: MSTORE 00003b54: PUSH1 0x64 00003b56: ADD 00003b57: PUSH2 0x09e0 00003b5a: JUMP 00003b5b: JUMPDEST 00003b5c: POP 00003b5d: PUSH1 0x01 00003b5f: PUSH16 0xffffffffffffffffffffffffffffffff 00003b70: DUP3 00003b71: GT 00003b72: PUSH1 0x07 00003b74: SHL 00003b75: DUP3 00003b76: DUP2 00003b77: SHR 00003b78: PUSH8 0xffffffffffffffff 00003b81: LT 00003b82: PUSH1 0x06 00003b84: SHL 00003b85: OR 00003b86: DUP3 00003b87: DUP2 00003b88: SHR 00003b89: PUSH4 0xffffffff 00003b8e: LT 00003b8f: PUSH1 0x05 00003b91: SHL 00003b92: OR 00003b93: DUP3 00003b94: DUP2 00003b95: SHR 00003b96: PUSH2 0xffff 00003b99: LT 00003b9a: PUSH1 0x04 00003b9c: SHL 00003b9d: OR 00003b9e: DUP3 00003b9f: DUP2 00003ba0: SHR 00003ba1: PUSH1 0xff 00003ba3: LT 00003ba4: PUSH1 0x03 00003ba6: SWAP1 00003ba7: DUP2 00003ba8: SHL 00003ba9: SWAP1 00003baa: SWAP2 00003bab: OR 00003bac: DUP4 00003bad: DUP2 00003bae: SHR 00003baf: PUSH1 0x0f 00003bb1: LT 00003bb2: PUSH1 0x02 00003bb4: SHL 00003bb5: OR 00003bb6: DUP4 00003bb7: DUP2 00003bb8: SHR 00003bb9: SWAP1 00003bba: SWAP2 00003bbb: LT 00003bbc: DUP3 00003bbd: SHL 00003bbe: OR 00003bbf: SWAP2 00003bc0: DUP3 00003bc1: SHR 00003bc2: GT 00003bc3: OR 00003bc4: SWAP1 00003bc5: JUMP 00003bc6: JUMPDEST 00003bc7: PUSH1 0x60 00003bc9: PUSH2 0x2110 00003bcc: PUSH2 0x3bd4 00003bcf: DUP4 00003bd0: PUSH2 0x42f9 00003bd3: JUMP 00003bd4: JUMPDEST 00003bd5: PUSH2 0x4366 00003bd8: JUMP 00003bd9: JUMPDEST 00003bda: PUSH1 0x00 00003bdc: DUP1 00003bdd: PUSH1 0x00 00003bdf: DUP4 00003be0: PUSH1 0x00 00003be2: ADD 00003be3: MLOAD 00003be4: PUSH1 0x00 00003be6: SUB 00003be7: PUSH2 0x3c1c 00003bea: JUMPI 00003beb: PUSH1 0x40 00003bed: MLOAD 00003bee: PUSH32 0x5ab458fb00000000000000000000000000000000000000000000000000000000 00003c0f: DUP2 00003c10: MSTORE 00003c11: PUSH1 0x04 00003c13: ADD 00003c14: PUSH1 0x40 00003c16: MLOAD 00003c17: DUP1 00003c18: SWAP2 00003c19: SUB 00003c1a: SWAP1 00003c1b: REVERT 00003c1c: JUMPDEST 00003c1d: PUSH1 0x20 00003c1f: DUP5 00003c20: ADD 00003c21: MLOAD 00003c22: DUP1 00003c23: MLOAD 00003c24: PUSH1 0x00 00003c26: BYTE 00003c27: PUSH1 0x7f 00003c29: DUP2 00003c2a: GT 00003c2b: PUSH2 0x3c41 00003c2e: JUMPI 00003c2f: PUSH1 0x00 00003c31: PUSH1 0x01 00003c33: PUSH1 0x00 00003c35: SWAP5 00003c36: POP 00003c37: SWAP5 00003c38: POP 00003c39: SWAP5 00003c3a: POP 00003c3b: POP 00003c3c: POP 00003c3d: PUSH2 0x4070 00003c40: JUMP 00003c41: JUMPDEST 00003c42: PUSH1 0xb7 00003c44: DUP2 00003c45: GT 00003c46: PUSH2 0x3d57 00003c49: JUMPI 00003c4a: PUSH1 0x00 00003c4c: PUSH2 0x3c56 00003c4f: PUSH1 0x80 00003c51: DUP4 00003c52: PUSH2 0x4d40 00003c55: JUMP 00003c56: JUMPDEST 00003c57: SWAP1 00003c58: POP 00003c59: DUP1 00003c5a: DUP8 00003c5b: PUSH1 0x00 00003c5d: ADD 00003c5e: MLOAD 00003c5f: GT 00003c60: PUSH2 0x3c95 00003c63: JUMPI 00003c64: PUSH1 0x40 00003c66: MLOAD 00003c67: PUSH32 0x66c9448500000000000000000000000000000000000000000000000000000000 00003c88: DUP2 00003c89: MSTORE 00003c8a: PUSH1 0x04 00003c8c: ADD 00003c8d: PUSH1 0x40 00003c8f: MLOAD 00003c90: DUP1 00003c91: SWAP2 00003c92: SUB 00003c93: SWAP1 00003c94: REVERT 00003c95: JUMPDEST 00003c96: PUSH1 0x01 00003c98: DUP4 00003c99: DUP2 00003c9a: ADD 00003c9b: MLOAD 00003c9c: PUSH32 0xff00000000000000000000000000000000000000000000000000000000000000 00003cbd: AND 00003cbe: SWAP1 00003cbf: DUP3 00003cc0: EQ 00003cc1: DUP1 00003cc2: ISZERO 00003cc3: PUSH2 0x3d0d 00003cc6: JUMPI 00003cc7: POP 00003cc8: PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 00003ce9: PUSH32 0xff00000000000000000000000000000000000000000000000000000000000000 00003d0a: DUP3 00003d0b: AND 00003d0c: LT 00003d0d: JUMPDEST 00003d0e: ISZERO 00003d0f: PUSH2 0x3d44 00003d12: JUMPI 00003d13: PUSH1 0x40 00003d15: MLOAD 00003d16: PUSH32 0xbabb01dd00000000000000000000000000000000000000000000000000000000 00003d37: DUP2 00003d38: MSTORE 00003d39: PUSH1 0x04 00003d3b: ADD 00003d3c: PUSH1 0x40 00003d3e: MLOAD 00003d3f: DUP1 00003d40: SWAP2 00003d41: SUB 00003d42: SWAP1 00003d43: REVERT 00003d44: JUMPDEST 00003d45: POP 00003d46: PUSH1 0x01 00003d48: SWAP6 00003d49: POP 00003d4a: SWAP4 00003d4b: POP 00003d4c: PUSH1 0x00 00003d4e: SWAP3 00003d4f: POP 00003d50: PUSH2 0x4070 00003d53: SWAP2 00003d54: POP 00003d55: POP 00003d56: JUMP 00003d57: JUMPDEST 00003d58: PUSH1 0xbf 00003d5a: DUP2 00003d5b: GT 00003d5c: PUSH2 0x3eb5 00003d5f: JUMPI 00003d60: PUSH1 0x00 00003d62: PUSH2 0x3d6c 00003d65: PUSH1 0xb7 00003d67: DUP4 00003d68: PUSH2 0x4d40 00003d6b: JUMP 00003d6c: JUMPDEST 00003d6d: SWAP1 00003d6e: POP 00003d6f: DUP1 00003d70: DUP8 00003d71: PUSH1 0x00 00003d73: ADD 00003d74: MLOAD 00003d75: GT 00003d76: PUSH2 0x3dab 00003d79: JUMPI 00003d7a: PUSH1 0x40 00003d7c: MLOAD 00003d7d: PUSH32 0x66c9448500000000000000000000000000000000000000000000000000000000 00003d9e: DUP2 00003d9f: MSTORE 00003da0: PUSH1 0x04 00003da2: ADD 00003da3: PUSH1 0x40 00003da5: MLOAD 00003da6: DUP1 00003da7: SWAP2 00003da8: SUB 00003da9: SWAP1 00003daa: REVERT 00003dab: JUMPDEST 00003dac: PUSH1 0x01 00003dae: DUP4 00003daf: ADD 00003db0: MLOAD 00003db1: PUSH32 0xff00000000000000000000000000000000000000000000000000000000000000 00003dd2: AND 00003dd3: PUSH1 0x00 00003dd5: DUP2 00003dd6: SWAP1 00003dd7: SUB 00003dd8: PUSH2 0x3e0d 00003ddb: JUMPI 00003ddc: PUSH1 0x40 00003dde: MLOAD 00003ddf: PUSH32 0xbabb01dd00000000000000000000000000000000000000000000000000000000 00003e00: DUP2 00003e01: MSTORE 00003e02: PUSH1 0x04 00003e04: ADD 00003e05: PUSH1 0x40 00003e07: MLOAD 00003e08: DUP1 00003e09: SWAP2 00003e0a: SUB 00003e0b: SWAP1 00003e0c: REVERT 00003e0d: JUMPDEST 00003e0e: PUSH1 0x01 00003e10: DUP5 00003e11: ADD 00003e12: MLOAD 00003e13: PUSH1 0x08 00003e15: DUP4 00003e16: MUL 00003e17: PUSH2 0x0100 00003e1a: SUB 00003e1b: SHR 00003e1c: PUSH1 0x37 00003e1e: DUP2 00003e1f: GT 00003e20: PUSH2 0x3e55 00003e23: JUMPI 00003e24: PUSH1 0x40 00003e26: MLOAD 00003e27: PUSH32 0xbabb01dd00000000000000000000000000000000000000000000000000000000 00003e48: DUP2 00003e49: MSTORE 00003e4a: PUSH1 0x04 00003e4c: ADD 00003e4d: PUSH1 0x40 00003e4f: MLOAD 00003e50: DUP1 00003e51: SWAP2 00003e52: SUB 00003e53: SWAP1 00003e54: REVERT 00003e55: JUMPDEST 00003e56: PUSH2 0x3e5f 00003e59: DUP2 00003e5a: DUP5 00003e5b: PUSH2 0x51ec 00003e5e: JUMP 00003e5f: JUMPDEST 00003e60: DUP10 00003e61: MLOAD 00003e62: GT 00003e63: PUSH2 0x3e98 00003e66: JUMPI 00003e67: PUSH1 0x40 00003e69: MLOAD 00003e6a: PUSH32 0x66c9448500000000000000000000000000000000000000000000000000000000 00003e8b: DUP2 00003e8c: MSTORE 00003e8d: PUSH1 0x04 00003e8f: ADD 00003e90: PUSH1 0x40 00003e92: MLOAD 00003e93: DUP1 00003e94: SWAP2 00003e95: SUB 00003e96: SWAP1 00003e97: REVERT 00003e98: JUMPDEST 00003e99: PUSH2 0x3ea3 00003e9c: DUP4 00003e9d: PUSH1 0x01 00003e9f: PUSH2 0x51ec 00003ea2: JUMP 00003ea3: JUMPDEST 00003ea4: SWAP8 00003ea5: POP 00003ea6: SWAP6 00003ea7: POP 00003ea8: PUSH1 0x00 00003eaa: SWAP5 00003eab: POP 00003eac: PUSH2 0x4070 00003eaf: SWAP4 00003eb0: POP 00003eb1: POP 00003eb2: POP 00003eb3: POP 00003eb4: JUMP 00003eb5: JUMPDEST 00003eb6: PUSH1 0xf7 00003eb8: DUP2 00003eb9: GT 00003eba: PUSH2 0x3f1a 00003ebd: JUMPI 00003ebe: PUSH1 0x00 00003ec0: PUSH2 0x3eca 00003ec3: PUSH1 0xc0 00003ec5: DUP4 00003ec6: PUSH2 0x4d40 00003ec9: JUMP 00003eca: JUMPDEST 00003ecb: SWAP1 00003ecc: POP 00003ecd: DUP1 00003ece: DUP8 00003ecf: PUSH1 0x00 00003ed1: ADD 00003ed2: MLOAD 00003ed3: GT 00003ed4: PUSH2 0x3f09 00003ed7: JUMPI 00003ed8: PUSH1 0x40 00003eda: MLOAD 00003edb: PUSH32 0x66c9448500000000000000000000000000000000000000000000000000000000 00003efc: DUP2 00003efd: MSTORE 00003efe: PUSH1 0x04 00003f00: ADD 00003f01: PUSH1 0x40 00003f03: MLOAD 00003f04: DUP1 00003f05: SWAP2 00003f06: SUB 00003f07: SWAP1 00003f08: REVERT 00003f09: JUMPDEST 00003f0a: PUSH1 0x01 00003f0c: SWAP6 00003f0d: POP 00003f0e: SWAP4 00003f0f: POP 00003f10: DUP5 00003f11: SWAP3 00003f12: POP 00003f13: PUSH2 0x4070 00003f16: SWAP2 00003f17: POP 00003f18: POP 00003f19: JUMP 00003f1a: JUMPDEST 00003f1b: PUSH1 0x00 00003f1d: PUSH2 0x3f27 00003f20: PUSH1 0xf7 00003f22: DUP4 00003f23: PUSH2 0x4d40 00003f26: JUMP 00003f27: JUMPDEST 00003f28: SWAP1 00003f29: POP 00003f2a: DUP1 00003f2b: DUP8 00003f2c: PUSH1 0x00 00003f2e: ADD 00003f2f: MLOAD 00003f30: GT 00003f31: PUSH2 0x3f66 00003f34: JUMPI 00003f35: PUSH1 0x40 00003f37: MLOAD 00003f38: PUSH32 0x66c9448500000000000000000000000000000000000000000000000000000000 00003f59: DUP2 00003f5a: MSTORE 00003f5b: PUSH1 0x04 00003f5d: ADD 00003f5e: PUSH1 0x40 00003f60: MLOAD 00003f61: DUP1 00003f62: SWAP2 00003f63: SUB 00003f64: SWAP1 00003f65: REVERT 00003f66: JUMPDEST 00003f67: PUSH1 0x01 00003f69: DUP4 00003f6a: ADD 00003f6b: MLOAD 00003f6c: PUSH32 0xff00000000000000000000000000000000000000000000000000000000000000 00003f8d: AND 00003f8e: PUSH1 0x00 00003f90: DUP2 00003f91: SWAP1 00003f92: SUB 00003f93: PUSH2 0x3fc8 00003f96: JUMPI 00003f97: PUSH1 0x40 00003f99: MLOAD 00003f9a: PUSH32 0xbabb01dd00000000000000000000000000000000000000000000000000000000 00003fbb: DUP2 00003fbc: MSTORE 00003fbd: PUSH1 0x04 00003fbf: ADD 00003fc0: PUSH1 0x40 00003fc2: MLOAD 00003fc3: DUP1 00003fc4: SWAP2 00003fc5: SUB 00003fc6: SWAP1 00003fc7: REVERT 00003fc8: JUMPDEST 00003fc9: PUSH1 0x01 00003fcb: DUP5 00003fcc: ADD 00003fcd: MLOAD 00003fce: PUSH1 0x08 00003fd0: DUP4 00003fd1: MUL 00003fd2: PUSH2 0x0100 00003fd5: SUB 00003fd6: SHR 00003fd7: PUSH1 0x37 00003fd9: DUP2 00003fda: GT 00003fdb: PUSH2 0x4010 00003fde: JUMPI 00003fdf: PUSH1 0x40 00003fe1: MLOAD 00003fe2: PUSH32 0xbabb01dd00000000000000000000000000000000000000000000000000000000 00004003: DUP2 00004004: MSTORE 00004005: PUSH1 0x04 00004007: ADD 00004008: PUSH1 0x40 0000400a: MLOAD 0000400b: DUP1 0000400c: SWAP2 0000400d: SUB 0000400e: SWAP1 0000400f: REVERT 00004010: JUMPDEST 00004011: PUSH2 0x401a 00004014: DUP2 00004015: DUP5 00004016: PUSH2 0x51ec 00004019: JUMP 0000401a: JUMPDEST 0000401b: DUP10 0000401c: MLOAD 0000401d: GT 0000401e: PUSH2 0x4053 00004021: JUMPI 00004022: PUSH1 0x40 00004024: MLOAD 00004025: PUSH32 0x66c9448500000000000000000000000000000000000000000000000000000000 00004046: DUP2 00004047: MSTORE 00004048: PUSH1 0x04 0000404a: ADD 0000404b: PUSH1 0x40 0000404d: MLOAD 0000404e: DUP1 0000404f: SWAP2 00004050: SUB 00004051: SWAP1 00004052: REVERT 00004053: JUMPDEST 00004054: PUSH2 0x405e 00004057: DUP4 00004058: PUSH1 0x01 0000405a: PUSH2 0x51ec 0000405d: JUMP 0000405e: JUMPDEST 0000405f: SWAP8 00004060: POP 00004061: SWAP6 00004062: POP 00004063: PUSH1 0x01 00004065: SWAP5 00004066: POP 00004067: PUSH2 0x4070 0000406a: SWAP4 0000406b: POP 0000406c: POP 0000406d: POP 0000406e: POP 0000406f: JUMP 00004070: JUMPDEST 00004071: SWAP2 00004072: SWAP4 00004073: SWAP1 00004074: SWAP3 00004075: POP 00004076: JUMP 00004077: JUMPDEST 00004078: PUSH1 0x60 0000407a: DUP2 0000407b: PUSH8 0xffffffffffffffff 00004084: DUP2 00004085: GT 00004086: ISZERO 00004087: PUSH2 0x4092 0000408a: JUMPI 0000408b: PUSH2 0x4092 0000408e: PUSH2 0x451c 00004091: JUMP 00004092: JUMPDEST 00004093: PUSH1 0x40 00004095: MLOAD 00004096: SWAP1 00004097: DUP1 00004098: DUP3 00004099: MSTORE 0000409a: DUP1 0000409b: PUSH1 0x1f 0000409d: ADD 0000409e: PUSH1 0x1f 000040a0: NOT 000040a1: AND 000040a2: PUSH1 0x20 000040a4: ADD 000040a5: DUP3 000040a6: ADD 000040a7: PUSH1 0x40 000040a9: MSTORE 000040aa: DUP1 000040ab: ISZERO 000040ac: PUSH2 0x40bc 000040af: JUMPI 000040b0: PUSH1 0x20 000040b2: DUP3 000040b3: ADD 000040b4: DUP2 000040b5: DUP1 000040b6: CALLDATASIZE 000040b7: DUP4 000040b8: CALLDATACOPY 000040b9: ADD 000040ba: SWAP1 000040bb: POP 000040bc: JUMPDEST 000040bd: POP 000040be: SWAP1 000040bf: POP 000040c0: DUP2 000040c1: ISZERO 000040c2: PUSH2 0x2748 000040c5: JUMPI 000040c6: PUSH1 0x00 000040c8: PUSH2 0x40d1 000040cb: DUP5 000040cc: DUP7 000040cd: PUSH2 0x51ec 000040d0: JUMP 000040d1: JUMPDEST 000040d2: SWAP1 000040d3: POP 000040d4: PUSH1 0x20 000040d6: DUP3 000040d7: ADD 000040d8: PUSH1 0x00 000040da: JUMPDEST 000040db: DUP5 000040dc: DUP2 000040dd: LT 000040de: ISZERO 000040df: PUSH2 0x40f2 000040e2: JUMPI 000040e3: DUP3 000040e4: DUP2 000040e5: ADD 000040e6: MLOAD 000040e7: DUP3 000040e8: DUP3 000040e9: ADD 000040ea: MSTORE 000040eb: PUSH1 0x20 000040ed: ADD 000040ee: PUSH2 0x40da 000040f1: JUMP 000040f2: JUMPDEST 000040f3: DUP5 000040f4: DUP2 000040f5: GT 000040f6: ISZERO 000040f7: PUSH2 0x4101 000040fa: JUMPI 000040fb: PUSH1 0x00 000040fd: DUP6 000040fe: DUP4 000040ff: ADD 00004100: MSTORE 00004101: JUMPDEST 00004102: POP 00004103: POP 00004104: POP 00004105: SWAP4 00004106: SWAP3 00004107: POP 00004108: POP 00004109: POP 0000410a: JUMP 0000410b: JUMPDEST 0000410c: PUSH1 0x60 0000410e: PUSH2 0x2110 00004111: DUP3 00004112: PUSH1 0x20 00004114: ADD 00004115: MLOAD 00004116: PUSH1 0x00 00004118: DUP5 00004119: PUSH1 0x00 0000411b: ADD 0000411c: MLOAD 0000411d: PUSH2 0x4077 00004120: JUMP 00004121: JUMPDEST 00004122: PUSH1 0x60 00004124: DUP2 00004125: DUP3 00004126: PUSH1 0x1f 00004128: ADD 00004129: LT 0000412a: ISZERO 0000412b: PUSH2 0x4190 0000412e: JUMPI 0000412f: PUSH1 0x40 00004131: MLOAD 00004132: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00004153: DUP2 00004154: MSTORE 00004155: PUSH1 0x20 00004157: PUSH1 0x04 00004159: DUP3 0000415a: ADD 0000415b: MSTORE 0000415c: PUSH1 0x0e 0000415e: PUSH1 0x24 00004160: DUP3 00004161: ADD 00004162: MSTORE 00004163: PUSH32 0x736c6963655f6f766572666c6f77000000000000000000000000000000000000 00004184: PUSH1 0x44 00004186: DUP3 00004187: ADD 00004188: MSTORE 00004189: PUSH1 0x64 0000418b: ADD 0000418c: PUSH2 0x09e0 0000418f: JUMP 00004190: JUMPDEST 00004191: DUP3 00004192: DUP3 00004193: DUP5 00004194: ADD 00004195: LT 00004196: ISZERO 00004197: PUSH2 0x41fc 0000419a: JUMPI 0000419b: PUSH1 0x40 0000419d: MLOAD 0000419e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000041bf: DUP2 000041c0: MSTORE 000041c1: PUSH1 0x20 000041c3: PUSH1 0x04 000041c5: DUP3 000041c6: ADD 000041c7: MSTORE 000041c8: PUSH1 0x0e 000041ca: PUSH1 0x24 000041cc: DUP3 000041cd: ADD 000041ce: MSTORE 000041cf: PUSH32 0x736c6963655f6f766572666c6f77000000000000000000000000000000000000 000041f0: PUSH1 0x44 000041f2: DUP3 000041f3: ADD 000041f4: MSTORE 000041f5: PUSH1 0x64 000041f7: ADD 000041f8: PUSH2 0x09e0 000041fb: JUMP 000041fc: JUMPDEST 000041fd: DUP2 000041fe: DUP4 000041ff: ADD 00004200: DUP5 00004201: MLOAD 00004202: LT 00004203: ISZERO 00004204: PUSH2 0x4269 00004207: JUMPI 00004208: PUSH1 0x40 0000420a: MLOAD 0000420b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000422c: DUP2 0000422d: MSTORE 0000422e: PUSH1 0x20 00004230: PUSH1 0x04 00004232: DUP3 00004233: ADD 00004234: MSTORE 00004235: PUSH1 0x11 00004237: PUSH1 0x24 00004239: DUP3 0000423a: ADD 0000423b: MSTORE 0000423c: PUSH32 0x736c6963655f6f75744f66426f756e6473000000000000000000000000000000 0000425d: PUSH1 0x44 0000425f: DUP3 00004260: ADD 00004261: MSTORE 00004262: PUSH1 0x64 00004264: ADD 00004265: PUSH2 0x09e0 00004268: JUMP 00004269: JUMPDEST 0000426a: PUSH1 0x60 0000426c: DUP3 0000426d: ISZERO 0000426e: DUP1 0000426f: ISZERO 00004270: PUSH2 0x4288 00004273: JUMPI 00004274: PUSH1 0x40 00004276: MLOAD 00004277: SWAP2 00004278: POP 00004279: PUSH1 0x00 0000427b: DUP3 0000427c: MSTORE 0000427d: PUSH1 0x20 0000427f: DUP3 00004280: ADD 00004281: PUSH1 0x40 00004283: MSTORE 00004284: PUSH2 0x42f0 00004287: JUMP 00004288: JUMPDEST 00004289: PUSH1 0x40 0000428b: MLOAD 0000428c: SWAP2 0000428d: POP 0000428e: PUSH1 0x1f 00004290: DUP5 00004291: AND 00004292: DUP1 00004293: ISZERO 00004294: PUSH1 0x20 00004296: MUL 00004297: DUP2 00004298: DUP5 00004299: ADD 0000429a: ADD 0000429b: DUP6 0000429c: DUP2 0000429d: ADD 0000429e: DUP8 0000429f: DUP4 000042a0: ISZERO 000042a1: PUSH1 0x20 000042a3: MUL 000042a4: DUP5 000042a5: DUP12 000042a6: ADD 000042a7: ADD 000042a8: ADD 000042a9: JUMPDEST 000042aa: DUP2 000042ab: DUP4 000042ac: LT 000042ad: ISZERO 000042ae: PUSH2 0x42c1 000042b1: JUMPI 000042b2: DUP1 000042b3: MLOAD 000042b4: DUP4 000042b5: MSTORE 000042b6: PUSH1 0x20 000042b8: SWAP3 000042b9: DUP4 000042ba: ADD 000042bb: SWAP3 000042bc: ADD 000042bd: PUSH2 0x42a9 000042c0: JUMP 000042c1: JUMPDEST 000042c2: POP 000042c3: POP 000042c4: DUP6 000042c5: DUP5 000042c6: MSTORE 000042c7: PUSH1 0x1f 000042c9: ADD 000042ca: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 000042eb: AND 000042ec: PUSH1 0x40 000042ee: MSTORE 000042ef: POP 000042f0: JUMPDEST 000042f1: POP 000042f2: SWAP5 000042f3: SWAP4 000042f4: POP 000042f5: POP 000042f6: POP 000042f7: POP 000042f8: JUMP 000042f9: JUMPDEST 000042fa: PUSH1 0x40 000042fc: DUP1 000042fd: MLOAD 000042fe: DUP1 000042ff: DUP3 00004300: ADD 00004301: SWAP1 00004302: SWAP2 00004303: MSTORE 00004304: PUSH1 0x00 00004306: DUP1 00004307: DUP3 00004308: MSTORE 00004309: PUSH1 0x20 0000430b: DUP3 0000430c: ADD 0000430d: MSTORE 0000430e: DUP2 0000430f: MLOAD 00004310: PUSH1 0x00 00004312: SUB 00004313: PUSH2 0x4348 00004316: JUMPI 00004317: PUSH1 0x40 00004319: MLOAD 0000431a: PUSH32 0x5ab458fb00000000000000000000000000000000000000000000000000000000 0000433b: DUP2 0000433c: MSTORE 0000433d: PUSH1 0x04 0000433f: ADD 00004340: PUSH1 0x40 00004342: MLOAD 00004343: DUP1 00004344: SWAP2 00004345: SUB 00004346: SWAP1 00004347: REVERT 00004348: JUMPDEST 00004349: POP 0000434a: PUSH1 0x40 0000434c: DUP1 0000434d: MLOAD 0000434e: DUP1 0000434f: DUP3 00004350: ADD 00004351: SWAP1 00004352: SWAP2 00004353: MSTORE 00004354: DUP2 00004355: MLOAD 00004356: DUP2 00004357: MSTORE 00004358: PUSH1 0x20 0000435a: SWAP2 0000435b: DUP3 0000435c: ADD 0000435d: SWAP2 0000435e: DUP2 0000435f: ADD 00004360: SWAP2 00004361: SWAP1 00004362: SWAP2 00004363: MSTORE 00004364: SWAP1 00004365: JUMP 00004366: JUMPDEST 00004367: PUSH1 0x60 00004369: PUSH1 0x00 0000436b: DUP1 0000436c: PUSH1 0x00 0000436e: PUSH2 0x4376 00004371: DUP6 00004372: PUSH2 0x3bd9 00004375: JUMP 00004376: JUMPDEST 00004377: SWAP2 00004378: SWAP5 00004379: POP 0000437a: SWAP3 0000437b: POP 0000437c: SWAP1 0000437d: POP 0000437e: PUSH1 0x01 00004380: DUP2 00004381: PUSH1 0x01 00004383: DUP2 00004384: GT 00004385: ISZERO 00004386: PUSH2 0x4391 00004389: JUMPI 0000438a: PUSH2 0x4391 0000438d: PUSH2 0x4c03 00004390: JUMP 00004391: JUMPDEST 00004392: EQ 00004393: PUSH2 0x43c8 00004396: JUMPI 00004397: PUSH1 0x40 00004399: MLOAD 0000439a: PUSH32 0x4b9c6abe00000000000000000000000000000000000000000000000000000000 000043bb: DUP2 000043bc: MSTORE 000043bd: PUSH1 0x04 000043bf: ADD 000043c0: PUSH1 0x40 000043c2: MLOAD 000043c3: DUP1 000043c4: SWAP2 000043c5: SUB 000043c6: SWAP1 000043c7: REVERT 000043c8: JUMPDEST 000043c9: DUP5 000043ca: MLOAD 000043cb: PUSH2 0x43d4 000043ce: DUP4 000043cf: DUP6 000043d0: PUSH2 0x51ec 000043d3: JUMP 000043d4: JUMPDEST 000043d5: EQ 000043d6: PUSH2 0x440b 000043d9: JUMPI 000043da: PUSH1 0x40 000043dc: MLOAD 000043dd: PUSH32 0x5c5537b800000000000000000000000000000000000000000000000000000000 000043fe: DUP2 000043ff: MSTORE 00004400: PUSH1 0x04 00004402: ADD 00004403: PUSH1 0x40 00004405: MLOAD 00004406: DUP1 00004407: SWAP2 00004408: SUB 00004409: SWAP1 0000440a: REVERT 0000440b: JUMPDEST 0000440c: PUSH1 0x40 0000440e: DUP1 0000440f: MLOAD 00004410: PUSH1 0x20 00004412: DUP1 00004413: DUP3 00004414: MSTORE 00004415: PUSH2 0x0420 00004418: DUP3 00004419: ADD 0000441a: SWAP1 0000441b: SWAP3 0000441c: MSTORE 0000441d: SWAP1 0000441e: DUP2 0000441f: PUSH1 0x20 00004421: ADD 00004422: JUMPDEST 00004423: PUSH1 0x40 00004425: DUP1 00004426: MLOAD 00004427: DUP1 00004428: DUP3 00004429: ADD 0000442a: SWAP1 0000442b: SWAP2 0000442c: MSTORE 0000442d: PUSH1 0x00 0000442f: DUP1 00004430: DUP3 00004431: MSTORE 00004432: PUSH1 0x20 00004434: DUP3 00004435: ADD 00004436: MSTORE 00004437: DUP2 00004438: MSTORE 00004439: PUSH1 0x20 0000443b: ADD 0000443c: SWAP1 0000443d: PUSH1 0x01 0000443f: SWAP1 00004440: SUB 00004441: SWAP1 00004442: DUP2 00004443: PUSH2 0x4422 00004446: JUMPI 00004447: SWAP1 00004448: POP 00004449: POP 0000444a: SWAP4 0000444b: POP 0000444c: PUSH1 0x00 0000444e: DUP4 0000444f: JUMPDEST 00004450: DUP7 00004451: MLOAD 00004452: DUP2 00004453: LT 00004454: ISZERO 00004455: PUSH2 0x4510 00004458: JUMPI 00004459: PUSH1 0x00 0000445b: DUP1 0000445c: PUSH2 0x4495 0000445f: PUSH1 0x40 00004461: MLOAD 00004462: DUP1 00004463: PUSH1 0x40 00004465: ADD 00004466: PUSH1 0x40 00004468: MSTORE 00004469: DUP1 0000446a: DUP6 0000446b: DUP13 0000446c: PUSH1 0x00 0000446e: ADD 0000446f: MLOAD 00004470: PUSH2 0x4479 00004473: SWAP2 00004474: SWAP1 00004475: PUSH2 0x4d40 00004478: JUMP 00004479: JUMPDEST 0000447a: DUP2 0000447b: MSTORE 0000447c: PUSH1 0x20 0000447e: ADD 0000447f: DUP6 00004480: DUP13 00004481: PUSH1 0x20 00004483: ADD 00004484: MLOAD 00004485: PUSH2 0x448e 00004488: SWAP2 00004489: SWAP1 0000448a: PUSH2 0x51ec 0000448d: JUMP 0000448e: JUMPDEST 0000448f: SWAP1 00004490: MSTORE 00004491: PUSH2 0x3bd9 00004494: JUMP 00004495: JUMPDEST 00004496: POP 00004497: SWAP2 00004498: POP 00004499: SWAP2 0000449a: POP 0000449b: PUSH1 0x40 0000449d: MLOAD 0000449e: DUP1 0000449f: PUSH1 0x40 000044a1: ADD 000044a2: PUSH1 0x40 000044a4: MSTORE 000044a5: DUP1 000044a6: DUP4 000044a7: DUP4 000044a8: PUSH2 0x44b1 000044ab: SWAP2 000044ac: SWAP1 000044ad: PUSH2 0x51ec 000044b0: JUMP 000044b1: JUMPDEST 000044b2: DUP2 000044b3: MSTORE 000044b4: PUSH1 0x20 000044b6: ADD 000044b7: DUP5 000044b8: DUP12 000044b9: PUSH1 0x20 000044bb: ADD 000044bc: MLOAD 000044bd: PUSH2 0x44c6 000044c0: SWAP2 000044c1: SWAP1 000044c2: PUSH2 0x51ec 000044c5: JUMP 000044c6: JUMPDEST 000044c7: DUP2 000044c8: MSTORE 000044c9: POP 000044ca: DUP9 000044cb: DUP6 000044cc: DUP2 000044cd: MLOAD 000044ce: DUP2 000044cf: LT 000044d0: PUSH2 0x44db 000044d3: JUMPI 000044d4: PUSH2 0x44db 000044d7: PUSH2 0x51bd 000044da: JUMP 000044db: JUMPDEST 000044dc: PUSH1 0x20 000044de: SWAP1 000044df: DUP2 000044e0: MUL 000044e1: SWAP2 000044e2: SWAP1 000044e3: SWAP2 000044e4: ADD 000044e5: ADD 000044e6: MSTORE 000044e7: PUSH2 0x44f1 000044ea: PUSH1 0x01 000044ec: DUP6 000044ed: PUSH2 0x51ec 000044f0: JUMP 000044f1: JUMPDEST 000044f2: SWAP4 000044f3: POP 000044f4: PUSH2 0x44fd 000044f7: DUP2 000044f8: DUP4 000044f9: PUSH2 0x51ec 000044fc: JUMP 000044fd: JUMPDEST 000044fe: PUSH2 0x4507 00004501: SWAP1 00004502: DUP5 00004503: PUSH2 0x51ec 00004506: JUMP 00004507: JUMPDEST 00004508: SWAP3 00004509: POP 0000450a: POP 0000450b: POP 0000450c: PUSH2 0x444f 0000450f: JUMP 00004510: JUMPDEST 00004511: POP 00004512: DUP5 00004513: MSTORE 00004514: POP 00004515: SWAP2 00004516: SWAP4 00004517: SWAP3 00004518: POP 00004519: POP 0000451a: POP 0000451b: JUMP 0000451c: JUMPDEST 0000451d: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 0000453e: PUSH1 0x00 00004540: MSTORE 00004541: PUSH1 0x41 00004543: PUSH1 0x04 00004545: MSTORE 00004546: PUSH1 0x24 00004548: PUSH1 0x00 0000454a: REVERT 0000454b: JUMPDEST 0000454c: PUSH1 0x40 0000454e: MLOAD 0000454f: PUSH1 0x1f 00004551: DUP3 00004552: ADD 00004553: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00004574: AND 00004575: DUP2 00004576: ADD 00004577: PUSH8 0xffffffffffffffff 00004580: DUP2 00004581: GT 00004582: DUP3 00004583: DUP3 00004584: LT 00004585: OR 00004586: ISZERO 00004587: PUSH2 0x4592 0000458a: JUMPI 0000458b: PUSH2 0x4592 0000458e: PUSH2 0x451c 00004591: JUMP 00004592: JUMPDEST 00004593: PUSH1 0x40 00004595: MSTORE 00004596: SWAP2 00004597: SWAP1 00004598: POP 00004599: JUMP 0000459a: JUMPDEST 0000459b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000045b0: DUP2 000045b1: AND 000045b2: DUP2 000045b3: EQ 000045b4: PUSH2 0x1e3f 000045b7: JUMPI 000045b8: PUSH1 0x00 000045ba: DUP1 000045bb: REVERT 000045bc: JUMPDEST 000045bd: PUSH1 0x00 000045bf: DUP3 000045c0: PUSH1 0x1f 000045c2: DUP4 000045c3: ADD 000045c4: SLT 000045c5: PUSH2 0x45cd 000045c8: JUMPI 000045c9: PUSH1 0x00 000045cb: DUP1 000045cc: REVERT 000045cd: JUMPDEST 000045ce: DUP2 000045cf: CALLDATALOAD 000045d0: PUSH8 0xffffffffffffffff 000045d9: DUP2 000045da: GT 000045db: ISZERO 000045dc: PUSH2 0x45e7 000045df: JUMPI 000045e0: PUSH2 0x45e7 000045e3: PUSH2 0x451c 000045e6: JUMP 000045e7: JUMPDEST 000045e8: PUSH2 0x4618 000045eb: PUSH1 0x20 000045ed: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 0000460e: PUSH1 0x1f 00004610: DUP5 00004611: ADD 00004612: AND 00004613: ADD 00004614: PUSH2 0x454b 00004617: JUMP 00004618: JUMPDEST 00004619: DUP2 0000461a: DUP2 0000461b: MSTORE 0000461c: DUP5 0000461d: PUSH1 0x20 0000461f: DUP4 00004620: DUP7 00004621: ADD 00004622: ADD 00004623: GT 00004624: ISZERO 00004625: PUSH2 0x462d 00004628: JUMPI 00004629: PUSH1 0x00 0000462b: DUP1 0000462c: REVERT 0000462d: JUMPDEST 0000462e: DUP2 0000462f: PUSH1 0x20 00004631: DUP6 00004632: ADD 00004633: PUSH1 0x20 00004635: DUP4 00004636: ADD 00004637: CALLDATACOPY 00004638: PUSH1 0x00 0000463a: SWAP2 0000463b: DUP2 0000463c: ADD 0000463d: PUSH1 0x20 0000463f: ADD 00004640: SWAP2 00004641: SWAP1 00004642: SWAP2 00004643: MSTORE 00004644: SWAP4 00004645: SWAP3 00004646: POP 00004647: POP 00004648: POP 00004649: JUMP 0000464a: JUMPDEST 0000464b: PUSH1 0x00 0000464d: PUSH1 0xc0 0000464f: DUP3 00004650: DUP5 00004651: SUB 00004652: SLT 00004653: ISZERO 00004654: PUSH2 0x465c 00004657: JUMPI 00004658: PUSH1 0x00 0000465a: DUP1 0000465b: REVERT 0000465c: JUMPDEST 0000465d: PUSH1 0x40 0000465f: MLOAD 00004660: PUSH1 0xc0 00004662: DUP2 00004663: ADD 00004664: PUSH8 0xffffffffffffffff 0000466d: DUP3 0000466e: DUP3 0000466f: LT 00004670: DUP2 00004671: DUP4 00004672: GT 00004673: OR 00004674: ISZERO 00004675: PUSH2 0x4680 00004678: JUMPI 00004679: PUSH2 0x4680 0000467c: PUSH2 0x451c 0000467f: JUMP 00004680: JUMPDEST 00004681: DUP2 00004682: PUSH1 0x40 00004684: MSTORE 00004685: DUP3 00004686: SWAP4 00004687: POP 00004688: DUP5 00004689: CALLDATALOAD 0000468a: DUP4 0000468b: MSTORE 0000468c: PUSH1 0x20 0000468e: DUP6 0000468f: ADD 00004690: CALLDATALOAD 00004691: SWAP2 00004692: POP 00004693: PUSH2 0x469b 00004696: DUP3 00004697: PUSH2 0x459a 0000469a: JUMP 0000469b: JUMPDEST 0000469c: DUP2 0000469d: PUSH1 0x20 0000469f: DUP5 000046a0: ADD 000046a1: MSTORE 000046a2: PUSH1 0x40 000046a4: DUP6 000046a5: ADD 000046a6: CALLDATALOAD 000046a7: SWAP2 000046a8: POP 000046a9: PUSH2 0x46b1 000046ac: DUP3 000046ad: PUSH2 0x459a 000046b0: JUMP 000046b1: JUMPDEST 000046b2: DUP2 000046b3: PUSH1 0x40 000046b5: DUP5 000046b6: ADD 000046b7: MSTORE 000046b8: PUSH1 0x60 000046ba: DUP6 000046bb: ADD 000046bc: CALLDATALOAD 000046bd: PUSH1 0x60 000046bf: DUP5 000046c0: ADD 000046c1: MSTORE 000046c2: PUSH1 0x80 000046c4: DUP6 000046c5: ADD 000046c6: CALLDATALOAD 000046c7: PUSH1 0x80 000046c9: DUP5 000046ca: ADD 000046cb: MSTORE 000046cc: PUSH1 0xa0 000046ce: DUP6 000046cf: ADD 000046d0: CALLDATALOAD 000046d1: SWAP2 000046d2: POP 000046d3: DUP1 000046d4: DUP3 000046d5: GT 000046d6: ISZERO 000046d7: PUSH2 0x46df 000046da: JUMPI 000046db: PUSH1 0x00 000046dd: DUP1 000046de: REVERT 000046df: JUMPDEST 000046e0: POP 000046e1: PUSH2 0x46ec 000046e4: DUP6 000046e5: DUP3 000046e6: DUP7 000046e7: ADD 000046e8: PUSH2 0x45bc 000046eb: JUMP 000046ec: JUMPDEST 000046ed: PUSH1 0xa0 000046ef: DUP4 000046f0: ADD 000046f1: MSTORE 000046f2: POP 000046f3: POP 000046f4: SWAP3 000046f5: SWAP2 000046f6: POP 000046f7: POP 000046f8: JUMP 000046f9: JUMPDEST 000046fa: PUSH1 0x00 000046fc: DUP1 000046fd: PUSH1 0x40 000046ff: DUP4 00004700: DUP6 00004701: SUB 00004702: SLT 00004703: ISZERO 00004704: PUSH2 0x470c 00004707: JUMPI 00004708: PUSH1 0x00 0000470a: DUP1 0000470b: REVERT 0000470c: JUMPDEST 0000470d: DUP3 0000470e: CALLDATALOAD 0000470f: PUSH8 0xffffffffffffffff 00004718: DUP2 00004719: GT 0000471a: ISZERO 0000471b: PUSH2 0x4723 0000471e: JUMPI 0000471f: PUSH1 0x00 00004721: DUP1 00004722: REVERT 00004723: JUMPDEST 00004724: PUSH2 0x472f 00004727: DUP6 00004728: DUP3 00004729: DUP7 0000472a: ADD 0000472b: PUSH2 0x464a 0000472e: JUMP 0000472f: JUMPDEST 00004730: SWAP3 00004731: POP 00004732: POP 00004733: PUSH1 0x20 00004735: DUP4 00004736: ADD 00004737: CALLDATALOAD 00004738: PUSH2 0x4740 0000473b: DUP2 0000473c: PUSH2 0x459a 0000473f: JUMP 00004740: JUMPDEST 00004741: DUP1 00004742: SWAP2 00004743: POP 00004744: POP 00004745: SWAP3 00004746: POP 00004747: SWAP3 00004748: SWAP1 00004749: POP 0000474a: JUMP 0000474b: JUMPDEST 0000474c: PUSH1 0x00 0000474e: PUSH1 0x20 00004750: DUP3 00004751: DUP5 00004752: SUB 00004753: SLT 00004754: ISZERO 00004755: PUSH2 0x475d 00004758: JUMPI 00004759: PUSH1 0x00 0000475b: DUP1 0000475c: REVERT 0000475d: JUMPDEST 0000475e: DUP2 0000475f: CALLDATALOAD 00004760: PUSH2 0x2748 00004763: DUP2 00004764: PUSH2 0x459a 00004767: JUMP 00004768: JUMPDEST 00004769: PUSH1 0x00 0000476b: DUP1 0000476c: PUSH1 0x00 0000476e: DUP1 0000476f: PUSH1 0x00 00004771: DUP6 00004772: DUP8 00004773: SUB 00004774: PUSH1 0xe0 00004776: DUP2 00004777: SLT 00004778: ISZERO 00004779: PUSH2 0x4781 0000477c: JUMPI 0000477d: PUSH1 0x00 0000477f: DUP1 00004780: REVERT 00004781: JUMPDEST 00004782: DUP7 00004783: CALLDATALOAD 00004784: PUSH8 0xffffffffffffffff 0000478d: DUP1 0000478e: DUP3 0000478f: GT 00004790: ISZERO 00004791: PUSH2 0x4799 00004794: JUMPI 00004795: PUSH1 0x00 00004797: DUP1 00004798: REVERT 00004799: JUMPDEST 0000479a: PUSH2 0x47a5 0000479d: DUP11 0000479e: DUP4 0000479f: DUP12 000047a0: ADD 000047a1: PUSH2 0x464a 000047a4: JUMP 000047a5: JUMPDEST 000047a6: SWAP8 000047a7: POP 000047a8: PUSH1 0x20 000047aa: DUP10 000047ab: ADD 000047ac: CALLDATALOAD 000047ad: SWAP7 000047ae: POP 000047af: PUSH1 0x80 000047b1: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0 000047d2: DUP5 000047d3: ADD 000047d4: SLT 000047d5: ISZERO 000047d6: PUSH2 0x47de 000047d9: JUMPI 000047da: PUSH1 0x00 000047dc: DUP1 000047dd: REVERT 000047de: JUMPDEST 000047df: PUSH1 0x40 000047e1: DUP10 000047e2: ADD 000047e3: SWAP6 000047e4: POP 000047e5: PUSH1 0xc0 000047e7: DUP10 000047e8: ADD 000047e9: CALLDATALOAD 000047ea: SWAP3 000047eb: POP 000047ec: DUP1 000047ed: DUP4 000047ee: GT 000047ef: ISZERO 000047f0: PUSH2 0x47f8 000047f3: JUMPI 000047f4: PUSH1 0x00 000047f6: DUP1 000047f7: REVERT 000047f8: JUMPDEST 000047f9: DUP3 000047fa: DUP10 000047fb: ADD 000047fc: SWAP3 000047fd: POP 000047fe: DUP10 000047ff: PUSH1 0x1f 00004801: DUP5 00004802: ADD 00004803: SLT 00004804: PUSH2 0x480c 00004807: JUMPI 00004808: PUSH1 0x00 0000480a: DUP1 0000480b: REVERT 0000480c: JUMPDEST 0000480d: DUP3 0000480e: CALLDATALOAD 0000480f: SWAP2 00004810: POP 00004811: DUP1 00004812: DUP3 00004813: GT 00004814: ISZERO 00004815: PUSH2 0x481d 00004818: JUMPI 00004819: PUSH1 0x00 0000481b: DUP1 0000481c: REVERT 0000481d: JUMPDEST 0000481e: POP 0000481f: DUP9 00004820: PUSH1 0x20 00004822: DUP3 00004823: PUSH1 0x05 00004825: SHL 00004826: DUP5 00004827: ADD 00004828: ADD 00004829: GT 0000482a: ISZERO 0000482b: PUSH2 0x4833 0000482e: JUMPI 0000482f: PUSH1 0x00 00004831: DUP1 00004832: REVERT 00004833: JUMPDEST 00004834: SWAP6 00004835: SWAP9 00004836: SWAP5 00004837: SWAP8 00004838: POP 00004839: SWAP3 0000483a: SWAP6 0000483b: POP 0000483c: POP 0000483d: POP 0000483e: PUSH1 0x20 00004840: ADD 00004841: SWAP2 00004842: SWAP1 00004843: JUMP 00004844: JUMPDEST 00004845: PUSH1 0x00 00004847: PUSH1 0x20 00004849: DUP3 0000484a: DUP5 0000484b: SUB 0000484c: SLT 0000484d: ISZERO 0000484e: PUSH2 0x4856 00004851: JUMPI 00004852: PUSH1 0x00 00004854: DUP1 00004855: REVERT 00004856: JUMPDEST 00004857: POP 00004858: CALLDATALOAD 00004859: SWAP2 0000485a: SWAP1 0000485b: POP 0000485c: JUMP 0000485d: JUMPDEST 0000485e: PUSH1 0x00 00004860: JUMPDEST 00004861: DUP4 00004862: DUP2 00004863: LT 00004864: ISZERO 00004865: PUSH2 0x4878 00004868: JUMPI 00004869: DUP2 0000486a: DUP2 0000486b: ADD 0000486c: MLOAD 0000486d: DUP4 0000486e: DUP3 0000486f: ADD 00004870: MSTORE 00004871: PUSH1 0x20 00004873: ADD 00004874: PUSH2 0x4860 00004877: JUMP 00004878: JUMPDEST 00004879: DUP4 0000487a: DUP2 0000487b: GT 0000487c: ISZERO 0000487d: PUSH2 0x0b54 00004880: JUMPI 00004881: POP 00004882: POP 00004883: PUSH1 0x00 00004885: SWAP2 00004886: ADD 00004887: MSTORE 00004888: JUMP 00004889: JUMPDEST 0000488a: PUSH1 0x00 0000488c: DUP2 0000488d: MLOAD 0000488e: DUP1 0000488f: DUP5 00004890: MSTORE 00004891: PUSH2 0x48a1 00004894: DUP2 00004895: PUSH1 0x20 00004897: DUP7 00004898: ADD 00004899: PUSH1 0x20 0000489b: DUP7 0000489c: ADD 0000489d: PUSH2 0x485d 000048a0: JUMP 000048a1: JUMPDEST 000048a2: PUSH1 0x1f 000048a4: ADD 000048a5: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 000048c6: AND 000048c7: SWAP3 000048c8: SWAP1 000048c9: SWAP3 000048ca: ADD 000048cb: PUSH1 0x20 000048cd: ADD 000048ce: SWAP3 000048cf: SWAP2 000048d0: POP 000048d1: POP 000048d2: JUMP 000048d3: JUMPDEST 000048d4: PUSH1 0x20 000048d6: DUP2 000048d7: MSTORE 000048d8: PUSH1 0x00 000048da: PUSH2 0x2748 000048dd: PUSH1 0x20 000048df: DUP4 000048e0: ADD 000048e1: DUP5 000048e2: PUSH2 0x4889 000048e5: JUMP 000048e6: JUMPDEST 000048e7: PUSH1 0x00 000048e9: DUP1 000048ea: PUSH1 0x40 000048ec: DUP4 000048ed: DUP6 000048ee: SUB 000048ef: SLT 000048f0: ISZERO 000048f1: PUSH2 0x48f9 000048f4: JUMPI 000048f5: PUSH1 0x00 000048f7: DUP1 000048f8: REVERT 000048f9: JUMPDEST 000048fa: DUP3 000048fb: CALLDATALOAD 000048fc: SWAP2 000048fd: POP 000048fe: PUSH1 0x20 00004900: DUP4 00004901: ADD 00004902: CALLDATALOAD 00004903: PUSH2 0x4740 00004906: DUP2 00004907: PUSH2 0x459a 0000490a: JUMP 0000490b: JUMPDEST 0000490c: PUSH4 0xffffffff 00004911: DUP2 00004912: AND 00004913: DUP2 00004914: EQ 00004915: PUSH2 0x1e3f 00004918: JUMPI 00004919: PUSH1 0x00 0000491b: DUP1 0000491c: REVERT 0000491d: JUMPDEST 0000491e: PUSH1 0x00 00004920: PUSH1 0x20 00004922: DUP3 00004923: DUP5 00004924: SUB 00004925: SLT 00004926: ISZERO 00004927: PUSH2 0x492f 0000492a: JUMPI 0000492b: PUSH1 0x00 0000492d: DUP1 0000492e: REVERT 0000492f: JUMPDEST 00004930: DUP2 00004931: CALLDATALOAD 00004932: PUSH2 0x2748 00004935: DUP2 00004936: PUSH2 0x490b 00004939: JUMP 0000493a: JUMPDEST 0000493b: PUSH1 0x00 0000493d: PUSH1 0x20 0000493f: DUP3 00004940: DUP5 00004941: SUB 00004942: SLT 00004943: ISZERO 00004944: PUSH2 0x494c 00004947: JUMPI 00004948: PUSH1 0x00 0000494a: DUP1 0000494b: REVERT 0000494c: JUMPDEST 0000494d: DUP2 0000494e: CALLDATALOAD 0000494f: PUSH8 0xffffffffffffffff 00004958: DUP2 00004959: GT 0000495a: ISZERO 0000495b: PUSH2 0x4963 0000495e: JUMPI 0000495f: PUSH1 0x00 00004961: DUP1 00004962: REVERT 00004963: JUMPDEST 00004964: PUSH2 0x496f 00004967: DUP5 00004968: DUP3 00004969: DUP6 0000496a: ADD 0000496b: PUSH2 0x464a 0000496e: JUMP 0000496f: JUMPDEST 00004970: SWAP5 00004971: SWAP4 00004972: POP 00004973: POP 00004974: POP 00004975: POP 00004976: JUMP 00004977: JUMPDEST 00004978: PUSH1 0x00 0000497a: DUP1 0000497b: PUSH1 0x00 0000497d: DUP1 0000497e: PUSH1 0x80 00004980: DUP6 00004981: DUP8 00004982: SUB 00004983: SLT 00004984: ISZERO 00004985: PUSH2 0x498d 00004988: JUMPI 00004989: PUSH1 0x00 0000498b: DUP1 0000498c: REVERT 0000498d: JUMPDEST 0000498e: DUP5 0000498f: CALLDATALOAD 00004990: PUSH2 0x4998 00004993: DUP2 00004994: PUSH2 0x459a 00004997: JUMP 00004998: JUMPDEST 00004999: SWAP4 0000499a: POP 0000499b: PUSH1 0x20 0000499d: DUP6 0000499e: ADD 0000499f: CALLDATALOAD 000049a0: PUSH2 0x49a8 000049a3: DUP2 000049a4: PUSH2 0x459a 000049a7: JUMP 000049a8: JUMPDEST 000049a9: SWAP3 000049aa: POP 000049ab: PUSH1 0x40 000049ad: DUP6 000049ae: ADD 000049af: CALLDATALOAD 000049b0: PUSH2 0x49b8 000049b3: DUP2 000049b4: PUSH2 0x459a 000049b7: JUMP 000049b8: JUMPDEST 000049b9: SWAP2 000049ba: POP 000049bb: PUSH1 0x60 000049bd: DUP6 000049be: ADD 000049bf: CALLDATALOAD 000049c0: PUSH2 0x49c8 000049c3: DUP2 000049c4: PUSH2 0x490b 000049c7: JUMP 000049c8: JUMPDEST 000049c9: SWAP4 000049ca: SWAP7 000049cb: SWAP3 000049cc: SWAP6 000049cd: POP 000049ce: SWAP1 000049cf: SWAP4 000049d0: POP 000049d1: POP 000049d2: JUMP 000049d3: JUMPDEST 000049d4: PUSH8 0xffffffffffffffff 000049dd: DUP2 000049de: AND 000049df: DUP2 000049e0: EQ 000049e1: PUSH2 0x1e3f 000049e4: JUMPI 000049e5: PUSH1 0x00 000049e7: DUP1 000049e8: REVERT 000049e9: JUMPDEST 000049ea: PUSH1 0x00 000049ec: PUSH1 0x20 000049ee: DUP3 000049ef: DUP5 000049f0: SUB 000049f1: SLT 000049f2: ISZERO 000049f3: PUSH2 0x49fb 000049f6: JUMPI 000049f7: PUSH1 0x00 000049f9: DUP1 000049fa: REVERT 000049fb: JUMPDEST 000049fc: DUP2 000049fd: CALLDATALOAD 000049fe: PUSH2 0x2748 00004a01: DUP2 00004a02: PUSH2 0x49d3 00004a05: JUMP 00004a06: JUMPDEST 00004a07: PUSH1 0x00 00004a09: DUP1 00004a0a: PUSH1 0x40 00004a0c: DUP4 00004a0d: DUP6 00004a0e: SUB 00004a0f: SLT 00004a10: ISZERO 00004a11: PUSH2 0x4a19 00004a14: JUMPI 00004a15: PUSH1 0x00 00004a17: DUP1 00004a18: REVERT 00004a19: JUMPDEST 00004a1a: POP 00004a1b: POP 00004a1c: DUP1 00004a1d: CALLDATALOAD 00004a1e: SWAP3 00004a1f: PUSH1 0x20 00004a21: SWAP1 00004a22: SWAP2 00004a23: ADD 00004a24: CALLDATALOAD 00004a25: SWAP2 00004a26: POP 00004a27: JUMP 00004a28: JUMPDEST 00004a29: DUP1 00004a2a: ISZERO 00004a2b: ISZERO 00004a2c: DUP2 00004a2d: EQ 00004a2e: PUSH2 0x1e3f 00004a31: JUMPI 00004a32: PUSH1 0x00 00004a34: DUP1 00004a35: REVERT 00004a36: JUMPDEST 00004a37: PUSH1 0x00 00004a39: DUP1 00004a3a: PUSH1 0x00 00004a3c: DUP1 00004a3d: PUSH1 0x00 00004a3f: PUSH1 0xa0 00004a41: DUP7 00004a42: DUP9 00004a43: SUB 00004a44: SLT 00004a45: ISZERO 00004a46: PUSH2 0x4a4e 00004a49: JUMPI 00004a4a: PUSH1 0x00 00004a4c: DUP1 00004a4d: REVERT 00004a4e: JUMPDEST 00004a4f: DUP6 00004a50: CALLDATALOAD 00004a51: PUSH2 0x4a59 00004a54: DUP2 00004a55: PUSH2 0x459a 00004a58: JUMP 00004a59: JUMPDEST 00004a5a: SWAP5 00004a5b: POP 00004a5c: PUSH1 0x20 00004a5e: DUP7 00004a5f: ADD 00004a60: CALLDATALOAD 00004a61: SWAP4 00004a62: POP 00004a63: PUSH1 0x40 00004a65: DUP7 00004a66: ADD 00004a67: CALLDATALOAD 00004a68: PUSH2 0x4a70 00004a6b: DUP2 00004a6c: PUSH2 0x49d3 00004a6f: JUMP 00004a70: JUMPDEST 00004a71: SWAP3 00004a72: POP 00004a73: PUSH1 0x60 00004a75: DUP7 00004a76: ADD 00004a77: CALLDATALOAD 00004a78: PUSH2 0x4a80 00004a7b: DUP2 00004a7c: PUSH2 0x4a28 00004a7f: JUMP 00004a80: JUMPDEST 00004a81: SWAP2 00004a82: POP 00004a83: PUSH1 0x80 00004a85: DUP7 00004a86: ADD 00004a87: CALLDATALOAD 00004a88: PUSH8 0xffffffffffffffff 00004a91: DUP2 00004a92: GT 00004a93: ISZERO 00004a94: PUSH2 0x4a9c 00004a97: JUMPI 00004a98: PUSH1 0x00 00004a9a: DUP1 00004a9b: REVERT 00004a9c: JUMPDEST 00004a9d: PUSH2 0x4aa8 00004aa0: DUP9 00004aa1: DUP3 00004aa2: DUP10 00004aa3: ADD 00004aa4: PUSH2 0x45bc 00004aa7: JUMP 00004aa8: JUMPDEST 00004aa9: SWAP2 00004aaa: POP 00004aab: POP 00004aac: SWAP3 00004aad: SWAP6 00004aae: POP 00004aaf: SWAP3 00004ab0: SWAP6 00004ab1: SWAP1 00004ab2: SWAP4 00004ab3: POP 00004ab4: JUMP 00004ab5: JUMPDEST 00004ab6: DUP6 00004ab7: DUP2 00004ab8: MSTORE 00004ab9: DUP5 00004aba: PUSH1 0x20 00004abc: DUP3 00004abd: ADD 00004abe: MSTORE 00004abf: PUSH32 0xffffffffffffffff000000000000000000000000000000000000000000000000 00004ae0: DUP5 00004ae1: PUSH1 0xc0 00004ae3: SHL 00004ae4: AND 00004ae5: PUSH1 0x40 00004ae7: DUP3 00004ae8: ADD 00004ae9: MSTORE 00004aea: DUP3 00004aeb: ISZERO 00004aec: ISZERO 00004aed: PUSH1 0xf8 00004aef: SHL 00004af0: PUSH1 0x48 00004af2: DUP3 00004af3: ADD 00004af4: MSTORE 00004af5: PUSH1 0x00 00004af7: DUP3 00004af8: MLOAD 00004af9: PUSH2 0x4b09 00004afc: DUP2 00004afd: PUSH1 0x49 00004aff: DUP6 00004b00: ADD 00004b01: PUSH1 0x20 00004b03: DUP8 00004b04: ADD 00004b05: PUSH2 0x485d 00004b08: JUMP 00004b09: JUMPDEST 00004b0a: SWAP2 00004b0b: SWAP1 00004b0c: SWAP2 00004b0d: ADD 00004b0e: PUSH1 0x49 00004b10: ADD 00004b11: SWAP7 00004b12: SWAP6 00004b13: POP 00004b14: POP 00004b15: POP 00004b16: POP 00004b17: POP 00004b18: POP 00004b19: JUMP 00004b1a: JUMPDEST 00004b1b: PUSH1 0x00 00004b1d: PUSH1 0x20 00004b1f: DUP3 00004b20: DUP5 00004b21: SUB 00004b22: SLT 00004b23: ISZERO 00004b24: PUSH2 0x4b2c 00004b27: JUMPI 00004b28: PUSH1 0x00 00004b2a: DUP1 00004b2b: REVERT 00004b2c: JUMPDEST 00004b2d: DUP2 00004b2e: MLOAD 00004b2f: PUSH2 0x2748 00004b32: DUP2 00004b33: PUSH2 0x459a 00004b36: JUMP 00004b37: JUMPDEST 00004b38: PUSH1 0x00 00004b3a: DUP1 00004b3b: PUSH1 0x00 00004b3d: PUSH1 0x60 00004b3f: DUP5 00004b40: DUP7 00004b41: SUB 00004b42: SLT 00004b43: ISZERO 00004b44: PUSH2 0x4b4c 00004b47: JUMPI 00004b48: PUSH1 0x00 00004b4a: DUP1 00004b4b: REVERT 00004b4c: JUMPDEST 00004b4d: DUP4 00004b4e: MLOAD 00004b4f: PUSH2 0x4b57 00004b52: DUP2 00004b53: PUSH2 0x490b 00004b56: JUMP 00004b57: JUMPDEST 00004b58: PUSH1 0x20 00004b5a: DUP6 00004b5b: ADD 00004b5c: MLOAD 00004b5d: SWAP1 00004b5e: SWAP4 00004b5f: POP 00004b60: PUSH2 0x4b68 00004b63: DUP2 00004b64: PUSH2 0x49d3 00004b67: JUMP 00004b68: JUMPDEST 00004b69: PUSH1 0x40 00004b6b: DUP6 00004b6c: ADD 00004b6d: MLOAD 00004b6e: SWAP1 00004b6f: SWAP3 00004b70: POP 00004b71: PUSH2 0x4b79 00004b74: DUP2 00004b75: PUSH2 0x459a 00004b78: JUMP 00004b79: JUMPDEST 00004b7a: DUP1 00004b7b: SWAP2 00004b7c: POP 00004b7d: POP 00004b7e: SWAP3 00004b7f: POP 00004b80: SWAP3 00004b81: POP 00004b82: SWAP3 00004b83: JUMP 00004b84: JUMPDEST 00004b85: PUSH1 0x00 00004b87: PUSH1 0x20 00004b89: DUP3 00004b8a: DUP5 00004b8b: SUB 00004b8c: SLT 00004b8d: ISZERO 00004b8e: PUSH2 0x4b96 00004b91: JUMPI 00004b92: PUSH1 0x00 00004b94: DUP1 00004b95: REVERT 00004b96: JUMPDEST 00004b97: POP 00004b98: MLOAD 00004b99: SWAP2 00004b9a: SWAP1 00004b9b: POP 00004b9c: JUMP 00004b9d: JUMPDEST 00004b9e: PUSH1 0x00 00004ba0: PUSH1 0x80 00004ba2: DUP3 00004ba3: DUP5 00004ba4: SUB 00004ba5: SLT 00004ba6: ISZERO 00004ba7: PUSH2 0x4baf 00004baa: JUMPI 00004bab: PUSH1 0x00 00004bad: DUP1 00004bae: REVERT 00004baf: JUMPDEST 00004bb0: PUSH1 0x40 00004bb2: MLOAD 00004bb3: PUSH1 0x80 00004bb5: DUP2 00004bb6: ADD 00004bb7: DUP2 00004bb8: DUP2 00004bb9: LT 00004bba: PUSH8 0xffffffffffffffff 00004bc3: DUP3 00004bc4: GT 00004bc5: OR 00004bc6: ISZERO 00004bc7: PUSH2 0x4bd2 00004bca: JUMPI 00004bcb: PUSH2 0x4bd2 00004bce: PUSH2 0x451c 00004bd1: JUMP 00004bd2: JUMPDEST 00004bd3: DUP1 00004bd4: PUSH1 0x40 00004bd6: MSTORE 00004bd7: POP 00004bd8: DUP3 00004bd9: CALLDATALOAD 00004bda: DUP2 00004bdb: MSTORE 00004bdc: PUSH1 0x20 00004bde: DUP4 00004bdf: ADD 00004be0: CALLDATALOAD 00004be1: PUSH1 0x20 00004be3: DUP3 00004be4: ADD 00004be5: MSTORE 00004be6: PUSH1 0x40 00004be8: DUP4 00004be9: ADD 00004bea: CALLDATALOAD 00004beb: PUSH1 0x40 00004bed: DUP3 00004bee: ADD 00004bef: MSTORE 00004bf0: PUSH1 0x60 00004bf2: DUP4 00004bf3: ADD 00004bf4: CALLDATALOAD 00004bf5: PUSH1 0x60 00004bf7: DUP3 00004bf8: ADD 00004bf9: MSTORE 00004bfa: DUP1 00004bfb: SWAP2 00004bfc: POP 00004bfd: POP 00004bfe: SWAP3 00004bff: SWAP2 00004c00: POP 00004c01: POP 00004c02: JUMP 00004c03: JUMPDEST 00004c04: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00004c25: PUSH1 0x00 00004c27: MSTORE 00004c28: PUSH1 0x21 00004c2a: PUSH1 0x04 00004c2c: MSTORE 00004c2d: PUSH1 0x24 00004c2f: PUSH1 0x00 00004c31: REVERT 00004c32: JUMPDEST 00004c33: PUSH1 0x00 00004c35: PUSH1 0x20 00004c37: DUP3 00004c38: DUP5 00004c39: SUB 00004c3a: SLT 00004c3b: ISZERO 00004c3c: PUSH2 0x4c44 00004c3f: JUMPI 00004c40: PUSH1 0x00 00004c42: DUP1 00004c43: REVERT 00004c44: JUMPDEST 00004c45: DUP2 00004c46: MLOAD 00004c47: PUSH1 0x03 00004c49: DUP2 00004c4a: LT 00004c4b: PUSH2 0x2748 00004c4e: JUMPI 00004c4f: PUSH1 0x00 00004c51: DUP1 00004c52: REVERT 00004c53: JUMPDEST 00004c54: PUSH1 0x00 00004c56: PUSH8 0xffffffffffffffff 00004c5f: DUP1 00004c60: DUP5 00004c61: GT 00004c62: ISZERO 00004c63: PUSH2 0x4c6e 00004c66: JUMPI 00004c67: PUSH2 0x4c6e 00004c6a: PUSH2 0x451c 00004c6d: JUMP 00004c6e: JUMPDEST 00004c6f: DUP4 00004c70: PUSH1 0x05 00004c72: SHL 00004c73: PUSH1 0x20 00004c75: PUSH2 0x4c7f 00004c78: DUP2 00004c79: DUP4 00004c7a: ADD 00004c7b: PUSH2 0x454b 00004c7e: JUMP 00004c7f: JUMPDEST 00004c80: DUP7 00004c81: DUP2 00004c82: MSTORE 00004c83: SWAP2 00004c84: DUP6 00004c85: ADD 00004c86: SWAP2 00004c87: DUP2 00004c88: DUP2 00004c89: ADD 00004c8a: SWAP1 00004c8b: CALLDATASIZE 00004c8c: DUP5 00004c8d: GT 00004c8e: ISZERO 00004c8f: PUSH2 0x4c97 00004c92: JUMPI 00004c93: PUSH1 0x00 00004c95: DUP1 00004c96: REVERT 00004c97: JUMPDEST 00004c98: DUP7 00004c99: JUMPDEST 00004c9a: DUP5 00004c9b: DUP2 00004c9c: LT 00004c9d: ISZERO 00004c9e: PUSH2 0x4ccb 00004ca1: JUMPI 00004ca2: DUP1 00004ca3: CALLDATALOAD 00004ca4: DUP7 00004ca5: DUP2 00004ca6: GT 00004ca7: ISZERO 00004ca8: PUSH2 0x4cb1 00004cab: JUMPI 00004cac: PUSH1 0x00 00004cae: DUP1 00004caf: DUP2 00004cb0: REVERT 00004cb1: JUMPDEST 00004cb2: PUSH2 0x4cbd 00004cb5: CALLDATASIZE 00004cb6: DUP3 00004cb7: DUP12 00004cb8: ADD 00004cb9: PUSH2 0x45bc 00004cbc: JUMP 00004cbd: JUMPDEST 00004cbe: DUP5 00004cbf: MSTORE 00004cc0: POP 00004cc1: SWAP2 00004cc2: DUP4 00004cc3: ADD 00004cc4: SWAP2 00004cc5: DUP4 00004cc6: ADD 00004cc7: PUSH2 0x4c99 00004cca: JUMP 00004ccb: JUMPDEST 00004ccc: POP 00004ccd: SWAP8 00004cce: SWAP7 00004ccf: POP 00004cd0: POP 00004cd1: POP 00004cd2: POP 00004cd3: POP 00004cd4: POP 00004cd5: POP 00004cd6: JUMP 00004cd7: JUMPDEST 00004cd8: PUSH1 0x00 00004cda: PUSH1 0x20 00004cdc: DUP3 00004cdd: DUP5 00004cde: SUB 00004cdf: SLT 00004ce0: ISZERO 00004ce1: PUSH2 0x4ce9 00004ce4: JUMPI 00004ce5: PUSH1 0x00 00004ce7: DUP1 00004ce8: REVERT 00004ce9: JUMPDEST 00004cea: DUP2 00004ceb: MLOAD 00004cec: PUSH2 0x2748 00004cef: DUP2 00004cf0: PUSH2 0x4a28 00004cf3: JUMP 00004cf4: JUMPDEST 00004cf5: PUSH1 0x00 00004cf7: PUSH1 0x20 00004cf9: DUP3 00004cfa: DUP5 00004cfb: SUB 00004cfc: SLT 00004cfd: ISZERO 00004cfe: PUSH2 0x4d06 00004d01: JUMPI 00004d02: PUSH1 0x00 00004d04: DUP1 00004d05: REVERT 00004d06: JUMPDEST 00004d07: DUP2 00004d08: MLOAD 00004d09: PUSH2 0x2748 00004d0c: DUP2 00004d0d: PUSH2 0x49d3 00004d10: JUMP 00004d11: JUMPDEST 00004d12: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00004d33: PUSH1 0x00 00004d35: MSTORE 00004d36: PUSH1 0x11 00004d38: PUSH1 0x04 00004d3a: MSTORE 00004d3b: PUSH1 0x24 00004d3d: PUSH1 0x00 00004d3f: REVERT 00004d40: JUMPDEST 00004d41: PUSH1 0x00 00004d43: DUP3 00004d44: DUP3 00004d45: LT 00004d46: ISZERO 00004d47: PUSH2 0x4d52 00004d4a: JUMPI 00004d4b: PUSH2 0x4d52 00004d4e: PUSH2 0x4d11 00004d51: JUMP 00004d52: JUMPDEST 00004d53: POP 00004d54: SUB 00004d55: SWAP1 00004d56: JUMP 00004d57: JUMPDEST 00004d58: PUSH1 0x00 00004d5a: PUSH1 0x20 00004d5c: DUP3 00004d5d: DUP5 00004d5e: SUB 00004d5f: SLT 00004d60: ISZERO 00004d61: PUSH2 0x4d69 00004d64: JUMPI 00004d65: PUSH1 0x00 00004d67: DUP1 00004d68: REVERT 00004d69: JUMPDEST 00004d6a: DUP2 00004d6b: MLOAD 00004d6c: PUSH2 0x2748 00004d6f: DUP2 00004d70: PUSH2 0x490b 00004d73: JUMP 00004d74: JUMPDEST 00004d75: PUSH1 0x00 00004d77: PUSH8 0xffffffffffffffff 00004d80: DUP1 00004d81: DUP4 00004d82: AND 00004d83: DUP2 00004d84: DUP6 00004d85: AND 00004d86: DUP2 00004d87: DUP4 00004d88: DIV 00004d89: DUP2 00004d8a: GT 00004d8b: DUP3 00004d8c: ISZERO 00004d8d: ISZERO 00004d8e: AND 00004d8f: ISZERO 00004d90: PUSH2 0x4d9b 00004d93: JUMPI 00004d94: PUSH2 0x4d9b 00004d97: PUSH2 0x4d11 00004d9a: JUMP 00004d9b: JUMPDEST 00004d9c: MUL 00004d9d: SWAP5 00004d9e: SWAP4 00004d9f: POP 00004da0: POP 00004da1: POP 00004da2: POP 00004da3: JUMP 00004da4: JUMPDEST 00004da5: PUSH1 0x00 00004da7: PUSH8 0xffffffffffffffff 00004db0: DUP1 00004db1: DUP4 00004db2: AND 00004db3: DUP2 00004db4: DUP6 00004db5: AND 00004db6: DUP1 00004db7: DUP4 00004db8: SUB 00004db9: DUP3 00004dba: GT 00004dbb: ISZERO 00004dbc: PUSH2 0x4dc7 00004dbf: JUMPI 00004dc0: PUSH2 0x4dc7 00004dc3: PUSH2 0x4d11 00004dc6: JUMP 00004dc7: JUMPDEST 00004dc8: ADD 00004dc9: SWAP5 00004dca: SWAP4 00004dcb: POP 00004dcc: POP 00004dcd: POP 00004dce: POP 00004dcf: JUMP 00004dd0: JUMPDEST 00004dd1: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00004df2: PUSH1 0x00 00004df4: MSTORE 00004df5: PUSH1 0x12 00004df7: PUSH1 0x04 00004df9: MSTORE 00004dfa: PUSH1 0x24 00004dfc: PUSH1 0x00 00004dfe: REVERT 00004dff: JUMPDEST 00004e00: PUSH1 0x00 00004e02: DUP3 00004e03: PUSH2 0x4e0e 00004e06: JUMPI 00004e07: PUSH2 0x4e0e 00004e0a: PUSH2 0x4dd0 00004e0d: JUMP 00004e0e: JUMPDEST 00004e0f: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00004e30: DUP4 00004e31: EQ 00004e32: PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 00004e53: DUP4 00004e54: EQ 00004e55: AND 00004e56: ISZERO 00004e57: PUSH2 0x4e62 00004e5a: JUMPI 00004e5b: PUSH2 0x4e62 00004e5e: PUSH2 0x4d11 00004e61: JUMP 00004e62: JUMPDEST 00004e63: POP 00004e64: SDIV 00004e65: SWAP1 00004e66: JUMP 00004e67: JUMPDEST 00004e68: PUSH1 0x00 00004e6a: DUP1 00004e6b: DUP4 00004e6c: SLT 00004e6d: DUP4 00004e6e: PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 00004e8f: ADD 00004e90: DUP4 00004e91: SLT 00004e92: DUP2 00004e93: ISZERO 00004e94: AND 00004e95: ISZERO 00004e96: PUSH2 0x4ea1 00004e99: JUMPI 00004e9a: PUSH2 0x4ea1 00004e9d: PUSH2 0x4d11 00004ea0: JUMP 00004ea1: JUMPDEST 00004ea2: DUP4 00004ea3: PUSH32 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00004ec4: ADD 00004ec5: DUP4 00004ec6: SGT 00004ec7: DUP2 00004ec8: AND 00004ec9: ISZERO 00004eca: PUSH2 0x4ed5 00004ecd: JUMPI 00004ece: PUSH2 0x4ed5 00004ed1: PUSH2 0x4d11 00004ed4: JUMP 00004ed5: JUMPDEST 00004ed6: POP 00004ed7: POP 00004ed8: SUB 00004ed9: SWAP1 00004eda: JUMP 00004edb: JUMPDEST 00004edc: PUSH1 0x00 00004ede: PUSH32 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00004eff: PUSH1 0x00 00004f01: DUP5 00004f02: SGT 00004f03: PUSH1 0x00 00004f05: DUP5 00004f06: SGT 00004f07: DUP6 00004f08: DUP4 00004f09: DIV 00004f0a: DUP6 00004f0b: GT 00004f0c: DUP3 00004f0d: DUP3 00004f0e: AND 00004f0f: AND 00004f10: ISZERO 00004f11: PUSH2 0x4f1c 00004f14: JUMPI 00004f15: PUSH2 0x4f1c 00004f18: PUSH2 0x4d11 00004f1b: JUMP 00004f1c: JUMPDEST 00004f1d: PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 00004f3e: PUSH1 0x00 00004f40: DUP8 00004f41: SLT 00004f42: DUP7 00004f43: DUP3 00004f44: SDIV 00004f45: DUP9 00004f46: SLT 00004f47: DUP2 00004f48: DUP5 00004f49: AND 00004f4a: AND 00004f4b: ISZERO 00004f4c: PUSH2 0x4f57 00004f4f: JUMPI 00004f50: PUSH2 0x4f57 00004f53: PUSH2 0x4d11 00004f56: JUMP 00004f57: JUMPDEST 00004f58: PUSH1 0x00 00004f5a: DUP8 00004f5b: SLT 00004f5c: SWAP3 00004f5d: POP 00004f5e: DUP8 00004f5f: DUP3 00004f60: SDIV 00004f61: DUP8 00004f62: SLT 00004f63: DUP5 00004f64: DUP5 00004f65: AND 00004f66: AND 00004f67: ISZERO 00004f68: PUSH2 0x4f73 00004f6b: JUMPI 00004f6c: PUSH2 0x4f73 00004f6f: PUSH2 0x4d11 00004f72: JUMP 00004f73: JUMPDEST 00004f74: DUP8 00004f75: DUP6 00004f76: SDIV 00004f77: DUP8 00004f78: SLT 00004f79: DUP2 00004f7a: DUP5 00004f7b: AND 00004f7c: AND 00004f7d: ISZERO 00004f7e: PUSH2 0x4f89 00004f81: JUMPI 00004f82: PUSH2 0x4f89 00004f85: PUSH2 0x4d11 00004f88: JUMP 00004f89: JUMPDEST 00004f8a: POP 00004f8b: POP 00004f8c: POP 00004f8d: SWAP3 00004f8e: SWAP1 00004f8f: SWAP4 00004f90: MUL 00004f91: SWAP4 00004f92: SWAP3 00004f93: POP 00004f94: POP 00004f95: POP 00004f96: JUMP 00004f97: JUMPDEST 00004f98: PUSH1 0x00 00004f9a: DUP1 00004f9b: DUP3 00004f9c: SLT 00004f9d: DUP3 00004f9e: PUSH32 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00004fbf: SUB 00004fc0: DUP5 00004fc1: SGT 00004fc2: DUP2 00004fc3: ISZERO 00004fc4: AND 00004fc5: ISZERO 00004fc6: PUSH2 0x4fd1 00004fc9: JUMPI 00004fca: PUSH2 0x4fd1 00004fcd: PUSH2 0x4d11 00004fd0: JUMP 00004fd1: JUMPDEST 00004fd2: DUP3 00004fd3: PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 00004ff4: SUB 00004ff5: DUP5 00004ff6: SLT 00004ff7: DUP2 00004ff8: AND 00004ff9: ISZERO 00004ffa: PUSH2 0x5005 00004ffd: JUMPI 00004ffe: PUSH2 0x5005 00005001: PUSH2 0x4d11 00005004: JUMP 00005005: JUMPDEST 00005006: POP 00005007: POP 00005008: ADD 00005009: SWAP1 0000500a: JUMP 0000500b: JUMPDEST 0000500c: PUSH1 0x00 0000500e: DUP2 0000500f: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00005030: DIV 00005031: DUP4 00005032: GT 00005033: DUP3 00005034: ISZERO 00005035: ISZERO 00005036: AND 00005037: ISZERO 00005038: PUSH2 0x5043 0000503b: JUMPI 0000503c: PUSH2 0x5043 0000503f: PUSH2 0x4d11 00005042: JUMP 00005043: JUMPDEST 00005044: POP 00005045: MUL 00005046: SWAP1 00005047: JUMP 00005048: JUMPDEST 00005049: PUSH1 0x00 0000504b: DUP3 0000504c: PUSH2 0x5057 0000504f: JUMPI 00005050: PUSH2 0x5057 00005053: PUSH2 0x4dd0 00005056: JUMP 00005057: JUMPDEST 00005058: POP 00005059: DIV 0000505a: SWAP1 0000505b: JUMP 0000505c: JUMPDEST 0000505d: DUP7 0000505e: DUP2 0000505f: MSTORE 00005060: PUSH1 0x00 00005062: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00005077: DUP1 00005078: DUP9 00005079: AND 0000507a: PUSH1 0x20 0000507c: DUP5 0000507d: ADD 0000507e: MSTORE 0000507f: DUP1 00005080: DUP8 00005081: AND 00005082: PUSH1 0x40 00005084: DUP5 00005085: ADD 00005086: MSTORE 00005087: POP 00005088: DUP5 00005089: PUSH1 0x60 0000508b: DUP4 0000508c: ADD 0000508d: MSTORE 0000508e: DUP4 0000508f: PUSH1 0x80 00005091: DUP4 00005092: ADD 00005093: MSTORE 00005094: PUSH1 0xc0 00005096: PUSH1 0xa0 00005098: DUP4 00005099: ADD 0000509a: MSTORE 0000509b: PUSH2 0x50a7 0000509e: PUSH1 0xc0 000050a0: DUP4 000050a1: ADD 000050a2: DUP5 000050a3: PUSH2 0x4889 000050a6: JUMP 000050a7: JUMPDEST 000050a8: SWAP9 000050a9: SWAP8 000050aa: POP 000050ab: POP 000050ac: POP 000050ad: POP 000050ae: POP 000050af: POP 000050b0: POP 000050b1: POP 000050b2: JUMP 000050b3: JUMPDEST 000050b4: DUP1 000050b5: MLOAD 000050b6: PUSH1 0xff 000050b8: DUP2 000050b9: AND 000050ba: DUP2 000050bb: EQ 000050bc: PUSH2 0x50c4 000050bf: JUMPI 000050c0: PUSH1 0x00 000050c2: DUP1 000050c3: REVERT 000050c4: JUMPDEST 000050c5: SWAP2 000050c6: SWAP1 000050c7: POP 000050c8: JUMP 000050c9: JUMPDEST 000050ca: PUSH1 0x00 000050cc: PUSH1 0xc0 000050ce: DUP3 000050cf: DUP5 000050d0: SUB 000050d1: SLT 000050d2: ISZERO 000050d3: PUSH2 0x50db 000050d6: JUMPI 000050d7: PUSH1 0x00 000050d9: DUP1 000050da: REVERT 000050db: JUMPDEST 000050dc: PUSH1 0x40 000050de: MLOAD 000050df: PUSH1 0xc0 000050e1: DUP2 000050e2: ADD 000050e3: DUP2 000050e4: DUP2 000050e5: LT 000050e6: PUSH8 0xffffffffffffffff 000050ef: DUP3 000050f0: GT 000050f1: OR 000050f2: ISZERO 000050f3: PUSH2 0x50fe 000050f6: JUMPI 000050f7: PUSH2 0x50fe 000050fa: PUSH2 0x451c 000050fd: JUMP 000050fe: JUMPDEST 000050ff: PUSH1 0x40 00005101: MSTORE 00005102: DUP3 00005103: MLOAD 00005104: PUSH2 0x510c 00005107: DUP2 00005108: PUSH2 0x490b 0000510b: JUMP 0000510c: JUMPDEST 0000510d: DUP2 0000510e: MSTORE 0000510f: PUSH2 0x511a 00005112: PUSH1 0x20 00005114: DUP5 00005115: ADD 00005116: PUSH2 0x50b3 00005119: JUMP 0000511a: JUMPDEST 0000511b: PUSH1 0x20 0000511d: DUP3 0000511e: ADD 0000511f: MSTORE 00005120: PUSH2 0x512b 00005123: PUSH1 0x40 00005125: DUP5 00005126: ADD 00005127: PUSH2 0x50b3 0000512a: JUMP 0000512b: JUMPDEST 0000512c: PUSH1 0x40 0000512e: DUP3 0000512f: ADD 00005130: MSTORE 00005131: PUSH1 0x60 00005133: DUP4 00005134: ADD 00005135: MLOAD 00005136: PUSH2 0x513e 00005139: DUP2 0000513a: PUSH2 0x490b 0000513d: JUMP 0000513e: JUMPDEST 0000513f: PUSH1 0x60 00005141: DUP3 00005142: ADD 00005143: MSTORE 00005144: PUSH1 0x80 00005146: DUP4 00005147: ADD 00005148: MLOAD 00005149: PUSH2 0x5151 0000514c: DUP2 0000514d: PUSH2 0x490b 00005150: JUMP 00005151: JUMPDEST 00005152: PUSH1 0x80 00005154: DUP3 00005155: ADD 00005156: MSTORE 00005157: PUSH1 0xa0 00005159: DUP4 0000515a: ADD 0000515b: MLOAD 0000515c: PUSH16 0xffffffffffffffffffffffffffffffff 0000516d: DUP2 0000516e: AND 0000516f: DUP2 00005170: EQ 00005171: PUSH2 0x5179 00005174: JUMPI 00005175: PUSH1 0x00 00005177: DUP1 00005178: REVERT 00005179: JUMPDEST 0000517a: PUSH1 0xa0 0000517c: DUP3 0000517d: ADD 0000517e: MSTORE 0000517f: SWAP4 00005180: SWAP3 00005181: POP 00005182: POP 00005183: POP 00005184: JUMP 00005185: JUMPDEST 00005186: PUSH1 0x00 00005188: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000051a9: DUP3 000051aa: SUB 000051ab: PUSH2 0x51b6 000051ae: JUMPI 000051af: PUSH2 0x51b6 000051b2: PUSH2 0x4d11 000051b5: JUMP 000051b6: JUMPDEST 000051b7: POP 000051b8: PUSH1 0x01 000051ba: ADD 000051bb: SWAP1 000051bc: JUMP 000051bd: JUMPDEST 000051be: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 000051df: PUSH1 0x00 000051e1: MSTORE 000051e2: PUSH1 0x32 000051e4: PUSH1 0x04 000051e6: MSTORE 000051e7: PUSH1 0x24 000051e9: PUSH1 0x00 000051eb: REVERT 000051ec: JUMPDEST 000051ed: PUSH1 0x00 000051ef: DUP3 000051f0: NOT 000051f1: DUP3 000051f2: GT 000051f3: ISZERO 000051f4: PUSH2 0x51ff 000051f7: JUMPI 000051f8: PUSH2 0x51ff 000051fb: PUSH2 0x4d11 000051fe: JUMP 000051ff: JUMPDEST 00005200: POP 00005201: ADD 00005202: SWAP1 00005203: JUMP 00005204: JUMPDEST 00005205: PUSH1 0x00 00005207: PUSH1 0xff 00005209: DUP4 0000520a: AND 0000520b: DUP1 0000520c: PUSH2 0x5217 0000520f: JUMPI 00005210: PUSH2 0x5217 00005213: PUSH2 0x4dd0 00005216: JUMP 00005217: JUMPDEST 00005218: DUP1 00005219: PUSH1 0xff 0000521b: DUP5 0000521c: AND 0000521d: MOD 0000521e: SWAP2 0000521f: POP 00005220: POP 00005221: SWAP3 00005222: SWAP2 00005223: POP 00005224: POP 00005225: JUMP 00005226: JUMPDEST 00005227: PUSH1 0x00 00005229: PUSH1 0xff 0000522b: DUP3 0000522c: AND 0000522d: PUSH1 0xff 0000522f: DUP5 00005230: AND 00005231: DUP1 00005232: DUP3 00005233: LT 00005234: ISZERO 00005235: PUSH2 0x5240 00005238: JUMPI 00005239: PUSH2 0x5240 0000523c: PUSH2 0x4d11 0000523f: JUMP 00005240: JUMPDEST 00005241: SWAP1 00005242: SUB 00005243: SWAP4 00005244: SWAP3 00005245: POP 00005246: POP 00005247: POP 00005248: JUMP 00005249: INVALID 0000524a: LOG1 0000524b: PUSH5 0x736f6c6343 00005251: STOP 00005252: ADDMOD 00005253: UNKNOWN(0x0F) 00005254: STOP 00005255: 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": "0xbf653a5c",
"selector": "0xbf653a5c",
"calldata_variants": [
"0xbf653a5c",
"0xbf653a5c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcff0ab96",
"selector": "0xcff0ab96",
"calldata_variants": [
"0xcff0ab96",
"0xcff0ab960000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe9e05c42",
"selector": "0xe9e05c42",
"calldata_variants": [
"0xe9e05c42",
"0xe9e05c420000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2b4e617",
"selector": "0xf2b4e617",
"calldata_variants": [
"0xf2b4e617",
"0xf2b4e6170000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa35d99df",
"selector": "0xa35d99df",
"calldata_variants": [
"0xa35d99df",
"0xa35d99df0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa3860f48",
"selector": "0xa3860f48",
"calldata_variants": [
"0xa3860f48",
"0xa3860f480000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xbb2c727e",
"selector": "0xbb2c727e",
"calldata_variants": [
"0xbb2c727e",
"0xbb2c727e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8e819e54",
"selector": "0x8e819e54",
"calldata_variants": [
"0x8e819e54",
"0x8e819e540000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 2103,
"type": "tx_origin_used"
},
{
"pc": 2844,
"type": "tx_origin_used"
},
{
"pc": 2101,
"type": "tx_origin_used"
},
{
"pc": 2841,
"type": "tx_origin_used"
},
{
"pc": 7238,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 7465,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
]
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0xbb0464a92717c4b72a504622f1d36ef6d565136a83109bf413d413a223418f4e
call_targets:
0xe2f826324b2faf99e513d16d266c3f80ae87832b
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xbb0464a92717c4b72a504622f1d36ef6d565136a83109bf413d413a223418f4e",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xe2f826324b2faf99e513d16d266c3f80ae87832b"
],
"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": "0xbf653a5c",
"selector": "0xbf653a5c",
"calldata_variants": [
"0xbf653a5c",
"0xbf653a5c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcff0ab96",
"selector": "0xcff0ab96",
"calldata_variants": [
"0xcff0ab96",
"0xcff0ab960000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe9e05c42",
"selector": "0xe9e05c42",
"calldata_variants": [
"0xe9e05c42",
"0xe9e05c420000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2b4e617",
"selector": "0xf2b4e617",
"calldata_variants": [
"0xf2b4e617",
"0xf2b4e6170000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa35d99df",
"selector": "0xa35d99df",
"calldata_variants": [
"0xa35d99df",
"0xa35d99df0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa3860f48",
"selector": "0xa3860f48",
"calldata_variants": [
"0xa3860f48",
"0xa3860f480000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xbb2c727e",
"selector": "0xbb2c727e",
"calldata_variants": [
"0xbb2c727e",
"0xbb2c727e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8e819e54",
"selector": "0x8e819e54",
"calldata_variants": [
"0x8e819e54",
"0x8e819e540000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 9454,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 1,
"guards_detected": [
{
"pc": 2103,
"type": "tx_origin_used"
},
{
"pc": 2844,
"type": "tx_origin_used"
},
{
"pc": 2101,
"type": "tx_origin_used"
},
{
"pc": 2841,
"type": "tx_origin_used"
},
{
"pc": 7238,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 7465,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"untrusted_call_count": 1
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0xbb0464a92717c4b72a504622f1d36ef6d565136a83109bf413d413a223418f4e
call_targets:
0xe2f826324b2faf99e513d16d266c3f80ae87832b
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xbb0464a92717c4b72a504622f1d36ef6d565136a83109bf413d413a223418f4e",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xe2f826324b2faf99e513d16d266c3f80ae87832b"
],
"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": "0xbf653a5c",
"selector": "0xbf653a5c",
"calldata_variants": [
"0xbf653a5c",
"0xbf653a5c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcff0ab96",
"selector": "0xcff0ab96",
"calldata_variants": [
"0xcff0ab96",
"0xcff0ab960000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe9e05c42",
"selector": "0xe9e05c42",
"calldata_variants": [
"0xe9e05c42",
"0xe9e05c420000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2b4e617",
"selector": "0xf2b4e617",
"calldata_variants": [
"0xf2b4e617",
"0xf2b4e6170000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa35d99df",
"selector": "0xa35d99df",
"calldata_variants": [
"0xa35d99df",
"0xa35d99df0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa3860f48",
"selector": "0xa3860f48",
"calldata_variants": [
"0xa3860f48",
"0xa3860f480000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xbb2c727e",
"selector": "0xbb2c727e",
"calldata_variants": [
"0xbb2c727e",
"0xbb2c727e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8e819e54",
"selector": "0x8e819e54",
"calldata_variants": [
"0x8e819e54",
"0x8e819e540000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 9454,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 1,
"guards_detected": [
{
"pc": 2103,
"type": "tx_origin_used"
},
{
"pc": 2844,
"type": "tx_origin_used"
},
{
"pc": 2101,
"type": "tx_origin_used"
},
{
"pc": 2841,
"type": "tx_origin_used"
},
{
"pc": 7238,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 7465,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
]
}
|