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

Analysis Run

bcc94c41-02bf-4d4c-8fe8-6e59b9b5a0b0

failed
Chain ID
1
Address
Block Number
Created
Wed, Dec 31, 2025 4:32 PM
Review Summary

What survived the funnel

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

Confirmed
0
Validated
0
Source
Verified
Review Backing
Not yet
Best current signal
Authorization based on tx.origin
crit 0 high 0 proxy context implementation known
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
30854 report.consolidate complete 1 / 1 3 months ago
94135 artifact.fetch failed 1 / 3 2 weeks ago
94136 tool.cast_disasm complete 1 / 3 2 weeks ago
94137 analysis.bundle complete 1 / 3 2 weeks ago
94138 capability.graph complete 1 / 3 2 weeks ago
94139 detector.run complete 1 / 3 2 weeks ago
94140 validation.fork complete 1 / 3 2 weeks ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
0
No findings?
yes
Summary
No concrete, exploitable profit path identified after reviewing AUDIT_BUNDLE.txt.
View stderr
[codex:903603] OpenAI Codex v0.77.0 (research preview)
[codex:903603] --------
[codex:903603] workdir: /tmp/codex-multi-np0lhgsm
[codex:903603] model: gpt-5.2-codex
[codex:903603] provider: openai
[codex:903603] approval: never
[codex:903603] sandbox: read-only
[codex:903603] reasoning effort: xhigh
[codex:903603] reasoning summaries: auto
[codex:903603] session id: 019b753c-949e-7ae2-8747-470824b9a31a
[codex:903603] --------
[codex:903603] user
[codex:903603] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:903603] 
[codex:903603] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:903603] 
[codex:903603] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:903603] - Gas inefficiency, code quality, naming, or best practices
[codex:903603] - Theoretical vulnerabilities without a clear extraction path
[codex:903603] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:903603] - Front-running unless it enables theft beyond MEV
[codex:903603] - DoS, griefing, or issues that don't result in attacker profit
[codex:903603] - Missing events, view function issues, or informational findings
[codex:903603] 
[codex:903603] HIGH-VALUE PATTERNS TO HUNT:
[codex:903603] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:903603] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:903603] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:903603] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:903603] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:903603] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:903603] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:903603] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:903603] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:903603] 
[codex:903603] For each finding, you MUST provide:
[codex:903603] 1. Exact file and line numbers of vulnerable code
[codex:903603] 2. Step-by-step exploit transaction sequence
[codex:903603] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:903603] 
[codex:903603] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:903603] 
[codex:903603] Output MUST be valid JSON matching the provided schema.
[codex:903603] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:903603] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:903603] mcp startup: no servers
[codex:903603] 
[codex:903603] thinking
[codex:903603] **Reviewing instructions and audit file**
[codex:903603] exec
[codex:903603] /bin/bash -lc ls in /tmp/codex-multi-np0lhgsm succeeded in 6ms:
[codex:903603] AUDIT_BUNDLE.txt
[codex:903603] codex-output-schema.json
[codex:903603] contracts
[codex:903603] exec
[codex:903603] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-np0lhgsm succeeded in 6ms:
[codex:903603] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:903603] 
[codex:903603] ================================================================================
[codex:903603] FILE: contracts/contracts/L1/L1StandardBridge.sol
[codex:903603] ================================================================================
[codex:903603] // SPDX-License-Identifier: MIT
[codex:903603] pragma solidity 0.8.15;
[codex:903603] 
[codex:903603] import { Predeploys } from "../libraries/Predeploys.sol";
[codex:903603] import { StandardBridge } from "../universal/StandardBridge.sol";
[codex:903603] import { Semver } from "../universal/Semver.sol";
[codex:903603] import { SafeCall } from "../libraries/SafeCall.sol";
[codex:903603] import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:903603] import { SafeERC20 } from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:903603] import { OptimismMintableERC20 } from "../universal/OptimismMintableERC20.sol";
[codex:903603] import { L2StandardBridge } from "../L2/L2StandardBridge.sol";
[codex:903603] 
[codex:903603] /**
[codex:903603]  * @custom:proxied
[codex:903603]  * @title L1StandardBridge
[codex:903603] 
[codex:903603] thinking
[codex:903603] **Starting audit bundle analysis**
[codex:903603] exec
[codex:903603] /bin/bash -lc 'rg -n "initialize|init" -S contracts' in /tmp/codex-multi-np0lhgsm succeeded in 11ms:
[codex:903603] contracts/node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol:290:            let y := x // We start y at x, which will help us make our initial estimate.
[codex:903603] contracts/node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol:294:            // This segment is to get a reasonable initial estimate for the Babylonian method. With a bad
[codex:903603] contracts/node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:2:// OpenZeppelin Contracts (last updated v4.7.0) (proxy/utils/Initializable.sol)
[codex:903603] contracts/node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:11: * external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer
[codex:903603] contracts/node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:12: * function so it can only be called once. The {initializer} modifier provided by this contract will have this effect.
[codex:903603] contracts/node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:14: * The initialization functions use a version number. Once a version number is used, it is consumed and cannot be
[codex:903603] contracts/node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:15: * reused. This mechanism prevents re-execution of each "step" but allows the creation of new initialization steps in
[codex:903603] contracts/node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:16: * case an upgrade adds a module that needs to be initialized.
[codex:903603] contracts/node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:23: *     function initialize() initializer public {
[codex:903603] contracts/node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:24: *         __ERC20_init("MyToken", "MTK");
[codex:903603] contracts/node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:28: *     function initializeV2() reinitializer(2) public {
[codex:903603] contracts/node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:29: *         __ERC20Permit_init("MyToken");
[codex:903603] contracts/node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:34: * TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as
[codex:903603] contracts/node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:37: * CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure
[codex:903603] contracts/node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:38: * that all initializers are idempotent. This is not verified automatically as constructors are by Solidity.
[codex:903603] contracts/node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:42: * Avoid leaving a contract uninitialized.
[codex:903603] contracts/node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:44: * An uninitialized contract can be taken over by an attacker. This applies to both a proxy and its implementation
[codex:903603] contracts/node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:46: * the {_disableInitializers} function in the constructor to automatically lock it when it is deployed:
[codex:903603] contracts/node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:52: *     _disableInitializers();
[codex:903603] contracts/node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:57:abstract contract Initializable {
[codex:903603] 
[codex:903603] thinking
[codex:903603] **Preparing to analyze potential exploits**
[codex:903603] exec
[codex:903603] /bin/bash -lc 'rg --files contracts/contracts' in /tmp/codex-multi-np0lhgsm succeeded in 8ms:
[codex:903603] contracts/contracts/universal/StandardBridge.sol
[codex:903603] contracts/contracts/universal/Semver.sol
[codex:903603] contracts/contracts/universal/IOptimismMintableERC20.sol
[codex:903603] contracts/contracts/universal/CrossDomainMessenger.sol
[codex:903603] contracts/contracts/universal/OptimismMintableERC20.sol
[codex:903603] contracts/contracts/L2/L2StandardBridge.sol
[codex:903603] contracts/contracts/libraries/Types.sol
[codex:903603] contracts/contracts/libraries/Predeploys.sol
[codex:903603] contracts/contracts/libraries/Encoding.sol
[codex:903603] contracts/contracts/libraries/SafeCall.sol
[codex:903603] contracts/contracts/libraries/Burn.sol
[codex:903603] contracts/contracts/libraries/Constants.sol
[codex:903603] contracts/contracts/libraries/Arithmetic.sol
[codex:903603] contracts/contracts/libraries/Hashing.sol
[codex:903603] contracts/contracts/libraries/rlp/RLPWriter.sol
[codex:903603] contracts/contracts/L1/ResourceMetering.sol
[codex:903603] contracts/contracts/L1/L1StandardBridge.sol
[codex:903603] 
[codex:903603] thinking
[codex:903603] **Examining bridge contract security**
[codex:903603] exec
[codex:903603] /bin/bash -lc 'rg -n "finalizeBridgeMNT|_initiateBridgeMNT|finalizeMantleWithdrawal" -n contracts/contracts/L1/L1StandardBridge.sol' in /tmp/codex-multi-np0lhgsm succeeded in 6ms:
[codex:903603] 299:    function finalizeMantleWithdrawal(
[codex:903603] 305:        finalizeBridgeMNT(_from, _to, _amount, _extraData);
[codex:903603] 414:        _initiateBridgeMNT(_from, _to, _amount, _minGasLimit, _extraData);
[codex:903603] 562:        _initiateBridgeMNT(msg.sender, msg.sender, _amount, _minGasLimit, _extraData);
[codex:903603] 581:        _initiateBridgeMNT(msg.sender, _to, _amount, _minGasLimit, _extraData);
[codex:903603] 733:    function finalizeBridgeMNT(
[codex:903603] 864:    function _initiateBridgeMNT(
[codex:903603] 884:                L2StandardBridge.finalizeBridgeMNT.selector,
[codex:903603] exec
[codex:903603] /bin/bash -lc "sed -n '700,910p' contracts/contracts/L1/L1StandardBridge.sol" in /tmp/codex-multi-np0lhgsm succeeded in 6ms:
[codex:903603]         if (_isOptimismMintableERC20(_localToken)) {
[codex:903603]             require(
[codex:903603]                 _isCorrectTokenPair(_localToken, _remoteToken),
[codex:903603]                 "StandardBridge: wrong remote token for Optimism Mintable ERC20 local token"
[codex:903603]             );
[codex:903603] 
[codex:903603]             OptimismMintableERC20(_localToken).mint(_to, _amount);
[codex:903603]         } else {
[codex:903603] 
[codex:903603]             uint256 balanceBefore = IERC20(_localToken).balanceOf(address(this));
[codex:903603]             IERC20(_localToken).safeTransfer(_to, _amount);
[codex:903603]             uint256 balanceAfter = IERC20(_localToken).balanceOf(address(this));
[codex:903603]             uint256 sentAmount = balanceBefore - balanceAfter;
[codex:903603] 
[codex:903603]             deposits[_localToken][_remoteToken] = deposits[_localToken][_remoteToken] - sentAmount;
[codex:903603]         }
[codex:903603] 
[codex:903603]         // Emit the correct events. By default this will be ERC20BridgeFinalized, but child
[codex:903603]         // contracts may override this function in order to emit legacy events as well.
[codex:903603]         _emitERC20BridgeFinalized(_localToken, _remoteToken, _from, _to, _amount, _extraData);
[codex:903603] 
[codex:903603] thinking
[codex:903603] **Examining token transfer flow in L1StandardBridge**
[codex:903603] exec
[codex:903603] /bin/bash -lc 'rg -n "function sendMessage" -n contracts/contracts/universal/CrossDomainMessenger.sol' in /tmp/codex-multi-np0lhgsm succeeded in 6ms:
[codex:903603] 283:    function sendMessage(
[codex:903603] 327:    function sendMessage(
[codex:903603] exec
[codex:903603] /bin/bash -lc "sed -n '260,360p' contracts/contracts/universal/CrossDomainMessenger.sol" in /tmp/codex-multi-np0lhgsm succeeded in 5ms:
[codex:903603]      *
[codex:903603]      * @param msgHash Hash of the message that failed to be relayed.
[codex:903603]      */
[codex:903603]     event FailedRelayedMessage(bytes32 indexed msgHash);
[codex:903603] 
[codex:903603]     /**
[codex:903603]      * @param _otherMessenger Address of the messenger on the paired chain.
[codex:903603]      */
[codex:903603]     constructor(address _otherMessenger) {
[codex:903603]         OTHER_MESSENGER = _otherMessenger;
[codex:903603]     }
[codex:903603] 
[codex:903603]     /**
[codex:903603]      * @notice Sends a message to some target address on the other chain. Note that if the call
[codex:903603]      *         always reverts, then the message will be unrelayable, and any ETH sent will be
[codex:903603]      *         permanently locked. The same will occur if the target on the other chain is
[codex:903603]      *         considered unsafe (see the _isUnsafeTarget() function).
[codex:903603]      *
[codex:903603]      * @param _otherSideNativeTokenAmount   Bridge the other side native token amount.
[codex:903603]      * @param _target                       Target contract or wallet address.
[codex:903603] 
[codex:903603] thinking
[codex:903603] **Analyzing CrossDomainMessenger sendMessage parameter**
[codex:903603] exec
[codex:903603] /bin/bash -lc "sed -n '1,220p' contracts/contracts/L2/L2StandardBridge.sol" in /tmp/codex-multi-np0lhgsm succeeded in 6ms:
[codex:903603] // SPDX-License-Identifier: MIT
[codex:903603] pragma solidity 0.8.15;
[codex:903603] 
[codex:903603] import { Predeploys } from "../libraries/Predeploys.sol";
[codex:903603] import { StandardBridge } from "../universal/StandardBridge.sol";
[codex:903603] import { Semver } from "../universal/Semver.sol";
[codex:903603] import { SafeCall } from "../libraries/SafeCall.sol";
[codex:903603] import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:903603] import { SafeERC20 } from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:903603] import { OptimismMintableERC20 } from "../universal/OptimismMintableERC20.sol";
[codex:903603] import { L1StandardBridge } from "../L1/L1StandardBridge.sol";
[codex:903603] 
[codex:903603] /**
[codex:903603]  * @custom:proxied
[codex:903603]  * @custom:predeploy 0x4200000000000000000000000000000000000010
[codex:903603]  * @title L2StandardBridge
[codex:903603]  * @notice The L2StandardBridge is responsible for transfering ETH and ERC20 tokens between L1 and
[codex:903603]  *         L2. In the case that an ERC20 token is native to L2, it will be escrowed within this
[codex:903603]  *         contract. If the ERC20 token is native to L1, it will be burnt.
[codex:903603]  *         NOTE: this contract is not intended to support all variations of ERC20 tokens. Examples
[codex:903603] 
[codex:903603] thinking
[codex:903603] **Investigating withdraw flow restrictions**
[codex:903603] exec
[codex:903603] /bin/bash -lc 'rg -n "finalizeBridgeMNT" -n contracts/contracts/L2/L2StandardBridge.sol' in /tmp/codex-multi-np0lhgsm succeeded in 6ms:
[codex:903603] 162:            finalizeBridgeMNT(_from, _to, _amount, _extraData);
[codex:903603] 279:                L1StandardBridge.finalizeBridgeMNT.selector,
[codex:903603] 695:    function finalizeBridgeMNT(
[codex:903603] exec
[codex:903603] /bin/bash -lc "sed -n '640,760p' contracts/contracts/L2/L2StandardBridge.sol" in /tmp/codex-multi-np0lhgsm succeeded in 6ms:
[codex:903603]         _emitETHBridgeFinalized(_from, _to, _amount, _extraData);
[codex:903603] 
[codex:903603]     }
[codex:903603] 
[codex:903603]     /**
[codex:903603]      * @notice Finalizes an ERC20 bridge on this chain. Can only be triggered by the other
[codex:903603]      *         StandardBridge contract on the remote chain.
[codex:903603]      *
[codex:903603]      * @param _localToken  Address of the ERC20 on this chain.
[codex:903603]      * @param _remoteToken Address of the corresponding token on the remote chain.
[codex:903603]      * @param _from        Address of the sender.
[codex:903603]      * @param _to          Address of the receiver.
[codex:903603]      * @param _amount      Amount of the ERC20 being bridged.
[codex:903603]      * @param _extraData   Extra data to be sent with the transaction. Note that the recipient will
[codex:903603]      *                     not be triggered with this data, but it will be emitted and can be used
[codex:903603]      *                     to identify the transaction.
[codex:903603]      */
[codex:903603]     function finalizeBridgeERC20(
[codex:903603]         address _localToken,
[codex:903603]         address _remoteToken,
[codex:903603] 
[codex:903603] thinking
[codex:903603] **Analyzing token transfer logic in bridge functions**
[codex:903603] 
[codex:903603] I'm examining how finalizeDeposit and finalizeBridgeMNT interact with msg.sender and the messenger role to ensure proper access and message flow. There’s a curious mismatch where finalizeBridgeMNT uses safeTransferFrom from the messenger address, but tokens seem held by the bridge contract, not the messenger. I'm checking whether the messenger actually holds tokens or if the flow involves transferring tokens to the messenger beforehand, possibly via the cross-domain messenger’s _sendMessage handling. This analysis might uncover unusual token custody or allowance setups tied to cross-domain messaging.
[codex:903603] exec
[codex:903603] /bin/bash -lc 'rg -n "_sendMessage" -n contracts/contracts/universal/CrossDomainMessenger.sol' in /tmp/codex-multi-np0lhgsm succeeded in 7ms:
[codex:903603] 293:        _sendMessage(
[codex:903603] 336:        _sendMessage(
[codex:903603] 570:    function _sendMessage(
[codex:903603] exec
[codex:903603] /bin/bash -lc "sed -n '520,660p' contracts/contracts/universal/CrossDomainMessenger.sol" in /tmp/codex-multi-np0lhgsm succeeded in 5ms:
[codex:903603]      * @param _minGasLimit Minimum desired gas limit when message goes to target.
[codex:903603]      *
[codex:903603]      * @return Amount of gas required to guarantee message receipt.
[codex:903603]      */
[codex:903603]     function baseGas(bytes calldata _message, uint32 _minGasLimit) public pure returns (uint64) {
[codex:903603]         return
[codex:903603]             // Constant overhead
[codex:903603]             RELAY_CONSTANT_OVERHEAD +
[codex:903603]             // Calldata overhead
[codex:903603]             (uint64(_message.length) * MIN_GAS_CALLDATA_OVERHEAD) +
[codex:903603]             // Hash message
[codex:903603]             (uint64(_message.length) * HASH_MESSAGE_GAS_PER_BYTE) + HASH_MESSAGE_BASE_GAS +
[codex:903603]             // Dynamic overhead (EIP-150)
[codex:903603]             ((_minGasLimit * MIN_GAS_DYNAMIC_OVERHEAD_NUMERATOR) /
[codex:903603]                 MIN_GAS_DYNAMIC_OVERHEAD_DENOMINATOR) +
[codex:903603]             // Gas reserved for the worst-case cost of 3/5 of the `CALL` opcode's dynamic gas
[codex:903603]             // factors. (Conservative)
[codex:903603]             RELAY_CALL_OVERHEAD +
[codex:903603]             // Relay reserved gas (to ensure execution of `relayMessage` completes after the
[codex:903603]             // subcontext finishes executing) (Conservative)
[codex:903603] 
[codex:903603] thinking
[codex:903603] **Analyzing token transfer roles in bridge and messenger**
[codex:903603] exec
[codex:903603] /bin/bash -lc 'rg -n "contract L1CrossDomainMessenger|L2CrossDomainMessenger" -S contracts/contracts' in /tmp/codex-multi-np0lhgsm succeeded in 9ms:
[codex:903603] contracts/contracts/libraries/Predeploys.sol:22:     * @notice Address of the L2CrossDomainMessenger predeploy.
[codex:903603] contracts/contracts/libraries/Predeploys.sol:67:     * @notice Address of the L1MessageSender predeploy. Deprecated. Use L2CrossDomainMessenger
[codex:903603] 
[codex:903603] thinking
[codex:903603] **Investigating potential exploit vectors**
[codex:903603] exec
[codex:903603] /bin/bash -lc "sed -n '1,260p' contracts/contracts/universal/OptimismMintableERC20.sol" in /tmp/codex-multi-np0lhgsm succeeded in 5ms:
[codex:903603] // SPDX-License-Identifier: MIT
[codex:903603] pragma solidity 0.8.15;
[codex:903603] 
[codex:903603] import { ERC20 } from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
[codex:903603] import { IERC165 } from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
[codex:903603] import { ILegacyMintableERC20, IOptimismMintableERC20 } from "./IOptimismMintableERC20.sol";
[codex:903603] import { Semver } from "../universal/Semver.sol";
[codex:903603] 
[codex:903603] /**
[codex:903603]  * @title OptimismMintableERC20
[codex:903603]  * @notice OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed
[codex:903603]  *         to allow the StandardBridge contracts to mint and burn tokens. This makes it possible to
[codex:903603]  *         use an OptimismMintablERC20 as the L2 representation of an L1 token, or vice-versa.
[codex:903603]  *         Designed to be backwards compatible with the older StandardL2ERC20 token which was only
[codex:903603]  *         meant for use on L2.
[codex:903603]  */
[codex:903603] contract OptimismMintableERC20 is IOptimismMintableERC20, ILegacyMintableERC20, ERC20, Semver {
[codex:903603]     /**
[codex:903603]      * @notice Address of the corresponding version of this token on the remote chain.
[codex:903603]      */
[codex:903603] 
[codex:903603] thinking
[codex:903603] **Reviewing bridge contract risks**
[codex:903603] exec
[codex:903603] /bin/bash -lc "sed -n '1,220p' contracts/contracts/universal/StandardBridge.sol" in /tmp/codex-multi-np0lhgsm succeeded in 6ms:
[codex:903603] // SPDX-License-Identifier: MIT
[codex:903603] pragma solidity 0.8.15;
[codex:903603] 
[codex:903603] import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:903603] import { ERC165Checker } from "@openzeppelin/contracts/utils/introspection/ERC165Checker.sol";
[codex:903603] import { Address } from "@openzeppelin/contracts/utils/Address.sol";
[codex:903603] import { SafeERC20 } from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:903603] import { SafeCall } from "../libraries/SafeCall.sol";
[codex:903603] import { IOptimismMintableERC20, ILegacyMintableERC20 } from "./IOptimismMintableERC20.sol";
[codex:903603] import { CrossDomainMessenger } from "./CrossDomainMessenger.sol";
[codex:903603] import { OptimismMintableERC20 } from "./OptimismMintableERC20.sol";
[codex:903603] import { Predeploys } from "../libraries/Predeploys.sol";
[codex:903603] 
[codex:903603] /**
[codex:903603]  * @custom:upgradeable
[codex:903603]  * @title StandardBridge
[codex:903603]  * @notice StandardBridge is a base contract for the L1 and L2 standard ERC20 bridges. It handles
[codex:903603]  *         the core bridging logic, including escrowing tokens that are native to the local chain
[codex:903603]  *         and minting/burning tokens that are native to the remote chain.
[codex:903603]  */
[codex:903603] 
[codex:903603] thinking
[codex:903603] **Inspecting message relay logic**
[codex:903603] exec
[codex:903603] /bin/bash -lc 'rg -n "relayMessage" -n contracts/contracts/universal/CrossDomainMessenger.sol' in /tmp/codex-multi-np0lhgsm succeeded in 6ms:
[codex:903603] 150:     * @notice Gas reserved for performing the external call in `relayMessage`.
[codex:903603] 155:     * @notice Gas reserved for finalizing the execution of `relayMessage` after the safe call.
[codex:903603] 161:     *         call in `relayMessage`.
[codex:903603] 298:                this.relayMessage.selector,
[codex:903603] 341:                this.relayMessage.selector,
[codex:903603] 372:    function relayMessage(
[codex:903603] 538:            // Relay reserved gas (to ensure execution of `relayMessage` completes after the
[codex:903603] exec
[codex:903603] /bin/bash -lc "sed -n '360,520p' contracts/contracts/universal/CrossDomainMessenger.sol" in /tmp/codex-multi-np0lhgsm succeeded in 5ms:
[codex:903603]     /**
[codex:903603]      * @notice Relays a message that was sent by the other CrossDomainMessenger contract. Can only
[codex:903603]      *         be executed via cross-chain call from the other messenger OR if the message was
[codex:903603]      *         already received once and is currently being replayed.
[codex:903603]      *
[codex:903603]      * @param _nonce       Nonce of the message being relayed.
[codex:903603]      * @param _sender      Address of the user who sent the message.
[codex:903603]      * @param _target      Address that the message is targeted at.
[codex:903603]      * @param _value       ETH value to send with the message.
[codex:903603]      * @param _minGasLimit Minimum amount of gas that the message can be executed with.
[codex:903603]      * @param _message     Message to send to the target.
[codex:903603]      */
[codex:903603]     function relayMessage(
[codex:903603]         uint256 _nonce,
[codex:903603]         address _sender,
[codex:903603]         address _target,
[codex:903603]         uint256 _mntValue,
[codex:903603]         uint256 _value,
[codex:903603]         uint256 _minGasLimit,
[codex:903603]         bytes calldata _message
[codex:903603] 
[codex:903603] thinking
[codex:903603] **Analyzing potential reentrancy risks**
[codex:903603] exec
[codex:903603] /bin/bash -lc "sed -n '1,220p' contracts/contracts/L1/ResourceMetering.sol" in /tmp/codex-multi-np0lhgsm succeeded in 5ms:
[codex:903603] // SPDX-License-Identifier: MIT
[codex:903603] pragma solidity 0.8.15;
[codex:903603] 
[codex:903603] import { Initializable } from "@openzeppelin/contracts/proxy/utils/Initializable.sol";
[codex:903603] import { Math } from "@openzeppelin/contracts/utils/math/Math.sol";
[codex:903603] import { Burn } from "../libraries/Burn.sol";
[codex:903603] import { Arithmetic } from "../libraries/Arithmetic.sol";
[codex:903603] 
[codex:903603] /**
[codex:903603]  * @custom:upgradeable
[codex:903603]  * @title ResourceMetering
[codex:903603]  * @notice ResourceMetering implements an EIP-1559 style resource metering system where pricing
[codex:903603]  *         updates automatically based on current demand.
[codex:903603]  */
[codex:903603] abstract contract ResourceMetering is Initializable {
[codex:903603]     /**
[codex:903603]      * @notice Represents the various parameters that control the way in which resources are
[codex:903603]      *         metered. Corresponds to the EIP-1559 resource metering system.
[codex:903603]      *
[codex:903603]      * @custom:field prevBaseFee   Base fee from the previous block(s).
[codex:903603] 
[codex:903603] thinking
[codex:903603] **Inspecting ResourceMetering charges**
[codex:903603] exec
[codex:903603] /bin/bash -lc "sed -n '1,200p' contracts/contracts/libraries/Burn.sol" in /tmp/codex-multi-np0lhgsm succeeded in 5ms:
[codex:903603] // SPDX-License-Identifier: MIT
[codex:903603] pragma solidity 0.8.15;
[codex:903603] 
[codex:903603] /**
[codex:903603]  * @title Burn
[codex:903603]  * @notice Utilities for burning stuff.
[codex:903603]  */
[codex:903603] library Burn {
[codex:903603]     /**
[codex:903603]      * Burns a given amount of MNT.
[codex:903603]      *
[codex:903603]      * @param _amount Amount of MNT to burn.
[codex:903603]      */
[codex:903603]     function mnt(uint256 _amount) internal {
[codex:903603]         new Burner{ value: _amount }();
[codex:903603]     }
[codex:903603] 
[codex:903603]     /**
[codex:903603]      * Consumes a given amount of gas.
[codex:903603]      *
[codex:903603] 
[codex:903603] thinking
[codex:903603] **Analyzing cross-chain token bridging vulnerabilities**
[codex:903603] exec
[codex:903603] /bin/bash -lc 'rg -n "bridgeERC20" -n contracts/contracts/L2/L2StandardBridge.sol' in /tmp/codex-multi-np0lhgsm succeeded in 7ms:
[codex:903603] 99:     *         `bridgeERC20` function to bridge native L2 tokens to L1.
[codex:903603] 123:     *         `bridgeERC20To` function to bridge native L2 tokens to L1.
[codex:903603] 564:    function bridgeERC20(
[codex:903603] 597:    function bridgeERC20To(
[codex:903603] exec
[codex:903603] /bin/bash -lc "sed -n '520,640p' contracts/contracts/L2/L2StandardBridge.sol" in /tmp/codex-multi-np0lhgsm succeeded in 6ms:
[codex:903603]      */
[codex:903603]     function bridgeMNT(
[codex:903603]         uint32 _minGasLimit,
[codex:903603]         bytes calldata _extraData
[codex:903603]     ) public payable onlyEOA {
[codex:903603]         _initiateBridgeMNT(msg.sender, msg.sender, msg.value, _minGasLimit, _extraData);
[codex:903603]     }
[codex:903603] 
[codex:903603]     /**
[codex:903603]      * @notice Sends MNT to a receiver's address on the other chain. Note that if MNT is sent to a
[codex:903603]      *         smart contract and the call fails, the MNT will be temporarily locked in the
[codex:903603]      *         StandardBridge on the other chain until the call is replayed. If the call cannot be
[codex:903603]      *         replayed with any amount of gas (call always reverts), then the MNT will be
[codex:903603]      *         permanently locked in the StandardBridge on the other chain. MNT will also
[codex:903603]      *         be locked if the receiver is the other bridge, because finalizeBridgeETH will revert
[codex:903603]      *         in that case.
[codex:903603]      * @param _to Address of the receiver.
[codex:903603]      * @param _minGasLimit Minimum amount of gas that the bridge can be relayed with.
[codex:903603]      * @param _extraData   Extra data to be sent with the transaction. Note that the recipient will
[codex:903603]      *                     not be triggered with this data, but it will be emitted and can be used
[codex:903603] 
[codex:903603] thinking
[codex:903603] **Analyzing L2 bridge token validation**
[codex:903603] exec
[codex:903603] /bin/bash -lc "sed -n '260,360p' contracts/contracts/L2/L2StandardBridge.sol" in /tmp/codex-multi-np0lhgsm succeeded in 5ms:
[codex:903603]         address _from,
[codex:903603]         address _to,
[codex:903603]         uint256 _amount,
[codex:903603]         uint32 _minGasLimit,
[codex:903603]         bytes memory _extraData
[codex:903603]     ) internal override {
[codex:903603]         require(
[codex:903603]             msg.value == _amount,
[codex:903603]             "StandardBridge: bridging MNT must include sufficient MNT value"
[codex:903603]         );
[codex:903603] 
[codex:903603]         // Emit the correct events. By default this will be ERC20BridgeInitiated, but child
[codex:903603]         // contracts may override this function in order to emit legacy events as well.
[codex:903603]         _emitMNTBridgeInitiated(_from, _to, _amount, _extraData);
[codex:903603]         uint256 zeroETHValue = 0;
[codex:903603]         MESSENGER.sendMessage{value: msg.value}(
[codex:903603]             zeroETHValue,
[codex:903603]             address(OTHER_BRIDGE),
[codex:903603]             abi.encodeWithSelector(
[codex:903603]                 L1StandardBridge.finalizeBridgeMNT.selector,
[codex:903603] 
[codex:903603] thinking
[codex:903603] **Analyzing token bridging logic and deposit mappings**
[codex:903603] 
[codex:903603] I'm tracing how different tokens are handled during cross-chain bridging—especially mintable vs. non-mintable tokens—and how deposit mappings and escrow balances interact. I’m examining potential for exploiting deposit accounting mismatches or malicious tokens to withdraw or manipulate funds, while also checking messaging flow between L1 and L2 contracts for vulnerabilities in finalizing bridges or access control.
[codex:903603] exec
[codex:903603] /bin/bash -lc "sed -n '1,180p' contracts/contracts/universal/CrossDomainMessenger.sol" in /tmp/codex-multi-np0lhgsm succeeded in 6ms:
[codex:903603] // SPDX-License-Identifier: MIT
[codex:903603] pragma solidity 0.8.15;
[codex:903603] 
[codex:903603] import { Initializable } from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
[codex:903603] import { SafeCall } from "../libraries/SafeCall.sol";
[codex:903603] import { Hashing } from "../libraries/Hashing.sol";
[codex:903603] import { Encoding } from "../libraries/Encoding.sol";
[codex:903603] import { Constants } from "../libraries/Constants.sol";
[codex:903603] import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:903603] import { SafeERC20 } from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:903603] 
[codex:903603] 
[codex:903603] /**
[codex:903603]  * @custom:legacy
[codex:903603]  * @title CrossDomainMessengerLegacySpacer0
[codex:903603]  * @notice Contract only exists to add a spacer to the CrossDomainMessenger where the
[codex:903603]  *         libAddressManager variable used to exist. Must be the first contract in the inheritance
[codex:903603]  *         tree of the CrossDomainMessenger.
[codex:903603]  */
[codex:903603] contract CrossDomainMessengerLegacySpacer0 {
[codex:903603] 
[codex:903603] thinking
[codex:903603] **Investigating CrossDomainMessenger and IERC20 usage**
[codex:903603] exec
[codex:903603] /bin/bash -lc 'rg -n "MNT|mnt|native" contracts/contracts/universal/CrossDomainMessenger.sol' in /tmp/codex-multi-np0lhgsm succeeded in 6ms:
[codex:903603] 246:     * @param mntValue  MNT value sent along with the message to the recipient.
[codex:903603] 249:    event SentMessageExtension1(address indexed sender, uint256 mntValue,uint256 ethValue);
[codex:903603] 278:     * @param _otherSideNativeTokenAmount   Bridge the other side native token amount.
[codex:903603] 376:        uint256 _mntValue,
[codex:903603] 403:            _mntValue,
[codex:903603] 565:     * @param _otherSideNativeTokenAmount   Bridge the other side native token amount.
[codex:903603] 
[codex:903603] thinking
[codex:903603] **Examining CrossDomainMessenger events and token handling**
[codex:903603] exec
[codex:903603] /bin/bash -lc "sed -n '200,320p' contracts/contracts/universal/CrossDomainMessenger.sol" in /tmp/codex-multi-np0lhgsm succeeded in 6ms:
[codex:903603]      */
[codex:903603]     address internal pauseOwner_spacer;
[codex:903603] 
[codex:903603]     /**
[codex:903603]      * @notice Nonce for the next message to be sent, without the message version applied. Use the
[codex:903603]      *         messageNonce getter which will insert the message version into the nonce to give you
[codex:903603]      *         the actual nonce to be used for the message.
[codex:903603]      */
[codex:903603]     uint240 internal msgNonce;
[codex:903603] 
[codex:903603]     /**
[codex:903603]      * @notice Mapping of message hashes to a boolean if and only if the message has failed to be
[codex:903603]      *         executed at least once. A message will not be present in this mapping if it
[codex:903603]      *         successfully executed on the first attempt.
[codex:903603]      */
[codex:903603]     mapping(bytes32 => bool) public failedMessages;
[codex:903603] 
[codex:903603]     /**
[codex:903603]      * @notice Reserve extra slots in the storage layout for future upgrades.
[codex:903603]      *         A gap size of 41 was chosen here, so that the first slot used in a child contract
[codex:903603] 
[codex:903603] 
[codex:903603] thinking
[codex:903603] **Analyzing cross-chain messaging and bridging logic**
[codex:903603] thinking
[codex:903603] **Reviewing message replay, reentrancy, and initialization risks**
[codex:903603] 
[codex:903603] I'll carefully check for possible message replay via failedMessages flags, reentrancy attacks especially involving token callbacks in finalizeBridgeERC20, and missing initializer vulnerabilities in upgradeable contracts. After reviewing cross-domain messenger flow, onlyEOA restrictions, and transfer mechanics, I see no concrete exploit that yields profit. I'll prepare a JSON output confirming no findings with a brief summary.
[codex:903603] exec
[codex:903603] /bin/bash -lc 'cat codex-output-schema.json' in /tmp/codex-multi-np0lhgsm succeeded in 5ms:
[codex:903603] {"type": "object", "additionalProperties": false, "required": ["no_findings", "summary", "findings"], "properties": {"no_findings": {"type": "boolean"}, "summary": {"type": "string"}, "findings": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["severity", "category", "title", "evidence", "locations", "exploit_scenario", "recommendation"], "properties": {"severity": {"type": "string", "enum": ["info", "low", "medium", "high", "critical"]}, "category": {"type": "string", "enum": ["access_control", "reentrancy", "math", "oracle", "upgradeability", "auth", "other"]}, "title": {"type": "string"}, "exploit_scenario": {"type": "string"}, "recommendation": {"type": "string"}, "evidence": {"type": "string"}, "locations": {"type": "array", "items": {"type": "string"}}}}}}}
[codex:903603] 
[codex:903603] thinking
[codex:903603] **Preparing JSON output compliance**
[codex:903603] codex
[codex:903603] {"no_findings":true,"summary":"No concrete, exploitable profit path identified after reviewing AUDIT_BUNDLE.txt.","findings":[]}
[codex:903603] tokens used
[codex:903603] 92,232
[codex:903603] {"no_findings":true,"summary":"No concrete, exploitable profit path identified after reviewing AUDIT_BUNDLE.txt.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-31T16:32:23.661665+00:00",
        "returncode": 0
    },
    "summary": "No concrete, exploitable profit path identified after reviewing AUDIT_BUNDLE.txt.",
    "raw_final": {
        "summary": "No concrete, exploitable profit path identified after reviewing AUDIT_BUNDLE.txt.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
18
EXT*/BALANCE
13
Total opcodes
6572
Flags
heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x019a
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x87087623
00000019: GT
0000001a: PUSH2 0x00e1
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xac6986c5
00000024: GT
00000025: PUSH2 0x008a
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xc8beb965
0000002f: GT
00000030: PUSH2 0x0064
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xc8beb965
0000003a: EQ
0000003b: PUSH2 0x05dc
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xe11013dd
00000045: EQ
00000046: PUSH2 0x05ef
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xf407a99e
00000050: EQ
00000051: PUSH2 0x0602
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xf82b418e
0000005b: EQ
0000005c: PUSH2 0x0615
0000005f: JUMPI
00000060: PUSH1 0x00
00000062: DUP1
00000063: REVERT
00000064: JUMPDEST
00000065: DUP1
00000066: PUSH4 0xac6986c5
0000006b: EQ
0000006c: PUSH2 0x0582
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0xb1a1a882
00000076: EQ
00000077: PUSH2 0x05b6
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0xb6a611e9
00000081: EQ
00000082: PUSH2 0x05c9
00000085: JUMPI
00000086: PUSH1 0x00
00000088: DUP1
00000089: REVERT
0000008a: JUMPDEST
0000008b: DUP1
0000008c: PUSH4 0x927ede2d
00000091: GT
00000092: PUSH2 0x00bb
00000095: JUMPI
00000096: DUP1
00000097: PUSH4 0x927ede2d
0000009c: EQ
0000009d: PUSH2 0x051b
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0x9a2ac6d5
000000a7: EQ
000000a8: PUSH2 0x054f
000000ab: JUMPI
000000ac: DUP1
000000ad: PUSH4 0xa9f9e675
000000b2: EQ
000000b3: PUSH2 0x0562
000000b6: JUMPI
000000b7: PUSH1 0x00
000000b9: DUP1
000000ba: REVERT
000000bb: JUMPDEST
000000bc: DUP1
000000bd: PUSH4 0x87087623
000000c2: EQ
000000c3: PUSH2 0x0482
000000c6: JUMPI
000000c7: DUP1
000000c8: PUSH4 0x8f601f66
000000cd: EQ
000000ce: PUSH2 0x04a2
000000d1: JUMPI
000000d2: DUP1
000000d3: PUSH4 0x91c49bf8
000000d8: EQ
000000d9: PUSH2 0x04e8
000000dc: JUMPI
000000dd: PUSH1 0x00
000000df: DUP1
000000e0: REVERT
000000e1: JUMPDEST
000000e2: DUP1
000000e3: PUSH4 0x540abf73
000000e8: GT
000000e9: PUSH2 0x0143
000000ec: JUMPI
000000ed: DUP1
000000ee: PUSH4 0x69516df5
000000f3: GT
000000f4: PUSH2 0x011d
000000f7: JUMPI
000000f8: DUP1
000000f9: PUSH4 0x69516df5
000000fe: EQ
000000ff: PUSH2 0x041b
00000102: JUMPI
00000103: DUP1
00000104: PUSH4 0x7f46ddb2
00000109: EQ
0000010a: PUSH2 0x042e
0000010d: JUMPI
0000010e: DUP1
0000010f: PUSH4 0x838b2520
00000114: EQ
00000115: PUSH2 0x0462
00000118: JUMPI
00000119: PUSH1 0x00
0000011b: DUP1
0000011c: REVERT
0000011d: JUMPDEST
0000011e: DUP1
0000011f: PUSH4 0x540abf73
00000124: EQ
00000125: PUSH2 0x03b9
00000128: JUMPI
00000129: DUP1
0000012a: PUSH4 0x54fd4d50
0000012f: EQ
00000130: PUSH2 0x03d9
00000133: JUMPI
00000134: DUP1
00000135: PUSH4 0x58a997f6
0000013a: EQ
0000013b: PUSH2 0x03fb
0000013e: JUMPI
0000013f: PUSH1 0x00
00000141: DUP1
00000142: REVERT
00000143: JUMPDEST
00000144: DUP1
00000145: PUSH4 0x1635f5fd
0000014a: GT
0000014b: PUSH2 0x0174
0000014e: JUMPI
0000014f: DUP1
00000150: PUSH4 0x1635f5fd
00000155: EQ
00000156: PUSH2 0x032d
00000159: JUMPI
0000015a: DUP1
0000015b: PUSH4 0x24e00ccb
00000160: EQ
00000161: PUSH2 0x0340
00000164: JUMPI
00000165: DUP1
00000166: PUSH4 0x3cb747bf
0000016b: EQ
0000016c: PUSH2 0x0360
0000016f: JUMPI
00000170: PUSH1 0x00
00000172: DUP1
00000173: REVERT
00000174: JUMPDEST
00000175: DUP1
00000176: PUSH4 0x0166a07a
0000017b: EQ
0000017c: PUSH2 0x02e7
0000017f: JUMPI
00000180: DUP1
00000181: PUSH4 0x09fc8843
00000186: EQ
00000187: PUSH2 0x0307
0000018a: JUMPI
0000018b: DUP1
0000018c: PUSH4 0x1532ec34
00000191: EQ
00000192: PUSH2 0x031a
00000195: JUMPI
00000196: PUSH1 0x00
00000198: DUP1
00000199: REVERT
0000019a: JUMPDEST
0000019b: CALLDATASIZE
0000019c: PUSH2 0x02e2
0000019f: JUMPI
000001a0: CALLER
000001a1: EXTCODESIZE
000001a2: ISZERO
000001a3: PUSH2 0x0233
000001a6: JUMPI
000001a7: PUSH1 0x40
000001a9: MLOAD
000001aa: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000001cb: DUP2
000001cc: MSTORE
000001cd: PUSH1 0x20
000001cf: PUSH1 0x04
000001d1: DUP3
000001d2: ADD
000001d3: MSTORE
000001d4: PUSH1 0x37
000001d6: PUSH1 0x24
000001d8: DUP3
000001d9: ADD
000001da: MSTORE
000001db: PUSH32 0x5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c
000001fc: PUSH1 0x44
000001fe: DUP3
000001ff: ADD
00000200: MSTORE
00000201: PUSH32 0x792062652063616c6c65642066726f6d20616e20454f41000000000000000000
00000222: PUSH1 0x64
00000224: DUP3
00000225: ADD
00000226: MSTORE
00000227: PUSH1 0x84
00000229: ADD
0000022a: JUMPDEST
0000022b: PUSH1 0x40
0000022d: MLOAD
0000022e: DUP1
0000022f: SWAP2
00000230: SUB
00000231: SWAP1
00000232: REVERT
00000233: JUMPDEST
00000234: CALLER
00000235: ORIGIN
00000236: EQ
00000237: PUSH2 0x02c2
0000023a: JUMPI
0000023b: PUSH1 0x40
0000023d: MLOAD
0000023e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000025f: DUP2
00000260: MSTORE
00000261: PUSH1 0x20
00000263: PUSH1 0x04
00000265: DUP3
00000266: ADD
00000267: MSTORE
00000268: PUSH1 0x32
0000026a: PUSH1 0x24
0000026c: DUP3
0000026d: ADD
0000026e: MSTORE
0000026f: PUSH32 0x5374616e646172644272696467653a206d73672073656e646572206d75737420
00000290: PUSH1 0x44
00000292: DUP3
00000293: ADD
00000294: MSTORE
00000295: PUSH32 0x657175616c20746f207478206f726967696e0000000000000000000000000000
000002b6: PUSH1 0x64
000002b8: DUP3
000002b9: ADD
000002ba: MSTORE
000002bb: PUSH1 0x84
000002bd: ADD
000002be: PUSH2 0x022a
000002c1: JUMP
000002c2: JUMPDEST
000002c3: PUSH2 0x02e0
000002c6: CALLER
000002c7: CALLER
000002c8: PUSH3 0x030d40
000002cc: PUSH1 0x40
000002ce: MLOAD
000002cf: DUP1
000002d0: PUSH1 0x20
000002d2: ADD
000002d3: PUSH1 0x40
000002d5: MSTORE
000002d6: DUP1
000002d7: PUSH1 0x00
000002d9: DUP2
000002da: MSTORE
000002db: POP
000002dc: PUSH2 0x0628
000002df: JUMP
000002e0: JUMPDEST
000002e1: STOP
000002e2: JUMPDEST
000002e3: PUSH1 0x00
000002e5: DUP1
000002e6: REVERT
000002e7: JUMPDEST
000002e8: CALLVALUE
000002e9: DUP1
000002ea: ISZERO
000002eb: PUSH2 0x02f3
000002ee: JUMPI
000002ef: PUSH1 0x00
000002f1: DUP1
000002f2: REVERT
000002f3: JUMPDEST
000002f4: POP
000002f5: PUSH2 0x02e0
000002f8: PUSH2 0x0302
000002fb: CALLDATASIZE
000002fc: PUSH1 0x04
000002fe: PUSH2 0x3892
00000301: JUMP
00000302: JUMPDEST
00000303: PUSH2 0x063b
00000306: JUMP
00000307: JUMPDEST
00000308: PUSH2 0x02e0
0000030b: PUSH2 0x0315
0000030e: CALLDATASIZE
0000030f: PUSH1 0x04
00000311: PUSH2 0x3943
00000314: JUMP
00000315: JUMPDEST
00000316: PUSH2 0x0b7a
00000319: JUMP
0000031a: JUMPDEST
0000031b: PUSH2 0x02e0
0000031e: PUSH2 0x0328
00000321: CALLDATASIZE
00000322: PUSH1 0x04
00000324: PUSH2 0x3996
00000327: JUMP
00000328: JUMPDEST
00000329: PUSH2 0x0ce0
0000032c: JUMP
0000032d: JUMPDEST
0000032e: PUSH2 0x02e0
00000331: PUSH2 0x033b
00000334: CALLDATASIZE
00000335: PUSH1 0x04
00000337: PUSH2 0x3996
0000033a: JUMP
0000033b: JUMPDEST
0000033c: PUSH2 0x0cf4
0000033f: JUMP
00000340: JUMPDEST
00000341: CALLVALUE
00000342: DUP1
00000343: ISZERO
00000344: PUSH2 0x034c
00000347: JUMPI
00000348: PUSH1 0x00
0000034a: DUP1
0000034b: REVERT
0000034c: JUMPDEST
0000034d: POP
0000034e: PUSH2 0x02e0
00000351: PUSH2 0x035b
00000354: CALLDATASIZE
00000355: PUSH1 0x04
00000357: PUSH2 0x3a09
0000035a: JUMP
0000035b: JUMPDEST
0000035c: PUSH2 0x11c9
0000035f: JUMP
00000360: JUMPDEST
00000361: CALLVALUE
00000362: DUP1
00000363: ISZERO
00000364: PUSH2 0x036c
00000367: JUMPI
00000368: PUSH1 0x00
0000036a: DUP1
0000036b: REVERT
0000036c: JUMPDEST
0000036d: POP
0000036e: PUSH32 0x000000000000000000000000676a795fe6e43c17c668de16730c3f690feb7120
0000038f: JUMPDEST
00000390: PUSH1 0x40
00000392: MLOAD
00000393: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003a8: SWAP1
000003a9: SWAP2
000003aa: AND
000003ab: DUP2
000003ac: MSTORE
000003ad: PUSH1 0x20
000003af: ADD
000003b0: JUMPDEST
000003b1: PUSH1 0x40
000003b3: MLOAD
000003b4: DUP1
000003b5: SWAP2
000003b6: SUB
000003b7: SWAP1
000003b8: RETURN
000003b9: JUMPDEST
000003ba: CALLVALUE
000003bb: DUP1
000003bc: ISZERO
000003bd: PUSH2 0x03c5
000003c0: JUMPI
000003c1: PUSH1 0x00
000003c3: DUP1
000003c4: REVERT
000003c5: JUMPDEST
000003c6: POP
000003c7: PUSH2 0x02e0
000003ca: PUSH2 0x03d4
000003cd: CALLDATASIZE
000003ce: PUSH1 0x04
000003d0: PUSH2 0x3a63
000003d3: JUMP
000003d4: JUMPDEST
000003d5: PUSH2 0x132a
000003d8: JUMP
000003d9: JUMPDEST
000003da: CALLVALUE
000003db: DUP1
000003dc: ISZERO
000003dd: PUSH2 0x03e5
000003e0: JUMPI
000003e1: PUSH1 0x00
000003e3: DUP1
000003e4: REVERT
000003e5: JUMPDEST
000003e6: POP
000003e7: PUSH2 0x03ee
000003ea: PUSH2 0x136f
000003ed: JUMP
000003ee: JUMPDEST
000003ef: PUSH1 0x40
000003f1: MLOAD
000003f2: PUSH2 0x03b0
000003f5: SWAP2
000003f6: SWAP1
000003f7: PUSH2 0x3b50
000003fa: JUMP
000003fb: JUMPDEST
000003fc: CALLVALUE
000003fd: DUP1
000003fe: ISZERO
000003ff: PUSH2 0x0407
00000402: JUMPI
00000403: PUSH1 0x00
00000405: DUP1
00000406: REVERT
00000407: JUMPDEST
00000408: POP
00000409: PUSH2 0x02e0
0000040c: PUSH2 0x0416
0000040f: CALLDATASIZE
00000410: PUSH1 0x04
00000412: PUSH2 0x3b63
00000415: JUMP
00000416: JUMPDEST
00000417: PUSH2 0x1412
0000041a: JUMP
0000041b: JUMPDEST
0000041c: PUSH2 0x02e0
0000041f: PUSH2 0x0429
00000422: CALLDATASIZE
00000423: PUSH1 0x04
00000425: PUSH2 0x3be6
00000428: JUMP
00000429: JUMPDEST
0000042a: PUSH2 0x1575
0000042d: JUMP
0000042e: JUMPDEST
0000042f: CALLVALUE
00000430: DUP1
00000431: ISZERO
00000432: PUSH2 0x043a
00000435: JUMPI
00000436: PUSH1 0x00
00000438: DUP1
00000439: REVERT
0000043a: JUMPDEST
0000043b: POP
0000043c: PUSH2 0x038f
0000043f: PUSH32 0x0000000000000000000000004200000000000000000000000000000000000010
00000460: DUP2
00000461: JUMP
00000462: JUMPDEST
00000463: CALLVALUE
00000464: DUP1
00000465: ISZERO
00000466: PUSH2 0x046e
00000469: JUMPI
0000046a: PUSH1 0x00
0000046c: DUP1
0000046d: REVERT
0000046e: JUMPDEST
0000046f: POP
00000470: PUSH2 0x02e0
00000473: PUSH2 0x047d
00000476: CALLDATASIZE
00000477: PUSH1 0x04
00000479: PUSH2 0x3a63
0000047c: JUMP
0000047d: JUMPDEST
0000047e: PUSH2 0x15b8
00000481: JUMP
00000482: JUMPDEST
00000483: CALLVALUE
00000484: DUP1
00000485: ISZERO
00000486: PUSH2 0x048e
00000489: JUMPI
0000048a: PUSH1 0x00
0000048c: DUP1
0000048d: REVERT
0000048e: JUMPDEST
0000048f: POP
00000490: PUSH2 0x02e0
00000493: PUSH2 0x049d
00000496: CALLDATASIZE
00000497: PUSH1 0x04
00000499: PUSH2 0x3b63
0000049c: JUMP
0000049d: JUMPDEST
0000049e: PUSH2 0x15fd
000004a1: JUMP
000004a2: JUMPDEST
000004a3: CALLVALUE
000004a4: DUP1
000004a5: ISZERO
000004a6: PUSH2 0x04ae
000004a9: JUMPI
000004aa: PUSH1 0x00
000004ac: DUP1
000004ad: REVERT
000004ae: JUMPDEST
000004af: POP
000004b0: PUSH2 0x04da
000004b3: PUSH2 0x04bd
000004b6: CALLDATASIZE
000004b7: PUSH1 0x04
000004b9: PUSH2 0x3c3a
000004bc: JUMP
000004bd: JUMPDEST
000004be: PUSH1 0x03
000004c0: PUSH1 0x20
000004c2: SWAP1
000004c3: DUP2
000004c4: MSTORE
000004c5: PUSH1 0x00
000004c7: SWAP3
000004c8: DUP4
000004c9: MSTORE
000004ca: PUSH1 0x40
000004cc: DUP1
000004cd: DUP5
000004ce: KECCAK256
000004cf: SWAP1
000004d0: SWAP2
000004d1: MSTORE
000004d2: SWAP1
000004d3: DUP3
000004d4: MSTORE
000004d5: SWAP1
000004d6: KECCAK256
000004d7: SLOAD
000004d8: DUP2
000004d9: JUMP
000004da: JUMPDEST
000004db: PUSH1 0x40
000004dd: MLOAD
000004de: SWAP1
000004df: DUP2
000004e0: MSTORE
000004e1: PUSH1 0x20
000004e3: ADD
000004e4: PUSH2 0x03b0
000004e7: JUMP
000004e8: JUMPDEST
000004e9: CALLVALUE
000004ea: DUP1
000004eb: ISZERO
000004ec: PUSH2 0x04f4
000004ef: JUMPI
000004f0: PUSH1 0x00
000004f2: DUP1
000004f3: REVERT
000004f4: JUMPDEST
000004f5: POP
000004f6: PUSH32 0x0000000000000000000000004200000000000000000000000000000000000010
00000517: PUSH2 0x038f
0000051a: JUMP
0000051b: JUMPDEST
0000051c: CALLVALUE
0000051d: DUP1
0000051e: ISZERO
0000051f: PUSH2 0x0527
00000522: JUMPI
00000523: PUSH1 0x00
00000525: DUP1
00000526: REVERT
00000527: JUMPDEST
00000528: POP
00000529: PUSH2 0x038f
0000052c: PUSH32 0x000000000000000000000000676a795fe6e43c17c668de16730c3f690feb7120
0000054d: DUP2
0000054e: JUMP
0000054f: JUMPDEST
00000550: PUSH2 0x02e0
00000553: PUSH2 0x055d
00000556: CALLDATASIZE
00000557: PUSH1 0x04
00000559: PUSH2 0x3c73
0000055c: JUMP
0000055d: JUMPDEST
0000055e: PUSH2 0x1760
00000561: JUMP
00000562: JUMPDEST
00000563: CALLVALUE
00000564: DUP1
00000565: ISZERO
00000566: PUSH2 0x056e
00000569: JUMPI
0000056a: PUSH1 0x00
0000056c: DUP1
0000056d: REVERT
0000056e: JUMPDEST
0000056f: POP
00000570: PUSH2 0x02e0
00000573: PUSH2 0x057d
00000576: CALLDATASIZE
00000577: PUSH1 0x04
00000579: PUSH2 0x3892
0000057c: JUMP
0000057d: JUMPDEST
0000057e: PUSH2 0x17a2
00000581: JUMP
00000582: JUMPDEST
00000583: CALLVALUE
00000584: DUP1
00000585: ISZERO
00000586: PUSH2 0x058e
00000589: JUMPI
0000058a: PUSH1 0x00
0000058c: DUP1
0000058d: REVERT
0000058e: JUMPDEST
0000058f: POP
00000590: PUSH2 0x038f
00000593: PUSH32 0x0000000000000000000000003c3a81e81dc49a522a592e7622a7e711c06bf354
000005b4: DUP2
000005b5: JUMP
000005b6: JUMPDEST
000005b7: PUSH2 0x02e0
000005ba: PUSH2 0x05c4
000005bd: CALLDATASIZE
000005be: PUSH1 0x04
000005c0: PUSH2 0x3943
000005c3: JUMP
000005c4: JUMPDEST
000005c5: PUSH2 0x17b1
000005c8: JUMP
000005c9: JUMPDEST
000005ca: PUSH2 0x02e0
000005cd: PUSH2 0x05d7
000005d0: CALLDATASIZE
000005d1: PUSH1 0x04
000005d3: PUSH2 0x3be6
000005d6: JUMP
000005d7: JUMPDEST
000005d8: PUSH2 0x1911
000005db: JUMP
000005dc: JUMPDEST
000005dd: PUSH2 0x02e0
000005e0: PUSH2 0x05ea
000005e3: CALLDATASIZE
000005e4: PUSH1 0x04
000005e6: PUSH2 0x3a09
000005e9: JUMP
000005ea: JUMPDEST
000005eb: PUSH2 0x1954
000005ee: JUMP
000005ef: JUMPDEST
000005f0: PUSH2 0x02e0
000005f3: PUSH2 0x05fd
000005f6: CALLDATASIZE
000005f7: PUSH1 0x04
000005f9: PUSH2 0x3c73
000005fc: JUMP
000005fd: JUMPDEST
000005fe: PUSH2 0x1ab5
00000601: JUMP
00000602: JUMPDEST
00000603: PUSH2 0x02e0
00000606: PUSH2 0x0610
00000609: CALLDATASIZE
0000060a: PUSH1 0x04
0000060c: PUSH2 0x3996
0000060f: JUMP
00000610: JUMPDEST
00000611: PUSH2 0x1af8
00000614: JUMP
00000615: JUMPDEST
00000616: PUSH2 0x02e0
00000619: PUSH2 0x0623
0000061c: CALLDATASIZE
0000061d: PUSH1 0x04
0000061f: PUSH2 0x3996
00000622: JUMP
00000623: JUMPDEST
00000624: PUSH2 0x1eec
00000627: JUMP
00000628: JUMPDEST
00000629: PUSH2 0x0635
0000062c: DUP5
0000062d: DUP5
0000062e: CALLVALUE
0000062f: DUP6
00000630: DUP6
00000631: PUSH2 0x1ef9
00000634: JUMP
00000635: JUMPDEST
00000636: POP
00000637: POP
00000638: POP
00000639: POP
0000063a: JUMP
0000063b: JUMPDEST
0000063c: CALLER
0000063d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000652: PUSH32 0x000000000000000000000000676a795fe6e43c17c668de16730c3f690feb7120
00000673: AND
00000674: EQ
00000675: DUP1
00000676: ISZERO
00000677: PUSH2 0x0759
0000067a: JUMPI
0000067b: POP
0000067c: PUSH32 0x0000000000000000000000004200000000000000000000000000000000000010
0000069d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006b2: AND
000006b3: PUSH32 0x000000000000000000000000676a795fe6e43c17c668de16730c3f690feb7120
000006d4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006e9: AND
000006ea: PUSH4 0x6e296e45
000006ef: PUSH1 0x40
000006f1: MLOAD
000006f2: DUP2
000006f3: PUSH4 0xffffffff
000006f8: AND
000006f9: PUSH1 0xe0
000006fb: SHL
000006fc: DUP2
000006fd: MSTORE
000006fe: PUSH1 0x04
00000700: ADD
00000701: PUSH1 0x20
00000703: PUSH1 0x40
00000705: MLOAD
00000706: DUP1
00000707: DUP4
00000708: SUB
00000709: DUP2
0000070a: DUP7
0000070b: GAS
0000070c: STATICCALL
0000070d: ISZERO
0000070e: DUP1
0000070f: ISZERO
00000710: PUSH2 0x071d
00000713: JUMPI
00000714: RETURNDATASIZE
00000715: PUSH1 0x00
00000717: DUP1
00000718: RETURNDATACOPY
00000719: RETURNDATASIZE
0000071a: PUSH1 0x00
0000071c: REVERT
0000071d: JUMPDEST
0000071e: POP
0000071f: POP
00000720: POP
00000721: POP
00000722: PUSH1 0x40
00000724: MLOAD
00000725: RETURNDATASIZE
00000726: PUSH1 0x1f
00000728: NOT
00000729: PUSH1 0x1f
0000072b: DUP3
0000072c: ADD
0000072d: AND
0000072e: DUP3
0000072f: ADD
00000730: DUP1
00000731: PUSH1 0x40
00000733: MSTORE
00000734: POP
00000735: DUP2
00000736: ADD
00000737: SWAP1
00000738: PUSH2 0x0741
0000073b: SWAP2
0000073c: SWAP1
0000073d: PUSH2 0x3ca2
00000740: JUMP
00000741: JUMPDEST
00000742: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000757: AND
00000758: EQ
00000759: JUMPDEST
0000075a: PUSH2 0x080b
0000075d: JUMPI
0000075e: PUSH1 0x40
00000760: MLOAD
00000761: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000782: DUP2
00000783: MSTORE
00000784: PUSH1 0x20
00000786: PUSH1 0x04
00000788: DUP3
00000789: ADD
0000078a: MSTORE
0000078b: PUSH1 0x41
0000078d: PUSH1 0x24
0000078f: DUP3
00000790: ADD
00000791: MSTORE
00000792: PUSH32 0x5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c
000007b3: PUSH1 0x44
000007b5: DUP3
000007b6: ADD
000007b7: MSTORE
000007b8: PUSH32 0x792062652063616c6c65642066726f6d20746865206f74686572206272696467
000007d9: PUSH1 0x64
000007db: DUP3
000007dc: ADD
000007dd: MSTORE
000007de: PUSH32 0x6500000000000000000000000000000000000000000000000000000000000000
000007ff: PUSH1 0x84
00000801: DUP3
00000802: ADD
00000803: MSTORE
00000804: PUSH1 0xa4
00000806: ADD
00000807: PUSH2 0x022a
0000080a: JUMP
0000080b: JUMPDEST
0000080c: PUSH2 0x0814
0000080f: DUP8
00000810: PUSH2 0x20e4
00000813: JUMP
00000814: JUMPDEST
00000815: ISZERO
00000816: PUSH2 0x0962
00000819: JUMPI
0000081a: PUSH2 0x0823
0000081d: DUP8
0000081e: DUP8
0000081f: PUSH2 0x2146
00000822: JUMP
00000823: JUMPDEST
00000824: PUSH2 0x08d5
00000827: JUMPI
00000828: PUSH1 0x40
0000082a: MLOAD
0000082b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000084c: DUP2
0000084d: MSTORE
0000084e: PUSH1 0x20
00000850: PUSH1 0x04
00000852: DUP3
00000853: ADD
00000854: MSTORE
00000855: PUSH1 0x4a
00000857: PUSH1 0x24
00000859: DUP3
0000085a: ADD
0000085b: MSTORE
0000085c: PUSH32 0x5374616e646172644272696467653a2077726f6e672072656d6f746520746f6b
0000087d: PUSH1 0x44
0000087f: DUP3
00000880: ADD
00000881: MSTORE
00000882: PUSH32 0x656e20666f72204f7074696d69736d204d696e7461626c65204552433230206c
000008a3: PUSH1 0x64
000008a5: DUP3
000008a6: ADD
000008a7: MSTORE
000008a8: PUSH32 0x6f63616c20746f6b656e00000000000000000000000000000000000000000000
000008c9: PUSH1 0x84
000008cb: DUP3
000008cc: ADD
000008cd: MSTORE
000008ce: PUSH1 0xa4
000008d0: ADD
000008d1: PUSH2 0x022a
000008d4: JUMP
000008d5: JUMPDEST
000008d6: PUSH1 0x40
000008d8: MLOAD
000008d9: PUSH32 0x40c10f1900000000000000000000000000000000000000000000000000000000
000008fa: DUP2
000008fb: MSTORE
000008fc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000911: DUP6
00000912: DUP2
00000913: AND
00000914: PUSH1 0x04
00000916: DUP4
00000917: ADD
00000918: MSTORE
00000919: PUSH1 0x24
0000091b: DUP3
0000091c: ADD
0000091d: DUP6
0000091e: SWAP1
0000091f: MSTORE
00000920: DUP9
00000921: AND
00000922: SWAP1
00000923: PUSH4 0x40c10f19
00000928: SWAP1
00000929: PUSH1 0x44
0000092b: ADD
0000092c: PUSH1 0x00
0000092e: PUSH1 0x40
00000930: MLOAD
00000931: DUP1
00000932: DUP4
00000933: SUB
00000934: DUP2
00000935: PUSH1 0x00
00000937: DUP8
00000938: DUP1
00000939: EXTCODESIZE
0000093a: ISZERO
0000093b: DUP1
0000093c: ISZERO
0000093d: PUSH2 0x0945
00000940: JUMPI
00000941: PUSH1 0x00
00000943: DUP1
00000944: REVERT
00000945: JUMPDEST
00000946: POP
00000947: GAS
00000948: CALL
00000949: ISZERO
0000094a: DUP1
0000094b: ISZERO
0000094c: PUSH2 0x0959
0000094f: JUMPI
00000950: RETURNDATASIZE
00000951: PUSH1 0x00
00000953: DUP1
00000954: RETURNDATACOPY
00000955: RETURNDATASIZE
00000956: PUSH1 0x00
00000958: REVERT
00000959: JUMPDEST
0000095a: POP
0000095b: POP
0000095c: POP
0000095d: POP
0000095e: PUSH2 0x0b2d
00000961: JUMP
00000962: JUMPDEST
00000963: PUSH1 0x40
00000965: MLOAD
00000966: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
00000987: DUP2
00000988: MSTORE
00000989: ADDRESS
0000098a: PUSH1 0x04
0000098c: DUP3
0000098d: ADD
0000098e: MSTORE
0000098f: PUSH1 0x00
00000991: SWAP1
00000992: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009a7: DUP10
000009a8: AND
000009a9: SWAP1
000009aa: PUSH4 0x70a08231
000009af: SWAP1
000009b0: PUSH1 0x24
000009b2: ADD
000009b3: PUSH1 0x20
000009b5: PUSH1 0x40
000009b7: MLOAD
000009b8: DUP1
000009b9: DUP4
000009ba: SUB
000009bb: DUP2
000009bc: DUP7
000009bd: GAS
000009be: STATICCALL
000009bf: ISZERO
000009c0: DUP1
000009c1: ISZERO
000009c2: PUSH2 0x09cf
000009c5: JUMPI
000009c6: RETURNDATASIZE
000009c7: PUSH1 0x00
000009c9: DUP1
000009ca: RETURNDATACOPY
000009cb: RETURNDATASIZE
000009cc: PUSH1 0x00
000009ce: REVERT
000009cf: JUMPDEST
000009d0: POP
000009d1: POP
000009d2: POP
000009d3: POP
000009d4: PUSH1 0x40
000009d6: MLOAD
000009d7: RETURNDATASIZE
000009d8: PUSH1 0x1f
000009da: NOT
000009db: PUSH1 0x1f
000009dd: DUP3
000009de: ADD
000009df: AND
000009e0: DUP3
000009e1: ADD
000009e2: DUP1
000009e3: PUSH1 0x40
000009e5: MSTORE
000009e6: POP
000009e7: DUP2
000009e8: ADD
000009e9: SWAP1
000009ea: PUSH2 0x09f3
000009ed: SWAP2
000009ee: SWAP1
000009ef: PUSH2 0x3cbf
000009f2: JUMP
000009f3: JUMPDEST
000009f4: SWAP1
000009f5: POP
000009f6: PUSH2 0x0a16
000009f9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a0e: DUP10
00000a0f: AND
00000a10: DUP7
00000a11: DUP7
00000a12: PUSH2 0x2266
00000a15: JUMP
00000a16: JUMPDEST
00000a17: PUSH1 0x40
00000a19: MLOAD
00000a1a: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
00000a3b: DUP2
00000a3c: MSTORE
00000a3d: ADDRESS
00000a3e: PUSH1 0x04
00000a40: DUP3
00000a41: ADD
00000a42: MSTORE
00000a43: PUSH1 0x00
00000a45: SWAP1
00000a46: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a5b: DUP11
00000a5c: AND
00000a5d: SWAP1
00000a5e: PUSH4 0x70a08231
00000a63: SWAP1
00000a64: PUSH1 0x24
00000a66: ADD
00000a67: PUSH1 0x20
00000a69: PUSH1 0x40
00000a6b: MLOAD
00000a6c: DUP1
00000a6d: DUP4
00000a6e: SUB
00000a6f: DUP2
00000a70: DUP7
00000a71: GAS
00000a72: STATICCALL
00000a73: ISZERO
00000a74: DUP1
00000a75: ISZERO
00000a76: PUSH2 0x0a83
00000a79: JUMPI
00000a7a: RETURNDATASIZE
00000a7b: PUSH1 0x00
00000a7d: DUP1
00000a7e: RETURNDATACOPY
00000a7f: RETURNDATASIZE
00000a80: PUSH1 0x00
00000a82: REVERT
00000a83: JUMPDEST
00000a84: POP
00000a85: POP
00000a86: POP
00000a87: POP
00000a88: PUSH1 0x40
00000a8a: MLOAD
00000a8b: RETURNDATASIZE
00000a8c: PUSH1 0x1f
00000a8e: NOT
00000a8f: PUSH1 0x1f
00000a91: DUP3
00000a92: ADD
00000a93: AND
00000a94: DUP3
00000a95: ADD
00000a96: DUP1
00000a97: PUSH1 0x40
00000a99: MSTORE
00000a9a: POP
00000a9b: DUP2
00000a9c: ADD
00000a9d: SWAP1
00000a9e: PUSH2 0x0aa7
00000aa1: SWAP2
00000aa2: SWAP1
00000aa3: PUSH2 0x3cbf
00000aa6: JUMP
00000aa7: JUMPDEST
00000aa8: SWAP1
00000aa9: POP
00000aaa: PUSH1 0x00
00000aac: PUSH2 0x0ab5
00000aaf: DUP3
00000ab0: DUP5
00000ab1: PUSH2 0x3d07
00000ab4: JUMP
00000ab5: JUMPDEST
00000ab6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000acb: DUP1
00000acc: DUP13
00000acd: AND
00000ace: PUSH1 0x00
00000ad0: SWAP1
00000ad1: DUP2
00000ad2: MSTORE
00000ad3: PUSH1 0x03
00000ad5: PUSH1 0x20
00000ad7: SWAP1
00000ad8: DUP2
00000ad9: MSTORE
00000ada: PUSH1 0x40
00000adc: DUP1
00000add: DUP4
00000ade: KECCAK256
00000adf: SWAP4
00000ae0: DUP15
00000ae1: AND
00000ae2: DUP4
00000ae3: MSTORE
00000ae4: SWAP3
00000ae5: SWAP1
00000ae6: MSTORE
00000ae7: KECCAK256
00000ae8: SLOAD
00000ae9: SWAP1
00000aea: SWAP2
00000aeb: POP
00000aec: PUSH2 0x0af6
00000aef: SWAP1
00000af0: DUP3
00000af1: SWAP1
00000af2: PUSH2 0x3d07
00000af5: JUMP
00000af6: JUMPDEST
00000af7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b0c: DUP1
00000b0d: DUP13
00000b0e: AND
00000b0f: PUSH1 0x00
00000b11: SWAP1
00000b12: DUP2
00000b13: MSTORE
00000b14: PUSH1 0x03
00000b16: PUSH1 0x20
00000b18: SWAP1
00000b19: DUP2
00000b1a: MSTORE
00000b1b: PUSH1 0x40
00000b1d: DUP1
00000b1e: DUP4
00000b1f: KECCAK256
00000b20: SWAP4
00000b21: DUP15
00000b22: AND
00000b23: DUP4
00000b24: MSTORE
00000b25: SWAP3
00000b26: SWAP1
00000b27: MSTORE
00000b28: KECCAK256
00000b29: SSTORE
00000b2a: POP
00000b2b: POP
00000b2c: POP
00000b2d: JUMPDEST
00000b2e: PUSH2 0x0b71
00000b31: DUP8
00000b32: DUP8
00000b33: DUP8
00000b34: DUP8
00000b35: DUP8
00000b36: DUP8
00000b37: DUP8
00000b38: DUP1
00000b39: DUP1
00000b3a: PUSH1 0x1f
00000b3c: ADD
00000b3d: PUSH1 0x20
00000b3f: DUP1
00000b40: SWAP2
00000b41: DIV
00000b42: MUL
00000b43: PUSH1 0x20
00000b45: ADD
00000b46: PUSH1 0x40
00000b48: MLOAD
00000b49: SWAP1
00000b4a: DUP2
00000b4b: ADD
00000b4c: PUSH1 0x40
00000b4e: MSTORE
00000b4f: DUP1
00000b50: SWAP4
00000b51: SWAP3
00000b52: SWAP2
00000b53: SWAP1
00000b54: DUP2
00000b55: DUP2
00000b56: MSTORE
00000b57: PUSH1 0x20
00000b59: ADD
00000b5a: DUP4
00000b5b: DUP4
00000b5c: DUP1
00000b5d: DUP3
00000b5e: DUP5
00000b5f: CALLDATACOPY
00000b60: PUSH1 0x00
00000b62: SWAP3
00000b63: ADD
00000b64: SWAP2
00000b65: SWAP1
00000b66: SWAP2
00000b67: MSTORE
00000b68: POP
00000b69: PUSH2 0x233a
00000b6c: SWAP3
00000b6d: POP
00000b6e: POP
00000b6f: POP
00000b70: JUMP
00000b71: JUMPDEST
00000b72: POP
00000b73: POP
00000b74: POP
00000b75: POP
00000b76: POP
00000b77: POP
00000b78: POP
00000b79: JUMP
00000b7a: JUMPDEST
00000b7b: CALLER
00000b7c: EXTCODESIZE
00000b7d: ISZERO
00000b7e: PUSH2 0x0c09
00000b81: JUMPI
00000b82: PUSH1 0x40
00000b84: MLOAD
00000b85: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000ba6: DUP2
00000ba7: MSTORE
00000ba8: PUSH1 0x20
00000baa: PUSH1 0x04
00000bac: DUP3
00000bad: ADD
00000bae: MSTORE
00000baf: PUSH1 0x37
00000bb1: PUSH1 0x24
00000bb3: DUP3
00000bb4: ADD
00000bb5: MSTORE
00000bb6: PUSH32 0x5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c
00000bd7: PUSH1 0x44
00000bd9: DUP3
00000bda: ADD
00000bdb: MSTORE
00000bdc: PUSH32 0x792062652063616c6c65642066726f6d20616e20454f41000000000000000000
00000bfd: PUSH1 0x64
00000bff: DUP3
00000c00: ADD
00000c01: MSTORE
00000c02: PUSH1 0x84
00000c04: ADD
00000c05: PUSH2 0x022a
00000c08: JUMP
00000c09: JUMPDEST
00000c0a: CALLER
00000c0b: ORIGIN
00000c0c: EQ
00000c0d: PUSH2 0x0c98
00000c10: JUMPI
00000c11: PUSH1 0x40
00000c13: MLOAD
00000c14: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000c35: DUP2
00000c36: MSTORE
00000c37: PUSH1 0x20
00000c39: PUSH1 0x04
00000c3b: DUP3
00000c3c: ADD
00000c3d: MSTORE
00000c3e: PUSH1 0x32
00000c40: PUSH1 0x24
00000c42: DUP3
00000c43: ADD
00000c44: MSTORE
00000c45: PUSH32 0x5374616e646172644272696467653a206d73672073656e646572206d75737420
00000c66: PUSH1 0x44
00000c68: DUP3
00000c69: ADD
00000c6a: MSTORE
00000c6b: PUSH32 0x657175616c20746f207478206f726967696e0000000000000000000000000000
00000c8c: PUSH1 0x64
00000c8e: DUP3
00000c8f: ADD
00000c90: MSTORE
00000c91: PUSH1 0x84
00000c93: ADD
00000c94: PUSH2 0x022a
00000c97: JUMP
00000c98: JUMPDEST
00000c99: PUSH2 0x0cdb
00000c9c: CALLER
00000c9d: CALLER
00000c9e: CALLVALUE
00000c9f: DUP7
00000ca0: DUP7
00000ca1: DUP7
00000ca2: DUP1
00000ca3: DUP1
00000ca4: PUSH1 0x1f
00000ca6: ADD
00000ca7: PUSH1 0x20
00000ca9: DUP1
00000caa: SWAP2
00000cab: DIV
00000cac: MUL
00000cad: PUSH1 0x20
00000caf: ADD
00000cb0: PUSH1 0x40
00000cb2: MLOAD
00000cb3: SWAP1
00000cb4: DUP2
00000cb5: ADD
00000cb6: PUSH1 0x40
00000cb8: MSTORE
00000cb9: DUP1
00000cba: SWAP4
00000cbb: SWAP3
00000cbc: SWAP2
00000cbd: SWAP1
00000cbe: DUP2
00000cbf: DUP2
00000cc0: MSTORE
00000cc1: PUSH1 0x20
00000cc3: ADD
00000cc4: DUP4
00000cc5: DUP4
00000cc6: DUP1
00000cc7: DUP3
00000cc8: DUP5
00000cc9: CALLDATACOPY
00000cca: PUSH1 0x00
00000ccc: SWAP3
00000ccd: ADD
00000cce: SWAP2
00000ccf: SWAP1
00000cd0: SWAP2
00000cd1: MSTORE
00000cd2: POP
00000cd3: PUSH2 0x1ef9
00000cd6: SWAP3
00000cd7: POP
00000cd8: POP
00000cd9: POP
00000cda: JUMP
00000cdb: JUMPDEST
00000cdc: POP
00000cdd: POP
00000cde: POP
00000cdf: JUMP
00000ce0: JUMPDEST
00000ce1: PUSH2 0x0ced
00000ce4: DUP6
00000ce5: DUP6
00000ce6: DUP6
00000ce7: DUP6
00000ce8: DUP6
00000ce9: PUSH2 0x0cf4
00000cec: JUMP
00000ced: JUMPDEST
00000cee: POP
00000cef: POP
00000cf0: POP
00000cf1: POP
00000cf2: POP
00000cf3: JUMP
00000cf4: JUMPDEST
00000cf5: CALLER
00000cf6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d0b: PUSH32 0x000000000000000000000000676a795fe6e43c17c668de16730c3f690feb7120
00000d2c: AND
00000d2d: EQ
00000d2e: DUP1
00000d2f: ISZERO
00000d30: PUSH2 0x0e12
00000d33: JUMPI
00000d34: POP
00000d35: PUSH32 0x0000000000000000000000004200000000000000000000000000000000000010
00000d56: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d6b: AND
00000d6c: PUSH32 0x000000000000000000000000676a795fe6e43c17c668de16730c3f690feb7120
00000d8d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000da2: AND
00000da3: PUSH4 0x6e296e45
00000da8: PUSH1 0x40
00000daa: MLOAD
00000dab: DUP2
00000dac: PUSH4 0xffffffff
00000db1: AND
00000db2: PUSH1 0xe0
00000db4: SHL
00000db5: DUP2
00000db6: MSTORE
00000db7: PUSH1 0x04
00000db9: ADD
00000dba: PUSH1 0x20
00000dbc: PUSH1 0x40
00000dbe: MLOAD
00000dbf: DUP1
00000dc0: DUP4
00000dc1: SUB
00000dc2: DUP2
00000dc3: DUP7
00000dc4: GAS
00000dc5: STATICCALL
00000dc6: ISZERO
00000dc7: DUP1
00000dc8: ISZERO
00000dc9: PUSH2 0x0dd6
00000dcc: JUMPI
00000dcd: RETURNDATASIZE
00000dce: PUSH1 0x00
00000dd0: DUP1
00000dd1: RETURNDATACOPY
00000dd2: RETURNDATASIZE
00000dd3: PUSH1 0x00
00000dd5: REVERT
00000dd6: JUMPDEST
00000dd7: POP
00000dd8: POP
00000dd9: POP
00000dda: POP
00000ddb: PUSH1 0x40
00000ddd: MLOAD
00000dde: RETURNDATASIZE
00000ddf: PUSH1 0x1f
00000de1: NOT
00000de2: PUSH1 0x1f
00000de4: DUP3
00000de5: ADD
00000de6: AND
00000de7: DUP3
00000de8: ADD
00000de9: DUP1
00000dea: PUSH1 0x40
00000dec: MSTORE
00000ded: POP
00000dee: DUP2
00000def: ADD
00000df0: SWAP1
00000df1: PUSH2 0x0dfa
00000df4: SWAP2
00000df5: SWAP1
00000df6: PUSH2 0x3ca2
00000df9: JUMP
00000dfa: JUMPDEST
00000dfb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e10: AND
00000e11: EQ
00000e12: JUMPDEST
00000e13: PUSH2 0x0ec4
00000e16: JUMPI
00000e17: PUSH1 0x40
00000e19: MLOAD
00000e1a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000e3b: DUP2
00000e3c: MSTORE
00000e3d: PUSH1 0x20
00000e3f: PUSH1 0x04
00000e41: DUP3
00000e42: ADD
00000e43: MSTORE
00000e44: PUSH1 0x41
00000e46: PUSH1 0x24
00000e48: DUP3
00000e49: ADD
00000e4a: MSTORE
00000e4b: PUSH32 0x5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c
00000e6c: PUSH1 0x44
00000e6e: DUP3
00000e6f: ADD
00000e70: MSTORE
00000e71: PUSH32 0x792062652063616c6c65642066726f6d20746865206f74686572206272696467
00000e92: PUSH1 0x64
00000e94: DUP3
00000e95: ADD
00000e96: MSTORE
00000e97: PUSH32 0x6500000000000000000000000000000000000000000000000000000000000000
00000eb8: PUSH1 0x84
00000eba: DUP3
00000ebb: ADD
00000ebc: MSTORE
00000ebd: PUSH1 0xa4
00000ebf: ADD
00000ec0: PUSH2 0x022a
00000ec3: JUMP
00000ec4: JUMPDEST
00000ec5: DUP3
00000ec6: CALLVALUE
00000ec7: EQ
00000ec8: PUSH2 0x0f53
00000ecb: JUMPI
00000ecc: PUSH1 0x40
00000ece: MLOAD
00000ecf: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000ef0: DUP2
00000ef1: MSTORE
00000ef2: PUSH1 0x20
00000ef4: PUSH1 0x04
00000ef6: DUP3
00000ef7: ADD
00000ef8: MSTORE
00000ef9: PUSH1 0x3a
00000efb: PUSH1 0x24
00000efd: DUP3
00000efe: ADD
00000eff: MSTORE
00000f00: PUSH32 0x5374616e646172644272696467653a20616d6f756e742073656e7420646f6573
00000f21: PUSH1 0x44
00000f23: DUP3
00000f24: ADD
00000f25: MSTORE
00000f26: PUSH32 0x206e6f74206d6174636820616d6f756e74207265717569726564000000000000
00000f47: PUSH1 0x64
00000f49: DUP3
00000f4a: ADD
00000f4b: MSTORE
00000f4c: PUSH1 0x84
00000f4e: ADD
00000f4f: PUSH2 0x022a
00000f52: JUMP
00000f53: JUMPDEST
00000f54: ADDRESS
00000f55: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f6a: DUP6
00000f6b: AND
00000f6c: SUB
00000f6d: PUSH2 0x0ff8
00000f70: JUMPI
00000f71: PUSH1 0x40
00000f73: MLOAD
00000f74: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000f95: DUP2
00000f96: MSTORE
00000f97: PUSH1 0x20
00000f99: PUSH1 0x04
00000f9b: DUP3
00000f9c: ADD
00000f9d: MSTORE
00000f9e: PUSH1 0x23
00000fa0: PUSH1 0x24
00000fa2: DUP3
00000fa3: ADD
00000fa4: MSTORE
00000fa5: PUSH32 0x5374616e646172644272696467653a2063616e6e6f742073656e6420746f2073
00000fc6: PUSH1 0x44
00000fc8: DUP3
00000fc9: ADD
00000fca: MSTORE
00000fcb: PUSH32 0x656c660000000000000000000000000000000000000000000000000000000000
00000fec: PUSH1 0x64
00000fee: DUP3
00000fef: ADD
00000ff0: MSTORE
00000ff1: PUSH1 0x84
00000ff3: ADD
00000ff4: PUSH2 0x022a
00000ff7: JUMP
00000ff8: JUMPDEST
00000ff9: PUSH32 0x000000000000000000000000676a795fe6e43c17c668de16730c3f690feb7120
0000101a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000102f: AND
00001030: DUP5
00001031: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001046: AND
00001047: SUB
00001048: PUSH2 0x10d3
0000104b: JUMPI
0000104c: PUSH1 0x40
0000104e: MLOAD
0000104f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001070: DUP2
00001071: MSTORE
00001072: PUSH1 0x20
00001074: PUSH1 0x04
00001076: DUP3
00001077: ADD
00001078: MSTORE
00001079: PUSH1 0x28
0000107b: PUSH1 0x24
0000107d: DUP3
0000107e: ADD
0000107f: MSTORE
00001080: PUSH32 0x5374616e646172644272696467653a2063616e6e6f742073656e6420746f206d
000010a1: PUSH1 0x44
000010a3: DUP3
000010a4: ADD
000010a5: MSTORE
000010a6: PUSH32 0x657373656e676572000000000000000000000000000000000000000000000000
000010c7: PUSH1 0x64
000010c9: DUP3
000010ca: ADD
000010cb: MSTORE
000010cc: PUSH1 0x84
000010ce: ADD
000010cf: PUSH2 0x022a
000010d2: JUMP
000010d3: JUMPDEST
000010d4: PUSH2 0x1115
000010d7: DUP6
000010d8: DUP6
000010d9: DUP6
000010da: DUP6
000010db: DUP6
000010dc: DUP1
000010dd: DUP1
000010de: PUSH1 0x1f
000010e0: ADD
000010e1: PUSH1 0x20
000010e3: DUP1
000010e4: SWAP2
000010e5: DIV
000010e6: MUL
000010e7: PUSH1 0x20
000010e9: ADD
000010ea: PUSH1 0x40
000010ec: MLOAD
000010ed: SWAP1
000010ee: DUP2
000010ef: ADD
000010f0: PUSH1 0x40
000010f2: MSTORE
000010f3: DUP1
000010f4: SWAP4
000010f5: SWAP3
000010f6: SWAP2
000010f7: SWAP1
000010f8: DUP2
000010f9: DUP2
000010fa: MSTORE
000010fb: PUSH1 0x20
000010fd: ADD
000010fe: DUP4
000010ff: DUP4
00001100: DUP1
00001101: DUP3
00001102: DUP5
00001103: CALLDATACOPY
00001104: PUSH1 0x00
00001106: SWAP3
00001107: ADD
00001108: SWAP2
00001109: SWAP1
0000110a: SWAP2
0000110b: MSTORE
0000110c: POP
0000110d: PUSH2 0x23c8
00001110: SWAP3
00001111: POP
00001112: POP
00001113: POP
00001114: JUMP
00001115: JUMPDEST
00001116: PUSH1 0x00
00001118: PUSH2 0x1132
0000111b: DUP6
0000111c: GAS
0000111d: DUP7
0000111e: PUSH1 0x40
00001120: MLOAD
00001121: DUP1
00001122: PUSH1 0x20
00001124: ADD
00001125: PUSH1 0x40
00001127: MSTORE
00001128: DUP1
00001129: PUSH1 0x00
0000112b: DUP2
0000112c: MSTORE
0000112d: POP
0000112e: PUSH2 0x243b
00001131: JUMP
00001132: JUMPDEST
00001133: SWAP1
00001134: POP
00001135: DUP1
00001136: PUSH2 0x11c1
00001139: JUMPI
0000113a: PUSH1 0x40
0000113c: MLOAD
0000113d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000115e: DUP2
0000115f: MSTORE
00001160: PUSH1 0x20
00001162: PUSH1 0x04
00001164: DUP3
00001165: ADD
00001166: MSTORE
00001167: PUSH1 0x23
00001169: PUSH1 0x24
0000116b: DUP3
0000116c: ADD
0000116d: MSTORE
0000116e: PUSH32 0x5374616e646172644272696467653a20455448207472616e7366657220666169
0000118f: PUSH1 0x44
00001191: DUP3
00001192: ADD
00001193: MSTORE
00001194: PUSH32 0x6c65640000000000000000000000000000000000000000000000000000000000
000011b5: PUSH1 0x64
000011b7: DUP3
000011b8: ADD
000011b9: MSTORE
000011ba: PUSH1 0x84
000011bc: ADD
000011bd: PUSH2 0x022a
000011c0: JUMP
000011c1: JUMPDEST
000011c2: POP
000011c3: POP
000011c4: POP
000011c5: POP
000011c6: POP
000011c7: POP
000011c8: JUMP
000011c9: JUMPDEST
000011ca: CALLER
000011cb: EXTCODESIZE
000011cc: ISZERO
000011cd: PUSH2 0x1258
000011d0: JUMPI
000011d1: PUSH1 0x40
000011d3: MLOAD
000011d4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000011f5: DUP2
000011f6: MSTORE
000011f7: PUSH1 0x20
000011f9: PUSH1 0x04
000011fb: DUP3
000011fc: ADD
000011fd: MSTORE
000011fe: PUSH1 0x37
00001200: PUSH1 0x24
00001202: DUP3
00001203: ADD
00001204: MSTORE
00001205: PUSH32 0x5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c
00001226: PUSH1 0x44
00001228: DUP3
00001229: ADD
0000122a: MSTORE
0000122b: PUSH32 0x792062652063616c6c65642066726f6d20616e20454f41000000000000000000
0000124c: PUSH1 0x64
0000124e: DUP3
0000124f: ADD
00001250: MSTORE
00001251: PUSH1 0x84
00001253: ADD
00001254: PUSH2 0x022a
00001257: JUMP
00001258: JUMPDEST
00001259: CALLER
0000125a: ORIGIN
0000125b: EQ
0000125c: PUSH2 0x12e7
0000125f: JUMPI
00001260: PUSH1 0x40
00001262: MLOAD
00001263: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001284: DUP2
00001285: MSTORE
00001286: PUSH1 0x20
00001288: PUSH1 0x04
0000128a: DUP3
0000128b: ADD
0000128c: MSTORE
0000128d: PUSH1 0x32
0000128f: PUSH1 0x24
00001291: DUP3
00001292: ADD
00001293: MSTORE
00001294: PUSH32 0x5374616e646172644272696467653a206d73672073656e646572206d75737420
000012b5: PUSH1 0x44
000012b7: DUP3
000012b8: ADD
000012b9: MSTORE
000012ba: PUSH32 0x657175616c20746f207478206f726967696e0000000000000000000000000000
000012db: PUSH1 0x64
000012dd: DUP3
000012de: ADD
000012df: MSTORE
000012e0: PUSH1 0x84
000012e2: ADD
000012e3: PUSH2 0x022a
000012e6: JUMP
000012e7: JUMPDEST
000012e8: PUSH2 0x0635
000012eb: CALLER
000012ec: CALLER
000012ed: DUP7
000012ee: DUP7
000012ef: DUP7
000012f0: DUP7
000012f1: DUP1
000012f2: DUP1
000012f3: PUSH1 0x1f
000012f5: ADD
000012f6: PUSH1 0x20
000012f8: DUP1
000012f9: SWAP2
000012fa: DIV
000012fb: MUL
000012fc: PUSH1 0x20
000012fe: ADD
000012ff: PUSH1 0x40
00001301: MLOAD
00001302: SWAP1
00001303: DUP2
00001304: ADD
00001305: PUSH1 0x40
00001307: MSTORE
00001308: DUP1
00001309: SWAP4
0000130a: SWAP3
0000130b: SWAP2
0000130c: SWAP1
0000130d: DUP2
0000130e: DUP2
0000130f: MSTORE
00001310: PUSH1 0x20
00001312: ADD
00001313: DUP4
00001314: DUP4
00001315: DUP1
00001316: DUP3
00001317: DUP5
00001318: CALLDATACOPY
00001319: PUSH1 0x00
0000131b: SWAP3
0000131c: ADD
0000131d: SWAP2
0000131e: SWAP1
0000131f: SWAP2
00001320: MSTORE
00001321: POP
00001322: PUSH2 0x2455
00001325: SWAP3
00001326: POP
00001327: POP
00001328: POP
00001329: JUMP
0000132a: JUMPDEST
0000132b: PUSH2 0x0b71
0000132e: DUP8
0000132f: DUP8
00001330: CALLER
00001331: DUP9
00001332: DUP9
00001333: DUP9
00001334: DUP9
00001335: DUP9
00001336: DUP1
00001337: DUP1
00001338: PUSH1 0x1f
0000133a: ADD
0000133b: PUSH1 0x20
0000133d: DUP1
0000133e: SWAP2
0000133f: DIV
00001340: MUL
00001341: PUSH1 0x20
00001343: ADD
00001344: PUSH1 0x40
00001346: MLOAD
00001347: SWAP1
00001348: DUP2
00001349: ADD
0000134a: PUSH1 0x40
0000134c: MSTORE
0000134d: DUP1
0000134e: SWAP4
0000134f: SWAP3
00001350: SWAP2
00001351: SWAP1
00001352: DUP2
00001353: DUP2
00001354: MSTORE
00001355: PUSH1 0x20
00001357: ADD
00001358: DUP4
00001359: DUP4
0000135a: DUP1
0000135b: DUP3
0000135c: DUP5
0000135d: CALLDATACOPY
0000135e: PUSH1 0x00
00001360: SWAP3
00001361: ADD
00001362: SWAP2
00001363: SWAP1
00001364: SWAP2
00001365: MSTORE
00001366: POP
00001367: PUSH2 0x2462
0000136a: SWAP3
0000136b: POP
0000136c: POP
0000136d: POP
0000136e: JUMP
0000136f: JUMPDEST
00001370: PUSH1 0x60
00001372: PUSH2 0x139a
00001375: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000001
00001396: PUSH2 0x2abe
00001399: JUMP
0000139a: JUMPDEST
0000139b: PUSH2 0x13c3
0000139e: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000001
000013bf: PUSH2 0x2abe
000013c2: JUMP
000013c3: JUMPDEST
000013c4: PUSH2 0x13ec
000013c7: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
000013e8: PUSH2 0x2abe
000013eb: JUMP
000013ec: JUMPDEST
000013ed: PUSH1 0x40
000013ef: MLOAD
000013f0: PUSH1 0x20
000013f2: ADD
000013f3: PUSH2 0x13fe
000013f6: SWAP4
000013f7: SWAP3
000013f8: SWAP2
000013f9: SWAP1
000013fa: PUSH2 0x3d1e
000013fd: JUMP
000013fe: JUMPDEST
000013ff: PUSH1 0x40
00001401: MLOAD
00001402: PUSH1 0x20
00001404: DUP2
00001405: DUP4
00001406: SUB
00001407: SUB
00001408: DUP2
00001409: MSTORE
0000140a: SWAP1
0000140b: PUSH1 0x40
0000140d: MSTORE
0000140e: SWAP1
0000140f: POP
00001410: SWAP1
00001411: JUMP
00001412: JUMPDEST
00001413: CALLER
00001414: EXTCODESIZE
00001415: ISZERO
00001416: PUSH2 0x14a1
00001419: JUMPI
0000141a: PUSH1 0x40
0000141c: MLOAD
0000141d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000143e: DUP2
0000143f: MSTORE
00001440: PUSH1 0x20
00001442: PUSH1 0x04
00001444: DUP3
00001445: ADD
00001446: MSTORE
00001447: PUSH1 0x37
00001449: PUSH1 0x24
0000144b: DUP3
0000144c: ADD
0000144d: MSTORE
0000144e: PUSH32 0x5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c
0000146f: PUSH1 0x44
00001471: DUP3
00001472: ADD
00001473: MSTORE
00001474: PUSH32 0x792062652063616c6c65642066726f6d20616e20454f41000000000000000000
00001495: PUSH1 0x64
00001497: DUP3
00001498: ADD
00001499: MSTORE
0000149a: PUSH1 0x84
0000149c: ADD
0000149d: PUSH2 0x022a
000014a0: JUMP
000014a1: JUMPDEST
000014a2: CALLER
000014a3: ORIGIN
000014a4: EQ
000014a5: PUSH2 0x1530
000014a8: JUMPI
000014a9: PUSH1 0x40
000014ab: MLOAD
000014ac: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000014cd: DUP2
000014ce: MSTORE
000014cf: PUSH1 0x20
000014d1: PUSH1 0x04
000014d3: DUP3
000014d4: ADD
000014d5: MSTORE
000014d6: PUSH1 0x32
000014d8: PUSH1 0x24
000014da: DUP3
000014db: ADD
000014dc: MSTORE
000014dd: PUSH32 0x5374616e646172644272696467653a206d73672073656e646572206d75737420
000014fe: PUSH1 0x44
00001500: DUP3
00001501: ADD
00001502: MSTORE
00001503: PUSH32 0x657175616c20746f207478206f726967696e0000000000000000000000000000
00001524: PUSH1 0x64
00001526: DUP3
00001527: ADD
00001528: MSTORE
00001529: PUSH1 0x84
0000152b: ADD
0000152c: PUSH2 0x022a
0000152f: JUMP
00001530: JUMPDEST
00001531: PUSH2 0x11c1
00001534: DUP7
00001535: DUP7
00001536: CALLER
00001537: CALLER
00001538: DUP9
00001539: DUP9
0000153a: DUP9
0000153b: DUP9
0000153c: DUP1
0000153d: DUP1
0000153e: PUSH1 0x1f
00001540: ADD
00001541: PUSH1 0x20
00001543: DUP1
00001544: SWAP2
00001545: DIV
00001546: MUL
00001547: PUSH1 0x20
00001549: ADD
0000154a: PUSH1 0x40
0000154c: MLOAD
0000154d: SWAP1
0000154e: DUP2
0000154f: ADD
00001550: PUSH1 0x40
00001552: MSTORE
00001553: DUP1
00001554: SWAP4
00001555: SWAP3
00001556: SWAP2
00001557: SWAP1
00001558: DUP2
00001559: DUP2
0000155a: MSTORE
0000155b: PUSH1 0x20
0000155d: ADD
0000155e: DUP4
0000155f: DUP4
00001560: DUP1
00001561: DUP3
00001562: DUP5
00001563: CALLDATACOPY
00001564: PUSH1 0x00
00001566: SWAP3
00001567: ADD
00001568: SWAP2
00001569: SWAP1
0000156a: SWAP2
0000156b: MSTORE
0000156c: POP
0000156d: PUSH2 0x2bfb
00001570: SWAP3
00001571: POP
00001572: POP
00001573: POP
00001574: JUMP
00001575: JUMPDEST
00001576: PUSH2 0x0ced
00001579: CALLER
0000157a: DUP7
0000157b: DUP7
0000157c: DUP7
0000157d: DUP7
0000157e: DUP7
0000157f: DUP1
00001580: DUP1
00001581: PUSH1 0x1f
00001583: ADD
00001584: PUSH1 0x20
00001586: DUP1
00001587: SWAP2
00001588: DIV
00001589: MUL
0000158a: PUSH1 0x20
0000158c: ADD
0000158d: PUSH1 0x40
0000158f: MLOAD
00001590: SWAP1
00001591: DUP2
00001592: ADD
00001593: PUSH1 0x40
00001595: MSTORE
00001596: DUP1
00001597: SWAP4
00001598: SWAP3
00001599: SWAP2
0000159a: SWAP1
0000159b: DUP2
0000159c: DUP2
0000159d: MSTORE
0000159e: PUSH1 0x20
000015a0: ADD
000015a1: DUP4
000015a2: DUP4
000015a3: DUP1
000015a4: DUP3
000015a5: DUP5
000015a6: CALLDATACOPY
000015a7: PUSH1 0x00
000015a9: SWAP3
000015aa: ADD
000015ab: SWAP2
000015ac: SWAP1
000015ad: SWAP2
000015ae: MSTORE
000015af: POP
000015b0: PUSH2 0x2455
000015b3: SWAP3
000015b4: POP
000015b5: POP
000015b6: POP
000015b7: JUMP
000015b8: JUMPDEST
000015b9: PUSH2 0x0b71
000015bc: DUP8
000015bd: DUP8
000015be: CALLER
000015bf: DUP9
000015c0: DUP9
000015c1: DUP9
000015c2: DUP9
000015c3: DUP9
000015c4: DUP1
000015c5: DUP1
000015c6: PUSH1 0x1f
000015c8: ADD
000015c9: PUSH1 0x20
000015cb: DUP1
000015cc: SWAP2
000015cd: DIV
000015ce: MUL
000015cf: PUSH1 0x20
000015d1: ADD
000015d2: PUSH1 0x40
000015d4: MLOAD
000015d5: SWAP1
000015d6: DUP2
000015d7: ADD
000015d8: PUSH1 0x40
000015da: MSTORE
000015db: DUP1
000015dc: SWAP4
000015dd: SWAP3
000015de: SWAP2
000015df: SWAP1
000015e0: DUP2
000015e1: DUP2
000015e2: MSTORE
000015e3: PUSH1 0x20
000015e5: ADD
000015e6: DUP4
000015e7: DUP4
000015e8: DUP1
000015e9: DUP3
000015ea: DUP5
000015eb: CALLDATACOPY
000015ec: PUSH1 0x00
000015ee: SWAP3
000015ef: ADD
000015f0: SWAP2
000015f1: SWAP1
000015f2: SWAP2
000015f3: MSTORE
000015f4: POP
000015f5: PUSH2 0x2bfb
000015f8: SWAP3
000015f9: POP
000015fa: POP
000015fb: POP
000015fc: JUMP
000015fd: JUMPDEST
000015fe: CALLER
000015ff: EXTCODESIZE
00001600: ISZERO
00001601: PUSH2 0x168c
00001604: JUMPI
00001605: PUSH1 0x40
00001607: MLOAD
00001608: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001629: DUP2
0000162a: MSTORE
0000162b: PUSH1 0x20
0000162d: PUSH1 0x04
0000162f: DUP3
00001630: ADD
00001631: MSTORE
00001632: PUSH1 0x37
00001634: PUSH1 0x24
00001636: DUP3
00001637: ADD
00001638: MSTORE
00001639: PUSH32 0x5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c
0000165a: PUSH1 0x44
0000165c: DUP3
0000165d: ADD
0000165e: MSTORE
0000165f: PUSH32 0x792062652063616c6c65642066726f6d20616e20454f41000000000000000000
00001680: PUSH1 0x64
00001682: DUP3
00001683: ADD
00001684: MSTORE
00001685: PUSH1 0x84
00001687: ADD
00001688: PUSH2 0x022a
0000168b: JUMP
0000168c: JUMPDEST
0000168d: CALLER
0000168e: ORIGIN
0000168f: EQ
00001690: PUSH2 0x171b
00001693: JUMPI
00001694: PUSH1 0x40
00001696: MLOAD
00001697: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000016b8: DUP2
000016b9: MSTORE
000016ba: PUSH1 0x20
000016bc: PUSH1 0x04
000016be: DUP3
000016bf: ADD
000016c0: MSTORE
000016c1: PUSH1 0x32
000016c3: PUSH1 0x24
000016c5: DUP3
000016c6: ADD
000016c7: MSTORE
000016c8: PUSH32 0x5374616e646172644272696467653a206d73672073656e646572206d75737420
000016e9: PUSH1 0x44
000016eb: DUP3
000016ec: ADD
000016ed: MSTORE
000016ee: PUSH32 0x657175616c20746f207478206f726967696e0000000000000000000000000000
0000170f: PUSH1 0x64
00001711: DUP3
00001712: ADD
00001713: MSTORE
00001714: PUSH1 0x84
00001716: ADD
00001717: PUSH2 0x022a
0000171a: JUMP
0000171b: JUMPDEST
0000171c: PUSH2 0x11c1
0000171f: DUP7
00001720: DUP7
00001721: CALLER
00001722: CALLER
00001723: DUP9
00001724: DUP9
00001725: DUP9
00001726: DUP9
00001727: DUP1
00001728: DUP1
00001729: PUSH1 0x1f
0000172b: ADD
0000172c: PUSH1 0x20
0000172e: DUP1
0000172f: SWAP2
00001730: DIV
00001731: MUL
00001732: PUSH1 0x20
00001734: ADD
00001735: PUSH1 0x40
00001737: MLOAD
00001738: SWAP1
00001739: DUP2
0000173a: ADD
0000173b: PUSH1 0x40
0000173d: MSTORE
0000173e: DUP1
0000173f: SWAP4
00001740: SWAP3
00001741: SWAP2
00001742: SWAP1
00001743: DUP2
00001744: DUP2
00001745: MSTORE
00001746: PUSH1 0x20
00001748: ADD
00001749: DUP4
0000174a: DUP4
0000174b: DUP1
0000174c: DUP3
0000174d: DUP5
0000174e: CALLDATACOPY
0000174f: PUSH1 0x00
00001751: SWAP3
00001752: ADD
00001753: SWAP2
00001754: SWAP1
00001755: SWAP2
00001756: MSTORE
00001757: POP
00001758: PUSH2 0x2462
0000175b: SWAP3
0000175c: POP
0000175d: POP
0000175e: POP
0000175f: JUMP
00001760: JUMPDEST
00001761: PUSH2 0x0635
00001764: CALLER
00001765: DUP6
00001766: DUP6
00001767: DUP6
00001768: DUP6
00001769: DUP1
0000176a: DUP1
0000176b: PUSH1 0x1f
0000176d: ADD
0000176e: PUSH1 0x20
00001770: DUP1
00001771: SWAP2
00001772: DIV
00001773: MUL
00001774: PUSH1 0x20
00001776: ADD
00001777: PUSH1 0x40
00001779: MLOAD
0000177a: SWAP1
0000177b: DUP2
0000177c: ADD
0000177d: PUSH1 0x40
0000177f: MSTORE
00001780: DUP1
00001781: SWAP4
00001782: SWAP3
00001783: SWAP2
00001784: SWAP1
00001785: DUP2
00001786: DUP2
00001787: MSTORE
00001788: PUSH1 0x20
0000178a: ADD
0000178b: DUP4
0000178c: DUP4
0000178d: DUP1
0000178e: DUP3
0000178f: DUP5
00001790: CALLDATACOPY
00001791: PUSH1 0x00
00001793: SWAP3
00001794: ADD
00001795: SWAP2
00001796: SWAP1
00001797: SWAP2
00001798: MSTORE
00001799: POP
0000179a: PUSH2 0x0628
0000179d: SWAP3
0000179e: POP
0000179f: POP
000017a0: POP
000017a1: JUMP
000017a2: JUMPDEST
000017a3: PUSH2 0x0b71
000017a6: DUP8
000017a7: DUP8
000017a8: DUP8
000017a9: DUP8
000017aa: DUP8
000017ab: DUP8
000017ac: DUP8
000017ad: PUSH2 0x063b
000017b0: JUMP
000017b1: JUMPDEST
000017b2: CALLER
000017b3: EXTCODESIZE
000017b4: ISZERO
000017b5: PUSH2 0x1840
000017b8: JUMPI
000017b9: PUSH1 0x40
000017bb: MLOAD
000017bc: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000017dd: DUP2
000017de: MSTORE
000017df: PUSH1 0x20
000017e1: PUSH1 0x04
000017e3: DUP3
000017e4: ADD
000017e5: MSTORE
000017e6: PUSH1 0x37
000017e8: PUSH1 0x24
000017ea: DUP3
000017eb: ADD
000017ec: MSTORE
000017ed: PUSH32 0x5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c
0000180e: PUSH1 0x44
00001810: DUP3
00001811: ADD
00001812: MSTORE
00001813: PUSH32 0x792062652063616c6c65642066726f6d20616e20454f41000000000000000000
00001834: PUSH1 0x64
00001836: DUP3
00001837: ADD
00001838: MSTORE
00001839: PUSH1 0x84
0000183b: ADD
0000183c: PUSH2 0x022a
0000183f: JUMP
00001840: JUMPDEST
00001841: CALLER
00001842: ORIGIN
00001843: EQ
00001844: PUSH2 0x18cf
00001847: JUMPI
00001848: PUSH1 0x40
0000184a: MLOAD
0000184b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000186c: DUP2
0000186d: MSTORE
0000186e: PUSH1 0x20
00001870: PUSH1 0x04
00001872: DUP3
00001873: ADD
00001874: MSTORE
00001875: PUSH1 0x32
00001877: PUSH1 0x24
00001879: DUP3
0000187a: ADD
0000187b: MSTORE
0000187c: PUSH32 0x5374616e646172644272696467653a206d73672073656e646572206d75737420
0000189d: PUSH1 0x44
0000189f: DUP3
000018a0: ADD
000018a1: MSTORE
000018a2: PUSH32 0x657175616c20746f207478206f726967696e0000000000000000000000000000
000018c3: PUSH1 0x64
000018c5: DUP3
000018c6: ADD
000018c7: MSTORE
000018c8: PUSH1 0x84
000018ca: ADD
000018cb: PUSH2 0x022a
000018ce: JUMP
000018cf: JUMPDEST
000018d0: PUSH2 0x0cdb
000018d3: CALLER
000018d4: CALLER
000018d5: DUP6
000018d6: DUP6
000018d7: DUP6
000018d8: DUP1
000018d9: DUP1
000018da: PUSH1 0x1f
000018dc: ADD
000018dd: PUSH1 0x20
000018df: DUP1
000018e0: SWAP2
000018e1: DIV
000018e2: MUL
000018e3: PUSH1 0x20
000018e5: ADD
000018e6: PUSH1 0x40
000018e8: MLOAD
000018e9: SWAP1
000018ea: DUP2
000018eb: ADD
000018ec: PUSH1 0x40
000018ee: MSTORE
000018ef: DUP1
000018f0: SWAP4
000018f1: SWAP3
000018f2: SWAP2
000018f3: SWAP1
000018f4: DUP2
000018f5: DUP2
000018f6: MSTORE
000018f7: PUSH1 0x20
000018f9: ADD
000018fa: DUP4
000018fb: DUP4
000018fc: DUP1
000018fd: DUP3
000018fe: DUP5
000018ff: CALLDATACOPY
00001900: PUSH1 0x00
00001902: SWAP3
00001903: ADD
00001904: SWAP2
00001905: SWAP1
00001906: SWAP2
00001907: MSTORE
00001908: POP
00001909: PUSH2 0x0628
0000190c: SWAP3
0000190d: POP
0000190e: POP
0000190f: POP
00001910: JUMP
00001911: JUMPDEST
00001912: PUSH2 0x0ced
00001915: CALLER
00001916: DUP7
00001917: DUP7
00001918: DUP7
00001919: DUP7
0000191a: DUP7
0000191b: DUP1
0000191c: DUP1
0000191d: PUSH1 0x1f
0000191f: ADD
00001920: PUSH1 0x20
00001922: DUP1
00001923: SWAP2
00001924: DIV
00001925: MUL
00001926: PUSH1 0x20
00001928: ADD
00001929: PUSH1 0x40
0000192b: MLOAD
0000192c: SWAP1
0000192d: DUP2
0000192e: ADD
0000192f: PUSH1 0x40
00001931: MSTORE
00001932: DUP1
00001933: SWAP4
00001934: SWAP3
00001935: SWAP2
00001936: SWAP1
00001937: DUP2
00001938: DUP2
00001939: MSTORE
0000193a: PUSH1 0x20
0000193c: ADD
0000193d: DUP4
0000193e: DUP4
0000193f: DUP1
00001940: DUP3
00001941: DUP5
00001942: CALLDATACOPY
00001943: PUSH1 0x00
00001945: SWAP3
00001946: ADD
00001947: SWAP2
00001948: SWAP1
00001949: SWAP2
0000194a: MSTORE
0000194b: POP
0000194c: PUSH2 0x2c0a
0000194f: SWAP3
00001950: POP
00001951: POP
00001952: POP
00001953: JUMP
00001954: JUMPDEST
00001955: CALLER
00001956: EXTCODESIZE
00001957: ISZERO
00001958: PUSH2 0x19e3
0000195b: JUMPI
0000195c: PUSH1 0x40
0000195e: MLOAD
0000195f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001980: DUP2
00001981: MSTORE
00001982: PUSH1 0x20
00001984: PUSH1 0x04
00001986: DUP3
00001987: ADD
00001988: MSTORE
00001989: PUSH1 0x37
0000198b: PUSH1 0x24
0000198d: DUP3
0000198e: ADD
0000198f: MSTORE
00001990: PUSH32 0x5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c
000019b1: PUSH1 0x44
000019b3: DUP3
000019b4: ADD
000019b5: MSTORE
000019b6: PUSH32 0x792062652063616c6c65642066726f6d20616e20454f41000000000000000000
000019d7: PUSH1 0x64
000019d9: DUP3
000019da: ADD
000019db: MSTORE
000019dc: PUSH1 0x84
000019de: ADD
000019df: PUSH2 0x022a
000019e2: JUMP
000019e3: JUMPDEST
000019e4: CALLER
000019e5: ORIGIN
000019e6: EQ
000019e7: PUSH2 0x1a72
000019ea: JUMPI
000019eb: PUSH1 0x40
000019ed: MLOAD
000019ee: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001a0f: DUP2
00001a10: MSTORE
00001a11: PUSH1 0x20
00001a13: PUSH1 0x04
00001a15: DUP3
00001a16: ADD
00001a17: MSTORE
00001a18: PUSH1 0x32
00001a1a: PUSH1 0x24
00001a1c: DUP3
00001a1d: ADD
00001a1e: MSTORE
00001a1f: PUSH32 0x5374616e646172644272696467653a206d73672073656e646572206d75737420
00001a40: PUSH1 0x44
00001a42: DUP3
00001a43: ADD
00001a44: MSTORE
00001a45: PUSH32 0x657175616c20746f207478206f726967696e0000000000000000000000000000
00001a66: PUSH1 0x64
00001a68: DUP3
00001a69: ADD
00001a6a: MSTORE
00001a6b: PUSH1 0x84
00001a6d: ADD
00001a6e: PUSH2 0x022a
00001a71: JUMP
00001a72: JUMPDEST
00001a73: PUSH2 0x0635
00001a76: CALLER
00001a77: CALLER
00001a78: DUP7
00001a79: DUP7
00001a7a: DUP7
00001a7b: DUP7
00001a7c: DUP1
00001a7d: DUP1
00001a7e: PUSH1 0x1f
00001a80: ADD
00001a81: PUSH1 0x20
00001a83: DUP1
00001a84: SWAP2
00001a85: DIV
00001a86: MUL
00001a87: PUSH1 0x20
00001a89: ADD
00001a8a: PUSH1 0x40
00001a8c: MLOAD
00001a8d: SWAP1
00001a8e: DUP2
00001a8f: ADD
00001a90: PUSH1 0x40
00001a92: MSTORE
00001a93: DUP1
00001a94: SWAP4
00001a95: SWAP3
00001a96: SWAP2
00001a97: SWAP1
00001a98: DUP2
00001a99: DUP2
00001a9a: MSTORE
00001a9b: PUSH1 0x20
00001a9d: ADD
00001a9e: DUP4
00001a9f: DUP4
00001aa0: DUP1
00001aa1: DUP3
00001aa2: DUP5
00001aa3: CALLDATACOPY
00001aa4: PUSH1 0x00
00001aa6: SWAP3
00001aa7: ADD
00001aa8: SWAP2
00001aa9: SWAP1
00001aaa: SWAP2
00001aab: MSTORE
00001aac: POP
00001aad: PUSH2 0x2c0a
00001ab0: SWAP3
00001ab1: POP
00001ab2: POP
00001ab3: POP
00001ab4: JUMP
00001ab5: JUMPDEST
00001ab6: PUSH2 0x0635
00001ab9: CALLER
00001aba: DUP6
00001abb: CALLVALUE
00001abc: DUP7
00001abd: DUP7
00001abe: DUP7
00001abf: DUP1
00001ac0: DUP1
00001ac1: PUSH1 0x1f
00001ac3: ADD
00001ac4: PUSH1 0x20
00001ac6: DUP1
00001ac7: SWAP2
00001ac8: DIV
00001ac9: MUL
00001aca: PUSH1 0x20
00001acc: ADD
00001acd: PUSH1 0x40
00001acf: MLOAD
00001ad0: SWAP1
00001ad1: DUP2
00001ad2: ADD
00001ad3: PUSH1 0x40
00001ad5: MSTORE
00001ad6: DUP1
00001ad7: SWAP4
00001ad8: SWAP3
00001ad9: SWAP2
00001ada: SWAP1
00001adb: DUP2
00001adc: DUP2
00001add: MSTORE
00001ade: PUSH1 0x20
00001ae0: ADD
00001ae1: DUP4
00001ae2: DUP4
00001ae3: DUP1
00001ae4: DUP3
00001ae5: DUP5
00001ae6: CALLDATACOPY
00001ae7: PUSH1 0x00
00001ae9: SWAP3
00001aea: ADD
00001aeb: SWAP2
00001aec: SWAP1
00001aed: SWAP2
00001aee: MSTORE
00001aef: POP
00001af0: PUSH2 0x1ef9
00001af3: SWAP3
00001af4: POP
00001af5: POP
00001af6: POP
00001af7: JUMP
00001af8: JUMPDEST
00001af9: CALLER
00001afa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b0f: PUSH32 0x000000000000000000000000676a795fe6e43c17c668de16730c3f690feb7120
00001b30: AND
00001b31: EQ
00001b32: DUP1
00001b33: ISZERO
00001b34: PUSH2 0x1c16
00001b37: JUMPI
00001b38: POP
00001b39: PUSH32 0x0000000000000000000000004200000000000000000000000000000000000010
00001b5a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b6f: AND
00001b70: PUSH32 0x000000000000000000000000676a795fe6e43c17c668de16730c3f690feb7120
00001b91: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ba6: AND
00001ba7: PUSH4 0x6e296e45
00001bac: PUSH1 0x40
00001bae: MLOAD
00001baf: DUP2
00001bb0: PUSH4 0xffffffff
00001bb5: AND
00001bb6: PUSH1 0xe0
00001bb8: SHL
00001bb9: DUP2
00001bba: MSTORE
00001bbb: PUSH1 0x04
00001bbd: ADD
00001bbe: PUSH1 0x20
00001bc0: PUSH1 0x40
00001bc2: MLOAD
00001bc3: DUP1
00001bc4: DUP4
00001bc5: SUB
00001bc6: DUP2
00001bc7: DUP7
00001bc8: GAS
00001bc9: STATICCALL
00001bca: ISZERO
00001bcb: DUP1
00001bcc: ISZERO
00001bcd: PUSH2 0x1bda
00001bd0: JUMPI
00001bd1: RETURNDATASIZE
00001bd2: PUSH1 0x00
00001bd4: DUP1
00001bd5: RETURNDATACOPY
00001bd6: RETURNDATASIZE
00001bd7: PUSH1 0x00
00001bd9: REVERT
00001bda: JUMPDEST
00001bdb: POP
00001bdc: POP
00001bdd: POP
00001bde: POP
00001bdf: PUSH1 0x40
00001be1: MLOAD
00001be2: RETURNDATASIZE
00001be3: PUSH1 0x1f
00001be5: NOT
00001be6: PUSH1 0x1f
00001be8: DUP3
00001be9: ADD
00001bea: AND
00001beb: DUP3
00001bec: ADD
00001bed: DUP1
00001bee: PUSH1 0x40
00001bf0: MSTORE
00001bf1: POP
00001bf2: DUP2
00001bf3: ADD
00001bf4: SWAP1
00001bf5: PUSH2 0x1bfe
00001bf8: SWAP2
00001bf9: SWAP1
00001bfa: PUSH2 0x3ca2
00001bfd: JUMP
00001bfe: JUMPDEST
00001bff: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c14: AND
00001c15: EQ
00001c16: JUMPDEST
00001c17: PUSH2 0x1cc8
00001c1a: JUMPI
00001c1b: PUSH1 0x40
00001c1d: MLOAD
00001c1e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001c3f: DUP2
00001c40: MSTORE
00001c41: PUSH1 0x20
00001c43: PUSH1 0x04
00001c45: DUP3
00001c46: ADD
00001c47: MSTORE
00001c48: PUSH1 0x41
00001c4a: PUSH1 0x24
00001c4c: DUP3
00001c4d: ADD
00001c4e: MSTORE
00001c4f: PUSH32 0x5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c
00001c70: PUSH1 0x44
00001c72: DUP3
00001c73: ADD
00001c74: MSTORE
00001c75: PUSH32 0x792062652063616c6c65642066726f6d20746865206f74686572206272696467
00001c96: PUSH1 0x64
00001c98: DUP3
00001c99: ADD
00001c9a: MSTORE
00001c9b: PUSH32 0x6500000000000000000000000000000000000000000000000000000000000000
00001cbc: PUSH1 0x84
00001cbe: DUP3
00001cbf: ADD
00001cc0: MSTORE
00001cc1: PUSH1 0xa4
00001cc3: ADD
00001cc4: PUSH2 0x022a
00001cc7: JUMP
00001cc8: JUMPDEST
00001cc9: ADDRESS
00001cca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001cdf: DUP6
00001ce0: AND
00001ce1: SUB
00001ce2: PUSH2 0x1d6d
00001ce5: JUMPI
00001ce6: PUSH1 0x40
00001ce8: MLOAD
00001ce9: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001d0a: DUP2
00001d0b: MSTORE
00001d0c: PUSH1 0x20
00001d0e: PUSH1 0x04
00001d10: DUP3
00001d11: ADD
00001d12: MSTORE
00001d13: PUSH1 0x23
00001d15: PUSH1 0x24
00001d17: DUP3
00001d18: ADD
00001d19: MSTORE
00001d1a: PUSH32 0x5374616e646172644272696467653a2063616e6e6f742073656e6420746f2073
00001d3b: PUSH1 0x44
00001d3d: DUP3
00001d3e: ADD
00001d3f: MSTORE
00001d40: PUSH32 0x656c660000000000000000000000000000000000000000000000000000000000
00001d61: PUSH1 0x64
00001d63: DUP3
00001d64: ADD
00001d65: MSTORE
00001d66: PUSH1 0x84
00001d68: ADD
00001d69: PUSH2 0x022a
00001d6c: JUMP
00001d6d: JUMPDEST
00001d6e: PUSH32 0x000000000000000000000000676a795fe6e43c17c668de16730c3f690feb7120
00001d8f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001da4: AND
00001da5: DUP5
00001da6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001dbb: AND
00001dbc: SUB
00001dbd: PUSH2 0x1e48
00001dc0: JUMPI
00001dc1: PUSH1 0x40
00001dc3: MLOAD
00001dc4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001de5: DUP2
00001de6: MSTORE
00001de7: PUSH1 0x20
00001de9: PUSH1 0x04
00001deb: DUP3
00001dec: ADD
00001ded: MSTORE
00001dee: PUSH1 0x28
00001df0: PUSH1 0x24
00001df2: DUP3
00001df3: ADD
00001df4: MSTORE
00001df5: PUSH32 0x5374616e646172644272696467653a2063616e6e6f742073656e6420746f206d
00001e16: PUSH1 0x44
00001e18: DUP3
00001e19: ADD
00001e1a: MSTORE
00001e1b: PUSH32 0x657373656e676572000000000000000000000000000000000000000000000000
00001e3c: PUSH1 0x64
00001e3e: DUP3
00001e3f: ADD
00001e40: MSTORE
00001e41: PUSH1 0x84
00001e43: ADD
00001e44: PUSH2 0x022a
00001e47: JUMP
00001e48: JUMPDEST
00001e49: PUSH2 0x1eaa
00001e4c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e61: PUSH32 0x0000000000000000000000003c3a81e81dc49a522a592e7622a7e711c06bf354
00001e82: AND
00001e83: PUSH32 0x000000000000000000000000676a795fe6e43c17c668de16730c3f690feb7120
00001ea4: DUP7
00001ea5: DUP7
00001ea6: PUSH2 0x2f0b
00001ea9: JUMP
00001eaa: JUMPDEST
00001eab: PUSH2 0x0ced
00001eae: DUP6
00001eaf: DUP6
00001eb0: DUP6
00001eb1: DUP6
00001eb2: DUP6
00001eb3: DUP1
00001eb4: DUP1
00001eb5: PUSH1 0x1f
00001eb7: ADD
00001eb8: PUSH1 0x20
00001eba: DUP1
00001ebb: SWAP2
00001ebc: DIV
00001ebd: MUL
00001ebe: PUSH1 0x20
00001ec0: ADD
00001ec1: PUSH1 0x40
00001ec3: MLOAD
00001ec4: SWAP1
00001ec5: DUP2
00001ec6: ADD
00001ec7: PUSH1 0x40
00001ec9: MSTORE
00001eca: DUP1
00001ecb: SWAP4
00001ecc: SWAP3
00001ecd: SWAP2
00001ece: SWAP1
00001ecf: DUP2
00001ed0: DUP2
00001ed1: MSTORE
00001ed2: PUSH1 0x20
00001ed4: ADD
00001ed5: DUP4
00001ed6: DUP4
00001ed7: DUP1
00001ed8: DUP3
00001ed9: DUP5
00001eda: CALLDATACOPY
00001edb: PUSH1 0x00
00001edd: SWAP3
00001ede: ADD
00001edf: SWAP2
00001ee0: SWAP1
00001ee1: SWAP2
00001ee2: MSTORE
00001ee3: POP
00001ee4: PUSH2 0x2f69
00001ee7: SWAP3
00001ee8: POP
00001ee9: POP
00001eea: POP
00001eeb: JUMP
00001eec: JUMPDEST
00001eed: PUSH2 0x0ced
00001ef0: DUP6
00001ef1: DUP6
00001ef2: DUP6
00001ef3: DUP6
00001ef4: DUP6
00001ef5: PUSH2 0x1af8
00001ef8: JUMP
00001ef9: JUMPDEST
00001efa: DUP3
00001efb: CALLVALUE
00001efc: EQ
00001efd: PUSH2 0x1f8a
00001f00: JUMPI
00001f01: PUSH1 0x40
00001f03: DUP1
00001f04: MLOAD
00001f05: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001f26: DUP2
00001f27: MSTORE
00001f28: PUSH1 0x20
00001f2a: PUSH1 0x04
00001f2c: DUP3
00001f2d: ADD
00001f2e: MSTORE
00001f2f: PUSH1 0x24
00001f31: DUP2
00001f32: ADD
00001f33: SWAP2
00001f34: SWAP1
00001f35: SWAP2
00001f36: MSTORE
00001f37: PUSH32 0x4c315374616e646172644272696467653a206272696467696e6720455448206d
00001f58: PUSH1 0x44
00001f5a: DUP3
00001f5b: ADD
00001f5c: MSTORE
00001f5d: PUSH32 0x75737420696e636c7564652073756666696369656e74204554482076616c7565
00001f7e: PUSH1 0x64
00001f80: DUP3
00001f81: ADD
00001f82: MSTORE
00001f83: PUSH1 0x84
00001f85: ADD
00001f86: PUSH2 0x022a
00001f89: JUMP
00001f8a: JUMPDEST
00001f8b: PUSH2 0x1f96
00001f8e: DUP6
00001f8f: DUP6
00001f90: DUP6
00001f91: DUP5
00001f92: PUSH2 0x2fdc
00001f95: JUMP
00001f96: JUMPDEST
00001f97: PUSH1 0x00
00001f99: PUSH32 0x000000000000000000000000676a795fe6e43c17c668de16730c3f690feb7120
00001fba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001fcf: AND
00001fd0: PUSH4 0xb575e300
00001fd5: CALLVALUE
00001fd6: DUP4
00001fd7: PUSH32 0x0000000000000000000000004200000000000000000000000000000000000010
00001ff8: PUSH4 0x1635f5fd
00001ffd: PUSH1 0xe0
00001fff: SHL
00002000: DUP12
00002001: DUP12
00002002: DUP12
00002003: DUP11
00002004: PUSH1 0x40
00002006: MLOAD
00002007: PUSH1 0x24
00002009: ADD
0000200a: PUSH2 0x2016
0000200d: SWAP5
0000200e: SWAP4
0000200f: SWAP3
00002010: SWAP2
00002011: SWAP1
00002012: PUSH2 0x3d94
00002015: JUMP
00002016: JUMPDEST
00002017: PUSH1 0x40
00002019: DUP1
0000201a: MLOAD
0000201b: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
0000203c: DUP2
0000203d: DUP5
0000203e: SUB
0000203f: ADD
00002040: DUP2
00002041: MSTORE
00002042: SWAP2
00002043: DUP2
00002044: MSTORE
00002045: PUSH1 0x20
00002047: DUP3
00002048: ADD
00002049: DUP1
0000204a: MLOAD
0000204b: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002068: AND
00002069: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
0000208a: SWAP5
0000208b: DUP6
0000208c: AND
0000208d: OR
0000208e: SWAP1
0000208f: MSTORE
00002090: MLOAD
00002091: PUSH1 0xe0
00002093: DUP8
00002094: SWAP1
00002095: SHL
00002096: SWAP1
00002097: SWAP3
00002098: AND
00002099: DUP3
0000209a: MSTORE
0000209b: PUSH2 0x20aa
0000209e: SWAP4
0000209f: SWAP3
000020a0: SWAP2
000020a1: DUP11
000020a2: SWAP1
000020a3: PUSH1 0x04
000020a5: ADD
000020a6: PUSH2 0x3ddd
000020a9: JUMP
000020aa: JUMPDEST
000020ab: PUSH1 0x00
000020ad: PUSH1 0x40
000020af: MLOAD
000020b0: DUP1
000020b1: DUP4
000020b2: SUB
000020b3: DUP2
000020b4: DUP6
000020b5: DUP9
000020b6: DUP1
000020b7: EXTCODESIZE
000020b8: ISZERO
000020b9: DUP1
000020ba: ISZERO
000020bb: PUSH2 0x20c3
000020be: JUMPI
000020bf: PUSH1 0x00
000020c1: DUP1
000020c2: REVERT
000020c3: JUMPDEST
000020c4: POP
000020c5: GAS
000020c6: CALL
000020c7: ISZERO
000020c8: DUP1
000020c9: ISZERO
000020ca: PUSH2 0x20d7
000020cd: JUMPI
000020ce: RETURNDATASIZE
000020cf: PUSH1 0x00
000020d1: DUP1
000020d2: RETURNDATACOPY
000020d3: RETURNDATASIZE
000020d4: PUSH1 0x00
000020d6: REVERT
000020d7: JUMPDEST
000020d8: POP
000020d9: POP
000020da: POP
000020db: POP
000020dc: POP
000020dd: POP
000020de: POP
000020df: POP
000020e0: POP
000020e1: POP
000020e2: POP
000020e3: JUMP
000020e4: JUMPDEST
000020e5: PUSH1 0x00
000020e7: PUSH2 0x2110
000020ea: DUP3
000020eb: PUSH32 0x1d1d8b6300000000000000000000000000000000000000000000000000000000
0000210c: PUSH2 0x304f
0000210f: JUMP
00002110: JUMPDEST
00002111: DUP1
00002112: PUSH2 0x2140
00002115: JUMPI
00002116: POP
00002117: PUSH2 0x2140
0000211a: DUP3
0000211b: PUSH32 0xec4fc8e300000000000000000000000000000000000000000000000000000000
0000213c: PUSH2 0x304f
0000213f: JUMP
00002140: JUMPDEST
00002141: SWAP3
00002142: SWAP2
00002143: POP
00002144: POP
00002145: JUMP
00002146: JUMPDEST
00002147: PUSH1 0x00
00002149: PUSH2 0x2172
0000214c: DUP4
0000214d: PUSH32 0x1d1d8b6300000000000000000000000000000000000000000000000000000000
0000216e: PUSH2 0x304f
00002171: JUMP
00002172: JUMPDEST
00002173: ISZERO
00002174: PUSH2 0x221b
00002177: JUMPI
00002178: DUP3
00002179: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000218e: AND
0000218f: PUSH4 0xc01e1bd6
00002194: PUSH1 0x40
00002196: MLOAD
00002197: DUP2
00002198: PUSH4 0xffffffff
0000219d: AND
0000219e: PUSH1 0xe0
000021a0: SHL
000021a1: DUP2
000021a2: MSTORE
000021a3: PUSH1 0x04
000021a5: ADD
000021a6: PUSH1 0x20
000021a8: PUSH1 0x40
000021aa: MLOAD
000021ab: DUP1
000021ac: DUP4
000021ad: SUB
000021ae: DUP2
000021af: DUP7
000021b0: GAS
000021b1: STATICCALL
000021b2: ISZERO
000021b3: DUP1
000021b4: ISZERO
000021b5: PUSH2 0x21c2
000021b8: JUMPI
000021b9: RETURNDATASIZE
000021ba: PUSH1 0x00
000021bc: DUP1
000021bd: RETURNDATACOPY
000021be: RETURNDATASIZE
000021bf: PUSH1 0x00
000021c1: REVERT
000021c2: JUMPDEST
000021c3: POP
000021c4: POP
000021c5: POP
000021c6: POP
000021c7: PUSH1 0x40
000021c9: MLOAD
000021ca: RETURNDATASIZE
000021cb: PUSH1 0x1f
000021cd: NOT
000021ce: PUSH1 0x1f
000021d0: DUP3
000021d1: ADD
000021d2: AND
000021d3: DUP3
000021d4: ADD
000021d5: DUP1
000021d6: PUSH1 0x40
000021d8: MSTORE
000021d9: POP
000021da: DUP2
000021db: ADD
000021dc: SWAP1
000021dd: PUSH2 0x21e6
000021e0: SWAP2
000021e1: SWAP1
000021e2: PUSH2 0x3ca2
000021e5: JUMP
000021e6: JUMPDEST
000021e7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000021fc: AND
000021fd: DUP3
000021fe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002213: AND
00002214: EQ
00002215: SWAP1
00002216: POP
00002217: PUSH2 0x2140
0000221a: JUMP
0000221b: JUMPDEST
0000221c: DUP3
0000221d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002232: AND
00002233: PUSH4 0xd6c0b2c4
00002238: PUSH1 0x40
0000223a: MLOAD
0000223b: DUP2
0000223c: PUSH4 0xffffffff
00002241: AND
00002242: PUSH1 0xe0
00002244: SHL
00002245: DUP2
00002246: MSTORE
00002247: PUSH1 0x04
00002249: ADD
0000224a: PUSH1 0x20
0000224c: PUSH1 0x40
0000224e: MLOAD
0000224f: DUP1
00002250: DUP4
00002251: SUB
00002252: DUP2
00002253: DUP7
00002254: GAS
00002255: STATICCALL
00002256: ISZERO
00002257: DUP1
00002258: ISZERO
00002259: PUSH2 0x21c2
0000225c: JUMPI
0000225d: RETURNDATASIZE
0000225e: PUSH1 0x00
00002260: DUP1
00002261: RETURNDATACOPY
00002262: RETURNDATASIZE
00002263: PUSH1 0x00
00002265: REVERT
00002266: JUMPDEST
00002267: PUSH1 0x40
00002269: MLOAD
0000226a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000227f: DUP4
00002280: AND
00002281: PUSH1 0x24
00002283: DUP3
00002284: ADD
00002285: MSTORE
00002286: PUSH1 0x44
00002288: DUP2
00002289: ADD
0000228a: DUP3
0000228b: SWAP1
0000228c: MSTORE
0000228d: PUSH2 0x0cdb
00002290: SWAP1
00002291: DUP5
00002292: SWAP1
00002293: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
000022b4: SWAP1
000022b5: PUSH1 0x64
000022b7: ADD
000022b8: JUMPDEST
000022b9: PUSH1 0x40
000022bb: DUP1
000022bc: MLOAD
000022bd: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
000022de: DUP2
000022df: DUP5
000022e0: SUB
000022e1: ADD
000022e2: DUP2
000022e3: MSTORE
000022e4: SWAP2
000022e5: SWAP1
000022e6: MSTORE
000022e7: PUSH1 0x20
000022e9: DUP2
000022ea: ADD
000022eb: DUP1
000022ec: MLOAD
000022ed: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000230a: AND
0000230b: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
0000232c: SWAP1
0000232d: SWAP4
0000232e: AND
0000232f: SWAP3
00002330: SWAP1
00002331: SWAP3
00002332: OR
00002333: SWAP1
00002334: SWAP2
00002335: MSTORE
00002336: PUSH2 0x3072
00002339: JUMP
0000233a: JUMPDEST
0000233b: DUP4
0000233c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002351: AND
00002352: DUP6
00002353: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002368: AND
00002369: DUP8
0000236a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000237f: AND
00002380: PUSH32 0x3ceee06c1e37648fcbb6ed52e17b3e1f275a1f8c7b22a84b2b84732431e046b3
000023a1: DUP7
000023a2: DUP7
000023a3: DUP7
000023a4: PUSH1 0x40
000023a6: MLOAD
000023a7: PUSH2 0x23b2
000023aa: SWAP4
000023ab: SWAP3
000023ac: SWAP2
000023ad: SWAP1
000023ae: PUSH2 0x3e29
000023b1: JUMP
000023b2: JUMPDEST
000023b3: PUSH1 0x40
000023b5: MLOAD
000023b6: DUP1
000023b7: SWAP2
000023b8: SUB
000023b9: SWAP1
000023ba: LOG4
000023bb: PUSH2 0x11c1
000023be: DUP7
000023bf: DUP7
000023c0: DUP7
000023c1: DUP7
000023c2: DUP7
000023c3: DUP7
000023c4: PUSH2 0x317e
000023c7: JUMP
000023c8: JUMPDEST
000023c9: DUP3
000023ca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000023df: AND
000023e0: DUP5
000023e1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000023f6: AND
000023f7: PUSH32 0x2ac69ee804d9a7a0984249f508dfab7cb2534b465b6ce1580f99a38ba9c5e631
00002418: DUP5
00002419: DUP5
0000241a: PUSH1 0x40
0000241c: MLOAD
0000241d: PUSH2 0x2427
00002420: SWAP3
00002421: SWAP2
00002422: SWAP1
00002423: PUSH2 0x3e67
00002426: JUMP
00002427: JUMPDEST
00002428: PUSH1 0x40
0000242a: MLOAD
0000242b: DUP1
0000242c: SWAP2
0000242d: SUB
0000242e: SWAP1
0000242f: LOG3
00002430: PUSH2 0x0635
00002433: DUP5
00002434: DUP5
00002435: DUP5
00002436: DUP5
00002437: PUSH2 0x3206
0000243a: JUMP
0000243b: JUMPDEST
0000243c: PUSH1 0x00
0000243e: DUP1
0000243f: PUSH1 0x00
00002441: DUP1
00002442: DUP5
00002443: MLOAD
00002444: PUSH1 0x20
00002446: DUP7
00002447: ADD
00002448: DUP8
00002449: DUP11
0000244a: DUP11
0000244b: CALL
0000244c: SWAP7
0000244d: SWAP6
0000244e: POP
0000244f: POP
00002450: POP
00002451: POP
00002452: POP
00002453: POP
00002454: JUMP
00002455: JUMPDEST
00002456: PUSH2 0x0ced
00002459: DUP6
0000245a: DUP6
0000245b: DUP6
0000245c: DUP6
0000245d: DUP6
0000245e: PUSH2 0x2c0a
00002461: JUMP
00002462: JUMPDEST
00002463: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002478: DUP8
00002479: AND
0000247a: ISZERO
0000247b: DUP1
0000247c: ISZERO
0000247d: SWAP1
0000247e: PUSH2 0x24b1
00002481: JUMPI
00002482: POP
00002483: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002498: DUP7
00002499: AND
0000249a: PUSH20 0xdeaddeaddeaddeaddeaddeaddeaddeaddead1111
000024af: EQ
000024b0: ISZERO
000024b1: JUMPDEST
000024b2: PUSH2 0x253d
000024b5: JUMPI
000024b6: PUSH1 0x40
000024b8: MLOAD
000024b9: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000024da: DUP2
000024db: MSTORE
000024dc: PUSH1 0x20
000024de: PUSH1 0x04
000024e0: DUP3
000024e1: ADD
000024e2: MSTORE
000024e3: PUSH1 0x3a
000024e5: PUSH1 0x24
000024e7: DUP3
000024e8: ADD
000024e9: MSTORE
000024ea: PUSH32 0x4c315374616e646172644272696467653a20427269646765455243323020646f
0000250b: PUSH1 0x44
0000250d: DUP3
0000250e: ADD
0000250f: MSTORE
00002510: PUSH32 0x206e6f7420737570706f727420455448206272696467696e672e000000000000
00002531: PUSH1 0x64
00002533: DUP3
00002534: ADD
00002535: MSTORE
00002536: PUSH1 0x84
00002538: ADD
00002539: PUSH2 0x022a
0000253c: JUMP
0000253d: JUMPDEST
0000253e: PUSH32 0x0000000000000000000000003c3a81e81dc49a522a592e7622a7e711c06bf354
0000255f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002574: AND
00002575: DUP8
00002576: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000258b: AND
0000258c: EQ
0000258d: ISZERO
0000258e: DUP1
0000258f: ISZERO
00002590: PUSH2 0x25ae
00002593: JUMPI
00002594: POP
00002595: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000025aa: DUP7
000025ab: AND
000025ac: ISZERO
000025ad: ISZERO
000025ae: JUMPDEST
000025af: PUSH2 0x263a
000025b2: JUMPI
000025b3: PUSH1 0x40
000025b5: MLOAD
000025b6: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000025d7: DUP2
000025d8: MSTORE
000025d9: PUSH1 0x20
000025db: PUSH1 0x04
000025dd: DUP3
000025de: ADD
000025df: MSTORE
000025e0: PUSH1 0x3a
000025e2: PUSH1 0x24
000025e4: DUP3
000025e5: ADD
000025e6: MSTORE
000025e7: PUSH32 0x4c315374616e646172644272696467653a20427269646765455243323020646f
00002608: PUSH1 0x44
0000260a: DUP3
0000260b: ADD
0000260c: MSTORE
0000260d: PUSH32 0x206e6f7420737570706f7274204d4e54206272696467696e672e000000000000
0000262e: PUSH1 0x64
00002630: DUP3
00002631: ADD
00002632: MSTORE
00002633: PUSH1 0x84
00002635: ADD
00002636: PUSH2 0x022a
00002639: JUMP
0000263a: JUMPDEST
0000263b: PUSH2 0x2643
0000263e: DUP8
0000263f: PUSH2 0x20e4
00002642: JUMP
00002643: JUMPDEST
00002644: ISZERO
00002645: PUSH2 0x2791
00002648: JUMPI
00002649: PUSH2 0x2652
0000264c: DUP8
0000264d: DUP8
0000264e: PUSH2 0x2146
00002651: JUMP
00002652: JUMPDEST
00002653: PUSH2 0x2704
00002656: JUMPI
00002657: PUSH1 0x40
00002659: MLOAD
0000265a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000267b: DUP2
0000267c: MSTORE
0000267d: PUSH1 0x20
0000267f: PUSH1 0x04
00002681: DUP3
00002682: ADD
00002683: MSTORE
00002684: PUSH1 0x4a
00002686: PUSH1 0x24
00002688: DUP3
00002689: ADD
0000268a: MSTORE
0000268b: PUSH32 0x5374616e646172644272696467653a2077726f6e672072656d6f746520746f6b
000026ac: PUSH1 0x44
000026ae: DUP3
000026af: ADD
000026b0: MSTORE
000026b1: PUSH32 0x656e20666f72204f7074696d69736d204d696e7461626c65204552433230206c
000026d2: PUSH1 0x64
000026d4: DUP3
000026d5: ADD
000026d6: MSTORE
000026d7: PUSH32 0x6f63616c20746f6b656e00000000000000000000000000000000000000000000
000026f8: PUSH1 0x84
000026fa: DUP3
000026fb: ADD
000026fc: MSTORE
000026fd: PUSH1 0xa4
000026ff: ADD
00002700: PUSH2 0x022a
00002703: JUMP
00002704: JUMPDEST
00002705: PUSH1 0x40
00002707: MLOAD
00002708: PUSH32 0x9dc29fac00000000000000000000000000000000000000000000000000000000
00002729: DUP2
0000272a: MSTORE
0000272b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002740: DUP7
00002741: DUP2
00002742: AND
00002743: PUSH1 0x04
00002745: DUP4
00002746: ADD
00002747: MSTORE
00002748: PUSH1 0x24
0000274a: DUP3
0000274b: ADD
0000274c: DUP6
0000274d: SWAP1
0000274e: MSTORE
0000274f: DUP9
00002750: AND
00002751: SWAP1
00002752: PUSH4 0x9dc29fac
00002757: SWAP1
00002758: PUSH1 0x44
0000275a: ADD
0000275b: PUSH1 0x00
0000275d: PUSH1 0x40
0000275f: MLOAD
00002760: DUP1
00002761: DUP4
00002762: SUB
00002763: DUP2
00002764: PUSH1 0x00
00002766: DUP8
00002767: DUP1
00002768: EXTCODESIZE
00002769: ISZERO
0000276a: DUP1
0000276b: ISZERO
0000276c: PUSH2 0x2774
0000276f: JUMPI
00002770: PUSH1 0x00
00002772: DUP1
00002773: REVERT
00002774: JUMPDEST
00002775: POP
00002776: GAS
00002777: CALL
00002778: ISZERO
00002779: DUP1
0000277a: ISZERO
0000277b: PUSH2 0x2788
0000277e: JUMPI
0000277f: RETURNDATASIZE
00002780: PUSH1 0x00
00002782: DUP1
00002783: RETURNDATACOPY
00002784: RETURNDATASIZE
00002785: PUSH1 0x00
00002787: REVERT
00002788: JUMPDEST
00002789: POP
0000278a: POP
0000278b: POP
0000278c: POP
0000278d: PUSH2 0x295d
00002790: JUMP
00002791: JUMPDEST
00002792: PUSH1 0x40
00002794: MLOAD
00002795: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
000027b6: DUP2
000027b7: MSTORE
000027b8: ADDRESS
000027b9: PUSH1 0x04
000027bb: DUP3
000027bc: ADD
000027bd: MSTORE
000027be: PUSH1 0x00
000027c0: SWAP1
000027c1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000027d6: DUP10
000027d7: AND
000027d8: SWAP1
000027d9: PUSH4 0x70a08231
000027de: SWAP1
000027df: PUSH1 0x24
000027e1: ADD
000027e2: PUSH1 0x20
000027e4: PUSH1 0x40
000027e6: MLOAD
000027e7: DUP1
000027e8: DUP4
000027e9: SUB
000027ea: DUP2
000027eb: DUP7
000027ec: GAS
000027ed: STATICCALL
000027ee: ISZERO
000027ef: DUP1
000027f0: ISZERO
000027f1: PUSH2 0x27fe
000027f4: JUMPI
000027f5: RETURNDATASIZE
000027f6: PUSH1 0x00
000027f8: DUP1
000027f9: RETURNDATACOPY
000027fa: RETURNDATASIZE
000027fb: PUSH1 0x00
000027fd: REVERT
000027fe: JUMPDEST
000027ff: POP
00002800: POP
00002801: POP
00002802: POP
00002803: PUSH1 0x40
00002805: MLOAD
00002806: RETURNDATASIZE
00002807: PUSH1 0x1f
00002809: NOT
0000280a: PUSH1 0x1f
0000280c: DUP3
0000280d: ADD
0000280e: AND
0000280f: DUP3
00002810: ADD
00002811: DUP1
00002812: PUSH1 0x40
00002814: MSTORE
00002815: POP
00002816: DUP2
00002817: ADD
00002818: SWAP1
00002819: PUSH2 0x2822
0000281c: SWAP2
0000281d: SWAP1
0000281e: PUSH2 0x3cbf
00002821: JUMP
00002822: JUMPDEST
00002823: SWAP1
00002824: POP
00002825: PUSH2 0x2846
00002828: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000283d: DUP10
0000283e: AND
0000283f: DUP8
00002840: ADDRESS
00002841: DUP8
00002842: PUSH2 0x2f0b
00002845: JUMP
00002846: JUMPDEST
00002847: PUSH1 0x40
00002849: MLOAD
0000284a: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
0000286b: DUP2
0000286c: MSTORE
0000286d: ADDRESS
0000286e: PUSH1 0x04
00002870: DUP3
00002871: ADD
00002872: MSTORE
00002873: PUSH1 0x00
00002875: SWAP1
00002876: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000288b: DUP11
0000288c: AND
0000288d: SWAP1
0000288e: PUSH4 0x70a08231
00002893: SWAP1
00002894: PUSH1 0x24
00002896: ADD
00002897: PUSH1 0x20
00002899: PUSH1 0x40
0000289b: MLOAD
0000289c: DUP1
0000289d: DUP4
0000289e: SUB
0000289f: DUP2
000028a0: DUP7
000028a1: GAS
000028a2: STATICCALL
000028a3: ISZERO
000028a4: DUP1
000028a5: ISZERO
000028a6: PUSH2 0x28b3
000028a9: JUMPI
000028aa: RETURNDATASIZE
000028ab: PUSH1 0x00
000028ad: DUP1
000028ae: RETURNDATACOPY
000028af: RETURNDATASIZE
000028b0: PUSH1 0x00
000028b2: REVERT
000028b3: JUMPDEST
000028b4: POP
000028b5: POP
000028b6: POP
000028b7: POP
000028b8: PUSH1 0x40
000028ba: MLOAD
000028bb: RETURNDATASIZE
000028bc: PUSH1 0x1f
000028be: NOT
000028bf: PUSH1 0x1f
000028c1: DUP3
000028c2: ADD
000028c3: AND
000028c4: DUP3
000028c5: ADD
000028c6: DUP1
000028c7: PUSH1 0x40
000028c9: MSTORE
000028ca: POP
000028cb: DUP2
000028cc: ADD
000028cd: SWAP1
000028ce: PUSH2 0x28d7
000028d1: SWAP2
000028d2: SWAP1
000028d3: PUSH2 0x3cbf
000028d6: JUMP
000028d7: JUMPDEST
000028d8: SWAP1
000028d9: POP
000028da: PUSH1 0x00
000028dc: PUSH2 0x28e5
000028df: DUP4
000028e0: DUP4
000028e1: PUSH2 0x3d07
000028e4: JUMP
000028e5: JUMPDEST
000028e6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000028fb: DUP1
000028fc: DUP13
000028fd: AND
000028fe: PUSH1 0x00
00002900: SWAP1
00002901: DUP2
00002902: MSTORE
00002903: PUSH1 0x03
00002905: PUSH1 0x20
00002907: SWAP1
00002908: DUP2
00002909: MSTORE
0000290a: PUSH1 0x40
0000290c: DUP1
0000290d: DUP4
0000290e: KECCAK256
0000290f: SWAP4
00002910: DUP15
00002911: AND
00002912: DUP4
00002913: MSTORE
00002914: SWAP3
00002915: SWAP1
00002916: MSTORE
00002917: KECCAK256
00002918: SLOAD
00002919: SWAP1
0000291a: SWAP2
0000291b: POP
0000291c: PUSH2 0x2926
0000291f: SWAP1
00002920: DUP3
00002921: SWAP1
00002922: PUSH2 0x3e80
00002925: JUMP
00002926: JUMPDEST
00002927: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000293c: DUP1
0000293d: DUP13
0000293e: AND
0000293f: PUSH1 0x00
00002941: SWAP1
00002942: DUP2
00002943: MSTORE
00002944: PUSH1 0x03
00002946: PUSH1 0x20
00002948: SWAP1
00002949: DUP2
0000294a: MSTORE
0000294b: PUSH1 0x40
0000294d: DUP1
0000294e: DUP4
0000294f: KECCAK256
00002950: SWAP4
00002951: DUP15
00002952: AND
00002953: DUP4
00002954: MSTORE
00002955: SWAP3
00002956: SWAP1
00002957: MSTORE
00002958: KECCAK256
00002959: SSTORE
0000295a: POP
0000295b: POP
0000295c: POP
0000295d: JUMPDEST
0000295e: PUSH2 0x296b
00002961: DUP8
00002962: DUP8
00002963: DUP8
00002964: DUP8
00002965: DUP8
00002966: DUP7
00002967: PUSH2 0x3273
0000296a: JUMP
0000296b: JUMPDEST
0000296c: PUSH1 0x00
0000296e: PUSH32 0x000000000000000000000000676a795fe6e43c17c668de16730c3f690feb7120
0000298f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000029a4: AND
000029a5: PUSH4 0xb575e300
000029aa: DUP3
000029ab: PUSH32 0x0000000000000000000000004200000000000000000000000000000000000010
000029cc: PUSH4 0x0166a07a
000029d1: PUSH1 0xe0
000029d3: SHL
000029d4: DUP12
000029d5: DUP14
000029d6: DUP13
000029d7: DUP13
000029d8: DUP13
000029d9: DUP12
000029da: PUSH1 0x40
000029dc: MLOAD
000029dd: PUSH1 0x24
000029df: ADD
000029e0: PUSH2 0x29ee
000029e3: SWAP7
000029e4: SWAP6
000029e5: SWAP5
000029e6: SWAP4
000029e7: SWAP3
000029e8: SWAP2
000029e9: SWAP1
000029ea: PUSH2 0x3e98
000029ed: JUMP
000029ee: JUMPDEST
000029ef: PUSH1 0x40
000029f1: DUP1
000029f2: MLOAD
000029f3: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00002a14: DUP2
00002a15: DUP5
00002a16: SUB
00002a17: ADD
00002a18: DUP2
00002a19: MSTORE
00002a1a: SWAP2
00002a1b: DUP2
00002a1c: MSTORE
00002a1d: PUSH1 0x20
00002a1f: DUP3
00002a20: ADD
00002a21: DUP1
00002a22: MLOAD
00002a23: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002a40: AND
00002a41: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
00002a62: SWAP5
00002a63: DUP6
00002a64: AND
00002a65: OR
00002a66: SWAP1
00002a67: MSTORE
00002a68: MLOAD
00002a69: PUSH1 0xe0
00002a6b: DUP7
00002a6c: SWAP1
00002a6d: SHL
00002a6e: SWAP1
00002a6f: SWAP3
00002a70: AND
00002a71: DUP3
00002a72: MSTORE
00002a73: PUSH2 0x2a82
00002a76: SWAP4
00002a77: SWAP3
00002a78: SWAP2
00002a79: DUP10
00002a7a: SWAP1
00002a7b: PUSH1 0x04
00002a7d: ADD
00002a7e: PUSH2 0x3ddd
00002a81: JUMP
00002a82: JUMPDEST
00002a83: PUSH1 0x00
00002a85: PUSH1 0x40
00002a87: MLOAD
00002a88: DUP1
00002a89: DUP4
00002a8a: SUB
00002a8b: DUP2
00002a8c: PUSH1 0x00
00002a8e: DUP8
00002a8f: DUP1
00002a90: EXTCODESIZE
00002a91: ISZERO
00002a92: DUP1
00002a93: ISZERO
00002a94: PUSH2 0x2a9c
00002a97: JUMPI
00002a98: PUSH1 0x00
00002a9a: DUP1
00002a9b: REVERT
00002a9c: JUMPDEST
00002a9d: POP
00002a9e: GAS
00002a9f: CALL
00002aa0: ISZERO
00002aa1: DUP1
00002aa2: ISZERO
00002aa3: PUSH2 0x2ab0
00002aa6: JUMPI
00002aa7: RETURNDATASIZE
00002aa8: PUSH1 0x00
00002aaa: DUP1
00002aab: RETURNDATACOPY
00002aac: RETURNDATASIZE
00002aad: PUSH1 0x00
00002aaf: REVERT
00002ab0: JUMPDEST
00002ab1: POP
00002ab2: POP
00002ab3: POP
00002ab4: POP
00002ab5: POP
00002ab6: POP
00002ab7: POP
00002ab8: POP
00002ab9: POP
00002aba: POP
00002abb: POP
00002abc: POP
00002abd: JUMP
00002abe: JUMPDEST
00002abf: PUSH1 0x60
00002ac1: DUP2
00002ac2: PUSH1 0x00
00002ac4: SUB
00002ac5: PUSH2 0x2b01
00002ac8: JUMPI
00002ac9: POP
00002aca: POP
00002acb: PUSH1 0x40
00002acd: DUP1
00002ace: MLOAD
00002acf: DUP1
00002ad0: DUP3
00002ad1: ADD
00002ad2: SWAP1
00002ad3: SWAP2
00002ad4: MSTORE
00002ad5: PUSH1 0x01
00002ad7: DUP2
00002ad8: MSTORE
00002ad9: PUSH32 0x3000000000000000000000000000000000000000000000000000000000000000
00002afa: PUSH1 0x20
00002afc: DUP3
00002afd: ADD
00002afe: MSTORE
00002aff: SWAP1
00002b00: JUMP
00002b01: JUMPDEST
00002b02: DUP2
00002b03: PUSH1 0x00
00002b05: JUMPDEST
00002b06: DUP2
00002b07: ISZERO
00002b08: PUSH2 0x2b2b
00002b0b: JUMPI
00002b0c: DUP1
00002b0d: PUSH2 0x2b15
00002b10: DUP2
00002b11: PUSH2 0x3ef3
00002b14: JUMP
00002b15: JUMPDEST
00002b16: SWAP2
00002b17: POP
00002b18: PUSH2 0x2b24
00002b1b: SWAP1
00002b1c: POP
00002b1d: PUSH1 0x0a
00002b1f: DUP4
00002b20: PUSH2 0x3f5a
00002b23: JUMP
00002b24: JUMPDEST
00002b25: SWAP2
00002b26: POP
00002b27: PUSH2 0x2b05
00002b2a: JUMP
00002b2b: JUMPDEST
00002b2c: PUSH1 0x00
00002b2e: DUP2
00002b2f: PUSH8 0xffffffffffffffff
00002b38: DUP2
00002b39: GT
00002b3a: ISZERO
00002b3b: PUSH2 0x2b46
00002b3e: JUMPI
00002b3f: PUSH2 0x2b46
00002b42: PUSH2 0x3f6e
00002b45: JUMP
00002b46: JUMPDEST
00002b47: PUSH1 0x40
00002b49: MLOAD
00002b4a: SWAP1
00002b4b: DUP1
00002b4c: DUP3
00002b4d: MSTORE
00002b4e: DUP1
00002b4f: PUSH1 0x1f
00002b51: ADD
00002b52: PUSH1 0x1f
00002b54: NOT
00002b55: AND
00002b56: PUSH1 0x20
00002b58: ADD
00002b59: DUP3
00002b5a: ADD
00002b5b: PUSH1 0x40
00002b5d: MSTORE
00002b5e: DUP1
00002b5f: ISZERO
00002b60: PUSH2 0x2b70
00002b63: JUMPI
00002b64: PUSH1 0x20
00002b66: DUP3
00002b67: ADD
00002b68: DUP2
00002b69: DUP1
00002b6a: CALLDATASIZE
00002b6b: DUP4
00002b6c: CALLDATACOPY
00002b6d: ADD
00002b6e: SWAP1
00002b6f: POP
00002b70: JUMPDEST
00002b71: POP
00002b72: SWAP1
00002b73: POP
00002b74: JUMPDEST
00002b75: DUP5
00002b76: ISZERO
00002b77: PUSH2 0x2bf3
00002b7a: JUMPI
00002b7b: PUSH2 0x2b85
00002b7e: PUSH1 0x01
00002b80: DUP4
00002b81: PUSH2 0x3d07
00002b84: JUMP
00002b85: JUMPDEST
00002b86: SWAP2
00002b87: POP
00002b88: PUSH2 0x2b92
00002b8b: PUSH1 0x0a
00002b8d: DUP7
00002b8e: PUSH2 0x3f9d
00002b91: JUMP
00002b92: JUMPDEST
00002b93: PUSH2 0x2b9d
00002b96: SWAP1
00002b97: PUSH1 0x30
00002b99: PUSH2 0x3e80
00002b9c: JUMP
00002b9d: JUMPDEST
00002b9e: PUSH1 0xf8
00002ba0: SHL
00002ba1: DUP2
00002ba2: DUP4
00002ba3: DUP2
00002ba4: MLOAD
00002ba5: DUP2
00002ba6: LT
00002ba7: PUSH2 0x2bb2
00002baa: JUMPI
00002bab: PUSH2 0x2bb2
00002bae: PUSH2 0x3fb1
00002bb1: JUMP
00002bb2: JUMPDEST
00002bb3: PUSH1 0x20
00002bb5: ADD
00002bb6: ADD
00002bb7: SWAP1
00002bb8: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002bd8: NOT
00002bd9: AND
00002bda: SWAP1
00002bdb: DUP2
00002bdc: PUSH1 0x00
00002bde: BYTE
00002bdf: SWAP1
00002be0: MSTORE8
00002be1: POP
00002be2: PUSH2 0x2bec
00002be5: PUSH1 0x0a
00002be7: DUP7
00002be8: PUSH2 0x3f5a
00002beb: JUMP
00002bec: JUMPDEST
00002bed: SWAP5
00002bee: POP
00002bef: PUSH2 0x2b74
00002bf2: JUMP
00002bf3: JUMPDEST
00002bf4: SWAP5
00002bf5: SWAP4
00002bf6: POP
00002bf7: POP
00002bf8: POP
00002bf9: POP
00002bfa: JUMP
00002bfb: JUMPDEST
00002bfc: PUSH2 0x0b71
00002bff: DUP8
00002c00: DUP8
00002c01: DUP8
00002c02: DUP8
00002c03: DUP8
00002c04: DUP8
00002c05: DUP8
00002c06: PUSH2 0x2462
00002c09: JUMP
00002c0a: JUMPDEST
00002c0b: CALLVALUE
00002c0c: ISZERO
00002c0d: PUSH2 0x2c98
00002c10: JUMPI
00002c11: PUSH1 0x40
00002c13: MLOAD
00002c14: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002c35: DUP2
00002c36: MSTORE
00002c37: PUSH1 0x20
00002c39: PUSH1 0x04
00002c3b: DUP3
00002c3c: ADD
00002c3d: MSTORE
00002c3e: PUSH1 0x3b
00002c40: PUSH1 0x24
00002c42: DUP3
00002c43: ADD
00002c44: MSTORE
00002c45: PUSH32 0x4c315374616e646172644272696467653a206465706f736974204d4e54207368
00002c66: PUSH1 0x44
00002c68: DUP3
00002c69: ADD
00002c6a: MSTORE
00002c6b: PUSH32 0x6f756c64206e6f7420696e636c756465204554482076616c75652e0000000000
00002c8c: PUSH1 0x64
00002c8e: DUP3
00002c8f: ADD
00002c90: MSTORE
00002c91: PUSH1 0x84
00002c93: ADD
00002c94: PUSH2 0x022a
00002c97: JUMP
00002c98: JUMPDEST
00002c99: PUSH2 0x2cda
00002c9c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002cb1: PUSH32 0x0000000000000000000000003c3a81e81dc49a522a592e7622a7e711c06bf354
00002cd2: AND
00002cd3: DUP7
00002cd4: ADDRESS
00002cd5: DUP7
00002cd6: PUSH2 0x2f0b
00002cd9: JUMP
00002cda: JUMPDEST
00002cdb: PUSH1 0x40
00002cdd: MLOAD
00002cde: PUSH32 0x095ea7b300000000000000000000000000000000000000000000000000000000
00002cff: DUP2
00002d00: MSTORE
00002d01: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002d16: PUSH32 0x000000000000000000000000676a795fe6e43c17c668de16730c3f690feb7120
00002d37: DUP2
00002d38: AND
00002d39: PUSH1 0x04
00002d3b: DUP4
00002d3c: ADD
00002d3d: MSTORE
00002d3e: PUSH1 0x24
00002d40: DUP3
00002d41: ADD
00002d42: DUP6
00002d43: SWAP1
00002d44: MSTORE
00002d45: PUSH32 0x0000000000000000000000003c3a81e81dc49a522a592e7622a7e711c06bf354
00002d66: AND
00002d67: SWAP1
00002d68: PUSH4 0x095ea7b3
00002d6d: SWAP1
00002d6e: PUSH1 0x44
00002d70: ADD
00002d71: PUSH1 0x20
00002d73: PUSH1 0x40
00002d75: MLOAD
00002d76: DUP1
00002d77: DUP4
00002d78: SUB
00002d79: DUP2
00002d7a: PUSH1 0x00
00002d7c: DUP8
00002d7d: GAS
00002d7e: CALL
00002d7f: ISZERO
00002d80: DUP1
00002d81: ISZERO
00002d82: PUSH2 0x2d8f
00002d85: JUMPI
00002d86: RETURNDATASIZE
00002d87: PUSH1 0x00
00002d89: DUP1
00002d8a: RETURNDATACOPY
00002d8b: RETURNDATASIZE
00002d8c: PUSH1 0x00
00002d8e: REVERT
00002d8f: JUMPDEST
00002d90: POP
00002d91: POP
00002d92: POP
00002d93: POP
00002d94: PUSH1 0x40
00002d96: MLOAD
00002d97: RETURNDATASIZE
00002d98: PUSH1 0x1f
00002d9a: NOT
00002d9b: PUSH1 0x1f
00002d9d: DUP3
00002d9e: ADD
00002d9f: AND
00002da0: DUP3
00002da1: ADD
00002da2: DUP1
00002da3: PUSH1 0x40
00002da5: MSTORE
00002da6: POP
00002da7: DUP2
00002da8: ADD
00002da9: SWAP1
00002daa: PUSH2 0x2db3
00002dad: SWAP2
00002dae: SWAP1
00002daf: PUSH2 0x3fe0
00002db2: JUMP
00002db3: JUMPDEST
00002db4: POP
00002db5: PUSH2 0x2dc0
00002db8: DUP6
00002db9: DUP6
00002dba: DUP6
00002dbb: DUP5
00002dbc: PUSH2 0x3301
00002dbf: JUMP
00002dc0: JUMPDEST
00002dc1: PUSH32 0x000000000000000000000000676a795fe6e43c17c668de16730c3f690feb7120
00002de2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002df7: AND
00002df8: PUSH4 0xb575e300
00002dfd: CALLVALUE
00002dfe: DUP6
00002dff: PUSH32 0x0000000000000000000000004200000000000000000000000000000000000010
00002e20: PUSH4 0xf407a99e
00002e25: PUSH1 0xe0
00002e27: SHL
00002e28: DUP11
00002e29: DUP11
00002e2a: DUP11
00002e2b: DUP10
00002e2c: PUSH1 0x40
00002e2e: MLOAD
00002e2f: PUSH1 0x24
00002e31: ADD
00002e32: PUSH2 0x2e3e
00002e35: SWAP5
00002e36: SWAP4
00002e37: SWAP3
00002e38: SWAP2
00002e39: SWAP1
00002e3a: PUSH2 0x3d94
00002e3d: JUMP
00002e3e: JUMPDEST
00002e3f: PUSH1 0x40
00002e41: DUP1
00002e42: MLOAD
00002e43: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00002e64: DUP2
00002e65: DUP5
00002e66: SUB
00002e67: ADD
00002e68: DUP2
00002e69: MSTORE
00002e6a: SWAP2
00002e6b: DUP2
00002e6c: MSTORE
00002e6d: PUSH1 0x20
00002e6f: DUP3
00002e70: ADD
00002e71: DUP1
00002e72: MLOAD
00002e73: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002e90: AND
00002e91: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
00002eb2: SWAP5
00002eb3: DUP6
00002eb4: AND
00002eb5: OR
00002eb6: SWAP1
00002eb7: MSTORE
00002eb8: MLOAD
00002eb9: PUSH1 0xe0
00002ebb: DUP8
00002ebc: SWAP1
00002ebd: SHL
00002ebe: SWAP1
00002ebf: SWAP3
00002ec0: AND
00002ec1: DUP3
00002ec2: MSTORE
00002ec3: PUSH2 0x2ed2
00002ec6: SWAP4
00002ec7: SWAP3
00002ec8: SWAP2
00002ec9: DUP10
00002eca: SWAP1
00002ecb: PUSH1 0x04
00002ecd: ADD
00002ece: PUSH2 0x3ddd
00002ed1: JUMP
00002ed2: JUMPDEST
00002ed3: PUSH1 0x00
00002ed5: PUSH1 0x40
00002ed7: MLOAD
00002ed8: DUP1
00002ed9: DUP4
00002eda: SUB
00002edb: DUP2
00002edc: DUP6
00002edd: DUP9
00002ede: DUP1
00002edf: EXTCODESIZE
00002ee0: ISZERO
00002ee1: DUP1
00002ee2: ISZERO
00002ee3: PUSH2 0x2eeb
00002ee6: JUMPI
00002ee7: PUSH1 0x00
00002ee9: DUP1
00002eea: REVERT
00002eeb: JUMPDEST
00002eec: POP
00002eed: GAS
00002eee: CALL
00002eef: ISZERO
00002ef0: DUP1
00002ef1: ISZERO
00002ef2: PUSH2 0x2eff
00002ef5: JUMPI
00002ef6: RETURNDATASIZE
00002ef7: PUSH1 0x00
00002ef9: DUP1
00002efa: RETURNDATACOPY
00002efb: RETURNDATASIZE
00002efc: PUSH1 0x00
00002efe: REVERT
00002eff: JUMPDEST
00002f00: POP
00002f01: POP
00002f02: POP
00002f03: POP
00002f04: POP
00002f05: POP
00002f06: POP
00002f07: POP
00002f08: POP
00002f09: POP
00002f0a: JUMP
00002f0b: JUMPDEST
00002f0c: PUSH1 0x40
00002f0e: MLOAD
00002f0f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002f24: DUP1
00002f25: DUP6
00002f26: AND
00002f27: PUSH1 0x24
00002f29: DUP4
00002f2a: ADD
00002f2b: MSTORE
00002f2c: DUP4
00002f2d: AND
00002f2e: PUSH1 0x44
00002f30: DUP3
00002f31: ADD
00002f32: MSTORE
00002f33: PUSH1 0x64
00002f35: DUP2
00002f36: ADD
00002f37: DUP3
00002f38: SWAP1
00002f39: MSTORE
00002f3a: PUSH2 0x0635
00002f3d: SWAP1
00002f3e: DUP6
00002f3f: SWAP1
00002f40: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000
00002f61: SWAP1
00002f62: PUSH1 0x84
00002f64: ADD
00002f65: PUSH2 0x22b8
00002f68: JUMP
00002f69: JUMPDEST
00002f6a: DUP3
00002f6b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002f80: AND
00002f81: DUP5
00002f82: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002f97: AND
00002f98: PUSH32 0xd140b1626a1caf5ae4717fcfdace5983543949ab0d32ceb0ca635c3913983e28
00002fb9: DUP5
00002fba: DUP5
00002fbb: PUSH1 0x40
00002fbd: MLOAD
00002fbe: PUSH2 0x2fc8
00002fc1: SWAP3
00002fc2: SWAP2
00002fc3: SWAP1
00002fc4: PUSH2 0x3e67
00002fc7: JUMP
00002fc8: JUMPDEST
00002fc9: PUSH1 0x40
00002fcb: MLOAD
00002fcc: DUP1
00002fcd: SWAP2
00002fce: SUB
00002fcf: SWAP1
00002fd0: LOG3
00002fd1: PUSH2 0x0635
00002fd4: DUP5
00002fd5: DUP5
00002fd6: DUP5
00002fd7: DUP5
00002fd8: PUSH2 0x3374
00002fdb: JUMP
00002fdc: JUMPDEST
00002fdd: DUP3
00002fde: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002ff3: AND
00002ff4: DUP5
00002ff5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000300a: AND
0000300b: PUSH32 0x35d79ab81f2b2017e19afb5c5571778877782d7a8786f5907f93b0f4702f4f23
0000302c: DUP5
0000302d: DUP5
0000302e: PUSH1 0x40
00003030: MLOAD
00003031: PUSH2 0x303b
00003034: SWAP3
00003035: SWAP2
00003036: SWAP1
00003037: PUSH2 0x3e67
0000303a: JUMP
0000303b: JUMPDEST
0000303c: PUSH1 0x40
0000303e: MLOAD
0000303f: DUP1
00003040: SWAP2
00003041: SUB
00003042: SWAP1
00003043: LOG3
00003044: PUSH2 0x0635
00003047: DUP5
00003048: DUP5
00003049: DUP5
0000304a: DUP5
0000304b: PUSH2 0x33d3
0000304e: JUMP
0000304f: JUMPDEST
00003050: PUSH1 0x00
00003052: PUSH2 0x305a
00003055: DUP4
00003056: PUSH2 0x3432
00003059: JUMP
0000305a: JUMPDEST
0000305b: DUP1
0000305c: ISZERO
0000305d: PUSH2 0x306b
00003060: JUMPI
00003061: POP
00003062: PUSH2 0x306b
00003065: DUP4
00003066: DUP4
00003067: PUSH2 0x3496
0000306a: JUMP
0000306b: JUMPDEST
0000306c: SWAP4
0000306d: SWAP3
0000306e: POP
0000306f: POP
00003070: POP
00003071: JUMP
00003072: JUMPDEST
00003073: PUSH1 0x00
00003075: PUSH2 0x30d4
00003078: DUP3
00003079: PUSH1 0x40
0000307b: MLOAD
0000307c: DUP1
0000307d: PUSH1 0x40
0000307f: ADD
00003080: PUSH1 0x40
00003082: MSTORE
00003083: DUP1
00003084: PUSH1 0x20
00003086: DUP2
00003087: MSTORE
00003088: PUSH1 0x20
0000308a: ADD
0000308b: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
000030ac: DUP2
000030ad: MSTORE
000030ae: POP
000030af: DUP6
000030b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000030c5: AND
000030c6: PUSH2 0x3565
000030c9: SWAP1
000030ca: SWAP3
000030cb: SWAP2
000030cc: SWAP1
000030cd: PUSH4 0xffffffff
000030d2: AND
000030d3: JUMP
000030d4: JUMPDEST
000030d5: DUP1
000030d6: MLOAD
000030d7: SWAP1
000030d8: SWAP2
000030d9: POP
000030da: ISZERO
000030db: PUSH2 0x0cdb
000030de: JUMPI
000030df: DUP1
000030e0: DUP1
000030e1: PUSH1 0x20
000030e3: ADD
000030e4: SWAP1
000030e5: MLOAD
000030e6: DUP2
000030e7: ADD
000030e8: SWAP1
000030e9: PUSH2 0x30f2
000030ec: SWAP2
000030ed: SWAP1
000030ee: PUSH2 0x3fe0
000030f1: JUMP
000030f2: JUMPDEST
000030f3: PUSH2 0x0cdb
000030f6: JUMPI
000030f7: PUSH1 0x40
000030f9: MLOAD
000030fa: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000311b: DUP2
0000311c: MSTORE
0000311d: PUSH1 0x20
0000311f: PUSH1 0x04
00003121: DUP3
00003122: ADD
00003123: MSTORE
00003124: PUSH1 0x2a
00003126: PUSH1 0x24
00003128: DUP3
00003129: ADD
0000312a: MSTORE
0000312b: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e
0000314c: PUSH1 0x44
0000314e: DUP3
0000314f: ADD
00003150: MSTORE
00003151: PUSH32 0x6f74207375636365656400000000000000000000000000000000000000000000
00003172: PUSH1 0x64
00003174: DUP3
00003175: ADD
00003176: MSTORE
00003177: PUSH1 0x84
00003179: ADD
0000317a: PUSH2 0x022a
0000317d: JUMP
0000317e: JUMPDEST
0000317f: DUP4
00003180: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003195: AND
00003196: DUP6
00003197: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000031ac: AND
000031ad: DUP8
000031ae: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000031c3: AND
000031c4: PUSH32 0xd59c65b35445225835c83f50b6ede06a7be047d22e357073e250d9af537518cd
000031e5: DUP7
000031e6: DUP7
000031e7: DUP7
000031e8: PUSH1 0x40
000031ea: MLOAD
000031eb: PUSH2 0x31f6
000031ee: SWAP4
000031ef: SWAP3
000031f0: SWAP2
000031f1: SWAP1
000031f2: PUSH2 0x3e29
000031f5: JUMP
000031f6: JUMPDEST
000031f7: PUSH1 0x40
000031f9: MLOAD
000031fa: DUP1
000031fb: SWAP2
000031fc: SUB
000031fd: SWAP1
000031fe: LOG4
000031ff: POP
00003200: POP
00003201: POP
00003202: POP
00003203: POP
00003204: POP
00003205: JUMP
00003206: JUMPDEST
00003207: DUP3
00003208: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000321d: AND
0000321e: DUP5
0000321f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003234: AND
00003235: PUSH32 0x31b2166ff604fc5672ea5df08a78081d2bc6d746cadce880747f3643d819e83d
00003256: DUP5
00003257: DUP5
00003258: PUSH1 0x40
0000325a: MLOAD
0000325b: PUSH2 0x3265
0000325e: SWAP3
0000325f: SWAP2
00003260: SWAP1
00003261: PUSH2 0x3e67
00003264: JUMP
00003265: JUMPDEST
00003266: PUSH1 0x40
00003268: MLOAD
00003269: DUP1
0000326a: SWAP2
0000326b: SUB
0000326c: SWAP1
0000326d: LOG3
0000326e: POP
0000326f: POP
00003270: POP
00003271: POP
00003272: JUMP
00003273: JUMPDEST
00003274: DUP4
00003275: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000328a: AND
0000328b: DUP6
0000328c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000032a1: AND
000032a2: DUP8
000032a3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000032b8: AND
000032b9: PUSH32 0x718594027abd4eaed59f95162563e0cc6d0e8d5b86b1c7be8b1b0ac3343d0396
000032da: DUP7
000032db: DUP7
000032dc: DUP7
000032dd: PUSH1 0x40
000032df: MLOAD
000032e0: PUSH2 0x32eb
000032e3: SWAP4
000032e4: SWAP3
000032e5: SWAP2
000032e6: SWAP1
000032e7: PUSH2 0x3e29
000032ea: JUMP
000032eb: JUMPDEST
000032ec: PUSH1 0x40
000032ee: MLOAD
000032ef: DUP1
000032f0: SWAP2
000032f1: SUB
000032f2: SWAP1
000032f3: LOG4
000032f4: PUSH2 0x11c1
000032f7: DUP7
000032f8: DUP7
000032f9: DUP7
000032fa: DUP7
000032fb: DUP7
000032fc: DUP7
000032fd: PUSH2 0x3574
00003300: JUMP
00003301: JUMPDEST
00003302: DUP3
00003303: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003318: AND
00003319: DUP5
0000331a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000332f: AND
00003330: PUSH32 0x321b860de8dcec5080cae77af335971688a4c0bc3d79d6cf3d6f2cc3894798bc
00003351: DUP5
00003352: DUP5
00003353: PUSH1 0x40
00003355: MLOAD
00003356: PUSH2 0x3360
00003359: SWAP3
0000335a: SWAP2
0000335b: SWAP1
0000335c: PUSH2 0x3e67
0000335f: JUMP
00003360: JUMPDEST
00003361: PUSH1 0x40
00003363: MLOAD
00003364: DUP1
00003365: SWAP2
00003366: SUB
00003367: SWAP1
00003368: LOG3
00003369: PUSH2 0x0635
0000336c: DUP5
0000336d: DUP5
0000336e: DUP5
0000336f: DUP5
00003370: PUSH2 0x35ec
00003373: JUMP
00003374: JUMPDEST
00003375: DUP3
00003376: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000338b: AND
0000338c: DUP5
0000338d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000033a2: AND
000033a3: PUSH32 0xef2dd684d0d947aa195ea84c18e3b5c457d3462c09eb29b20aac4f7d4d4f0035
000033c4: DUP5
000033c5: DUP5
000033c6: PUSH1 0x40
000033c8: MLOAD
000033c9: PUSH2 0x3265
000033cc: SWAP3
000033cd: SWAP2
000033ce: SWAP1
000033cf: PUSH2 0x3e67
000033d2: JUMP
000033d3: JUMPDEST
000033d4: DUP3
000033d5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000033ea: AND
000033eb: DUP5
000033ec: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003401: AND
00003402: PUSH32 0x2849b43074093a05396b6f2a937dee8565b15a48a7b3d4bffb732a5017380af5
00003423: DUP5
00003424: DUP5
00003425: PUSH1 0x40
00003427: MLOAD
00003428: PUSH2 0x3265
0000342b: SWAP3
0000342c: SWAP2
0000342d: SWAP1
0000342e: PUSH2 0x3e67
00003431: JUMP
00003432: JUMPDEST
00003433: PUSH1 0x00
00003435: PUSH2 0x345e
00003438: DUP3
00003439: PUSH32 0x01ffc9a700000000000000000000000000000000000000000000000000000000
0000345a: PUSH2 0x3496
0000345d: JUMP
0000345e: JUMPDEST
0000345f: DUP1
00003460: ISZERO
00003461: PUSH2 0x2140
00003464: JUMPI
00003465: POP
00003466: PUSH2 0x348f
00003469: DUP3
0000346a: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
0000348b: PUSH2 0x3496
0000348e: JUMP
0000348f: JUMPDEST
00003490: ISZERO
00003491: SWAP3
00003492: SWAP2
00003493: POP
00003494: POP
00003495: JUMP
00003496: JUMPDEST
00003497: PUSH1 0x40
00003499: DUP1
0000349a: MLOAD
0000349b: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
000034bc: DUP4
000034bd: AND
000034be: PUSH1 0x24
000034c0: DUP1
000034c1: DUP4
000034c2: ADD
000034c3: SWAP2
000034c4: SWAP1
000034c5: SWAP2
000034c6: MSTORE
000034c7: DUP3
000034c8: MLOAD
000034c9: DUP1
000034ca: DUP4
000034cb: SUB
000034cc: SWAP1
000034cd: SWAP2
000034ce: ADD
000034cf: DUP2
000034d0: MSTORE
000034d1: PUSH1 0x44
000034d3: SWAP1
000034d4: SWAP2
000034d5: ADD
000034d6: SWAP1
000034d7: SWAP2
000034d8: MSTORE
000034d9: PUSH1 0x20
000034db: DUP1
000034dc: DUP3
000034dd: ADD
000034de: DUP1
000034df: MLOAD
000034e0: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000034fd: AND
000034fe: PUSH32 0x01ffc9a700000000000000000000000000000000000000000000000000000000
0000351f: OR
00003520: DUP2
00003521: MSTORE
00003522: DUP3
00003523: MLOAD
00003524: PUSH1 0x00
00003526: SWAP4
00003527: SWAP3
00003528: DUP5
00003529: SWAP3
0000352a: DUP4
0000352b: SWAP3
0000352c: DUP4
0000352d: SWAP3
0000352e: SWAP2
0000352f: DUP4
00003530: SWAP2
00003531: SWAP1
00003532: DUP11
00003533: PUSH2 0x7530
00003536: STATICCALL
00003537: SWAP3
00003538: POP
00003539: RETURNDATASIZE
0000353a: SWAP2
0000353b: POP
0000353c: PUSH1 0x00
0000353e: MLOAD
0000353f: SWAP1
00003540: POP
00003541: DUP3
00003542: DUP1
00003543: ISZERO
00003544: PUSH2 0x354e
00003547: JUMPI
00003548: POP
00003549: PUSH1 0x20
0000354b: DUP3
0000354c: LT
0000354d: ISZERO
0000354e: JUMPDEST
0000354f: DUP1
00003550: ISZERO
00003551: PUSH2 0x355a
00003554: JUMPI
00003555: POP
00003556: PUSH1 0x00
00003558: DUP2
00003559: GT
0000355a: JUMPDEST
0000355b: SWAP8
0000355c: SWAP7
0000355d: POP
0000355e: POP
0000355f: POP
00003560: POP
00003561: POP
00003562: POP
00003563: POP
00003564: JUMP
00003565: JUMPDEST
00003566: PUSH1 0x60
00003568: PUSH2 0x2bf3
0000356b: DUP5
0000356c: DUP5
0000356d: PUSH1 0x00
0000356f: DUP6
00003570: PUSH2 0x364b
00003573: JUMP
00003574: JUMPDEST
00003575: DUP4
00003576: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000358b: AND
0000358c: DUP6
0000358d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000035a2: AND
000035a3: DUP8
000035a4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000035b9: AND
000035ba: PUSH32 0x7ff126db8024424bbfd9826e8ab82ff59136289ea440b04b39a0df1b03b9cabf
000035db: DUP7
000035dc: DUP7
000035dd: DUP7
000035de: PUSH1 0x40
000035e0: MLOAD
000035e1: PUSH2 0x31f6
000035e4: SWAP4
000035e5: SWAP3
000035e6: SWAP2
000035e7: SWAP1
000035e8: PUSH2 0x3e29
000035eb: JUMP
000035ec: JUMPDEST
000035ed: DUP3
000035ee: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003603: AND
00003604: DUP5
00003605: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000361a: AND
0000361b: PUSH32 0x74bbfec0d26a17c2367408038090a9a4e1cd1671129dc8fdf57f146a499fe3d5
0000363c: DUP5
0000363d: DUP5
0000363e: PUSH1 0x40
00003640: MLOAD
00003641: PUSH2 0x3265
00003644: SWAP3
00003645: SWAP2
00003646: SWAP1
00003647: PUSH2 0x3e67
0000364a: JUMP
0000364b: JUMPDEST
0000364c: PUSH1 0x60
0000364e: DUP3
0000364f: SELFBALANCE
00003650: LT
00003651: ISZERO
00003652: PUSH2 0x36dd
00003655: JUMPI
00003656: PUSH1 0x40
00003658: MLOAD
00003659: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000367a: DUP2
0000367b: MSTORE
0000367c: PUSH1 0x20
0000367e: PUSH1 0x04
00003680: DUP3
00003681: ADD
00003682: MSTORE
00003683: PUSH1 0x26
00003685: PUSH1 0x24
00003687: DUP3
00003688: ADD
00003689: MSTORE
0000368a: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f
000036ab: PUSH1 0x44
000036ad: DUP3
000036ae: ADD
000036af: MSTORE
000036b0: PUSH32 0x722063616c6c0000000000000000000000000000000000000000000000000000
000036d1: PUSH1 0x64
000036d3: DUP3
000036d4: ADD
000036d5: MSTORE
000036d6: PUSH1 0x84
000036d8: ADD
000036d9: PUSH2 0x022a
000036dc: JUMP
000036dd: JUMPDEST
000036de: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000036f3: DUP6
000036f4: AND
000036f5: EXTCODESIZE
000036f6: PUSH2 0x375b
000036f9: JUMPI
000036fa: PUSH1 0x40
000036fc: MLOAD
000036fd: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000371e: DUP2
0000371f: MSTORE
00003720: PUSH1 0x20
00003722: PUSH1 0x04
00003724: DUP3
00003725: ADD
00003726: MSTORE
00003727: PUSH1 0x1d
00003729: PUSH1 0x24
0000372b: DUP3
0000372c: ADD
0000372d: MSTORE
0000372e: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
0000374f: PUSH1 0x44
00003751: DUP3
00003752: ADD
00003753: MSTORE
00003754: PUSH1 0x64
00003756: ADD
00003757: PUSH2 0x022a
0000375a: JUMP
0000375b: JUMPDEST
0000375c: PUSH1 0x00
0000375e: DUP1
0000375f: DUP7
00003760: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003775: AND
00003776: DUP6
00003777: DUP8
00003778: PUSH1 0x40
0000377a: MLOAD
0000377b: PUSH2 0x3784
0000377e: SWAP2
0000377f: SWAP1
00003780: PUSH2 0x4002
00003783: JUMP
00003784: JUMPDEST
00003785: PUSH1 0x00
00003787: PUSH1 0x40
00003789: MLOAD
0000378a: DUP1
0000378b: DUP4
0000378c: SUB
0000378d: DUP2
0000378e: DUP6
0000378f: DUP8
00003790: GAS
00003791: CALL
00003792: SWAP3
00003793: POP
00003794: POP
00003795: POP
00003796: RETURNDATASIZE
00003797: DUP1
00003798: PUSH1 0x00
0000379a: DUP2
0000379b: EQ
0000379c: PUSH2 0x37c1
0000379f: JUMPI
000037a0: PUSH1 0x40
000037a2: MLOAD
000037a3: SWAP2
000037a4: POP
000037a5: PUSH1 0x1f
000037a7: NOT
000037a8: PUSH1 0x3f
000037aa: RETURNDATASIZE
000037ab: ADD
000037ac: AND
000037ad: DUP3
000037ae: ADD
000037af: PUSH1 0x40
000037b1: MSTORE
000037b2: RETURNDATASIZE
000037b3: DUP3
000037b4: MSTORE
000037b5: RETURNDATASIZE
000037b6: PUSH1 0x00
000037b8: PUSH1 0x20
000037ba: DUP5
000037bb: ADD
000037bc: RETURNDATACOPY
000037bd: PUSH2 0x37c6
000037c0: JUMP
000037c1: JUMPDEST
000037c2: PUSH1 0x60
000037c4: SWAP2
000037c5: POP
000037c6: JUMPDEST
000037c7: POP
000037c8: SWAP2
000037c9: POP
000037ca: SWAP2
000037cb: POP
000037cc: PUSH2 0x355a
000037cf: DUP3
000037d0: DUP3
000037d1: DUP7
000037d2: PUSH1 0x60
000037d4: DUP4
000037d5: ISZERO
000037d6: PUSH2 0x37e0
000037d9: JUMPI
000037da: POP
000037db: DUP2
000037dc: PUSH2 0x306b
000037df: JUMP
000037e0: JUMPDEST
000037e1: DUP3
000037e2: MLOAD
000037e3: ISZERO
000037e4: PUSH2 0x37f0
000037e7: JUMPI
000037e8: DUP3
000037e9: MLOAD
000037ea: DUP1
000037eb: DUP5
000037ec: PUSH1 0x20
000037ee: ADD
000037ef: REVERT
000037f0: JUMPDEST
000037f1: DUP2
000037f2: PUSH1 0x40
000037f4: MLOAD
000037f5: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003816: DUP2
00003817: MSTORE
00003818: PUSH1 0x04
0000381a: ADD
0000381b: PUSH2 0x022a
0000381e: SWAP2
0000381f: SWAP1
00003820: PUSH2 0x3b50
00003823: JUMP
00003824: JUMPDEST
00003825: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000383a: DUP2
0000383b: AND
0000383c: DUP2
0000383d: EQ
0000383e: PUSH2 0x3846
00003841: JUMPI
00003842: PUSH1 0x00
00003844: DUP1
00003845: REVERT
00003846: JUMPDEST
00003847: POP
00003848: JUMP
00003849: JUMPDEST
0000384a: PUSH1 0x00
0000384c: DUP1
0000384d: DUP4
0000384e: PUSH1 0x1f
00003850: DUP5
00003851: ADD
00003852: SLT
00003853: PUSH2 0x385b
00003856: JUMPI
00003857: PUSH1 0x00
00003859: DUP1
0000385a: REVERT
0000385b: JUMPDEST
0000385c: POP
0000385d: DUP2
0000385e: CALLDATALOAD
0000385f: PUSH8 0xffffffffffffffff
00003868: DUP2
00003869: GT
0000386a: ISZERO
0000386b: PUSH2 0x3873
0000386e: JUMPI
0000386f: PUSH1 0x00
00003871: DUP1
00003872: REVERT
00003873: JUMPDEST
00003874: PUSH1 0x20
00003876: DUP4
00003877: ADD
00003878: SWAP2
00003879: POP
0000387a: DUP4
0000387b: PUSH1 0x20
0000387d: DUP3
0000387e: DUP6
0000387f: ADD
00003880: ADD
00003881: GT
00003882: ISZERO
00003883: PUSH2 0x388b
00003886: JUMPI
00003887: PUSH1 0x00
00003889: DUP1
0000388a: REVERT
0000388b: JUMPDEST
0000388c: SWAP3
0000388d: POP
0000388e: SWAP3
0000388f: SWAP1
00003890: POP
00003891: JUMP
00003892: JUMPDEST
00003893: PUSH1 0x00
00003895: DUP1
00003896: PUSH1 0x00
00003898: DUP1
00003899: PUSH1 0x00
0000389b: DUP1
0000389c: PUSH1 0x00
0000389e: PUSH1 0xc0
000038a0: DUP9
000038a1: DUP11
000038a2: SUB
000038a3: SLT
000038a4: ISZERO
000038a5: PUSH2 0x38ad
000038a8: JUMPI
000038a9: PUSH1 0x00
000038ab: DUP1
000038ac: REVERT
000038ad: JUMPDEST
000038ae: DUP8
000038af: CALLDATALOAD
000038b0: PUSH2 0x38b8
000038b3: DUP2
000038b4: PUSH2 0x3824
000038b7: JUMP
000038b8: JUMPDEST
000038b9: SWAP7
000038ba: POP
000038bb: PUSH1 0x20
000038bd: DUP9
000038be: ADD
000038bf: CALLDATALOAD
000038c0: PUSH2 0x38c8
000038c3: DUP2
000038c4: PUSH2 0x3824
000038c7: JUMP
000038c8: JUMPDEST
000038c9: SWAP6
000038ca: POP
000038cb: PUSH1 0x40
000038cd: DUP9
000038ce: ADD
000038cf: CALLDATALOAD
000038d0: PUSH2 0x38d8
000038d3: DUP2
000038d4: PUSH2 0x3824
000038d7: JUMP
000038d8: JUMPDEST
000038d9: SWAP5
000038da: POP
000038db: PUSH1 0x60
000038dd: DUP9
000038de: ADD
000038df: CALLDATALOAD
000038e0: PUSH2 0x38e8
000038e3: DUP2
000038e4: PUSH2 0x3824
000038e7: JUMP
000038e8: JUMPDEST
000038e9: SWAP4
000038ea: POP
000038eb: PUSH1 0x80
000038ed: DUP9
000038ee: ADD
000038ef: CALLDATALOAD
000038f0: SWAP3
000038f1: POP
000038f2: PUSH1 0xa0
000038f4: DUP9
000038f5: ADD
000038f6: CALLDATALOAD
000038f7: PUSH8 0xffffffffffffffff
00003900: DUP2
00003901: GT
00003902: ISZERO
00003903: PUSH2 0x390b
00003906: JUMPI
00003907: PUSH1 0x00
00003909: DUP1
0000390a: REVERT
0000390b: JUMPDEST
0000390c: PUSH2 0x3917
0000390f: DUP11
00003910: DUP3
00003911: DUP12
00003912: ADD
00003913: PUSH2 0x3849
00003916: JUMP
00003917: JUMPDEST
00003918: SWAP9
00003919: SWAP12
0000391a: SWAP8
0000391b: SWAP11
0000391c: POP
0000391d: SWAP6
0000391e: SWAP9
0000391f: POP
00003920: SWAP4
00003921: SWAP7
00003922: SWAP3
00003923: SWAP6
00003924: SWAP3
00003925: SWAP4
00003926: POP
00003927: POP
00003928: POP
00003929: JUMP
0000392a: JUMPDEST
0000392b: DUP1
0000392c: CALLDATALOAD
0000392d: PUSH4 0xffffffff
00003932: DUP2
00003933: AND
00003934: DUP2
00003935: EQ
00003936: PUSH2 0x393e
00003939: JUMPI
0000393a: PUSH1 0x00
0000393c: DUP1
0000393d: REVERT
0000393e: JUMPDEST
0000393f: SWAP2
00003940: SWAP1
00003941: POP
00003942: JUMP
00003943: JUMPDEST
00003944: PUSH1 0x00
00003946: DUP1
00003947: PUSH1 0x00
00003949: PUSH1 0x40
0000394b: DUP5
0000394c: DUP7
0000394d: SUB
0000394e: SLT
0000394f: ISZERO
00003950: PUSH2 0x3958
00003953: JUMPI
00003954: PUSH1 0x00
00003956: DUP1
00003957: REVERT
00003958: JUMPDEST
00003959: PUSH2 0x3961
0000395c: DUP5
0000395d: PUSH2 0x392a
00003960: JUMP
00003961: JUMPDEST
00003962: SWAP3
00003963: POP
00003964: PUSH1 0x20
00003966: DUP5
00003967: ADD
00003968: CALLDATALOAD
00003969: PUSH8 0xffffffffffffffff
00003972: DUP2
00003973: GT
00003974: ISZERO
00003975: PUSH2 0x397d
00003978: JUMPI
00003979: PUSH1 0x00
0000397b: DUP1
0000397c: REVERT
0000397d: JUMPDEST
0000397e: PUSH2 0x3989
00003981: DUP7
00003982: DUP3
00003983: DUP8
00003984: ADD
00003985: PUSH2 0x3849
00003988: JUMP
00003989: JUMPDEST
0000398a: SWAP5
0000398b: SWAP8
0000398c: SWAP1
0000398d: SWAP7
0000398e: POP
0000398f: SWAP4
00003990: SWAP5
00003991: POP
00003992: POP
00003993: POP
00003994: POP
00003995: JUMP
00003996: JUMPDEST
00003997: PUSH1 0x00
00003999: DUP1
0000399a: PUSH1 0x00
0000399c: DUP1
0000399d: PUSH1 0x00
0000399f: PUSH1 0x80
000039a1: DUP7
000039a2: DUP9
000039a3: SUB
000039a4: SLT
000039a5: ISZERO
000039a6: PUSH2 0x39ae
000039a9: JUMPI
000039aa: PUSH1 0x00
000039ac: DUP1
000039ad: REVERT
000039ae: JUMPDEST
000039af: DUP6
000039b0: CALLDATALOAD
000039b1: PUSH2 0x39b9
000039b4: DUP2
000039b5: PUSH2 0x3824
000039b8: JUMP
000039b9: JUMPDEST
000039ba: SWAP5
000039bb: POP
000039bc: PUSH1 0x20
000039be: DUP7
000039bf: ADD
000039c0: CALLDATALOAD
000039c1: PUSH2 0x39c9
000039c4: DUP2
000039c5: PUSH2 0x3824
000039c8: JUMP
000039c9: JUMPDEST
000039ca: SWAP4
000039cb: POP
000039cc: PUSH1 0x40
000039ce: DUP7
000039cf: ADD
000039d0: CALLDATALOAD
000039d1: SWAP3
000039d2: POP
000039d3: PUSH1 0x60
000039d5: DUP7
000039d6: ADD
000039d7: CALLDATALOAD
000039d8: PUSH8 0xffffffffffffffff
000039e1: DUP2
000039e2: GT
000039e3: ISZERO
000039e4: PUSH2 0x39ec
000039e7: JUMPI
000039e8: PUSH1 0x00
000039ea: DUP1
000039eb: REVERT
000039ec: JUMPDEST
000039ed: PUSH2 0x39f8
000039f0: DUP9
000039f1: DUP3
000039f2: DUP10
000039f3: ADD
000039f4: PUSH2 0x3849
000039f7: JUMP
000039f8: JUMPDEST
000039f9: SWAP7
000039fa: SWAP10
000039fb: SWAP6
000039fc: SWAP9
000039fd: POP
000039fe: SWAP4
000039ff: SWAP7
00003a00: POP
00003a01: SWAP3
00003a02: SWAP5
00003a03: SWAP4
00003a04: SWAP3
00003a05: POP
00003a06: POP
00003a07: POP
00003a08: JUMP
00003a09: JUMPDEST
00003a0a: PUSH1 0x00
00003a0c: DUP1
00003a0d: PUSH1 0x00
00003a0f: DUP1
00003a10: PUSH1 0x60
00003a12: DUP6
00003a13: DUP8
00003a14: SUB
00003a15: SLT
00003a16: ISZERO
00003a17: PUSH2 0x3a1f
00003a1a: JUMPI
00003a1b: PUSH1 0x00
00003a1d: DUP1
00003a1e: REVERT
00003a1f: JUMPDEST
00003a20: DUP5
00003a21: CALLDATALOAD
00003a22: SWAP4
00003a23: POP
00003a24: PUSH2 0x3a2f
00003a27: PUSH1 0x20
00003a29: DUP7
00003a2a: ADD
00003a2b: PUSH2 0x392a
00003a2e: JUMP
00003a2f: JUMPDEST
00003a30: SWAP3
00003a31: POP
00003a32: PUSH1 0x40
00003a34: DUP6
00003a35: ADD
00003a36: CALLDATALOAD
00003a37: PUSH8 0xffffffffffffffff
00003a40: DUP2
00003a41: GT
00003a42: ISZERO
00003a43: PUSH2 0x3a4b
00003a46: JUMPI
00003a47: PUSH1 0x00
00003a49: DUP1
00003a4a: REVERT
00003a4b: JUMPDEST
00003a4c: PUSH2 0x3a57
00003a4f: DUP8
00003a50: DUP3
00003a51: DUP9
00003a52: ADD
00003a53: PUSH2 0x3849
00003a56: JUMP
00003a57: JUMPDEST
00003a58: SWAP6
00003a59: SWAP9
00003a5a: SWAP5
00003a5b: SWAP8
00003a5c: POP
00003a5d: SWAP6
00003a5e: POP
00003a5f: POP
00003a60: POP
00003a61: POP
00003a62: JUMP
00003a63: JUMPDEST
00003a64: PUSH1 0x00
00003a66: DUP1
00003a67: PUSH1 0x00
00003a69: DUP1
00003a6a: PUSH1 0x00
00003a6c: DUP1
00003a6d: PUSH1 0x00
00003a6f: PUSH1 0xc0
00003a71: DUP9
00003a72: DUP11
00003a73: SUB
00003a74: SLT
00003a75: ISZERO
00003a76: PUSH2 0x3a7e
00003a79: JUMPI
00003a7a: PUSH1 0x00
00003a7c: DUP1
00003a7d: REVERT
00003a7e: JUMPDEST
00003a7f: DUP8
00003a80: CALLDATALOAD
00003a81: PUSH2 0x3a89
00003a84: DUP2
00003a85: PUSH2 0x3824
00003a88: JUMP
00003a89: JUMPDEST
00003a8a: SWAP7
00003a8b: POP
00003a8c: PUSH1 0x20
00003a8e: DUP9
00003a8f: ADD
00003a90: CALLDATALOAD
00003a91: PUSH2 0x3a99
00003a94: DUP2
00003a95: PUSH2 0x3824
00003a98: JUMP
00003a99: JUMPDEST
00003a9a: SWAP6
00003a9b: POP
00003a9c: PUSH1 0x40
00003a9e: DUP9
00003a9f: ADD
00003aa0: CALLDATALOAD
00003aa1: PUSH2 0x3aa9
00003aa4: DUP2
00003aa5: PUSH2 0x3824
00003aa8: JUMP
00003aa9: JUMPDEST
00003aaa: SWAP5
00003aab: POP
00003aac: PUSH1 0x60
00003aae: DUP9
00003aaf: ADD
00003ab0: CALLDATALOAD
00003ab1: SWAP4
00003ab2: POP
00003ab3: PUSH2 0x3abe
00003ab6: PUSH1 0x80
00003ab8: DUP10
00003ab9: ADD
00003aba: PUSH2 0x392a
00003abd: JUMP
00003abe: JUMPDEST
00003abf: SWAP3
00003ac0: POP
00003ac1: PUSH1 0xa0
00003ac3: DUP9
00003ac4: ADD
00003ac5: CALLDATALOAD
00003ac6: PUSH8 0xffffffffffffffff
00003acf: DUP2
00003ad0: GT
00003ad1: ISZERO
00003ad2: PUSH2 0x390b
00003ad5: JUMPI
00003ad6: PUSH1 0x00
00003ad8: DUP1
00003ad9: REVERT
00003ada: JUMPDEST
00003adb: PUSH1 0x00
00003add: JUMPDEST
00003ade: DUP4
00003adf: DUP2
00003ae0: LT
00003ae1: ISZERO
00003ae2: PUSH2 0x3af5
00003ae5: JUMPI
00003ae6: DUP2
00003ae7: DUP2
00003ae8: ADD
00003ae9: MLOAD
00003aea: DUP4
00003aeb: DUP3
00003aec: ADD
00003aed: MSTORE
00003aee: PUSH1 0x20
00003af0: ADD
00003af1: PUSH2 0x3add
00003af4: JUMP
00003af5: JUMPDEST
00003af6: DUP4
00003af7: DUP2
00003af8: GT
00003af9: ISZERO
00003afa: PUSH2 0x0635
00003afd: JUMPI
00003afe: POP
00003aff: POP
00003b00: PUSH1 0x00
00003b02: SWAP2
00003b03: ADD
00003b04: MSTORE
00003b05: JUMP
00003b06: JUMPDEST
00003b07: PUSH1 0x00
00003b09: DUP2
00003b0a: MLOAD
00003b0b: DUP1
00003b0c: DUP5
00003b0d: MSTORE
00003b0e: PUSH2 0x3b1e
00003b11: DUP2
00003b12: PUSH1 0x20
00003b14: DUP7
00003b15: ADD
00003b16: PUSH1 0x20
00003b18: DUP7
00003b19: ADD
00003b1a: PUSH2 0x3ada
00003b1d: JUMP
00003b1e: JUMPDEST
00003b1f: PUSH1 0x1f
00003b21: ADD
00003b22: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00003b43: AND
00003b44: SWAP3
00003b45: SWAP1
00003b46: SWAP3
00003b47: ADD
00003b48: PUSH1 0x20
00003b4a: ADD
00003b4b: SWAP3
00003b4c: SWAP2
00003b4d: POP
00003b4e: POP
00003b4f: JUMP
00003b50: JUMPDEST
00003b51: PUSH1 0x20
00003b53: DUP2
00003b54: MSTORE
00003b55: PUSH1 0x00
00003b57: PUSH2 0x306b
00003b5a: PUSH1 0x20
00003b5c: DUP4
00003b5d: ADD
00003b5e: DUP5
00003b5f: PUSH2 0x3b06
00003b62: JUMP
00003b63: JUMPDEST
00003b64: PUSH1 0x00
00003b66: DUP1
00003b67: PUSH1 0x00
00003b69: DUP1
00003b6a: PUSH1 0x00
00003b6c: DUP1
00003b6d: PUSH1 0xa0
00003b6f: DUP8
00003b70: DUP10
00003b71: SUB
00003b72: SLT
00003b73: ISZERO
00003b74: PUSH2 0x3b7c
00003b77: JUMPI
00003b78: PUSH1 0x00
00003b7a: DUP1
00003b7b: REVERT
00003b7c: JUMPDEST
00003b7d: DUP7
00003b7e: CALLDATALOAD
00003b7f: PUSH2 0x3b87
00003b82: DUP2
00003b83: PUSH2 0x3824
00003b86: JUMP
00003b87: JUMPDEST
00003b88: SWAP6
00003b89: POP
00003b8a: PUSH1 0x20
00003b8c: DUP8
00003b8d: ADD
00003b8e: CALLDATALOAD
00003b8f: PUSH2 0x3b97
00003b92: DUP2
00003b93: PUSH2 0x3824
00003b96: JUMP
00003b97: JUMPDEST
00003b98: SWAP5
00003b99: POP
00003b9a: PUSH1 0x40
00003b9c: DUP8
00003b9d: ADD
00003b9e: CALLDATALOAD
00003b9f: SWAP4
00003ba0: POP
00003ba1: PUSH2 0x3bac
00003ba4: PUSH1 0x60
00003ba6: DUP9
00003ba7: ADD
00003ba8: PUSH2 0x392a
00003bab: JUMP
00003bac: JUMPDEST
00003bad: SWAP3
00003bae: POP
00003baf: PUSH1 0x80
00003bb1: DUP8
00003bb2: ADD
00003bb3: CALLDATALOAD
00003bb4: PUSH8 0xffffffffffffffff
00003bbd: DUP2
00003bbe: GT
00003bbf: ISZERO
00003bc0: PUSH2 0x3bc8
00003bc3: JUMPI
00003bc4: PUSH1 0x00
00003bc6: DUP1
00003bc7: REVERT
00003bc8: JUMPDEST
00003bc9: PUSH2 0x3bd4
00003bcc: DUP10
00003bcd: DUP3
00003bce: DUP11
00003bcf: ADD
00003bd0: PUSH2 0x3849
00003bd3: JUMP
00003bd4: JUMPDEST
00003bd5: SWAP8
00003bd6: SWAP11
00003bd7: SWAP7
00003bd8: SWAP10
00003bd9: POP
00003bda: SWAP5
00003bdb: SWAP8
00003bdc: POP
00003bdd: SWAP3
00003bde: SWAP6
00003bdf: SWAP4
00003be0: SWAP5
00003be1: SWAP3
00003be2: POP
00003be3: POP
00003be4: POP
00003be5: JUMP
00003be6: JUMPDEST
00003be7: PUSH1 0x00
00003be9: DUP1
00003bea: PUSH1 0x00
00003bec: DUP1
00003bed: PUSH1 0x00
00003bef: PUSH1 0x80
00003bf1: DUP7
00003bf2: DUP9
00003bf3: SUB
00003bf4: SLT
00003bf5: ISZERO
00003bf6: PUSH2 0x3bfe
00003bf9: JUMPI
00003bfa: PUSH1 0x00
00003bfc: DUP1
00003bfd: REVERT
00003bfe: JUMPDEST
00003bff: DUP6
00003c00: CALLDATALOAD
00003c01: PUSH2 0x3c09
00003c04: DUP2
00003c05: PUSH2 0x3824
00003c08: JUMP
00003c09: JUMPDEST
00003c0a: SWAP5
00003c0b: POP
00003c0c: PUSH1 0x20
00003c0e: DUP7
00003c0f: ADD
00003c10: CALLDATALOAD
00003c11: SWAP4
00003c12: POP
00003c13: PUSH2 0x3c1e
00003c16: PUSH1 0x40
00003c18: DUP8
00003c19: ADD
00003c1a: PUSH2 0x392a
00003c1d: JUMP
00003c1e: JUMPDEST
00003c1f: SWAP3
00003c20: POP
00003c21: PUSH1 0x60
00003c23: DUP7
00003c24: ADD
00003c25: CALLDATALOAD
00003c26: PUSH8 0xffffffffffffffff
00003c2f: DUP2
00003c30: GT
00003c31: ISZERO
00003c32: PUSH2 0x39ec
00003c35: JUMPI
00003c36: PUSH1 0x00
00003c38: DUP1
00003c39: REVERT
00003c3a: JUMPDEST
00003c3b: PUSH1 0x00
00003c3d: DUP1
00003c3e: PUSH1 0x40
00003c40: DUP4
00003c41: DUP6
00003c42: SUB
00003c43: SLT
00003c44: ISZERO
00003c45: PUSH2 0x3c4d
00003c48: JUMPI
00003c49: PUSH1 0x00
00003c4b: DUP1
00003c4c: REVERT
00003c4d: JUMPDEST
00003c4e: DUP3
00003c4f: CALLDATALOAD
00003c50: PUSH2 0x3c58
00003c53: DUP2
00003c54: PUSH2 0x3824
00003c57: JUMP
00003c58: JUMPDEST
00003c59: SWAP2
00003c5a: POP
00003c5b: PUSH1 0x20
00003c5d: DUP4
00003c5e: ADD
00003c5f: CALLDATALOAD
00003c60: PUSH2 0x3c68
00003c63: DUP2
00003c64: PUSH2 0x3824
00003c67: JUMP
00003c68: JUMPDEST
00003c69: DUP1
00003c6a: SWAP2
00003c6b: POP
00003c6c: POP
00003c6d: SWAP3
00003c6e: POP
00003c6f: SWAP3
00003c70: SWAP1
00003c71: POP
00003c72: JUMP
00003c73: JUMPDEST
00003c74: PUSH1 0x00
00003c76: DUP1
00003c77: PUSH1 0x00
00003c79: DUP1
00003c7a: PUSH1 0x60
00003c7c: DUP6
00003c7d: DUP8
00003c7e: SUB
00003c7f: SLT
00003c80: ISZERO
00003c81: PUSH2 0x3c89
00003c84: JUMPI
00003c85: PUSH1 0x00
00003c87: DUP1
00003c88: REVERT
00003c89: JUMPDEST
00003c8a: DUP5
00003c8b: CALLDATALOAD
00003c8c: PUSH2 0x3c94
00003c8f: DUP2
00003c90: PUSH2 0x3824
00003c93: JUMP
00003c94: JUMPDEST
00003c95: SWAP4
00003c96: POP
00003c97: PUSH2 0x3a2f
00003c9a: PUSH1 0x20
00003c9c: DUP7
00003c9d: ADD
00003c9e: PUSH2 0x392a
00003ca1: JUMP
00003ca2: JUMPDEST
00003ca3: PUSH1 0x00
00003ca5: PUSH1 0x20
00003ca7: DUP3
00003ca8: DUP5
00003ca9: SUB
00003caa: SLT
00003cab: ISZERO
00003cac: PUSH2 0x3cb4
00003caf: JUMPI
00003cb0: PUSH1 0x00
00003cb2: DUP1
00003cb3: REVERT
00003cb4: JUMPDEST
00003cb5: DUP2
00003cb6: MLOAD
00003cb7: PUSH2 0x306b
00003cba: DUP2
00003cbb: PUSH2 0x3824
00003cbe: JUMP
00003cbf: JUMPDEST
00003cc0: PUSH1 0x00
00003cc2: PUSH1 0x20
00003cc4: DUP3
00003cc5: DUP5
00003cc6: SUB
00003cc7: SLT
00003cc8: ISZERO
00003cc9: PUSH2 0x3cd1
00003ccc: JUMPI
00003ccd: PUSH1 0x00
00003ccf: DUP1
00003cd0: REVERT
00003cd1: JUMPDEST
00003cd2: POP
00003cd3: MLOAD
00003cd4: SWAP2
00003cd5: SWAP1
00003cd6: POP
00003cd7: JUMP
00003cd8: JUMPDEST
00003cd9: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00003cfa: PUSH1 0x00
00003cfc: MSTORE
00003cfd: PUSH1 0x11
00003cff: PUSH1 0x04
00003d01: MSTORE
00003d02: PUSH1 0x24
00003d04: PUSH1 0x00
00003d06: REVERT
00003d07: JUMPDEST
00003d08: PUSH1 0x00
00003d0a: DUP3
00003d0b: DUP3
00003d0c: LT
00003d0d: ISZERO
00003d0e: PUSH2 0x3d19
00003d11: JUMPI
00003d12: PUSH2 0x3d19
00003d15: PUSH2 0x3cd8
00003d18: JUMP
00003d19: JUMPDEST
00003d1a: POP
00003d1b: SUB
00003d1c: SWAP1
00003d1d: JUMP
00003d1e: JUMPDEST
00003d1f: PUSH1 0x00
00003d21: DUP5
00003d22: MLOAD
00003d23: PUSH2 0x3d30
00003d26: DUP2
00003d27: DUP5
00003d28: PUSH1 0x20
00003d2a: DUP10
00003d2b: ADD
00003d2c: PUSH2 0x3ada
00003d2f: JUMP
00003d30: JUMPDEST
00003d31: DUP1
00003d32: DUP4
00003d33: ADD
00003d34: SWAP1
00003d35: POP
00003d36: PUSH32 0x2e00000000000000000000000000000000000000000000000000000000000000
00003d57: DUP1
00003d58: DUP3
00003d59: MSTORE
00003d5a: DUP6
00003d5b: MLOAD
00003d5c: PUSH2 0x3d6c
00003d5f: DUP2
00003d60: PUSH1 0x01
00003d62: DUP6
00003d63: ADD
00003d64: PUSH1 0x20
00003d66: DUP11
00003d67: ADD
00003d68: PUSH2 0x3ada
00003d6b: JUMP
00003d6c: JUMPDEST
00003d6d: PUSH1 0x01
00003d6f: SWAP3
00003d70: ADD
00003d71: SWAP2
00003d72: DUP3
00003d73: ADD
00003d74: MSTORE
00003d75: DUP4
00003d76: MLOAD
00003d77: PUSH2 0x3d87
00003d7a: DUP2
00003d7b: PUSH1 0x02
00003d7d: DUP5
00003d7e: ADD
00003d7f: PUSH1 0x20
00003d81: DUP9
00003d82: ADD
00003d83: PUSH2 0x3ada
00003d86: JUMP
00003d87: JUMPDEST
00003d88: ADD
00003d89: PUSH1 0x02
00003d8b: ADD
00003d8c: SWAP6
00003d8d: SWAP5
00003d8e: POP
00003d8f: POP
00003d90: POP
00003d91: POP
00003d92: POP
00003d93: JUMP
00003d94: JUMPDEST
00003d95: PUSH1 0x00
00003d97: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003dac: DUP1
00003dad: DUP8
00003dae: AND
00003daf: DUP4
00003db0: MSTORE
00003db1: DUP1
00003db2: DUP7
00003db3: AND
00003db4: PUSH1 0x20
00003db6: DUP5
00003db7: ADD
00003db8: MSTORE
00003db9: POP
00003dba: DUP4
00003dbb: PUSH1 0x40
00003dbd: DUP4
00003dbe: ADD
00003dbf: MSTORE
00003dc0: PUSH1 0x80
00003dc2: PUSH1 0x60
00003dc4: DUP4
00003dc5: ADD
00003dc6: MSTORE
00003dc7: PUSH2 0x3dd3
00003dca: PUSH1 0x80
00003dcc: DUP4
00003dcd: ADD
00003dce: DUP5
00003dcf: PUSH2 0x3b06
00003dd2: JUMP
00003dd3: JUMPDEST
00003dd4: SWAP7
00003dd5: SWAP6
00003dd6: POP
00003dd7: POP
00003dd8: POP
00003dd9: POP
00003dda: POP
00003ddb: POP
00003ddc: JUMP
00003ddd: JUMPDEST
00003dde: DUP5
00003ddf: DUP2
00003de0: MSTORE
00003de1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003df6: DUP5
00003df7: AND
00003df8: PUSH1 0x20
00003dfa: DUP3
00003dfb: ADD
00003dfc: MSTORE
00003dfd: PUSH1 0x80
00003dff: PUSH1 0x40
00003e01: DUP3
00003e02: ADD
00003e03: MSTORE
00003e04: PUSH1 0x00
00003e06: PUSH2 0x3e12
00003e09: PUSH1 0x80
00003e0b: DUP4
00003e0c: ADD
00003e0d: DUP6
00003e0e: PUSH2 0x3b06
00003e11: JUMP
00003e12: JUMPDEST
00003e13: SWAP1
00003e14: POP
00003e15: PUSH4 0xffffffff
00003e1a: DUP4
00003e1b: AND
00003e1c: PUSH1 0x60
00003e1e: DUP4
00003e1f: ADD
00003e20: MSTORE
00003e21: SWAP6
00003e22: SWAP5
00003e23: POP
00003e24: POP
00003e25: POP
00003e26: POP
00003e27: POP
00003e28: JUMP
00003e29: JUMPDEST
00003e2a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003e3f: DUP5
00003e40: AND
00003e41: DUP2
00003e42: MSTORE
00003e43: DUP3
00003e44: PUSH1 0x20
00003e46: DUP3
00003e47: ADD
00003e48: MSTORE
00003e49: PUSH1 0x60
00003e4b: PUSH1 0x40
00003e4d: DUP3
00003e4e: ADD
00003e4f: MSTORE
00003e50: PUSH1 0x00
00003e52: PUSH2 0x3e5e
00003e55: PUSH1 0x60
00003e57: DUP4
00003e58: ADD
00003e59: DUP5
00003e5a: PUSH2 0x3b06
00003e5d: JUMP
00003e5e: JUMPDEST
00003e5f: SWAP6
00003e60: SWAP5
00003e61: POP
00003e62: POP
00003e63: POP
00003e64: POP
00003e65: POP
00003e66: JUMP
00003e67: JUMPDEST
00003e68: DUP3
00003e69: DUP2
00003e6a: MSTORE
00003e6b: PUSH1 0x40
00003e6d: PUSH1 0x20
00003e6f: DUP3
00003e70: ADD
00003e71: MSTORE
00003e72: PUSH1 0x00
00003e74: PUSH2 0x2bf3
00003e77: PUSH1 0x40
00003e79: DUP4
00003e7a: ADD
00003e7b: DUP5
00003e7c: PUSH2 0x3b06
00003e7f: JUMP
00003e80: JUMPDEST
00003e81: PUSH1 0x00
00003e83: DUP3
00003e84: NOT
00003e85: DUP3
00003e86: GT
00003e87: ISZERO
00003e88: PUSH2 0x3e93
00003e8b: JUMPI
00003e8c: PUSH2 0x3e93
00003e8f: PUSH2 0x3cd8
00003e92: JUMP
00003e93: JUMPDEST
00003e94: POP
00003e95: ADD
00003e96: SWAP1
00003e97: JUMP
00003e98: JUMPDEST
00003e99: PUSH1 0x00
00003e9b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003eb0: DUP1
00003eb1: DUP10
00003eb2: AND
00003eb3: DUP4
00003eb4: MSTORE
00003eb5: DUP1
00003eb6: DUP9
00003eb7: AND
00003eb8: PUSH1 0x20
00003eba: DUP5
00003ebb: ADD
00003ebc: MSTORE
00003ebd: DUP1
00003ebe: DUP8
00003ebf: AND
00003ec0: PUSH1 0x40
00003ec2: DUP5
00003ec3: ADD
00003ec4: MSTORE
00003ec5: DUP1
00003ec6: DUP7
00003ec7: AND
00003ec8: PUSH1 0x60
00003eca: DUP5
00003ecb: ADD
00003ecc: MSTORE
00003ecd: POP
00003ece: DUP4
00003ecf: PUSH1 0x80
00003ed1: DUP4
00003ed2: ADD
00003ed3: MSTORE
00003ed4: PUSH1 0xc0
00003ed6: PUSH1 0xa0
00003ed8: DUP4
00003ed9: ADD
00003eda: MSTORE
00003edb: PUSH2 0x3ee7
00003ede: PUSH1 0xc0
00003ee0: DUP4
00003ee1: ADD
00003ee2: DUP5
00003ee3: PUSH2 0x3b06
00003ee6: JUMP
00003ee7: JUMPDEST
00003ee8: SWAP9
00003ee9: SWAP8
00003eea: POP
00003eeb: POP
00003eec: POP
00003eed: POP
00003eee: POP
00003eef: POP
00003ef0: POP
00003ef1: POP
00003ef2: JUMP
00003ef3: JUMPDEST
00003ef4: PUSH1 0x00
00003ef6: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00003f17: DUP3
00003f18: SUB
00003f19: PUSH2 0x3f24
00003f1c: JUMPI
00003f1d: PUSH2 0x3f24
00003f20: PUSH2 0x3cd8
00003f23: JUMP
00003f24: JUMPDEST
00003f25: POP
00003f26: PUSH1 0x01
00003f28: ADD
00003f29: SWAP1
00003f2a: JUMP
00003f2b: JUMPDEST
00003f2c: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00003f4d: PUSH1 0x00
00003f4f: MSTORE
00003f50: PUSH1 0x12
00003f52: PUSH1 0x04
00003f54: MSTORE
00003f55: PUSH1 0x24
00003f57: PUSH1 0x00
00003f59: REVERT
00003f5a: JUMPDEST
00003f5b: PUSH1 0x00
00003f5d: DUP3
00003f5e: PUSH2 0x3f69
00003f61: JUMPI
00003f62: PUSH2 0x3f69
00003f65: PUSH2 0x3f2b
00003f68: JUMP
00003f69: JUMPDEST
00003f6a: POP
00003f6b: DIV
00003f6c: SWAP1
00003f6d: JUMP
00003f6e: JUMPDEST
00003f6f: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00003f90: PUSH1 0x00
00003f92: MSTORE
00003f93: PUSH1 0x41
00003f95: PUSH1 0x04
00003f97: MSTORE
00003f98: PUSH1 0x24
00003f9a: PUSH1 0x00
00003f9c: REVERT
00003f9d: JUMPDEST
00003f9e: PUSH1 0x00
00003fa0: DUP3
00003fa1: PUSH2 0x3fac
00003fa4: JUMPI
00003fa5: PUSH2 0x3fac
00003fa8: PUSH2 0x3f2b
00003fab: JUMP
00003fac: JUMPDEST
00003fad: POP
00003fae: MOD
00003faf: SWAP1
00003fb0: JUMP
00003fb1: JUMPDEST
00003fb2: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00003fd3: PUSH1 0x00
00003fd5: MSTORE
00003fd6: PUSH1 0x32
00003fd8: PUSH1 0x04
00003fda: MSTORE
00003fdb: PUSH1 0x24
00003fdd: PUSH1 0x00
00003fdf: REVERT
00003fe0: JUMPDEST
00003fe1: PUSH1 0x00
00003fe3: PUSH1 0x20
00003fe5: DUP3
00003fe6: DUP5
00003fe7: SUB
00003fe8: SLT
00003fe9: ISZERO
00003fea: PUSH2 0x3ff2
00003fed: JUMPI
00003fee: PUSH1 0x00
00003ff0: DUP1
00003ff1: REVERT
00003ff2: JUMPDEST
00003ff3: DUP2
00003ff4: MLOAD
00003ff5: DUP1
00003ff6: ISZERO
00003ff7: ISZERO
00003ff8: DUP2
00003ff9: EQ
00003ffa: PUSH2 0x306b
00003ffd: JUMPI
00003ffe: PUSH1 0x00
00004000: DUP1
00004001: REVERT
00004002: JUMPDEST
00004003: PUSH1 0x00
00004005: DUP3
00004006: MLOAD
00004007: PUSH2 0x4014
0000400a: DUP2
0000400b: DUP5
0000400c: PUSH1 0x20
0000400e: DUP8
0000400f: ADD
00004010: PUSH2 0x3ada
00004013: JUMP
00004014: JUMPDEST
00004015: SWAP2
00004016: SWAP1
00004017: SWAP2
00004018: ADD
00004019: SWAP3
0000401a: SWAP2
0000401b: POP
0000401c: POP
0000401d: JUMP
0000401e: INVALID
0000401f: LOG1
00004020: PUSH5 0x736f6c6343
00004026: STOP
00004027: ADDMOD
00004028: UNKNOWN(0x0F)
00004029: STOP
0000402a: EXP

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high auth detector Authorization based on tx.origin 70 no
view
validation_json
{
    "reason": "missing sink mapping",
    "status": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xc8beb965",
            "selector": "0xc8beb965",
            "calldata_variants": [
                "0xc8beb965",
                "0xc8beb9650000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe11013dd",
            "selector": "0xe11013dd",
            "calldata_variants": [
                "0xe11013dd",
                "0xe11013dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf407a99e",
            "selector": "0xf407a99e",
            "calldata_variants": [
                "0xf407a99e",
                "0xf407a99e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf82b418e",
            "selector": "0xf82b418e",
            "calldata_variants": [
                "0xf82b418e",
                "0xf82b418e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xac6986c5",
            "selector": "0xac6986c5",
            "calldata_variants": [
                "0xac6986c5",
                "0xac6986c50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb1a1a882",
            "selector": "0xb1a1a882",
            "calldata_variants": [
                "0xb1a1a882",
                "0xb1a1a8820000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb6a611e9",
            "selector": "0xb6a611e9",
            "calldata_variants": [
                "0xb6a611e9",
                "0xb6a611e90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x927ede2d",
            "selector": "0x927ede2d",
            "calldata_variants": [
                "0x927ede2d",
                "0x927ede2d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 566,
            "type": "tx_origin_used"
        },
        {
            "pc": 3084,
            "type": "tx_origin_used"
        },
        {
            "pc": 4699,
            "type": "tx_origin_used"
        },
        {
            "pc": 5284,
            "type": "tx_origin_used"
        },
        {
            "pc": 5775,
            "type": "tx_origin_used"
        },
        {
            "pc": 6211,
            "type": "tx_origin_used"
        },
        {
            "pc": 6630,
            "type": "tx_origin_used"
        },
        {
            "pc": 565,
            "type": "tx_origin_used"
        },
        {
            "pc": 1596,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 3083,
            "type": "tx_origin_used"
        },
        {
            "pc": 3317,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 4698,
            "type": "tx_origin_used"
        },
        {
            "pc": 5283,
            "type": "tx_origin_used"
        },
        {
            "pc": 5774,
            "type": "tx_origin_used"
        },
        {
            "pc": 6210,
            "type": "tx_origin_used"
        },
        {
            "pc": 6629,
            "type": "tx_origin_used"
        },
        {
            "pc": 6905,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ]
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x336fc02206230b03339db4a80fda0dcf20c754991f75568950fe9c86a62a6d6d
call_targets: 0xb4133552ba49dfb60da6eb5ca0102d0f94ce071f
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x336fc02206230b03339db4a80fda0dcf20c754991f75568950fe9c86a62a6d6d",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xb4133552ba49dfb60da6eb5ca0102d0f94ce071f"
    ],
    "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": "0xc8beb965",
            "selector": "0xc8beb965",
            "calldata_variants": [
                "0xc8beb965",
                "0xc8beb9650000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe11013dd",
            "selector": "0xe11013dd",
            "calldata_variants": [
                "0xe11013dd",
                "0xe11013dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf407a99e",
            "selector": "0xf407a99e",
            "calldata_variants": [
                "0xf407a99e",
                "0xf407a99e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf82b418e",
            "selector": "0xf82b418e",
            "calldata_variants": [
                "0xf82b418e",
                "0xf82b418e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xac6986c5",
            "selector": "0xac6986c5",
            "calldata_variants": [
                "0xac6986c5",
                "0xac6986c50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb1a1a882",
            "selector": "0xb1a1a882",
            "calldata_variants": [
                "0xb1a1a882",
                "0xb1a1a8820000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb6a611e9",
            "selector": "0xb6a611e9",
            "calldata_variants": [
                "0xb6a611e9",
                "0xb6a611e90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x927ede2d",
            "selector": "0x927ede2d",
            "calldata_variants": [
                "0x927ede2d",
                "0x927ede2d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2376,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 8390,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 9291,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 8,
    "guards_detected": [
        {
            "pc": 566,
            "type": "tx_origin_used"
        },
        {
            "pc": 3084,
            "type": "tx_origin_used"
        },
        {
            "pc": 4699,
            "type": "tx_origin_used"
        },
        {
            "pc": 5284,
            "type": "tx_origin_used"
        },
        {
            "pc": 5775,
            "type": "tx_origin_used"
        },
        {
            "pc": 6211,
            "type": "tx_origin_used"
        },
        {
            "pc": 6630,
            "type": "tx_origin_used"
        },
        {
            "pc": 565,
            "type": "tx_origin_used"
        },
        {
            "pc": 1596,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 3083,
            "type": "tx_origin_used"
        },
        {
            "pc": 3317,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 4698,
            "type": "tx_origin_used"
        },
        {
            "pc": 5283,
            "type": "tx_origin_used"
        },
        {
            "pc": 5774,
            "type": "tx_origin_used"
        },
        {
            "pc": 6210,
            "type": "tx_origin_used"
        },
        {
            "pc": 6629,
            "type": "tx_origin_used"
        },
        {
            "pc": 6905,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ],
    "untrusted_call_count": 8
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x336fc02206230b03339db4a80fda0dcf20c754991f75568950fe9c86a62a6d6d
call_targets: 0xb4133552ba49dfb60da6eb5ca0102d0f94ce071f
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x336fc02206230b03339db4a80fda0dcf20c754991f75568950fe9c86a62a6d6d",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xb4133552ba49dfb60da6eb5ca0102d0f94ce071f"
    ],
    "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": "0xc8beb965",
            "selector": "0xc8beb965",
            "calldata_variants": [
                "0xc8beb965",
                "0xc8beb9650000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe11013dd",
            "selector": "0xe11013dd",
            "calldata_variants": [
                "0xe11013dd",
                "0xe11013dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf407a99e",
            "selector": "0xf407a99e",
            "calldata_variants": [
                "0xf407a99e",
                "0xf407a99e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf82b418e",
            "selector": "0xf82b418e",
            "calldata_variants": [
                "0xf82b418e",
                "0xf82b418e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xac6986c5",
            "selector": "0xac6986c5",
            "calldata_variants": [
                "0xac6986c5",
                "0xac6986c50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb1a1a882",
            "selector": "0xb1a1a882",
            "calldata_variants": [
                "0xb1a1a882",
                "0xb1a1a8820000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb6a611e9",
            "selector": "0xb6a611e9",
            "calldata_variants": [
                "0xb6a611e9",
                "0xb6a611e90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x927ede2d",
            "selector": "0x927ede2d",
            "calldata_variants": [
                "0x927ede2d",
                "0x927ede2d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2376,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 8390,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 9291,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 8,
    "guards_detected": [
        {
            "pc": 566,
            "type": "tx_origin_used"
        },
        {
            "pc": 3084,
            "type": "tx_origin_used"
        },
        {
            "pc": 4699,
            "type": "tx_origin_used"
        },
        {
            "pc": 5284,
            "type": "tx_origin_used"
        },
        {
            "pc": 5775,
            "type": "tx_origin_used"
        },
        {
            "pc": 6211,
            "type": "tx_origin_used"
        },
        {
            "pc": 6630,
            "type": "tx_origin_used"
        },
        {
            "pc": 565,
            "type": "tx_origin_used"
        },
        {
            "pc": 1596,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 3083,
            "type": "tx_origin_used"
        },
        {
            "pc": 3317,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 4698,
            "type": "tx_origin_used"
        },
        {
            "pc": 5283,
            "type": "tx_origin_used"
        },
        {
            "pc": 5774,
            "type": "tx_origin_used"
        },
        {
            "pc": 6210,
            "type": "tx_origin_used"
        },
        {
            "pc": 6629,
            "type": "tx_origin_used"
        },
        {
            "pc": 6905,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ]
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 13
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 18
}