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

Analysis Run

f9911161-a439-4695-9306-904dcee51a18

failed
Chain ID
1
Address
Block Number
Created
Thu, Jan 1, 2026 12:07 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
Not yet
Best current signal
Untrusted DELEGATECALL target reachable
crit 0 high 0 proxy context implementation known
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
30981 report.consolidate complete 1 / 1 3 months ago
94897 artifact.fetch failed 1 / 3 1 week ago
94898 tool.cast_disasm complete 1 / 3 1 week ago
94899 analysis.bundle complete 1 / 3 1 week ago
94900 capability.graph complete 1 / 3 1 week ago
94901 detector.run complete 1 / 3 1 week ago
94902 validation.fork complete 1 / 3 1 week ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
0
No findings?
yes
Summary
No concrete, exploitable path to extract value was identified in the reviewed contracts.
View stderr
[codex:978089] OpenAI Codex v0.77.0 (research preview)
[codex:978089] --------
[codex:978089] workdir: /tmp/codex-multi-ku4ioo1x
[codex:978089] model: gpt-5.2-codex
[codex:978089] provider: openai
[codex:978089] approval: never
[codex:978089] sandbox: read-only
[codex:978089] reasoning effort: xhigh
[codex:978089] reasoning summaries: auto
[codex:978089] session id: 019b76d9-6654-7fe3-9b50-b81d9e8c123c
[codex:978089] --------
[codex:978089] user
[codex:978089] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:978089] 
[codex:978089] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:978089] 
[codex:978089] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:978089] - Gas inefficiency, code quality, naming, or best practices
[codex:978089] - Theoretical vulnerabilities without a clear extraction path
[codex:978089] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:978089] - Front-running unless it enables theft beyond MEV
[codex:978089] - DoS, griefing, or issues that don't result in attacker profit
[codex:978089] - Missing events, view function issues, or informational findings
[codex:978089] 
[codex:978089] HIGH-VALUE PATTERNS TO HUNT:
[codex:978089] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:978089] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:978089] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:978089] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:978089] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:978089] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:978089] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:978089] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:978089] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:978089] 
[codex:978089] For each finding, you MUST provide:
[codex:978089] 1. Exact file and line numbers of vulnerable code
[codex:978089] 2. Step-by-step exploit transaction sequence
[codex:978089] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:978089] 
[codex:978089] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:978089] 
[codex:978089] Output MUST be valid JSON matching the provided schema.
[codex:978089] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:978089] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:978089] mcp startup: no servers
[codex:978089] 
[codex:978089] thinking
[codex:978089] **Planning to read AUDIT_BUNDLE.txt**
[codex:978089] exec
[codex:978089] /bin/bash -lc ls in /tmp/codex-multi-ku4ioo1x succeeded in 8ms:
[codex:978089] AUDIT_BUNDLE.txt
[codex:978089] codex-output-schema.json
[codex:978089] contracts
[codex:978089] 
[codex:978089] thinking
[codex:978089] **Reading AUDIT_BUNDLE.txt**
[codex:978089] exec
[codex:978089] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-ku4ioo1x succeeded in 6ms:
[codex:978089] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:978089] 
[codex:978089] ================================================================================
[codex:978089] FILE: contracts/contracts/BorrowLogic.sol
[codex:978089] ================================================================================
[codex:978089] // SPDX-License-Identifier: BUSL-1.1
[codex:978089] pragma solidity 0.8.25;
[codex:978089] 
[codex:978089] import "@openzeppelin/contracts/utils/math/Math.sol";
[codex:978089] import "@openzeppelin/contracts/utils/math/SafeCast.sol";
[codex:978089] 
[codex:978089] import "./Pool.sol";
[codex:978089] import "./LoanReceipt.sol";
[codex:978089] import "./LiquidityLogic.sol";
[codex:978089] 
[codex:978089] import "./interfaces/IPool.sol";
[codex:978089] import "./integrations/DelegateCash/IDelegateRegistryV1.sol";
[codex:978089] import "./integrations/DelegateCash/IDelegateRegistryV2.sol";
[codex:978089] 
[codex:978089] /**
[codex:978089] 
[codex:978089] thinking
[codex:978089] **Searching for critical vulnerabilities**
[codex:978089] exec
[codex:978089] /bin/bash -lc 'rg -n "withdraw|redeem|liquidate|borrow|repay|initialize|permit|delegatecall|transfer" contracts/contracts' in /tmp/codex-multi-ku4ioo1x succeeded in 12ms:
[codex:978089] contracts/contracts/DepositLogic.sol:47:     * @dev Helper function to handle redeem accounting
[codex:978089] contracts/contracts/DepositLogic.sol:53:    function _redeem(Pool.PoolStorage storage self, uint128 tick, uint128 shares) external returns (uint128) {
[codex:978089] contracts/contracts/DepositLogic.sol:67:        (uint128 index, uint128 target) = self.liquidity.redeem(tick, shares);
[codex:978089] contracts/contracts/DepositLogic.sol:81:     * @dev Helper function to handle withdraw accounting
[codex:978089] contracts/contracts/DepositLogic.sol:85:     * @return Withdrawn shares and withdrawn amount
[codex:978089] contracts/contracts/DepositLogic.sol:87:    function _withdraw(
[codex:978089] contracts/contracts/DepositLogic.sol:116:     * @dev Helper function to handle transfer accounting
[codex:978089] contracts/contracts/DepositLogic.sol:123:    function _transfer(Pool.PoolStorage storage self, address from, address to, uint128 tick, uint128 shares) external {
[codex:978089] contracts/contracts/DepositLogic.sol:137:     * @return amount Amount of currency tokens available for withdrawal
[codex:978089] contracts/contracts/LoanReceipt.sol:29:     * @dev Header excludes borrow options byte array
[codex:978089] contracts/contracts/LoanReceipt.sol:46:     * @param repayment Repayment amount in currency tokens
[codex:978089] contracts/contracts/LoanReceipt.sol:48:     * @param borrower Borrower
[codex:978089] contracts/contracts/LoanReceipt.sol:60:        uint256 repayment;
[codex:978089] contracts/contracts/LoanReceipt.sol:62:        address borrower;
[codex:978089] contracts/contracts/LoanReceipt.sol:92:          32  uint256 repayment                      33:65
[codex:978089] contracts/contracts/LoanReceipt.sol:94:          20  address borrower                       97:117
[codex:978089] contracts/contracts/LoanReceipt.sol:134:            receipt.repayment,
[codex:978089] contracts/contracts/LoanReceipt.sol:136:            receipt.borrower,
[codex:978089] contracts/contracts/LoanReceipt.sol:189:        receipt.repayment = uint256(bytes32(encodedReceipt[33:65]));
[codex:978089] contracts/contracts/LoanReceipt.sol:191:        receipt.borrower = address(uint160(bytes20(encodedReceipt[97:117])));
[codex:978089] 
[codex:978089] thinking
[codex:978089] **Analyzing Pool.sol for vulnerabilities**
[codex:978089] exec
[codex:978089] /bin/bash -lc "nl -ba contracts/contracts/Pool.sol | sed -n '600,900p'" in /tmp/codex-multi-ku4ioo1x succeeded in 6ms:
[codex:978089]    600	        if (duration > durations_[0]) revert UnsupportedLoanDuration();
[codex:978089]    601	
[codex:978089]    602	        /* Lookup duration index */
[codex:978089]    603	        uint256 durationIndex = durations_.length - 1;
[codex:978089]    604	        for (; durationIndex > 0; durationIndex--) {
[codex:978089]    605	            if (duration <= durations_[durationIndex]) break;
[codex:978089]    606	        }
[codex:978089]    607	
[codex:978089]    608	        /* Get oracle price if price oracle exists, else 0 */
[codex:978089]    609	        uint256 oraclePrice = price(
[codex:978089]    610	            collateralToken(),
[codex:978089]    611	            address(_storage.currencyToken),
[codex:978089]    612	            underlyingCollateralTokenIds,
[codex:978089]    613	            underlyingQuantities,
[codex:978089]    614	            oracleContext
[codex:978089]    615	        );
[codex:978089]    616	
[codex:978089]    617	        /* Source liquidity nodes */
[codex:978089]    618	        (LiquidityLogic.NodeSource[] memory nodes, uint16 count) = _storage.liquidity.source(
[codex:978089]    619	            principal,
[codex:978089] exec
[codex:978089] /bin/bash -lc "nl -ba contracts/contracts/Pool.sol | sed -n '900,1100p'" in /tmp/codex-multi-ku4ioo1x succeeded in 7ms:
[codex:978089]    900	        /* Revoke delegates */
[codex:978089]    901	        BorrowLogic._revokeDelegates(
[codex:978089]    902	            _getDelegateStorage(),
[codex:978089]    903	            loanReceipt.collateralToken,
[codex:978089]    904	            loanReceipt.collateralTokenId,
[codex:978089]    905	            _delegateRegistryV1,
[codex:978089]    906	            _delegateRegistryV2
[codex:978089]    907	        );
[codex:978089]    908	
[codex:978089]    909	        /* Approve collateral for transfer to _collateralLiquidator */
[codex:978089]    910	        IERC721(loanReceipt.collateralToken).approve(address(_collateralLiquidator), loanReceipt.collateralTokenId);
[codex:978089]    911	
[codex:978089]    912	        /* Start liquidation with collateral liquidator */
[codex:978089]    913	        _collateralLiquidator.liquidate(
[codex:978089]    914	            address(_storage.currencyToken),
[codex:978089]    915	            loanReceipt.collateralToken,
[codex:978089]    916	            loanReceipt.collateralTokenId,
[codex:978089]    917	            loanReceipt.collateralWrapperContext,
[codex:978089]    918	            encodedLoanReceipt
[codex:978089]    919	        );
[codex:978089] exec
[codex:978089] /bin/bash -lc "nl -ba contracts/contracts/Pool.sol | sed -n '1100,1250p'" in /tmp/codex-multi-ku4ioo1x succeeded in 6ms:
[codex:978089]   1100	    function setAdminFee(uint32 rate, address feeShareRecipient, uint16 feeShareSplit) external {
[codex:978089]   1101	        BorrowLogic._setAdminFee(_storage, _getFeeShareStorage(), rate, feeShareRecipient, feeShareSplit);
[codex:978089]   1102	
[codex:978089]   1103	        emit AdminFeeUpdated(rate, feeShareRecipient, feeShareSplit);
[codex:978089]   1104	    }
[codex:978089]   1105	
[codex:978089]   1106	    /**
[codex:978089]   1107	     * @notice Withdraw admin fees
[codex:978089]   1108	     *
[codex:978089]   1109	     * Emits a {AdminFeesWithdrawn} event.
[codex:978089]   1110	     *
[codex:978089]   1111	     * @param recipient Recipient account
[codex:978089]   1112	     */
[codex:978089]   1113	    function withdrawAdminFees(address recipient) external nonReentrant {
[codex:978089]   1114	        uint256 amount = _unscale(BorrowLogic._withdrawAdminFees(_storage, recipient), false);
[codex:978089]   1115	
[codex:978089]   1116	        /* Transfer cash from Pool to recipient */
[codex:978089]   1117	        _storage.currencyToken.safeTransfer(recipient, amount);
[codex:978089]   1118	
[codex:978089]   1119	        emit AdminFeesWithdrawn(recipient, amount);
[codex:978089] 
[codex:978089] thinking
[codex:978089] **Reviewing contract storage and access control**
[codex:978089] exec
[codex:978089] /bin/bash -lc "nl -ba contracts/contracts/Pool.sol | sed -n '1,200p'" in /tmp/codex-multi-ku4ioo1x succeeded in 8ms:
[codex:978089]      1	// SPDX-License-Identifier: BUSL-1.1
[codex:978089]      2	pragma solidity 0.8.25;
[codex:978089]      3	
[codex:978089]      4	import "@openzeppelin/contracts/security/ReentrancyGuard.sol";
[codex:978089]      5	import "@openzeppelin/contracts/utils/introspection/ERC165.sol";
[codex:978089]      6	import "@openzeppelin/contracts/utils/Multicall.sol";
[codex:978089]      7	import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:978089]      8	import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:978089]      9	import "@openzeppelin/contracts/token/ERC721/IERC721.sol";
[codex:978089]     10	import "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
[codex:978089]     11	import "@openzeppelin/contracts/utils/math/SafeCast.sol";
[codex:978089]     12	
[codex:978089]     13	import "./filters/CollateralFilter.sol";
[codex:978089]     14	import "./rates/InterestRateModel.sol";
[codex:978089]     15	import "./tokenization/DepositToken.sol";
[codex:978089]     16	
[codex:978089]     17	import "./LoanReceipt.sol";
[codex:978089]     18	import "./LiquidityLogic.sol";
[codex:978089]     19	import "./DepositLogic.sol";
[codex:978089]     20	import "./BorrowLogic.sol";
[codex:978089] 
[codex:978089] thinking
[codex:978089] **Investigating access control areas**
[codex:978089] exec
[codex:978089] /bin/bash -lc "nl -ba contracts/contracts/Pool.sol | sed -n '200,360p'" in /tmp/codex-multi-ku4ioo1x succeeded in 7ms:
[codex:978089]    200	     * @param currencyToken Currency token contract
[codex:978089]    201	     * @param adminFeeRate Admin fee rate in basis points
[codex:978089]    202	     * @param durations Durations
[codex:978089]    203	     * @param rates Rates
[codex:978089]    204	     * @param admin Admin
[codex:978089]    205	     * @param adminFeeBalance Admin fee balance
[codex:978089]    206	     * @param liquidity Liquidity
[codex:978089]    207	     * @param deposits Mapping of account to tick to deposit
[codex:978089]    208	     * @param loans Mapping of loan receipt hash to loan status
[codex:978089]    209	     */
[codex:978089]    210	    struct PoolStorage {
[codex:978089]    211	        IERC20 currencyToken;
[codex:978089]    212	        uint32 adminFeeRate;
[codex:978089]    213	        uint64[] durations;
[codex:978089]    214	        uint64[] rates;
[codex:978089]    215	        address admin;
[codex:978089]    216	        uint256 adminFeeBalance;
[codex:978089]    217	        LiquidityLogic.Liquidity liquidity;
[codex:978089]    218	        mapping(address => mapping(uint128 => Deposit)) deposits;
[codex:978089]    219	        mapping(bytes32 => LoanStatus) loans;
[codex:978089] 
[codex:978089] thinking
[codex:978089] **Reviewing access control in BorrowLogic**
[codex:978089] exec
[codex:978089] /bin/bash -lc "nl -ba contracts/contracts/BorrowLogic.sol | sed -n '450,620p'" in /tmp/codex-multi-ku4ioo1x succeeded in 6ms:
[codex:978089]    450	                loanReceipt.nodeReceipts[i].used,
[codex:978089]    451	                loanReceipt.nodeReceipts[i].pending,
[codex:978089]    452	                restored.toUint128(),
[codex:978089]    453	                loanReceipt.duration,
[codex:978089]    454	                elapsed
[codex:978089]    455	            );
[codex:978089]    456	
[codex:978089]    457	            /* Update proceeds remaining */
[codex:978089]    458	            proceedsRemaining -= restored;
[codex:978089]    459	        }
[codex:978089]    460	
[codex:978089]    461	        /* Mark loan status collateral liquidated */
[codex:978089]    462	        self.loans[loanReceiptHash] = Pool.LoanStatus.CollateralLiquidated;
[codex:978089]    463	
[codex:978089]    464	        return (borrowerSurplus, loanReceipt, loanReceiptHash);
[codex:978089]    465	    }
[codex:978089]    466	
[codex:978089]    467	    /**
[codex:978089]    468	     * @dev Helper function to set admin fee
[codex:978089]    469	     * @param self Pool storage
[codex:978089] 
[codex:978089] thinking
[codex:978089] **Analyzing reentrancy risks and token callbacks**
[codex:978089] exec
[codex:978089] /bin/bash -lc "nl -ba contracts/contracts/configurations/WeightedRateCollectionPool.sol | sed -n '1,200p'" in /tmp/codex-multi-ku4ioo1x succeeded in 6ms:
[codex:978089]      1	// SPDX-License-Identifier: BUSL-1.1
[codex:978089]      2	pragma solidity 0.8.25;
[codex:978089]      3	
[codex:978089]      4	import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:978089]      5	
[codex:978089]      6	import "../Pool.sol";
[codex:978089]      7	import "../rates/WeightedInterestRateModel.sol";
[codex:978089]      8	import "../filters/CollectionCollateralFilter.sol";
[codex:978089]      9	import "../tokenization/ERC20DepositToken.sol";
[codex:978089]     10	import "../oracle/ExternalPriceOracle.sol";
[codex:978089]     11	
[codex:978089]     12	/**
[codex:978089]     13	 * @title Pool Configuration with a Weighted Interest Rate Model and Collection
[codex:978089]     14	 * Collateral Filter
[codex:978089]     15	 * @author MetaStreet Labs
[codex:978089]     16	 */
[codex:978089]     17	contract WeightedRateCollectionPool is
[codex:978089]     18	    Pool,
[codex:978089]     19	    WeightedInterestRateModel,
[codex:978089]     20	    CollectionCollateralFilter,
[codex:978089] 
[codex:978089] thinking
[codex:978089] **Analyzing initialization and proxy patterns**
[codex:978089] exec
[codex:978089] /bin/bash -lc "nl -ba contracts/contracts/DepositLogic.sol | sed -n '1,200p'" in /tmp/codex-multi-ku4ioo1x succeeded in 6ms:
[codex:978089]      1	// SPDX-License-Identifier: BUSL-1.1
[codex:978089]      2	pragma solidity 0.8.25;
[codex:978089]      3	
[codex:978089]      4	import "./Pool.sol";
[codex:978089]      5	import "./Tick.sol";
[codex:978089]      6	import "./LiquidityLogic.sol";
[codex:978089]      7	
[codex:978089]      8	import "./interfaces/IPool.sol";
[codex:978089]      9	
[codex:978089]     10	/**
[codex:978089]     11	 * @title Deposit Logic
[codex:978089]     12	 * @author MetaStreet Labs
[codex:978089]     13	 */
[codex:978089]     14	library DepositLogic {
[codex:978089]     15	    using LiquidityLogic for LiquidityLogic.Liquidity;
[codex:978089]     16	
[codex:978089]     17	    /**
[codex:978089]     18	     * @dev Helper function to handle deposit accounting
[codex:978089]     19	     * @param self Pool storage
[codex:978089]     20	     * @param tick Tick
[codex:978089] 
[codex:978089] thinking
[codex:978089] **Reviewing potential share inflation risks**
[codex:978089] exec
[codex:978089] /bin/bash -lc "nl -ba contracts/contracts/LiquidityLogic.sol | sed -n '1,220p'" in /tmp/codex-multi-ku4ioo1x succeeded in 6ms:
[codex:978089]      1	// SPDX-License-Identifier: BUSL-1.1
[codex:978089]      2	pragma solidity 0.8.25;
[codex:978089]      3	
[codex:978089]      4	import "@openzeppelin/contracts/utils/math/Math.sol";
[codex:978089]      5	import "@openzeppelin/contracts/utils/math/SafeCast.sol";
[codex:978089]      6	
[codex:978089]      7	import "./interfaces/ILiquidity.sol";
[codex:978089]      8	import "./Tick.sol";
[codex:978089]      9	
[codex:978089]     10	/**
[codex:978089]     11	 * @title Liquidity Logic
[codex:978089]     12	 * @author MetaStreet Labs
[codex:978089]     13	 */
[codex:978089]     14	library LiquidityLogic {
[codex:978089]     15	    /*
[codex:978089]     16	     * Liquidity nodes are arranged in a linked-list that starts with a zero
[codex:978089]     17	     * sentinel and ends with an end sentinel. There are two types of ticks, namely,
[codex:978089]     18	     * ratio ticks and absolute ticks (see more in Tick.sol). In the linked-list,
[codex:978089]     19	     * ratio ticks are ordered before absolute ticks. Within the types, they are
[codex:978089]     20	     * ordered in ascending order of their tick values.
[codex:978089] 
[codex:978089] thinking
[codex:978089] **Searching for deposit functions**
[codex:978089] exec
[codex:978089] /bin/bash -lc "rg -n \"function deposit|function redeem|function redemptionAvailable|function withdraw|deposit\\(|redeem\\(|redemptionAvailable\\(|withdraw\\(\" contracts/contracts/LiquidityLogic.sol" in /tmp/codex-multi-ku4ioo1x succeeded in 7ms:
[codex:978089] 278:    function redemptionAvailable(
[codex:978089] 330:    function depositSharePrice(Liquidity storage liquidity, uint128 tick) external view returns (uint256) {
[codex:978089] 578:    function deposit(Liquidity storage liquidity, uint128 tick, uint128 amount) internal returns (uint128) {
[codex:978089] 679:    function redeem(Liquidity storage liquidity, uint128 tick, uint128 shares) internal returns (uint128, uint128) {
[codex:978089] exec
[codex:978089] /bin/bash -lc "nl -ba contracts/contracts/LiquidityLogic.sol | sed -n '240,380p'" in /tmp/codex-multi-ku4ioo1x succeeded in 6ms:
[codex:978089]    240	     */
[codex:978089]    241	    function liquidityNodeWithAccrual(
[codex:978089]    242	        Liquidity storage liquidity,
[codex:978089]    243	        uint128 tick
[codex:978089]    244	    ) internal view returns (ILiquidity.NodeInfo memory, ILiquidity.AccrualInfo memory) {
[codex:978089]    245	        Node storage node = liquidity.nodes[tick];
[codex:978089]    246	
[codex:978089]    247	        return (
[codex:978089]    248	            ILiquidity.NodeInfo({
[codex:978089]    249	                tick: tick,
[codex:978089]    250	                value: node.value,
[codex:978089]    251	                shares: node.shares,
[codex:978089]    252	                available: node.available,
[codex:978089]    253	                pending: node.pending,
[codex:978089]    254	                redemptions: node.redemptions.pending,
[codex:978089]    255	                prev: node.prev,
[codex:978089]    256	                next: node.next
[codex:978089]    257	            }),
[codex:978089]    258	            ILiquidity.AccrualInfo({
[codex:978089]    259	                accrued: node.accrual.accrued,
[codex:978089] exec
[codex:978089] /bin/bash -lc "nl -ba contracts/contracts/LiquidityLogic.sol | sed -n '380,620p'" in /tmp/codex-multi-ku4ioo1x succeeded in 5ms:
[codex:978089]    380	
[codex:978089]    381	    /**
[codex:978089]    382	     * @dev Check if liquidity node is active
[codex:978089]    383	     * @param node Liquidity node
[codex:978089]    384	     * @return True if active, otherwise false
[codex:978089]    385	     */
[codex:978089]    386	    function _isActive(Node storage node) internal view returns (bool) {
[codex:978089]    387	        return node.prev != 0 || node.next != 0;
[codex:978089]    388	    }
[codex:978089]    389	
[codex:978089]    390	    /**
[codex:978089]    391	     * @dev Check if liquidity node is impaired
[codex:978089]    392	     * @param node Liquidity node
[codex:978089]    393	     * @return True if impaired, otherwise false
[codex:978089]    394	     */
[codex:978089]    395	    function _isImpaired(Node storage node) internal view returns (bool) {
[codex:978089]    396	        /* If there's shares, but insufficient value for a stable share price */
[codex:978089]    397	        return node.shares != 0 && node.value * FIXED_POINT_SCALE < node.shares * IMPAIRED_PRICE_THRESHOLD;
[codex:978089]    398	    }
[codex:978089]    399	
[codex:978089] exec
[codex:978089] /bin/bash -lc "nl -ba contracts/contracts/LiquidityLogic.sol | sed -n '620,920p'" in /tmp/codex-multi-ku4ioo1x succeeded in 6ms:
[codex:978089]    620	    function use(Liquidity storage liquidity, uint128 tick, uint128 used, uint128 pending, uint64 duration) internal {
[codex:978089]    621	        Node storage node = liquidity.nodes[tick];
[codex:978089]    622	
[codex:978089]    623	        node.available -= used;
[codex:978089]    624	        node.pending += pending;
[codex:978089]    625	
[codex:978089]    626	        /* Process accrual */
[codex:978089]    627	        _accrue(node);
[codex:978089]    628	        /* Increment accrual rate */
[codex:978089]    629	        uint256 rate = uint256(pending - used) / duration;
[codex:978089]    630	        node.accrual.rate += rate.toUint64();
[codex:978089]    631	    }
[codex:978089]    632	
[codex:978089]    633	    /**
[codex:978089]    634	     * @notice Restore liquidity and process pending redemptions
[codex:978089]    635	     * @param liquidity Liquidity state
[codex:978089]    636	     * @param tick Tick
[codex:978089]    637	     * @param used Used amount
[codex:978089]    638	     * @param pending Pending amount
[codex:978089]    639	     * @param restored Restored amount
[codex:978089] 
[codex:978089] thinking
[codex:978089] **Analyzing liquidity and share minting logic**
[codex:978089] exec
[codex:978089] /bin/bash -lc "nl -ba contracts/contracts/oracle/PriceOracle.sol | sed -n '1,200p'" in /tmp/codex-multi-ku4ioo1x succeeded in 6ms:
[codex:978089]      1	// SPDX-License-Identifier: BUSL-1.1
[codex:978089]      2	pragma solidity 0.8.25;
[codex:978089]      3	
[codex:978089]      4	/**
[codex:978089]      5	 * @title Price oracle API
[codex:978089]      6	 * @author MetaStreet Labs
[codex:978089]      7	 */
[codex:978089]      8	abstract contract PriceOracle {
[codex:978089]      9	    /**************************************************************************/
[codex:978089]     10	    /* API */
[codex:978089]     11	    /**************************************************************************/
[codex:978089]     12	
[codex:978089]     13	    /**
[codex:978089]     14	     * @notice Fetch price of token IDs
[codex:978089]     15	     * @param collateralToken Collateral token
[codex:978089]     16	     * @param currencyToken Currency token
[codex:978089]     17	     * @param tokenIds Token IDs
[codex:978089]     18	     * @param tokenIdQuantities Token ID quantities
[codex:978089]     19	     * @param oracleContext Oracle context
[codex:978089]     20	     * @return Token price in the same decimals as currency token
[codex:978089] 
[codex:978089] thinking
[codex:978089] **Inspecting ExternalPriceOracle**
[codex:978089] exec
[codex:978089] /bin/bash -lc "nl -ba contracts/contracts/oracle/ExternalPriceOracle.sol | sed -n '1,200p'" in /tmp/codex-multi-ku4ioo1x succeeded in 5ms:
[codex:978089]      1	// SPDX-License-Identifier: BUSL-1.1
[codex:978089]      2	pragma solidity 0.8.25;
[codex:978089]      3	
[codex:978089]      4	import "./PriceOracle.sol";
[codex:978089]      5	
[codex:978089]      6	import "../interfaces/IPriceOracle.sol";
[codex:978089]      7	
[codex:978089]      8	/**
[codex:978089]      9	 * @title External Price Oracle
[codex:978089]     10	 * @author MetaStreet Labs
[codex:978089]     11	 */
[codex:978089]     12	contract ExternalPriceOracle is PriceOracle {
[codex:978089]     13	    /**************************************************************************/
[codex:978089]     14	    /* Structures */
[codex:978089]     15	    /**************************************************************************/
[codex:978089]     16	
[codex:978089]     17	    /**
[codex:978089]     18	     * @custom:storage-location erc7201:externalPriceOracle.priceOracleStorage
[codex:978089]     19	     * @param addr Price oracle address
[codex:978089]     20	     */
[codex:978089] 
[codex:978089] thinking
[codex:978089] **Analyzing external price oracle risks**
[codex:978089] exec
[codex:978089] /bin/bash -lc "nl -ba contracts/contracts/filters/CollateralFilter.sol | sed -n '1,200p'" in /tmp/codex-multi-ku4ioo1x succeeded in 6ms:
[codex:978089]      1	// SPDX-License-Identifier: MIT
[codex:978089]      2	pragma solidity ^0.8.0;
[codex:978089]      3	
[codex:978089]      4	/**
[codex:978089]      5	 * @title Collateral Filter API
[codex:978089]      6	 * @author MetaStreet Labs
[codex:978089]      7	 */
[codex:978089]      8	abstract contract CollateralFilter {
[codex:978089]      9	    /**************************************************************************/
[codex:978089]     10	    /* Errors */
[codex:978089]     11	    /**************************************************************************/
[codex:978089]     12	
[codex:978089]     13	    /**
[codex:978089]     14	     * @notice Invalid parameters
[codex:978089]     15	     */
[codex:978089]     16	    error InvalidCollateralFilterParameters();
[codex:978089]     17	
[codex:978089]     18	    /**************************************************************************/
[codex:978089]     19	    /* API */
[codex:978089]     20	    /**************************************************************************/
[codex:978089] exec
[codex:978089] /bin/bash -lc "nl -ba contracts/contracts/filters/CollectionCollateralFilter.sol | sed -n '1,200p'" in /tmp/codex-multi-ku4ioo1x succeeded in 5ms:
[codex:978089]      1	// SPDX-License-Identifier: BUSL-1.1
[codex:978089]      2	pragma solidity 0.8.25;
[codex:978089]      3	
[codex:978089]      4	import "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
[codex:978089]      5	
[codex:978089]      6	import "./CollateralFilter.sol";
[codex:978089]      7	
[codex:978089]      8	/**
[codex:978089]      9	 * @title Collection Collateral Filter
[codex:978089]     10	 * @author MetaStreet Labs
[codex:978089]     11	 */
[codex:978089]     12	contract CollectionCollateralFilter is CollateralFilter {
[codex:978089]     13	    using EnumerableSet for EnumerableSet.AddressSet;
[codex:978089]     14	
[codex:978089]     15	    /**************************************************************************/
[codex:978089]     16	    /* State */
[codex:978089]     17	    /**************************************************************************/
[codex:978089]     18	
[codex:978089]     19	    /**
[codex:978089]     20	     * @notice Supported token
[codex:978089] 
[codex:978089] thinking
[codex:978089] **Analyzing loan receipt verification and collateral handling**
[codex:978089] 
[codex:978089] I'm carefully checking how the loan receipt encoding and repayment logic work to see if an attacker could manipulate loan repayment or collateral claims. The keccak hash check and borrower verification seem solid, but I'm curious if the collateral wrapper interface might introduce risks by altering transfer calldata, so next I’ll look into the ICollateralWrapper implementation and how it's integrated.
[codex:978089] exec
[codex:978089] /bin/bash -lc "nl -ba contracts/contracts/interfaces/ICollateralWrapper.sol | sed -n '1,200p'" in /tmp/codex-multi-ku4ioo1x succeeded in 5ms:
[codex:978089]      1	// SPDX-License-Identifier: MIT
[codex:978089]      2	pragma solidity ^0.8.0;
[codex:978089]      3	
[codex:978089]      4	/**
[codex:978089]      5	 * @title Interface to a Collateral Wrapper
[codex:978089]      6	 */
[codex:978089]      7	interface ICollateralWrapper {
[codex:978089]      8	    /**************************************************************************/
[codex:978089]      9	    /* API */
[codex:978089]     10	    /**************************************************************************/
[codex:978089]     11	
[codex:978089]     12	    /**
[codex:978089]     13	     * @notice Get collateral wrapper name
[codex:978089]     14	     * @return Collateral wrapper name
[codex:978089]     15	     */
[codex:978089]     16	    function name() external view returns (string memory);
[codex:978089]     17	
[codex:978089]     18	    /**
[codex:978089]     19	     * @notice Enumerate wrapped collateral
[codex:978089]     20	     * @param tokenId Collateral wrapper token ID
[codex:978089] 
[codex:978089] thinking
[codex:978089] **Searching collateral wrapper usage**
[codex:978089] exec
[codex:978089] /bin/bash -lc 'rg -n "collateralWrapper|wrapper" contracts/contracts/Pool.sol' in /tmp/codex-multi-ku4ioo1x succeeded in 10ms:
[codex:978089] 158:     * @notice Collateral wrappers (max 3)
[codex:978089] 160:    address internal immutable _collateralWrapper1;
[codex:978089] 161:    address internal immutable _collateralWrapper2;
[codex:978089] 162:    address internal immutable _collateralWrapper3;
[codex:978089] 236:     * @param collateralWrappers_ Collateral wrappers
[codex:978089] 242:        address[] memory collateralWrappers_
[codex:978089] 244:        if (collateralWrappers_.length > 3) revert InvalidParameters();
[codex:978089] 249:        _collateralWrapper1 = (collateralWrappers_.length > 0) ? collateralWrappers_[0] : address(0);
[codex:978089] 250:        _collateralWrapper2 = (collateralWrappers_.length > 1) ? collateralWrappers_[1] : address(0);
[codex:978089] 251:        _collateralWrapper3 = (collateralWrappers_.length > 2) ? collateralWrappers_[2] : address(0);
[codex:978089] 363:    function collateralWrappers() external view returns (address[] memory) {
[codex:978089] 364:        address[] memory collateralWrappers_ = new address[](3);
[codex:978089] 365:        collateralWrappers_[0] = _collateralWrapper1;
[codex:978089] 366:        collateralWrappers_[1] = _collateralWrapper2;
[codex:978089] 367:        collateralWrappers_[2] = _collateralWrapper3;
[codex:978089] 368:        return collateralWrappers_;
[codex:978089] 489:     * @param collateralToken Collateral token, either underlying token or collateral wrapper
[codex:978089] 491:     * @param collateralWrapperContext Collateral wrapper context
[codex:978089] 500:        bytes memory collateralWrapperContext
[codex:978089] 506:        /* Enumerate if collateral token is a collateral wrapper */
[codex:978089] exec
[codex:978089] /bin/bash -lc "nl -ba contracts/contracts/Pool.sol | sed -n '360,620p'" in /tmp/codex-multi-ku4ioo1x succeeded in 6ms:
[codex:978089]    360	    /**
[codex:978089]    361	     * @inheritdoc IPool
[codex:978089]    362	     */
[codex:978089]    363	    function collateralWrappers() external view returns (address[] memory) {
[codex:978089]    364	        address[] memory collateralWrappers_ = new address[](3);
[codex:978089]    365	        collateralWrappers_[0] = _collateralWrapper1;
[codex:978089]    366	        collateralWrappers_[1] = _collateralWrapper2;
[codex:978089]    367	        collateralWrappers_[2] = _collateralWrapper3;
[codex:978089]    368	        return collateralWrappers_;
[codex:978089]    369	    }
[codex:978089]    370	
[codex:978089]    371	    /**
[codex:978089]    372	     * @inheritdoc IPool
[codex:978089]    373	     */
[codex:978089]    374	    function collateralLiquidator() external view returns (address) {
[codex:978089]    375	        return address(_collateralLiquidator);
[codex:978089]    376	    }
[codex:978089]    377	
[codex:978089]    378	    /**
[codex:978089]    379	     * @inheritdoc IPool
[codex:978089] 
[codex:978089] thinking
[codex:978089] **Analyzing collateral wrapper risks**
[codex:978089] exec
[codex:978089] /bin/bash -lc "nl -ba contracts/contracts/rates/InterestRateModel.sol | sed -n '1,200p'" in /tmp/codex-multi-ku4ioo1x succeeded in 6ms:
[codex:978089]      1	// SPDX-License-Identifier: MIT
[codex:978089]      2	pragma solidity ^0.8.0;
[codex:978089]      3	
[codex:978089]      4	import "../LiquidityLogic.sol";
[codex:978089]      5	
[codex:978089]      6	/**
[codex:978089]      7	 * @title Interest Rate Model API
[codex:978089]      8	 * @author MetaStreet Labs
[codex:978089]      9	 */
[codex:978089]     10	abstract contract InterestRateModel {
[codex:978089]     11	    /**************************************************************************/
[codex:978089]     12	    /* Errors */
[codex:978089]     13	    /**************************************************************************/
[codex:978089]     14	
[codex:978089]     15	    /**
[codex:978089]     16	     * @notice Invalid parameters
[codex:978089]     17	     */
[codex:978089]     18	    error InvalidInterestRateModelParameters();
[codex:978089]     19	
[codex:978089]     20	    /**************************************************************************/
[codex:978089] 
[codex:978089] thinking
[codex:978089] **Identifying required components**
[codex:978089] exec
[codex:978089] /bin/bash -lc "nl -ba contracts/contracts/rates/WeightedInterestRateModel.sol | sed -n '1,200p'" in /tmp/codex-multi-ku4ioo1x succeeded in 6ms:
[codex:978089]      1	// SPDX-License-Identifier: BUSL-1.1
[codex:978089]      2	pragma solidity 0.8.25;
[codex:978089]      3	
[codex:978089]      4	import "@openzeppelin/contracts/utils/math/Math.sol";
[codex:978089]      5	import "@openzeppelin/contracts/utils/math/SafeCast.sol";
[codex:978089]      6	
[codex:978089]      7	import "./InterestRateModel.sol";
[codex:978089]      8	import "../Tick.sol";
[codex:978089]      9	
[codex:978089]     10	/**
[codex:978089]     11	 * @title Weighted Interest Rate Model
[codex:978089]     12	 * @author MetaStreet Labs
[codex:978089]     13	 */
[codex:978089]     14	contract WeightedInterestRateModel is InterestRateModel {
[codex:978089]     15	    using SafeCast for uint256;
[codex:978089]     16	
[codex:978089]     17	    /**************************************************************************/
[codex:978089]     18	    /* Constructor */
[codex:978089]     19	    /**************************************************************************/
[codex:978089]     20	
[codex:978089] 
[codex:978089] thinking
[codex:978089] **Reviewing price modeling and tick risks**
[codex:978089] exec
[codex:978089] /bin/bash -lc "nl -ba contracts/contracts/Tick.sol | sed -n '1,220p'" in /tmp/codex-multi-ku4ioo1x succeeded in 5ms:
[codex:978089]      1	// SPDX-License-Identifier: BUSL-1.1
[codex:978089]      2	pragma solidity 0.8.25;
[codex:978089]      3	
[codex:978089]      4	import "@openzeppelin/contracts/utils/math/Math.sol";
[codex:978089]      5	
[codex:978089]      6	/**
[codex:978089]      7	 * @title Tick
[codex:978089]      8	 * @author MetaStreet Labs
[codex:978089]      9	 */
[codex:978089]     10	library Tick {
[codex:978089]     11	    /*
[codex:978089]     12	     * A tick encodes three conditions on liquidity: limit, duration, rate, and type.
[codex:978089]     13	     * Limit is the maximum depth that liquidity sourced from the node can be
[codex:978089]     14	     * used in. Duration is the maximum allowed duration for that liquidity.
[codex:978089]     15	     * Rate is the interest rate associated with that liquidity. Duration and
[codex:978089]     16	     * rates are encoded as indexes into predetermined, discrete tiers. Type is the
[codex:978089]     17	     * type of limit, which could either be absolute or ratio-based.
[codex:978089]     18	     *
[codex:978089]     19	     * +---------------------------------------------------------------------+
[codex:978089]     20	     * |                                 128                                 |
[codex:978089] 
[codex:978089] thinking
[codex:978089] **Analyzing ERC20DepositToken initialization logic**
[codex:978089] exec
[codex:978089] /bin/bash -lc "nl -ba contracts/contracts/tokenization/ERC20DepositToken.sol | sed -n '1,200p'" in /tmp/codex-multi-ku4ioo1x succeeded in 5ms:
[codex:978089]      1	// SPDX-License-Identifier: BUSL-1.1
[codex:978089]      2	pragma solidity 0.8.25;
[codex:978089]      3	
[codex:978089]      4	import "./DepositToken.sol";
[codex:978089]      5	
[codex:978089]      6	import "./ERC20DepositTokenFactory.sol";
[codex:978089]      7	import "./ERC20DepositTokenImplementation.sol";
[codex:978089]      8	
[codex:978089]      9	/**
[codex:978089]     10	 * @title ERC20 Deposit Token
[codex:978089]     11	 * @author MetaStreet Labs
[codex:978089]     12	 */
[codex:978089]     13	contract ERC20DepositToken is DepositToken {
[codex:978089]     14	    /**************************************************************************/
[codex:978089]     15	    /* Structures */
[codex:978089]     16	    /**************************************************************************/
[codex:978089]     17	
[codex:978089]     18	    /**
[codex:978089]     19	     * @custom:storage-location erc7201:erc20DepositToken.depositTokenStorage
[codex:978089]     20	     */
[codex:978089] 
[codex:978089] thinking
[codex:978089] **Analyzing delegatecall and msg.sender behavior**
[codex:978089] exec
[codex:978089] /bin/bash -lc 'rg -n "transferCalldata|unwrap" contracts/contracts' in /tmp/codex-multi-ku4ioo1x succeeded in 8ms:
[codex:978089] contracts/contracts/interfaces/ICollateralWrapper.sol:61:    function transferCalldata(
[codex:978089] contracts/contracts/interfaces/ICollateralWrapper.sol:74:    function unwrap(uint256 tokenId, bytes calldata context) external;
[codex:978089] 
[codex:978089] thinking
[codex:978089] **Analyzing potential vulnerabilities and logic checks**
[codex:978089] 
[codex:978089] I'm carefully examining the contract functions for possible exploits—especially around loan receipt encoding/decoding, oracle price handling, admin initialization, token transfer authorization, rounding in scaling, and collateral usage in borrowing and refinancing—to identify any code-level issues or attack vectors. There's a lot going on with cross-checks and reentrancy guards, and I'm evaluating how all the pieces interact, including external wrappers and proxy patterns.
[codex:978089] exec
[codex:978089] /bin/bash -lc "nl -ba contracts/contracts/LoanReceipt.sol | sed -n '1,260p'" in /tmp/codex-multi-ku4ioo1x succeeded in 6ms:
[codex:978089]      1	// SPDX-License-Identifier: BUSL-1.1
[codex:978089]      2	pragma solidity 0.8.25;
[codex:978089]      3	
[codex:978089]      4	/**
[codex:978089]      5	 * @title LoanReceipt
[codex:978089]      6	 * @author MetaStreet Labs
[codex:978089]      7	 */
[codex:978089]      8	library LoanReceipt {
[codex:978089]      9	    /**************************************************************************/
[codex:978089]     10	    /* Errors */
[codex:978089]     11	    /**************************************************************************/
[codex:978089]     12	
[codex:978089]     13	    /**
[codex:978089]     14	     * @notice Invalid receipt encoding
[codex:978089]     15	     */
[codex:978089]     16	    error InvalidReceiptEncoding();
[codex:978089]     17	
[codex:978089]     18	    /**************************************************************************/
[codex:978089]     19	    /* Constants */
[codex:978089]     20	    /**************************************************************************/
[codex:978089] 
[codex:978089] 
[codex:978089] thinking
[codex:978089] **Analyzing potential vulnerabilities and logic checks**
[codex:978089] 
[codex:978089] I'm carefully reviewing Withdraw, Rebalance, and BorrowLogic functions for unchecked external calls and ownership validations. I'm verifying protections like nonReentrant guards, correct redemption handling, token transfers, and overflow/underflow risks. There’s a lot about safeTransfer, reentrancy, and state update ordering, plus intricate logic around ticks and collateral wrappers. I'm also considering edge cases like duplicate ticks, oracle price manipulation, and delegate permissions, aiming to spot real exploitable issues versus intended behavior.
[codex:978089] thinking
[codex:978089] **Evaluating accrual and multicall logic complexities**
[codex:978089] 
[codex:978089] I'm tracing how accrual calculations handle multiple loans and ensuring no underflow occurs when adjusting accrued interest. The interplay between accrual timestamps, rates, and elapsed times looks intricate but consistent on deeper inspection. I’m also considering whether multicall combined with nonReentrant might let borrow and repay happen in one transaction, and looking carefully at deposit share pricing to spot any rounding or valuation oddities that could be exploitable.
[codex:978089] exec
[codex:978089] /bin/bash -lc "rg -n \"delegatecall|call\\(\" contracts/contracts" in /tmp/codex-multi-ku4ioo1x exited 1 in 10ms:
[codex:978089] 
[codex:978089] 
[codex:978089] thinking
[codex:978089] **Adjusting search terms for accuracy**
[codex:978089] exec
[codex:978089] /bin/bash -lc 'rg -n "delegatecall" contracts/contracts' in /tmp/codex-multi-ku4ioo1x exited 1 in 12ms:
[codex:978089] 
[codex:978089] 
[codex:978089] thinking
[codex:978089] **Examining delegatecall and reentrancy risks**
[codex:978089] 
[codex:978089] I'm analyzing the use of delegatecall, especially in Multicall, and how reentrancy protection interacts with same-block checks on borrow, repay, and refinance functions. I’m also reviewing potential bugs related to deposit token supply calculations, balance accounting during redemptions, missing Approval events on transfers, and possible vulnerabilities in withdrawal of admin fees and DepositToken hooks. This careful pass helps clarify any subtle attack vectors.
[codex:978089] exec
[codex:978089] /bin/bash -lc "nl -ba contracts/contracts/tokenization/DepositToken.sol | sed -n '1,200p'" in /tmp/codex-multi-ku4ioo1x succeeded in 6ms:
[codex:978089]      1	// SPDX-License-Identifier: MIT
[codex:978089]      2	pragma solidity ^0.8.0;
[codex:978089]      3	
[codex:978089]      4	/**
[codex:978089]      5	 * @title Deposit Token API
[codex:978089]      6	 * @author MetaStreet Labs
[codex:978089]      7	 */
[codex:978089]      8	abstract contract DepositToken {
[codex:978089]      9	    /**************************************************************************/
[codex:978089]     10	    /* Events */
[codex:978089]     11	    /**************************************************************************/
[codex:978089]     12	
[codex:978089]     13	    /**
[codex:978089]     14	     * @notice Emitted when deposit token created
[codex:978089]     15	     * @param instance Instance address
[codex:978089]     16	     * @param implementation Implementation address
[codex:978089]     17	     * @param tick Tick
[codex:978089]     18	     */
[codex:978089]     19	    event TokenCreated(address indexed instance, address indexed implementation, uint128 indexed tick);
[codex:978089]     20	
[codex:978089] 
[codex:978089] thinking
[codex:978089] **Analyzing potential vulnerabilities and initialization risks**
[codex:978089] exec
[codex:978089] /bin/bash -lc "rg -n \"Factory|create|deploy|initialize\\(\" contracts/contracts" in /tmp/codex-multi-ku4ioo1x succeeded in 9ms:
[codex:978089] contracts/contracts/LiquidityLogic.sol:565:    function initialize(Liquidity storage liquidity) internal {
[codex:978089] contracts/contracts/oracle/ExternalPriceOracle.sol:42:    function __initialize(address addr) internal {
[codex:978089] contracts/contracts/configurations/WeightedRateCollectionPool.sol:61:    function initialize(bytes memory params) external {
[codex:978089] contracts/contracts/configurations/WeightedRateCollectionPool.sol:74:        CollectionCollateralFilter._initialize(collateralTokens_);
[codex:978089] contracts/contracts/configurations/WeightedRateCollectionPool.sol:77:        ExternalPriceOracle.__initialize(priceOracle_);
[codex:978089] contracts/contracts/configurations/WeightedRateCollectionPool.sol:80:        Pool._initialize(currencyToken_, durations_, rates_);
[codex:978089] contracts/contracts/filters/CollectionCollateralFilter.sol:36:    function _initialize(address[] memory tokens) internal {
[codex:978089] contracts/contracts/Pool.sol:265:    function _initialize(address currencyToken_, uint64[] memory durations_, uint64[] memory rates_) internal {
[codex:978089] contracts/contracts/Pool.sol:288:        _storage.liquidity.initialize();
[codex:978089] contracts/contracts/Pool.sol:1064:        /* Validate caller is deposit token created by Pool */
[codex:978089] contracts/contracts/tokenization/ERC20DepositTokenFactory.sol:9: * @title ERC20 Deposit Token Factory
[codex:978089] contracts/contracts/tokenization/ERC20DepositTokenFactory.sol:12:library ERC20DepositTokenFactory {
[codex:978089] contracts/contracts/tokenization/ERC20DepositTokenFactory.sol:18:    function deploy(uint128 tick) external returns (address) {
[codex:978089] contracts/contracts/tokenization/ERC20DepositTokenFactory.sol:22:            abi.encodeWithSignature("initialize(bytes)", abi.encode(tick))
[codex:978089] contracts/contracts/tokenization/ERC20DepositTokenFactory.sol:27:            Create2.deploy(
[codex:978089] contracts/contracts/tokenization/ERC20DepositToken.sol:6:import "./ERC20DepositTokenFactory.sol";
[codex:978089] contracts/contracts/tokenization/ERC20DepositToken.sol:98:        tokenInstance = ERC20DepositTokenFactory.deploy(tick);
[codex:978089] contracts/contracts/tokenization/ERC20DepositTokenImplementation.sol:131:    function initialize(bytes memory params) external {
[codex:978089] contracts/contracts/tokenization/DepositToken.sol:14:     * @notice Emitted when deposit token created
[codex:978089] 
[codex:978089] thinking
[codex:978089] **Analyzing potential initialization and scaling vulnerabilities**
[codex:978089] exec
[codex:978089] /bin/bash -lc "nl -ba contracts/contracts/tokenization/ERC20DepositTokenImplementation.sol | sed -n '260,360p'" in /tmp/codex-multi-ku4ioo1x succeeded in 6ms:
[codex:978089]    260	     * @return Duration in seconds
[codex:978089]    261	     */
[codex:978089]    262	    function duration() external view returns (uint64) {
[codex:978089]    263	        (, uint256 durationIndex, , ) = _tick.decode(Tick.BASIS_POINTS_SCALE);
[codex:978089]    264	        return _pool.durations()[durationIndex];
[codex:978089]    265	    }
[codex:978089]    266	
[codex:978089]    267	    /**
[codex:978089]    268	     * @notice Tick rate
[codex:978089]    269	     * @return Rate in interest per second
[codex:978089]    270	     */
[codex:978089]    271	    function rate() external view returns (uint64) {
[codex:978089]    272	        (, , uint256 rateIndex, ) = _tick.decode(Tick.BASIS_POINTS_SCALE);
[codex:978089]    273	        return _pool.rates()[rateIndex];
[codex:978089]    274	    }
[codex:978089]    275	
[codex:978089]    276	    /**
[codex:978089]    277	     * @notice Currency token
[codex:978089]    278	     * @return Address of currency token
[codex:978089]    279	     */
[codex:978089] 
[codex:978089] 
[codex:978089] thinking
[codex:978089] **Examining potential financial and logic bugs**
[codex:978089] thinking
[codex:978089] **Assessing access and liquidation controls**
[codex:978089] exec
[codex:978089] /bin/bash -lc "nl -ba contracts/contracts/interfaces/ICollateralLiquidator.sol | sed -n '1,200p'" in /tmp/codex-multi-ku4ioo1x succeeded in 6ms:
[codex:978089]      1	// SPDX-License-Identifier: MIT
[codex:978089]      2	pragma solidity ^0.8.0;
[codex:978089]      3	
[codex:978089]      4	/**
[codex:978089]      5	 * @title Interface to a Collateral Liquidator
[codex:978089]      6	 */
[codex:978089]      7	interface ICollateralLiquidator {
[codex:978089]      8	    /**
[codex:978089]      9	     * @notice Get collateral liquidator name
[codex:978089]     10	     * @return Collateral liquidator name
[codex:978089]     11	     */
[codex:978089]     12	    function name() external view returns (string memory);
[codex:978089]     13	
[codex:978089]     14	    /**
[codex:978089]     15	     * @notice Liquidate collateral
[codex:978089]     16	     * @param currencyToken Currency token
[codex:978089]     17	     * @param collateralToken Collateral token, either underlying token or collateral wrapper
[codex:978089]     18	     * @param collateralTokenId Collateral token ID
[codex:978089]     19	     * @param collateralWrapperContext Collateral wrapper context
[codex:978089]     20	     * @param liquidationContext Liquidation callback context
[codex:978089] 
[codex:978089] 
[codex:978089] thinking
[codex:978089] **Analyzing potential vulnerabilities and accounting logic**
[codex:978089] thinking
[codex:978089] **Evaluating initialization risks and remaining audit scope**
[codex:978089] 
[codex:978089] I'm considering potential exploit paths from uninitialized pools and admin takeover, but no clear profit emerges. I want to make sure the entire AUDIT_BUNDLE.txt is fully reviewed before concluding, so I plan to list files within it to check for any overlooked parts.
[codex:978089] exec
[codex:978089] /bin/bash -lc 'rg -n "''^FILE:" AUDIT_BUNDLE.txt' in /tmp/codex-multi-ku4ioo1x succeeded in 8ms:
[codex:978089] 4:FILE: contracts/contracts/BorrowLogic.sol
[codex:978089] 539:FILE: contracts/contracts/DepositLogic.sol
[codex:978089] 706:FILE: contracts/contracts/LiquidityLogic.sol
[codex:978089] 1463:FILE: contracts/contracts/LoanReceipt.sol
[codex:978089] 1680:FILE: contracts/contracts/Pool.sol
[codex:978089] 2829:FILE: contracts/contracts/Tick.sol
[codex:978089] 3013:FILE: contracts/contracts/configurations/WeightedRateCollectionPool.sol
[codex:978089] 3110:FILE: contracts/contracts/filters/CollateralFilter.sol
[codex:978089] 3174:FILE: contracts/contracts/filters/CollectionCollateralFilter.sol
[codex:978089] 3278:FILE: contracts/contracts/integrations/DelegateCash/IDelegateRegistryV1.sol
[codex:978089] 3383:FILE: contracts/contracts/integrations/DelegateCash/IDelegateRegistryV2.sol
[codex:978089] 3478:FILE: contracts/contracts/interfaces/ICollateralLiquidationReceiver.sol
[codex:978089] 3497:FILE: contracts/contracts/interfaces/ICollateralLiquidator.sol
[codex:978089] 3530:FILE: contracts/contracts/interfaces/ICollateralWrapper.sol
[codex:978089] 3609:FILE: contracts/contracts/interfaces/ILiquidity.sol
[codex:978089] 3717:FILE: contracts/contracts/interfaces/IPool.sol
[codex:978089] 4116:FILE: contracts/contracts/interfaces/IPriceOracle.sol
[codex:978089] 4144:FILE: contracts/contracts/oracle/ExternalPriceOracle.sol
[codex:978089] 4247:FILE: contracts/contracts/oracle/PriceOracle.sol
[codex:978089] 4280:FILE: contracts/contracts/rates/InterestRateModel.sol
[codex:978089] 
[codex:978089] thinking
[codex:978089] **Verifying no concrete exploit**
[codex:978089] exec
[codex:978089] /bin/bash -lc 'cat codex-output-schema.json' in /tmp/codex-multi-ku4ioo1x succeeded in 5ms:
[codex:978089] {"type": "object", "additionalProperties": false, "required": ["no_findings", "summary", "findings"], "properties": {"no_findings": {"type": "boolean"}, "summary": {"type": "string"}, "findings": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["severity", "category", "title", "evidence", "locations", "exploit_scenario", "recommendation"], "properties": {"severity": {"type": "string", "enum": ["info", "low", "medium", "high", "critical"]}, "category": {"type": "string", "enum": ["access_control", "reentrancy", "math", "oracle", "upgradeability", "auth", "other"]}, "title": {"type": "string"}, "exploit_scenario": {"type": "string"}, "recommendation": {"type": "string"}, "evidence": {"type": "string"}, "locations": {"type": "array", "items": {"type": "string"}}}}}}}
[codex:978089] 
[codex:978089] thinking
[codex:978089] **Preparing JSON output for no findings**
[codex:978089] codex
[codex:978089] {"no_findings":true,"summary":"No concrete, exploitable path to extract value was identified in the reviewed contracts.","findings":[]}
[codex:978089] tokens used
[codex:978089] 229,819
[codex:978089] {"no_findings":true,"summary":"No concrete, exploitable path to extract value was identified in the reviewed contracts.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-01T00:07:45.977542+00:00",
        "returncode": 0
    },
    "summary": "No concrete, exploitable path to extract value was identified in the reviewed contracts.",
    "raw_final": {
        "summary": "No concrete, exploitable path to extract value was identified in the reviewed contracts.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
26
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
12
EXT*/BALANCE
13
Total opcodes
15247
Flags
delegatecall_present create_opcodes_present heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH2 0x0120
00000003: DUP1
00000004: PUSH1 0x40
00000006: MSTORE
00000007: PUSH1 0x04
00000009: CALLDATASIZE
0000000a: LT
0000000b: ISZERO
0000000c: PUSH2 0x0013
0000000f: JUMPI
00000010: PUSH0
00000011: DUP1
00000012: REVERT
00000013: JUMPDEST
00000014: PUSH0
00000015: PUSH1 0xc0
00000017: MSTORE
00000018: PUSH0
00000019: CALLDATALOAD
0000001a: PUSH1 0xe0
0000001c: SHR
0000001d: SWAP1
0000001e: DUP2
0000001f: PUSH3 0xa3fecd
00000023: EQ
00000024: PUSH2 0x3ae3
00000027: JUMPI
00000028: POP
00000029: DUP1
0000002a: PUSH4 0x01ffc9a7
0000002f: EQ
00000030: PUSH2 0x3a8d
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0x0a81c2e7
0000003a: EQ
0000003b: PUSH2 0x3a71
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0x12ac2e0a
00000045: EQ
00000046: PUSH2 0x38ae
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0x1721539b
00000050: EQ
00000051: PUSH2 0x35d0
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0x1b1c7405
0000005b: EQ
0000005c: PUSH2 0x34e9
0000005f: JUMPI
00000060: DUP1
00000061: PUSH4 0x1fbdd72d
00000066: EQ
00000067: PUSH2 0x34a3
0000006a: JUMPI
0000006b: DUP1
0000006c: PUSH4 0x202d5c6b
00000071: EQ
00000072: PUSH2 0x345e
00000075: JUMPI
00000076: DUP1
00000077: PUSH4 0x2630c12f
0000007c: EQ
0000007d: PUSH2 0x3428
00000080: JUMPI
00000081: DUP1
00000082: PUSH4 0x2d896b2a
00000087: EQ
00000088: PUSH2 0x3409
0000008b: JUMPI
0000008c: DUP1
0000008d: PUSH4 0x382b2da8
00000092: EQ
00000093: PUSH2 0x330d
00000096: JUMPI
00000097: DUP1
00000098: PUSH4 0x439fab91
0000009d: EQ
0000009e: PUSH2 0x2e70
000000a1: JUMPI
000000a2: DUP1
000000a3: PUSH4 0x43f48fbd
000000a8: EQ
000000a9: PUSH2 0x2da1
000000ac: JUMPI
000000ad: DUP1
000000ae: PUSH4 0x4a41d89d
000000b3: EQ
000000b4: PUSH2 0x2c6b
000000b7: JUMPI
000000b8: DUP1
000000b9: PUSH4 0x5c4c16a0
000000be: EQ
000000bf: PUSH2 0x2baf
000000c2: JUMPI
000000c3: DUP1
000000c4: PUSH4 0x673d9f57
000000c9: EQ
000000ca: PUSH2 0x2b1b
000000cd: JUMPI
000000ce: DUP1
000000cf: PUSH4 0x69e73160
000000d4: EQ
000000d5: PUSH2 0x2a17
000000d8: JUMPI
000000d9: DUP1
000000da: PUSH4 0x6b2fa374
000000df: EQ
000000e0: PUSH2 0x29ed
000000e3: JUMPI
000000e4: DUP1
000000e5: PUSH4 0x6c2bb22d
000000ea: EQ
000000eb: PUSH2 0x2972
000000ee: JUMPI
000000ef: DUP1
000000f0: PUSH4 0x6df7c514
000000f5: EQ
000000f6: PUSH2 0x2077
000000f9: JUMPI
000000fa: DUP1
000000fb: PUSH4 0x72410887
00000100: EQ
00000101: PUSH2 0x1cde
00000104: JUMPI
00000105: DUP1
00000106: PUSH4 0x754b377c
0000010b: EQ
0000010c: PUSH2 0x1c98
0000010f: JUMPI
00000110: DUP1
00000111: PUSH4 0x7e27c50f
00000116: EQ
00000117: PUSH2 0x1b2a
0000011a: JUMPI
0000011b: DUP1
0000011c: PUSH4 0x85dd9206
00000121: EQ
00000122: PUSH2 0x1ae5
00000125: JUMPI
00000126: DUP1
00000127: PUSH4 0x8846a31b
0000012c: EQ
0000012d: PUSH2 0x1a9f
00000130: JUMPI
00000131: DUP1
00000132: PUSH4 0x8a2ecb4d
00000137: EQ
00000138: PUSH2 0x194c
0000013b: JUMPI
0000013c: DUP1
0000013d: PUSH4 0x8cece527
00000142: EQ
00000143: PUSH2 0x1924
00000146: JUMPI
00000147: DUP1
00000148: PUSH4 0x8f9f8daa
0000014d: EQ
0000014e: PUSH2 0x18c5
00000151: JUMPI
00000152: DUP1
00000153: PUSH4 0x92dd4f24
00000158: EQ
00000159: PUSH2 0x174e
0000015c: JUMPI
0000015d: DUP1
0000015e: PUSH4 0x92e8519f
00000163: EQ
00000164: PUSH2 0x1708
00000167: JUMPI
00000168: DUP1
00000169: PUSH4 0x951d4dd9
0000016e: EQ
0000016f: PUSH2 0x16ad
00000172: JUMPI
00000173: DUP1
00000174: PUSH4 0x9d9705b8
00000179: EQ
0000017a: PUSH2 0x1572
0000017d: JUMPI
0000017e: DUP1
0000017f: PUSH4 0xa5615e3b
00000184: EQ
00000185: PUSH2 0x1500
00000188: JUMPI
00000189: DUP1
0000018a: PUSH4 0xa64eee28
0000018f: EQ
00000190: PUSH2 0x145e
00000193: JUMPI
00000194: DUP1
00000195: PUSH4 0xac9615f0
0000019a: EQ
0000019b: PUSH2 0x13a2
0000019e: JUMPI
0000019f: DUP1
000001a0: PUSH4 0xac9650d8
000001a5: EQ
000001a6: PUSH2 0x11a9
000001a9: JUMPI
000001aa: DUP1
000001ab: PUSH4 0xade0c18a
000001b0: EQ
000001b1: PUSH2 0x0f65
000001b4: JUMPI
000001b5: DUP1
000001b6: PUSH4 0xb0630715
000001bb: EQ
000001bc: PUSH2 0x0e4f
000001bf: JUMPI
000001c0: DUP1
000001c1: PUSH4 0xb2016bd4
000001c6: EQ
000001c7: PUSH2 0x0e25
000001ca: JUMPI
000001cb: DUP1
000001cc: PUSH4 0xb9c733b6
000001d1: EQ
000001d2: PUSH2 0x0bc9
000001d5: JUMPI
000001d6: DUP1
000001d7: PUSH4 0xbad99208
000001dc: EQ
000001dd: PUSH2 0x0b79
000001e0: JUMPI
000001e1: DUP1
000001e2: PUSH4 0xc4a90815
000001e7: EQ
000001e8: PUSH2 0x0b27
000001eb: JUMPI
000001ec: DUP1
000001ed: PUSH4 0xc72c2b87
000001f2: EQ
000001f3: PUSH2 0x0a56
000001f6: JUMPI
000001f7: DUP1
000001f8: PUSH4 0xcc0c314a
000001fd: EQ
000001fe: PUSH2 0x0941
00000201: JUMPI
00000202: DUP1
00000203: PUSH4 0xd4763de7
00000208: EQ
00000209: PUSH2 0x083f
0000020c: JUMPI
0000020d: DUP1
0000020e: PUSH4 0xe22ba7ae
00000213: EQ
00000214: PUSH2 0x07f9
00000217: JUMPI
00000218: DUP1
00000219: PUSH4 0xe4674e00
0000021e: EQ
0000021f: PUSH2 0x07db
00000222: JUMPI
00000223: DUP1
00000224: PUSH4 0xe59adeaf
00000229: EQ
0000022a: PUSH2 0x06a2
0000022d: JUMPI
0000022e: DUP1
0000022f: PUSH4 0xe611ac6d
00000234: EQ
00000235: PUSH2 0x0590
00000238: JUMPI
00000239: DUP1
0000023a: PUSH4 0xe965a8ac
0000023f: EQ
00000240: PUSH2 0x0507
00000243: JUMPI
00000244: DUP1
00000245: PUSH4 0xe9ade90e
0000024a: EQ
0000024b: PUSH2 0x04c4
0000024e: JUMPI
0000024f: DUP1
00000250: PUSH4 0xf51a8811
00000255: EQ
00000256: PUSH2 0x0297
00000259: JUMPI
0000025a: PUSH4 0xf851a440
0000025f: EQ
00000260: PUSH2 0x0267
00000263: JUMPI
00000264: PUSH0
00000265: DUP1
00000266: REVERT
00000267: JUMPDEST
00000268: CALLVALUE
00000269: PUSH2 0x0291
0000026c: JUMPI
0000026d: PUSH1 0xc0
0000026f: MLOAD
00000270: CALLDATASIZE
00000271: PUSH1 0x03
00000273: NOT
00000274: ADD
00000275: SLT
00000276: PUSH2 0x0291
00000279: JUMPI
0000027a: PUSH1 0x04
0000027c: SLOAD
0000027d: PUSH1 0x40
0000027f: MLOAD
00000280: PUSH1 0x01
00000282: PUSH1 0x01
00000284: PUSH1 0xa0
00000286: SHL
00000287: SUB
00000288: SWAP1
00000289: SWAP2
0000028a: AND
0000028b: DUP2
0000028c: MSTORE
0000028d: PUSH1 0x20
0000028f: SWAP1
00000290: RETURN
00000291: JUMPDEST
00000292: PUSH1 0xc0
00000294: MLOAD
00000295: DUP1
00000296: REVERT
00000297: JUMPDEST
00000298: CALLVALUE
00000299: PUSH2 0x0291
0000029c: JUMPI
0000029d: PUSH1 0x80
0000029f: CALLDATASIZE
000002a0: PUSH1 0x03
000002a2: NOT
000002a3: ADD
000002a4: SLT
000002a5: PUSH2 0x0291
000002a8: JUMPI
000002a9: PUSH2 0x02b0
000002ac: PUSH2 0x3d6e
000002af: JUMP
000002b0: JUMPDEST
000002b1: PUSH2 0x02b8
000002b4: PUSH2 0x3d84
000002b7: JUMP
000002b8: JUMPDEST
000002b9: PUSH2 0x02c0
000002bc: PUSH2 0x3d9a
000002bf: JUMP
000002c0: JUMPDEST
000002c1: PUSH2 0x02c8
000002c4: PUSH2 0x4719
000002c7: JUMP
000002c8: JUMPDEST
000002c9: PUSH20 0x6a1c0b8f49eb1cd3198012cf3fe170945226296d
000002de: SWAP2
000002df: PUSH1 0x40
000002e1: MLOAD
000002e2: SWAP2
000002e3: PUSH4 0x7221bad7
000002e8: PUSH1 0xe1
000002ea: SHL
000002eb: DUP4
000002ec: MSTORE
000002ed: PUSH1 0x01
000002ef: PUSH1 0x04
000002f1: DUP5
000002f2: ADD
000002f3: MSTORE
000002f4: PUSH1 0x01
000002f6: DUP1
000002f7: PUSH1 0x80
000002f9: SHL
000002fa: SUB
000002fb: DUP1
000002fc: DUP1
000002fd: SWAP7
000002fe: AND
000002ff: SWAP2
00000300: DUP3
00000301: PUSH1 0x24
00000303: DUP7
00000304: ADD
00000305: MSTORE
00000306: AND
00000307: SWAP2
00000308: DUP3
00000309: PUSH1 0x44
0000030b: DUP6
0000030c: ADD
0000030d: MSTORE
0000030e: PUSH1 0x40
00000310: DUP5
00000311: PUSH1 0x64
00000313: DUP2
00000314: DUP9
00000315: GAS
00000316: DELEGATECALL
00000317: SWAP5
00000318: DUP6
00000319: ISZERO
0000031a: PUSH2 0x047d
0000031d: JUMPI
0000031e: PUSH1 0xc0
00000320: MLOAD
00000321: SWAP5
00000322: PUSH1 0xc0
00000324: MLOAD
00000325: SWAP7
00000326: PUSH2 0x048a
00000329: JUMPI
0000032a: JUMPDEST
0000032b: POP
0000032c: SWAP5
0000032d: PUSH1 0x20
0000032f: PUSH2 0x035c
00000332: SWAP6
00000333: SWAP7
00000334: PUSH2 0x033e
00000337: PUSH1 0x64
00000339: CALLDATALOAD
0000033a: PUSH2 0x5161
0000033d: JUMP
0000033e: JUMPDEST
0000033f: SWAP1
00000340: PUSH1 0x40
00000342: MLOAD
00000343: DUP1
00000344: DUP1
00000345: SWAP10
00000346: DUP2
00000347: SWAP5
00000348: PUSH4 0x284a2713
0000034d: PUSH1 0xe0
0000034f: SHL
00000350: DUP4
00000351: MSTORE
00000352: DUP8
00000353: DUP10
00000354: PUSH1 0x04
00000356: DUP6
00000357: ADD
00000358: PUSH2 0x45a5
0000035b: JUMP
0000035c: JUMPDEST
0000035d: SUB
0000035e: SWAP2
0000035f: GAS
00000360: DELEGATECALL
00000361: SWAP1
00000362: DUP2
00000363: ISZERO
00000364: PUSH2 0x047d
00000367: JUMPI
00000368: DUP8
00000369: SWAP6
0000036a: PUSH1 0xc0
0000036c: MLOAD
0000036d: SWAP3
0000036e: PUSH2 0x0437
00000371: JUMPI
00000372: JUMPDEST
00000373: POP
00000374: PUSH2 0x0433
00000377: SWAP6
00000378: PUSH2 0x0381
0000037b: SWAP2
0000037c: AND
0000037d: PUSH2 0x479e
00000380: JUMP
00000381: JUMPDEST
00000382: SWAP4
00000383: DUP8
00000384: DUP3
00000385: AND
00000386: SWAP4
00000387: PUSH2 0x0391
0000038a: DUP6
0000038b: DUP6
0000038c: CALLER
0000038d: PUSH2 0x51ca
00000390: JUMP
00000391: JUMPDEST
00000392: PUSH1 0x40
00000394: DUP1
00000395: MLOAD
00000396: PUSH1 0x01
00000398: PUSH1 0x01
0000039a: PUSH1 0x80
0000039c: SHL
0000039d: SUB
0000039e: DUP11
0000039f: AND
000003a0: DUP2
000003a1: MSTORE
000003a2: PUSH1 0x20
000003a4: DUP2
000003a5: ADD
000003a6: DUP9
000003a7: SWAP1
000003a8: MSTORE
000003a9: CALLER
000003aa: SWAP2
000003ab: PUSH32 0x354770e7f865c755f9fd808af7814ca3995ae730bcf14887fb0b6d301b18f3f7
000003cc: SWAP2
000003cd: LOG4
000003ce: PUSH1 0x40
000003d0: DUP1
000003d1: MLOAD
000003d2: DUP6
000003d3: DUP2
000003d4: MSTORE
000003d5: PUSH1 0x01
000003d7: PUSH1 0x01
000003d9: PUSH1 0x80
000003db: SHL
000003dc: SUB
000003dd: SWAP3
000003de: SWAP1
000003df: SWAP3
000003e0: AND
000003e1: PUSH1 0x20
000003e3: DUP4
000003e4: ADD
000003e5: MSTORE
000003e6: SWAP2
000003e7: DUP8
000003e8: AND
000003e9: SWAP2
000003ea: CALLER
000003eb: SWAP2
000003ec: PUSH32 0xd3d9500b000f4b80b8f9aea0e7ce7d135560d7775a63356999a9f3efd4f5edf8
0000040d: SWAP2
0000040e: SWAP1
0000040f: LOG3
00000410: PUSH1 0x01
00000412: PUSH1 0xc0
00000414: MLOAD
00000415: SSTORE
00000416: PUSH1 0x40
00000418: MLOAD
00000419: SWAP5
0000041a: DUP6
0000041b: SWAP5
0000041c: AND
0000041d: DUP5
0000041e: PUSH1 0x40
00000420: SWAP2
00000421: SWAP5
00000422: SWAP4
00000423: SWAP3
00000424: PUSH1 0x60
00000426: DUP3
00000427: ADD
00000428: SWAP6
00000429: DUP3
0000042a: MSTORE
0000042b: PUSH1 0x20
0000042d: DUP3
0000042e: ADD
0000042f: MSTORE
00000430: ADD
00000431: MSTORE
00000432: JUMP
00000433: JUMPDEST
00000434: SUB
00000435: SWAP1
00000436: RETURN
00000437: JUMPDEST
00000438: SWAP6
00000439: POP
0000043a: SWAP1
0000043b: POP
0000043c: PUSH1 0x20
0000043e: DUP6
0000043f: RETURNDATASIZE
00000440: PUSH1 0x20
00000442: GT
00000443: PUSH2 0x0475
00000446: JUMPI
00000447: JUMPDEST
00000448: DUP2
00000449: PUSH2 0x0454
0000044c: PUSH1 0x20
0000044e: SWAP4
0000044f: DUP4
00000450: PUSH2 0x3cb8
00000453: JUMP
00000454: JUMPDEST
00000455: DUP2
00000456: ADD
00000457: SUB
00000458: SLT
00000459: PUSH2 0x0291
0000045c: JUMPI
0000045d: PUSH2 0x0381
00000460: DUP8
00000461: PUSH2 0x046c
00000464: PUSH2 0x0433
00000467: SWAP8
00000468: PUSH2 0x3f4a
0000046b: JUMP
0000046c: JUMPDEST
0000046d: SWAP3
0000046e: SWAP2
0000046f: POP
00000470: SWAP6
00000471: PUSH2 0x0372
00000474: JUMP
00000475: JUMPDEST
00000476: RETURNDATASIZE
00000477: SWAP2
00000478: POP
00000479: PUSH2 0x0447
0000047c: JUMP
0000047d: JUMPDEST
0000047e: PUSH1 0x40
00000480: MLOAD
00000481: RETURNDATASIZE
00000482: PUSH1 0xc0
00000484: MLOAD
00000485: DUP3
00000486: RETURNDATACOPY
00000487: RETURNDATASIZE
00000488: SWAP1
00000489: REVERT
0000048a: JUMPDEST
0000048b: PUSH1 0x20
0000048d: SWAP7
0000048e: POP
0000048f: PUSH2 0x035c
00000492: SWAP6
00000493: POP
00000494: PUSH2 0x04b4
00000497: SWAP1
00000498: PUSH1 0x40
0000049a: RETURNDATASIZE
0000049b: PUSH1 0x40
0000049d: GT
0000049e: PUSH2 0x04bd
000004a1: JUMPI
000004a2: JUMPDEST
000004a3: PUSH2 0x04ac
000004a6: DUP2
000004a7: DUP4
000004a8: PUSH2 0x3cb8
000004ab: JUMP
000004ac: JUMPDEST
000004ad: DUP2
000004ae: ADD
000004af: SWAP1
000004b0: PUSH2 0x45cf
000004b3: JUMP
000004b4: JUMPDEST
000004b5: SWAP7
000004b6: SWAP1
000004b7: SWAP6
000004b8: POP
000004b9: PUSH2 0x032a
000004bc: JUMP
000004bd: JUMPDEST
000004be: POP
000004bf: RETURNDATASIZE
000004c0: PUSH2 0x04a2
000004c3: JUMP
000004c4: JUMPDEST
000004c5: CALLVALUE
000004c6: PUSH2 0x0291
000004c9: JUMPI
000004ca: PUSH1 0xc0
000004cc: MLOAD
000004cd: CALLDATASIZE
000004ce: PUSH1 0x03
000004d0: NOT
000004d1: ADD
000004d2: SLT
000004d3: PUSH2 0x0291
000004d6: JUMPI
000004d7: PUSH0
000004d8: DUP1
000004d9: MLOAD
000004da: PUSH1 0x20
000004dc: PUSH2 0x5b9f
000004df: DUP4
000004e0: CODECOPY
000004e1: DUP2
000004e2: MLOAD
000004e3: SWAP2
000004e4: MSTORE
000004e5: SLOAD
000004e6: PUSH1 0x40
000004e8: DUP1
000004e9: MLOAD
000004ea: PUSH1 0x01
000004ec: PUSH1 0x01
000004ee: PUSH1 0xa0
000004f0: SHL
000004f1: SUB
000004f2: DUP4
000004f3: AND
000004f4: DUP2
000004f5: MSTORE
000004f6: PUSH1 0xa0
000004f8: SWAP3
000004f9: SWAP1
000004fa: SWAP3
000004fb: SHR
000004fc: PUSH2 0xffff
000004ff: AND
00000500: PUSH1 0x20
00000502: DUP4
00000503: ADD
00000504: MSTORE
00000505: SWAP1
00000506: RETURN
00000507: JUMPDEST
00000508: CALLVALUE
00000509: PUSH2 0x0291
0000050c: JUMPI
0000050d: PUSH1 0xa0
0000050f: CALLDATASIZE
00000510: PUSH1 0x03
00000512: NOT
00000513: ADD
00000514: SLT
00000515: PUSH2 0x0291
00000518: JUMPI
00000519: PUSH2 0x0520
0000051c: PUSH2 0x3c0b
0000051f: JUMP
00000520: JUMPDEST
00000521: PUSH2 0x0528
00000524: PUSH2 0x3bf5
00000527: JUMP
00000528: JUMPDEST
00000529: PUSH1 0x01
0000052b: PUSH1 0x01
0000052d: PUSH1 0x40
0000052f: SHL
00000530: SUB
00000531: SWAP1
00000532: PUSH1 0x44
00000534: CALLDATALOAD
00000535: DUP3
00000536: DUP2
00000537: GT
00000538: PUSH2 0x0291
0000053b: JUMPI
0000053c: PUSH2 0x0549
0000053f: SWAP1
00000540: CALLDATASIZE
00000541: SWAP1
00000542: PUSH1 0x04
00000544: ADD
00000545: PUSH2 0x3e6f
00000548: JUMP
00000549: JUMPDEST
0000054a: SWAP3
0000054b: PUSH1 0x64
0000054d: CALLDATALOAD
0000054e: DUP4
0000054f: DUP2
00000550: GT
00000551: PUSH2 0x0291
00000554: JUMPI
00000555: PUSH2 0x0562
00000558: SWAP1
00000559: CALLDATASIZE
0000055a: SWAP1
0000055b: PUSH1 0x04
0000055d: ADD
0000055e: PUSH2 0x3e6f
00000561: JUMP
00000562: JUMPDEST
00000563: PUSH1 0x84
00000565: CALLDATALOAD
00000566: SWAP4
00000567: DUP5
00000568: GT
00000569: PUSH2 0x0291
0000056c: JUMPI
0000056d: PUSH1 0x20
0000056f: SWAP5
00000570: PUSH2 0x0580
00000573: PUSH2 0x0588
00000576: SWAP6
00000577: CALLDATASIZE
00000578: SWAP1
00000579: PUSH1 0x04
0000057b: ADD
0000057c: PUSH2 0x3b84
0000057f: JUMP
00000580: JUMPDEST
00000581: SWAP5
00000582: SWAP1
00000583: SWAP4
00000584: PUSH2 0x4641
00000587: JUMP
00000588: JUMPDEST
00000589: PUSH1 0x40
0000058b: MLOAD
0000058c: SWAP1
0000058d: DUP2
0000058e: MSTORE
0000058f: RETURN
00000590: JUMPDEST
00000591: CALLVALUE
00000592: PUSH2 0x0291
00000595: JUMPI
00000596: PUSH1 0x20
00000598: CALLDATASIZE
00000599: PUSH1 0x03
0000059b: NOT
0000059c: ADD
0000059d: SLT
0000059e: PUSH2 0x0291
000005a1: JUMPI
000005a2: PUSH2 0x0160
000005a5: PUSH2 0x05ac
000005a8: PUSH2 0x3d6e
000005ab: JUMP
000005ac: JUMPDEST
000005ad: PUSH2 0x05b4
000005b0: PUSH2 0x43b3
000005b3: JUMP
000005b4: JUMPDEST
000005b5: POP
000005b6: PUSH2 0x05bd
000005b9: PUSH2 0x45f0
000005bc: JUMP
000005bd: JUMPDEST
000005be: POP
000005bf: PUSH2 0x05c6
000005c2: PUSH2 0x43b3
000005c5: JUMP
000005c6: JUMPDEST
000005c7: POP
000005c8: PUSH2 0x05cf
000005cb: PUSH2 0x45f0
000005ce: JUMP
000005cf: JUMPDEST
000005d0: POP
000005d1: PUSH1 0x01
000005d3: DUP1
000005d4: PUSH1 0x80
000005d6: SHL
000005d7: SUB
000005d8: DUP1
000005d9: SWAP2
000005da: AND
000005db: SWAP1
000005dc: DUP2
000005dd: PUSH1 0xc0
000005df: MLOAD
000005e0: MSTORE
000005e1: PUSH1 0x06
000005e3: PUSH1 0x20
000005e5: MSTORE
000005e6: PUSH1 0x05
000005e8: PUSH1 0x40
000005ea: PUSH1 0xc0
000005ec: MLOAD
000005ed: KECCAK256
000005ee: DUP1
000005ef: SLOAD
000005f0: PUSH1 0x01
000005f2: DUP3
000005f3: ADD
000005f4: SLOAD
000005f5: DUP5
000005f6: PUSH1 0x03
000005f8: DUP5
000005f9: ADD
000005fa: SLOAD
000005fb: AND
000005fc: SWAP1
000005fd: PUSH1 0x02
000005ff: DUP5
00000600: ADD
00000601: SLOAD
00000602: SWAP3
00000603: PUSH1 0x40
00000605: MLOAD
00000606: SWAP8
00000607: PUSH2 0x060f
0000060a: DUP10
0000060b: PUSH2 0x3c66
0000060e: JUMP
0000060f: JUMPDEST
00000610: DUP9
00000611: MSTORE
00000612: DUP7
00000613: DUP2
00000614: AND
00000615: PUSH1 0x20
00000617: DUP10
00000618: ADD
00000619: MSTORE
0000061a: PUSH1 0x80
0000061c: SHR
0000061d: PUSH1 0x40
0000061f: DUP9
00000620: ADD
00000621: MSTORE
00000622: DUP6
00000623: DUP2
00000624: AND
00000625: PUSH1 0x60
00000627: DUP9
00000628: ADD
00000629: MSTORE
0000062a: PUSH1 0x80
0000062c: SHR
0000062d: PUSH1 0x80
0000062f: DUP8
00000630: ADD
00000631: MSTORE
00000632: PUSH1 0xa0
00000634: DUP7
00000635: ADD
00000636: MSTORE
00000637: DUP4
00000638: DUP2
00000639: AND
0000063a: PUSH1 0xc0
0000063c: DUP7
0000063d: ADD
0000063e: MSTORE
0000063f: PUSH1 0x80
00000641: SHR
00000642: PUSH1 0xe0
00000644: DUP6
00000645: ADD
00000646: MSTORE
00000647: ADD
00000648: SLOAD
00000649: PUSH1 0x01
0000064b: PUSH1 0x01
0000064d: PUSH1 0x40
0000064f: SHL
00000650: SUB
00000651: DUP1
00000652: SWAP3
00000653: PUSH1 0x40
00000655: MLOAD
00000656: SWAP1
00000657: PUSH2 0x065f
0000065a: DUP3
0000065b: PUSH2 0x3c82
0000065e: JUMP
0000065f: JUMPDEST
00000660: DUP1
00000661: DUP5
00000662: AND
00000663: DUP3
00000664: MSTORE
00000665: PUSH1 0x20
00000667: DUP3
00000668: ADD
00000669: SWAP2
0000066a: DUP4
0000066b: DUP6
0000066c: PUSH1 0x80
0000066e: SHR
0000066f: AND
00000670: DUP4
00000671: MSTORE
00000672: PUSH1 0x40
00000674: DUP2
00000675: ADD
00000676: SWAP5
00000677: PUSH1 0xc0
00000679: SHR
0000067a: DUP6
0000067b: MSTORE
0000067c: PUSH2 0x0688
0000067f: PUSH1 0x40
00000681: MLOAD
00000682: DUP1
00000683: SWAP9
00000684: PUSH2 0x3db0
00000687: JUMP
00000688: JUMPDEST
00000689: MLOAD
0000068a: AND
0000068b: PUSH2 0x0100
0000068e: DUP7
0000068f: ADD
00000690: MSTORE
00000691: MLOAD
00000692: AND
00000693: PUSH2 0x0120
00000696: DUP5
00000697: ADD
00000698: MSTORE
00000699: MLOAD
0000069a: AND
0000069b: PUSH2 0x0140
0000069e: DUP3
0000069f: ADD
000006a0: MSTORE
000006a1: RETURN
000006a2: JUMPDEST
000006a3: CALLVALUE
000006a4: PUSH2 0x0291
000006a7: JUMPI
000006a8: PUSH1 0x40
000006aa: CALLDATASIZE
000006ab: PUSH1 0x03
000006ad: NOT
000006ae: ADD
000006af: SLT
000006b0: PUSH2 0x0291
000006b3: JUMPI
000006b4: PUSH2 0x06bb
000006b7: PUSH2 0x3d6e
000006ba: JUMP
000006bb: JUMPDEST
000006bc: PUSH2 0x06c3
000006bf: PUSH2 0x3d84
000006c2: JUMP
000006c3: JUMPDEST
000006c4: PUSH2 0x06cb
000006c7: PUSH2 0x4719
000006ca: JUMP
000006cb: JUMPDEST
000006cc: PUSH1 0x40
000006ce: DUP1
000006cf: MLOAD
000006d0: PUSH4 0x7221bad7
000006d5: PUSH1 0xe1
000006d7: SHL
000006d8: DUP2
000006d9: MSTORE
000006da: PUSH1 0x01
000006dc: PUSH1 0x04
000006de: DUP3
000006df: ADD
000006e0: MSTORE
000006e1: PUSH1 0x01
000006e3: PUSH1 0x01
000006e5: PUSH1 0x80
000006e7: SHL
000006e8: SUB
000006e9: SWAP4
000006ea: DUP5
000006eb: AND
000006ec: PUSH1 0x24
000006ee: DUP3
000006ef: ADD
000006f0: DUP2
000006f1: SWAP1
000006f2: MSTORE
000006f3: SWAP3
000006f4: DUP5
000006f5: AND
000006f6: PUSH1 0x44
000006f8: DUP3
000006f9: ADD
000006fa: DUP2
000006fb: SWAP1
000006fc: MSTORE
000006fd: SWAP4
000006fe: SWAP1
000006ff: SWAP3
00000700: SWAP2
00000701: DUP4
00000702: PUSH1 0x64
00000704: DUP2
00000705: PUSH20 0x6a1c0b8f49eb1cd3198012cf3fe170945226296d
0000071a: GAS
0000071b: DELEGATECALL
0000071c: SWAP4
0000071d: DUP5
0000071e: ISZERO
0000071f: PUSH2 0x047d
00000722: JUMPI
00000723: PUSH1 0x40
00000725: SWAP5
00000726: PUSH1 0xc0
00000728: MLOAD
00000729: SWAP5
0000072a: PUSH1 0xc0
0000072c: MLOAD
0000072d: SWAP2
0000072e: PUSH2 0x07b3
00000731: JUMPI
00000732: JUMPDEST
00000733: POP
00000734: DUP3
00000735: PUSH2 0x073e
00000738: SWAP2
00000739: AND
0000073a: PUSH2 0x479e
0000073d: JUMP
0000073e: JUMPDEST
0000073f: SWAP3
00000740: DUP4
00000741: PUSH2 0x0795
00000744: JUMPI
00000745: JUMPDEST
00000746: DUP6
00000747: MLOAD
00000748: PUSH1 0x01
0000074a: PUSH1 0x01
0000074c: PUSH1 0x80
0000074e: SHL
0000074f: SUB
00000750: DUP7
00000751: AND
00000752: DUP2
00000753: MSTORE
00000754: PUSH1 0x20
00000756: DUP2
00000757: ADD
00000758: DUP6
00000759: SWAP1
0000075a: MSTORE
0000075b: CALLER
0000075c: SWAP1
0000075d: PUSH32 0x354770e7f865c755f9fd808af7814ca3995ae730bcf14887fb0b6d301b18f3f7
0000077e: SWAP1
0000077f: PUSH1 0x40
00000781: SWAP1
00000782: LOG4
00000783: PUSH1 0x01
00000785: PUSH1 0xc0
00000787: MLOAD
00000788: SSTORE
00000789: DUP4
0000078a: MLOAD
0000078b: SWAP3
0000078c: AND
0000078d: DUP3
0000078e: MSTORE
0000078f: PUSH1 0x20
00000791: DUP3
00000792: ADD
00000793: MSTORE
00000794: RETURN
00000795: JUMPDEST
00000796: PUSH1 0x01
00000798: SLOAD
00000799: PUSH2 0x07ae
0000079c: SWAP1
0000079d: DUP6
0000079e: SWAP1
0000079f: CALLER
000007a0: SWAP1
000007a1: PUSH1 0x01
000007a3: PUSH1 0x01
000007a5: PUSH1 0xa0
000007a7: SHL
000007a8: SUB
000007a9: AND
000007aa: PUSH2 0x4811
000007ad: JUMP
000007ae: JUMPDEST
000007af: PUSH2 0x0745
000007b2: JUMP
000007b3: JUMPDEST
000007b4: DUP4
000007b5: SWAP6
000007b6: POP
000007b7: PUSH2 0x073e
000007ba: SWAP2
000007bb: POP
000007bc: PUSH2 0x07d1
000007bf: SWAP1
000007c0: DUP8
000007c1: RETURNDATASIZE
000007c2: DUP10
000007c3: GT
000007c4: PUSH2 0x04bd
000007c7: JUMPI
000007c8: PUSH2 0x04ac
000007cb: DUP2
000007cc: DUP4
000007cd: PUSH2 0x3cb8
000007d0: JUMP
000007d1: JUMPDEST
000007d2: SWAP6
000007d3: SWAP1
000007d4: SWAP6
000007d5: SWAP2
000007d6: POP
000007d7: PUSH2 0x0732
000007da: JUMP
000007db: JUMPDEST
000007dc: CALLVALUE
000007dd: PUSH2 0x0291
000007e0: JUMPI
000007e1: PUSH1 0xc0
000007e3: MLOAD
000007e4: CALLDATASIZE
000007e5: PUSH1 0x03
000007e7: NOT
000007e8: ADD
000007e9: SLT
000007ea: PUSH2 0x0291
000007ed: JUMPI
000007ee: PUSH1 0x20
000007f0: PUSH1 0x40
000007f2: MLOAD
000007f3: PUSH2 0x03e8
000007f6: DUP2
000007f7: MSTORE
000007f8: RETURN
000007f9: JUMPDEST
000007fa: CALLVALUE
000007fb: PUSH2 0x0291
000007fe: JUMPI
000007ff: PUSH1 0xc0
00000801: MLOAD
00000802: CALLDATASIZE
00000803: PUSH1 0x03
00000805: NOT
00000806: ADD
00000807: SLT
00000808: PUSH2 0x0291
0000080b: JUMPI
0000080c: PUSH1 0x40
0000080e: MLOAD
0000080f: PUSH32 0x000000000000000000000000e0194f47040e2424b8a65cb5f7112a5dbe1f93bf
00000830: PUSH1 0x01
00000832: PUSH1 0x01
00000834: PUSH1 0xa0
00000836: SHL
00000837: SUB
00000838: AND
00000839: DUP2
0000083a: MSTORE
0000083b: PUSH1 0x20
0000083d: SWAP1
0000083e: RETURN
0000083f: JUMPDEST
00000840: CALLVALUE
00000841: PUSH2 0x0291
00000844: JUMPI
00000845: PUSH1 0x60
00000847: CALLDATASIZE
00000848: PUSH1 0x03
0000084a: NOT
0000084b: ADD
0000084c: SLT
0000084d: PUSH2 0x0291
00000850: JUMPI
00000851: PUSH2 0x0858
00000854: PUSH2 0x3c0b
00000857: JUMP
00000858: JUMPDEST
00000859: PUSH2 0x0860
0000085c: PUSH2 0x3d84
0000085f: JUMP
00000860: JUMPDEST
00000861: PUSH2 0x0868
00000864: PUSH2 0x3d9a
00000867: JUMP
00000868: JUMPDEST
00000869: PUSH1 0x40
0000086b: MLOAD
0000086c: PUSH4 0x1e82c22f
00000871: PUSH1 0xe1
00000873: SHL
00000874: DUP2
00000875: MSTORE
00000876: PUSH1 0x01
00000878: PUSH1 0x04
0000087a: DUP3
0000087b: ADD
0000087c: MSTORE
0000087d: PUSH1 0x01
0000087f: PUSH1 0x01
00000881: PUSH1 0xa0
00000883: SHL
00000884: SUB
00000885: SWAP1
00000886: SWAP4
00000887: AND
00000888: PUSH1 0x24
0000088a: DUP5
0000088b: ADD
0000088c: MSTORE
0000088d: PUSH1 0x01
0000088f: PUSH1 0x01
00000891: PUSH1 0x80
00000893: SHL
00000894: SUB
00000895: SWAP2
00000896: DUP3
00000897: AND
00000898: PUSH1 0x44
0000089a: DUP5
0000089b: ADD
0000089c: MSTORE
0000089d: AND
0000089e: PUSH1 0x64
000008a0: DUP3
000008a1: ADD
000008a2: MSTORE
000008a3: PUSH1 0x60
000008a5: DUP2
000008a6: PUSH1 0x84
000008a8: DUP2
000008a9: PUSH20 0x6a1c0b8f49eb1cd3198012cf3fe170945226296d
000008be: GAS
000008bf: DELEGATECALL
000008c0: SWAP1
000008c1: DUP2
000008c2: ISZERO
000008c3: PUSH2 0x047d
000008c6: JUMPI
000008c7: PUSH1 0xc0
000008c9: MLOAD
000008ca: SWAP2
000008cb: DUP3
000008cc: SWAP2
000008cd: DUP3
000008ce: SWAP2
000008cf: PUSH2 0x08fe
000008d2: JUMPI
000008d3: JUMPDEST
000008d4: POP
000008d5: PUSH2 0x08e0
000008d8: PUSH2 0x0433
000008db: SWAP2
000008dc: PUSH2 0x479e
000008df: JUMP
000008e0: JUMPDEST
000008e1: SWAP3
000008e2: PUSH1 0x40
000008e4: MLOAD
000008e5: SWAP4
000008e6: DUP5
000008e7: SWAP4
000008e8: DUP5
000008e9: PUSH1 0x40
000008eb: SWAP2
000008ec: SWAP5
000008ed: SWAP4
000008ee: SWAP3
000008ef: PUSH1 0x60
000008f1: DUP3
000008f2: ADD
000008f3: SWAP6
000008f4: DUP3
000008f5: MSTORE
000008f6: PUSH1 0x20
000008f8: DUP3
000008f9: ADD
000008fa: MSTORE
000008fb: ADD
000008fc: MSTORE
000008fd: JUMP
000008fe: JUMPDEST
000008ff: SWAP3
00000900: POP
00000901: POP
00000902: POP
00000903: PUSH1 0x60
00000905: DUP2
00000906: RETURNDATASIZE
00000907: PUSH1 0x60
00000909: GT
0000090a: PUSH2 0x0939
0000090d: JUMPI
0000090e: JUMPDEST
0000090f: DUP2
00000910: PUSH2 0x091b
00000913: PUSH1 0x60
00000915: SWAP4
00000916: DUP4
00000917: PUSH2 0x3cb8
0000091a: JUMP
0000091b: JUMPDEST
0000091c: DUP2
0000091d: ADD
0000091e: SUB
0000091f: SLT
00000920: PUSH2 0x0291
00000923: JUMPI
00000924: DUP1
00000925: MLOAD
00000926: PUSH1 0x20
00000928: DUP3
00000929: ADD
0000092a: MLOAD
0000092b: PUSH1 0x40
0000092d: SWAP1
0000092e: SWAP3
0000092f: ADD
00000930: MLOAD
00000931: SWAP2
00000932: PUSH2 0x08e0
00000935: PUSH2 0x08d3
00000938: JUMP
00000939: JUMPDEST
0000093a: RETURNDATASIZE
0000093b: SWAP2
0000093c: POP
0000093d: PUSH2 0x090e
00000940: JUMP
00000941: JUMPDEST
00000942: CALLVALUE
00000943: PUSH2 0x0291
00000946: JUMPI
00000947: PUSH1 0x40
00000949: CALLDATASIZE
0000094a: PUSH1 0x03
0000094c: NOT
0000094d: ADD
0000094e: SLT
0000094f: PUSH2 0x0291
00000952: JUMPI
00000953: PUSH2 0x095a
00000956: PUSH2 0x3d6e
00000959: JUMP
0000095a: JUMPDEST
0000095b: PUSH1 0x24
0000095d: CALLDATALOAD
0000095e: PUSH2 0x0965
00000961: PUSH2 0x4719
00000964: JUMP
00000965: JUMPDEST
00000966: PUSH2 0x096e
00000969: DUP2
0000096a: PUSH2 0x5161
0000096d: JUMP
0000096e: JUMPDEST
0000096f: PUSH1 0x40
00000971: MLOAD
00000972: PUSH4 0x2edaf343
00000977: PUSH1 0xe2
00000979: SHL
0000097a: DUP2
0000097b: MSTORE
0000097c: PUSH1 0x01
0000097e: PUSH1 0x04
00000980: DUP3
00000981: ADD
00000982: MSTORE
00000983: PUSH1 0x01
00000985: PUSH1 0x01
00000987: PUSH1 0x80
00000989: SHL
0000098a: SUB
0000098b: DUP1
0000098c: DUP6
0000098d: AND
0000098e: PUSH1 0x24
00000990: DUP4
00000991: ADD
00000992: DUP2
00000993: SWAP1
00000994: MSTORE
00000995: SWAP3
00000996: DUP2
00000997: AND
00000998: PUSH1 0x44
0000099a: DUP4
0000099b: ADD
0000099c: MSTORE
0000099d: PUSH1 0x20
0000099f: SWAP5
000009a0: SWAP3
000009a1: SWAP4
000009a2: SWAP3
000009a3: SWAP1
000009a4: SWAP2
000009a5: DUP6
000009a6: DUP2
000009a7: PUSH1 0x64
000009a9: DUP2
000009aa: PUSH20 0x6a1c0b8f49eb1cd3198012cf3fe170945226296d
000009bf: GAS
000009c0: DELEGATECALL
000009c1: SWAP1
000009c2: DUP2
000009c3: ISZERO
000009c4: PUSH2 0x047d
000009c7: JUMPI
000009c8: DUP5
000009c9: SWAP1
000009ca: PUSH1 0xc0
000009cc: MLOAD
000009cd: SWAP3
000009ce: PUSH2 0x0a1b
000009d1: JUMPI
000009d2: JUMPDEST
000009d3: POP
000009d4: PUSH2 0x09de
000009d7: SWAP2
000009d8: SWAP3
000009d9: CALLER
000009da: PUSH2 0x524e
000009dd: JUMP
000009de: JUMPDEST
000009df: AND
000009e0: SWAP2
000009e1: DUP3
000009e2: SWAP2
000009e3: PUSH1 0x40
000009e5: MLOAD
000009e6: SWAP1
000009e7: DUP2
000009e8: MSTORE
000009e9: PUSH32 0x3ac2f453c81511b46084827fa6798fc6c8f7da31176e5be199525d49e59c7675
00000a0a: DUP6
00000a0b: CALLER
00000a0c: SWAP3
00000a0d: LOG4
00000a0e: PUSH1 0x01
00000a10: PUSH1 0xc0
00000a12: MLOAD
00000a13: SSTORE
00000a14: PUSH1 0x40
00000a16: MLOAD
00000a17: SWAP1
00000a18: DUP2
00000a19: MSTORE
00000a1a: RETURN
00000a1b: JUMPDEST
00000a1c: DUP1
00000a1d: SWAP3
00000a1e: POP
00000a1f: DUP8
00000a20: DUP1
00000a21: SWAP3
00000a22: POP
00000a23: RETURNDATASIZE
00000a24: DUP4
00000a25: GT
00000a26: PUSH2 0x0a4f
00000a29: JUMPI
00000a2a: JUMPDEST
00000a2b: PUSH2 0x0a34
00000a2e: DUP2
00000a2f: DUP4
00000a30: PUSH2 0x3cb8
00000a33: JUMP
00000a34: JUMPDEST
00000a35: DUP2
00000a36: ADD
00000a37: SUB
00000a38: SLT
00000a39: PUSH2 0x0291
00000a3c: JUMPI
00000a3d: DUP4
00000a3e: PUSH2 0x0a49
00000a41: PUSH2 0x09de
00000a44: SWAP3
00000a45: PUSH2 0x3f4a
00000a48: JUMP
00000a49: JUMPDEST
00000a4a: SWAP2
00000a4b: PUSH2 0x09d2
00000a4e: JUMP
00000a4f: JUMPDEST
00000a50: POP
00000a51: RETURNDATASIZE
00000a52: PUSH2 0x0a2a
00000a55: JUMP
00000a56: JUMPDEST
00000a57: CALLVALUE
00000a58: PUSH2 0x0291
00000a5b: JUMPI
00000a5c: PUSH1 0x60
00000a5e: CALLDATASIZE
00000a5f: PUSH1 0x03
00000a61: NOT
00000a62: ADD
00000a63: SLT
00000a64: PUSH2 0x0291
00000a67: JUMPI
00000a68: PUSH1 0x60
00000a6a: PUSH2 0x0a71
00000a6d: PUSH2 0x3c0b
00000a70: JUMP
00000a71: JUMPDEST
00000a72: PUSH2 0x0a79
00000a75: PUSH2 0x3d84
00000a78: JUMP
00000a79: JUMPDEST
00000a7a: PUSH2 0x0a81
00000a7d: PUSH2 0x3d9a
00000a80: JUMP
00000a81: JUMPDEST
00000a82: SWAP2
00000a83: PUSH1 0x01
00000a85: DUP1
00000a86: PUSH1 0xa0
00000a88: SHL
00000a89: SUB
00000a8a: AND
00000a8b: DUP1
00000a8c: PUSH1 0xc0
00000a8e: MLOAD
00000a8f: MSTORE
00000a90: PUSH1 0x20
00000a92: SWAP2
00000a93: PUSH1 0x07
00000a95: DUP4
00000a96: MSTORE
00000a97: PUSH1 0x40
00000a99: PUSH1 0xc0
00000a9b: MLOAD
00000a9c: KECCAK256
00000a9d: SWAP4
00000a9e: PUSH1 0x01
00000aa0: DUP1
00000aa1: PUSH1 0x80
00000aa3: SHL
00000aa4: SUB
00000aa5: DUP1
00000aa6: SWAP3
00000aa7: AND
00000aa8: SWAP5
00000aa9: DUP6
00000aaa: PUSH0
00000aab: MSTORE
00000aac: DUP5
00000aad: MSTORE
00000aae: DUP2
00000aaf: PUSH1 0x01
00000ab1: PUSH1 0x40
00000ab3: PUSH0
00000ab4: KECCAK256
00000ab5: ADD
00000ab6: SWAP2
00000ab7: AND
00000ab8: SWAP1
00000ab9: DUP2
00000aba: PUSH0
00000abb: MSTORE
00000abc: DUP5
00000abd: MSTORE
00000abe: DUP2
00000abf: PUSH1 0x40
00000ac1: PUSH0
00000ac2: KECCAK256
00000ac3: SLOAD
00000ac4: AND
00000ac5: SWAP5
00000ac6: DUP4
00000ac7: PUSH1 0xc0
00000ac9: MLOAD
00000aca: MSTORE
00000acb: PUSH1 0x07
00000acd: DUP6
00000ace: MSTORE
00000acf: PUSH1 0x40
00000ad1: PUSH1 0xc0
00000ad3: MLOAD
00000ad4: KECCAK256
00000ad5: DUP2
00000ad6: PUSH0
00000ad7: MSTORE
00000ad8: DUP6
00000ad9: MSTORE
00000ada: PUSH1 0x01
00000adc: PUSH1 0x40
00000ade: PUSH0
00000adf: KECCAK256
00000ae0: ADD
00000ae1: DUP3
00000ae2: PUSH0
00000ae3: MSTORE
00000ae4: DUP6
00000ae5: MSTORE
00000ae6: PUSH1 0x40
00000ae8: PUSH0
00000ae9: KECCAK256
00000aea: SLOAD
00000aeb: PUSH1 0x80
00000aed: SHR
00000aee: SWAP4
00000aef: PUSH1 0xc0
00000af1: MLOAD
00000af2: MSTORE
00000af3: PUSH1 0x07
00000af5: DUP6
00000af6: MSTORE
00000af7: PUSH1 0x40
00000af9: PUSH1 0xc0
00000afb: MLOAD
00000afc: KECCAK256
00000afd: SWAP1
00000afe: PUSH0
00000aff: MSTORE
00000b00: DUP5
00000b01: MSTORE
00000b02: PUSH1 0x01
00000b04: PUSH1 0x40
00000b06: PUSH0
00000b07: KECCAK256
00000b08: ADD
00000b09: SWAP1
00000b0a: PUSH0
00000b0b: MSTORE
00000b0c: DUP4
00000b0d: MSTORE
00000b0e: PUSH1 0x01
00000b10: PUSH1 0x40
00000b12: PUSH0
00000b13: KECCAK256
00000b14: ADD
00000b15: SLOAD
00000b16: AND
00000b17: SWAP2
00000b18: PUSH1 0x40
00000b1a: MLOAD
00000b1b: SWAP4
00000b1c: DUP5
00000b1d: MSTORE
00000b1e: DUP4
00000b1f: ADD
00000b20: MSTORE
00000b21: PUSH1 0x40
00000b23: DUP3
00000b24: ADD
00000b25: MSTORE
00000b26: RETURN
00000b27: JUMPDEST
00000b28: CALLVALUE
00000b29: PUSH2 0x0291
00000b2c: JUMPI
00000b2d: PUSH1 0x20
00000b2f: CALLDATASIZE
00000b30: PUSH1 0x03
00000b32: NOT
00000b33: ADD
00000b34: SLT
00000b35: PUSH2 0x0291
00000b38: JUMPI
00000b39: PUSH1 0x04
00000b3b: CALLDATALOAD
00000b3c: PUSH1 0xc0
00000b3e: MLOAD
00000b3f: MSTORE
00000b40: PUSH1 0x08
00000b42: PUSH1 0x20
00000b44: MSTORE
00000b45: PUSH1 0xff
00000b47: PUSH1 0x40
00000b49: PUSH1 0xc0
00000b4b: MLOAD
00000b4c: KECCAK256
00000b4d: SLOAD
00000b4e: AND
00000b4f: PUSH1 0x40
00000b51: MLOAD
00000b52: PUSH1 0x05
00000b54: DUP3
00000b55: LT
00000b56: ISZERO
00000b57: PUSH2 0x0b61
00000b5a: JUMPI
00000b5b: PUSH1 0x20
00000b5d: SWAP2
00000b5e: DUP2
00000b5f: MSTORE
00000b60: RETURN
00000b61: JUMPDEST
00000b62: PUSH4 0x4e487b71
00000b67: PUSH1 0xe0
00000b69: SHL
00000b6a: PUSH1 0xc0
00000b6c: MLOAD
00000b6d: MSTORE
00000b6e: PUSH1 0x21
00000b70: PUSH1 0x04
00000b72: MSTORE
00000b73: PUSH1 0x24
00000b75: PUSH1 0xc0
00000b77: MLOAD
00000b78: REVERT
00000b79: JUMPDEST
00000b7a: CALLVALUE
00000b7b: PUSH2 0x0291
00000b7e: JUMPI
00000b7f: PUSH1 0x20
00000b81: CALLDATASIZE
00000b82: PUSH1 0x03
00000b84: NOT
00000b85: ADD
00000b86: SLT
00000b87: PUSH2 0x0291
00000b8a: JUMPI
00000b8b: PUSH1 0x01
00000b8d: PUSH1 0x01
00000b8f: PUSH1 0x80
00000b91: SHL
00000b92: SUB
00000b93: PUSH2 0x0b9a
00000b96: PUSH2 0x3d6e
00000b99: JUMP
00000b9a: JUMPDEST
00000b9b: AND
00000b9c: PUSH1 0xc0
00000b9e: MLOAD
00000b9f: MSTORE
00000ba0: PUSH0
00000ba1: DUP1
00000ba2: MLOAD
00000ba3: PUSH1 0x20
00000ba5: PUSH2 0x5b5f
00000ba8: DUP4
00000ba9: CODECOPY
00000baa: DUP2
00000bab: MLOAD
00000bac: SWAP2
00000bad: MSTORE
00000bae: PUSH1 0x20
00000bb0: MSTORE
00000bb1: PUSH1 0x20
00000bb3: PUSH1 0x01
00000bb5: DUP1
00000bb6: PUSH1 0xa0
00000bb8: SHL
00000bb9: SUB
00000bba: PUSH1 0x40
00000bbc: PUSH1 0xc0
00000bbe: MLOAD
00000bbf: KECCAK256
00000bc0: SLOAD
00000bc1: AND
00000bc2: PUSH1 0x40
00000bc4: MLOAD
00000bc5: SWAP1
00000bc6: DUP2
00000bc7: MSTORE
00000bc8: RETURN
00000bc9: JUMPDEST
00000bca: CALLVALUE
00000bcb: PUSH2 0x0291
00000bce: JUMPI
00000bcf: PUSH1 0x20
00000bd1: CALLDATASIZE
00000bd2: PUSH1 0x03
00000bd4: NOT
00000bd5: ADD
00000bd6: SLT
00000bd7: PUSH2 0x0291
00000bda: JUMPI
00000bdb: PUSH1 0x04
00000bdd: CALLDATALOAD
00000bde: PUSH1 0x01
00000be0: PUSH1 0x01
00000be2: PUSH1 0x40
00000be4: SHL
00000be5: SUB
00000be6: DUP2
00000be7: GT
00000be8: PUSH2 0x0291
00000beb: JUMPI
00000bec: PUSH2 0x0bf9
00000bef: SWAP1
00000bf0: CALLDATASIZE
00000bf1: SWAP1
00000bf2: PUSH1 0x04
00000bf4: ADD
00000bf5: PUSH2 0x3b84
00000bf8: JUMP
00000bf9: JUMPDEST
00000bfa: PUSH2 0x0c01
00000bfd: PUSH2 0x4719
00000c00: JUMP
00000c01: JUMPDEST
00000c02: PUSH20 0x8811d9b44b04e91c9707215b1862b2f98b1a1a24
00000c17: SWAP2
00000c18: PUSH1 0x40
00000c1a: MLOAD
00000c1b: SWAP2
00000c1c: PUSH4 0x76157645
00000c21: PUSH1 0xe1
00000c23: SHL
00000c24: DUP4
00000c25: MSTORE
00000c26: PUSH1 0x01
00000c28: PUSH1 0x04
00000c2a: DUP5
00000c2b: ADD
00000c2c: MSTORE
00000c2d: DUP3
00000c2e: DUP1
00000c2f: PUSH2 0x0c5b
00000c32: PUSH0
00000c33: DUP1
00000c34: MLOAD
00000c35: PUSH1 0x20
00000c37: PUSH2 0x5b9f
00000c3a: DUP4
00000c3b: CODECOPY
00000c3c: DUP2
00000c3d: MLOAD
00000c3e: SWAP2
00000c3f: MSTORE
00000c40: SWAP5
00000c41: DUP6
00000c42: PUSH1 0x24
00000c44: DUP5
00000c45: ADD
00000c46: MSTORE
00000c47: PUSH1 0x60
00000c49: PUSH1 0x44
00000c4b: DUP5
00000c4c: ADD
00000c4d: MSTORE
00000c4e: PUSH1 0xc0
00000c50: MLOAD
00000c51: SWAP5
00000c52: PUSH1 0x64
00000c54: DUP5
00000c55: ADD
00000c56: SWAP2
00000c57: PUSH2 0x40df
00000c5a: JUMP
00000c5b: JUMPDEST
00000c5c: SUB
00000c5d: DUP2
00000c5e: DUP7
00000c5f: GAS
00000c60: DELEGATECALL
00000c61: SWAP1
00000c62: DUP2
00000c63: ISZERO
00000c64: PUSH2 0x047d
00000c67: JUMPI
00000c68: PUSH1 0xc0
00000c6a: MLOAD
00000c6b: SWAP3
00000c6c: DUP4
00000c6d: SWAP3
00000c6e: DUP4
00000c6f: SWAP2
00000c70: DUP3
00000c71: SWAP2
00000c72: PUSH2 0x0df2
00000c75: JUMPI
00000c76: JUMPDEST
00000c77: POP
00000c78: PUSH2 0x0c80
00000c7b: SWAP1
00000c7c: PUSH2 0x47e4
00000c7f: JUMP
00000c80: JUMPDEST
00000c81: PUSH1 0xe0
00000c83: DUP6
00000c84: ADD
00000c85: DUP1
00000c86: MLOAD
00000c87: PUSH2 0x0100
00000c8a: DUP8
00000c8b: ADD
00000c8c: DUP1
00000c8d: MLOAD
00000c8e: PUSH1 0x01
00000c90: PUSH1 0x01
00000c92: PUSH1 0xa0
00000c94: SHL
00000c95: SUB
00000c96: SWAP10
00000c97: SWAP5
00000c98: SWAP9
00000c99: SWAP5
00000c9a: SWAP2
00000c9b: SWAP4
00000c9c: SWAP3
00000c9d: DUP11
00000c9e: AND
00000c9f: SWAP1
00000ca0: DUP3
00000ca1: EXTCODESIZE
00000ca2: ISZERO
00000ca3: PUSH2 0x0291
00000ca6: JUMPI
00000ca7: PUSH2 0x0d0d
00000caa: SWAP3
00000cab: PUSH1 0x40
00000cad: MLOAD
00000cae: DUP1
00000caf: DUP1
00000cb0: SWAP6
00000cb1: DUP2
00000cb2: SWAP5
00000cb3: PUSH4 0x34e96005
00000cb8: PUSH1 0xe0
00000cba: SHL
00000cbb: DUP4
00000cbc: MSTORE
00000cbd: PUSH1 0xc0
00000cbf: MLOAD
00000cc0: SWAP7
00000cc1: PUSH32 0x00000000000000000000000000000000000000447e69651d841bd8d104bed493
00000ce2: SWAP2
00000ce3: PUSH32 0x00000000000000000000000000000000000076a84fef008cdabe6409d2fe638b
00000d04: SWAP2
00000d05: PUSH1 0x04
00000d07: DUP7
00000d08: ADD
00000d09: PUSH2 0x40ff
00000d0c: JUMP
00000d0d: JUMPDEST
00000d0e: SUB
00000d0f: SWAP2
00000d10: GAS
00000d11: DELEGATECALL
00000d12: SWAP1
00000d13: DUP2
00000d14: ISZERO
00000d15: PUSH2 0x047d
00000d18: JUMPI
00000d19: DUP10
00000d1a: SWAP2
00000d1b: PUSH2 0x0dda
00000d1e: JUMPI
00000d1f: JUMPDEST
00000d20: POP
00000d21: DUP1
00000d22: SWAP2
00000d23: PUSH2 0x0d3b
00000d26: DUP10
00000d27: PUSH1 0x80
00000d29: DUP5
00000d2a: PUSH1 0x01
00000d2c: SLOAD
00000d2d: AND
00000d2e: SWAP8
00000d2f: ADD
00000d30: SWAP7
00000d31: DUP5
00000d32: DUP9
00000d33: MLOAD
00000d34: AND
00000d35: ADDRESS
00000d36: SWAP2
00000d37: PUSH2 0x50e9
00000d3a: JUMP
00000d3b: JUMPDEST
00000d3c: MLOAD
00000d3d: AND
00000d3e: SWAP3
00000d3f: MLOAD
00000d40: AND
00000d41: SWAP1
00000d42: MLOAD
00000d43: DUP3
00000d44: EXTCODESIZE
00000d45: ISZERO
00000d46: PUSH2 0x0291
00000d49: JUMPI
00000d4a: PUSH2 0x0d6d
00000d4d: SWAP3
00000d4e: PUSH1 0x40
00000d50: MLOAD
00000d51: DUP1
00000d52: DUP1
00000d53: SWAP6
00000d54: DUP2
00000d55: SWAP5
00000d56: PUSH4 0x23b872dd
00000d5b: PUSH1 0xe0
00000d5d: SHL
00000d5e: DUP4
00000d5f: MSTORE
00000d60: PUSH1 0xc0
00000d62: MLOAD
00000d63: SWAP7
00000d64: ADDRESS
00000d65: PUSH1 0x04
00000d67: DUP6
00000d68: ADD
00000d69: PUSH2 0x4583
00000d6c: JUMP
00000d6d: JUMPDEST
00000d6e: SUB
00000d6f: SWAP2
00000d70: PUSH1 0xc0
00000d72: MLOAD
00000d73: SWAP1
00000d74: GAS
00000d75: CALL
00000d76: DUP1
00000d77: ISZERO
00000d78: PUSH2 0x047d
00000d7b: JUMPI
00000d7c: PUSH2 0x0dc4
00000d7f: JUMPI
00000d80: JUMPDEST
00000d81: POP
00000d82: PUSH1 0x20
00000d84: SWAP5
00000d85: DUP2
00000d86: PUSH2 0x0db1
00000d89: JUMPI
00000d8a: JUMPDEST
00000d8b: POP
00000d8c: POP
00000d8d: POP
00000d8e: PUSH0
00000d8f: DUP1
00000d90: MLOAD
00000d91: PUSH1 0x20
00000d93: PUSH2 0x5b3f
00000d96: DUP4
00000d97: CODECOPY
00000d98: DUP2
00000d99: MLOAD
00000d9a: SWAP2
00000d9b: MSTORE
00000d9c: DUP4
00000d9d: PUSH1 0x40
00000d9f: MLOAD
00000da0: DUP5
00000da1: DUP2
00000da2: MSTORE
00000da3: LOG2
00000da4: PUSH1 0x01
00000da6: PUSH1 0xc0
00000da8: MLOAD
00000da9: SSTORE
00000daa: PUSH1 0x40
00000dac: MLOAD
00000dad: SWAP1
00000dae: DUP2
00000daf: MSTORE
00000db0: RETURN
00000db1: JUMPDEST
00000db2: PUSH2 0x0dbc
00000db5: SWAP3
00000db6: SLOAD
00000db7: AND
00000db8: PUSH2 0x5111
00000dbb: JUMP
00000dbc: JUMPDEST
00000dbd: DUP4
00000dbe: DUP1
00000dbf: DUP1
00000dc0: PUSH2 0x0d8a
00000dc3: JUMP
00000dc4: JUMPDEST
00000dc5: PUSH2 0x0dcd
00000dc8: SWAP1
00000dc9: PUSH2 0x3c37
00000dcc: JUMP
00000dcd: JUMPDEST
00000dce: PUSH1 0xc0
00000dd0: MLOAD
00000dd1: PUSH2 0x0291
00000dd4: JUMPI
00000dd5: DUP6
00000dd6: PUSH2 0x0d80
00000dd9: JUMP
00000dda: JUMPDEST
00000ddb: PUSH2 0x0de4
00000dde: SWAP2
00000ddf: POP
00000de0: PUSH2 0x3c37
00000de3: JUMP
00000de4: JUMPDEST
00000de5: PUSH1 0xc0
00000de7: MLOAD
00000de8: PUSH2 0x0291
00000deb: JUMPI
00000dec: DUP8
00000ded: DUP10
00000dee: PUSH2 0x0d1f
00000df1: JUMP
00000df2: JUMPDEST
00000df3: SWAP2
00000df4: POP
00000df5: POP
00000df6: PUSH2 0x0e19
00000df9: SWAP2
00000dfa: SWAP4
00000dfb: POP
00000dfc: PUSH2 0x0c80
00000dff: SWAP3
00000e00: POP
00000e01: RETURNDATASIZE
00000e02: DUP1
00000e03: PUSH1 0xc0
00000e05: MLOAD
00000e06: DUP4
00000e07: RETURNDATACOPY
00000e08: PUSH2 0x0e11
00000e0b: DUP2
00000e0c: DUP4
00000e0d: PUSH2 0x3cb8
00000e10: JUMP
00000e11: JUMPDEST
00000e12: DUP2
00000e13: ADD
00000e14: SWAP1
00000e15: PUSH2 0x44a6
00000e18: JUMP
00000e19: JUMPDEST
00000e1a: SWAP5
00000e1b: SWAP3
00000e1c: SWAP4
00000e1d: SWAP1
00000e1e: SWAP5
00000e1f: SWAP4
00000e20: SWAP1
00000e21: PUSH2 0x0c76
00000e24: JUMP
00000e25: JUMPDEST
00000e26: CALLVALUE
00000e27: PUSH2 0x0291
00000e2a: JUMPI
00000e2b: PUSH1 0xc0
00000e2d: MLOAD
00000e2e: CALLDATASIZE
00000e2f: PUSH1 0x03
00000e31: NOT
00000e32: ADD
00000e33: SLT
00000e34: PUSH2 0x0291
00000e37: JUMPI
00000e38: PUSH1 0x09
00000e3a: SLOAD
00000e3b: PUSH1 0x40
00000e3d: MLOAD
00000e3e: PUSH1 0x01
00000e40: PUSH1 0x01
00000e42: PUSH1 0xa0
00000e44: SHL
00000e45: SUB
00000e46: SWAP1
00000e47: SWAP2
00000e48: AND
00000e49: DUP2
00000e4a: MSTORE
00000e4b: PUSH1 0x20
00000e4d: SWAP1
00000e4e: RETURN
00000e4f: JUMPDEST
00000e50: CALLVALUE
00000e51: PUSH2 0x0291
00000e54: JUMPI
00000e55: PUSH1 0x20
00000e57: DUP1
00000e58: PUSH1 0x03
00000e5a: NOT
00000e5b: CALLDATASIZE
00000e5c: ADD
00000e5d: SLT
00000e5e: PUSH2 0x0291
00000e61: JUMPI
00000e62: PUSH2 0x0e69
00000e65: PUSH2 0x3c0b
00000e68: JUMP
00000e69: JUMPDEST
00000e6a: PUSH2 0x0e71
00000e6d: PUSH2 0x4719
00000e70: JUMP
00000e71: JUMPDEST
00000e72: PUSH1 0x40
00000e74: MLOAD
00000e75: PUSH4 0xcf7152f1
00000e7a: PUSH1 0xe0
00000e7c: SHL
00000e7d: DUP2
00000e7e: MSTORE
00000e7f: PUSH1 0x01
00000e81: PUSH1 0x04
00000e83: DUP3
00000e84: ADD
00000e85: MSTORE
00000e86: PUSH1 0x01
00000e88: PUSH1 0x01
00000e8a: PUSH1 0xa0
00000e8c: SHL
00000e8d: SUB
00000e8e: DUP3
00000e8f: DUP2
00000e90: AND
00000e91: PUSH1 0x24
00000e93: DUP4
00000e94: ADD
00000e95: DUP2
00000e96: SWAP1
00000e97: MSTORE
00000e98: SWAP4
00000e99: SWAP1
00000e9a: SWAP3
00000e9b: SWAP1
00000e9c: SWAP2
00000e9d: DUP3
00000e9e: DUP2
00000e9f: PUSH1 0x44
00000ea1: DUP2
00000ea2: PUSH20 0x8811d9b44b04e91c9707215b1862b2f98b1a1a24
00000eb7: GAS
00000eb8: DELEGATECALL
00000eb9: SWAP1
00000eba: DUP2
00000ebb: ISZERO
00000ebc: PUSH2 0x047d
00000ebf: JUMPI
00000ec0: PUSH1 0xc0
00000ec2: MLOAD
00000ec3: SWAP2
00000ec4: PUSH2 0x0f14
00000ec7: JUMPI
00000ec8: JUMPDEST
00000ec9: POP
00000eca: PUSH32 0xcdcaff67ac16639664e5f9343c9223a1dc9c972ec367b69ae9fc1325c7be5474
00000eeb: SWAP4
00000eec: PUSH2 0x0ef7
00000eef: PUSH2 0x0f03
00000ef2: SWAP3
00000ef3: PUSH2 0x479e
00000ef6: JUMP
00000ef7: JUMPDEST
00000ef8: SWAP3
00000ef9: DUP4
00000efa: SWAP2
00000efb: PUSH1 0x01
00000efd: SLOAD
00000efe: AND
00000eff: PUSH2 0x4811
00000f02: JUMP
00000f03: JUMPDEST
00000f04: PUSH1 0x40
00000f06: MLOAD
00000f07: SWAP1
00000f08: DUP2
00000f09: MSTORE
00000f0a: LOG2
00000f0b: PUSH1 0xc0
00000f0d: MLOAD
00000f0e: PUSH1 0x01
00000f10: DUP2
00000f11: SSTORE
00000f12: DUP1
00000f13: RETURN
00000f14: JUMPDEST
00000f15: SWAP1
00000f16: POP
00000f17: DUP3
00000f18: DUP2
00000f19: DUP2
00000f1a: RETURNDATASIZE
00000f1b: DUP4
00000f1c: GT
00000f1d: PUSH2 0x0f5e
00000f20: JUMPI
00000f21: JUMPDEST
00000f22: PUSH2 0x0f2b
00000f25: DUP2
00000f26: DUP4
00000f27: PUSH2 0x3cb8
00000f2a: JUMP
00000f2b: JUMPDEST
00000f2c: DUP2
00000f2d: ADD
00000f2e: SUB
00000f2f: SLT
00000f30: PUSH2 0x0f5a
00000f33: JUMPI
00000f34: MLOAD
00000f35: PUSH32 0xcdcaff67ac16639664e5f9343c9223a1dc9c972ec367b69ae9fc1325c7be5474
00000f56: PUSH2 0x0ec8
00000f59: JUMP
00000f5a: JUMPDEST
00000f5b: PUSH0
00000f5c: DUP1
00000f5d: REVERT
00000f5e: JUMPDEST
00000f5f: POP
00000f60: RETURNDATASIZE
00000f61: PUSH2 0x0f21
00000f64: JUMP
00000f65: JUMPDEST
00000f66: CALLVALUE
00000f67: PUSH2 0x0291
00000f6a: JUMPI
00000f6b: PUSH1 0x20
00000f6d: DUP1
00000f6e: PUSH1 0x03
00000f70: NOT
00000f71: CALLDATASIZE
00000f72: ADD
00000f73: SLT
00000f74: PUSH2 0x0291
00000f77: JUMPI
00000f78: PUSH1 0x01
00000f7a: PUSH1 0x01
00000f7c: PUSH1 0x40
00000f7e: SHL
00000f7f: SUB
00000f80: SWAP1
00000f81: PUSH1 0x04
00000f83: CALLDATALOAD
00000f84: DUP3
00000f85: DUP2
00000f86: GT
00000f87: PUSH2 0x0291
00000f8a: JUMPI
00000f8b: PUSH2 0x0f9b
00000f8e: PUSH2 0x1032
00000f91: SWAP2
00000f92: CALLDATASIZE
00000f93: SWAP1
00000f94: PUSH1 0x04
00000f96: ADD
00000f97: PUSH2 0x3b84
00000f9a: JUMP
00000f9b: JUMPDEST
00000f9c: PUSH1 0x40
00000f9e: MLOAD
00000f9f: SWAP4
00000fa0: SWAP2
00000fa1: PUSH2 0x0fa9
00000fa4: DUP6
00000fa5: PUSH2 0x3c4a
00000fa8: JUMP
00000fa9: JUMPDEST
00000faa: PUSH1 0xc0
00000fac: MLOAD
00000fad: DUP6
00000fae: MSTORE
00000faf: PUSH1 0xc0
00000fb1: MLOAD
00000fb2: DUP4
00000fb3: DUP7
00000fb4: ADD
00000fb5: MSTORE
00000fb6: PUSH1 0xc0
00000fb8: MLOAD
00000fb9: PUSH1 0x40
00000fbb: DUP7
00000fbc: ADD
00000fbd: MSTORE
00000fbe: PUSH1 0x60
00000fc0: SWAP2
00000fc1: PUSH1 0xc0
00000fc3: MLOAD
00000fc4: DUP4
00000fc5: DUP8
00000fc6: ADD
00000fc7: MSTORE
00000fc8: PUSH1 0xc0
00000fca: MLOAD
00000fcb: PUSH1 0x80
00000fcd: DUP8
00000fce: ADD
00000fcf: MSTORE
00000fd0: PUSH1 0xc0
00000fd2: MLOAD
00000fd3: PUSH1 0xa0
00000fd5: DUP8
00000fd6: ADD
00000fd7: MSTORE
00000fd8: PUSH1 0xc0
00000fda: MLOAD
00000fdb: PUSH1 0xc0
00000fdd: DUP8
00000fde: ADD
00000fdf: MSTORE
00000fe0: PUSH1 0xc0
00000fe2: MLOAD
00000fe3: PUSH1 0xe0
00000fe5: DUP8
00000fe6: ADD
00000fe7: MSTORE
00000fe8: PUSH2 0x0100
00000feb: PUSH1 0xc0
00000fed: MLOAD
00000fee: DUP2
00000fef: DUP9
00000ff0: ADD
00000ff1: MSTORE
00000ff2: PUSH2 0x0120
00000ff5: SWAP2
00000ff6: PUSH1 0xc0
00000ff8: MLOAD
00000ff9: DUP4
00000ffa: DUP10
00000ffb: ADD
00000ffc: MSTORE
00000ffd: PUSH2 0x0140
00001000: SWAP4
00001001: DUP6
00001002: DUP6
00001003: DUP11
00001004: ADD
00001005: MSTORE
00001006: DUP6
00001007: PUSH2 0x0160
0000100a: DUP1
0000100b: SWAP11
0000100c: ADD
0000100d: MSTORE
0000100e: PUSH1 0x40
00001010: MLOAD
00001011: DUP1
00001012: SWAP9
00001013: DUP2
00001014: SWAP3
00001015: PUSH4 0x088f3721
0000101a: PUSH1 0xe2
0000101c: SHL
0000101d: DUP4
0000101e: MSTORE
0000101f: DUP10
00001020: PUSH1 0x04
00001022: DUP5
00001023: ADD
00001024: MSTORE
00001025: PUSH1 0xc0
00001027: MLOAD
00001028: SWAP5
00001029: PUSH1 0x24
0000102b: DUP5
0000102c: ADD
0000102d: SWAP2
0000102e: PUSH2 0x40df
00001031: JUMP
00001032: JUMPDEST
00001033: SUB
00001034: DUP2
00001035: PUSH20 0x8811d9b44b04e91c9707215b1862b2f98b1a1a24
0000104a: GAS
0000104b: DELEGATECALL
0000104c: SWAP6
0000104d: DUP7
0000104e: ISZERO
0000104f: PUSH2 0x047d
00001052: JUMPI
00001053: PUSH1 0xc0
00001055: MLOAD
00001056: SWAP7
00001057: PUSH2 0x1168
0000105a: JUMPI
0000105b: JUMPDEST
0000105c: POP
0000105d: SWAP7
0000105e: SWAP6
0000105f: SWAP5
00001060: SWAP3
00001061: SWAP4
00001062: SWAP2
00001063: SWAP1
00001064: PUSH2 0xffff
00001067: SWAP1
00001068: PUSH1 0x40
0000106a: MLOAD
0000106b: SWAP9
0000106c: DUP10
0000106d: SWAP9
0000106e: DUP6
0000106f: DUP11
00001070: MSTORE
00001071: PUSH1 0xff
00001073: DUP8
00001074: MLOAD
00001075: AND
00001076: DUP7
00001077: DUP12
00001078: ADD
00001079: MSTORE
0000107a: DUP6
0000107b: DUP8
0000107c: ADD
0000107d: MLOAD
0000107e: PUSH1 0x40
00001080: DUP12
00001081: ADD
00001082: MSTORE
00001083: PUSH1 0x40
00001085: DUP8
00001086: ADD
00001087: MLOAD
00001088: DUP9
00001089: DUP12
0000108a: ADD
0000108b: MSTORE
0000108c: DUP8
0000108d: DUP8
0000108e: ADD
0000108f: MLOAD
00001090: PUSH1 0x80
00001092: DUP12
00001093: ADD
00001094: MSTORE
00001095: PUSH1 0x80
00001097: DUP8
00001098: ADD
00001099: MLOAD
0000109a: SWAP1
0000109b: PUSH1 0x01
0000109d: DUP1
0000109e: PUSH1 0xa0
000010a0: SHL
000010a1: SUB
000010a2: DUP1
000010a3: SWAP3
000010a4: AND
000010a5: PUSH1 0xa0
000010a7: DUP13
000010a8: ADD
000010a9: MSTORE
000010aa: DUP1
000010ab: PUSH1 0xa0
000010ad: DUP10
000010ae: ADD
000010af: MLOAD
000010b0: AND
000010b1: PUSH1 0xc0
000010b3: DUP13
000010b4: ADD
000010b5: MSTORE
000010b6: PUSH1 0xc0
000010b8: DUP9
000010b9: ADD
000010ba: MLOAD
000010bb: AND
000010bc: PUSH1 0xe0
000010be: DUP12
000010bf: ADD
000010c0: MSTORE
000010c1: PUSH1 0xe0
000010c3: DUP8
000010c4: ADD
000010c5: MLOAD
000010c6: AND
000010c7: DUP2
000010c8: DUP11
000010c9: ADD
000010ca: MSTORE
000010cb: DUP6
000010cc: ADD
000010cd: MLOAD
000010ce: DUP2
000010cf: DUP10
000010d0: ADD
000010d1: MSTORE
000010d2: DUP5
000010d3: ADD
000010d4: MLOAD
000010d5: AND
000010d6: DUP2
000010d7: DUP8
000010d8: ADD
000010d9: MSTORE
000010da: DUP3
000010db: ADD
000010dc: MLOAD
000010dd: SWAP4
000010de: PUSH2 0x10f4
000010e1: PUSH2 0x0180
000010e4: SWAP6
000010e5: DUP7
000010e6: DUP4
000010e7: DUP10
000010e8: ADD
000010e9: MSTORE
000010ea: PUSH2 0x01a0
000010ed: DUP9
000010ee: ADD
000010ef: SWAP1
000010f0: PUSH2 0x3b5f
000010f3: JUMP
000010f4: JUMPDEST
000010f5: SWAP3
000010f6: ADD
000010f7: MLOAD
000010f8: SWAP4
000010f9: PUSH1 0x1f
000010fb: NOT
000010fc: DUP7
000010fd: DUP5
000010fe: SUB
000010ff: ADD
00001100: SWAP1
00001101: DUP7
00001102: ADD
00001103: MSTORE
00001104: DUP1
00001105: DUP1
00001106: DUP6
00001107: MLOAD
00001108: SWAP4
00001109: DUP5
0000110a: DUP2
0000110b: MSTORE
0000110c: ADD
0000110d: SWAP5
0000110e: ADD
0000110f: SWAP3
00001110: PUSH1 0xc0
00001112: MLOAD
00001113: SWAP1
00001114: JUMPDEST
00001115: DUP4
00001116: DUP3
00001117: LT
00001118: PUSH2 0x1121
0000111b: JUMPI
0000111c: DUP7
0000111d: DUP7
0000111e: SUB
0000111f: DUP8
00001120: RETURN
00001121: JUMPDEST
00001122: SWAP2
00001123: DUP5
00001124: SWAP7
00001125: POP
00001126: DUP3
00001127: DUP7
00001128: PUSH2 0x1158
0000112b: PUSH1 0x01
0000112d: SWAP5
0000112e: SWAP7
0000112f: SWAP9
00001130: DUP5
00001131: SWAP9
00001132: MLOAD
00001133: PUSH1 0x40
00001135: SWAP1
00001136: DUP2
00001137: PUSH1 0x01
00001139: DUP1
0000113a: PUSH1 0x80
0000113c: SHL
0000113d: SUB
0000113e: SWAP2
0000113f: DUP3
00001140: DUP2
00001141: MLOAD
00001142: AND
00001143: DUP6
00001144: MSTORE
00001145: DUP3
00001146: PUSH1 0x20
00001148: DUP3
00001149: ADD
0000114a: MLOAD
0000114b: AND
0000114c: PUSH1 0x20
0000114e: DUP7
0000114f: ADD
00001150: MSTORE
00001151: ADD
00001152: MLOAD
00001153: AND
00001154: SWAP2
00001155: ADD
00001156: MSTORE
00001157: JUMP
00001158: JUMPDEST
00001159: ADD
0000115a: SWAP7
0000115b: ADD
0000115c: SWAP3
0000115d: ADD
0000115e: DUP7
0000115f: SWAP6
00001160: SWAP5
00001161: SWAP3
00001162: SWAP4
00001163: SWAP2
00001164: PUSH2 0x1114
00001167: JUMP
00001168: JUMPDEST
00001169: SWAP2
0000116a: SWAP1
0000116b: SWAP6
0000116c: POP
0000116d: RETURNDATASIZE
0000116e: DUP1
0000116f: PUSH1 0xc0
00001171: MLOAD
00001172: DUP5
00001173: RETURNDATACOPY
00001174: PUSH2 0x117d
00001177: DUP2
00001178: DUP5
00001179: PUSH2 0x3cb8
0000117c: JUMP
0000117d: JUMPDEST
0000117e: DUP3
0000117f: ADD
00001180: SWAP2
00001181: DUP6
00001182: DUP2
00001183: DUP5
00001184: SUB
00001185: SLT
00001186: PUSH2 0x0291
00001189: JUMPI
0000118a: DUP1
0000118b: MLOAD
0000118c: SWAP3
0000118d: DUP10
0000118e: DUP5
0000118f: GT
00001190: PUSH2 0x0291
00001193: JUMPI
00001194: PUSH2 0xffff
00001197: SWAP4
00001198: PUSH2 0x11a1
0000119b: SWAP3
0000119c: ADD
0000119d: PUSH2 0x3f5e
000011a0: JUMP
000011a1: JUMPDEST
000011a2: SWAP6
000011a3: SWAP1
000011a4: SWAP2
000011a5: PUSH2 0x105b
000011a8: JUMP
000011a9: JUMPDEST
000011aa: CALLVALUE
000011ab: PUSH2 0x0291
000011ae: JUMPI
000011af: PUSH1 0x20
000011b1: DUP1
000011b2: PUSH1 0x03
000011b4: NOT
000011b5: CALLDATASIZE
000011b6: ADD
000011b7: SLT
000011b8: PUSH2 0x0291
000011bb: JUMPI
000011bc: PUSH1 0x01
000011be: PUSH1 0x01
000011c0: PUSH1 0x40
000011c2: SHL
000011c3: SUB
000011c4: PUSH1 0x04
000011c6: CALLDATALOAD
000011c7: DUP2
000011c8: DUP2
000011c9: GT
000011ca: PUSH2 0x0291
000011cd: JUMPI
000011ce: PUSH2 0x11db
000011d1: SWAP1
000011d2: CALLDATASIZE
000011d3: SWAP1
000011d4: PUSH1 0x04
000011d6: ADD
000011d7: PUSH2 0x3e28
000011da: JUMP
000011db: JUMPDEST
000011dc: SWAP1
000011dd: SWAP2
000011de: PUSH1 0x40
000011e0: MLOAD
000011e1: DUP5
000011e2: DUP2
000011e3: ADD
000011e4: DUP2
000011e5: DUP2
000011e6: LT
000011e7: DUP4
000011e8: DUP3
000011e9: GT
000011ea: OR
000011eb: PUSH2 0x138e
000011ee: JUMPI
000011ef: DUP1
000011f0: PUSH1 0x40
000011f2: MSTORE
000011f3: PUSH1 0xc0
000011f5: MLOAD
000011f6: DUP3
000011f7: MSTORE
000011f8: PUSH2 0x1200
000011fb: DUP5
000011fc: PUSH2 0x3e58
000011ff: JUMP
00001200: JUMPDEST
00001201: SWAP5
00001202: PUSH2 0x120e
00001205: PUSH1 0x40
00001207: MLOAD
00001208: SWAP7
00001209: DUP8
0000120a: PUSH2 0x3cb8
0000120d: JUMP
0000120e: JUMPDEST
0000120f: DUP5
00001210: DUP7
00001211: MSTORE
00001212: PUSH2 0x121a
00001215: DUP6
00001216: PUSH2 0x3e58
00001219: JUMP
0000121a: JUMPDEST
0000121b: PUSH1 0x1f
0000121d: NOT
0000121e: ADD
0000121f: DUP8
00001220: PUSH1 0xc0
00001222: MLOAD
00001223: JUMPDEST
00001224: DUP3
00001225: DUP2
00001226: LT
00001227: PUSH2 0x137f
0000122a: JUMPI
0000122b: POP
0000122c: POP
0000122d: POP
0000122e: PUSH1 0xc0
00001230: MLOAD
00001231: JUMPDEST
00001232: DUP6
00001233: DUP2
00001234: LT
00001235: PUSH2 0x1297
00001238: JUMPI
00001239: PUSH1 0x40
0000123b: DUP1
0000123c: MLOAD
0000123d: DUP10
0000123e: DUP2
0000123f: MSTORE
00001240: DUP9
00001241: MLOAD
00001242: DUP2
00001243: DUP12
00001244: ADD
00001245: DUP2
00001246: SWAP1
00001247: MSTORE
00001248: PUSH1 0xc0
0000124a: MLOAD
0000124b: SWAP3
0000124c: PUSH1 0x05
0000124e: DUP3
0000124f: SWAP1
00001250: SHL
00001251: DUP4
00001252: ADD
00001253: DUP2
00001254: ADD
00001255: SWAP2
00001256: DUP12
00001257: DUP14
00001258: ADD
00001259: SWAP2
0000125a: DUP14
0000125b: SWAP1
0000125c: DUP6
0000125d: ADD
0000125e: JUMPDEST
0000125f: DUP3
00001260: DUP8
00001261: LT
00001262: PUSH2 0x126b
00001265: JUMPI
00001266: DUP6
00001267: DUP6
00001268: SUB
00001269: DUP7
0000126a: RETURN
0000126b: JUMPDEST
0000126c: SWAP1
0000126d: SWAP2
0000126e: SWAP3
0000126f: SWAP4
00001270: DUP3
00001271: DUP1
00001272: PUSH2 0x1287
00001275: PUSH1 0x01
00001277: SWAP4
00001278: PUSH1 0x3f
0000127a: NOT
0000127b: DUP11
0000127c: DUP3
0000127d: SUB
0000127e: ADD
0000127f: DUP7
00001280: MSTORE
00001281: DUP9
00001282: MLOAD
00001283: PUSH2 0x3b5f
00001286: JUMP
00001287: JUMPDEST
00001288: SWAP7
00001289: ADD
0000128a: SWAP3
0000128b: ADD
0000128c: SWAP7
0000128d: ADD
0000128e: SWAP6
0000128f: SWAP3
00001290: SWAP2
00001291: SWAP1
00001292: SWAP3
00001293: PUSH2 0x125e
00001296: JUMP
00001297: JUMPDEST
00001298: DUP1
00001299: PUSH1 0x05
0000129b: SHL
0000129c: DUP3
0000129d: ADD
0000129e: CALLDATALOAD
0000129f: PUSH1 0x1e
000012a1: NOT
000012a2: DUP4
000012a3: CALLDATASIZE
000012a4: SUB
000012a5: ADD
000012a6: DUP2
000012a7: SLT
000012a8: ISZERO
000012a9: PUSH2 0x0291
000012ac: JUMPI
000012ad: DUP3
000012ae: ADD
000012af: SWAP1
000012b0: DUP2
000012b1: CALLDATALOAD
000012b2: SWAP2
000012b3: DUP7
000012b4: DUP4
000012b5: GT
000012b6: PUSH2 0x0291
000012b9: JUMPI
000012ba: DUP10
000012bb: ADD
000012bc: DUP3
000012bd: CALLDATASIZE
000012be: SUB
000012bf: DUP2
000012c0: SGT
000012c1: PUSH2 0x0291
000012c4: JUMPI
000012c5: DUP6
000012c6: PUSH2 0x1363
000012c9: SWAP2
000012ca: PUSH2 0x1301
000012cd: DUP13
000012ce: PUSH1 0x01
000012d0: SWAP7
000012d1: PUSH1 0x40
000012d3: MLOAD
000012d4: SWAP5
000012d5: DUP2
000012d6: DUP7
000012d7: SWAP3
000012d8: DUP5
000012d9: DUP5
000012da: ADD
000012db: SWAP7
000012dc: DUP8
000012dd: CALLDATACOPY
000012de: DUP3
000012df: ADD
000012e0: PUSH2 0x12f5
000012e3: DUP13
000012e4: DUP6
000012e5: DUP4
000012e6: ADD
000012e7: SWAP4
000012e8: PUSH1 0xc0
000012ea: MLOAD
000012eb: DUP6
000012ec: MSTORE
000012ed: MLOAD
000012ee: SWAP4
000012ef: DUP5
000012f0: SWAP2
000012f1: PUSH2 0x3b3e
000012f4: JUMP
000012f5: JUMPDEST
000012f6: ADD
000012f7: SUB
000012f8: DUP1
000012f9: DUP6
000012fa: MSTORE
000012fb: ADD
000012fc: DUP4
000012fd: PUSH2 0x3cb8
00001300: JUMP
00001301: JUMPDEST
00001302: PUSH1 0x40
00001304: MLOAD
00001305: SWAP2
00001306: PUSH2 0x130e
00001309: DUP4
0000130a: PUSH2 0x3c82
0000130d: JUMP
0000130e: JUMPDEST
0000130f: PUSH1 0x27
00001311: DUP4
00001312: MSTORE
00001313: PUSH32 0x416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c
00001334: DUP14
00001335: DUP5
00001336: ADD
00001337: MSTORE
00001338: PUSH7 0x0819985a5b1959
00001340: PUSH1 0xca
00001342: SHL
00001343: PUSH1 0x40
00001345: DUP5
00001346: ADD
00001347: MSTORE
00001348: PUSH1 0xc0
0000134a: MLOAD
0000134b: SWAP2
0000134c: PUSH1 0xc0
0000134e: MLOAD
0000134f: SWAP2
00001350: MLOAD
00001351: SWAP1
00001352: ADDRESS
00001353: GAS
00001354: DELEGATECALL
00001355: PUSH2 0x135c
00001358: PUSH2 0x57e5
0000135b: JUMP
0000135c: JUMPDEST
0000135d: SWAP1
0000135e: ADDRESS
0000135f: PUSH2 0x5a81
00001362: JUMP
00001363: JUMPDEST
00001364: PUSH2 0x136d
00001367: DUP3
00001368: DUP11
00001369: PUSH2 0x418e
0000136c: JUMP
0000136d: JUMPDEST
0000136e: MSTORE
0000136f: PUSH2 0x1378
00001372: DUP2
00001373: DUP10
00001374: PUSH2 0x418e
00001377: JUMP
00001378: JUMPDEST
00001379: POP
0000137a: ADD
0000137b: PUSH2 0x1231
0000137e: JUMP
0000137f: JUMPDEST
00001380: PUSH1 0x60
00001382: DUP10
00001383: DUP3
00001384: ADD
00001385: DUP4
00001386: ADD
00001387: MSTORE
00001388: DUP2
00001389: ADD
0000138a: PUSH2 0x1223
0000138d: JUMP
0000138e: JUMPDEST
0000138f: PUSH4 0x4e487b71
00001394: PUSH1 0xe0
00001396: SHL
00001397: PUSH0
00001398: MSTORE
00001399: PUSH1 0x41
0000139b: PUSH1 0x04
0000139d: MSTORE
0000139e: PUSH1 0x24
000013a0: PUSH0
000013a1: REVERT
000013a2: JUMPDEST
000013a3: CALLVALUE
000013a4: PUSH2 0x0291
000013a7: JUMPI
000013a8: PUSH1 0xc0
000013aa: CALLDATASIZE
000013ab: PUSH1 0x03
000013ad: NOT
000013ae: ADD
000013af: SLT
000013b0: PUSH2 0x0291
000013b3: JUMPI
000013b4: PUSH2 0x13bb
000013b7: PUSH2 0x3e12
000013ba: JUMP
000013bb: JUMPDEST
000013bc: PUSH2 0x13c3
000013bf: PUSH2 0x3c21
000013c2: JUMP
000013c3: JUMPDEST
000013c4: PUSH1 0x01
000013c6: PUSH1 0x01
000013c8: PUSH1 0x40
000013ca: SHL
000013cb: SUB
000013cc: PUSH1 0x84
000013ce: CALLDATALOAD
000013cf: DUP2
000013d0: DUP2
000013d1: GT
000013d2: PUSH2 0x0291
000013d5: JUMPI
000013d6: PUSH2 0x13e3
000013d9: SWAP1
000013da: CALLDATASIZE
000013db: SWAP1
000013dc: PUSH1 0x04
000013de: ADD
000013df: PUSH2 0x3e28
000013e2: JUMP
000013e3: JUMPDEST
000013e4: SWAP3
000013e5: SWAP1
000013e6: PUSH1 0xa4
000013e8: CALLDATALOAD
000013e9: SWAP3
000013ea: DUP4
000013eb: GT
000013ec: PUSH2 0x0291
000013ef: JUMPI
000013f0: PUSH1 0x20
000013f2: SWAP5
000013f3: PUSH2 0x0588
000013f6: SWAP5
000013f7: PUSH2 0x1407
000013fa: PUSH2 0x1456
000013fd: SWAP6
000013fe: CALLDATASIZE
000013ff: SWAP1
00001400: PUSH1 0x04
00001402: ADD
00001403: PUSH2 0x3b84
00001406: JUMP
00001407: JUMPDEST
00001408: SWAP4
00001409: SWAP1
0000140a: SWAP5
0000140b: PUSH2 0x141d
0000140e: PUSH2 0x1415
00001411: PUSH2 0x52c3
00001414: JUMP
00001415: JUMPDEST
00001416: PUSH1 0x04
00001418: CALLDATALOAD
00001419: PUSH2 0x476d
0000141c: JUMP
0000141d: JUMPDEST
0000141e: SWAP1
0000141f: PUSH2 0x144c
00001422: PUSH2 0x1442
00001425: PUSH2 0x142e
00001428: DUP9
00001429: DUP11
0000142a: PUSH2 0x4a83
0000142d: JUMP
0000142e: JUMPDEST
0000142f: SWAP9
00001430: SWAP1
00001431: SWAP10
00001432: PUSH2 0x143b
00001435: DUP3
00001436: DUP3
00001437: PUSH2 0x4b4f
0000143a: JUMP
0000143b: JUMPDEST
0000143c: POP
0000143d: POP
0000143e: PUSH2 0x4bb5
00001441: JUMP
00001442: JUMPDEST
00001443: SWAP9
00001444: SWAP1
00001445: SWAP8
00001446: CALLDATASIZE
00001447: SWAP2
00001448: PUSH2 0x3cf4
0000144b: JUMP
0000144c: JUMPDEST
0000144d: SWAP5
0000144e: PUSH1 0x64
00001450: CALLDATALOAD
00001451: SWAP3
00001452: PUSH2 0x4c1b
00001455: JUMP
00001456: JUMPDEST
00001457: POP
00001458: POP
00001459: POP
0000145a: PUSH2 0x47e4
0000145d: JUMP
0000145e: JUMPDEST
0000145f: CALLVALUE
00001460: PUSH2 0x0291
00001463: JUMPI
00001464: PUSH1 0x20
00001466: DUP1
00001467: PUSH1 0x03
00001469: NOT
0000146a: CALLDATASIZE
0000146b: ADD
0000146c: SLT
0000146d: PUSH2 0x0291
00001470: JUMPI
00001471: PUSH2 0x1478
00001474: PUSH2 0x3d6e
00001477: JUMP
00001478: JUMPDEST
00001479: PUSH1 0x40
0000147b: MLOAD
0000147c: PUSH4 0x4ad37cf7
00001481: PUSH1 0xe1
00001483: SHL
00001484: DUP2
00001485: MSTORE
00001486: PUSH1 0x06
00001488: PUSH1 0x04
0000148a: DUP3
0000148b: ADD
0000148c: MSTORE
0000148d: PUSH1 0x01
0000148f: PUSH1 0x01
00001491: PUSH1 0x80
00001493: SHL
00001494: SUB
00001495: SWAP1
00001496: SWAP2
00001497: AND
00001498: PUSH1 0x24
0000149a: DUP3
0000149b: ADD
0000149c: MSTORE
0000149d: DUP2
0000149e: DUP2
0000149f: PUSH1 0x44
000014a1: DUP2
000014a2: PUSH20 0xbc55a0cd7811ef9b9d117024d361bd40920ce18e
000014b7: GAS
000014b8: DELEGATECALL
000014b9: DUP1
000014ba: ISZERO
000014bb: PUSH2 0x047d
000014be: JUMPI
000014bf: PUSH1 0xc0
000014c1: MLOAD
000014c2: SWAP1
000014c3: PUSH2 0x14d1
000014c6: JUMPI
000014c7: JUMPDEST
000014c8: PUSH2 0x0588
000014cb: SWAP2
000014cc: POP
000014cd: PUSH2 0x479e
000014d0: JUMP
000014d1: JUMPDEST
000014d2: POP
000014d3: DUP2
000014d4: DUP2
000014d5: DUP2
000014d6: RETURNDATASIZE
000014d7: DUP4
000014d8: GT
000014d9: PUSH2 0x14f9
000014dc: JUMPI
000014dd: JUMPDEST
000014de: PUSH2 0x14e7
000014e1: DUP2
000014e2: DUP4
000014e3: PUSH2 0x3cb8
000014e6: JUMP
000014e7: JUMPDEST
000014e8: DUP2
000014e9: ADD
000014ea: SUB
000014eb: SLT
000014ec: PUSH2 0x0f5a
000014ef: JUMPI
000014f0: PUSH2 0x0588
000014f3: SWAP1
000014f4: MLOAD
000014f5: PUSH2 0x14c7
000014f8: JUMP
000014f9: JUMPDEST
000014fa: POP
000014fb: RETURNDATASIZE
000014fc: PUSH2 0x14dd
000014ff: JUMP
00001500: JUMPDEST
00001501: CALLVALUE
00001502: PUSH2 0x0291
00001505: JUMPI
00001506: PUSH1 0x20
00001508: DUP1
00001509: PUSH1 0x03
0000150b: NOT
0000150c: CALLDATASIZE
0000150d: ADD
0000150e: SLT
0000150f: PUSH2 0x0291
00001512: JUMPI
00001513: PUSH2 0x151a
00001516: PUSH2 0x3d6e
00001519: JUMP
0000151a: JUMPDEST
0000151b: PUSH1 0x40
0000151d: MLOAD
0000151e: PUSH4 0xd38fefd7
00001523: PUSH1 0xe0
00001525: SHL
00001526: DUP2
00001527: MSTORE
00001528: PUSH1 0x06
0000152a: PUSH1 0x04
0000152c: DUP3
0000152d: ADD
0000152e: MSTORE
0000152f: PUSH1 0x01
00001531: PUSH1 0x01
00001533: PUSH1 0x80
00001535: SHL
00001536: SUB
00001537: SWAP1
00001538: SWAP2
00001539: AND
0000153a: PUSH1 0x24
0000153c: DUP3
0000153d: ADD
0000153e: MSTORE
0000153f: DUP2
00001540: DUP2
00001541: PUSH1 0x44
00001543: DUP2
00001544: PUSH20 0xbc55a0cd7811ef9b9d117024d361bd40920ce18e
00001559: GAS
0000155a: DELEGATECALL
0000155b: DUP1
0000155c: ISZERO
0000155d: PUSH2 0x047d
00001560: JUMPI
00001561: PUSH1 0xc0
00001563: MLOAD
00001564: SWAP1
00001565: PUSH2 0x14d1
00001568: JUMPI
00001569: PUSH2 0x0588
0000156c: SWAP2
0000156d: POP
0000156e: PUSH2 0x479e
00001571: JUMP
00001572: JUMPDEST
00001573: CALLVALUE
00001574: PUSH2 0x0291
00001577: JUMPI
00001578: PUSH1 0x80
0000157a: CALLDATASIZE
0000157b: PUSH1 0x03
0000157d: NOT
0000157e: ADD
0000157f: SLT
00001580: PUSH2 0x0291
00001583: JUMPI
00001584: PUSH2 0x158b
00001587: PUSH2 0x3c0b
0000158a: JUMP
0000158b: JUMPDEST
0000158c: PUSH2 0x1593
0000158f: PUSH2 0x3bf5
00001592: JUMP
00001593: JUMPDEST
00001594: PUSH2 0x159b
00001597: PUSH2 0x3d9a
0000159a: JUMP
0000159b: JUMPDEST
0000159c: SWAP1
0000159d: PUSH1 0x64
0000159f: CALLDATALOAD
000015a0: PUSH2 0x15a7
000015a3: PUSH2 0x4719
000015a6: JUMP
000015a7: JUMPDEST
000015a8: PUSH1 0x01
000015aa: PUSH1 0x01
000015ac: PUSH1 0x80
000015ae: SHL
000015af: SUB
000015b0: SWAP3
000015b1: DUP4
000015b2: AND
000015b3: PUSH0
000015b4: DUP2
000015b5: DUP2
000015b6: MSTORE
000015b7: PUSH0
000015b8: DUP1
000015b9: MLOAD
000015ba: PUSH1 0x20
000015bc: PUSH2 0x5b5f
000015bf: DUP4
000015c0: CODECOPY
000015c1: DUP2
000015c2: MLOAD
000015c3: SWAP2
000015c4: MSTORE
000015c5: PUSH1 0x20
000015c7: MSTORE
000015c8: PUSH1 0x40
000015ca: SWAP1
000015cb: KECCAK256
000015cc: SLOAD
000015cd: SWAP1
000015ce: SWAP5
000015cf: PUSH1 0x01
000015d1: PUSH1 0x01
000015d3: PUSH1 0xa0
000015d5: SHL
000015d6: SUB
000015d7: SWAP5
000015d8: SWAP1
000015d9: SWAP2
000015da: DUP6
000015db: AND
000015dc: CALLER
000015dd: SUB
000015de: PUSH2 0x169b
000015e1: JUMPI
000015e2: PUSH20 0x6a1c0b8f49eb1cd3198012cf3fe170945226296d
000015f7: SWAP1
000015f8: PUSH2 0x1600
000015fb: DUP5
000015fc: PUSH2 0x5161
000015ff: JUMP
00001600: JUMPDEST
00001601: SWAP6
00001602: DUP3
00001603: EXTCODESIZE
00001604: ISZERO
00001605: PUSH2 0x0291
00001608: JUMPI
00001609: DUP1
0000160a: PUSH1 0x40
0000160c: MLOAD
0000160d: SWAP5
0000160e: PUSH4 0x84c2dd45
00001613: PUSH1 0xe0
00001615: SHL
00001616: DUP7
00001617: MSTORE
00001618: PUSH1 0x01
0000161a: PUSH1 0x04
0000161c: DUP8
0000161d: ADD
0000161e: MSTORE
0000161f: AND
00001620: SWAP6
00001621: DUP7
00001622: PUSH1 0x24
00001624: DUP7
00001625: ADD
00001626: MSTORE
00001627: AND
00001628: SWAP6
00001629: DUP7
0000162a: PUSH1 0x44
0000162c: DUP6
0000162d: ADD
0000162e: MSTORE
0000162f: DUP8
00001630: PUSH1 0x64
00001632: DUP6
00001633: ADD
00001634: MSTORE
00001635: AND
00001636: PUSH1 0x84
00001638: DUP4
00001639: ADD
0000163a: MSTORE
0000163b: DUP2
0000163c: PUSH1 0xa4
0000163e: DUP2
0000163f: PUSH1 0xc0
00001641: MLOAD
00001642: SWAP4
00001643: GAS
00001644: DELEGATECALL
00001645: DUP1
00001646: ISZERO
00001647: PUSH2 0x047d
0000164a: JUMPI
0000164b: PUSH2 0x1685
0000164e: JUMPI
0000164f: JUMPDEST
00001650: POP
00001651: PUSH1 0x20
00001653: PUSH32 0xf9676dae71dbe3bd31576f3f9e20edfc7363381934d96b274adba466b956f79d
00001674: SWAP2
00001675: PUSH1 0x40
00001677: MLOAD
00001678: SWAP1
00001679: DUP2
0000167a: MSTORE
0000167b: LOG4
0000167c: PUSH1 0xc0
0000167e: MLOAD
0000167f: PUSH1 0x01
00001681: DUP2
00001682: SSTORE
00001683: DUP1
00001684: RETURN
00001685: JUMPDEST
00001686: PUSH2 0x168e
00001689: SWAP1
0000168a: PUSH2 0x3c37
0000168d: JUMP
0000168e: JUMPDEST
0000168f: PUSH1 0xc0
00001691: MLOAD
00001692: PUSH2 0x0291
00001695: JUMPI
00001696: DUP5
00001697: PUSH2 0x164f
0000169a: JUMP
0000169b: JUMPDEST
0000169c: PUSH1 0x40
0000169e: MLOAD
0000169f: PUSH4 0x48f5c3ed
000016a4: PUSH1 0xe0
000016a6: SHL
000016a7: DUP2
000016a8: MSTORE
000016a9: PUSH1 0x04
000016ab: SWAP1
000016ac: REVERT
000016ad: JUMPDEST
000016ae: CALLVALUE
000016af: PUSH2 0x0291
000016b2: JUMPI
000016b3: PUSH1 0xc0
000016b5: MLOAD
000016b6: CALLDATASIZE
000016b7: PUSH1 0x03
000016b9: NOT
000016ba: ADD
000016bb: SLT
000016bc: PUSH2 0x0291
000016bf: JUMPI
000016c0: PUSH2 0x0433
000016c3: PUSH1 0x40
000016c5: MLOAD
000016c6: PUSH2 0x16ce
000016c9: DUP2
000016ca: PUSH2 0x3c9d
000016cd: JUMP
000016ce: JUMPDEST
000016cf: PUSH1 0x19
000016d1: DUP2
000016d2: MSTORE
000016d3: PUSH25 0x15d95a59da1d1959125b9d195c995cdd14985d19535bd9195b
000016ed: PUSH1 0x3a
000016ef: SHL
000016f0: PUSH1 0x20
000016f2: DUP3
000016f3: ADD
000016f4: MSTORE
000016f5: PUSH1 0x40
000016f7: MLOAD
000016f8: SWAP2
000016f9: DUP3
000016fa: SWAP2
000016fb: PUSH1 0x20
000016fd: DUP4
000016fe: MSTORE
000016ff: PUSH1 0x20
00001701: DUP4
00001702: ADD
00001703: SWAP1
00001704: PUSH2 0x3b5f
00001707: JUMP
00001708: JUMPDEST
00001709: CALLVALUE
0000170a: PUSH2 0x0291
0000170d: JUMPI
0000170e: PUSH1 0xc0
00001710: MLOAD
00001711: CALLDATASIZE
00001712: PUSH1 0x03
00001714: NOT
00001715: ADD
00001716: SLT
00001717: PUSH2 0x0291
0000171a: JUMPI
0000171b: PUSH1 0x40
0000171d: MLOAD
0000171e: PUSH32 0x00000000000000000000000000000000000000447e69651d841bd8d104bed493
0000173f: PUSH1 0x01
00001741: PUSH1 0x01
00001743: PUSH1 0xa0
00001745: SHL
00001746: SUB
00001747: AND
00001748: DUP2
00001749: MSTORE
0000174a: PUSH1 0x20
0000174c: SWAP1
0000174d: RETURN
0000174e: JUMPDEST
0000174f: CALLVALUE
00001750: PUSH2 0x0291
00001753: JUMPI
00001754: PUSH1 0x20
00001756: DUP1
00001757: PUSH1 0x03
00001759: NOT
0000175a: CALLDATASIZE
0000175b: ADD
0000175c: SLT
0000175d: PUSH2 0x0291
00001760: JUMPI
00001761: PUSH1 0x04
00001763: CALLDATALOAD
00001764: SWAP1
00001765: PUSH1 0x01
00001767: PUSH1 0x01
00001769: PUSH1 0x40
0000176b: SHL
0000176c: SUB
0000176d: DUP1
0000176e: DUP4
0000176f: GT
00001770: PUSH2 0x0291
00001773: JUMPI
00001774: CALLDATASIZE
00001775: PUSH1 0x23
00001777: DUP5
00001778: ADD
00001779: SLT
0000177a: ISZERO
0000177b: PUSH2 0x0291
0000177e: JUMPI
0000177f: DUP3
00001780: PUSH1 0x04
00001782: ADD
00001783: CALLDATALOAD
00001784: SWAP1
00001785: PUSH2 0x178d
00001788: DUP3
00001789: PUSH2 0x3e58
0000178c: JUMP
0000178d: JUMPDEST
0000178e: SWAP4
0000178f: PUSH2 0x179b
00001792: PUSH1 0x40
00001794: MLOAD
00001795: SWAP6
00001796: DUP7
00001797: PUSH2 0x3cb8
0000179a: JUMP
0000179b: JUMPDEST
0000179c: DUP3
0000179d: DUP6
0000179e: MSTORE
0000179f: DUP4
000017a0: DUP6
000017a1: ADD
000017a2: PUSH1 0x24
000017a4: DUP2
000017a5: SWAP5
000017a6: PUSH1 0x05
000017a8: SHL
000017a9: DUP4
000017aa: ADD
000017ab: ADD
000017ac: SWAP2
000017ad: CALLDATASIZE
000017ae: DUP4
000017af: GT
000017b0: PUSH2 0x0291
000017b3: JUMPI
000017b4: PUSH1 0x24
000017b6: ADD
000017b7: SWAP1
000017b8: JUMPDEST
000017b9: DUP3
000017ba: DUP3
000017bb: LT
000017bc: PUSH2 0x18ad
000017bf: JUMPI
000017c0: POP
000017c1: POP
000017c2: POP
000017c3: PUSH2 0x17ca
000017c6: PUSH2 0x4719
000017c9: JUMP
000017ca: JUMPDEST
000017cb: PUSH20 0x8811d9b44b04e91c9707215b1862b2f98b1a1a24
000017e0: SWAP1
000017e1: DUP2
000017e2: EXTCODESIZE
000017e3: ISZERO
000017e4: PUSH2 0x0291
000017e7: JUMPI
000017e8: SWAP3
000017e9: SWAP1
000017ea: PUSH1 0x40
000017ec: MLOAD
000017ed: SWAP4
000017ee: DUP5
000017ef: SWAP3
000017f0: PUSH4 0xfb253f65
000017f5: PUSH1 0xe0
000017f7: SHL
000017f8: DUP5
000017f9: MSTORE
000017fa: PUSH1 0x44
000017fc: DUP5
000017fd: ADD
000017fe: PUSH1 0x01
00001800: SWAP2
00001801: PUSH1 0x01
00001803: PUSH1 0x04
00001805: DUP8
00001806: ADD
00001807: MSTORE
00001808: PUSH1 0x40
0000180a: PUSH1 0x24
0000180c: DUP8
0000180d: ADD
0000180e: MSTORE
0000180f: DUP9
00001810: MLOAD
00001811: DUP1
00001812: SWAP3
00001813: MSTORE
00001814: PUSH1 0x64
00001816: DUP7
00001817: ADD
00001818: SWAP7
00001819: SWAP4
0000181a: PUSH1 0xc0
0000181c: MLOAD
0000181d: SWAP1
0000181e: JUMPDEST
0000181f: DUP4
00001820: DUP3
00001821: LT
00001822: PUSH2 0x1893
00001825: JUMPI
00001826: POP
00001827: POP
00001828: POP
00001829: POP
0000182a: POP
0000182b: POP
0000182c: DUP2
0000182d: DUP1
0000182e: PUSH1 0xc0
00001830: MLOAD
00001831: SWAP5
00001832: SUB
00001833: SWAP2
00001834: GAS
00001835: DELEGATECALL
00001836: DUP1
00001837: ISZERO
00001838: PUSH2 0x047d
0000183b: JUMPI
0000183c: PUSH2 0x187d
0000183f: JUMPI
00001840: JUMPDEST
00001841: PUSH1 0x40
00001843: MLOAD
00001844: PUSH32 0xe7cf24d723e9605e4df09cbfce51c19b84de5b409ffd526b5fa838ac539c90d9
00001865: SWAP1
00001866: DUP1
00001867: PUSH2 0x1870
0000186a: DUP6
0000186b: DUP3
0000186c: PUSH2 0x3d2a
0000186f: JUMP
00001870: JUMPDEST
00001871: SUB
00001872: SWAP1
00001873: LOG1
00001874: PUSH1 0xc0
00001876: MLOAD
00001877: PUSH1 0x01
00001879: DUP2
0000187a: SSTORE
0000187b: DUP1
0000187c: RETURN
0000187d: JUMPDEST
0000187e: PUSH2 0x1886
00001881: SWAP1
00001882: PUSH2 0x3c37
00001885: JUMP
00001886: JUMPDEST
00001887: PUSH1 0xc0
00001889: MLOAD
0000188a: PUSH2 0x0291
0000188d: JUMPI
0000188e: DUP2
0000188f: PUSH2 0x1840
00001892: JUMP
00001893: JUMPDEST
00001894: DUP6
00001895: MLOAD
00001896: DUP2
00001897: AND
00001898: DUP10
00001899: MSTORE
0000189a: SWAP8
0000189b: DUP3
0000189c: ADD
0000189d: SWAP8
0000189e: DUP10
0000189f: SWAP8
000018a0: POP
000018a1: SWAP5
000018a2: DUP3
000018a3: ADD
000018a4: SWAP5
000018a5: SWAP1
000018a6: DUP5
000018a7: ADD
000018a8: SWAP1
000018a9: PUSH2 0x181e
000018ac: JUMP
000018ad: JUMPDEST
000018ae: DUP2
000018af: CALLDATALOAD
000018b0: DUP5
000018b1: DUP2
000018b2: AND
000018b3: DUP2
000018b4: SUB
000018b5: PUSH2 0x0f5a
000018b8: JUMPI
000018b9: DUP2
000018ba: MSTORE
000018bb: SWAP1
000018bc: DUP6
000018bd: ADD
000018be: SWAP1
000018bf: DUP6
000018c0: ADD
000018c1: PUSH2 0x17b8
000018c4: JUMP
000018c5: JUMPDEST
000018c6: CALLVALUE
000018c7: PUSH2 0x0291
000018ca: JUMPI
000018cb: PUSH1 0xc0
000018cd: MLOAD
000018ce: CALLDATASIZE
000018cf: PUSH1 0x03
000018d1: NOT
000018d2: ADD
000018d3: SLT
000018d4: PUSH2 0x0291
000018d7: JUMPI
000018d8: PUSH2 0x0433
000018db: PUSH1 0x40
000018dd: MLOAD
000018de: PUSH2 0x18e6
000018e1: DUP2
000018e2: PUSH2 0x3c9d
000018e5: JUMP
000018e6: JUMPDEST
000018e7: PUSH1 0x1a
000018e9: DUP2
000018ea: MSTORE
000018eb: PUSH32 0x436f6c6c656374696f6e436f6c6c61746572616c46696c746572000000000000
0000190c: PUSH1 0x20
0000190e: DUP3
0000190f: ADD
00001910: MSTORE
00001911: PUSH1 0x40
00001913: MLOAD
00001914: SWAP2
00001915: DUP3
00001916: SWAP2
00001917: PUSH1 0x20
00001919: DUP4
0000191a: MSTORE
0000191b: PUSH1 0x20
0000191d: DUP4
0000191e: ADD
0000191f: SWAP1
00001920: PUSH2 0x3b5f
00001923: JUMP
00001924: JUMPDEST
00001925: CALLVALUE
00001926: PUSH2 0x0291
00001929: JUMPI
0000192a: PUSH1 0xc0
0000192c: MLOAD
0000192d: CALLDATASIZE
0000192e: PUSH1 0x03
00001930: NOT
00001931: ADD
00001932: SLT
00001933: PUSH2 0x0291
00001936: JUMPI
00001937: PUSH1 0x20
00001939: PUSH4 0xffffffff
0000193e: PUSH1 0x01
00001940: SLOAD
00001941: PUSH1 0xa0
00001943: SHR
00001944: AND
00001945: PUSH1 0x40
00001947: MLOAD
00001948: SWAP1
00001949: DUP2
0000194a: MSTORE
0000194b: RETURN
0000194c: JUMPDEST
0000194d: CALLVALUE
0000194e: PUSH2 0x0291
00001951: JUMPI
00001952: PUSH1 0x60
00001954: CALLDATASIZE
00001955: PUSH1 0x03
00001957: NOT
00001958: ADD
00001959: SLT
0000195a: PUSH2 0x0291
0000195d: JUMPI
0000195e: PUSH2 0x19b6
00001961: PUSH2 0x1968
00001964: PUSH2 0x3d6e
00001967: JUMP
00001968: JUMPDEST
00001969: PUSH1 0x24
0000196b: CALLDATALOAD
0000196c: PUSH2 0x1973
0000196f: PUSH2 0x4719
00001972: JUMP
00001973: JUMPDEST
00001974: PUSH1 0x20
00001976: PUSH2 0x198e
00001979: PUSH2 0x1989
0000197c: PUSH2 0x1983
0000197f: PUSH2 0x52c3
00001982: JUMP
00001983: JUMPDEST
00001984: DUP5
00001985: PUSH2 0x476d
00001988: JUMP
00001989: JUMPDEST
0000198a: PUSH2 0x5161
0000198d: JUMP
0000198e: JUMPDEST
0000198f: PUSH2 0x1999
00001992: PUSH1 0x44
00001994: CALLDATALOAD
00001995: PUSH2 0x5161
00001998: JUMP
00001999: JUMPDEST
0000199a: PUSH1 0x40
0000199c: MLOAD
0000199d: PUSH4 0x284a2713
000019a2: PUSH1 0xe0
000019a4: SHL
000019a5: DUP2
000019a6: MSTORE
000019a7: SWAP6
000019a8: DUP7
000019a9: SWAP3
000019aa: DUP4
000019ab: SWAP3
000019ac: SWAP1
000019ad: DUP8
000019ae: PUSH1 0x04
000019b0: DUP6
000019b1: ADD
000019b2: PUSH2 0x45a5
000019b5: JUMP
000019b6: JUMPDEST
000019b7: SUB
000019b8: DUP2
000019b9: PUSH20 0x6a1c0b8f49eb1cd3198012cf3fe170945226296d
000019ce: GAS
000019cf: DELEGATECALL
000019d0: SWAP1
000019d1: DUP2
000019d2: ISZERO
000019d3: PUSH2 0x047d
000019d6: JUMPI
000019d7: PUSH1 0xc0
000019d9: MLOAD
000019da: SWAP2
000019db: PUSH2 0x1a63
000019de: JUMPI
000019df: JUMPDEST
000019e0: PUSH1 0x20
000019e2: SWAP4
000019e3: POP
000019e4: PUSH1 0x01
000019e6: PUSH1 0x01
000019e8: PUSH1 0x80
000019ea: SHL
000019eb: SUB
000019ec: DUP3
000019ed: DUP2
000019ee: AND
000019ef: SWAP4
000019f0: PUSH32 0xd3d9500b000f4b80b8f9aea0e7ce7d135560d7775a63356999a9f3efd4f5edf8
00001a11: SWAP2
00001a12: SWAP1
00001a13: PUSH2 0x1a1d
00001a16: DUP7
00001a17: DUP3
00001a18: CALLER
00001a19: PUSH2 0x51ca
00001a1c: JUMP
00001a1d: JUMPDEST
00001a1e: PUSH1 0x01
00001a20: SLOAD
00001a21: PUSH2 0x1a38
00001a24: SWAP1
00001a25: DUP6
00001a26: SWAP1
00001a27: ADDRESS
00001a28: SWAP1
00001a29: CALLER
00001a2a: SWAP1
00001a2b: PUSH1 0x01
00001a2d: PUSH1 0x01
00001a2f: PUSH1 0xa0
00001a31: SHL
00001a32: SUB
00001a33: AND
00001a34: PUSH2 0x50e9
00001a37: JUMP
00001a38: JUMPDEST
00001a39: PUSH1 0x40
00001a3b: DUP1
00001a3c: MLOAD
00001a3d: SWAP5
00001a3e: DUP6
00001a3f: MSTORE
00001a40: PUSH1 0x01
00001a42: PUSH1 0x01
00001a44: PUSH1 0x80
00001a46: SHL
00001a47: SUB
00001a48: SWAP6
00001a49: SWAP1
00001a4a: SWAP6
00001a4b: AND
00001a4c: PUSH1 0x20
00001a4e: DUP6
00001a4f: ADD
00001a50: MSTORE
00001a51: AND
00001a52: SWAP3
00001a53: CALLER
00001a54: SWAP3
00001a55: LOG3
00001a56: PUSH1 0x01
00001a58: PUSH1 0xc0
00001a5a: MLOAD
00001a5b: SSTORE
00001a5c: PUSH1 0x40
00001a5e: MLOAD
00001a5f: SWAP1
00001a60: DUP2
00001a61: MSTORE
00001a62: RETURN
00001a63: JUMPDEST
00001a64: SWAP1
00001a65: POP
00001a66: PUSH1 0x20
00001a68: DUP4
00001a69: RETURNDATASIZE
00001a6a: PUSH1 0x20
00001a6c: GT
00001a6d: PUSH2 0x1a97
00001a70: JUMPI
00001a71: JUMPDEST
00001a72: DUP2
00001a73: PUSH2 0x1a7e
00001a76: PUSH1 0x20
00001a78: SWAP4
00001a79: DUP4
00001a7a: PUSH2 0x3cb8
00001a7d: JUMP
00001a7e: JUMPDEST
00001a7f: DUP2
00001a80: ADD
00001a81: SUB
00001a82: SLT
00001a83: PUSH2 0x0291
00001a86: JUMPI
00001a87: PUSH2 0x1a91
00001a8a: PUSH1 0x20
00001a8c: SWAP4
00001a8d: PUSH2 0x3f4a
00001a90: JUMP
00001a91: JUMPDEST
00001a92: SWAP1
00001a93: PUSH2 0x19df
00001a96: JUMP
00001a97: JUMPDEST
00001a98: RETURNDATASIZE
00001a99: SWAP2
00001a9a: POP
00001a9b: PUSH2 0x1a71
00001a9e: JUMP
00001a9f: JUMPDEST
00001aa0: CALLVALUE
00001aa1: PUSH2 0x0291
00001aa4: JUMPI
00001aa5: PUSH1 0xc0
00001aa7: MLOAD
00001aa8: CALLDATASIZE
00001aa9: PUSH1 0x03
00001aab: NOT
00001aac: ADD
00001aad: SLT
00001aae: PUSH2 0x0291
00001ab1: JUMPI
00001ab2: PUSH1 0x40
00001ab4: MLOAD
00001ab5: PUSH32 0x000000000000000000000000962506a7bce350a44852a2aaf42c7bdc0651b8f4
00001ad6: PUSH1 0x01
00001ad8: PUSH1 0x01
00001ada: PUSH1 0xa0
00001adc: SHL
00001add: SUB
00001ade: AND
00001adf: DUP2
00001ae0: MSTORE
00001ae1: PUSH1 0x20
00001ae3: SWAP1
00001ae4: RETURN
00001ae5: JUMPDEST
00001ae6: CALLVALUE
00001ae7: PUSH2 0x0291
00001aea: JUMPI
00001aeb: PUSH1 0xc0
00001aed: MLOAD
00001aee: CALLDATASIZE
00001aef: PUSH1 0x03
00001af1: NOT
00001af2: ADD
00001af3: SLT
00001af4: PUSH2 0x0291
00001af7: JUMPI
00001af8: PUSH2 0x0433
00001afb: PUSH1 0x40
00001afd: MLOAD
00001afe: PUSH2 0x1b06
00001b01: DUP2
00001b02: PUSH2 0x3c9d
00001b05: JUMP
00001b06: JUMPDEST
00001b07: PUSH1 0x03
00001b09: DUP2
00001b0a: MSTORE
00001b0b: PUSH3 0x0322e3
00001b0f: PUSH1 0xec
00001b11: SHL
00001b12: PUSH1 0x20
00001b14: DUP3
00001b15: ADD
00001b16: MSTORE
00001b17: PUSH1 0x40
00001b19: MLOAD
00001b1a: SWAP2
00001b1b: DUP3
00001b1c: SWAP2
00001b1d: PUSH1 0x20
00001b1f: DUP4
00001b20: MSTORE
00001b21: PUSH1 0x20
00001b23: DUP4
00001b24: ADD
00001b25: SWAP1
00001b26: PUSH2 0x3b5f
00001b29: JUMP
00001b2a: JUMPDEST
00001b2b: CALLVALUE
00001b2c: PUSH2 0x0291
00001b2f: JUMPI
00001b30: PUSH1 0x40
00001b32: CALLDATASIZE
00001b33: PUSH1 0x03
00001b35: NOT
00001b36: ADD
00001b37: SLT
00001b38: PUSH2 0x0291
00001b3b: JUMPI
00001b3c: PUSH2 0x1b43
00001b3f: PUSH2 0x3d6e
00001b42: JUMP
00001b43: JUMPDEST
00001b44: PUSH2 0x1b4b
00001b47: PUSH2 0x3d84
00001b4a: JUMP
00001b4b: JUMPDEST
00001b4c: PUSH1 0x40
00001b4e: MLOAD
00001b4f: PUSH4 0xb481e93b
00001b54: PUSH1 0xe0
00001b56: SHL
00001b57: DUP2
00001b58: MSTORE
00001b59: PUSH1 0x06
00001b5b: PUSH1 0x04
00001b5d: DUP3
00001b5e: ADD
00001b5f: MSTORE
00001b60: PUSH1 0x01
00001b62: PUSH1 0x01
00001b64: PUSH1 0x80
00001b66: SHL
00001b67: SUB
00001b68: SWAP3
00001b69: DUP4
00001b6a: AND
00001b6b: PUSH1 0x24
00001b6d: DUP3
00001b6e: ADD
00001b6f: MSTORE
00001b70: SWAP2
00001b71: AND
00001b72: PUSH1 0x44
00001b74: DUP3
00001b75: ADD
00001b76: MSTORE
00001b77: PUSH1 0xc0
00001b79: MLOAD
00001b7a: DUP2
00001b7b: PUSH1 0x64
00001b7d: DUP2
00001b7e: PUSH20 0xbc55a0cd7811ef9b9d117024d361bd40920ce18e
00001b93: GAS
00001b94: DELEGATECALL
00001b95: SWAP1
00001b96: DUP2
00001b97: ISZERO
00001b98: PUSH2 0x047d
00001b9b: JUMPI
00001b9c: PUSH1 0xc0
00001b9e: MLOAD
00001b9f: SWAP2
00001ba0: PUSH2 0x1bf6
00001ba3: JUMPI
00001ba4: JUMPDEST
00001ba5: POP
00001ba6: PUSH1 0x40
00001ba8: MLOAD
00001ba9: PUSH1 0x20
00001bab: SWAP2
00001bac: PUSH1 0x20
00001bae: DUP3
00001baf: ADD
00001bb0: PUSH1 0x20
00001bb2: DUP4
00001bb3: MSTORE
00001bb4: DUP2
00001bb5: MLOAD
00001bb6: DUP1
00001bb7: SWAP2
00001bb8: MSTORE
00001bb9: PUSH1 0x20
00001bbb: PUSH1 0x40
00001bbd: DUP5
00001bbe: ADD
00001bbf: SWAP3
00001bc0: ADD
00001bc1: SWAP4
00001bc2: PUSH1 0xc0
00001bc4: MLOAD
00001bc5: JUMPDEST
00001bc6: DUP3
00001bc7: DUP2
00001bc8: LT
00001bc9: PUSH2 0x1bd2
00001bcc: JUMPI
00001bcd: DUP5
00001bce: DUP5
00001bcf: SUB
00001bd0: DUP6
00001bd1: RETURN
00001bd2: JUMPDEST
00001bd3: SWAP1
00001bd4: SWAP2
00001bd5: SWAP3
00001bd6: DUP3
00001bd7: PUSH2 0x0100
00001bda: DUP3
00001bdb: PUSH2 0x1be7
00001bde: PUSH1 0x01
00001be0: SWAP5
00001be1: DUP11
00001be2: MLOAD
00001be3: PUSH2 0x3db0
00001be6: JUMP
00001be7: JUMPDEST
00001be8: ADD
00001be9: SWAP7
00001bea: ADD
00001beb: SWAP2
00001bec: ADD
00001bed: SWAP5
00001bee: SWAP3
00001bef: SWAP2
00001bf0: SWAP1
00001bf1: SWAP5
00001bf2: PUSH2 0x1bc5
00001bf5: JUMP
00001bf6: JUMPDEST
00001bf7: SWAP1
00001bf8: POP
00001bf9: RETURNDATASIZE
00001bfa: DUP1
00001bfb: PUSH1 0xc0
00001bfd: MLOAD
00001bfe: DUP4
00001bff: RETURNDATACOPY
00001c00: PUSH2 0x1c09
00001c03: DUP2
00001c04: DUP4
00001c05: PUSH2 0x3cb8
00001c08: JUMP
00001c09: JUMPDEST
00001c0a: DUP2
00001c0b: ADD
00001c0c: SWAP1
00001c0d: PUSH1 0x20
00001c0f: SWAP1
00001c10: PUSH1 0x20
00001c12: DUP2
00001c13: DUP5
00001c14: SUB
00001c15: SLT
00001c16: PUSH2 0x0291
00001c19: JUMPI
00001c1a: DUP1
00001c1b: MLOAD
00001c1c: SWAP1
00001c1d: PUSH1 0x01
00001c1f: PUSH1 0x01
00001c21: PUSH1 0x40
00001c23: SHL
00001c24: SUB
00001c25: DUP3
00001c26: GT
00001c27: PUSH2 0x0291
00001c2a: JUMPI
00001c2b: ADD
00001c2c: SWAP1
00001c2d: DUP3
00001c2e: PUSH1 0x1f
00001c30: DUP4
00001c31: ADD
00001c32: SLT
00001c33: ISZERO
00001c34: PUSH2 0x0291
00001c37: JUMPI
00001c38: DUP2
00001c39: MLOAD
00001c3a: PUSH2 0x1c42
00001c3d: DUP2
00001c3e: PUSH2 0x3e58
00001c41: JUMP
00001c42: JUMPDEST
00001c43: SWAP4
00001c44: PUSH2 0x1c50
00001c47: PUSH1 0x40
00001c49: MLOAD
00001c4a: SWAP6
00001c4b: DUP7
00001c4c: PUSH2 0x3cb8
00001c4f: JUMP
00001c50: JUMPDEST
00001c51: DUP2
00001c52: DUP6
00001c53: MSTORE
00001c54: PUSH1 0x20
00001c56: DUP1
00001c57: DUP7
00001c58: ADD
00001c59: SWAP3
00001c5a: PUSH1 0x08
00001c5c: SHL
00001c5d: DUP6
00001c5e: ADD
00001c5f: ADD
00001c60: SWAP4
00001c61: DUP2
00001c62: DUP6
00001c63: GT
00001c64: PUSH2 0x0291
00001c67: JUMPI
00001c68: PUSH1 0x20
00001c6a: ADD
00001c6b: SWAP2
00001c6c: JUMPDEST
00001c6d: DUP5
00001c6e: DUP4
00001c6f: LT
00001c70: PUSH2 0x1c7e
00001c73: JUMPI
00001c74: POP
00001c75: POP
00001c76: POP
00001c77: POP
00001c78: POP
00001c79: DUP2
00001c7a: PUSH2 0x1ba4
00001c7d: JUMP
00001c7e: JUMPDEST
00001c7f: DUP4
00001c80: PUSH2 0x0100
00001c83: SWAP2
00001c84: PUSH2 0x1c8d
00001c87: DUP5
00001c88: DUP7
00001c89: PUSH2 0x43ef
00001c8c: JUMP
00001c8d: JUMPDEST
00001c8e: DUP2
00001c8f: MSTORE
00001c90: ADD
00001c91: SWAP3
00001c92: ADD
00001c93: SWAP2
00001c94: PUSH2 0x1c6c
00001c97: JUMP
00001c98: JUMPDEST
00001c99: CALLVALUE
00001c9a: PUSH2 0x0291
00001c9d: JUMPI
00001c9e: PUSH1 0xc0
00001ca0: MLOAD
00001ca1: CALLDATASIZE
00001ca2: PUSH1 0x03
00001ca4: NOT
00001ca5: ADD
00001ca6: SLT
00001ca7: PUSH2 0x0291
00001caa: JUMPI
00001cab: PUSH2 0x0433
00001cae: PUSH1 0x40
00001cb0: MLOAD
00001cb1: PUSH2 0x1cb9
00001cb4: DUP2
00001cb5: PUSH2 0x3c9d
00001cb8: JUMP
00001cb9: JUMPDEST
00001cba: PUSH1 0x04
00001cbc: DUP2
00001cbd: MSTORE
00001cbe: PUSH4 0x0c8b8c4d
00001cc3: PUSH1 0xe2
00001cc5: SHL
00001cc6: PUSH1 0x20
00001cc8: DUP3
00001cc9: ADD
00001cca: MSTORE
00001ccb: PUSH1 0x40
00001ccd: MLOAD
00001cce: SWAP2
00001ccf: DUP3
00001cd0: SWAP2
00001cd1: PUSH1 0x20
00001cd3: DUP4
00001cd4: MSTORE
00001cd5: PUSH1 0x20
00001cd7: DUP4
00001cd8: ADD
00001cd9: SWAP1
00001cda: PUSH2 0x3b5f
00001cdd: JUMP
00001cde: JUMPDEST
00001cdf: CALLVALUE
00001ce0: PUSH2 0x0291
00001ce3: JUMPI
00001ce4: PUSH1 0xe0
00001ce6: CALLDATASIZE
00001ce7: PUSH1 0x03
00001ce9: NOT
00001cea: ADD
00001ceb: SLT
00001cec: PUSH2 0x0291
00001cef: JUMPI
00001cf0: PUSH2 0x1cf7
00001cf3: PUSH2 0x3e12
00001cf6: JUMP
00001cf7: JUMPDEST
00001cf8: PUSH2 0x1cff
00001cfb: PUSH2 0x3c21
00001cfe: JUMP
00001cff: JUMPDEST
00001d00: PUSH1 0xa4
00001d02: CALLDATALOAD
00001d03: PUSH1 0x01
00001d05: PUSH1 0x01
00001d07: PUSH1 0x40
00001d09: SHL
00001d0a: SUB
00001d0b: DUP2
00001d0c: GT
00001d0d: PUSH2 0x0291
00001d10: JUMPI
00001d11: PUSH2 0x1d1e
00001d14: SWAP1
00001d15: CALLDATASIZE
00001d16: SWAP1
00001d17: PUSH1 0x04
00001d19: ADD
00001d1a: PUSH2 0x3e28
00001d1d: JUMP
00001d1e: JUMPDEST
00001d1f: SWAP2
00001d20: SWAP1
00001d21: SWAP3
00001d22: PUSH1 0xc4
00001d24: CALLDATALOAD
00001d25: PUSH1 0x01
00001d27: PUSH1 0x01
00001d29: PUSH1 0x40
00001d2b: SHL
00001d2c: SUB
00001d2d: DUP2
00001d2e: GT
00001d2f: PUSH2 0x0291
00001d32: JUMPI
00001d33: PUSH2 0x1d40
00001d36: SWAP1
00001d37: CALLDATASIZE
00001d38: SWAP1
00001d39: PUSH1 0x04
00001d3b: ADD
00001d3c: PUSH2 0x3b84
00001d3f: JUMP
00001d40: JUMPDEST
00001d41: SWAP5
00001d42: PUSH2 0x1d49
00001d45: PUSH2 0x4719
00001d48: JUMP
00001d49: JUMPDEST
00001d4a: PUSH2 0x1d51
00001d4d: PUSH2 0x52c3
00001d50: JUMP
00001d51: JUMPDEST
00001d52: PUSH2 0x1d5d
00001d55: SWAP1
00001d56: PUSH1 0x04
00001d58: CALLDATALOAD
00001d59: PUSH2 0x476d
00001d5c: JUMP
00001d5d: JUMPDEST
00001d5e: SWAP5
00001d5f: PUSH2 0x1d68
00001d62: DUP8
00001d63: DUP5
00001d64: PUSH2 0x4a83
00001d67: JUMP
00001d68: JUMPDEST
00001d69: SWAP1
00001d6a: SWAP2
00001d6b: PUSH2 0x1d74
00001d6e: DUP10
00001d6f: DUP7
00001d70: PUSH2 0x4ae9
00001d73: JUMP
00001d74: JUMPDEST
00001d75: POP
00001d76: POP
00001d77: PUSH2 0x1d80
00001d7a: DUP10
00001d7b: DUP7
00001d7c: PUSH2 0x49ea
00001d7f: JUMP
00001d80: JUMPDEST
00001d81: SWAP4
00001d82: SWAP1
00001d83: SWAP3
00001d84: CALLDATASIZE
00001d85: SWAP1
00001d86: PUSH2 0x1d8e
00001d89: SWAP3
00001d8a: PUSH2 0x3cf4
00001d8d: JUMP
00001d8e: JUMPDEST
00001d8f: SWAP1
00001d90: PUSH1 0x64
00001d92: CALLDATALOAD
00001d93: SWAP5
00001d94: PUSH2 0x1d9f
00001d97: SWAP6
00001d98: DUP10
00001d99: DUP10
00001d9a: DUP13
00001d9b: PUSH2 0x4c1b
00001d9e: JUMP
00001d9f: JUMPDEST
00001da0: SWAP5
00001da1: SWAP2
00001da2: PUSH2 0x1dad
00001da5: SWAP8
00001da6: SWAP2
00001da7: SWAP4
00001da8: SWAP8
00001da9: PUSH2 0x52c3
00001dac: JUMP
00001dad: JUMPDEST
00001dae: PUSH2 0x1db9
00001db1: SWAP1
00001db2: PUSH1 0x84
00001db4: CALLDATALOAD
00001db5: PUSH2 0x476d
00001db8: JUMP
00001db9: JUMPDEST
00001dba: SWAP6
00001dbb: PUSH2 0x1dc4
00001dbe: DUP11
00001dbf: DUP8
00001dc0: PUSH2 0x4a83
00001dc3: JUMP
00001dc4: JUMPDEST
00001dc5: SWAP6
00001dc6: SWAP1
00001dc7: SWAP3
00001dc8: PUSH1 0x40
00001dca: MLOAD
00001dcb: SWAP10
00001dcc: DUP11
00001dcd: SWAP7
00001dce: DUP8
00001dcf: SWAP7
00001dd0: PUSH4 0x5174fe2d
00001dd5: PUSH1 0xe1
00001dd7: SHL
00001dd8: DUP9
00001dd9: MSTORE
00001dda: PUSH1 0x04
00001ddc: DUP9
00001ddd: ADD
00001dde: PUSH1 0x01
00001de0: SWAP1
00001de1: MSTORE
00001de2: PUSH1 0x24
00001de4: DUP9
00001de5: ADD
00001de6: MSTORE
00001de7: PUSH1 0x01
00001de9: PUSH1 0x01
00001deb: PUSH1 0x40
00001ded: SHL
00001dee: SUB
00001def: AND
00001df0: PUSH1 0x44
00001df2: DUP8
00001df3: ADD
00001df4: MSTORE
00001df5: PUSH1 0x01
00001df7: PUSH1 0xa0
00001df9: SHL
00001dfa: PUSH1 0x01
00001dfc: SWAP1
00001dfd: SUB
00001dfe: AND
00001dff: SWAP9
00001e00: DUP10
00001e01: PUSH1 0x64
00001e03: DUP8
00001e04: ADD
00001e05: MSTORE
00001e06: PUSH1 0x64
00001e08: CALLDATALOAD
00001e09: PUSH1 0x84
00001e0b: DUP8
00001e0c: ADD
00001e0d: MSTORE
00001e0e: DUP12
00001e0f: PUSH1 0xa4
00001e11: DUP8
00001e12: ADD
00001e13: MSTORE
00001e14: PUSH1 0xc4
00001e16: DUP7
00001e17: ADD
00001e18: MSTORE
00001e19: PUSH1 0xe4
00001e1b: DUP6
00001e1c: ADD
00001e1d: MSTORE
00001e1e: PUSH2 0x0104
00001e21: DUP5
00001e22: ADD
00001e23: PUSH2 0x0160
00001e26: SWAP1
00001e27: MSTORE
00001e28: PUSH2 0x0164
00001e2b: DUP5
00001e2c: ADD
00001e2d: PUSH2 0x1e35
00001e30: SWAP2
00001e31: PUSH2 0x4522
00001e34: JUMP
00001e35: JUMPDEST
00001e36: SWAP1
00001e37: PUSH2 0xffff
00001e3a: AND
00001e3b: PUSH2 0x0124
00001e3e: DUP5
00001e3f: ADD
00001e40: MSTORE
00001e41: PUSH1 0x03
00001e43: NOT
00001e44: DUP4
00001e45: DUP3
00001e46: SUB
00001e47: ADD
00001e48: PUSH2 0x0144
00001e4b: DUP5
00001e4c: ADD
00001e4d: MSTORE
00001e4e: PUSH1 0xc0
00001e50: MLOAD
00001e51: SWAP5
00001e52: PUSH2 0x1e5a
00001e55: SWAP3
00001e56: PUSH2 0x40df
00001e59: JUMP
00001e5a: JUMPDEST
00001e5b: SUB
00001e5c: DUP2
00001e5d: PUSH20 0x8811d9b44b04e91c9707215b1862b2f98b1a1a24
00001e72: GAS
00001e73: DELEGATECALL
00001e74: SWAP5
00001e75: DUP6
00001e76: ISZERO
00001e77: PUSH2 0x047d
00001e7a: JUMPI
00001e7b: PUSH1 0xc0
00001e7d: MLOAD
00001e7e: SWAP4
00001e7f: PUSH1 0xc0
00001e81: MLOAD
00001e82: SWAP7
00001e83: PUSH2 0x204b
00001e86: JUMPI
00001e87: JUMPDEST
00001e88: POP
00001e89: PUSH20 0x8811d9b44b04e91c9707215b1862b2f98b1a1a24
00001e9e: EXTCODESIZE
00001e9f: ISZERO
00001ea0: PUSH2 0x0291
00001ea3: JUMPI
00001ea4: PUSH2 0x1f5d
00001ea7: SWAP2
00001ea8: PUSH1 0x40
00001eaa: MLOAD
00001eab: DUP1
00001eac: SWAP4
00001ead: DUP2
00001eae: SWAP3
00001eaf: PUSH4 0xa46c1907
00001eb4: PUSH1 0xe0
00001eb6: SHL
00001eb7: DUP4
00001eb8: MSTORE
00001eb9: PUSH32 0xf0e5094ebd597f2042580340ce53d1b15e5b64e0d8be717ecde51dd37c619300
00001eda: PUSH1 0x04
00001edc: DUP5
00001edd: ADD
00001ede: MSTORE
00001edf: DUP7
00001ee0: PUSH1 0x24
00001ee2: DUP5
00001ee3: ADD
00001ee4: MSTORE
00001ee5: PUSH1 0x64
00001ee7: CALLDATALOAD
00001ee8: PUSH1 0x44
00001eea: DUP5
00001eeb: ADD
00001eec: MSTORE
00001eed: PUSH1 0x01
00001eef: DUP1
00001ef0: PUSH1 0xa0
00001ef2: SHL
00001ef3: SUB
00001ef4: PUSH32 0x00000000000000000000000000000000000076a84fef008cdabe6409d2fe638b
00001f15: AND
00001f16: PUSH1 0x64
00001f18: DUP5
00001f19: ADD
00001f1a: MSTORE
00001f1b: PUSH1 0x01
00001f1d: DUP1
00001f1e: PUSH1 0xa0
00001f20: SHL
00001f21: SUB
00001f22: PUSH32 0x00000000000000000000000000000000000000447e69651d841bd8d104bed493
00001f43: AND
00001f44: PUSH1 0x84
00001f46: DUP5
00001f47: ADD
00001f48: MSTORE
00001f49: PUSH1 0xc0
00001f4b: PUSH1 0xa4
00001f4d: DUP5
00001f4e: ADD
00001f4f: MSTORE
00001f50: PUSH1 0xc0
00001f52: MLOAD
00001f53: SWAP5
00001f54: PUSH1 0xc4
00001f56: DUP5
00001f57: ADD
00001f58: SWAP2
00001f59: PUSH2 0x40df
00001f5c: JUMP
00001f5d: JUMPDEST
00001f5e: SUB
00001f5f: DUP2
00001f60: PUSH20 0x8811d9b44b04e91c9707215b1862b2f98b1a1a24
00001f75: GAS
00001f76: DELEGATECALL
00001f77: DUP1
00001f78: ISZERO
00001f79: PUSH2 0x047d
00001f7c: JUMPI
00001f7d: PUSH2 0x2035
00001f80: JUMPI
00001f81: JUMPDEST
00001f82: POP
00001f83: DUP1
00001f84: EXTCODESIZE
00001f85: ISZERO
00001f86: PUSH2 0x0291
00001f89: JUMPI
00001f8a: PUSH1 0x40
00001f8c: MLOAD
00001f8d: PUSH4 0x23b872dd
00001f92: PUSH1 0xe0
00001f94: SHL
00001f95: DUP2
00001f96: MSTORE
00001f97: PUSH1 0xc0
00001f99: MLOAD
00001f9a: SWAP1
00001f9b: SWAP2
00001f9c: DUP3
00001f9d: SWAP1
00001f9e: DUP2
00001f9f: DUP1
00001fa0: PUSH2 0x1fb0
00001fa3: PUSH1 0x64
00001fa5: CALLDATALOAD
00001fa6: ADDRESS
00001fa7: CALLER
00001fa8: PUSH1 0x04
00001faa: DUP6
00001fab: ADD
00001fac: PUSH2 0x4583
00001faf: JUMP
00001fb0: JUMPDEST
00001fb1: SUB
00001fb2: SWAP2
00001fb3: PUSH1 0xc0
00001fb5: MLOAD
00001fb6: SWAP1
00001fb7: GAS
00001fb8: CALL
00001fb9: DUP1
00001fba: ISZERO
00001fbb: PUSH2 0x047d
00001fbe: JUMPI
00001fbf: PUSH2 0x201b
00001fc2: JUMPI
00001fc3: JUMPDEST
00001fc4: PUSH1 0x20
00001fc6: PUSH2 0x200d
00001fc9: DUP5
00001fca: DUP7
00001fcb: PUSH0
00001fcc: DUP1
00001fcd: MLOAD
00001fce: PUSH1 0x20
00001fd0: PUSH2 0x5b1f
00001fd3: DUP4
00001fd4: CODECOPY
00001fd5: DUP2
00001fd6: MLOAD
00001fd7: SWAP2
00001fd8: MSTORE
00001fd9: PUSH2 0x2005
00001fdc: DUP8
00001fdd: PUSH2 0x1ff3
00001fe0: PUSH1 0x04
00001fe2: CALLDATALOAD
00001fe3: CALLER
00001fe4: PUSH1 0x01
00001fe6: DUP1
00001fe7: PUSH1 0xa0
00001fe9: SHL
00001fea: SUB
00001feb: PUSH1 0x01
00001fed: SLOAD
00001fee: AND
00001fef: PUSH2 0x4811
00001ff2: JUMP
00001ff3: JUMPDEST
00001ff4: PUSH1 0x40
00001ff6: MLOAD
00001ff7: SWAP2
00001ff8: DUP3
00001ff9: SWAP2
00001ffa: DUP9
00001ffb: DUP4
00001ffc: MSTORE
00001ffd: DUP9
00001ffe: DUP4
00001fff: ADD
00002000: SWAP1
00002001: PUSH2 0x3b5f
00002004: JUMP
00002005: JUMPDEST
00002006: SUB
00002007: SWAP1
00002008: LOG2
00002009: PUSH2 0x47e4
0000200c: JUMP
0000200d: JUMPDEST
0000200e: PUSH1 0x01
00002010: PUSH1 0xc0
00002012: MLOAD
00002013: SSTORE
00002014: PUSH1 0x40
00002016: MLOAD
00002017: SWAP1
00002018: DUP2
00002019: MSTORE
0000201a: RETURN
0000201b: JUMPDEST
0000201c: PUSH2 0x2027
0000201f: SWAP1
00002020: SWAP3
00002021: SWAP2
00002022: SWAP3
00002023: PUSH2 0x3c37
00002026: JUMP
00002027: JUMPDEST
00002028: PUSH1 0xc0
0000202a: MLOAD
0000202b: PUSH2 0x0291
0000202e: JUMPI
0000202f: SWAP1
00002030: DUP4
00002031: PUSH2 0x1fc3
00002034: JUMP
00002035: JUMPDEST
00002036: PUSH2 0x203e
00002039: SWAP1
0000203a: PUSH2 0x3c37
0000203d: JUMP
0000203e: JUMPDEST
0000203f: PUSH1 0xc0
00002041: MLOAD
00002042: PUSH2 0x0291
00002045: JUMPI
00002046: DUP5
00002047: PUSH2 0x1f81
0000204a: JUMP
0000204b: JUMPDEST
0000204c: SWAP1
0000204d: SWAP6
0000204e: POP
0000204f: PUSH2 0x206d
00002052: SWAP2
00002053: SWAP4
00002054: POP
00002055: RETURNDATASIZE
00002056: DUP1
00002057: PUSH1 0xc0
00002059: MLOAD
0000205a: DUP4
0000205b: RETURNDATACOPY
0000205c: PUSH2 0x2065
0000205f: DUP2
00002060: DUP4
00002061: PUSH2 0x3cb8
00002064: JUMP
00002065: JUMPDEST
00002066: DUP2
00002067: ADD
00002068: SWAP1
00002069: PUSH2 0x44f8
0000206c: JUMP
0000206d: JUMPDEST
0000206e: SWAP3
0000206f: SWAP1
00002070: SWAP3
00002071: SWAP5
00002072: DUP7
00002073: PUSH2 0x1e87
00002076: JUMP
00002077: JUMPDEST
00002078: CALLVALUE
00002079: PUSH2 0x0291
0000207c: JUMPI
0000207d: PUSH1 0xc0
0000207f: CALLDATASIZE
00002080: PUSH1 0x03
00002082: NOT
00002083: ADD
00002084: SLT
00002085: PUSH2 0x0291
00002088: JUMPI
00002089: PUSH1 0x04
0000208b: CALLDATALOAD
0000208c: PUSH1 0x01
0000208e: PUSH1 0x01
00002090: PUSH1 0x40
00002092: SHL
00002093: SUB
00002094: DUP2
00002095: GT
00002096: PUSH2 0x0291
00002099: JUMPI
0000209a: PUSH2 0x20a7
0000209d: SWAP1
0000209e: CALLDATASIZE
0000209f: SWAP1
000020a0: PUSH1 0x04
000020a2: ADD
000020a3: PUSH2 0x3b84
000020a6: JUMP
000020a7: JUMPDEST
000020a8: PUSH1 0x44
000020aa: CALLDATALOAD
000020ab: SWAP1
000020ac: PUSH1 0x01
000020ae: PUSH1 0x01
000020b0: PUSH1 0x40
000020b2: SHL
000020b3: SUB
000020b4: DUP3
000020b5: AND
000020b6: DUP3
000020b7: SUB
000020b8: PUSH2 0x0f5a
000020bb: JUMPI
000020bc: PUSH1 0x84
000020be: CALLDATALOAD
000020bf: PUSH1 0x01
000020c1: PUSH1 0x01
000020c3: PUSH1 0x40
000020c5: SHL
000020c6: SUB
000020c7: DUP2
000020c8: GT
000020c9: PUSH2 0x0291
000020cc: JUMPI
000020cd: PUSH2 0x20da
000020d0: SWAP1
000020d1: CALLDATASIZE
000020d2: SWAP1
000020d3: PUSH1 0x04
000020d5: ADD
000020d6: PUSH2 0x3e28
000020d9: JUMP
000020da: JUMPDEST
000020db: PUSH1 0x80
000020dd: MSTORE
000020de: SWAP2
000020df: PUSH1 0xa4
000020e1: CALLDATALOAD
000020e2: SWAP2
000020e3: PUSH1 0x01
000020e5: PUSH1 0x01
000020e7: PUSH1 0x40
000020e9: SHL
000020ea: SUB
000020eb: DUP4
000020ec: GT
000020ed: PUSH2 0x0291
000020f0: JUMPI
000020f1: PUSH2 0x2101
000020f4: PUSH2 0x2163
000020f7: SWAP4
000020f8: CALLDATASIZE
000020f9: SWAP1
000020fa: PUSH1 0x04
000020fc: ADD
000020fd: PUSH2 0x3b84
00002100: JUMP
00002101: JUMPDEST
00002102: SWAP2
00002103: SWAP1
00002104: SWAP6
00002105: PUSH2 0x210c
00002108: PUSH2 0x4719
0000210b: JUMP
0000210c: JUMPDEST
0000210d: PUSH2 0x211f
00002110: PUSH2 0x2117
00002113: PUSH2 0x52c3
00002116: JUMP
00002117: JUMPDEST
00002118: PUSH1 0x24
0000211a: CALLDATALOAD
0000211b: PUSH2 0x476d
0000211e: JUMP
0000211f: JUMPDEST
00002120: PUSH2 0x0100
00002123: MSTORE
00002124: PUSH1 0x40
00002126: MLOAD
00002127: DUP1
00002128: SWAP6
00002129: DUP2
0000212a: SWAP3
0000212b: PUSH4 0x76157645
00002130: PUSH1 0xe1
00002132: SHL
00002133: DUP4
00002134: MSTORE
00002135: PUSH1 0x01
00002137: PUSH1 0x04
00002139: DUP5
0000213a: ADD
0000213b: MSTORE
0000213c: PUSH0
0000213d: DUP1
0000213e: MLOAD
0000213f: PUSH1 0x20
00002141: PUSH2 0x5b9f
00002144: DUP4
00002145: CODECOPY
00002146: DUP2
00002147: MLOAD
00002148: SWAP2
00002149: MSTORE
0000214a: PUSH1 0x24
0000214c: DUP5
0000214d: ADD
0000214e: MSTORE
0000214f: PUSH1 0x60
00002151: PUSH1 0x44
00002153: DUP5
00002154: ADD
00002155: MSTORE
00002156: PUSH1 0xc0
00002158: MLOAD
00002159: SWAP5
0000215a: PUSH1 0x64
0000215c: DUP5
0000215d: ADD
0000215e: SWAP2
0000215f: PUSH2 0x40df
00002162: JUMP
00002163: JUMPDEST
00002164: SUB
00002165: DUP2
00002166: PUSH20 0x8811d9b44b04e91c9707215b1862b2f98b1a1a24
0000217b: GAS
0000217c: DELEGATECALL
0000217d: DUP1
0000217e: ISZERO
0000217f: PUSH2 0x047d
00002182: JUMPI
00002183: PUSH1 0xc0
00002185: MLOAD
00002186: SWAP4
00002187: DUP5
00002188: SWAP3
00002189: DUP4
0000218a: SWAP3
0000218b: SWAP1
0000218c: SWAP2
0000218d: DUP4
0000218e: SWAP2
0000218f: PUSH2 0x2947
00002192: JUMPI
00002193: JUMPDEST
00002194: POP
00002195: PUSH2 0x219d
00002198: SWAP1
00002199: PUSH2 0x47e4
0000219c: JUMP
0000219d: JUMPDEST
0000219e: PUSH2 0x21cc
000021a1: PUSH1 0x01
000021a3: DUP1
000021a4: PUSH1 0xa0
000021a6: SHL
000021a7: SUB
000021a8: PUSH1 0xe0
000021aa: DUP9
000021ab: ADD
000021ac: MLOAD
000021ad: AND
000021ae: SWAP9
000021af: PUSH2 0x21c4
000021b2: PUSH2 0x0100
000021b5: DUP10
000021b6: ADD
000021b7: MLOAD
000021b8: SWAP5
000021b9: PUSH2 0x0140
000021bc: DUP11
000021bd: ADD
000021be: MLOAD
000021bf: SWAP3
000021c0: PUSH2 0x49ea
000021c3: JUMP
000021c4: JUMPDEST
000021c5: SWAP5
000021c6: SWAP1
000021c7: SWAP11
000021c8: PUSH2 0x558f
000021cb: JUMP
000021cc: JUMPDEST
000021cd: SWAP8
000021ce: SWAP3
000021cf: POP
000021d0: SWAP4
000021d1: SWAP1
000021d2: SWAP10
000021d3: PUSH2 0x21da
000021d6: PUSH2 0x420b
000021d9: JUMP
000021da: JUMPDEST
000021db: SWAP5
000021dc: PUSH1 0x01
000021de: PUSH1 0x01
000021e0: PUSH1 0x40
000021e2: SHL
000021e3: SUB
000021e4: PUSH2 0x21ec
000021e7: DUP8
000021e8: PUSH2 0x4181
000021eb: JUMP
000021ec: JUMPDEST
000021ed: MLOAD
000021ee: AND
000021ef: PUSH1 0x01
000021f1: PUSH1 0x01
000021f3: PUSH1 0x40
000021f5: SHL
000021f6: SUB
000021f7: DUP6
000021f8: AND
000021f9: GT
000021fa: PUSH2 0x2935
000021fd: JUMPI
000021fe: DUP6
000021ff: MLOAD
00002200: DUP1
00002201: PUSH0
00002202: NOT
00002203: DUP2
00002204: ADD
00002205: GT
00002206: PUSH2 0x23de
00002209: JUMPI
0000220a: PUSH0
0000220b: NOT
0000220c: ADD
0000220d: SWAP6
0000220e: DUP7
0000220f: JUMPDEST
00002210: PUSH2 0x28fa
00002213: JUMPI
00002214: JUMPDEST
00002215: POP
00002216: SWAP2
00002217: PUSH2 0x223d
0000221a: SWAP2
0000221b: PUSH2 0x224b
0000221e: SWAP4
0000221f: PUSH1 0x01
00002221: DUP1
00002222: PUSH1 0xa0
00002224: SHL
00002225: SUB
00002226: PUSH1 0x09
00002228: SLOAD
00002229: AND
0000222a: SWAP14
0000222b: PUSH1 0x01
0000222d: SLOAD
0000222e: SWAP15
0000222f: DUP16
00002230: PUSH1 0x01
00002232: DUP1
00002233: PUSH1 0xa0
00002235: SHL
00002236: SUB
00002237: AND
00002238: SWAP1
00002239: PUSH2 0x4641
0000223c: JUMP
0000223d: JUMPDEST
0000223e: PUSH2 0x2245
00002241: PUSH2 0x52c3
00002244: JUMP
00002245: JUMPDEST
00002246: SWAP1
00002247: PUSH2 0x476d
0000224a: JUMP
0000224b: JUMPDEST
0000224c: SWAP7
0000224d: PUSH2 0x2257
00002250: PUSH1 0x80
00002252: MLOAD
00002253: PUSH2 0x3e58
00002256: JUMP
00002257: JUMPDEST
00002258: SWAP5
00002259: PUSH2 0x2265
0000225c: PUSH1 0x40
0000225e: MLOAD
0000225f: SWAP7
00002260: DUP8
00002261: PUSH2 0x3cb8
00002264: JUMP
00002265: JUMPDEST
00002266: PUSH1 0x80
00002268: MLOAD
00002269: DUP7
0000226a: MSTORE
0000226b: PUSH1 0x1f
0000226d: NOT
0000226e: PUSH2 0x2278
00002271: PUSH1 0x80
00002273: MLOAD
00002274: PUSH2 0x3e58
00002277: JUMP
00002278: JUMPDEST
00002279: ADD
0000227a: PUSH0
0000227b: JUMPDEST
0000227c: DUP2
0000227d: DUP2
0000227e: LT
0000227f: PUSH2 0x28e3
00002282: JUMPI
00002283: POP
00002284: POP
00002285: PUSH0
00002286: SWAP4
00002287: PUSH0
00002288: DUP1
00002289: SWAP6
0000228a: JUMPDEST
0000228b: PUSH1 0x80
0000228d: MLOAD
0000228e: DUP8
0000228f: LT
00002290: DUP1
00002291: DUP1
00002292: PUSH2 0x28d6
00002295: JUMPI
00002296: JUMPDEST
00002297: ISZERO
00002298: PUSH2 0x2446
0000229b: JUMPI
0000229c: ISZERO
0000229d: PUSH2 0x2432
000022a0: JUMPI
000022a1: PUSH1 0x05
000022a3: DUP8
000022a4: SWAP1
000022a5: SHL
000022a6: DUP14
000022a7: ADD
000022a8: CALLDATALOAD
000022a9: PUSH1 0x01
000022ab: PUSH1 0x01
000022ad: PUSH1 0x80
000022af: SHL
000022b0: SUB
000022b1: DUP2
000022b2: AND
000022b3: SWAP1
000022b4: SUB
000022b5: PUSH2 0x0f5a
000022b8: JUMPI
000022b9: DUP12
000022ba: PUSH2 0x22dd
000022bd: PUSH2 0x22c8
000022c0: DUP16
000022c1: SWAP4
000022c2: DUP4
000022c3: SWAP1
000022c4: PUSH2 0x54bf
000022c7: JUMP
000022c8: JUMPDEST
000022c9: SWAP1
000022ca: PUSH1 0xe0
000022cc: SWAP6
000022cd: SWAP4
000022ce: SWAP6
000022cf: MSTORE
000022d0: POP
000022d1: SWAP3
000022d2: SWAP4
000022d3: DUP11
000022d4: PUSH1 0x05
000022d6: SHL
000022d7: ADD
000022d8: CALLDATALOAD
000022d9: PUSH2 0x54bf
000022dc: JUMP
000022dd: JUMPDEST
000022de: POP
000022df: SWAP1
000022e0: SWAP3
000022e1: SWAP2
000022e2: SWAP4
000022e3: DUP1
000022e4: DUP6
000022e5: LT
000022e6: PUSH2 0x2400
000022e9: JUMPI
000022ea: DUP5
000022eb: EQ
000022ec: SWAP2
000022ed: DUP3
000022ee: DUP1
000022ef: PUSH2 0x2429
000022f2: JUMPI
000022f3: JUMPDEST
000022f4: PUSH2 0x2400
000022f7: JUMPI
000022f8: DUP3
000022f9: PUSH2 0x241f
000022fc: JUMPI
000022fd: JUMPDEST
000022fe: POP
000022ff: DUP2
00002300: PUSH2 0x2412
00002303: JUMPI
00002304: JUMPDEST
00002305: POP
00002306: PUSH2 0x2400
00002309: JUMPI
0000230a: DUP9
0000230b: LT
0000230c: PUSH2 0x2400
0000230f: JUMPI
00002310: PUSH2 0x23c1
00002313: SWAP2
00002314: DUP14
00002315: DUP13
00002316: SWAP3
00002317: PUSH1 0x01
00002319: DUP1
0000231a: PUSH1 0x80
0000231c: SHL
0000231d: SUB
0000231e: DUP11
0000231f: PUSH1 0x05
00002321: SHL
00002322: DUP4
00002323: ADD
00002324: CALLDATALOAD
00002325: AND
00002326: PUSH0
00002327: MSTORE
00002328: PUSH2 0x2344
0000232b: DUP4
0000232c: PUSH2 0x233f
0000232f: PUSH1 0x20
00002331: SWAP7
00002332: PUSH1 0x06
00002334: DUP9
00002335: MSTORE
00002336: PUSH1 0x40
00002338: PUSH0
00002339: KECCAK256
0000233a: SWAP5
0000233b: PUSH2 0x476d
0000233e: JUMP
0000233f: JUMPDEST
00002340: PUSH2 0x448c
00002343: JUMP
00002344: JUMPDEST
00002345: PUSH1 0x01
00002347: SWAP1
00002348: SWAP2
00002349: ADD
0000234a: SLOAD
0000234b: PUSH1 0x01
0000234d: PUSH1 0x01
0000234f: PUSH1 0x80
00002351: SHL
00002352: SUB
00002353: AND
00002354: DUP1
00002355: DUP3
00002356: LT
00002357: ISZERO
00002358: PUSH2 0x23f9
0000235b: JUMPI
0000235c: POP
0000235d: JUMPDEST
0000235e: PUSH2 0x236a
00002361: DUP4
00002362: PUSH2 0x0100
00002365: MLOAD
00002366: PUSH2 0x448c
00002369: JUMP
0000236a: JUMPDEST
0000236b: DUP1
0000236c: DUP3
0000236d: LT
0000236e: ISZERO
0000236f: PUSH2 0x23f2
00002372: JUMPI
00002373: POP
00002374: JUMPDEST
00002375: PUSH1 0x01
00002377: DUP1
00002378: PUSH1 0x80
0000237a: SHL
0000237b: SUB
0000237c: AND
0000237d: DUP1
0000237e: SWAP4
0000237f: PUSH1 0x40
00002381: MLOAD
00002382: SWAP3
00002383: PUSH2 0x238b
00002386: DUP5
00002387: PUSH2 0x3c82
0000238a: JUMP
0000238b: JUMPDEST
0000238c: PUSH1 0x05
0000238e: DUP13
0000238f: SWAP1
00002390: SHL
00002391: ADD
00002392: CALLDATALOAD
00002393: PUSH1 0x01
00002395: PUSH1 0x01
00002397: PUSH1 0x80
00002399: SHL
0000239a: SUB
0000239b: AND
0000239c: DUP4
0000239d: MSTORE
0000239e: DUP3
0000239f: ADD
000023a0: MSTORE
000023a1: PUSH0
000023a2: PUSH1 0x40
000023a4: DUP3
000023a5: ADD
000023a6: MSTORE
000023a7: PUSH2 0x23b0
000023aa: DUP10
000023ab: DUP13
000023ac: PUSH2 0x418e
000023af: JUMP
000023b0: JUMPDEST
000023b1: MSTORE
000023b2: PUSH2 0x23bb
000023b5: DUP9
000023b6: DUP12
000023b7: PUSH2 0x418e
000023ba: JUMP
000023bb: JUMPDEST
000023bc: POP
000023bd: PUSH2 0x4499
000023c0: JUMP
000023c1: JUMPDEST
000023c2: SWAP8
000023c3: DUP6
000023c4: PUSH1 0x05
000023c6: SHL
000023c7: DUP13
000023c8: ADD
000023c9: CALLDATALOAD
000023ca: SWAP6
000023cb: PUSH0
000023cc: NOT
000023cd: DUP2
000023ce: EQ
000023cf: PUSH2 0x23de
000023d2: JUMPI
000023d3: PUSH1 0x01
000023d5: ADD
000023d6: SWAP6
000023d7: SWAP9
000023d8: SWAP1
000023d9: SWAP9
000023da: PUSH2 0x228a
000023dd: JUMP
000023de: JUMPDEST
000023df: PUSH4 0x4e487b71
000023e4: PUSH1 0xe0
000023e6: SHL
000023e7: PUSH0
000023e8: MSTORE
000023e9: PUSH1 0x11
000023eb: PUSH1 0x04
000023ed: MSTORE
000023ee: PUSH1 0x24
000023f0: PUSH0
000023f1: REVERT
000023f2: JUMPDEST
000023f3: SWAP1
000023f4: POP
000023f5: PUSH2 0x2374
000023f8: JUMP
000023f9: JUMPDEST
000023fa: SWAP1
000023fb: POP
000023fc: PUSH2 0x235d
000023ff: JUMP
00002400: JUMPDEST
00002401: PUSH1 0x40
00002403: MLOAD
00002404: PUSH4 0x33a3bdff
00002409: PUSH1 0xe2
0000240b: SHL
0000240c: DUP2
0000240d: MSTORE
0000240e: PUSH1 0x04
00002410: SWAP1
00002411: REVERT
00002412: JUMPDEST
00002413: SWAP1
00002414: POP
00002415: PUSH1 0xe0
00002417: MLOAD
00002418: LT
00002419: ISZERO
0000241a: PUSH0
0000241b: PUSH2 0x2304
0000241e: JUMP
0000241f: JUMPDEST
00002420: DUP4
00002421: EQ
00002422: SWAP2
00002423: POP
00002424: PUSH0
00002425: PUSH2 0x22fd
00002428: JUMP
00002429: JUMPDEST
0000242a: POP
0000242b: DUP1
0000242c: DUP5
0000242d: LT
0000242e: PUSH2 0x22f3
00002431: JUMP
00002432: JUMPDEST
00002433: PUSH4 0x4e487b71
00002438: PUSH1 0xe0
0000243a: SHL
0000243b: PUSH0
0000243c: MSTORE
0000243d: PUSH1 0x32
0000243f: PUSH1 0x04
00002441: MSTORE
00002442: PUSH1 0x24
00002444: PUSH0
00002445: REVERT
00002446: JUMPDEST
00002447: POP
00002448: POP
00002449: DUP13
0000244a: DUP9
0000244b: SWAP5
0000244c: SWAP6
0000244d: DUP8
0000244e: DUP12
0000244f: SWAP4
00002450: PUSH2 0x0100
00002453: MLOAD
00002454: GT
00002455: PUSH2 0x28c4
00002458: JUMPI
00002459: PUSH1 0x20
0000245b: DUP2
0000245c: GT
0000245d: PUSH2 0x28c4
00002460: JUMPI
00002461: PUSH2 0xffff
00002464: DUP1
00002465: DUP3
00002466: GT
00002467: PUSH2 0x2870
0000246a: JUMPI
0000246b: PUSH2 0x2472
0000246e: PUSH2 0x430f
00002471: JUMP
00002472: JUMPDEST
00002473: PUSH2 0x247d
00002476: DUP3
00002477: DUP5
00002478: AND
00002479: PUSH2 0x414f
0000247c: JUMP
0000247d: JUMPDEST
0000247e: SWAP1
0000247f: PUSH0
00002480: PUSH1 0xa0
00002482: MSTORE
00002483: PUSH0
00002484: SWAP1
00002485: PUSH0
00002486: SWAP1
00002487: JUMPDEST
00002488: DUP5
00002489: DUP7
0000248a: AND
0000248b: DUP3
0000248c: LT
0000248d: PUSH2 0x2797
00002490: JUMPI
00002491: POP
00002492: POP
00002493: PUSH2 0x24c2
00002496: PUSH2 0x2710
00002499: PUSH2 0x24ba
0000249c: PUSH4 0xffffffff
000024a1: PUSH2 0x24af
000024a4: PUSH2 0x0100
000024a7: MLOAD
000024a8: PUSH1 0xa0
000024aa: MLOAD
000024ab: PUSH2 0x448c
000024ae: JUMP
000024af: JUMPDEST
000024b0: SWAP10
000024b1: PUSH1 0xa0
000024b3: SHR
000024b4: AND
000024b5: DUP10
000024b6: PUSH2 0x476d
000024b9: JUMP
000024ba: JUMPDEST
000024bb: DIV
000024bc: DUP1
000024bd: SWAP8
000024be: PUSH2 0x448c
000024c1: JUMP
000024c2: JUMPDEST
000024c3: SWAP2
000024c4: PUSH0
000024c5: SWAP2
000024c6: DUP4
000024c7: JUMPDEST
000024c8: DUP13
000024c9: DUP7
000024ca: DUP9
000024cb: AND
000024cc: DUP6
000024cd: LT
000024ce: PUSH2 0x272c
000024d1: JUMPI
000024d2: POP
000024d3: POP
000024d4: POP
000024d5: POP
000024d6: POP
000024d7: SWAP2
000024d8: PUSH2 0x2595
000024db: SWAP2
000024dc: DUP4
000024dd: PUSH1 0x01
000024df: PUSH1 0x01
000024e1: PUSH1 0x40
000024e3: SHL
000024e4: SUB
000024e5: SWAP6
000024e6: SWAP5
000024e7: PUSH2 0x26f4
000024ea: JUMPI
000024eb: JUMPDEST
000024ec: POP
000024ed: PUSH2 0x2577
000024f0: PUSH1 0x01
000024f2: DUP1
000024f3: PUSH1 0xa0
000024f5: SHL
000024f6: SUB
000024f7: PUSH1 0xe0
000024f9: DUP14
000024fa: ADD
000024fb: MLOAD
000024fc: AND
000024fd: SWAP11
000024fe: PUSH2 0x0100
00002501: DUP14
00002502: ADD
00002503: MLOAD
00002504: SWAP8
00002505: DUP14
00002506: PUSH2 0x0140
00002509: PUSH2 0x251b
0000250c: PUSH2 0x2513
0000250f: PUSH2 0x52c3
00002512: JUMP
00002513: JUMPDEST
00002514: PUSH1 0x64
00002516: CALLDATALOAD
00002517: PUSH2 0x476d
0000251a: JUMP
0000251b: JUMPDEST
0000251c: SWAP2
0000251d: ADD
0000251e: MLOAD
0000251f: SWAP10
00002520: PUSH1 0x40
00002522: MLOAD
00002523: SWAP15
00002524: DUP16
00002525: SWAP11
00002526: DUP12
00002527: SWAP11
00002528: PUSH4 0x5174fe2d
0000252d: PUSH1 0xe1
0000252f: SHL
00002530: DUP13
00002531: MSTORE
00002532: PUSH1 0x01
00002534: PUSH1 0x04
00002536: DUP14
00002537: ADD
00002538: MSTORE
00002539: PUSH2 0x0100
0000253c: MLOAD
0000253d: PUSH1 0x24
0000253f: DUP14
00002540: ADD
00002541: MSTORE
00002542: AND
00002543: PUSH1 0x44
00002545: DUP12
00002546: ADD
00002547: MSTORE
00002548: PUSH1 0x64
0000254a: DUP11
0000254b: ADD
0000254c: MSTORE
0000254d: PUSH1 0x84
0000254f: DUP10
00002550: ADD
00002551: MSTORE
00002552: PUSH1 0xa0
00002554: MLOAD
00002555: PUSH1 0xa4
00002557: DUP10
00002558: ADD
00002559: MSTORE
0000255a: PUSH1 0xc4
0000255c: DUP9
0000255d: ADD
0000255e: MSTORE
0000255f: PUSH1 0xe4
00002561: DUP8
00002562: ADD
00002563: MSTORE
00002564: PUSH2 0x0160
00002567: PUSH2 0x0104
0000256a: DUP8
0000256b: ADD
0000256c: MSTORE
0000256d: PUSH2 0x0164
00002570: DUP7
00002571: ADD
00002572: SWAP1
00002573: PUSH2 0x4522
00002576: JUMP
00002577: JUMPDEST
00002578: SWAP2
00002579: AND
0000257a: PUSH2 0x0124
0000257d: DUP5
0000257e: ADD
0000257f: MSTORE
00002580: DUP3
00002581: DUP2
00002582: SUB
00002583: PUSH1 0x03
00002585: NOT
00002586: ADD
00002587: PUSH2 0x0144
0000258a: DUP5
0000258b: ADD
0000258c: MSTORE
0000258d: PUSH1 0xc0
0000258f: MLOAD
00002590: SWAP5
00002591: PUSH2 0x3b5f
00002594: JUMP
00002595: JUMPDEST
00002596: SUB
00002597: DUP2
00002598: PUSH20 0x8811d9b44b04e91c9707215b1862b2f98b1a1a24
000025ad: GAS
000025ae: DELEGATECALL
000025af: SWAP5
000025b0: DUP6
000025b1: ISZERO
000025b2: PUSH2 0x047d
000025b5: JUMPI
000025b6: PUSH1 0xc0
000025b8: MLOAD
000025b9: SWAP5
000025ba: PUSH1 0xc0
000025bc: MLOAD
000025bd: SWAP7
000025be: PUSH2 0x26a6
000025c1: JUMPI
000025c2: JUMPDEST
000025c3: POP
000025c4: PUSH1 0x20
000025c6: DUP4
000025c7: PUSH2 0x2644
000025ca: SWAP6
000025cb: SWAP4
000025cc: PUSH0
000025cd: DUP1
000025ce: MLOAD
000025cf: PUSH1 0x20
000025d1: PUSH2 0x5b3f
000025d4: DUP4
000025d5: CODECOPY
000025d6: DUP2
000025d7: MLOAD
000025d8: SWAP2
000025d9: MSTORE
000025da: SWAP4
000025db: PUSH0
000025dc: DUP1
000025dd: MLOAD
000025de: PUSH1 0x20
000025e0: PUSH2 0x5b1f
000025e3: DUP4
000025e4: CODECOPY
000025e5: DUP2
000025e6: MLOAD
000025e7: SWAP2
000025e8: MSTORE
000025e9: SWAP9
000025ea: SWAP7
000025eb: PUSH1 0x24
000025ed: CALLDATALOAD
000025ee: LT
000025ef: PUSH0
000025f0: EQ
000025f1: PUSH2 0x267c
000025f4: JUMPI
000025f5: PUSH1 0x01
000025f7: SLOAD
000025f8: PUSH1 0x80
000025fa: SWAP1
000025fb: SWAP2
000025fc: ADD
000025fd: MLOAD
000025fe: PUSH2 0x2622
00002601: SWAP2
00002602: PUSH1 0x01
00002604: PUSH1 0x01
00002606: PUSH1 0xa0
00002608: SHL
00002609: SUB
0000260a: SWAP2
0000260b: DUP3
0000260c: AND
0000260d: SWAP2
0000260e: AND
0000260f: PUSH2 0x261a
00002612: PUSH1 0x24
00002614: CALLDATALOAD
00002615: DUP7
00002616: PUSH2 0x448c
00002619: JUMP
0000261a: JUMPDEST
0000261b: SWAP2
0000261c: ADDRESS
0000261d: SWAP2
0000261e: PUSH2 0x50e9
00002621: JUMP
00002622: JUMPDEST
00002623: DUP1
00002624: PUSH2 0x2654
00002627: JUMPI
00002628: JUMPDEST
00002629: POP
0000262a: PUSH1 0x40
0000262c: MLOAD
0000262d: SWAP1
0000262e: DUP2
0000262f: MSTORE
00002630: LOG2
00002631: PUSH1 0x40
00002633: MLOAD
00002634: SWAP2
00002635: DUP3
00002636: SWAP2
00002637: PUSH1 0x20
00002639: DUP4
0000263a: MSTORE
0000263b: PUSH1 0x20
0000263d: DUP4
0000263e: ADD
0000263f: SWAP1
00002640: PUSH2 0x3b5f
00002643: JUMP
00002644: JUMPDEST
00002645: SUB
00002646: SWAP1
00002647: LOG2
00002648: PUSH1 0x20
0000264a: PUSH2 0x200d
0000264d: PUSH1 0xa0
0000264f: MLOAD
00002650: PUSH2 0x47e4
00002653: JUMP
00002654: JUMPDEST
00002655: PUSH0
00002656: DUP1
00002657: MLOAD
00002658: PUSH1 0x20
0000265a: PUSH2 0x5b9f
0000265d: DUP4
0000265e: CODECOPY
0000265f: DUP2
00002660: MLOAD
00002661: SWAP2
00002662: MSTORE
00002663: SLOAD
00002664: PUSH2 0x2676
00002667: SWAP2
00002668: SWAP1
00002669: PUSH1 0x01
0000266b: PUSH1 0x01
0000266d: PUSH1 0xa0
0000266f: SHL
00002670: SUB
00002671: AND
00002672: PUSH2 0x5111
00002675: JUMP
00002676: JUMPDEST
00002677: DUP9
00002678: PUSH2 0x2628
0000267b: JUMP
0000267c: JUMPDEST
0000267d: POP
0000267e: PUSH1 0x01
00002680: SLOAD
00002681: PUSH2 0x26a1
00002684: SWAP1
00002685: PUSH1 0x01
00002687: PUSH1 0x01
00002689: PUSH1 0xa0
0000268b: SHL
0000268c: SUB
0000268d: AND
0000268e: PUSH2 0x2699
00002691: DUP5
00002692: PUSH1 0x24
00002694: CALLDATALOAD
00002695: PUSH2 0x448c
00002698: JUMP
00002699: JUMPDEST
0000269a: SWAP1
0000269b: CALLER
0000269c: SWAP1
0000269d: PUSH2 0x4811
000026a0: JUMP
000026a1: JUMPDEST
000026a2: PUSH2 0x2622
000026a5: JUMP
000026a6: JUMPDEST
000026a7: PUSH0
000026a8: DUP1
000026a9: MLOAD
000026aa: PUSH1 0x20
000026ac: PUSH2 0x5b3f
000026af: DUP4
000026b0: CODECOPY
000026b1: DUP2
000026b2: MLOAD
000026b3: SWAP2
000026b4: MSTORE
000026b5: SWAP2
000026b6: SWAP7
000026b7: POP
000026b8: PUSH0
000026b9: DUP1
000026ba: MLOAD
000026bb: PUSH1 0x20
000026bd: PUSH2 0x5b1f
000026c0: DUP4
000026c1: CODECOPY
000026c2: DUP2
000026c3: MLOAD
000026c4: SWAP2
000026c5: MSTORE
000026c6: SWAP6
000026c7: POP
000026c8: PUSH2 0x2644
000026cb: SWAP5
000026cc: SWAP3
000026cd: SWAP4
000026ce: PUSH2 0x26e4
000026d1: PUSH1 0x20
000026d3: SWAP3
000026d4: RETURNDATASIZE
000026d5: DUP1
000026d6: PUSH1 0xc0
000026d8: MLOAD
000026d9: DUP4
000026da: RETURNDATACOPY
000026db: PUSH2 0x2065
000026de: DUP2
000026df: DUP4
000026e0: PUSH2 0x3cb8
000026e3: JUMP
000026e4: JUMPDEST
000026e5: SWAP9
000026e6: SWAP1
000026e7: SWAP8
000026e8: POP
000026e9: SWAP4
000026ea: SWAP6
000026eb: POP
000026ec: SWAP4
000026ed: SWAP3
000026ee: SWAP2
000026ef: POP
000026f0: PUSH2 0x25c2
000026f3: JUMP
000026f4: JUMPDEST
000026f5: PUSH2 0x26fd
000026f8: SWAP1
000026f9: PUSH2 0x5161
000026fc: JUMP
000026fd: JUMPDEST
000026fe: PUSH1 0x40
00002700: PUSH2 0x2708
00002703: DUP13
00002704: PUSH2 0x4181
00002707: JUMP
00002708: JUMPDEST
00002709: MLOAD
0000270a: ADD
0000270b: DUP1
0000270c: MLOAD
0000270d: SWAP1
0000270e: SWAP2
0000270f: PUSH1 0x01
00002711: PUSH1 0x01
00002713: PUSH1 0x80
00002715: SHL
00002716: SUB
00002717: SWAP2
00002718: PUSH2 0x2723
0000271b: SWAP2
0000271c: SWAP1
0000271d: DUP4
0000271e: AND
0000271f: PUSH2 0x57cc
00002722: JUMP
00002723: JUMPDEST
00002724: AND
00002725: SWAP1
00002726: MSTORE
00002727: DUP12
00002728: PUSH2 0x24eb
0000272b: JUMP
0000272c: JUMPDEST
0000272d: PUSH2 0x278d
00002730: SWAP1
00002731: DUP6
00002732: SWAP7
00002733: PUSH2 0x274c
00002736: DUP6
00002737: PUSH2 0x2745
0000273a: DUP9
0000273b: SWAP10
0000273c: PUSH1 0x01
0000273e: SWAP8
0000273f: SWAP9
00002740: SWAP10
00002741: PUSH2 0x418e
00002744: JUMP
00002745: JUMPDEST
00002746: MLOAD
00002747: DUP8
00002748: PUSH2 0x5a00
0000274b: JUMP
0000274c: JUMPDEST
0000274d: SWAP2
0000274e: DUP5
0000274f: DUP1
00002750: PUSH1 0x80
00002752: SHL
00002753: SUB
00002754: PUSH1 0x40
00002756: PUSH2 0x2782
00002759: DUP12
0000275a: PUSH2 0x277c
0000275d: DUP5
0000275e: PUSH1 0x20
00002760: PUSH2 0x2769
00002763: DUP5
00002764: DUP10
00002765: PUSH2 0x418e
00002768: JUMP
00002769: JUMPDEST
0000276a: MLOAD
0000276b: ADD
0000276c: MLOAD
0000276d: AND
0000276e: PUSH2 0x2776
00002771: DUP10
00002772: PUSH2 0x5161
00002775: JUMP
00002776: JUMPDEST
00002777: SWAP1
00002778: PUSH2 0x57cc
0000277b: JUMP
0000277c: JUMPDEST
0000277d: SWAP5
0000277e: PUSH2 0x418e
00002781: JUMP
00002782: JUMPDEST
00002783: MLOAD
00002784: ADD
00002785: SWAP2
00002786: AND
00002787: SWAP1
00002788: MSTORE
00002789: PUSH2 0x448c
0000278c: JUMP
0000278d: JUMPDEST
0000278e: SWAP5
0000278f: ADD
00002790: SWAP3
00002791: SWAP2
00002792: SWAP1
00002793: PUSH2 0x24c7
00002796: JUMP
00002797: JUMPDEST
00002798: SWAP1
00002799: SWAP3
0000279a: SWAP2
0000279b: PUSH1 0x01
0000279d: PUSH1 0x01
0000279f: PUSH1 0x80
000027a1: SHL
000027a2: SUB
000027a3: SWAP1
000027a4: DUP13
000027a5: SWAP1
000027a6: PUSH2 0x27bb
000027a9: DUP4
000027aa: PUSH2 0x27b3
000027ad: DUP9
000027ae: DUP6
000027af: PUSH2 0x418e
000027b2: JUMP
000027b3: JUMPDEST
000027b4: MLOAD
000027b5: MLOAD
000027b6: AND
000027b7: PUSH2 0x543e
000027ba: JUMP
000027bb: JUMPDEST
000027bc: POP
000027bd: SWAP5
000027be: SWAP2
000027bf: POP
000027c0: POP
000027c1: PUSH1 0x20
000027c3: PUSH2 0x27dc
000027c6: DUP9
000027c7: DUP4
000027c8: DUP4
000027c9: PUSH2 0x27d2
000027cc: DUP4
000027cd: DUP10
000027ce: PUSH2 0x418e
000027d1: JUMP
000027d2: JUMPDEST
000027d3: MLOAD
000027d4: ADD
000027d5: MLOAD
000027d6: AND
000027d7: SWAP6
000027d8: PUSH2 0x418e
000027db: JUMP
000027dc: JUMPDEST
000027dd: MLOAD
000027de: ADD
000027df: MLOAD
000027e0: AND
000027e1: SWAP3
000027e2: PUSH1 0x01
000027e4: PUSH1 0x01
000027e6: PUSH1 0x40
000027e8: SHL
000027e9: SUB
000027ea: PUSH2 0x27f6
000027ed: DUP2
000027ee: DUP13
000027ef: AND
000027f0: SWAP3
000027f1: DUP8
000027f2: PUSH2 0x418e
000027f5: JUMP
000027f6: JUMPDEST
000027f7: MLOAD
000027f8: AND
000027f9: MUL
000027fa: DUP1
000027fb: PUSH1 0x01
000027fd: PUSH1 0x01
000027ff: PUSH1 0x40
00002801: SHL
00002802: SUB
00002803: DUP2
00002804: AND
00002805: SUB
00002806: PUSH2 0x23de
00002809: JUMPI
0000280a: PUSH2 0x282f
0000280d: PUSH2 0x2867
00002810: SWAP4
00002811: PUSH2 0x2829
00002814: PUSH1 0x01
00002816: SWAP7
00002817: PUSH1 0x01
00002819: PUSH1 0x01
0000281b: PUSH1 0x40
0000281d: SHL
0000281e: SUB
0000281f: PUSH2 0x284b
00002822: SWAP6
00002823: AND
00002824: SWAP1
00002825: PUSH2 0x5887
00002828: JUMP
00002829: JUMPDEST
0000282a: SWAP1
0000282b: PUSH2 0x4499
0000282e: JUMP
0000282f: JUMPDEST
00002830: PUSH2 0x283b
00002833: DUP2
00002834: PUSH1 0xa0
00002836: MLOAD
00002837: PUSH2 0x4499
0000283a: JUMP
0000283b: JUMPDEST
0000283c: PUSH1 0xa0
0000283e: MSTORE
0000283f: PUSH2 0x0100
00002842: MLOAD
00002843: SWAP1
00002844: PUSH1 0xa0
00002846: MLOAD
00002847: PUSH2 0x5a00
0000284a: JUMP
0000284b: JUMPDEST
0000284c: PUSH2 0x2855
0000284f: DUP8
00002850: DUP8
00002851: PUSH2 0x418e
00002854: JUMP
00002855: JUMPDEST
00002856: MSTORE
00002857: PUSH2 0x2860
0000285a: DUP7
0000285b: DUP7
0000285c: PUSH2 0x418e
0000285f: JUMP
00002860: JUMPDEST
00002861: MLOAD
00002862: SWAP1
00002863: PUSH2 0x4499
00002866: JUMP
00002867: JUMPDEST
00002868: SWAP3
00002869: SWAP4
0000286a: ADD
0000286b: SWAP1
0000286c: PUSH2 0x2487
0000286f: JUMP
00002870: JUMPDEST
00002871: PUSH1 0x40
00002873: MLOAD
00002874: PUSH3 0x461bcd
00002878: PUSH1 0xe5
0000287a: SHL
0000287b: DUP2
0000287c: MSTORE
0000287d: PUSH1 0x20
0000287f: PUSH1 0x04
00002881: DUP3
00002882: ADD
00002883: MSTORE
00002884: PUSH1 0x26
00002886: PUSH1 0x24
00002888: DUP3
00002889: ADD
0000288a: MSTORE
0000288b: PUSH32 0x53616665436173743a2076616c756520646f65736e27742066697420696e2031
000028ac: PUSH1 0x44
000028ae: DUP3
000028af: ADD
000028b0: MSTORE
000028b1: PUSH6 0x362062697473
000028b8: PUSH1 0xd0
000028ba: SHL
000028bb: PUSH1 0x64
000028bd: DUP3
000028be: ADD
000028bf: MSTORE
000028c0: PUSH1 0x84
000028c2: SWAP1
000028c3: REVERT
000028c4: JUMPDEST
000028c5: PUSH1 0x40
000028c7: MLOAD
000028c8: PUSH4 0xbb55fd27
000028cd: PUSH1 0xe0
000028cf: SHL
000028d0: DUP2
000028d1: MSTORE
000028d2: PUSH1 0x04
000028d4: SWAP1
000028d5: REVERT
000028d6: JUMPDEST
000028d7: POP
000028d8: PUSH2 0x0100
000028db: MLOAD
000028dc: DUP4
000028dd: EQ
000028de: ISZERO
000028df: PUSH2 0x2296
000028e2: JUMP
000028e3: JUMPDEST
000028e4: PUSH1 0x20
000028e6: SWAP1
000028e7: PUSH2 0x28ee
000028ea: PUSH2 0x45f0
000028ed: JUMP
000028ee: JUMPDEST
000028ef: DUP3
000028f0: DUP3
000028f1: DUP12
000028f2: ADD
000028f3: ADD
000028f4: MSTORE
000028f5: ADD
000028f6: PUSH2 0x227b
000028f9: JUMP
000028fa: JUMPDEST
000028fb: SWAP6
000028fc: PUSH1 0x01
000028fe: PUSH1 0x01
00002900: PUSH1 0x40
00002902: SHL
00002903: SUB
00002904: PUSH2 0x290d
00002907: DUP3
00002908: DUP10
00002909: PUSH2 0x418e
0000290c: JUMP
0000290d: JUMPDEST
0000290e: MLOAD
0000290f: AND
00002910: PUSH1 0x01
00002912: PUSH1 0x01
00002914: PUSH1 0x40
00002916: SHL
00002917: SUB
00002918: DUP7
00002919: AND
0000291a: GT
0000291b: ISZERO
0000291c: PUSH2 0x292f
0000291f: JUMPI
00002920: DUP1
00002921: ISZERO
00002922: PUSH2 0x23de
00002925: JUMPI
00002926: PUSH0
00002927: NOT
00002928: ADD
00002929: SWAP6
0000292a: DUP7
0000292b: PUSH2 0x220f
0000292e: JUMP
0000292f: JUMPDEST
00002930: SWAP6
00002931: PUSH2 0x2214
00002934: JUMP
00002935: JUMPDEST
00002936: PUSH1 0x40
00002938: MLOAD
00002939: PUSH4 0xb572bb85
0000293e: PUSH1 0xe0
00002940: SHL
00002941: DUP2
00002942: MSTORE
00002943: PUSH1 0x04
00002945: SWAP1
00002946: REVERT
00002947: JUMPDEST
00002948: SWAP2
00002949: SWAP6
0000294a: POP
0000294b: POP
0000294c: PUSH2 0x219d
0000294f: SWAP3
00002950: POP
00002951: PUSH2 0x2966
00002954: SWAP2
00002955: POP
00002956: RETURNDATASIZE
00002957: DUP1
00002958: PUSH1 0xc0
0000295a: MLOAD
0000295b: DUP4
0000295c: RETURNDATACOPY
0000295d: PUSH2 0x0e11
00002960: DUP2
00002961: DUP4
00002962: PUSH2 0x3cb8
00002965: JUMP
00002966: JUMPDEST
00002967: SWAP1
00002968: SWAP6
00002969: SWAP2
0000296a: SWAP4
0000296b: SWAP1
0000296c: SWAP3
0000296d: SWAP1
0000296e: PUSH2 0x2193
00002971: JUMP
00002972: JUMPDEST
00002973: CALLVALUE
00002974: PUSH2 0x0291
00002977: JUMPI
00002978: PUSH1 0x40
0000297a: CALLDATASIZE
0000297b: PUSH1 0x03
0000297d: NOT
0000297e: ADD
0000297f: SLT
00002980: PUSH2 0x0291
00002983: JUMPI
00002984: PUSH1 0x40
00002986: PUSH2 0x298d
00002989: PUSH2 0x3c0b
0000298c: JUMP
0000298d: JUMPDEST
0000298e: PUSH2 0x2995
00002991: PUSH2 0x3d84
00002994: JUMP
00002995: JUMPDEST
00002996: SWAP1
00002997: PUSH1 0x01
00002999: DUP1
0000299a: PUSH1 0xa0
0000299c: SHL
0000299d: SUB
0000299e: AND
0000299f: SWAP1
000029a0: DUP2
000029a1: PUSH1 0xc0
000029a3: MLOAD
000029a4: MSTORE
000029a5: PUSH1 0x07
000029a7: PUSH1 0x20
000029a9: MSTORE
000029aa: DUP3
000029ab: PUSH1 0xc0
000029ad: MLOAD
000029ae: KECCAK256
000029af: SWAP1
000029b0: PUSH1 0x01
000029b2: DUP1
000029b3: PUSH1 0x80
000029b5: SHL
000029b6: SUB
000029b7: DUP1
000029b8: SWAP2
000029b9: AND
000029ba: SWAP2
000029bb: DUP3
000029bc: PUSH0
000029bd: MSTORE
000029be: PUSH1 0x20
000029c0: MSTORE
000029c1: DUP4
000029c2: PUSH0
000029c3: KECCAK256
000029c4: SLOAD
000029c5: AND
000029c6: SWAP2
000029c7: PUSH1 0xc0
000029c9: MLOAD
000029ca: MSTORE
000029cb: PUSH1 0x07
000029cd: PUSH1 0x20
000029cf: MSTORE
000029d0: DUP3
000029d1: PUSH1 0xc0
000029d3: MLOAD
000029d4: KECCAK256
000029d5: SWAP1
000029d6: PUSH0
000029d7: MSTORE
000029d8: PUSH1 0x20
000029da: MSTORE
000029db: DUP2
000029dc: PUSH0
000029dd: KECCAK256
000029de: SLOAD
000029df: PUSH1 0x80
000029e1: SHR
000029e2: DUP3
000029e3: MLOAD
000029e4: SWAP2
000029e5: DUP3
000029e6: MSTORE
000029e7: PUSH1 0x20
000029e9: DUP3
000029ea: ADD
000029eb: MSTORE
000029ec: RETURN
000029ed: JUMPDEST
000029ee: CALLVALUE
000029ef: PUSH2 0x0291
000029f2: JUMPI
000029f3: PUSH1 0xc0
000029f5: MLOAD
000029f6: CALLDATASIZE
000029f7: PUSH1 0x03
000029f9: NOT
000029fa: ADD
000029fb: SLT
000029fc: PUSH2 0x0291
000029ff: JUMPI
00002a00: PUSH1 0x01
00002a02: SLOAD
00002a03: PUSH1 0x40
00002a05: MLOAD
00002a06: PUSH1 0x01
00002a08: PUSH1 0x01
00002a0a: PUSH1 0xa0
00002a0c: SHL
00002a0d: SUB
00002a0e: SWAP1
00002a0f: SWAP2
00002a10: AND
00002a11: DUP2
00002a12: MSTORE
00002a13: PUSH1 0x20
00002a15: SWAP1
00002a16: RETURN
00002a17: JUMPDEST
00002a18: CALLVALUE
00002a19: PUSH2 0x0291
00002a1c: JUMPI
00002a1d: PUSH1 0xc0
00002a1f: MLOAD
00002a20: CALLDATASIZE
00002a21: PUSH1 0x03
00002a23: NOT
00002a24: ADD
00002a25: SLT
00002a26: PUSH2 0x0291
00002a29: JUMPI
00002a2a: PUSH1 0x40
00002a2c: MLOAD
00002a2d: DUP1
00002a2e: DUP2
00002a2f: PUSH1 0x0a
00002a31: SLOAD
00002a32: DUP1
00002a33: DUP4
00002a34: MSTORE
00002a35: PUSH1 0x20
00002a37: DUP1
00002a38: SWAP4
00002a39: ADD
00002a3a: SWAP1
00002a3b: PUSH1 0x0a
00002a3d: PUSH1 0xc0
00002a3f: MLOAD
00002a40: MSTORE
00002a41: PUSH1 0x20
00002a43: PUSH1 0xc0
00002a45: MLOAD
00002a46: KECCAK256
00002a47: SWAP4
00002a48: PUSH1 0xc0
00002a4a: MLOAD
00002a4b: SWAP1
00002a4c: JUMPDEST
00002a4d: DUP3
00002a4e: DUP3
00002a4f: LT
00002a50: PUSH2 0x2b01
00002a53: JUMPI
00002a54: DUP5
00002a55: PUSH2 0x2a60
00002a58: DUP2
00002a59: DUP7
00002a5a: SUB
00002a5b: DUP3
00002a5c: PUSH2 0x3cb8
00002a5f: JUMP
00002a60: JUMPDEST
00002a61: DUP1
00002a62: MLOAD
00002a63: SWAP1
00002a64: PUSH1 0x01
00002a66: SWAP2
00002a67: PUSH1 0x01
00002a69: ADD
00002a6a: DUP1
00002a6b: PUSH1 0x01
00002a6d: GT
00002a6e: PUSH2 0x2ae4
00002a71: JUMPI
00002a72: PUSH2 0x2a7b
00002a75: DUP4
00002a76: SWAP2
00002a77: PUSH2 0x414f
00002a7a: JUMP
00002a7b: JUMPDEST
00002a7c: PUSH1 0x09
00002a7e: SLOAD
00002a7f: SWAP1
00002a80: SWAP3
00002a81: PUSH1 0x01
00002a83: PUSH1 0x01
00002a85: PUSH1 0xa0
00002a87: SHL
00002a88: SUB
00002a89: SWAP2
00002a8a: DUP3
00002a8b: AND
00002a8c: PUSH2 0x2a94
00002a8f: DUP6
00002a90: PUSH2 0x4181
00002a93: JUMP
00002a94: JUMPDEST
00002a95: MSTORE
00002a96: PUSH1 0xc0
00002a98: MLOAD
00002a99: SWAP3
00002a9a: JUMPDEST
00002a9b: PUSH2 0x2aad
00002a9e: JUMPI
00002a9f: JUMPDEST
00002aa0: PUSH1 0x40
00002aa2: MLOAD
00002aa3: DUP1
00002aa4: PUSH2 0x0433
00002aa7: DUP7
00002aa8: DUP3
00002aa9: PUSH2 0x3bb1
00002aac: JUMP
00002aad: JUMPDEST
00002aae: DUP1
00002aaf: MLOAD
00002ab0: DUP4
00002ab1: LT
00002ab2: ISZERO
00002ab3: PUSH2 0x2afc
00002ab6: JUMPI
00002ab7: DUP2
00002ab8: PUSH2 0x2ac1
00002abb: DUP5
00002abc: DUP4
00002abd: PUSH2 0x418e
00002ac0: JUMP
00002ac1: JUMPDEST
00002ac2: MLOAD
00002ac3: AND
00002ac4: SWAP3
00002ac5: DUP6
00002ac6: DUP2
00002ac7: ADD
00002ac8: SWAP1
00002ac9: DUP2
00002aca: DUP2
00002acb: GT
00002acc: PUSH2 0x2ae4
00002acf: JUMPI
00002ad0: DUP7
00002ad1: SWAP5
00002ad2: PUSH2 0x2adc
00002ad5: DUP7
00002ad6: SWAP4
00002ad7: DUP9
00002ad8: PUSH2 0x418e
00002adb: JUMP
00002adc: JUMPDEST
00002add: MSTORE
00002ade: ADD
00002adf: SWAP3
00002ae0: PUSH2 0x2a9a
00002ae3: JUMP
00002ae4: JUMPDEST
00002ae5: PUSH4 0x4e487b71
00002aea: PUSH1 0xe0
00002aec: SHL
00002aed: PUSH1 0xc0
00002aef: MLOAD
00002af0: MSTORE
00002af1: PUSH1 0x11
00002af3: PUSH1 0x04
00002af5: MSTORE
00002af6: PUSH1 0x24
00002af8: PUSH1 0xc0
00002afa: MLOAD
00002afb: REVERT
00002afc: JUMPDEST
00002afd: PUSH2 0x2a9f
00002b00: JUMP
00002b01: JUMPDEST
00002b02: DUP6
00002b03: SLOAD
00002b04: DUP5
00002b05: MSTORE
00002b06: PUSH1 0x01
00002b08: SWAP6
00002b09: DUP7
00002b0a: ADD
00002b0b: SWAP6
00002b0c: DUP8
00002b0d: SWAP6
00002b0e: POP
00002b0f: SWAP4
00002b10: DUP2
00002b11: ADD
00002b12: SWAP4
00002b13: SWAP1
00002b14: SWAP2
00002b15: ADD
00002b16: SWAP1
00002b17: PUSH2 0x2a4c
00002b1a: JUMP
00002b1b: JUMPDEST
00002b1c: CALLVALUE
00002b1d: PUSH2 0x0291
00002b20: JUMPI
00002b21: PUSH1 0x20
00002b23: CALLDATASIZE
00002b24: PUSH1 0x03
00002b26: NOT
00002b27: ADD
00002b28: SLT
00002b29: PUSH2 0x0291
00002b2c: JUMPI
00002b2d: PUSH2 0x2b34
00002b30: PUSH2 0x3d6e
00002b33: JUMP
00002b34: JUMPDEST
00002b35: PUSH1 0x02
00002b37: SLOAD
00002b38: PUSH0
00002b39: NOT
00002b3a: DUP1
00002b3b: DUP3
00002b3c: ADD
00002b3d: SWAP2
00002b3e: DUP3
00002b3f: GT
00002b40: PUSH2 0x2ae4
00002b43: JUMPI
00002b44: PUSH1 0x03
00002b46: SLOAD
00002b47: SWAP1
00002b48: DUP2
00002b49: ADD
00002b4a: SWAP1
00002b4b: DUP2
00002b4c: GT
00002b4d: PUSH2 0x2ae4
00002b50: JUMPI
00002b51: PUSH2 0x2b59
00002b54: DUP4
00002b55: PUSH2 0x543e
00002b58: JUMP
00002b59: JUMPDEST
00002b5a: SWAP4
00002b5b: SWAP3
00002b5c: SWAP5
00002b5d: SWAP1
00002b5e: SWAP2
00002b5f: DUP6
00002b60: ISZERO
00002b61: PUSH2 0x2400
00002b64: JUMPI
00002b65: GT
00002b66: PUSH2 0x2400
00002b69: JUMPI
00002b6a: GT
00002b6b: PUSH2 0x2400
00002b6e: JUMPI
00002b6f: PUSH1 0x02
00002b71: DUP2
00002b72: LT
00002b73: ISZERO
00002b74: PUSH2 0x0b61
00002b77: JUMPI
00002b78: PUSH1 0x01
00002b7a: EQ
00002b7b: SWAP1
00002b7c: DUP2
00002b7d: PUSH2 0x2ba3
00002b80: JUMPI
00002b81: JUMPDEST
00002b82: POP
00002b83: PUSH2 0x2400
00002b86: JUMPI
00002b87: PUSH2 0x2b91
00002b8a: PUSH1 0x20
00002b8c: SWAP2
00002b8d: PUSH2 0x4859
00002b90: JUMP
00002b91: JUMPDEST
00002b92: PUSH1 0x40
00002b94: MLOAD
00002b95: PUSH1 0x01
00002b97: PUSH1 0x01
00002b99: PUSH1 0xa0
00002b9b: SHL
00002b9c: SUB
00002b9d: SWAP1
00002b9e: SWAP2
00002b9f: AND
00002ba0: DUP2
00002ba1: MSTORE
00002ba2: RETURN
00002ba3: JUMPDEST
00002ba4: PUSH2 0x2710
00002ba7: SWAP2
00002ba8: POP
00002ba9: GT
00002baa: DUP3
00002bab: PUSH2 0x2b81
00002bae: JUMP
00002baf: JUMPDEST
00002bb0: CALLVALUE
00002bb1: PUSH2 0x0291
00002bb4: JUMPI
00002bb5: PUSH1 0x20
00002bb7: CALLDATASIZE
00002bb8: PUSH1 0x03
00002bba: NOT
00002bbb: ADD
00002bbc: SLT
00002bbd: PUSH2 0x0291
00002bc0: JUMPI
00002bc1: PUSH2 0x2bc8
00002bc4: PUSH2 0x3d6e
00002bc7: JUMP
00002bc8: JUMPDEST
00002bc9: PUSH2 0x2bd0
00002bcc: PUSH2 0x43b3
00002bcf: JUMP
00002bd0: JUMPDEST
00002bd1: POP
00002bd2: PUSH1 0x40
00002bd4: MLOAD
00002bd5: PUSH4 0x37fe8b43
00002bda: PUSH1 0xe1
00002bdc: SHL
00002bdd: DUP2
00002bde: MSTORE
00002bdf: PUSH1 0x06
00002be1: PUSH1 0x04
00002be3: DUP3
00002be4: ADD
00002be5: MSTORE
00002be6: PUSH1 0x01
00002be8: PUSH1 0x01
00002bea: PUSH1 0x80
00002bec: SHL
00002bed: SUB
00002bee: SWAP1
00002bef: SWAP2
00002bf0: AND
00002bf1: PUSH1 0x24
00002bf3: DUP3
00002bf4: ADD
00002bf5: MSTORE
00002bf6: PUSH2 0x0100
00002bf9: SWAP1
00002bfa: DUP2
00002bfb: DUP2
00002bfc: PUSH1 0x44
00002bfe: DUP2
00002bff: PUSH20 0xbc55a0cd7811ef9b9d117024d361bd40920ce18e
00002c14: GAS
00002c15: DELEGATECALL
00002c16: SWAP1
00002c17: DUP2
00002c18: ISZERO
00002c19: PUSH2 0x047d
00002c1c: JUMPI
00002c1d: PUSH1 0xc0
00002c1f: MLOAD
00002c20: SWAP2
00002c21: PUSH2 0x2c35
00002c24: JUMPI
00002c25: JUMPDEST
00002c26: POP
00002c27: PUSH2 0x2c33
00002c2a: PUSH1 0x40
00002c2c: MLOAD
00002c2d: DUP1
00002c2e: SWAP3
00002c2f: PUSH2 0x3db0
00002c32: JUMP
00002c33: JUMPDEST
00002c34: RETURN
00002c35: JUMPDEST
00002c36: SWAP1
00002c37: POP
00002c38: DUP2
00002c39: RETURNDATASIZE
00002c3a: DUP4
00002c3b: GT
00002c3c: PUSH2 0x2c64
00002c3f: JUMPI
00002c40: JUMPDEST
00002c41: PUSH2 0x2c4a
00002c44: DUP2
00002c45: DUP4
00002c46: PUSH2 0x3cb8
00002c49: JUMP
00002c4a: JUMPDEST
00002c4b: DUP2
00002c4c: ADD
00002c4d: DUP3
00002c4e: DUP3
00002c4f: DUP3
00002c50: SUB
00002c51: SLT
00002c52: PUSH2 0x0291
00002c55: JUMPI
00002c56: PUSH2 0x2c5e
00002c59: SWAP2
00002c5a: PUSH2 0x43ef
00002c5d: JUMP
00002c5e: JUMPDEST
00002c5f: DUP3
00002c60: PUSH2 0x2c25
00002c63: JUMP
00002c64: JUMPDEST
00002c65: POP
00002c66: RETURNDATASIZE
00002c67: PUSH2 0x2c40
00002c6a: JUMP
00002c6b: JUMPDEST
00002c6c: CALLVALUE
00002c6d: PUSH2 0x0291
00002c70: JUMPI
00002c71: PUSH1 0xc0
00002c73: MLOAD
00002c74: CALLDATASIZE
00002c75: PUSH1 0x03
00002c77: NOT
00002c78: ADD
00002c79: SLT
00002c7a: PUSH2 0x0291
00002c7d: JUMPI
00002c7e: PUSH1 0x40
00002c80: MLOAD
00002c81: PUSH1 0x02
00002c83: DUP1
00002c84: SLOAD
00002c85: DUP1
00002c86: DUP4
00002c87: MSTORE
00002c88: PUSH0
00002c89: SWAP2
00002c8a: DUP3
00002c8b: MSTORE
00002c8c: PUSH1 0x20
00002c8e: SWAP3
00002c8f: SWAP2
00002c90: DUP4
00002c91: DUP4
00002c92: ADD
00002c93: SWAP2
00002c94: PUSH32 0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace
00002cb5: JUMPDEST
00002cb6: DUP2
00002cb7: PUSH1 0x03
00002cb9: DUP5
00002cba: ADD
00002cbb: LT
00002cbc: PUSH2 0x2d61
00002cbf: JUMPI
00002cc0: SWAP3
00002cc1: DUP5
00002cc2: SWAP3
00002cc3: PUSH2 0x0433
00002cc6: SWAP7
00002cc7: SWAP3
00002cc8: PUSH2 0x2cf7
00002ccb: SWAP6
00002ccc: SLOAD
00002ccd: SWAP2
00002cce: DUP5
00002ccf: DUP3
00002cd0: DUP3
00002cd1: LT
00002cd2: PUSH2 0x2d48
00002cd5: JUMPI
00002cd6: JUMPDEST
00002cd7: DUP3
00002cd8: DUP3
00002cd9: LT
00002cda: PUSH2 0x2d2c
00002cdd: JUMPI
00002cde: JUMPDEST
00002cdf: DUP3
00002ce0: DUP3
00002ce1: LT
00002ce2: PUSH2 0x2d10
00002ce5: JUMPI
00002ce6: JUMPDEST
00002ce7: POP
00002ce8: LT
00002ce9: PUSH2 0x2d03
00002cec: JUMPI
00002ced: JUMPDEST
00002cee: POP
00002cef: SWAP1
00002cf0: POP
00002cf1: SUB
00002cf2: DUP3
00002cf3: PUSH2 0x3cb8
00002cf6: JUMP
00002cf7: JUMPDEST
00002cf8: PUSH1 0x40
00002cfa: MLOAD
00002cfb: SWAP2
00002cfc: DUP3
00002cfd: SWAP2
00002cfe: DUP3
00002cff: PUSH2 0x3d2a
00002d02: JUMP
00002d03: JUMPDEST
00002d04: PUSH1 0xc0
00002d06: SHR
00002d07: DUP2
00002d08: MSTORE
00002d09: ADD
00002d0a: DUP1
00002d0b: DUP7
00002d0c: PUSH2 0x2ced
00002d0f: JUMP
00002d10: JUMPDEST
00002d11: PUSH1 0x01
00002d13: SWAP2
00002d14: SWAP5
00002d15: PUSH1 0x01
00002d17: PUSH1 0x01
00002d19: PUSH1 0x40
00002d1b: SHL
00002d1c: SUB
00002d1d: DUP6
00002d1e: PUSH1 0x80
00002d20: SHR
00002d21: AND
00002d22: DUP2
00002d23: MSTORE
00002d24: ADD
00002d25: SWAP4
00002d26: ADD
00002d27: DUP5
00002d28: PUSH2 0x2ce6
00002d2b: JUMP
00002d2c: JUMPDEST
00002d2d: PUSH1 0x01
00002d2f: SWAP2
00002d30: SWAP5
00002d31: PUSH1 0x01
00002d33: PUSH1 0x01
00002d35: PUSH1 0x40
00002d37: SHL
00002d38: SUB
00002d39: DUP6
00002d3a: PUSH1 0x40
00002d3c: SHR
00002d3d: AND
00002d3e: DUP2
00002d3f: MSTORE
00002d40: ADD
00002d41: SWAP4
00002d42: ADD
00002d43: DUP5
00002d44: PUSH2 0x2cde
00002d47: JUMP
00002d48: JUMPDEST
00002d49: PUSH1 0x01
00002d4b: SWAP2
00002d4c: SWAP5
00002d4d: PUSH1 0x01
00002d4f: PUSH1 0x01
00002d51: PUSH1 0x40
00002d53: SHL
00002d54: SUB
00002d55: DUP6
00002d56: AND
00002d57: DUP2
00002d58: MSTORE
00002d59: ADD
00002d5a: SWAP4
00002d5b: ADD
00002d5c: DUP5
00002d5d: PUSH2 0x2cd6
00002d60: JUMP
00002d61: JUMPDEST
00002d62: SWAP3
00002d63: PUSH1 0x01
00002d65: PUSH1 0x04
00002d67: SWAP2
00002d68: DUP6
00002d69: SLOAD
00002d6a: SWAP1
00002d6b: PUSH1 0x01
00002d6d: PUSH1 0x01
00002d6f: PUSH1 0x40
00002d71: SHL
00002d72: SUB
00002d73: SWAP2
00002d74: DUP3
00002d75: DUP2
00002d76: AND
00002d77: DUP3
00002d78: MSTORE
00002d79: DUP3
00002d7a: DUP2
00002d7b: PUSH1 0x40
00002d7d: SHR
00002d7e: AND
00002d7f: DUP11
00002d80: DUP4
00002d81: ADD
00002d82: MSTORE
00002d83: PUSH1 0x80
00002d85: SWAP3
00002d86: DUP2
00002d87: DUP5
00002d88: SHR
00002d89: AND
00002d8a: PUSH1 0x40
00002d8c: DUP4
00002d8d: ADD
00002d8e: MSTORE
00002d8f: PUSH1 0xc0
00002d91: SHR
00002d92: PUSH1 0x60
00002d94: DUP3
00002d95: ADD
00002d96: MSTORE
00002d97: ADD
00002d98: SWAP5
00002d99: ADD
00002d9a: SWAP3
00002d9b: ADD
00002d9c: SWAP2
00002d9d: PUSH2 0x2cb5
00002da0: JUMP
00002da1: JUMPDEST
00002da2: CALLVALUE
00002da3: PUSH2 0x0291
00002da6: JUMPI
00002da7: PUSH1 0xc0
00002da9: MLOAD
00002daa: CALLDATASIZE
00002dab: PUSH1 0x03
00002dad: NOT
00002dae: ADD
00002daf: SLT
00002db0: PUSH2 0x0291
00002db3: JUMPI
00002db4: PUSH1 0x40
00002db6: MLOAD
00002db7: PUSH1 0x03
00002db9: DUP1
00002dba: SLOAD
00002dbb: DUP1
00002dbc: DUP4
00002dbd: MSTORE
00002dbe: PUSH0
00002dbf: DUP3
00002dc0: DUP2
00002dc1: MSTORE
00002dc2: PUSH1 0x20
00002dc4: SWAP4
00002dc5: SWAP3
00002dc6: DUP5
00002dc7: DUP5
00002dc8: ADD
00002dc9: SWAP3
00002dca: SWAP1
00002dcb: PUSH32 0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b
00002dec: SWAP1
00002ded: JUMPDEST
00002dee: DUP3
00002def: DUP2
00002df0: DUP6
00002df1: ADD
00002df2: LT
00002df3: PUSH2 0x2e2b
00002df6: JUMPI
00002df7: POP
00002df8: SWAP3
00002df9: DUP5
00002dfa: SWAP3
00002dfb: PUSH2 0x0433
00002dfe: SWAP7
00002dff: SWAP3
00002e00: PUSH2 0x2cf7
00002e03: SWAP6
00002e04: SLOAD
00002e05: SWAP2
00002e06: DUP5
00002e07: DUP3
00002e08: DUP3
00002e09: LT
00002e0a: PUSH2 0x2d48
00002e0d: JUMPI
00002e0e: DUP3
00002e0f: DUP3
00002e10: LT
00002e11: PUSH2 0x2d2c
00002e14: JUMPI
00002e15: DUP3
00002e16: DUP3
00002e17: LT
00002e18: PUSH2 0x2d10
00002e1b: JUMPI
00002e1c: POP
00002e1d: LT
00002e1e: PUSH2 0x2d03
00002e21: JUMPI
00002e22: POP
00002e23: SWAP1
00002e24: POP
00002e25: SUB
00002e26: DUP3
00002e27: PUSH2 0x3cb8
00002e2a: JUMP
00002e2b: JUMPDEST
00002e2c: SWAP3
00002e2d: SWAP1
00002e2e: SWAP4
00002e2f: PUSH1 0x04
00002e31: PUSH1 0x01
00002e33: DUP5
00002e34: SWAP3
00002e35: DUP8
00002e36: SLOAD
00002e37: SWAP1
00002e38: PUSH1 0x01
00002e3a: PUSH1 0x01
00002e3c: PUSH1 0x40
00002e3e: SHL
00002e3f: SUB
00002e40: SWAP2
00002e41: DUP3
00002e42: DUP2
00002e43: AND
00002e44: DUP3
00002e45: MSTORE
00002e46: DUP3
00002e47: DUP2
00002e48: PUSH1 0x40
00002e4a: SHR
00002e4b: AND
00002e4c: DUP13
00002e4d: DUP4
00002e4e: ADD
00002e4f: MSTORE
00002e50: PUSH1 0x80
00002e52: SWAP3
00002e53: DUP2
00002e54: DUP5
00002e55: SHR
00002e56: AND
00002e57: PUSH1 0x40
00002e59: DUP4
00002e5a: ADD
00002e5b: MSTORE
00002e5c: PUSH1 0xc0
00002e5e: SHR
00002e5f: PUSH1 0x60
00002e61: DUP3
00002e62: ADD
00002e63: MSTORE
00002e64: ADD
00002e65: SWAP7
00002e66: ADD
00002e67: SWAP3
00002e68: ADD
00002e69: SWAP4
00002e6a: SWAP1
00002e6b: POP
00002e6c: PUSH2 0x2ded
00002e6f: JUMP
00002e70: JUMPDEST
00002e71: CALLVALUE
00002e72: PUSH2 0x0291
00002e75: JUMPI
00002e76: PUSH1 0x20
00002e78: DUP1
00002e79: PUSH1 0x03
00002e7b: NOT
00002e7c: CALLDATASIZE
00002e7d: ADD
00002e7e: SLT
00002e7f: PUSH2 0x0291
00002e82: JUMPI
00002e83: PUSH1 0x04
00002e85: CALLDATALOAD
00002e86: SWAP1
00002e87: PUSH1 0x01
00002e89: PUSH1 0x01
00002e8b: PUSH1 0x40
00002e8d: SHL
00002e8e: SUB
00002e8f: DUP1
00002e90: DUP4
00002e91: GT
00002e92: PUSH2 0x0291
00002e95: JUMPI
00002e96: CALLDATASIZE
00002e97: PUSH1 0x23
00002e99: DUP5
00002e9a: ADD
00002e9b: SLT
00002e9c: ISZERO
00002e9d: PUSH2 0x0291
00002ea0: JUMPI
00002ea1: PUSH2 0x2eb5
00002ea4: PUSH1 0x24
00002ea6: SWAP4
00002ea7: CALLDATASIZE
00002ea8: SWAP1
00002ea9: DUP6
00002eaa: DUP2
00002eab: PUSH1 0x04
00002ead: ADD
00002eae: CALLDATALOAD
00002eaf: SWAP2
00002eb0: ADD
00002eb1: PUSH2 0x3cf4
00002eb4: JUMP
00002eb5: JUMPDEST
00002eb6: SWAP1
00002eb7: PUSH1 0x01
00002eb9: DUP1
00002eba: PUSH1 0xa0
00002ebc: SHL
00002ebd: SUB
00002ebe: SWAP4
00002ebf: PUSH1 0x01
00002ec1: SWAP5
00002ec2: DUP1
00002ec3: DUP7
00002ec4: SLOAD
00002ec5: AND
00002ec6: PUSH2 0x32d3
00002ec9: JUMPI
00002eca: DUP4
00002ecb: MLOAD
00002ecc: DUP5
00002ecd: ADD
00002ece: SWAP1
00002ecf: PUSH1 0xa0
00002ed1: DUP6
00002ed2: DUP8
00002ed3: DUP5
00002ed4: ADD
00002ed5: SWAP4
00002ed6: SUB
00002ed7: SLT
00002ed8: PUSH2 0x0291
00002edb: JUMPI
00002edc: DUP6
00002edd: DUP6
00002ede: ADD
00002edf: MLOAD
00002ee0: DUP5
00002ee1: DUP2
00002ee2: GT
00002ee3: PUSH2 0x0291
00002ee6: JUMPI
00002ee7: DUP6
00002ee8: ADD
00002ee9: SWAP1
00002eea: DUP3
00002eeb: PUSH1 0x3f
00002eed: DUP4
00002eee: ADD
00002eef: SLT
00002ef0: ISZERO
00002ef1: PUSH2 0x0291
00002ef4: JUMPI
00002ef5: DUP7
00002ef6: DUP3
00002ef7: ADD
00002ef8: MLOAD
00002ef9: SWAP2
00002efa: PUSH2 0x2f02
00002efd: DUP4
00002efe: PUSH2 0x3e58
00002f01: JUMP
00002f02: JUMPDEST
00002f03: SWAP3
00002f04: PUSH2 0x2f10
00002f07: PUSH1 0x40
00002f09: MLOAD
00002f0a: SWAP5
00002f0b: DUP6
00002f0c: PUSH2 0x3cb8
00002f0f: JUMP
00002f10: JUMPDEST
00002f11: DUP1
00002f12: DUP5
00002f13: MSTORE
00002f14: PUSH1 0x40
00002f16: DUP10
00002f17: DUP6
00002f18: ADD
00002f19: SWAP2
00002f1a: PUSH1 0x05
00002f1c: SHL
00002f1d: DUP4
00002f1e: ADD
00002f1f: ADD
00002f20: SWAP2
00002f21: DUP6
00002f22: DUP4
00002f23: GT
00002f24: PUSH2 0x0291
00002f27: JUMPI
00002f28: PUSH1 0x40
00002f2a: DUP11
00002f2b: SWAP2
00002f2c: ADD
00002f2d: SWAP2
00002f2e: JUMPDEST
00002f2f: DUP4
00002f30: DUP4
00002f31: LT
00002f32: PUSH2 0x32bb
00002f35: JUMPI
00002f36: POP
00002f37: POP
00002f38: POP
00002f39: POP
00002f3a: PUSH2 0x2f45
00002f3d: PUSH1 0x40
00002f3f: DUP8
00002f40: ADD
00002f41: PUSH2 0x3edd
00002f44: JUMP
00002f45: JUMPDEST
00002f46: SWAP6
00002f47: PUSH2 0x2f52
00002f4a: PUSH1 0x60
00002f4c: DUP3
00002f4d: ADD
00002f4e: PUSH2 0x3edd
00002f51: JUMP
00002f52: JUMPDEST
00002f53: SWAP1
00002f54: PUSH1 0x80
00002f56: DUP2
00002f57: ADD
00002f58: MLOAD
00002f59: DUP8
00002f5a: DUP2
00002f5b: GT
00002f5c: PUSH2 0x0291
00002f5f: JUMPI
00002f60: DUP6
00002f61: DUP11
00002f62: PUSH2 0x2f6d
00002f65: SWAP3
00002f66: DUP5
00002f67: ADD
00002f68: ADD
00002f69: PUSH2 0x41a2
00002f6c: JUMP
00002f6d: JUMPDEST
00002f6e: SWAP5
00002f6f: PUSH1 0xa0
00002f71: DUP3
00002f72: ADD
00002f73: MLOAD
00002f74: SWAP1
00002f75: DUP9
00002f76: DUP3
00002f77: GT
00002f78: PUSH2 0x0291
00002f7b: JUMPI
00002f7c: DUP11
00002f7d: PUSH2 0x2f89
00002f80: SWAP3
00002f81: DUP7
00002f82: SWAP5
00002f83: ADD
00002f84: ADD
00002f85: PUSH2 0x41a2
00002f88: JUMP
00002f89: JUMPDEST
00002f8a: SWAP8
00002f8b: AND
00002f8c: SWAP2
00002f8d: DUP4
00002f8e: MLOAD
00002f8f: ISZERO
00002f90: PUSH2 0x32a9
00002f93: JUMPI
00002f94: DUP1
00002f95: PUSH2 0x2f9d
00002f98: DUP6
00002f99: PUSH2 0x4181
00002f9c: JUMP
00002f9d: JUMPDEST
00002f9e: MLOAD
00002f9f: AND
00002fa0: SWAP4
00002fa1: PUSH1 0x01
00002fa3: DUP1
00002fa4: PUSH1 0xa0
00002fa6: SHL
00002fa7: SUB
00002fa8: NOT
00002fa9: SWAP5
00002faa: DUP6
00002fab: PUSH1 0x09
00002fad: SLOAD
00002fae: AND
00002faf: OR
00002fb0: PUSH1 0x09
00002fb2: SSTORE
00002fb3: DUP11
00002fb4: DUP1
00002fb5: DUP1
00002fb6: JUMPDEST
00002fb7: PUSH2 0x327c
00002fba: JUMPI
00002fbb: JUMPDEST
00002fbc: POP
00002fbd: POP
00002fbe: POP
00002fbf: PUSH0
00002fc0: DUP1
00002fc1: MLOAD
00002fc2: PUSH1 0x20
00002fc4: PUSH2 0x5b7f
00002fc7: DUP4
00002fc8: CODECOPY
00002fc9: DUP2
00002fca: MLOAD
00002fcb: SWAP2
00002fcc: MSTORE
00002fcd: SWAP2
00002fce: AND
00002fcf: DUP4
00002fd0: DUP3
00002fd1: SLOAD
00002fd2: AND
00002fd3: OR
00002fd4: SWAP1
00002fd5: SSTORE
00002fd6: PUSH1 0x40
00002fd8: MLOAD
00002fd9: PUSH4 0x313ce567
00002fde: PUSH1 0xe0
00002fe0: SHL
00002fe1: DUP2
00002fe2: MSTORE
00002fe3: DUP8
00002fe4: DUP2
00002fe5: PUSH1 0x04
00002fe7: DUP2
00002fe8: DUP6
00002fe9: GAS
00002fea: STATICCALL
00002feb: SWAP1
00002fec: DUP2
00002fed: ISZERO
00002fee: PUSH2 0x047d
00002ff1: JUMPI
00002ff2: PUSH1 0xc0
00002ff4: MLOAD
00002ff5: SWAP2
00002ff6: PUSH2 0x3242
00002ff9: JUMPI
00002ffa: JUMPDEST
00002ffb: POP
00002ffc: PUSH1 0xff
00002ffe: PUSH1 0x12
00003000: SWAP2
00003001: AND
00003002: GT
00003003: PUSH2 0x3106
00003006: JUMPI
00003007: DUP2
00003008: DUP9
00003009: SLOAD
0000300a: AND
0000300b: OR
0000300c: DUP8
0000300d: SSTORE
0000300e: CALLER
0000300f: SWAP1
00003010: PUSH1 0x04
00003012: SLOAD
00003013: AND
00003014: OR
00003015: PUSH1 0x04
00003017: SSTORE
00003018: PUSH1 0x08
0000301a: DUP2
0000301b: MLOAD
0000301c: GT
0000301d: PUSH2 0x3106
00003020: JUMPI
00003021: PUSH1 0xc0
00003023: MLOAD
00003024: DUP7
00003025: JUMPDEST
00003026: PUSH2 0x3164
00003029: JUMPI
0000302a: JUMPDEST
0000302b: POP
0000302c: POP
0000302d: PUSH1 0x08
0000302f: DUP4
00003030: MLOAD
00003031: GT
00003032: PUSH2 0x3106
00003035: JUMPI
00003036: PUSH1 0xc0
00003038: MLOAD
00003039: SWAP5
0000303a: SWAP3
0000303b: DUP4
0000303c: JUMPDEST
0000303d: PUSH2 0x306d
00003040: JUMPI
00003041: JUMPDEST
00003042: PUSH1 0xc0
00003044: DUP1
00003045: MLOAD
00003046: DUP1
00003047: MSTORE
00003048: PUSH1 0x06
0000304a: DUP7
0000304b: MSTORE
0000304c: MLOAD
0000304d: PUSH1 0x40
0000304f: DUP2
00003050: KECCAK256
00003051: PUSH1 0x02
00003053: ADD
00003054: DUP1
00003055: SLOAD
00003056: PUSH1 0x01
00003058: PUSH1 0x01
0000305a: PUSH1 0x80
0000305c: SHL
0000305d: SUB
0000305e: AND
0000305f: PUSH1 0x01
00003061: PUSH1 0x01
00003063: PUSH1 0x80
00003065: SHL
00003066: SUB
00003067: NOT
00003068: OR
00003069: SWAP1
0000306a: SSTORE
0000306b: DUP1
0000306c: RETURN
0000306d: JUMPDEST
0000306e: DUP1
0000306f: SWAP5
00003070: SWAP4
00003071: SWAP5
00003072: MLOAD
00003073: DUP7
00003074: LT
00003075: ISZERO
00003076: PUSH2 0x315c
00003079: JUMPI
0000307a: DUP6
0000307b: ISZERO
0000307c: ISZERO
0000307d: DUP1
0000307e: PUSH2 0x3118
00003081: JUMPI
00003082: JUMPDEST
00003083: PUSH2 0x3106
00003086: JUMPI
00003087: DUP3
00003088: PUSH2 0x3091
0000308b: DUP8
0000308c: DUP4
0000308d: PUSH2 0x418e
00003090: JUMP
00003091: JUMPDEST
00003092: MLOAD
00003093: AND
00003094: PUSH1 0x03
00003096: SWAP1
00003097: DUP2
00003098: SLOAD
00003099: SWAP2
0000309a: PUSH1 0x01
0000309c: PUSH1 0x40
0000309e: SHL
0000309f: DUP4
000030a0: LT
000030a1: ISZERO
000030a2: PUSH2 0x30f3
000030a5: JUMPI
000030a6: DUP8
000030a7: DUP4
000030a8: ADD
000030a9: DUP1
000030aa: DUP3
000030ab: SSTORE
000030ac: DUP4
000030ad: LT
000030ae: ISZERO
000030af: PUSH2 0x30e0
000030b2: JUMPI
000030b3: SWAP2
000030b4: DUP8
000030b5: SWAP9
000030b6: SWAP2
000030b7: DUP9
000030b8: SWAP8
000030b9: SWAP9
000030ba: SWAP4
000030bb: PUSH0
000030bc: MSTORE
000030bd: DUP9
000030be: PUSH0
000030bf: KECCAK256
000030c0: DUP3
000030c1: PUSH1 0x02
000030c3: SHR
000030c4: ADD
000030c5: SWAP2
000030c6: DUP8
000030c7: PUSH1 0xc0
000030c9: DUP5
000030ca: SLOAD
000030cb: SWAP3
000030cc: PUSH1 0x06
000030ce: SHL
000030cf: AND
000030d0: SWAP3
000030d1: DUP4
000030d2: SHL
000030d3: SWAP3
000030d4: SHL
000030d5: NOT
000030d6: AND
000030d7: OR
000030d8: SWAP1
000030d9: SSTORE
000030da: ADD
000030db: SWAP6
000030dc: PUSH2 0x303c
000030df: JUMP
000030e0: JUMPDEST
000030e1: DUP5
000030e2: PUSH4 0x4e487b71
000030e7: PUSH1 0xe0
000030e9: SHL
000030ea: PUSH0
000030eb: MSTORE
000030ec: PUSH1 0x32
000030ee: PUSH1 0x04
000030f0: MSTORE
000030f1: PUSH0
000030f2: REVERT
000030f3: JUMPDEST
000030f4: DUP5
000030f5: PUSH4 0x4e487b71
000030fa: PUSH1 0xe0
000030fc: SHL
000030fd: PUSH0
000030fe: MSTORE
000030ff: PUSH1 0x41
00003101: PUSH1 0x04
00003103: MSTORE
00003104: PUSH0
00003105: REVERT
00003106: JUMPDEST
00003107: PUSH1 0x40
00003109: MLOAD
0000310a: PUSH4 0x0e523909
0000310f: PUSH1 0xe4
00003111: SHL
00003112: DUP2
00003113: MSTORE
00003114: PUSH1 0x04
00003116: SWAP1
00003117: REVERT
00003118: JUMPDEST
00003119: POP
0000311a: DUP3
0000311b: PUSH2 0x3124
0000311e: DUP8
0000311f: DUP4
00003120: PUSH2 0x418e
00003123: JUMP
00003124: JUMPDEST
00003125: MLOAD
00003126: AND
00003127: PUSH0
00003128: NOT
00003129: DUP8
0000312a: ADD
0000312b: DUP8
0000312c: DUP2
0000312d: GT
0000312e: PUSH2 0x3145
00003131: JUMPI
00003132: PUSH2 0x313c
00003135: DUP6
00003136: SWAP2
00003137: DUP5
00003138: PUSH2 0x418e
0000313b: JUMP
0000313c: JUMPDEST
0000313d: MLOAD
0000313e: AND
0000313f: LT
00003140: ISZERO
00003141: PUSH2 0x3082
00003144: JUMP
00003145: JUMPDEST
00003146: DUP4
00003147: PUSH4 0x4e487b71
0000314c: PUSH1 0xe0
0000314e: SHL
0000314f: PUSH1 0xc0
00003151: MLOAD
00003152: MSTORE
00003153: PUSH1 0x11
00003155: PUSH1 0x04
00003157: MSTORE
00003158: PUSH1 0xc0
0000315a: MLOAD
0000315b: REVERT
0000315c: JUMPDEST
0000315d: DUP4
0000315e: SWAP5
0000315f: POP
00003160: PUSH2 0x3041
00003163: JUMP
00003164: JUMPDEST
00003165: DUP2
00003166: MLOAD
00003167: DUP2
00003168: LT
00003169: ISZERO
0000316a: PUSH2 0x323d
0000316d: JUMPI
0000316e: DUP1
0000316f: ISZERO
00003170: ISZERO
00003171: DUP1
00003172: PUSH2 0x31f9
00003175: JUMPI
00003176: JUMPDEST
00003177: PUSH2 0x3106
0000317a: JUMPI
0000317b: DUP4
0000317c: PUSH2 0x3185
0000317f: DUP3
00003180: DUP5
00003181: PUSH2 0x418e
00003184: JUMP
00003185: JUMPDEST
00003186: MLOAD
00003187: AND
00003188: PUSH1 0x02
0000318a: SWAP1
0000318b: DUP2
0000318c: SLOAD
0000318d: SWAP2
0000318e: PUSH1 0x01
00003190: PUSH1 0x40
00003192: SHL
00003193: DUP4
00003194: LT
00003195: ISZERO
00003196: PUSH2 0x31e6
00003199: JUMPI
0000319a: DUP10
0000319b: DUP4
0000319c: ADD
0000319d: DUP1
0000319e: DUP3
0000319f: SSTORE
000031a0: DUP4
000031a1: LT
000031a2: ISZERO
000031a3: PUSH2 0x31d3
000031a6: JUMPI
000031a7: PUSH0
000031a8: DUP2
000031a9: DUP2
000031aa: MSTORE
000031ab: DUP10
000031ac: SWAP1
000031ad: KECCAK256
000031ae: SWAP1
000031af: DUP4
000031b0: SWAP1
000031b1: SHR
000031b2: ADD
000031b3: DUP1
000031b4: SLOAD
000031b5: PUSH1 0x06
000031b7: SWAP4
000031b8: SWAP1
000031b9: SWAP4
000031ba: SHL
000031bb: PUSH1 0xc0
000031bd: AND
000031be: DUP8
000031bf: DUP2
000031c0: SHL
000031c1: NOT
000031c2: SWAP1
000031c3: SWAP4
000031c4: AND
000031c5: SWAP2
000031c6: SWAP1
000031c7: SWAP3
000031c8: SHL
000031c9: OR
000031ca: SWAP1
000031cb: SSTORE
000031cc: DUP7
000031cd: ADD
000031ce: DUP7
000031cf: PUSH2 0x3025
000031d2: JUMP
000031d3: JUMPDEST
000031d4: DUP6
000031d5: PUSH4 0x4e487b71
000031da: PUSH1 0xe0
000031dc: SHL
000031dd: PUSH0
000031de: MSTORE
000031df: PUSH1 0x32
000031e1: PUSH1 0x04
000031e3: MSTORE
000031e4: PUSH0
000031e5: REVERT
000031e6: JUMPDEST
000031e7: DUP6
000031e8: PUSH4 0x4e487b71
000031ed: PUSH1 0xe0
000031ef: SHL
000031f0: PUSH0
000031f1: MSTORE
000031f2: PUSH1 0x41
000031f4: PUSH1 0x04
000031f6: MSTORE
000031f7: PUSH0
000031f8: REVERT
000031f9: JUMPDEST
000031fa: POP
000031fb: DUP4
000031fc: PUSH2 0x3205
000031ff: DUP3
00003200: DUP5
00003201: PUSH2 0x418e
00003204: JUMP
00003205: JUMPDEST
00003206: MLOAD
00003207: AND
00003208: PUSH0
00003209: NOT
0000320a: DUP3
0000320b: ADD
0000320c: DUP3
0000320d: DUP2
0000320e: GT
0000320f: PUSH2 0x3226
00003212: JUMPI
00003213: PUSH2 0x321d
00003216: DUP7
00003217: SWAP2
00003218: DUP6
00003219: PUSH2 0x418e
0000321c: JUMP
0000321d: JUMPDEST
0000321e: MLOAD
0000321f: AND
00003220: GT
00003221: ISZERO
00003222: PUSH2 0x3176
00003225: JUMP
00003226: JUMPDEST
00003227: DUP5
00003228: PUSH4 0x4e487b71
0000322d: PUSH1 0xe0
0000322f: SHL
00003230: PUSH1 0xc0
00003232: MLOAD
00003233: MSTORE
00003234: PUSH1 0x11
00003236: PUSH1 0x04
00003238: MSTORE
00003239: PUSH1 0xc0
0000323b: MLOAD
0000323c: REVERT
0000323d: JUMPDEST
0000323e: PUSH2 0x302a
00003241: JUMP
00003242: JUMPDEST
00003243: SWAP1
00003244: POP
00003245: DUP8
00003246: DUP2
00003247: DUP2
00003248: RETURNDATASIZE
00003249: DUP4
0000324a: GT
0000324b: PUSH2 0x3275
0000324e: JUMPI
0000324f: JUMPDEST
00003250: PUSH2 0x3259
00003253: DUP2
00003254: DUP4
00003255: PUSH2 0x3cb8
00003258: JUMP
00003259: JUMPDEST
0000325a: DUP2
0000325b: ADD
0000325c: SUB
0000325d: SLT
0000325e: PUSH2 0x0291
00003261: JUMPI
00003262: PUSH1 0xff
00003264: PUSH2 0x326e
00003267: PUSH1 0x12
00003269: SWAP3
0000326a: PUSH2 0x3ecf
0000326d: JUMP
0000326e: JUMPDEST
0000326f: SWAP2
00003270: POP
00003271: PUSH2 0x2ffa
00003274: JUMP
00003275: JUMPDEST
00003276: POP
00003277: RETURNDATASIZE
00003278: PUSH2 0x324f
0000327b: JUMP
0000327c: JUMPDEST
0000327d: DUP3
0000327e: MLOAD
0000327f: DUP2
00003280: LT
00003281: ISZERO
00003282: PUSH2 0x32a4
00003285: JUMPI
00003286: DUP1
00003287: PUSH2 0x329c
0000328a: DUP6
0000328b: PUSH2 0x3295
0000328e: DUP6
0000328f: SWAP5
00003290: DUP8
00003291: PUSH2 0x418e
00003294: JUMP
00003295: JUMPDEST
00003296: MLOAD
00003297: AND
00003298: PUSH2 0x5814
0000329b: JUMP
0000329c: JUMPDEST
0000329d: POP
0000329e: ADD
0000329f: DUP2
000032a0: PUSH2 0x2fb6
000032a3: JUMP
000032a4: JUMPDEST
000032a5: PUSH2 0x2fbb
000032a8: JUMP
000032a9: JUMPDEST
000032aa: PUSH1 0x40
000032ac: MLOAD
000032ad: PUSH4 0x034b4215
000032b2: PUSH1 0xe0
000032b4: SHL
000032b5: DUP2
000032b6: MSTORE
000032b7: PUSH1 0x04
000032b9: SWAP1
000032ba: REVERT
000032bb: JUMPDEST
000032bc: DUP2
000032bd: SWAP1
000032be: PUSH2 0x32c6
000032c1: DUP5
000032c2: PUSH2 0x3edd
000032c5: JUMP
000032c6: JUMPDEST
000032c7: DUP2
000032c8: MSTORE
000032c9: ADD
000032ca: SWAP2
000032cb: ADD
000032cc: SWAP1
000032cd: DUP10
000032ce: SWAP1
000032cf: PUSH2 0x2f2e
000032d2: JUMP
000032d3: JUMPDEST
000032d4: PUSH1 0x40
000032d6: MLOAD
000032d7: PUSH3 0x461bcd
000032db: PUSH1 0xe5
000032dd: SHL
000032de: DUP2
000032df: MSTORE
000032e0: PUSH1 0x04
000032e2: DUP2
000032e3: ADD
000032e4: DUP7
000032e5: SWAP1
000032e6: MSTORE
000032e7: PUSH1 0x13
000032e9: DUP2
000032ea: DUP5
000032eb: ADD
000032ec: MSTORE
000032ed: PUSH19 0x105b1c9958591e481a5b9a5d1a585b1a5e9959
00003301: PUSH1 0x6a
00003303: SHL
00003304: PUSH1 0x44
00003306: DUP3
00003307: ADD
00003308: MSTORE
00003309: PUSH1 0x64
0000330b: SWAP1
0000330c: REVERT
0000330d: JUMPDEST
0000330e: CALLVALUE
0000330f: PUSH2 0x0291
00003312: JUMPI
00003313: PUSH1 0x60
00003315: CALLDATASIZE
00003316: PUSH1 0x03
00003318: NOT
00003319: ADD
0000331a: SLT
0000331b: PUSH2 0x0291
0000331e: JUMPI
0000331f: PUSH1 0x04
00003321: CALLDATALOAD
00003322: PUSH4 0xffffffff
00003327: DUP2
00003328: AND
00003329: DUP1
0000332a: SWAP2
0000332b: SUB
0000332c: PUSH2 0x0291
0000332f: JUMPI
00003330: PUSH2 0x3337
00003333: PUSH2 0x3bf5
00003336: JUMP
00003337: JUMPDEST
00003338: SWAP1
00003339: PUSH1 0x44
0000333b: CALLDATALOAD
0000333c: PUSH2 0xffff
0000333f: DUP2
00003340: AND
00003341: DUP1
00003342: SWAP2
00003343: SUB
00003344: PUSH2 0x0291
00003347: JUMPI
00003348: PUSH20 0x8811d9b44b04e91c9707215b1862b2f98b1a1a24
0000335d: SWAP3
0000335e: DUP4
0000335f: EXTCODESIZE
00003360: ISZERO
00003361: PUSH2 0x0291
00003364: JUMPI
00003365: PUSH1 0x40
00003367: MLOAD
00003368: SWAP1
00003369: PUSH4 0x05214bf9
0000336e: PUSH1 0xe0
00003370: SHL
00003371: DUP3
00003372: MSTORE
00003373: PUSH1 0x01
00003375: PUSH1 0x04
00003377: DUP4
00003378: ADD
00003379: MSTORE
0000337a: PUSH0
0000337b: DUP1
0000337c: MLOAD
0000337d: PUSH1 0x20
0000337f: PUSH2 0x5b9f
00003382: DUP4
00003383: CODECOPY
00003384: DUP2
00003385: MLOAD
00003386: SWAP2
00003387: MSTORE
00003388: PUSH1 0x24
0000338a: DUP4
0000338b: ADD
0000338c: MSTORE
0000338d: DUP4
0000338e: PUSH1 0x44
00003390: DUP4
00003391: ADD
00003392: MSTORE
00003393: PUSH1 0x01
00003395: DUP1
00003396: PUSH1 0xa0
00003398: SHL
00003399: SUB
0000339a: AND
0000339b: SWAP4
0000339c: DUP5
0000339d: PUSH1 0x64
0000339f: DUP4
000033a0: ADD
000033a1: MSTORE
000033a2: DUP3
000033a3: PUSH1 0x84
000033a5: DUP4
000033a6: ADD
000033a7: MSTORE
000033a8: DUP2
000033a9: PUSH1 0xa4
000033ab: DUP2
000033ac: PUSH1 0xc0
000033ae: MLOAD
000033af: SWAP4
000033b0: GAS
000033b1: DELEGATECALL
000033b2: DUP1
000033b3: ISZERO
000033b4: PUSH2 0x047d
000033b7: JUMPI
000033b8: PUSH2 0x33f3
000033bb: JUMPI
000033bc: JUMPDEST
000033bd: POP
000033be: PUSH32 0xfb0382ab6603dee748f24cc872988737092c1b3993d59f155fbb1ff4ec3a2879
000033df: SWAP2
000033e0: PUSH1 0x40
000033e2: SWAP2
000033e3: DUP3
000033e4: MLOAD
000033e5: SWAP2
000033e6: DUP3
000033e7: MSTORE
000033e8: PUSH1 0x20
000033ea: DUP3
000033eb: ADD
000033ec: MSTORE
000033ed: LOG2
000033ee: PUSH1 0xc0
000033f0: MLOAD
000033f1: DUP1
000033f2: RETURN
000033f3: JUMPDEST
000033f4: PUSH2 0x33fc
000033f7: SWAP1
000033f8: PUSH2 0x3c37
000033fb: JUMP
000033fc: JUMPDEST
000033fd: PUSH1 0xc0
000033ff: MLOAD
00003400: PUSH2 0x0291
00003403: JUMPI
00003404: DUP4
00003405: PUSH2 0x33bc
00003408: JUMP
00003409: JUMPDEST
0000340a: CALLVALUE
0000340b: PUSH2 0x0291
0000340e: JUMPI
0000340f: PUSH1 0xc0
00003411: MLOAD
00003412: CALLDATASIZE
00003413: PUSH1 0x03
00003415: NOT
00003416: ADD
00003417: SLT
00003418: PUSH2 0x0291
0000341b: JUMPI
0000341c: PUSH1 0x20
0000341e: PUSH2 0x0588
00003421: PUSH1 0x05
00003423: SLOAD
00003424: PUSH2 0x479e
00003427: JUMP
00003428: JUMPDEST
00003429: CALLVALUE
0000342a: PUSH2 0x0291
0000342d: JUMPI
0000342e: PUSH1 0xc0
00003430: MLOAD
00003431: CALLDATASIZE
00003432: PUSH1 0x03
00003434: NOT
00003435: ADD
00003436: SLT
00003437: PUSH2 0x0291
0000343a: JUMPI
0000343b: PUSH0
0000343c: DUP1
0000343d: MLOAD
0000343e: PUSH1 0x20
00003440: PUSH2 0x5b7f
00003443: DUP4
00003444: CODECOPY
00003445: DUP2
00003446: MLOAD
00003447: SWAP2
00003448: MSTORE
00003449: SLOAD
0000344a: PUSH1 0x40
0000344c: MLOAD
0000344d: PUSH1 0x01
0000344f: PUSH1 0x01
00003451: PUSH1 0xa0
00003453: SHL
00003454: SUB
00003455: SWAP1
00003456: SWAP2
00003457: AND
00003458: DUP2
00003459: MSTORE
0000345a: PUSH1 0x20
0000345c: SWAP1
0000345d: RETURN
0000345e: JUMPDEST
0000345f: CALLVALUE
00003460: PUSH2 0x0291
00003463: JUMPI
00003464: PUSH1 0xc0
00003466: MLOAD
00003467: CALLDATASIZE
00003468: PUSH1 0x03
0000346a: NOT
0000346b: ADD
0000346c: SLT
0000346d: PUSH2 0x0291
00003470: JUMPI
00003471: PUSH2 0x0433
00003474: PUSH1 0x40
00003476: MLOAD
00003477: PUSH2 0x347f
0000347a: DUP2
0000347b: PUSH2 0x3c9d
0000347e: JUMP
0000347f: JUMPDEST
00003480: PUSH1 0x03
00003482: DUP2
00003483: MSTORE
00003484: PUSH3 0x0312e3
00003488: PUSH1 0xec
0000348a: SHL
0000348b: PUSH1 0x20
0000348d: DUP3
0000348e: ADD
0000348f: MSTORE
00003490: PUSH1 0x40
00003492: MLOAD
00003493: SWAP2
00003494: DUP3
00003495: SWAP2
00003496: PUSH1 0x20
00003498: DUP4
00003499: MSTORE
0000349a: PUSH1 0x20
0000349c: DUP4
0000349d: ADD
0000349e: SWAP1
0000349f: PUSH2 0x3b5f
000034a2: JUMP
000034a3: JUMPDEST
000034a4: CALLVALUE
000034a5: PUSH2 0x0291
000034a8: JUMPI
000034a9: PUSH1 0xc0
000034ab: MLOAD
000034ac: CALLDATASIZE
000034ad: PUSH1 0x03
000034af: NOT
000034b0: ADD
000034b1: SLT
000034b2: PUSH2 0x0291
000034b5: JUMPI
000034b6: PUSH1 0x40
000034b8: MLOAD
000034b9: PUSH32 0x00000000000000000000000000000000000076a84fef008cdabe6409d2fe638b
000034da: PUSH1 0x01
000034dc: PUSH1 0x01
000034de: PUSH1 0xa0
000034e0: SHL
000034e1: SUB
000034e2: AND
000034e3: DUP2
000034e4: MSTORE
000034e5: PUSH1 0x20
000034e7: SWAP1
000034e8: RETURN
000034e9: JUMPDEST
000034ea: CALLVALUE
000034eb: PUSH2 0x0291
000034ee: JUMPI
000034ef: PUSH1 0xc0
000034f1: MLOAD
000034f2: CALLDATASIZE
000034f3: PUSH1 0x03
000034f5: NOT
000034f6: ADD
000034f7: SLT
000034f8: PUSH2 0x0291
000034fb: JUMPI
000034fc: PUSH1 0x40
000034fe: MLOAD
000034ff: PUSH1 0x80
00003501: DUP2
00003502: ADD
00003503: DUP2
00003504: DUP2
00003505: LT
00003506: PUSH1 0x01
00003508: PUSH1 0x01
0000350a: PUSH1 0x40
0000350c: SHL
0000350d: SUB
0000350e: DUP3
0000350f: GT
00003510: OR
00003511: PUSH2 0x138e
00003514: JUMPI
00003515: PUSH1 0x40
00003517: MSTORE
00003518: PUSH1 0x03
0000351a: DUP2
0000351b: MSTORE
0000351c: PUSH1 0x60
0000351e: CALLDATASIZE
0000351f: PUSH1 0x20
00003521: DUP4
00003522: ADD
00003523: CALLDATACOPY
00003524: PUSH2 0x352c
00003527: DUP2
00003528: PUSH2 0x4181
0000352b: JUMP
0000352c: JUMPDEST
0000352d: PUSH1 0x01
0000352f: PUSH1 0x01
00003531: PUSH1 0xa0
00003533: SHL
00003534: SUB
00003535: PUSH32 0x000000000000000000000000c4dc9ef8763433aae26635bc5a09e362605fad18
00003556: DUP2
00003557: AND
00003558: SWAP1
00003559: SWAP2
0000355a: MSTORE
0000355b: DUP2
0000355c: MLOAD
0000355d: SWAP1
0000355e: SWAP2
0000355f: SWAP1
00003560: PUSH1 0x01
00003562: LT
00003563: ISZERO
00003564: PUSH2 0x2432
00003567: JUMPI
00003568: DUP2
00003569: PUSH32 0x0000000000000000000000009607bae77a28b344ef3dc66a14ce94ab3afef884
0000358a: AND
0000358b: PUSH1 0x40
0000358d: DUP3
0000358e: ADD
0000358f: MSTORE
00003590: DUP1
00003591: MLOAD
00003592: PUSH1 0x02
00003594: LT
00003595: ISZERO
00003596: PUSH2 0x2432
00003599: JUMPI
0000359a: PUSH2 0x0433
0000359d: SWAP2
0000359e: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
000035bf: AND
000035c0: PUSH1 0x60
000035c2: DUP3
000035c3: ADD
000035c4: MSTORE
000035c5: PUSH1 0x40
000035c7: MLOAD
000035c8: SWAP2
000035c9: DUP3
000035ca: SWAP2
000035cb: DUP3
000035cc: PUSH2 0x3bb1
000035cf: JUMP
000035d0: JUMPDEST
000035d1: CALLVALUE
000035d2: PUSH2 0x0f5a
000035d5: JUMPI
000035d6: PUSH1 0x03
000035d8: NOT
000035d9: PUSH1 0x20
000035db: CALLDATASIZE
000035dc: DUP3
000035dd: ADD
000035de: SLT
000035df: PUSH2 0x0f5a
000035e2: JUMPI
000035e3: PUSH1 0x01
000035e5: PUSH1 0x01
000035e7: PUSH1 0x40
000035e9: SHL
000035ea: SUB
000035eb: SWAP1
000035ec: PUSH1 0x04
000035ee: CALLDATALOAD
000035ef: DUP3
000035f0: DUP2
000035f1: GT
000035f2: PUSH2 0x0f5a
000035f5: JUMPI
000035f6: PUSH2 0x3603
000035f9: SWAP1
000035fa: CALLDATASIZE
000035fb: SWAP1
000035fc: PUSH1 0x04
000035fe: ADD
000035ff: PUSH2 0x3b84
00003602: JUMP
00003603: JUMPDEST
00003604: SWAP3
00003605: PUSH2 0x360c
00003608: PUSH2 0x4719
0000360b: JUMP
0000360c: JUMPDEST
0000360d: PUSH20 0x8811d9b44b04e91c9707215b1862b2f98b1a1a24
00003622: SWAP4
00003623: PUSH1 0x40
00003625: MLOAD
00003626: SWAP5
00003627: PUSH4 0x41c9b3fd
0000362c: PUSH1 0xe0
0000362e: SHL
0000362f: DUP7
00003630: MSTORE
00003631: PUSH1 0x01
00003633: PUSH1 0x04
00003635: DUP8
00003636: ADD
00003637: MSTORE
00003638: PUSH1 0x40
0000363a: PUSH1 0x24
0000363c: DUP8
0000363d: ADD
0000363e: MSTORE
0000363f: PUSH0
00003640: DUP7
00003641: DUP1
00003642: PUSH2 0x364f
00003645: PUSH1 0x44
00003647: DUP3
00003648: ADD
00003649: DUP7
0000364a: DUP10
0000364b: PUSH2 0x40df
0000364e: JUMP
0000364f: JUMPDEST
00003650: SUB
00003651: DUP2
00003652: DUP5
00003653: GAS
00003654: DELEGATECALL
00003655: SWAP6
00003656: DUP7
00003657: ISZERO
00003658: PUSH2 0x3860
0000365b: JUMPI
0000365c: PUSH0
0000365d: SWAP4
0000365e: PUSH0
0000365f: SWAP8
00003660: PUSH2 0x386b
00003663: JUMPI
00003664: JUMPDEST
00003665: POP
00003666: POP
00003667: PUSH1 0xe0
00003669: DUP4
0000366a: ADD
0000366b: DUP1
0000366c: MLOAD
0000366d: PUSH2 0x0100
00003670: DUP6
00003671: ADD
00003672: DUP1
00003673: MLOAD
00003674: PUSH1 0x01
00003676: PUSH1 0x01
00003678: PUSH1 0xa0
0000367a: SHL
0000367b: SUB
0000367c: SWAP6
0000367d: SWAP2
0000367e: SWAP5
0000367f: SWAP2
00003680: SWAP3
00003681: DUP7
00003682: AND
00003683: SWAP1
00003684: DUP3
00003685: EXTCODESIZE
00003686: ISZERO
00003687: PUSH2 0x0f5a
0000368a: JUMPI
0000368b: PUSH1 0x40
0000368d: MLOAD
0000368e: PUSH4 0x34e96005
00003693: PUSH1 0xe0
00003695: SHL
00003696: DUP2
00003697: MSTORE
00003698: SWAP3
00003699: PUSH0
0000369a: SWAP3
0000369b: DUP5
0000369c: SWAP3
0000369d: DUP4
0000369e: SWAP2
0000369f: DUP3
000036a0: SWAP2
000036a1: PUSH2 0x36f1
000036a4: SWAP2
000036a5: PUSH32 0x00000000000000000000000000000000000000447e69651d841bd8d104bed493
000036c6: SWAP2
000036c7: PUSH32 0x00000000000000000000000000000000000076a84fef008cdabe6409d2fe638b
000036e8: SWAP2
000036e9: PUSH1 0x04
000036eb: DUP7
000036ec: ADD
000036ed: PUSH2 0x40ff
000036f0: JUMP
000036f1: JUMPDEST
000036f2: SUB
000036f3: SWAP2
000036f4: GAS
000036f5: DELEGATECALL
000036f6: DUP1
000036f7: ISZERO
000036f8: PUSH2 0x3860
000036fb: JUMPI
000036fc: PUSH2 0x384d
000036ff: JUMPI
00003700: JUMPDEST
00003701: POP
00003702: DUP4
00003703: DUP3
00003704: MLOAD
00003705: AND
00003706: SWAP4
00003707: DUP1
00003708: PUSH32 0x000000000000000000000000e0194f47040e2424b8a65cb5f7112a5dbe1f93bf
00003729: AND
0000372a: SWAP5
0000372b: DUP5
0000372c: MLOAD
0000372d: DUP2
0000372e: EXTCODESIZE
0000372f: ISZERO
00003730: PUSH2 0x0291
00003733: JUMPI
00003734: PUSH1 0x40
00003736: MLOAD
00003737: PUSH4 0x095ea7b3
0000373c: PUSH1 0xe0
0000373e: SHL
0000373f: DUP2
00003740: MSTORE
00003741: PUSH1 0xc0
00003743: DUP1
00003744: MLOAD
00003745: PUSH1 0x01
00003747: PUSH1 0x01
00003749: PUSH1 0xa0
0000374b: SHL
0000374c: SUB
0000374d: DUP11
0000374e: AND
0000374f: PUSH1 0x04
00003751: DUP5
00003752: ADD
00003753: MSTORE
00003754: PUSH1 0x24
00003756: DUP4
00003757: ADD
00003758: SWAP4
00003759: SWAP1
0000375a: SWAP4
0000375b: MSTORE
0000375c: MLOAD
0000375d: SWAP1
0000375e: SWAP3
0000375f: DUP4
00003760: SWAP2
00003761: PUSH1 0x44
00003763: SWAP2
00003764: DUP4
00003765: SWAP2
00003766: SWAP1
00003767: GAS
00003768: CALL
00003769: DUP1
0000376a: ISZERO
0000376b: PUSH2 0x047d
0000376e: JUMPI
0000376f: PUSH2 0x3837
00003772: JUMPI
00003773: JUMPDEST
00003774: POP
00003775: DUP1
00003776: PUSH2 0x0140
00003779: SWAP2
0000377a: PUSH1 0x01
0000377c: SLOAD
0000377d: AND
0000377e: SWAP4
0000377f: MLOAD
00003780: AND
00003781: SWAP4
00003782: MLOAD
00003783: SWAP6
00003784: ADD
00003785: MLOAD
00003786: SWAP7
00003787: DUP5
00003788: EXTCODESIZE
00003789: ISZERO
0000378a: PUSH2 0x0291
0000378d: JUMPI
0000378e: PUSH2 0x37db
00003791: SWAP2
00003792: PUSH2 0x37c8
00003795: PUSH1 0x40
00003797: MLOAD
00003798: SWAP10
00003799: DUP11
0000379a: SWAP9
0000379b: DUP10
0000379c: SWAP8
0000379d: DUP9
0000379e: SWAP8
0000379f: PUSH4 0x0a61afeb
000037a4: PUSH1 0xe0
000037a6: SHL
000037a7: DUP10
000037a8: MSTORE
000037a9: PUSH1 0x04
000037ab: DUP10
000037ac: ADD
000037ad: MSTORE
000037ae: PUSH1 0x24
000037b0: DUP9
000037b1: ADD
000037b2: MSTORE
000037b3: PUSH1 0x44
000037b5: DUP8
000037b6: ADD
000037b7: MSTORE
000037b8: PUSH1 0xa0
000037ba: PUSH1 0x64
000037bc: DUP8
000037bd: ADD
000037be: MSTORE
000037bf: PUSH1 0xa4
000037c1: DUP7
000037c2: ADD
000037c3: SWAP1
000037c4: PUSH2 0x3b5f
000037c7: JUMP
000037c8: JUMPDEST
000037c9: SWAP2
000037ca: DUP5
000037cb: DUP4
000037cc: SUB
000037cd: ADD
000037ce: PUSH1 0x84
000037d0: DUP6
000037d1: ADD
000037d2: MSTORE
000037d3: PUSH1 0xc0
000037d5: MLOAD
000037d6: SWAP8
000037d7: PUSH2 0x40df
000037da: JUMP
000037db: JUMPDEST
000037dc: SUB
000037dd: SWAP2
000037de: PUSH1 0xc0
000037e0: MLOAD
000037e1: SWAP1
000037e2: GAS
000037e3: CALL
000037e4: DUP1
000037e5: ISZERO
000037e6: PUSH2 0x047d
000037e9: JUMPI
000037ea: PUSH2 0x3821
000037ed: JUMPI
000037ee: JUMPDEST
000037ef: POP
000037f0: PUSH32 0x3e24a18afdf4b207766359f50e1aed359e8324d352510d7c8c86402b23101a51
00003811: PUSH1 0xc0
00003813: MLOAD
00003814: PUSH1 0xc0
00003816: MLOAD
00003817: LOG2
00003818: PUSH1 0xc0
0000381a: MLOAD
0000381b: PUSH1 0x01
0000381d: DUP2
0000381e: SSTORE
0000381f: DUP1
00003820: RETURN
00003821: JUMPDEST
00003822: PUSH2 0x382a
00003825: SWAP1
00003826: PUSH2 0x3c37
00003829: JUMP
0000382a: JUMPDEST
0000382b: PUSH1 0xc0
0000382d: MLOAD
0000382e: PUSH2 0x0291
00003831: JUMPI
00003832: DUP2
00003833: PUSH2 0x37ee
00003836: JUMP
00003837: JUMPDEST
00003838: PUSH2 0x3840
0000383b: SWAP1
0000383c: PUSH2 0x3c37
0000383f: JUMP
00003840: JUMPDEST
00003841: PUSH1 0xc0
00003843: MLOAD
00003844: PUSH2 0x0291
00003847: JUMPI
00003848: DUP10
00003849: PUSH2 0x3773
0000384c: JUMP
0000384d: JUMPDEST
0000384e: PUSH2 0x3856
00003851: SWAP1
00003852: PUSH2 0x3c37
00003855: JUMP
00003856: JUMPDEST
00003857: PUSH0
00003858: PUSH1 0xc0
0000385a: MSTORE
0000385b: DUP9
0000385c: PUSH2 0x3700
0000385f: JUMP
00003860: JUMPDEST
00003861: PUSH1 0x40
00003863: MLOAD
00003864: RETURNDATASIZE
00003865: PUSH0
00003866: DUP3
00003867: RETURNDATACOPY
00003868: RETURNDATASIZE
00003869: SWAP1
0000386a: REVERT
0000386b: JUMPDEST
0000386c: SWAP2
0000386d: SWAP7
0000386e: POP
0000386f: SWAP3
00003870: POP
00003871: RETURNDATASIZE
00003872: DUP1
00003873: PUSH0
00003874: DUP6
00003875: RETURNDATACOPY
00003876: PUSH2 0x387f
00003879: DUP2
0000387a: DUP6
0000387b: PUSH2 0x3cb8
0000387e: JUMP
0000387f: JUMPDEST
00003880: DUP4
00003881: ADD
00003882: SWAP1
00003883: PUSH1 0x40
00003885: DUP5
00003886: DUP4
00003887: SUB
00003888: SLT
00003889: PUSH2 0x0f5a
0000388c: JUMPI
0000388d: DUP4
0000388e: MLOAD
0000388f: SWAP1
00003890: DUP2
00003891: GT
00003892: PUSH2 0x0f5a
00003895: JUMPI
00003896: PUSH1 0x20
00003898: SWAP2
00003899: PUSH2 0x38a3
0000389c: SWAP2
0000389d: DUP6
0000389e: ADD
0000389f: PUSH2 0x3f5e
000038a2: JUMP
000038a3: JUMPDEST
000038a4: SWAP3
000038a5: ADD
000038a6: MLOAD
000038a7: SWAP5
000038a8: DUP7
000038a9: DUP1
000038aa: PUSH2 0x3664
000038ad: JUMP
000038ae: JUMPDEST
000038af: CALLVALUE
000038b0: PUSH2 0x0f5a
000038b3: JUMPI
000038b4: PUSH1 0x40
000038b6: CALLDATASIZE
000038b7: PUSH1 0x03
000038b9: NOT
000038ba: ADD
000038bb: SLT
000038bc: PUSH2 0x0f5a
000038bf: JUMPI
000038c0: PUSH1 0x01
000038c2: PUSH1 0x01
000038c4: PUSH1 0x40
000038c6: SHL
000038c7: SUB
000038c8: PUSH1 0x04
000038ca: CALLDATALOAD
000038cb: DUP2
000038cc: DUP2
000038cd: GT
000038ce: PUSH2 0x0f5a
000038d1: JUMPI
000038d2: PUSH2 0x38df
000038d5: SWAP1
000038d6: CALLDATASIZE
000038d7: SWAP1
000038d8: PUSH1 0x04
000038da: ADD
000038db: PUSH2 0x3b84
000038de: JUMP
000038df: JUMPDEST
000038e0: SWAP1
000038e1: SWAP2
000038e2: PUSH1 0x24
000038e4: CALLDATALOAD
000038e5: SWAP2
000038e6: PUSH2 0x38ed
000038e9: PUSH2 0x4719
000038ec: JUMP
000038ed: JUMPDEST
000038ee: PUSH1 0x01
000038f0: PUSH1 0x01
000038f2: PUSH1 0xa0
000038f4: SHL
000038f5: SUB
000038f6: SWAP1
000038f7: PUSH32 0x000000000000000000000000e0194f47040e2424b8a65cb5f7112a5dbe1f93bf
00003918: DUP3
00003919: AND
0000391a: CALLER
0000391b: SUB
0000391c: PUSH2 0x169b
0000391f: JUMPI
00003920: PUSH2 0x395f
00003923: SWAP5
00003924: PUSH0
00003925: SWAP2
00003926: PUSH2 0x3936
00003929: PUSH2 0x3930
0000392c: PUSH2 0x52c3
0000392f: JUMP
00003930: JUMPDEST
00003931: DUP8
00003932: PUSH2 0x476d
00003935: JUMP
00003936: JUMPDEST
00003937: PUSH1 0x40
00003939: MLOAD
0000393a: PUSH3 0x56e443
0000393e: PUSH1 0xe4
00003940: SHL
00003941: DUP2
00003942: MSTORE
00003943: PUSH1 0x01
00003945: PUSH1 0x04
00003947: DUP3
00003948: ADD
00003949: MSTORE
0000394a: PUSH1 0x60
0000394c: PUSH1 0x24
0000394e: DUP3
0000394f: ADD
00003950: MSTORE
00003951: SWAP8
00003952: DUP9
00003953: SWAP4
00003954: DUP5
00003955: SWAP4
00003956: PUSH1 0x64
00003958: DUP6
00003959: ADD
0000395a: SWAP2
0000395b: PUSH2 0x40df
0000395e: JUMP
0000395f: JUMPDEST
00003960: SWAP1
00003961: PUSH1 0x44
00003963: DUP4
00003964: ADD
00003965: MSTORE
00003966: SUB
00003967: DUP2
00003968: PUSH20 0x8811d9b44b04e91c9707215b1862b2f98b1a1a24
0000397d: GAS
0000397e: DELEGATECALL
0000397f: SWAP4
00003980: DUP5
00003981: ISZERO
00003982: PUSH2 0x3860
00003985: JUMPI
00003986: PUSH0
00003987: SWAP1
00003988: PUSH0
00003989: SWAP4
0000398a: PUSH0
0000398b: SWAP7
0000398c: PUSH2 0x39fa
0000398f: JUMPI
00003990: JUMPDEST
00003991: POP
00003992: POP
00003993: SWAP2
00003994: PUSH32 0x745f5ca6db42e779578fe4ae71bafbe1513d6daf820184b16204080eebedd34c
000039b5: SWAP4
000039b6: SWAP2
000039b7: PUSH2 0x39c1
000039ba: PUSH1 0x40
000039bc: SWAP5
000039bd: PUSH2 0x479e
000039c0: JUMP
000039c1: JUMPDEST
000039c2: DUP1
000039c3: SWAP3
000039c4: DUP2
000039c5: PUSH2 0x39dd
000039c8: JUMPI
000039c9: JUMPDEST
000039ca: POP
000039cb: POP
000039cc: POP
000039cd: DUP3
000039ce: MLOAD
000039cf: SWAP2
000039d0: DUP3
000039d1: MSTORE
000039d2: PUSH1 0x20
000039d4: DUP3
000039d5: ADD
000039d6: MSTORE
000039d7: LOG2
000039d8: PUSH1 0x01
000039da: PUSH0
000039db: SSTORE
000039dc: STOP
000039dd: JUMPDEST
000039de: DUP3
000039df: PUSH1 0x80
000039e1: PUSH2 0x39f2
000039e4: SWAP5
000039e5: PUSH1 0x01
000039e7: SLOAD
000039e8: AND
000039e9: SWAP3
000039ea: ADD
000039eb: MLOAD
000039ec: AND
000039ed: SWAP1
000039ee: PUSH2 0x4811
000039f1: JUMP
000039f2: JUMPDEST
000039f3: DUP6
000039f4: DUP2
000039f5: DUP2
000039f6: PUSH2 0x39c9
000039f9: JUMP
000039fa: JUMPDEST
000039fb: SWAP5
000039fc: SWAP3
000039fd: SWAP4
000039fe: POP
000039ff: SWAP5
00003a00: POP
00003a01: POP
00003a02: RETURNDATASIZE
00003a03: DUP1
00003a04: PUSH0
00003a05: DUP7
00003a06: RETURNDATACOPY
00003a07: PUSH2 0x3a10
00003a0a: DUP2
00003a0b: DUP7
00003a0c: PUSH2 0x3cb8
00003a0f: JUMP
00003a10: JUMPDEST
00003a11: DUP5
00003a12: ADD
00003a13: SWAP2
00003a14: PUSH1 0x60
00003a16: DUP6
00003a17: DUP5
00003a18: SUB
00003a19: SLT
00003a1a: PUSH2 0x0f5a
00003a1d: JUMPI
00003a1e: DUP5
00003a1f: MLOAD
00003a20: SWAP1
00003a21: PUSH1 0x20
00003a23: DUP7
00003a24: ADD
00003a25: MLOAD
00003a26: SWAP5
00003a27: DUP6
00003a28: GT
00003a29: PUSH2 0x0f5a
00003a2c: JUMPI
00003a2d: PUSH2 0x39c1
00003a30: PUSH1 0x40
00003a32: PUSH2 0x3a5f
00003a35: DUP2
00003a36: SWAP7
00003a37: PUSH32 0x745f5ca6db42e779578fe4ae71bafbe1513d6daf820184b16204080eebedd34c
00003a58: SWAP9
00003a59: DUP11
00003a5a: ADD
00003a5b: PUSH2 0x3f5e
00003a5e: JUMP
00003a5f: JUMPDEST
00003a60: SWAP8
00003a61: ADD
00003a62: MLOAD
00003a63: SWAP7
00003a64: SWAP4
00003a65: SWAP6
00003a66: POP
00003a67: SWAP3
00003a68: SWAP4
00003a69: POP
00003a6a: SWAP2
00003a6b: DUP3
00003a6c: SWAP1
00003a6d: PUSH2 0x3990
00003a70: JUMP
00003a71: JUMPDEST
00003a72: CALLVALUE
00003a73: PUSH2 0x0f5a
00003a76: JUMPI
00003a77: PUSH0
00003a78: CALLDATASIZE
00003a79: PUSH1 0x03
00003a7b: NOT
00003a7c: ADD
00003a7d: SLT
00003a7e: PUSH2 0x0f5a
00003a81: JUMPI
00003a82: PUSH1 0x20
00003a84: PUSH1 0x40
00003a86: MLOAD
00003a87: PUSH2 0x01f4
00003a8a: DUP2
00003a8b: MSTORE
00003a8c: RETURN
00003a8d: JUMPDEST
00003a8e: CALLVALUE
00003a8f: PUSH2 0x0f5a
00003a92: JUMPI
00003a93: PUSH1 0x20
00003a95: CALLDATASIZE
00003a96: PUSH1 0x03
00003a98: NOT
00003a99: ADD
00003a9a: SLT
00003a9b: PUSH2 0x0f5a
00003a9e: JUMPI
00003a9f: PUSH1 0x04
00003aa1: CALLDATALOAD
00003aa2: PUSH4 0xffffffff
00003aa7: PUSH1 0xe0
00003aa9: SHL
00003aaa: DUP2
00003aab: AND
00003aac: DUP1
00003aad: SWAP2
00003aae: SUB
00003aaf: PUSH2 0x0f5a
00003ab2: JUMPI
00003ab3: PUSH1 0x20
00003ab5: SWAP1
00003ab6: PUSH4 0x09561705
00003abb: PUSH1 0xe1
00003abd: SHL
00003abe: DUP2
00003abf: EQ
00003ac0: SWAP1
00003ac1: DUP2
00003ac2: ISZERO
00003ac3: PUSH2 0x3ad2
00003ac6: JUMPI
00003ac7: JUMPDEST
00003ac8: POP
00003ac9: PUSH1 0x40
00003acb: MLOAD
00003acc: SWAP1
00003acd: ISZERO
00003ace: ISZERO
00003acf: DUP2
00003ad0: MSTORE
00003ad1: RETURN
00003ad2: JUMPDEST
00003ad3: PUSH4 0x01ffc9a7
00003ad8: PUSH1 0xe0
00003ada: SHL
00003adb: EQ
00003adc: SWAP1
00003add: POP
00003ade: DUP3
00003adf: PUSH2 0x3ac7
00003ae2: JUMP
00003ae3: JUMPDEST
00003ae4: CALLVALUE
00003ae5: PUSH2 0x0f5a
00003ae8: JUMPI
00003ae9: PUSH0
00003aea: CALLDATASIZE
00003aeb: PUSH1 0x03
00003aed: NOT
00003aee: ADD
00003aef: SLT
00003af0: PUSH2 0x0f5a
00003af3: JUMPI
00003af4: DUP1
00003af5: PUSH2 0x3b00
00003af8: PUSH2 0x0433
00003afb: SWAP3
00003afc: PUSH2 0x3c9d
00003aff: JUMP
00003b00: JUMPDEST
00003b01: PUSH1 0x1a
00003b03: DUP2
00003b04: MSTORE
00003b05: PUSH32 0x576569676874656452617465436f6c6c656374696f6e506f6f6c000000000000
00003b26: PUSH1 0x20
00003b28: DUP3
00003b29: ADD
00003b2a: MSTORE
00003b2b: PUSH1 0x40
00003b2d: MLOAD
00003b2e: SWAP2
00003b2f: DUP3
00003b30: SWAP2
00003b31: PUSH1 0x20
00003b33: DUP4
00003b34: MSTORE
00003b35: PUSH1 0x20
00003b37: DUP4
00003b38: ADD
00003b39: SWAP1
00003b3a: PUSH2 0x3b5f
00003b3d: JUMP
00003b3e: JUMPDEST
00003b3f: PUSH0
00003b40: JUMPDEST
00003b41: DUP4
00003b42: DUP2
00003b43: LT
00003b44: PUSH2 0x3b4f
00003b47: JUMPI
00003b48: POP
00003b49: POP
00003b4a: PUSH0
00003b4b: SWAP2
00003b4c: ADD
00003b4d: MSTORE
00003b4e: JUMP
00003b4f: JUMPDEST
00003b50: DUP2
00003b51: DUP2
00003b52: ADD
00003b53: MLOAD
00003b54: DUP4
00003b55: DUP3
00003b56: ADD
00003b57: MSTORE
00003b58: PUSH1 0x20
00003b5a: ADD
00003b5b: PUSH2 0x3b40
00003b5e: JUMP
00003b5f: JUMPDEST
00003b60: SWAP1
00003b61: PUSH1 0x20
00003b63: SWAP2
00003b64: PUSH2 0x3b78
00003b67: DUP2
00003b68: MLOAD
00003b69: DUP1
00003b6a: SWAP3
00003b6b: DUP2
00003b6c: DUP6
00003b6d: MSTORE
00003b6e: DUP6
00003b6f: DUP1
00003b70: DUP7
00003b71: ADD
00003b72: SWAP2
00003b73: ADD
00003b74: PUSH2 0x3b3e
00003b77: JUMP
00003b78: JUMPDEST
00003b79: PUSH1 0x1f
00003b7b: ADD
00003b7c: PUSH1 0x1f
00003b7e: NOT
00003b7f: AND
00003b80: ADD
00003b81: ADD
00003b82: SWAP1
00003b83: JUMP
00003b84: JUMPDEST
00003b85: SWAP2
00003b86: DUP2
00003b87: PUSH1 0x1f
00003b89: DUP5
00003b8a: ADD
00003b8b: SLT
00003b8c: ISZERO
00003b8d: PUSH2 0x0f5a
00003b90: JUMPI
00003b91: DUP3
00003b92: CALLDATALOAD
00003b93: SWAP2
00003b94: PUSH1 0x01
00003b96: PUSH1 0x01
00003b98: PUSH1 0x40
00003b9a: SHL
00003b9b: SUB
00003b9c: DUP4
00003b9d: GT
00003b9e: PUSH2 0x0f5a
00003ba1: JUMPI
00003ba2: PUSH1 0x20
00003ba4: DUP4
00003ba5: DUP2
00003ba6: DUP7
00003ba7: ADD
00003ba8: SWAP6
00003ba9: ADD
00003baa: ADD
00003bab: GT
00003bac: PUSH2 0x0f5a
00003baf: JUMPI
00003bb0: JUMP
00003bb1: JUMPDEST
00003bb2: PUSH1 0x20
00003bb4: SWAP1
00003bb5: PUSH1 0x20
00003bb7: PUSH1 0x40
00003bb9: DUP2
00003bba: DUP4
00003bbb: ADD
00003bbc: SWAP3
00003bbd: DUP3
00003bbe: DUP2
00003bbf: MSTORE
00003bc0: DUP6
00003bc1: MLOAD
00003bc2: DUP1
00003bc3: SWAP5
00003bc4: MSTORE
00003bc5: ADD
00003bc6: SWAP4
00003bc7: ADD
00003bc8: SWAP2
00003bc9: PUSH0
00003bca: JUMPDEST
00003bcb: DUP3
00003bcc: DUP2
00003bcd: LT
00003bce: PUSH2 0x3bd8
00003bd1: JUMPI
00003bd2: POP
00003bd3: POP
00003bd4: POP
00003bd5: POP
00003bd6: SWAP1
00003bd7: JUMP
00003bd8: JUMPDEST
00003bd9: DUP4
00003bda: MLOAD
00003bdb: PUSH1 0x01
00003bdd: PUSH1 0x01
00003bdf: PUSH1 0xa0
00003be1: SHL
00003be2: SUB
00003be3: AND
00003be4: DUP6
00003be5: MSTORE
00003be6: SWAP4
00003be7: DUP2
00003be8: ADD
00003be9: SWAP4
00003bea: SWAP3
00003beb: DUP2
00003bec: ADD
00003bed: SWAP3
00003bee: PUSH1 0x01
00003bf0: ADD
00003bf1: PUSH2 0x3bca
00003bf4: JUMP
00003bf5: JUMPDEST
00003bf6: PUSH1 0x24
00003bf8: CALLDATALOAD
00003bf9: SWAP1
00003bfa: PUSH1 0x01
00003bfc: PUSH1 0x01
00003bfe: PUSH1 0xa0
00003c00: SHL
00003c01: SUB
00003c02: DUP3
00003c03: AND
00003c04: DUP3
00003c05: SUB
00003c06: PUSH2 0x0f5a
00003c09: JUMPI
00003c0a: JUMP
00003c0b: JUMPDEST
00003c0c: PUSH1 0x04
00003c0e: CALLDATALOAD
00003c0f: SWAP1
00003c10: PUSH1 0x01
00003c12: PUSH1 0x01
00003c14: PUSH1 0xa0
00003c16: SHL
00003c17: SUB
00003c18: DUP3
00003c19: AND
00003c1a: DUP3
00003c1b: SUB
00003c1c: PUSH2 0x0f5a
00003c1f: JUMPI
00003c20: JUMP
00003c21: JUMPDEST
00003c22: PUSH1 0x44
00003c24: CALLDATALOAD
00003c25: SWAP1
00003c26: PUSH1 0x01
00003c28: PUSH1 0x01
00003c2a: PUSH1 0xa0
00003c2c: SHL
00003c2d: SUB
00003c2e: DUP3
00003c2f: AND
00003c30: DUP3
00003c31: SUB
00003c32: PUSH2 0x0f5a
00003c35: JUMPI
00003c36: JUMP
00003c37: JUMPDEST
00003c38: PUSH1 0x01
00003c3a: PUSH1 0x01
00003c3c: PUSH1 0x40
00003c3e: SHL
00003c3f: SUB
00003c40: DUP2
00003c41: GT
00003c42: PUSH2 0x138e
00003c45: JUMPI
00003c46: PUSH1 0x40
00003c48: MSTORE
00003c49: JUMP
00003c4a: JUMPDEST
00003c4b: PUSH2 0x0180
00003c4e: DUP2
00003c4f: ADD
00003c50: SWAP1
00003c51: DUP2
00003c52: LT
00003c53: PUSH1 0x01
00003c55: PUSH1 0x01
00003c57: PUSH1 0x40
00003c59: SHL
00003c5a: SUB
00003c5b: DUP3
00003c5c: GT
00003c5d: OR
00003c5e: PUSH2 0x138e
00003c61: JUMPI
00003c62: PUSH1 0x40
00003c64: MSTORE
00003c65: JUMP
00003c66: JUMPDEST
00003c67: PUSH2 0x0100
00003c6a: DUP2
00003c6b: ADD
00003c6c: SWAP1
00003c6d: DUP2
00003c6e: LT
00003c6f: PUSH1 0x01
00003c71: PUSH1 0x01
00003c73: PUSH1 0x40
00003c75: SHL
00003c76: SUB
00003c77: DUP3
00003c78: GT
00003c79: OR
00003c7a: PUSH2 0x138e
00003c7d: JUMPI
00003c7e: PUSH1 0x40
00003c80: MSTORE
00003c81: JUMP
00003c82: JUMPDEST
00003c83: PUSH1 0x60
00003c85: DUP2
00003c86: ADD
00003c87: SWAP1
00003c88: DUP2
00003c89: LT
00003c8a: PUSH1 0x01
00003c8c: PUSH1 0x01
00003c8e: PUSH1 0x40
00003c90: SHL
00003c91: SUB
00003c92: DUP3
00003c93: GT
00003c94: OR
00003c95: PUSH2 0x138e
00003c98: JUMPI
00003c99: PUSH1 0x40
00003c9b: MSTORE
00003c9c: JUMP
00003c9d: JUMPDEST
00003c9e: PUSH1 0x40
00003ca0: DUP2
00003ca1: ADD
00003ca2: SWAP1
00003ca3: DUP2
00003ca4: LT
00003ca5: PUSH1 0x01
00003ca7: PUSH1 0x01
00003ca9: PUSH1 0x40
00003cab: SHL
00003cac: SUB
00003cad: DUP3
00003cae: GT
00003caf: OR
00003cb0: PUSH2 0x138e
00003cb3: JUMPI
00003cb4: PUSH1 0x40
00003cb6: MSTORE
00003cb7: JUMP
00003cb8: JUMPDEST
00003cb9: SWAP1
00003cba: PUSH1 0x1f
00003cbc: DUP1
00003cbd: NOT
00003cbe: SWAP2
00003cbf: ADD
00003cc0: AND
00003cc1: DUP2
00003cc2: ADD
00003cc3: SWAP1
00003cc4: DUP2
00003cc5: LT
00003cc6: PUSH1 0x01
00003cc8: PUSH1 0x01
00003cca: PUSH1 0x40
00003ccc: SHL
00003ccd: SUB
00003cce: DUP3
00003ccf: GT
00003cd0: OR
00003cd1: PUSH2 0x138e
00003cd4: JUMPI
00003cd5: PUSH1 0x40
00003cd7: MSTORE
00003cd8: JUMP
00003cd9: JUMPDEST
00003cda: PUSH1 0x01
00003cdc: PUSH1 0x01
00003cde: PUSH1 0x40
00003ce0: SHL
00003ce1: SUB
00003ce2: DUP2
00003ce3: GT
00003ce4: PUSH2 0x138e
00003ce7: JUMPI
00003ce8: PUSH1 0x1f
00003cea: ADD
00003ceb: PUSH1 0x1f
00003ced: NOT
00003cee: AND
00003cef: PUSH1 0x20
00003cf1: ADD
00003cf2: SWAP1
00003cf3: JUMP
00003cf4: JUMPDEST
00003cf5: SWAP3
00003cf6: SWAP2
00003cf7: SWAP3
00003cf8: PUSH2 0x3d00
00003cfb: DUP3
00003cfc: PUSH2 0x3cd9
00003cff: JUMP
00003d00: JUMPDEST
00003d01: SWAP2
00003d02: PUSH2 0x3d0e
00003d05: PUSH1 0x40
00003d07: MLOAD
00003d08: SWAP4
00003d09: DUP5
00003d0a: PUSH2 0x3cb8
00003d0d: JUMP
00003d0e: JUMPDEST
00003d0f: DUP3
00003d10: SWAP5
00003d11: DUP2
00003d12: DUP5
00003d13: MSTORE
00003d14: DUP2
00003d15: DUP4
00003d16: ADD
00003d17: GT
00003d18: PUSH2 0x0f5a
00003d1b: JUMPI
00003d1c: DUP3
00003d1d: DUP2
00003d1e: PUSH1 0x20
00003d20: SWAP4
00003d21: DUP5
00003d22: PUSH0
00003d23: SWAP7
00003d24: ADD
00003d25: CALLDATACOPY
00003d26: ADD
00003d27: ADD
00003d28: MSTORE
00003d29: JUMP
00003d2a: JUMPDEST
00003d2b: PUSH1 0x20
00003d2d: SWAP1
00003d2e: PUSH1 0x20
00003d30: PUSH1 0x40
00003d32: DUP2
00003d33: DUP4
00003d34: ADD
00003d35: SWAP3
00003d36: DUP3
00003d37: DUP2
00003d38: MSTORE
00003d39: DUP6
00003d3a: MLOAD
00003d3b: DUP1
00003d3c: SWAP5
00003d3d: MSTORE
00003d3e: ADD
00003d3f: SWAP4
00003d40: ADD
00003d41: SWAP2
00003d42: PUSH0
00003d43: JUMPDEST
00003d44: DUP3
00003d45: DUP2
00003d46: LT
00003d47: PUSH2 0x3d51
00003d4a: JUMPI
00003d4b: POP
00003d4c: POP
00003d4d: POP
00003d4e: POP
00003d4f: SWAP1
00003d50: JUMP
00003d51: JUMPDEST
00003d52: DUP4
00003d53: MLOAD
00003d54: PUSH1 0x01
00003d56: PUSH1 0x01
00003d58: PUSH1 0x40
00003d5a: SHL
00003d5b: SUB
00003d5c: AND
00003d5d: DUP6
00003d5e: MSTORE
00003d5f: SWAP4
00003d60: DUP2
00003d61: ADD
00003d62: SWAP4
00003d63: SWAP3
00003d64: DUP2
00003d65: ADD
00003d66: SWAP3
00003d67: PUSH1 0x01
00003d69: ADD
00003d6a: PUSH2 0x3d43
00003d6d: JUMP
00003d6e: JUMPDEST
00003d6f: PUSH1 0x04
00003d71: CALLDATALOAD
00003d72: SWAP1
00003d73: PUSH1 0x01
00003d75: PUSH1 0x01
00003d77: PUSH1 0x80
00003d79: SHL
00003d7a: SUB
00003d7b: DUP3
00003d7c: AND
00003d7d: DUP3
00003d7e: SUB
00003d7f: PUSH2 0x0f5a
00003d82: JUMPI
00003d83: JUMP
00003d84: JUMPDEST
00003d85: PUSH1 0x24
00003d87: CALLDATALOAD
00003d88: SWAP1
00003d89: PUSH1 0x01
00003d8b: PUSH1 0x01
00003d8d: PUSH1 0x80
00003d8f: SHL
00003d90: SUB
00003d91: DUP3
00003d92: AND
00003d93: DUP3
00003d94: SUB
00003d95: PUSH2 0x0f5a
00003d98: JUMPI
00003d99: JUMP
00003d9a: JUMPDEST
00003d9b: PUSH1 0x44
00003d9d: CALLDATALOAD
00003d9e: SWAP1
00003d9f: PUSH1 0x01
00003da1: PUSH1 0x01
00003da3: PUSH1 0x80
00003da5: SHL
00003da6: SUB
00003da7: DUP3
00003da8: AND
00003da9: DUP3
00003daa: SUB
00003dab: PUSH2 0x0f5a
00003dae: JUMPI
00003daf: JUMP
00003db0: JUMPDEST
00003db1: PUSH1 0xe0
00003db3: SWAP1
00003db4: DUP2
00003db5: PUSH1 0x01
00003db7: DUP1
00003db8: PUSH1 0x80
00003dba: SHL
00003dbb: SUB
00003dbc: SWAP2
00003dbd: DUP3
00003dbe: DUP2
00003dbf: MLOAD
00003dc0: AND
00003dc1: DUP6
00003dc2: MSTORE
00003dc3: DUP3
00003dc4: PUSH1 0x20
00003dc6: DUP3
00003dc7: ADD
00003dc8: MLOAD
00003dc9: AND
00003dca: PUSH1 0x20
00003dcc: DUP7
00003dcd: ADD
00003dce: MSTORE
00003dcf: DUP3
00003dd0: PUSH1 0x40
00003dd2: DUP3
00003dd3: ADD
00003dd4: MLOAD
00003dd5: AND
00003dd6: PUSH1 0x40
00003dd8: DUP7
00003dd9: ADD
00003dda: MSTORE
00003ddb: DUP3
00003ddc: PUSH1 0x60
00003dde: DUP3
00003ddf: ADD
00003de0: MLOAD
00003de1: AND
00003de2: PUSH1 0x60
00003de4: DUP7
00003de5: ADD
00003de6: MSTORE
00003de7: DUP3
00003de8: PUSH1 0x80
00003dea: DUP3
00003deb: ADD
00003dec: MLOAD
00003ded: AND
00003dee: PUSH1 0x80
00003df0: DUP7
00003df1: ADD
00003df2: MSTORE
00003df3: DUP3
00003df4: PUSH1 0xa0
00003df6: DUP3
00003df7: ADD
00003df8: MLOAD
00003df9: AND
00003dfa: PUSH1 0xa0
00003dfc: DUP7
00003dfd: ADD
00003dfe: MSTORE
00003dff: DUP3
00003e00: PUSH1 0xc0
00003e02: DUP3
00003e03: ADD
00003e04: MLOAD
00003e05: AND
00003e06: PUSH1 0xc0
00003e08: DUP7
00003e09: ADD
00003e0a: MSTORE
00003e0b: ADD
00003e0c: MLOAD
00003e0d: AND
00003e0e: SWAP2
00003e0f: ADD
00003e10: MSTORE
00003e11: JUMP
00003e12: JUMPDEST
00003e13: PUSH1 0x24
00003e15: CALLDATALOAD
00003e16: SWAP1
00003e17: PUSH1 0x01
00003e19: PUSH1 0x01
00003e1b: PUSH1 0x40
00003e1d: SHL
00003e1e: SUB
00003e1f: DUP3
00003e20: AND
00003e21: DUP3
00003e22: SUB
00003e23: PUSH2 0x0f5a
00003e26: JUMPI
00003e27: JUMP
00003e28: JUMPDEST
00003e29: SWAP2
00003e2a: DUP2
00003e2b: PUSH1 0x1f
00003e2d: DUP5
00003e2e: ADD
00003e2f: SLT
00003e30: ISZERO
00003e31: PUSH2 0x0f5a
00003e34: JUMPI
00003e35: DUP3
00003e36: CALLDATALOAD
00003e37: SWAP2
00003e38: PUSH1 0x01
00003e3a: PUSH1 0x01
00003e3c: PUSH1 0x40
00003e3e: SHL
00003e3f: SUB
00003e40: DUP4
00003e41: GT
00003e42: PUSH2 0x0f5a
00003e45: JUMPI
00003e46: PUSH1 0x20
00003e48: DUP1
00003e49: DUP6
00003e4a: ADD
00003e4b: SWAP5
00003e4c: DUP5
00003e4d: PUSH1 0x05
00003e4f: SHL
00003e50: ADD
00003e51: ADD
00003e52: GT
00003e53: PUSH2 0x0f5a
00003e56: JUMPI
00003e57: JUMP
00003e58: JUMPDEST
00003e59: PUSH1 0x01
00003e5b: PUSH1 0x01
00003e5d: PUSH1 0x40
00003e5f: SHL
00003e60: SUB
00003e61: DUP2
00003e62: GT
00003e63: PUSH2 0x138e
00003e66: JUMPI
00003e67: PUSH1 0x05
00003e69: SHL
00003e6a: PUSH1 0x20
00003e6c: ADD
00003e6d: SWAP1
00003e6e: JUMP
00003e6f: JUMPDEST
00003e70: SWAP1
00003e71: DUP1
00003e72: PUSH1 0x1f
00003e74: DUP4
00003e75: ADD
00003e76: SLT
00003e77: ISZERO
00003e78: PUSH2 0x0f5a
00003e7b: JUMPI
00003e7c: PUSH1 0x20
00003e7e: SWAP1
00003e7f: DUP3
00003e80: CALLDATALOAD
00003e81: PUSH2 0x3e89
00003e84: DUP2
00003e85: PUSH2 0x3e58
00003e88: JUMP
00003e89: JUMPDEST
00003e8a: SWAP4
00003e8b: PUSH2 0x3e97
00003e8e: PUSH1 0x40
00003e90: MLOAD
00003e91: SWAP6
00003e92: DUP7
00003e93: PUSH2 0x3cb8
00003e96: JUMP
00003e97: JUMPDEST
00003e98: DUP2
00003e99: DUP6
00003e9a: MSTORE
00003e9b: PUSH1 0x20
00003e9d: DUP1
00003e9e: DUP7
00003e9f: ADD
00003ea0: SWAP3
00003ea1: PUSH1 0x05
00003ea3: SHL
00003ea4: DUP3
00003ea5: ADD
00003ea6: ADD
00003ea7: SWAP3
00003ea8: DUP4
00003ea9: GT
00003eaa: PUSH2 0x0f5a
00003ead: JUMPI
00003eae: PUSH1 0x20
00003eb0: ADD
00003eb1: SWAP1
00003eb2: JUMPDEST
00003eb3: DUP3
00003eb4: DUP3
00003eb5: LT
00003eb6: PUSH2 0x3ec0
00003eb9: JUMPI
00003eba: POP
00003ebb: POP
00003ebc: POP
00003ebd: POP
00003ebe: SWAP1
00003ebf: JUMP
00003ec0: JUMPDEST
00003ec1: DUP2
00003ec2: CALLDATALOAD
00003ec3: DUP2
00003ec4: MSTORE
00003ec5: SWAP1
00003ec6: DUP4
00003ec7: ADD
00003ec8: SWAP1
00003ec9: DUP4
00003eca: ADD
00003ecb: PUSH2 0x3eb2
00003ece: JUMP
00003ecf: JUMPDEST
00003ed0: MLOAD
00003ed1: SWAP1
00003ed2: PUSH1 0xff
00003ed4: DUP3
00003ed5: AND
00003ed6: DUP3
00003ed7: SUB
00003ed8: PUSH2 0x0f5a
00003edb: JUMPI
00003edc: JUMP
00003edd: JUMPDEST
00003ede: MLOAD
00003edf: SWAP1
00003ee0: PUSH1 0x01
00003ee2: PUSH1 0x01
00003ee4: PUSH1 0xa0
00003ee6: SHL
00003ee7: SUB
00003ee8: DUP3
00003ee9: AND
00003eea: DUP3
00003eeb: SUB
00003eec: PUSH2 0x0f5a
00003eef: JUMPI
00003ef0: JUMP
00003ef1: JUMPDEST
00003ef2: MLOAD
00003ef3: SWAP1
00003ef4: PUSH1 0x01
00003ef6: PUSH1 0x01
00003ef8: PUSH1 0x40
00003efa: SHL
00003efb: SUB
00003efc: DUP3
00003efd: AND
00003efe: DUP3
00003eff: SUB
00003f00: PUSH2 0x0f5a
00003f03: JUMPI
00003f04: JUMP
00003f05: JUMPDEST
00003f06: DUP2
00003f07: PUSH1 0x1f
00003f09: DUP3
00003f0a: ADD
00003f0b: SLT
00003f0c: ISZERO
00003f0d: PUSH2 0x0f5a
00003f10: JUMPI
00003f11: DUP1
00003f12: MLOAD
00003f13: PUSH2 0x3f1b
00003f16: DUP2
00003f17: PUSH2 0x3cd9
00003f1a: JUMP
00003f1b: JUMPDEST
00003f1c: SWAP3
00003f1d: PUSH2 0x3f29
00003f20: PUSH1 0x40
00003f22: MLOAD
00003f23: SWAP5
00003f24: DUP6
00003f25: PUSH2 0x3cb8
00003f28: JUMP
00003f29: JUMPDEST
00003f2a: DUP2
00003f2b: DUP5
00003f2c: MSTORE
00003f2d: PUSH1 0x20
00003f2f: DUP3
00003f30: DUP5
00003f31: ADD
00003f32: ADD
00003f33: GT
00003f34: PUSH2 0x0f5a
00003f37: JUMPI
00003f38: PUSH2 0x3f47
00003f3b: SWAP2
00003f3c: PUSH1 0x20
00003f3e: DUP1
00003f3f: DUP6
00003f40: ADD
00003f41: SWAP2
00003f42: ADD
00003f43: PUSH2 0x3b3e
00003f46: JUMP
00003f47: JUMPDEST
00003f48: SWAP1
00003f49: JUMP
00003f4a: JUMPDEST
00003f4b: MLOAD
00003f4c: SWAP1
00003f4d: PUSH1 0x01
00003f4f: PUSH1 0x01
00003f51: PUSH1 0x80
00003f53: SHL
00003f54: SUB
00003f55: DUP3
00003f56: AND
00003f57: DUP3
00003f58: SUB
00003f59: PUSH2 0x0f5a
00003f5c: JUMPI
00003f5d: JUMP
00003f5e: JUMPDEST
00003f5f: SWAP2
00003f60: SWAP1
00003f61: PUSH2 0x0180
00003f64: DUP4
00003f65: DUP3
00003f66: SUB
00003f67: SLT
00003f68: PUSH2 0x0f5a
00003f6b: JUMPI
00003f6c: PUSH1 0x40
00003f6e: SWAP3
00003f6f: DUP4
00003f70: MLOAD
00003f71: PUSH2 0x3f79
00003f74: DUP2
00003f75: PUSH2 0x3c4a
00003f78: JUMP
00003f79: JUMPDEST
00003f7a: DUP1
00003f7b: SWAP5
00003f7c: PUSH2 0x3f84
00003f7f: DUP4
00003f80: PUSH2 0x3ecf
00003f83: JUMP
00003f84: JUMPDEST
00003f85: DUP3
00003f86: MSTORE
00003f87: PUSH1 0x20
00003f89: SWAP1
00003f8a: DUP2
00003f8b: DUP5
00003f8c: ADD
00003f8d: MLOAD
00003f8e: DUP3
00003f8f: DUP5
00003f90: ADD
00003f91: MSTORE
00003f92: DUP1
00003f93: DUP5
00003f94: ADD
00003f95: MLOAD
00003f96: DUP2
00003f97: DUP5
00003f98: ADD
00003f99: MSTORE
00003f9a: PUSH1 0x60
00003f9c: SWAP2
00003f9d: PUSH1 0x60
00003f9f: DUP6
00003fa0: ADD
00003fa1: MLOAD
00003fa2: PUSH1 0x60
00003fa4: DUP6
00003fa5: ADD
00003fa6: MSTORE
00003fa7: PUSH2 0x3fb2
00003faa: PUSH1 0x80
00003fac: DUP7
00003fad: ADD
00003fae: PUSH2 0x3edd
00003fb1: JUMP
00003fb2: JUMPDEST
00003fb3: PUSH1 0x80
00003fb5: DUP6
00003fb6: ADD
00003fb7: MSTORE
00003fb8: PUSH2 0x3fc3
00003fbb: PUSH1 0xa0
00003fbd: DUP7
00003fbe: ADD
00003fbf: PUSH2 0x3ef1
00003fc2: JUMP
00003fc3: JUMPDEST
00003fc4: PUSH1 0xa0
00003fc6: DUP6
00003fc7: ADD
00003fc8: MSTORE
00003fc9: PUSH2 0x3fd4
00003fcc: PUSH1 0xc0
00003fce: DUP7
00003fcf: ADD
00003fd0: PUSH2 0x3ef1
00003fd3: JUMP
00003fd4: JUMPDEST
00003fd5: PUSH1 0xc0
00003fd7: DUP6
00003fd8: ADD
00003fd9: MSTORE
00003fda: PUSH2 0x3fe5
00003fdd: PUSH1 0xe0
00003fdf: DUP7
00003fe0: ADD
00003fe1: PUSH2 0x3edd
00003fe4: JUMP
00003fe5: JUMPDEST
00003fe6: PUSH1 0xe0
00003fe8: DUP6
00003fe9: ADD
00003fea: MSTORE
00003feb: PUSH2 0x0100
00003fee: DUP1
00003fef: DUP7
00003ff0: ADD
00003ff1: MLOAD
00003ff2: SWAP1
00003ff3: DUP6
00003ff4: ADD
00003ff5: MSTORE
00003ff6: PUSH2 0x0120
00003ff9: DUP1
00003ffa: DUP7
00003ffb: ADD
00003ffc: MLOAD
00003ffd: SWAP1
00003ffe: PUSH2 0xffff
00004001: DUP3
00004002: AND
00004003: DUP3
00004004: SUB
00004005: PUSH2 0x0f5a
00004008: JUMPI
00004009: DUP6
0000400a: ADD
0000400b: MSTORE
0000400c: PUSH2 0x0140
0000400f: DUP1
00004010: DUP7
00004011: ADD
00004012: MLOAD
00004013: SWAP1
00004014: PUSH1 0x01
00004016: PUSH1 0x01
00004018: PUSH1 0x40
0000401a: SHL
0000401b: SUB
0000401c: SWAP2
0000401d: DUP3
0000401e: DUP2
0000401f: GT
00004020: PUSH2 0x0f5a
00004023: JUMPI
00004024: DUP9
00004025: PUSH2 0x402f
00004028: SWAP2
00004029: DUP10
0000402a: ADD
0000402b: PUSH2 0x3f05
0000402e: JUMP
0000402f: JUMPDEST
00004030: SWAP1
00004031: DUP7
00004032: ADD
00004033: MSTORE
00004034: PUSH2 0x0160
00004037: SWAP6
00004038: DUP7
00004039: DUP2
0000403a: ADD
0000403b: MLOAD
0000403c: SWAP2
0000403d: DUP3
0000403e: GT
0000403f: PUSH2 0x0f5a
00004042: JUMPI
00004043: ADD
00004044: SWAP2
00004045: DUP7
00004046: PUSH1 0x1f
00004048: DUP5
00004049: ADD
0000404a: SLT
0000404b: ISZERO
0000404c: PUSH2 0x0f5a
0000404f: JUMPI
00004050: DUP3
00004051: MLOAD
00004052: SWAP1
00004053: PUSH2 0x405b
00004056: DUP3
00004057: PUSH2 0x3e58
0000405a: JUMP
0000405b: JUMPDEST
0000405c: SWAP8
0000405d: PUSH2 0x4068
00004060: DUP3
00004061: MLOAD
00004062: SWAP10
00004063: DUP11
00004064: PUSH2 0x3cb8
00004067: JUMP
00004068: JUMPDEST
00004069: DUP3
0000406a: DUP10
0000406b: MSTORE
0000406c: DUP4
0000406d: PUSH1 0x60
0000406f: DUP2
00004070: DUP12
00004071: ADD
00004072: SWAP5
00004073: MUL
00004074: DUP7
00004075: ADD
00004076: ADD
00004077: SWAP5
00004078: DUP2
00004079: DUP7
0000407a: GT
0000407b: PUSH2 0x0f5a
0000407e: JUMPI
0000407f: DUP5
00004080: ADD
00004081: SWAP3
00004082: JUMPDEST
00004083: DUP6
00004084: DUP5
00004085: LT
00004086: PUSH2 0x4094
00004089: JUMPI
0000408a: POP
0000408b: POP
0000408c: POP
0000408d: POP
0000408e: POP
0000408f: POP
00004090: POP
00004091: ADD
00004092: MSTORE
00004093: JUMP
00004094: JUMPDEST
00004095: DUP7
00004096: DUP5
00004097: DUP4
00004098: SUB
00004099: SLT
0000409a: PUSH2 0x0f5a
0000409d: JUMPI
0000409e: DUP5
0000409f: DUP8
000040a0: SWAP2
000040a1: DUP5
000040a2: MLOAD
000040a3: PUSH2 0x40ab
000040a6: DUP2
000040a7: PUSH2 0x3c82
000040aa: JUMP
000040ab: JUMPDEST
000040ac: PUSH2 0x40b4
000040af: DUP8
000040b0: PUSH2 0x3f4a
000040b3: JUMP
000040b4: JUMPDEST
000040b5: DUP2
000040b6: MSTORE
000040b7: PUSH2 0x40c1
000040ba: DUP4
000040bb: DUP9
000040bc: ADD
000040bd: PUSH2 0x3f4a
000040c0: JUMP
000040c1: JUMPDEST
000040c2: DUP4
000040c3: DUP3
000040c4: ADD
000040c5: MSTORE
000040c6: PUSH2 0x40d0
000040c9: DUP7
000040ca: DUP9
000040cb: ADD
000040cc: PUSH2 0x3f4a
000040cf: JUMP
000040d0: JUMPDEST
000040d1: DUP7
000040d2: DUP3
000040d3: ADD
000040d4: MSTORE
000040d5: DUP2
000040d6: MSTORE
000040d7: ADD
000040d8: SWAP4
000040d9: ADD
000040da: SWAP3
000040db: PUSH2 0x4082
000040de: JUMP
000040df: JUMPDEST
000040e0: SWAP1
000040e1: DUP1
000040e2: PUSH1 0x20
000040e4: SWAP4
000040e5: SWAP3
000040e6: DUP2
000040e7: DUP5
000040e8: MSTORE
000040e9: DUP5
000040ea: DUP5
000040eb: ADD
000040ec: CALLDATACOPY
000040ed: PUSH0
000040ee: DUP3
000040ef: DUP3
000040f0: ADD
000040f1: DUP5
000040f2: ADD
000040f3: MSTORE
000040f4: PUSH1 0x1f
000040f6: ADD
000040f7: PUSH1 0x1f
000040f9: NOT
000040fa: AND
000040fb: ADD
000040fc: ADD
000040fd: SWAP1
000040fe: JUMP
000040ff: JUMPDEST
00004100: PUSH32 0xf0e5094ebd597f2042580340ce53d1b15e5b64e0d8be717ecde51dd37c619300
00004121: DUP2
00004122: MSTORE
00004123: PUSH1 0x01
00004125: PUSH1 0x01
00004127: PUSH1 0xa0
00004129: SHL
0000412a: SUB
0000412b: SWAP2
0000412c: DUP3
0000412d: AND
0000412e: PUSH1 0x20
00004130: DUP3
00004131: ADD
00004132: MSTORE
00004133: PUSH1 0x40
00004135: DUP2
00004136: ADD
00004137: SWAP3
00004138: SWAP1
00004139: SWAP3
0000413a: MSTORE
0000413b: SWAP2
0000413c: DUP3
0000413d: AND
0000413e: PUSH1 0x60
00004140: DUP3
00004141: ADD
00004142: MSTORE
00004143: SWAP2
00004144: AND
00004145: PUSH1 0x80
00004147: DUP3
00004148: ADD
00004149: MSTORE
0000414a: PUSH1 0xa0
0000414c: ADD
0000414d: SWAP1
0000414e: JUMP
0000414f: JUMPDEST
00004150: SWAP1
00004151: PUSH2 0x4159
00004154: DUP3
00004155: PUSH2 0x3e58
00004158: JUMP
00004159: JUMPDEST
0000415a: PUSH2 0x4166
0000415d: PUSH1 0x40
0000415f: MLOAD
00004160: SWAP2
00004161: DUP3
00004162: PUSH2 0x3cb8
00004165: JUMP
00004166: JUMPDEST
00004167: DUP3
00004168: DUP2
00004169: MSTORE
0000416a: DUP1
0000416b: SWAP3
0000416c: PUSH2 0x4177
0000416f: PUSH1 0x1f
00004171: NOT
00004172: SWAP2
00004173: PUSH2 0x3e58
00004176: JUMP
00004177: JUMPDEST
00004178: ADD
00004179: SWAP1
0000417a: PUSH1 0x20
0000417c: CALLDATASIZE
0000417d: SWAP2
0000417e: ADD
0000417f: CALLDATACOPY
00004180: JUMP
00004181: JUMPDEST
00004182: DUP1
00004183: MLOAD
00004184: ISZERO
00004185: PUSH2 0x2432
00004188: JUMPI
00004189: PUSH1 0x20
0000418b: ADD
0000418c: SWAP1
0000418d: JUMP
0000418e: JUMPDEST
0000418f: DUP1
00004190: MLOAD
00004191: DUP3
00004192: LT
00004193: ISZERO
00004194: PUSH2 0x2432
00004197: JUMPI
00004198: PUSH1 0x20
0000419a: SWAP2
0000419b: PUSH1 0x05
0000419d: SHL
0000419e: ADD
0000419f: ADD
000041a0: SWAP1
000041a1: JUMP
000041a2: JUMPDEST
000041a3: SWAP1
000041a4: DUP1
000041a5: PUSH1 0x1f
000041a7: DUP4
000041a8: ADD
000041a9: SLT
000041aa: ISZERO
000041ab: PUSH2 0x0f5a
000041ae: JUMPI
000041af: DUP2
000041b0: MLOAD
000041b1: SWAP1
000041b2: PUSH1 0x20
000041b4: SWAP2
000041b5: PUSH2 0x41bd
000041b8: DUP2
000041b9: PUSH2 0x3e58
000041bc: JUMP
000041bd: JUMPDEST
000041be: SWAP4
000041bf: PUSH2 0x41cb
000041c2: PUSH1 0x40
000041c4: MLOAD
000041c5: SWAP6
000041c6: DUP7
000041c7: PUSH2 0x3cb8
000041ca: JUMP
000041cb: JUMPDEST
000041cc: DUP2
000041cd: DUP6
000041ce: MSTORE
000041cf: PUSH1 0x20
000041d1: DUP1
000041d2: DUP7
000041d3: ADD
000041d4: SWAP3
000041d5: PUSH1 0x05
000041d7: SHL
000041d8: DUP3
000041d9: ADD
000041da: ADD
000041db: SWAP3
000041dc: DUP4
000041dd: GT
000041de: PUSH2 0x0f5a
000041e1: JUMPI
000041e2: PUSH1 0x20
000041e4: ADD
000041e5: SWAP1
000041e6: JUMPDEST
000041e7: DUP3
000041e8: DUP3
000041e9: LT
000041ea: PUSH2 0x41f4
000041ed: JUMPI
000041ee: POP
000041ef: POP
000041f0: POP
000041f1: POP
000041f2: SWAP1
000041f3: JUMP
000041f4: JUMPDEST
000041f5: DUP4
000041f6: DUP1
000041f7: SWAP2
000041f8: PUSH2 0x4200
000041fb: DUP5
000041fc: PUSH2 0x3ef1
000041ff: JUMP
00004200: JUMPDEST
00004201: DUP2
00004202: MSTORE
00004203: ADD
00004204: SWAP2
00004205: ADD
00004206: SWAP1
00004207: PUSH2 0x41e6
0000420a: JUMP
0000420b: JUMPDEST
0000420c: PUSH1 0x40
0000420e: SWAP1
0000420f: PUSH1 0x40
00004211: MLOAD
00004212: SWAP2
00004213: DUP3
00004214: PUSH1 0x02
00004216: SLOAD
00004217: SWAP2
00004218: DUP3
00004219: DUP3
0000421a: MSTORE
0000421b: PUSH1 0x20
0000421d: SWAP1
0000421e: DUP2
0000421f: DUP4
00004220: ADD
00004221: SWAP1
00004222: PUSH1 0x02
00004224: PUSH0
00004225: MSTORE
00004226: DUP3
00004227: PUSH0
00004228: KECCAK256
00004229: SWAP5
0000422a: PUSH0
0000422b: SWAP2
0000422c: JUMPDEST
0000422d: DUP2
0000422e: PUSH1 0x03
00004230: DUP5
00004231: ADD
00004232: LT
00004233: PUSH2 0x42c7
00004236: JUMPI
00004237: POP
00004238: PUSH2 0x4267
0000423b: SWAP6
0000423c: SLOAD
0000423d: SWAP2
0000423e: DUP5
0000423f: DUP3
00004240: DUP3
00004241: LT
00004242: PUSH2 0x42ae
00004245: JUMPI
00004246: JUMPDEST
00004247: DUP3
00004248: DUP3
00004249: LT
0000424a: PUSH2 0x4292
0000424d: JUMPI
0000424e: JUMPDEST
0000424f: DUP3
00004250: DUP3
00004251: LT
00004252: PUSH2 0x4276
00004255: JUMPI
00004256: JUMPDEST
00004257: POP
00004258: LT
00004259: PUSH2 0x4269
0000425c: JUMPI
0000425d: JUMPDEST
0000425e: POP
0000425f: SWAP1
00004260: POP
00004261: SUB
00004262: DUP4
00004263: PUSH2 0x3cb8
00004266: JUMP
00004267: JUMPDEST
00004268: JUMP
00004269: JUMPDEST
0000426a: PUSH1 0xc0
0000426c: SHR
0000426d: DUP2
0000426e: MSTORE
0000426f: ADD
00004270: DUP1
00004271: PUSH0
00004272: PUSH2 0x425d
00004275: JUMP
00004276: JUMPDEST
00004277: PUSH1 0x01
00004279: SWAP2
0000427a: SWAP5
0000427b: PUSH1 0x01
0000427d: PUSH1 0x01
0000427f: PUSH1 0x40
00004281: SHL
00004282: SUB
00004283: DUP6
00004284: PUSH1 0x80
00004286: SHR
00004287: AND
00004288: DUP2
00004289: MSTORE
0000428a: ADD
0000428b: SWAP4
0000428c: ADD
0000428d: DUP5
0000428e: PUSH2 0x4256
00004291: JUMP
00004292: JUMPDEST
00004293: PUSH1 0x01
00004295: SWAP2
00004296: SWAP5
00004297: PUSH1 0x01
00004299: PUSH1 0x01
0000429b: PUSH1 0x40
0000429d: SHL
0000429e: SUB
0000429f: DUP6
000042a0: PUSH1 0x40
000042a2: SHR
000042a3: AND
000042a4: DUP2
000042a5: MSTORE
000042a6: ADD
000042a7: SWAP4
000042a8: ADD
000042a9: DUP5
000042aa: PUSH2 0x424e
000042ad: JUMP
000042ae: JUMPDEST
000042af: PUSH1 0x01
000042b1: SWAP2
000042b2: SWAP5
000042b3: PUSH1 0x01
000042b5: PUSH1 0x01
000042b7: PUSH1 0x40
000042b9: SHL
000042ba: SUB
000042bb: DUP6
000042bc: AND
000042bd: DUP2
000042be: MSTORE
000042bf: ADD
000042c0: SWAP4
000042c1: ADD
000042c2: DUP5
000042c3: PUSH2 0x4246
000042c6: JUMP
000042c7: JUMPDEST
000042c8: SWAP4
000042c9: SWAP6
000042ca: SWAP5
000042cb: POP
000042cc: SWAP2
000042cd: PUSH1 0x01
000042cf: PUSH1 0x04
000042d1: SWAP2
000042d2: DUP7
000042d3: SLOAD
000042d4: SWAP1
000042d5: PUSH1 0x01
000042d7: PUSH1 0x01
000042d9: PUSH1 0x40
000042db: SHL
000042dc: SUB
000042dd: SWAP2
000042de: DUP3
000042df: DUP2
000042e0: AND
000042e1: DUP3
000042e2: MSTORE
000042e3: DUP3
000042e4: DUP2
000042e5: DUP10
000042e6: SHR
000042e7: AND
000042e8: DUP11
000042e9: DUP4
000042ea: ADD
000042eb: MSTORE
000042ec: PUSH1 0x80
000042ee: SWAP3
000042ef: DUP2
000042f0: DUP5
000042f1: SHR
000042f2: AND
000042f3: DUP9
000042f4: DUP4
000042f5: ADD
000042f6: MSTORE
000042f7: PUSH1 0xc0
000042f9: SHR
000042fa: PUSH1 0x60
000042fc: DUP3
000042fd: ADD
000042fe: MSTORE
000042ff: ADD
00004300: SWAP6
00004301: ADD
00004302: SWAP2
00004303: ADD
00004304: SWAP1
00004305: SWAP5
00004306: SWAP3
00004307: SWAP2
00004308: DUP8
00004309: SWAP5
0000430a: SWAP3
0000430b: PUSH2 0x422c
0000430e: JUMP
0000430f: JUMPDEST
00004310: PUSH1 0x40
00004312: SWAP1
00004313: PUSH1 0x40
00004315: MLOAD
00004316: SWAP2
00004317: DUP3
00004318: PUSH1 0x03
0000431a: SWAP2
0000431b: PUSH1 0x03
0000431d: SLOAD
0000431e: SWAP3
0000431f: DUP4
00004320: DUP4
00004321: MSTORE
00004322: PUSH1 0x20
00004324: SWAP2
00004325: DUP3
00004326: DUP5
00004327: ADD
00004328: SWAP2
00004329: PUSH1 0x03
0000432b: PUSH0
0000432c: MSTORE
0000432d: DUP4
0000432e: PUSH0
0000432f: KECCAK256
00004330: SWAP1
00004331: PUSH0
00004332: SWAP3
00004333: JUMPDEST
00004334: DUP8
00004335: DUP3
00004336: DUP6
00004337: ADD
00004338: LT
00004339: PUSH2 0x436b
0000433c: JUMPI
0000433d: POP
0000433e: POP
0000433f: SWAP5
00004340: PUSH2 0x4267
00004343: SWAP6
00004344: SLOAD
00004345: SWAP2
00004346: DUP5
00004347: DUP3
00004348: DUP3
00004349: LT
0000434a: PUSH2 0x42ae
0000434d: JUMPI
0000434e: DUP3
0000434f: DUP3
00004350: LT
00004351: PUSH2 0x4292
00004354: JUMPI
00004355: DUP3
00004356: DUP3
00004357: LT
00004358: PUSH2 0x4276
0000435b: JUMPI
0000435c: POP
0000435d: LT
0000435e: PUSH2 0x4269
00004361: JUMPI
00004362: POP
00004363: SWAP1
00004364: POP
00004365: SUB
00004366: DUP4
00004367: PUSH2 0x3cb8
0000436a: JUMP
0000436b: JUMPDEST
0000436c: DUP3
0000436d: SLOAD
0000436e: PUSH1 0x01
00004370: PUSH1 0x01
00004372: PUSH1 0x40
00004374: SHL
00004375: SUB
00004376: DUP1
00004377: DUP3
00004378: AND
00004379: DUP8
0000437a: MSTORE
0000437b: DUP2
0000437c: DUP4
0000437d: SHR
0000437e: DUP2
0000437f: AND
00004380: DUP8
00004381: DUP10
00004382: ADD
00004383: MSTORE
00004384: PUSH1 0x80
00004386: DUP3
00004387: DUP2
00004388: SHR
00004389: SWAP1
0000438a: SWAP2
0000438b: AND
0000438c: DUP8
0000438d: DUP5
0000438e: ADD
0000438f: MSTORE
00004390: PUSH1 0xc0
00004392: SWAP2
00004393: SWAP1
00004394: SWAP2
00004395: SHR
00004396: PUSH1 0x60
00004398: DUP8
00004399: ADD
0000439a: MSTORE
0000439b: DUP11
0000439c: SWAP8
0000439d: POP
0000439e: SWAP1
0000439f: SWAP5
000043a0: ADD
000043a1: SWAP4
000043a2: PUSH1 0x04
000043a4: SWAP4
000043a5: SWAP1
000043a6: SWAP4
000043a7: ADD
000043a8: SWAP3
000043a9: PUSH1 0x01
000043ab: SWAP1
000043ac: SWAP3
000043ad: ADD
000043ae: SWAP2
000043af: PUSH2 0x4333
000043b2: JUMP
000043b3: JUMPDEST
000043b4: PUSH1 0x40
000043b6: MLOAD
000043b7: SWAP1
000043b8: PUSH2 0x43c0
000043bb: DUP3
000043bc: PUSH2 0x3c66
000043bf: JUMP
000043c0: JUMPDEST
000043c1: PUSH0
000043c2: PUSH1 0xe0
000043c4: DUP4
000043c5: DUP3
000043c6: DUP2
000043c7: MSTORE
000043c8: DUP3
000043c9: PUSH1 0x20
000043cb: DUP3
000043cc: ADD
000043cd: MSTORE
000043ce: DUP3
000043cf: PUSH1 0x40
000043d1: DUP3
000043d2: ADD
000043d3: MSTORE
000043d4: DUP3
000043d5: PUSH1 0x60
000043d7: DUP3
000043d8: ADD
000043d9: MSTORE
000043da: DUP3
000043db: PUSH1 0x80
000043dd: DUP3
000043de: ADD
000043df: MSTORE
000043e0: DUP3
000043e1: PUSH1 0xa0
000043e3: DUP3
000043e4: ADD
000043e5: MSTORE
000043e6: DUP3
000043e7: PUSH1 0xc0
000043e9: DUP3
000043ea: ADD
000043eb: MSTORE
000043ec: ADD
000043ed: MSTORE
000043ee: JUMP
000043ef: JUMPDEST
000043f0: SWAP2
000043f1: SWAP1
000043f2: DUP3
000043f3: PUSH2 0x0100
000043f6: SWAP2
000043f7: SUB
000043f8: SLT
000043f9: PUSH2 0x0f5a
000043fc: JUMPI
000043fd: PUSH1 0x40
000043ff: MLOAD
00004400: PUSH2 0x4408
00004403: DUP2
00004404: PUSH2 0x3c66
00004407: JUMP
00004408: JUMPDEST
00004409: PUSH1 0xe0
0000440b: PUSH2 0x4487
0000440e: DUP2
0000440f: DUP4
00004410: SWAP6
00004411: PUSH2 0x4419
00004414: DUP2
00004415: PUSH2 0x3f4a
00004418: JUMP
00004419: JUMPDEST
0000441a: DUP6
0000441b: MSTORE
0000441c: PUSH2 0x4427
0000441f: PUSH1 0x20
00004421: DUP3
00004422: ADD
00004423: PUSH2 0x3f4a
00004426: JUMP
00004427: JUMPDEST
00004428: PUSH1 0x20
0000442a: DUP7
0000442b: ADD
0000442c: MSTORE
0000442d: PUSH2 0x4438
00004430: PUSH1 0x40
00004432: DUP3
00004433: ADD
00004434: PUSH2 0x3f4a
00004437: JUMP
00004438: JUMPDEST
00004439: PUSH1 0x40
0000443b: DUP7
0000443c: ADD
0000443d: MSTORE
0000443e: PUSH2 0x4449
00004441: PUSH1 0x60
00004443: DUP3
00004444: ADD
00004445: PUSH2 0x3f4a
00004448: JUMP
00004449: JUMPDEST
0000444a: PUSH1 0x60
0000444c: DUP7
0000444d: ADD
0000444e: MSTORE
0000444f: PUSH2 0x445a
00004452: PUSH1 0x80
00004454: DUP3
00004455: ADD
00004456: PUSH2 0x3f4a
00004459: JUMP
0000445a: JUMPDEST
0000445b: PUSH1 0x80
0000445d: DUP7
0000445e: ADD
0000445f: MSTORE
00004460: PUSH2 0x446b
00004463: PUSH1 0xa0
00004465: DUP3
00004466: ADD
00004467: PUSH2 0x3f4a
0000446a: JUMP
0000446b: JUMPDEST
0000446c: PUSH1 0xa0
0000446e: DUP7
0000446f: ADD
00004470: MSTORE
00004471: PUSH2 0x447c
00004474: PUSH1 0xc0
00004476: DUP3
00004477: ADD
00004478: PUSH2 0x3f4a
0000447b: JUMP
0000447c: JUMPDEST
0000447d: PUSH1 0xc0
0000447f: DUP7
00004480: ADD
00004481: MSTORE
00004482: ADD
00004483: PUSH2 0x3f4a
00004486: JUMP
00004487: JUMPDEST
00004488: SWAP2
00004489: ADD
0000448a: MSTORE
0000448b: JUMP
0000448c: JUMPDEST
0000448d: SWAP2
0000448e: SWAP1
0000448f: DUP3
00004490: SUB
00004491: SWAP2
00004492: DUP3
00004493: GT
00004494: PUSH2 0x23de
00004497: JUMPI
00004498: JUMP
00004499: JUMPDEST
0000449a: SWAP2
0000449b: SWAP1
0000449c: DUP3
0000449d: ADD
0000449e: DUP1
0000449f: SWAP3
000044a0: GT
000044a1: PUSH2 0x23de
000044a4: JUMPI
000044a5: JUMP
000044a6: JUMPDEST
000044a7: PUSH1 0x80
000044a9: DUP2
000044aa: DUP4
000044ab: SUB
000044ac: SLT
000044ad: PUSH2 0x0f5a
000044b0: JUMPI
000044b1: DUP1
000044b2: MLOAD
000044b3: SWAP3
000044b4: PUSH1 0x20
000044b6: DUP3
000044b7: ADD
000044b8: MLOAD
000044b9: SWAP3
000044ba: PUSH1 0x40
000044bc: DUP4
000044bd: ADD
000044be: MLOAD
000044bf: PUSH1 0x01
000044c1: PUSH1 0x01
000044c3: PUSH1 0x40
000044c5: SHL
000044c6: SUB
000044c7: DUP2
000044c8: GT
000044c9: PUSH2 0x0f5a
000044cc: JUMPI
000044cd: PUSH1 0x60
000044cf: SWAP2
000044d0: PUSH2 0x44da
000044d3: SWAP2
000044d4: DUP6
000044d5: ADD
000044d6: PUSH2 0x3f5e
000044d9: JUMP
000044da: JUMPDEST
000044db: SWAP3
000044dc: ADD
000044dd: MLOAD
000044de: SWAP1
000044df: JUMP
000044e0: JUMPDEST
000044e1: SWAP1
000044e2: SWAP4
000044e3: SWAP3
000044e4: SWAP4
000044e5: DUP5
000044e6: DUP4
000044e7: GT
000044e8: PUSH2 0x0f5a
000044eb: JUMPI
000044ec: DUP5
000044ed: GT
000044ee: PUSH2 0x0f5a
000044f1: JUMPI
000044f2: DUP2
000044f3: ADD
000044f4: SWAP3
000044f5: SUB
000044f6: SWAP1
000044f7: JUMP
000044f8: JUMPDEST
000044f9: SWAP2
000044fa: SWAP1
000044fb: PUSH1 0x40
000044fd: DUP4
000044fe: DUP3
000044ff: SUB
00004500: SLT
00004501: PUSH2 0x0f5a
00004504: JUMPI
00004505: DUP3
00004506: MLOAD
00004507: PUSH1 0x01
00004509: PUSH1 0x01
0000450b: PUSH1 0x40
0000450d: SHL
0000450e: SUB
0000450f: DUP2
00004510: GT
00004511: PUSH2 0x0f5a
00004514: JUMPI
00004515: PUSH1 0x20
00004517: SWAP2
00004518: PUSH2 0x44da
0000451b: SWAP2
0000451c: DUP6
0000451d: ADD
0000451e: PUSH2 0x3f05
00004521: JUMP
00004522: JUMPDEST
00004523: SWAP1
00004524: DUP2
00004525: MLOAD
00004526: DUP1
00004527: DUP3
00004528: MSTORE
00004529: PUSH1 0x20
0000452b: DUP1
0000452c: DUP1
0000452d: SWAP4
0000452e: ADD
0000452f: SWAP4
00004530: ADD
00004531: SWAP2
00004532: PUSH0
00004533: JUMPDEST
00004534: DUP3
00004535: DUP2
00004536: LT
00004537: PUSH2 0x4541
0000453a: JUMPI
0000453b: POP
0000453c: POP
0000453d: POP
0000453e: POP
0000453f: SWAP1
00004540: JUMP
00004541: JUMPDEST
00004542: SWAP1
00004543: SWAP2
00004544: SWAP3
00004545: SWAP4
00004546: DUP3
00004547: PUSH1 0x60
00004549: DUP3
0000454a: PUSH2 0x4577
0000454d: PUSH1 0x01
0000454f: SWAP5
00004550: DUP10
00004551: MLOAD
00004552: PUSH1 0x40
00004554: SWAP1
00004555: DUP2
00004556: PUSH1 0x01
00004558: DUP1
00004559: PUSH1 0x80
0000455b: SHL
0000455c: SUB
0000455d: SWAP2
0000455e: DUP3
0000455f: DUP2
00004560: MLOAD
00004561: AND
00004562: DUP6
00004563: MSTORE
00004564: DUP3
00004565: PUSH1 0x20
00004567: DUP3
00004568: ADD
00004569: MLOAD
0000456a: AND
0000456b: PUSH1 0x20
0000456d: DUP7
0000456e: ADD
0000456f: MSTORE
00004570: ADD
00004571: MLOAD
00004572: AND
00004573: SWAP2
00004574: ADD
00004575: MSTORE
00004576: JUMP
00004577: JUMPDEST
00004578: ADD
00004579: SWAP6
0000457a: ADD
0000457b: SWAP4
0000457c: SWAP3
0000457d: SWAP2
0000457e: ADD
0000457f: PUSH2 0x4533
00004582: JUMP
00004583: JUMPDEST
00004584: PUSH1 0x01
00004586: PUSH1 0x01
00004588: PUSH1 0xa0
0000458a: SHL
0000458b: SUB
0000458c: SWAP2
0000458d: DUP3
0000458e: AND
0000458f: DUP2
00004590: MSTORE
00004591: SWAP2
00004592: AND
00004593: PUSH1 0x20
00004595: DUP3
00004596: ADD
00004597: MSTORE
00004598: PUSH1 0x40
0000459a: DUP2
0000459b: ADD
0000459c: SWAP2
0000459d: SWAP1
0000459e: SWAP2
0000459f: MSTORE
000045a0: PUSH1 0x60
000045a2: ADD
000045a3: SWAP1
000045a4: JUMP
000045a5: JUMPDEST
000045a6: PUSH1 0x01
000045a8: DUP2
000045a9: MSTORE
000045aa: PUSH1 0x01
000045ac: PUSH1 0x01
000045ae: PUSH1 0x80
000045b0: SHL
000045b1: SUB
000045b2: SWAP2
000045b3: DUP3
000045b4: AND
000045b5: PUSH1 0x20
000045b7: DUP3
000045b8: ADD
000045b9: MSTORE
000045ba: SWAP2
000045bb: DUP2
000045bc: AND
000045bd: PUSH1 0x40
000045bf: DUP4
000045c0: ADD
000045c1: MSTORE
000045c2: SWAP1
000045c3: SWAP2
000045c4: AND
000045c5: PUSH1 0x60
000045c7: DUP3
000045c8: ADD
000045c9: MSTORE
000045ca: PUSH1 0x80
000045cc: ADD
000045cd: SWAP1
000045ce: JUMP
000045cf: JUMPDEST
000045d0: SWAP2
000045d1: SWAP1
000045d2: DUP3
000045d3: PUSH1 0x40
000045d5: SWAP2
000045d6: SUB
000045d7: SLT
000045d8: PUSH2 0x0f5a
000045db: JUMPI
000045dc: PUSH2 0x3f47
000045df: PUSH1 0x20
000045e1: PUSH2 0x45e9
000045e4: DUP5
000045e5: PUSH2 0x3f4a
000045e8: JUMP
000045e9: JUMPDEST
000045ea: SWAP4
000045eb: ADD
000045ec: PUSH2 0x3f4a
000045ef: JUMP
000045f0: JUMPDEST
000045f1: PUSH1 0x40
000045f3: MLOAD
000045f4: SWAP1
000045f5: PUSH2 0x45fd
000045f8: DUP3
000045f9: PUSH2 0x3c82
000045fc: JUMP
000045fd: JUMPDEST
000045fe: PUSH0
000045ff: PUSH1 0x40
00004601: DUP4
00004602: DUP3
00004603: DUP2
00004604: MSTORE
00004605: DUP3
00004606: PUSH1 0x20
00004608: DUP3
00004609: ADD
0000460a: MSTORE
0000460b: ADD
0000460c: MSTORE
0000460d: JUMP
0000460e: JUMPDEST
0000460f: SWAP1
00004610: DUP2
00004611: MLOAD
00004612: DUP1
00004613: DUP3
00004614: MSTORE
00004615: PUSH1 0x20
00004617: DUP1
00004618: DUP1
00004619: SWAP4
0000461a: ADD
0000461b: SWAP4
0000461c: ADD
0000461d: SWAP2
0000461e: PUSH0
0000461f: JUMPDEST
00004620: DUP3
00004621: DUP2
00004622: LT
00004623: PUSH2 0x462d
00004626: JUMPI
00004627: POP
00004628: POP
00004629: POP
0000462a: POP
0000462b: SWAP1
0000462c: JUMP
0000462d: JUMPDEST
0000462e: DUP4
0000462f: MLOAD
00004630: DUP6
00004631: MSTORE
00004632: SWAP4
00004633: DUP2
00004634: ADD
00004635: SWAP4
00004636: SWAP3
00004637: DUP2
00004638: ADD
00004639: SWAP3
0000463a: PUSH1 0x01
0000463c: ADD
0000463d: PUSH2 0x461f
00004640: JUMP
00004641: JUMPDEST
00004642: PUSH0
00004643: DUP1
00004644: MLOAD
00004645: PUSH1 0x20
00004647: PUSH2 0x5b7f
0000464a: DUP4
0000464b: CODECOPY
0000464c: DUP2
0000464d: MLOAD
0000464e: SWAP2
0000464f: MSTORE
00004650: SLOAD
00004651: PUSH1 0x01
00004653: PUSH1 0x01
00004655: PUSH1 0xa0
00004657: SHL
00004658: SUB
00004659: SWAP7
0000465a: SWAP6
0000465b: SWAP3
0000465c: SWAP5
0000465d: SWAP1
0000465e: DUP8
0000465f: AND
00004660: SWAP4
00004661: SWAP1
00004662: DUP5
00004663: ISZERO
00004664: PUSH2 0x470d
00004667: JUMPI
00004668: PUSH1 0x20
0000466a: SWAP7
0000466b: DUP9
0000466c: SWAP5
0000466d: PUSH2 0x46ba
00004670: PUSH2 0x46a7
00004673: PUSH2 0x46c9
00004676: SWAP6
00004677: PUSH1 0x40
00004679: MLOAD
0000467a: SWAP13
0000467b: DUP14
0000467c: SWAP12
0000467d: DUP13
0000467e: SWAP11
0000467f: DUP12
00004680: SWAP11
00004681: PUSH4 0x3a596a2b
00004686: PUSH1 0xe2
00004688: SHL
00004689: DUP13
0000468a: MSTORE
0000468b: AND
0000468c: PUSH1 0x04
0000468e: DUP12
0000468f: ADD
00004690: MSTORE
00004691: AND
00004692: PUSH1 0x24
00004694: DUP10
00004695: ADD
00004696: MSTORE
00004697: PUSH1 0xa0
00004699: PUSH1 0x44
0000469b: DUP10
0000469c: ADD
0000469d: MSTORE
0000469e: PUSH1 0xa4
000046a0: DUP9
000046a1: ADD
000046a2: SWAP1
000046a3: PUSH2 0x460e
000046a6: JUMP
000046a7: JUMPDEST
000046a8: PUSH1 0x03
000046aa: NOT
000046ab: SWAP5
000046ac: DUP6
000046ad: DUP9
000046ae: DUP4
000046af: SUB
000046b0: ADD
000046b1: PUSH1 0x64
000046b3: DUP10
000046b4: ADD
000046b5: MSTORE
000046b6: PUSH2 0x460e
000046b9: JUMP
000046ba: JUMPDEST
000046bb: SWAP3
000046bc: DUP6
000046bd: DUP5
000046be: SUB
000046bf: ADD
000046c0: PUSH1 0x84
000046c2: DUP7
000046c3: ADD
000046c4: MSTORE
000046c5: PUSH2 0x40df
000046c8: JUMP
000046c9: JUMPDEST
000046ca: SUB
000046cb: SWAP2
000046cc: GAS
000046cd: STATICCALL
000046ce: SWAP1
000046cf: DUP2
000046d0: ISZERO
000046d1: PUSH2 0x3860
000046d4: JUMPI
000046d5: PUSH0
000046d6: SWAP2
000046d7: PUSH2 0x46de
000046da: JUMPI
000046db: POP
000046dc: SWAP1
000046dd: JUMP
000046de: JUMPDEST
000046df: SWAP1
000046e0: POP
000046e1: PUSH1 0x20
000046e3: DUP2
000046e4: RETURNDATASIZE
000046e5: PUSH1 0x20
000046e7: GT
000046e8: PUSH2 0x4705
000046eb: JUMPI
000046ec: JUMPDEST
000046ed: DUP2
000046ee: PUSH2 0x46f9
000046f1: PUSH1 0x20
000046f3: SWAP4
000046f4: DUP4
000046f5: PUSH2 0x3cb8
000046f8: JUMP
000046f9: JUMPDEST
000046fa: DUP2
000046fb: ADD
000046fc: SUB
000046fd: SLT
000046fe: PUSH2 0x0f5a
00004701: JUMPI
00004702: MLOAD
00004703: SWAP1
00004704: JUMP
00004705: JUMPDEST
00004706: RETURNDATASIZE
00004707: SWAP2
00004708: POP
00004709: PUSH2 0x46ec
0000470c: JUMP
0000470d: JUMPDEST
0000470e: POP
0000470f: POP
00004710: POP
00004711: POP
00004712: POP
00004713: POP
00004714: POP
00004715: POP
00004716: PUSH0
00004717: SWAP1
00004718: JUMP
00004719: JUMPDEST
0000471a: PUSH1 0x02
0000471c: PUSH0
0000471d: SLOAD
0000471e: EQ
0000471f: PUSH2 0x4728
00004722: JUMPI
00004723: PUSH1 0x02
00004725: PUSH0
00004726: SSTORE
00004727: JUMP
00004728: JUMPDEST
00004729: PUSH1 0x40
0000472b: MLOAD
0000472c: PUSH3 0x461bcd
00004730: PUSH1 0xe5
00004732: SHL
00004733: DUP2
00004734: MSTORE
00004735: PUSH1 0x20
00004737: PUSH1 0x04
00004739: DUP3
0000473a: ADD
0000473b: MSTORE
0000473c: PUSH1 0x1f
0000473e: PUSH1 0x24
00004740: DUP3
00004741: ADD
00004742: MSTORE
00004743: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00
00004764: PUSH1 0x44
00004766: DUP3
00004767: ADD
00004768: MSTORE
00004769: PUSH1 0x64
0000476b: SWAP1
0000476c: REVERT
0000476d: JUMPDEST
0000476e: DUP2
0000476f: DUP2
00004770: MUL
00004771: SWAP3
00004772: SWAP2
00004773: DUP2
00004774: ISZERO
00004775: SWAP2
00004776: DUP5
00004777: DIV
00004778: EQ
00004779: OR
0000477a: ISZERO
0000477b: PUSH2 0x23de
0000477e: JUMPI
0000477f: JUMP
00004780: JUMPDEST
00004781: DUP2
00004782: ISZERO
00004783: PUSH2 0x478a
00004786: JUMPI
00004787: DIV
00004788: SWAP1
00004789: JUMP
0000478a: JUMPDEST
0000478b: PUSH4 0x4e487b71
00004790: PUSH1 0xe0
00004792: SHL
00004793: PUSH0
00004794: MSTORE
00004795: PUSH1 0x12
00004797: PUSH1 0x04
00004799: MSTORE
0000479a: PUSH1 0x24
0000479c: PUSH0
0000479d: REVERT
0000479e: JUMPDEST
0000479f: PUSH2 0x47a6
000047a2: PUSH2 0x52c3
000047a5: JUMP
000047a6: JUMPDEST
000047a7: DUP1
000047a8: ISZERO
000047a9: PUSH2 0x478a
000047ac: JUMPI
000047ad: DUP1
000047ae: DUP3
000047af: MOD
000047b0: ISZERO
000047b1: DUP1
000047b2: ISZERO
000047b3: PUSH2 0x47dc
000047b6: JUMPI
000047b7: JUMPDEST
000047b8: ISZERO
000047b9: PUSH2 0x47c5
000047bc: JUMPI
000047bd: PUSH2 0x3f47
000047c0: SWAP2
000047c1: PUSH2 0x4780
000047c4: JUMP
000047c5: JUMPDEST
000047c6: PUSH2 0x47ce
000047c9: SWAP2
000047ca: PUSH2 0x4780
000047cd: JUMP
000047ce: JUMPDEST
000047cf: PUSH1 0x01
000047d1: DUP2
000047d2: ADD
000047d3: DUP1
000047d4: SWAP2
000047d5: GT
000047d6: PUSH2 0x23de
000047d9: JUMPI
000047da: SWAP1
000047db: JUMP
000047dc: JUMPDEST
000047dd: POP
000047de: PUSH1 0x01
000047e0: PUSH2 0x47b7
000047e3: JUMP
000047e4: JUMPDEST
000047e5: PUSH2 0x47ec
000047e8: PUSH2 0x52c3
000047eb: JUMP
000047ec: JUMPDEST
000047ed: DUP1
000047ee: ISZERO
000047ef: PUSH2 0x478a
000047f2: JUMPI
000047f3: DUP1
000047f4: DUP3
000047f5: MOD
000047f6: ISZERO
000047f7: DUP1
000047f8: ISZERO
000047f9: PUSH2 0x480a
000047fc: JUMPI
000047fd: ISZERO
000047fe: PUSH2 0x47c5
00004801: JUMPI
00004802: PUSH2 0x3f47
00004805: SWAP2
00004806: PUSH2 0x4780
00004809: JUMP
0000480a: JUMPDEST
0000480b: POP
0000480c: PUSH0
0000480d: PUSH2 0x47b7
00004810: JUMP
00004811: JUMPDEST
00004812: PUSH1 0x40
00004814: MLOAD
00004815: PUSH4 0xa9059cbb
0000481a: PUSH1 0xe0
0000481c: SHL
0000481d: PUSH1 0x20
0000481f: DUP3
00004820: ADD
00004821: MSTORE
00004822: PUSH1 0x01
00004824: PUSH1 0x01
00004826: PUSH1 0xa0
00004828: SHL
00004829: SUB
0000482a: SWAP1
0000482b: SWAP3
0000482c: AND
0000482d: PUSH1 0x24
0000482f: DUP4
00004830: ADD
00004831: MSTORE
00004832: PUSH1 0x44
00004834: DUP3
00004835: ADD
00004836: SWAP3
00004837: SWAP1
00004838: SWAP3
00004839: MSTORE
0000483a: PUSH2 0x4267
0000483d: SWAP2
0000483e: PUSH2 0x4854
00004841: DUP3
00004842: PUSH1 0x64
00004844: DUP2
00004845: ADD
00004846: JUMPDEST
00004847: SUB
00004848: PUSH1 0x1f
0000484a: NOT
0000484b: DUP2
0000484c: ADD
0000484d: DUP5
0000484e: MSTORE
0000484f: DUP4
00004850: PUSH2 0x3cb8
00004853: JUMP
00004854: JUMPDEST
00004855: PUSH2 0x5351
00004858: JUMP
00004859: JUMPDEST
0000485a: PUSH1 0x01
0000485c: PUSH1 0x01
0000485e: PUSH1 0x80
00004860: SHL
00004861: SUB
00004862: AND
00004863: PUSH0
00004864: DUP2
00004865: DUP2
00004866: MSTORE
00004867: PUSH0
00004868: DUP1
00004869: MLOAD
0000486a: PUSH1 0x20
0000486c: PUSH2 0x5b5f
0000486f: DUP4
00004870: CODECOPY
00004871: DUP2
00004872: MLOAD
00004873: SWAP2
00004874: MSTORE
00004875: PUSH1 0x20
00004877: DUP2
00004878: DUP2
00004879: MSTORE
0000487a: PUSH1 0x40
0000487c: SWAP1
0000487d: SWAP3
0000487e: KECCAK256
0000487f: SLOAD
00004880: SWAP2
00004881: SWAP3
00004882: SWAP2
00004883: PUSH1 0x01
00004885: PUSH1 0x01
00004887: PUSH1 0xa0
00004889: SHL
0000488a: SUB
0000488b: SWAP2
0000488c: SWAP1
0000488d: DUP3
0000488e: AND
0000488f: DUP1
00004890: PUSH2 0x4971
00004893: JUMPI
00004894: POP
00004895: PUSH1 0x40
00004897: MLOAD
00004898: PUSH4 0x6afdaf83
0000489d: PUSH1 0xe0
0000489f: SHL
000048a0: DUP2
000048a1: MSTORE
000048a2: PUSH1 0x04
000048a4: DUP2
000048a5: ADD
000048a6: DUP5
000048a7: SWAP1
000048a8: MSTORE
000048a9: SWAP4
000048aa: DUP1
000048ab: DUP6
000048ac: PUSH1 0x24
000048ae: DUP2
000048af: PUSH20 0x093d9f50c671b189158242e8a9a82e619403af0d
000048c4: GAS
000048c5: DELEGATECALL
000048c6: SWAP5
000048c7: DUP6
000048c8: ISZERO
000048c9: PUSH2 0x3860
000048cc: JUMPI
000048cd: PUSH0
000048ce: SWAP6
000048cf: PUSH2 0x493a
000048d2: JUMPI
000048d3: JUMPDEST
000048d4: POP
000048d5: DUP4
000048d6: PUSH0
000048d7: MSTORE
000048d8: MSTORE
000048d9: PUSH1 0x40
000048db: PUSH0
000048dc: KECCAK256
000048dd: SWAP1
000048de: DUP1
000048df: DUP5
000048e0: AND
000048e1: SWAP2
000048e2: DUP3
000048e3: PUSH1 0x01
000048e5: DUP1
000048e6: PUSH1 0xa0
000048e8: SHL
000048e9: SUB
000048ea: NOT
000048eb: DUP3
000048ec: SLOAD
000048ed: AND
000048ee: OR
000048ef: SWAP1
000048f0: SSTORE
000048f1: PUSH32 0x000000000000000000000000962506a7bce350a44852a2aaf42c7bdc0651b8f4
00004912: AND
00004913: SWAP1
00004914: PUSH32 0x8becc264fc02f46cc9b9aac9c208f0b4b4289153fbec5e87a5562c96d0dcb384
00004935: PUSH0
00004936: DUP1
00004937: LOG4
00004938: SWAP1
00004939: JUMP
0000493a: JUMPDEST
0000493b: SWAP1
0000493c: DUP1
0000493d: SWAP6
0000493e: POP
0000493f: DUP2
00004940: DUP2
00004941: RETURNDATASIZE
00004942: DUP4
00004943: GT
00004944: PUSH2 0x496a
00004947: JUMPI
00004948: JUMPDEST
00004949: PUSH2 0x4952
0000494c: DUP2
0000494d: DUP4
0000494e: PUSH2 0x3cb8
00004951: JUMP
00004952: JUMPDEST
00004953: DUP2
00004954: ADD
00004955: SUB
00004956: SLT
00004957: PUSH2 0x0f5a
0000495a: JUMPI
0000495b: PUSH2 0x4963
0000495e: SWAP1
0000495f: PUSH2 0x3edd
00004962: JUMP
00004963: JUMPDEST
00004964: SWAP4
00004965: PUSH0
00004966: PUSH2 0x48d3
00004969: JUMP
0000496a: JUMPDEST
0000496b: POP
0000496c: RETURNDATASIZE
0000496d: PUSH2 0x4948
00004970: JUMP
00004971: JUMPDEST
00004972: SWAP4
00004973: POP
00004974: POP
00004975: PUSH32 0x000000000000000000000000962506a7bce350a44852a2aaf42c7bdc0651b8f4
00004996: AND
00004997: DUP3
00004998: PUSH32 0x8becc264fc02f46cc9b9aac9c208f0b4b4289153fbec5e87a5562c96d0dcb384
000049b9: PUSH0
000049ba: DUP1
000049bb: LOG4
000049bc: SWAP1
000049bd: JUMP
000049be: JUMPDEST
000049bf: PUSH1 0x01
000049c1: PUSH1 0x01
000049c3: PUSH1 0xf0
000049c5: SHL
000049c6: SUB
000049c7: NOT
000049c8: SWAP1
000049c9: CALLDATALOAD
000049ca: DUP2
000049cb: DUP2
000049cc: AND
000049cd: SWAP4
000049ce: SWAP3
000049cf: PUSH1 0x02
000049d1: DUP2
000049d2: LT
000049d3: PUSH2 0x49db
000049d6: JUMPI
000049d7: POP
000049d8: POP
000049d9: POP
000049da: JUMP
000049db: JUMPDEST
000049dc: PUSH1 0x02
000049de: SUB
000049df: PUSH1 0x03
000049e1: SHL
000049e2: DUP3
000049e3: SWAP1
000049e4: SHL
000049e5: AND
000049e6: AND
000049e7: SWAP2
000049e8: POP
000049e9: JUMP
000049ea: JUMPDEST
000049eb: SWAP1
000049ec: PUSH0
000049ed: JUMPDEST
000049ee: DUP2
000049ef: DUP2
000049f0: LT
000049f1: PUSH2 0x49fb
000049f4: JUMPI
000049f5: POP
000049f6: POP
000049f7: SWAP1
000049f8: PUSH0
000049f9: SWAP1
000049fa: JUMP
000049fb: JUMPDEST
000049fc: PUSH1 0x02
000049fe: DUP2
000049ff: ADD
00004a00: SWAP1
00004a01: DUP2
00004a02: DUP2
00004a03: GT
00004a04: PUSH2 0x23de
00004a07: JUMPI
00004a08: PUSH1 0x04
00004a0a: SWAP1
00004a0b: DUP2
00004a0c: DUP2
00004a0d: ADD
00004a0e: SWAP2
00004a0f: DUP3
00004a10: DUP5
00004a11: GT
00004a12: PUSH2 0x4a70
00004a15: JUMPI
00004a16: POP
00004a17: PUSH2 0x4a2d
00004a1a: PUSH2 0x4a27
00004a1d: DUP5
00004a1e: PUSH1 0x05
00004a20: SWAP4
00004a21: DUP8
00004a22: DUP10
00004a23: PUSH2 0x44e0
00004a26: JUMP
00004a27: JUMPDEST
00004a28: SWAP1
00004a29: PUSH2 0x49be
00004a2c: JUMP
00004a2d: JUMPDEST
00004a2e: PUSH2 0x4a3e
00004a31: PUSH2 0x4a27
00004a34: DUP5
00004a35: PUSH1 0xf0
00004a37: SWAP7
00004a38: DUP9
00004a39: DUP11
00004a3a: PUSH2 0x44e0
00004a3d: JUMP
00004a3e: JUMPDEST
00004a3f: DUP5
00004a40: SHR
00004a41: SWAP4
00004a42: SHR
00004a43: EQ
00004a44: PUSH2 0x4a56
00004a47: JUMPI
00004a48: SWAP1
00004a49: PUSH2 0x4a51
00004a4c: SWAP2
00004a4d: PUSH2 0x4499
00004a50: JUMP
00004a51: JUMPDEST
00004a52: PUSH2 0x49ed
00004a55: JUMP
00004a56: JUMPDEST
00004a57: SWAP1
00004a58: SWAP2
00004a59: PUSH2 0x4a66
00004a5c: PUSH2 0x4a6c
00004a5f: SWAP5
00004a60: SWAP4
00004a61: DUP4
00004a62: PUSH2 0x4499
00004a65: JUMP
00004a66: JUMPDEST
00004a67: SWAP3
00004a68: PUSH2 0x44e0
00004a6b: JUMP
00004a6c: JUMPDEST
00004a6d: SWAP1
00004a6e: SWAP2
00004a6f: JUMP
00004a70: JUMPDEST
00004a71: PUSH1 0x11
00004a73: SWAP1
00004a74: PUSH4 0x4e487b71
00004a79: PUSH1 0xe0
00004a7b: SHL
00004a7c: PUSH0
00004a7d: MSTORE
00004a7e: MSTORE
00004a7f: PUSH1 0x24
00004a81: PUSH0
00004a82: REVERT
00004a83: JUMPDEST
00004a84: SWAP1
00004a85: PUSH0
00004a86: JUMPDEST
00004a87: DUP2
00004a88: DUP2
00004a89: LT
00004a8a: PUSH2 0x4a94
00004a8d: JUMPI
00004a8e: POP
00004a8f: POP
00004a90: SWAP1
00004a91: PUSH0
00004a92: SWAP1
00004a93: JUMP
00004a94: JUMPDEST
00004a95: PUSH1 0x02
00004a97: DUP2
00004a98: ADD
00004a99: SWAP1
00004a9a: DUP2
00004a9b: DUP2
00004a9c: GT
00004a9d: PUSH2 0x23de
00004aa0: JUMPI
00004aa1: PUSH1 0x04
00004aa3: SWAP1
00004aa4: DUP2
00004aa5: DUP2
00004aa6: ADD
00004aa7: SWAP2
00004aa8: DUP3
00004aa9: DUP5
00004aaa: GT
00004aab: PUSH2 0x4a70
00004aae: JUMPI
00004aaf: POP
00004ab0: PUSH2 0x4ac0
00004ab3: PUSH2 0x4a27
00004ab6: DUP5
00004ab7: PUSH1 0x01
00004ab9: SWAP4
00004aba: DUP8
00004abb: DUP10
00004abc: PUSH2 0x44e0
00004abf: JUMP
00004ac0: JUMPDEST
00004ac1: PUSH2 0x4ad1
00004ac4: PUSH2 0x4a27
00004ac7: DUP5
00004ac8: PUSH1 0xf0
00004aca: SWAP7
00004acb: DUP9
00004acc: DUP11
00004acd: PUSH2 0x44e0
00004ad0: JUMP
00004ad1: JUMPDEST
00004ad2: DUP5
00004ad3: SHR
00004ad4: SWAP4
00004ad5: SHR
00004ad6: EQ
00004ad7: PUSH2 0x4a56
00004ada: JUMPI
00004adb: SWAP1
00004adc: PUSH2 0x4ae4
00004adf: SWAP2
00004ae0: PUSH2 0x4499
00004ae3: JUMP
00004ae4: JUMPDEST
00004ae5: PUSH2 0x4a86
00004ae8: JUMP
00004ae9: JUMPDEST
00004aea: SWAP1
00004aeb: PUSH0
00004aec: JUMPDEST
00004aed: DUP2
00004aee: DUP2
00004aef: LT
00004af0: PUSH2 0x4afa
00004af3: JUMPI
00004af4: POP
00004af5: POP
00004af6: SWAP1
00004af7: PUSH0
00004af8: SWAP1
00004af9: JUMP
00004afa: JUMPDEST
00004afb: PUSH1 0x02
00004afd: SWAP1
00004afe: DUP2
00004aff: DUP2
00004b00: ADD
00004b01: SWAP2
00004b02: DUP3
00004b03: DUP3
00004b04: GT
00004b05: PUSH2 0x23de
00004b08: JUMPI
00004b09: PUSH1 0x04
00004b0b: SWAP2
00004b0c: DUP3
00004b0d: DUP2
00004b0e: ADD
00004b0f: SWAP3
00004b10: DUP4
00004b11: DUP6
00004b12: GT
00004b13: PUSH2 0x4a70
00004b16: JUMPI
00004b17: POP
00004b18: PUSH2 0x4a27
00004b1b: DUP5
00004b1c: PUSH2 0x4b26
00004b1f: SWAP3
00004b20: DUP8
00004b21: DUP10
00004b22: PUSH2 0x44e0
00004b25: JUMP
00004b26: JUMPDEST
00004b27: PUSH2 0x4b37
00004b2a: PUSH2 0x4a27
00004b2d: DUP5
00004b2e: PUSH1 0xf0
00004b30: SWAP7
00004b31: DUP9
00004b32: DUP11
00004b33: PUSH2 0x44e0
00004b36: JUMP
00004b37: JUMPDEST
00004b38: DUP5
00004b39: SHR
00004b3a: SWAP4
00004b3b: SHR
00004b3c: EQ
00004b3d: PUSH2 0x4a56
00004b40: JUMPI
00004b41: SWAP1
00004b42: PUSH2 0x4b4a
00004b45: SWAP2
00004b46: PUSH2 0x4499
00004b49: JUMP
00004b4a: JUMPDEST
00004b4b: PUSH2 0x4aec
00004b4e: JUMP
00004b4f: JUMPDEST
00004b50: SWAP1
00004b51: PUSH0
00004b52: JUMPDEST
00004b53: DUP2
00004b54: DUP2
00004b55: LT
00004b56: PUSH2 0x4b60
00004b59: JUMPI
00004b5a: POP
00004b5b: POP
00004b5c: SWAP1
00004b5d: PUSH0
00004b5e: SWAP1
00004b5f: JUMP
00004b60: JUMPDEST
00004b61: PUSH1 0x02
00004b63: SWAP1
00004b64: DUP2
00004b65: DUP2
00004b66: ADD
00004b67: SWAP2
00004b68: DUP3
00004b69: DUP3
00004b6a: GT
00004b6b: PUSH2 0x23de
00004b6e: JUMPI
00004b6f: PUSH1 0x04
00004b71: SWAP2
00004b72: DUP3
00004b73: DUP2
00004b74: ADD
00004b75: SWAP3
00004b76: DUP4
00004b77: DUP6
00004b78: GT
00004b79: PUSH2 0x4a70
00004b7c: JUMPI
00004b7d: POP
00004b7e: PUSH2 0x4a27
00004b81: DUP5
00004b82: PUSH2 0x4b8c
00004b85: SWAP3
00004b86: DUP8
00004b87: DUP10
00004b88: PUSH2 0x44e0
00004b8b: JUMP
00004b8c: JUMPDEST
00004b8d: PUSH2 0x4b9d
00004b90: PUSH2 0x4a27
00004b93: DUP5
00004b94: PUSH1 0xf0
00004b96: SWAP7
00004b97: DUP9
00004b98: DUP11
00004b99: PUSH2 0x44e0
00004b9c: JUMP
00004b9d: JUMPDEST
00004b9e: DUP5
00004b9f: SHR
00004ba0: SWAP4
00004ba1: SHR
00004ba2: EQ
00004ba3: PUSH2 0x4a56
00004ba6: JUMPI
00004ba7: SWAP1
00004ba8: PUSH2 0x4bb0
00004bab: SWAP2
00004bac: PUSH2 0x4499
00004baf: JUMP
00004bb0: JUMPDEST
00004bb1: PUSH2 0x4b52
00004bb4: JUMP
00004bb5: JUMPDEST
00004bb6: SWAP1
00004bb7: PUSH0
00004bb8: JUMPDEST
00004bb9: DUP2
00004bba: DUP2
00004bbb: LT
00004bbc: PUSH2 0x4bc6
00004bbf: JUMPI
00004bc0: POP
00004bc1: POP
00004bc2: SWAP1
00004bc3: PUSH0
00004bc4: SWAP1
00004bc5: JUMP
00004bc6: JUMPDEST
00004bc7: PUSH1 0x02
00004bc9: DUP2
00004bca: ADD
00004bcb: SWAP1
00004bcc: DUP2
00004bcd: DUP2
00004bce: GT
00004bcf: PUSH2 0x23de
00004bd2: JUMPI
00004bd3: PUSH1 0x04
00004bd5: SWAP1
00004bd6: DUP2
00004bd7: DUP2
00004bd8: ADD
00004bd9: SWAP2
00004bda: DUP3
00004bdb: DUP5
00004bdc: GT
00004bdd: PUSH2 0x4a70
00004be0: JUMPI
00004be1: POP
00004be2: PUSH2 0x4bf2
00004be5: PUSH2 0x4a27
00004be8: DUP5
00004be9: PUSH1 0x05
00004beb: SWAP4
00004bec: DUP8
00004bed: DUP10
00004bee: PUSH2 0x44e0
00004bf1: JUMP
00004bf2: JUMPDEST
00004bf3: PUSH2 0x4c03
00004bf6: PUSH2 0x4a27
00004bf9: DUP5
00004bfa: PUSH1 0xf0
00004bfc: SWAP7
00004bfd: DUP9
00004bfe: DUP11
00004bff: PUSH2 0x44e0
00004c02: JUMP
00004c03: JUMPDEST
00004c04: DUP5
00004c05: SHR
00004c06: SWAP4
00004c07: SHR
00004c08: EQ
00004c09: PUSH2 0x4a56
00004c0c: JUMPI
00004c0d: SWAP1
00004c0e: PUSH2 0x4c16
00004c11: SWAP2
00004c12: PUSH2 0x4499
00004c15: JUMP
00004c16: JUMPDEST
00004c17: PUSH2 0x4bb8
00004c1a: JUMP
00004c1b: JUMPDEST
00004c1c: SWAP6
00004c1d: SWAP1
00004c1e: SWAP3
00004c1f: PUSH2 0x4c2b
00004c22: SWAP3
00004c23: SWAP10
00004c24: SWAP8
00004c25: SWAP9
00004c26: SWAP10
00004c27: PUSH2 0x558f
00004c2a: JUMP
00004c2b: JUMPDEST
00004c2c: SWAP3
00004c2d: SWAP8
00004c2e: SWAP2
00004c2f: SWAP7
00004c30: SWAP1
00004c31: SWAP10
00004c32: PUSH0
00004c33: SWAP10
00004c34: PUSH1 0x01
00004c36: DUP1
00004c37: PUSH1 0xa0
00004c39: SHL
00004c3a: SUB
00004c3b: PUSH1 0x09
00004c3d: SLOAD
00004c3e: AND
00004c3f: SWAP11
00004c40: JUMPDEST
00004c41: DUP10
00004c42: MLOAD
00004c43: DUP2
00004c44: LT
00004c45: ISZERO
00004c46: PUSH2 0x4ca5
00004c49: JUMPI
00004c4a: PUSH2 0x4c53
00004c4d: DUP2
00004c4e: DUP12
00004c4f: PUSH2 0x418e
00004c52: JUMP
00004c53: JUMPDEST
00004c54: POP
00004c55: PUSH1 0x01
00004c57: PUSH1 0x01
00004c59: PUSH1 0xa0
00004c5b: SHL
00004c5c: SUB
00004c5d: DUP12
00004c5e: AND
00004c5f: DUP13
00004c60: DUP2
00004c61: EQ
00004c62: SWAP1
00004c63: DUP2
00004c64: ISZERO
00004c65: PUSH2 0x4c8f
00004c68: JUMPI
00004c69: JUMPDEST
00004c6a: POP
00004c6b: ISZERO
00004c6c: PUSH2 0x4c77
00004c6f: JUMPI
00004c70: PUSH1 0x01
00004c72: ADD
00004c73: PUSH2 0x4c40
00004c76: JUMP
00004c77: JUMPDEST
00004c78: PUSH1 0x24
00004c7a: SWAP1
00004c7b: PUSH1 0x40
00004c7d: MLOAD
00004c7e: SWAP1
00004c7f: PUSH4 0x0d897fc5
00004c84: PUSH1 0xe1
00004c86: SHL
00004c87: DUP3
00004c88: MSTORE
00004c89: PUSH1 0x04
00004c8b: DUP3
00004c8c: ADD
00004c8d: MSTORE
00004c8e: REVERT
00004c8f: JUMPDEST
00004c90: SWAP1
00004c91: POP
00004c92: PUSH0
00004c93: MSTORE
00004c94: PUSH1 0x0b
00004c96: PUSH1 0x20
00004c98: MSTORE
00004c99: PUSH1 0x40
00004c9b: PUSH0
00004c9c: KECCAK256
00004c9d: SLOAD
00004c9e: ISZERO
00004c9f: ISZERO
00004ca0: PUSH0
00004ca1: PUSH2 0x4c69
00004ca4: JUMP
00004ca5: JUMPDEST
00004ca6: POP
00004ca7: SWAP2
00004ca8: SWAP6
00004ca9: SWAP10
00004caa: SWAP5
00004cab: SWAP9
00004cac: POP
00004cad: SWAP2
00004cae: SWAP6
00004caf: SWAP10
00004cb0: SWAP7
00004cb1: SWAP3
00004cb2: SWAP7
00004cb3: PUSH2 0x4cba
00004cb6: PUSH2 0x420b
00004cb9: JUMP
00004cba: JUMPDEST
00004cbb: SWAP4
00004cbc: PUSH1 0x01
00004cbe: PUSH1 0x01
00004cc0: PUSH1 0x40
00004cc2: SHL
00004cc3: SUB
00004cc4: PUSH2 0x4ccc
00004cc7: DUP7
00004cc8: PUSH2 0x4181
00004ccb: JUMP
00004ccc: JUMPDEST
00004ccd: MLOAD
00004cce: AND
00004ccf: PUSH1 0x01
00004cd1: PUSH1 0x01
00004cd3: PUSH1 0x40
00004cd5: SHL
00004cd6: SUB
00004cd7: DUP12
00004cd8: AND
00004cd9: GT
00004cda: PUSH2 0x2935
00004cdd: JUMPI
00004cde: DUP5
00004cdf: MLOAD
00004ce0: PUSH0
00004ce1: NOT
00004ce2: DUP2
00004ce3: ADD
00004ce4: SWAP1
00004ce5: DUP2
00004ce6: GT
00004ce7: PUSH2 0x23de
00004cea: JUMPI
00004ceb: SWAP5
00004cec: DUP6
00004ced: JUMPDEST
00004cee: PUSH2 0x50ae
00004cf1: JUMPI
00004cf2: JUMPDEST
00004cf3: POP
00004cf4: SWAP2
00004cf5: PUSH2 0x4d10
00004cf8: SWAP4
00004cf9: SWAP2
00004cfa: PUSH2 0x223d
00004cfd: SWAP4
00004cfe: PUSH1 0x01
00004d00: SLOAD
00004d01: SWAP8
00004d02: PUSH1 0x01
00004d04: DUP1
00004d05: PUSH1 0xa0
00004d07: SHL
00004d08: SUB
00004d09: DUP10
00004d0a: AND
00004d0b: SWAP1
00004d0c: PUSH2 0x4641
00004d0f: JUMP
00004d10: JUMPDEST
00004d11: SWAP2
00004d12: PUSH2 0x4d1a
00004d15: DUP10
00004d16: PUSH2 0x3e58
00004d19: JUMP
00004d1a: JUMPDEST
00004d1b: SWAP7
00004d1c: PUSH2 0x4d28
00004d1f: PUSH1 0x40
00004d21: MLOAD
00004d22: SWAP9
00004d23: DUP10
00004d24: PUSH2 0x3cb8
00004d27: JUMP
00004d28: JUMPDEST
00004d29: DUP10
00004d2a: DUP9
00004d2b: MSTORE
00004d2c: PUSH1 0x1f
00004d2e: NOT
00004d2f: PUSH2 0x4d37
00004d32: DUP12
00004d33: PUSH2 0x3e58
00004d36: JUMP
00004d37: JUMPDEST
00004d38: ADD
00004d39: PUSH0
00004d3a: JUMPDEST
00004d3b: DUP2
00004d3c: DUP2
00004d3d: LT
00004d3e: PUSH2 0x5097
00004d41: JUMPI
00004d42: POP
00004d43: POP
00004d44: PUSH0
00004d45: SWAP2
00004d46: PUSH0
00004d47: DUP1
00004d48: SWAP4
00004d49: JUMPDEST
00004d4a: DUP13
00004d4b: DUP6
00004d4c: LT
00004d4d: DUP1
00004d4e: DUP1
00004d4f: PUSH2 0x508d
00004d52: JUMPI
00004d53: JUMPDEST
00004d54: ISZERO
00004d55: PUSH2 0x4eb7
00004d58: JUMPI
00004d59: ISZERO
00004d5a: PUSH2 0x2432
00004d5d: JUMPI
00004d5e: PUSH1 0x05
00004d60: DUP6
00004d61: SWAP1
00004d62: SHL
00004d63: DUP13
00004d64: ADD
00004d65: CALLDATALOAD
00004d66: PUSH1 0x01
00004d68: PUSH1 0x01
00004d6a: PUSH1 0x80
00004d6c: SHL
00004d6d: SUB
00004d6e: DUP2
00004d6f: AND
00004d70: SWAP1
00004d71: SUB
00004d72: PUSH2 0x0f5a
00004d75: JUMPI
00004d76: PUSH2 0x4d95
00004d79: DUP13
00004d7a: PUSH2 0x4d84
00004d7d: DUP10
00004d7e: DUP1
00004d7f: SWAP5
00004d80: PUSH2 0x54bf
00004d83: JUMP
00004d84: JUMPDEST
00004d85: POP
00004d86: SWAP4
00004d87: SWAP2
00004d88: SWAP5
00004d89: SWAP1
00004d8a: SWAP3
00004d8b: DUP10
00004d8c: PUSH1 0x05
00004d8e: SHL
00004d8f: ADD
00004d90: CALLDATALOAD
00004d91: PUSH2 0x54bf
00004d94: JUMP
00004d95: JUMPDEST
00004d96: POP
00004d97: SWAP1
00004d98: SWAP4
00004d99: SWAP2
00004d9a: SWAP5
00004d9b: DUP1
00004d9c: DUP7
00004d9d: LT
00004d9e: PUSH2 0x2400
00004da1: JUMPI
00004da2: DUP6
00004da3: EQ
00004da4: SWAP3
00004da5: DUP4
00004da6: DUP1
00004da7: PUSH2 0x4eae
00004daa: JUMPI
00004dab: JUMPDEST
00004dac: PUSH2 0x2400
00004daf: JUMPI
00004db0: DUP4
00004db1: PUSH2 0x4ea4
00004db4: JUMPI
00004db5: JUMPDEST
00004db6: POP
00004db7: DUP3
00004db8: PUSH2 0x4e99
00004dbb: JUMPI
00004dbc: JUMPDEST
00004dbd: POP
00004dbe: POP
00004dbf: PUSH2 0x2400
00004dc2: JUMPI
00004dc3: DUP7
00004dc4: LT
00004dc5: PUSH2 0x2400
00004dc8: JUMPI
00004dc9: DUP2
00004dca: DUP13
00004dcb: PUSH2 0x4e62
00004dce: DUP8
00004dcf: DUP15
00004dd0: DUP13
00004dd1: DUP16
00004dd2: DUP7
00004dd3: PUSH1 0x06
00004dd5: SWAP9
00004dd6: PUSH2 0x4e03
00004dd9: PUSH2 0x4e6d
00004ddc: SWAP12
00004ddd: PUSH2 0x233f
00004de0: PUSH2 0x4e21
00004de3: SWAP6
00004de4: PUSH1 0x01
00004de6: DUP1
00004de7: PUSH1 0x80
00004de9: SHL
00004dea: SUB
00004deb: DUP11
00004dec: PUSH1 0x05
00004dee: SHL
00004def: DUP14
00004df0: ADD
00004df1: CALLDATALOAD
00004df2: AND
00004df3: PUSH0
00004df4: MSTORE
00004df5: PUSH1 0x20
00004df7: SWAP14
00004df8: DUP15
00004df9: MSTORE
00004dfa: PUSH1 0x40
00004dfc: PUSH0
00004dfd: KECCAK256
00004dfe: SWAP5
00004dff: PUSH2 0x476d
00004e02: JUMP
00004e03: JUMPDEST
00004e04: PUSH1 0x01
00004e06: SWAP1
00004e07: SWAP2
00004e08: ADD
00004e09: SLOAD
00004e0a: PUSH1 0x01
00004e0c: PUSH1 0x01
00004e0e: PUSH1 0x80
00004e10: SHL
00004e11: SUB
00004e12: AND
00004e13: DUP1
00004e14: DUP3
00004e15: LT
00004e16: ISZERO
00004e17: PUSH2 0x4e91
00004e1a: JUMPI
00004e1b: POP
00004e1c: SWAP3
00004e1d: PUSH2 0x448c
00004e20: JUMP
00004e21: JUMPDEST
00004e22: DUP1
00004e23: DUP3
00004e24: LT
00004e25: ISZERO
00004e26: PUSH2 0x4e8a
00004e29: JUMPI
00004e2a: POP
00004e2b: JUMPDEST
00004e2c: PUSH1 0x01
00004e2e: DUP1
00004e2f: PUSH1 0x80
00004e31: SHL
00004e32: SUB
00004e33: AND
00004e34: DUP1
00004e35: SWAP7
00004e36: PUSH1 0x40
00004e38: MLOAD
00004e39: SWAP6
00004e3a: PUSH2 0x4e42
00004e3d: DUP8
00004e3e: PUSH2 0x3c82
00004e41: JUMP
00004e42: JUMPDEST
00004e43: PUSH1 0x05
00004e45: DUP6
00004e46: SWAP1
00004e47: SHL
00004e48: ADD
00004e49: CALLDATALOAD
00004e4a: PUSH1 0x01
00004e4c: PUSH1 0x01
00004e4e: PUSH1 0x80
00004e50: SHL
00004e51: SUB
00004e52: AND
00004e53: DUP7
00004e54: MSTORE
00004e55: DUP6
00004e56: ADD
00004e57: MSTORE
00004e58: PUSH0
00004e59: PUSH1 0x40
00004e5b: DUP6
00004e5c: ADD
00004e5d: MSTORE
00004e5e: PUSH2 0x418e
00004e61: JUMP
00004e62: JUMPDEST
00004e63: MSTORE
00004e64: PUSH2 0x23bb
00004e67: DUP7
00004e68: DUP14
00004e69: PUSH2 0x418e
00004e6c: JUMP
00004e6d: JUMPDEST
00004e6e: SWAP7
00004e6f: DUP4
00004e70: PUSH1 0x05
00004e72: SHL
00004e73: DUP12
00004e74: ADD
00004e75: CALLDATALOAD
00004e76: SWAP4
00004e77: PUSH0
00004e78: NOT
00004e79: DUP2
00004e7a: EQ
00004e7b: PUSH2 0x23de
00004e7e: JUMPI
00004e7f: PUSH1 0x01
00004e81: ADD
00004e82: SWAP4
00004e83: SWAP8
00004e84: SWAP1
00004e85: SWAP8
00004e86: PUSH2 0x4d49
00004e89: JUMP
00004e8a: JUMPDEST
00004e8b: SWAP1
00004e8c: POP
00004e8d: PUSH2 0x4e2b
00004e90: JUMP
00004e91: JUMPDEST
00004e92: SWAP1
00004e93: POP
00004e94: SWAP3
00004e95: PUSH2 0x448c
00004e98: JUMP
00004e99: JUMPDEST
00004e9a: GT
00004e9b: ISZERO
00004e9c: SWAP1
00004e9d: POP
00004e9e: PUSH0
00004e9f: DUP1
00004ea0: PUSH2 0x4dbc
00004ea3: JUMP
00004ea4: JUMPDEST
00004ea5: DUP5
00004ea6: EQ
00004ea7: SWAP3
00004ea8: POP
00004ea9: PUSH0
00004eaa: PUSH2 0x4db5
00004ead: JUMP
00004eae: JUMPDEST
00004eaf: POP
00004eb0: DUP1
00004eb1: DUP6
00004eb2: LT
00004eb3: PUSH2 0x4dab
00004eb6: JUMP
00004eb7: JUMPDEST
00004eb8: POP
00004eb9: POP
00004eba: SWAP4
00004ebb: POP
00004ebc: SWAP10
00004ebd: POP
00004ebe: SWAP4
00004ebf: SWAP7
00004ec0: SWAP8
00004ec1: POP
00004ec2: SWAP4
00004ec3: SWAP5
00004ec4: POP
00004ec5: DUP6
00004ec6: SWAP2
00004ec7: POP
00004ec8: LT
00004ec9: PUSH2 0x28c4
00004ecc: JUMPI
00004ecd: PUSH1 0x20
00004ecf: SWAP2
00004ed0: PUSH1 0x20
00004ed2: DUP2
00004ed3: GT
00004ed4: PUSH2 0x28c4
00004ed7: JUMPI
00004ed8: PUSH2 0xffff
00004edb: SWAP1
00004edc: DUP2
00004edd: DUP2
00004ede: GT
00004edf: PUSH2 0x2870
00004ee2: JUMPI
00004ee3: SWAP3
00004ee4: SWAP2
00004ee5: SWAP3
00004ee6: AND
00004ee7: SWAP4
00004ee8: PUSH2 0x4eef
00004eeb: PUSH2 0x430f
00004eee: JUMP
00004eef: JUMPDEST
00004ef0: SWAP1
00004ef1: PUSH2 0x4ef9
00004ef4: DUP7
00004ef5: PUSH2 0x414f
00004ef8: JUMP
00004ef9: JUMPDEST
00004efa: SWAP1
00004efb: PUSH0
00004efc: SWAP5
00004efd: PUSH0
00004efe: SWAP4
00004eff: PUSH0
00004f00: SWAP2
00004f01: JUMPDEST
00004f02: DUP11
00004f03: DUP11
00004f04: DUP5
00004f05: LT
00004f06: PUSH2 0x4fd6
00004f09: JUMPI
00004f0a: POP
00004f0b: POP
00004f0c: POP
00004f0d: POP
00004f0e: PUSH2 0x2710
00004f11: PUSH2 0x4f30
00004f14: PUSH4 0xffffffff
00004f19: PUSH2 0x4f25
00004f1c: PUSH2 0x4f38
00004f1f: SWAP5
00004f20: DUP10
00004f21: PUSH2 0x448c
00004f24: JUMP
00004f25: JUMPDEST
00004f26: SWAP12
00004f27: PUSH1 0xa0
00004f29: SHR
00004f2a: AND
00004f2b: DUP12
00004f2c: PUSH2 0x476d
00004f2f: JUMP
00004f30: JUMPDEST
00004f31: DIV
00004f32: DUP1
00004f33: SWAP10
00004f34: PUSH2 0x448c
00004f37: JUMP
00004f38: JUMPDEST
00004f39: SWAP3
00004f3a: PUSH0
00004f3b: SWAP3
00004f3c: DUP5
00004f3d: JUMPDEST
00004f3e: DUP9
00004f3f: DUP6
00004f40: LT
00004f41: PUSH2 0x4f8e
00004f44: JUMPI
00004f45: POP
00004f46: POP
00004f47: POP
00004f48: POP
00004f49: POP
00004f4a: DUP1
00004f4b: PUSH2 0x4f56
00004f4e: JUMPI
00004f4f: JUMPDEST
00004f50: POP
00004f51: SWAP4
00004f52: SWAP3
00004f53: SWAP2
00004f54: SWAP1
00004f55: JUMP
00004f56: JUMPDEST
00004f57: PUSH2 0x4f5f
00004f5a: SWAP1
00004f5b: PUSH2 0x5161
00004f5e: JUMP
00004f5f: JUMPDEST
00004f60: PUSH1 0x40
00004f62: PUSH2 0x4f6a
00004f65: DUP7
00004f66: PUSH2 0x4181
00004f69: JUMP
00004f6a: JUMPDEST
00004f6b: MLOAD
00004f6c: ADD
00004f6d: DUP1
00004f6e: MLOAD
00004f6f: SWAP1
00004f70: SWAP2
00004f71: PUSH1 0x01
00004f73: PUSH1 0x01
00004f75: PUSH1 0x80
00004f77: SHL
00004f78: SUB
00004f79: SWAP2
00004f7a: PUSH2 0x4f85
00004f7d: SWAP2
00004f7e: SWAP1
00004f7f: DUP4
00004f80: AND
00004f81: PUSH2 0x57cc
00004f84: JUMP
00004f85: JUMPDEST
00004f86: AND
00004f87: SWAP1
00004f88: MSTORE
00004f89: PUSH0
00004f8a: PUSH2 0x4f4f
00004f8d: JUMP
00004f8e: JUMPDEST
00004f8f: SWAP1
00004f90: SWAP2
00004f91: SWAP3
00004f92: SWAP4
00004f93: SWAP5
00004f94: PUSH2 0x4fcb
00004f97: PUSH1 0x01
00004f99: SWAP2
00004f9a: PUSH2 0x4fae
00004f9d: DUP6
00004f9e: PUSH2 0x4fa7
00004fa1: DUP11
00004fa2: DUP11
00004fa3: PUSH2 0x418e
00004fa6: JUMP
00004fa7: JUMPDEST
00004fa8: MLOAD
00004fa9: DUP7
00004faa: PUSH2 0x5a00
00004fad: JUMP
00004fae: JUMPDEST
00004faf: SWAP1
00004fb0: DUP13
00004fb1: DUP5
00004fb2: DUP1
00004fb3: PUSH1 0x80
00004fb5: SHL
00004fb6: SUB
00004fb7: PUSH1 0x40
00004fb9: PUSH2 0x2782
00004fbc: DUP13
00004fbd: PUSH2 0x277c
00004fc0: DUP5
00004fc1: DUP14
00004fc2: PUSH2 0x2769
00004fc5: DUP5
00004fc6: DUP10
00004fc7: PUSH2 0x418e
00004fca: JUMP
00004fcb: JUMPDEST
00004fcc: SWAP6
00004fcd: ADD
00004fce: SWAP4
00004fcf: SWAP3
00004fd0: SWAP2
00004fd1: SWAP1
00004fd2: PUSH2 0x4f3d
00004fd5: JUMP
00004fd6: JUMPDEST
00004fd7: SWAP3
00004fd8: SWAP7
00004fd9: SWAP5
00004fda: SWAP6
00004fdb: SWAP2
00004fdc: SWAP3
00004fdd: SWAP1
00004fde: SWAP2
00004fdf: PUSH1 0x01
00004fe1: PUSH1 0x01
00004fe3: PUSH1 0x80
00004fe5: SHL
00004fe6: SUB
00004fe7: SWAP1
00004fe8: PUSH2 0x4ff5
00004feb: DUP3
00004fec: PUSH2 0x27b3
00004fef: DUP12
00004ff0: DUP7
00004ff1: PUSH2 0x418e
00004ff4: JUMP
00004ff5: JUMPDEST
00004ff6: POP
00004ff7: SWAP4
00004ff8: SWAP2
00004ff9: POP
00004ffa: POP
00004ffb: DUP8
00004ffc: PUSH2 0x5015
00004fff: DUP12
00005000: DUP4
00005001: DUP4
00005002: PUSH2 0x500b
00005005: DUP4
00005006: DUP11
00005007: PUSH2 0x418e
0000500a: JUMP
0000500b: JUMPDEST
0000500c: MLOAD
0000500d: ADD
0000500e: MLOAD
0000500f: AND
00005010: SWAP7
00005011: PUSH2 0x418e
00005014: JUMP
00005015: JUMPDEST
00005016: MLOAD
00005017: ADD
00005018: MLOAD
00005019: AND
0000501a: SWAP2
0000501b: PUSH1 0x01
0000501d: PUSH1 0x01
0000501f: PUSH1 0x40
00005021: SHL
00005022: SUB
00005023: PUSH2 0x502f
00005026: DUP2
00005027: DUP8
00005028: AND
00005029: SWAP3
0000502a: DUP9
0000502b: PUSH2 0x418e
0000502e: JUMP
0000502f: JUMPDEST
00005030: MLOAD
00005031: AND
00005032: MUL
00005033: PUSH1 0x01
00005035: PUSH1 0x01
00005037: PUSH1 0x40
00005039: SHL
0000503a: SUB
0000503b: DUP2
0000503c: AND
0000503d: SWAP1
0000503e: DUP2
0000503f: SUB
00005040: PUSH2 0x23de
00005043: JUMPI
00005044: DUP7
00005045: PUSH2 0x5064
00005048: PUSH2 0x505d
0000504b: PUSH1 0x01
0000504d: SWAP7
0000504e: PUSH2 0x2829
00005051: PUSH2 0x506b
00005054: SWAP6
00005055: PUSH2 0x5080
00005058: SWAP9
00005059: PUSH2 0x5887
0000505c: JUMP
0000505d: JUMPDEST
0000505e: DUP1
0000505f: SWAP14
00005060: PUSH2 0x4499
00005063: JUMP
00005064: JUMPDEST
00005065: SWAP12
00005066: DUP13
00005067: PUSH2 0x5a00
0000506a: JUMP
0000506b: JUMPDEST
0000506c: PUSH2 0x5075
0000506f: DUP11
00005070: DUP11
00005071: PUSH2 0x418e
00005074: JUMP
00005075: JUMPDEST
00005076: MSTORE
00005077: PUSH2 0x2860
0000507a: DUP10
0000507b: DUP10
0000507c: PUSH2 0x418e
0000507f: JUMP
00005080: JUMPDEST
00005081: SWAP7
00005082: ADD
00005083: SWAP2
00005084: SWAP1
00005085: SWAP6
00005086: SWAP5
00005087: SWAP4
00005088: SWAP6
00005089: PUSH2 0x4f01
0000508c: JUMP
0000508d: JUMPDEST
0000508e: POP
0000508f: DUP9
00005090: DUP4
00005091: EQ
00005092: ISZERO
00005093: PUSH2 0x4d53
00005096: JUMP
00005097: JUMPDEST
00005098: PUSH1 0x20
0000509a: SWAP1
0000509b: PUSH2 0x50a2
0000509e: PUSH2 0x45f0
000050a1: JUMP
000050a2: JUMPDEST
000050a3: DUP3
000050a4: DUP3
000050a5: DUP14
000050a6: ADD
000050a7: ADD
000050a8: MSTORE
000050a9: ADD
000050aa: PUSH2 0x4d3a
000050ad: JUMP
000050ae: JUMPDEST
000050af: SWAP5
000050b0: PUSH1 0x01
000050b2: PUSH1 0x01
000050b4: PUSH1 0x40
000050b6: SHL
000050b7: SUB
000050b8: PUSH2 0x50c1
000050bb: DUP3
000050bc: DUP9
000050bd: PUSH2 0x418e
000050c0: JUMP
000050c1: JUMPDEST
000050c2: MLOAD
000050c3: AND
000050c4: PUSH1 0x01
000050c6: PUSH1 0x01
000050c8: PUSH1 0x40
000050ca: SHL
000050cb: SUB
000050cc: DUP13
000050cd: AND
000050ce: GT
000050cf: ISZERO
000050d0: PUSH2 0x50e3
000050d3: JUMPI
000050d4: DUP1
000050d5: ISZERO
000050d6: PUSH2 0x23de
000050d9: JUMPI
000050da: PUSH0
000050db: NOT
000050dc: ADD
000050dd: SWAP5
000050de: DUP6
000050df: PUSH2 0x4ced
000050e2: JUMP
000050e3: JUMPDEST
000050e4: SWAP5
000050e5: PUSH2 0x4cf2
000050e8: JUMP
000050e9: JUMPDEST
000050ea: SWAP1
000050eb: PUSH2 0x4854
000050ee: SWAP1
000050ef: PUSH2 0x4846
000050f2: PUSH2 0x4267
000050f5: SWAP6
000050f6: PUSH1 0x40
000050f8: MLOAD
000050f9: SWAP6
000050fa: DUP7
000050fb: SWAP4
000050fc: PUSH4 0x23b872dd
00005101: PUSH1 0xe0
00005103: SHL
00005104: PUSH1 0x20
00005106: DUP7
00005107: ADD
00005108: MSTORE
00005109: PUSH1 0x24
0000510b: DUP6
0000510c: ADD
0000510d: PUSH2 0x4583
00005110: JUMP
00005111: JUMPDEST
00005112: SWAP1
00005113: PUSH1 0x20
00005115: PUSH2 0x513e
00005118: PUSH32 0xdd2b88bff718d8dd9bcb63ad883973630ea0d31f2dd4ca01f17104994e0f8f86
00005139: SWAP3
0000513a: PUSH2 0x479e
0000513d: JUMP
0000513e: JUMPDEST
0000513f: SWAP3
00005140: PUSH1 0x01
00005142: DUP1
00005143: PUSH1 0xa0
00005145: SHL
00005146: SUB
00005147: SWAP1
00005148: PUSH2 0x5156
0000514b: DUP6
0000514c: DUP3
0000514d: DUP5
0000514e: PUSH1 0x01
00005150: SLOAD
00005151: AND
00005152: PUSH2 0x4811
00005155: JUMP
00005156: JUMPDEST
00005157: PUSH1 0x40
00005159: MLOAD
0000515a: SWAP5
0000515b: DUP6
0000515c: MSTORE
0000515d: AND
0000515e: SWAP3
0000515f: LOG2
00005160: JUMP
00005161: JUMPDEST
00005162: PUSH1 0x01
00005164: PUSH1 0x01
00005166: PUSH1 0x80
00005168: SHL
00005169: SUB
0000516a: SWAP1
0000516b: DUP2
0000516c: DUP2
0000516d: GT
0000516e: PUSH2 0x5175
00005171: JUMPI
00005172: AND
00005173: SWAP1
00005174: JUMP
00005175: JUMPDEST
00005176: PUSH1 0x40
00005178: MLOAD
00005179: PUSH3 0x461bcd
0000517d: PUSH1 0xe5
0000517f: SHL
00005180: DUP2
00005181: MSTORE
00005182: PUSH1 0x20
00005184: PUSH1 0x04
00005186: DUP3
00005187: ADD
00005188: MSTORE
00005189: PUSH1 0x27
0000518b: PUSH1 0x24
0000518d: DUP3
0000518e: ADD
0000518f: MSTORE
00005190: PUSH32 0x53616665436173743a2076616c756520646f65736e27742066697420696e2031
000051b1: PUSH1 0x44
000051b3: DUP3
000051b4: ADD
000051b5: MSTORE
000051b6: PUSH7 0x32382062697473
000051be: PUSH1 0xc8
000051c0: SHL
000051c1: PUSH1 0x64
000051c3: DUP3
000051c4: ADD
000051c5: MSTORE
000051c6: PUSH1 0x84
000051c8: SWAP1
000051c9: REVERT
000051ca: JUMPDEST
000051cb: PUSH1 0x01
000051cd: PUSH1 0x01
000051cf: PUSH1 0x80
000051d1: SHL
000051d2: SUB
000051d3: SWAP1
000051d4: SWAP2
000051d5: AND
000051d6: PUSH0
000051d7: SWAP1
000051d8: DUP2
000051d9: MSTORE
000051da: PUSH0
000051db: DUP1
000051dc: MLOAD
000051dd: PUSH1 0x20
000051df: PUSH2 0x5b5f
000051e2: DUP4
000051e3: CODECOPY
000051e4: DUP2
000051e5: MLOAD
000051e6: SWAP2
000051e7: MSTORE
000051e8: PUSH1 0x20
000051ea: MSTORE
000051eb: PUSH1 0x40
000051ed: SWAP1
000051ee: KECCAK256
000051ef: SLOAD
000051f0: PUSH1 0x01
000051f2: PUSH1 0x01
000051f4: PUSH1 0xa0
000051f6: SHL
000051f7: SUB
000051f8: SWAP1
000051f9: DUP2
000051fa: AND
000051fb: DUP1
000051fc: ISZERO
000051fd: PUSH2 0x5248
00005200: JUMPI
00005201: DUP1
00005202: EXTCODESIZE
00005203: ISZERO
00005204: PUSH2 0x0f5a
00005207: JUMPI
00005208: PUSH0
00005209: SWAP3
0000520a: DUP4
0000520b: PUSH1 0x64
0000520d: SWAP3
0000520e: PUSH1 0x40
00005210: MLOAD
00005211: SWAP7
00005212: DUP8
00005213: SWAP6
00005214: DUP7
00005215: SWAP5
00005216: PUSH4 0x5d5b6e65
0000521b: PUSH1 0xe0
0000521d: SHL
0000521e: DUP7
0000521f: MSTORE
00005220: DUP5
00005221: PUSH1 0x04
00005223: DUP8
00005224: ADD
00005225: MSTORE
00005226: AND
00005227: PUSH1 0x24
00005229: DUP6
0000522a: ADD
0000522b: MSTORE
0000522c: PUSH1 0x44
0000522e: DUP5
0000522f: ADD
00005230: MSTORE
00005231: GAS
00005232: CALL
00005233: DUP1
00005234: ISZERO
00005235: PUSH2 0x3860
00005238: JUMPI
00005239: PUSH2 0x523f
0000523c: JUMPI
0000523d: POP
0000523e: JUMP
0000523f: JUMPDEST
00005240: PUSH2 0x4267
00005243: SWAP1
00005244: PUSH2 0x3c37
00005247: JUMP
00005248: JUMPDEST
00005249: POP
0000524a: POP
0000524b: POP
0000524c: POP
0000524d: JUMP
0000524e: JUMPDEST
0000524f: PUSH1 0x01
00005251: PUSH1 0x01
00005253: PUSH1 0x80
00005255: SHL
00005256: SUB
00005257: SWAP1
00005258: SWAP2
00005259: AND
0000525a: PUSH0
0000525b: SWAP1
0000525c: DUP2
0000525d: MSTORE
0000525e: PUSH0
0000525f: DUP1
00005260: MLOAD
00005261: PUSH1 0x20
00005263: PUSH2 0x5b5f
00005266: DUP4
00005267: CODECOPY
00005268: DUP2
00005269: MLOAD
0000526a: SWAP2
0000526b: MSTORE
0000526c: PUSH1 0x20
0000526e: MSTORE
0000526f: PUSH1 0x40
00005271: SWAP1
00005272: KECCAK256
00005273: SLOAD
00005274: PUSH1 0x01
00005276: PUSH1 0x01
00005278: PUSH1 0xa0
0000527a: SHL
0000527b: SUB
0000527c: SWAP1
0000527d: DUP2
0000527e: AND
0000527f: DUP1
00005280: ISZERO
00005281: PUSH2 0x5248
00005284: JUMPI
00005285: DUP1
00005286: EXTCODESIZE
00005287: ISZERO
00005288: PUSH2 0x0f5a
0000528b: JUMPI
0000528c: PUSH0
0000528d: SWAP3
0000528e: DUP4
0000528f: PUSH1 0x64
00005291: SWAP3
00005292: PUSH1 0x40
00005294: MLOAD
00005295: SWAP7
00005296: DUP8
00005297: SWAP6
00005298: DUP7
00005299: SWAP5
0000529a: PUSH4 0x5d5b6e65
0000529f: PUSH1 0xe0
000052a1: SHL
000052a2: DUP7
000052a3: MSTORE
000052a4: AND
000052a5: PUSH1 0x04
000052a7: DUP6
000052a8: ADD
000052a9: MSTORE
000052aa: DUP3
000052ab: PUSH1 0x24
000052ad: DUP6
000052ae: ADD
000052af: MSTORE
000052b0: PUSH1 0x44
000052b2: DUP5
000052b3: ADD
000052b4: MSTORE
000052b5: GAS
000052b6: CALL
000052b7: DUP1
000052b8: ISZERO
000052b9: PUSH2 0x3860
000052bc: JUMPI
000052bd: PUSH2 0x523f
000052c0: JUMPI
000052c1: POP
000052c2: JUMP
000052c3: JUMPDEST
000052c4: PUSH1 0x01
000052c6: SLOAD
000052c7: PUSH1 0x40
000052c9: MLOAD
000052ca: PUSH4 0x313ce567
000052cf: PUSH1 0xe0
000052d1: SHL
000052d2: DUP2
000052d3: MSTORE
000052d4: SWAP1
000052d5: PUSH1 0x20
000052d7: SWAP1
000052d8: DUP3
000052d9: SWAP1
000052da: PUSH1 0x04
000052dc: SWAP1
000052dd: DUP3
000052de: SWAP1
000052df: PUSH1 0x01
000052e1: PUSH1 0x01
000052e3: PUSH1 0xa0
000052e5: SHL
000052e6: SUB
000052e7: AND
000052e8: GAS
000052e9: STATICCALL
000052ea: DUP1
000052eb: ISZERO
000052ec: PUSH2 0x3860
000052ef: JUMPI
000052f0: PUSH0
000052f1: SWAP1
000052f2: PUSH2 0x5317
000052f5: JUMPI
000052f6: JUMPDEST
000052f7: PUSH1 0xff
000052f9: SWAP2
000052fa: POP
000052fb: AND
000052fc: PUSH1 0x12
000052fe: SUB
000052ff: PUSH1 0xff
00005301: DUP2
00005302: GT
00005303: PUSH2 0x23de
00005306: JUMPI
00005307: PUSH1 0xff
00005309: AND
0000530a: PUSH1 0x4d
0000530c: DUP2
0000530d: GT
0000530e: PUSH2 0x23de
00005311: JUMPI
00005312: PUSH1 0x0a
00005314: EXP
00005315: SWAP1
00005316: JUMP
00005317: JUMPDEST
00005318: POP
00005319: PUSH1 0x20
0000531b: DUP2
0000531c: RETURNDATASIZE
0000531d: PUSH1 0x20
0000531f: GT
00005320: PUSH2 0x5349
00005323: JUMPI
00005324: JUMPDEST
00005325: DUP2
00005326: PUSH2 0x5331
00005329: PUSH1 0x20
0000532b: SWAP4
0000532c: DUP4
0000532d: PUSH2 0x3cb8
00005330: JUMP
00005331: JUMPDEST
00005332: DUP2
00005333: ADD
00005334: SUB
00005335: SLT
00005336: PUSH2 0x0f5a
00005339: JUMPI
0000533a: PUSH2 0x5344
0000533d: PUSH1 0xff
0000533f: SWAP2
00005340: PUSH2 0x3ecf
00005343: JUMP
00005344: JUMPDEST
00005345: PUSH2 0x52f6
00005348: JUMP
00005349: JUMPDEST
0000534a: RETURNDATASIZE
0000534b: SWAP2
0000534c: POP
0000534d: PUSH2 0x5324
00005350: JUMP
00005351: JUMPDEST
00005352: PUSH1 0x40
00005354: MLOAD
00005355: PUSH2 0x53ae
00005358: SWAP2
00005359: PUSH1 0x01
0000535b: PUSH1 0x01
0000535d: PUSH1 0xa0
0000535f: SHL
00005360: SUB
00005361: AND
00005362: PUSH2 0x536a
00005365: DUP3
00005366: PUSH2 0x3c9d
00005369: JUMP
0000536a: JUMPDEST
0000536b: PUSH0
0000536c: DUP1
0000536d: PUSH1 0x20
0000536f: SWAP6
00005370: DUP7
00005371: DUP6
00005372: MSTORE
00005373: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
00005394: DUP8
00005395: DUP7
00005396: ADD
00005397: MSTORE
00005398: DUP7
00005399: DUP2
0000539a: MLOAD
0000539b: SWAP2
0000539c: ADD
0000539d: DUP3
0000539e: DUP6
0000539f: GAS
000053a0: CALL
000053a1: PUSH2 0x53a8
000053a4: PUSH2 0x57e5
000053a7: JUMP
000053a8: JUMPDEST
000053a9: SWAP2
000053aa: PUSH2 0x5a81
000053ad: JUMP
000053ae: JUMPDEST
000053af: DUP1
000053b0: MLOAD
000053b1: DUP3
000053b2: DUP2
000053b3: ISZERO
000053b4: SWAP2
000053b5: DUP3
000053b6: ISZERO
000053b7: PUSH2 0x541e
000053ba: JUMPI
000053bb: JUMPDEST
000053bc: POP
000053bd: POP
000053be: SWAP1
000053bf: POP
000053c0: ISZERO
000053c1: PUSH2 0x53c7
000053c4: JUMPI
000053c5: POP
000053c6: JUMP
000053c7: JUMPDEST
000053c8: PUSH1 0x84
000053ca: SWAP1
000053cb: PUSH1 0x40
000053cd: MLOAD
000053ce: SWAP1
000053cf: PUSH3 0x461bcd
000053d3: PUSH1 0xe5
000053d5: SHL
000053d6: DUP3
000053d7: MSTORE
000053d8: PUSH1 0x04
000053da: DUP3
000053db: ADD
000053dc: MSTORE
000053dd: PUSH1 0x2a
000053df: PUSH1 0x24
000053e1: DUP3
000053e2: ADD
000053e3: MSTORE
000053e4: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e
00005405: PUSH1 0x44
00005407: DUP3
00005408: ADD
00005409: MSTORE
0000540a: PUSH10 0x1bdd081cdd58d8d95959
00005415: PUSH1 0xb2
00005417: SHL
00005418: PUSH1 0x64
0000541a: DUP3
0000541b: ADD
0000541c: MSTORE
0000541d: REVERT
0000541e: JUMPDEST
0000541f: DUP4
00005420: DUP1
00005421: SWAP3
00005422: SWAP4
00005423: POP
00005424: ADD
00005425: SUB
00005426: SLT
00005427: PUSH2 0x0f5a
0000542a: JUMPI
0000542b: DUP2
0000542c: ADD
0000542d: MLOAD
0000542e: DUP1
0000542f: ISZERO
00005430: ISZERO
00005431: DUP2
00005432: SUB
00005433: PUSH2 0x0f5a
00005436: JUMPI
00005437: DUP1
00005438: DUP3
00005439: PUSH0
0000543a: PUSH2 0x53bb
0000543d: JUMP
0000543e: JUMPDEST
0000543f: PUSH1 0x07
00005441: PUSH1 0x05
00005443: DUP3
00005444: SWAP1
00005445: SHR
00005446: DUP2
00005447: AND
00005448: SWAP2
00005449: PUSH1 0x02
0000544b: DUP2
0000544c: SWAP1
0000544d: SHR
0000544e: SWAP1
0000544f: SWAP2
00005450: AND
00005451: SWAP1
00005452: PUSH1 0x01
00005454: PUSH1 0x01
00005456: PUSH1 0x78
00005458: SHL
00005459: SUB
0000545a: PUSH1 0x08
0000545c: DUP3
0000545d: SWAP1
0000545e: SHR
0000545f: AND
00005460: SWAP1
00005461: PUSH1 0x02
00005463: PUSH1 0x01
00005465: PUSH1 0x80
00005467: SHL
00005468: SUB
00005469: NOT
0000546a: PUSH1 0x01
0000546c: PUSH1 0x01
0000546e: PUSH1 0x80
00005470: SHL
00005471: SUB
00005472: DUP3
00005473: AND
00005474: ADD
00005475: PUSH2 0x54ad
00005478: JUMPI
00005479: POP
0000547a: PUSH0
0000547b: SWAP1
0000547c: JUMPDEST
0000547d: DUP2
0000547e: PUSH1 0x02
00005480: DUP2
00005481: LT
00005482: ISZERO
00005483: PUSH2 0x5499
00005486: JUMPI
00005487: PUSH1 0x01
00005489: SUB
0000548a: PUSH2 0x5496
0000548d: JUMPI
0000548e: PUSH2 0x5496
00005491: SWAP1
00005492: PUSH2 0x5937
00005495: JUMP
00005496: JUMPDEST
00005497: SWAP4
00005498: JUMP
00005499: JUMPDEST
0000549a: PUSH4 0x4e487b71
0000549f: PUSH1 0xe0
000054a1: SHL
000054a2: PUSH0
000054a3: MSTORE
000054a4: PUSH1 0x21
000054a6: PUSH1 0x04
000054a8: MSTORE
000054a9: PUSH1 0x24
000054ab: PUSH0
000054ac: REVERT
000054ad: JUMPDEST
000054ae: PUSH1 0x03
000054b0: AND
000054b1: PUSH1 0x02
000054b3: DUP2
000054b4: LT
000054b5: ISZERO
000054b6: PUSH2 0x5499
000054b9: JUMPI
000054ba: SWAP1
000054bb: PUSH2 0x547c
000054be: JUMP
000054bf: JUMPDEST
000054c0: PUSH1 0x07
000054c2: PUSH1 0x05
000054c4: DUP3
000054c5: SWAP1
000054c6: SHR
000054c7: DUP2
000054c8: AND
000054c9: SWAP3
000054ca: PUSH1 0x02
000054cc: DUP4
000054cd: SWAP1
000054ce: SHR
000054cf: SWAP1
000054d0: SWAP2
000054d1: AND
000054d2: SWAP2
000054d3: PUSH1 0x01
000054d5: PUSH1 0x01
000054d7: PUSH1 0x78
000054d9: SHL
000054da: SUB
000054db: PUSH1 0x08
000054dd: DUP3
000054de: SWAP1
000054df: SHR
000054e0: AND
000054e1: SWAP1
000054e2: PUSH1 0x02
000054e4: PUSH1 0x01
000054e6: PUSH1 0x80
000054e8: SHL
000054e9: SUB
000054ea: NOT
000054eb: PUSH1 0x01
000054ed: PUSH1 0x01
000054ef: PUSH1 0x80
000054f1: SHL
000054f2: SUB
000054f3: DUP3
000054f4: AND
000054f5: ADD
000054f6: PUSH2 0x551c
000054f9: JUMPI
000054fa: POP
000054fb: PUSH0
000054fc: SWAP2
000054fd: JUMPDEST
000054fe: DUP3
000054ff: PUSH1 0x02
00005501: DUP2
00005502: LT
00005503: ISZERO
00005504: PUSH2 0x5499
00005507: JUMPI
00005508: PUSH1 0x01
0000550a: SUB
0000550b: PUSH2 0x5518
0000550e: JUMPI
0000550f: SWAP1
00005510: PUSH2 0x5496
00005513: SWAP2
00005514: PUSH2 0x5999
00005517: JUMP
00005518: JUMPDEST
00005519: POP
0000551a: SWAP4
0000551b: JUMP
0000551c: JUMPDEST
0000551d: PUSH1 0x03
0000551f: AND
00005520: PUSH1 0x02
00005522: DUP2
00005523: LT
00005524: ISZERO
00005525: PUSH2 0x5499
00005528: JUMPI
00005529: SWAP2
0000552a: PUSH2 0x54fd
0000552d: JUMP
0000552e: JUMPDEST
0000552f: SWAP1
00005530: DUP1
00005531: PUSH1 0x1f
00005533: DUP4
00005534: ADD
00005535: SLT
00005536: ISZERO
00005537: PUSH2 0x0f5a
0000553a: JUMPI
0000553b: DUP2
0000553c: MLOAD
0000553d: SWAP1
0000553e: PUSH1 0x20
00005540: SWAP2
00005541: PUSH2 0x5549
00005544: DUP2
00005545: PUSH2 0x3e58
00005548: JUMP
00005549: JUMPDEST
0000554a: SWAP4
0000554b: PUSH2 0x5557
0000554e: PUSH1 0x40
00005550: MLOAD
00005551: SWAP6
00005552: DUP7
00005553: PUSH2 0x3cb8
00005556: JUMP
00005557: JUMPDEST
00005558: DUP2
00005559: DUP6
0000555a: MSTORE
0000555b: PUSH1 0x20
0000555d: DUP1
0000555e: DUP7
0000555f: ADD
00005560: SWAP3
00005561: PUSH1 0x05
00005563: SHL
00005564: DUP3
00005565: ADD
00005566: ADD
00005567: SWAP3
00005568: DUP4
00005569: GT
0000556a: PUSH2 0x0f5a
0000556d: JUMPI
0000556e: PUSH1 0x20
00005570: ADD
00005571: SWAP1
00005572: JUMPDEST
00005573: DUP3
00005574: DUP3
00005575: LT
00005576: PUSH2 0x5580
00005579: JUMPI
0000557a: POP
0000557b: POP
0000557c: POP
0000557d: POP
0000557e: SWAP1
0000557f: JUMP
00005580: JUMPDEST
00005581: DUP2
00005582: MLOAD
00005583: DUP2
00005584: MSTORE
00005585: SWAP1
00005586: DUP4
00005587: ADD
00005588: SWAP1
00005589: DUP4
0000558a: ADD
0000558b: PUSH2 0x5572
0000558e: JUMP
0000558f: JUMPDEST
00005590: SWAP1
00005591: SWAP2
00005592: PUSH1 0x01
00005594: PUSH1 0x01
00005596: PUSH1 0xa0
00005598: SHL
00005599: SUB
0000559a: DUP1
0000559b: DUP4
0000559c: AND
0000559d: SWAP1
0000559e: PUSH32 0x000000000000000000000000c4dc9ef8763433aae26635bc5a09e362605fad18
000055bf: DUP2
000055c0: AND
000055c1: DUP3
000055c2: EQ
000055c3: SWAP1
000055c4: DUP2
000055c5: ISZERO
000055c6: PUSH2 0x57a0
000055c9: JUMPI
000055ca: JUMPDEST
000055cb: DUP2
000055cc: ISZERO
000055cd: PUSH2 0x5774
000055d0: JUMPI
000055d1: JUMPDEST
000055d2: POP
000055d3: PUSH2 0x5624
000055d6: JUMPI
000055d7: POP
000055d8: POP
000055d9: SWAP2
000055da: PUSH1 0x40
000055dc: MLOAD
000055dd: SWAP2
000055de: PUSH2 0x55e6
000055e1: DUP4
000055e2: PUSH2 0x3c9d
000055e5: JUMP
000055e6: JUMPDEST
000055e7: PUSH1 0x01
000055e9: DUP4
000055ea: MSTORE
000055eb: PUSH1 0x20
000055ed: CALLDATASIZE
000055ee: DUP2
000055ef: DUP6
000055f0: ADD
000055f1: CALLDATACOPY
000055f2: PUSH2 0x55fa
000055f5: DUP4
000055f6: PUSH2 0x4181
000055f9: JUMP
000055fa: JUMPDEST
000055fb: MSTORE
000055fc: PUSH1 0x40
000055fe: MLOAD
000055ff: SWAP1
00005600: PUSH2 0x5608
00005603: DUP3
00005604: PUSH2 0x3c9d
00005607: JUMP
00005608: JUMPDEST
00005609: PUSH1 0x01
0000560b: DUP3
0000560c: MSTORE
0000560d: PUSH1 0x20
0000560f: CALLDATASIZE
00005610: DUP2
00005611: DUP5
00005612: ADD
00005613: CALLDATACOPY
00005614: PUSH1 0x01
00005616: PUSH2 0x561e
00005619: DUP4
0000561a: PUSH2 0x4181
0000561d: JUMP
0000561e: JUMPDEST
0000561f: MSTORE
00005620: PUSH1 0x01
00005622: SWAP1
00005623: JUMP
00005624: JUMPDEST
00005625: SWAP3
00005626: SWAP2
00005627: POP
00005628: SWAP3
00005629: PUSH1 0x40
0000562b: SWAP2
0000562c: DUP3
0000562d: MLOAD
0000562e: SWAP5
0000562f: PUSH4 0x2ab54d15
00005634: PUSH1 0xe0
00005636: SHL
00005637: DUP7
00005638: MSTORE
00005639: DUP2
0000563a: PUSH1 0x04
0000563c: DUP8
0000563d: ADD
0000563e: MSTORE
0000563f: DUP4
00005640: PUSH1 0x24
00005642: DUP8
00005643: ADD
00005644: MSTORE
00005645: PUSH0
00005646: DUP7
00005647: DUP1
00005648: PUSH2 0x5654
0000564b: PUSH1 0x44
0000564d: DUP3
0000564e: ADD
0000564f: DUP6
00005650: PUSH2 0x3b5f
00005653: JUMP
00005654: JUMPDEST
00005655: SUB
00005656: DUP2
00005657: DUP9
00005658: GAS
00005659: STATICCALL
0000565a: SWAP5
0000565b: DUP6
0000565c: ISZERO
0000565d: PUSH2 0x576a
00005660: JUMPI
00005661: PUSH0
00005662: SWAP3
00005663: PUSH0
00005664: SWAP8
00005665: PUSH0
00005666: SWAP8
00005667: PUSH2 0x56f1
0000566a: JUMPI
0000566b: JUMPDEST
0000566c: POP
0000566d: SWAP2
0000566e: PUSH1 0x20
00005670: SWAP2
00005671: PUSH2 0x569b
00005674: SWAP4
00005675: DUP8
00005676: MLOAD
00005677: DUP1
00005678: SWAP6
00005679: DUP2
0000567a: SWAP5
0000567b: DUP3
0000567c: SWAP4
0000567d: PUSH4 0x1ad854b1
00005682: PUSH1 0xe3
00005684: SHL
00005685: DUP5
00005686: MSTORE
00005687: PUSH1 0x04
00005689: DUP5
0000568a: ADD
0000568b: MSTORE
0000568c: DUP11
0000568d: PUSH1 0x24
0000568f: DUP5
00005690: ADD
00005691: MSTORE
00005692: PUSH1 0x44
00005694: DUP4
00005695: ADD
00005696: SWAP1
00005697: PUSH2 0x3b5f
0000569a: JUMP
0000569b: JUMPDEST
0000569c: SUB
0000569d: SWAP2
0000569e: GAS
0000569f: STATICCALL
000056a0: SWAP4
000056a1: DUP5
000056a2: ISZERO
000056a3: PUSH2 0x56e8
000056a6: JUMPI
000056a7: POP
000056a8: PUSH0
000056a9: SWAP4
000056aa: PUSH2 0x56b4
000056ad: JUMPI
000056ae: POP
000056af: SWAP4
000056b0: SWAP3
000056b1: SWAP2
000056b2: SWAP1
000056b3: JUMP
000056b4: JUMPDEST
000056b5: SWAP1
000056b6: SWAP3
000056b7: POP
000056b8: PUSH1 0x20
000056ba: DUP2
000056bb: RETURNDATASIZE
000056bc: PUSH1 0x20
000056be: GT
000056bf: PUSH2 0x56e0
000056c2: JUMPI
000056c3: JUMPDEST
000056c4: DUP2
000056c5: PUSH2 0x56d0
000056c8: PUSH1 0x20
000056ca: SWAP4
000056cb: DUP4
000056cc: PUSH2 0x3cb8
000056cf: JUMP
000056d0: JUMPDEST
000056d1: DUP2
000056d2: ADD
000056d3: SUB
000056d4: SLT
000056d5: PUSH2 0x0f5a
000056d8: JUMPI
000056d9: MLOAD
000056da: SWAP2
000056db: PUSH0
000056dc: PUSH2 0x4f4f
000056df: JUMP
000056e0: JUMPDEST
000056e1: RETURNDATASIZE
000056e2: SWAP2
000056e3: POP
000056e4: PUSH2 0x56c3
000056e7: JUMP
000056e8: JUMPDEST
000056e9: MLOAD
000056ea: RETURNDATASIZE
000056eb: PUSH0
000056ec: DUP3
000056ed: RETURNDATACOPY
000056ee: RETURNDATASIZE
000056ef: SWAP1
000056f0: REVERT
000056f1: JUMPDEST
000056f2: SWAP4
000056f3: POP
000056f4: SWAP6
000056f5: POP
000056f6: SWAP1
000056f7: SWAP6
000056f8: POP
000056f9: RETURNDATASIZE
000056fa: DUP1
000056fb: PUSH0
000056fc: DUP5
000056fd: RETURNDATACOPY
000056fe: PUSH2 0x5707
00005701: DUP2
00005702: DUP5
00005703: PUSH2 0x3cb8
00005706: JUMP
00005707: JUMPDEST
00005708: DUP3
00005709: ADD
0000570a: SWAP1
0000570b: PUSH1 0x60
0000570d: DUP4
0000570e: DUP4
0000570f: SUB
00005710: SLT
00005711: PUSH2 0x0f5a
00005714: JUMPI
00005715: PUSH2 0x571d
00005718: DUP4
00005719: PUSH2 0x3edd
0000571c: JUMP
0000571d: JUMPDEST
0000571e: SWAP7
0000571f: PUSH1 0x20
00005721: DUP5
00005722: ADD
00005723: MLOAD
00005724: SWAP2
00005725: PUSH1 0x01
00005727: PUSH1 0x01
00005729: PUSH1 0x40
0000572b: SHL
0000572c: SUB
0000572d: SWAP3
0000572e: DUP4
0000572f: DUP2
00005730: GT
00005731: PUSH2 0x0f5a
00005734: JUMPI
00005735: DUP5
00005736: PUSH2 0x5740
00005739: SWAP2
0000573a: DUP8
0000573b: ADD
0000573c: PUSH2 0x552e
0000573f: JUMP
00005740: JUMPDEST
00005741: SWAP5
00005742: DUP8
00005743: DUP2
00005744: ADD
00005745: MLOAD
00005746: SWAP4
00005747: DUP5
00005748: GT
00005749: PUSH2 0x0f5a
0000574c: JUMPI
0000574d: PUSH2 0x569b
00005750: SWAP5
00005751: PUSH1 0x20
00005753: SWAP5
00005754: PUSH2 0x575d
00005757: SWAP3
00005758: ADD
00005759: PUSH2 0x552e
0000575c: JUMP
0000575d: JUMPDEST
0000575e: SWAP9
0000575f: SWAP5
00005760: SWAP9
00005761: SWAP8
00005762: SWAP2
00005763: SWAP4
00005764: POP
00005765: SWAP2
00005766: PUSH2 0x566b
00005769: JUMP
0000576a: JUMPDEST
0000576b: DUP5
0000576c: MLOAD
0000576d: RETURNDATASIZE
0000576e: PUSH0
0000576f: DUP3
00005770: RETURNDATACOPY
00005771: RETURNDATASIZE
00005772: SWAP1
00005773: REVERT
00005774: JUMPDEST
00005775: SWAP1
00005776: POP
00005777: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
00005798: AND
00005799: DUP2
0000579a: EQ
0000579b: PUSH0
0000579c: PUSH2 0x55d1
0000579f: JUMP
000057a0: JUMPDEST
000057a1: PUSH32 0x0000000000000000000000009607bae77a28b344ef3dc66a14ce94ab3afef884
000057c2: DUP2
000057c3: AND
000057c4: DUP4
000057c5: EQ
000057c6: SWAP2
000057c7: POP
000057c8: PUSH2 0x55ca
000057cb: JUMP
000057cc: JUMPDEST
000057cd: PUSH1 0x01
000057cf: PUSH1 0x01
000057d1: PUSH1 0x80
000057d3: SHL
000057d4: SUB
000057d5: SWAP2
000057d6: DUP3
000057d7: AND
000057d8: SWAP1
000057d9: DUP3
000057da: AND
000057db: ADD
000057dc: SWAP2
000057dd: SWAP1
000057de: DUP3
000057df: GT
000057e0: PUSH2 0x23de
000057e3: JUMPI
000057e4: JUMP
000057e5: JUMPDEST
000057e6: RETURNDATASIZE
000057e7: ISZERO
000057e8: PUSH2 0x580f
000057eb: JUMPI
000057ec: RETURNDATASIZE
000057ed: SWAP1
000057ee: PUSH2 0x57f6
000057f1: DUP3
000057f2: PUSH2 0x3cd9
000057f5: JUMP
000057f6: JUMPDEST
000057f7: SWAP2
000057f8: PUSH2 0x5804
000057fb: PUSH1 0x40
000057fd: MLOAD
000057fe: SWAP4
000057ff: DUP5
00005800: PUSH2 0x3cb8
00005803: JUMP
00005804: JUMPDEST
00005805: DUP3
00005806: MSTORE
00005807: RETURNDATASIZE
00005808: PUSH0
00005809: PUSH1 0x20
0000580b: DUP5
0000580c: ADD
0000580d: RETURNDATACOPY
0000580e: JUMP
0000580f: JUMPDEST
00005810: PUSH1 0x60
00005812: SWAP1
00005813: JUMP
00005814: JUMPDEST
00005815: DUP1
00005816: PUSH0
00005817: MSTORE
00005818: PUSH1 0x0b
0000581a: PUSH1 0x20
0000581c: MSTORE
0000581d: PUSH1 0x40
0000581f: PUSH0
00005820: KECCAK256
00005821: SLOAD
00005822: ISZERO
00005823: PUSH0
00005824: EQ
00005825: PUSH2 0x5882
00005828: JUMPI
00005829: PUSH1 0x0a
0000582b: SLOAD
0000582c: PUSH1 0x01
0000582e: PUSH1 0x40
00005830: SHL
00005831: DUP2
00005832: LT
00005833: ISZERO
00005834: PUSH2 0x138e
00005837: JUMPI
00005838: PUSH1 0x01
0000583a: DUP2
0000583b: ADD
0000583c: DUP1
0000583d: PUSH1 0x0a
0000583f: SSTORE
00005840: DUP2
00005841: LT
00005842: ISZERO
00005843: PUSH2 0x2432
00005846: JUMPI
00005847: PUSH32 0xc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8
00005868: ADD
00005869: DUP2
0000586a: SWAP1
0000586b: SSTORE
0000586c: PUSH1 0x0a
0000586e: SLOAD
0000586f: PUSH0
00005870: SWAP2
00005871: DUP3
00005872: MSTORE
00005873: PUSH1 0x0b
00005875: PUSH1 0x20
00005877: MSTORE
00005878: PUSH1 0x40
0000587a: SWAP1
0000587b: SWAP2
0000587c: KECCAK256
0000587d: SSTORE
0000587e: PUSH1 0x01
00005880: SWAP1
00005881: JUMP
00005882: JUMPDEST
00005883: POP
00005884: PUSH0
00005885: SWAP1
00005886: JUMP
00005887: JUMPDEST
00005888: SWAP1
00005889: PUSH0
0000588a: NOT
0000588b: DUP2
0000588c: DUP4
0000588d: MULMOD
0000588e: DUP2
0000588f: DUP4
00005890: MUL
00005891: SWAP2
00005892: DUP3
00005893: DUP1
00005894: DUP4
00005895: LT
00005896: SWAP3
00005897: SUB
00005898: SWAP2
00005899: DUP1
0000589a: DUP4
0000589b: SUB
0000589c: SWAP3
0000589d: EQ
0000589e: PUSH2 0x5926
000058a1: JUMPI
000058a2: PUSH8 0x0de0b6b3a7640000
000058ab: SWAP1
000058ac: DUP3
000058ad: DUP3
000058ae: GT
000058af: ISZERO
000058b0: PUSH2 0x58e9
000058b3: JUMPI
000058b4: PUSH32 0xaccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac10669
000058d5: SWAP5
000058d6: MULMOD
000058d7: SWAP1
000058d8: DUP3
000058d9: DUP3
000058da: GT
000058db: SWAP1
000058dc: SUB
000058dd: PUSH1 0xee
000058df: SHL
000058e0: SWAP2
000058e1: SUB
000058e2: PUSH1 0x12
000058e4: SHR
000058e5: OR
000058e6: MUL
000058e7: SWAP1
000058e8: JUMP
000058e9: JUMPDEST
000058ea: PUSH1 0x40
000058ec: MLOAD
000058ed: PUSH3 0x461bcd
000058f1: PUSH1 0xe5
000058f3: SHL
000058f4: DUP2
000058f5: MSTORE
000058f6: PUSH1 0x20
000058f8: PUSH1 0x04
000058fa: DUP3
000058fb: ADD
000058fc: MSTORE
000058fd: PUSH1 0x15
000058ff: PUSH1 0x24
00005901: DUP3
00005902: ADD
00005903: MSTORE
00005904: PUSH21 0x4d6174683a206d756c446976206f766572666c6f77
0000591a: PUSH1 0x58
0000591c: SHL
0000591d: PUSH1 0x44
0000591f: DUP3
00005920: ADD
00005921: MSTORE
00005922: PUSH1 0x64
00005924: SWAP1
00005925: REVERT
00005926: JUMPDEST
00005927: POP
00005928: POP
00005929: PUSH8 0x0de0b6b3a7640000
00005932: SWAP2
00005933: POP
00005934: DIV
00005935: SWAP1
00005936: JUMP
00005937: JUMPDEST
00005938: PUSH2 0x2710
0000593b: PUSH0
0000593c: NOT
0000593d: DUP3
0000593e: DUP3
0000593f: MULMOD
00005940: DUP3
00005941: DUP3
00005942: MUL
00005943: SWAP2
00005944: DUP3
00005945: DUP1
00005946: DUP4
00005947: LT
00005948: SWAP3
00005949: SUB
0000594a: SWAP2
0000594b: DUP1
0000594c: DUP4
0000594d: SUB
0000594e: SWAP3
0000594f: EQ
00005950: PUSH2 0x5992
00005953: JUMPI
00005954: DUP2
00005955: DUP2
00005956: GT
00005957: ISZERO
00005958: PUSH2 0x58e9
0000595b: JUMPI
0000595c: PUSH32 0xbc01a36e2eb1c432ca57a786c226809d495182a9930be0ded288ce703afb7e91
0000597d: SWAP4
0000597e: DUP2
0000597f: MULMOD
00005980: SWAP1
00005981: DUP3
00005982: DUP3
00005983: GT
00005984: SWAP1
00005985: SUB
00005986: PUSH1 0xfc
00005988: SHL
00005989: SWAP2
0000598a: SUB
0000598b: PUSH1 0x04
0000598d: SHR
0000598e: OR
0000598f: MUL
00005990: SWAP1
00005991: JUMP
00005992: JUMPDEST
00005993: SWAP3
00005994: POP
00005995: POP
00005996: DIV
00005997: SWAP1
00005998: JUMP
00005999: JUMPDEST
0000599a: SWAP1
0000599b: PUSH0
0000599c: NOT
0000599d: DUP2
0000599e: DUP4
0000599f: MULMOD
000059a0: DUP2
000059a1: DUP4
000059a2: MUL
000059a3: SWAP2
000059a4: DUP3
000059a5: DUP1
000059a6: DUP4
000059a7: LT
000059a8: SWAP3
000059a9: SUB
000059aa: SWAP2
000059ab: DUP1
000059ac: DUP4
000059ad: SUB
000059ae: SWAP3
000059af: EQ
000059b0: PUSH2 0x59f5
000059b3: JUMPI
000059b4: PUSH2 0x2710
000059b7: SWAP1
000059b8: DUP3
000059b9: DUP3
000059ba: GT
000059bb: ISZERO
000059bc: PUSH2 0x58e9
000059bf: JUMPI
000059c0: PUSH32 0xbc01a36e2eb1c432ca57a786c226809d495182a9930be0ded288ce703afb7e91
000059e1: SWAP5
000059e2: MULMOD
000059e3: SWAP1
000059e4: DUP3
000059e5: DUP3
000059e6: GT
000059e7: SWAP1
000059e8: SUB
000059e9: PUSH1 0xfc
000059eb: SHL
000059ec: SWAP2
000059ed: SUB
000059ee: PUSH1 0x04
000059f0: SHR
000059f1: OR
000059f2: MUL
000059f3: SWAP1
000059f4: JUMP
000059f5: JUMPDEST
000059f6: POP
000059f7: POP
000059f8: PUSH2 0x2710
000059fb: SWAP2
000059fc: POP
000059fd: DIV
000059fe: SWAP1
000059ff: JUMP
00005a00: JUMPDEST
00005a01: SWAP2
00005a02: PUSH0
00005a03: NOT
00005a04: DUP3
00005a05: DUP5
00005a06: MULMOD
00005a07: SWAP3
00005a08: DUP3
00005a09: DUP2
00005a0a: MUL
00005a0b: SWAP3
00005a0c: DUP4
00005a0d: DUP1
00005a0e: DUP7
00005a0f: LT
00005a10: SWAP6
00005a11: SUB
00005a12: SWAP5
00005a13: DUP1
00005a14: DUP7
00005a15: SUB
00005a16: SWAP6
00005a17: EQ
00005a18: PUSH2 0x5a74
00005a1b: JUMPI
00005a1c: DUP5
00005a1d: DUP4
00005a1e: GT
00005a1f: ISZERO
00005a20: PUSH2 0x58e9
00005a23: JUMPI
00005a24: DUP3
00005a25: SWAP2
00005a26: MULMOD
00005a27: PUSH1 0x01
00005a29: DUP3
00005a2a: NOT
00005a2b: ADD
00005a2c: DUP3
00005a2d: AND
00005a2e: DUP1
00005a2f: SWAP3
00005a30: DIV
00005a31: PUSH1 0x02
00005a33: DUP1
00005a34: DUP3
00005a35: PUSH1 0x03
00005a37: MUL
00005a38: XOR
00005a39: DUP1
00005a3a: DUP4
00005a3b: MUL
00005a3c: DUP3
00005a3d: SUB
00005a3e: MUL
00005a3f: DUP1
00005a40: DUP4
00005a41: MUL
00005a42: DUP3
00005a43: SUB
00005a44: MUL
00005a45: DUP1
00005a46: DUP4
00005a47: MUL
00005a48: DUP3
00005a49: SUB
00005a4a: MUL
00005a4b: DUP1
00005a4c: DUP4
00005a4d: MUL
00005a4e: DUP3
00005a4f: SUB
00005a50: MUL
00005a51: DUP1
00005a52: DUP4
00005a53: MUL
00005a54: DUP3
00005a55: SUB
00005a56: MUL
00005a57: DUP1
00005a58: SWAP3
00005a59: MUL
00005a5a: SWAP1
00005a5b: SUB
00005a5c: MUL
00005a5d: SWAP4
00005a5e: PUSH1 0x01
00005a60: DUP4
00005a61: DUP1
00005a62: PUSH0
00005a63: SUB
00005a64: DIV
00005a65: ADD
00005a66: SWAP1
00005a67: DUP5
00005a68: DUP4
00005a69: GT
00005a6a: SWAP1
00005a6b: SUB
00005a6c: MUL
00005a6d: SWAP3
00005a6e: SUB
00005a6f: DIV
00005a70: OR
00005a71: MUL
00005a72: SWAP1
00005a73: JUMP
00005a74: JUMPDEST
00005a75: POP
00005a76: POP
00005a77: SWAP1
00005a78: PUSH2 0x3f47
00005a7b: SWAP3
00005a7c: POP
00005a7d: PUSH2 0x4780
00005a80: JUMP
00005a81: JUMPDEST
00005a82: SWAP2
00005a83: SWAP3
00005a84: SWAP1
00005a85: ISZERO
00005a86: PUSH2 0x5ae3
00005a89: JUMPI
00005a8a: POP
00005a8b: DUP2
00005a8c: MLOAD
00005a8d: ISZERO
00005a8e: PUSH2 0x5a95
00005a91: JUMPI
00005a92: POP
00005a93: SWAP1
00005a94: JUMP
00005a95: JUMPDEST
00005a96: EXTCODESIZE
00005a97: ISZERO
00005a98: PUSH2 0x5a9e
00005a9b: JUMPI
00005a9c: SWAP1
00005a9d: JUMP
00005a9e: JUMPDEST
00005a9f: PUSH1 0x40
00005aa1: MLOAD
00005aa2: PUSH3 0x461bcd
00005aa6: PUSH1 0xe5
00005aa8: SHL
00005aa9: DUP2
00005aaa: MSTORE
00005aab: PUSH1 0x20
00005aad: PUSH1 0x04
00005aaf: DUP3
00005ab0: ADD
00005ab1: MSTORE
00005ab2: PUSH1 0x1d
00005ab4: PUSH1 0x24
00005ab6: DUP3
00005ab7: ADD
00005ab8: MSTORE
00005ab9: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
00005ada: PUSH1 0x44
00005adc: DUP3
00005add: ADD
00005ade: MSTORE
00005adf: PUSH1 0x64
00005ae1: SWAP1
00005ae2: REVERT
00005ae3: JUMPDEST
00005ae4: DUP3
00005ae5: MLOAD
00005ae6: SWAP1
00005ae7: SWAP2
00005ae8: POP
00005ae9: ISZERO
00005aea: PUSH2 0x5af6
00005aed: JUMPI
00005aee: POP
00005aef: DUP1
00005af0: MLOAD
00005af1: SWAP1
00005af2: PUSH1 0x20
00005af4: ADD
00005af5: REVERT
00005af6: JUMPDEST
00005af7: PUSH1 0x40
00005af9: MLOAD
00005afa: PUSH3 0x461bcd
00005afe: PUSH1 0xe5
00005b00: SHL
00005b01: DUP2
00005b02: MSTORE
00005b03: PUSH1 0x20
00005b05: PUSH1 0x04
00005b07: DUP3
00005b08: ADD
00005b09: MSTORE
00005b0a: SWAP1
00005b0b: DUP2
00005b0c: SWAP1
00005b0d: PUSH2 0x5b1a
00005b10: SWAP1
00005b11: PUSH1 0x24
00005b13: DUP4
00005b14: ADD
00005b15: SWAP1
00005b16: PUSH2 0x3b5f
00005b19: JUMP
00005b1a: JUMPDEST
00005b1b: SUB
00005b1c: SWAP1
00005b1d: REVERT
00005b1e: INVALID
00005b1f: PUSH22 0xcb20cd5ea276edc48a5c9c85e53729cc90bdd6776029
00005b36: UNKNOWN(0xB2)
00005b37: DUP5
00005b38: UNKNOWN(0xAA)
00005b39: UNKNOWN(0x2E)
00005b3a: UNKNOWN(0xB6)
00005b3b: EXP
00005b3c: CALLER
00005b3d: UNKNOWN(0x4C)
00005b3e: UNKNOWN(0xE2)
00005b3f: SAR
00005b40: PUSH32 0x9b884cc43b9a5c67bd7c6f6fb5ddb8cb3eb3994e934e8448d7bf4a4a25c9c61d
00005b61: SWAP11
00005b62: UNKNOWN(0xB4)
00005b63: SWAP2
00005b64: PUSH11 0x5eab6b572dc8707662b99e
00005b70: SSTORE
00005b71: UNKNOWN(0xE1)
00005b72: PUSH31 0xcdc61af8ff79465ad64ded005cc3a0ef4fb602d81e01a142e768b704108e3b
00005b92: UNKNOWN(0x2E)
00005b93: SWAP7
00005b94: DUP6
00005b95: UNKNOWN(0x29)
00005b96: CODECOPY
00005b97: UNKNOWN(0xD7)
00005b98: JUMPI
00005b99: PUSH4 0xe011a39b
00005b9e: STOP
00005b9f: LT
00005ba0: DIV
00005ba1: UNKNOWN(0xA5)
00005ba2: UNKNOWN(0xC9)
00005ba3: UNKNOWN(0x2D)
00005ba4: ADDMOD
00005ba5: SWAP9
00005ba6: UNKNOWN(0xC7)
00005ba7: MLOAD
00005ba8: UNKNOWN(0x2A)
00005ba9: SWAP8
00005baa: CREATE
00005bab: SLT
00005bac: UNKNOWN(0xB3)
00005bad: UNKNOWN(0xE1)
00005bae: UNKNOWN(0xB4)
00005baf: UNKNOWN(0xD5)
00005bb0: EQ
00005bb1: MULMOD
00005bb2: SWAP9
00005bb3: UNKNOWN(0xC1)
00005bb4: REVERT
00005bb5: UNKNOWN(0x26)
00005bb6: PUSH10 0x0d21ba53eace8b00a264
00005bc1: PUSH10 0x70667358221220a724d0
00005bcc: PUSH3 0x0943c2
00005bd0: MULMOD
00005bd1: NOT
00005bd2: MUL
00005bd3: SWAP6
00005bd4: CHAINID
00005bd5: UNKNOWN(0xAD)
00005bd6: KECCAK256
00005bd7: JUMP
00005bd8: UNKNOWN(0xFB)
00005bd9: PUSH15 0x7c6256e16502cc63c08337d6bfbff3
00005be9: PUSH5 0x736f6c6343
00005bef: STOP
00005bf0: ADDMOD
00005bf1: NOT
00005bf2: STOP
00005bf3: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
critical upgradeability detector Untrusted DELEGATECALL target reachable 70 no no
view
trace_id: 0x90f9fc558737ac5ce88241adbb3a1e3145a931d275fc7859eee9f27c8889cfcb
call_targets: 0x8811d9b44b04e91c9707215b1862b2f98b1a1a24
target_varies: no
classification: constant_target
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 38,
    "trace_id": "0x90f9fc558737ac5ce88241adbb3a1e3145a931d275fc7859eee9f27c8889cfcb",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x8811d9b44b04e91c9707215b1862b2f98b1a1a24"
    ],
    "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": "0x01ffc9a7",
            "selector": "0x01ffc9a7",
            "calldata_variants": [
                "0x01ffc9a7",
                "0x01ffc9a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0a81c2e7",
            "selector": "0x0a81c2e7",
            "calldata_variants": [
                "0x0a81c2e7",
                "0x0a81c2e70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x12ac2e0a",
            "selector": "0x12ac2e0a",
            "calldata_variants": [
                "0x12ac2e0a",
                "0x12ac2e0a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1721539b",
            "selector": "0x1721539b",
            "calldata_variants": [
                "0x1721539b",
                "0x1721539b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1b1c7405",
            "selector": "0x1b1c7405",
            "calldata_variants": [
                "0x1b1c7405",
                "0x1b1c74050000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1fbdd72d",
            "selector": "0x1fbdd72d",
            "calldata_variants": [
                "0x1fbdd72d",
                "0x1fbdd72d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x202d5c6b",
            "selector": "0x202d5c6b",
            "calldata_variants": [
                "0x202d5c6b",
                "0x202d5c6b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2630c12f",
            "selector": "0x2630c12f",
            "calldata_variants": [
                "0x2630c12f",
                "0x2630c12f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 790,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 864,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 1819,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [],
    "delegatecall_count": 26,
    "untrusted_delegatecall_count": 26
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0xc9d90af77eafdea46b211a930b3ee348c54a91d9724d6dbb3f49432b61ab28e8
call_targets: 0x2d0c2eedac71e9f3a65a379d0b229bd65a473898
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xc9d90af77eafdea46b211a930b3ee348c54a91d9724d6dbb3f49432b61ab28e8",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x2d0c2eedac71e9f3a65a379d0b229bd65a473898"
    ],
    "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": "0x01ffc9a7",
            "selector": "0x01ffc9a7",
            "calldata_variants": [
                "0x01ffc9a7",
                "0x01ffc9a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0a81c2e7",
            "selector": "0x0a81c2e7",
            "calldata_variants": [
                "0x0a81c2e7",
                "0x0a81c2e70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x12ac2e0a",
            "selector": "0x12ac2e0a",
            "calldata_variants": [
                "0x12ac2e0a",
                "0x12ac2e0a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1721539b",
            "selector": "0x1721539b",
            "calldata_variants": [
                "0x1721539b",
                "0x1721539b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1b1c7405",
            "selector": "0x1b1c7405",
            "calldata_variants": [
                "0x1b1c7405",
                "0x1b1c74050000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1fbdd72d",
            "selector": "0x1fbdd72d",
            "calldata_variants": [
                "0x1fbdd72d",
                "0x1fbdd72d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x202d5c6b",
            "selector": "0x202d5c6b",
            "calldata_variants": [
                "0x202d5c6b",
                "0x202d5c6b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2630c12f",
            "selector": "0x2630c12f",
            "calldata_variants": [
                "0x2630c12f",
                "0x2630c12f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3445,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 8120,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 14184,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 7,
    "guards_detected": [],
    "untrusted_call_count": 7
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0xc9d90af77eafdea46b211a930b3ee348c54a91d9724d6dbb3f49432b61ab28e8
call_targets: 0x2d0c2eedac71e9f3a65a379d0b229bd65a473898
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xc9d90af77eafdea46b211a930b3ee348c54a91d9724d6dbb3f49432b61ab28e8",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x2d0c2eedac71e9f3a65a379d0b229bd65a473898"
    ],
    "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": "0x01ffc9a7",
            "selector": "0x01ffc9a7",
            "calldata_variants": [
                "0x01ffc9a7",
                "0x01ffc9a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0a81c2e7",
            "selector": "0x0a81c2e7",
            "calldata_variants": [
                "0x0a81c2e7",
                "0x0a81c2e70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x12ac2e0a",
            "selector": "0x12ac2e0a",
            "calldata_variants": [
                "0x12ac2e0a",
                "0x12ac2e0a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1721539b",
            "selector": "0x1721539b",
            "calldata_variants": [
                "0x1721539b",
                "0x1721539b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1b1c7405",
            "selector": "0x1b1c7405",
            "calldata_variants": [
                "0x1b1c7405",
                "0x1b1c74050000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1fbdd72d",
            "selector": "0x1fbdd72d",
            "calldata_variants": [
                "0x1fbdd72d",
                "0x1fbdd72d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x202d5c6b",
            "selector": "0x202d5c6b",
            "calldata_variants": [
                "0x202d5c6b",
                "0x202d5c6b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2630c12f",
            "selector": "0x2630c12f",
            "calldata_variants": [
                "0x2630c12f",
                "0x2630c12f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3445,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 8120,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 14184,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 7,
    "guards_detected": []
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0xae4fa34577e81389c7a25e7784e4a1ba8673baadab09d8554cade81dc8c7e993
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0xae4fa34577e81389c7a25e7784e4a1ba8673baadab09d8554cade81dc8c7e993",
    "confirmed": false,
    "trace_mode": "structLogs",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x01ffc9a7",
            "selector": "0x01ffc9a7",
            "calldata_variants": [
                "0x01ffc9a7",
                "0x01ffc9a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0a81c2e7",
            "selector": "0x0a81c2e7",
            "calldata_variants": [
                "0x0a81c2e7",
                "0x0a81c2e70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x12ac2e0a",
            "selector": "0x12ac2e0a",
            "calldata_variants": [
                "0x12ac2e0a",
                "0x12ac2e0a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1721539b",
            "selector": "0x1721539b",
            "calldata_variants": [
                "0x1721539b",
                "0x1721539b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1b1c7405",
            "selector": "0x1b1c7405",
            "calldata_variants": [
                "0x1b1c7405",
                "0x1b1c74050000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1fbdd72d",
            "selector": "0x1fbdd72d",
            "calldata_variants": [
                "0x1fbdd72d",
                "0x1fbdd72d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x202d5c6b",
            "selector": "0x202d5c6b",
            "calldata_variants": [
                "0x202d5c6b",
                "0x202d5c6b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2630c12f",
            "selector": "0x2630c12f",
            "calldata_variants": [
                "0x2630c12f",
                "0x2630c12f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 1,
    "create2_count": 0
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 26
}
low other cast Contract creation opcode present 60 no
view
evidence_json
{
    "notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
    "create_count": 1,
    "create2_count": 0
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 13
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 12
}