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

Analysis Run

f79cdfdf-c2a6-4381-8634-dcbefab1610e

complete
Chain ID
1
Address
Block Number
Created
Tue, Dec 30, 2025 1:15 AM
Review Summary

What survived the funnel

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

Confirmed
0
Validated
0
Source
Verified
Review Backing
Present
Best current signal
Authorization based on tx.origin
crit 0 high 0 direct contract
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
30641 report.consolidate complete 1 / 1 3 months ago
74842 artifact.fetch complete 1 / 3 1 week ago
74843 tool.cast_disasm complete 1 / 3 1 week ago
74844 analysis.bundle complete 1 / 3 1 week ago
74845 capability.graph complete 1 / 3 1 week ago
74846 detector.run complete 1 / 3 1 week ago
74847 validation.fork complete 1 / 3 1 week ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
1
No findings?
no
Summary
Found 1 medium-risk issue in MarketMakerProxy where an unset/zero SIGNER lets invalid signatures pass, potentially enabling unauthorized order validation if misconfigured.
View stderr
[codex:576980] OpenAI Codex v0.77.0 (research preview)
[codex:576980] --------
[codex:576980] workdir: /tmp/codex-multi-a72k9sp_
[codex:576980] model: gpt-5.2-codex
[codex:576980] provider: openai
[codex:576980] approval: never
[codex:576980] sandbox: read-only
[codex:576980] reasoning effort: xhigh
[codex:576980] reasoning summaries: auto
[codex:576980] session id: 019b6cc9-7c55-7f72-8c29-eb3fb05acafe
[codex:576980] --------
[codex:576980] user
[codex:576980] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:576980] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:576980] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:576980] 
[codex:576980] Scope rules:
[codex:576980] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:576980] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:576980] 
[codex:576980] Output MUST be valid JSON matching the provided schema.
[codex:576980] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:576980] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:576980] 
[codex:576980] Output constraints (IMPORTANT):
[codex:576980] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:576980] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:576980] mcp startup: no servers
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Preparing to review AUDIT_BUNDLE**
[codex:576980] exec
[codex:576980] /bin/bash -lc ls in /tmp/codex-multi-a72k9sp_ succeeded in 5ms:
[codex:576980] AUDIT_BUNDLE.txt
[codex:576980] codex-output-schema.json
[codex:576980] contracts
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Reading AUDIT_BUNDLE**
[codex:576980] exec
[codex:576980] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-a72k9sp_ succeeded in 6ms:
[codex:576980] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:576980] 
[codex:576980] ================================================================================
[codex:576980] FILE: contracts/@openzeppelin/contracts/math/SafeMath.sol
[codex:576980] ================================================================================
[codex:576980] // SPDX-License-Identifier: MIT
[codex:576980] 
[codex:576980] pragma solidity >=0.6.0 <0.8.0;
[codex:576980] 
[codex:576980] /**
[codex:576980]  * @dev Wrappers over Solidity's arithmetic operations with added overflow
[codex:576980]  * checks.
[codex:576980]  *
[codex:576980]  * Arithmetic operations in Solidity wrap on overflow. This can easily result
[codex:576980]  * in bugs, because programmers usually assume that an overflow raises an
[codex:576980]  * error, which is the standard behavior in high level programming languages.
[codex:576980]  * `SafeMath` restores this intuition by reverting the transaction when an
[codex:576980]  * operation overflows.
[codex:576980]  *
[codex:576980]  * Using this library instead of the unchecked operations eliminates an entire
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Filtering first-party contracts for audit**
[codex:576980] exec
[codex:576980] /bin/bash -lc 'rg -n "''^FILE: contracts/contracts" AUDIT_BUNDLE.txt' in /tmp/codex-multi-a72k9sp_ succeeded in 7ms:
[codex:576980] 641:FILE: contracts/contracts/AMMQuoter.sol
[codex:576980] 986:FILE: contracts/contracts/AMMWrapper.sol
[codex:576980] 1553:FILE: contracts/contracts/AMMWrapperWithPath.sol
[codex:576980] 1853:FILE: contracts/contracts/AllowanceTarget.sol
[codex:576980] 1941:FILE: contracts/contracts/MarketMakerProxy.sol
[codex:576980] 2064:FILE: contracts/contracts/PMM.sol
[codex:576980] 2374:FILE: contracts/contracts/PermanentStorage.sol
[codex:576980] 2650:FILE: contracts/contracts/RFQ.sol
[codex:576980] 2911:FILE: contracts/contracts/Spender.sol
[codex:576980] 3196:FILE: contracts/contracts/SpenderSimulation.sol
[codex:576980] 3244:FILE: contracts/contracts/Tokenlon.sol
[codex:576980] 3257:FILE: contracts/contracts/interfaces/IAMM.sol
[codex:576980] 3280:FILE: contracts/contracts/interfaces/IAllowanceTarget.sol
[codex:576980] 3292:FILE: contracts/contracts/interfaces/ICurveFi.sol
[codex:576980] 3442:FILE: contracts/contracts/interfaces/IERC1271Wallet.sol
[codex:576980] 3484:FILE: contracts/contracts/interfaces/IHasBlackListERC20Token.sol
[codex:576980] 3497:FILE: contracts/contracts/interfaces/IPMM.sol
[codex:576980] 3514:FILE: contracts/contracts/interfaces/IPermanentStorage.sol
[codex:576980] 3533:FILE: contracts/contracts/interfaces/IRFQ.sol
[codex:576980] 3550:FILE: contracts/contracts/interfaces/ISetAllowance.sol
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Reviewing key contract files**
[codex:576980] exec
[codex:576980] /bin/bash -lc "awk 'f{print} /"'^FILE: contracts'"\\/contracts\\/AMMQuoter.sol/{f=1} /"'^FILE: contracts'"\\/contracts\\// && "'$0 !~ /AMMQuoter/ && f{exit}'"' AUDIT_BUNDLE.txt" in /tmp/codex-multi-a72k9sp_ succeeded in 10ms:
[codex:576980] ================================================================================
[codex:576980] pragma solidity ^0.6.0;
[codex:576980] pragma experimental ABIEncoderV2;
[codex:576980] 
[codex:576980] import "@openzeppelin/contracts/math/SafeMath.sol";
[codex:576980] import "./interfaces/IUniswapExchange.sol";
[codex:576980] import "./interfaces/IUniswapFactory.sol";
[codex:576980] import "./interfaces/IUniswapRouterV2.sol";
[codex:576980] import "./interfaces/ICurveFi.sol";
[codex:576980] import "./interfaces/IWeth.sol";
[codex:576980] import "./interfaces/IPermanentStorage.sol";
[codex:576980] import "./interfaces/IUniswapV3Quoter.sol";
[codex:576980] import "./utils/LibBytes.sol";
[codex:576980] 
[codex:576980] /// This contract is designed to be called off-chain.
[codex:576980] /// At T1, 4 requests would be made in order to get quote, which is for Uniswap v2, v3, Sushiswap and others.
[codex:576980] /// For those source without path design, we can find best out amount in this contract.
[codex:576980] /// For Uniswap and Sushiswap, best path would be calculated off-chain, we only verify out amount in this contract.
[codex:576980] 
[codex:576980] contract AMMQuoter {
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Assessing AMMQuoter security posture**
[codex:576980] exec
[codex:576980] /bin/bash -lc "awk 'f{print} /"'^FILE: contracts'"\\/contracts\\/AMMWrapper.sol/{f=1} /"'^FILE: contracts'"\\/contracts\\// && "'$0 !~ /AMMWrapper.sol/ && f{exit}'"' AUDIT_BUNDLE.txt" in /tmp/codex-multi-a72k9sp_ succeeded in 6ms:
[codex:576980] ================================================================================
[codex:576980] pragma solidity ^0.6.0;
[codex:576980] 
[codex:576980] import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:576980] import "@openzeppelin/contracts/token/ERC20/SafeERC20.sol";
[codex:576980] import "@openzeppelin/contracts/utils/ReentrancyGuard.sol";
[codex:576980] import "@openzeppelin/contracts/math/SafeMath.sol";
[codex:576980] import "./interfaces/ISpender.sol";
[codex:576980] import "./interfaces/IUniswapExchange.sol";
[codex:576980] import "./interfaces/IUniswapFactory.sol";
[codex:576980] import "./interfaces/IUniswapRouterV2.sol";
[codex:576980] import "./interfaces/ICurveFi.sol";
[codex:576980] import "./interfaces/IAMM.sol";
[codex:576980] import "./interfaces/IWeth.sol";
[codex:576980] import "./interfaces/IPermanentStorage.sol";
[codex:576980] import "./utils/AMMLibEIP712.sol";
[codex:576980] import "./utils/SignatureValidator.sol";
[codex:576980] 
[codex:576980] contract AMMWrapper is
[codex:576980]     IAMM,
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Continuing AMMWrapperWithPath implementation**
[codex:576980] exec
[codex:576980] /bin/bash -lc "awk 'f{print} /"'^FILE: contracts'"\\/contracts\\/AMMWrapperWithPath.sol/{f=1} /"'^FILE: contracts'"\\/contracts\\// && "'$0 !~ /AMMWrapperWithPath.sol/ && f{exit}'"' AUDIT_BUNDLE.txt" in /tmp/codex-multi-a72k9sp_ succeeded in 8ms:
[codex:576980] ================================================================================
[codex:576980] pragma solidity ^0.6.0;
[codex:576980] pragma experimental ABIEncoderV2;
[codex:576980] 
[codex:576980] import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:576980] import "@openzeppelin/contracts/token/ERC20/SafeERC20.sol";
[codex:576980] import "@openzeppelin/contracts/math/SafeMath.sol";
[codex:576980] import "./AMMWrapper.sol";
[codex:576980] import "./interfaces/ISpender.sol";
[codex:576980] import "./interfaces/IUniswapRouterV2.sol";
[codex:576980] import "./interfaces/IUniswapV3SwapRouter.sol";
[codex:576980] import "./interfaces/IPermanentStorage.sol";
[codex:576980] import "./utils/UniswapV3PathLib.sol";
[codex:576980] 
[codex:576980] contract AMMWrapperWithPath is AMMWrapper {
[codex:576980]     using SafeMath for uint256;
[codex:576980]     using SafeERC20 for IERC20;
[codex:576980]     using Path for bytes;
[codex:576980] 
[codex:576980]     // Constants do not have storage slot.
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Analyzing potential security risks**
[codex:576980] 
[codex:576980] I'm scrutinizing AMMWrapper for security concerns like reentrancy in token transfers, use of tx.origin for relayer validation, and uncertainties in feeFactor signing. I’m also checking signature validation robustness and potential cross-chain replay risks via EIP712 domain setup. There is a lot here to weigh carefully!
[codex:576980] exec
[codex:576980] /bin/bash -lc "awk 'f{print} /"'^FILE: contracts'"\\/contracts\\/utils\\/AMMLibEIP712.sol/{f=1} /"'^FILE: contracts'"\\/contracts\\// && "'$0 !~ /AMMLibEIP712.sol/ && f{exit}'"' AUDIT_BUNDLE.txt" in /tmp/codex-multi-a72k9sp_ succeeded in 8ms:
[codex:576980] ================================================================================
[codex:576980] pragma solidity ^0.6.0;
[codex:576980] 
[codex:576980] import "./BaseLibEIP712.sol";
[codex:576980] 
[codex:576980] contract AMMLibEIP712 is BaseLibEIP712 {
[codex:576980]     /***********************************|
[codex:576980]     |             Constants             |
[codex:576980]     |__________________________________*/
[codex:576980] 
[codex:576980]     struct Order {
[codex:576980]         address makerAddr;
[codex:576980]         address takerAssetAddr;
[codex:576980]         address makerAssetAddr;
[codex:576980]         uint256 takerAssetAmount;
[codex:576980]         uint256 makerAssetAmount;
[codex:576980]         address userAddr;
[codex:576980]         address payable receiverAddr;
[codex:576980]         uint256 salt;
[codex:576980]         uint256 deadline;
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Identifying missing BaseLibEIP712**
[codex:576980] exec
[codex:576980] /bin/bash -lc "awk 'f{print} /"'^FILE: contracts'"\\/contracts\\/utils\\/BaseLibEIP712.sol/{f=1} /"'^FILE: contracts'"\\/contracts\\// && "'$0 !~ /BaseLibEIP712.sol/ && f{exit}'"' AUDIT_BUNDLE.txt" in /tmp/codex-multi-a72k9sp_ succeeded in 8ms:
[codex:576980] ================================================================================
[codex:576980] pragma solidity ^0.6.0;
[codex:576980] 
[codex:576980] contract BaseLibEIP712 {
[codex:576980]     /***********************************|
[codex:576980]     |             Constants             |
[codex:576980]     |__________________________________*/
[codex:576980] 
[codex:576980]     // EIP-191 Header
[codex:576980]     string public constant EIP191_HEADER = "\x19\x01";
[codex:576980] 
[codex:576980]     // EIP712Domain
[codex:576980]     string public constant EIP712_DOMAIN_NAME = "Tokenlon";
[codex:576980]     string public constant EIP712_DOMAIN_VERSION = "v5";
[codex:576980] 
[codex:576980]     // EIP712Domain Separator
[codex:576980]     bytes32 public immutable EIP712_DOMAIN_SEPARATOR = keccak256(
[codex:576980]         abi.encode(
[codex:576980]             keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"),
[codex:576980]             keccak256(bytes(EIP712_DOMAIN_NAME)),
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Analyzing EIP712 domain details**
[codex:576980] exec
[codex:576980] /bin/bash -lc "awk 'f{print} /"'^FILE: contracts'"\\/contracts\\/AllowanceTarget.sol/{f=1} /"'^FILE: contracts'"\\/contracts\\// && "'$0 !~ /AllowanceTarget.sol/ && f{exit}'"' AUDIT_BUNDLE.txt" in /tmp/codex-multi-a72k9sp_ succeeded in 9ms:
[codex:576980] ================================================================================
[codex:576980] // SPDX-License-Identifier: MIT
[codex:576980] 
[codex:576980] pragma solidity ^0.6.5;
[codex:576980] 
[codex:576980] import "@openzeppelin/contracts/utils/Address.sol";
[codex:576980] import "./interfaces/IAllowanceTarget.sol";
[codex:576980] 
[codex:576980] /**
[codex:576980]  * @dev AllowanceTarget contract
[codex:576980]  */
[codex:576980] contract AllowanceTarget is IAllowanceTarget {
[codex:576980]     using Address for address;
[codex:576980] 
[codex:576980]     uint256 constant private TIME_LOCK_DURATION = 1 days;
[codex:576980] 
[codex:576980]     address public spender;
[codex:576980]     address public newSpender;
[codex:576980]     uint256 public timelockExpirationTime;
[codex:576980] 
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Analyzing spender control and timelock**
[codex:576980] exec
[codex:576980] /bin/bash -lc "awk 'f{print} /"'^FILE: contracts'"\\/contracts\\/MarketMakerProxy.sol/{f=1} /"'^FILE: contracts'"\\/contracts\\// && "'$0 !~ /MarketMakerProxy.sol/ && f{exit}'"' AUDIT_BUNDLE.txt" in /tmp/codex-multi-a72k9sp_ succeeded in 8ms:
[codex:576980] ================================================================================
[codex:576980] pragma solidity ^0.6.0;
[codex:576980] 
[codex:576980] import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:576980] import "@openzeppelin/contracts/token/ERC20/SafeERC20.sol";
[codex:576980] import "./interfaces/IWeth.sol";
[codex:576980] import "./pmm/mmp/Ownable.sol";
[codex:576980] import "./pmm/0xLibs/LibDecoder.sol";
[codex:576980] 
[codex:576980] interface IIMBTC {
[codex:576980]     function burn(uint256 amount, bytes calldata data) external;
[codex:576980] }
[codex:576980] 
[codex:576980] interface IWBTC {
[codex:576980]     function burn(uint256 value) external;
[codex:576980] }
[codex:576980] 
[codex:576980] contract MarketMakerProxy is 
[codex:576980]     Ownable,
[codex:576980]     LibDecoder
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Inspecting Ownable in MarketMakerProxy context**
[codex:576980] exec
[codex:576980] /bin/bash -lc "awk 'f{print} /"'^FILE: contracts'"\\/contracts\\/pmm\\/mmp\\/Ownable.sol/{f=1} /"'^FILE: contracts'"\\/contracts\\// && "'$0 !~ /pmm'"\\/mmp\\/Ownable.sol/ && f{exit}' AUDIT_BUNDLE.txt" in /tmp/codex-multi-a72k9sp_ succeeded in 8ms:
[codex:576980] ================================================================================
[codex:576980] pragma solidity ^0.6.0;
[codex:576980] 
[codex:576980] contract Ownable {
[codex:576980]   address public owner;
[codex:576980]   address public operator;
[codex:576980] 
[codex:576980]   constructor ()
[codex:576980]     public
[codex:576980]   {
[codex:576980]     owner = msg.sender;
[codex:576980]   }
[codex:576980] 
[codex:576980]   modifier onlyOwner() {
[codex:576980]     require(
[codex:576980]       msg.sender == owner,
[codex:576980]       "Ownable: only contract owner"
[codex:576980]     );
[codex:576980]     _;
[codex:576980]   }
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Reviewing MarketMakerProxy contract details**
[codex:576980] exec
[codex:576980] /bin/bash -lc "awk 'f{print} /"'^FILE: contracts'"\\/contracts\\/PMM.sol/{f=1} /"'^FILE: contracts'"\\/contracts\\// && "'$0 !~ /PMM.sol/ && f{exit}'"' AUDIT_BUNDLE.txt" in /tmp/codex-multi-a72k9sp_ succeeded in 8ms:
[codex:576980] ================================================================================
[codex:576980] pragma solidity ^0.6.0;
[codex:576980] pragma experimental ABIEncoderV2;
[codex:576980] 
[codex:576980] import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:576980] import "@openzeppelin/contracts/token/ERC20/SafeERC20.sol";
[codex:576980] import "@openzeppelin/contracts/math/SafeMath.sol";
[codex:576980] import "@openzeppelin/contracts/utils/ReentrancyGuard.sol";
[codex:576980] import "@openzeppelin/contracts/utils/Address.sol";
[codex:576980] import "./pmm/0xLibs/LibOrder.sol";
[codex:576980] import "./pmm/0xLibs/LibDecoder.sol";
[codex:576980] import "./pmm/0xLibs/LibEncoder.sol";
[codex:576980] import "./interfaces/ISpender.sol";
[codex:576980] import "./interfaces/IZeroExchange.sol";
[codex:576980] import "./interfaces/IWeth.sol";
[codex:576980] import "./interfaces/IPMM.sol";
[codex:576980] import "./interfaces/IPermanentStorage.sol";
[codex:576980] import "./interfaces/IERC1271Wallet.sol";
[codex:576980] 
[codex:576980] contract PMM is
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Analyzing feeFactor usage in 0x orders**
[codex:576980] exec
[codex:576980] /bin/bash -lc "awk 'f{print} /"'^FILE: contracts'"\\/contracts\\/pmm\\/0xLibs\\/LibDecoder.sol/{f=1} /"'^FILE: contracts'"\\/contracts\\// && "'$0 !~ /pmm'"\\/0xLibs\\/LibDecoder.sol/ && f{exit}' AUDIT_BUNDLE.txt" in /tmp/codex-multi-a72k9sp_ succeeded in 8ms:
[codex:576980] ================================================================================
[codex:576980] pragma solidity ^0.6.0;
[codex:576980] pragma experimental ABIEncoderV2;
[codex:576980] 
[codex:576980] import "./LibOrder.sol";
[codex:576980] import "../../utils/LibBytes.sol";
[codex:576980] 
[codex:576980] contract LibDecoder {
[codex:576980]     using LibBytes for bytes;
[codex:576980] 
[codex:576980]     function decodeFillOrder(bytes memory data) internal pure returns(LibOrder.Order memory order, uint256 takerFillAmount, bytes memory mmSignature) {
[codex:576980]         require(
[codex:576980]             data.length > 800,
[codex:576980]             "LibDecoder: LENGTH_LESS_800"
[codex:576980]         );
[codex:576980] 
[codex:576980]         // compare method_id
[codex:576980]         // 0x64a3bc15 is fillOrKillOrder's method id.
[codex:576980]         require(
[codex:576980]             data.readBytes4(0) == 0x64a3bc15,
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Analyzing signature and replay protections**
[codex:576980] exec
[codex:576980] /bin/bash -lc "awk 'f{print} /"'^FILE: contracts'"\\/contracts\\/PermanentStorage.sol/{f=1} /"'^FILE: contracts'"\\/contracts\\// && "'$0 !~ /PermanentStorage.sol/ && f{exit}'"' AUDIT_BUNDLE.txt" in /tmp/codex-multi-a72k9sp_ succeeded in 7ms:
[codex:576980] ================================================================================
[codex:576980] // SPDX-License-Identifier: MIT
[codex:576980] 
[codex:576980] pragma solidity ^0.6.5;
[codex:576980] 
[codex:576980] import "./interfaces/IPermanentStorage.sol";
[codex:576980] import "./utils/lib_storage/PSStorage.sol";
[codex:576980] 
[codex:576980] contract PermanentStorage is IPermanentStorage {
[codex:576980] 
[codex:576980]     // Constants do not have storage slot.
[codex:576980]     bytes32 public constant curveTokenIndexStorageId = 0xf4c750cdce673f6c35898d215e519b86e3846b1f0532fb48b84fe9d80f6de2fc; // keccak256("curveTokenIndex")
[codex:576980]     bytes32 public constant transactionSeenStorageId = 0x695d523b8578c6379a2121164fd8de334b9c5b6b36dff5408bd4051a6b1704d0;  // keccak256("transactionSeen")
[codex:576980]     bytes32 public constant relayerValidStorageId = 0x2c97779b4deaf24e9d46e02ec2699240a957d92782b51165b93878b09dd66f61;  // keccak256("relayerValid")
[codex:576980] 
[codex:576980]     // New supported Curve pools
[codex:576980]     address public constant CURVE_renBTC_POOL = 0x93054188d876f558f4a66B2EF1d97d16eDf0895B;
[codex:576980]     address public constant CURVE_sBTC_POOL = 0x7fC77b5c7614E1533320Ea6DDc2Eb61fa00A9714;
[codex:576980]     address public constant CURVE_hBTC_POOL = 0x4CA9b3063Ec5866A4B82E437059D2C43d1be596F;
[codex:576980]     address public constant CURVE_sETH_POOL = 0xc5424B857f758E906013F3555Dad202e4bdB4567;
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Analyzing initialize function's access control**
[codex:576980] exec
[codex:576980] /bin/bash -lc "awk 'f{print} /"'^FILE: contracts'"\\/contracts\\/RFQ.sol/{f=1} /"'^FILE: contracts'"\\/contracts\\// && "'$0 !~ /RFQ.sol/ && f{exit}'"' AUDIT_BUNDLE.txt" in /tmp/codex-multi-a72k9sp_ succeeded in 8ms:
[codex:576980] ================================================================================
[codex:576980] pragma solidity ^0.6.0;
[codex:576980] pragma experimental ABIEncoderV2;
[codex:576980] 
[codex:576980] import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:576980] import "@openzeppelin/contracts/token/ERC20/SafeERC20.sol";
[codex:576980] import "@openzeppelin/contracts/math/SafeMath.sol";
[codex:576980] import "@openzeppelin/contracts/utils/ReentrancyGuard.sol";
[codex:576980] import "@openzeppelin/contracts/utils/Address.sol";
[codex:576980] import "./interfaces/ISpender.sol";
[codex:576980] import "./interfaces/IWeth.sol";
[codex:576980] import "./interfaces/IRFQ.sol";
[codex:576980] import "./interfaces/IPermanentStorage.sol";
[codex:576980] import "./interfaces/IERC1271Wallet.sol";
[codex:576980] import "./utils/RFQLibEIP712.sol";
[codex:576980] 
[codex:576980] contract RFQ is
[codex:576980]     ReentrancyGuard,
[codex:576980]     IRFQ,
[codex:576980]     RFQLibEIP712,
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Investigating Spender usage**
[codex:576980] exec
[codex:576980] /bin/bash -lc "awk 'f{print} /"'^FILE: contracts'"\\/contracts\\/Spender.sol/{f=1} /"'^FILE: contracts'"\\/contracts\\// && "'$0 !~ /Spender.sol/ && f{exit}'"' AUDIT_BUNDLE.txt" in /tmp/codex-multi-a72k9sp_ succeeded in 7ms:
[codex:576980] ================================================================================
[codex:576980] // SPDX-License-Identifier: MIT
[codex:576980] 
[codex:576980] pragma solidity ^0.6.5;
[codex:576980] 
[codex:576980] import "@openzeppelin/contracts/math/SafeMath.sol";
[codex:576980] import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:576980] import "./interfaces/IAllowanceTarget.sol";
[codex:576980] 
[codex:576980] /**
[codex:576980]  * @dev Spender contract
[codex:576980]  */
[codex:576980] contract Spender {
[codex:576980]     using SafeMath for uint256;
[codex:576980] 
[codex:576980]     // Constants do not have storage slot.
[codex:576980]     address private constant ETH_ADDRESS = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE;
[codex:576980]     address private constant ZERO_ADDRESS = address(0);
[codex:576980]     uint256 constant private TIME_LOCK_DURATION = 1 days;
[codex:576980] 
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Analyzing spendFromUserTo balance check issue**
[codex:576980] exec
[codex:576980] /bin/bash -lc 'rg -n "spendFromUserTo" -n contracts -S' in /tmp/codex-multi-a72k9sp_ succeeded in 8ms:
[codex:576980] contracts/contracts/Spender.sol:246:    function spendFromUserTo(address _user, address _tokenAddr, address _receiver, uint256 _amount) external onlyAuthorized {
[codex:576980] contracts/contracts/interfaces/ISpender.sol:5:    function spendFromUserTo(address _user, address _tokenAddr, address _receiverAddr, uint256 _amount) external;
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Analyzing potential issues in spender functions**
[codex:576980] exec
[codex:576980] /bin/bash -lc "awk 'f{print} /"'^FILE: contracts'"\\/contracts\\/SpenderSimulation.sol/{f=1} /"'^FILE: contracts'"\\/contracts\\// && "'$0 !~ /SpenderSimulation.sol/ && f{exit}'"' AUDIT_BUNDLE.txt" in /tmp/codex-multi-a72k9sp_ succeeded in 7ms:
[codex:576980] ================================================================================
[codex:576980] pragma solidity ^0.6.0;
[codex:576980] 
[codex:576980] import "./interfaces/IHasBlackListERC20Token.sol";
[codex:576980] import "./interfaces/ISpender.sol";
[codex:576980] 
[codex:576980] contract SpenderSimulation {
[codex:576980]     ISpender public immutable spender;
[codex:576980] 
[codex:576980]     mapping(address => bool) public hasBlackListERC20Tokens;
[codex:576980] 
[codex:576980]     modifier checkBlackList(address _tokenAddr, address _user) {
[codex:576980]         if (hasBlackListERC20Tokens[_tokenAddr]) {
[codex:576980]             IHasBlackListERC20Token hasBlackListERC20Token = IHasBlackListERC20Token(_tokenAddr);
[codex:576980]             require(!hasBlackListERC20Token.isBlackListed(_user), "SpenderSimulation: user in token's blacklist");
[codex:576980]         }
[codex:576980]         _;
[codex:576980]     }
[codex:576980] 
[codex:576980]     /************************************************************
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Checking Tokenlon in simulation**
[codex:576980] exec
[codex:576980] /bin/bash -lc "awk 'f{print} /"'^FILE: contracts'"\\/contracts\\/Tokenlon.sol/{f=1} /"'^FILE: contracts'"\\/contracts\\// && "'$0 !~ /Tokenlon.sol/ && f{exit}'"' AUDIT_BUNDLE.txt" in /tmp/codex-multi-a72k9sp_ succeeded in 7ms:
[codex:576980] ================================================================================
[codex:576980] // SPDX-License-Identifier: MIT
[codex:576980] 
[codex:576980] pragma solidity ^0.6.0;
[codex:576980] 
[codex:576980] import "./upgrade_proxy/TransparentUpgradeableProxy.sol";
[codex:576980] 
[codex:576980] contract Tokenlon is TransparentUpgradeableProxy {
[codex:576980]     constructor(address _logic, address _admin, bytes memory _data) public payable TransparentUpgradeableProxy(_logic, _admin, _data) {}
[codex:576980] }
[codex:576980] 
[codex:576980] ================================================================================
[codex:576980] FILE: contracts/contracts/interfaces/IAMM.sol
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Checking proxy contracts**
[codex:576980] exec
[codex:576980] /bin/bash -lc "awk 'f{print} /"'^FILE: contracts'"\\/contracts\\/upgrade_proxy\\/Proxy.sol/{f=1} /"'^FILE: contracts'"\\/contracts\\// && "'$0 !~ /upgrade_proxy'"\\/Proxy.sol/ && f{exit}' AUDIT_BUNDLE.txt" in /tmp/codex-multi-a72k9sp_ succeeded in 9ms:
[codex:576980] ================================================================================
[codex:576980] // SPDX-License-Identifier: MIT
[codex:576980] 
[codex:576980] pragma solidity >=0.6.0 <0.8.0;
[codex:576980] 
[codex:576980] /**
[codex:576980]  * @dev This abstract contract provides a fallback function that delegates all calls to another contract using the EVM
[codex:576980]  * instruction `delegatecall`. We refer to the second contract as the _implementation_ behind the proxy, and it has to
[codex:576980]  * be specified by overriding the virtual {_implementation} function.
[codex:576980]  * 
[codex:576980]  * Additionally, delegation to the implementation can be triggered manually through the {_fallback} function, or to a
[codex:576980]  * different contract through the {_delegate} function.
[codex:576980]  * 
[codex:576980]  * The success and return data of the delegated call will be returned back to the caller of the proxy.
[codex:576980]  */
[codex:576980] abstract contract Proxy {
[codex:576980]     /**
[codex:576980]      * @dev Delegates the current call to `implementation`.
[codex:576980]      * 
[codex:576980]      * This function does not return to its internall call site, it will return directly to the external caller.
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Examining TransparentUpgradeableProxy**
[codex:576980] exec
[codex:576980] /bin/bash -lc "awk 'f{print} /"'^FILE: contracts'"\\/contracts\\/upgrade_proxy\\/TransparentUpgradeableProxy.sol/{f=1} /"'^FILE: contracts'"\\/contracts\\// && "'$0 !~ /upgrade_proxy'"\\/TransparentUpgradeableProxy.sol/ && f{exit}' AUDIT_BUNDLE.txt" in /tmp/codex-multi-a72k9sp_ succeeded in 9ms:
[codex:576980] ================================================================================
[codex:576980] // SPDX-License-Identifier: MIT
[codex:576980] 
[codex:576980] pragma solidity >=0.6.0 <0.8.0;
[codex:576980] 
[codex:576980] import "./UpgradeableProxy.sol";
[codex:576980] 
[codex:576980] /**
[codex:576980]  * @dev This contract implements a proxy that is upgradeable by an admin.
[codex:576980]  * 
[codex:576980]  * To avoid https://medium.com/nomic-labs-blog/malicious-backdoors-in-ethereum-proxies-62629adf3357[proxy selector
[codex:576980]  * clashing], which can potentially be used in an attack, this contract uses the
[codex:576980]  * https://blog.openzeppelin.com/the-transparent-proxy-pattern/[transparent proxy pattern]. This pattern implies two
[codex:576980]  * things that go hand in hand:
[codex:576980]  * 
[codex:576980]  * 1. If any account other than the admin calls the proxy, the call will be forwarded to the implementation, even if
[codex:576980]  * that call matches one of the admin functions exposed by the proxy itself.
[codex:576980]  * 2. If the admin calls the proxy, it can access the admin functions, but its calls will never be forwarded to the
[codex:576980]  * implementation. If the admin tries to call a function on the implementation it will fail with an error that says
[codex:576980]  * "admin cannot fallback to proxy target".
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Noticing UpgradeableProxy reference**
[codex:576980] exec
[codex:576980] /bin/bash -lc "awk 'f{print} /"'^FILE: contracts'"\\/contracts\\/upgrade_proxy\\/UpgradeableProxy.sol/{f=1} /"'^FILE: contracts'"\\/contracts\\// && "'$0 !~ /upgrade_proxy'"\\/UpgradeableProxy.sol/ && f{exit}' AUDIT_BUNDLE.txt" in /tmp/codex-multi-a72k9sp_ succeeded in 9ms:
[codex:576980] ================================================================================
[codex:576980] // SPDX-License-Identifier: MIT
[codex:576980] 
[codex:576980] pragma solidity >=0.6.0 <0.8.0;
[codex:576980] 
[codex:576980] import "@openzeppelin/contracts/utils/Address.sol";
[codex:576980] 
[codex:576980] import "./Proxy.sol";
[codex:576980] 
[codex:576980] /**
[codex:576980]  * @dev This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an
[codex:576980]  * implementation address that can be changed. This address is stored in storage in the location specified by
[codex:576980]  * https://eips.ethereum.org/EIPS/eip-1967[EIP1967], so that it doesn't conflict with the storage layout of the
[codex:576980]  * implementation behind the proxy.
[codex:576980]  * 
[codex:576980]  * Upgradeability is only provided internally through {_upgradeTo}. For an externally upgradeable proxy see
[codex:576980]  * {TransparentUpgradeableProxy}.
[codex:576980]  */
[codex:576980] contract UpgradeableProxy is Proxy {
[codex:576980]     /**
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Examining proxy upgrade risks**
[codex:576980] exec
[codex:576980] /bin/bash -lc "awk 'f{print} /"'^FILE: contracts'"\\/contracts\\/multi_sig\\/MultiSig.sol/{f=1} /"'^FILE: contracts'"\\/contracts\\// && "'$0 !~ /multi_sig'"\\/MultiSig.sol/ && f{exit}' AUDIT_BUNDLE.txt" in /tmp/codex-multi-a72k9sp_ succeeded in 9ms:
[codex:576980] ================================================================================
[codex:576980] pragma solidity 0.6.12;
[codex:576980] 
[codex:576980] import "../utils/LibBytes.sol";
[codex:576980] import "./MultiSigLibEIP712.sol";
[codex:576980] 
[codex:576980] /**
[codex:576980]  * @title MultiSig
[codex:576980]  * @author dYdX
[codex:576980]  *
[codex:576980]  * Multi-Signature Wallet.
[codex:576980]  * Allows multiple parties to agree on transactions before execution.
[codex:576980]  * Adapted from Stefan George's MultiSigWallet contract.
[codex:576980]  *
[codex:576980]  * Logic Changes:
[codex:576980]  *  - Removed the fallback function
[codex:576980]  *  - Ensure newOwner is notNull
[codex:576980]  *
[codex:576980]  * Syntax Changes:
[codex:576980]  *  - Update Solidity syntax for 0.5.X: use `emit` keyword (events), use `view` keyword (functions)
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Analyzing multisig reentrancy and meta-transaction risks**
[codex:576980] exec
[codex:576980] /bin/bash -lc "awk 'f{print} /"'^FILE: contracts'"\\/contracts\\/multi_sig\\/DelayedMultiSig.sol/{f=1} /"'^FILE: contracts'"\\/contracts\\// && "'$0 !~ /multi_sig'"\\/DelayedMultiSig.sol/ && f{exit}' AUDIT_BUNDLE.txt" in /tmp/codex-multi-a72k9sp_ succeeded in 9ms:
[codex:576980] ================================================================================
[codex:576980] pragma solidity 0.6.12;
[codex:576980] 
[codex:576980] import "./MultiSig.sol";
[codex:576980] 
[codex:576980] // File: contracts/external/multisig/DelayedMultiSig.sol
[codex:576980] 
[codex:576980] /**
[codex:576980]  * @title DelayedMultiSig
[codex:576980]  * @author dYdX
[codex:576980]  *
[codex:576980]  * Multi-Signature Wallet with delay in execution.
[codex:576980]  * Allows multiple parties to execute a transaction after a time lock has passed.
[codex:576980]  * Adapted from Amir Bandeali's MultiSigWalletWithTimeLock contract.
[codex:576980] 
[codex:576980]  * Logic Changes:
[codex:576980]  *  - Only owners can execute transactions
[codex:576980]  *  - Require that each transaction succeeds
[codex:576980]  *  - Added function to execute multiple transactions within the same Ethereum transaction
[codex:576980]  */
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Considering PartiallyDelayedMultiSig**
[codex:576980] exec
[codex:576980] /bin/bash -lc "awk 'f{print} /"'^FILE: contracts'"\\/contracts\\/multi_sig\\/PartiallyDelayedMultiSig.sol/{f=1} /"'^FILE: contracts'"\\/contracts\\// && "'$0 !~ /multi_sig'"\\/PartiallyDelayedMultiSig.sol/ && f{exit}' AUDIT_BUNDLE.txt" in /tmp/codex-multi-a72k9sp_ succeeded in 10ms:
[codex:576980] ================================================================================
[codex:576980] pragma solidity 0.6.12;
[codex:576980] 
[codex:576980] import "./DelayedMultiSig.sol";
[codex:576980] 
[codex:576980] // File: contracts/external/multisig/PartiallyDelayedMultiSig.sol
[codex:576980] 
[codex:576980] /**
[codex:576980]  * @title PartiallyDelayedMultiSig
[codex:576980]  * @author dYdX
[codex:576980]  *
[codex:576980]  * Multi-Signature Wallet with delay in execution except for some function selectors.
[codex:576980]  */
[codex:576980] contract PartiallyDelayedMultiSig is
[codex:576980]     DelayedMultiSig
[codex:576980] {
[codex:576980]     // ============ Events ============
[codex:576980] 
[codex:576980]     event SelectorSet(address destination, bytes4 selector, bool approved);
[codex:576980] 
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Checking MiningTreasury reference**
[codex:576980] exec
[codex:576980] /bin/bash -lc "awk 'f{print} /"'^FILE: contracts'"\\/contracts\\/multi_sig\\/MiningTreasury.sol/{f=1} /"'^FILE: contracts'"\\/contracts\\// && "'$0 !~ /multi_sig'"\\/MiningTreasury.sol/ && f{exit}' AUDIT_BUNDLE.txt" in /tmp/codex-multi-a72k9sp_ succeeded in 7ms:
[codex:576980] ================================================================================
[codex:576980] pragma solidity 0.6.12;
[codex:576980] 
[codex:576980] import "./MultiSig.sol";
[codex:576980] 
[codex:576980] contract MiningTreasury is MultiSig {
[codex:576980]     constructor (
[codex:576980]         address[] memory _owners,
[codex:576980]         uint256 _required
[codex:576980]     )
[codex:576980]         public
[codex:576980]         MultiSig(_owners, _required)
[codex:576980]     {
[codex:576980]     }
[codex:576980] }
[codex:576980] 
[codex:576980] ================================================================================
[codex:576980] FILE: contracts/contracts/multi_sig/MultiSig.sol
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Inspecting UserProxyStub**
[codex:576980] exec
[codex:576980] /bin/bash -lc "awk 'f{print} /"'^FILE: contracts'"\\/contracts\\/stub\\/UserProxyStub.sol/{f=1} /"'^FILE: contracts'"\\/contracts\\// && "'$0 !~ /stub'"\\/UserProxyStub.sol/ && f{exit}' AUDIT_BUNDLE.txt" in /tmp/codex-multi-a72k9sp_ succeeded in 9ms:
[codex:576980] ================================================================================
[codex:576980] // SPDX-License-Identifier: MIT
[codex:576980] 
[codex:576980] pragma solidity ^0.6.5;
[codex:576980] 
[codex:576980] import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:576980] import "@openzeppelin/contracts/token/ERC20/SafeERC20.sol";
[codex:576980] import "../interfaces/IAMM.sol";
[codex:576980] 
[codex:576980] contract UserProxyStub {
[codex:576980]     using SafeERC20 for IERC20;
[codex:576980] 
[codex:576980]     // Constants do not have storage slot.
[codex:576980]     uint256 private constant MAX_UINT = 2**256 - 1;
[codex:576980]     address private constant ETH_ADDRESS = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE;
[codex:576980]     address private constant ZERO_ADDRESS = address(0);
[codex:576980] 
[codex:576980]     /**
[codex:576980]      * @dev Below are the variables which consume storage slots.
[codex:576980]      */
[codex:576980] 
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Analyzing potential trading contract vulnerabilities**
[codex:576980] 
[codex:576980] I'm carefully reviewing various components in the core trading contracts, focusing on signature validation, external calls, reentrancy protections, and transaction replay safeguards. I'm tracing subtle risks like signature malleability, tx.origin usage for relayer checks, and how msg.value flows in Curve and Uniswap trades to understand if any might cause unexpected behaviors or attacks. There's a lot to unpack here, especially around replay prevention, token approvals, and how trade parameters (like paths) could be manipulated by relayers without user consent. Let's explore this further!
[codex:576980] thinking
[codex:576980] **Examining trade settlement fee logic**
[codex:576980] exec
[codex:576980] /bin/bash -lc "awk 'f{print} /"'^FILE: contracts'"\\/contracts\\/utils\\/RFQLibEIP712.sol/{f=1} /"'^FILE: contracts'"\\/contracts\\// && "'$0 !~ /RFQLibEIP712.sol/ && f{exit}'"' AUDIT_BUNDLE.txt" in /tmp/codex-multi-a72k9sp_ succeeded in 9ms:
[codex:576980] ================================================================================
[codex:576980] pragma solidity ^0.6.0;
[codex:576980] 
[codex:576980] import "./BaseLibEIP712.sol";
[codex:576980] import "./SignatureValidator.sol";
[codex:576980] 
[codex:576980] contract RFQLibEIP712 is BaseLibEIP712 {
[codex:576980]     /***********************************|
[codex:576980]     |             Constants             |
[codex:576980]     |__________________________________*/
[codex:576980]     
[codex:576980] 
[codex:576980]     struct Order {
[codex:576980]         address takerAddr;
[codex:576980]         address makerAddr;
[codex:576980]         address takerAssetAddr;
[codex:576980]         address makerAssetAddr;
[codex:576980]         uint256 takerAssetAmount;
[codex:576980]         uint256 makerAssetAmount;
[codex:576980]         address receiverAddr;
[codex:576980] 
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Analyzing signature and proxy risks**
[codex:576980] thinking
[codex:576980] **Checking signature malleability handling**
[codex:576980] exec
[codex:576980] /bin/bash -lc "awk 'f{print} /"'^FILE: contracts'"\\/contracts\\/pmm\\/0xLibs\\/LibOrder.sol/{f=1} /"'^FILE: contracts'"\\/contracts\\// && "'$0 !~ /pmm'"\\/0xLibs\\/LibOrder.sol/ && f{exit}' AUDIT_BUNDLE.txt" in /tmp/codex-multi-a72k9sp_ succeeded in 8ms:
[codex:576980] ================================================================================
[codex:576980] /*
[codex:576980] 
[codex:576980]   Copyright 2018 ZeroEx Intl.
[codex:576980] 
[codex:576980]   Licensed under the Apache License, Version 2.0 (the "License");
[codex:576980]   you may not use this file except in compliance with the License.
[codex:576980]   You may obtain a copy of the License at
[codex:576980] 
[codex:576980]     http://www.apache.org/licenses/LICENSE-2.0
[codex:576980] 
[codex:576980]   Unless required by applicable law or agreed to in writing, software
[codex:576980]   distributed under the License is distributed on an "AS IS" BASIS,
[codex:576980]   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:576980]   See the License for the specific language governing permissions and
[codex:576980]   limitations under the License.
[codex:576980] 
[codex:576980] */
[codex:576980] 
[codex:576980] pragma solidity ^0.6.0;
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Analyzing AMMWrapper and SignatureValidator vulnerabilities**
[codex:576980] exec
[codex:576980] /bin/bash -lc 'rg -n "delegatecall" AUDIT_BUNDLE.txt' in /tmp/codex-multi-a72k9sp_ succeeded in 9ms:
[codex:576980] 550:        (bool success, bytes memory returndata) = target.delegatecall(data);
[codex:576980] 5984: * instruction `delegatecall`. We refer to the second contract as the _implementation_ behind the proxy, and it has to
[codex:576980] 6008:            let result := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0)
[codex:576980] 6014:            // delegatecall returns 0 on error.
[codex:576980] 6183:        (bool success,) = newImplementation.delegatecall(data);
[codex:576980] 6251:            (bool success,) = _logic.delegatecall(_data);
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Analyzing AMMWrapper and RFQ contract risks**
[codex:576980] exec
[codex:576980] /bin/bash -lc "rg -n \"tx\\.origin\" -n contracts/contracts AUDIT_BUNDLE.txt" in /tmp/codex-multi-a72k9sp_ succeeded in 9ms:
[codex:576980] AUDIT_BUNDLE.txt:1231:        if (! permStorage.isRelayerValid(tx.origin)) {
[codex:576980] AUDIT_BUNDLE.txt:1619:        if (! permStorage.isRelayerValid(tx.origin)) {
[codex:576980] contracts/contracts/AMMWrapper.sol:244:        if (! permStorage.isRelayerValid(tx.origin)) {
[codex:576980] contracts/contracts/AMMWrapperWithPath.sol:65:        if (! permStorage.isRelayerValid(tx.origin)) {
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Analyzing reentrancy, access control, and signature validation**
[codex:576980] exec
[codex:576980] /bin/bash -lc 'rg -n "TODO|FIXME|BUG" contracts/contracts' in /tmp/codex-multi-a72k9sp_ exited 1 in 9ms:
[codex:576980] 
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Evaluating potential initialization vulnerability**
[codex:576980] exec
[codex:576980] /bin/bash -lc "rg -n \"\\.call\\{|\\.call\\(\" contracts/contracts" in /tmp/codex-multi-a72k9sp_ succeeded in 9ms:
[codex:576980] contracts/contracts/AllowanceTarget.sol:73:        (success, resultData) = target.call(callData);
[codex:576980] contracts/contracts/stub/UserProxyStub.sol:60:        (bool callSucceed,) = ammWrapperAddr.call{value: msg.value}(_payload);
[codex:576980] contracts/contracts/stub/UserProxyStub.sol:73:        (bool callSucceed,) = pmmAddr.call{value: msg.value}(_payload);
[codex:576980] contracts/contracts/stub/UserProxyStub.sol:86:        (bool callSucceed,) = rfqAddr.call{value: msg.value}(_payload);
[codex:576980] contracts/contracts/Spender.sol:217:            (bool callSucceed, bytes memory returndata) = address(allowanceTarget).call{gas: gasStipend}(
[codex:576980] contracts/contracts/Spender.sol:258:            (bool callSucceed, bytes memory returndata) = address(allowanceTarget).call{gas: gasStipend}(
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Reviewing external calls and authorization logic**
[codex:576980] exec
[codex:576980] /bin/bash -lc "awk 'f{print} /"'^FILE: contracts'"\\/contracts\\/multi_sig\\/MultiSigLibEIP712.sol/{f=1} /"'^FILE: contracts'"\\/contracts\\// && "'$0 !~ /multi_sig'"\\/MultiSigLibEIP712.sol/ && f{exit}' AUDIT_BUNDLE.txt" in /tmp/codex-multi-a72k9sp_ succeeded in 8ms:
[codex:576980] ================================================================================
[codex:576980] pragma solidity 0.6.12;
[codex:576980] 
[codex:576980] contract MultiSigLibEIP712 {
[codex:576980]     /***********************************|
[codex:576980]   |             Constants             |
[codex:576980]   |__________________________________*/
[codex:576980] 
[codex:576980]     // EIP712Domain
[codex:576980]     string public constant EIP712_DOMAIN_NAME = "MultiSig";
[codex:576980]     string public constant EIP712_DOMAIN_VERSION = "v1";
[codex:576980] 
[codex:576980]     // EIP712Domain Separator
[codex:576980]     bytes32 public EIP712_DOMAIN_SEPARATOR;
[codex:576980] 
[codex:576980]     // SUBMIT_TRANSACTION_TYPE_HASH = keccak256("submitTransaction(uint256 transactionId,address destination,uint256 value,bytes data)");
[codex:576980]     bytes32 public constant SUBMIT_TRANSACTION_TYPE_HASH = 0x2c78e27c3bb2592e67e8d37ad1a95bfccd188e77557c22593b1af0b920a08295;
[codex:576980] 
[codex:576980]     // CONFIRM_TRANSACTION_TYPE_HASH = keccak256("confirmTransaction(uint256 transactionId)");
[codex:576980]     bytes32 public constant CONFIRM_TRANSACTION_TYPE_HASH = 0x3e96bdc38d4133bc81813a187b2d41bc74332643ce7dbe82c7d94ead8366a65f;
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Analyzing potential contract vulnerabilities**
[codex:576980] exec
[codex:576980] /bin/bash -lc "awk 'f{print} /"'^FILE: contracts'"\\/contracts\\/pmm\\/0xLibs\\/LibEncoder.sol/{f=1} /"'^FILE: contracts'"\\/contracts\\// && "'$0 !~ /pmm'"\\/0xLibs\\/LibEncoder.sol/ && f{exit}' AUDIT_BUNDLE.txt" in /tmp/codex-multi-a72k9sp_ succeeded in 9ms:
[codex:576980] ================================================================================
[codex:576980] pragma solidity ^0.6.0;
[codex:576980] pragma experimental ABIEncoderV2;
[codex:576980] 
[codex:576980] import "./LibEIP712.sol";
[codex:576980] 
[codex:576980] contract LibEncoder is
[codex:576980]     LibEIP712
[codex:576980] {
[codex:576980]     // Hash for the EIP712 ZeroEx Transaction Schema
[codex:576980]     bytes32 constant internal EIP712_ZEROEX_TRANSACTION_SCHEMA_HASH = keccak256(
[codex:576980]         abi.encodePacked(
[codex:576980]         "ZeroExTransaction(",
[codex:576980]         "uint256 salt,",
[codex:576980]         "address signerAddress,",
[codex:576980]         "bytes data",
[codex:576980]         ")"
[codex:576980]     ));
[codex:576980] 
[codex:576980]     function encodeTransactionHash(
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Analyzing potential security concerns across contracts**
[codex:576980] exec
[codex:576980] /bin/bash -lc "awk 'f{print} /"'^FILE: contracts'"\\/contracts\\/utils\\/LibBytes.sol/{f=1} /"'^FILE: contracts'"\\/contracts\\// && "'$0 !~ /LibBytes.sol/ && f{exit}'"' AUDIT_BUNDLE.txt" in /tmp/codex-multi-a72k9sp_ succeeded in 10ms:
[codex:576980] ================================================================================
[codex:576980] /*
[codex:576980]   Copyright 2018 ZeroEx Intl.
[codex:576980]   Licensed under the Apache License, Version 2.0 (the "License");
[codex:576980]   you may not use this file except in compliance with the License.
[codex:576980]   You may obtain a copy of the License at
[codex:576980]   http://www.apache.org/licenses/LICENSE-2.0
[codex:576980]   Unless required by applicable law or agreed to in writing, software
[codex:576980]   distributed under the License is distributed on an "AS IS" BASIS,
[codex:576980]   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:576980]   See the License for the specific language governing permissions and
[codex:576980]   limitations under the License.
[codex:576980]   This is a truncated version of the original LibBytes.sol library from ZeroEx.
[codex:576980] */
[codex:576980] 
[codex:576980] pragma solidity ^0.6.0;
[codex:576980] 
[codex:576980] 
[codex:576980] library LibBytes {
[codex:576980]   using LibBytes for bytes;
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Evaluating potential vulnerabilities in spending and proxy contracts**
[codex:576980] exec
[codex:576980] /bin/bash -lc 'rg -n "selfdestruct" contracts/contracts' in /tmp/codex-multi-a72k9sp_ succeeded in 9ms:
[codex:576980] contracts/contracts/AllowanceTarget.sol:55:        selfdestruct(payable(spender));
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Identifying signature validation risk in MarketMakerProxy**
[codex:576980] exec
[codex:576980] /bin/bash -lc "nl -ba contracts/contracts/MarketMakerProxy.sol | sed -n '1,200p'" in /tmp/codex-multi-a72k9sp_ succeeded in 6ms:
[codex:576980]      1	pragma solidity ^0.6.0;
[codex:576980]      2	
[codex:576980]      3	import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:576980]      4	import "@openzeppelin/contracts/token/ERC20/SafeERC20.sol";
[codex:576980]      5	import "./interfaces/IWeth.sol";
[codex:576980]      6	import "./pmm/mmp/Ownable.sol";
[codex:576980]      7	import "./pmm/0xLibs/LibDecoder.sol";
[codex:576980]      8	
[codex:576980]      9	interface IIMBTC {
[codex:576980]     10	    function burn(uint256 amount, bytes calldata data) external;
[codex:576980]     11	}
[codex:576980]     12	
[codex:576980]     13	interface IWBTC {
[codex:576980]     14	    function burn(uint256 value) external;
[codex:576980]     15	}
[codex:576980]     16	
[codex:576980]     17	contract MarketMakerProxy is 
[codex:576980]     18	    Ownable,
[codex:576980]     19	    LibDecoder
[codex:576980]     20	{
[codex:576980] 
[codex:576980] thinking
[codex:576980] **Preparing signature validation vulnerability report**
[codex:576980] codex
[codex:576980] {"no_findings":false,"summary":"Found 1 medium-risk issue in MarketMakerProxy where an unset/zero SIGNER lets invalid signatures pass, potentially enabling unauthorized order validation if misconfigured.","findings":[{"severity":"medium","category":"auth","title":"MarketMakerProxy accepts zero SIGNER, allowing signature bypass with invalid signatures","exploit_scenario":"If SIGNER is never set (default zero) or accidentally set to address(0), an attacker can supply a 65-byte all-zero signature so `ecrecover()` returns address(0). The equality check passes and `isValidSignature` returns the magic value, so external protocols (e.g., 0x) would treat arbitrary orders as signed by the MarketMakerProxy. With existing ERC20 allowances, this can enable draining the proxy’s funds.","recommendation":"Reject zero signers in `setSigner` and/or require `SIGNER != address(0)` inside `isValidSignature`. Consider initializing SIGNER in the constructor and enforcing ECDSA `v`/`s` validity to avoid address(0) recovery on malformed signatures.","evidence":"`SIGNER` is unset by default and `setSigner` does not prevent zero. `isValidSignature` only checks `SIGNER == _ecrecoverAddress(...)`, so invalid signatures that recover to address(0) are accepted when SIGNER is zero.","locations":["contracts/contracts/MarketMakerProxy.sol:25","contracts/contracts/MarketMakerProxy.sol:48","contracts/contracts/MarketMakerProxy.sol:100"]}]}
[codex:576980] tokens used
[codex:576980] 149,964
[codex:576980] {"no_findings":false,"summary":"Found 1 medium-risk issue in MarketMakerProxy where an unset/zero SIGNER lets invalid signatures pass, potentially enabling unauthorized order validation if misconfigured.","findings":[{"severity":"medium","category":"auth","title":"MarketMakerProxy accepts zero SIGNER, allowing signature bypass with invalid signatures","exploit_scenario":"If SIGNER is never set (default zero) or accidentally set to address(0), an attacker can supply a 65-byte all-zero signature so `ecrecover()` returns address(0). The equality check passes and `isValidSignature` returns the magic value, so external protocols (e.g., 0x) would treat arbitrary orders as signed by the MarketMakerProxy. With existing ERC20 allowances, this can enable draining the proxy’s funds.","recommendation":"Reject zero signers in `setSigner` and/or require `SIGNER != address(0)` inside `isValidSignature`. Consider initializing SIGNER in the constructor and enforcing ECDSA `v`/`s` validity to avoid address(0) recovery on malformed signatures.","evidence":"`SIGNER` is unset by default and `setSigner` does not prevent zero. `isValidSignature` only checks `SIGNER == _ecrecoverAddress(...)`, so invalid signatures that recover to address(0) are accepted when SIGNER is zero.","locations":["contracts/contracts/MarketMakerProxy.sol:25","contracts/contracts/MarketMakerProxy.sol:48","contracts/contracts/MarketMakerProxy.sol:100"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-30T01:15:33.565873+00:00",
        "returncode": 0
    },
    "summary": "Found 1 medium-risk issue in MarketMakerProxy where an unset/zero SIGNER lets invalid signatures pass, potentially enabling unauthorized order validation if misconfigured.",
    "raw_final": {
        "summary": "Found 1 medium-risk issue in MarketMakerProxy where an unset/zero SIGNER lets invalid signatures pass, potentially enabling unauthorized order validation if misconfigured.",
        "findings": [
            {
                "title": "MarketMakerProxy accepts zero SIGNER, allowing signature bypass with invalid signatures",
                "category": "auth",
                "evidence": "`SIGNER` is unset by default and `setSigner` does not prevent zero. `isValidSignature` only checks `SIGNER == _ecrecoverAddress(...)`, so invalid signatures that recover to address(0) are accepted when SIGNER is zero.",
                "severity": "medium",
                "locations": [
                    "contracts/contracts/MarketMakerProxy.sol:25",
                    "contracts/contracts/MarketMakerProxy.sol:48",
                    "contracts/contracts/MarketMakerProxy.sol:100"
                ],
                "recommendation": "Reject zero signers in `setSigner` and/or require `SIGNER != address(0)` inside `isValidSignature`. Consider initializing SIGNER in the constructor and enforcing ECDSA `v`/`s` validity to avoid address(0) recovery on malformed signatures.",
                "exploit_scenario": "If SIGNER is never set (default zero) or accidentally set to address(0), an attacker can supply a 65-byte all-zero signature so `ecrecover()` returns address(0). The equality check passes and `isValidSignature` returns the magic value, so external protocols (e.g., 0x) would treat arbitrary orders as signed by the MarketMakerProxy. With existing ERC20 allowances, this can enable draining the proxy\u2019s funds."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
23
EXT*/BALANCE
21
Total opcodes
11174
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 0x018f
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x982f0ef3
00000019: GT
0000001a: PUSH2 0x00d6
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xe0c05c24
00000024: GT
00000025: PUSH2 0x007f
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xf6326fb3
0000002f: GT
00000030: PUSH2 0x0059
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xf6326fb3
0000003a: EQ
0000003b: PUSH2 0x03b9
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xfa4e12d7
00000045: EQ
00000046: PUSH2 0x03ce
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xfd070296
00000050: EQ
00000051: PUSH2 0x03fb
00000054: JUMPI
00000055: PUSH2 0x0196
00000058: JUMP
00000059: JUMPDEST
0000005a: DUP1
0000005b: PUSH4 0xe0c05c24
00000060: EQ
00000061: PUSH2 0x036f
00000064: JUMPI
00000065: DUP1
00000066: PUSH4 0xe8edc816
0000006b: EQ
0000006c: PUSH2 0x0384
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0xf2fde38b
00000076: EQ
00000077: PUSH2 0x0399
0000007a: JUMPI
0000007b: PUSH2 0x0196
0000007e: JUMP
0000007f: JUMPDEST
00000080: DUP1
00000081: PUSH4 0xc49e4fd9
00000086: GT
00000087: PUSH2 0x00b0
0000008a: JUMPI
0000008b: DUP1
0000008c: PUSH4 0xc49e4fd9
00000091: EQ
00000092: PUSH2 0x0330
00000095: JUMPI
00000096: DUP1
00000097: PUSH4 0xdab400f3
0000009c: EQ
0000009d: PUSH2 0x0345
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0xdeb53645
000000a7: EQ
000000a8: PUSH2 0x035a
000000ab: JUMPI
000000ac: PUSH2 0x0196
000000af: JUMP
000000b0: JUMPDEST
000000b1: DUP1
000000b2: PUSH4 0x982f0ef3
000000b7: EQ
000000b8: PUSH2 0x02f1
000000bb: JUMPI
000000bc: DUP1
000000bd: PUSH4 0xa94c12bc
000000c2: EQ
000000c3: PUSH2 0x0306
000000c6: JUMPI
000000c7: DUP1
000000c8: PUSH4 0xbb8a43b9
000000cd: EQ
000000ce: PUSH2 0x031b
000000d1: JUMPI
000000d2: PUSH2 0x0196
000000d5: JUMP
000000d6: JUMPDEST
000000d7: DUP1
000000d8: PUSH4 0x48093018
000000dd: GT
000000de: PUSH2 0x0138
000000e1: JUMPI
000000e2: DUP1
000000e3: PUSH4 0x5cc33321
000000e8: GT
000000e9: PUSH2 0x0112
000000ec: JUMPI
000000ed: DUP1
000000ee: PUSH4 0x5cc33321
000000f3: EQ
000000f4: PUSH2 0x029c
000000f7: JUMPI
000000f8: DUP1
000000f9: PUSH4 0x8225500c
000000fe: EQ
000000ff: PUSH2 0x02b1
00000102: JUMPI
00000103: DUP1
00000104: PUSH4 0x82fdaf58
00000109: EQ
0000010a: PUSH2 0x02d1
0000010d: JUMPI
0000010e: PUSH2 0x0196
00000111: JUMP
00000112: JUMPDEST
00000113: DUP1
00000114: PUSH4 0x48093018
00000119: EQ
0000011a: PUSH2 0x0252
0000011d: JUMPI
0000011e: DUP1
0000011f: PUSH4 0x54fd4d50
00000124: EQ
00000125: PUSH2 0x0265
00000128: JUMPI
00000129: DUP1
0000012a: PUSH4 0x570ca735
0000012f: EQ
00000130: PUSH2 0x0287
00000133: JUMPI
00000134: PUSH2 0x0196
00000137: JUMP
00000138: JUMPDEST
00000139: DUP1
0000013a: PUSH4 0x3ec63216
0000013f: GT
00000140: PUSH2 0x0169
00000143: JUMPI
00000144: DUP1
00000145: PUSH4 0x3ec63216
0000014a: EQ
0000014b: PUSH2 0x0208
0000014e: JUMPI
0000014f: DUP1
00000150: PUSH4 0x3fc8cef3
00000155: EQ
00000156: PUSH2 0x021d
00000159: JUMPI
0000015a: DUP1
0000015b: PUSH4 0x46920bad
00000160: EQ
00000161: PUSH2 0x0232
00000164: JUMPI
00000165: PUSH2 0x0196
00000168: JUMP
00000169: JUMPDEST
0000016a: DUP1
0000016b: PUSH4 0x03ad2aa0
00000170: EQ
00000171: PUSH2 0x019b
00000174: JUMPI
00000175: DUP1
00000176: PUSH4 0x192f0c04
0000017b: EQ
0000017c: PUSH2 0x01c4
0000017f: JUMPI
00000180: DUP1
00000181: PUSH4 0x30db4580
00000186: EQ
00000187: PUSH2 0x01e6
0000018a: JUMPI
0000018b: PUSH2 0x0196
0000018e: JUMP
0000018f: JUMPDEST
00000190: CALLDATASIZE
00000191: PUSH2 0x0196
00000194: JUMPI
00000195: STOP
00000196: JUMPDEST
00000197: PUSH1 0x00
00000199: DUP1
0000019a: REVERT
0000019b: JUMPDEST
0000019c: PUSH2 0x01ae
0000019f: PUSH2 0x01a9
000001a2: CALLDATASIZE
000001a3: PUSH1 0x04
000001a5: PUSH2 0x34fc
000001a8: JUMP
000001a9: JUMPDEST
000001aa: PUSH2 0x0410
000001ad: JUMP
000001ae: JUMPDEST
000001af: PUSH1 0x40
000001b1: MLOAD
000001b2: PUSH2 0x01bb
000001b5: SWAP2
000001b6: SWAP1
000001b7: PUSH2 0x3d04
000001ba: JUMP
000001bb: JUMPDEST
000001bc: PUSH1 0x40
000001be: MLOAD
000001bf: DUP1
000001c0: SWAP2
000001c1: SUB
000001c2: SWAP1
000001c3: RETURN
000001c4: JUMPDEST
000001c5: CALLVALUE
000001c6: DUP1
000001c7: ISZERO
000001c8: PUSH2 0x01d0
000001cb: JUMPI
000001cc: PUSH1 0x00
000001ce: DUP1
000001cf: REVERT
000001d0: JUMPDEST
000001d1: POP
000001d2: PUSH2 0x01d9
000001d5: PUSH2 0x088d
000001d8: JUMP
000001d9: JUMPDEST
000001da: PUSH1 0x40
000001dc: MLOAD
000001dd: PUSH2 0x01bb
000001e0: SWAP2
000001e1: SWAP1
000001e2: PUSH2 0x3c6b
000001e5: JUMP
000001e6: JUMPDEST
000001e7: CALLVALUE
000001e8: DUP1
000001e9: ISZERO
000001ea: PUSH2 0x01f2
000001ed: JUMPI
000001ee: PUSH1 0x00
000001f0: DUP1
000001f1: REVERT
000001f2: JUMPDEST
000001f3: POP
000001f4: PUSH2 0x0206
000001f7: PUSH2 0x0201
000001fa: CALLDATASIZE
000001fb: PUSH1 0x04
000001fd: PUSH2 0x3651
00000200: JUMP
00000201: JUMPDEST
00000202: PUSH2 0x08a5
00000205: JUMP
00000206: JUMPDEST
00000207: STOP
00000208: JUMPDEST
00000209: CALLVALUE
0000020a: DUP1
0000020b: ISZERO
0000020c: PUSH2 0x0214
0000020f: JUMPI
00000210: PUSH1 0x00
00000212: DUP1
00000213: REVERT
00000214: JUMPDEST
00000215: POP
00000216: PUSH2 0x01d9
00000219: PUSH2 0x0956
0000021c: JUMP
0000021d: JUMPDEST
0000021e: CALLVALUE
0000021f: DUP1
00000220: ISZERO
00000221: PUSH2 0x0229
00000224: JUMPI
00000225: PUSH1 0x00
00000227: DUP1
00000228: REVERT
00000229: JUMPDEST
0000022a: POP
0000022b: PUSH2 0x01d9
0000022e: PUSH2 0x097a
00000231: JUMP
00000232: JUMPDEST
00000233: CALLVALUE
00000234: DUP1
00000235: ISZERO
00000236: PUSH2 0x023e
00000239: JUMPI
0000023a: PUSH1 0x00
0000023c: DUP1
0000023d: REVERT
0000023e: JUMPDEST
0000023f: POP
00000240: PUSH2 0x0206
00000243: PUSH2 0x024d
00000246: CALLDATASIZE
00000247: PUSH1 0x04
00000249: PUSH2 0x3651
0000024c: JUMP
0000024d: JUMPDEST
0000024e: PUSH2 0x099e
00000251: JUMP
00000252: JUMPDEST
00000253: PUSH2 0x01ae
00000256: PUSH2 0x0260
00000259: CALLDATASIZE
0000025a: PUSH1 0x04
0000025c: PUSH2 0x37de
0000025f: JUMP
00000260: JUMPDEST
00000261: PUSH2 0x0a25
00000264: JUMP
00000265: JUMPDEST
00000266: CALLVALUE
00000267: DUP1
00000268: ISZERO
00000269: PUSH2 0x0271
0000026c: JUMPI
0000026d: PUSH1 0x00
0000026f: DUP1
00000270: REVERT
00000271: JUMPDEST
00000272: POP
00000273: PUSH2 0x027a
00000276: PUSH2 0x0e3b
00000279: JUMP
0000027a: JUMPDEST
0000027b: PUSH1 0x40
0000027d: MLOAD
0000027e: PUSH2 0x01bb
00000281: SWAP2
00000282: SWAP1
00000283: PUSH2 0x3ded
00000286: JUMP
00000287: JUMPDEST
00000288: CALLVALUE
00000289: DUP1
0000028a: ISZERO
0000028b: PUSH2 0x0293
0000028e: JUMPI
0000028f: PUSH1 0x00
00000291: DUP1
00000292: REVERT
00000293: JUMPDEST
00000294: POP
00000295: PUSH2 0x01d9
00000298: PUSH2 0x0e74
0000029b: JUMP
0000029c: JUMPDEST
0000029d: CALLVALUE
0000029e: DUP1
0000029f: ISZERO
000002a0: PUSH2 0x02a8
000002a3: JUMPI
000002a4: PUSH1 0x00
000002a6: DUP1
000002a7: REVERT
000002a8: JUMPDEST
000002a9: POP
000002aa: PUSH2 0x027a
000002ad: PUSH2 0x0e83
000002b0: JUMP
000002b1: JUMPDEST
000002b2: CALLVALUE
000002b3: DUP1
000002b4: ISZERO
000002b5: PUSH2 0x02bd
000002b8: JUMPI
000002b9: PUSH1 0x00
000002bb: DUP1
000002bc: REVERT
000002bd: JUMPDEST
000002be: POP
000002bf: PUSH2 0x0206
000002c2: PUSH2 0x02cc
000002c5: CALLDATASIZE
000002c6: PUSH1 0x04
000002c8: PUSH2 0x3920
000002cb: JUMP
000002cc: JUMPDEST
000002cd: PUSH2 0x0ebc
000002d0: JUMP
000002d1: JUMPDEST
000002d2: CALLVALUE
000002d3: DUP1
000002d4: ISZERO
000002d5: PUSH2 0x02dd
000002d8: JUMPI
000002d9: PUSH1 0x00
000002db: DUP1
000002dc: REVERT
000002dd: JUMPDEST
000002de: POP
000002df: PUSH2 0x0206
000002e2: PUSH2 0x02ec
000002e5: CALLDATASIZE
000002e6: PUSH1 0x04
000002e8: PUSH2 0x34e0
000002eb: JUMP
000002ec: JUMPDEST
000002ed: PUSH2 0x0f26
000002f0: JUMP
000002f1: JUMPDEST
000002f2: CALLVALUE
000002f3: DUP1
000002f4: ISZERO
000002f5: PUSH2 0x02fd
000002f8: JUMPI
000002f9: PUSH1 0x00
000002fb: DUP1
000002fc: REVERT
000002fd: JUMPDEST
000002fe: POP
000002ff: PUSH2 0x01ae
00000302: PUSH2 0x0fce
00000305: JUMP
00000306: JUMPDEST
00000307: CALLVALUE
00000308: DUP1
00000309: ISZERO
0000030a: PUSH2 0x0312
0000030d: JUMPI
0000030e: PUSH1 0x00
00000310: DUP1
00000311: REVERT
00000312: JUMPDEST
00000313: POP
00000314: PUSH2 0x01d9
00000317: PUSH2 0x0ff6
0000031a: JUMP
0000031b: JUMPDEST
0000031c: CALLVALUE
0000031d: DUP1
0000031e: ISZERO
0000031f: PUSH2 0x0327
00000322: JUMPI
00000323: PUSH1 0x00
00000325: DUP1
00000326: REVERT
00000327: JUMPDEST
00000328: POP
00000329: PUSH2 0x01d9
0000032c: PUSH2 0x100e
0000032f: JUMP
00000330: JUMPDEST
00000331: CALLVALUE
00000332: DUP1
00000333: ISZERO
00000334: PUSH2 0x033c
00000337: JUMPI
00000338: PUSH1 0x00
0000033a: DUP1
0000033b: REVERT
0000033c: JUMPDEST
0000033d: POP
0000033e: PUSH2 0x01d9
00000341: PUSH2 0x1026
00000344: JUMP
00000345: JUMPDEST
00000346: CALLVALUE
00000347: DUP1
00000348: ISZERO
00000349: PUSH2 0x0351
0000034c: JUMPI
0000034d: PUSH1 0x00
0000034f: DUP1
00000350: REVERT
00000351: JUMPDEST
00000352: POP
00000353: PUSH2 0x01ae
00000356: PUSH2 0x104a
00000359: JUMP
0000035a: JUMPDEST
0000035b: CALLVALUE
0000035c: DUP1
0000035d: ISZERO
0000035e: PUSH2 0x0366
00000361: JUMPI
00000362: PUSH1 0x00
00000364: DUP1
00000365: REVERT
00000366: JUMPDEST
00000367: POP
00000368: PUSH2 0x01ae
0000036b: PUSH2 0x106e
0000036e: JUMP
0000036f: JUMPDEST
00000370: CALLVALUE
00000371: DUP1
00000372: ISZERO
00000373: PUSH2 0x037b
00000376: JUMPI
00000377: PUSH1 0x00
00000379: DUP1
0000037a: REVERT
0000037b: JUMPDEST
0000037c: POP
0000037d: PUSH2 0x027a
00000380: PUSH2 0x1074
00000383: JUMP
00000384: JUMPDEST
00000385: CALLVALUE
00000386: DUP1
00000387: ISZERO
00000388: PUSH2 0x0390
0000038b: JUMPI
0000038c: PUSH1 0x00
0000038e: DUP1
0000038f: REVERT
00000390: JUMPDEST
00000391: POP
00000392: PUSH2 0x01d9
00000395: PUSH2 0x1092
00000398: JUMP
00000399: JUMPDEST
0000039a: CALLVALUE
0000039b: DUP1
0000039c: ISZERO
0000039d: PUSH2 0x03a5
000003a0: JUMPI
000003a1: PUSH1 0x00
000003a3: DUP1
000003a4: REVERT
000003a5: JUMPDEST
000003a6: POP
000003a7: PUSH2 0x0206
000003aa: PUSH2 0x03b4
000003ad: CALLDATASIZE
000003ae: PUSH1 0x04
000003b0: PUSH2 0x34e0
000003b3: JUMP
000003b4: JUMPDEST
000003b5: PUSH2 0x10a1
000003b8: JUMP
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 0x0206
000003ca: PUSH2 0x1149
000003cd: JUMP
000003ce: JUMPDEST
000003cf: CALLVALUE
000003d0: DUP1
000003d1: ISZERO
000003d2: PUSH2 0x03da
000003d5: JUMPI
000003d6: PUSH1 0x00
000003d8: DUP1
000003d9: REVERT
000003da: JUMPDEST
000003db: POP
000003dc: PUSH2 0x03ee
000003df: PUSH2 0x03e9
000003e2: CALLDATASIZE
000003e3: PUSH1 0x04
000003e5: PUSH2 0x35d4
000003e8: JUMP
000003e9: JUMPDEST
000003ea: PUSH2 0x1220
000003ed: JUMP
000003ee: JUMPDEST
000003ef: PUSH1 0x40
000003f1: MLOAD
000003f2: PUSH2 0x01bb
000003f5: SWAP2
000003f6: SWAP1
000003f7: PUSH2 0x3cf9
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 0x027a
0000040c: PUSH2 0x161a
0000040f: JUMP
00000410: JUMPDEST
00000411: PUSH1 0x00
00000413: PUSH1 0x02
00000415: PUSH1 0x00
00000417: SLOAD
00000418: EQ
00000419: ISZERO
0000041a: PUSH2 0x043e
0000041d: JUMPI
0000041e: PUSH1 0x40
00000420: MLOAD
00000421: PUSH3 0x461bcd
00000425: PUSH1 0xe5
00000427: SHL
00000428: DUP2
00000429: MSTORE
0000042a: PUSH1 0x04
0000042c: ADD
0000042d: PUSH2 0x0435
00000430: SWAP1
00000431: PUSH2 0x49b9
00000434: JUMP
00000435: JUMPDEST
00000436: PUSH1 0x40
00000438: MLOAD
00000439: DUP1
0000043a: SWAP2
0000043b: SUB
0000043c: SWAP1
0000043d: REVERT
0000043e: JUMPDEST
0000043f: PUSH1 0x02
00000441: PUSH1 0x00
00000443: SSTORE
00000444: PUSH32 0x00000000000000000000000003f34be1bf910116595db1b11e9d1b2ca5d59659
00000465: PUSH1 0x01
00000467: PUSH1 0x01
00000469: PUSH1 0xa0
0000046b: SHL
0000046c: SUB
0000046d: AND
0000046e: CALLER
0000046f: EQ
00000470: PUSH2 0x048b
00000473: JUMPI
00000474: PUSH1 0x40
00000476: MLOAD
00000477: PUSH3 0x461bcd
0000047b: PUSH1 0xe5
0000047d: SHL
0000047e: DUP2
0000047f: MSTORE
00000480: PUSH1 0x04
00000482: ADD
00000483: PUSH2 0x0435
00000486: SWAP1
00000487: PUSH2 0x4177
0000048a: JUMP
0000048b: JUMPDEST
0000048c: PUSH2 0x0493
0000048f: PUSH2 0x3290
00000492: JUMP
00000493: JUMPDEST
00000494: PUSH1 0x40
00000496: MLOAD
00000497: DUP1
00000498: PUSH2 0x0120
0000049b: ADD
0000049c: PUSH1 0x40
0000049e: MSTORE
0000049f: DUP1
000004a0: DUP16
000004a1: PUSH1 0x01
000004a3: PUSH1 0x01
000004a5: PUSH1 0xa0
000004a7: SHL
000004a8: SUB
000004a9: AND
000004aa: DUP2
000004ab: MSTORE
000004ac: PUSH1 0x20
000004ae: ADD
000004af: DUP15
000004b0: PUSH1 0x01
000004b2: PUSH1 0x01
000004b4: PUSH1 0xa0
000004b6: SHL
000004b7: SUB
000004b8: AND
000004b9: DUP2
000004ba: MSTORE
000004bb: PUSH1 0x20
000004bd: ADD
000004be: DUP14
000004bf: PUSH1 0x01
000004c1: PUSH1 0x01
000004c3: PUSH1 0xa0
000004c5: SHL
000004c6: SUB
000004c7: AND
000004c8: DUP2
000004c9: MSTORE
000004ca: PUSH1 0x20
000004cc: ADD
000004cd: DUP13
000004ce: DUP2
000004cf: MSTORE
000004d0: PUSH1 0x20
000004d2: ADD
000004d3: DUP12
000004d4: DUP2
000004d5: MSTORE
000004d6: PUSH1 0x20
000004d8: ADD
000004d9: DUP10
000004da: PUSH1 0x01
000004dc: PUSH1 0x01
000004de: PUSH1 0xa0
000004e0: SHL
000004e1: SUB
000004e2: AND
000004e3: DUP2
000004e4: MSTORE
000004e5: PUSH1 0x20
000004e7: ADD
000004e8: DUP9
000004e9: PUSH1 0x01
000004eb: PUSH1 0x01
000004ed: PUSH1 0xa0
000004ef: SHL
000004f0: SUB
000004f1: AND
000004f2: DUP2
000004f3: MSTORE
000004f4: PUSH1 0x20
000004f6: ADD
000004f7: DUP8
000004f8: DUP2
000004f9: MSTORE
000004fa: PUSH1 0x20
000004fc: ADD
000004fd: DUP7
000004fe: DUP2
000004ff: MSTORE
00000500: POP
00000501: SWAP1
00000502: POP
00000503: TIMESTAMP
00000504: DUP2
00000505: PUSH2 0x0100
00000508: ADD
00000509: MLOAD
0000050a: LT
0000050b: ISZERO
0000050c: PUSH2 0x0527
0000050f: JUMPI
00000510: PUSH1 0x40
00000512: MLOAD
00000513: PUSH3 0x461bcd
00000517: PUSH1 0xe5
00000519: SHL
0000051a: DUP2
0000051b: MSTORE
0000051c: PUSH1 0x04
0000051e: ADD
0000051f: PUSH2 0x0435
00000522: SWAP1
00000523: PUSH2 0x4769
00000526: JUMP
00000527: JUMPDEST
00000528: PUSH2 0x052f
0000052b: PUSH2 0x32dc
0000052e: JUMP
0000052f: JUMPDEST
00000530: PUSH2 0x0537
00000533: PUSH2 0x3311
00000536: JUMP
00000537: JUMPDEST
00000538: PUSH1 0x02
0000053a: SLOAD
0000053b: PUSH2 0xffff
0000053e: SWAP1
0000053f: DUP2
00000540: AND
00000541: PUSH1 0xa0
00000543: DUP5
00000544: ADD
00000545: MSTORE
00000546: DUP12
00000547: AND
00000548: PUSH1 0x80
0000054a: DUP4
0000054b: ADD
0000054c: MSTORE
0000054d: PUSH1 0x40
0000054f: MLOAD
00000550: PUSH4 0x17f7751d
00000555: PUSH1 0xe1
00000557: SHL
00000558: DUP2
00000559: MSTORE
0000055a: PUSH1 0x01
0000055c: PUSH1 0x01
0000055e: PUSH1 0xa0
00000560: SHL
00000561: SUB
00000562: PUSH32 0x0000000000000000000000006d9cc14a1d36e6ff13fc6efa9e9326fcd12e7903
00000583: AND
00000584: SWAP1
00000585: PUSH4 0x2feeea3a
0000058a: SWAP1
0000058b: PUSH2 0x0598
0000058e: SWAP1
0000058f: ORIGIN
00000590: SWAP1
00000591: PUSH1 0x04
00000593: ADD
00000594: PUSH2 0x3c6b
00000597: JUMP
00000598: JUMPDEST
00000599: PUSH1 0x20
0000059b: PUSH1 0x40
0000059d: MLOAD
0000059e: DUP1
0000059f: DUP4
000005a0: SUB
000005a1: DUP2
000005a2: DUP7
000005a3: DUP1
000005a4: EXTCODESIZE
000005a5: ISZERO
000005a6: DUP1
000005a7: ISZERO
000005a8: PUSH2 0x05b0
000005ab: JUMPI
000005ac: PUSH1 0x00
000005ae: DUP1
000005af: REVERT
000005b0: JUMPDEST
000005b1: POP
000005b2: GAS
000005b3: STATICCALL
000005b4: ISZERO
000005b5: DUP1
000005b6: ISZERO
000005b7: PUSH2 0x05c4
000005ba: JUMPI
000005bb: RETURNDATASIZE
000005bc: PUSH1 0x00
000005be: DUP1
000005bf: RETURNDATACOPY
000005c0: RETURNDATASIZE
000005c1: PUSH1 0x00
000005c3: REVERT
000005c4: JUMPDEST
000005c5: POP
000005c6: POP
000005c7: POP
000005c8: POP
000005c9: PUSH1 0x40
000005cb: MLOAD
000005cc: RETURNDATASIZE
000005cd: PUSH1 0x1f
000005cf: NOT
000005d0: PUSH1 0x1f
000005d2: DUP3
000005d3: ADD
000005d4: AND
000005d5: DUP3
000005d6: ADD
000005d7: DUP1
000005d8: PUSH1 0x40
000005da: MSTORE
000005db: POP
000005dc: DUP2
000005dd: ADD
000005de: SWAP1
000005df: PUSH2 0x05e8
000005e2: SWAP2
000005e3: SWAP1
000005e4: PUSH2 0x3736
000005e7: JUMP
000005e8: JUMPDEST
000005e9: PUSH2 0x0624
000005ec: JUMPI
000005ed: DUP2
000005ee: PUSH1 0x80
000005f0: ADD
000005f1: MLOAD
000005f2: PUSH2 0xffff
000005f5: AND
000005f6: DUP3
000005f7: PUSH1 0xa0
000005f9: ADD
000005fa: MLOAD
000005fb: PUSH2 0xffff
000005fe: AND
000005ff: GT
00000600: PUSH2 0x060d
00000603: JUMPI
00000604: DUP2
00000605: PUSH1 0x80
00000607: ADD
00000608: MLOAD
00000609: PUSH2 0x0613
0000060c: JUMP
0000060d: JUMPDEST
0000060e: DUP2
0000060f: PUSH1 0xa0
00000611: ADD
00000612: MLOAD
00000613: JUMPDEST
00000614: PUSH2 0xffff
00000617: AND
00000618: PUSH1 0x80
0000061a: DUP4
0000061b: ADD
0000061c: MSTORE
0000061d: PUSH1 0x00
0000061f: PUSH1 0xa0
00000621: DUP4
00000622: ADD
00000623: MSTORE
00000624: JUMPDEST
00000625: PUSH1 0x20
00000627: DUP4
00000628: ADD
00000629: MLOAD
0000062a: PUSH1 0x01
0000062c: PUSH1 0x01
0000062e: PUSH1 0xa0
00000630: SHL
00000631: SUB
00000632: AND
00000633: ISZERO
00000634: DUP1
00000635: PUSH2 0x065e
00000638: JUMPI
00000639: POP
0000063a: PUSH1 0x20
0000063c: DUP4
0000063d: ADD
0000063e: MLOAD
0000063f: PUSH1 0x01
00000641: PUSH1 0x01
00000643: PUSH1 0xa0
00000645: SHL
00000646: SUB
00000647: AND
00000648: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
0000065d: EQ
0000065e: JUMPDEST
0000065f: ISZERO
00000660: ISZERO
00000661: DUP2
00000662: MSTORE
00000663: PUSH1 0x40
00000665: DUP4
00000666: ADD
00000667: MLOAD
00000668: PUSH1 0x01
0000066a: PUSH1 0x01
0000066c: PUSH1 0xa0
0000066e: SHL
0000066f: SUB
00000670: AND
00000671: ISZERO
00000672: DUP1
00000673: PUSH2 0x069c
00000676: JUMPI
00000677: POP
00000678: PUSH1 0x40
0000067a: DUP4
0000067b: ADD
0000067c: MLOAD
0000067d: PUSH1 0x01
0000067f: PUSH1 0x01
00000681: PUSH1 0xa0
00000683: SHL
00000684: SUB
00000685: AND
00000686: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
0000069b: EQ
0000069c: JUMPDEST
0000069d: ISZERO
0000069e: ISZERO
0000069f: PUSH1 0x20
000006a1: DUP3
000006a2: ADD
000006a3: MSTORE
000006a4: DUP3
000006a5: MLOAD
000006a6: PUSH2 0x06ae
000006a9: SWAP1
000006aa: PUSH2 0x1653
000006ad: JUMP
000006ae: JUMPDEST
000006af: ISZERO
000006b0: PUSH2 0x0723
000006b3: JUMPI
000006b4: DUP1
000006b5: MLOAD
000006b6: PUSH2 0x06c3
000006b9: JUMPI
000006ba: DUP3
000006bb: PUSH1 0x20
000006bd: ADD
000006be: MLOAD
000006bf: PUSH2 0x06d9
000006c2: JUMP
000006c3: JUMPDEST
000006c4: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
000006d9: JUMPDEST
000006da: PUSH1 0x01
000006dc: PUSH1 0x01
000006de: PUSH1 0xa0
000006e0: SHL
000006e1: SUB
000006e2: AND
000006e3: PUSH1 0x40
000006e5: DUP3
000006e6: ADD
000006e7: MSTORE
000006e8: PUSH1 0x20
000006ea: DUP2
000006eb: ADD
000006ec: MLOAD
000006ed: PUSH2 0x06fa
000006f0: JUMPI
000006f1: DUP3
000006f2: PUSH1 0x40
000006f4: ADD
000006f5: MLOAD
000006f6: PUSH2 0x0710
000006f9: JUMP
000006fa: JUMPDEST
000006fb: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
00000710: JUMPDEST
00000711: PUSH1 0x01
00000713: PUSH1 0x01
00000715: PUSH1 0xa0
00000717: SHL
00000718: SUB
00000719: AND
0000071a: PUSH1 0x60
0000071c: DUP3
0000071d: ADD
0000071e: MSTORE
0000071f: PUSH2 0x07a7
00000722: JUMP
00000723: JUMPDEST
00000724: DUP1
00000725: MLOAD
00000726: PUSH2 0x0733
00000729: JUMPI
0000072a: DUP3
0000072b: PUSH1 0x20
0000072d: ADD
0000072e: MLOAD
0000072f: PUSH2 0x0755
00000732: JUMP
00000733: JUMPDEST
00000734: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000755: JUMPDEST
00000756: PUSH1 0x01
00000758: PUSH1 0x01
0000075a: PUSH1 0xa0
0000075c: SHL
0000075d: SUB
0000075e: AND
0000075f: PUSH1 0x40
00000761: DUP3
00000762: ADD
00000763: MSTORE
00000764: PUSH1 0x20
00000766: DUP2
00000767: ADD
00000768: MLOAD
00000769: PUSH2 0x0776
0000076c: JUMPI
0000076d: DUP3
0000076e: PUSH1 0x40
00000770: ADD
00000771: MLOAD
00000772: PUSH2 0x0798
00000775: JUMP
00000776: JUMPDEST
00000777: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000798: JUMPDEST
00000799: PUSH1 0x01
0000079b: PUSH1 0x01
0000079d: PUSH1 0xa0
0000079f: SHL
000007a0: SUB
000007a1: AND
000007a2: PUSH1 0x60
000007a4: DUP3
000007a5: ADD
000007a6: MSTORE
000007a7: JUMPDEST
000007a8: PUSH2 0x07b2
000007ab: DUP4
000007ac: DUP8
000007ad: DUP8
000007ae: PUSH2 0x16d9
000007b1: JUMP
000007b2: JUMPDEST
000007b3: PUSH1 0x20
000007b5: DUP4
000007b6: ADD
000007b7: MSTORE
000007b8: PUSH2 0x07c1
000007bb: DUP4
000007bc: DUP3
000007bd: PUSH2 0x18d8
000007c0: JUMP
000007c1: JUMPDEST
000007c2: PUSH2 0x07cc
000007c5: DUP4
000007c6: DUP4
000007c7: DUP4
000007c8: PUSH2 0x1a3e
000007cb: JUMP
000007cc: JUMPDEST
000007cd: PUSH1 0x60
000007cf: DUP5
000007d0: ADD
000007d1: MSTORE
000007d2: DUP3
000007d3: MSTORE
000007d4: PUSH2 0x07de
000007d7: DUP4
000007d8: DUP4
000007d9: DUP4
000007da: PUSH2 0x1db2
000007dd: JUMP
000007de: JUMPDEST
000007df: DUP3
000007e0: PUSH1 0x40
000007e2: ADD
000007e3: DUP2
000007e4: DUP2
000007e5: MSTORE
000007e6: POP
000007e7: POP
000007e8: DUP3
000007e9: PUSH1 0xa0
000007eb: ADD
000007ec: MLOAD
000007ed: PUSH1 0x01
000007ef: PUSH1 0x01
000007f1: PUSH1 0xa0
000007f3: SHL
000007f4: SUB
000007f5: AND
000007f6: DUP3
000007f7: PUSH1 0x20
000007f9: ADD
000007fa: MLOAD
000007fb: PUSH32 0x751c65d3b4f3d8a604acd9f9de3800b28af395263a2c0a096f50a5d479d8bf4f
0000081c: DUP5
0000081d: PUSH1 0x00
0000081f: ADD
00000820: MLOAD
00000821: DUP7
00000822: PUSH1 0x20
00000824: ADD
00000825: MLOAD
00000826: DUP8
00000827: PUSH1 0x60
00000829: ADD
0000082a: MLOAD
0000082b: DUP9
0000082c: PUSH1 0x00
0000082e: ADD
0000082f: MLOAD
00000830: DUP10
00000831: PUSH1 0x40
00000833: ADD
00000834: MLOAD
00000835: DUP11
00000836: PUSH1 0x80
00000838: ADD
00000839: MLOAD
0000083a: DUP12
0000083b: PUSH1 0xc0
0000083d: ADD
0000083e: MLOAD
0000083f: DUP12
00000840: PUSH1 0x40
00000842: ADD
00000843: MLOAD
00000844: DUP13
00000845: PUSH1 0x60
00000847: ADD
00000848: MLOAD
00000849: DUP14
0000084a: PUSH1 0x80
0000084c: ADD
0000084d: MLOAD
0000084e: DUP15
0000084f: PUSH1 0xa0
00000851: ADD
00000852: MLOAD
00000853: PUSH1 0x40
00000855: MLOAD
00000856: PUSH2 0x0869
00000859: SWAP12
0000085a: SWAP11
0000085b: SWAP10
0000085c: SWAP9
0000085d: SWAP8
0000085e: SWAP7
0000085f: SWAP6
00000860: SWAP5
00000861: SWAP4
00000862: SWAP3
00000863: SWAP2
00000864: SWAP1
00000865: PUSH2 0x3e00
00000868: JUMP
00000869: JUMPDEST
0000086a: PUSH1 0x40
0000086c: MLOAD
0000086d: DUP1
0000086e: SWAP2
0000086f: SUB
00000870: SWAP1
00000871: LOG3
00000872: POP
00000873: PUSH1 0x40
00000875: ADD
00000876: MLOAD
00000877: PUSH1 0x01
00000879: PUSH1 0x00
0000087b: SSTORE
0000087c: SWAP15
0000087d: SWAP14
0000087e: POP
0000087f: POP
00000880: POP
00000881: POP
00000882: POP
00000883: POP
00000884: POP
00000885: POP
00000886: POP
00000887: POP
00000888: POP
00000889: POP
0000088a: POP
0000088b: POP
0000088c: JUMP
0000088d: JUMPDEST
0000088e: PUSH20 0xe592427a0aece92de3edee1f18e0157c05861564
000008a3: DUP2
000008a4: JUMP
000008a5: JUMPDEST
000008a6: PUSH1 0x01
000008a8: SLOAD
000008a9: PUSH1 0x01
000008ab: PUSH1 0x01
000008ad: PUSH1 0xa0
000008af: SHL
000008b0: SUB
000008b1: AND
000008b2: CALLER
000008b3: EQ
000008b4: PUSH2 0x08cf
000008b7: JUMPI
000008b8: PUSH1 0x40
000008ba: MLOAD
000008bb: PUSH3 0x461bcd
000008bf: PUSH1 0xe5
000008c1: SHL
000008c2: DUP2
000008c3: MSTORE
000008c4: PUSH1 0x04
000008c6: ADD
000008c7: PUSH2 0x0435
000008ca: SWAP1
000008cb: PUSH2 0x461b
000008ce: JUMP
000008cf: JUMPDEST
000008d0: PUSH1 0x00
000008d2: JUMPDEST
000008d3: DUP3
000008d4: DUP2
000008d5: LT
000008d6: ISZERO
000008d7: PUSH2 0x0950
000008da: JUMPI
000008db: PUSH2 0x0911
000008de: DUP3
000008df: PUSH1 0x00
000008e1: DUP7
000008e2: DUP7
000008e3: DUP6
000008e4: DUP2
000008e5: DUP2
000008e6: LT
000008e7: PUSH2 0x08ec
000008ea: JUMPI
000008eb: INVALID
000008ec: JUMPDEST
000008ed: SWAP1
000008ee: POP
000008ef: PUSH1 0x20
000008f1: MUL
000008f2: ADD
000008f3: PUSH1 0x20
000008f5: DUP2
000008f6: ADD
000008f7: SWAP1
000008f8: PUSH2 0x0901
000008fb: SWAP2
000008fc: SWAP1
000008fd: PUSH2 0x34e0
00000900: JUMP
00000901: JUMPDEST
00000902: PUSH1 0x01
00000904: PUSH1 0x01
00000906: PUSH1 0xa0
00000908: SHL
00000909: SUB
0000090a: AND
0000090b: SWAP2
0000090c: SWAP1
0000090d: PUSH2 0x21a3
00000910: JUMP
00000911: JUMPDEST
00000912: PUSH32 0x7c22b5f0390808135dc69153cbe5633a868bb389d20d7e2071500f3c8e49017e
00000933: DUP3
00000934: PUSH1 0x40
00000936: MLOAD
00000937: PUSH2 0x0940
0000093a: SWAP2
0000093b: SWAP1
0000093c: PUSH2 0x3c6b
0000093f: JUMP
00000940: JUMPDEST
00000941: PUSH1 0x40
00000943: MLOAD
00000944: DUP1
00000945: SWAP2
00000946: SUB
00000947: SWAP1
00000948: LOG1
00000949: PUSH1 0x01
0000094b: ADD
0000094c: PUSH2 0x08d2
0000094f: JUMP
00000950: JUMPDEST
00000951: POP
00000952: POP
00000953: POP
00000954: POP
00000955: JUMP
00000956: JUMPDEST
00000957: PUSH32 0x00000000000000000000000003f34be1bf910116595db1b11e9d1b2ca5d59659
00000978: DUP2
00000979: JUMP
0000097a: JUMPDEST
0000097b: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
0000099c: DUP2
0000099d: JUMP
0000099e: JUMPDEST
0000099f: PUSH1 0x01
000009a1: SLOAD
000009a2: PUSH1 0x01
000009a4: PUSH1 0x01
000009a6: PUSH1 0xa0
000009a8: SHL
000009a9: SUB
000009aa: AND
000009ab: CALLER
000009ac: EQ
000009ad: PUSH2 0x09c8
000009b0: JUMPI
000009b1: PUSH1 0x40
000009b3: MLOAD
000009b4: PUSH3 0x461bcd
000009b8: PUSH1 0xe5
000009ba: SHL
000009bb: DUP2
000009bc: MSTORE
000009bd: PUSH1 0x04
000009bf: ADD
000009c0: PUSH2 0x0435
000009c3: SWAP1
000009c4: PUSH2 0x461b
000009c7: JUMP
000009c8: JUMPDEST
000009c9: PUSH1 0x00
000009cb: JUMPDEST
000009cc: DUP3
000009cd: DUP2
000009ce: LT
000009cf: ISZERO
000009d0: PUSH2 0x0950
000009d3: JUMPI
000009d4: PUSH2 0x09e6
000009d7: DUP3
000009d8: PUSH1 0x00
000009da: NOT
000009db: DUP7
000009dc: DUP7
000009dd: DUP6
000009de: DUP2
000009df: DUP2
000009e0: LT
000009e1: PUSH2 0x08ec
000009e4: JUMPI
000009e5: INVALID
000009e6: JUMPDEST
000009e7: PUSH32 0xcc25b8a957df0a0b6c4413850c122a29ee10048018cd63f00e453e1bba64943a
00000a08: DUP3
00000a09: PUSH1 0x40
00000a0b: MLOAD
00000a0c: PUSH2 0x0a15
00000a0f: SWAP2
00000a10: SWAP1
00000a11: PUSH2 0x3c6b
00000a14: JUMP
00000a15: JUMPDEST
00000a16: PUSH1 0x40
00000a18: MLOAD
00000a19: DUP1
00000a1a: SWAP2
00000a1b: SUB
00000a1c: SWAP1
00000a1d: LOG1
00000a1e: PUSH1 0x01
00000a20: ADD
00000a21: PUSH2 0x09cb
00000a24: JUMP
00000a25: JUMPDEST
00000a26: PUSH1 0x00
00000a28: PUSH1 0x02
00000a2a: PUSH1 0x00
00000a2c: SLOAD
00000a2d: EQ
00000a2e: ISZERO
00000a2f: PUSH2 0x0a4a
00000a32: JUMPI
00000a33: PUSH1 0x40
00000a35: MLOAD
00000a36: PUSH3 0x461bcd
00000a3a: PUSH1 0xe5
00000a3c: SHL
00000a3d: DUP2
00000a3e: MSTORE
00000a3f: PUSH1 0x04
00000a41: ADD
00000a42: PUSH2 0x0435
00000a45: SWAP1
00000a46: PUSH2 0x49b9
00000a49: JUMP
00000a4a: JUMPDEST
00000a4b: PUSH1 0x02
00000a4d: PUSH1 0x00
00000a4f: SSTORE
00000a50: PUSH32 0x00000000000000000000000003f34be1bf910116595db1b11e9d1b2ca5d59659
00000a71: PUSH1 0x01
00000a73: PUSH1 0x01
00000a75: PUSH1 0xa0
00000a77: SHL
00000a78: SUB
00000a79: AND
00000a7a: CALLER
00000a7b: EQ
00000a7c: PUSH2 0x0a97
00000a7f: JUMPI
00000a80: PUSH1 0x40
00000a82: MLOAD
00000a83: PUSH3 0x461bcd
00000a87: PUSH1 0xe5
00000a89: SHL
00000a8a: DUP2
00000a8b: MSTORE
00000a8c: PUSH1 0x04
00000a8e: ADD
00000a8f: PUSH2 0x0435
00000a92: SWAP1
00000a93: PUSH2 0x4177
00000a96: JUMP
00000a97: JUMPDEST
00000a98: TIMESTAMP
00000a99: DUP10
00000a9a: PUSH2 0x0100
00000a9d: ADD
00000a9e: MLOAD
00000a9f: LT
00000aa0: ISZERO
00000aa1: PUSH2 0x0abc
00000aa4: JUMPI
00000aa5: PUSH1 0x40
00000aa7: MLOAD
00000aa8: PUSH3 0x461bcd
00000aac: PUSH1 0xe5
00000aae: SHL
00000aaf: DUP2
00000ab0: MSTORE
00000ab1: PUSH1 0x04
00000ab3: ADD
00000ab4: PUSH2 0x0435
00000ab7: SWAP1
00000ab8: PUSH2 0x4769
00000abb: JUMP
00000abc: JUMPDEST
00000abd: PUSH2 0x0ac4
00000ac0: PUSH2 0x32dc
00000ac3: JUMP
00000ac4: JUMPDEST
00000ac5: PUSH2 0x0acc
00000ac8: PUSH2 0x3311
00000acb: JUMP
00000acc: JUMPDEST
00000acd: PUSH1 0x02
00000acf: SLOAD
00000ad0: PUSH2 0xffff
00000ad3: SWAP1
00000ad4: DUP2
00000ad5: AND
00000ad6: PUSH1 0xa0
00000ad8: DUP5
00000ad9: ADD
00000ada: MSTORE
00000adb: DUP11
00000adc: AND
00000add: PUSH1 0x80
00000adf: DUP4
00000ae0: ADD
00000ae1: MSTORE
00000ae2: PUSH1 0x40
00000ae4: DUP1
00000ae5: MLOAD
00000ae6: PUSH1 0x20
00000ae8: PUSH1 0x1f
00000aea: DUP10
00000aeb: ADD
00000aec: DUP2
00000aed: SWAP1
00000aee: DIV
00000aef: DUP2
00000af0: MUL
00000af1: DUP3
00000af2: ADD
00000af3: DUP2
00000af4: ADD
00000af5: SWAP1
00000af6: SWAP3
00000af7: MSTORE
00000af8: DUP8
00000af9: DUP2
00000afa: MSTORE
00000afb: SWAP1
00000afc: DUP9
00000afd: SWAP1
00000afe: DUP9
00000aff: SWAP1
00000b00: DUP2
00000b01: SWAP1
00000b02: DUP5
00000b03: ADD
00000b04: DUP4
00000b05: DUP3
00000b06: DUP1
00000b07: DUP3
00000b08: DUP5
00000b09: CALLDATACOPY
00000b0a: PUSH1 0x00
00000b0c: SWAP3
00000b0d: ADD
00000b0e: SWAP2
00000b0f: SWAP1
00000b10: SWAP2
00000b11: MSTORE
00000b12: POP
00000b13: POP
00000b14: POP
00000b15: POP
00000b16: PUSH1 0xa0
00000b18: DUP3
00000b19: ADD
00000b1a: MSTORE
00000b1b: PUSH1 0x40
00000b1d: DUP1
00000b1e: MLOAD
00000b1f: PUSH1 0x20
00000b21: DUP1
00000b22: DUP8
00000b23: MUL
00000b24: DUP3
00000b25: DUP2
00000b26: ADD
00000b27: DUP3
00000b28: ADD
00000b29: SWAP1
00000b2a: SWAP4
00000b2b: MSTORE
00000b2c: DUP7
00000b2d: DUP3
00000b2e: MSTORE
00000b2f: SWAP1
00000b30: SWAP2
00000b31: DUP8
00000b32: SWAP2
00000b33: DUP8
00000b34: SWAP2
00000b35: DUP3
00000b36: SWAP2
00000b37: DUP6
00000b38: ADD
00000b39: SWAP1
00000b3a: DUP5
00000b3b: SWAP1
00000b3c: DUP1
00000b3d: DUP3
00000b3e: DUP5
00000b3f: CALLDATACOPY
00000b40: PUSH1 0x00
00000b42: SWAP3
00000b43: ADD
00000b44: SWAP2
00000b45: SWAP1
00000b46: SWAP2
00000b47: MSTORE
00000b48: POP
00000b49: POP
00000b4a: POP
00000b4b: POP
00000b4c: PUSH1 0x80
00000b4e: DUP3
00000b4f: ADD
00000b50: MSTORE
00000b51: PUSH1 0x40
00000b53: MLOAD
00000b54: PUSH4 0x17f7751d
00000b59: PUSH1 0xe1
00000b5b: SHL
00000b5c: DUP2
00000b5d: MSTORE
00000b5e: PUSH1 0x01
00000b60: PUSH1 0x01
00000b62: PUSH1 0xa0
00000b64: SHL
00000b65: SUB
00000b66: PUSH32 0x0000000000000000000000006d9cc14a1d36e6ff13fc6efa9e9326fcd12e7903
00000b87: AND
00000b88: SWAP1
00000b89: PUSH4 0x2feeea3a
00000b8e: SWAP1
00000b8f: PUSH2 0x0b9c
00000b92: SWAP1
00000b93: ORIGIN
00000b94: SWAP1
00000b95: PUSH1 0x04
00000b97: ADD
00000b98: PUSH2 0x3c6b
00000b9b: JUMP
00000b9c: JUMPDEST
00000b9d: PUSH1 0x20
00000b9f: PUSH1 0x40
00000ba1: MLOAD
00000ba2: DUP1
00000ba3: DUP4
00000ba4: SUB
00000ba5: DUP2
00000ba6: DUP7
00000ba7: DUP1
00000ba8: EXTCODESIZE
00000ba9: ISZERO
00000baa: DUP1
00000bab: ISZERO
00000bac: PUSH2 0x0bb4
00000baf: JUMPI
00000bb0: PUSH1 0x00
00000bb2: DUP1
00000bb3: REVERT
00000bb4: JUMPDEST
00000bb5: POP
00000bb6: GAS
00000bb7: STATICCALL
00000bb8: ISZERO
00000bb9: DUP1
00000bba: ISZERO
00000bbb: PUSH2 0x0bc8
00000bbe: JUMPI
00000bbf: RETURNDATASIZE
00000bc0: PUSH1 0x00
00000bc2: DUP1
00000bc3: RETURNDATACOPY
00000bc4: RETURNDATASIZE
00000bc5: PUSH1 0x00
00000bc7: REVERT
00000bc8: JUMPDEST
00000bc9: POP
00000bca: POP
00000bcb: POP
00000bcc: POP
00000bcd: PUSH1 0x40
00000bcf: MLOAD
00000bd0: RETURNDATASIZE
00000bd1: PUSH1 0x1f
00000bd3: NOT
00000bd4: PUSH1 0x1f
00000bd6: DUP3
00000bd7: ADD
00000bd8: AND
00000bd9: DUP3
00000bda: ADD
00000bdb: DUP1
00000bdc: PUSH1 0x40
00000bde: MSTORE
00000bdf: POP
00000be0: DUP2
00000be1: ADD
00000be2: SWAP1
00000be3: PUSH2 0x0bec
00000be6: SWAP2
00000be7: SWAP1
00000be8: PUSH2 0x3736
00000beb: JUMP
00000bec: JUMPDEST
00000bed: PUSH2 0x0c28
00000bf0: JUMPI
00000bf1: DUP2
00000bf2: PUSH1 0x80
00000bf4: ADD
00000bf5: MLOAD
00000bf6: PUSH2 0xffff
00000bf9: AND
00000bfa: DUP3
00000bfb: PUSH1 0xa0
00000bfd: ADD
00000bfe: MLOAD
00000bff: PUSH2 0xffff
00000c02: AND
00000c03: GT
00000c04: PUSH2 0x0c11
00000c07: JUMPI
00000c08: DUP2
00000c09: PUSH1 0x80
00000c0b: ADD
00000c0c: MLOAD
00000c0d: PUSH2 0x0c17
00000c10: JUMP
00000c11: JUMPDEST
00000c12: DUP2
00000c13: PUSH1 0xa0
00000c15: ADD
00000c16: MLOAD
00000c17: JUMPDEST
00000c18: PUSH2 0xffff
00000c1b: AND
00000c1c: PUSH1 0x80
00000c1e: DUP4
00000c1f: ADD
00000c20: MSTORE
00000c21: PUSH1 0x00
00000c23: PUSH1 0xa0
00000c25: DUP4
00000c26: ADD
00000c27: MSTORE
00000c28: JUMPDEST
00000c29: PUSH1 0x20
00000c2b: DUP12
00000c2c: ADD
00000c2d: MLOAD
00000c2e: PUSH1 0x01
00000c30: PUSH1 0x01
00000c32: PUSH1 0xa0
00000c34: SHL
00000c35: SUB
00000c36: AND
00000c37: ISZERO
00000c38: DUP1
00000c39: PUSH2 0x0c62
00000c3c: JUMPI
00000c3d: POP
00000c3e: PUSH1 0x20
00000c40: DUP12
00000c41: ADD
00000c42: MLOAD
00000c43: PUSH1 0x01
00000c45: PUSH1 0x01
00000c47: PUSH1 0xa0
00000c49: SHL
00000c4a: SUB
00000c4b: AND
00000c4c: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
00000c61: EQ
00000c62: JUMPDEST
00000c63: ISZERO
00000c64: ISZERO
00000c65: DUP2
00000c66: MSTORE
00000c67: PUSH1 0x40
00000c69: DUP12
00000c6a: ADD
00000c6b: MLOAD
00000c6c: PUSH1 0x01
00000c6e: PUSH1 0x01
00000c70: PUSH1 0xa0
00000c72: SHL
00000c73: SUB
00000c74: AND
00000c75: ISZERO
00000c76: DUP1
00000c77: PUSH2 0x0ca0
00000c7a: JUMPI
00000c7b: POP
00000c7c: PUSH1 0x40
00000c7e: DUP12
00000c7f: ADD
00000c80: MLOAD
00000c81: PUSH1 0x01
00000c83: PUSH1 0x01
00000c85: PUSH1 0xa0
00000c87: SHL
00000c88: SUB
00000c89: AND
00000c8a: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
00000c9f: EQ
00000ca0: JUMPDEST
00000ca1: ISZERO
00000ca2: ISZERO
00000ca3: PUSH1 0x20
00000ca5: DUP3
00000ca6: ADD
00000ca7: MSTORE
00000ca8: DUP11
00000ca9: MLOAD
00000caa: PUSH2 0x0cb2
00000cad: SWAP1
00000cae: PUSH2 0x1653
00000cb1: JUMP
00000cb2: JUMPDEST
00000cb3: ISZERO
00000cb4: PUSH2 0x0d27
00000cb7: JUMPI
00000cb8: DUP1
00000cb9: MLOAD
00000cba: PUSH2 0x0cc7
00000cbd: JUMPI
00000cbe: DUP11
00000cbf: PUSH1 0x20
00000cc1: ADD
00000cc2: MLOAD
00000cc3: PUSH2 0x0cdd
00000cc6: JUMP
00000cc7: JUMPDEST
00000cc8: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
00000cdd: JUMPDEST
00000cde: PUSH1 0x01
00000ce0: PUSH1 0x01
00000ce2: PUSH1 0xa0
00000ce4: SHL
00000ce5: SUB
00000ce6: AND
00000ce7: PUSH1 0x40
00000ce9: DUP3
00000cea: ADD
00000ceb: MSTORE
00000cec: PUSH1 0x20
00000cee: DUP2
00000cef: ADD
00000cf0: MLOAD
00000cf1: PUSH2 0x0cfe
00000cf4: JUMPI
00000cf5: DUP11
00000cf6: PUSH1 0x40
00000cf8: ADD
00000cf9: MLOAD
00000cfa: PUSH2 0x0d14
00000cfd: JUMP
00000cfe: JUMPDEST
00000cff: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
00000d14: JUMPDEST
00000d15: PUSH1 0x01
00000d17: PUSH1 0x01
00000d19: PUSH1 0xa0
00000d1b: SHL
00000d1c: SUB
00000d1d: AND
00000d1e: PUSH1 0x60
00000d20: DUP3
00000d21: ADD
00000d22: MSTORE
00000d23: PUSH2 0x0dab
00000d26: JUMP
00000d27: JUMPDEST
00000d28: DUP1
00000d29: MLOAD
00000d2a: PUSH2 0x0d37
00000d2d: JUMPI
00000d2e: DUP11
00000d2f: PUSH1 0x20
00000d31: ADD
00000d32: MLOAD
00000d33: PUSH2 0x0d59
00000d36: JUMP
00000d37: JUMPDEST
00000d38: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000d59: JUMPDEST
00000d5a: PUSH1 0x01
00000d5c: PUSH1 0x01
00000d5e: PUSH1 0xa0
00000d60: SHL
00000d61: SUB
00000d62: AND
00000d63: PUSH1 0x40
00000d65: DUP3
00000d66: ADD
00000d67: MSTORE
00000d68: PUSH1 0x20
00000d6a: DUP2
00000d6b: ADD
00000d6c: MLOAD
00000d6d: PUSH2 0x0d7a
00000d70: JUMPI
00000d71: DUP11
00000d72: PUSH1 0x40
00000d74: ADD
00000d75: MLOAD
00000d76: PUSH2 0x0d9c
00000d79: JUMP
00000d7a: JUMPDEST
00000d7b: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000d9c: JUMPDEST
00000d9d: PUSH1 0x01
00000d9f: PUSH1 0x01
00000da1: PUSH1 0xa0
00000da3: SHL
00000da4: SUB
00000da5: AND
00000da6: PUSH1 0x60
00000da8: DUP3
00000da9: ADD
00000daa: MSTORE
00000dab: JUMPDEST
00000dac: PUSH2 0x0db6
00000daf: DUP12
00000db0: DUP11
00000db1: DUP11
00000db2: PUSH2 0x16d9
00000db5: JUMP
00000db6: JUMPDEST
00000db7: PUSH1 0x20
00000db9: DUP4
00000dba: ADD
00000dbb: MSTORE
00000dbc: PUSH2 0x0dc5
00000dbf: DUP12
00000dc0: DUP3
00000dc1: PUSH2 0x18d8
00000dc4: JUMP
00000dc5: JUMPDEST
00000dc6: PUSH2 0x0dd0
00000dc9: DUP12
00000dca: DUP4
00000dcb: DUP4
00000dcc: PUSH2 0x22d0
00000dcf: JUMP
00000dd0: JUMPDEST
00000dd1: PUSH1 0x60
00000dd3: DUP5
00000dd4: ADD
00000dd5: MSTORE
00000dd6: DUP3
00000dd7: MSTORE
00000dd8: PUSH2 0x0de2
00000ddb: DUP12
00000ddc: DUP4
00000ddd: DUP4
00000dde: PUSH2 0x1db2
00000de1: JUMP
00000de2: JUMPDEST
00000de3: DUP3
00000de4: PUSH1 0x40
00000de6: ADD
00000de7: DUP2
00000de8: DUP2
00000de9: MSTORE
00000dea: POP
00000deb: POP
00000dec: PUSH32 0xc36ae6e11a161c28ae95fc0f8c0f56d3d0fb7f3a3524499c53fb6733ed86764d
00000e0d: DUP3
00000e0e: DUP13
00000e0f: PUSH1 0x40
00000e11: MLOAD
00000e12: PUSH2 0x0e1c
00000e15: SWAP3
00000e16: SWAP2
00000e17: SWAP1
00000e18: PUSH2 0x4b4c
00000e1b: JUMP
00000e1c: JUMPDEST
00000e1d: PUSH1 0x40
00000e1f: MLOAD
00000e20: DUP1
00000e21: SWAP2
00000e22: SUB
00000e23: SWAP1
00000e24: LOG1
00000e25: POP
00000e26: PUSH1 0x40
00000e28: ADD
00000e29: MLOAD
00000e2a: PUSH1 0x01
00000e2c: PUSH1 0x00
00000e2e: SSTORE
00000e2f: SWAP10
00000e30: SWAP9
00000e31: POP
00000e32: POP
00000e33: POP
00000e34: POP
00000e35: POP
00000e36: POP
00000e37: POP
00000e38: POP
00000e39: POP
00000e3a: JUMP
00000e3b: JUMPDEST
00000e3c: PUSH1 0x40
00000e3e: MLOAD
00000e3f: DUP1
00000e40: PUSH1 0x40
00000e42: ADD
00000e43: PUSH1 0x40
00000e45: MSTORE
00000e46: DUP1
00000e47: PUSH1 0x05
00000e49: DUP2
00000e4a: MSTORE
00000e4b: PUSH1 0x20
00000e4d: ADD
00000e4e: PUSH32 0x352e322e30000000000000000000000000000000000000000000000000000000
00000e6f: DUP2
00000e70: MSTORE
00000e71: POP
00000e72: DUP2
00000e73: JUMP
00000e74: JUMPDEST
00000e75: PUSH1 0x01
00000e77: SLOAD
00000e78: PUSH1 0x01
00000e7a: PUSH1 0x01
00000e7c: PUSH1 0xa0
00000e7e: SHL
00000e7f: SUB
00000e80: AND
00000e81: DUP2
00000e82: JUMP
00000e83: JUMPDEST
00000e84: PUSH1 0x40
00000e86: MLOAD
00000e87: DUP1
00000e88: PUSH1 0x40
00000e8a: ADD
00000e8b: PUSH1 0x40
00000e8d: MSTORE
00000e8e: DUP1
00000e8f: PUSH1 0x02
00000e91: DUP2
00000e92: MSTORE
00000e93: PUSH1 0x20
00000e95: ADD
00000e96: PUSH32 0x7635000000000000000000000000000000000000000000000000000000000000
00000eb7: DUP2
00000eb8: MSTORE
00000eb9: POP
00000eba: DUP2
00000ebb: JUMP
00000ebc: JUMPDEST
00000ebd: PUSH1 0x01
00000ebf: SLOAD
00000ec0: PUSH1 0x01
00000ec2: PUSH1 0x01
00000ec4: PUSH1 0xa0
00000ec6: SHL
00000ec7: SUB
00000ec8: AND
00000ec9: CALLER
00000eca: EQ
00000ecb: PUSH2 0x0ee6
00000ece: JUMPI
00000ecf: PUSH1 0x40
00000ed1: MLOAD
00000ed2: PUSH3 0x461bcd
00000ed6: PUSH1 0xe5
00000ed8: SHL
00000ed9: DUP2
00000eda: MSTORE
00000edb: PUSH1 0x04
00000edd: ADD
00000ede: PUSH2 0x0435
00000ee1: SWAP1
00000ee2: PUSH2 0x461b
00000ee5: JUMP
00000ee6: JUMPDEST
00000ee7: PUSH1 0x02
00000ee9: DUP2
00000eea: SWAP1
00000eeb: SSTORE
00000eec: PUSH1 0x40
00000eee: MLOAD
00000eef: PUSH32 0x944e6cfc55d615def1246239dc39ee5d2490dc67f9f0088edf3142a9cfa44451
00000f10: SWAP1
00000f11: PUSH2 0x0f1b
00000f14: SWAP1
00000f15: DUP4
00000f16: SWAP1
00000f17: PUSH2 0x3d04
00000f1a: JUMP
00000f1b: JUMPDEST
00000f1c: PUSH1 0x40
00000f1e: MLOAD
00000f1f: DUP1
00000f20: SWAP2
00000f21: SUB
00000f22: SWAP1
00000f23: LOG1
00000f24: POP
00000f25: JUMP
00000f26: JUMPDEST
00000f27: PUSH1 0x01
00000f29: SLOAD
00000f2a: PUSH1 0x01
00000f2c: PUSH1 0x01
00000f2e: PUSH1 0xa0
00000f30: SHL
00000f31: SUB
00000f32: AND
00000f33: CALLER
00000f34: EQ
00000f35: PUSH2 0x0f50
00000f38: JUMPI
00000f39: PUSH1 0x40
00000f3b: MLOAD
00000f3c: PUSH3 0x461bcd
00000f40: PUSH1 0xe5
00000f42: SHL
00000f43: DUP2
00000f44: MSTORE
00000f45: PUSH1 0x04
00000f47: ADD
00000f48: PUSH2 0x0435
00000f4b: SWAP1
00000f4c: PUSH2 0x461b
00000f4f: JUMP
00000f50: JUMPDEST
00000f51: PUSH1 0x01
00000f53: PUSH1 0x01
00000f55: PUSH1 0xa0
00000f57: SHL
00000f58: SUB
00000f59: DUP2
00000f5a: AND
00000f5b: PUSH2 0x0f76
00000f5e: JUMPI
00000f5f: PUSH1 0x40
00000f61: MLOAD
00000f62: PUSH3 0x461bcd
00000f66: PUSH1 0xe5
00000f68: SHL
00000f69: DUP2
00000f6a: MSTORE
00000f6b: PUSH1 0x04
00000f6d: ADD
00000f6e: PUSH2 0x0435
00000f71: SWAP1
00000f72: PUSH2 0x4359
00000f75: JUMP
00000f76: JUMPDEST
00000f77: PUSH1 0x03
00000f79: DUP1
00000f7a: SLOAD
00000f7b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f90: NOT
00000f91: AND
00000f92: PUSH1 0x01
00000f94: PUSH1 0x01
00000f96: PUSH1 0xa0
00000f98: SHL
00000f99: SUB
00000f9a: DUP4
00000f9b: AND
00000f9c: OR
00000f9d: SWAP1
00000f9e: SSTORE
00000f9f: PUSH1 0x40
00000fa1: MLOAD
00000fa2: PUSH32 0xbd4e916c3e5390ed2ffaf01ea6c14195c3e174811b8ad55bca06034e89bbd0bb
00000fc3: SWAP1
00000fc4: PUSH2 0x0f1b
00000fc7: SWAP1
00000fc8: DUP4
00000fc9: SWAP1
00000fca: PUSH2 0x3c6b
00000fcd: JUMP
00000fce: JUMPDEST
00000fcf: PUSH1 0x40
00000fd1: MLOAD
00000fd2: PUSH1 0x20
00000fd4: ADD
00000fd5: PUSH2 0x0fdd
00000fd8: SWAP1
00000fd9: PUSH2 0x3a95
00000fdc: JUMP
00000fdd: JUMPDEST
00000fde: PUSH1 0x40
00000fe0: MLOAD
00000fe1: PUSH1 0x20
00000fe3: DUP2
00000fe4: DUP4
00000fe5: SUB
00000fe6: SUB
00000fe7: DUP2
00000fe8: MSTORE
00000fe9: SWAP1
00000fea: PUSH1 0x40
00000fec: MSTORE
00000fed: DUP1
00000fee: MLOAD
00000fef: SWAP1
00000ff0: PUSH1 0x20
00000ff2: ADD
00000ff3: KECCAK256
00000ff4: DUP2
00000ff5: JUMP
00000ff6: JUMPDEST
00000ff7: PUSH20 0x7a250d5630b4cf539739df2c5dacb4c659f2488d
0000100c: DUP2
0000100d: JUMP
0000100e: JUMPDEST
0000100f: PUSH20 0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f
00001024: DUP2
00001025: JUMP
00001026: JUMPDEST
00001027: PUSH32 0x0000000000000000000000006d9cc14a1d36e6ff13fc6efa9e9326fcd12e7903
00001048: DUP2
00001049: JUMP
0000104a: JUMPDEST
0000104b: PUSH32 0x2398e52ffc413ba4f582150da8278d5b2386c55f513d50e900e11bff0ea59c7c
0000106c: DUP2
0000106d: JUMP
0000106e: JUMPDEST
0000106f: PUSH1 0x02
00001071: SLOAD
00001072: DUP2
00001073: JUMP
00001074: JUMPDEST
00001075: PUSH1 0x40
00001077: MLOAD
00001078: DUP1
00001079: PUSH1 0x40
0000107b: ADD
0000107c: PUSH1 0x40
0000107e: MSTORE
0000107f: DUP1
00001080: PUSH1 0x02
00001082: DUP2
00001083: MSTORE
00001084: PUSH1 0x20
00001086: ADD
00001087: PUSH2 0x1901
0000108a: PUSH1 0xf0
0000108c: SHL
0000108d: DUP2
0000108e: MSTORE
0000108f: POP
00001090: DUP2
00001091: JUMP
00001092: JUMPDEST
00001093: PUSH1 0x03
00001095: SLOAD
00001096: PUSH1 0x01
00001098: PUSH1 0x01
0000109a: PUSH1 0xa0
0000109c: SHL
0000109d: SUB
0000109e: AND
0000109f: DUP2
000010a0: JUMP
000010a1: JUMPDEST
000010a2: PUSH1 0x01
000010a4: SLOAD
000010a5: PUSH1 0x01
000010a7: PUSH1 0x01
000010a9: PUSH1 0xa0
000010ab: SHL
000010ac: SUB
000010ad: AND
000010ae: CALLER
000010af: EQ
000010b0: PUSH2 0x10cb
000010b3: JUMPI
000010b4: PUSH1 0x40
000010b6: MLOAD
000010b7: PUSH3 0x461bcd
000010bb: PUSH1 0xe5
000010bd: SHL
000010be: DUP2
000010bf: MSTORE
000010c0: PUSH1 0x04
000010c2: ADD
000010c3: PUSH2 0x0435
000010c6: SWAP1
000010c7: PUSH2 0x461b
000010ca: JUMP
000010cb: JUMPDEST
000010cc: PUSH1 0x01
000010ce: PUSH1 0x01
000010d0: PUSH1 0xa0
000010d2: SHL
000010d3: SUB
000010d4: DUP2
000010d5: AND
000010d6: PUSH2 0x10f1
000010d9: JUMPI
000010da: PUSH1 0x40
000010dc: MLOAD
000010dd: PUSH3 0x461bcd
000010e1: PUSH1 0xe5
000010e3: SHL
000010e4: DUP2
000010e5: MSTORE
000010e6: PUSH1 0x04
000010e8: ADD
000010e9: PUSH2 0x0435
000010ec: SWAP1
000010ed: PUSH2 0x3ff2
000010f0: JUMP
000010f1: JUMPDEST
000010f2: PUSH1 0x01
000010f4: DUP1
000010f5: SLOAD
000010f6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000110b: NOT
0000110c: AND
0000110d: PUSH1 0x01
0000110f: PUSH1 0x01
00001111: PUSH1 0xa0
00001113: SHL
00001114: SUB
00001115: DUP4
00001116: AND
00001117: OR
00001118: SWAP1
00001119: SSTORE
0000111a: PUSH1 0x40
0000111c: MLOAD
0000111d: PUSH32 0xcfaaa26691e16e66e73290fc725eee1a6b4e0e693a1640484937aac25ffb55a4
0000113e: SWAP1
0000113f: PUSH2 0x0f1b
00001142: SWAP1
00001143: DUP4
00001144: SWAP1
00001145: PUSH2 0x3c6b
00001148: JUMP
00001149: JUMPDEST
0000114a: PUSH1 0x01
0000114c: SLOAD
0000114d: PUSH1 0x01
0000114f: PUSH1 0x01
00001151: PUSH1 0xa0
00001153: SHL
00001154: SUB
00001155: AND
00001156: CALLER
00001157: EQ
00001158: PUSH2 0x1173
0000115b: JUMPI
0000115c: PUSH1 0x40
0000115e: MLOAD
0000115f: PUSH3 0x461bcd
00001163: PUSH1 0xe5
00001165: SHL
00001166: DUP2
00001167: MSTORE
00001168: PUSH1 0x04
0000116a: ADD
0000116b: PUSH2 0x0435
0000116e: SWAP1
0000116f: PUSH2 0x461b
00001172: JUMP
00001173: JUMPDEST
00001174: SELFBALANCE
00001175: DUP1
00001176: ISZERO
00001177: PUSH2 0x121d
0000117a: JUMPI
0000117b: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
0000119c: PUSH1 0x01
0000119e: PUSH1 0x01
000011a0: PUSH1 0xa0
000011a2: SHL
000011a3: SUB
000011a4: AND
000011a5: PUSH4 0xd0e30db0
000011aa: DUP3
000011ab: PUSH1 0x40
000011ad: MLOAD
000011ae: DUP3
000011af: PUSH4 0xffffffff
000011b4: AND
000011b5: PUSH1 0xe0
000011b7: SHL
000011b8: DUP2
000011b9: MSTORE
000011ba: PUSH1 0x04
000011bc: ADD
000011bd: PUSH1 0x00
000011bf: PUSH1 0x40
000011c1: MLOAD
000011c2: DUP1
000011c3: DUP4
000011c4: SUB
000011c5: DUP2
000011c6: DUP6
000011c7: DUP9
000011c8: DUP1
000011c9: EXTCODESIZE
000011ca: ISZERO
000011cb: DUP1
000011cc: ISZERO
000011cd: PUSH2 0x11d5
000011d0: JUMPI
000011d1: PUSH1 0x00
000011d3: DUP1
000011d4: REVERT
000011d5: JUMPDEST
000011d6: POP
000011d7: GAS
000011d8: CALL
000011d9: ISZERO
000011da: DUP1
000011db: ISZERO
000011dc: PUSH2 0x11e9
000011df: JUMPI
000011e0: RETURNDATASIZE
000011e1: PUSH1 0x00
000011e3: DUP1
000011e4: RETURNDATACOPY
000011e5: RETURNDATASIZE
000011e6: PUSH1 0x00
000011e8: REVERT
000011e9: JUMPDEST
000011ea: POP
000011eb: POP
000011ec: POP
000011ed: POP
000011ee: POP
000011ef: PUSH32 0xf21b64ad26683e79854b8f088d254ef4e123df84bdb91d1f7f4356d772716a39
00001210: DUP2
00001211: PUSH1 0x40
00001213: MLOAD
00001214: PUSH2 0x0f1b
00001217: SWAP2
00001218: SWAP1
00001219: PUSH2 0x3d04
0000121c: JUMP
0000121d: JUMPDEST
0000121e: POP
0000121f: JUMP
00001220: JUMPDEST
00001221: PUSH1 0x00
00001223: DUP1
00001224: DUP3
00001225: MLOAD
00001226: GT
00001227: PUSH2 0x1242
0000122a: JUMPI
0000122b: PUSH1 0x40
0000122d: MLOAD
0000122e: PUSH3 0x461bcd
00001232: PUSH1 0xe5
00001234: SHL
00001235: DUP2
00001236: MSTORE
00001237: PUSH1 0x04
00001239: ADD
0000123a: PUSH2 0x0435
0000123d: SWAP1
0000123e: PUSH2 0x44cd
00001241: JUMP
00001242: JUMPDEST
00001243: PUSH1 0x01
00001245: PUSH1 0x01
00001247: PUSH1 0xa0
00001249: SHL
0000124a: SUB
0000124b: DUP6
0000124c: AND
0000124d: PUSH2 0x1268
00001250: JUMPI
00001251: PUSH1 0x40
00001253: MLOAD
00001254: PUSH3 0x461bcd
00001258: PUSH1 0xe5
0000125a: SHL
0000125b: DUP2
0000125c: MSTORE
0000125d: PUSH1 0x04
0000125f: ADD
00001260: PUSH2 0x0435
00001263: SWAP1
00001264: PUSH2 0x404f
00001267: JUMP
00001268: JUMPDEST
00001269: PUSH1 0x00
0000126b: PUSH2 0x1273
0000126e: DUP4
0000126f: PUSH2 0x249f
00001272: JUMP
00001273: JUMPDEST
00001274: PUSH1 0xf8
00001276: SHR
00001277: SWAP1
00001278: POP
00001279: PUSH1 0x07
0000127b: DUP2
0000127c: LT
0000127d: PUSH2 0x1298
00001280: JUMPI
00001281: PUSH1 0x40
00001283: MLOAD
00001284: PUSH3 0x461bcd
00001288: PUSH1 0xe5
0000128a: SHL
0000128b: DUP2
0000128c: MSTORE
0000128d: PUSH1 0x04
0000128f: ADD
00001290: PUSH2 0x0435
00001293: SWAP1
00001294: PUSH2 0x45be
00001297: JUMP
00001298: JUMPDEST
00001299: PUSH1 0x00
0000129b: DUP2
0000129c: PUSH1 0xff
0000129e: AND
0000129f: PUSH1 0x07
000012a1: DUP2
000012a2: GT
000012a3: ISZERO
000012a4: PUSH2 0x12a9
000012a7: JUMPI
000012a8: INVALID
000012a9: JUMPDEST
000012aa: SWAP1
000012ab: POP
000012ac: PUSH1 0x00
000012ae: DUP1
000012af: DUP1
000012b0: DUP1
000012b1: DUP1
000012b2: DUP6
000012b3: PUSH1 0x07
000012b5: DUP2
000012b6: GT
000012b7: ISZERO
000012b8: PUSH2 0x12bd
000012bb: JUMPI
000012bc: INVALID
000012bd: JUMPDEST
000012be: EQ
000012bf: ISZERO
000012c0: PUSH2 0x12db
000012c3: JUMPI
000012c4: PUSH1 0x40
000012c6: MLOAD
000012c7: PUSH3 0x461bcd
000012cb: PUSH1 0xe5
000012cd: SHL
000012ce: DUP2
000012cf: MSTORE
000012d0: PUSH1 0x04
000012d2: ADD
000012d3: PUSH2 0x0435
000012d6: SWAP1
000012d7: PUSH2 0x46af
000012da: JUMP
000012db: JUMPDEST
000012dc: PUSH1 0x02
000012de: DUP6
000012df: PUSH1 0x07
000012e1: DUP2
000012e2: GT
000012e3: ISZERO
000012e4: PUSH2 0x12e9
000012e7: JUMPI
000012e8: INVALID
000012e9: JUMPDEST
000012ea: EQ
000012eb: ISZERO
000012ec: PUSH2 0x13b3
000012ef: JUMPI
000012f0: DUP8
000012f1: MLOAD
000012f2: PUSH1 0x61
000012f4: EQ
000012f5: PUSH2 0x1310
000012f8: JUMPI
000012f9: PUSH1 0x40
000012fb: MLOAD
000012fc: PUSH3 0x461bcd
00001300: PUSH1 0xe5
00001302: SHL
00001303: DUP2
00001304: MSTORE
00001305: PUSH1 0x04
00001307: ADD
00001308: PUSH2 0x0435
0000130b: SWAP1
0000130c: PUSH2 0x3e7e
0000130f: JUMP
00001310: JUMPDEST
00001311: PUSH2 0x131b
00001314: DUP9
00001315: PUSH1 0x00
00001317: PUSH2 0x2505
0000131a: JUMP
0000131b: JUMPDEST
0000131c: SWAP3
0000131d: POP
0000131e: PUSH2 0x1328
00001321: DUP9
00001322: PUSH1 0x20
00001324: PUSH2 0x2505
00001327: JUMP
00001328: JUMPDEST
00001329: SWAP2
0000132a: POP
0000132b: DUP8
0000132c: PUSH1 0x40
0000132e: DUP2
0000132f: MLOAD
00001330: DUP2
00001331: LT
00001332: PUSH2 0x1337
00001335: JUMPI
00001336: INVALID
00001337: JUMPDEST
00001338: PUSH1 0x20
0000133a: ADD
0000133b: ADD
0000133c: MLOAD
0000133d: PUSH1 0xf8
0000133f: SHR
00001340: PUSH1 0xf8
00001342: SHL
00001343: PUSH1 0xf8
00001345: SHR
00001346: SWAP4
00001347: POP
00001348: PUSH1 0x01
0000134a: DUP11
0000134b: DUP6
0000134c: DUP6
0000134d: DUP6
0000134e: PUSH1 0x40
00001350: MLOAD
00001351: PUSH1 0x00
00001353: DUP2
00001354: MSTORE
00001355: PUSH1 0x20
00001357: ADD
00001358: PUSH1 0x40
0000135a: MSTORE
0000135b: PUSH1 0x40
0000135d: MLOAD
0000135e: PUSH2 0x136a
00001361: SWAP5
00001362: SWAP4
00001363: SWAP3
00001364: SWAP2
00001365: SWAP1
00001366: PUSH2 0x3d7e
00001369: JUMP
0000136a: JUMPDEST
0000136b: PUSH1 0x20
0000136d: PUSH1 0x40
0000136f: MLOAD
00001370: PUSH1 0x20
00001372: DUP2
00001373: SUB
00001374: SWAP1
00001375: DUP1
00001376: DUP5
00001377: SUB
00001378: SWAP1
00001379: DUP6
0000137a: GAS
0000137b: STATICCALL
0000137c: ISZERO
0000137d: DUP1
0000137e: ISZERO
0000137f: PUSH2 0x138c
00001382: JUMPI
00001383: RETURNDATASIZE
00001384: PUSH1 0x00
00001386: DUP1
00001387: RETURNDATACOPY
00001388: RETURNDATASIZE
00001389: PUSH1 0x00
0000138b: REVERT
0000138c: JUMPDEST
0000138d: POP
0000138e: POP
0000138f: PUSH1 0x40
00001391: MLOAD
00001392: PUSH1 0x1f
00001394: NOT
00001395: ADD
00001396: MLOAD
00001397: PUSH1 0x01
00001399: PUSH1 0x01
0000139b: PUSH1 0xa0
0000139d: SHL
0000139e: SUB
0000139f: DUP14
000013a0: DUP2
000013a1: AND
000013a2: SWAP2
000013a3: AND
000013a4: EQ
000013a5: SWAP8
000013a6: POP
000013a7: PUSH2 0x1612
000013aa: SWAP7
000013ab: POP
000013ac: POP
000013ad: POP
000013ae: POP
000013af: POP
000013b0: POP
000013b1: POP
000013b2: JUMP
000013b3: JUMPDEST
000013b4: PUSH1 0x03
000013b6: DUP6
000013b7: PUSH1 0x07
000013b9: DUP2
000013ba: GT
000013bb: ISZERO
000013bc: PUSH2 0x13c1
000013bf: JUMPI
000013c0: INVALID
000013c1: JUMPDEST
000013c2: EQ
000013c3: ISZERO
000013c4: PUSH2 0x1468
000013c7: JUMPI
000013c8: DUP8
000013c9: MLOAD
000013ca: PUSH1 0x61
000013cc: EQ
000013cd: PUSH2 0x13e8
000013d0: JUMPI
000013d1: PUSH1 0x40
000013d3: MLOAD
000013d4: PUSH3 0x461bcd
000013d8: PUSH1 0xe5
000013da: SHL
000013db: DUP2
000013dc: MSTORE
000013dd: PUSH1 0x04
000013df: ADD
000013e0: PUSH2 0x0435
000013e3: SWAP1
000013e4: PUSH2 0x3e7e
000013e7: JUMP
000013e8: JUMPDEST
000013e9: PUSH2 0x13f3
000013ec: DUP9
000013ed: PUSH1 0x00
000013ef: PUSH2 0x2505
000013f2: JUMP
000013f3: JUMPDEST
000013f4: SWAP3
000013f5: POP
000013f6: PUSH2 0x1400
000013f9: DUP9
000013fa: PUSH1 0x20
000013fc: PUSH2 0x2505
000013ff: JUMP
00001400: JUMPDEST
00001401: SWAP2
00001402: POP
00001403: DUP8
00001404: PUSH1 0x40
00001406: DUP2
00001407: MLOAD
00001408: DUP2
00001409: LT
0000140a: PUSH2 0x140f
0000140d: JUMPI
0000140e: INVALID
0000140f: JUMPDEST
00001410: PUSH1 0x20
00001412: ADD
00001413: ADD
00001414: MLOAD
00001415: PUSH1 0xf8
00001417: SHR
00001418: PUSH1 0xf8
0000141a: SHL
0000141b: PUSH1 0xf8
0000141d: SHR
0000141e: SWAP4
0000141f: POP
00001420: PUSH1 0x01
00001422: DUP11
00001423: PUSH1 0x40
00001425: MLOAD
00001426: PUSH1 0x20
00001428: ADD
00001429: PUSH2 0x1432
0000142c: SWAP2
0000142d: SWAP1
0000142e: PUSH2 0x3c3a
00001431: JUMP
00001432: JUMPDEST
00001433: PUSH1 0x40
00001435: MLOAD
00001436: PUSH1 0x20
00001438: DUP2
00001439: DUP4
0000143a: SUB
0000143b: SUB
0000143c: DUP2
0000143d: MSTORE
0000143e: SWAP1
0000143f: PUSH1 0x40
00001441: MSTORE
00001442: DUP1
00001443: MLOAD
00001444: SWAP1
00001445: PUSH1 0x20
00001447: ADD
00001448: KECCAK256
00001449: DUP6
0000144a: DUP6
0000144b: DUP6
0000144c: PUSH1 0x40
0000144e: MLOAD
0000144f: PUSH1 0x00
00001451: DUP2
00001452: MSTORE
00001453: PUSH1 0x20
00001455: ADD
00001456: PUSH1 0x40
00001458: MSTORE
00001459: PUSH1 0x40
0000145b: MLOAD
0000145c: PUSH2 0x136a
0000145f: SWAP5
00001460: SWAP4
00001461: SWAP3
00001462: SWAP2
00001463: SWAP1
00001464: PUSH2 0x3d7e
00001467: JUMP
00001468: JUMPDEST
00001469: PUSH1 0x04
0000146b: DUP6
0000146c: PUSH1 0x07
0000146e: DUP2
0000146f: GT
00001470: ISZERO
00001471: PUSH2 0x1476
00001474: JUMPI
00001475: INVALID
00001476: JUMPDEST
00001477: EQ
00001478: ISZERO
00001479: PUSH2 0x151b
0000147c: JUMPI
0000147d: PUSH1 0x40
0000147f: MLOAD
00001480: PUSH4 0x20c13b0b
00001485: PUSH1 0xe0
00001487: SHL
00001488: DUP2
00001489: MSTORE
0000148a: PUSH1 0x01
0000148c: PUSH1 0x01
0000148e: PUSH1 0xa0
00001490: SHL
00001491: SUB
00001492: DUP13
00001493: AND
00001494: SWAP1
00001495: PUSH4 0x20c13b0b
0000149a: SWAP1
0000149b: PUSH2 0x14aa
0000149e: SWAP1
0000149f: DUP13
000014a0: SWAP1
000014a1: DUP13
000014a2: SWAP1
000014a3: PUSH1 0x04
000014a5: ADD
000014a6: PUSH2 0x3d9c
000014a9: JUMP
000014aa: JUMPDEST
000014ab: PUSH1 0x20
000014ad: PUSH1 0x40
000014af: MLOAD
000014b0: DUP1
000014b1: DUP4
000014b2: SUB
000014b3: DUP2
000014b4: DUP7
000014b5: DUP1
000014b6: EXTCODESIZE
000014b7: ISZERO
000014b8: DUP1
000014b9: ISZERO
000014ba: PUSH2 0x14c2
000014bd: JUMPI
000014be: PUSH1 0x00
000014c0: DUP1
000014c1: REVERT
000014c2: JUMPDEST
000014c3: POP
000014c4: GAS
000014c5: STATICCALL
000014c6: ISZERO
000014c7: DUP1
000014c8: ISZERO
000014c9: PUSH2 0x14d6
000014cc: JUMPI
000014cd: RETURNDATASIZE
000014ce: PUSH1 0x00
000014d0: DUP1
000014d1: RETURNDATACOPY
000014d2: RETURNDATASIZE
000014d3: PUSH1 0x00
000014d5: REVERT
000014d6: JUMPDEST
000014d7: POP
000014d8: POP
000014d9: POP
000014da: POP
000014db: PUSH1 0x40
000014dd: MLOAD
000014de: RETURNDATASIZE
000014df: PUSH1 0x1f
000014e1: NOT
000014e2: PUSH1 0x1f
000014e4: DUP3
000014e5: ADD
000014e6: AND
000014e7: DUP3
000014e8: ADD
000014e9: DUP1
000014ea: PUSH1 0x40
000014ec: MSTORE
000014ed: POP
000014ee: DUP2
000014ef: ADD
000014f0: SWAP1
000014f1: PUSH2 0x14fa
000014f4: SWAP2
000014f5: SWAP1
000014f6: PUSH2 0x3752
000014f9: JUMP
000014fa: JUMPDEST
000014fb: PUSH1 0x01
000014fd: PUSH1 0x01
000014ff: PUSH1 0xe0
00001501: SHL
00001502: SUB
00001503: NOT
00001504: AND
00001505: PUSH4 0x20c13b0b
0000150a: PUSH1 0xe0
0000150c: SHL
0000150d: EQ
0000150e: SWAP7
0000150f: POP
00001510: PUSH2 0x1612
00001513: SWAP6
00001514: POP
00001515: POP
00001516: POP
00001517: POP
00001518: POP
00001519: POP
0000151a: JUMP
0000151b: JUMPDEST
0000151c: PUSH1 0x05
0000151e: DUP6
0000151f: PUSH1 0x07
00001521: DUP2
00001522: GT
00001523: ISZERO
00001524: PUSH2 0x1529
00001527: JUMPI
00001528: INVALID
00001529: JUMPDEST
0000152a: EQ
0000152b: ISZERO
0000152c: PUSH2 0x15ce
0000152f: JUMPI
00001530: PUSH1 0x40
00001532: MLOAD
00001533: PUSH4 0x0b135d3f
00001538: PUSH1 0xe1
0000153a: SHL
0000153b: DUP2
0000153c: MSTORE
0000153d: PUSH1 0x01
0000153f: PUSH1 0x01
00001541: PUSH1 0xa0
00001543: SHL
00001544: SUB
00001545: DUP13
00001546: AND
00001547: SWAP1
00001548: PUSH4 0x1626ba7e
0000154d: SWAP1
0000154e: PUSH2 0x155d
00001551: SWAP1
00001552: DUP14
00001553: SWAP1
00001554: DUP13
00001555: SWAP1
00001556: PUSH1 0x04
00001558: ADD
00001559: PUSH2 0x3d65
0000155c: JUMP
0000155d: JUMPDEST
0000155e: PUSH1 0x20
00001560: PUSH1 0x40
00001562: MLOAD
00001563: DUP1
00001564: DUP4
00001565: SUB
00001566: DUP2
00001567: DUP7
00001568: DUP1
00001569: EXTCODESIZE
0000156a: ISZERO
0000156b: DUP1
0000156c: ISZERO
0000156d: PUSH2 0x1575
00001570: JUMPI
00001571: PUSH1 0x00
00001573: DUP1
00001574: REVERT
00001575: JUMPDEST
00001576: POP
00001577: GAS
00001578: STATICCALL
00001579: ISZERO
0000157a: DUP1
0000157b: ISZERO
0000157c: PUSH2 0x1589
0000157f: JUMPI
00001580: RETURNDATASIZE
00001581: PUSH1 0x00
00001583: DUP1
00001584: RETURNDATACOPY
00001585: RETURNDATASIZE
00001586: PUSH1 0x00
00001588: REVERT
00001589: JUMPDEST
0000158a: POP
0000158b: POP
0000158c: POP
0000158d: POP
0000158e: PUSH1 0x40
00001590: MLOAD
00001591: RETURNDATASIZE
00001592: PUSH1 0x1f
00001594: NOT
00001595: PUSH1 0x1f
00001597: DUP3
00001598: ADD
00001599: AND
0000159a: DUP3
0000159b: ADD
0000159c: DUP1
0000159d: PUSH1 0x40
0000159f: MSTORE
000015a0: POP
000015a1: DUP2
000015a2: ADD
000015a3: SWAP1
000015a4: PUSH2 0x15ad
000015a7: SWAP2
000015a8: SWAP1
000015a9: PUSH2 0x3752
000015ac: JUMP
000015ad: JUMPDEST
000015ae: PUSH1 0x01
000015b0: PUSH1 0x01
000015b2: PUSH1 0xe0
000015b4: SHL
000015b5: SUB
000015b6: NOT
000015b7: AND
000015b8: PUSH4 0x0b135d3f
000015bd: PUSH1 0xe1
000015bf: SHL
000015c0: EQ
000015c1: SWAP7
000015c2: POP
000015c3: PUSH2 0x1612
000015c6: SWAP6
000015c7: POP
000015c8: POP
000015c9: POP
000015ca: POP
000015cb: POP
000015cc: POP
000015cd: JUMP
000015ce: JUMPDEST
000015cf: PUSH1 0x06
000015d1: DUP6
000015d2: PUSH1 0x07
000015d4: DUP2
000015d5: GT
000015d6: ISZERO
000015d7: PUSH2 0x15dc
000015da: JUMPI
000015db: INVALID
000015dc: JUMPDEST
000015dd: EQ
000015de: ISZERO
000015df: PUSH2 0x15fa
000015e2: JUMPI
000015e3: PUSH2 0x15ed
000015e6: DUP11
000015e7: DUP13
000015e8: DUP11
000015e9: PUSH2 0x253e
000015ec: JUMP
000015ed: JUMPDEST
000015ee: SWAP7
000015ef: POP
000015f0: POP
000015f1: POP
000015f2: POP
000015f3: POP
000015f4: POP
000015f5: POP
000015f6: PUSH2 0x1612
000015f9: JUMP
000015fa: JUMPDEST
000015fb: PUSH1 0x40
000015fd: MLOAD
000015fe: PUSH3 0x461bcd
00001602: PUSH1 0xe5
00001604: SHL
00001605: DUP2
00001606: MSTORE
00001607: PUSH1 0x04
00001609: ADD
0000160a: PUSH2 0x0435
0000160d: SWAP1
0000160e: PUSH2 0x45be
00001611: JUMP
00001612: JUMPDEST
00001613: SWAP5
00001614: SWAP4
00001615: POP
00001616: POP
00001617: POP
00001618: POP
00001619: JUMP
0000161a: JUMPDEST
0000161b: PUSH1 0x40
0000161d: MLOAD
0000161e: DUP1
0000161f: PUSH1 0x40
00001621: ADD
00001622: PUSH1 0x40
00001624: MSTORE
00001625: DUP1
00001626: PUSH1 0x08
00001628: DUP2
00001629: MSTORE
0000162a: PUSH1 0x20
0000162c: ADD
0000162d: PUSH32 0x546f6b656e6c6f6e000000000000000000000000000000000000000000000000
0000164e: DUP2
0000164f: MSTORE
00001650: POP
00001651: DUP2
00001652: JUMP
00001653: JUMPDEST
00001654: PUSH1 0x00
00001656: PUSH1 0x01
00001658: PUSH1 0x01
0000165a: PUSH1 0xa0
0000165c: SHL
0000165d: SUB
0000165e: DUP3
0000165f: AND
00001660: PUSH20 0x7a250d5630b4cf539739df2c5dacb4c659f2488d
00001675: EQ
00001676: DUP1
00001677: PUSH2 0x169c
0000167a: JUMPI
0000167b: POP
0000167c: PUSH1 0x01
0000167e: PUSH1 0x01
00001680: PUSH1 0xa0
00001682: SHL
00001683: SUB
00001684: DUP3
00001685: AND
00001686: PUSH20 0xe592427a0aece92de3edee1f18e0157c05861564
0000169b: EQ
0000169c: JUMPDEST
0000169d: DUP1
0000169e: PUSH2 0x16c3
000016a1: JUMPI
000016a2: POP
000016a3: PUSH1 0x01
000016a5: PUSH1 0x01
000016a7: PUSH1 0xa0
000016a9: SHL
000016aa: SUB
000016ab: DUP3
000016ac: AND
000016ad: PUSH20 0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f
000016c2: EQ
000016c3: JUMPDEST
000016c4: ISZERO
000016c5: PUSH2 0x16d0
000016c8: JUMPI
000016c9: POP
000016ca: PUSH1 0x00
000016cc: PUSH2 0x16d4
000016cf: JUMP
000016d0: JUMPDEST
000016d1: POP
000016d2: PUSH1 0x01
000016d4: JUMPDEST
000016d5: SWAP2
000016d6: SWAP1
000016d7: POP
000016d8: JUMP
000016d9: JUMPDEST
000016da: PUSH1 0x00
000016dc: PUSH1 0x40
000016de: MLOAD
000016df: PUSH1 0x20
000016e1: ADD
000016e2: PUSH2 0x16ea
000016e5: SWAP1
000016e6: PUSH2 0x3a95
000016e9: JUMP
000016ea: JUMPDEST
000016eb: PUSH1 0x40
000016ed: MLOAD
000016ee: PUSH1 0x20
000016f0: DUP2
000016f1: DUP4
000016f2: SUB
000016f3: SUB
000016f4: DUP2
000016f5: MSTORE
000016f6: SWAP1
000016f7: PUSH1 0x40
000016f9: MSTORE
000016fa: DUP1
000016fb: MLOAD
000016fc: SWAP1
000016fd: PUSH1 0x20
000016ff: ADD
00001700: KECCAK256
00001701: DUP5
00001702: PUSH1 0x00
00001704: ADD
00001705: MLOAD
00001706: DUP6
00001707: PUSH1 0x20
00001709: ADD
0000170a: MLOAD
0000170b: DUP7
0000170c: PUSH1 0x40
0000170e: ADD
0000170f: MLOAD
00001710: DUP8
00001711: PUSH1 0x60
00001713: ADD
00001714: MLOAD
00001715: DUP9
00001716: PUSH1 0x80
00001718: ADD
00001719: MLOAD
0000171a: DUP10
0000171b: PUSH1 0xa0
0000171d: ADD
0000171e: MLOAD
0000171f: DUP11
00001720: PUSH1 0xc0
00001722: ADD
00001723: MLOAD
00001724: DUP12
00001725: PUSH1 0xe0
00001727: ADD
00001728: MLOAD
00001729: DUP13
0000172a: PUSH2 0x0100
0000172d: ADD
0000172e: MLOAD
0000172f: PUSH1 0x40
00001731: MLOAD
00001732: PUSH1 0x20
00001734: ADD
00001735: PUSH2 0x1747
00001738: SWAP11
00001739: SWAP10
0000173a: SWAP9
0000173b: SWAP8
0000173c: SWAP7
0000173d: SWAP6
0000173e: SWAP5
0000173f: SWAP4
00001740: SWAP3
00001741: SWAP2
00001742: SWAP1
00001743: PUSH2 0x3d0d
00001746: JUMP
00001747: JUMPDEST
00001748: PUSH1 0x40
0000174a: MLOAD
0000174b: PUSH1 0x20
0000174d: DUP2
0000174e: DUP4
0000174f: SUB
00001750: SUB
00001751: DUP2
00001752: MSTORE
00001753: SWAP1
00001754: PUSH1 0x40
00001756: MSTORE
00001757: DUP1
00001758: MLOAD
00001759: SWAP1
0000175a: PUSH1 0x20
0000175c: ADD
0000175d: KECCAK256
0000175e: SWAP1
0000175f: POP
00001760: PUSH1 0x00
00001762: PUSH1 0x40
00001764: MLOAD
00001765: DUP1
00001766: PUSH1 0x40
00001768: ADD
00001769: PUSH1 0x40
0000176b: MSTORE
0000176c: DUP1
0000176d: PUSH1 0x02
0000176f: DUP2
00001770: MSTORE
00001771: PUSH1 0x20
00001773: ADD
00001774: PUSH2 0x1901
00001777: PUSH1 0xf0
00001779: SHL
0000177a: DUP2
0000177b: MSTORE
0000177c: POP
0000177d: PUSH32 0x2398e52ffc413ba4f582150da8278d5b2386c55f513d50e900e11bff0ea59c7c
0000179e: DUP4
0000179f: PUSH1 0x40
000017a1: MLOAD
000017a2: PUSH1 0x20
000017a4: ADD
000017a5: PUSH2 0x17b0
000017a8: SWAP4
000017a9: SWAP3
000017aa: SWAP2
000017ab: SWAP1
000017ac: PUSH2 0x3a6e
000017af: JUMP
000017b0: JUMPDEST
000017b1: PUSH1 0x40
000017b3: MLOAD
000017b4: PUSH1 0x20
000017b6: DUP2
000017b7: DUP4
000017b8: SUB
000017b9: SUB
000017ba: DUP2
000017bb: MSTORE
000017bc: SWAP1
000017bd: PUSH1 0x40
000017bf: MSTORE
000017c0: DUP1
000017c1: MLOAD
000017c2: SWAP1
000017c3: PUSH1 0x20
000017c5: ADD
000017c6: KECCAK256
000017c7: SWAP1
000017c8: POP
000017c9: PUSH2 0x181d
000017cc: DUP6
000017cd: PUSH1 0xa0
000017cf: ADD
000017d0: MLOAD
000017d1: DUP3
000017d2: PUSH1 0x40
000017d4: MLOAD
000017d5: DUP1
000017d6: PUSH1 0x20
000017d8: ADD
000017d9: PUSH1 0x40
000017db: MSTORE
000017dc: DUP1
000017dd: PUSH1 0x00
000017df: DUP2
000017e0: MSTORE
000017e1: POP
000017e2: DUP8
000017e3: DUP8
000017e4: DUP1
000017e5: DUP1
000017e6: PUSH1 0x1f
000017e8: ADD
000017e9: PUSH1 0x20
000017eb: DUP1
000017ec: SWAP2
000017ed: DIV
000017ee: MUL
000017ef: PUSH1 0x20
000017f1: ADD
000017f2: PUSH1 0x40
000017f4: MLOAD
000017f5: SWAP1
000017f6: DUP2
000017f7: ADD
000017f8: PUSH1 0x40
000017fa: MSTORE
000017fb: DUP1
000017fc: SWAP4
000017fd: SWAP3
000017fe: SWAP2
000017ff: SWAP1
00001800: DUP2
00001801: DUP2
00001802: MSTORE
00001803: PUSH1 0x20
00001805: ADD
00001806: DUP4
00001807: DUP4
00001808: DUP1
00001809: DUP3
0000180a: DUP5
0000180b: CALLDATACOPY
0000180c: PUSH1 0x00
0000180e: SWAP3
0000180f: ADD
00001810: SWAP2
00001811: SWAP1
00001812: SWAP2
00001813: MSTORE
00001814: POP
00001815: PUSH2 0x1220
00001818: SWAP3
00001819: POP
0000181a: POP
0000181b: POP
0000181c: JUMP
0000181d: JUMPDEST
0000181e: PUSH2 0x1839
00001821: JUMPI
00001822: PUSH1 0x40
00001824: MLOAD
00001825: PUSH3 0x461bcd
00001829: PUSH1 0xe5
0000182b: SHL
0000182c: DUP2
0000182d: MSTORE
0000182e: PUSH1 0x04
00001830: ADD
00001831: PUSH2 0x0435
00001834: SWAP1
00001835: PUSH2 0x4413
00001838: JUMP
00001839: JUMPDEST
0000183a: PUSH1 0x40
0000183c: MLOAD
0000183d: PUSH32 0x36ef425100000000000000000000000000000000000000000000000000000000
0000185e: DUP2
0000185f: MSTORE
00001860: PUSH1 0x01
00001862: PUSH1 0x01
00001864: PUSH1 0xa0
00001866: SHL
00001867: SUB
00001868: PUSH32 0x0000000000000000000000006d9cc14a1d36e6ff13fc6efa9e9326fcd12e7903
00001889: AND
0000188a: SWAP1
0000188b: PUSH4 0x36ef4251
00001890: SWAP1
00001891: PUSH2 0x189e
00001894: SWAP1
00001895: DUP6
00001896: SWAP1
00001897: PUSH1 0x04
00001899: ADD
0000189a: PUSH2 0x3d04
0000189d: JUMP
0000189e: JUMPDEST
0000189f: PUSH1 0x00
000018a1: PUSH1 0x40
000018a3: MLOAD
000018a4: DUP1
000018a5: DUP4
000018a6: SUB
000018a7: DUP2
000018a8: PUSH1 0x00
000018aa: DUP8
000018ab: DUP1
000018ac: EXTCODESIZE
000018ad: ISZERO
000018ae: DUP1
000018af: ISZERO
000018b0: PUSH2 0x18b8
000018b3: JUMPI
000018b4: PUSH1 0x00
000018b6: DUP1
000018b7: REVERT
000018b8: JUMPDEST
000018b9: POP
000018ba: GAS
000018bb: CALL
000018bc: ISZERO
000018bd: DUP1
000018be: ISZERO
000018bf: PUSH2 0x18cc
000018c2: JUMPI
000018c3: RETURNDATASIZE
000018c4: PUSH1 0x00
000018c6: DUP1
000018c7: RETURNDATACOPY
000018c8: RETURNDATASIZE
000018c9: PUSH1 0x00
000018cb: REVERT
000018cc: JUMPDEST
000018cd: POP
000018ce: POP
000018cf: POP
000018d0: POP
000018d1: POP
000018d2: SWAP4
000018d3: SWAP3
000018d4: POP
000018d5: POP
000018d6: POP
000018d7: JUMP
000018d8: JUMPDEST
000018d9: DUP1
000018da: MLOAD
000018db: ISZERO
000018dc: PUSH2 0x19ad
000018df: JUMPI
000018e0: PUSH1 0x00
000018e2: CALLVALUE
000018e3: GT
000018e4: PUSH2 0x18ff
000018e7: JUMPI
000018e8: PUSH1 0x40
000018ea: MLOAD
000018eb: PUSH3 0x461bcd
000018ef: PUSH1 0xe5
000018f1: SHL
000018f2: DUP2
000018f3: MSTORE
000018f4: PUSH1 0x04
000018f6: ADD
000018f7: PUSH2 0x0435
000018fa: SWAP1
000018fb: PUSH2 0x4982
000018fe: JUMP
000018ff: JUMPDEST
00001900: CALLVALUE
00001901: DUP3
00001902: PUSH1 0x60
00001904: ADD
00001905: MLOAD
00001906: EQ
00001907: PUSH2 0x1922
0000190a: JUMPI
0000190b: PUSH1 0x40
0000190d: MLOAD
0000190e: PUSH3 0x461bcd
00001912: PUSH1 0xe5
00001914: SHL
00001915: DUP2
00001916: MSTORE
00001917: PUSH1 0x04
00001919: ADD
0000191a: PUSH2 0x0435
0000191d: SWAP1
0000191e: PUSH2 0x43b6
00001921: JUMP
00001922: JUMPDEST
00001923: PUSH2 0x192f
00001926: DUP2
00001927: PUSH1 0x40
00001929: ADD
0000192a: MLOAD
0000192b: PUSH2 0x26a6
0000192e: JUMP
0000192f: JUMPDEST
00001930: PUSH2 0x19a8
00001933: JUMPI
00001934: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00001955: PUSH1 0x01
00001957: PUSH1 0x01
00001959: PUSH1 0xa0
0000195b: SHL
0000195c: SUB
0000195d: AND
0000195e: PUSH4 0xd0e30db0
00001963: CALLVALUE
00001964: PUSH1 0x40
00001966: MLOAD
00001967: DUP3
00001968: PUSH4 0xffffffff
0000196d: AND
0000196e: PUSH1 0xe0
00001970: SHL
00001971: DUP2
00001972: MSTORE
00001973: PUSH1 0x04
00001975: ADD
00001976: PUSH1 0x00
00001978: PUSH1 0x40
0000197a: MLOAD
0000197b: DUP1
0000197c: DUP4
0000197d: SUB
0000197e: DUP2
0000197f: DUP6
00001980: DUP9
00001981: DUP1
00001982: EXTCODESIZE
00001983: ISZERO
00001984: DUP1
00001985: ISZERO
00001986: PUSH2 0x198e
00001989: JUMPI
0000198a: PUSH1 0x00
0000198c: DUP1
0000198d: REVERT
0000198e: JUMPDEST
0000198f: POP
00001990: GAS
00001991: CALL
00001992: ISZERO
00001993: DUP1
00001994: ISZERO
00001995: PUSH2 0x19a2
00001998: JUMPI
00001999: RETURNDATASIZE
0000199a: PUSH1 0x00
0000199c: DUP1
0000199d: RETURNDATACOPY
0000199e: RETURNDATASIZE
0000199f: PUSH1 0x00
000019a1: REVERT
000019a2: JUMPDEST
000019a3: POP
000019a4: POP
000019a5: POP
000019a6: POP
000019a7: POP
000019a8: JUMPDEST
000019a9: PUSH2 0x1a3a
000019ac: JUMP
000019ad: JUMPDEST
000019ae: PUSH1 0x03
000019b0: SLOAD
000019b1: PUSH1 0xa0
000019b3: DUP4
000019b4: ADD
000019b5: MLOAD
000019b6: PUSH1 0x20
000019b8: DUP5
000019b9: ADD
000019ba: MLOAD
000019bb: PUSH1 0x60
000019bd: DUP6
000019be: ADD
000019bf: MLOAD
000019c0: PUSH1 0x40
000019c2: MLOAD
000019c3: PUSH32 0x3474ad1a00000000000000000000000000000000000000000000000000000000
000019e4: DUP2
000019e5: MSTORE
000019e6: PUSH1 0x01
000019e8: PUSH1 0x01
000019ea: PUSH1 0xa0
000019ec: SHL
000019ed: SUB
000019ee: SWAP1
000019ef: SWAP5
000019f0: AND
000019f1: SWAP4
000019f2: PUSH4 0x3474ad1a
000019f7: SWAP4
000019f8: PUSH2 0x1a07
000019fb: SWAP4
000019fc: SWAP1
000019fd: SWAP3
000019fe: SWAP1
000019ff: SWAP2
00001a00: PUSH1 0x04
00001a02: ADD
00001a03: PUSH2 0x3cbc
00001a06: JUMP
00001a07: JUMPDEST
00001a08: PUSH1 0x00
00001a0a: PUSH1 0x40
00001a0c: MLOAD
00001a0d: DUP1
00001a0e: DUP4
00001a0f: SUB
00001a10: DUP2
00001a11: PUSH1 0x00
00001a13: DUP8
00001a14: DUP1
00001a15: EXTCODESIZE
00001a16: ISZERO
00001a17: DUP1
00001a18: ISZERO
00001a19: PUSH2 0x1a21
00001a1c: JUMPI
00001a1d: PUSH1 0x00
00001a1f: DUP1
00001a20: REVERT
00001a21: JUMPDEST
00001a22: POP
00001a23: GAS
00001a24: CALL
00001a25: ISZERO
00001a26: DUP1
00001a27: ISZERO
00001a28: PUSH2 0x1a35
00001a2b: JUMPI
00001a2c: RETURNDATASIZE
00001a2d: PUSH1 0x00
00001a2f: DUP1
00001a30: RETURNDATACOPY
00001a31: RETURNDATASIZE
00001a32: PUSH1 0x00
00001a34: REVERT
00001a35: JUMPDEST
00001a36: POP
00001a37: POP
00001a38: POP
00001a39: POP
00001a3a: JUMPDEST
00001a3b: POP
00001a3c: POP
00001a3d: JUMP
00001a3e: JUMPDEST
00001a3f: PUSH1 0x60
00001a41: PUSH1 0x00
00001a43: DUP3
00001a44: PUSH1 0x40
00001a46: ADD
00001a47: MLOAD
00001a48: DUP6
00001a49: PUSH1 0x00
00001a4b: ADD
00001a4c: MLOAD
00001a4d: PUSH1 0x00
00001a4f: PUSH2 0x1a57
00001a52: DUP4
00001a53: PUSH2 0x26a6
00001a56: JUMP
00001a57: JUMPDEST
00001a58: SWAP1
00001a59: POP
00001a5a: DUP1
00001a5b: PUSH2 0x1a74
00001a5e: JUMPI
00001a5f: PUSH2 0x1a74
00001a62: PUSH1 0x01
00001a64: PUSH1 0x01
00001a66: PUSH1 0xa0
00001a68: SHL
00001a69: SUB
00001a6a: DUP5
00001a6b: AND
00001a6c: DUP4
00001a6d: PUSH1 0x00
00001a6f: NOT
00001a70: PUSH2 0x21a3
00001a73: JUMP
00001a74: JUMPDEST
00001a75: PUSH1 0x00
00001a77: PUSH2 0x1aad
00001a7a: PUSH2 0x2710
00001a7d: PUSH2 0x1aa7
00001a80: PUSH2 0x1a9c
00001a83: DUP12
00001a84: PUSH1 0xa0
00001a86: ADD
00001a87: MLOAD
00001a88: PUSH2 0xffff
00001a8b: AND
00001a8c: PUSH2 0x2710
00001a8f: PUSH2 0x26ef
00001a92: SWAP1
00001a93: SWAP2
00001a94: SWAP1
00001a95: PUSH4 0xffffffff
00001a9a: AND
00001a9b: JUMP
00001a9c: JUMPDEST
00001a9d: PUSH1 0x80
00001a9f: DUP14
00001aa0: ADD
00001aa1: MLOAD
00001aa2: SWAP1
00001aa3: PUSH2 0x2717
00001aa6: JUMP
00001aa7: JUMPDEST
00001aa8: SWAP1
00001aa9: PUSH2 0x2751
00001aac: JUMP
00001aad: JUMPDEST
00001aae: DUP10
00001aaf: MLOAD
00001ab0: SWAP1
00001ab1: SWAP2
00001ab2: POP
00001ab3: PUSH1 0x01
00001ab5: PUSH1 0x01
00001ab7: PUSH1 0xa0
00001ab9: SHL
00001aba: SUB
00001abb: AND
00001abc: PUSH20 0x7a250d5630b4cf539739df2c5dacb4c659f2488d
00001ad1: EQ
00001ad2: DUP1
00001ad3: PUSH2 0x1af9
00001ad6: JUMPI
00001ad7: POP
00001ad8: DUP9
00001ad9: MLOAD
00001ada: PUSH1 0x01
00001adc: PUSH1 0x01
00001ade: PUSH1 0xa0
00001ae0: SHL
00001ae1: SUB
00001ae2: AND
00001ae3: PUSH20 0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f
00001af8: EQ
00001af9: JUMPDEST
00001afa: ISZERO
00001afb: PUSH2 0x1b9a
00001afe: JUMPI
00001aff: DUP9
00001b00: MLOAD
00001b01: PUSH1 0x01
00001b03: PUSH1 0x01
00001b05: PUSH1 0xa0
00001b07: SHL
00001b08: SUB
00001b09: AND
00001b0a: PUSH20 0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f
00001b1f: EQ
00001b20: PUSH2 0x1b4b
00001b23: JUMPI
00001b24: PUSH1 0x40
00001b26: MLOAD
00001b27: DUP1
00001b28: PUSH1 0x40
00001b2a: ADD
00001b2b: PUSH1 0x40
00001b2d: MSTORE
00001b2e: DUP1
00001b2f: PUSH1 0x0a
00001b31: DUP2
00001b32: MSTORE
00001b33: PUSH1 0x20
00001b35: ADD
00001b36: PUSH10 0x2ab734b9bbb0b8102b19
00001b41: PUSH1 0xb1
00001b43: SHL
00001b44: DUP2
00001b45: MSTORE
00001b46: POP
00001b47: PUSH2 0x1b6e
00001b4a: JUMP
00001b4b: JUMPDEST
00001b4c: PUSH1 0x40
00001b4e: MLOAD
00001b4f: DUP1
00001b50: PUSH1 0x40
00001b52: ADD
00001b53: PUSH1 0x40
00001b55: MSTORE
00001b56: DUP1
00001b57: PUSH1 0x09
00001b59: DUP2
00001b5a: MSTORE
00001b5b: PUSH1 0x20
00001b5d: ADD
00001b5e: PUSH9 0x053757368695377617
00001b68: PUSH1 0xbc
00001b6a: SHL
00001b6b: DUP2
00001b6c: MSTORE
00001b6d: POP
00001b6e: JUMPDEST
00001b6f: SWAP6
00001b70: POP
00001b71: PUSH2 0x1b93
00001b74: DUP10
00001b75: PUSH1 0x00
00001b77: ADD
00001b78: MLOAD
00001b79: DUP9
00001b7a: PUSH1 0x40
00001b7c: ADD
00001b7d: MLOAD
00001b7e: DUP10
00001b7f: PUSH1 0x60
00001b81: ADD
00001b82: MLOAD
00001b83: DUP13
00001b84: PUSH1 0x60
00001b86: ADD
00001b87: MLOAD
00001b88: DUP6
00001b89: DUP15
00001b8a: PUSH2 0x0100
00001b8d: ADD
00001b8e: MLOAD
00001b8f: PUSH2 0x2783
00001b92: JUMP
00001b93: JUMPDEST
00001b94: SWAP5
00001b95: POP
00001b96: PUSH2 0x1d8c
00001b99: JUMP
00001b9a: JUMPDEST
00001b9b: PUSH2 0x1ba2
00001b9e: PUSH2 0x335d
00001ba1: JUMP
00001ba2: JUMPDEST
00001ba3: DUP10
00001ba4: MLOAD
00001ba5: PUSH1 0x40
00001ba7: DUP1
00001ba8: DUP11
00001ba9: ADD
00001baa: MLOAD
00001bab: PUSH1 0x60
00001bad: DUP12
00001bae: ADD
00001baf: MLOAD
00001bb0: SWAP2
00001bb1: MLOAD
00001bb2: PUSH32 0x8ab4a8cc00000000000000000000000000000000000000000000000000000000
00001bd3: DUP2
00001bd4: MSTORE
00001bd5: PUSH1 0x01
00001bd7: PUSH1 0x01
00001bd9: PUSH1 0xa0
00001bdb: SHL
00001bdc: SUB
00001bdd: PUSH32 0x0000000000000000000000006d9cc14a1d36e6ff13fc6efa9e9326fcd12e7903
00001bfe: AND
00001bff: SWAP4
00001c00: PUSH4 0x8ab4a8cc
00001c05: SWAP4
00001c06: PUSH2 0x1c13
00001c09: SWAP4
00001c0a: SWAP2
00001c0b: SWAP3
00001c0c: PUSH1 0x04
00001c0e: ADD
00001c0f: PUSH2 0x3c99
00001c12: JUMP
00001c13: JUMPDEST
00001c14: PUSH1 0x80
00001c16: PUSH1 0x40
00001c18: MLOAD
00001c19: DUP1
00001c1a: DUP4
00001c1b: SUB
00001c1c: DUP2
00001c1d: DUP7
00001c1e: DUP1
00001c1f: EXTCODESIZE
00001c20: ISZERO
00001c21: DUP1
00001c22: ISZERO
00001c23: PUSH2 0x1c2b
00001c26: JUMPI
00001c27: PUSH1 0x00
00001c29: DUP1
00001c2a: REVERT
00001c2b: JUMPDEST
00001c2c: POP
00001c2d: GAS
00001c2e: STATICCALL
00001c2f: ISZERO
00001c30: DUP1
00001c31: ISZERO
00001c32: PUSH2 0x1c3f
00001c35: JUMPI
00001c36: RETURNDATASIZE
00001c37: PUSH1 0x00
00001c39: DUP1
00001c3a: RETURNDATACOPY
00001c3b: RETURNDATASIZE
00001c3c: PUSH1 0x00
00001c3e: REVERT
00001c3f: JUMPDEST
00001c40: POP
00001c41: POP
00001c42: POP
00001c43: POP
00001c44: PUSH1 0x40
00001c46: MLOAD
00001c47: RETURNDATASIZE
00001c48: PUSH1 0x1f
00001c4a: NOT
00001c4b: PUSH1 0x1f
00001c4d: DUP3
00001c4e: ADD
00001c4f: AND
00001c50: DUP3
00001c51: ADD
00001c52: DUP1
00001c53: PUSH1 0x40
00001c55: MSTORE
00001c56: POP
00001c57: DUP2
00001c58: ADD
00001c59: SWAP1
00001c5a: PUSH2 0x1c63
00001c5d: SWAP2
00001c5e: SWAP1
00001c5f: PUSH2 0x377a
00001c62: JUMP
00001c63: JUMPDEST
00001c64: POP
00001c65: PUSH2 0xffff
00001c68: AND
00001c69: PUSH1 0x40
00001c6b: DUP5
00001c6c: ADD
00001c6d: DUP2
00001c6e: SWAP1
00001c6f: MSTORE
00001c70: PUSH1 0x0f
00001c72: SWAP2
00001c73: DUP3
00001c74: SIGNEXTEND
00001c75: DUP3
00001c76: SIGNEXTEND
00001c77: PUSH1 0x20
00001c79: DUP6
00001c7a: ADD
00001c7b: MSTORE
00001c7c: SWAP2
00001c7d: DUP2
00001c7e: SIGNEXTEND
00001c7f: SWAP1
00001c80: SIGNEXTEND
00001c81: DUP3
00001c82: MSTORE
00001c83: PUSH2 0x1c9e
00001c86: JUMPI
00001c87: PUSH1 0x40
00001c89: MLOAD
00001c8a: PUSH3 0x461bcd
00001c8e: PUSH1 0xe5
00001c90: SHL
00001c91: DUP2
00001c92: MSTORE
00001c93: PUSH1 0x04
00001c95: ADD
00001c96: PUSH2 0x0435
00001c99: SWAP1
00001c9a: PUSH2 0x40ac
00001c9d: JUMP
00001c9e: JUMPDEST
00001c9f: PUSH1 0x00
00001ca1: DUP2
00001ca2: PUSH1 0x00
00001ca4: ADD
00001ca5: MLOAD
00001ca6: PUSH1 0x0f
00001ca8: SIGNEXTEND
00001ca9: SGT
00001caa: DUP1
00001cab: ISZERO
00001cac: PUSH2 0x1cbc
00001caf: JUMPI
00001cb0: POP
00001cb1: PUSH1 0x00
00001cb3: DUP2
00001cb4: PUSH1 0x20
00001cb6: ADD
00001cb7: MLOAD
00001cb8: PUSH1 0x0f
00001cba: SIGNEXTEND
00001cbb: SGT
00001cbc: JUMPDEST
00001cbd: ISZERO
00001cbe: PUSH2 0x1d72
00001cc1: JUMPI
00001cc2: PUSH1 0x40
00001cc4: DUP1
00001cc5: MLOAD
00001cc6: DUP1
00001cc7: DUP3
00001cc8: ADD
00001cc9: SWAP1
00001cca: SWAP2
00001ccb: MSTORE
00001ccc: PUSH1 0x05
00001cce: DUP2
00001ccf: MSTORE
00001cd0: PUSH32 0x4375727665000000000000000000000000000000000000000000000000000000
00001cf1: PUSH1 0x20
00001cf3: DUP1
00001cf4: DUP4
00001cf5: ADD
00001cf6: SWAP2
00001cf7: SWAP1
00001cf8: SWAP2
00001cf9: MSTORE
00001cfa: DUP3
00001cfb: MLOAD
00001cfc: PUSH1 0x00
00001cfe: NOT
00001cff: SWAP1
00001d00: DUP2
00001d01: ADD
00001d02: PUSH1 0x0f
00001d04: SWAP1
00001d05: DUP2
00001d06: SIGNEXTEND
00001d07: DUP2
00001d08: SIGNEXTEND
00001d09: DUP6
00001d0a: MSTORE
00001d0b: SWAP2
00001d0c: DUP5
00001d0d: ADD
00001d0e: DUP1
00001d0f: MLOAD
00001d10: SWAP1
00001d11: SWAP2
00001d12: ADD
00001d13: DUP3
00001d14: SIGNEXTEND
00001d15: SWAP1
00001d16: SWAP2
00001d17: SIGNEXTEND
00001d18: SWAP1
00001d19: MSTORE
00001d1a: PUSH1 0x60
00001d1c: DUP10
00001d1d: ADD
00001d1e: MLOAD
00001d1f: SWAP1
00001d20: SWAP8
00001d21: POP
00001d22: PUSH1 0x00
00001d24: SWAP1
00001d25: PUSH2 0x1d2d
00001d28: SWAP1
00001d29: PUSH2 0x28a7
00001d2c: JUMP
00001d2d: JUMPDEST
00001d2e: DUP12
00001d2f: MLOAD
00001d30: DUP4
00001d31: MLOAD
00001d32: PUSH1 0x20
00001d34: DUP6
00001d35: ADD
00001d36: MLOAD
00001d37: PUSH1 0x60
00001d39: DUP16
00001d3a: ADD
00001d3b: MLOAD
00001d3c: PUSH1 0x40
00001d3e: DUP8
00001d3f: ADD
00001d40: MLOAD
00001d41: SWAP5
00001d42: SWAP6
00001d43: POP
00001d44: PUSH2 0x1d4e
00001d47: SWAP5
00001d48: DUP9
00001d49: SWAP1
00001d4a: PUSH2 0x2941
00001d4d: JUMP
00001d4e: JUMPDEST
00001d4f: PUSH1 0x00
00001d51: PUSH2 0x1d5d
00001d54: DUP11
00001d55: PUSH1 0x60
00001d57: ADD
00001d58: MLOAD
00001d59: PUSH2 0x28a7
00001d5c: JUMP
00001d5d: JUMPDEST
00001d5e: SWAP1
00001d5f: POP
00001d60: PUSH2 0x1d69
00001d63: DUP2
00001d64: DUP4
00001d65: PUSH2 0x26ef
00001d68: JUMP
00001d69: JUMPDEST
00001d6a: SWAP8
00001d6b: POP
00001d6c: POP
00001d6d: POP
00001d6e: PUSH2 0x1d8a
00001d71: JUMP
00001d72: JUMPDEST
00001d73: PUSH1 0x40
00001d75: MLOAD
00001d76: PUSH3 0x461bcd
00001d7a: PUSH1 0xe5
00001d7c: SHL
00001d7d: DUP2
00001d7e: MSTORE
00001d7f: PUSH1 0x04
00001d81: ADD
00001d82: PUSH2 0x0435
00001d85: SWAP1
00001d86: PUSH2 0x486b
00001d89: JUMP
00001d8a: JUMPDEST
00001d8b: POP
00001d8c: JUMPDEST
00001d8d: POP
00001d8e: DUP1
00001d8f: PUSH2 0x1da7
00001d92: JUMPI
00001d93: PUSH2 0x1da7
00001d96: PUSH1 0x01
00001d98: PUSH1 0x01
00001d9a: PUSH1 0xa0
00001d9c: SHL
00001d9d: SUB
00001d9e: DUP5
00001d9f: AND
00001da0: DUP4
00001da1: PUSH1 0x00
00001da3: PUSH2 0x21a3
00001da6: JUMP
00001da7: JUMPDEST
00001da8: POP
00001da9: POP
00001daa: POP
00001dab: SWAP4
00001dac: POP
00001dad: SWAP4
00001dae: SWAP2
00001daf: POP
00001db0: POP
00001db1: JUMP
00001db2: JUMPDEST
00001db3: PUSH1 0x80
00001db5: DUP1
00001db6: DUP4
00001db7: ADD
00001db8: MLOAD
00001db9: PUSH1 0xa0
00001dbb: DUP5
00001dbc: ADD
00001dbd: MLOAD
00001dbe: SWAP2
00001dbf: DUP6
00001dc0: ADD
00001dc1: MLOAD
00001dc2: PUSH1 0x60
00001dc4: DUP6
00001dc5: ADD
00001dc6: MLOAD
00001dc7: PUSH1 0x00
00001dc9: SWAP4
00001dca: PUSH2 0xffff
00001dcd: SWAP4
00001dce: DUP5
00001dcf: AND
00001dd0: SWAP4
00001dd1: AND
00001dd2: SWAP2
00001dd3: EQ
00001dd4: ISZERO
00001dd5: PUSH2 0x1de4
00001dd8: JUMPI
00001dd9: DUP5
00001dda: PUSH1 0x60
00001ddc: ADD
00001ddd: MLOAD
00001dde: SWAP3
00001ddf: POP
00001de0: PUSH2 0x2097
00001de3: JUMP
00001de4: JUMPDEST
00001de5: DUP6
00001de6: PUSH1 0x80
00001de8: ADD
00001de9: MLOAD
00001dea: DUP6
00001deb: PUSH1 0x60
00001ded: ADD
00001dee: MLOAD
00001def: GT
00001df0: ISZERO
00001df1: PUSH2 0x1e70
00001df4: JUMPI
00001df5: PUSH1 0x00
00001df7: PUSH2 0x1e0d
00001dfa: DUP7
00001dfb: PUSH1 0x60
00001dfd: ADD
00001dfe: MLOAD
00001dff: DUP5
00001e00: PUSH2 0x2717
00001e03: SWAP1
00001e04: SWAP2
00001e05: SWAP1
00001e06: PUSH4 0xffffffff
00001e0b: AND
00001e0c: JUMP
00001e0d: JUMPDEST
00001e0e: PUSH2 0x1e34
00001e11: PUSH2 0x2710
00001e14: PUSH2 0x1e2e
00001e17: DUP11
00001e18: PUSH1 0x80
00001e1a: ADD
00001e1b: MLOAD
00001e1c: DUP11
00001e1d: PUSH1 0x60
00001e1f: ADD
00001e20: MLOAD
00001e21: PUSH2 0x26ef
00001e24: SWAP1
00001e25: SWAP2
00001e26: SWAP1
00001e27: PUSH4 0xffffffff
00001e2c: AND
00001e2d: JUMP
00001e2e: JUMPDEST
00001e2f: SWAP1
00001e30: PUSH2 0x2717
00001e33: JUMP
00001e34: JUMPDEST
00001e35: GT
00001e36: SWAP1
00001e37: POP
00001e38: DUP1
00001e39: ISZERO
00001e3a: PUSH2 0x1e62
00001e3d: JUMPI
00001e3e: PUSH2 0x1e5b
00001e41: PUSH2 0x2710
00001e44: PUSH2 0x1aa7
00001e47: PUSH2 0x1e50
00001e4a: DUP3
00001e4b: DUP8
00001e4c: PUSH2 0x26ef
00001e4f: JUMP
00001e50: JUMPDEST
00001e51: PUSH1 0x60
00001e53: DUP11
00001e54: ADD
00001e55: MLOAD
00001e56: SWAP1
00001e57: PUSH2 0x2717
00001e5a: JUMP
00001e5b: JUMPDEST
00001e5c: SWAP4
00001e5d: POP
00001e5e: PUSH2 0x1e6a
00001e61: JUMP
00001e62: JUMPDEST
00001e63: DUP7
00001e64: PUSH1 0x80
00001e66: ADD
00001e67: MLOAD
00001e68: SWAP4
00001e69: POP
00001e6a: JUMPDEST
00001e6b: POP
00001e6c: PUSH2 0x2097
00001e6f: JUMP
00001e70: JUMPDEST
00001e71: PUSH1 0x00
00001e73: DUP2
00001e74: GT
00001e75: PUSH2 0x1e90
00001e78: JUMPI
00001e79: PUSH1 0x40
00001e7b: MLOAD
00001e7c: PUSH3 0x461bcd
00001e80: PUSH1 0xe5
00001e82: SHL
00001e83: DUP2
00001e84: MSTORE
00001e85: PUSH1 0x04
00001e87: ADD
00001e88: PUSH2 0x0435
00001e8b: SWAP1
00001e8c: PUSH2 0x3edb
00001e8f: JUMP
00001e90: JUMPDEST
00001e91: PUSH1 0x00
00001e93: DUP3
00001e94: DUP3
00001e95: LT
00001e96: PUSH2 0x1e9f
00001e99: JUMPI
00001e9a: DUP3
00001e9b: PUSH2 0x1ea1
00001e9e: JUMP
00001e9f: JUMPDEST
00001ea0: DUP2
00001ea1: JUMPDEST
00001ea2: SWAP1
00001ea3: POP
00001ea4: PUSH1 0x00
00001ea6: PUSH2 0x1ebc
00001ea9: DUP8
00001eaa: PUSH1 0x60
00001eac: ADD
00001ead: MLOAD
00001eae: DUP4
00001eaf: PUSH2 0x2717
00001eb2: SWAP1
00001eb3: SWAP2
00001eb4: SWAP1
00001eb5: PUSH4 0xffffffff
00001eba: AND
00001ebb: JUMP
00001ebc: JUMPDEST
00001ebd: PUSH2 0x1edd
00001ec0: PUSH2 0x2710
00001ec3: PUSH2 0x1e2e
00001ec6: DUP11
00001ec7: PUSH1 0x60
00001ec9: ADD
00001eca: MLOAD
00001ecb: DUP13
00001ecc: PUSH1 0x80
00001ece: ADD
00001ecf: MLOAD
00001ed0: PUSH2 0x26ef
00001ed3: SWAP1
00001ed4: SWAP2
00001ed5: SWAP1
00001ed6: PUSH4 0xffffffff
00001edb: AND
00001edc: JUMP
00001edd: JUMPDEST
00001ede: GT
00001edf: ISZERO
00001ee0: SWAP1
00001ee1: POP
00001ee2: DUP1
00001ee3: PUSH2 0x1efe
00001ee6: JUMPI
00001ee7: PUSH1 0x40
00001ee9: MLOAD
00001eea: PUSH3 0x461bcd
00001eee: PUSH1 0xe5
00001ef0: SHL
00001ef1: DUP2
00001ef2: MSTORE
00001ef3: PUSH1 0x04
00001ef5: ADD
00001ef6: PUSH2 0x0435
00001ef9: SWAP1
00001efa: PUSH2 0x3f95
00001efd: JUMP
00001efe: JUMPDEST
00001eff: PUSH1 0x00
00001f01: PUSH2 0x1f0d
00001f04: DUP8
00001f05: PUSH1 0x60
00001f07: ADD
00001f08: MLOAD
00001f09: PUSH2 0x28a7
00001f0c: JUMP
00001f0d: JUMPDEST
00001f0e: PUSH1 0x80
00001f10: DUP11
00001f11: ADD
00001f12: MLOAD
00001f13: SWAP1
00001f14: SWAP2
00001f15: POP
00001f16: DUP2
00001f17: LT
00001f18: DUP1
00001f19: ISZERO
00001f1a: SWAP1
00001f1b: DUP2
00001f1c: PUSH2 0x1f2d
00001f1f: JUMPI
00001f20: POP
00001f21: PUSH2 0x1f2d
00001f24: DUP9
00001f25: PUSH1 0x60
00001f27: ADD
00001f28: MLOAD
00001f29: PUSH2 0x26a6
00001f2c: JUMP
00001f2d: JUMPDEST
00001f2e: ISZERO
00001f2f: PUSH2 0x206e
00001f32: JUMPI
00001f33: PUSH1 0x80
00001f35: DUP11
00001f36: ADD
00001f37: MLOAD
00001f38: PUSH1 0x00
00001f3a: SWAP1
00001f3b: PUSH2 0x1f44
00001f3e: SWAP1
00001f3f: DUP5
00001f40: PUSH2 0x26ef
00001f43: JUMP
00001f44: JUMPDEST
00001f45: PUSH1 0x40
00001f47: MLOAD
00001f48: PUSH4 0x70a08231
00001f4d: PUSH1 0xe0
00001f4f: SHL
00001f50: DUP2
00001f51: MSTORE
00001f52: SWAP1
00001f53: SWAP2
00001f54: POP
00001f55: PUSH1 0x01
00001f57: PUSH1 0x01
00001f59: PUSH1 0xa0
00001f5b: SHL
00001f5c: SUB
00001f5d: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00001f7e: AND
00001f7f: SWAP1
00001f80: PUSH4 0x70a08231
00001f85: SWAP1
00001f86: PUSH2 0x1f93
00001f89: SWAP1
00001f8a: ADDRESS
00001f8b: SWAP1
00001f8c: PUSH1 0x04
00001f8e: ADD
00001f8f: PUSH2 0x3c6b
00001f92: JUMP
00001f93: JUMPDEST
00001f94: PUSH1 0x20
00001f96: PUSH1 0x40
00001f98: MLOAD
00001f99: DUP1
00001f9a: DUP4
00001f9b: SUB
00001f9c: DUP2
00001f9d: DUP7
00001f9e: DUP1
00001f9f: EXTCODESIZE
00001fa0: ISZERO
00001fa1: DUP1
00001fa2: ISZERO
00001fa3: PUSH2 0x1fab
00001fa6: JUMPI
00001fa7: PUSH1 0x00
00001fa9: DUP1
00001faa: REVERT
00001fab: JUMPDEST
00001fac: POP
00001fad: GAS
00001fae: STATICCALL
00001faf: ISZERO
00001fb0: DUP1
00001fb1: ISZERO
00001fb2: PUSH2 0x1fbf
00001fb5: JUMPI
00001fb6: RETURNDATASIZE
00001fb7: PUSH1 0x00
00001fb9: DUP1
00001fba: RETURNDATACOPY
00001fbb: RETURNDATASIZE
00001fbc: PUSH1 0x00
00001fbe: REVERT
00001fbf: JUMPDEST
00001fc0: POP
00001fc1: POP
00001fc2: POP
00001fc3: POP
00001fc4: PUSH1 0x40
00001fc6: MLOAD
00001fc7: RETURNDATASIZE
00001fc8: PUSH1 0x1f
00001fca: NOT
00001fcb: PUSH1 0x1f
00001fcd: DUP3
00001fce: ADD
00001fcf: AND
00001fd0: DUP3
00001fd1: ADD
00001fd2: DUP1
00001fd3: PUSH1 0x40
00001fd5: MSTORE
00001fd6: POP
00001fd7: DUP2
00001fd8: ADD
00001fd9: SWAP1
00001fda: PUSH2 0x1fe3
00001fdd: SWAP2
00001fde: SWAP1
00001fdf: PUSH2 0x3938
00001fe2: JUMP
00001fe3: JUMPDEST
00001fe4: DUP2
00001fe5: GT
00001fe6: PUSH2 0x206c
00001fe9: JUMPI
00001fea: PUSH1 0x40
00001fec: MLOAD
00001fed: PUSH4 0x2e1a7d4d
00001ff2: PUSH1 0xe0
00001ff4: SHL
00001ff5: DUP2
00001ff6: MSTORE
00001ff7: PUSH1 0x01
00001ff9: PUSH1 0x01
00001ffb: PUSH1 0xa0
00001ffd: SHL
00001ffe: SUB
00001fff: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00002020: AND
00002021: SWAP1
00002022: PUSH4 0x2e1a7d4d
00002027: SWAP1
00002028: PUSH2 0x2035
0000202b: SWAP1
0000202c: DUP5
0000202d: SWAP1
0000202e: PUSH1 0x04
00002030: ADD
00002031: PUSH2 0x3d04
00002034: JUMP
00002035: JUMPDEST
00002036: PUSH1 0x00
00002038: PUSH1 0x40
0000203a: MLOAD
0000203b: DUP1
0000203c: DUP4
0000203d: SUB
0000203e: DUP2
0000203f: PUSH1 0x00
00002041: DUP8
00002042: DUP1
00002043: EXTCODESIZE
00002044: ISZERO
00002045: DUP1
00002046: ISZERO
00002047: PUSH2 0x204f
0000204a: JUMPI
0000204b: PUSH1 0x00
0000204d: DUP1
0000204e: REVERT
0000204f: JUMPDEST
00002050: POP
00002051: GAS
00002052: CALL
00002053: ISZERO
00002054: DUP1
00002055: ISZERO
00002056: PUSH2 0x2063
00002059: JUMPI
0000205a: RETURNDATASIZE
0000205b: PUSH1 0x00
0000205d: DUP1
0000205e: RETURNDATACOPY
0000205f: RETURNDATASIZE
00002060: PUSH1 0x00
00002062: REVERT
00002063: JUMPDEST
00002064: POP
00002065: POP
00002066: POP
00002067: POP
00002068: PUSH1 0x01
0000206a: SWAP2
0000206b: POP
0000206c: JUMPDEST
0000206d: POP
0000206e: JUMPDEST
0000206f: DUP1
00002070: PUSH2 0x208b
00002073: JUMPI
00002074: PUSH1 0x40
00002076: MLOAD
00002077: PUSH3 0x461bcd
0000207b: PUSH1 0xe5
0000207d: SHL
0000207e: DUP2
0000207f: MSTORE
00002080: PUSH1 0x04
00002082: ADD
00002083: PUSH2 0x0435
00002086: SWAP1
00002087: PUSH2 0x3f38
0000208a: JUMP
0000208b: JUMPDEST
0000208c: DUP10
0000208d: PUSH1 0x80
0000208f: ADD
00002090: MLOAD
00002091: SWAP7
00002092: POP
00002093: POP
00002094: POP
00002095: POP
00002096: POP
00002097: JUMPDEST
00002098: DUP4
00002099: PUSH1 0x20
0000209b: ADD
0000209c: MLOAD
0000209d: ISZERO
0000209e: PUSH2 0x2174
000020a1: JUMPI
000020a2: PUSH2 0x20ae
000020a5: DUP5
000020a6: PUSH1 0x60
000020a8: ADD
000020a9: MLOAD
000020aa: PUSH2 0x26a6
000020ad: JUMP
000020ae: JUMPDEST
000020af: PUSH2 0x2131
000020b2: JUMPI
000020b3: PUSH1 0x40
000020b5: MLOAD
000020b6: PUSH4 0x2e1a7d4d
000020bb: PUSH1 0xe0
000020bd: SHL
000020be: DUP2
000020bf: MSTORE
000020c0: PUSH1 0x01
000020c2: PUSH1 0x01
000020c4: PUSH1 0xa0
000020c6: SHL
000020c7: SUB
000020c8: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
000020e9: AND
000020ea: SWAP1
000020eb: PUSH4 0x2e1a7d4d
000020f0: SWAP1
000020f1: PUSH2 0x20fe
000020f4: SWAP1
000020f5: DUP7
000020f6: SWAP1
000020f7: PUSH1 0x04
000020f9: ADD
000020fa: PUSH2 0x3d04
000020fd: JUMP
000020fe: JUMPDEST
000020ff: PUSH1 0x00
00002101: PUSH1 0x40
00002103: MLOAD
00002104: DUP1
00002105: DUP4
00002106: SUB
00002107: DUP2
00002108: PUSH1 0x00
0000210a: DUP8
0000210b: DUP1
0000210c: EXTCODESIZE
0000210d: ISZERO
0000210e: DUP1
0000210f: ISZERO
00002110: PUSH2 0x2118
00002113: JUMPI
00002114: PUSH1 0x00
00002116: DUP1
00002117: REVERT
00002118: JUMPDEST
00002119: POP
0000211a: GAS
0000211b: CALL
0000211c: ISZERO
0000211d: DUP1
0000211e: ISZERO
0000211f: PUSH2 0x212c
00002122: JUMPI
00002123: RETURNDATASIZE
00002124: PUSH1 0x00
00002126: DUP1
00002127: RETURNDATACOPY
00002128: RETURNDATASIZE
00002129: PUSH1 0x00
0000212b: REVERT
0000212c: JUMPDEST
0000212d: POP
0000212e: POP
0000212f: POP
00002130: POP
00002131: JUMPDEST
00002132: DUP6
00002133: PUSH1 0xc0
00002135: ADD
00002136: MLOAD
00002137: PUSH1 0x01
00002139: PUSH1 0x01
0000213b: PUSH1 0xa0
0000213d: SHL
0000213e: SUB
0000213f: AND
00002140: PUSH2 0x08fc
00002143: DUP5
00002144: SWAP1
00002145: DUP2
00002146: ISZERO
00002147: MUL
00002148: SWAP1
00002149: PUSH1 0x40
0000214b: MLOAD
0000214c: PUSH1 0x00
0000214e: PUSH1 0x40
00002150: MLOAD
00002151: DUP1
00002152: DUP4
00002153: SUB
00002154: DUP2
00002155: DUP6
00002156: DUP9
00002157: DUP9
00002158: CALL
00002159: SWAP4
0000215a: POP
0000215b: POP
0000215c: POP
0000215d: POP
0000215e: ISZERO
0000215f: DUP1
00002160: ISZERO
00002161: PUSH2 0x216e
00002164: JUMPI
00002165: RETURNDATASIZE
00002166: PUSH1 0x00
00002168: DUP1
00002169: RETURNDATACOPY
0000216a: RETURNDATASIZE
0000216b: PUSH1 0x00
0000216d: REVERT
0000216e: JUMPDEST
0000216f: POP
00002170: PUSH2 0x219a
00002173: JUMP
00002174: JUMPDEST
00002175: PUSH2 0x219a
00002178: DUP7
00002179: PUSH1 0xc0
0000217b: ADD
0000217c: MLOAD
0000217d: DUP5
0000217e: DUP9
0000217f: PUSH1 0x40
00002181: ADD
00002182: MLOAD
00002183: PUSH1 0x01
00002185: PUSH1 0x01
00002187: PUSH1 0xa0
00002189: SHL
0000218a: SUB
0000218b: AND
0000218c: PUSH2 0x2a69
0000218f: SWAP1
00002190: SWAP3
00002191: SWAP2
00002192: SWAP1
00002193: PUSH4 0xffffffff
00002198: AND
00002199: JUMP
0000219a: JUMPDEST
0000219b: POP
0000219c: POP
0000219d: SWAP4
0000219e: SWAP3
0000219f: POP
000021a0: POP
000021a1: POP
000021a2: JUMP
000021a3: JUMPDEST
000021a4: DUP1
000021a5: ISZERO
000021a6: DUP1
000021a7: PUSH2 0x2244
000021aa: JUMPI
000021ab: POP
000021ac: PUSH1 0x40
000021ae: MLOAD
000021af: PUSH32 0xdd62ed3e00000000000000000000000000000000000000000000000000000000
000021d0: DUP2
000021d1: MSTORE
000021d2: PUSH1 0x01
000021d4: PUSH1 0x01
000021d6: PUSH1 0xa0
000021d8: SHL
000021d9: SUB
000021da: DUP5
000021db: AND
000021dc: SWAP1
000021dd: PUSH4 0xdd62ed3e
000021e2: SWAP1
000021e3: PUSH2 0x21f2
000021e6: SWAP1
000021e7: ADDRESS
000021e8: SWAP1
000021e9: DUP7
000021ea: SWAP1
000021eb: PUSH1 0x04
000021ed: ADD
000021ee: PUSH2 0x3c7f
000021f1: JUMP
000021f2: JUMPDEST
000021f3: PUSH1 0x20
000021f5: PUSH1 0x40
000021f7: MLOAD
000021f8: DUP1
000021f9: DUP4
000021fa: SUB
000021fb: DUP2
000021fc: DUP7
000021fd: DUP1
000021fe: EXTCODESIZE
000021ff: ISZERO
00002200: DUP1
00002201: ISZERO
00002202: PUSH2 0x220a
00002205: JUMPI
00002206: PUSH1 0x00
00002208: DUP1
00002209: REVERT
0000220a: JUMPDEST
0000220b: POP
0000220c: GAS
0000220d: STATICCALL
0000220e: ISZERO
0000220f: DUP1
00002210: ISZERO
00002211: PUSH2 0x221e
00002214: JUMPI
00002215: RETURNDATASIZE
00002216: PUSH1 0x00
00002218: DUP1
00002219: RETURNDATACOPY
0000221a: RETURNDATASIZE
0000221b: PUSH1 0x00
0000221d: REVERT
0000221e: JUMPDEST
0000221f: POP
00002220: POP
00002221: POP
00002222: POP
00002223: PUSH1 0x40
00002225: MLOAD
00002226: RETURNDATASIZE
00002227: PUSH1 0x1f
00002229: NOT
0000222a: PUSH1 0x1f
0000222c: DUP3
0000222d: ADD
0000222e: AND
0000222f: DUP3
00002230: ADD
00002231: DUP1
00002232: PUSH1 0x40
00002234: MSTORE
00002235: POP
00002236: DUP2
00002237: ADD
00002238: SWAP1
00002239: PUSH2 0x2242
0000223c: SWAP2
0000223d: SWAP1
0000223e: PUSH2 0x3938
00002241: JUMP
00002242: JUMPDEST
00002243: ISZERO
00002244: JUMPDEST
00002245: PUSH2 0x2260
00002248: JUMPI
00002249: PUSH1 0x40
0000224b: MLOAD
0000224c: PUSH3 0x461bcd
00002250: PUSH1 0xe5
00002252: SHL
00002253: DUP2
00002254: MSTORE
00002255: PUSH1 0x04
00002257: ADD
00002258: PUSH2 0x0435
0000225b: SWAP1
0000225c: PUSH2 0x49f0
0000225f: JUMP
00002260: JUMPDEST
00002261: PUSH2 0x22cb
00002264: DUP4
00002265: PUSH4 0x095ea7b3
0000226a: PUSH1 0xe0
0000226c: SHL
0000226d: DUP5
0000226e: DUP5
0000226f: PUSH1 0x40
00002271: MLOAD
00002272: PUSH1 0x24
00002274: ADD
00002275: PUSH2 0x227f
00002278: SWAP3
00002279: SWAP2
0000227a: SWAP1
0000227b: PUSH2 0x3ce0
0000227e: JUMP
0000227f: JUMPDEST
00002280: PUSH1 0x40
00002282: DUP1
00002283: MLOAD
00002284: PUSH1 0x1f
00002286: NOT
00002287: DUP2
00002288: DUP5
00002289: SUB
0000228a: ADD
0000228b: DUP2
0000228c: MSTORE
0000228d: SWAP2
0000228e: SWAP1
0000228f: MSTORE
00002290: PUSH1 0x20
00002292: DUP2
00002293: ADD
00002294: DUP1
00002295: MLOAD
00002296: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000022b3: AND
000022b4: PUSH1 0x01
000022b6: PUSH1 0x01
000022b8: PUSH1 0xe0
000022ba: SHL
000022bb: SUB
000022bc: NOT
000022bd: SWAP1
000022be: SWAP4
000022bf: AND
000022c0: SWAP3
000022c1: SWAP1
000022c2: SWAP3
000022c3: OR
000022c4: SWAP1
000022c5: SWAP2
000022c6: MSTORE
000022c7: PUSH2 0x2a88
000022ca: JUMP
000022cb: JUMPDEST
000022cc: POP
000022cd: POP
000022ce: POP
000022cf: JUMP
000022d0: JUMPDEST
000022d1: PUSH1 0x60
000022d3: PUSH1 0x00
000022d5: DUP3
000022d6: PUSH1 0x40
000022d8: ADD
000022d9: MLOAD
000022da: DUP6
000022db: PUSH1 0x00
000022dd: ADD
000022de: MLOAD
000022df: PUSH1 0x00
000022e1: PUSH2 0x22e9
000022e4: DUP4
000022e5: PUSH2 0x26a6
000022e8: JUMP
000022e9: JUMPDEST
000022ea: SWAP1
000022eb: POP
000022ec: DUP1
000022ed: PUSH2 0x2306
000022f0: JUMPI
000022f1: PUSH2 0x2306
000022f4: PUSH1 0x01
000022f6: PUSH1 0x01
000022f8: PUSH1 0xa0
000022fa: SHL
000022fb: SUB
000022fc: DUP5
000022fd: AND
000022fe: DUP4
000022ff: PUSH1 0x00
00002301: NOT
00002302: PUSH2 0x21a3
00002305: JUMP
00002306: JUMPDEST
00002307: PUSH1 0x00
00002309: PUSH2 0x232e
0000230c: PUSH2 0x2710
0000230f: PUSH2 0x1aa7
00002312: PUSH2 0x1a9c
00002315: DUP12
00002316: PUSH1 0xa0
00002318: ADD
00002319: MLOAD
0000231a: PUSH2 0xffff
0000231d: AND
0000231e: PUSH2 0x2710
00002321: PUSH2 0x26ef
00002324: SWAP1
00002325: SWAP2
00002326: SWAP1
00002327: PUSH4 0xffffffff
0000232c: AND
0000232d: JUMP
0000232e: JUMPDEST
0000232f: DUP10
00002330: MLOAD
00002331: SWAP1
00002332: SWAP2
00002333: POP
00002334: PUSH1 0x01
00002336: PUSH1 0x01
00002338: PUSH1 0xa0
0000233a: SHL
0000233b: SUB
0000233c: AND
0000233d: PUSH20 0x7a250d5630b4cf539739df2c5dacb4c659f2488d
00002352: EQ
00002353: DUP1
00002354: PUSH2 0x237a
00002357: JUMPI
00002358: POP
00002359: DUP9
0000235a: MLOAD
0000235b: PUSH1 0x01
0000235d: PUSH1 0x01
0000235f: PUSH1 0xa0
00002361: SHL
00002362: SUB
00002363: AND
00002364: PUSH20 0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f
00002379: EQ
0000237a: JUMPDEST
0000237b: ISZERO
0000237c: PUSH2 0x2419
0000237f: JUMPI
00002380: DUP9
00002381: MLOAD
00002382: PUSH1 0x01
00002384: PUSH1 0x01
00002386: PUSH1 0xa0
00002388: SHL
00002389: SUB
0000238a: AND
0000238b: PUSH20 0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f
000023a0: EQ
000023a1: PUSH2 0x23cc
000023a4: JUMPI
000023a5: PUSH1 0x40
000023a7: MLOAD
000023a8: DUP1
000023a9: PUSH1 0x40
000023ab: ADD
000023ac: PUSH1 0x40
000023ae: MSTORE
000023af: DUP1
000023b0: PUSH1 0x0a
000023b2: DUP2
000023b3: MSTORE
000023b4: PUSH1 0x20
000023b6: ADD
000023b7: PUSH10 0x2ab734b9bbb0b8102b19
000023c2: PUSH1 0xb1
000023c4: SHL
000023c5: DUP2
000023c6: MSTORE
000023c7: POP
000023c8: PUSH2 0x23ef
000023cb: JUMP
000023cc: JUMPDEST
000023cd: PUSH1 0x40
000023cf: MLOAD
000023d0: DUP1
000023d1: PUSH1 0x40
000023d3: ADD
000023d4: PUSH1 0x40
000023d6: MSTORE
000023d7: DUP1
000023d8: PUSH1 0x09
000023da: DUP2
000023db: MSTORE
000023dc: PUSH1 0x20
000023de: ADD
000023df: PUSH9 0x053757368695377617
000023e9: PUSH1 0xbc
000023eb: SHL
000023ec: DUP2
000023ed: MSTORE
000023ee: POP
000023ef: JUMPDEST
000023f0: SWAP6
000023f1: POP
000023f2: PUSH2 0x1b93
000023f5: DUP10
000023f6: PUSH1 0x00
000023f8: ADD
000023f9: MLOAD
000023fa: DUP9
000023fb: PUSH1 0x40
000023fd: ADD
000023fe: MLOAD
000023ff: DUP10
00002400: PUSH1 0x60
00002402: ADD
00002403: MLOAD
00002404: DUP13
00002405: PUSH1 0x60
00002407: ADD
00002408: MLOAD
00002409: DUP6
0000240a: DUP15
0000240b: PUSH2 0x0100
0000240e: ADD
0000240f: MLOAD
00002410: DUP14
00002411: PUSH1 0x80
00002413: ADD
00002414: MLOAD
00002415: PUSH2 0x2b17
00002418: JUMP
00002419: JUMPDEST
0000241a: DUP9
0000241b: MLOAD
0000241c: PUSH1 0x01
0000241e: PUSH1 0x01
00002420: PUSH1 0xa0
00002422: SHL
00002423: SUB
00002424: AND
00002425: PUSH20 0xe592427a0aece92de3edee1f18e0157c05861564
0000243a: EQ
0000243b: ISZERO
0000243c: PUSH2 0x1b9a
0000243f: JUMPI
00002440: PUSH1 0x40
00002442: MLOAD
00002443: DUP1
00002444: PUSH1 0x40
00002446: ADD
00002447: PUSH1 0x40
00002449: MSTORE
0000244a: DUP1
0000244b: PUSH1 0x0a
0000244d: DUP2
0000244e: MSTORE
0000244f: PUSH1 0x20
00002451: ADD
00002452: PUSH32 0x556e697377617020563300000000000000000000000000000000000000000000
00002473: DUP2
00002474: MSTORE
00002475: POP
00002476: SWAP6
00002477: POP
00002478: PUSH2 0x1b93
0000247b: DUP10
0000247c: PUSH1 0x00
0000247e: ADD
0000247f: MLOAD
00002480: DUP9
00002481: PUSH1 0x40
00002483: ADD
00002484: MLOAD
00002485: DUP10
00002486: PUSH1 0x60
00002488: ADD
00002489: MLOAD
0000248a: DUP13
0000248b: PUSH2 0x0100
0000248e: ADD
0000248f: MLOAD
00002490: DUP14
00002491: PUSH1 0x60
00002493: ADD
00002494: MLOAD
00002495: DUP7
00002496: DUP14
00002497: PUSH1 0xa0
00002499: ADD
0000249a: MLOAD
0000249b: PUSH2 0x2d08
0000249e: JUMP
0000249f: JUMPDEST
000024a0: PUSH1 0x00
000024a2: DUP1
000024a3: DUP3
000024a4: MLOAD
000024a5: GT
000024a6: PUSH2 0x24c1
000024a9: JUMPI
000024aa: PUSH1 0x40
000024ac: MLOAD
000024ad: PUSH3 0x461bcd
000024b1: PUSH1 0xe5
000024b3: SHL
000024b4: DUP2
000024b5: MSTORE
000024b6: PUSH1 0x04
000024b8: ADD
000024b9: PUSH2 0x0435
000024bc: SWAP1
000024bd: PUSH2 0x470c
000024c0: JUMP
000024c1: JUMPDEST
000024c2: DUP2
000024c3: PUSH1 0x01
000024c5: DUP4
000024c6: MLOAD
000024c7: SUB
000024c8: DUP2
000024c9: MLOAD
000024ca: DUP2
000024cb: LT
000024cc: PUSH2 0x24d1
000024cf: JUMPI
000024d0: INVALID
000024d1: JUMPDEST
000024d2: ADD
000024d3: PUSH1 0x20
000024d5: ADD
000024d6: MLOAD
000024d7: DUP3
000024d8: MLOAD
000024d9: PUSH1 0x00
000024db: NOT
000024dc: ADD
000024dd: SWAP1
000024de: SWAP3
000024df: MSTORE
000024e0: POP
000024e1: PUSH32 0xff00000000000000000000000000000000000000000000000000000000000000
00002502: AND
00002503: SWAP1
00002504: JUMP
00002505: JUMPDEST
00002506: PUSH1 0x00
00002508: DUP2
00002509: PUSH1 0x20
0000250b: ADD
0000250c: DUP4
0000250d: MLOAD
0000250e: LT
0000250f: ISZERO
00002510: PUSH2 0x252b
00002513: JUMPI
00002514: PUSH1 0x40
00002516: MLOAD
00002517: PUSH3 0x461bcd
0000251b: PUSH1 0xe5
0000251d: SHL
0000251e: DUP2
0000251f: MSTORE
00002520: PUSH1 0x04
00002522: ADD
00002523: PUSH2 0x0435
00002526: SWAP1
00002527: PUSH2 0x4652
0000252a: JUMP
0000252b: JUMPDEST
0000252c: PUSH1 0x20
0000252e: DUP3
0000252f: ADD
00002530: SWAP2
00002531: POP
00002532: DUP2
00002533: DUP4
00002534: ADD
00002535: MLOAD
00002536: SWAP1
00002537: POP
00002538: JUMPDEST
00002539: SWAP3
0000253a: SWAP2
0000253b: POP
0000253c: POP
0000253d: JUMP
0000253e: JUMPDEST
0000253f: PUSH1 0x00
00002541: PUSH1 0x60
00002543: PUSH4 0x1626ba7e
00002548: PUSH1 0xe0
0000254a: SHL
0000254b: DUP6
0000254c: DUP5
0000254d: PUSH1 0x40
0000254f: MLOAD
00002550: PUSH1 0x24
00002552: ADD
00002553: PUSH2 0x255d
00002556: SWAP3
00002557: SWAP2
00002558: SWAP1
00002559: PUSH2 0x3d65
0000255c: JUMP
0000255d: JUMPDEST
0000255e: PUSH1 0x40
00002560: DUP1
00002561: MLOAD
00002562: PUSH1 0x1f
00002564: NOT
00002565: DUP2
00002566: DUP5
00002567: SUB
00002568: ADD
00002569: DUP2
0000256a: MSTORE
0000256b: SWAP2
0000256c: SWAP1
0000256d: MSTORE
0000256e: PUSH1 0x20
00002570: DUP2
00002571: ADD
00002572: DUP1
00002573: MLOAD
00002574: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002591: AND
00002592: PUSH1 0x01
00002594: PUSH1 0x01
00002596: PUSH1 0xe0
00002598: SHL
00002599: SUB
0000259a: NOT
0000259b: SWAP1
0000259c: SWAP4
0000259d: AND
0000259e: SWAP3
0000259f: SWAP1
000025a0: SWAP3
000025a1: OR
000025a2: SWAP1
000025a3: SWAP2
000025a4: MSTORE
000025a5: SWAP1
000025a6: POP
000025a7: PUSH32 0xb067138100000000000000000000000000000000000000000000000000000000
000025c8: DUP5
000025c9: EXTCODESIZE
000025ca: PUSH2 0x25fe
000025cd: JUMPI
000025ce: PUSH3 0x461bcd
000025d2: PUSH1 0xe5
000025d4: SHL
000025d5: PUSH1 0x00
000025d7: MSTORE
000025d8: PUSH1 0x01
000025da: PUSH1 0xe5
000025dc: SHL
000025dd: PUSH1 0x20
000025df: MSTORE
000025e0: PUSH13 0x062ba0a62622aa2fa2a92927a9
000025ee: PUSH1 0x81
000025f0: SHL
000025f1: PUSH1 0x40
000025f3: MSTORE
000025f4: PUSH1 0x00
000025f6: PUSH1 0x60
000025f8: MSTORE
000025f9: PUSH1 0x64
000025fb: PUSH1 0x00
000025fd: REVERT
000025fe: JUMPDEST
000025ff: PUSH1 0x20
00002601: DUP3
00002602: ADD
00002603: PUSH1 0x20
00002605: DUP2
00002606: DUP5
00002607: MLOAD
00002608: DUP4
00002609: DUP10
0000260a: GAS
0000260b: STATICCALL
0000260c: PUSH1 0x20
0000260e: RETURNDATASIZE
0000260f: EQ
00002610: PUSH2 0x2644
00002613: JUMPI
00002614: PUSH3 0x461bcd
00002618: PUSH1 0xe5
0000261a: SHL
0000261b: PUSH1 0x00
0000261d: MSTORE
0000261e: PUSH1 0x01
00002620: PUSH1 0xe5
00002622: SHL
00002623: PUSH1 0x20
00002625: MSTORE
00002626: PUSH13 0x062ba0a62622aa2fa2a92927a9
00002634: PUSH1 0x81
00002636: SHL
00002637: PUSH1 0x40
00002639: MSTORE
0000263a: PUSH1 0x00
0000263c: PUSH1 0x60
0000263e: MSTORE
0000263f: PUSH1 0x64
00002641: PUSH1 0x00
00002643: REVERT
00002644: JUMPDEST
00002645: DUP1
00002646: DUP1
00002647: ISZERO
00002648: PUSH2 0x2658
0000264b: JUMPI
0000264c: PUSH1 0x01
0000264e: DUP2
0000264f: EQ
00002650: PUSH2 0x2689
00002653: JUMPI
00002654: PUSH2 0x18cc
00002657: JUMP
00002658: JUMPDEST
00002659: PUSH3 0x461bcd
0000265d: PUSH1 0xe5
0000265f: SHL
00002660: PUSH1 0x00
00002662: MSTORE
00002663: PUSH1 0x01
00002665: PUSH1 0xe5
00002667: SHL
00002668: PUSH1 0x20
0000266a: MSTORE
0000266b: PUSH13 0x062ba0a62622aa2fa2a92927a9
00002679: PUSH1 0x81
0000267b: SHL
0000267c: PUSH1 0x40
0000267e: MSTORE
0000267f: PUSH1 0x00
00002681: PUSH1 0x60
00002683: MSTORE
00002684: PUSH1 0x64
00002686: PUSH1 0x00
00002688: REVERT
00002689: JUMPDEST
0000268a: POP
0000268b: POP
0000268c: MLOAD
0000268d: PUSH1 0x01
0000268f: PUSH1 0x01
00002691: PUSH1 0xe0
00002693: SHL
00002694: SUB
00002695: NOT
00002696: SWAP1
00002697: DUP2
00002698: AND
00002699: SWAP2
0000269a: AND
0000269b: EQ
0000269c: SWAP2
0000269d: POP
0000269e: POP
0000269f: JUMPDEST
000026a0: SWAP4
000026a1: SWAP3
000026a2: POP
000026a3: POP
000026a4: POP
000026a5: JUMP
000026a6: JUMPDEST
000026a7: PUSH1 0x00
000026a9: PUSH1 0x01
000026ab: PUSH1 0x01
000026ad: PUSH1 0xa0
000026af: SHL
000026b0: SUB
000026b1: DUP3
000026b2: AND
000026b3: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
000026c8: EQ
000026c9: DUP1
000026ca: PUSH2 0x26da
000026cd: JUMPI
000026ce: POP
000026cf: PUSH1 0x01
000026d1: PUSH1 0x01
000026d3: PUSH1 0xa0
000026d5: SHL
000026d6: SUB
000026d7: DUP3
000026d8: AND
000026d9: ISZERO
000026da: JUMPDEST
000026db: ISZERO
000026dc: PUSH2 0x26e7
000026df: JUMPI
000026e0: POP
000026e1: PUSH1 0x01
000026e3: PUSH2 0x16d4
000026e6: JUMP
000026e7: JUMPDEST
000026e8: POP
000026e9: PUSH1 0x00
000026eb: PUSH2 0x16d4
000026ee: JUMP
000026ef: JUMPDEST
000026f0: PUSH1 0x00
000026f2: DUP3
000026f3: DUP3
000026f4: GT
000026f5: ISZERO
000026f6: PUSH2 0x2711
000026f9: JUMPI
000026fa: PUSH1 0x40
000026fc: MLOAD
000026fd: PUSH3 0x461bcd
00002701: PUSH1 0xe5
00002703: SHL
00002704: DUP2
00002705: MSTORE
00002706: PUSH1 0x04
00002708: ADD
00002709: PUSH2 0x0435
0000270c: SWAP1
0000270d: PUSH2 0x4140
00002710: JUMP
00002711: JUMPDEST
00002712: POP
00002713: SWAP1
00002714: SUB
00002715: SWAP1
00002716: JUMP
00002717: JUMPDEST
00002718: PUSH1 0x00
0000271a: DUP3
0000271b: PUSH2 0x2726
0000271e: JUMPI
0000271f: POP
00002720: PUSH1 0x00
00002722: PUSH2 0x2538
00002725: JUMP
00002726: JUMPDEST
00002727: DUP3
00002728: DUP3
00002729: MUL
0000272a: DUP3
0000272b: DUP5
0000272c: DUP3
0000272d: DUP2
0000272e: PUSH2 0x2733
00002731: JUMPI
00002732: INVALID
00002733: JUMPDEST
00002734: DIV
00002735: EQ
00002736: PUSH2 0x269f
00002739: JUMPI
0000273a: PUSH1 0x40
0000273c: MLOAD
0000273d: PUSH3 0x461bcd
00002741: PUSH1 0xe5
00002743: SHL
00002744: DUP2
00002745: MSTORE
00002746: PUSH1 0x04
00002748: ADD
00002749: PUSH2 0x0435
0000274c: SWAP1
0000274d: PUSH2 0x4470
00002750: JUMP
00002751: JUMPDEST
00002752: PUSH1 0x00
00002754: DUP1
00002755: DUP3
00002756: GT
00002757: PUSH2 0x2772
0000275a: JUMPI
0000275b: PUSH1 0x40
0000275d: MLOAD
0000275e: PUSH3 0x461bcd
00002762: PUSH1 0xe5
00002764: SHL
00002765: DUP2
00002766: MSTORE
00002767: PUSH1 0x04
00002769: ADD
0000276a: PUSH2 0x0435
0000276d: SWAP1
0000276e: PUSH2 0x4231
00002771: JUMP
00002772: JUMPDEST
00002773: DUP2
00002774: DUP4
00002775: DUP2
00002776: PUSH2 0x277b
00002779: JUMPI
0000277a: INVALID
0000277b: JUMPDEST
0000277c: DIV
0000277d: SWAP4
0000277e: SWAP3
0000277f: POP
00002780: POP
00002781: POP
00002782: JUMP
00002783: JUMPDEST
00002784: PUSH1 0x40
00002786: DUP1
00002787: MLOAD
00002788: PUSH1 0x02
0000278a: DUP1
0000278b: DUP3
0000278c: MSTORE
0000278d: PUSH1 0x60
0000278f: DUP1
00002790: DUP4
00002791: ADD
00002792: DUP5
00002793: MSTORE
00002794: PUSH1 0x00
00002796: SWAP4
00002797: DUP11
00002798: SWAP4
00002799: SWAP2
0000279a: SWAP3
0000279b: SWAP1
0000279c: PUSH1 0x20
0000279e: DUP4
0000279f: ADD
000027a0: SWAP1
000027a1: DUP1
000027a2: CALLDATASIZE
000027a3: DUP4
000027a4: CALLDATACOPY
000027a5: ADD
000027a6: SWAP1
000027a7: POP
000027a8: POP
000027a9: SWAP1
000027aa: POP
000027ab: DUP8
000027ac: DUP2
000027ad: PUSH1 0x00
000027af: DUP2
000027b0: MLOAD
000027b1: DUP2
000027b2: LT
000027b3: PUSH2 0x27b8
000027b6: JUMPI
000027b7: INVALID
000027b8: JUMPDEST
000027b9: PUSH1 0x20
000027bb: MUL
000027bc: PUSH1 0x20
000027be: ADD
000027bf: ADD
000027c0: SWAP1
000027c1: PUSH1 0x01
000027c3: PUSH1 0x01
000027c5: PUSH1 0xa0
000027c7: SHL
000027c8: SUB
000027c9: AND
000027ca: SWAP1
000027cb: DUP2
000027cc: PUSH1 0x01
000027ce: PUSH1 0x01
000027d0: PUSH1 0xa0
000027d2: SHL
000027d3: SUB
000027d4: AND
000027d5: DUP2
000027d6: MSTORE
000027d7: POP
000027d8: POP
000027d9: DUP7
000027da: DUP2
000027db: PUSH1 0x01
000027dd: DUP2
000027de: MLOAD
000027df: DUP2
000027e0: LT
000027e1: PUSH2 0x27e6
000027e4: JUMPI
000027e5: INVALID
000027e6: JUMPDEST
000027e7: PUSH1 0x01
000027e9: PUSH1 0x01
000027eb: PUSH1 0xa0
000027ed: SHL
000027ee: SUB
000027ef: SWAP3
000027f0: DUP4
000027f1: AND
000027f2: PUSH1 0x20
000027f4: SWAP2
000027f5: DUP3
000027f6: MUL
000027f7: SWAP3
000027f8: SWAP1
000027f9: SWAP3
000027fa: ADD
000027fb: ADD
000027fc: MSTORE
000027fd: PUSH1 0x40
000027ff: MLOAD
00002800: PUSH4 0x38ed1739
00002805: PUSH1 0xe0
00002807: SHL
00002808: DUP2
00002809: MSTORE
0000280a: PUSH1 0x60
0000280c: SWAP2
0000280d: DUP5
0000280e: AND
0000280f: SWAP1
00002810: PUSH4 0x38ed1739
00002815: SWAP1
00002816: PUSH2 0x282b
00002819: SWAP1
0000281a: DUP11
0000281b: SWAP1
0000281c: DUP11
0000281d: SWAP1
0000281e: DUP8
0000281f: SWAP1
00002820: ADDRESS
00002821: SWAP1
00002822: DUP13
00002823: SWAP1
00002824: PUSH1 0x04
00002826: ADD
00002827: PUSH2 0x4c3b
0000282a: JUMP
0000282b: JUMPDEST
0000282c: PUSH1 0x00
0000282e: PUSH1 0x40
00002830: MLOAD
00002831: DUP1
00002832: DUP4
00002833: SUB
00002834: DUP2
00002835: PUSH1 0x00
00002837: DUP8
00002838: DUP1
00002839: EXTCODESIZE
0000283a: ISZERO
0000283b: DUP1
0000283c: ISZERO
0000283d: PUSH2 0x2845
00002840: JUMPI
00002841: PUSH1 0x00
00002843: DUP1
00002844: REVERT
00002845: JUMPDEST
00002846: POP
00002847: GAS
00002848: CALL
00002849: ISZERO
0000284a: DUP1
0000284b: ISZERO
0000284c: PUSH2 0x2859
0000284f: JUMPI
00002850: RETURNDATASIZE
00002851: PUSH1 0x00
00002853: DUP1
00002854: RETURNDATACOPY
00002855: RETURNDATASIZE
00002856: PUSH1 0x00
00002858: REVERT
00002859: JUMPDEST
0000285a: POP
0000285b: POP
0000285c: POP
0000285d: POP
0000285e: PUSH1 0x40
00002860: MLOAD
00002861: RETURNDATASIZE
00002862: PUSH1 0x00
00002864: DUP3
00002865: RETURNDATACOPY
00002866: PUSH1 0x1f
00002868: RETURNDATASIZE
00002869: SWAP1
0000286a: DUP2
0000286b: ADD
0000286c: PUSH1 0x1f
0000286e: NOT
0000286f: AND
00002870: DUP3
00002871: ADD
00002872: PUSH1 0x40
00002874: MSTORE
00002875: PUSH2 0x2881
00002878: SWAP2
00002879: SWAP1
0000287a: DUP2
0000287b: ADD
0000287c: SWAP1
0000287d: PUSH2 0x36a6
00002880: JUMP
00002881: JUMPDEST
00002882: SWAP1
00002883: POP
00002884: DUP1
00002885: PUSH1 0x01
00002887: DUP2
00002888: MLOAD
00002889: DUP2
0000288a: LT
0000288b: PUSH2 0x2890
0000288e: JUMPI
0000288f: INVALID
00002890: JUMPDEST
00002891: PUSH1 0x20
00002893: MUL
00002894: PUSH1 0x20
00002896: ADD
00002897: ADD
00002898: MLOAD
00002899: SWAP4
0000289a: POP
0000289b: POP
0000289c: POP
0000289d: POP
0000289e: SWAP7
0000289f: SWAP6
000028a0: POP
000028a1: POP
000028a2: POP
000028a3: POP
000028a4: POP
000028a5: POP
000028a6: JUMP
000028a7: JUMPDEST
000028a8: PUSH1 0x00
000028aa: PUSH2 0x28b2
000028ad: DUP3
000028ae: PUSH2 0x26a6
000028b1: JUMP
000028b2: JUMPDEST
000028b3: ISZERO
000028b4: PUSH2 0x28be
000028b7: JUMPI
000028b8: POP
000028b9: SELFBALANCE
000028ba: PUSH2 0x16d4
000028bd: JUMP
000028be: JUMPDEST
000028bf: PUSH1 0x40
000028c1: MLOAD
000028c2: PUSH4 0x70a08231
000028c7: PUSH1 0xe0
000028c9: SHL
000028ca: DUP2
000028cb: MSTORE
000028cc: PUSH1 0x01
000028ce: PUSH1 0x01
000028d0: PUSH1 0xa0
000028d2: SHL
000028d3: SUB
000028d4: DUP4
000028d5: AND
000028d6: SWAP1
000028d7: PUSH4 0x70a08231
000028dc: SWAP1
000028dd: PUSH2 0x28ea
000028e0: SWAP1
000028e1: ADDRESS
000028e2: SWAP1
000028e3: PUSH1 0x04
000028e5: ADD
000028e6: PUSH2 0x3c6b
000028e9: JUMP
000028ea: JUMPDEST
000028eb: PUSH1 0x20
000028ed: PUSH1 0x40
000028ef: MLOAD
000028f0: DUP1
000028f1: DUP4
000028f2: SUB
000028f3: DUP2
000028f4: DUP7
000028f5: DUP1
000028f6: EXTCODESIZE
000028f7: ISZERO
000028f8: DUP1
000028f9: ISZERO
000028fa: PUSH2 0x2902
000028fd: JUMPI
000028fe: PUSH1 0x00
00002900: DUP1
00002901: REVERT
00002902: JUMPDEST
00002903: POP
00002904: GAS
00002905: STATICCALL
00002906: ISZERO
00002907: DUP1
00002908: ISZERO
00002909: PUSH2 0x2916
0000290c: JUMPI
0000290d: RETURNDATASIZE
0000290e: PUSH1 0x00
00002910: DUP1
00002911: RETURNDATACOPY
00002912: RETURNDATASIZE
00002913: PUSH1 0x00
00002915: REVERT
00002916: JUMPDEST
00002917: POP
00002918: POP
00002919: POP
0000291a: POP
0000291b: PUSH1 0x40
0000291d: MLOAD
0000291e: RETURNDATASIZE
0000291f: PUSH1 0x1f
00002921: NOT
00002922: PUSH1 0x1f
00002924: DUP3
00002925: ADD
00002926: AND
00002927: DUP3
00002928: ADD
00002929: DUP1
0000292a: PUSH1 0x40
0000292c: MSTORE
0000292d: POP
0000292e: DUP2
0000292f: ADD
00002930: SWAP1
00002931: PUSH2 0x293a
00002934: SWAP2
00002935: SWAP1
00002936: PUSH2 0x3938
00002939: JUMP
0000293a: JUMPDEST
0000293b: SWAP1
0000293c: POP
0000293d: PUSH2 0x16d4
00002940: JUMP
00002941: JUMPDEST
00002942: DUP6
00002943: PUSH1 0x01
00002945: PUSH2 0xffff
00002948: DUP4
00002949: AND
0000294a: EQ
0000294b: ISZERO
0000294c: PUSH2 0x29d3
0000294f: JUMPI
00002950: PUSH1 0x40
00002952: MLOAD
00002953: PUSH32 0x3df0212400000000000000000000000000000000000000000000000000000000
00002974: DUP2
00002975: MSTORE
00002976: PUSH1 0x01
00002978: PUSH1 0x01
0000297a: PUSH1 0xa0
0000297c: SHL
0000297d: SUB
0000297e: DUP3
0000297f: AND
00002980: SWAP1
00002981: PUSH4 0x3df02124
00002986: SWAP1
00002987: CALLVALUE
00002988: SWAP1
00002989: PUSH2 0x299c
0000298c: SWAP1
0000298d: DUP11
0000298e: SWAP1
0000298f: DUP11
00002990: SWAP1
00002991: DUP11
00002992: SWAP1
00002993: DUP11
00002994: SWAP1
00002995: PUSH1 0x04
00002997: ADD
00002998: PUSH2 0x3dca
0000299b: JUMP
0000299c: JUMPDEST
0000299d: PUSH1 0x00
0000299f: PUSH1 0x40
000029a1: MLOAD
000029a2: DUP1
000029a3: DUP4
000029a4: SUB
000029a5: DUP2
000029a6: DUP6
000029a7: DUP9
000029a8: DUP1
000029a9: EXTCODESIZE
000029aa: ISZERO
000029ab: DUP1
000029ac: ISZERO
000029ad: PUSH2 0x29b5
000029b0: JUMPI
000029b1: PUSH1 0x00
000029b3: DUP1
000029b4: REVERT
000029b5: JUMPDEST
000029b6: POP
000029b7: GAS
000029b8: CALL
000029b9: ISZERO
000029ba: DUP1
000029bb: ISZERO
000029bc: PUSH2 0x29c9
000029bf: JUMPI
000029c0: RETURNDATASIZE
000029c1: PUSH1 0x00
000029c3: DUP1
000029c4: RETURNDATACOPY
000029c5: RETURNDATASIZE
000029c6: PUSH1 0x00
000029c8: REVERT
000029c9: JUMPDEST
000029ca: POP
000029cb: POP
000029cc: POP
000029cd: POP
000029ce: POP
000029cf: PUSH2 0x2a60
000029d2: JUMP
000029d3: JUMPDEST
000029d4: DUP2
000029d5: PUSH2 0xffff
000029d8: AND
000029d9: PUSH1 0x02
000029db: EQ
000029dc: ISZERO
000029dd: PUSH2 0x2a60
000029e0: JUMPI
000029e1: PUSH1 0x40
000029e3: MLOAD
000029e4: PUSH32 0xa6417ed600000000000000000000000000000000000000000000000000000000
00002a05: DUP2
00002a06: MSTORE
00002a07: PUSH1 0x01
00002a09: PUSH1 0x01
00002a0b: PUSH1 0xa0
00002a0d: SHL
00002a0e: SUB
00002a0f: DUP3
00002a10: AND
00002a11: SWAP1
00002a12: PUSH4 0xa6417ed6
00002a17: SWAP1
00002a18: CALLVALUE
00002a19: SWAP1
00002a1a: PUSH2 0x2a2d
00002a1d: SWAP1
00002a1e: DUP11
00002a1f: SWAP1
00002a20: DUP11
00002a21: SWAP1
00002a22: DUP11
00002a23: SWAP1
00002a24: DUP11
00002a25: SWAP1
00002a26: PUSH1 0x04
00002a28: ADD
00002a29: PUSH2 0x3dca
00002a2c: JUMP
00002a2d: JUMPDEST
00002a2e: PUSH1 0x00
00002a30: PUSH1 0x40
00002a32: MLOAD
00002a33: DUP1
00002a34: DUP4
00002a35: SUB
00002a36: DUP2
00002a37: DUP6
00002a38: DUP9
00002a39: DUP1
00002a3a: EXTCODESIZE
00002a3b: ISZERO
00002a3c: DUP1
00002a3d: ISZERO
00002a3e: PUSH2 0x2a46
00002a41: JUMPI
00002a42: PUSH1 0x00
00002a44: DUP1
00002a45: REVERT
00002a46: JUMPDEST
00002a47: POP
00002a48: GAS
00002a49: CALL
00002a4a: ISZERO
00002a4b: DUP1
00002a4c: ISZERO
00002a4d: PUSH2 0x2a5a
00002a50: JUMPI
00002a51: RETURNDATASIZE
00002a52: PUSH1 0x00
00002a54: DUP1
00002a55: RETURNDATACOPY
00002a56: RETURNDATASIZE
00002a57: PUSH1 0x00
00002a59: REVERT
00002a5a: JUMPDEST
00002a5b: POP
00002a5c: POP
00002a5d: POP
00002a5e: POP
00002a5f: POP
00002a60: JUMPDEST
00002a61: POP
00002a62: POP
00002a63: POP
00002a64: POP
00002a65: POP
00002a66: POP
00002a67: POP
00002a68: JUMP
00002a69: JUMPDEST
00002a6a: PUSH2 0x22cb
00002a6d: DUP4
00002a6e: PUSH4 0xa9059cbb
00002a73: PUSH1 0xe0
00002a75: SHL
00002a76: DUP5
00002a77: DUP5
00002a78: PUSH1 0x40
00002a7a: MLOAD
00002a7b: PUSH1 0x24
00002a7d: ADD
00002a7e: PUSH2 0x227f
00002a81: SWAP3
00002a82: SWAP2
00002a83: SWAP1
00002a84: PUSH2 0x3ce0
00002a87: JUMP
00002a88: JUMPDEST
00002a89: PUSH1 0x60
00002a8b: PUSH2 0x2add
00002a8e: DUP3
00002a8f: PUSH1 0x40
00002a91: MLOAD
00002a92: DUP1
00002a93: PUSH1 0x40
00002a95: ADD
00002a96: PUSH1 0x40
00002a98: MSTORE
00002a99: DUP1
00002a9a: PUSH1 0x20
00002a9c: DUP2
00002a9d: MSTORE
00002a9e: PUSH1 0x20
00002aa0: ADD
00002aa1: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
00002ac2: DUP2
00002ac3: MSTORE
00002ac4: POP
00002ac5: DUP6
00002ac6: PUSH1 0x01
00002ac8: PUSH1 0x01
00002aca: PUSH1 0xa0
00002acc: SHL
00002acd: SUB
00002ace: AND
00002acf: PUSH2 0x2ee1
00002ad2: SWAP1
00002ad3: SWAP3
00002ad4: SWAP2
00002ad5: SWAP1
00002ad6: PUSH4 0xffffffff
00002adb: AND
00002adc: JUMP
00002add: JUMPDEST
00002ade: DUP1
00002adf: MLOAD
00002ae0: SWAP1
00002ae1: SWAP2
00002ae2: POP
00002ae3: ISZERO
00002ae4: PUSH2 0x22cb
00002ae7: JUMPI
00002ae8: DUP1
00002ae9: DUP1
00002aea: PUSH1 0x20
00002aec: ADD
00002aed: SWAP1
00002aee: MLOAD
00002aef: DUP2
00002af0: ADD
00002af1: SWAP1
00002af2: PUSH2 0x2afb
00002af5: SWAP2
00002af6: SWAP1
00002af7: PUSH2 0x3736
00002afa: JUMP
00002afb: JUMPDEST
00002afc: PUSH2 0x22cb
00002aff: JUMPI
00002b00: PUSH1 0x40
00002b02: MLOAD
00002b03: PUSH3 0x461bcd
00002b07: PUSH1 0xe5
00002b09: SHL
00002b0a: DUP2
00002b0b: MSTORE
00002b0c: PUSH1 0x04
00002b0e: ADD
00002b0f: PUSH2 0x0435
00002b12: SWAP1
00002b13: PUSH2 0x4925
00002b16: JUMP
00002b17: JUMPDEST
00002b18: DUP1
00002b19: MLOAD
00002b1a: PUSH1 0x00
00002b1c: SWAP1
00002b1d: DUP9
00002b1e: SWAP1
00002b1f: PUSH2 0x2ba3
00002b22: JUMPI
00002b23: PUSH1 0x40
00002b25: DUP1
00002b26: MLOAD
00002b27: PUSH1 0x02
00002b29: DUP1
00002b2a: DUP3
00002b2b: MSTORE
00002b2c: PUSH1 0x60
00002b2e: DUP3
00002b2f: ADD
00002b30: DUP4
00002b31: MSTORE
00002b32: SWAP1
00002b33: SWAP2
00002b34: PUSH1 0x20
00002b36: DUP4
00002b37: ADD
00002b38: SWAP1
00002b39: DUP1
00002b3a: CALLDATASIZE
00002b3b: DUP4
00002b3c: CALLDATACOPY
00002b3d: ADD
00002b3e: SWAP1
00002b3f: POP
00002b40: POP
00002b41: SWAP3
00002b42: POP
00002b43: DUP8
00002b44: DUP4
00002b45: PUSH1 0x00
00002b47: DUP2
00002b48: MLOAD
00002b49: DUP2
00002b4a: LT
00002b4b: PUSH2 0x2b50
00002b4e: JUMPI
00002b4f: INVALID
00002b50: JUMPDEST
00002b51: PUSH1 0x20
00002b53: MUL
00002b54: PUSH1 0x20
00002b56: ADD
00002b57: ADD
00002b58: SWAP1
00002b59: PUSH1 0x01
00002b5b: PUSH1 0x01
00002b5d: PUSH1 0xa0
00002b5f: SHL
00002b60: SUB
00002b61: AND
00002b62: SWAP1
00002b63: DUP2
00002b64: PUSH1 0x01
00002b66: PUSH1 0x01
00002b68: PUSH1 0xa0
00002b6a: SHL
00002b6b: SUB
00002b6c: AND
00002b6d: DUP2
00002b6e: MSTORE
00002b6f: POP
00002b70: POP
00002b71: DUP7
00002b72: DUP4
00002b73: PUSH1 0x01
00002b75: DUP2
00002b76: MLOAD
00002b77: DUP2
00002b78: LT
00002b79: PUSH2 0x2b7e
00002b7c: JUMPI
00002b7d: INVALID
00002b7e: JUMPDEST
00002b7f: PUSH1 0x20
00002b81: MUL
00002b82: PUSH1 0x20
00002b84: ADD
00002b85: ADD
00002b86: SWAP1
00002b87: PUSH1 0x01
00002b89: PUSH1 0x01
00002b8b: PUSH1 0xa0
00002b8d: SHL
00002b8e: SUB
00002b8f: AND
00002b90: SWAP1
00002b91: DUP2
00002b92: PUSH1 0x01
00002b94: PUSH1 0x01
00002b96: PUSH1 0xa0
00002b98: SHL
00002b99: SUB
00002b9a: AND
00002b9b: DUP2
00002b9c: MSTORE
00002b9d: POP
00002b9e: POP
00002b9f: PUSH2 0x2c52
00002ba2: JUMP
00002ba3: JUMPDEST
00002ba4: PUSH1 0x02
00002ba6: DUP4
00002ba7: MLOAD
00002ba8: LT
00002ba9: ISZERO
00002baa: PUSH2 0x2bc5
00002bad: JUMPI
00002bae: PUSH1 0x40
00002bb0: MLOAD
00002bb1: PUSH3 0x461bcd
00002bb5: PUSH1 0xe5
00002bb7: SHL
00002bb8: DUP2
00002bb9: MSTORE
00002bba: PUSH1 0x04
00002bbc: ADD
00002bbd: PUSH2 0x0435
00002bc0: SWAP1
00002bc1: PUSH2 0x48c8
00002bc4: JUMP
00002bc5: JUMPDEST
00002bc6: DUP8
00002bc7: PUSH1 0x01
00002bc9: PUSH1 0x01
00002bcb: PUSH1 0xa0
00002bcd: SHL
00002bce: SUB
00002bcf: AND
00002bd0: DUP4
00002bd1: PUSH1 0x00
00002bd3: DUP2
00002bd4: MLOAD
00002bd5: DUP2
00002bd6: LT
00002bd7: PUSH2 0x2bdc
00002bda: JUMPI
00002bdb: INVALID
00002bdc: JUMPDEST
00002bdd: PUSH1 0x20
00002bdf: MUL
00002be0: PUSH1 0x20
00002be2: ADD
00002be3: ADD
00002be4: MLOAD
00002be5: PUSH1 0x01
00002be7: PUSH1 0x01
00002be9: PUSH1 0xa0
00002beb: SHL
00002bec: SUB
00002bed: AND
00002bee: EQ
00002bef: PUSH2 0x2c0a
00002bf2: JUMPI
00002bf3: PUSH1 0x40
00002bf5: MLOAD
00002bf6: PUSH3 0x461bcd
00002bfa: PUSH1 0xe5
00002bfc: SHL
00002bfd: DUP2
00002bfe: MSTORE
00002bff: PUSH1 0x04
00002c01: ADD
00002c02: PUSH2 0x0435
00002c05: SWAP1
00002c06: PUSH2 0x42fc
00002c09: JUMP
00002c0a: JUMPDEST
00002c0b: DUP7
00002c0c: PUSH1 0x01
00002c0e: PUSH1 0x01
00002c10: PUSH1 0xa0
00002c12: SHL
00002c13: SUB
00002c14: AND
00002c15: DUP4
00002c16: PUSH1 0x01
00002c18: DUP6
00002c19: MLOAD
00002c1a: SUB
00002c1b: DUP2
00002c1c: MLOAD
00002c1d: DUP2
00002c1e: LT
00002c1f: PUSH2 0x2c24
00002c22: JUMPI
00002c23: INVALID
00002c24: JUMPDEST
00002c25: PUSH1 0x20
00002c27: MUL
00002c28: PUSH1 0x20
00002c2a: ADD
00002c2b: ADD
00002c2c: MLOAD
00002c2d: PUSH1 0x01
00002c2f: PUSH1 0x01
00002c31: PUSH1 0xa0
00002c33: SHL
00002c34: SUB
00002c35: AND
00002c36: EQ
00002c37: PUSH2 0x2c52
00002c3a: JUMPI
00002c3b: PUSH1 0x40
00002c3d: MLOAD
00002c3e: PUSH3 0x461bcd
00002c42: PUSH1 0xe5
00002c44: SHL
00002c45: DUP2
00002c46: MSTORE
00002c47: PUSH1 0x04
00002c49: ADD
00002c4a: PUSH2 0x0435
00002c4d: SWAP1
00002c4e: PUSH2 0x429f
00002c51: JUMP
00002c52: JUMPDEST
00002c53: PUSH1 0x40
00002c55: MLOAD
00002c56: PUSH4 0x38ed1739
00002c5b: PUSH1 0xe0
00002c5d: SHL
00002c5e: DUP2
00002c5f: MSTORE
00002c60: PUSH1 0x60
00002c62: SWAP1
00002c63: PUSH1 0x01
00002c65: PUSH1 0x01
00002c67: PUSH1 0xa0
00002c69: SHL
00002c6a: SUB
00002c6b: DUP4
00002c6c: AND
00002c6d: SWAP1
00002c6e: PUSH4 0x38ed1739
00002c73: SWAP1
00002c74: PUSH2 0x2c89
00002c77: SWAP1
00002c78: DUP11
00002c79: SWAP1
00002c7a: DUP11
00002c7b: SWAP1
00002c7c: DUP10
00002c7d: SWAP1
00002c7e: ADDRESS
00002c7f: SWAP1
00002c80: DUP13
00002c81: SWAP1
00002c82: PUSH1 0x04
00002c84: ADD
00002c85: PUSH2 0x4c3b
00002c88: JUMP
00002c89: JUMPDEST
00002c8a: PUSH1 0x00
00002c8c: PUSH1 0x40
00002c8e: MLOAD
00002c8f: DUP1
00002c90: DUP4
00002c91: SUB
00002c92: DUP2
00002c93: PUSH1 0x00
00002c95: DUP8
00002c96: DUP1
00002c97: EXTCODESIZE
00002c98: ISZERO
00002c99: DUP1
00002c9a: ISZERO
00002c9b: PUSH2 0x2ca3
00002c9e: JUMPI
00002c9f: PUSH1 0x00
00002ca1: DUP1
00002ca2: REVERT
00002ca3: JUMPDEST
00002ca4: POP
00002ca5: GAS
00002ca6: CALL
00002ca7: ISZERO
00002ca8: DUP1
00002ca9: ISZERO
00002caa: PUSH2 0x2cb7
00002cad: JUMPI
00002cae: RETURNDATASIZE
00002caf: PUSH1 0x00
00002cb1: DUP1
00002cb2: RETURNDATACOPY
00002cb3: RETURNDATASIZE
00002cb4: PUSH1 0x00
00002cb6: REVERT
00002cb7: JUMPDEST
00002cb8: POP
00002cb9: POP
00002cba: POP
00002cbb: POP
00002cbc: PUSH1 0x40
00002cbe: MLOAD
00002cbf: RETURNDATASIZE
00002cc0: PUSH1 0x00
00002cc2: DUP3
00002cc3: RETURNDATACOPY
00002cc4: PUSH1 0x1f
00002cc6: RETURNDATASIZE
00002cc7: SWAP1
00002cc8: DUP2
00002cc9: ADD
00002cca: PUSH1 0x1f
00002ccc: NOT
00002ccd: AND
00002cce: DUP3
00002ccf: ADD
00002cd0: PUSH1 0x40
00002cd2: MSTORE
00002cd3: PUSH2 0x2cdf
00002cd6: SWAP2
00002cd7: SWAP1
00002cd8: DUP2
00002cd9: ADD
00002cda: SWAP1
00002cdb: PUSH2 0x36a6
00002cde: JUMP
00002cdf: JUMPDEST
00002ce0: SWAP1
00002ce1: POP
00002ce2: DUP1
00002ce3: PUSH1 0x01
00002ce5: DUP3
00002ce6: MLOAD
00002ce7: SUB
00002ce8: DUP2
00002ce9: MLOAD
00002cea: DUP2
00002ceb: LT
00002cec: PUSH2 0x2cf1
00002cef: JUMPI
00002cf0: INVALID
00002cf1: JUMPDEST
00002cf2: PUSH1 0x20
00002cf4: MUL
00002cf5: PUSH1 0x20
00002cf7: ADD
00002cf8: ADD
00002cf9: MLOAD
00002cfa: SWAP3
00002cfb: POP
00002cfc: POP
00002cfd: POP
00002cfe: SWAP8
00002cff: SWAP7
00002d00: POP
00002d01: POP
00002d02: POP
00002d03: POP
00002d04: POP
00002d05: POP
00002d06: POP
00002d07: JUMP
00002d08: JUMPDEST
00002d09: PUSH1 0x00
00002d0b: DUP8
00002d0c: DUP2
00002d0d: PUSH2 0x2d16
00002d10: DUP5
00002d11: DUP3
00002d12: PUSH2 0x2505
00002d15: JUMP
00002d16: JUMPDEST
00002d17: SWAP1
00002d18: POP
00002d19: PUSH1 0x01
00002d1b: PUSH1 0xff
00002d1d: DUP3
00002d1e: AND
00002d1f: EQ
00002d20: ISZERO
00002d21: PUSH2 0x2e22
00002d24: JUMPI
00002d25: PUSH1 0x00
00002d27: DUP5
00002d28: DUP1
00002d29: PUSH1 0x20
00002d2b: ADD
00002d2c: SWAP1
00002d2d: MLOAD
00002d2e: DUP2
00002d2f: ADD
00002d30: SWAP1
00002d31: PUSH2 0x2d3a
00002d34: SWAP2
00002d35: SWAP1
00002d36: PUSH2 0x39d9
00002d39: JUMP
00002d3a: JUMPDEST
00002d3b: SWAP2
00002d3c: POP
00002d3d: POP
00002d3e: PUSH2 0x2d45
00002d41: PUSH2 0x337d
00002d44: JUMP
00002d45: JUMPDEST
00002d46: PUSH1 0x01
00002d48: PUSH1 0x01
00002d4a: PUSH1 0xa0
00002d4c: SHL
00002d4d: SUB
00002d4e: DUP1
00002d4f: DUP13
00002d50: AND
00002d51: DUP3
00002d52: MSTORE
00002d53: DUP11
00002d54: DUP2
00002d55: AND
00002d56: PUSH1 0x20
00002d58: DUP4
00002d59: ADD
00002d5a: MSTORE
00002d5b: PUSH3 0xffffff
00002d5f: DUP4
00002d60: AND
00002d61: PUSH1 0x40
00002d63: DUP1
00002d64: DUP5
00002d65: ADD
00002d66: SWAP2
00002d67: SWAP1
00002d68: SWAP2
00002d69: MSTORE
00002d6a: ADDRESS
00002d6b: PUSH1 0x60
00002d6d: DUP5
00002d6e: ADD
00002d6f: MSTORE
00002d70: PUSH1 0x80
00002d72: DUP4
00002d73: ADD
00002d74: DUP12
00002d75: SWAP1
00002d76: MSTORE
00002d77: PUSH1 0xa0
00002d79: DUP4
00002d7a: ADD
00002d7b: DUP11
00002d7c: SWAP1
00002d7d: MSTORE
00002d7e: PUSH1 0xc0
00002d80: DUP4
00002d81: ADD
00002d82: DUP10
00002d83: SWAP1
00002d84: MSTORE
00002d85: PUSH1 0x00
00002d87: PUSH1 0xe0
00002d89: DUP5
00002d8a: ADD
00002d8b: MSTORE
00002d8c: MLOAD
00002d8d: PUSH32 0x414bf38900000000000000000000000000000000000000000000000000000000
00002dae: DUP2
00002daf: MSTORE
00002db0: SWAP1
00002db1: DUP6
00002db2: AND
00002db3: SWAP1
00002db4: PUSH4 0x414bf389
00002db9: SWAP1
00002dba: PUSH2 0x2dc7
00002dbd: SWAP1
00002dbe: DUP5
00002dbf: SWAP1
00002dc0: PUSH1 0x04
00002dc2: ADD
00002dc3: PUSH2 0x4add
00002dc6: JUMP
00002dc7: JUMPDEST
00002dc8: PUSH1 0x20
00002dca: PUSH1 0x40
00002dcc: MLOAD
00002dcd: DUP1
00002dce: DUP4
00002dcf: SUB
00002dd0: DUP2
00002dd1: PUSH1 0x00
00002dd3: DUP8
00002dd4: DUP1
00002dd5: EXTCODESIZE
00002dd6: ISZERO
00002dd7: DUP1
00002dd8: ISZERO
00002dd9: PUSH2 0x2de1
00002ddc: JUMPI
00002ddd: PUSH1 0x00
00002ddf: DUP1
00002de0: REVERT
00002de1: JUMPDEST
00002de2: POP
00002de3: GAS
00002de4: CALL
00002de5: ISZERO
00002de6: DUP1
00002de7: ISZERO
00002de8: PUSH2 0x2df5
00002deb: JUMPI
00002dec: RETURNDATASIZE
00002ded: PUSH1 0x00
00002def: DUP1
00002df0: RETURNDATACOPY
00002df1: RETURNDATASIZE
00002df2: PUSH1 0x00
00002df4: REVERT
00002df5: JUMPDEST
00002df6: POP
00002df7: POP
00002df8: POP
00002df9: POP
00002dfa: PUSH1 0x40
00002dfc: MLOAD
00002dfd: RETURNDATASIZE
00002dfe: PUSH1 0x1f
00002e00: NOT
00002e01: PUSH1 0x1f
00002e03: DUP3
00002e04: ADD
00002e05: AND
00002e06: DUP3
00002e07: ADD
00002e08: DUP1
00002e09: PUSH1 0x40
00002e0b: MSTORE
00002e0c: POP
00002e0d: DUP2
00002e0e: ADD
00002e0f: SWAP1
00002e10: PUSH2 0x2e19
00002e13: SWAP2
00002e14: SWAP1
00002e15: PUSH2 0x3938
00002e18: JUMP
00002e19: JUMPDEST
00002e1a: SWAP5
00002e1b: POP
00002e1c: POP
00002e1d: POP
00002e1e: PUSH2 0x2ed4
00002e21: JUMP
00002e22: JUMPDEST
00002e23: DUP1
00002e24: PUSH1 0xff
00002e26: AND
00002e27: PUSH1 0x02
00002e29: EQ
00002e2a: ISZERO
00002e2b: PUSH2 0x2ebc
00002e2e: JUMPI
00002e2f: PUSH1 0x60
00002e31: DUP5
00002e32: DUP1
00002e33: PUSH1 0x20
00002e35: ADD
00002e36: SWAP1
00002e37: MLOAD
00002e38: DUP2
00002e39: ADD
00002e3a: SWAP1
00002e3b: PUSH2 0x2e44
00002e3e: SWAP2
00002e3f: SWAP1
00002e40: PUSH2 0x3950
00002e43: JUMP
00002e44: JUMPDEST
00002e45: SWAP2
00002e46: POP
00002e47: POP
00002e48: PUSH2 0x2e52
00002e4b: DUP2
00002e4c: DUP12
00002e4d: DUP12
00002e4e: PUSH2 0x2ef0
00002e51: JUMP
00002e52: JUMPDEST
00002e53: PUSH2 0x2e5a
00002e56: PUSH2 0x33c1
00002e59: JUMP
00002e5a: JUMPDEST
00002e5b: DUP2
00002e5c: DUP2
00002e5d: MSTORE
00002e5e: ADDRESS
00002e5f: PUSH1 0x20
00002e61: DUP3
00002e62: ADD
00002e63: MSTORE
00002e64: PUSH1 0x40
00002e66: DUP1
00002e67: DUP3
00002e68: ADD
00002e69: DUP11
00002e6a: SWAP1
00002e6b: MSTORE
00002e6c: PUSH1 0x60
00002e6e: DUP3
00002e6f: ADD
00002e70: DUP10
00002e71: SWAP1
00002e72: MSTORE
00002e73: PUSH1 0x80
00002e75: DUP3
00002e76: ADD
00002e77: DUP9
00002e78: SWAP1
00002e79: MSTORE
00002e7a: MLOAD
00002e7b: PUSH32 0xc04b8d5900000000000000000000000000000000000000000000000000000000
00002e9c: DUP2
00002e9d: MSTORE
00002e9e: PUSH1 0x01
00002ea0: PUSH1 0x01
00002ea2: PUSH1 0xa0
00002ea4: SHL
00002ea5: SUB
00002ea6: DUP6
00002ea7: AND
00002ea8: SWAP1
00002ea9: PUSH4 0xc04b8d59
00002eae: SWAP1
00002eaf: PUSH2 0x2dc7
00002eb2: SWAP1
00002eb3: DUP5
00002eb4: SWAP1
00002eb5: PUSH1 0x04
00002eb7: ADD
00002eb8: PUSH2 0x4a84
00002ebb: JUMP
00002ebc: JUMPDEST
00002ebd: PUSH1 0x40
00002ebf: MLOAD
00002ec0: PUSH3 0x461bcd
00002ec4: PUSH1 0xe5
00002ec6: SHL
00002ec7: DUP2
00002ec8: MSTORE
00002ec9: PUSH1 0x04
00002ecb: ADD
00002ecc: PUSH2 0x0435
00002ecf: SWAP1
00002ed0: PUSH2 0x480e
00002ed3: JUMP
00002ed4: JUMPDEST
00002ed5: POP
00002ed6: POP
00002ed7: SWAP8
00002ed8: SWAP7
00002ed9: POP
00002eda: POP
00002edb: POP
00002edc: POP
00002edd: POP
00002ede: POP
00002edf: POP
00002ee0: JUMP
00002ee1: JUMPDEST
00002ee2: PUSH1 0x60
00002ee4: PUSH2 0x1612
00002ee7: DUP5
00002ee8: DUP5
00002ee9: PUSH1 0x00
00002eeb: DUP6
00002eec: PUSH2 0x2fb0
00002eef: JUMP
00002ef0: JUMPDEST
00002ef1: PUSH1 0x00
00002ef3: DUP1
00002ef4: PUSH2 0x2efc
00002ef7: DUP6
00002ef8: PUSH2 0x3071
00002efb: JUMP
00002efc: JUMPDEST
00002efd: POP
00002efe: SWAP2
00002eff: POP
00002f00: SWAP2
00002f01: POP
00002f02: PUSH2 0x2f0a
00002f05: DUP6
00002f06: PUSH2 0x30a2
00002f09: JUMP
00002f0a: JUMPDEST
00002f0b: ISZERO
00002f0c: PUSH2 0x2f47
00002f0f: JUMPI
00002f10: PUSH2 0x2f18
00002f13: DUP6
00002f14: PUSH2 0x30aa
00002f17: JUMP
00002f18: JUMPDEST
00002f19: SWAP5
00002f1a: POP
00002f1b: JUMPDEST
00002f1c: PUSH2 0x2f24
00002f1f: DUP6
00002f20: PUSH2 0x30a2
00002f23: JUMP
00002f24: JUMPDEST
00002f25: ISZERO
00002f26: PUSH2 0x2f39
00002f29: JUMPI
00002f2a: PUSH2 0x2f32
00002f2d: DUP6
00002f2e: PUSH2 0x30aa
00002f31: JUMP
00002f32: JUMPDEST
00002f33: SWAP5
00002f34: POP
00002f35: PUSH2 0x2f1b
00002f38: JUMP
00002f39: JUMPDEST
00002f3a: PUSH2 0x2f42
00002f3d: DUP6
00002f3e: PUSH2 0x3071
00002f41: JUMP
00002f42: JUMPDEST
00002f43: POP
00002f44: SWAP2
00002f45: POP
00002f46: POP
00002f47: JUMPDEST
00002f48: DUP4
00002f49: PUSH1 0x01
00002f4b: PUSH1 0x01
00002f4d: PUSH1 0xa0
00002f4f: SHL
00002f50: SUB
00002f51: AND
00002f52: DUP3
00002f53: PUSH1 0x01
00002f55: PUSH1 0x01
00002f57: PUSH1 0xa0
00002f59: SHL
00002f5a: SUB
00002f5b: AND
00002f5c: EQ
00002f5d: PUSH2 0x2f78
00002f60: JUMPI
00002f61: PUSH1 0x40
00002f63: MLOAD
00002f64: PUSH3 0x461bcd
00002f68: PUSH1 0xe5
00002f6a: SHL
00002f6b: DUP2
00002f6c: MSTORE
00002f6d: PUSH1 0x04
00002f6f: ADD
00002f70: PUSH2 0x0435
00002f73: SWAP1
00002f74: PUSH2 0x42fc
00002f77: JUMP
00002f78: JUMPDEST
00002f79: DUP3
00002f7a: PUSH1 0x01
00002f7c: PUSH1 0x01
00002f7e: PUSH1 0xa0
00002f80: SHL
00002f81: SUB
00002f82: AND
00002f83: DUP2
00002f84: PUSH1 0x01
00002f86: PUSH1 0x01
00002f88: PUSH1 0xa0
00002f8a: SHL
00002f8b: SUB
00002f8c: AND
00002f8d: EQ
00002f8e: PUSH2 0x2fa9
00002f91: JUMPI
00002f92: PUSH1 0x40
00002f94: MLOAD
00002f95: PUSH3 0x461bcd
00002f99: PUSH1 0xe5
00002f9b: SHL
00002f9c: DUP2
00002f9d: MSTORE
00002f9e: PUSH1 0x04
00002fa0: ADD
00002fa1: PUSH2 0x0435
00002fa4: SWAP1
00002fa5: PUSH2 0x429f
00002fa8: JUMP
00002fa9: JUMPDEST
00002faa: POP
00002fab: POP
00002fac: POP
00002fad: POP
00002fae: POP
00002faf: JUMP
00002fb0: JUMPDEST
00002fb1: PUSH1 0x60
00002fb3: DUP3
00002fb4: SELFBALANCE
00002fb5: LT
00002fb6: ISZERO
00002fb7: PUSH2 0x2fd2
00002fba: JUMPI
00002fbb: PUSH1 0x40
00002fbd: MLOAD
00002fbe: PUSH3 0x461bcd
00002fc2: PUSH1 0xe5
00002fc4: SHL
00002fc5: DUP2
00002fc6: MSTORE
00002fc7: PUSH1 0x04
00002fc9: ADD
00002fca: PUSH2 0x0435
00002fcd: SWAP1
00002fce: PUSH2 0x41d4
00002fd1: JUMP
00002fd2: JUMPDEST
00002fd3: PUSH2 0x2fdb
00002fd6: DUP6
00002fd7: PUSH2 0x30c1
00002fda: JUMP
00002fdb: JUMPDEST
00002fdc: PUSH2 0x2ff7
00002fdf: JUMPI
00002fe0: PUSH1 0x40
00002fe2: MLOAD
00002fe3: PUSH3 0x461bcd
00002fe7: PUSH1 0xe5
00002fe9: SHL
00002fea: DUP2
00002feb: MSTORE
00002fec: PUSH1 0x04
00002fee: ADD
00002fef: PUSH2 0x0435
00002ff2: SWAP1
00002ff3: PUSH2 0x47a0
00002ff6: JUMP
00002ff7: JUMPDEST
00002ff8: PUSH1 0x00
00002ffa: PUSH1 0x60
00002ffc: DUP7
00002ffd: PUSH1 0x01
00002fff: PUSH1 0x01
00003001: PUSH1 0xa0
00003003: SHL
00003004: SUB
00003005: AND
00003006: DUP6
00003007: DUP8
00003008: PUSH1 0x40
0000300a: MLOAD
0000300b: PUSH2 0x3014
0000300e: SWAP2
0000300f: SWAP1
00003010: PUSH2 0x3a52
00003013: JUMP
00003014: JUMPDEST
00003015: PUSH1 0x00
00003017: PUSH1 0x40
00003019: MLOAD
0000301a: DUP1
0000301b: DUP4
0000301c: SUB
0000301d: DUP2
0000301e: DUP6
0000301f: DUP8
00003020: GAS
00003021: CALL
00003022: SWAP3
00003023: POP
00003024: POP
00003025: POP
00003026: RETURNDATASIZE
00003027: DUP1
00003028: PUSH1 0x00
0000302a: DUP2
0000302b: EQ
0000302c: PUSH2 0x3051
0000302f: JUMPI
00003030: PUSH1 0x40
00003032: MLOAD
00003033: SWAP2
00003034: POP
00003035: PUSH1 0x1f
00003037: NOT
00003038: PUSH1 0x3f
0000303a: RETURNDATASIZE
0000303b: ADD
0000303c: AND
0000303d: DUP3
0000303e: ADD
0000303f: PUSH1 0x40
00003041: MSTORE
00003042: RETURNDATASIZE
00003043: DUP3
00003044: MSTORE
00003045: RETURNDATASIZE
00003046: PUSH1 0x00
00003048: PUSH1 0x20
0000304a: DUP5
0000304b: ADD
0000304c: RETURNDATACOPY
0000304d: PUSH2 0x3056
00003050: JUMP
00003051: JUMPDEST
00003052: PUSH1 0x60
00003054: SWAP2
00003055: POP
00003056: JUMPDEST
00003057: POP
00003058: SWAP2
00003059: POP
0000305a: SWAP2
0000305b: POP
0000305c: PUSH2 0x3066
0000305f: DUP3
00003060: DUP3
00003061: DUP7
00003062: PUSH2 0x30c7
00003065: JUMP
00003066: JUMPDEST
00003067: SWAP8
00003068: SWAP7
00003069: POP
0000306a: POP
0000306b: POP
0000306c: POP
0000306d: POP
0000306e: POP
0000306f: POP
00003070: JUMP
00003071: JUMPDEST
00003072: PUSH1 0x00
00003074: DUP1
00003075: DUP1
00003076: PUSH2 0x307f
00003079: DUP5
0000307a: DUP3
0000307b: PUSH2 0x3100
0000307e: JUMP
0000307f: JUMPDEST
00003080: SWAP3
00003081: POP
00003082: PUSH2 0x308c
00003085: DUP5
00003086: PUSH1 0x14
00003088: PUSH2 0x3162
0000308b: JUMP
0000308c: JUMPDEST
0000308d: SWAP1
0000308e: POP
0000308f: PUSH2 0x3099
00003092: DUP5
00003093: PUSH1 0x17
00003095: PUSH2 0x3100
00003098: JUMP
00003099: JUMPDEST
0000309a: SWAP2
0000309b: POP
0000309c: SWAP2
0000309d: SWAP4
0000309e: SWAP1
0000309f: SWAP3
000030a0: POP
000030a1: JUMP
000030a2: JUMPDEST
000030a3: MLOAD
000030a4: PUSH1 0x42
000030a6: GT
000030a7: ISZERO
000030a8: SWAP1
000030a9: JUMP
000030aa: JUMPDEST
000030ab: DUP1
000030ac: MLOAD
000030ad: PUSH1 0x60
000030af: SWAP1
000030b0: PUSH2 0x2538
000030b3: SWAP1
000030b4: DUP4
000030b5: SWAP1
000030b6: PUSH1 0x17
000030b8: SWAP1
000030b9: PUSH1 0x16
000030bb: NOT
000030bc: ADD
000030bd: PUSH2 0x31b4
000030c0: JUMP
000030c1: JUMPDEST
000030c2: EXTCODESIZE
000030c3: ISZERO
000030c4: ISZERO
000030c5: SWAP1
000030c6: JUMP
000030c7: JUMPDEST
000030c8: PUSH1 0x60
000030ca: DUP4
000030cb: ISZERO
000030cc: PUSH2 0x30d6
000030cf: JUMPI
000030d0: POP
000030d1: DUP2
000030d2: PUSH2 0x269f
000030d5: JUMP
000030d6: JUMPDEST
000030d7: DUP3
000030d8: MLOAD
000030d9: ISZERO
000030da: PUSH2 0x30e6
000030dd: JUMPI
000030de: DUP3
000030df: MLOAD
000030e0: DUP1
000030e1: DUP5
000030e2: PUSH1 0x20
000030e4: ADD
000030e5: REVERT
000030e6: JUMPDEST
000030e7: DUP2
000030e8: PUSH1 0x40
000030ea: MLOAD
000030eb: PUSH3 0x461bcd
000030ef: PUSH1 0xe5
000030f1: SHL
000030f2: DUP2
000030f3: MSTORE
000030f4: PUSH1 0x04
000030f6: ADD
000030f7: PUSH2 0x0435
000030fa: SWAP2
000030fb: SWAP1
000030fc: PUSH2 0x3ded
000030ff: JUMP
00003100: JUMPDEST
00003101: PUSH1 0x00
00003103: DUP2
00003104: DUP3
00003105: PUSH1 0x14
00003107: ADD
00003108: LT
00003109: ISZERO
0000310a: PUSH2 0x3125
0000310d: JUMPI
0000310e: PUSH1 0x40
00003110: MLOAD
00003111: PUSH3 0x461bcd
00003115: PUSH1 0xe5
00003117: SHL
00003118: DUP2
00003119: MSTORE
0000311a: PUSH1 0x04
0000311c: ADD
0000311d: PUSH2 0x0435
00003120: SWAP1
00003121: PUSH2 0x4a4d
00003124: JUMP
00003125: JUMPDEST
00003126: DUP2
00003127: PUSH1 0x14
00003129: ADD
0000312a: DUP4
0000312b: MLOAD
0000312c: LT
0000312d: ISZERO
0000312e: PUSH2 0x3149
00003131: JUMPI
00003132: PUSH1 0x40
00003134: MLOAD
00003135: PUSH3 0x461bcd
00003139: PUSH1 0xe5
0000313b: SHL
0000313c: DUP2
0000313d: MSTORE
0000313e: PUSH1 0x04
00003140: ADD
00003141: PUSH2 0x0435
00003144: SWAP1
00003145: PUSH2 0x4587
00003148: JUMP
00003149: JUMPDEST
0000314a: POP
0000314b: ADD
0000314c: PUSH1 0x20
0000314e: ADD
0000314f: MLOAD
00003150: PUSH13 0x01000000000000000000000000
0000315e: SWAP1
0000315f: DIV
00003160: SWAP1
00003161: JUMP
00003162: JUMPDEST
00003163: PUSH1 0x00
00003165: DUP2
00003166: DUP3
00003167: PUSH1 0x03
00003169: ADD
0000316a: LT
0000316b: ISZERO
0000316c: PUSH2 0x3187
0000316f: JUMPI
00003170: PUSH1 0x40
00003172: MLOAD
00003173: PUSH3 0x461bcd
00003177: PUSH1 0xe5
00003179: SHL
0000317a: DUP2
0000317b: MSTORE
0000317c: PUSH1 0x04
0000317e: ADD
0000317f: PUSH2 0x0435
00003182: SWAP1
00003183: PUSH2 0x4109
00003186: JUMP
00003187: JUMPDEST
00003188: DUP2
00003189: PUSH1 0x03
0000318b: ADD
0000318c: DUP4
0000318d: MLOAD
0000318e: LT
0000318f: ISZERO
00003190: PUSH2 0x31ab
00003193: JUMPI
00003194: PUSH1 0x40
00003196: MLOAD
00003197: PUSH3 0x461bcd
0000319b: PUSH1 0xe5
0000319d: SHL
0000319e: DUP2
0000319f: MSTORE
000031a0: PUSH1 0x04
000031a2: ADD
000031a3: PUSH2 0x0435
000031a6: SWAP1
000031a7: PUSH2 0x4550
000031aa: JUMP
000031ab: JUMPDEST
000031ac: POP
000031ad: ADD
000031ae: PUSH1 0x03
000031b0: ADD
000031b1: MLOAD
000031b2: SWAP1
000031b3: JUMP
000031b4: JUMPDEST
000031b5: PUSH1 0x60
000031b7: DUP2
000031b8: DUP3
000031b9: PUSH1 0x1f
000031bb: ADD
000031bc: LT
000031bd: ISZERO
000031be: PUSH2 0x31d9
000031c1: JUMPI
000031c2: PUSH1 0x40
000031c4: MLOAD
000031c5: PUSH3 0x461bcd
000031c9: PUSH1 0xe5
000031cb: SHL
000031cc: DUP2
000031cd: MSTORE
000031ce: PUSH1 0x04
000031d0: ADD
000031d1: PUSH2 0x0435
000031d4: SWAP1
000031d5: PUSH2 0x4268
000031d8: JUMP
000031d9: JUMPDEST
000031da: DUP3
000031db: DUP3
000031dc: DUP5
000031dd: ADD
000031de: LT
000031df: ISZERO
000031e0: PUSH2 0x31fb
000031e3: JUMPI
000031e4: PUSH1 0x40
000031e6: MLOAD
000031e7: PUSH3 0x461bcd
000031eb: PUSH1 0xe5
000031ed: SHL
000031ee: DUP2
000031ef: MSTORE
000031f0: PUSH1 0x04
000031f2: ADD
000031f3: PUSH2 0x0435
000031f6: SWAP1
000031f7: PUSH2 0x4268
000031fa: JUMP
000031fb: JUMPDEST
000031fc: DUP2
000031fd: DUP4
000031fe: ADD
000031ff: DUP5
00003200: MLOAD
00003201: LT
00003202: ISZERO
00003203: PUSH2 0x321e
00003206: JUMPI
00003207: PUSH1 0x40
00003209: MLOAD
0000320a: PUSH3 0x461bcd
0000320e: PUSH1 0xe5
00003210: SHL
00003211: DUP2
00003212: MSTORE
00003213: PUSH1 0x04
00003215: ADD
00003216: PUSH2 0x0435
00003219: SWAP1
0000321a: PUSH2 0x47d7
0000321d: JUMP
0000321e: JUMPDEST
0000321f: PUSH1 0x60
00003221: DUP3
00003222: ISZERO
00003223: DUP1
00003224: ISZERO
00003225: PUSH2 0x323d
00003228: JUMPI
00003229: PUSH1 0x40
0000322b: MLOAD
0000322c: SWAP2
0000322d: POP
0000322e: PUSH1 0x00
00003230: DUP3
00003231: MSTORE
00003232: PUSH1 0x20
00003234: DUP3
00003235: ADD
00003236: PUSH1 0x40
00003238: MSTORE
00003239: PUSH2 0x3287
0000323c: JUMP
0000323d: JUMPDEST
0000323e: PUSH1 0x40
00003240: MLOAD
00003241: SWAP2
00003242: POP
00003243: PUSH1 0x1f
00003245: DUP5
00003246: AND
00003247: DUP1
00003248: ISZERO
00003249: PUSH1 0x20
0000324b: MUL
0000324c: DUP2
0000324d: DUP5
0000324e: ADD
0000324f: ADD
00003250: DUP6
00003251: DUP2
00003252: ADD
00003253: DUP8
00003254: DUP4
00003255: ISZERO
00003256: PUSH1 0x20
00003258: MUL
00003259: DUP5
0000325a: DUP12
0000325b: ADD
0000325c: ADD
0000325d: ADD
0000325e: JUMPDEST
0000325f: DUP2
00003260: DUP4
00003261: LT
00003262: ISZERO
00003263: PUSH2 0x3276
00003266: JUMPI
00003267: DUP1
00003268: MLOAD
00003269: DUP4
0000326a: MSTORE
0000326b: PUSH1 0x20
0000326d: SWAP3
0000326e: DUP4
0000326f: ADD
00003270: SWAP3
00003271: ADD
00003272: PUSH2 0x325e
00003275: JUMP
00003276: JUMPDEST
00003277: POP
00003278: POP
00003279: DUP6
0000327a: DUP5
0000327b: MSTORE
0000327c: PUSH1 0x1f
0000327e: ADD
0000327f: PUSH1 0x1f
00003281: NOT
00003282: AND
00003283: PUSH1 0x40
00003285: MSTORE
00003286: POP
00003287: JUMPDEST
00003288: POP
00003289: SWAP5
0000328a: SWAP4
0000328b: POP
0000328c: POP
0000328d: POP
0000328e: POP
0000328f: JUMP
00003290: JUMPDEST
00003291: PUSH1 0x40
00003293: DUP1
00003294: MLOAD
00003295: PUSH2 0x0120
00003298: DUP2
00003299: ADD
0000329a: DUP3
0000329b: MSTORE
0000329c: PUSH1 0x00
0000329e: DUP1
0000329f: DUP3
000032a0: MSTORE
000032a1: PUSH1 0x20
000032a3: DUP3
000032a4: ADD
000032a5: DUP2
000032a6: SWAP1
000032a7: MSTORE
000032a8: SWAP2
000032a9: DUP2
000032aa: ADD
000032ab: DUP3
000032ac: SWAP1
000032ad: MSTORE
000032ae: PUSH1 0x60
000032b0: DUP2
000032b1: ADD
000032b2: DUP3
000032b3: SWAP1
000032b4: MSTORE
000032b5: PUSH1 0x80
000032b7: DUP2
000032b8: ADD
000032b9: DUP3
000032ba: SWAP1
000032bb: MSTORE
000032bc: PUSH1 0xa0
000032be: DUP2
000032bf: ADD
000032c0: DUP3
000032c1: SWAP1
000032c2: MSTORE
000032c3: PUSH1 0xc0
000032c5: DUP2
000032c6: ADD
000032c7: DUP3
000032c8: SWAP1
000032c9: MSTORE
000032ca: PUSH1 0xe0
000032cc: DUP2
000032cd: ADD
000032ce: DUP3
000032cf: SWAP1
000032d0: MSTORE
000032d1: PUSH2 0x0100
000032d4: DUP2
000032d5: ADD
000032d6: SWAP2
000032d7: SWAP1
000032d8: SWAP2
000032d9: MSTORE
000032da: SWAP1
000032db: JUMP
000032dc: JUMPDEST
000032dd: PUSH1 0x40
000032df: DUP1
000032e0: MLOAD
000032e1: PUSH1 0xc0
000032e3: DUP2
000032e4: ADD
000032e5: DUP3
000032e6: MSTORE
000032e7: PUSH1 0x60
000032e9: DUP1
000032ea: DUP3
000032eb: MSTORE
000032ec: PUSH1 0x00
000032ee: PUSH1 0x20
000032f0: DUP4
000032f1: ADD
000032f2: DUP2
000032f3: SWAP1
000032f4: MSTORE
000032f5: SWAP3
000032f6: DUP3
000032f7: ADD
000032f8: DUP4
000032f9: SWAP1
000032fa: MSTORE
000032fb: DUP2
000032fc: ADD
000032fd: DUP3
000032fe: SWAP1
000032ff: MSTORE
00003300: PUSH1 0x80
00003302: DUP2
00003303: ADD
00003304: DUP3
00003305: SWAP1
00003306: MSTORE
00003307: PUSH1 0xa0
00003309: DUP2
0000330a: ADD
0000330b: SWAP2
0000330c: SWAP1
0000330d: SWAP2
0000330e: MSTORE
0000330f: SWAP1
00003310: JUMP
00003311: JUMPDEST
00003312: PUSH1 0x40
00003314: MLOAD
00003315: DUP1
00003316: PUSH1 0xc0
00003318: ADD
00003319: PUSH1 0x40
0000331b: MSTORE
0000331c: DUP1
0000331d: PUSH1 0x00
0000331f: ISZERO
00003320: ISZERO
00003321: DUP2
00003322: MSTORE
00003323: PUSH1 0x20
00003325: ADD
00003326: PUSH1 0x00
00003328: ISZERO
00003329: ISZERO
0000332a: DUP2
0000332b: MSTORE
0000332c: PUSH1 0x20
0000332e: ADD
0000332f: PUSH1 0x00
00003331: PUSH1 0x01
00003333: PUSH1 0x01
00003335: PUSH1 0xa0
00003337: SHL
00003338: SUB
00003339: AND
0000333a: DUP2
0000333b: MSTORE
0000333c: PUSH1 0x20
0000333e: ADD
0000333f: PUSH1 0x00
00003341: PUSH1 0x01
00003343: PUSH1 0x01
00003345: PUSH1 0xa0
00003347: SHL
00003348: SUB
00003349: AND
0000334a: DUP2
0000334b: MSTORE
0000334c: PUSH1 0x20
0000334e: ADD
0000334f: PUSH1 0x60
00003351: DUP2
00003352: MSTORE
00003353: PUSH1 0x20
00003355: ADD
00003356: PUSH1 0x60
00003358: DUP2
00003359: MSTORE
0000335a: POP
0000335b: SWAP1
0000335c: JUMP
0000335d: JUMPDEST
0000335e: PUSH1 0x40
00003360: DUP1
00003361: MLOAD
00003362: PUSH1 0x60
00003364: DUP2
00003365: ADD
00003366: DUP3
00003367: MSTORE
00003368: PUSH1 0x00
0000336a: DUP1
0000336b: DUP3
0000336c: MSTORE
0000336d: PUSH1 0x20
0000336f: DUP3
00003370: ADD
00003371: DUP2
00003372: SWAP1
00003373: MSTORE
00003374: SWAP2
00003375: DUP2
00003376: ADD
00003377: SWAP2
00003378: SWAP1
00003379: SWAP2
0000337a: MSTORE
0000337b: SWAP1
0000337c: JUMP
0000337d: JUMPDEST
0000337e: PUSH1 0x40
00003380: DUP1
00003381: MLOAD
00003382: PUSH2 0x0100
00003385: DUP2
00003386: ADD
00003387: DUP3
00003388: MSTORE
00003389: PUSH1 0x00
0000338b: DUP1
0000338c: DUP3
0000338d: MSTORE
0000338e: PUSH1 0x20
00003390: DUP3
00003391: ADD
00003392: DUP2
00003393: SWAP1
00003394: MSTORE
00003395: SWAP2
00003396: DUP2
00003397: ADD
00003398: DUP3
00003399: SWAP1
0000339a: MSTORE
0000339b: PUSH1 0x60
0000339d: DUP2
0000339e: ADD
0000339f: DUP3
000033a0: SWAP1
000033a1: MSTORE
000033a2: PUSH1 0x80
000033a4: DUP2
000033a5: ADD
000033a6: DUP3
000033a7: SWAP1
000033a8: MSTORE
000033a9: PUSH1 0xa0
000033ab: DUP2
000033ac: ADD
000033ad: DUP3
000033ae: SWAP1
000033af: MSTORE
000033b0: PUSH1 0xc0
000033b2: DUP2
000033b3: ADD
000033b4: DUP3
000033b5: SWAP1
000033b6: MSTORE
000033b7: PUSH1 0xe0
000033b9: DUP2
000033ba: ADD
000033bb: SWAP2
000033bc: SWAP1
000033bd: SWAP2
000033be: MSTORE
000033bf: SWAP1
000033c0: JUMP
000033c1: JUMPDEST
000033c2: PUSH1 0x40
000033c4: MLOAD
000033c5: DUP1
000033c6: PUSH1 0xa0
000033c8: ADD
000033c9: PUSH1 0x40
000033cb: MSTORE
000033cc: DUP1
000033cd: PUSH1 0x60
000033cf: DUP2
000033d0: MSTORE
000033d1: PUSH1 0x20
000033d3: ADD
000033d4: PUSH1 0x00
000033d6: PUSH1 0x01
000033d8: PUSH1 0x01
000033da: PUSH1 0xa0
000033dc: SHL
000033dd: SUB
000033de: AND
000033df: DUP2
000033e0: MSTORE
000033e1: PUSH1 0x20
000033e3: ADD
000033e4: PUSH1 0x00
000033e6: DUP2
000033e7: MSTORE
000033e8: PUSH1 0x20
000033ea: ADD
000033eb: PUSH1 0x00
000033ed: DUP2
000033ee: MSTORE
000033ef: PUSH1 0x20
000033f1: ADD
000033f2: PUSH1 0x00
000033f4: DUP2
000033f5: MSTORE
000033f6: POP
000033f7: SWAP1
000033f8: JUMP
000033f9: JUMPDEST
000033fa: DUP1
000033fb: CALLDATALOAD
000033fc: PUSH2 0x2538
000033ff: DUP2
00003400: PUSH2 0x4d42
00003403: JUMP
00003404: JUMPDEST
00003405: PUSH1 0x00
00003407: DUP1
00003408: DUP4
00003409: PUSH1 0x1f
0000340b: DUP5
0000340c: ADD
0000340d: SLT
0000340e: PUSH2 0x3415
00003411: JUMPI
00003412: DUP2
00003413: DUP3
00003414: REVERT
00003415: JUMPDEST
00003416: POP
00003417: DUP2
00003418: CALLDATALOAD
00003419: PUSH8 0xffffffffffffffff
00003422: DUP2
00003423: GT
00003424: ISZERO
00003425: PUSH2 0x342c
00003428: JUMPI
00003429: DUP2
0000342a: DUP3
0000342b: REVERT
0000342c: JUMPDEST
0000342d: PUSH1 0x20
0000342f: DUP4
00003430: ADD
00003431: SWAP2
00003432: POP
00003433: DUP4
00003434: PUSH1 0x20
00003436: DUP1
00003437: DUP4
00003438: MUL
00003439: DUP6
0000343a: ADD
0000343b: ADD
0000343c: GT
0000343d: ISZERO
0000343e: PUSH2 0x3446
00003441: JUMPI
00003442: PUSH1 0x00
00003444: DUP1
00003445: REVERT
00003446: JUMPDEST
00003447: SWAP3
00003448: POP
00003449: SWAP3
0000344a: SWAP1
0000344b: POP
0000344c: JUMP
0000344d: JUMPDEST
0000344e: PUSH1 0x00
00003450: DUP1
00003451: DUP4
00003452: PUSH1 0x1f
00003454: DUP5
00003455: ADD
00003456: SLT
00003457: PUSH2 0x345e
0000345a: JUMPI
0000345b: DUP2
0000345c: DUP3
0000345d: REVERT
0000345e: JUMPDEST
0000345f: POP
00003460: DUP2
00003461: CALLDATALOAD
00003462: PUSH8 0xffffffffffffffff
0000346b: DUP2
0000346c: GT
0000346d: ISZERO
0000346e: PUSH2 0x3475
00003471: JUMPI
00003472: DUP2
00003473: DUP3
00003474: REVERT
00003475: JUMPDEST
00003476: PUSH1 0x20
00003478: DUP4
00003479: ADD
0000347a: SWAP2
0000347b: POP
0000347c: DUP4
0000347d: PUSH1 0x20
0000347f: DUP3
00003480: DUP6
00003481: ADD
00003482: ADD
00003483: GT
00003484: ISZERO
00003485: PUSH2 0x3446
00003488: JUMPI
00003489: PUSH1 0x00
0000348b: DUP1
0000348c: REVERT
0000348d: JUMPDEST
0000348e: PUSH1 0x00
00003490: DUP3
00003491: PUSH1 0x1f
00003493: DUP4
00003494: ADD
00003495: SLT
00003496: PUSH2 0x349d
00003499: JUMPI
0000349a: DUP1
0000349b: DUP2
0000349c: REVERT
0000349d: JUMPDEST
0000349e: DUP2
0000349f: CALLDATALOAD
000034a0: PUSH2 0x34b0
000034a3: PUSH2 0x34ab
000034a6: DUP3
000034a7: PUSH2 0x4cf2
000034aa: JUMP
000034ab: JUMPDEST
000034ac: PUSH2 0x4cab
000034af: JUMP
000034b0: JUMPDEST
000034b1: SWAP2
000034b2: POP
000034b3: DUP1
000034b4: DUP3
000034b5: MSTORE
000034b6: DUP4
000034b7: PUSH1 0x20
000034b9: DUP3
000034ba: DUP6
000034bb: ADD
000034bc: ADD
000034bd: GT
000034be: ISZERO
000034bf: PUSH2 0x34c7
000034c2: JUMPI
000034c3: PUSH1 0x00
000034c5: DUP1
000034c6: REVERT
000034c7: JUMPDEST
000034c8: DUP1
000034c9: PUSH1 0x20
000034cb: DUP5
000034cc: ADD
000034cd: PUSH1 0x20
000034cf: DUP5
000034d0: ADD
000034d1: CALLDATACOPY
000034d2: PUSH1 0x00
000034d4: SWAP1
000034d5: DUP3
000034d6: ADD
000034d7: PUSH1 0x20
000034d9: ADD
000034da: MSTORE
000034db: SWAP3
000034dc: SWAP2
000034dd: POP
000034de: POP
000034df: JUMP
000034e0: JUMPDEST
000034e1: PUSH1 0x00
000034e3: PUSH1 0x20
000034e5: DUP3
000034e6: DUP5
000034e7: SUB
000034e8: SLT
000034e9: ISZERO
000034ea: PUSH2 0x34f1
000034ed: JUMPI
000034ee: DUP1
000034ef: DUP2
000034f0: REVERT
000034f1: JUMPDEST
000034f2: DUP2
000034f3: CALLDATALOAD
000034f4: PUSH2 0x269f
000034f7: DUP2
000034f8: PUSH2 0x4d42
000034fb: JUMP
000034fc: JUMPDEST
000034fd: PUSH1 0x00
000034ff: DUP1
00003500: PUSH1 0x00
00003502: DUP1
00003503: PUSH1 0x00
00003505: DUP1
00003506: PUSH1 0x00
00003508: DUP1
00003509: PUSH1 0x00
0000350b: DUP1
0000350c: PUSH1 0x00
0000350e: DUP1
0000350f: PUSH2 0x0160
00003512: DUP14
00003513: DUP16
00003514: SUB
00003515: SLT
00003516: ISZERO
00003517: PUSH2 0x351e
0000351a: JUMPI
0000351b: DUP8
0000351c: DUP9
0000351d: REVERT
0000351e: JUMPDEST
0000351f: PUSH2 0x3528
00003522: DUP14
00003523: CALLDATALOAD
00003524: PUSH2 0x4d42
00003527: JUMP
00003528: JUMPDEST
00003529: DUP13
0000352a: CALLDATALOAD
0000352b: SWAP12
0000352c: POP
0000352d: PUSH2 0x3539
00003530: PUSH1 0x20
00003532: DUP15
00003533: ADD
00003534: CALLDATALOAD
00003535: PUSH2 0x4d42
00003538: JUMP
00003539: JUMPDEST
0000353a: PUSH1 0x20
0000353c: DUP14
0000353d: ADD
0000353e: CALLDATALOAD
0000353f: SWAP11
00003540: POP
00003541: PUSH2 0x354d
00003544: DUP15
00003545: PUSH1 0x40
00003547: DUP16
00003548: ADD
00003549: PUSH2 0x33f9
0000354c: JUMP
0000354d: JUMPDEST
0000354e: SWAP10
0000354f: POP
00003550: PUSH1 0x60
00003552: DUP14
00003553: ADD
00003554: CALLDATALOAD
00003555: SWAP9
00003556: POP
00003557: PUSH1 0x80
00003559: DUP14
0000355a: ADD
0000355b: CALLDATALOAD
0000355c: SWAP8
0000355d: POP
0000355e: PUSH1 0xa0
00003560: DUP14
00003561: ADD
00003562: CALLDATALOAD
00003563: SWAP7
00003564: POP
00003565: PUSH2 0x3571
00003568: DUP15
00003569: PUSH1 0xc0
0000356b: DUP16
0000356c: ADD
0000356d: PUSH2 0x33f9
00003570: JUMP
00003571: JUMPDEST
00003572: SWAP6
00003573: POP
00003574: PUSH2 0x3580
00003577: DUP15
00003578: PUSH1 0xe0
0000357a: DUP16
0000357b: ADD
0000357c: PUSH2 0x33f9
0000357f: JUMP
00003580: JUMPDEST
00003581: SWAP5
00003582: POP
00003583: PUSH2 0x0100
00003586: DUP14
00003587: ADD
00003588: CALLDATALOAD
00003589: SWAP4
0000358a: POP
0000358b: PUSH2 0x0120
0000358e: DUP14
0000358f: ADD
00003590: CALLDATALOAD
00003591: SWAP3
00003592: POP
00003593: PUSH8 0xffffffffffffffff
0000359c: PUSH2 0x0140
0000359f: DUP15
000035a0: ADD
000035a1: CALLDATALOAD
000035a2: GT
000035a3: ISZERO
000035a4: PUSH2 0x35ab
000035a7: JUMPI
000035a8: DUP1
000035a9: DUP2
000035aa: REVERT
000035ab: JUMPDEST
000035ac: PUSH2 0x35bc
000035af: DUP15
000035b0: PUSH2 0x0140
000035b3: DUP16
000035b4: ADD
000035b5: CALLDATALOAD
000035b6: DUP16
000035b7: ADD
000035b8: PUSH2 0x344d
000035bb: JUMP
000035bc: JUMPDEST
000035bd: DUP2
000035be: SWAP4
000035bf: POP
000035c0: DUP1
000035c1: SWAP3
000035c2: POP
000035c3: POP
000035c4: POP
000035c5: SWAP3
000035c6: SWAP6
000035c7: SWAP9
000035c8: SWAP12
000035c9: POP
000035ca: SWAP3
000035cb: SWAP6
000035cc: SWAP9
000035cd: SWAP12
000035ce: POP
000035cf: SWAP3
000035d0: SWAP6
000035d1: SWAP9
000035d2: SWAP12
000035d3: JUMP
000035d4: JUMPDEST
000035d5: PUSH1 0x00
000035d7: DUP1
000035d8: PUSH1 0x00
000035da: DUP1
000035db: PUSH1 0x80
000035dd: DUP6
000035de: DUP8
000035df: SUB
000035e0: SLT
000035e1: ISZERO
000035e2: PUSH2 0x35e9
000035e5: JUMPI
000035e6: DUP4
000035e7: DUP5
000035e8: REVERT
000035e9: JUMPDEST
000035ea: DUP5
000035eb: CALLDATALOAD
000035ec: PUSH2 0x35f4
000035ef: DUP2
000035f0: PUSH2 0x4d42
000035f3: JUMP
000035f4: JUMPDEST
000035f5: SWAP4
000035f6: POP
000035f7: PUSH1 0x20
000035f9: DUP6
000035fa: ADD
000035fb: CALLDATALOAD
000035fc: SWAP3
000035fd: POP
000035fe: PUSH1 0x40
00003600: DUP6
00003601: ADD
00003602: CALLDATALOAD
00003603: PUSH8 0xffffffffffffffff
0000360c: DUP1
0000360d: DUP3
0000360e: GT
0000360f: ISZERO
00003610: PUSH2 0x3617
00003613: JUMPI
00003614: DUP4
00003615: DUP5
00003616: REVERT
00003617: JUMPDEST
00003618: PUSH2 0x3623
0000361b: DUP9
0000361c: DUP4
0000361d: DUP10
0000361e: ADD
0000361f: PUSH2 0x348d
00003622: JUMP
00003623: JUMPDEST
00003624: SWAP4
00003625: POP
00003626: PUSH1 0x60
00003628: DUP8
00003629: ADD
0000362a: CALLDATALOAD
0000362b: SWAP2
0000362c: POP
0000362d: DUP1
0000362e: DUP3
0000362f: GT
00003630: ISZERO
00003631: PUSH2 0x3638
00003634: JUMPI
00003635: DUP3
00003636: DUP4
00003637: REVERT
00003638: JUMPDEST
00003639: POP
0000363a: PUSH2 0x3645
0000363d: DUP8
0000363e: DUP3
0000363f: DUP9
00003640: ADD
00003641: PUSH2 0x348d
00003644: JUMP
00003645: JUMPDEST
00003646: SWAP2
00003647: POP
00003648: POP
00003649: SWAP3
0000364a: SWAP6
0000364b: SWAP2
0000364c: SWAP5
0000364d: POP
0000364e: SWAP3
0000364f: POP
00003650: JUMP
00003651: JUMPDEST
00003652: PUSH1 0x00
00003654: DUP1
00003655: PUSH1 0x00
00003657: PUSH1 0x40
00003659: DUP5
0000365a: DUP7
0000365b: SUB
0000365c: SLT
0000365d: ISZERO
0000365e: PUSH2 0x3665
00003661: JUMPI
00003662: DUP3
00003663: DUP4
00003664: REVERT
00003665: JUMPDEST
00003666: DUP4
00003667: CALLDATALOAD
00003668: PUSH8 0xffffffffffffffff
00003671: DUP2
00003672: GT
00003673: ISZERO
00003674: PUSH2 0x367b
00003677: JUMPI
00003678: DUP4
00003679: DUP5
0000367a: REVERT
0000367b: JUMPDEST
0000367c: PUSH2 0x3687
0000367f: DUP7
00003680: DUP3
00003681: DUP8
00003682: ADD
00003683: PUSH2 0x3404
00003686: JUMP
00003687: JUMPDEST
00003688: SWAP1
00003689: SWAP5
0000368a: POP
0000368b: SWAP3
0000368c: POP
0000368d: POP
0000368e: PUSH1 0x20
00003690: DUP5
00003691: ADD
00003692: CALLDATALOAD
00003693: PUSH2 0x369b
00003696: DUP2
00003697: PUSH2 0x4d42
0000369a: JUMP
0000369b: JUMPDEST
0000369c: DUP1
0000369d: SWAP2
0000369e: POP
0000369f: POP
000036a0: SWAP3
000036a1: POP
000036a2: SWAP3
000036a3: POP
000036a4: SWAP3
000036a5: JUMP
000036a6: JUMPDEST
000036a7: PUSH1 0x00
000036a9: PUSH1 0x20
000036ab: DUP1
000036ac: DUP4
000036ad: DUP6
000036ae: SUB
000036af: SLT
000036b0: ISZERO
000036b1: PUSH2 0x36b8
000036b4: JUMPI
000036b5: DUP2
000036b6: DUP3
000036b7: REVERT
000036b8: JUMPDEST
000036b9: DUP3
000036ba: MLOAD
000036bb: PUSH8 0xffffffffffffffff
000036c4: DUP2
000036c5: GT
000036c6: ISZERO
000036c7: PUSH2 0x36ce
000036ca: JUMPI
000036cb: DUP3
000036cc: DUP4
000036cd: REVERT
000036ce: JUMPDEST
000036cf: DUP4
000036d0: ADD
000036d1: PUSH1 0x1f
000036d3: DUP2
000036d4: ADD
000036d5: DUP6
000036d6: SGT
000036d7: PUSH2 0x36de
000036da: JUMPI
000036db: DUP3
000036dc: DUP4
000036dd: REVERT
000036de: JUMPDEST
000036df: DUP1
000036e0: MLOAD
000036e1: PUSH2 0x36ec
000036e4: PUSH2 0x34ab
000036e7: DUP3
000036e8: PUSH2 0x4cd2
000036eb: JUMP
000036ec: JUMPDEST
000036ed: DUP2
000036ee: DUP2
000036ef: MSTORE
000036f0: DUP4
000036f1: DUP2
000036f2: ADD
000036f3: SWAP1
000036f4: DUP4
000036f5: DUP6
000036f6: ADD
000036f7: DUP6
000036f8: DUP5
000036f9: MUL
000036fa: DUP6
000036fb: ADD
000036fc: DUP7
000036fd: ADD
000036fe: DUP10
000036ff: LT
00003700: ISZERO
00003701: PUSH2 0x3708
00003704: JUMPI
00003705: DUP7
00003706: DUP8
00003707: REVERT
00003708: JUMPDEST
00003709: DUP7
0000370a: SWAP5
0000370b: POP
0000370c: JUMPDEST
0000370d: DUP4
0000370e: DUP6
0000370f: LT
00003710: ISZERO
00003711: PUSH2 0x372a
00003714: JUMPI
00003715: DUP1
00003716: MLOAD
00003717: DUP4
00003718: MSTORE
00003719: PUSH1 0x01
0000371b: SWAP5
0000371c: SWAP1
0000371d: SWAP5
0000371e: ADD
0000371f: SWAP4
00003720: SWAP2
00003721: DUP6
00003722: ADD
00003723: SWAP2
00003724: DUP6
00003725: ADD
00003726: PUSH2 0x370c
00003729: JUMP
0000372a: JUMPDEST
0000372b: POP
0000372c: SWAP8
0000372d: SWAP7
0000372e: POP
0000372f: POP
00003730: POP
00003731: POP
00003732: POP
00003733: POP
00003734: POP
00003735: JUMP
00003736: JUMPDEST
00003737: PUSH1 0x00
00003739: PUSH1 0x20
0000373b: DUP3
0000373c: DUP5
0000373d: SUB
0000373e: SLT
0000373f: ISZERO
00003740: PUSH2 0x3747
00003743: JUMPI
00003744: DUP1
00003745: DUP2
00003746: REVERT
00003747: JUMPDEST
00003748: DUP2
00003749: MLOAD
0000374a: PUSH2 0x269f
0000374d: DUP2
0000374e: PUSH2 0x4d57
00003751: JUMP
00003752: JUMPDEST
00003753: PUSH1 0x00
00003755: PUSH1 0x20
00003757: DUP3
00003758: DUP5
00003759: SUB
0000375a: SLT
0000375b: ISZERO
0000375c: PUSH2 0x3763
0000375f: JUMPI
00003760: DUP1
00003761: DUP2
00003762: REVERT
00003763: JUMPDEST
00003764: DUP2
00003765: MLOAD
00003766: PUSH1 0x01
00003768: PUSH1 0x01
0000376a: PUSH1 0xe0
0000376c: SHL
0000376d: SUB
0000376e: NOT
0000376f: DUP2
00003770: AND
00003771: DUP2
00003772: EQ
00003773: PUSH2 0x269f
00003776: JUMPI
00003777: DUP2
00003778: DUP3
00003779: REVERT
0000377a: JUMPDEST
0000377b: PUSH1 0x00
0000377d: DUP1
0000377e: PUSH1 0x00
00003780: DUP1
00003781: PUSH1 0x80
00003783: DUP6
00003784: DUP8
00003785: SUB
00003786: SLT
00003787: ISZERO
00003788: PUSH2 0x378f
0000378b: JUMPI
0000378c: DUP2
0000378d: DUP3
0000378e: REVERT
0000378f: JUMPDEST
00003790: DUP5
00003791: MLOAD
00003792: PUSH2 0x379a
00003795: DUP2
00003796: PUSH2 0x4d65
00003799: JUMP
0000379a: JUMPDEST
0000379b: PUSH1 0x20
0000379d: DUP7
0000379e: ADD
0000379f: MLOAD
000037a0: SWAP1
000037a1: SWAP5
000037a2: POP
000037a3: PUSH2 0x37ab
000037a6: DUP2
000037a7: PUSH2 0x4d65
000037aa: JUMP
000037ab: JUMPDEST
000037ac: PUSH1 0x40
000037ae: DUP7
000037af: ADD
000037b0: MLOAD
000037b1: SWAP1
000037b2: SWAP4
000037b3: POP
000037b4: PUSH2 0xffff
000037b7: DUP2
000037b8: AND
000037b9: DUP2
000037ba: EQ
000037bb: PUSH2 0x37c2
000037be: JUMPI
000037bf: DUP3
000037c0: DUP4
000037c1: REVERT
000037c2: JUMPDEST
000037c3: PUSH1 0x60
000037c5: DUP7
000037c6: ADD
000037c7: MLOAD
000037c8: SWAP1
000037c9: SWAP3
000037ca: POP
000037cb: PUSH2 0x37d3
000037ce: DUP2
000037cf: PUSH2 0x4d57
000037d2: JUMP
000037d3: JUMPDEST
000037d4: SWAP4
000037d5: SWAP7
000037d6: SWAP3
000037d7: SWAP6
000037d8: POP
000037d9: SWAP1
000037da: SWAP4
000037db: POP
000037dc: POP
000037dd: JUMP
000037de: JUMPDEST
000037df: PUSH1 0x00
000037e1: DUP1
000037e2: PUSH1 0x00
000037e4: DUP1
000037e5: PUSH1 0x00
000037e7: DUP1
000037e8: PUSH1 0x00
000037ea: DUP1
000037eb: DUP9
000037ec: DUP11
000037ed: SUB
000037ee: PUSH2 0x01a0
000037f1: DUP2
000037f2: SLT
000037f3: ISZERO
000037f4: PUSH2 0x37fb
000037f7: JUMPI
000037f8: DUP3
000037f9: DUP4
000037fa: REVERT
000037fb: JUMPDEST
000037fc: PUSH2 0x0120
000037ff: DUP1
00003800: DUP3
00003801: SLT
00003802: ISZERO
00003803: PUSH2 0x380a
00003806: JUMPI
00003807: DUP4
00003808: DUP5
00003809: REVERT
0000380a: JUMPDEST
0000380b: PUSH2 0x3813
0000380e: DUP2
0000380f: PUSH2 0x4cab
00003812: JUMP
00003813: JUMPDEST
00003814: SWAP2
00003815: POP
00003816: PUSH2 0x381f
00003819: DUP13
0000381a: DUP13
0000381b: PUSH2 0x33f9
0000381e: JUMP
0000381f: JUMPDEST
00003820: DUP3
00003821: MSTORE
00003822: PUSH2 0x382e
00003825: DUP13
00003826: PUSH1 0x20
00003828: DUP14
00003829: ADD
0000382a: PUSH2 0x33f9
0000382d: JUMP
0000382e: JUMPDEST
0000382f: PUSH1 0x20
00003831: DUP4
00003832: ADD
00003833: MSTORE
00003834: PUSH2 0x3840
00003837: DUP13
00003838: PUSH1 0x40
0000383a: DUP14
0000383b: ADD
0000383c: PUSH2 0x33f9
0000383f: JUMP
00003840: JUMPDEST
00003841: PUSH1 0x40
00003843: DUP4
00003844: ADD
00003845: MSTORE
00003846: PUSH1 0x60
00003848: DUP12
00003849: ADD
0000384a: CALLDATALOAD
0000384b: PUSH1 0x60
0000384d: DUP4
0000384e: ADD
0000384f: MSTORE
00003850: PUSH1 0x80
00003852: DUP12
00003853: ADD
00003854: CALLDATALOAD
00003855: PUSH1 0x80
00003857: DUP4
00003858: ADD
00003859: MSTORE
0000385a: PUSH2 0x3866
0000385d: DUP13
0000385e: PUSH1 0xa0
00003860: DUP14
00003861: ADD
00003862: PUSH2 0x33f9
00003865: JUMP
00003866: JUMPDEST
00003867: PUSH1 0xa0
00003869: DUP4
0000386a: ADD
0000386b: MSTORE
0000386c: PUSH2 0x3878
0000386f: DUP13
00003870: PUSH1 0xc0
00003872: DUP14
00003873: ADD
00003874: PUSH2 0x33f9
00003877: JUMP
00003878: JUMPDEST
00003879: PUSH1 0xc0
0000387b: DUP4
0000387c: ADD
0000387d: MSTORE
0000387e: PUSH1 0xe0
00003880: DUP12
00003881: DUP2
00003882: ADD
00003883: CALLDATALOAD
00003884: SWAP1
00003885: DUP4
00003886: ADD
00003887: MSTORE
00003888: PUSH2 0x0100
0000388b: DUP1
0000388c: DUP13
0000388d: ADD
0000388e: CALLDATALOAD
0000388f: SWAP1
00003890: DUP4
00003891: ADD
00003892: MSTORE
00003893: SWAP1
00003894: SWAP9
00003895: POP
00003896: DUP10
00003897: ADD
00003898: CALLDATALOAD
00003899: SWAP7
0000389a: POP
0000389b: PUSH2 0x0140
0000389e: DUP10
0000389f: ADD
000038a0: CALLDATALOAD
000038a1: PUSH8 0xffffffffffffffff
000038aa: DUP1
000038ab: DUP3
000038ac: GT
000038ad: ISZERO
000038ae: PUSH2 0x38b5
000038b1: JUMPI
000038b2: DUP4
000038b3: DUP5
000038b4: REVERT
000038b5: JUMPDEST
000038b6: PUSH2 0x38c1
000038b9: DUP13
000038ba: DUP4
000038bb: DUP14
000038bc: ADD
000038bd: PUSH2 0x344d
000038c0: JUMP
000038c1: JUMPDEST
000038c2: SWAP1
000038c3: SWAP9
000038c4: POP
000038c5: SWAP7
000038c6: POP
000038c7: PUSH2 0x0160
000038ca: DUP12
000038cb: ADD
000038cc: CALLDATALOAD
000038cd: SWAP2
000038ce: POP
000038cf: DUP1
000038d0: DUP3
000038d1: GT
000038d2: ISZERO
000038d3: PUSH2 0x38da
000038d6: JUMPI
000038d7: DUP4
000038d8: DUP5
000038d9: REVERT
000038da: JUMPDEST
000038db: PUSH2 0x38e6
000038de: DUP13
000038df: DUP4
000038e0: DUP14
000038e1: ADD
000038e2: PUSH2 0x344d
000038e5: JUMP
000038e6: JUMPDEST
000038e7: SWAP1
000038e8: SWAP7
000038e9: POP
000038ea: SWAP5
000038eb: POP
000038ec: PUSH2 0x0180
000038ef: DUP12
000038f0: ADD
000038f1: CALLDATALOAD
000038f2: SWAP2
000038f3: POP
000038f4: DUP1
000038f5: DUP3
000038f6: GT
000038f7: ISZERO
000038f8: PUSH2 0x38ff
000038fb: JUMPI
000038fc: DUP4
000038fd: DUP5
000038fe: REVERT
000038ff: JUMPDEST
00003900: POP
00003901: PUSH2 0x390c
00003904: DUP12
00003905: DUP3
00003906: DUP13
00003907: ADD
00003908: PUSH2 0x3404
0000390b: JUMP
0000390c: JUMPDEST
0000390d: SWAP10
0000390e: SWAP13
0000390f: SWAP9
00003910: SWAP12
00003911: POP
00003912: SWAP7
00003913: SWAP10
00003914: POP
00003915: SWAP5
00003916: SWAP8
00003917: SWAP4
00003918: SWAP7
00003919: SWAP3
0000391a: SWAP6
0000391b: SWAP5
0000391c: POP
0000391d: POP
0000391e: POP
0000391f: JUMP
00003920: JUMPDEST
00003921: PUSH1 0x00
00003923: PUSH1 0x20
00003925: DUP3
00003926: DUP5
00003927: SUB
00003928: SLT
00003929: ISZERO
0000392a: PUSH2 0x3931
0000392d: JUMPI
0000392e: DUP1
0000392f: DUP2
00003930: REVERT
00003931: JUMPDEST
00003932: POP
00003933: CALLDATALOAD
00003934: SWAP2
00003935: SWAP1
00003936: POP
00003937: JUMP
00003938: JUMPDEST
00003939: PUSH1 0x00
0000393b: PUSH1 0x20
0000393d: DUP3
0000393e: DUP5
0000393f: SUB
00003940: SLT
00003941: ISZERO
00003942: PUSH2 0x3949
00003945: JUMPI
00003946: DUP1
00003947: DUP2
00003948: REVERT
00003949: JUMPDEST
0000394a: POP
0000394b: MLOAD
0000394c: SWAP2
0000394d: SWAP1
0000394e: POP
0000394f: JUMP
00003950: JUMPDEST
00003951: PUSH1 0x00
00003953: DUP1
00003954: PUSH1 0x40
00003956: DUP4
00003957: DUP6
00003958: SUB
00003959: SLT
0000395a: ISZERO
0000395b: PUSH2 0x3962
0000395e: JUMPI
0000395f: DUP2
00003960: DUP3
00003961: REVERT
00003962: JUMPDEST
00003963: DUP3
00003964: MLOAD
00003965: PUSH2 0x396d
00003968: DUP2
00003969: PUSH2 0x4d74
0000396c: JUMP
0000396d: JUMPDEST
0000396e: PUSH1 0x20
00003970: DUP5
00003971: ADD
00003972: MLOAD
00003973: SWAP1
00003974: SWAP3
00003975: POP
00003976: PUSH8 0xffffffffffffffff
0000397f: DUP2
00003980: GT
00003981: ISZERO
00003982: PUSH2 0x3989
00003985: JUMPI
00003986: DUP2
00003987: DUP3
00003988: REVERT
00003989: JUMPDEST
0000398a: DUP4
0000398b: ADD
0000398c: PUSH1 0x1f
0000398e: DUP2
0000398f: ADD
00003990: DUP6
00003991: SGT
00003992: PUSH2 0x3999
00003995: JUMPI
00003996: DUP2
00003997: DUP3
00003998: REVERT
00003999: JUMPDEST
0000399a: DUP1
0000399b: MLOAD
0000399c: PUSH2 0x39a7
0000399f: PUSH2 0x34ab
000039a2: DUP3
000039a3: PUSH2 0x4cf2
000039a6: JUMP
000039a7: JUMPDEST
000039a8: DUP2
000039a9: DUP2
000039aa: MSTORE
000039ab: DUP7
000039ac: PUSH1 0x20
000039ae: DUP4
000039af: DUP6
000039b0: ADD
000039b1: ADD
000039b2: GT
000039b3: ISZERO
000039b4: PUSH2 0x39bb
000039b7: JUMPI
000039b8: DUP4
000039b9: DUP5
000039ba: REVERT
000039bb: JUMPDEST
000039bc: PUSH2 0x39cc
000039bf: DUP3
000039c0: PUSH1 0x20
000039c2: DUP4
000039c3: ADD
000039c4: PUSH1 0x20
000039c6: DUP7
000039c7: ADD
000039c8: PUSH2 0x4d16
000039cb: JUMP
000039cc: JUMPDEST
000039cd: DUP1
000039ce: SWAP4
000039cf: POP
000039d0: POP
000039d1: POP
000039d2: POP
000039d3: SWAP3
000039d4: POP
000039d5: SWAP3
000039d6: SWAP1
000039d7: POP
000039d8: JUMP
000039d9: JUMPDEST
000039da: PUSH1 0x00
000039dc: DUP1
000039dd: PUSH1 0x40
000039df: DUP4
000039e0: DUP6
000039e1: SUB
000039e2: SLT
000039e3: ISZERO
000039e4: PUSH2 0x39eb
000039e7: JUMPI
000039e8: DUP2
000039e9: DUP3
000039ea: REVERT
000039eb: JUMPDEST
000039ec: DUP3
000039ed: MLOAD
000039ee: PUSH2 0x39f6
000039f1: DUP2
000039f2: PUSH2 0x4d74
000039f5: JUMP
000039f6: JUMPDEST
000039f7: PUSH1 0x20
000039f9: DUP5
000039fa: ADD
000039fb: MLOAD
000039fc: SWAP1
000039fd: SWAP3
000039fe: POP
000039ff: PUSH3 0xffffff
00003a03: DUP2
00003a04: AND
00003a05: DUP2
00003a06: EQ
00003a07: PUSH2 0x3a0e
00003a0a: JUMPI
00003a0b: DUP2
00003a0c: DUP3
00003a0d: REVERT
00003a0e: JUMPDEST
00003a0f: DUP1
00003a10: SWAP2
00003a11: POP
00003a12: POP
00003a13: SWAP3
00003a14: POP
00003a15: SWAP3
00003a16: SWAP1
00003a17: POP
00003a18: JUMP
00003a19: JUMPDEST
00003a1a: PUSH1 0x01
00003a1c: PUSH1 0x01
00003a1e: PUSH1 0xa0
00003a20: SHL
00003a21: SUB
00003a22: AND
00003a23: SWAP1
00003a24: MSTORE
00003a25: JUMP
00003a26: JUMPDEST
00003a27: PUSH1 0x00
00003a29: DUP2
00003a2a: MLOAD
00003a2b: DUP1
00003a2c: DUP5
00003a2d: MSTORE
00003a2e: PUSH2 0x3a3e
00003a31: DUP2
00003a32: PUSH1 0x20
00003a34: DUP7
00003a35: ADD
00003a36: PUSH1 0x20
00003a38: DUP7
00003a39: ADD
00003a3a: PUSH2 0x4d16
00003a3d: JUMP
00003a3e: JUMPDEST
00003a3f: PUSH1 0x1f
00003a41: ADD
00003a42: PUSH1 0x1f
00003a44: NOT
00003a45: AND
00003a46: SWAP3
00003a47: SWAP1
00003a48: SWAP3
00003a49: ADD
00003a4a: PUSH1 0x20
00003a4c: ADD
00003a4d: SWAP3
00003a4e: SWAP2
00003a4f: POP
00003a50: POP
00003a51: JUMP
00003a52: JUMPDEST
00003a53: PUSH1 0x00
00003a55: DUP3
00003a56: MLOAD
00003a57: PUSH2 0x3a64
00003a5a: DUP2
00003a5b: DUP5
00003a5c: PUSH1 0x20
00003a5e: DUP8
00003a5f: ADD
00003a60: PUSH2 0x4d16
00003a63: JUMP
00003a64: JUMPDEST
00003a65: SWAP2
00003a66: SWAP1
00003a67: SWAP2
00003a68: ADD
00003a69: SWAP3
00003a6a: SWAP2
00003a6b: POP
00003a6c: POP
00003a6d: JUMP
00003a6e: JUMPDEST
00003a6f: PUSH1 0x00
00003a71: DUP5
00003a72: MLOAD
00003a73: PUSH2 0x3a80
00003a76: DUP2
00003a77: DUP5
00003a78: PUSH1 0x20
00003a7a: DUP10
00003a7b: ADD
00003a7c: PUSH2 0x4d16
00003a7f: JUMP
00003a80: JUMPDEST
00003a81: SWAP2
00003a82: SWAP1
00003a83: SWAP2
00003a84: ADD
00003a85: SWAP3
00003a86: DUP4
00003a87: MSTORE
00003a88: POP
00003a89: PUSH1 0x20
00003a8b: DUP3
00003a8c: ADD
00003a8d: MSTORE
00003a8e: PUSH1 0x40
00003a90: ADD
00003a91: SWAP2
00003a92: SWAP1
00003a93: POP
00003a94: JUMP
00003a95: JUMPDEST
00003a96: PUSH32 0x7472616465576974685065726d69742800000000000000000000000000000000
00003ab7: DUP2
00003ab8: MSTORE
00003ab9: PUSH32 0x61646472657373206d616b6572416464722c0000000000000000000000000000
00003ada: PUSH1 0x10
00003adc: DUP3
00003add: ADD
00003ade: MSTORE
00003adf: PUSH32 0x616464726573732074616b65724173736574416464722c000000000000000000
00003b00: PUSH1 0x22
00003b02: DUP3
00003b03: ADD
00003b04: MSTORE
00003b05: PUSH32 0x61646472657373206d616b65724173736574416464722c000000000000000000
00003b26: PUSH1 0x39
00003b28: DUP3
00003b29: ADD
00003b2a: MSTORE
00003b2b: PUSH32 0x75696e743235362074616b65724173736574416d6f756e742c00000000000000
00003b4c: PUSH1 0x50
00003b4e: DUP3
00003b4f: ADD
00003b50: MSTORE
00003b51: PUSH32 0x75696e74323536206d616b65724173736574416d6f756e742c00000000000000
00003b72: PUSH1 0x69
00003b74: DUP3
00003b75: ADD
00003b76: MSTORE
00003b77: PUSH32 0x616464726573732075736572416464722c000000000000000000000000000000
00003b98: PUSH1 0x82
00003b9a: DUP3
00003b9b: ADD
00003b9c: MSTORE
00003b9d: PUSH32 0x61646472657373207265636569766572416464722c0000000000000000000000
00003bbe: PUSH1 0x93
00003bc0: DUP3
00003bc1: ADD
00003bc2: MSTORE
00003bc3: PUSH32 0x75696e743235362073616c742c00000000000000000000000000000000000000
00003be4: PUSH1 0xa8
00003be6: DUP3
00003be7: ADD
00003be8: MSTORE
00003be9: PUSH32 0x75696e7432353620646561646c696e6500000000000000000000000000000000
00003c0a: PUSH1 0xb5
00003c0c: DUP3
00003c0d: ADD
00003c0e: MSTORE
00003c0f: PUSH32 0x2900000000000000000000000000000000000000000000000000000000000000
00003c30: PUSH1 0xc5
00003c32: DUP3
00003c33: ADD
00003c34: MSTORE
00003c35: PUSH1 0xc6
00003c37: ADD
00003c38: SWAP1
00003c39: JUMP
00003c3a: JUMPDEST
00003c3b: PUSH32 0x19457468657265756d205369676e6564204d6573736167653a0a333200000000
00003c5c: DUP2
00003c5d: MSTORE
00003c5e: PUSH1 0x1c
00003c60: DUP2
00003c61: ADD
00003c62: SWAP2
00003c63: SWAP1
00003c64: SWAP2
00003c65: MSTORE
00003c66: PUSH1 0x3c
00003c68: ADD
00003c69: SWAP1
00003c6a: JUMP
00003c6b: JUMPDEST
00003c6c: PUSH1 0x01
00003c6e: PUSH1 0x01
00003c70: PUSH1 0xa0
00003c72: SHL
00003c73: SUB
00003c74: SWAP2
00003c75: SWAP1
00003c76: SWAP2
00003c77: AND
00003c78: DUP2
00003c79: MSTORE
00003c7a: PUSH1 0x20
00003c7c: ADD
00003c7d: SWAP1
00003c7e: JUMP
00003c7f: JUMPDEST
00003c80: PUSH1 0x01
00003c82: PUSH1 0x01
00003c84: PUSH1 0xa0
00003c86: SHL
00003c87: SUB
00003c88: SWAP3
00003c89: DUP4
00003c8a: AND
00003c8b: DUP2
00003c8c: MSTORE
00003c8d: SWAP2
00003c8e: AND
00003c8f: PUSH1 0x20
00003c91: DUP3
00003c92: ADD
00003c93: MSTORE
00003c94: PUSH1 0x40
00003c96: ADD
00003c97: SWAP1
00003c98: JUMP
00003c99: JUMPDEST
00003c9a: PUSH1 0x01
00003c9c: PUSH1 0x01
00003c9e: PUSH1 0xa0
00003ca0: SHL
00003ca1: SUB
00003ca2: SWAP4
00003ca3: DUP5
00003ca4: AND
00003ca5: DUP2
00003ca6: MSTORE
00003ca7: SWAP2
00003ca8: DUP4
00003ca9: AND
00003caa: PUSH1 0x20
00003cac: DUP4
00003cad: ADD
00003cae: MSTORE
00003caf: SWAP1
00003cb0: SWAP2
00003cb1: AND
00003cb2: PUSH1 0x40
00003cb4: DUP3
00003cb5: ADD
00003cb6: MSTORE
00003cb7: PUSH1 0x60
00003cb9: ADD
00003cba: SWAP1
00003cbb: JUMP
00003cbc: JUMPDEST
00003cbd: PUSH1 0x01
00003cbf: PUSH1 0x01
00003cc1: PUSH1 0xa0
00003cc3: SHL
00003cc4: SUB
00003cc5: SWAP4
00003cc6: DUP5
00003cc7: AND
00003cc8: DUP2
00003cc9: MSTORE
00003cca: SWAP2
00003ccb: SWAP1
00003ccc: SWAP3
00003ccd: AND
00003cce: PUSH1 0x20
00003cd0: DUP3
00003cd1: ADD
00003cd2: MSTORE
00003cd3: PUSH1 0x40
00003cd5: DUP2
00003cd6: ADD
00003cd7: SWAP2
00003cd8: SWAP1
00003cd9: SWAP2
00003cda: MSTORE
00003cdb: PUSH1 0x60
00003cdd: ADD
00003cde: SWAP1
00003cdf: JUMP
00003ce0: JUMPDEST
00003ce1: PUSH1 0x01
00003ce3: PUSH1 0x01
00003ce5: PUSH1 0xa0
00003ce7: SHL
00003ce8: SUB
00003ce9: SWAP3
00003cea: SWAP1
00003ceb: SWAP3
00003cec: AND
00003ced: DUP3
00003cee: MSTORE
00003cef: PUSH1 0x20
00003cf1: DUP3
00003cf2: ADD
00003cf3: MSTORE
00003cf4: PUSH1 0x40
00003cf6: ADD
00003cf7: SWAP1
00003cf8: JUMP
00003cf9: JUMPDEST
00003cfa: SWAP1
00003cfb: ISZERO
00003cfc: ISZERO
00003cfd: DUP2
00003cfe: MSTORE
00003cff: PUSH1 0x20
00003d01: ADD
00003d02: SWAP1
00003d03: JUMP
00003d04: JUMPDEST
00003d05: SWAP1
00003d06: DUP2
00003d07: MSTORE
00003d08: PUSH1 0x20
00003d0a: ADD
00003d0b: SWAP1
00003d0c: JUMP
00003d0d: JUMPDEST
00003d0e: SWAP10
00003d0f: DUP11
00003d10: MSTORE
00003d11: PUSH1 0x01
00003d13: PUSH1 0x01
00003d15: PUSH1 0xa0
00003d17: SHL
00003d18: SUB
00003d19: SWAP9
00003d1a: DUP10
00003d1b: AND
00003d1c: PUSH1 0x20
00003d1e: DUP12
00003d1f: ADD
00003d20: MSTORE
00003d21: SWAP7
00003d22: DUP9
00003d23: AND
00003d24: PUSH1 0x40
00003d26: DUP11
00003d27: ADD
00003d28: MSTORE
00003d29: SWAP5
00003d2a: DUP8
00003d2b: AND
00003d2c: PUSH1 0x60
00003d2e: DUP10
00003d2f: ADD
00003d30: MSTORE
00003d31: PUSH1 0x80
00003d33: DUP9
00003d34: ADD
00003d35: SWAP4
00003d36: SWAP1
00003d37: SWAP4
00003d38: MSTORE
00003d39: PUSH1 0xa0
00003d3b: DUP8
00003d3c: ADD
00003d3d: SWAP2
00003d3e: SWAP1
00003d3f: SWAP2
00003d40: MSTORE
00003d41: DUP5
00003d42: AND
00003d43: PUSH1 0xc0
00003d45: DUP7
00003d46: ADD
00003d47: MSTORE
00003d48: SWAP1
00003d49: SWAP3
00003d4a: AND
00003d4b: PUSH1 0xe0
00003d4d: DUP5
00003d4e: ADD
00003d4f: MSTORE
00003d50: PUSH2 0x0100
00003d53: DUP4
00003d54: ADD
00003d55: SWAP2
00003d56: SWAP1
00003d57: SWAP2
00003d58: MSTORE
00003d59: PUSH2 0x0120
00003d5c: DUP3
00003d5d: ADD
00003d5e: MSTORE
00003d5f: PUSH2 0x0140
00003d62: ADD
00003d63: SWAP1
00003d64: JUMP
00003d65: JUMPDEST
00003d66: PUSH1 0x00
00003d68: DUP4
00003d69: DUP3
00003d6a: MSTORE
00003d6b: PUSH1 0x40
00003d6d: PUSH1 0x20
00003d6f: DUP4
00003d70: ADD
00003d71: MSTORE
00003d72: PUSH2 0x1612
00003d75: PUSH1 0x40
00003d77: DUP4
00003d78: ADD
00003d79: DUP5
00003d7a: PUSH2 0x3a26
00003d7d: JUMP
00003d7e: JUMPDEST
00003d7f: SWAP4
00003d80: DUP5
00003d81: MSTORE
00003d82: PUSH1 0xff
00003d84: SWAP3
00003d85: SWAP1
00003d86: SWAP3
00003d87: AND
00003d88: PUSH1 0x20
00003d8a: DUP5
00003d8b: ADD
00003d8c: MSTORE
00003d8d: PUSH1 0x40
00003d8f: DUP4
00003d90: ADD
00003d91: MSTORE
00003d92: PUSH1 0x60
00003d94: DUP3
00003d95: ADD
00003d96: MSTORE
00003d97: PUSH1 0x80
00003d99: ADD
00003d9a: SWAP1
00003d9b: JUMP
00003d9c: JUMPDEST
00003d9d: PUSH1 0x00
00003d9f: PUSH1 0x40
00003da1: DUP3
00003da2: MSTORE
00003da3: PUSH2 0x3daf
00003da6: PUSH1 0x40
00003da8: DUP4
00003da9: ADD
00003daa: DUP6
00003dab: PUSH2 0x3a26
00003dae: JUMP
00003daf: JUMPDEST
00003db0: DUP3
00003db1: DUP2
00003db2: SUB
00003db3: PUSH1 0x20
00003db5: DUP5
00003db6: ADD
00003db7: MSTORE
00003db8: PUSH2 0x3dc1
00003dbb: DUP2
00003dbc: DUP6
00003dbd: PUSH2 0x3a26
00003dc0: JUMP
00003dc1: JUMPDEST
00003dc2: SWAP6
00003dc3: SWAP5
00003dc4: POP
00003dc5: POP
00003dc6: POP
00003dc7: POP
00003dc8: POP
00003dc9: JUMP
00003dca: JUMPDEST
00003dcb: PUSH1 0x0f
00003dcd: SWAP5
00003dce: DUP6
00003dcf: SIGNEXTEND
00003dd0: DUP2
00003dd1: MSTORE
00003dd2: SWAP3
00003dd3: SWAP1
00003dd4: SWAP4
00003dd5: SIGNEXTEND
00003dd6: PUSH1 0x20
00003dd8: DUP4
00003dd9: ADD
00003dda: MSTORE
00003ddb: PUSH1 0x40
00003ddd: DUP3
00003dde: ADD
00003ddf: MSTORE
00003de0: PUSH1 0x60
00003de2: DUP2
00003de3: ADD
00003de4: SWAP2
00003de5: SWAP1
00003de6: SWAP2
00003de7: MSTORE
00003de8: PUSH1 0x80
00003dea: ADD
00003deb: SWAP1
00003dec: JUMP
00003ded: JUMPDEST
00003dee: PUSH1 0x00
00003df0: PUSH1 0x20
00003df2: DUP3
00003df3: MSTORE
00003df4: PUSH2 0x269f
00003df7: PUSH1 0x20
00003df9: DUP4
00003dfa: ADD
00003dfb: DUP5
00003dfc: PUSH2 0x3a26
00003dff: JUMP
00003e00: JUMPDEST
00003e01: PUSH1 0x00
00003e03: PUSH2 0x0160
00003e06: DUP1
00003e07: DUP4
00003e08: MSTORE
00003e09: PUSH2 0x3e14
00003e0c: DUP2
00003e0d: DUP5
00003e0e: ADD
00003e0f: DUP16
00003e10: PUSH2 0x3a26
00003e13: JUMP
00003e14: JUMPDEST
00003e15: PUSH1 0x01
00003e17: PUSH1 0x01
00003e19: PUSH1 0xa0
00003e1b: SHL
00003e1c: SUB
00003e1d: SWAP14
00003e1e: DUP15
00003e1f: AND
00003e20: PUSH1 0x20
00003e22: DUP6
00003e23: ADD
00003e24: MSTORE
00003e25: PUSH1 0x40
00003e27: DUP5
00003e28: ADD
00003e29: SWAP13
00003e2a: SWAP1
00003e2b: SWAP13
00003e2c: MSTORE
00003e2d: POP
00003e2e: POP
00003e2f: SWAP8
00003e30: DUP11
00003e31: AND
00003e32: PUSH1 0x60
00003e34: DUP10
00003e35: ADD
00003e36: MSTORE
00003e37: SWAP6
00003e38: DUP10
00003e39: AND
00003e3a: PUSH1 0x80
00003e3c: DUP9
00003e3d: ADD
00003e3e: MSTORE
00003e3f: PUSH1 0xa0
00003e41: DUP8
00003e42: ADD
00003e43: SWAP5
00003e44: SWAP1
00003e45: SWAP5
00003e46: MSTORE
00003e47: SWAP2
00003e48: SWAP1
00003e49: SWAP7
00003e4a: AND
00003e4b: PUSH1 0xc0
00003e4d: DUP6
00003e4e: ADD
00003e4f: MSTORE
00003e50: PUSH1 0xe0
00003e52: DUP5
00003e53: ADD
00003e54: SWAP6
00003e55: SWAP1
00003e56: SWAP6
00003e57: MSTORE
00003e58: PUSH2 0x0100
00003e5b: DUP4
00003e5c: ADD
00003e5d: SWAP5
00003e5e: SWAP1
00003e5f: SWAP5
00003e60: MSTORE
00003e61: PUSH2 0xffff
00003e64: SWAP4
00003e65: DUP5
00003e66: AND
00003e67: PUSH2 0x0120
00003e6a: DUP4
00003e6b: ADD
00003e6c: MSTORE
00003e6d: SWAP1
00003e6e: SWAP3
00003e6f: AND
00003e70: PUSH2 0x0140
00003e73: SWAP1
00003e74: SWAP3
00003e75: ADD
00003e76: SWAP2
00003e77: SWAP1
00003e78: SWAP2
00003e79: MSTORE
00003e7a: SWAP2
00003e7b: SWAP1
00003e7c: POP
00003e7d: JUMP
00003e7e: JUMPDEST
00003e7f: PUSH1 0x20
00003e81: DUP1
00003e82: DUP3
00003e83: MSTORE
00003e84: PUSH1 0x37
00003e86: SWAP1
00003e87: DUP3
00003e88: ADD
00003e89: MSTORE
00003e8a: PUSH32 0x5369676e617475726556616c696461746f7223697356616c69645369676e6174
00003eab: PUSH1 0x40
00003ead: DUP3
00003eae: ADD
00003eaf: MSTORE
00003eb0: PUSH32 0x7572653a206c656e677468203937207265717569726564000000000000000000
00003ed1: PUSH1 0x60
00003ed3: DUP3
00003ed4: ADD
00003ed5: MSTORE
00003ed6: PUSH1 0x80
00003ed8: ADD
00003ed9: SWAP1
00003eda: JUMP
00003edb: JUMPDEST
00003edc: PUSH1 0x20
00003ede: DUP1
00003edf: DUP3
00003ee0: MSTORE
00003ee1: PUSH1 0x2d
00003ee3: SWAP1
00003ee4: DUP3
00003ee5: ADD
00003ee6: MSTORE
00003ee7: PUSH32 0x414d4d577261707065723a20746869732074726164652077696c6c206e6f7420
00003f08: PUSH1 0x40
00003f0a: DUP3
00003f0b: ADD
00003f0c: MSTORE
00003f0d: PUSH32 0x626520737562736964697a656400000000000000000000000000000000000000
00003f2e: PUSH1 0x60
00003f30: DUP3
00003f31: ADD
00003f32: MSTORE
00003f33: PUSH1 0x80
00003f35: ADD
00003f36: SWAP1
00003f37: JUMP
00003f38: JUMPDEST
00003f39: PUSH1 0x20
00003f3b: DUP1
00003f3c: DUP3
00003f3d: MSTORE
00003f3e: PUSH1 0x2b
00003f40: SWAP1
00003f41: DUP3
00003f42: ADD
00003f43: MSTORE
00003f44: PUSH32 0x414d4d577261707065723a206e6f7420656e6f75676820736176696e67732074
00003f65: PUSH1 0x40
00003f67: DUP3
00003f68: ADD
00003f69: MSTORE
00003f6a: PUSH32 0x6f20737562736964697a65000000000000000000000000000000000000000000
00003f8b: PUSH1 0x60
00003f8d: DUP3
00003f8e: ADD
00003f8f: MSTORE
00003f90: PUSH1 0x80
00003f92: ADD
00003f93: SWAP1
00003f94: JUMP
00003f95: JUMPDEST
00003f96: PUSH1 0x20
00003f98: DUP1
00003f99: DUP3
00003f9a: MSTORE
00003f9b: PUSH1 0x38
00003f9d: SWAP1
00003f9e: DUP3
00003f9f: ADD
00003fa0: MSTORE
00003fa1: PUSH32 0x414d4d577261707065723a20616d6f756e7420646966666572656e6365206c61
00003fc2: PUSH1 0x40
00003fc4: DUP3
00003fc5: ADD
00003fc6: MSTORE
00003fc7: PUSH32 0x72676572207468616e207375627369647920616d6f756e740000000000000000
00003fe8: PUSH1 0x60
00003fea: DUP3
00003feb: ADD
00003fec: MSTORE
00003fed: PUSH1 0x80
00003fef: ADD
00003ff0: SWAP1
00003ff1: JUMP
00003ff2: JUMPDEST
00003ff3: PUSH1 0x20
00003ff5: DUP1
00003ff6: DUP3
00003ff7: MSTORE
00003ff8: PUSH1 0x2c
00003ffa: SWAP1
00003ffb: DUP3
00003ffc: ADD
00003ffd: MSTORE
00003ffe: PUSH32 0x414d4d577261707065723a206f70657261746f722063616e206e6f7420626520
0000401f: PUSH1 0x40
00004021: DUP3
00004022: ADD
00004023: MSTORE
00004024: PUSH32 0x7a65726f20616464726573730000000000000000000000000000000000000000
00004045: PUSH1 0x60
00004047: DUP3
00004048: ADD
00004049: MSTORE
0000404a: PUSH1 0x80
0000404c: ADD
0000404d: SWAP1
0000404e: JUMP
0000404f: JUMPDEST
00004050: PUSH1 0x20
00004052: DUP1
00004053: DUP3
00004054: MSTORE
00004055: PUSH1 0x33
00004057: SWAP1
00004058: DUP3
00004059: ADD
0000405a: MSTORE
0000405b: PUSH32 0x5369676e617475726556616c696461746f7223697356616c69645369676e6174
0000407c: PUSH1 0x40
0000407e: DUP3
0000407f: ADD
00004080: MSTORE
00004081: PUSH32 0x7572653a20696e76616c6964207369676e657200000000000000000000000000
000040a2: PUSH1 0x60
000040a4: DUP3
000040a5: ADD
000040a6: MSTORE
000040a7: PUSH1 0x80
000040a9: ADD
000040aa: SWAP1
000040ab: JUMP
000040ac: JUMPDEST
000040ad: PUSH1 0x20
000040af: DUP1
000040b0: DUP3
000040b1: MSTORE
000040b2: PUSH1 0x26
000040b4: SWAP1
000040b5: DUP3
000040b6: ADD
000040b7: MSTORE
000040b8: PUSH32 0x414d4d577261707065723a2073776170206d6574686f64206e6f742072656769
000040d9: PUSH1 0x40
000040db: DUP3
000040dc: ADD
000040dd: MSTORE
000040de: PUSH32 0x7374657265640000000000000000000000000000000000000000000000000000
000040ff: PUSH1 0x60
00004101: DUP3
00004102: ADD
00004103: MSTORE
00004104: PUSH1 0x80
00004106: ADD
00004107: SWAP1
00004108: JUMP
00004109: JUMPDEST
0000410a: PUSH1 0x20
0000410c: DUP1
0000410d: DUP3
0000410e: MSTORE
0000410f: PUSH1 0x11
00004111: SWAP1
00004112: DUP3
00004113: ADD
00004114: MSTORE
00004115: PUSH32 0x746f55696e7432345f6f766572666c6f77000000000000000000000000000000
00004136: PUSH1 0x40
00004138: DUP3
00004139: ADD
0000413a: MSTORE
0000413b: PUSH1 0x60
0000413d: ADD
0000413e: SWAP1
0000413f: JUMP
00004140: JUMPDEST
00004141: PUSH1 0x20
00004143: DUP1
00004144: DUP3
00004145: MSTORE
00004146: PUSH1 0x1e
00004148: SWAP1
00004149: DUP3
0000414a: ADD
0000414b: MSTORE
0000414c: PUSH32 0x536166654d6174683a207375627472616374696f6e206f766572666c6f770000
0000416d: PUSH1 0x40
0000416f: DUP3
00004170: ADD
00004171: MSTORE
00004172: PUSH1 0x60
00004174: ADD
00004175: SWAP1
00004176: JUMP
00004177: JUMPDEST
00004178: PUSH1 0x20
0000417a: DUP1
0000417b: DUP3
0000417c: MSTORE
0000417d: PUSH1 0x26
0000417f: SWAP1
00004180: DUP3
00004181: ADD
00004182: MSTORE
00004183: PUSH32 0x414d4d577261707065723a206e6f7420746865205573657250726f787920636f
000041a4: PUSH1 0x40
000041a6: DUP3
000041a7: ADD
000041a8: MSTORE
000041a9: PUSH32 0x6e74726163740000000000000000000000000000000000000000000000000000
000041ca: PUSH1 0x60
000041cc: DUP3
000041cd: ADD
000041ce: MSTORE
000041cf: PUSH1 0x80
000041d1: ADD
000041d2: SWAP1
000041d3: JUMP
000041d4: JUMPDEST
000041d5: PUSH1 0x20
000041d7: DUP1
000041d8: DUP3
000041d9: MSTORE
000041da: PUSH1 0x26
000041dc: SWAP1
000041dd: DUP3
000041de: ADD
000041df: MSTORE
000041e0: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f
00004201: PUSH1 0x40
00004203: DUP3
00004204: ADD
00004205: MSTORE
00004206: PUSH32 0x722063616c6c0000000000000000000000000000000000000000000000000000
00004227: PUSH1 0x60
00004229: DUP3
0000422a: ADD
0000422b: MSTORE
0000422c: PUSH1 0x80
0000422e: ADD
0000422f: SWAP1
00004230: JUMP
00004231: JUMPDEST
00004232: PUSH1 0x20
00004234: DUP1
00004235: DUP3
00004236: MSTORE
00004237: PUSH1 0x1a
00004239: SWAP1
0000423a: DUP3
0000423b: ADD
0000423c: MSTORE
0000423d: PUSH32 0x536166654d6174683a206469766973696f6e206279207a65726f000000000000
0000425e: PUSH1 0x40
00004260: DUP3
00004261: ADD
00004262: MSTORE
00004263: PUSH1 0x60
00004265: ADD
00004266: SWAP1
00004267: JUMP
00004268: JUMPDEST
00004269: PUSH1 0x20
0000426b: DUP1
0000426c: DUP3
0000426d: MSTORE
0000426e: PUSH1 0x0e
00004270: SWAP1
00004271: DUP3
00004272: ADD
00004273: MSTORE
00004274: PUSH32 0x736c6963655f6f766572666c6f77000000000000000000000000000000000000
00004295: PUSH1 0x40
00004297: DUP3
00004298: ADD
00004299: MSTORE
0000429a: PUSH1 0x60
0000429c: ADD
0000429d: SWAP1
0000429e: JUMP
0000429f: JUMPDEST
000042a0: PUSH1 0x20
000042a2: DUP1
000042a3: DUP3
000042a4: MSTORE
000042a5: PUSH1 0x37
000042a7: SWAP1
000042a8: DUP3
000042a9: ADD
000042aa: MSTORE
000042ab: PUSH32 0x414d4d577261707065723a206c61737420656c656d656e74206f662070617468
000042cc: PUSH1 0x40
000042ce: DUP3
000042cf: ADD
000042d0: MSTORE
000042d1: PUSH32 0x206d757374206d61746368206d616b6572206173736574000000000000000000
000042f2: PUSH1 0x60
000042f4: DUP3
000042f5: ADD
000042f6: MSTORE
000042f7: PUSH1 0x80
000042f9: ADD
000042fa: SWAP1
000042fb: JUMP
000042fc: JUMPDEST
000042fd: PUSH1 0x20
000042ff: DUP1
00004300: DUP3
00004301: MSTORE
00004302: PUSH1 0x38
00004304: SWAP1
00004305: DUP3
00004306: ADD
00004307: MSTORE
00004308: PUSH32 0x414d4d577261707065723a20666972737420656c656d656e74206f6620706174
00004329: PUSH1 0x40
0000432b: DUP3
0000432c: ADD
0000432d: MSTORE
0000432e: PUSH32 0x68206d757374206d617463682074616b65722061737365740000000000000000
0000434f: PUSH1 0x60
00004351: DUP3
00004352: ADD
00004353: MSTORE
00004354: PUSH1 0x80
00004356: ADD
00004357: SWAP1
00004358: JUMP
00004359: JUMPDEST
0000435a: PUSH1 0x20
0000435c: DUP1
0000435d: DUP3
0000435e: MSTORE
0000435f: PUSH1 0x2b
00004361: SWAP1
00004362: DUP3
00004363: ADD
00004364: MSTORE
00004365: PUSH32 0x414d4d577261707065723a207370656e6465722063616e206e6f74206265207a
00004386: PUSH1 0x40
00004388: DUP3
00004389: ADD
0000438a: MSTORE
0000438b: PUSH32 0x65726f2061646472657373000000000000000000000000000000000000000000
000043ac: PUSH1 0x60
000043ae: DUP3
000043af: ADD
000043b0: MSTORE
000043b1: PUSH1 0x80
000043b3: ADD
000043b4: SWAP1
000043b5: JUMP
000043b6: JUMPDEST
000043b7: PUSH1 0x20
000043b9: DUP1
000043ba: DUP3
000043bb: MSTORE
000043bc: PUSH1 0x23
000043be: SWAP1
000043bf: DUP3
000043c0: ADD
000043c1: MSTORE
000043c2: PUSH32 0x414d4d577261707065723a206d73672e76616c756520646f65736e2774206d61
000043e3: PUSH1 0x40
000043e5: DUP3
000043e6: ADD
000043e7: MSTORE
000043e8: PUSH32 0x7463680000000000000000000000000000000000000000000000000000000000
00004409: PUSH1 0x60
0000440b: DUP3
0000440c: ADD
0000440d: MSTORE
0000440e: PUSH1 0x80
00004410: ADD
00004411: SWAP1
00004412: JUMP
00004413: JUMPDEST
00004414: PUSH1 0x20
00004416: DUP1
00004417: DUP3
00004418: MSTORE
00004419: PUSH1 0x22
0000441b: SWAP1
0000441c: DUP3
0000441d: ADD
0000441e: MSTORE
0000441f: PUSH32 0x414d4d577261707065723a20696e76616c69642075736572207369676e617475
00004440: PUSH1 0x40
00004442: DUP3
00004443: ADD
00004444: MSTORE
00004445: PUSH32 0x7265000000000000000000000000000000000000000000000000000000000000
00004466: PUSH1 0x60
00004468: DUP3
00004469: ADD
0000446a: MSTORE
0000446b: PUSH1 0x80
0000446d: ADD
0000446e: SWAP1
0000446f: JUMP
00004470: JUMPDEST
00004471: PUSH1 0x20
00004473: DUP1
00004474: DUP3
00004475: MSTORE
00004476: PUSH1 0x21
00004478: SWAP1
00004479: DUP3
0000447a: ADD
0000447b: MSTORE
0000447c: PUSH32 0x536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f
0000449d: PUSH1 0x40
0000449f: DUP3
000044a0: ADD
000044a1: MSTORE
000044a2: PUSH32 0x7700000000000000000000000000000000000000000000000000000000000000
000044c3: PUSH1 0x60
000044c5: DUP3
000044c6: ADD
000044c7: MSTORE
000044c8: PUSH1 0x80
000044ca: ADD
000044cb: SWAP1
000044cc: JUMP
000044cd: JUMPDEST
000044ce: PUSH1 0x20
000044d0: DUP1
000044d1: DUP3
000044d2: MSTORE
000044d3: PUSH1 0x43
000044d5: SWAP1
000044d6: DUP3
000044d7: ADD
000044d8: MSTORE
000044d9: PUSH32 0x5369676e617475726556616c696461746f7223697356616c69645369676e6174
000044fa: PUSH1 0x40
000044fc: DUP3
000044fd: ADD
000044fe: MSTORE
000044ff: PUSH32 0x7572653a206c656e6774682067726561746572207468616e2030207265717569
00004520: PUSH1 0x60
00004522: DUP3
00004523: ADD
00004524: MSTORE
00004525: PUSH32 0x7265640000000000000000000000000000000000000000000000000000000000
00004546: PUSH1 0x80
00004548: DUP3
00004549: ADD
0000454a: MSTORE
0000454b: PUSH1 0xa0
0000454d: ADD
0000454e: SWAP1
0000454f: JUMP
00004550: JUMPDEST
00004551: PUSH1 0x20
00004553: DUP1
00004554: DUP3
00004555: MSTORE
00004556: PUSH1 0x14
00004558: SWAP1
00004559: DUP3
0000455a: ADD
0000455b: MSTORE
0000455c: PUSH32 0x746f55696e7432345f6f75744f66426f756e6473000000000000000000000000
0000457d: PUSH1 0x40
0000457f: DUP3
00004580: ADD
00004581: MSTORE
00004582: PUSH1 0x60
00004584: ADD
00004585: SWAP1
00004586: JUMP
00004587: JUMPDEST
00004588: PUSH1 0x20
0000458a: DUP1
0000458b: DUP3
0000458c: MSTORE
0000458d: PUSH1 0x15
0000458f: SWAP1
00004590: DUP3
00004591: ADD
00004592: MSTORE
00004593: PUSH32 0x746f416464726573735f6f75744f66426f756e64730000000000000000000000
000045b4: PUSH1 0x40
000045b6: DUP3
000045b7: ADD
000045b8: MSTORE
000045b9: PUSH1 0x60
000045bb: ADD
000045bc: SWAP1
000045bd: JUMP
000045be: JUMPDEST
000045bf: PUSH1 0x20
000045c1: DUP1
000045c2: DUP3
000045c3: MSTORE
000045c4: PUSH1 0x3a
000045c6: SWAP1
000045c7: DUP3
000045c8: ADD
000045c9: MSTORE
000045ca: PUSH32 0x5369676e617475726556616c696461746f7223697356616c69645369676e6174
000045eb: PUSH1 0x40
000045ed: DUP3
000045ee: ADD
000045ef: MSTORE
000045f0: PUSH32 0x7572653a20756e737570706f72746564207369676e6174757265000000000000
00004611: PUSH1 0x60
00004613: DUP3
00004614: ADD
00004615: MSTORE
00004616: PUSH1 0x80
00004618: ADD
00004619: SWAP1
0000461a: JUMP
0000461b: JUMPDEST
0000461c: PUSH1 0x20
0000461e: DUP1
0000461f: DUP3
00004620: MSTORE
00004621: PUSH1 0x1c
00004623: SWAP1
00004624: DUP3
00004625: ADD
00004626: MSTORE
00004627: PUSH32 0x414d4d577261707065723a206e6f7420746865206f70657261746f7200000000
00004648: PUSH1 0x40
0000464a: DUP3
0000464b: ADD
0000464c: MSTORE
0000464d: PUSH1 0x60
0000464f: ADD
00004650: SWAP1
00004651: JUMP
00004652: JUMPDEST
00004653: PUSH1 0x20
00004655: DUP1
00004656: DUP3
00004657: MSTORE
00004658: PUSH1 0x3b
0000465a: SWAP1
0000465b: DUP3
0000465c: ADD
0000465d: MSTORE
0000465e: PUSH32 0x4c696242797465732372656164427974657333322067726561746572206f7220
0000467f: PUSH1 0x40
00004681: DUP3
00004682: ADD
00004683: MSTORE
00004684: PUSH32 0x657175616c20746f203332206c656e6774682072657175697265640000000000
000046a5: PUSH1 0x60
000046a7: DUP3
000046a8: ADD
000046a9: MSTORE
000046aa: PUSH1 0x80
000046ac: ADD
000046ad: SWAP1
000046ae: JUMP
000046af: JUMPDEST
000046b0: PUSH1 0x20
000046b2: DUP1
000046b3: DUP3
000046b4: MSTORE
000046b5: PUSH1 0x36
000046b7: SWAP1
000046b8: DUP3
000046b9: ADD
000046ba: MSTORE
000046bb: PUSH32 0x5369676e617475726556616c696461746f7223697356616c69645369676e6174
000046dc: PUSH1 0x40
000046de: DUP3
000046df: ADD
000046e0: MSTORE
000046e1: PUSH32 0x7572653a20696c6c6567616c207369676e617475726500000000000000000000
00004702: PUSH1 0x60
00004704: DUP3
00004705: ADD
00004706: MSTORE
00004707: PUSH1 0x80
00004709: ADD
0000470a: SWAP1
0000470b: JUMP
0000470c: JUMPDEST
0000470d: PUSH1 0x20
0000470f: DUP1
00004710: DUP3
00004711: MSTORE
00004712: PUSH1 0x37
00004714: SWAP1
00004715: DUP3
00004716: ADD
00004717: MSTORE
00004718: PUSH32 0x4c6962427974657323706f704c617374427974653a2067726561746572207468
00004739: PUSH1 0x40
0000473b: DUP3
0000473c: ADD
0000473d: MSTORE
0000473e: PUSH32 0x616e207a65726f206c656e677468207265717569726564000000000000000000
0000475f: PUSH1 0x60
00004761: DUP3
00004762: ADD
00004763: MSTORE
00004764: PUSH1 0x80
00004766: ADD
00004767: SWAP1
00004768: JUMP
00004769: JUMPDEST
0000476a: PUSH1 0x20
0000476c: DUP1
0000476d: DUP3
0000476e: MSTORE
0000476f: PUSH1 0x19
00004771: SWAP1
00004772: DUP3
00004773: ADD
00004774: MSTORE
00004775: PUSH32 0x414d4d577261707065723a2065787069726564206f7264657200000000000000
00004796: PUSH1 0x40
00004798: DUP3
00004799: ADD
0000479a: MSTORE
0000479b: PUSH1 0x60
0000479d: ADD
0000479e: SWAP1
0000479f: JUMP
000047a0: JUMPDEST
000047a1: PUSH1 0x20
000047a3: DUP1
000047a4: DUP3
000047a5: MSTORE
000047a6: PUSH1 0x1d
000047a8: SWAP1
000047a9: DUP3
000047aa: ADD
000047ab: MSTORE
000047ac: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
000047cd: PUSH1 0x40
000047cf: DUP3
000047d0: ADD
000047d1: MSTORE
000047d2: PUSH1 0x60
000047d4: ADD
000047d5: SWAP1
000047d6: JUMP
000047d7: JUMPDEST
000047d8: PUSH1 0x20
000047da: DUP1
000047db: DUP3
000047dc: MSTORE
000047dd: PUSH1 0x11
000047df: SWAP1
000047e0: DUP3
000047e1: ADD
000047e2: MSTORE
000047e3: PUSH32 0x736c6963655f6f75744f66426f756e6473000000000000000000000000000000
00004804: PUSH1 0x40
00004806: DUP3
00004807: ADD
00004808: MSTORE
00004809: PUSH1 0x60
0000480b: ADD
0000480c: SWAP1
0000480d: JUMP
0000480e: JUMPDEST
0000480f: PUSH1 0x20
00004811: DUP1
00004812: DUP3
00004813: MSTORE
00004814: PUSH1 0x2b
00004816: SWAP1
00004817: DUP3
00004818: ADD
00004819: MSTORE
0000481a: PUSH32 0x414d4d577261707065723a20756e737570706f7274656420556e697377617056
0000483b: PUSH1 0x40
0000483d: DUP3
0000483e: ADD
0000483f: MSTORE
00004840: PUSH32 0x3320737761702074797065000000000000000000000000000000000000000000
00004861: PUSH1 0x60
00004863: DUP3
00004864: ADD
00004865: MSTORE
00004866: PUSH1 0x80
00004868: ADD
00004869: SWAP1
0000486a: JUMP
0000486b: JUMPDEST
0000486c: PUSH1 0x20
0000486e: DUP1
0000486f: DUP3
00004870: MSTORE
00004871: PUSH1 0x21
00004873: SWAP1
00004874: DUP3
00004875: ADD
00004876: MSTORE
00004877: PUSH32 0x414d4d577261707065723a20756e737570706f72746564206d616b6572416464
00004898: PUSH1 0x40
0000489a: DUP3
0000489b: ADD
0000489c: MSTORE
0000489d: PUSH32 0x7200000000000000000000000000000000000000000000000000000000000000
000048be: PUSH1 0x60
000048c0: DUP3
000048c1: ADD
000048c2: MSTORE
000048c3: PUSH1 0x80
000048c5: ADD
000048c6: SWAP1
000048c7: JUMP
000048c8: JUMPDEST
000048c9: PUSH1 0x20
000048cb: DUP1
000048cc: DUP3
000048cd: MSTORE
000048ce: PUSH1 0x2c
000048d0: SWAP1
000048d1: DUP3
000048d2: ADD
000048d3: MSTORE
000048d4: PUSH32 0x414d4d577261707065723a2070617468206c656e677468206d75737420626520
000048f5: PUSH1 0x40
000048f7: DUP3
000048f8: ADD
000048f9: MSTORE
000048fa: PUSH32 0x6174206c656173742074776f0000000000000000000000000000000000000000
0000491b: PUSH1 0x60
0000491d: DUP3
0000491e: ADD
0000491f: MSTORE
00004920: PUSH1 0x80
00004922: ADD
00004923: SWAP1
00004924: JUMP
00004925: JUMPDEST
00004926: PUSH1 0x20
00004928: DUP1
00004929: DUP3
0000492a: MSTORE
0000492b: PUSH1 0x2a
0000492d: SWAP1
0000492e: DUP3
0000492f: ADD
00004930: MSTORE
00004931: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e
00004952: PUSH1 0x40
00004954: DUP3
00004955: ADD
00004956: MSTORE
00004957: PUSH32 0x6f74207375636365656400000000000000000000000000000000000000000000
00004978: PUSH1 0x60
0000497a: DUP3
0000497b: ADD
0000497c: MSTORE
0000497d: PUSH1 0x80
0000497f: ADD
00004980: SWAP1
00004981: JUMP
00004982: JUMPDEST
00004983: PUSH1 0x20
00004985: DUP1
00004986: DUP3
00004987: MSTORE
00004988: PUSH1 0x1d
0000498a: SWAP1
0000498b: DUP3
0000498c: ADD
0000498d: MSTORE
0000498e: PUSH32 0x414d4d577261707065723a206d73672e76616c7565206973207a65726f000000
000049af: PUSH1 0x40
000049b1: DUP3
000049b2: ADD
000049b3: MSTORE
000049b4: PUSH1 0x60
000049b6: ADD
000049b7: SWAP1
000049b8: JUMP
000049b9: JUMPDEST
000049ba: PUSH1 0x20
000049bc: DUP1
000049bd: DUP3
000049be: MSTORE
000049bf: PUSH1 0x1f
000049c1: SWAP1
000049c2: DUP3
000049c3: ADD
000049c4: MSTORE
000049c5: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00
000049e6: PUSH1 0x40
000049e8: DUP3
000049e9: ADD
000049ea: MSTORE
000049eb: PUSH1 0x60
000049ed: ADD
000049ee: SWAP1
000049ef: JUMP
000049f0: JUMPDEST
000049f1: PUSH1 0x20
000049f3: DUP1
000049f4: DUP3
000049f5: MSTORE
000049f6: PUSH1 0x36
000049f8: SWAP1
000049f9: DUP3
000049fa: ADD
000049fb: MSTORE
000049fc: PUSH32 0x5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f
00004a1d: PUSH1 0x40
00004a1f: DUP3
00004a20: ADD
00004a21: MSTORE
00004a22: PUSH32 0x20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000
00004a43: PUSH1 0x60
00004a45: DUP3
00004a46: ADD
00004a47: MSTORE
00004a48: PUSH1 0x80
00004a4a: ADD
00004a4b: SWAP1
00004a4c: JUMP
00004a4d: JUMPDEST
00004a4e: PUSH1 0x20
00004a50: DUP1
00004a51: DUP3
00004a52: MSTORE
00004a53: PUSH1 0x12
00004a55: SWAP1
00004a56: DUP3
00004a57: ADD
00004a58: MSTORE
00004a59: PUSH32 0x746f416464726573735f6f766572666c6f770000000000000000000000000000
00004a7a: PUSH1 0x40
00004a7c: DUP3
00004a7d: ADD
00004a7e: MSTORE
00004a7f: PUSH1 0x60
00004a81: ADD
00004a82: SWAP1
00004a83: JUMP
00004a84: JUMPDEST
00004a85: PUSH1 0x00
00004a87: PUSH1 0x20
00004a89: DUP3
00004a8a: MSTORE
00004a8b: DUP3
00004a8c: MLOAD
00004a8d: PUSH1 0xa0
00004a8f: PUSH1 0x20
00004a91: DUP5
00004a92: ADD
00004a93: MSTORE
00004a94: PUSH2 0x4aa0
00004a97: PUSH1 0xc0
00004a99: DUP5
00004a9a: ADD
00004a9b: DUP3
00004a9c: PUSH2 0x3a26
00004a9f: JUMP
00004aa0: JUMPDEST
00004aa1: SWAP1
00004aa2: POP
00004aa3: PUSH1 0x01
00004aa5: PUSH1 0x01
00004aa7: PUSH1 0xa0
00004aa9: SHL
00004aaa: SUB
00004aab: PUSH1 0x20
00004aad: DUP6
00004aae: ADD
00004aaf: MLOAD
00004ab0: AND
00004ab1: PUSH1 0x40
00004ab3: DUP5
00004ab4: ADD
00004ab5: MSTORE
00004ab6: PUSH1 0x40
00004ab8: DUP5
00004ab9: ADD
00004aba: MLOAD
00004abb: PUSH1 0x60
00004abd: DUP5
00004abe: ADD
00004abf: MSTORE
00004ac0: PUSH1 0x60
00004ac2: DUP5
00004ac3: ADD
00004ac4: MLOAD
00004ac5: PUSH1 0x80
00004ac7: DUP5
00004ac8: ADD
00004ac9: MSTORE
00004aca: PUSH1 0x80
00004acc: DUP5
00004acd: ADD
00004ace: MLOAD
00004acf: PUSH1 0xa0
00004ad1: DUP5
00004ad2: ADD
00004ad3: MSTORE
00004ad4: DUP1
00004ad5: SWAP2
00004ad6: POP
00004ad7: POP
00004ad8: SWAP3
00004ad9: SWAP2
00004ada: POP
00004adb: POP
00004adc: JUMP
00004add: JUMPDEST
00004ade: PUSH1 0x00
00004ae0: PUSH2 0x0100
00004ae3: DUP3
00004ae4: ADD
00004ae5: SWAP1
00004ae6: POP
00004ae7: PUSH1 0x01
00004ae9: PUSH1 0x01
00004aeb: PUSH1 0xa0
00004aed: SHL
00004aee: SUB
00004aef: DUP1
00004af0: DUP5
00004af1: MLOAD
00004af2: AND
00004af3: DUP4
00004af4: MSTORE
00004af5: DUP1
00004af6: PUSH1 0x20
00004af8: DUP6
00004af9: ADD
00004afa: MLOAD
00004afb: AND
00004afc: PUSH1 0x20
00004afe: DUP5
00004aff: ADD
00004b00: MSTORE
00004b01: PUSH3 0xffffff
00004b05: PUSH1 0x40
00004b07: DUP6
00004b08: ADD
00004b09: MLOAD
00004b0a: AND
00004b0b: PUSH1 0x40
00004b0d: DUP5
00004b0e: ADD
00004b0f: MSTORE
00004b10: DUP1
00004b11: PUSH1 0x60
00004b13: DUP6
00004b14: ADD
00004b15: MLOAD
00004b16: AND
00004b17: PUSH1 0x60
00004b19: DUP5
00004b1a: ADD
00004b1b: MSTORE
00004b1c: PUSH1 0x80
00004b1e: DUP5
00004b1f: ADD
00004b20: MLOAD
00004b21: PUSH1 0x80
00004b23: DUP5
00004b24: ADD
00004b25: MSTORE
00004b26: PUSH1 0xa0
00004b28: DUP5
00004b29: ADD
00004b2a: MLOAD
00004b2b: PUSH1 0xa0
00004b2d: DUP5
00004b2e: ADD
00004b2f: MSTORE
00004b30: PUSH1 0xc0
00004b32: DUP5
00004b33: ADD
00004b34: MLOAD
00004b35: PUSH1 0xc0
00004b37: DUP5
00004b38: ADD
00004b39: MSTORE
00004b3a: DUP1
00004b3b: PUSH1 0xe0
00004b3d: DUP6
00004b3e: ADD
00004b3f: MLOAD
00004b40: AND
00004b41: PUSH1 0xe0
00004b43: DUP5
00004b44: ADD
00004b45: MSTORE
00004b46: POP
00004b47: SWAP3
00004b48: SWAP2
00004b49: POP
00004b4a: POP
00004b4b: JUMP
00004b4c: JUMPDEST
00004b4d: PUSH1 0x00
00004b4f: PUSH2 0x0140
00004b52: DUP1
00004b53: DUP4
00004b54: MSTORE
00004b55: DUP5
00004b56: MLOAD
00004b57: PUSH1 0xc0
00004b59: DUP3
00004b5a: DUP6
00004b5b: ADD
00004b5c: MSTORE
00004b5d: PUSH2 0x4b6a
00004b60: PUSH2 0x0200
00004b63: DUP6
00004b64: ADD
00004b65: DUP3
00004b66: PUSH2 0x3a26
00004b69: JUMP
00004b6a: JUMPDEST
00004b6b: PUSH1 0x20
00004b6d: DUP8
00004b6e: DUP2
00004b6f: ADD
00004b70: MLOAD
00004b71: PUSH2 0x0160
00004b74: DUP8
00004b75: ADD
00004b76: MSTORE
00004b77: PUSH1 0x40
00004b79: DUP9
00004b7a: ADD
00004b7b: MLOAD
00004b7c: PUSH2 0x0180
00004b7f: DUP8
00004b80: ADD
00004b81: MSTORE
00004b82: PUSH1 0x60
00004b84: DUP9
00004b85: ADD
00004b86: MLOAD
00004b87: PUSH2 0x01a0
00004b8a: DUP8
00004b8b: ADD
00004b8c: MSTORE
00004b8d: PUSH1 0x80
00004b8f: DUP9
00004b90: ADD
00004b91: MLOAD
00004b92: PUSH2 0xffff
00004b95: SWAP1
00004b96: DUP2
00004b97: AND
00004b98: PUSH2 0x01c0
00004b9b: DUP9
00004b9c: ADD
00004b9d: MSTORE
00004b9e: PUSH1 0xa0
00004ba0: DUP10
00004ba1: ADD
00004ba2: MLOAD
00004ba3: AND
00004ba4: PUSH2 0x01e0
00004ba7: DUP8
00004ba8: ADD
00004ba9: MSTORE
00004baa: DUP7
00004bab: MLOAD
00004bac: SWAP2
00004bad: SWAP5
00004bae: POP
00004baf: PUSH2 0x4bbc
00004bb2: SWAP4
00004bb3: POP
00004bb4: DUP6
00004bb5: ADD
00004bb6: SWAP2
00004bb7: POP
00004bb8: PUSH2 0x3a19
00004bbb: JUMP
00004bbc: JUMPDEST
00004bbd: PUSH1 0x20
00004bbf: DUP4
00004bc0: ADD
00004bc1: MLOAD
00004bc2: PUSH2 0x4bce
00004bc5: PUSH1 0x40
00004bc7: DUP5
00004bc8: ADD
00004bc9: DUP3
00004bca: PUSH2 0x3a19
00004bcd: JUMP
00004bce: JUMPDEST
00004bcf: POP
00004bd0: PUSH1 0x40
00004bd2: DUP4
00004bd3: ADD
00004bd4: MLOAD
00004bd5: PUSH2 0x4be1
00004bd8: PUSH1 0x60
00004bda: DUP5
00004bdb: ADD
00004bdc: DUP3
00004bdd: PUSH2 0x3a19
00004be0: JUMP
00004be1: JUMPDEST
00004be2: POP
00004be3: PUSH1 0x60
00004be5: DUP4
00004be6: ADD
00004be7: MLOAD
00004be8: PUSH1 0x80
00004bea: DUP4
00004beb: ADD
00004bec: MSTORE
00004bed: PUSH1 0x80
00004bef: DUP4
00004bf0: ADD
00004bf1: MLOAD
00004bf2: PUSH1 0xa0
00004bf4: DUP4
00004bf5: ADD
00004bf6: MSTORE
00004bf7: PUSH1 0xa0
00004bf9: DUP4
00004bfa: ADD
00004bfb: MLOAD
00004bfc: PUSH2 0x4c08
00004bff: PUSH1 0xc0
00004c01: DUP5
00004c02: ADD
00004c03: DUP3
00004c04: PUSH2 0x3a19
00004c07: JUMP
00004c08: JUMPDEST
00004c09: POP
00004c0a: PUSH1 0xc0
00004c0c: DUP4
00004c0d: ADD
00004c0e: MLOAD
00004c0f: PUSH2 0x4c1b
00004c12: PUSH1 0xe0
00004c14: DUP5
00004c15: ADD
00004c16: DUP3
00004c17: PUSH2 0x3a19
00004c1a: JUMP
00004c1b: JUMPDEST
00004c1c: POP
00004c1d: PUSH1 0xe0
00004c1f: DUP4
00004c20: ADD
00004c21: MLOAD
00004c22: PUSH2 0x0100
00004c25: DUP4
00004c26: DUP2
00004c27: ADD
00004c28: SWAP2
00004c29: SWAP1
00004c2a: SWAP2
00004c2b: MSTORE
00004c2c: SWAP1
00004c2d: SWAP3
00004c2e: ADD
00004c2f: MLOAD
00004c30: PUSH2 0x0120
00004c33: SWAP1
00004c34: SWAP2
00004c35: ADD
00004c36: MSTORE
00004c37: SWAP2
00004c38: SWAP1
00004c39: POP
00004c3a: JUMP
00004c3b: JUMPDEST
00004c3c: PUSH1 0x00
00004c3e: PUSH1 0xa0
00004c40: DUP3
00004c41: ADD
00004c42: DUP8
00004c43: DUP4
00004c44: MSTORE
00004c45: PUSH1 0x20
00004c47: DUP8
00004c48: DUP2
00004c49: DUP6
00004c4a: ADD
00004c4b: MSTORE
00004c4c: PUSH1 0xa0
00004c4e: PUSH1 0x40
00004c50: DUP6
00004c51: ADD
00004c52: MSTORE
00004c53: DUP2
00004c54: DUP8
00004c55: MLOAD
00004c56: DUP1
00004c57: DUP5
00004c58: MSTORE
00004c59: PUSH1 0xc0
00004c5b: DUP7
00004c5c: ADD
00004c5d: SWAP2
00004c5e: POP
00004c5f: DUP3
00004c60: DUP10
00004c61: ADD
00004c62: SWAP4
00004c63: POP
00004c64: DUP5
00004c65: JUMPDEST
00004c66: DUP2
00004c67: DUP2
00004c68: LT
00004c69: ISZERO
00004c6a: PUSH2 0x4c8a
00004c6d: JUMPI
00004c6e: DUP5
00004c6f: MLOAD
00004c70: PUSH1 0x01
00004c72: PUSH1 0x01
00004c74: PUSH1 0xa0
00004c76: SHL
00004c77: SUB
00004c78: AND
00004c79: DUP4
00004c7a: MSTORE
00004c7b: SWAP4
00004c7c: DUP4
00004c7d: ADD
00004c7e: SWAP4
00004c7f: SWAP2
00004c80: DUP4
00004c81: ADD
00004c82: SWAP2
00004c83: PUSH1 0x01
00004c85: ADD
00004c86: PUSH2 0x4c65
00004c89: JUMP
00004c8a: JUMPDEST
00004c8b: POP
00004c8c: POP
00004c8d: PUSH1 0x01
00004c8f: PUSH1 0x01
00004c91: PUSH1 0xa0
00004c93: SHL
00004c94: SUB
00004c95: SWAP7
00004c96: SWAP1
00004c97: SWAP7
00004c98: AND
00004c99: PUSH1 0x60
00004c9b: DUP6
00004c9c: ADD
00004c9d: MSTORE
00004c9e: POP
00004c9f: POP
00004ca0: POP
00004ca1: PUSH1 0x80
00004ca3: ADD
00004ca4: MSTORE
00004ca5: SWAP4
00004ca6: SWAP3
00004ca7: POP
00004ca8: POP
00004ca9: POP
00004caa: JUMP
00004cab: JUMPDEST
00004cac: PUSH1 0x40
00004cae: MLOAD
00004caf: DUP2
00004cb0: DUP2
00004cb1: ADD
00004cb2: PUSH8 0xffffffffffffffff
00004cbb: DUP2
00004cbc: GT
00004cbd: DUP3
00004cbe: DUP3
00004cbf: LT
00004cc0: OR
00004cc1: ISZERO
00004cc2: PUSH2 0x4cca
00004cc5: JUMPI
00004cc6: PUSH1 0x00
00004cc8: DUP1
00004cc9: REVERT
00004cca: JUMPDEST
00004ccb: PUSH1 0x40
00004ccd: MSTORE
00004cce: SWAP2
00004ccf: SWAP1
00004cd0: POP
00004cd1: JUMP
00004cd2: JUMPDEST
00004cd3: PUSH1 0x00
00004cd5: PUSH8 0xffffffffffffffff
00004cde: DUP3
00004cdf: GT
00004ce0: ISZERO
00004ce1: PUSH2 0x4ce8
00004ce4: JUMPI
00004ce5: DUP1
00004ce6: DUP2
00004ce7: REVERT
00004ce8: JUMPDEST
00004ce9: POP
00004cea: PUSH1 0x20
00004cec: SWAP1
00004ced: DUP2
00004cee: MUL
00004cef: ADD
00004cf0: SWAP1
00004cf1: JUMP
00004cf2: JUMPDEST
00004cf3: PUSH1 0x00
00004cf5: PUSH8 0xffffffffffffffff
00004cfe: DUP3
00004cff: GT
00004d00: ISZERO
00004d01: PUSH2 0x4d08
00004d04: JUMPI
00004d05: DUP1
00004d06: DUP2
00004d07: REVERT
00004d08: JUMPDEST
00004d09: POP
00004d0a: PUSH1 0x1f
00004d0c: ADD
00004d0d: PUSH1 0x1f
00004d0f: NOT
00004d10: AND
00004d11: PUSH1 0x20
00004d13: ADD
00004d14: SWAP1
00004d15: JUMP
00004d16: JUMPDEST
00004d17: PUSH1 0x00
00004d19: JUMPDEST
00004d1a: DUP4
00004d1b: DUP2
00004d1c: LT
00004d1d: ISZERO
00004d1e: PUSH2 0x4d31
00004d21: JUMPI
00004d22: DUP2
00004d23: DUP2
00004d24: ADD
00004d25: MLOAD
00004d26: DUP4
00004d27: DUP3
00004d28: ADD
00004d29: MSTORE
00004d2a: PUSH1 0x20
00004d2c: ADD
00004d2d: PUSH2 0x4d19
00004d30: JUMP
00004d31: JUMPDEST
00004d32: DUP4
00004d33: DUP2
00004d34: GT
00004d35: ISZERO
00004d36: PUSH2 0x0950
00004d39: JUMPI
00004d3a: POP
00004d3b: POP
00004d3c: PUSH1 0x00
00004d3e: SWAP2
00004d3f: ADD
00004d40: MSTORE
00004d41: JUMP
00004d42: JUMPDEST
00004d43: PUSH1 0x01
00004d45: PUSH1 0x01
00004d47: PUSH1 0xa0
00004d49: SHL
00004d4a: SUB
00004d4b: DUP2
00004d4c: AND
00004d4d: DUP2
00004d4e: EQ
00004d4f: PUSH2 0x121d
00004d52: JUMPI
00004d53: PUSH1 0x00
00004d55: DUP1
00004d56: REVERT
00004d57: JUMPDEST
00004d58: DUP1
00004d59: ISZERO
00004d5a: ISZERO
00004d5b: DUP2
00004d5c: EQ
00004d5d: PUSH2 0x121d
00004d60: JUMPI
00004d61: PUSH1 0x00
00004d63: DUP1
00004d64: REVERT
00004d65: JUMPDEST
00004d66: DUP1
00004d67: PUSH1 0x0f
00004d69: SIGNEXTEND
00004d6a: DUP2
00004d6b: EQ
00004d6c: PUSH2 0x121d
00004d6f: JUMPI
00004d70: PUSH1 0x00
00004d72: DUP1
00004d73: REVERT
00004d74: JUMPDEST
00004d75: PUSH1 0xff
00004d77: DUP2
00004d78: AND
00004d79: DUP2
00004d7a: EQ
00004d7b: PUSH2 0x121d
00004d7e: JUMPI
00004d7f: PUSH1 0x00
00004d81: DUP1
00004d82: REVERT
00004d83: INVALID
00004d84: LOG2
00004d85: PUSH5 0x6970667358
00004d8b: UNKNOWN(0x22)
00004d8c: SLT
00004d8d: KECCAK256
00004d8e: SWAP10
00004d8f: CALLVALUE
00004d90: UNKNOWN(0xB9)
00004d91: UNKNOWN(0xEC)
00004d92: ADDMOD
00004d93: UNKNOWN(0xAE)
00004d94: SWAP7
00004d95: UNKNOWN(0xB9)
00004d96: UNKNOWN(0xC9)
00004d97: UNKNOWN(0xCC)
00004d98: SWAP3
00004d99: UNKNOWN(0xD8)
00004d9a: UNKNOWN(0xE4)
00004d9b: UNKNOWN(0xC5)
00004d9c: SWAP15
00004d9d: SWAP15
00004d9e: UNKNOWN(0xDC)
00004d9f: PUSH19 0x4d056d67457584e4359d24a8a0d064736f6c63
00004db3: NUMBER
00004db4: STOP
00004db5: MOD
00004db6: UNKNOWN(0x0C)
00004db7: STOP
00004db8: CALLER

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": "0xf6326fb3",
            "selector": "0xf6326fb3",
            "calldata_variants": [
                "0xf6326fb3",
                "0xf6326fb30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfa4e12d7",
            "selector": "0xfa4e12d7",
            "calldata_variants": [
                "0xfa4e12d7",
                "0xfa4e12d70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfd070296",
            "selector": "0xfd070296",
            "calldata_variants": [
                "0xfd070296",
                "0xfd0702960000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe0c05c24",
            "selector": "0xe0c05c24",
            "calldata_variants": [
                "0xe0c05c24",
                "0xe0c05c240000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe8edc816",
            "selector": "0xe8edc816",
            "calldata_variants": [
                "0xe8edc816",
                "0xe8edc8160000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc49e4fd9",
            "selector": "0xc49e4fd9",
            "calldata_variants": [
                "0xc49e4fd9",
                "0xc49e4fd90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdab400f3",
            "selector": "0xdab400f3",
            "calldata_variants": [
                "0xdab400f3",
                "0xdab400f30000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 1423,
            "type": "tx_origin_used"
        },
        {
            "pc": 2963,
            "type": "tx_origin_used"
        }
    ]
}
medium auth codex MarketMakerProxy accepts zero SIGNER, allowing signature bypass with invalid signatures 75 no
view
evidence_json
{
    "evidence": "`SIGNER` is unset by default and `setSigner` does not prevent zero. `isValidSignature` only checks `SIGNER == _ecrecoverAddress(...)`, so invalid signatures that recover to address(0) are accepted when SIGNER is zero.",
    "locations": [
        "contracts/contracts/MarketMakerProxy.sol:25",
        "contracts/contracts/MarketMakerProxy.sol:48",
        "contracts/contracts/MarketMakerProxy.sol:100"
    ],
    "recommendation": "Reject zero signers in `setSigner` and/or require `SIGNER != address(0)` inside `isValidSignature`. Consider initializing SIGNER in the constructor and enforcing ECDSA `v`/`s` validity to avoid address(0) recovery on malformed signatures.",
    "exploit_scenario": "If SIGNER is never set (default zero) or accidentally set to address(0), an attacker can supply a 65-byte all-zero signature so `ecrecover()` returns address(0). The equality check passes and `isValidSignature` returns the magic value, so external protocols (e.g., 0x) would treat arbitrary orders as signed by the MarketMakerProxy. With existing ERC20 allowances, this can enable draining the proxy\u2019s funds."
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x944282a0d45675d88f166a21d2b4370f01316d9f49c8fd761e74bf197ed732b9
call_targets: 0x4a14347083b80e5216ca31350a2d21702ac3650d
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x944282a0d45675d88f166a21d2b4370f01316d9f49c8fd761e74bf197ed732b9",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x4a14347083b80e5216ca31350a2d21702ac3650d"
    ],
    "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": "0xf6326fb3",
            "selector": "0xf6326fb3",
            "calldata_variants": [
                "0xf6326fb3",
                "0xf6326fb30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfa4e12d7",
            "selector": "0xfa4e12d7",
            "calldata_variants": [
                "0xfa4e12d7",
                "0xfa4e12d70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfd070296",
            "selector": "0xfd070296",
            "calldata_variants": [
                "0xfd070296",
                "0xfd0702960000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe0c05c24",
            "selector": "0xe0c05c24",
            "calldata_variants": [
                "0xe0c05c24",
                "0xe0c05c240000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe8edc816",
            "selector": "0xe8edc816",
            "calldata_variants": [
                "0xe8edc816",
                "0xe8edc8160000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc49e4fd9",
            "selector": "0xc49e4fd9",
            "calldata_variants": [
                "0xc49e4fd9",
                "0xc49e4fd90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdab400f3",
            "selector": "0xdab400f3",
            "calldata_variants": [
                "0xdab400f3",
                "0xdab400f30000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 4568,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6331,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6545,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 13,
    "guards_detected": [
        {
            "pc": 1423,
            "type": "tx_origin_used"
        },
        {
            "pc": 2963,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 13
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x944282a0d45675d88f166a21d2b4370f01316d9f49c8fd761e74bf197ed732b9
call_targets: 0x4a14347083b80e5216ca31350a2d21702ac3650d
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x944282a0d45675d88f166a21d2b4370f01316d9f49c8fd761e74bf197ed732b9",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x4a14347083b80e5216ca31350a2d21702ac3650d"
    ],
    "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": "0xf6326fb3",
            "selector": "0xf6326fb3",
            "calldata_variants": [
                "0xf6326fb3",
                "0xf6326fb30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfa4e12d7",
            "selector": "0xfa4e12d7",
            "calldata_variants": [
                "0xfa4e12d7",
                "0xfa4e12d70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfd070296",
            "selector": "0xfd070296",
            "calldata_variants": [
                "0xfd070296",
                "0xfd0702960000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe0c05c24",
            "selector": "0xe0c05c24",
            "calldata_variants": [
                "0xe0c05c24",
                "0xe0c05c240000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe8edc816",
            "selector": "0xe8edc816",
            "calldata_variants": [
                "0xe8edc816",
                "0xe8edc8160000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc49e4fd9",
            "selector": "0xc49e4fd9",
            "calldata_variants": [
                "0xc49e4fd9",
                "0xc49e4fd90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdab400f3",
            "selector": "0xdab400f3",
            "calldata_variants": [
                "0xdab400f3",
                "0xdab400f30000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 4568,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6331,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6545,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 13,
    "guards_detected": [
        {
            "pc": 1423,
            "type": "tx_origin_used"
        },
        {
            "pc": 2963,
            "type": "tx_origin_used"
        }
    ]
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 21
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 23
}