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

Analysis Run

1e6b6a15-2941-4d1e-8cea-d31117070bed

complete
Chain ID
1
Address
Block Number
Created
Tue, Dec 30, 2025 3:49 PM
Review Summary

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
30718 report.consolidate complete 1 / 1 3 months ago
75304 artifact.fetch complete 1 / 3 1 week ago
75305 tool.cast_disasm complete 1 / 3 1 week ago
75306 analysis.bundle complete 1 / 3 1 week ago
75307 capability.graph complete 1 / 3 1 week ago
75308 detector.run complete 1 / 3 1 week ago
75309 validation.fork complete 1 / 3 1 week ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
2
No findings?
no
Summary
Found 2 issues: stale oracle data is accepted without a freshness bound, and collateral withdrawal can bypass the min-ratio check when the computed ratio truncates to zero.
View stderr
[codex:542750] OpenAI Codex v0.77.0 (research preview)
[codex:542750] --------
[codex:542750] workdir: /tmp/codex-multi-bhjp5pzw
[codex:542750] model: gpt-5.2-codex
[codex:542750] provider: openai
[codex:542750] approval: never
[codex:542750] sandbox: read-only
[codex:542750] reasoning effort: xhigh
[codex:542750] reasoning summaries: auto
[codex:542750] session id: 019b6fee-1095-7291-bda8-e667a480c6d2
[codex:542750] --------
[codex:542750] user
[codex:542750] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:542750] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:542750] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:542750] 
[codex:542750] Scope rules:
[codex:542750] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:542750] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:542750] 
[codex:542750] Output MUST be valid JSON matching the provided schema.
[codex:542750] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:542750] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:542750] 
[codex:542750] Output constraints (IMPORTANT):
[codex:542750] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:542750] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:542750] mcp startup: no servers
[codex:542750] 
[codex:542750] thinking
[codex:542750] **Preparing to read skill and audit files**
[codex:542750] exec
[codex:542750] /bin/bash -lc ls in /tmp/codex-multi-bhjp5pzw succeeded in 5ms:
[codex:542750] AUDIT_BUNDLE.txt
[codex:542750] codex-output-schema.json
[codex:542750] contracts
[codex:542750] 
[codex:542750] thinking
[codex:542750] **Checking audit bundle relevance**
[codex:542750] exec
[codex:542750] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-bhjp5pzw succeeded in 6ms:
[codex:542750] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:542750] 
[codex:542750] ================================================================================
[codex:542750] FILE: contracts/@chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol
[codex:542750] ================================================================================
[codex:542750] // SPDX-License-Identifier: MIT
[codex:542750] pragma solidity >=0.6.0;
[codex:542750] 
[codex:542750] interface AggregatorV3Interface {
[codex:542750] 
[codex:542750]   function decimals() external view returns (uint8);
[codex:542750]   function description() external view returns (string memory);
[codex:542750]   function version() external view returns (uint256);
[codex:542750] 
[codex:542750]   // getRoundData and latestRoundData should both raise "No data present"
[codex:542750]   // if they do not have data to report, instead of returning unset values
[codex:542750]   // which could be misinterpreted as actual reported values.
[codex:542750]   function getRoundData(uint80 _roundId)
[codex:542750]     external
[codex:542750]     view
[codex:542750] 
[codex:542750] thinking
[codex:542750] **Reviewing AUDIT_BUNDLE contents**
[codex:542750] exec
[codex:542750] /bin/bash -lc 'rg -n "FILE: contracts/contracts" -n AUDIT_BUNDLE.txt' in /tmp/codex-multi-bhjp5pzw succeeded in 6ms:
[codex:542750] 2023:FILE: contracts/contracts/ETHVaultHandler.sol
[codex:542750] 2153:FILE: contracts/contracts/IVaultHandler.sol
[codex:542750] 2947:FILE: contracts/contracts/IWETH.sol
[codex:542750] 3032:FILE: contracts/contracts/Orchestrator.sol
[codex:542750] 3384:FILE: contracts/contracts/TCAP.sol
[codex:542750] 3588:FILE: contracts/contracts/oracles/ChainlinkOracle.sol
[codex:542750] 
[codex:542750] thinking
[codex:542750] **Preparing to examine vault handler contracts**
[codex:542750] exec
[codex:542750] /bin/bash -lc "sed -n '2023,2152p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-bhjp5pzw succeeded in 6ms:
[codex:542750] FILE: contracts/contracts/ETHVaultHandler.sol
[codex:542750] ================================================================================
[codex:542750] // SPDX-License-Identifier: MIT
[codex:542750] pragma solidity 0.7.5;
[codex:542750] 
[codex:542750] import "./IVaultHandler.sol";
[codex:542750] import "./Orchestrator.sol";
[codex:542750] import "./IWETH.sol";
[codex:542750] import "@openzeppelin/contracts/math/SafeMath.sol";
[codex:542750] 
[codex:542750] /**
[codex:542750]  * @title ETH TCAP Vault
[codex:542750]  * @author Cryptex.finance
[codex:542750]  * @notice Contract in charge of handling the TCAP Vault and stake using a ETH and WETH
[codex:542750]  */
[codex:542750] contract ETHVaultHandler is IVaultHandler {
[codex:542750]   /// @notice Open Zeppelin libraries
[codex:542750]   using SafeMath for uint256;
[codex:542750] 
[codex:542750]   /**
[codex:542750] 
[codex:542750] thinking
[codex:542750] **Reviewing IVaultHandler and IWETH interfaces**
[codex:542750] exec
[codex:542750] /bin/bash -lc "sed -n '2153,2946p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-bhjp5pzw succeeded in 6ms:
[codex:542750] FILE: contracts/contracts/IVaultHandler.sol
[codex:542750] ================================================================================
[codex:542750] // SPDX-License-Identifier: MIT
[codex:542750] pragma solidity 0.7.5;
[codex:542750] 
[codex:542750] import "@openzeppelin/contracts/access/Ownable.sol";
[codex:542750] import "@openzeppelin/contracts/access/AccessControl.sol";
[codex:542750] import "@openzeppelin/contracts/math/SafeMath.sol";
[codex:542750] import "@openzeppelin/contracts/utils/SafeCast.sol";
[codex:542750] import "@openzeppelin/contracts/token/ERC20/SafeERC20.sol";
[codex:542750] import "@openzeppelin/contracts/utils/ReentrancyGuard.sol";
[codex:542750] import "@openzeppelin/contracts/utils/Counters.sol";
[codex:542750] import "@openzeppelin/contracts/utils/Pausable.sol";
[codex:542750] import "@openzeppelin/contracts/introspection/IERC165.sol";
[codex:542750] import "./TCAP.sol";
[codex:542750] import "./Orchestrator.sol";
[codex:542750] import "./oracles/ChainlinkOracle.sol";
[codex:542750] 
[codex:542750] interface IRewardHandler {
[codex:542750]   function stake(address _staker, uint256 amount) external;
[codex:542750] 
[codex:542750] thinking
[codex:542750] **Identifying dependency requirement**
[codex:542750] exec
[codex:542750] /bin/bash -lc "sed -n '2947,3031p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-bhjp5pzw succeeded in 6ms:
[codex:542750] FILE: contracts/contracts/IWETH.sol
[codex:542750] ================================================================================
[codex:542750] // SPDX-License-Identifier: MIT
[codex:542750] pragma solidity 0.7.5;
[codex:542750] 
[codex:542750] interface IWETH {
[codex:542750]   function deposit() external payable;
[codex:542750] 
[codex:542750]   function withdraw(uint256) external;
[codex:542750] 
[codex:542750]   function totalSupply() external view returns (uint256);
[codex:542750] 
[codex:542750]   /**
[codex:542750]    * @dev Returns the amount of tokens owned by `account`.
[codex:542750]    */
[codex:542750]   function balanceOf(address account) external view returns (uint256);
[codex:542750] 
[codex:542750]   /**
[codex:542750]    * @dev Moves `amount` tokens from the caller's account to `recipient`.
[codex:542750]    *
[codex:542750] 
[codex:542750] 
[codex:542750] 
[codex:542750] 
[codex:542750] thinking
[codex:542750] **Analyzing first-party contracts for vulnerabilities**
[codex:542750] thinking
[codex:542750] **Continuing detailed vulnerability review**
[codex:542750] 
[codex:542750] This is a thorough follow-up exploring edge cases around access control, oracle freshness, reentrancy, and arithmetic safeguards in vault and oracle handling. I’m carefully weighing possible misconfigurations, subtle reentrancy paths, and oracle manipulation risks while seeking meaningful issues beyond intended admin controls. Lots of nuances here!
[codex:542750] thinking
[codex:542750] **Identifying collateral withdrawal rounding flaw**
[codex:542750] 
[codex:542750] I’m unpacking how removing collateral skips ratio checks when computed ratio rounds to zero, allowing vault owners to drain collateral if their vault is extremely undercollateralized—this subtle bug could let users circumvent collateral requirements under rare but plausible price crash scenarios. It’s a neat catch with important accounting implications!
[codex:542750] thinking
[codex:542750] **Preparing detailed findings and line references**
[codex:542750] 
[codex:542750] I’m finalizing the main issues to report—missing oracle staleness check, ratio check skipping due to rounding in collateral removal—and planning to pull exact file paths and line numbers with tooling like ripgrep to back findings with precise code locations. This will help deliver a clear, actionable summary!
[codex:542750] exec
[codex:542750] /bin/bash -lc 'rg -n "removeCollateral" contracts/contracts/IVaultHandler.sol' in /tmp/codex-multi-bhjp5pzw succeeded in 8ms:
[codex:542750] 380:  function removeCollateral(uint256 _amount)
[codex:542750] 393:      "VaultHandler::removeCollateral: retrieve amount higher than collateral"
[codex:542750] 400:        "VaultHandler::removeCollateral: collateral below min required ratio"
[codex:542750] 405:      "VaultHandler::removeCollateral: ERC20 transfer did not succeed"
[codex:542750] 
[codex:542750] thinking
[codex:542750] **Locating specific code lines**
[codex:542750] exec
[codex:542750] /bin/bash -lc "nl -ba contracts/contracts/IVaultHandler.sol | sed -n '380,410p'" in /tmp/codex-multi-bhjp5pzw succeeded in 21ms:
[codex:542750]    380	  function removeCollateral(uint256 _amount)
[codex:542750]    381	    external
[codex:542750]    382	    virtual
[codex:542750]    383	    nonReentrant
[codex:542750]    384	    vaultExists
[codex:542750]    385	    whenNotPaused
[codex:542750]    386	    notZero(_amount)
[codex:542750]    387	  {
[codex:542750]    388	    Vault storage vault = vaults[userToVault[msg.sender]];
[codex:542750]    389	    uint256 currentRatio = getVaultRatio(vault.Id);
[codex:542750]    390	
[codex:542750]    391	    require(
[codex:542750]    392	      vault.Collateral >= _amount,
[codex:542750]    393	      "VaultHandler::removeCollateral: retrieve amount higher than collateral"
[codex:542750]    394	    );
[codex:542750]    395	
[codex:542750]    396	    vault.Collateral = vault.Collateral.sub(_amount);
[codex:542750]    397	    if (currentRatio != 0) {
[codex:542750]    398	      require(
[codex:542750]    399	        getVaultRatio(vault.Id) >= ratio,
[codex:542750] 
[codex:542750] thinking
[codex:542750] **Planning ETHVaultHandler update**
[codex:542750] exec
[codex:542750] /bin/bash -lc "nl -ba contracts/contracts/ETHVaultHandler.sol | sed -n '70,130p'" in /tmp/codex-multi-bhjp5pzw succeeded in 6ms:
[codex:542750]     70	  /**
[codex:542750]     71	   * @notice Adds collateral to vault using ETH
[codex:542750]     72	   * @dev value should be higher than 0
[codex:542750]     73	   * @dev ETH is turned into WETH
[codex:542750]     74	   */
[codex:542750]     75	  function addCollateralETH()
[codex:542750]     76	    external
[codex:542750]     77	    payable
[codex:542750]     78	    nonReentrant
[codex:542750]     79	    vaultExists
[codex:542750]     80	    whenNotPaused
[codex:542750]     81	  {
[codex:542750]     82	    require(
[codex:542750]     83	      msg.value > 0,
[codex:542750]     84	      "ETHVaultHandler::addCollateralETH: value can't be 0"
[codex:542750]     85	    );
[codex:542750]     86	    IWETH(address(collateralContract)).deposit{value: msg.value}();
[codex:542750]     87	    Vault storage vault = vaults[userToVault[msg.sender]];
[codex:542750]     88	    vault.Collateral = vault.Collateral.add(msg.value);
[codex:542750]     89	    emit CollateralAdded(msg.sender, vault.Id, msg.value);
[codex:542750] 
[codex:542750] thinking
[codex:542750] **Identifying relevant lines in ChainlinkOracle**
[codex:542750] exec
[codex:542750] /bin/bash -lc "nl -ba contracts/contracts/oracles/ChainlinkOracle.sol | sed -n '50,120p'" in /tmp/codex-multi-bhjp5pzw succeeded in 6ms:
[codex:542750]     50	  function getLatestAnswer() public view returns (int256) {
[codex:542750]     51	    (
[codex:542750]     52	      uint80 roundID,
[codex:542750]     53	      int256 price,
[codex:542750]     54	      ,
[codex:542750]     55	      uint256 timeStamp,
[codex:542750]     56	      uint80 answeredInRound
[codex:542750]     57	    ) = aggregatorContract.latestRoundData();
[codex:542750]     58	    require(
[codex:542750]     59	      timeStamp != 0,
[codex:542750]     60	      "ChainlinkOracle::getLatestAnswer: round is not complete"
[codex:542750]     61	    );
[codex:542750]     62	    require(
[codex:542750]     63	      answeredInRound >= roundID,
[codex:542750]     64	      "ChainlinkOracle::getLatestAnswer: stale data"
[codex:542750]     65	    );
[codex:542750]     66	    return price;
[codex:542750]     67	  }
[codex:542750]     68	
[codex:542750]     69	  /**
[codex:542750] 
[codex:542750] thinking
[codex:542750] **Preparing to cite getOraclePrice usage**
[codex:542750] exec
[codex:542750] /bin/bash -lc "nl -ba contracts/contracts/IVaultHandler.sol | sed -n '470,540p'" in /tmp/codex-multi-bhjp5pzw succeeded in 6ms:
[codex:542750]    470	    Vault memory vault = vaults[userToVault[msg.sender]];
[codex:542750]    471	
[codex:542750]    472	    _burn(vault.Id, _amount);
[codex:542750]    473	
[codex:542750]    474	    if (address(rewardHandler) != address(0)) {
[codex:542750]    475	      rewardHandler.withdraw(msg.sender, _amount);
[codex:542750]    476	      rewardHandler.getRewardFromVault(msg.sender);
[codex:542750]    477	    }
[codex:542750]    478	    safeTransferETH(treasury, fee);
[codex:542750]    479	
[codex:542750]    480	    //send back ETH above fee
[codex:542750]    481	    safeTransferETH(msg.sender, msg.value.sub(fee));
[codex:542750]    482	    emit TokensBurned(msg.sender, vault.Id, _amount);
[codex:542750]    483	  }
[codex:542750]    484	
[codex:542750]    485	  /**
[codex:542750]    486	   * @notice Allow users to burn TCAP tokens to liquidate vaults with vault collateral ratio under the minium ratio, the liquidator receives the staked collateral of the liquidated vault at a premium
[codex:542750]    487	   * @param _vaultId to liquidate
[codex:542750]    488	   * @param _maxTCAP max amount of TCAP the liquidator is willing to pay to liquidate vault
[codex:542750]    489	   * @dev Resulting ratio must be above or equal minimun ratio
[codex:542750] 
[codex:542750] thinking
[codex:542750] **Locating getOraclePrice implementation**
[codex:542750] exec
[codex:542750] /bin/bash -lc "nl -ba contracts/contracts/IVaultHandler.sol | sed -n '560,660p'" in /tmp/codex-multi-bhjp5pzw succeeded in 6ms:
[codex:542750]    560	   * @dev Only owner  can call it
[codex:542750]    561	   */
[codex:542750]    562	  function recoverERC20(address _tokenAddress, uint256 _tokenAmount)
[codex:542750]    563	    external
[codex:542750]    564	    onlyOwner
[codex:542750]    565	  {
[codex:542750]    566	    // Cannot recover the collateral token
[codex:542750]    567	    require(
[codex:542750]    568	      _tokenAddress != address(collateralContract),
[codex:542750]    569	      "Cannot withdraw the collateral tokens"
[codex:542750]    570	    );
[codex:542750]    571	    IERC20(_tokenAddress).safeTransfer(owner(), _tokenAmount);
[codex:542750]    572	    emit Recovered(_tokenAddress, _tokenAmount);
[codex:542750]    573	  }
[codex:542750]    574	
[codex:542750]    575	  /**
[codex:542750]    576	   * @notice Allows the safe transfer of ETH
[codex:542750]    577	   * @param _to account to transfer ETH
[codex:542750]    578	   * @param _value amount of ETH
[codex:542750]    579	   */
[codex:542750] 
[codex:542750] thinking
[codex:542750] **Analyzing oracle and collateral vulnerabilities**
[codex:542750] exec
[codex:542750] /bin/bash -lc 'cat codex-output-schema.json' in /tmp/codex-multi-bhjp5pzw succeeded in 5ms:
[codex:542750] {"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:542750] 
[codex:542750] thinking
[codex:542750] **Composing detailed JSON vulnerability report**
[codex:542750] 
[codex:542750] I’m putting together a JSON report with a concise summary and two detailed findings: one about the collateral withdrawal ratio bypass due to integer truncation, and one about missing oracle data freshness enforcement. I’m carefully matching the schema with severity, categories, evidence referencing specific file lines, exploit scenarios, and recommendations—all as strings. This will help clearly highlight the risks and fixes.
[codex:542750] codex
[codex:542750] {"no_findings":false,"summary":"Found 2 issues: stale oracle data is accepted without a freshness bound, and collateral withdrawal can bypass the min-ratio check when the computed ratio truncates to zero.","findings":[{"severity":"medium","category":"oracle","title":"Oracle price freshness is not enforced, allowing stale prices","exploit_scenario":"If a Chainlink feed stops updating during a sharp market move, `getLatestAnswer` will still return the last value (timestamp != 0 and answeredInRound >= roundID) and the protocol will use that stale price for minting, burning fees, and liquidation checks. An attacker (or any vault owner) can then mint/withdraw based on an outdated high collateral price (or outdated low TCAP price), leaving the system undercollateralized and delaying liquidations.","recommendation":"Add a configurable max staleness window per feed and require `block.timestamp - timeStamp <= maxDelay` (and optionally `price > 0`) before using the value. Fail closed when the data is stale.","evidence":"`ChainlinkOracle.getLatestAnswer` only checks that `timeStamp != 0` and `answeredInRound >= roundID` but never bounds staleness; `IVaultHandler.getOraclePrice` relies on it for all pricing.","locations":["contracts/contracts/oracles/ChainlinkOracle.sol:50","contracts/contracts/oracles/ChainlinkOracle.sol:58","contracts/contracts/oracles/ChainlinkOracle.sol:62","contracts/contracts/IVaultHandler.sol:625"]},{"severity":"low","category":"math","title":"Collateral withdrawal can skip ratio enforcement when computed ratio rounds to zero","exploit_scenario":"If a vault becomes severely undercollateralized such that `getVaultRatio` truncates to 0 (ratio < 1%), `removeCollateral`/`removeCollateralETH` will skip the min-ratio check (`currentRatio != 0`). The vault owner can then withdraw remaining collateral even though debt is still outstanding, worsening protocol losses and bypassing intended invariant checks.","recommendation":"Gate the ratio check on `vault.Debt > 0` (or always enforce it when debt exists) instead of `currentRatio != 0`, or compute ratios with higher precision to avoid truncation to zero.","evidence":"Both collateral removal functions only enforce the ratio check when `currentRatio != 0`, but `getVaultRatio` returns 0 not only for zero debt, but also for very low ratios due to integer truncation.","locations":["contracts/contracts/IVaultHandler.sol:388","contracts/contracts/IVaultHandler.sol:397","contracts/contracts/ETHVaultHandler.sol:108","contracts/contracts/ETHVaultHandler.sol:115"]}]}
[codex:542750] tokens used
[codex:542750] 40,231
[codex:542750] {"no_findings":false,"summary":"Found 2 issues: stale oracle data is accepted without a freshness bound, and collateral withdrawal can bypass the min-ratio check when the computed ratio truncates to zero.","findings":[{"severity":"medium","category":"oracle","title":"Oracle price freshness is not enforced, allowing stale prices","exploit_scenario":"If a Chainlink feed stops updating during a sharp market move, `getLatestAnswer` will still return the last value (timestamp != 0 and answeredInRound >= roundID) and the protocol will use that stale price for minting, burning fees, and liquidation checks. An attacker (or any vault owner) can then mint/withdraw based on an outdated high collateral price (or outdated low TCAP price), leaving the system undercollateralized and delaying liquidations.","recommendation":"Add a configurable max staleness window per feed and require `block.timestamp - timeStamp <= maxDelay` (and optionally `price > 0`) before using the value. Fail closed when the data is stale.","evidence":"`ChainlinkOracle.getLatestAnswer` only checks that `timeStamp != 0` and `answeredInRound >= roundID` but never bounds staleness; `IVaultHandler.getOraclePrice` relies on it for all pricing.","locations":["contracts/contracts/oracles/ChainlinkOracle.sol:50","contracts/contracts/oracles/ChainlinkOracle.sol:58","contracts/contracts/oracles/ChainlinkOracle.sol:62","contracts/contracts/IVaultHandler.sol:625"]},{"severity":"low","category":"math","title":"Collateral withdrawal can skip ratio enforcement when computed ratio rounds to zero","exploit_scenario":"If a vault becomes severely undercollateralized such that `getVaultRatio` truncates to 0 (ratio < 1%), `removeCollateral`/`removeCollateralETH` will skip the min-ratio check (`currentRatio != 0`). The vault owner can then withdraw remaining collateral even though debt is still outstanding, worsening protocol losses and bypassing intended invariant checks.","recommendation":"Gate the ratio check on `vault.Debt > 0` (or always enforce it when debt exists) instead of `currentRatio != 0`, or compute ratios with higher precision to avoid truncation to zero.","evidence":"Both collateral removal functions only enforce the ratio check when `currentRatio != 0`, but `getVaultRatio` returns 0 not only for zero debt, but also for very low ratios due to integer truncation.","locations":["contracts/contracts/IVaultHandler.sol:388","contracts/contracts/IVaultHandler.sol:397","contracts/contracts/ETHVaultHandler.sol:108","contracts/contracts/ETHVaultHandler.sol:115"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-30T15:49:04.220914+00:00",
        "returncode": 0
    },
    "summary": "Found 2 issues: stale oracle data is accepted without a freshness bound, and collateral withdrawal can bypass the min-ratio check when the computed ratio truncates to zero.",
    "raw_final": {
        "summary": "Found 2 issues: stale oracle data is accepted without a freshness bound, and collateral withdrawal can bypass the min-ratio check when the computed ratio truncates to zero.",
        "findings": [
            {
                "title": "Oracle price freshness is not enforced, allowing stale prices",
                "category": "oracle",
                "evidence": "`ChainlinkOracle.getLatestAnswer` only checks that `timeStamp != 0` and `answeredInRound >= roundID` but never bounds staleness; `IVaultHandler.getOraclePrice` relies on it for all pricing.",
                "severity": "medium",
                "locations": [
                    "contracts/contracts/oracles/ChainlinkOracle.sol:50",
                    "contracts/contracts/oracles/ChainlinkOracle.sol:58",
                    "contracts/contracts/oracles/ChainlinkOracle.sol:62",
                    "contracts/contracts/IVaultHandler.sol:625"
                ],
                "recommendation": "Add a configurable max staleness window per feed and require `block.timestamp - timeStamp <= maxDelay` (and optionally `price > 0`) before using the value. Fail closed when the data is stale.",
                "exploit_scenario": "If a Chainlink feed stops updating during a sharp market move, `getLatestAnswer` will still return the last value (timestamp != 0 and answeredInRound >= roundID) and the protocol will use that stale price for minting, burning fees, and liquidation checks. An attacker (or any vault owner) can then mint/withdraw based on an outdated high collateral price (or outdated low TCAP price), leaving the system undercollateralized and delaying liquidations."
            },
            {
                "title": "Collateral withdrawal can skip ratio enforcement when computed ratio rounds to zero",
                "category": "math",
                "evidence": "Both collateral removal functions only enforce the ratio check when `currentRatio != 0`, but `getVaultRatio` returns 0 not only for zero debt, but also for very low ratios due to integer truncation.",
                "severity": "low",
                "locations": [
                    "contracts/contracts/IVaultHandler.sol:388",
                    "contracts/contracts/IVaultHandler.sol:397",
                    "contracts/contracts/ETHVaultHandler.sol:108",
                    "contracts/contracts/ETHVaultHandler.sol:115"
                ],
                "recommendation": "Gate the ratio check on `vault.Debt > 0` (or always enforce it when debt exists) instead of `currentRatio != 0`, or compute ratios with higher precision to avoid truncation to zero.",
                "exploit_scenario": "If a vault becomes severely undercollateralized such that `getVaultRatio` truncates to 0 (ratio < 1%), `removeCollateral`/`removeCollateralETH` will skip the min-ratio check (`currentRatio != 0`). The vault owner can then withdraw remaining collateral even though debt is still outstanding, worsening protocol losses and bypassing intended invariant checks."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
15
EXT*/BALANCE
13
Total opcodes
10215
Flags
heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x031e
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x842e357c
00000019: GT
0000001a: PUSH2 0x01ab
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xabb7bc4a
00000024: GT
00000025: PUSH2 0x00f7
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xd318a7df
0000002f: GT
00000030: PUSH2 0x0095
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xf0f44260
0000003a: GT
0000003b: PUSH2 0x006f
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xf0f44260
00000045: EQ
00000046: PUSH2 0x0a6e
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xf2fde38b
00000050: EQ
00000051: PUSH2 0x0aa1
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xfce589d8
0000005b: EQ
0000005c: PUSH2 0x0ad4
0000005f: JUMPI
00000060: DUP1
00000061: PUSH4 0xfcee45f4
00000066: EQ
00000067: PUSH2 0x0ae9
0000006a: JUMPI
0000006b: PUSH2 0x0357
0000006e: JUMP
0000006f: JUMPDEST
00000070: DUP1
00000071: PUSH4 0xd318a7df
00000076: EQ
00000077: PUSH2 0x09e1
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0xd547741f
00000081: EQ
00000082: PUSH2 0x0a0b
00000085: JUMPI
00000086: DUP1
00000087: PUSH4 0xde9952c9
0000008c: EQ
0000008d: PUSH2 0x0a44
00000090: JUMPI
00000091: PUSH2 0x0357
00000094: JUMP
00000095: JUMPDEST
00000096: DUP1
00000097: PUSH4 0xbc721a96
0000009c: GT
0000009d: PUSH2 0x00d1
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0xbc721a96
000000a7: EQ
000000a8: PUSH2 0x0945
000000ab: JUMPI
000000ac: DUP1
000000ad: PUSH4 0xbcc46e83
000000b2: EQ
000000b3: PUSH2 0x0978
000000b6: JUMPI
000000b7: DUP1
000000b8: PUSH4 0xc6e1c7c9
000000bd: EQ
000000be: PUSH2 0x09a2
000000c1: JUMPI
000000c2: DUP1
000000c3: PUSH4 0xca15c873
000000c8: EQ
000000c9: PUSH2 0x09b7
000000cc: JUMPI
000000cd: PUSH2 0x0357
000000d0: JUMP
000000d1: JUMPDEST
000000d2: DUP1
000000d3: PUSH4 0xabb7bc4a
000000d8: EQ
000000d9: PUSH2 0x08dc
000000dc: JUMPI
000000dd: DUP1
000000de: PUSH4 0xb2237ba3
000000e3: EQ
000000e4: PUSH2 0x0906
000000e7: JUMPI
000000e8: DUP1
000000e9: PUSH4 0xbc063e1a
000000ee: EQ
000000ef: PUSH2 0x0930
000000f2: JUMPI
000000f3: PUSH2 0x0357
000000f6: JUMP
000000f7: JUMPDEST
000000f8: DUP1
000000f9: PUSH4 0x9010d07c
000000fe: GT
000000ff: PUSH2 0x0164
00000102: JUMPI
00000103: DUP1
00000104: PUSH4 0x952cc86a
00000109: GT
0000010a: PUSH2 0x013e
0000010d: JUMPI
0000010e: DUP1
0000010f: PUSH4 0x952cc86a
00000114: EQ
00000115: PUSH2 0x0865
00000118: JUMPI
00000119: DUP1
0000011a: PUSH4 0x97994e30
0000011f: EQ
00000120: PUSH2 0x0888
00000123: JUMPI
00000124: DUP1
00000125: PUSH4 0xa0712d68
0000012a: EQ
0000012b: PUSH2 0x089d
0000012e: JUMPI
0000012f: DUP1
00000130: PUSH4 0xa217fddf
00000135: EQ
00000136: PUSH2 0x08c7
00000139: JUMPI
0000013a: PUSH2 0x0357
0000013d: JUMP
0000013e: JUMPDEST
0000013f: DUP1
00000140: PUSH4 0x9010d07c
00000145: EQ
00000146: PUSH2 0x07a4
00000149: JUMPI
0000014a: DUP1
0000014b: PUSH4 0x91d14854
00000150: EQ
00000151: PUSH2 0x07d4
00000154: JUMPI
00000155: DUP1
00000156: PUSH4 0x9403b634
0000015b: EQ
0000015c: PUSH2 0x080d
0000015f: JUMPI
00000160: PUSH2 0x0357
00000163: JUMP
00000164: JUMPDEST
00000165: DUP1
00000166: PUSH4 0x842e357c
0000016b: EQ
0000016c: PUSH2 0x06a9
0000016f: JUMPI
00000170: DUP1
00000171: PUSH4 0x8456cb59
00000176: EQ
00000177: PUSH2 0x06be
0000017a: JUMPI
0000017b: DUP1
0000017c: PUSH4 0x8980f11f
00000181: EQ
00000182: PUSH2 0x06d3
00000185: JUMPI
00000186: DUP1
00000187: PUSH4 0x8c01f211
0000018c: EQ
0000018d: PUSH2 0x070c
00000190: JUMPI
00000191: DUP1
00000192: PUSH4 0x8c64ea4a
00000197: EQ
00000198: PUSH2 0x0736
0000019b: JUMPI
0000019c: DUP1
0000019d: PUSH4 0x8da5cb5b
000001a2: EQ
000001a3: PUSH2 0x078f
000001a6: JUMPI
000001a7: PUSH2 0x0357
000001aa: JUMP
000001ab: JUMPDEST
000001ac: DUP1
000001ad: PUSH4 0x42966c68
000001b2: GT
000001b3: PUSH2 0x026a
000001b6: JUMPI
000001b7: DUP1
000001b8: PUSH4 0x61d027b3
000001bd: GT
000001be: PUSH2 0x0223
000001c1: JUMPI
000001c2: DUP1
000001c3: PUSH4 0x6ca2143c
000001c8: GT
000001c9: PUSH2 0x01fd
000001cc: JUMPI
000001cd: DUP1
000001ce: PUSH4 0x6ca2143c
000001d3: EQ
000001d4: PUSH2 0x0637
000001d7: JUMPI
000001d8: DUP1
000001d9: PUSH4 0x715018a6
000001de: EQ
000001df: PUSH2 0x064c
000001e2: JUMPI
000001e3: DUP1
000001e4: PUSH4 0x71ca337d
000001e9: EQ
000001ea: PUSH2 0x0661
000001ed: JUMPI
000001ee: DUP1
000001ef: PUSH4 0x75f620ac
000001f4: EQ
000001f5: PUSH2 0x0676
000001f8: JUMPI
000001f9: PUSH2 0x0357
000001fc: JUMP
000001fd: JUMPDEST
000001fe: DUP1
000001ff: PUSH4 0x61d027b3
00000204: EQ
00000205: PUSH2 0x05f8
00000208: JUMPI
00000209: DUP1
0000020a: PUSH4 0x670fb821
0000020f: EQ
00000210: PUSH2 0x060d
00000213: JUMPI
00000214: DUP1
00000215: PUSH4 0x6ae7adc1
0000021a: EQ
0000021b: PUSH2 0x0622
0000021e: JUMPI
0000021f: PUSH2 0x0357
00000222: JUMP
00000223: JUMPDEST
00000224: DUP1
00000225: PUSH4 0x42966c68
0000022a: EQ
0000022b: PUSH2 0x055d
0000022e: JUMPI
0000022f: DUP1
00000230: PUSH4 0x46dc9007
00000235: EQ
00000236: PUSH2 0x057a
00000239: JUMPI
0000023a: DUP1
0000023b: PUSH4 0x4bf2c7c9
00000240: EQ
00000241: PUSH2 0x058f
00000244: JUMPI
00000245: DUP1
00000246: PUSH4 0x5c975abb
0000024b: EQ
0000024c: PUSH2 0x05b9
0000024f: JUMPI
00000250: DUP1
00000251: PUSH4 0x5d12928b
00000256: EQ
00000257: PUSH2 0x05ce
0000025a: JUMPI
0000025b: DUP1
0000025c: PUSH4 0x61bc221a
00000261: EQ
00000262: PUSH2 0x05e3
00000265: JUMPI
00000266: PUSH2 0x0357
00000269: JUMP
0000026a: JUMPDEST
0000026b: DUP1
0000026c: PUSH4 0x23f5589a
00000271: GT
00000272: PUSH2 0x02d7
00000275: JUMPI
00000276: DUP1
00000277: PUSH4 0x2f2ff15d
0000027c: GT
0000027d: PUSH2 0x02b1
00000280: JUMPI
00000281: DUP1
00000282: PUSH4 0x2f2ff15d
00000287: EQ
00000288: PUSH2 0x04ac
0000028b: JUMPI
0000028c: DUP1
0000028d: PUSH4 0x3237c158
00000292: EQ
00000293: PUSH2 0x04e5
00000296: JUMPI
00000297: DUP1
00000298: PUSH4 0x36568abe
0000029d: EQ
0000029e: PUSH2 0x050f
000002a1: JUMPI
000002a2: DUP1
000002a3: PUSH4 0x3f4ba83a
000002a8: EQ
000002a9: PUSH2 0x0548
000002ac: JUMPI
000002ad: PUSH2 0x0357
000002b0: JUMP
000002b1: JUMPDEST
000002b2: DUP1
000002b3: PUSH4 0x23f5589a
000002b8: EQ
000002b9: PUSH2 0x0443
000002bc: JUMPI
000002bd: DUP1
000002be: PUSH4 0x248a9ca3
000002c3: EQ
000002c4: PUSH2 0x0458
000002c7: JUMPI
000002c8: DUP1
000002c9: PUSH4 0x2806a743
000002ce: EQ
000002cf: PUSH2 0x0482
000002d2: JUMPI
000002d3: PUSH2 0x0357
000002d6: JUMP
000002d7: JUMPDEST
000002d8: DUP1
000002d9: PUSH4 0x01ffc9a7
000002de: EQ
000002df: PUSH2 0x035c
000002e2: JUMPI
000002e3: DUP1
000002e4: PUSH4 0x0d23cc79
000002e9: EQ
000002ea: PUSH2 0x03a4
000002ed: JUMPI
000002ee: DUP1
000002ef: PUSH4 0x0f0aeb8d
000002f4: EQ
000002f5: PUSH2 0x03ac
000002f8: JUMPI
000002f9: DUP1
000002fa: PUSH4 0x11d850e8
000002ff: EQ
00000300: PUSH2 0x03d3
00000303: JUMPI
00000304: DUP1
00000305: PUSH4 0x1cc244ba
0000030a: EQ
0000030b: PUSH2 0x03fd
0000030e: JUMPI
0000030f: DUP1
00000310: PUSH4 0x1f2dc5ef
00000315: EQ
00000316: PUSH2 0x042e
00000319: JUMPI
0000031a: PUSH2 0x0357
0000031d: JUMP
0000031e: JUMPDEST
0000031f: CALLDATASIZE
00000320: PUSH2 0x0357
00000323: JUMPI
00000324: CALLER
00000325: PUSH1 0x01
00000327: PUSH1 0x01
00000329: PUSH1 0xa0
0000032b: SHL
0000032c: SUB
0000032d: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
0000034e: AND
0000034f: EQ
00000350: PUSH2 0x0355
00000353: JUMPI
00000354: INVALID
00000355: JUMPDEST
00000356: STOP
00000357: JUMPDEST
00000358: PUSH1 0x00
0000035a: DUP1
0000035b: REVERT
0000035c: JUMPDEST
0000035d: CALLVALUE
0000035e: DUP1
0000035f: ISZERO
00000360: PUSH2 0x0368
00000363: JUMPI
00000364: PUSH1 0x00
00000366: DUP1
00000367: REVERT
00000368: JUMPDEST
00000369: POP
0000036a: PUSH2 0x0390
0000036d: PUSH1 0x04
0000036f: DUP1
00000370: CALLDATASIZE
00000371: SUB
00000372: PUSH1 0x20
00000374: DUP2
00000375: LT
00000376: ISZERO
00000377: PUSH2 0x037f
0000037a: JUMPI
0000037b: PUSH1 0x00
0000037d: DUP1
0000037e: REVERT
0000037f: JUMPDEST
00000380: POP
00000381: CALLDATALOAD
00000382: PUSH1 0x01
00000384: PUSH1 0x01
00000386: PUSH1 0xe0
00000388: SHL
00000389: SUB
0000038a: NOT
0000038b: AND
0000038c: PUSH2 0x0b13
0000038f: JUMP
00000390: JUMPDEST
00000391: PUSH1 0x40
00000393: DUP1
00000394: MLOAD
00000395: SWAP2
00000396: ISZERO
00000397: ISZERO
00000398: DUP3
00000399: MSTORE
0000039a: MLOAD
0000039b: SWAP1
0000039c: DUP2
0000039d: SWAP1
0000039e: SUB
0000039f: PUSH1 0x20
000003a1: ADD
000003a2: SWAP1
000003a3: RETURN
000003a4: JUMPDEST
000003a5: PUSH2 0x0355
000003a8: PUSH2 0x0b4a
000003ab: JUMP
000003ac: JUMPDEST
000003ad: CALLVALUE
000003ae: DUP1
000003af: ISZERO
000003b0: PUSH2 0x03b8
000003b3: JUMPI
000003b4: PUSH1 0x00
000003b6: DUP1
000003b7: REVERT
000003b8: JUMPDEST
000003b9: POP
000003ba: PUSH2 0x03c1
000003bd: PUSH2 0x0d4f
000003c0: JUMP
000003c1: JUMPDEST
000003c2: PUSH1 0x40
000003c4: DUP1
000003c5: MLOAD
000003c6: SWAP2
000003c7: DUP3
000003c8: MSTORE
000003c9: MLOAD
000003ca: SWAP1
000003cb: DUP2
000003cc: SWAP1
000003cd: SUB
000003ce: PUSH1 0x20
000003d0: ADD
000003d1: SWAP1
000003d2: RETURN
000003d3: JUMPDEST
000003d4: CALLVALUE
000003d5: DUP1
000003d6: ISZERO
000003d7: PUSH2 0x03df
000003da: JUMPI
000003db: PUSH1 0x00
000003dd: DUP1
000003de: REVERT
000003df: JUMPDEST
000003e0: POP
000003e1: PUSH2 0x03c1
000003e4: PUSH1 0x04
000003e6: DUP1
000003e7: CALLDATASIZE
000003e8: SUB
000003e9: PUSH1 0x20
000003eb: DUP2
000003ec: LT
000003ed: ISZERO
000003ee: PUSH2 0x03f6
000003f1: JUMPI
000003f2: PUSH1 0x00
000003f4: DUP1
000003f5: REVERT
000003f6: JUMPDEST
000003f7: POP
000003f8: CALLDATALOAD
000003f9: PUSH2 0x0d54
000003fc: JUMP
000003fd: JUMPDEST
000003fe: CALLVALUE
000003ff: DUP1
00000400: ISZERO
00000401: PUSH2 0x0409
00000404: JUMPI
00000405: PUSH1 0x00
00000407: DUP1
00000408: REVERT
00000409: JUMPDEST
0000040a: POP
0000040b: PUSH2 0x0412
0000040e: PUSH2 0x0de7
00000411: JUMP
00000412: JUMPDEST
00000413: PUSH1 0x40
00000415: DUP1
00000416: MLOAD
00000417: PUSH1 0x01
00000419: PUSH1 0x01
0000041b: PUSH1 0xa0
0000041d: SHL
0000041e: SUB
0000041f: SWAP1
00000420: SWAP3
00000421: AND
00000422: DUP3
00000423: MSTORE
00000424: MLOAD
00000425: SWAP1
00000426: DUP2
00000427: SWAP1
00000428: SUB
00000429: PUSH1 0x20
0000042b: ADD
0000042c: SWAP1
0000042d: RETURN
0000042e: JUMPDEST
0000042f: CALLVALUE
00000430: DUP1
00000431: ISZERO
00000432: PUSH2 0x043a
00000435: JUMPI
00000436: PUSH1 0x00
00000438: DUP1
00000439: REVERT
0000043a: JUMPDEST
0000043b: POP
0000043c: PUSH2 0x03c1
0000043f: PUSH2 0x0e0b
00000442: JUMP
00000443: JUMPDEST
00000444: CALLVALUE
00000445: DUP1
00000446: ISZERO
00000447: PUSH2 0x044f
0000044a: JUMPI
0000044b: PUSH1 0x00
0000044d: DUP1
0000044e: REVERT
0000044f: JUMPDEST
00000450: POP
00000451: PUSH2 0x03c1
00000454: PUSH2 0x0e11
00000457: JUMP
00000458: JUMPDEST
00000459: CALLVALUE
0000045a: DUP1
0000045b: ISZERO
0000045c: PUSH2 0x0464
0000045f: JUMPI
00000460: PUSH1 0x00
00000462: DUP1
00000463: REVERT
00000464: JUMPDEST
00000465: POP
00000466: PUSH2 0x03c1
00000469: PUSH1 0x04
0000046b: DUP1
0000046c: CALLDATASIZE
0000046d: SUB
0000046e: PUSH1 0x20
00000470: DUP2
00000471: LT
00000472: ISZERO
00000473: PUSH2 0x047b
00000476: JUMPI
00000477: PUSH1 0x00
00000479: DUP1
0000047a: REVERT
0000047b: JUMPDEST
0000047c: POP
0000047d: CALLDATALOAD
0000047e: PUSH2 0x0e17
00000481: JUMP
00000482: JUMPDEST
00000483: CALLVALUE
00000484: DUP1
00000485: ISZERO
00000486: PUSH2 0x048e
00000489: JUMPI
0000048a: PUSH1 0x00
0000048c: DUP1
0000048d: REVERT
0000048e: JUMPDEST
0000048f: POP
00000490: PUSH2 0x0355
00000493: PUSH1 0x04
00000495: DUP1
00000496: CALLDATASIZE
00000497: SUB
00000498: PUSH1 0x20
0000049a: DUP2
0000049b: LT
0000049c: ISZERO
0000049d: PUSH2 0x04a5
000004a0: JUMPI
000004a1: PUSH1 0x00
000004a3: DUP1
000004a4: REVERT
000004a5: JUMPDEST
000004a6: POP
000004a7: CALLDATALOAD
000004a8: PUSH2 0x0e2c
000004ab: JUMP
000004ac: JUMPDEST
000004ad: CALLVALUE
000004ae: DUP1
000004af: ISZERO
000004b0: PUSH2 0x04b8
000004b3: JUMPI
000004b4: PUSH1 0x00
000004b6: DUP1
000004b7: REVERT
000004b8: JUMPDEST
000004b9: POP
000004ba: PUSH2 0x0355
000004bd: PUSH1 0x04
000004bf: DUP1
000004c0: CALLDATASIZE
000004c1: SUB
000004c2: PUSH1 0x40
000004c4: DUP2
000004c5: LT
000004c6: ISZERO
000004c7: PUSH2 0x04cf
000004ca: JUMPI
000004cb: PUSH1 0x00
000004cd: DUP1
000004ce: REVERT
000004cf: JUMPDEST
000004d0: POP
000004d1: DUP1
000004d2: CALLDATALOAD
000004d3: SWAP1
000004d4: PUSH1 0x20
000004d6: ADD
000004d7: CALLDATALOAD
000004d8: PUSH1 0x01
000004da: PUSH1 0x01
000004dc: PUSH1 0xa0
000004de: SHL
000004df: SUB
000004e0: AND
000004e1: PUSH2 0x0f0c
000004e4: JUMP
000004e5: JUMPDEST
000004e6: CALLVALUE
000004e7: DUP1
000004e8: ISZERO
000004e9: PUSH2 0x04f1
000004ec: JUMPI
000004ed: PUSH1 0x00
000004ef: DUP1
000004f0: REVERT
000004f1: JUMPDEST
000004f2: POP
000004f3: PUSH2 0x0355
000004f6: PUSH1 0x04
000004f8: DUP1
000004f9: CALLDATASIZE
000004fa: SUB
000004fb: PUSH1 0x20
000004fd: DUP2
000004fe: LT
000004ff: ISZERO
00000500: PUSH2 0x0508
00000503: JUMPI
00000504: PUSH1 0x00
00000506: DUP1
00000507: REVERT
00000508: JUMPDEST
00000509: POP
0000050a: CALLDATALOAD
0000050b: PUSH2 0x0f78
0000050e: JUMP
0000050f: JUMPDEST
00000510: CALLVALUE
00000511: DUP1
00000512: ISZERO
00000513: PUSH2 0x051b
00000516: JUMPI
00000517: PUSH1 0x00
00000519: DUP1
0000051a: REVERT
0000051b: JUMPDEST
0000051c: POP
0000051d: PUSH2 0x0355
00000520: PUSH1 0x04
00000522: DUP1
00000523: CALLDATASIZE
00000524: SUB
00000525: PUSH1 0x40
00000527: DUP2
00000528: LT
00000529: ISZERO
0000052a: PUSH2 0x0532
0000052d: JUMPI
0000052e: PUSH1 0x00
00000530: DUP1
00000531: REVERT
00000532: JUMPDEST
00000533: POP
00000534: DUP1
00000535: CALLDATALOAD
00000536: SWAP1
00000537: PUSH1 0x20
00000539: ADD
0000053a: CALLDATALOAD
0000053b: PUSH1 0x01
0000053d: PUSH1 0x01
0000053f: PUSH1 0xa0
00000541: SHL
00000542: SUB
00000543: AND
00000544: PUSH2 0x1281
00000547: JUMP
00000548: JUMPDEST
00000549: CALLVALUE
0000054a: DUP1
0000054b: ISZERO
0000054c: PUSH2 0x0554
0000054f: JUMPI
00000550: PUSH1 0x00
00000552: DUP1
00000553: REVERT
00000554: JUMPDEST
00000555: POP
00000556: PUSH2 0x0355
00000559: PUSH2 0x12e2
0000055c: JUMP
0000055d: JUMPDEST
0000055e: PUSH2 0x0355
00000561: PUSH1 0x04
00000563: DUP1
00000564: CALLDATASIZE
00000565: SUB
00000566: PUSH1 0x20
00000568: DUP2
00000569: LT
0000056a: ISZERO
0000056b: PUSH2 0x0573
0000056e: JUMPI
0000056f: PUSH1 0x00
00000571: DUP1
00000572: REVERT
00000573: JUMPDEST
00000574: POP
00000575: CALLDATALOAD
00000576: PUSH2 0x1344
00000579: JUMP
0000057a: JUMPDEST
0000057b: CALLVALUE
0000057c: DUP1
0000057d: ISZERO
0000057e: PUSH2 0x0586
00000581: JUMPI
00000582: PUSH1 0x00
00000584: DUP1
00000585: REVERT
00000586: JUMPDEST
00000587: POP
00000588: PUSH2 0x03c1
0000058b: PUSH2 0x16b4
0000058e: JUMP
0000058f: JUMPDEST
00000590: CALLVALUE
00000591: DUP1
00000592: ISZERO
00000593: PUSH2 0x059b
00000596: JUMPI
00000597: PUSH1 0x00
00000599: DUP1
0000059a: REVERT
0000059b: JUMPDEST
0000059c: POP
0000059d: PUSH2 0x0355
000005a0: PUSH1 0x04
000005a2: DUP1
000005a3: CALLDATASIZE
000005a4: SUB
000005a5: PUSH1 0x20
000005a7: DUP2
000005a8: LT
000005a9: ISZERO
000005aa: PUSH2 0x05b2
000005ad: JUMPI
000005ae: PUSH1 0x00
000005b0: DUP1
000005b1: REVERT
000005b2: JUMPDEST
000005b3: POP
000005b4: CALLDATALOAD
000005b5: PUSH2 0x16fd
000005b8: JUMP
000005b9: JUMPDEST
000005ba: CALLVALUE
000005bb: DUP1
000005bc: ISZERO
000005bd: PUSH2 0x05c5
000005c0: JUMPI
000005c1: PUSH1 0x00
000005c3: DUP1
000005c4: REVERT
000005c5: JUMPDEST
000005c6: POP
000005c7: PUSH2 0x0390
000005ca: PUSH2 0x17d3
000005cd: JUMP
000005ce: JUMPDEST
000005cf: CALLVALUE
000005d0: DUP1
000005d1: ISZERO
000005d2: PUSH2 0x05da
000005d5: JUMPI
000005d6: PUSH1 0x00
000005d8: DUP1
000005d9: REVERT
000005da: JUMPDEST
000005db: POP
000005dc: PUSH2 0x0355
000005df: PUSH2 0x17dc
000005e2: JUMP
000005e3: JUMPDEST
000005e4: CALLVALUE
000005e5: DUP1
000005e6: ISZERO
000005e7: PUSH2 0x05ef
000005ea: JUMPI
000005eb: PUSH1 0x00
000005ed: DUP1
000005ee: REVERT
000005ef: JUMPDEST
000005f0: POP
000005f1: PUSH2 0x03c1
000005f4: PUSH2 0x193f
000005f7: JUMP
000005f8: JUMPDEST
000005f9: CALLVALUE
000005fa: DUP1
000005fb: ISZERO
000005fc: PUSH2 0x0604
000005ff: JUMPI
00000600: PUSH1 0x00
00000602: DUP1
00000603: REVERT
00000604: JUMPDEST
00000605: POP
00000606: PUSH2 0x0412
00000609: PUSH2 0x1945
0000060c: JUMP
0000060d: JUMPDEST
0000060e: CALLVALUE
0000060f: DUP1
00000610: ISZERO
00000611: PUSH2 0x0619
00000614: JUMPI
00000615: PUSH1 0x00
00000617: DUP1
00000618: REVERT
00000619: JUMPDEST
0000061a: POP
0000061b: PUSH2 0x0412
0000061e: PUSH2 0x1954
00000621: JUMP
00000622: JUMPDEST
00000623: CALLVALUE
00000624: DUP1
00000625: ISZERO
00000626: PUSH2 0x062e
00000629: JUMPI
0000062a: PUSH1 0x00
0000062c: DUP1
0000062d: REVERT
0000062e: JUMPDEST
0000062f: POP
00000630: PUSH2 0x03c1
00000633: PUSH2 0x1978
00000636: JUMP
00000637: JUMPDEST
00000638: CALLVALUE
00000639: DUP1
0000063a: ISZERO
0000063b: PUSH2 0x0643
0000063e: JUMPI
0000063f: PUSH1 0x00
00000641: DUP1
00000642: REVERT
00000643: JUMPDEST
00000644: POP
00000645: PUSH2 0x0412
00000648: PUSH2 0x1981
0000064b: JUMP
0000064c: JUMPDEST
0000064d: CALLVALUE
0000064e: DUP1
0000064f: ISZERO
00000650: PUSH2 0x0658
00000653: JUMPI
00000654: PUSH1 0x00
00000656: DUP1
00000657: REVERT
00000658: JUMPDEST
00000659: POP
0000065a: PUSH2 0x0355
0000065d: PUSH2 0x19a5
00000660: JUMP
00000661: JUMPDEST
00000662: CALLVALUE
00000663: DUP1
00000664: ISZERO
00000665: PUSH2 0x066d
00000668: JUMPI
00000669: PUSH1 0x00
0000066b: DUP1
0000066c: REVERT
0000066d: JUMPDEST
0000066e: POP
0000066f: PUSH2 0x03c1
00000672: PUSH2 0x1a47
00000675: JUMP
00000676: JUMPDEST
00000677: CALLVALUE
00000678: DUP1
00000679: ISZERO
0000067a: PUSH2 0x0682
0000067d: JUMPI
0000067e: PUSH1 0x00
00000680: DUP1
00000681: REVERT
00000682: JUMPDEST
00000683: POP
00000684: PUSH2 0x03c1
00000687: PUSH1 0x04
00000689: DUP1
0000068a: CALLDATASIZE
0000068b: SUB
0000068c: PUSH1 0x20
0000068e: DUP2
0000068f: LT
00000690: ISZERO
00000691: PUSH2 0x0699
00000694: JUMPI
00000695: PUSH1 0x00
00000697: DUP1
00000698: REVERT
00000699: JUMPDEST
0000069a: POP
0000069b: CALLDATALOAD
0000069c: PUSH1 0x01
0000069e: PUSH1 0x01
000006a0: PUSH1 0xa0
000006a2: SHL
000006a3: SUB
000006a4: AND
000006a5: PUSH2 0x1a4d
000006a8: JUMP
000006a9: JUMPDEST
000006aa: CALLVALUE
000006ab: DUP1
000006ac: ISZERO
000006ad: PUSH2 0x06b5
000006b0: JUMPI
000006b1: PUSH1 0x00
000006b3: DUP1
000006b4: REVERT
000006b5: JUMPDEST
000006b6: POP
000006b7: PUSH2 0x0412
000006ba: PUSH2 0x1acb
000006bd: JUMP
000006be: JUMPDEST
000006bf: CALLVALUE
000006c0: DUP1
000006c1: ISZERO
000006c2: PUSH2 0x06ca
000006c5: JUMPI
000006c6: PUSH1 0x00
000006c8: DUP1
000006c9: REVERT
000006ca: JUMPDEST
000006cb: POP
000006cc: PUSH2 0x0355
000006cf: PUSH2 0x1aef
000006d2: JUMP
000006d3: JUMPDEST
000006d4: CALLVALUE
000006d5: DUP1
000006d6: ISZERO
000006d7: PUSH2 0x06df
000006da: JUMPI
000006db: PUSH1 0x00
000006dd: DUP1
000006de: REVERT
000006df: JUMPDEST
000006e0: POP
000006e1: PUSH2 0x0355
000006e4: PUSH1 0x04
000006e6: DUP1
000006e7: CALLDATASIZE
000006e8: SUB
000006e9: PUSH1 0x40
000006eb: DUP2
000006ec: LT
000006ed: ISZERO
000006ee: PUSH2 0x06f6
000006f1: JUMPI
000006f2: PUSH1 0x00
000006f4: DUP1
000006f5: REVERT
000006f6: JUMPDEST
000006f7: POP
000006f8: PUSH1 0x01
000006fa: PUSH1 0x01
000006fc: PUSH1 0xa0
000006fe: SHL
000006ff: SUB
00000700: DUP2
00000701: CALLDATALOAD
00000702: AND
00000703: SWAP1
00000704: PUSH1 0x20
00000706: ADD
00000707: CALLDATALOAD
00000708: PUSH2 0x1b4f
0000070b: JUMP
0000070c: JUMPDEST
0000070d: CALLVALUE
0000070e: DUP1
0000070f: ISZERO
00000710: PUSH2 0x0718
00000713: JUMPI
00000714: PUSH1 0x00
00000716: DUP1
00000717: REVERT
00000718: JUMPDEST
00000719: POP
0000071a: PUSH2 0x03c1
0000071d: PUSH1 0x04
0000071f: DUP1
00000720: CALLDATASIZE
00000721: SUB
00000722: PUSH1 0x20
00000724: DUP2
00000725: LT
00000726: ISZERO
00000727: PUSH2 0x072f
0000072a: JUMPI
0000072b: PUSH1 0x00
0000072d: DUP1
0000072e: REVERT
0000072f: JUMPDEST
00000730: POP
00000731: CALLDATALOAD
00000732: PUSH2 0x1c7c
00000735: JUMP
00000736: JUMPDEST
00000737: CALLVALUE
00000738: DUP1
00000739: ISZERO
0000073a: PUSH2 0x0742
0000073d: JUMPI
0000073e: PUSH1 0x00
00000740: DUP1
00000741: REVERT
00000742: JUMPDEST
00000743: POP
00000744: PUSH2 0x0760
00000747: PUSH1 0x04
00000749: DUP1
0000074a: CALLDATASIZE
0000074b: SUB
0000074c: PUSH1 0x20
0000074e: DUP2
0000074f: LT
00000750: ISZERO
00000751: PUSH2 0x0759
00000754: JUMPI
00000755: PUSH1 0x00
00000757: DUP1
00000758: REVERT
00000759: JUMPDEST
0000075a: POP
0000075b: CALLDATALOAD
0000075c: PUSH2 0x1d57
0000075f: JUMP
00000760: JUMPDEST
00000761: PUSH1 0x40
00000763: DUP1
00000764: MLOAD
00000765: SWAP5
00000766: DUP6
00000767: MSTORE
00000768: PUSH1 0x20
0000076a: DUP6
0000076b: ADD
0000076c: SWAP4
0000076d: SWAP1
0000076e: SWAP4
0000076f: MSTORE
00000770: DUP4
00000771: DUP4
00000772: ADD
00000773: SWAP2
00000774: SWAP1
00000775: SWAP2
00000776: MSTORE
00000777: PUSH1 0x01
00000779: PUSH1 0x01
0000077b: PUSH1 0xa0
0000077d: SHL
0000077e: SUB
0000077f: AND
00000780: PUSH1 0x60
00000782: DUP4
00000783: ADD
00000784: MSTORE
00000785: MLOAD
00000786: SWAP1
00000787: DUP2
00000788: SWAP1
00000789: SUB
0000078a: PUSH1 0x80
0000078c: ADD
0000078d: SWAP1
0000078e: RETURN
0000078f: JUMPDEST
00000790: CALLVALUE
00000791: DUP1
00000792: ISZERO
00000793: PUSH2 0x079b
00000796: JUMPI
00000797: PUSH1 0x00
00000799: DUP1
0000079a: REVERT
0000079b: JUMPDEST
0000079c: POP
0000079d: PUSH2 0x0412
000007a0: PUSH2 0x1d87
000007a3: JUMP
000007a4: JUMPDEST
000007a5: CALLVALUE
000007a6: DUP1
000007a7: ISZERO
000007a8: PUSH2 0x07b0
000007ab: JUMPI
000007ac: PUSH1 0x00
000007ae: DUP1
000007af: REVERT
000007b0: JUMPDEST
000007b1: POP
000007b2: PUSH2 0x0412
000007b5: PUSH1 0x04
000007b7: DUP1
000007b8: CALLDATASIZE
000007b9: SUB
000007ba: PUSH1 0x40
000007bc: DUP2
000007bd: LT
000007be: ISZERO
000007bf: PUSH2 0x07c7
000007c2: JUMPI
000007c3: PUSH1 0x00
000007c5: DUP1
000007c6: REVERT
000007c7: JUMPDEST
000007c8: POP
000007c9: DUP1
000007ca: CALLDATALOAD
000007cb: SWAP1
000007cc: PUSH1 0x20
000007ce: ADD
000007cf: CALLDATALOAD
000007d0: PUSH2 0x1d96
000007d3: JUMP
000007d4: JUMPDEST
000007d5: CALLVALUE
000007d6: DUP1
000007d7: ISZERO
000007d8: PUSH2 0x07e0
000007db: JUMPI
000007dc: PUSH1 0x00
000007de: DUP1
000007df: REVERT
000007e0: JUMPDEST
000007e1: POP
000007e2: PUSH2 0x0390
000007e5: PUSH1 0x04
000007e7: DUP1
000007e8: CALLDATASIZE
000007e9: SUB
000007ea: PUSH1 0x40
000007ec: DUP2
000007ed: LT
000007ee: ISZERO
000007ef: PUSH2 0x07f7
000007f2: JUMPI
000007f3: PUSH1 0x00
000007f5: DUP1
000007f6: REVERT
000007f7: JUMPDEST
000007f8: POP
000007f9: DUP1
000007fa: CALLDATALOAD
000007fb: SWAP1
000007fc: PUSH1 0x20
000007fe: ADD
000007ff: CALLDATALOAD
00000800: PUSH1 0x01
00000802: PUSH1 0x01
00000804: PUSH1 0xa0
00000806: SHL
00000807: SUB
00000808: AND
00000809: PUSH2 0x1db5
0000080c: JUMP
0000080d: JUMPDEST
0000080e: CALLVALUE
0000080f: DUP1
00000810: ISZERO
00000811: PUSH2 0x0819
00000814: JUMPI
00000815: PUSH1 0x00
00000817: DUP1
00000818: REVERT
00000819: JUMPDEST
0000081a: POP
0000081b: PUSH2 0x0837
0000081e: PUSH1 0x04
00000820: DUP1
00000821: CALLDATASIZE
00000822: SUB
00000823: PUSH1 0x20
00000825: DUP2
00000826: LT
00000827: ISZERO
00000828: PUSH2 0x0830
0000082b: JUMPI
0000082c: PUSH1 0x00
0000082e: DUP1
0000082f: REVERT
00000830: JUMPDEST
00000831: POP
00000832: CALLDATALOAD
00000833: PUSH2 0x1dcd
00000836: JUMP
00000837: JUMPDEST
00000838: PUSH1 0x40
0000083a: DUP1
0000083b: MLOAD
0000083c: SWAP5
0000083d: DUP6
0000083e: MSTORE
0000083f: PUSH1 0x20
00000841: DUP6
00000842: ADD
00000843: SWAP4
00000844: SWAP1
00000845: SWAP4
00000846: MSTORE
00000847: PUSH1 0x01
00000849: PUSH1 0x01
0000084b: PUSH1 0xa0
0000084d: SHL
0000084e: SUB
0000084f: SWAP1
00000850: SWAP2
00000851: AND
00000852: DUP4
00000853: DUP4
00000854: ADD
00000855: MSTORE
00000856: PUSH1 0x60
00000858: DUP4
00000859: ADD
0000085a: MSTORE
0000085b: MLOAD
0000085c: SWAP1
0000085d: DUP2
0000085e: SWAP1
0000085f: SUB
00000860: PUSH1 0x80
00000862: ADD
00000863: SWAP1
00000864: RETURN
00000865: JUMPDEST
00000866: PUSH2 0x0355
00000869: PUSH1 0x04
0000086b: DUP1
0000086c: CALLDATASIZE
0000086d: SUB
0000086e: PUSH1 0x40
00000870: DUP2
00000871: LT
00000872: ISZERO
00000873: PUSH2 0x087b
00000876: JUMPI
00000877: PUSH1 0x00
00000879: DUP1
0000087a: REVERT
0000087b: JUMPDEST
0000087c: POP
0000087d: DUP1
0000087e: CALLDATALOAD
0000087f: SWAP1
00000880: PUSH1 0x20
00000882: ADD
00000883: CALLDATALOAD
00000884: PUSH2 0x1e34
00000887: JUMP
00000888: JUMPDEST
00000889: CALLVALUE
0000088a: DUP1
0000088b: ISZERO
0000088c: PUSH2 0x0894
0000088f: JUMPI
00000890: PUSH1 0x00
00000892: DUP1
00000893: REVERT
00000894: JUMPDEST
00000895: POP
00000896: PUSH2 0x0412
00000899: PUSH2 0x2238
0000089c: JUMP
0000089d: JUMPDEST
0000089e: CALLVALUE
0000089f: DUP1
000008a0: ISZERO
000008a1: PUSH2 0x08a9
000008a4: JUMPI
000008a5: PUSH1 0x00
000008a7: DUP1
000008a8: REVERT
000008a9: JUMPDEST
000008aa: POP
000008ab: PUSH2 0x0355
000008ae: PUSH1 0x04
000008b0: DUP1
000008b1: CALLDATASIZE
000008b2: SUB
000008b3: PUSH1 0x20
000008b5: DUP2
000008b6: LT
000008b7: ISZERO
000008b8: PUSH2 0x08c0
000008bb: JUMPI
000008bc: PUSH1 0x00
000008be: DUP1
000008bf: REVERT
000008c0: JUMPDEST
000008c1: POP
000008c2: CALLDATALOAD
000008c3: PUSH2 0x225c
000008c6: JUMP
000008c7: JUMPDEST
000008c8: CALLVALUE
000008c9: DUP1
000008ca: ISZERO
000008cb: PUSH2 0x08d3
000008ce: JUMPI
000008cf: PUSH1 0x00
000008d1: DUP1
000008d2: REVERT
000008d3: JUMPDEST
000008d4: POP
000008d5: PUSH2 0x03c1
000008d8: PUSH2 0x25c3
000008db: JUMP
000008dc: JUMPDEST
000008dd: CALLVALUE
000008de: DUP1
000008df: ISZERO
000008e0: PUSH2 0x08e8
000008e3: JUMPI
000008e4: PUSH1 0x00
000008e6: DUP1
000008e7: REVERT
000008e8: JUMPDEST
000008e9: POP
000008ea: PUSH2 0x03c1
000008ed: PUSH1 0x04
000008ef: DUP1
000008f0: CALLDATASIZE
000008f1: SUB
000008f2: PUSH1 0x20
000008f4: DUP2
000008f5: LT
000008f6: ISZERO
000008f7: PUSH2 0x08ff
000008fa: JUMPI
000008fb: PUSH1 0x00
000008fd: DUP1
000008fe: REVERT
000008ff: JUMPDEST
00000900: POP
00000901: CALLDATALOAD
00000902: PUSH2 0x25c8
00000905: JUMP
00000906: JUMPDEST
00000907: CALLVALUE
00000908: DUP1
00000909: ISZERO
0000090a: PUSH2 0x0912
0000090d: JUMPI
0000090e: PUSH1 0x00
00000910: DUP1
00000911: REVERT
00000912: JUMPDEST
00000913: POP
00000914: PUSH2 0x0355
00000917: PUSH1 0x04
00000919: DUP1
0000091a: CALLDATASIZE
0000091b: SUB
0000091c: PUSH1 0x20
0000091e: DUP2
0000091f: LT
00000920: ISZERO
00000921: PUSH2 0x0929
00000924: JUMPI
00000925: PUSH1 0x00
00000927: DUP1
00000928: REVERT
00000929: JUMPDEST
0000092a: POP
0000092b: CALLDATALOAD
0000092c: PUSH2 0x2624
0000092f: JUMP
00000930: JUMPDEST
00000931: CALLVALUE
00000932: DUP1
00000933: ISZERO
00000934: PUSH2 0x093c
00000937: JUMPI
00000938: PUSH1 0x00
0000093a: DUP1
0000093b: REVERT
0000093c: JUMPDEST
0000093d: POP
0000093e: PUSH2 0x03c1
00000941: PUSH2 0x26fa
00000944: JUMP
00000945: JUMPDEST
00000946: CALLVALUE
00000947: DUP1
00000948: ISZERO
00000949: PUSH2 0x0951
0000094c: JUMPI
0000094d: PUSH1 0x00
0000094f: DUP1
00000950: REVERT
00000951: JUMPDEST
00000952: POP
00000953: PUSH2 0x03c1
00000956: PUSH1 0x04
00000958: DUP1
00000959: CALLDATASIZE
0000095a: SUB
0000095b: PUSH1 0x20
0000095d: DUP2
0000095e: LT
0000095f: ISZERO
00000960: PUSH2 0x0968
00000963: JUMPI
00000964: PUSH1 0x00
00000966: DUP1
00000967: REVERT
00000968: JUMPDEST
00000969: POP
0000096a: CALLDATALOAD
0000096b: PUSH1 0x01
0000096d: PUSH1 0x01
0000096f: PUSH1 0xa0
00000971: SHL
00000972: SUB
00000973: AND
00000974: PUSH2 0x26ff
00000977: JUMP
00000978: JUMPDEST
00000979: CALLVALUE
0000097a: DUP1
0000097b: ISZERO
0000097c: PUSH2 0x0984
0000097f: JUMPI
00000980: PUSH1 0x00
00000982: DUP1
00000983: REVERT
00000984: JUMPDEST
00000985: POP
00000986: PUSH2 0x0355
00000989: PUSH1 0x04
0000098b: DUP1
0000098c: CALLDATASIZE
0000098d: SUB
0000098e: PUSH1 0x20
00000990: DUP2
00000991: LT
00000992: ISZERO
00000993: PUSH2 0x099b
00000996: JUMPI
00000997: PUSH1 0x00
00000999: DUP1
0000099a: REVERT
0000099b: JUMPDEST
0000099c: POP
0000099d: CALLDATALOAD
0000099e: PUSH2 0x2711
000009a1: JUMP
000009a2: JUMPDEST
000009a3: CALLVALUE
000009a4: DUP1
000009a5: ISZERO
000009a6: PUSH2 0x09ae
000009a9: JUMPI
000009aa: PUSH1 0x00
000009ac: DUP1
000009ad: REVERT
000009ae: JUMPDEST
000009af: POP
000009b0: PUSH2 0x0412
000009b3: PUSH2 0x297b
000009b6: JUMP
000009b7: JUMPDEST
000009b8: CALLVALUE
000009b9: DUP1
000009ba: ISZERO
000009bb: PUSH2 0x09c3
000009be: JUMPI
000009bf: PUSH1 0x00
000009c1: DUP1
000009c2: REVERT
000009c3: JUMPDEST
000009c4: POP
000009c5: PUSH2 0x03c1
000009c8: PUSH1 0x04
000009ca: DUP1
000009cb: CALLDATASIZE
000009cc: SUB
000009cd: PUSH1 0x20
000009cf: DUP2
000009d0: LT
000009d1: ISZERO
000009d2: PUSH2 0x09da
000009d5: JUMPI
000009d6: PUSH1 0x00
000009d8: DUP1
000009d9: REVERT
000009da: JUMPDEST
000009db: POP
000009dc: CALLDATALOAD
000009dd: PUSH2 0x299f
000009e0: JUMP
000009e1: JUMPDEST
000009e2: CALLVALUE
000009e3: DUP1
000009e4: ISZERO
000009e5: PUSH2 0x09ed
000009e8: JUMPI
000009e9: PUSH1 0x00
000009eb: DUP1
000009ec: REVERT
000009ed: JUMPDEST
000009ee: POP
000009ef: PUSH2 0x0355
000009f2: PUSH1 0x04
000009f4: DUP1
000009f5: CALLDATASIZE
000009f6: SUB
000009f7: PUSH1 0x20
000009f9: DUP2
000009fa: LT
000009fb: ISZERO
000009fc: PUSH2 0x0a04
000009ff: JUMPI
00000a00: PUSH1 0x00
00000a02: DUP1
00000a03: REVERT
00000a04: JUMPDEST
00000a05: POP
00000a06: CALLDATALOAD
00000a07: PUSH2 0x29b6
00000a0a: JUMP
00000a0b: JUMPDEST
00000a0c: CALLVALUE
00000a0d: DUP1
00000a0e: ISZERO
00000a0f: PUSH2 0x0a17
00000a12: JUMPI
00000a13: PUSH1 0x00
00000a15: DUP1
00000a16: REVERT
00000a17: JUMPDEST
00000a18: POP
00000a19: PUSH2 0x0355
00000a1c: PUSH1 0x04
00000a1e: DUP1
00000a1f: CALLDATASIZE
00000a20: SUB
00000a21: PUSH1 0x40
00000a23: DUP2
00000a24: LT
00000a25: ISZERO
00000a26: PUSH2 0x0a2e
00000a29: JUMPI
00000a2a: PUSH1 0x00
00000a2c: DUP1
00000a2d: REVERT
00000a2e: JUMPDEST
00000a2f: POP
00000a30: DUP1
00000a31: CALLDATALOAD
00000a32: SWAP1
00000a33: PUSH1 0x20
00000a35: ADD
00000a36: CALLDATALOAD
00000a37: PUSH1 0x01
00000a39: PUSH1 0x01
00000a3b: PUSH1 0xa0
00000a3d: SHL
00000a3e: SUB
00000a3f: AND
00000a40: PUSH2 0x2c72
00000a43: JUMP
00000a44: JUMPDEST
00000a45: CALLVALUE
00000a46: DUP1
00000a47: ISZERO
00000a48: PUSH2 0x0a50
00000a4b: JUMPI
00000a4c: PUSH1 0x00
00000a4e: DUP1
00000a4f: REVERT
00000a50: JUMPDEST
00000a51: POP
00000a52: PUSH2 0x03c1
00000a55: PUSH1 0x04
00000a57: DUP1
00000a58: CALLDATASIZE
00000a59: SUB
00000a5a: PUSH1 0x20
00000a5c: DUP2
00000a5d: LT
00000a5e: ISZERO
00000a5f: PUSH2 0x0a67
00000a62: JUMPI
00000a63: PUSH1 0x00
00000a65: DUP1
00000a66: REVERT
00000a67: JUMPDEST
00000a68: POP
00000a69: CALLDATALOAD
00000a6a: PUSH2 0x2ccb
00000a6d: JUMP
00000a6e: JUMPDEST
00000a6f: CALLVALUE
00000a70: DUP1
00000a71: ISZERO
00000a72: PUSH2 0x0a7a
00000a75: JUMPI
00000a76: PUSH1 0x00
00000a78: DUP1
00000a79: REVERT
00000a7a: JUMPDEST
00000a7b: POP
00000a7c: PUSH2 0x0355
00000a7f: PUSH1 0x04
00000a81: DUP1
00000a82: CALLDATASIZE
00000a83: SUB
00000a84: PUSH1 0x20
00000a86: DUP2
00000a87: LT
00000a88: ISZERO
00000a89: PUSH2 0x0a91
00000a8c: JUMPI
00000a8d: PUSH1 0x00
00000a8f: DUP1
00000a90: REVERT
00000a91: JUMPDEST
00000a92: POP
00000a93: CALLDATALOAD
00000a94: PUSH1 0x01
00000a96: PUSH1 0x01
00000a98: PUSH1 0xa0
00000a9a: SHL
00000a9b: SUB
00000a9c: AND
00000a9d: PUSH2 0x2de1
00000aa0: JUMP
00000aa1: JUMPDEST
00000aa2: CALLVALUE
00000aa3: DUP1
00000aa4: ISZERO
00000aa5: PUSH2 0x0aad
00000aa8: JUMPI
00000aa9: PUSH1 0x00
00000aab: DUP1
00000aac: REVERT
00000aad: JUMPDEST
00000aae: POP
00000aaf: PUSH2 0x0355
00000ab2: PUSH1 0x04
00000ab4: DUP1
00000ab5: CALLDATASIZE
00000ab6: SUB
00000ab7: PUSH1 0x20
00000ab9: DUP2
00000aba: LT
00000abb: ISZERO
00000abc: PUSH2 0x0ac4
00000abf: JUMPI
00000ac0: PUSH1 0x00
00000ac2: DUP1
00000ac3: REVERT
00000ac4: JUMPDEST
00000ac5: POP
00000ac6: CALLDATALOAD
00000ac7: PUSH1 0x01
00000ac9: PUSH1 0x01
00000acb: PUSH1 0xa0
00000acd: SHL
00000ace: SUB
00000acf: AND
00000ad0: PUSH2 0x2edc
00000ad3: JUMP
00000ad4: JUMPDEST
00000ad5: CALLVALUE
00000ad6: DUP1
00000ad7: ISZERO
00000ad8: PUSH2 0x0ae0
00000adb: JUMPI
00000adc: PUSH1 0x00
00000ade: DUP1
00000adf: REVERT
00000ae0: JUMPDEST
00000ae1: POP
00000ae2: PUSH2 0x03c1
00000ae5: PUSH2 0x2fd4
00000ae8: JUMP
00000ae9: JUMPDEST
00000aea: CALLVALUE
00000aeb: DUP1
00000aec: ISZERO
00000aed: PUSH2 0x0af5
00000af0: JUMPI
00000af1: PUSH1 0x00
00000af3: DUP1
00000af4: REVERT
00000af5: JUMPDEST
00000af6: POP
00000af7: PUSH2 0x03c1
00000afa: PUSH1 0x04
00000afc: DUP1
00000afd: CALLDATASIZE
00000afe: SUB
00000aff: PUSH1 0x20
00000b01: DUP2
00000b02: LT
00000b03: ISZERO
00000b04: PUSH2 0x0b0c
00000b07: JUMPI
00000b08: PUSH1 0x00
00000b0a: DUP1
00000b0b: REVERT
00000b0c: JUMPDEST
00000b0d: POP
00000b0e: CALLDATALOAD
00000b0f: PUSH2 0x2fda
00000b12: JUMP
00000b13: JUMPDEST
00000b14: PUSH1 0x00
00000b16: PUSH1 0x01
00000b18: PUSH1 0x01
00000b1a: PUSH1 0xe0
00000b1c: SHL
00000b1d: SUB
00000b1e: NOT
00000b1f: DUP3
00000b20: AND
00000b21: PUSH4 0x279d6ac3
00000b26: PUSH1 0xe2
00000b28: SHL
00000b29: EQ
00000b2a: DUP1
00000b2b: PUSH2 0x0b44
00000b2e: JUMPI
00000b2f: POP
00000b30: PUSH1 0x01
00000b32: PUSH1 0x01
00000b34: PUSH1 0xe0
00000b36: SHL
00000b37: SUB
00000b38: NOT
00000b39: DUP3
00000b3a: AND
00000b3b: PUSH4 0x01ffc9a7
00000b40: PUSH1 0xe0
00000b42: SHL
00000b43: EQ
00000b44: JUMPDEST
00000b45: SWAP3
00000b46: SWAP2
00000b47: POP
00000b48: POP
00000b49: JUMP
00000b4a: JUMPDEST
00000b4b: PUSH1 0x02
00000b4d: DUP1
00000b4e: SLOAD
00000b4f: EQ
00000b50: ISZERO
00000b51: PUSH2 0x0b8f
00000b54: JUMPI
00000b55: PUSH1 0x40
00000b57: DUP1
00000b58: MLOAD
00000b59: PUSH3 0x461bcd
00000b5d: PUSH1 0xe5
00000b5f: SHL
00000b60: DUP2
00000b61: MSTORE
00000b62: PUSH1 0x20
00000b64: PUSH1 0x04
00000b66: DUP3
00000b67: ADD
00000b68: MSTORE
00000b69: PUSH1 0x1f
00000b6b: PUSH1 0x24
00000b6d: DUP3
00000b6e: ADD
00000b6f: MSTORE
00000b70: PUSH1 0x00
00000b72: DUP1
00000b73: MLOAD
00000b74: PUSH1 0x20
00000b76: PUSH2 0x3df6
00000b79: DUP4
00000b7a: CODECOPY
00000b7b: DUP2
00000b7c: MLOAD
00000b7d: SWAP2
00000b7e: MSTORE
00000b7f: PUSH1 0x44
00000b81: DUP3
00000b82: ADD
00000b83: MSTORE
00000b84: SWAP1
00000b85: MLOAD
00000b86: SWAP1
00000b87: DUP2
00000b88: SWAP1
00000b89: SUB
00000b8a: PUSH1 0x64
00000b8c: ADD
00000b8d: SWAP1
00000b8e: REVERT
00000b8f: JUMPDEST
00000b90: PUSH1 0x02
00000b92: DUP1
00000b93: SSTORE
00000b94: CALLER
00000b95: PUSH1 0x00
00000b97: SWAP1
00000b98: DUP2
00000b99: MSTORE
00000b9a: PUSH1 0x0a
00000b9c: PUSH1 0x20
00000b9e: MSTORE
00000b9f: PUSH1 0x40
00000ba1: SWAP1
00000ba2: KECCAK256
00000ba3: SLOAD
00000ba4: PUSH2 0x0bde
00000ba7: JUMPI
00000ba8: PUSH1 0x40
00000baa: MLOAD
00000bab: PUSH3 0x461bcd
00000baf: PUSH1 0xe5
00000bb1: SHL
00000bb2: DUP2
00000bb3: MSTORE
00000bb4: PUSH1 0x04
00000bb6: ADD
00000bb7: DUP1
00000bb8: DUP1
00000bb9: PUSH1 0x20
00000bbb: ADD
00000bbc: DUP3
00000bbd: DUP2
00000bbe: SUB
00000bbf: DUP3
00000bc0: MSTORE
00000bc1: PUSH1 0x2b
00000bc3: DUP2
00000bc4: MSTORE
00000bc5: PUSH1 0x20
00000bc7: ADD
00000bc8: DUP1
00000bc9: PUSH2 0x3e3b
00000bcc: PUSH1 0x2b
00000bce: SWAP2
00000bcf: CODECOPY
00000bd0: PUSH1 0x40
00000bd2: ADD
00000bd3: SWAP2
00000bd4: POP
00000bd5: POP
00000bd6: PUSH1 0x40
00000bd8: MLOAD
00000bd9: DUP1
00000bda: SWAP2
00000bdb: SUB
00000bdc: SWAP1
00000bdd: REVERT
00000bde: JUMPDEST
00000bdf: PUSH1 0x03
00000be1: SLOAD
00000be2: PUSH1 0xff
00000be4: AND
00000be5: ISZERO
00000be6: PUSH2 0x0c29
00000be9: JUMPI
00000bea: PUSH1 0x40
00000bec: DUP1
00000bed: MLOAD
00000bee: PUSH3 0x461bcd
00000bf2: PUSH1 0xe5
00000bf4: SHL
00000bf5: DUP2
00000bf6: MSTORE
00000bf7: PUSH1 0x20
00000bf9: PUSH1 0x04
00000bfb: DUP3
00000bfc: ADD
00000bfd: MSTORE
00000bfe: PUSH1 0x10
00000c00: PUSH1 0x24
00000c02: DUP3
00000c03: ADD
00000c04: MSTORE
00000c05: PUSH16 0x14185d5cd8589b194e881c185d5cd959
00000c16: PUSH1 0x82
00000c18: SHL
00000c19: PUSH1 0x44
00000c1b: DUP3
00000c1c: ADD
00000c1d: MSTORE
00000c1e: SWAP1
00000c1f: MLOAD
00000c20: SWAP1
00000c21: DUP2
00000c22: SWAP1
00000c23: SUB
00000c24: PUSH1 0x64
00000c26: ADD
00000c27: SWAP1
00000c28: REVERT
00000c29: JUMPDEST
00000c2a: PUSH1 0x00
00000c2c: CALLVALUE
00000c2d: GT
00000c2e: PUSH2 0x0c68
00000c31: JUMPI
00000c32: PUSH1 0x40
00000c34: MLOAD
00000c35: PUSH3 0x461bcd
00000c39: PUSH1 0xe5
00000c3b: SHL
00000c3c: DUP2
00000c3d: MSTORE
00000c3e: PUSH1 0x04
00000c40: ADD
00000c41: DUP1
00000c42: DUP1
00000c43: PUSH1 0x20
00000c45: ADD
00000c46: DUP3
00000c47: DUP2
00000c48: SUB
00000c49: DUP3
00000c4a: MSTORE
00000c4b: PUSH1 0x33
00000c4d: DUP2
00000c4e: MSTORE
00000c4f: PUSH1 0x20
00000c51: ADD
00000c52: DUP1
00000c53: PUSH2 0x423d
00000c56: PUSH1 0x33
00000c58: SWAP2
00000c59: CODECOPY
00000c5a: PUSH1 0x40
00000c5c: ADD
00000c5d: SWAP2
00000c5e: POP
00000c5f: POP
00000c60: PUSH1 0x40
00000c62: MLOAD
00000c63: DUP1
00000c64: SWAP2
00000c65: SUB
00000c66: SWAP1
00000c67: REVERT
00000c68: JUMPDEST
00000c69: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000c8a: PUSH1 0x01
00000c8c: PUSH1 0x01
00000c8e: PUSH1 0xa0
00000c90: SHL
00000c91: SUB
00000c92: AND
00000c93: PUSH4 0xd0e30db0
00000c98: CALLVALUE
00000c99: PUSH1 0x40
00000c9b: MLOAD
00000c9c: DUP3
00000c9d: PUSH4 0xffffffff
00000ca2: AND
00000ca3: PUSH1 0xe0
00000ca5: SHL
00000ca6: DUP2
00000ca7: MSTORE
00000ca8: PUSH1 0x04
00000caa: ADD
00000cab: PUSH1 0x00
00000cad: PUSH1 0x40
00000caf: MLOAD
00000cb0: DUP1
00000cb1: DUP4
00000cb2: SUB
00000cb3: DUP2
00000cb4: DUP6
00000cb5: DUP9
00000cb6: DUP1
00000cb7: EXTCODESIZE
00000cb8: ISZERO
00000cb9: DUP1
00000cba: ISZERO
00000cbb: PUSH2 0x0cc3
00000cbe: JUMPI
00000cbf: PUSH1 0x00
00000cc1: DUP1
00000cc2: REVERT
00000cc3: JUMPDEST
00000cc4: POP
00000cc5: GAS
00000cc6: CALL
00000cc7: ISZERO
00000cc8: DUP1
00000cc9: ISZERO
00000cca: PUSH2 0x0cd7
00000ccd: JUMPI
00000cce: RETURNDATASIZE
00000ccf: PUSH1 0x00
00000cd1: DUP1
00000cd2: RETURNDATACOPY
00000cd3: RETURNDATASIZE
00000cd4: PUSH1 0x00
00000cd6: REVERT
00000cd7: JUMPDEST
00000cd8: POP
00000cd9: POP
00000cda: CALLER
00000cdb: PUSH1 0x00
00000cdd: SWAP1
00000cde: DUP2
00000cdf: MSTORE
00000ce0: PUSH1 0x0a
00000ce2: PUSH1 0x20
00000ce4: SWAP1
00000ce5: DUP2
00000ce6: MSTORE
00000ce7: PUSH1 0x40
00000ce9: DUP1
00000cea: DUP4
00000ceb: KECCAK256
00000cec: SLOAD
00000ced: DUP4
00000cee: MSTORE
00000cef: PUSH1 0x0b
00000cf1: SWAP1
00000cf2: SWAP2
00000cf3: MSTORE
00000cf4: SWAP1
00000cf5: KECCAK256
00000cf6: PUSH1 0x01
00000cf8: DUP2
00000cf9: ADD
00000cfa: SLOAD
00000cfb: SWAP1
00000cfc: SWAP4
00000cfd: POP
00000cfe: PUSH2 0x0d0a
00000d01: SWAP3
00000d02: POP
00000d03: SWAP1
00000d04: POP
00000d05: CALLVALUE
00000d06: PUSH2 0x3023
00000d09: JUMP
00000d0a: JUMPDEST
00000d0b: PUSH1 0x01
00000d0d: DUP3
00000d0e: ADD
00000d0f: SSTORE
00000d10: DUP1
00000d11: SLOAD
00000d12: PUSH1 0x40
00000d14: DUP1
00000d15: MLOAD
00000d16: CALLVALUE
00000d17: DUP2
00000d18: MSTORE
00000d19: SWAP1
00000d1a: MLOAD
00000d1b: CALLER
00000d1c: SWAP2
00000d1d: PUSH32 0x11f8990ac38271f23dea447d5728e9914fca7cea2edda43af6c43c415f8bc30b
00000d3e: SWAP2
00000d3f: SWAP1
00000d40: DUP2
00000d41: SWAP1
00000d42: SUB
00000d43: PUSH1 0x20
00000d45: ADD
00000d46: SWAP1
00000d47: LOG3
00000d48: POP
00000d49: PUSH1 0x01
00000d4b: PUSH1 0x02
00000d4d: SSTORE
00000d4e: JUMP
00000d4f: JUMPDEST
00000d50: PUSH1 0x96
00000d52: DUP2
00000d53: JUMP
00000d54: JUMPDEST
00000d55: PUSH1 0x00
00000d57: DUP1
00000d58: PUSH2 0x0d60
00000d5b: DUP4
00000d5c: PUSH2 0x2ccb
00000d5f: JUMP
00000d60: JUMPDEST
00000d61: SWAP1
00000d62: POP
00000d63: PUSH1 0x00
00000d65: PUSH2 0x0d6c
00000d68: PUSH2 0x16b4
00000d6b: JUMP
00000d6c: JUMPDEST
00000d6d: SWAP1
00000d6e: POP
00000d6f: PUSH1 0x00
00000d71: PUSH2 0x0d99
00000d74: PUSH32 0x0000000000000000000000002cfeaf282fe9ae050b210e7bda65d288c40c6104
00000d95: PUSH2 0x1a4d
00000d98: JUMP
00000d99: JUMPDEST
00000d9a: SWAP1
00000d9b: POP
00000d9c: PUSH1 0x00
00000d9e: PUSH2 0x0dbd
00000da1: PUSH2 0x0db6
00000da4: PUSH1 0x64
00000da6: PUSH1 0x08
00000da8: SLOAD
00000da9: PUSH2 0x3023
00000dac: SWAP1
00000dad: SWAP2
00000dae: SWAP1
00000daf: PUSH4 0xffffffff
00000db4: AND
00000db5: JUMP
00000db6: JUMPDEST
00000db7: DUP6
00000db8: SWAP1
00000db9: PUSH2 0x30b7
00000dbc: JUMP
00000dbd: JUMPDEST
00000dbe: SWAP1
00000dbf: POP
00000dc0: PUSH2 0x0ddd
00000dc3: PUSH2 0x0dcd
00000dc6: DUP4
00000dc7: PUSH1 0x64
00000dc9: PUSH2 0x30b7
00000dcc: JUMP
00000dcd: JUMPDEST
00000dce: PUSH2 0x0dd7
00000dd1: DUP4
00000dd2: DUP7
00000dd3: PUSH2 0x30b7
00000dd6: JUMP
00000dd7: JUMPDEST
00000dd8: SWAP1
00000dd9: PUSH2 0x3110
00000ddc: JUMP
00000ddd: JUMPDEST
00000dde: SWAP7
00000ddf: SWAP6
00000de0: POP
00000de1: POP
00000de2: POP
00000de3: POP
00000de4: POP
00000de5: POP
00000de6: JUMP
00000de7: JUMPDEST
00000de8: PUSH32 0x000000000000000000000000a4e581bd159b869e8290707a7fbf841fe7fe97b6
00000e09: DUP2
00000e0a: JUMP
00000e0b: JUMPDEST
00000e0c: PUSH1 0x05
00000e0e: SLOAD
00000e0f: DUP2
00000e10: JUMP
00000e11: JUMPDEST
00000e12: PUSH1 0x08
00000e14: SLOAD
00000e15: DUP2
00000e16: JUMP
00000e17: JUMPDEST
00000e18: PUSH1 0x00
00000e1a: SWAP1
00000e1b: DUP2
00000e1c: MSTORE
00000e1d: PUSH1 0x01
00000e1f: PUSH1 0x20
00000e21: MSTORE
00000e22: PUSH1 0x40
00000e24: SWAP1
00000e25: KECCAK256
00000e26: PUSH1 0x02
00000e28: ADD
00000e29: SLOAD
00000e2a: SWAP1
00000e2b: JUMP
00000e2c: JUMPDEST
00000e2d: PUSH2 0x0e34
00000e30: PUSH2 0x3152
00000e33: JUMP
00000e34: JUMPDEST
00000e35: PUSH1 0x00
00000e37: SLOAD
00000e38: PUSH1 0x01
00000e3a: PUSH1 0x01
00000e3c: PUSH1 0xa0
00000e3e: SHL
00000e3f: SUB
00000e40: SWAP1
00000e41: DUP2
00000e42: AND
00000e43: SWAP2
00000e44: AND
00000e45: EQ
00000e46: PUSH2 0x0e84
00000e49: JUMPI
00000e4a: PUSH1 0x40
00000e4c: DUP1
00000e4d: MLOAD
00000e4e: PUSH3 0x461bcd
00000e52: PUSH1 0xe5
00000e54: SHL
00000e55: DUP2
00000e56: MSTORE
00000e57: PUSH1 0x20
00000e59: PUSH1 0x04
00000e5b: DUP3
00000e5c: ADD
00000e5d: DUP2
00000e5e: SWAP1
00000e5f: MSTORE
00000e60: PUSH1 0x24
00000e62: DUP3
00000e63: ADD
00000e64: MSTORE
00000e65: PUSH1 0x00
00000e67: DUP1
00000e68: MLOAD
00000e69: PUSH1 0x20
00000e6b: PUSH2 0x4270
00000e6e: DUP4
00000e6f: CODECOPY
00000e70: DUP2
00000e71: MLOAD
00000e72: SWAP2
00000e73: MSTORE
00000e74: PUSH1 0x44
00000e76: DUP3
00000e77: ADD
00000e78: MSTORE
00000e79: SWAP1
00000e7a: MLOAD
00000e7b: SWAP1
00000e7c: DUP2
00000e7d: SWAP1
00000e7e: SUB
00000e7f: PUSH1 0x64
00000e81: ADD
00000e82: SWAP1
00000e83: REVERT
00000e84: JUMPDEST
00000e85: PUSH1 0x06
00000e87: SLOAD
00000e88: PUSH2 0x0e92
00000e8b: DUP3
00000e8c: PUSH1 0x64
00000e8e: PUSH2 0x3023
00000e91: JUMP
00000e92: JUMPDEST
00000e93: LT
00000e94: PUSH2 0x0ece
00000e97: JUMPI
00000e98: PUSH1 0x40
00000e9a: MLOAD
00000e9b: PUSH3 0x461bcd
00000e9f: PUSH1 0xe5
00000ea1: SHL
00000ea2: DUP2
00000ea3: MSTORE
00000ea4: PUSH1 0x04
00000ea6: ADD
00000ea7: DUP1
00000ea8: DUP1
00000ea9: PUSH1 0x20
00000eab: ADD
00000eac: DUP3
00000ead: DUP2
00000eae: SUB
00000eaf: DUP3
00000eb0: MSTORE
00000eb1: PUSH1 0x41
00000eb3: DUP2
00000eb4: MSTORE
00000eb5: PUSH1 0x20
00000eb7: ADD
00000eb8: DUP1
00000eb9: PUSH2 0x412d
00000ebc: PUSH1 0x41
00000ebe: SWAP2
00000ebf: CODECOPY
00000ec0: PUSH1 0x60
00000ec2: ADD
00000ec3: SWAP2
00000ec4: POP
00000ec5: POP
00000ec6: PUSH1 0x40
00000ec8: MLOAD
00000ec9: DUP1
00000eca: SWAP2
00000ecb: SUB
00000ecc: SWAP1
00000ecd: REVERT
00000ece: JUMPDEST
00000ecf: PUSH1 0x08
00000ed1: DUP2
00000ed2: SWAP1
00000ed3: SSTORE
00000ed4: PUSH1 0x40
00000ed6: DUP1
00000ed7: MLOAD
00000ed8: DUP3
00000ed9: DUP2
00000eda: MSTORE
00000edb: SWAP1
00000edc: MLOAD
00000edd: CALLER
00000ede: SWAP2
00000edf: PUSH32 0x76fea7ef18b6b073facb4f15d873d45dc60e1ac9448931a44b388f40c49e3267
00000f00: SWAP2
00000f01: SWAP1
00000f02: DUP2
00000f03: SWAP1
00000f04: SUB
00000f05: PUSH1 0x20
00000f07: ADD
00000f08: SWAP1
00000f09: LOG2
00000f0a: POP
00000f0b: JUMP
00000f0c: JUMPDEST
00000f0d: PUSH1 0x00
00000f0f: DUP3
00000f10: DUP2
00000f11: MSTORE
00000f12: PUSH1 0x01
00000f14: PUSH1 0x20
00000f16: MSTORE
00000f17: PUSH1 0x40
00000f19: SWAP1
00000f1a: KECCAK256
00000f1b: PUSH1 0x02
00000f1d: ADD
00000f1e: SLOAD
00000f1f: PUSH2 0x0f2f
00000f22: SWAP1
00000f23: PUSH2 0x0f2a
00000f26: PUSH2 0x3152
00000f29: JUMP
00000f2a: JUMPDEST
00000f2b: PUSH2 0x1db5
00000f2e: JUMP
00000f2f: JUMPDEST
00000f30: PUSH2 0x0f6a
00000f33: JUMPI
00000f34: PUSH1 0x40
00000f36: MLOAD
00000f37: PUSH3 0x461bcd
00000f3b: PUSH1 0xe5
00000f3d: SHL
00000f3e: DUP2
00000f3f: MSTORE
00000f40: PUSH1 0x04
00000f42: ADD
00000f43: DUP1
00000f44: DUP1
00000f45: PUSH1 0x20
00000f47: ADD
00000f48: DUP3
00000f49: DUP2
00000f4a: SUB
00000f4b: DUP3
00000f4c: MSTORE
00000f4d: PUSH1 0x2f
00000f4f: DUP2
00000f50: MSTORE
00000f51: PUSH1 0x20
00000f53: ADD
00000f54: DUP1
00000f55: PUSH2 0x3dc7
00000f58: PUSH1 0x2f
00000f5a: SWAP2
00000f5b: CODECOPY
00000f5c: PUSH1 0x40
00000f5e: ADD
00000f5f: SWAP2
00000f60: POP
00000f61: POP
00000f62: PUSH1 0x40
00000f64: MLOAD
00000f65: DUP1
00000f66: SWAP2
00000f67: SUB
00000f68: SWAP1
00000f69: REVERT
00000f6a: JUMPDEST
00000f6b: PUSH2 0x0f74
00000f6e: DUP3
00000f6f: DUP3
00000f70: PUSH2 0x3156
00000f73: JUMP
00000f74: JUMPDEST
00000f75: POP
00000f76: POP
00000f77: JUMP
00000f78: JUMPDEST
00000f79: PUSH1 0x02
00000f7b: DUP1
00000f7c: SLOAD
00000f7d: EQ
00000f7e: ISZERO
00000f7f: PUSH2 0x0fbd
00000f82: JUMPI
00000f83: PUSH1 0x40
00000f85: DUP1
00000f86: MLOAD
00000f87: PUSH3 0x461bcd
00000f8b: PUSH1 0xe5
00000f8d: SHL
00000f8e: DUP2
00000f8f: MSTORE
00000f90: PUSH1 0x20
00000f92: PUSH1 0x04
00000f94: DUP3
00000f95: ADD
00000f96: MSTORE
00000f97: PUSH1 0x1f
00000f99: PUSH1 0x24
00000f9b: DUP3
00000f9c: ADD
00000f9d: MSTORE
00000f9e: PUSH1 0x00
00000fa0: DUP1
00000fa1: MLOAD
00000fa2: PUSH1 0x20
00000fa4: PUSH2 0x3df6
00000fa7: DUP4
00000fa8: CODECOPY
00000fa9: DUP2
00000faa: MLOAD
00000fab: SWAP2
00000fac: MSTORE
00000fad: PUSH1 0x44
00000faf: DUP3
00000fb0: ADD
00000fb1: MSTORE
00000fb2: SWAP1
00000fb3: MLOAD
00000fb4: SWAP1
00000fb5: DUP2
00000fb6: SWAP1
00000fb7: SUB
00000fb8: PUSH1 0x64
00000fba: ADD
00000fbb: SWAP1
00000fbc: REVERT
00000fbd: JUMPDEST
00000fbe: PUSH1 0x02
00000fc0: DUP1
00000fc1: SSTORE
00000fc2: CALLER
00000fc3: PUSH1 0x00
00000fc5: SWAP1
00000fc6: DUP2
00000fc7: MSTORE
00000fc8: PUSH1 0x0a
00000fca: PUSH1 0x20
00000fcc: MSTORE
00000fcd: PUSH1 0x40
00000fcf: SWAP1
00000fd0: KECCAK256
00000fd1: SLOAD
00000fd2: PUSH2 0x100c
00000fd5: JUMPI
00000fd6: PUSH1 0x40
00000fd8: MLOAD
00000fd9: PUSH3 0x461bcd
00000fdd: PUSH1 0xe5
00000fdf: SHL
00000fe0: DUP2
00000fe1: MSTORE
00000fe2: PUSH1 0x04
00000fe4: ADD
00000fe5: DUP1
00000fe6: DUP1
00000fe7: PUSH1 0x20
00000fe9: ADD
00000fea: DUP3
00000feb: DUP2
00000fec: SUB
00000fed: DUP3
00000fee: MSTORE
00000fef: PUSH1 0x2b
00000ff1: DUP2
00000ff2: MSTORE
00000ff3: PUSH1 0x20
00000ff5: ADD
00000ff6: DUP1
00000ff7: PUSH2 0x3e3b
00000ffa: PUSH1 0x2b
00000ffc: SWAP2
00000ffd: CODECOPY
00000ffe: PUSH1 0x40
00001000: ADD
00001001: SWAP2
00001002: POP
00001003: POP
00001004: PUSH1 0x40
00001006: MLOAD
00001007: DUP1
00001008: SWAP2
00001009: SUB
0000100a: SWAP1
0000100b: REVERT
0000100c: JUMPDEST
0000100d: PUSH1 0x03
0000100f: SLOAD
00001010: PUSH1 0xff
00001012: AND
00001013: ISZERO
00001014: PUSH2 0x1057
00001017: JUMPI
00001018: PUSH1 0x40
0000101a: DUP1
0000101b: MLOAD
0000101c: PUSH3 0x461bcd
00001020: PUSH1 0xe5
00001022: SHL
00001023: DUP2
00001024: MSTORE
00001025: PUSH1 0x20
00001027: PUSH1 0x04
00001029: DUP3
0000102a: ADD
0000102b: MSTORE
0000102c: PUSH1 0x10
0000102e: PUSH1 0x24
00001030: DUP3
00001031: ADD
00001032: MSTORE
00001033: PUSH16 0x14185d5cd8589b194e881c185d5cd959
00001044: PUSH1 0x82
00001046: SHL
00001047: PUSH1 0x44
00001049: DUP3
0000104a: ADD
0000104b: MSTORE
0000104c: SWAP1
0000104d: MLOAD
0000104e: SWAP1
0000104f: DUP2
00001050: SWAP1
00001051: SUB
00001052: PUSH1 0x64
00001054: ADD
00001055: SWAP1
00001056: REVERT
00001057: JUMPDEST
00001058: DUP1
00001059: DUP1
0000105a: PUSH2 0x1094
0000105d: JUMPI
0000105e: PUSH1 0x40
00001060: MLOAD
00001061: PUSH3 0x461bcd
00001065: PUSH1 0xe5
00001067: SHL
00001068: DUP2
00001069: MSTORE
0000106a: PUSH1 0x04
0000106c: ADD
0000106d: DUP1
0000106e: DUP1
0000106f: PUSH1 0x20
00001071: ADD
00001072: DUP3
00001073: DUP2
00001074: SUB
00001075: DUP3
00001076: MSTORE
00001077: PUSH1 0x27
00001079: DUP2
0000107a: MSTORE
0000107b: PUSH1 0x20
0000107d: ADD
0000107e: DUP1
0000107f: PUSH2 0x433a
00001082: PUSH1 0x27
00001084: SWAP2
00001085: CODECOPY
00001086: PUSH1 0x40
00001088: ADD
00001089: SWAP2
0000108a: POP
0000108b: POP
0000108c: PUSH1 0x40
0000108e: MLOAD
0000108f: DUP1
00001090: SWAP2
00001091: SUB
00001092: SWAP1
00001093: REVERT
00001094: JUMPDEST
00001095: CALLER
00001096: PUSH1 0x00
00001098: SWAP1
00001099: DUP2
0000109a: MSTORE
0000109b: PUSH1 0x0a
0000109d: PUSH1 0x20
0000109f: SWAP1
000010a0: DUP2
000010a1: MSTORE
000010a2: PUSH1 0x40
000010a4: DUP1
000010a5: DUP4
000010a6: KECCAK256
000010a7: SLOAD
000010a8: DUP4
000010a9: MSTORE
000010aa: PUSH1 0x0b
000010ac: SWAP1
000010ad: SWAP2
000010ae: MSTORE
000010af: DUP2
000010b0: KECCAK256
000010b1: DUP1
000010b2: SLOAD
000010b3: SWAP1
000010b4: SWAP2
000010b5: SWAP1
000010b6: PUSH2 0x10be
000010b9: SWAP1
000010ba: PUSH2 0x1c7c
000010bd: JUMP
000010be: JUMPDEST
000010bf: SWAP1
000010c0: POP
000010c1: DUP4
000010c2: DUP3
000010c3: PUSH1 0x01
000010c5: ADD
000010c6: SLOAD
000010c7: LT
000010c8: ISZERO
000010c9: PUSH2 0x1103
000010cc: JUMPI
000010cd: PUSH1 0x40
000010cf: MLOAD
000010d0: PUSH3 0x461bcd
000010d4: PUSH1 0xe5
000010d6: SHL
000010d7: DUP2
000010d8: MSTORE
000010d9: PUSH1 0x04
000010db: ADD
000010dc: DUP1
000010dd: DUP1
000010de: PUSH1 0x20
000010e0: ADD
000010e1: DUP3
000010e2: DUP2
000010e3: SUB
000010e4: DUP3
000010e5: MSTORE
000010e6: PUSH1 0x46
000010e8: DUP2
000010e9: MSTORE
000010ea: PUSH1 0x20
000010ec: ADD
000010ed: DUP1
000010ee: PUSH2 0x40e7
000010f1: PUSH1 0x46
000010f3: SWAP2
000010f4: CODECOPY
000010f5: PUSH1 0x60
000010f7: ADD
000010f8: SWAP2
000010f9: POP
000010fa: POP
000010fb: PUSH1 0x40
000010fd: MLOAD
000010fe: DUP1
000010ff: SWAP2
00001100: SUB
00001101: SWAP1
00001102: REVERT
00001103: JUMPDEST
00001104: PUSH1 0x01
00001106: DUP3
00001107: ADD
00001108: SLOAD
00001109: PUSH2 0x1112
0000110c: SWAP1
0000110d: DUP6
0000110e: PUSH2 0x31bf
00001111: JUMP
00001112: JUMPDEST
00001113: PUSH1 0x01
00001115: DUP4
00001116: ADD
00001117: SSTORE
00001118: DUP1
00001119: ISZERO
0000111a: PUSH2 0x1168
0000111d: JUMPI
0000111e: PUSH1 0x06
00001120: SLOAD
00001121: DUP3
00001122: SLOAD
00001123: PUSH2 0x112b
00001126: SWAP1
00001127: PUSH2 0x1c7c
0000112a: JUMP
0000112b: JUMPDEST
0000112c: LT
0000112d: ISZERO
0000112e: PUSH2 0x1168
00001131: JUMPI
00001132: PUSH1 0x40
00001134: MLOAD
00001135: PUSH3 0x461bcd
00001139: PUSH1 0xe5
0000113b: SHL
0000113c: DUP2
0000113d: MSTORE
0000113e: PUSH1 0x04
00001140: ADD
00001141: DUP1
00001142: DUP1
00001143: PUSH1 0x20
00001145: ADD
00001146: DUP3
00001147: DUP2
00001148: SUB
00001149: DUP3
0000114a: MSTORE
0000114b: PUSH1 0x43
0000114d: DUP2
0000114e: MSTORE
0000114f: PUSH1 0x20
00001151: ADD
00001152: DUP1
00001153: PUSH2 0x41a4
00001156: PUSH1 0x43
00001158: SWAP2
00001159: CODECOPY
0000115a: PUSH1 0x60
0000115c: ADD
0000115d: SWAP2
0000115e: POP
0000115f: POP
00001160: PUSH1 0x40
00001162: MLOAD
00001163: DUP1
00001164: SWAP2
00001165: SUB
00001166: SWAP1
00001167: REVERT
00001168: JUMPDEST
00001169: PUSH1 0x40
0000116b: DUP1
0000116c: MLOAD
0000116d: PUSH4 0xa9059cbb
00001172: PUSH1 0xe0
00001174: SHL
00001175: DUP2
00001176: MSTORE
00001177: CALLER
00001178: PUSH1 0x04
0000117a: DUP3
0000117b: ADD
0000117c: MSTORE
0000117d: PUSH1 0x24
0000117f: DUP2
00001180: ADD
00001181: DUP7
00001182: SWAP1
00001183: MSTORE
00001184: SWAP1
00001185: MLOAD
00001186: PUSH1 0x01
00001188: PUSH1 0x01
0000118a: PUSH1 0xa0
0000118c: SHL
0000118d: SUB
0000118e: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
000011af: AND
000011b0: SWAP2
000011b1: PUSH4 0xa9059cbb
000011b6: SWAP2
000011b7: PUSH1 0x44
000011b9: DUP1
000011ba: DUP4
000011bb: ADD
000011bc: SWAP3
000011bd: PUSH1 0x20
000011bf: SWAP3
000011c0: SWAP2
000011c1: SWAP1
000011c2: DUP3
000011c3: SWAP1
000011c4: SUB
000011c5: ADD
000011c6: DUP2
000011c7: PUSH1 0x00
000011c9: DUP8
000011ca: DUP1
000011cb: EXTCODESIZE
000011cc: ISZERO
000011cd: DUP1
000011ce: ISZERO
000011cf: PUSH2 0x11d7
000011d2: JUMPI
000011d3: PUSH1 0x00
000011d5: DUP1
000011d6: REVERT
000011d7: JUMPDEST
000011d8: POP
000011d9: GAS
000011da: CALL
000011db: ISZERO
000011dc: DUP1
000011dd: ISZERO
000011de: PUSH2 0x11eb
000011e1: JUMPI
000011e2: RETURNDATASIZE
000011e3: PUSH1 0x00
000011e5: DUP1
000011e6: RETURNDATACOPY
000011e7: RETURNDATASIZE
000011e8: PUSH1 0x00
000011ea: REVERT
000011eb: JUMPDEST
000011ec: POP
000011ed: POP
000011ee: POP
000011ef: POP
000011f0: PUSH1 0x40
000011f2: MLOAD
000011f3: RETURNDATASIZE
000011f4: PUSH1 0x20
000011f6: DUP2
000011f7: LT
000011f8: ISZERO
000011f9: PUSH2 0x1201
000011fc: JUMPI
000011fd: PUSH1 0x00
000011ff: DUP1
00001200: REVERT
00001201: JUMPDEST
00001202: POP
00001203: MLOAD
00001204: PUSH2 0x123e
00001207: JUMPI
00001208: PUSH1 0x40
0000120a: MLOAD
0000120b: PUSH3 0x461bcd
0000120f: PUSH1 0xe5
00001211: SHL
00001212: DUP2
00001213: MSTORE
00001214: PUSH1 0x04
00001216: ADD
00001217: DUP1
00001218: DUP1
00001219: PUSH1 0x20
0000121b: ADD
0000121c: DUP3
0000121d: DUP2
0000121e: SUB
0000121f: DUP3
00001220: MSTORE
00001221: PUSH1 0x3e
00001223: DUP2
00001224: MSTORE
00001225: PUSH1 0x20
00001227: ADD
00001228: DUP1
00001229: PUSH2 0x42c7
0000122c: PUSH1 0x3e
0000122e: SWAP2
0000122f: CODECOPY
00001230: PUSH1 0x40
00001232: ADD
00001233: SWAP2
00001234: POP
00001235: POP
00001236: PUSH1 0x40
00001238: MLOAD
00001239: DUP1
0000123a: SWAP2
0000123b: SUB
0000123c: SWAP1
0000123d: REVERT
0000123e: JUMPDEST
0000123f: DUP2
00001240: SLOAD
00001241: PUSH1 0x40
00001243: DUP1
00001244: MLOAD
00001245: DUP7
00001246: DUP2
00001247: MSTORE
00001248: SWAP1
00001249: MLOAD
0000124a: CALLER
0000124b: SWAP2
0000124c: PUSH32 0x47e1336b6fdb5f42c3a1d28b558fa98786d820c3705d726358dcc8e63a401eef
0000126d: SWAP2
0000126e: SWAP1
0000126f: DUP2
00001270: SWAP1
00001271: SUB
00001272: PUSH1 0x20
00001274: ADD
00001275: SWAP1
00001276: LOG3
00001277: POP
00001278: POP
00001279: PUSH1 0x01
0000127b: PUSH1 0x02
0000127d: SSTORE
0000127e: POP
0000127f: POP
00001280: JUMP
00001281: JUMPDEST
00001282: PUSH2 0x1289
00001285: PUSH2 0x3152
00001288: JUMP
00001289: JUMPDEST
0000128a: PUSH1 0x01
0000128c: PUSH1 0x01
0000128e: PUSH1 0xa0
00001290: SHL
00001291: SUB
00001292: AND
00001293: DUP2
00001294: PUSH1 0x01
00001296: PUSH1 0x01
00001298: PUSH1 0xa0
0000129a: SHL
0000129b: SUB
0000129c: AND
0000129d: EQ
0000129e: PUSH2 0x12d8
000012a1: JUMPI
000012a2: PUSH1 0x40
000012a4: MLOAD
000012a5: PUSH3 0x461bcd
000012a9: PUSH1 0xe5
000012ab: SHL
000012ac: DUP2
000012ad: MSTORE
000012ae: PUSH1 0x04
000012b0: ADD
000012b1: DUP1
000012b2: DUP1
000012b3: PUSH1 0x20
000012b5: ADD
000012b6: DUP3
000012b7: DUP2
000012b8: SUB
000012b9: DUP3
000012ba: MSTORE
000012bb: PUSH1 0x2f
000012bd: DUP2
000012be: MSTORE
000012bf: PUSH1 0x20
000012c1: ADD
000012c2: DUP1
000012c3: PUSH2 0x4421
000012c6: PUSH1 0x2f
000012c8: SWAP2
000012c9: CODECOPY
000012ca: PUSH1 0x40
000012cc: ADD
000012cd: SWAP2
000012ce: POP
000012cf: POP
000012d0: PUSH1 0x40
000012d2: MLOAD
000012d3: DUP1
000012d4: SWAP2
000012d5: SUB
000012d6: SWAP1
000012d7: REVERT
000012d8: JUMPDEST
000012d9: PUSH2 0x0f74
000012dc: DUP3
000012dd: DUP3
000012de: PUSH2 0x3201
000012e1: JUMP
000012e2: JUMPDEST
000012e3: PUSH2 0x12ea
000012e6: PUSH2 0x3152
000012e9: JUMP
000012ea: JUMPDEST
000012eb: PUSH1 0x00
000012ed: SLOAD
000012ee: PUSH1 0x01
000012f0: PUSH1 0x01
000012f2: PUSH1 0xa0
000012f4: SHL
000012f5: SUB
000012f6: SWAP1
000012f7: DUP2
000012f8: AND
000012f9: SWAP2
000012fa: AND
000012fb: EQ
000012fc: PUSH2 0x133a
000012ff: JUMPI
00001300: PUSH1 0x40
00001302: DUP1
00001303: MLOAD
00001304: PUSH3 0x461bcd
00001308: PUSH1 0xe5
0000130a: SHL
0000130b: DUP2
0000130c: MSTORE
0000130d: PUSH1 0x20
0000130f: PUSH1 0x04
00001311: DUP3
00001312: ADD
00001313: DUP2
00001314: SWAP1
00001315: MSTORE
00001316: PUSH1 0x24
00001318: DUP3
00001319: ADD
0000131a: MSTORE
0000131b: PUSH1 0x00
0000131d: DUP1
0000131e: MLOAD
0000131f: PUSH1 0x20
00001321: PUSH2 0x4270
00001324: DUP4
00001325: CODECOPY
00001326: DUP2
00001327: MLOAD
00001328: SWAP2
00001329: MSTORE
0000132a: PUSH1 0x44
0000132c: DUP3
0000132d: ADD
0000132e: MSTORE
0000132f: SWAP1
00001330: MLOAD
00001331: SWAP1
00001332: DUP2
00001333: SWAP1
00001334: SUB
00001335: PUSH1 0x64
00001337: ADD
00001338: SWAP1
00001339: REVERT
0000133a: JUMPDEST
0000133b: PUSH2 0x1342
0000133e: PUSH2 0x326a
00001341: JUMP
00001342: JUMPDEST
00001343: JUMP
00001344: JUMPDEST
00001345: PUSH1 0x02
00001347: DUP1
00001348: SLOAD
00001349: EQ
0000134a: ISZERO
0000134b: PUSH2 0x1389
0000134e: JUMPI
0000134f: PUSH1 0x40
00001351: DUP1
00001352: MLOAD
00001353: PUSH3 0x461bcd
00001357: PUSH1 0xe5
00001359: SHL
0000135a: DUP2
0000135b: MSTORE
0000135c: PUSH1 0x20
0000135e: PUSH1 0x04
00001360: DUP3
00001361: ADD
00001362: MSTORE
00001363: PUSH1 0x1f
00001365: PUSH1 0x24
00001367: DUP3
00001368: ADD
00001369: MSTORE
0000136a: PUSH1 0x00
0000136c: DUP1
0000136d: MLOAD
0000136e: PUSH1 0x20
00001370: PUSH2 0x3df6
00001373: DUP4
00001374: CODECOPY
00001375: DUP2
00001376: MLOAD
00001377: SWAP2
00001378: MSTORE
00001379: PUSH1 0x44
0000137b: DUP3
0000137c: ADD
0000137d: MSTORE
0000137e: SWAP1
0000137f: MLOAD
00001380: SWAP1
00001381: DUP2
00001382: SWAP1
00001383: SUB
00001384: PUSH1 0x64
00001386: ADD
00001387: SWAP1
00001388: REVERT
00001389: JUMPDEST
0000138a: PUSH1 0x02
0000138c: DUP1
0000138d: SSTORE
0000138e: CALLER
0000138f: PUSH1 0x00
00001391: SWAP1
00001392: DUP2
00001393: MSTORE
00001394: PUSH1 0x0a
00001396: PUSH1 0x20
00001398: MSTORE
00001399: PUSH1 0x40
0000139b: SWAP1
0000139c: KECCAK256
0000139d: SLOAD
0000139e: PUSH2 0x13d8
000013a1: JUMPI
000013a2: PUSH1 0x40
000013a4: MLOAD
000013a5: PUSH3 0x461bcd
000013a9: PUSH1 0xe5
000013ab: SHL
000013ac: DUP2
000013ad: MSTORE
000013ae: PUSH1 0x04
000013b0: ADD
000013b1: DUP1
000013b2: DUP1
000013b3: PUSH1 0x20
000013b5: ADD
000013b6: DUP3
000013b7: DUP2
000013b8: SUB
000013b9: DUP3
000013ba: MSTORE
000013bb: PUSH1 0x2b
000013bd: DUP2
000013be: MSTORE
000013bf: PUSH1 0x20
000013c1: ADD
000013c2: DUP1
000013c3: PUSH2 0x3e3b
000013c6: PUSH1 0x2b
000013c8: SWAP2
000013c9: CODECOPY
000013ca: PUSH1 0x40
000013cc: ADD
000013cd: SWAP2
000013ce: POP
000013cf: POP
000013d0: PUSH1 0x40
000013d2: MLOAD
000013d3: DUP1
000013d4: SWAP2
000013d5: SUB
000013d6: SWAP1
000013d7: REVERT
000013d8: JUMPDEST
000013d9: PUSH1 0x03
000013db: SLOAD
000013dc: PUSH1 0xff
000013de: AND
000013df: ISZERO
000013e0: PUSH2 0x1423
000013e3: JUMPI
000013e4: PUSH1 0x40
000013e6: DUP1
000013e7: MLOAD
000013e8: PUSH3 0x461bcd
000013ec: PUSH1 0xe5
000013ee: SHL
000013ef: DUP2
000013f0: MSTORE
000013f1: PUSH1 0x20
000013f3: PUSH1 0x04
000013f5: DUP3
000013f6: ADD
000013f7: MSTORE
000013f8: PUSH1 0x10
000013fa: PUSH1 0x24
000013fc: DUP3
000013fd: ADD
000013fe: MSTORE
000013ff: PUSH16 0x14185d5cd8589b194e881c185d5cd959
00001410: PUSH1 0x82
00001412: SHL
00001413: PUSH1 0x44
00001415: DUP3
00001416: ADD
00001417: MSTORE
00001418: SWAP1
00001419: MLOAD
0000141a: SWAP1
0000141b: DUP2
0000141c: SWAP1
0000141d: SUB
0000141e: PUSH1 0x64
00001420: ADD
00001421: SWAP1
00001422: REVERT
00001423: JUMPDEST
00001424: DUP1
00001425: DUP1
00001426: PUSH2 0x1460
00001429: JUMPI
0000142a: PUSH1 0x40
0000142c: MLOAD
0000142d: PUSH3 0x461bcd
00001431: PUSH1 0xe5
00001433: SHL
00001434: DUP2
00001435: MSTORE
00001436: PUSH1 0x04
00001438: ADD
00001439: DUP1
0000143a: DUP1
0000143b: PUSH1 0x20
0000143d: ADD
0000143e: DUP3
0000143f: DUP2
00001440: SUB
00001441: DUP3
00001442: MSTORE
00001443: PUSH1 0x27
00001445: DUP2
00001446: MSTORE
00001447: PUSH1 0x20
00001449: ADD
0000144a: DUP1
0000144b: PUSH2 0x433a
0000144e: PUSH1 0x27
00001450: SWAP2
00001451: CODECOPY
00001452: PUSH1 0x40
00001454: ADD
00001455: SWAP2
00001456: POP
00001457: POP
00001458: PUSH1 0x40
0000145a: MLOAD
0000145b: DUP1
0000145c: SWAP2
0000145d: SUB
0000145e: SWAP1
0000145f: REVERT
00001460: JUMPDEST
00001461: PUSH1 0x00
00001463: PUSH2 0x146b
00001466: DUP4
00001467: PUSH2 0x2fda
0000146a: JUMP
0000146b: JUMPDEST
0000146c: SWAP1
0000146d: POP
0000146e: DUP1
0000146f: CALLVALUE
00001470: LT
00001471: ISZERO
00001472: PUSH2 0x14ac
00001475: JUMPI
00001476: PUSH1 0x40
00001478: MLOAD
00001479: PUSH3 0x461bcd
0000147d: PUSH1 0xe5
0000147f: SHL
00001480: DUP2
00001481: MSTORE
00001482: PUSH1 0x04
00001484: ADD
00001485: DUP1
00001486: DUP1
00001487: PUSH1 0x20
00001489: ADD
0000148a: DUP3
0000148b: DUP2
0000148c: SUB
0000148d: DUP3
0000148e: MSTORE
0000148f: PUSH1 0x2f
00001491: DUP2
00001492: MSTORE
00001493: PUSH1 0x20
00001495: ADD
00001496: DUP1
00001497: PUSH2 0x43b9
0000149a: PUSH1 0x2f
0000149c: SWAP2
0000149d: CODECOPY
0000149e: PUSH1 0x40
000014a0: ADD
000014a1: SWAP2
000014a2: POP
000014a3: POP
000014a4: PUSH1 0x40
000014a6: MLOAD
000014a7: DUP1
000014a8: SWAP2
000014a9: SUB
000014aa: SWAP1
000014ab: REVERT
000014ac: JUMPDEST
000014ad: PUSH2 0x14b4
000014b0: PUSH2 0x3d08
000014b3: JUMP
000014b4: JUMPDEST
000014b5: POP
000014b6: CALLER
000014b7: PUSH1 0x00
000014b9: SWAP1
000014ba: DUP2
000014bb: MSTORE
000014bc: PUSH1 0x0a
000014be: PUSH1 0x20
000014c0: SWAP1
000014c1: DUP2
000014c2: MSTORE
000014c3: PUSH1 0x40
000014c5: DUP1
000014c6: DUP4
000014c7: KECCAK256
000014c8: SLOAD
000014c9: DUP4
000014ca: MSTORE
000014cb: PUSH1 0x0b
000014cd: DUP3
000014ce: MSTORE
000014cf: SWAP2
000014d0: DUP3
000014d1: SWAP1
000014d2: KECCAK256
000014d3: DUP3
000014d4: MLOAD
000014d5: PUSH1 0x80
000014d7: DUP2
000014d8: ADD
000014d9: DUP5
000014da: MSTORE
000014db: DUP2
000014dc: SLOAD
000014dd: DUP1
000014de: DUP3
000014df: MSTORE
000014e0: PUSH1 0x01
000014e2: DUP4
000014e3: ADD
000014e4: SLOAD
000014e5: SWAP4
000014e6: DUP3
000014e7: ADD
000014e8: SWAP4
000014e9: SWAP1
000014ea: SWAP4
000014eb: MSTORE
000014ec: PUSH1 0x02
000014ee: DUP3
000014ef: ADD
000014f0: SLOAD
000014f1: SWAP4
000014f2: DUP2
000014f3: ADD
000014f4: SWAP4
000014f5: SWAP1
000014f6: SWAP4
000014f7: MSTORE
000014f8: PUSH1 0x03
000014fa: ADD
000014fb: SLOAD
000014fc: PUSH1 0x01
000014fe: PUSH1 0x01
00001500: PUSH1 0xa0
00001502: SHL
00001503: SUB
00001504: AND
00001505: PUSH1 0x60
00001507: DUP4
00001508: ADD
00001509: MSTORE
0000150a: PUSH2 0x1513
0000150d: SWAP1
0000150e: DUP6
0000150f: PUSH2 0x3308
00001512: JUMP
00001513: JUMPDEST
00001514: PUSH32 0x0000000000000000000000005b577578565c2404bb84e734f583cf8523236ef1
00001535: PUSH1 0x01
00001537: PUSH1 0x01
00001539: PUSH1 0xa0
0000153b: SHL
0000153c: SUB
0000153d: AND
0000153e: ISZERO
0000153f: PUSH2 0x1648
00001542: JUMPI
00001543: PUSH1 0x40
00001545: DUP1
00001546: MLOAD
00001547: PUSH4 0xf3fef3a3
0000154c: PUSH1 0xe0
0000154e: SHL
0000154f: DUP2
00001550: MSTORE
00001551: CALLER
00001552: PUSH1 0x04
00001554: DUP3
00001555: ADD
00001556: MSTORE
00001557: PUSH1 0x24
00001559: DUP2
0000155a: ADD
0000155b: DUP7
0000155c: SWAP1
0000155d: MSTORE
0000155e: SWAP1
0000155f: MLOAD
00001560: PUSH1 0x01
00001562: PUSH1 0x01
00001564: PUSH1 0xa0
00001566: SHL
00001567: SUB
00001568: PUSH32 0x0000000000000000000000005b577578565c2404bb84e734f583cf8523236ef1
00001589: AND
0000158a: SWAP2
0000158b: PUSH4 0xf3fef3a3
00001590: SWAP2
00001591: PUSH1 0x44
00001593: DUP1
00001594: DUP4
00001595: ADD
00001596: SWAP3
00001597: PUSH1 0x00
00001599: SWAP3
0000159a: SWAP2
0000159b: SWAP1
0000159c: DUP3
0000159d: SWAP1
0000159e: SUB
0000159f: ADD
000015a0: DUP2
000015a1: DUP4
000015a2: DUP8
000015a3: DUP1
000015a4: EXTCODESIZE
000015a5: ISZERO
000015a6: DUP1
000015a7: ISZERO
000015a8: PUSH2 0x15b0
000015ab: JUMPI
000015ac: PUSH1 0x00
000015ae: DUP1
000015af: REVERT
000015b0: JUMPDEST
000015b1: POP
000015b2: GAS
000015b3: CALL
000015b4: ISZERO
000015b5: DUP1
000015b6: ISZERO
000015b7: PUSH2 0x15c4
000015ba: JUMPI
000015bb: RETURNDATASIZE
000015bc: PUSH1 0x00
000015be: DUP1
000015bf: RETURNDATACOPY
000015c0: RETURNDATASIZE
000015c1: PUSH1 0x00
000015c3: REVERT
000015c4: JUMPDEST
000015c5: POP
000015c6: POP
000015c7: PUSH1 0x40
000015c9: DUP1
000015ca: MLOAD
000015cb: PUSH4 0xe0588af7
000015d0: PUSH1 0xe0
000015d2: SHL
000015d3: DUP2
000015d4: MSTORE
000015d5: CALLER
000015d6: PUSH1 0x04
000015d8: DUP3
000015d9: ADD
000015da: MSTORE
000015db: SWAP1
000015dc: MLOAD
000015dd: PUSH1 0x01
000015df: PUSH1 0x01
000015e1: PUSH1 0xa0
000015e3: SHL
000015e4: SUB
000015e5: PUSH32 0x0000000000000000000000005b577578565c2404bb84e734f583cf8523236ef1
00001606: AND
00001607: SWAP4
00001608: POP
00001609: PUSH4 0xe0588af7
0000160e: SWAP3
0000160f: POP
00001610: PUSH1 0x24
00001612: DUP1
00001613: DUP4
00001614: ADD
00001615: SWAP3
00001616: PUSH1 0x00
00001618: SWAP3
00001619: SWAP2
0000161a: SWAP1
0000161b: DUP3
0000161c: SWAP1
0000161d: SUB
0000161e: ADD
0000161f: DUP2
00001620: DUP4
00001621: DUP8
00001622: DUP1
00001623: EXTCODESIZE
00001624: ISZERO
00001625: DUP1
00001626: ISZERO
00001627: PUSH2 0x162f
0000162a: JUMPI
0000162b: PUSH1 0x00
0000162d: DUP1
0000162e: REVERT
0000162f: JUMPDEST
00001630: POP
00001631: GAS
00001632: CALL
00001633: ISZERO
00001634: DUP1
00001635: ISZERO
00001636: PUSH2 0x1643
00001639: JUMPI
0000163a: RETURNDATASIZE
0000163b: PUSH1 0x00
0000163d: DUP1
0000163e: RETURNDATACOPY
0000163f: RETURNDATASIZE
00001640: PUSH1 0x00
00001642: REVERT
00001643: JUMPDEST
00001644: POP
00001645: POP
00001646: POP
00001647: POP
00001648: JUMPDEST
00001649: PUSH1 0x09
0000164b: SLOAD
0000164c: PUSH2 0x165e
0000164f: SWAP1
00001650: PUSH1 0x01
00001652: PUSH1 0x01
00001654: PUSH1 0xa0
00001656: SHL
00001657: SUB
00001658: AND
00001659: DUP4
0000165a: PUSH2 0x33f8
0000165d: JUMP
0000165e: JUMPDEST
0000165f: PUSH2 0x1671
00001662: CALLER
00001663: PUSH2 0x166c
00001666: CALLVALUE
00001667: DUP6
00001668: PUSH2 0x31bf
0000166b: JUMP
0000166c: JUMPDEST
0000166d: PUSH2 0x33f8
00001670: JUMP
00001671: JUMPDEST
00001672: DUP1
00001673: MLOAD
00001674: PUSH1 0x40
00001676: DUP1
00001677: MLOAD
00001678: DUP7
00001679: DUP2
0000167a: MSTORE
0000167b: SWAP1
0000167c: MLOAD
0000167d: CALLER
0000167e: SWAP2
0000167f: PUSH32 0xccbea4088a3b7ae9ca2d15fab9a9742a4075b4d7247768a1eecea917565aba00
000016a0: SWAP2
000016a1: SWAP1
000016a2: DUP2
000016a3: SWAP1
000016a4: SUB
000016a5: PUSH1 0x20
000016a7: ADD
000016a8: SWAP1
000016a9: LOG3
000016aa: POP
000016ab: POP
000016ac: PUSH1 0x01
000016ae: PUSH1 0x02
000016b0: SSTORE
000016b1: POP
000016b2: POP
000016b3: JUMP
000016b4: JUMPDEST
000016b5: PUSH1 0x00
000016b7: DUP1
000016b8: PUSH2 0x16e0
000016bb: PUSH32 0x000000000000000000000000a4e581bd159b869e8290707a7fbf841fe7fe97b6
000016dc: PUSH2 0x1a4d
000016df: JUMP
000016e0: JUMPDEST
000016e1: SWAP1
000016e2: POP
000016e3: PUSH2 0x16f7
000016e6: PUSH1 0x05
000016e8: SLOAD
000016e9: DUP3
000016ea: PUSH2 0x3110
000016ed: SWAP1
000016ee: SWAP2
000016ef: SWAP1
000016f0: PUSH4 0xffffffff
000016f5: AND
000016f6: JUMP
000016f7: JUMPDEST
000016f8: SWAP2
000016f9: POP
000016fa: POP
000016fb: SWAP1
000016fc: JUMP
000016fd: JUMPDEST
000016fe: PUSH2 0x1705
00001701: PUSH2 0x3152
00001704: JUMP
00001705: JUMPDEST
00001706: PUSH1 0x00
00001708: SLOAD
00001709: PUSH1 0x01
0000170b: PUSH1 0x01
0000170d: PUSH1 0xa0
0000170f: SHL
00001710: SUB
00001711: SWAP1
00001712: DUP2
00001713: AND
00001714: SWAP2
00001715: AND
00001716: EQ
00001717: PUSH2 0x1755
0000171a: JUMPI
0000171b: PUSH1 0x40
0000171d: DUP1
0000171e: MLOAD
0000171f: PUSH3 0x461bcd
00001723: PUSH1 0xe5
00001725: SHL
00001726: DUP2
00001727: MSTORE
00001728: PUSH1 0x20
0000172a: PUSH1 0x04
0000172c: DUP3
0000172d: ADD
0000172e: DUP2
0000172f: SWAP1
00001730: MSTORE
00001731: PUSH1 0x24
00001733: DUP3
00001734: ADD
00001735: MSTORE
00001736: PUSH1 0x00
00001738: DUP1
00001739: MLOAD
0000173a: PUSH1 0x20
0000173c: PUSH2 0x4270
0000173f: DUP4
00001740: CODECOPY
00001741: DUP2
00001742: MLOAD
00001743: SWAP2
00001744: MSTORE
00001745: PUSH1 0x44
00001747: DUP3
00001748: ADD
00001749: MSTORE
0000174a: SWAP1
0000174b: MLOAD
0000174c: SWAP1
0000174d: DUP2
0000174e: SWAP1
0000174f: SUB
00001750: PUSH1 0x64
00001752: ADD
00001753: SWAP1
00001754: REVERT
00001755: JUMPDEST
00001756: PUSH1 0x0a
00001758: DUP2
00001759: GT
0000175a: ISZERO
0000175b: PUSH2 0x1795
0000175e: JUMPI
0000175f: PUSH1 0x40
00001761: MLOAD
00001762: PUSH3 0x461bcd
00001766: PUSH1 0xe5
00001768: SHL
00001769: DUP2
0000176a: MSTORE
0000176b: PUSH1 0x04
0000176d: ADD
0000176e: DUP1
0000176f: DUP1
00001770: PUSH1 0x20
00001772: ADD
00001773: DUP3
00001774: DUP2
00001775: SUB
00001776: DUP3
00001777: MSTORE
00001778: PUSH1 0x36
0000177a: DUP2
0000177b: MSTORE
0000177c: PUSH1 0x20
0000177e: ADD
0000177f: DUP1
00001780: PUSH2 0x40b1
00001783: PUSH1 0x36
00001785: SWAP2
00001786: CODECOPY
00001787: PUSH1 0x40
00001789: ADD
0000178a: SWAP2
0000178b: POP
0000178c: POP
0000178d: PUSH1 0x40
0000178f: MLOAD
00001790: DUP1
00001791: SWAP2
00001792: SUB
00001793: SWAP1
00001794: REVERT
00001795: JUMPDEST
00001796: PUSH1 0x07
00001798: DUP2
00001799: SWAP1
0000179a: SSTORE
0000179b: PUSH1 0x40
0000179d: DUP1
0000179e: MLOAD
0000179f: DUP3
000017a0: DUP2
000017a1: MSTORE
000017a2: SWAP1
000017a3: MLOAD
000017a4: CALLER
000017a5: SWAP2
000017a6: PUSH32 0x2b29c7e5fe28010036a94929b56a0eb76bf5e90700e842a971eaa6e4abc45f04
000017c7: SWAP2
000017c8: SWAP1
000017c9: DUP2
000017ca: SWAP1
000017cb: SUB
000017cc: PUSH1 0x20
000017ce: ADD
000017cf: SWAP1
000017d0: LOG2
000017d1: POP
000017d2: JUMP
000017d3: JUMPDEST
000017d4: PUSH1 0x03
000017d6: SLOAD
000017d7: PUSH1 0xff
000017d9: AND
000017da: SWAP1
000017db: JUMP
000017dc: JUMPDEST
000017dd: PUSH1 0x03
000017df: SLOAD
000017e0: PUSH1 0xff
000017e2: AND
000017e3: ISZERO
000017e4: PUSH2 0x1827
000017e7: JUMPI
000017e8: PUSH1 0x40
000017ea: DUP1
000017eb: MLOAD
000017ec: PUSH3 0x461bcd
000017f0: PUSH1 0xe5
000017f2: SHL
000017f3: DUP2
000017f4: MSTORE
000017f5: PUSH1 0x20
000017f7: PUSH1 0x04
000017f9: DUP3
000017fa: ADD
000017fb: MSTORE
000017fc: PUSH1 0x10
000017fe: PUSH1 0x24
00001800: DUP3
00001801: ADD
00001802: MSTORE
00001803: PUSH16 0x14185d5cd8589b194e881c185d5cd959
00001814: PUSH1 0x82
00001816: SHL
00001817: PUSH1 0x44
00001819: DUP3
0000181a: ADD
0000181b: MSTORE
0000181c: SWAP1
0000181d: MLOAD
0000181e: SWAP1
0000181f: DUP2
00001820: SWAP1
00001821: SUB
00001822: PUSH1 0x64
00001824: ADD
00001825: SWAP1
00001826: REVERT
00001827: JUMPDEST
00001828: CALLER
00001829: PUSH1 0x00
0000182b: SWAP1
0000182c: DUP2
0000182d: MSTORE
0000182e: PUSH1 0x0a
00001830: PUSH1 0x20
00001832: MSTORE
00001833: PUSH1 0x40
00001835: SWAP1
00001836: KECCAK256
00001837: SLOAD
00001838: ISZERO
00001839: PUSH2 0x1873
0000183c: JUMPI
0000183d: PUSH1 0x40
0000183f: MLOAD
00001840: PUSH3 0x461bcd
00001844: PUSH1 0xe5
00001846: SHL
00001847: DUP2
00001848: MSTORE
00001849: PUSH1 0x04
0000184b: ADD
0000184c: DUP1
0000184d: DUP1
0000184e: PUSH1 0x20
00001850: ADD
00001851: DUP3
00001852: DUP2
00001853: SUB
00001854: DUP3
00001855: MSTORE
00001856: PUSH1 0x30
00001858: DUP2
00001859: MSTORE
0000185a: PUSH1 0x20
0000185c: ADD
0000185d: DUP1
0000185e: PUSH2 0x3d3a
00001861: PUSH1 0x30
00001863: SWAP2
00001864: CODECOPY
00001865: PUSH1 0x40
00001867: ADD
00001868: SWAP2
00001869: POP
0000186a: POP
0000186b: PUSH1 0x40
0000186d: MLOAD
0000186e: DUP1
0000186f: SWAP2
00001870: SUB
00001871: SWAP1
00001872: REVERT
00001873: JUMPDEST
00001874: PUSH1 0x00
00001876: PUSH2 0x187f
00001879: PUSH1 0x04
0000187b: PUSH2 0x34f0
0000187e: JUMP
0000187f: JUMPDEST
00001880: CALLER
00001881: PUSH1 0x00
00001883: SWAP1
00001884: DUP2
00001885: MSTORE
00001886: PUSH1 0x0a
00001888: PUSH1 0x20
0000188a: MSTORE
0000188b: PUSH1 0x40
0000188d: SWAP1
0000188e: KECCAK256
0000188f: DUP2
00001890: SWAP1
00001891: SSTORE
00001892: SWAP1
00001893: POP
00001894: PUSH2 0x189b
00001897: PUSH2 0x3d08
0000189a: JUMP
0000189b: JUMPDEST
0000189c: POP
0000189d: PUSH1 0x40
0000189f: DUP1
000018a0: MLOAD
000018a1: PUSH1 0x80
000018a3: DUP2
000018a4: ADD
000018a5: DUP3
000018a6: MSTORE
000018a7: DUP3
000018a8: DUP2
000018a9: MSTORE
000018aa: PUSH1 0x00
000018ac: PUSH1 0x20
000018ae: DUP1
000018af: DUP4
000018b0: ADD
000018b1: DUP3
000018b2: DUP2
000018b3: MSTORE
000018b4: DUP4
000018b5: DUP6
000018b6: ADD
000018b7: DUP4
000018b8: DUP2
000018b9: MSTORE
000018ba: CALLER
000018bb: PUSH1 0x60
000018bd: DUP7
000018be: ADD
000018bf: SWAP1
000018c0: DUP2
000018c1: MSTORE
000018c2: DUP8
000018c3: DUP6
000018c4: MSTORE
000018c5: PUSH1 0x0b
000018c7: SWAP1
000018c8: SWAP4
000018c9: MSTORE
000018ca: SWAP5
000018cb: SWAP1
000018cc: SWAP3
000018cd: KECCAK256
000018ce: DUP4
000018cf: MLOAD
000018d0: DUP2
000018d1: SSTORE
000018d2: SWAP2
000018d3: MLOAD
000018d4: PUSH1 0x01
000018d6: DUP4
000018d7: ADD
000018d8: SSTORE
000018d9: SWAP3
000018da: MLOAD
000018db: PUSH1 0x02
000018dd: DUP3
000018de: ADD
000018df: SSTORE
000018e0: SWAP2
000018e1: MLOAD
000018e2: PUSH1 0x03
000018e4: SWAP1
000018e5: SWAP3
000018e6: ADD
000018e7: DUP1
000018e8: SLOAD
000018e9: PUSH1 0x01
000018eb: PUSH1 0x01
000018ed: PUSH1 0xa0
000018ef: SHL
000018f0: SUB
000018f1: NOT
000018f2: AND
000018f3: PUSH1 0x01
000018f5: PUSH1 0x01
000018f7: PUSH1 0xa0
000018f9: SHL
000018fa: SUB
000018fb: SWAP1
000018fc: SWAP4
000018fd: AND
000018fe: SWAP3
000018ff: SWAP1
00001900: SWAP3
00001901: OR
00001902: SWAP1
00001903: SWAP2
00001904: SSTORE
00001905: PUSH2 0x190e
00001908: PUSH1 0x04
0000190a: PUSH2 0x3099
0000190d: JUMP
0000190e: JUMPDEST
0000190f: PUSH1 0x40
00001911: MLOAD
00001912: DUP3
00001913: SWAP1
00001914: CALLER
00001915: SWAP1
00001916: PUSH32 0xa510df27d6e51efd91d3f55722bad1f26bf924a63e5dcee07c2ab4c3d4992dcc
00001937: SWAP1
00001938: PUSH1 0x00
0000193a: SWAP1
0000193b: LOG3
0000193c: POP
0000193d: POP
0000193e: JUMP
0000193f: JUMPDEST
00001940: PUSH1 0x04
00001942: SLOAD
00001943: DUP2
00001944: JUMP
00001945: JUMPDEST
00001946: PUSH1 0x09
00001948: SLOAD
00001949: PUSH1 0x01
0000194b: PUSH1 0x01
0000194d: PUSH1 0xa0
0000194f: SHL
00001950: SUB
00001951: AND
00001952: DUP2
00001953: JUMP
00001954: JUMPDEST
00001955: PUSH32 0x0000000000000000000000005b577578565c2404bb84e734f583cf8523236ef1
00001976: DUP2
00001977: JUMP
00001978: JUMPDEST
00001979: PUSH5 0x02540be400
0000197f: DUP2
00001980: JUMP
00001981: JUMPDEST
00001982: PUSH32 0x00000000000000000000000016c52ceece2ed57dad87319d91b5e3637d50afa4
000019a3: DUP2
000019a4: JUMP
000019a5: JUMPDEST
000019a6: PUSH2 0x19ad
000019a9: PUSH2 0x3152
000019ac: JUMP
000019ad: JUMPDEST
000019ae: PUSH1 0x00
000019b0: SLOAD
000019b1: PUSH1 0x01
000019b3: PUSH1 0x01
000019b5: PUSH1 0xa0
000019b7: SHL
000019b8: SUB
000019b9: SWAP1
000019ba: DUP2
000019bb: AND
000019bc: SWAP2
000019bd: AND
000019be: EQ
000019bf: PUSH2 0x19fd
000019c2: JUMPI
000019c3: PUSH1 0x40
000019c5: DUP1
000019c6: MLOAD
000019c7: PUSH3 0x461bcd
000019cb: PUSH1 0xe5
000019cd: SHL
000019ce: DUP2
000019cf: MSTORE
000019d0: PUSH1 0x20
000019d2: PUSH1 0x04
000019d4: DUP3
000019d5: ADD
000019d6: DUP2
000019d7: SWAP1
000019d8: MSTORE
000019d9: PUSH1 0x24
000019db: DUP3
000019dc: ADD
000019dd: MSTORE
000019de: PUSH1 0x00
000019e0: DUP1
000019e1: MLOAD
000019e2: PUSH1 0x20
000019e4: PUSH2 0x4270
000019e7: DUP4
000019e8: CODECOPY
000019e9: DUP2
000019ea: MLOAD
000019eb: SWAP2
000019ec: MSTORE
000019ed: PUSH1 0x44
000019ef: DUP3
000019f0: ADD
000019f1: MSTORE
000019f2: SWAP1
000019f3: MLOAD
000019f4: SWAP1
000019f5: DUP2
000019f6: SWAP1
000019f7: SUB
000019f8: PUSH1 0x64
000019fa: ADD
000019fb: SWAP1
000019fc: REVERT
000019fd: JUMPDEST
000019fe: PUSH1 0x00
00001a00: DUP1
00001a01: SLOAD
00001a02: PUSH1 0x40
00001a04: MLOAD
00001a05: PUSH1 0x01
00001a07: PUSH1 0x01
00001a09: PUSH1 0xa0
00001a0b: SHL
00001a0c: SUB
00001a0d: SWAP1
00001a0e: SWAP2
00001a0f: AND
00001a10: SWAP1
00001a11: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00001a32: SWAP1
00001a33: DUP4
00001a34: SWAP1
00001a35: LOG3
00001a36: PUSH1 0x00
00001a38: DUP1
00001a39: SLOAD
00001a3a: PUSH1 0x01
00001a3c: PUSH1 0x01
00001a3e: PUSH1 0xa0
00001a40: SHL
00001a41: SUB
00001a42: NOT
00001a43: AND
00001a44: SWAP1
00001a45: SSTORE
00001a46: JUMP
00001a47: JUMPDEST
00001a48: PUSH1 0x06
00001a4a: SLOAD
00001a4b: DUP2
00001a4c: JUMP
00001a4d: JUMPDEST
00001a4e: PUSH1 0x00
00001a50: PUSH2 0x0b44
00001a53: PUSH5 0x02540be400
00001a59: PUSH2 0x1ac5
00001a5c: DUP5
00001a5d: PUSH1 0x01
00001a5f: PUSH1 0x01
00001a61: PUSH1 0xa0
00001a63: SHL
00001a64: SUB
00001a65: AND
00001a66: PUSH4 0x96237c02
00001a6b: PUSH1 0x40
00001a6d: MLOAD
00001a6e: DUP2
00001a6f: PUSH4 0xffffffff
00001a74: AND
00001a75: PUSH1 0xe0
00001a77: SHL
00001a78: DUP2
00001a79: MSTORE
00001a7a: PUSH1 0x04
00001a7c: ADD
00001a7d: PUSH1 0x20
00001a7f: PUSH1 0x40
00001a81: MLOAD
00001a82: DUP1
00001a83: DUP4
00001a84: SUB
00001a85: DUP2
00001a86: DUP7
00001a87: DUP1
00001a88: EXTCODESIZE
00001a89: ISZERO
00001a8a: DUP1
00001a8b: ISZERO
00001a8c: PUSH2 0x1a94
00001a8f: JUMPI
00001a90: PUSH1 0x00
00001a92: DUP1
00001a93: REVERT
00001a94: JUMPDEST
00001a95: POP
00001a96: GAS
00001a97: STATICCALL
00001a98: ISZERO
00001a99: DUP1
00001a9a: ISZERO
00001a9b: PUSH2 0x1aa8
00001a9e: JUMPI
00001a9f: RETURNDATASIZE
00001aa0: PUSH1 0x00
00001aa2: DUP1
00001aa3: RETURNDATACOPY
00001aa4: RETURNDATASIZE
00001aa5: PUSH1 0x00
00001aa7: REVERT
00001aa8: JUMPDEST
00001aa9: POP
00001aaa: POP
00001aab: POP
00001aac: POP
00001aad: PUSH1 0x40
00001aaf: MLOAD
00001ab0: RETURNDATASIZE
00001ab1: PUSH1 0x20
00001ab3: DUP2
00001ab4: LT
00001ab5: ISZERO
00001ab6: PUSH2 0x1abe
00001ab9: JUMPI
00001aba: PUSH1 0x00
00001abc: DUP1
00001abd: REVERT
00001abe: JUMPDEST
00001abf: POP
00001ac0: MLOAD
00001ac1: PUSH2 0x34f4
00001ac4: JUMP
00001ac5: JUMPDEST
00001ac6: SWAP1
00001ac7: PUSH2 0x30b7
00001aca: JUMP
00001acb: JUMPDEST
00001acc: PUSH32 0x0000000000000000000000002cfeaf282fe9ae050b210e7bda65d288c40c6104
00001aed: DUP2
00001aee: JUMP
00001aef: JUMPDEST
00001af0: PUSH2 0x1af7
00001af3: PUSH2 0x3152
00001af6: JUMP
00001af7: JUMPDEST
00001af8: PUSH1 0x00
00001afa: SLOAD
00001afb: PUSH1 0x01
00001afd: PUSH1 0x01
00001aff: PUSH1 0xa0
00001b01: SHL
00001b02: SUB
00001b03: SWAP1
00001b04: DUP2
00001b05: AND
00001b06: SWAP2
00001b07: AND
00001b08: EQ
00001b09: PUSH2 0x1b47
00001b0c: JUMPI
00001b0d: PUSH1 0x40
00001b0f: DUP1
00001b10: MLOAD
00001b11: PUSH3 0x461bcd
00001b15: PUSH1 0xe5
00001b17: SHL
00001b18: DUP2
00001b19: MSTORE
00001b1a: PUSH1 0x20
00001b1c: PUSH1 0x04
00001b1e: DUP3
00001b1f: ADD
00001b20: DUP2
00001b21: SWAP1
00001b22: MSTORE
00001b23: PUSH1 0x24
00001b25: DUP3
00001b26: ADD
00001b27: MSTORE
00001b28: PUSH1 0x00
00001b2a: DUP1
00001b2b: MLOAD
00001b2c: PUSH1 0x20
00001b2e: PUSH2 0x4270
00001b31: DUP4
00001b32: CODECOPY
00001b33: DUP2
00001b34: MLOAD
00001b35: SWAP2
00001b36: MSTORE
00001b37: PUSH1 0x44
00001b39: DUP3
00001b3a: ADD
00001b3b: MSTORE
00001b3c: SWAP1
00001b3d: MLOAD
00001b3e: SWAP1
00001b3f: DUP2
00001b40: SWAP1
00001b41: SUB
00001b42: PUSH1 0x64
00001b44: ADD
00001b45: SWAP1
00001b46: REVERT
00001b47: JUMPDEST
00001b48: PUSH2 0x1342
00001b4b: PUSH2 0x354f
00001b4e: JUMP
00001b4f: JUMPDEST
00001b50: PUSH2 0x1b57
00001b53: PUSH2 0x3152
00001b56: JUMP
00001b57: JUMPDEST
00001b58: PUSH1 0x00
00001b5a: SLOAD
00001b5b: PUSH1 0x01
00001b5d: PUSH1 0x01
00001b5f: PUSH1 0xa0
00001b61: SHL
00001b62: SUB
00001b63: SWAP1
00001b64: DUP2
00001b65: AND
00001b66: SWAP2
00001b67: AND
00001b68: EQ
00001b69: PUSH2 0x1ba7
00001b6c: JUMPI
00001b6d: PUSH1 0x40
00001b6f: DUP1
00001b70: MLOAD
00001b71: PUSH3 0x461bcd
00001b75: PUSH1 0xe5
00001b77: SHL
00001b78: DUP2
00001b79: MSTORE
00001b7a: PUSH1 0x20
00001b7c: PUSH1 0x04
00001b7e: DUP3
00001b7f: ADD
00001b80: DUP2
00001b81: SWAP1
00001b82: MSTORE
00001b83: PUSH1 0x24
00001b85: DUP3
00001b86: ADD
00001b87: MSTORE
00001b88: PUSH1 0x00
00001b8a: DUP1
00001b8b: MLOAD
00001b8c: PUSH1 0x20
00001b8e: PUSH2 0x4270
00001b91: DUP4
00001b92: CODECOPY
00001b93: DUP2
00001b94: MLOAD
00001b95: SWAP2
00001b96: MSTORE
00001b97: PUSH1 0x44
00001b99: DUP3
00001b9a: ADD
00001b9b: MSTORE
00001b9c: SWAP1
00001b9d: MLOAD
00001b9e: SWAP1
00001b9f: DUP2
00001ba0: SWAP1
00001ba1: SUB
00001ba2: PUSH1 0x64
00001ba4: ADD
00001ba5: SWAP1
00001ba6: REVERT
00001ba7: JUMPDEST
00001ba8: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00001bc9: PUSH1 0x01
00001bcb: PUSH1 0x01
00001bcd: PUSH1 0xa0
00001bcf: SHL
00001bd0: SUB
00001bd1: AND
00001bd2: DUP3
00001bd3: PUSH1 0x01
00001bd5: PUSH1 0x01
00001bd7: PUSH1 0xa0
00001bd9: SHL
00001bda: SUB
00001bdb: AND
00001bdc: EQ
00001bdd: ISZERO
00001bde: PUSH2 0x1c18
00001be1: JUMPI
00001be2: PUSH1 0x40
00001be4: MLOAD
00001be5: PUSH3 0x461bcd
00001be9: PUSH1 0xe5
00001beb: SHL
00001bec: DUP2
00001bed: MSTORE
00001bee: PUSH1 0x04
00001bf0: ADD
00001bf1: DUP1
00001bf2: DUP1
00001bf3: PUSH1 0x20
00001bf5: ADD
00001bf6: DUP3
00001bf7: DUP2
00001bf8: SUB
00001bf9: DUP3
00001bfa: MSTORE
00001bfb: PUSH1 0x25
00001bfd: DUP2
00001bfe: MSTORE
00001bff: PUSH1 0x20
00001c01: ADD
00001c02: DUP1
00001c03: PUSH2 0x3e16
00001c06: PUSH1 0x25
00001c08: SWAP2
00001c09: CODECOPY
00001c0a: PUSH1 0x40
00001c0c: ADD
00001c0d: SWAP2
00001c0e: POP
00001c0f: POP
00001c10: PUSH1 0x40
00001c12: MLOAD
00001c13: DUP1
00001c14: SWAP2
00001c15: SUB
00001c16: SWAP1
00001c17: REVERT
00001c18: JUMPDEST
00001c19: PUSH2 0x1c34
00001c1c: PUSH2 0x1c23
00001c1f: PUSH2 0x1d87
00001c22: JUMP
00001c23: JUMPDEST
00001c24: PUSH1 0x01
00001c26: PUSH1 0x01
00001c28: PUSH1 0xa0
00001c2a: SHL
00001c2b: SUB
00001c2c: DUP5
00001c2d: AND
00001c2e: SWAP1
00001c2f: DUP4
00001c30: PUSH2 0x35d0
00001c33: JUMP
00001c34: JUMPDEST
00001c35: PUSH1 0x40
00001c37: DUP1
00001c38: MLOAD
00001c39: PUSH1 0x01
00001c3b: PUSH1 0x01
00001c3d: PUSH1 0xa0
00001c3f: SHL
00001c40: SUB
00001c41: DUP5
00001c42: AND
00001c43: DUP2
00001c44: MSTORE
00001c45: PUSH1 0x20
00001c47: DUP2
00001c48: ADD
00001c49: DUP4
00001c4a: SWAP1
00001c4b: MSTORE
00001c4c: DUP2
00001c4d: MLOAD
00001c4e: PUSH32 0x8c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa28
00001c6f: SWAP3
00001c70: SWAP2
00001c71: DUP2
00001c72: SWAP1
00001c73: SUB
00001c74: SWAP1
00001c75: SWAP2
00001c76: ADD
00001c77: SWAP1
00001c78: LOG1
00001c79: POP
00001c7a: POP
00001c7b: JUMP
00001c7c: JUMPDEST
00001c7d: PUSH1 0x00
00001c7f: PUSH2 0x1c86
00001c82: PUSH2 0x3d08
00001c85: JUMP
00001c86: JUMPDEST
00001c87: POP
00001c88: PUSH1 0x00
00001c8a: DUP3
00001c8b: DUP2
00001c8c: MSTORE
00001c8d: PUSH1 0x0b
00001c8f: PUSH1 0x20
00001c91: SWAP1
00001c92: DUP2
00001c93: MSTORE
00001c94: PUSH1 0x40
00001c96: SWAP2
00001c97: DUP3
00001c98: SWAP1
00001c99: KECCAK256
00001c9a: DUP3
00001c9b: MLOAD
00001c9c: PUSH1 0x80
00001c9e: DUP2
00001c9f: ADD
00001ca0: DUP5
00001ca1: MSTORE
00001ca2: DUP2
00001ca3: SLOAD
00001ca4: DUP1
00001ca5: DUP3
00001ca6: MSTORE
00001ca7: PUSH1 0x01
00001ca9: DUP4
00001caa: ADD
00001cab: SLOAD
00001cac: SWAP4
00001cad: DUP3
00001cae: ADD
00001caf: SWAP4
00001cb0: SWAP1
00001cb1: SWAP4
00001cb2: MSTORE
00001cb3: PUSH1 0x02
00001cb5: DUP3
00001cb6: ADD
00001cb7: SLOAD
00001cb8: SWAP4
00001cb9: DUP2
00001cba: ADD
00001cbb: SWAP4
00001cbc: SWAP1
00001cbd: SWAP4
00001cbe: MSTORE
00001cbf: PUSH1 0x03
00001cc1: ADD
00001cc2: SLOAD
00001cc3: PUSH1 0x01
00001cc5: PUSH1 0x01
00001cc7: PUSH1 0xa0
00001cc9: SHL
00001cca: SUB
00001ccb: AND
00001ccc: PUSH1 0x60
00001cce: DUP4
00001ccf: ADD
00001cd0: MSTORE
00001cd1: ISZERO
00001cd2: DUP1
00001cd3: PUSH2 0x1cde
00001cd6: JUMPI
00001cd7: POP
00001cd8: PUSH1 0x40
00001cda: DUP2
00001cdb: ADD
00001cdc: MLOAD
00001cdd: ISZERO
00001cde: JUMPDEST
00001cdf: ISZERO
00001ce0: PUSH2 0x1cec
00001ce3: JUMPI
00001ce4: PUSH1 0x00
00001ce6: SWAP2
00001ce7: POP
00001ce8: PUSH2 0x1d51
00001ceb: JUMP
00001cec: JUMPDEST
00001ced: PUSH1 0x00
00001cef: PUSH2 0x1d17
00001cf2: PUSH32 0x0000000000000000000000002cfeaf282fe9ae050b210e7bda65d288c40c6104
00001d13: PUSH2 0x1a4d
00001d16: JUMP
00001d17: JUMPDEST
00001d18: SWAP1
00001d19: POP
00001d1a: PUSH2 0x1d4d
00001d1d: PUSH2 0x1d32
00001d20: PUSH2 0x1d27
00001d23: PUSH2 0x16b4
00001d26: JUMP
00001d27: JUMPDEST
00001d28: PUSH1 0x40
00001d2a: DUP6
00001d2b: ADD
00001d2c: MLOAD
00001d2d: SWAP1
00001d2e: PUSH2 0x30b7
00001d31: JUMP
00001d32: JUMPDEST
00001d33: PUSH1 0x20
00001d35: DUP5
00001d36: ADD
00001d37: MLOAD
00001d38: PUSH2 0x0dd7
00001d3b: SWAP1
00001d3c: PUSH2 0x1d46
00001d3f: SWAP1
00001d40: PUSH1 0x64
00001d42: PUSH2 0x30b7
00001d45: JUMP
00001d46: JUMPDEST
00001d47: DUP5
00001d48: SWAP1
00001d49: PUSH2 0x30b7
00001d4c: JUMP
00001d4d: JUMPDEST
00001d4e: SWAP3
00001d4f: POP
00001d50: POP
00001d51: JUMPDEST
00001d52: POP
00001d53: SWAP2
00001d54: SWAP1
00001d55: POP
00001d56: JUMP
00001d57: JUMPDEST
00001d58: PUSH1 0x0b
00001d5a: PUSH1 0x20
00001d5c: MSTORE
00001d5d: PUSH1 0x00
00001d5f: SWAP1
00001d60: DUP2
00001d61: MSTORE
00001d62: PUSH1 0x40
00001d64: SWAP1
00001d65: KECCAK256
00001d66: DUP1
00001d67: SLOAD
00001d68: PUSH1 0x01
00001d6a: DUP3
00001d6b: ADD
00001d6c: SLOAD
00001d6d: PUSH1 0x02
00001d6f: DUP4
00001d70: ADD
00001d71: SLOAD
00001d72: PUSH1 0x03
00001d74: SWAP1
00001d75: SWAP4
00001d76: ADD
00001d77: SLOAD
00001d78: SWAP2
00001d79: SWAP3
00001d7a: SWAP1
00001d7b: SWAP2
00001d7c: PUSH1 0x01
00001d7e: PUSH1 0x01
00001d80: PUSH1 0xa0
00001d82: SHL
00001d83: SUB
00001d84: AND
00001d85: DUP5
00001d86: JUMP
00001d87: JUMPDEST
00001d88: PUSH1 0x00
00001d8a: SLOAD
00001d8b: PUSH1 0x01
00001d8d: PUSH1 0x01
00001d8f: PUSH1 0xa0
00001d91: SHL
00001d92: SUB
00001d93: AND
00001d94: SWAP1
00001d95: JUMP
00001d96: JUMPDEST
00001d97: PUSH1 0x00
00001d99: DUP3
00001d9a: DUP2
00001d9b: MSTORE
00001d9c: PUSH1 0x01
00001d9e: PUSH1 0x20
00001da0: MSTORE
00001da1: PUSH1 0x40
00001da3: DUP2
00001da4: KECCAK256
00001da5: PUSH2 0x1dae
00001da8: SWAP1
00001da9: DUP4
00001daa: PUSH2 0x3622
00001dad: JUMP
00001dae: JUMPDEST
00001daf: SWAP4
00001db0: SWAP3
00001db1: POP
00001db2: POP
00001db3: POP
00001db4: JUMP
00001db5: JUMPDEST
00001db6: PUSH1 0x00
00001db8: DUP3
00001db9: DUP2
00001dba: MSTORE
00001dbb: PUSH1 0x01
00001dbd: PUSH1 0x20
00001dbf: MSTORE
00001dc0: PUSH1 0x40
00001dc2: DUP2
00001dc3: KECCAK256
00001dc4: PUSH2 0x1dae
00001dc7: SWAP1
00001dc8: DUP4
00001dc9: PUSH2 0x362e
00001dcc: JUMP
00001dcd: JUMPDEST
00001dce: PUSH1 0x00
00001dd0: DUP1
00001dd1: PUSH1 0x00
00001dd3: DUP1
00001dd4: PUSH2 0x1ddb
00001dd7: PUSH2 0x3d08
00001dda: JUMP
00001ddb: JUMPDEST
00001ddc: POP
00001ddd: POP
00001dde: POP
00001ddf: PUSH1 0x00
00001de1: SWAP3
00001de2: DUP4
00001de3: MSTORE
00001de4: POP
00001de5: POP
00001de6: PUSH1 0x0b
00001de8: PUSH1 0x20
00001dea: SWAP1
00001deb: DUP2
00001dec: MSTORE
00001ded: PUSH1 0x40
00001def: SWAP2
00001df0: DUP3
00001df1: SWAP1
00001df2: KECCAK256
00001df3: DUP3
00001df4: MLOAD
00001df5: PUSH1 0x80
00001df7: DUP2
00001df8: ADD
00001df9: DUP5
00001dfa: MSTORE
00001dfb: DUP2
00001dfc: SLOAD
00001dfd: DUP1
00001dfe: DUP3
00001dff: MSTORE
00001e00: PUSH1 0x01
00001e02: DUP4
00001e03: ADD
00001e04: SLOAD
00001e05: SWAP4
00001e06: DUP3
00001e07: ADD
00001e08: DUP5
00001e09: SWAP1
00001e0a: MSTORE
00001e0b: PUSH1 0x02
00001e0d: DUP4
00001e0e: ADD
00001e0f: SLOAD
00001e10: SWAP5
00001e11: DUP3
00001e12: ADD
00001e13: DUP6
00001e14: SWAP1
00001e15: MSTORE
00001e16: PUSH1 0x03
00001e18: SWAP1
00001e19: SWAP3
00001e1a: ADD
00001e1b: SLOAD
00001e1c: PUSH1 0x01
00001e1e: PUSH1 0x01
00001e20: PUSH1 0xa0
00001e22: SHL
00001e23: SUB
00001e24: AND
00001e25: PUSH1 0x60
00001e27: SWAP1
00001e28: SWAP2
00001e29: ADD
00001e2a: DUP2
00001e2b: SWAP1
00001e2c: MSTORE
00001e2d: SWAP1
00001e2e: SWAP4
00001e2f: SWAP2
00001e30: SWAP3
00001e31: SWAP1
00001e32: SWAP2
00001e33: JUMP
00001e34: JUMPDEST
00001e35: PUSH1 0x02
00001e37: DUP1
00001e38: SLOAD
00001e39: EQ
00001e3a: ISZERO
00001e3b: PUSH2 0x1e79
00001e3e: JUMPI
00001e3f: PUSH1 0x40
00001e41: DUP1
00001e42: MLOAD
00001e43: PUSH3 0x461bcd
00001e47: PUSH1 0xe5
00001e49: SHL
00001e4a: DUP2
00001e4b: MSTORE
00001e4c: PUSH1 0x20
00001e4e: PUSH1 0x04
00001e50: DUP3
00001e51: ADD
00001e52: MSTORE
00001e53: PUSH1 0x1f
00001e55: PUSH1 0x24
00001e57: DUP3
00001e58: ADD
00001e59: MSTORE
00001e5a: PUSH1 0x00
00001e5c: DUP1
00001e5d: MLOAD
00001e5e: PUSH1 0x20
00001e60: PUSH2 0x3df6
00001e63: DUP4
00001e64: CODECOPY
00001e65: DUP2
00001e66: MLOAD
00001e67: SWAP2
00001e68: MSTORE
00001e69: PUSH1 0x44
00001e6b: DUP3
00001e6c: ADD
00001e6d: MSTORE
00001e6e: SWAP1
00001e6f: MLOAD
00001e70: SWAP1
00001e71: DUP2
00001e72: SWAP1
00001e73: SUB
00001e74: PUSH1 0x64
00001e76: ADD
00001e77: SWAP1
00001e78: REVERT
00001e79: JUMPDEST
00001e7a: PUSH1 0x02
00001e7c: DUP1
00001e7d: SSTORE
00001e7e: PUSH1 0x03
00001e80: SLOAD
00001e81: PUSH1 0xff
00001e83: AND
00001e84: ISZERO
00001e85: PUSH2 0x1ec8
00001e88: JUMPI
00001e89: PUSH1 0x40
00001e8b: DUP1
00001e8c: MLOAD
00001e8d: PUSH3 0x461bcd
00001e91: PUSH1 0xe5
00001e93: SHL
00001e94: DUP2
00001e95: MSTORE
00001e96: PUSH1 0x20
00001e98: PUSH1 0x04
00001e9a: DUP3
00001e9b: ADD
00001e9c: MSTORE
00001e9d: PUSH1 0x10
00001e9f: PUSH1 0x24
00001ea1: DUP3
00001ea2: ADD
00001ea3: MSTORE
00001ea4: PUSH16 0x14185d5cd8589b194e881c185d5cd959
00001eb5: PUSH1 0x82
00001eb7: SHL
00001eb8: PUSH1 0x44
00001eba: DUP3
00001ebb: ADD
00001ebc: MSTORE
00001ebd: SWAP1
00001ebe: MLOAD
00001ebf: SWAP1
00001ec0: DUP2
00001ec1: SWAP1
00001ec2: SUB
00001ec3: PUSH1 0x64
00001ec5: ADD
00001ec6: SWAP1
00001ec7: REVERT
00001ec8: JUMPDEST
00001ec9: PUSH1 0x00
00001ecb: DUP3
00001ecc: DUP2
00001ecd: MSTORE
00001ece: PUSH1 0x0b
00001ed0: PUSH1 0x20
00001ed2: MSTORE
00001ed3: PUSH1 0x40
00001ed5: SWAP1
00001ed6: KECCAK256
00001ed7: DUP1
00001ed8: SLOAD
00001ed9: PUSH2 0x1f13
00001edc: JUMPI
00001edd: PUSH1 0x40
00001edf: MLOAD
00001ee0: PUSH3 0x461bcd
00001ee4: PUSH1 0xe5
00001ee6: SHL
00001ee7: DUP2
00001ee8: MSTORE
00001ee9: PUSH1 0x04
00001eeb: ADD
00001eec: DUP1
00001eed: DUP1
00001eee: PUSH1 0x20
00001ef0: ADD
00001ef1: DUP3
00001ef2: DUP2
00001ef3: SUB
00001ef4: DUP3
00001ef5: MSTORE
00001ef6: PUSH1 0x2e
00001ef8: DUP2
00001ef9: MSTORE
00001efa: PUSH1 0x20
00001efc: ADD
00001efd: DUP1
00001efe: PUSH2 0x438b
00001f01: PUSH1 0x2e
00001f03: SWAP2
00001f04: CODECOPY
00001f05: PUSH1 0x40
00001f07: ADD
00001f08: SWAP2
00001f09: POP
00001f0a: POP
00001f0b: PUSH1 0x40
00001f0d: MLOAD
00001f0e: DUP1
00001f0f: SWAP2
00001f10: SUB
00001f11: SWAP1
00001f12: REVERT
00001f13: JUMPDEST
00001f14: PUSH1 0x00
00001f16: PUSH2 0x1f22
00001f19: DUP3
00001f1a: PUSH1 0x00
00001f1c: ADD
00001f1d: SLOAD
00001f1e: PUSH2 0x1c7c
00001f21: JUMP
00001f22: JUMPDEST
00001f23: SWAP1
00001f24: POP
00001f25: PUSH1 0x06
00001f27: SLOAD
00001f28: DUP2
00001f29: LT
00001f2a: PUSH2 0x1f64
00001f2d: JUMPI
00001f2e: PUSH1 0x40
00001f30: MLOAD
00001f31: PUSH3 0x461bcd
00001f35: PUSH1 0xe5
00001f37: SHL
00001f38: DUP2
00001f39: MSTORE
00001f3a: PUSH1 0x04
00001f3c: ADD
00001f3d: DUP1
00001f3e: DUP1
00001f3f: PUSH1 0x20
00001f41: ADD
00001f42: DUP3
00001f43: DUP2
00001f44: SUB
00001f45: DUP3
00001f46: MSTORE
00001f47: PUSH1 0x35
00001f49: DUP2
00001f4a: MSTORE
00001f4b: PUSH1 0x20
00001f4d: ADD
00001f4e: DUP1
00001f4f: PUSH2 0x4305
00001f52: PUSH1 0x35
00001f54: SWAP2
00001f55: CODECOPY
00001f56: PUSH1 0x40
00001f58: ADD
00001f59: SWAP2
00001f5a: POP
00001f5b: POP
00001f5c: PUSH1 0x40
00001f5e: MLOAD
00001f5f: DUP1
00001f60: SWAP2
00001f61: SUB
00001f62: SWAP1
00001f63: REVERT
00001f64: JUMPDEST
00001f65: PUSH1 0x00
00001f67: PUSH2 0x1f73
00001f6a: DUP4
00001f6b: PUSH1 0x00
00001f6d: ADD
00001f6e: SLOAD
00001f6f: PUSH2 0x2ccb
00001f72: JUMP
00001f73: JUMPDEST
00001f74: SWAP1
00001f75: POP
00001f76: DUP1
00001f77: DUP5
00001f78: LT
00001f79: ISZERO
00001f7a: PUSH2 0x1fb4
00001f7d: JUMPI
00001f7e: PUSH1 0x40
00001f80: MLOAD
00001f81: PUSH3 0x461bcd
00001f85: PUSH1 0xe5
00001f87: SHL
00001f88: DUP2
00001f89: MSTORE
00001f8a: PUSH1 0x04
00001f8c: ADD
00001f8d: DUP1
00001f8e: DUP1
00001f8f: PUSH1 0x20
00001f91: ADD
00001f92: DUP3
00001f93: DUP2
00001f94: SUB
00001f95: DUP3
00001f96: MSTORE
00001f97: PUSH1 0x48
00001f99: DUP2
00001f9a: MSTORE
00001f9b: PUSH1 0x20
00001f9d: ADD
00001f9e: DUP1
00001f9f: PUSH2 0x3f79
00001fa2: PUSH1 0x48
00001fa4: SWAP2
00001fa5: CODECOPY
00001fa6: PUSH1 0x60
00001fa8: ADD
00001fa9: SWAP2
00001faa: POP
00001fab: POP
00001fac: PUSH1 0x40
00001fae: MLOAD
00001faf: DUP1
00001fb0: SWAP2
00001fb1: SUB
00001fb2: SWAP1
00001fb3: REVERT
00001fb4: JUMPDEST
00001fb5: PUSH1 0x00
00001fb7: PUSH2 0x1fbf
00001fba: DUP3
00001fbb: PUSH2 0x2fda
00001fbe: JUMP
00001fbf: JUMPDEST
00001fc0: SWAP1
00001fc1: POP
00001fc2: DUP1
00001fc3: CALLVALUE
00001fc4: LT
00001fc5: ISZERO
00001fc6: PUSH2 0x2000
00001fc9: JUMPI
00001fca: PUSH1 0x40
00001fcc: MLOAD
00001fcd: PUSH3 0x461bcd
00001fd1: PUSH1 0xe5
00001fd3: SHL
00001fd4: DUP2
00001fd5: MSTORE
00001fd6: PUSH1 0x04
00001fd8: ADD
00001fd9: DUP1
00001fda: DUP1
00001fdb: PUSH1 0x20
00001fdd: ADD
00001fde: DUP3
00001fdf: DUP2
00001fe0: SUB
00001fe1: DUP3
00001fe2: MSTORE
00001fe3: PUSH1 0x39
00001fe5: DUP2
00001fe6: MSTORE
00001fe7: PUSH1 0x20
00001fe9: ADD
00001fea: DUP1
00001feb: PUSH2 0x43e8
00001fee: PUSH1 0x39
00001ff0: SWAP2
00001ff1: CODECOPY
00001ff2: PUSH1 0x40
00001ff4: ADD
00001ff5: SWAP2
00001ff6: POP
00001ff7: POP
00001ff8: PUSH1 0x40
00001ffa: MLOAD
00001ffb: DUP1
00001ffc: SWAP2
00001ffd: SUB
00001ffe: SWAP1
00001fff: REVERT
00002000: JUMPDEST
00002001: PUSH1 0x00
00002003: PUSH2 0x200f
00002006: DUP6
00002007: PUSH1 0x00
00002009: ADD
0000200a: SLOAD
0000200b: PUSH2 0x0d54
0000200e: JUMP
0000200f: JUMPDEST
00002010: SWAP1
00002011: POP
00002012: PUSH2 0x201f
00002015: DUP6
00002016: PUSH1 0x00
00002018: ADD
00002019: SLOAD
0000201a: DUP5
0000201b: PUSH2 0x3308
0000201e: JUMP
0000201f: JUMPDEST
00002020: PUSH1 0x01
00002022: DUP6
00002023: ADD
00002024: SLOAD
00002025: PUSH2 0x202e
00002028: SWAP1
00002029: DUP3
0000202a: PUSH2 0x31bf
0000202d: JUMP
0000202e: JUMPDEST
0000202f: PUSH1 0x01
00002031: DUP7
00002032: ADD
00002033: SSTORE
00002034: PUSH32 0x0000000000000000000000005b577578565c2404bb84e734f583cf8523236ef1
00002055: PUSH1 0x01
00002057: PUSH1 0x01
00002059: PUSH1 0xa0
0000205b: SHL
0000205c: SUB
0000205d: AND
0000205e: ISZERO
0000205f: PUSH2 0x20f3
00002062: JUMPI
00002063: PUSH1 0x03
00002065: DUP6
00002066: ADD
00002067: SLOAD
00002068: PUSH1 0x40
0000206a: DUP1
0000206b: MLOAD
0000206c: PUSH4 0xf3fef3a3
00002071: PUSH1 0xe0
00002073: SHL
00002074: DUP2
00002075: MSTORE
00002076: PUSH1 0x01
00002078: PUSH1 0x01
0000207a: PUSH1 0xa0
0000207c: SHL
0000207d: SUB
0000207e: SWAP3
0000207f: DUP4
00002080: AND
00002081: PUSH1 0x04
00002083: DUP3
00002084: ADD
00002085: MSTORE
00002086: PUSH1 0x24
00002088: DUP2
00002089: ADD
0000208a: DUP7
0000208b: SWAP1
0000208c: MSTORE
0000208d: SWAP1
0000208e: MLOAD
0000208f: PUSH32 0x0000000000000000000000005b577578565c2404bb84e734f583cf8523236ef1
000020b0: SWAP1
000020b1: SWAP3
000020b2: AND
000020b3: SWAP2
000020b4: PUSH4 0xf3fef3a3
000020b9: SWAP2
000020ba: PUSH1 0x44
000020bc: DUP1
000020bd: DUP3
000020be: ADD
000020bf: SWAP3
000020c0: PUSH1 0x00
000020c2: SWAP3
000020c3: SWAP1
000020c4: SWAP2
000020c5: SWAP1
000020c6: DUP3
000020c7: SWAP1
000020c8: SUB
000020c9: ADD
000020ca: DUP2
000020cb: DUP4
000020cc: DUP8
000020cd: DUP1
000020ce: EXTCODESIZE
000020cf: ISZERO
000020d0: DUP1
000020d1: ISZERO
000020d2: PUSH2 0x20da
000020d5: JUMPI
000020d6: PUSH1 0x00
000020d8: DUP1
000020d9: REVERT
000020da: JUMPDEST
000020db: POP
000020dc: GAS
000020dd: CALL
000020de: ISZERO
000020df: DUP1
000020e0: ISZERO
000020e1: PUSH2 0x20ee
000020e4: JUMPI
000020e5: RETURNDATASIZE
000020e6: PUSH1 0x00
000020e8: DUP1
000020e9: RETURNDATACOPY
000020ea: RETURNDATASIZE
000020eb: PUSH1 0x00
000020ed: REVERT
000020ee: JUMPDEST
000020ef: POP
000020f0: POP
000020f1: POP
000020f2: POP
000020f3: JUMPDEST
000020f4: PUSH1 0x40
000020f6: DUP1
000020f7: MLOAD
000020f8: PUSH4 0xa9059cbb
000020fd: PUSH1 0xe0
000020ff: SHL
00002100: DUP2
00002101: MSTORE
00002102: CALLER
00002103: PUSH1 0x04
00002105: DUP3
00002106: ADD
00002107: MSTORE
00002108: PUSH1 0x24
0000210a: DUP2
0000210b: ADD
0000210c: DUP4
0000210d: SWAP1
0000210e: MSTORE
0000210f: SWAP1
00002110: MLOAD
00002111: PUSH1 0x01
00002113: PUSH1 0x01
00002115: PUSH1 0xa0
00002117: SHL
00002118: SUB
00002119: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
0000213a: AND
0000213b: SWAP2
0000213c: PUSH4 0xa9059cbb
00002141: SWAP2
00002142: PUSH1 0x44
00002144: DUP1
00002145: DUP4
00002146: ADD
00002147: SWAP3
00002148: PUSH1 0x20
0000214a: SWAP3
0000214b: SWAP2
0000214c: SWAP1
0000214d: DUP3
0000214e: SWAP1
0000214f: SUB
00002150: ADD
00002151: DUP2
00002152: PUSH1 0x00
00002154: DUP8
00002155: DUP1
00002156: EXTCODESIZE
00002157: ISZERO
00002158: DUP1
00002159: ISZERO
0000215a: PUSH2 0x2162
0000215d: JUMPI
0000215e: PUSH1 0x00
00002160: DUP1
00002161: REVERT
00002162: JUMPDEST
00002163: POP
00002164: GAS
00002165: CALL
00002166: ISZERO
00002167: DUP1
00002168: ISZERO
00002169: PUSH2 0x2176
0000216c: JUMPI
0000216d: RETURNDATASIZE
0000216e: PUSH1 0x00
00002170: DUP1
00002171: RETURNDATACOPY
00002172: RETURNDATASIZE
00002173: PUSH1 0x00
00002175: REVERT
00002176: JUMPDEST
00002177: POP
00002178: POP
00002179: POP
0000217a: POP
0000217b: PUSH1 0x40
0000217d: MLOAD
0000217e: RETURNDATASIZE
0000217f: PUSH1 0x20
00002181: DUP2
00002182: LT
00002183: ISZERO
00002184: PUSH2 0x218c
00002187: JUMPI
00002188: PUSH1 0x00
0000218a: DUP1
0000218b: REVERT
0000218c: JUMPDEST
0000218d: POP
0000218e: MLOAD
0000218f: PUSH2 0x21c9
00002192: JUMPI
00002193: PUSH1 0x40
00002195: MLOAD
00002196: PUSH3 0x461bcd
0000219a: PUSH1 0xe5
0000219c: SHL
0000219d: DUP2
0000219e: MSTORE
0000219f: PUSH1 0x04
000021a1: ADD
000021a2: DUP1
000021a3: DUP1
000021a4: PUSH1 0x20
000021a6: ADD
000021a7: DUP3
000021a8: DUP2
000021a9: SUB
000021aa: DUP3
000021ab: MSTORE
000021ac: PUSH1 0x3c
000021ae: DUP2
000021af: MSTORE
000021b0: PUSH1 0x20
000021b2: ADD
000021b3: DUP1
000021b4: PUSH2 0x3fc1
000021b7: PUSH1 0x3c
000021b9: SWAP2
000021ba: CODECOPY
000021bb: PUSH1 0x40
000021bd: ADD
000021be: SWAP2
000021bf: POP
000021c0: POP
000021c1: PUSH1 0x40
000021c3: MLOAD
000021c4: DUP1
000021c5: SWAP2
000021c6: SUB
000021c7: SWAP1
000021c8: REVERT
000021c9: JUMPDEST
000021ca: PUSH1 0x09
000021cc: SLOAD
000021cd: PUSH2 0x21df
000021d0: SWAP1
000021d1: PUSH1 0x01
000021d3: PUSH1 0x01
000021d5: PUSH1 0xa0
000021d7: SHL
000021d8: SUB
000021d9: AND
000021da: DUP4
000021db: PUSH2 0x33f8
000021de: JUMP
000021df: JUMPDEST
000021e0: PUSH2 0x21ed
000021e3: CALLER
000021e4: PUSH2 0x166c
000021e7: CALLVALUE
000021e8: DUP6
000021e9: PUSH2 0x31bf
000021ec: JUMP
000021ed: JUMPDEST
000021ee: DUP5
000021ef: SLOAD
000021f0: PUSH1 0x40
000021f2: DUP1
000021f3: MLOAD
000021f4: DUP6
000021f5: DUP2
000021f6: MSTORE
000021f7: PUSH1 0x20
000021f9: DUP2
000021fa: ADD
000021fb: DUP5
000021fc: SWAP1
000021fd: MSTORE
000021fe: DUP2
000021ff: MLOAD
00002200: CALLER
00002201: SWAP4
00002202: SWAP3
00002203: PUSH32 0xba5789da846390370bbfbf693007be2c95d0cfac69a8d175805f742dc7938321
00002224: SWAP3
00002225: DUP3
00002226: SWAP1
00002227: SUB
00002228: ADD
00002229: SWAP1
0000222a: LOG3
0000222b: POP
0000222c: POP
0000222d: PUSH1 0x01
0000222f: PUSH1 0x02
00002231: SSTORE
00002232: POP
00002233: POP
00002234: POP
00002235: POP
00002236: POP
00002237: JUMP
00002238: JUMPDEST
00002239: PUSH32 0x0000000000000000000000002cfeaf282fe9ae050b210e7bda65d288c40c6104
0000225a: DUP2
0000225b: JUMP
0000225c: JUMPDEST
0000225d: PUSH1 0x02
0000225f: DUP1
00002260: SLOAD
00002261: EQ
00002262: ISZERO
00002263: PUSH2 0x22a1
00002266: JUMPI
00002267: PUSH1 0x40
00002269: DUP1
0000226a: MLOAD
0000226b: PUSH3 0x461bcd
0000226f: PUSH1 0xe5
00002271: SHL
00002272: DUP2
00002273: MSTORE
00002274: PUSH1 0x20
00002276: PUSH1 0x04
00002278: DUP3
00002279: ADD
0000227a: MSTORE
0000227b: PUSH1 0x1f
0000227d: PUSH1 0x24
0000227f: DUP3
00002280: ADD
00002281: MSTORE
00002282: PUSH1 0x00
00002284: DUP1
00002285: MLOAD
00002286: PUSH1 0x20
00002288: PUSH2 0x3df6
0000228b: DUP4
0000228c: CODECOPY
0000228d: DUP2
0000228e: MLOAD
0000228f: SWAP2
00002290: MSTORE
00002291: PUSH1 0x44
00002293: DUP3
00002294: ADD
00002295: MSTORE
00002296: SWAP1
00002297: MLOAD
00002298: SWAP1
00002299: DUP2
0000229a: SWAP1
0000229b: SUB
0000229c: PUSH1 0x64
0000229e: ADD
0000229f: SWAP1
000022a0: REVERT
000022a1: JUMPDEST
000022a2: PUSH1 0x02
000022a4: DUP1
000022a5: SSTORE
000022a6: CALLER
000022a7: PUSH1 0x00
000022a9: SWAP1
000022aa: DUP2
000022ab: MSTORE
000022ac: PUSH1 0x0a
000022ae: PUSH1 0x20
000022b0: MSTORE
000022b1: PUSH1 0x40
000022b3: SWAP1
000022b4: KECCAK256
000022b5: SLOAD
000022b6: PUSH2 0x22f0
000022b9: JUMPI
000022ba: PUSH1 0x40
000022bc: MLOAD
000022bd: PUSH3 0x461bcd
000022c1: PUSH1 0xe5
000022c3: SHL
000022c4: DUP2
000022c5: MSTORE
000022c6: PUSH1 0x04
000022c8: ADD
000022c9: DUP1
000022ca: DUP1
000022cb: PUSH1 0x20
000022cd: ADD
000022ce: DUP3
000022cf: DUP2
000022d0: SUB
000022d1: DUP3
000022d2: MSTORE
000022d3: PUSH1 0x2b
000022d5: DUP2
000022d6: MSTORE
000022d7: PUSH1 0x20
000022d9: ADD
000022da: DUP1
000022db: PUSH2 0x3e3b
000022de: PUSH1 0x2b
000022e0: SWAP2
000022e1: CODECOPY
000022e2: PUSH1 0x40
000022e4: ADD
000022e5: SWAP2
000022e6: POP
000022e7: POP
000022e8: PUSH1 0x40
000022ea: MLOAD
000022eb: DUP1
000022ec: SWAP2
000022ed: SUB
000022ee: SWAP1
000022ef: REVERT
000022f0: JUMPDEST
000022f1: PUSH1 0x03
000022f3: SLOAD
000022f4: PUSH1 0xff
000022f6: AND
000022f7: ISZERO
000022f8: PUSH2 0x233b
000022fb: JUMPI
000022fc: PUSH1 0x40
000022fe: DUP1
000022ff: MLOAD
00002300: PUSH3 0x461bcd
00002304: PUSH1 0xe5
00002306: SHL
00002307: DUP2
00002308: MSTORE
00002309: PUSH1 0x20
0000230b: PUSH1 0x04
0000230d: DUP3
0000230e: ADD
0000230f: MSTORE
00002310: PUSH1 0x10
00002312: PUSH1 0x24
00002314: DUP3
00002315: ADD
00002316: MSTORE
00002317: PUSH16 0x14185d5cd8589b194e881c185d5cd959
00002328: PUSH1 0x82
0000232a: SHL
0000232b: PUSH1 0x44
0000232d: DUP3
0000232e: ADD
0000232f: MSTORE
00002330: SWAP1
00002331: MLOAD
00002332: SWAP1
00002333: DUP2
00002334: SWAP1
00002335: SUB
00002336: PUSH1 0x64
00002338: ADD
00002339: SWAP1
0000233a: REVERT
0000233b: JUMPDEST
0000233c: DUP1
0000233d: DUP1
0000233e: PUSH2 0x2378
00002341: JUMPI
00002342: PUSH1 0x40
00002344: MLOAD
00002345: PUSH3 0x461bcd
00002349: PUSH1 0xe5
0000234b: SHL
0000234c: DUP2
0000234d: MSTORE
0000234e: PUSH1 0x04
00002350: ADD
00002351: DUP1
00002352: DUP1
00002353: PUSH1 0x20
00002355: ADD
00002356: DUP3
00002357: DUP2
00002358: SUB
00002359: DUP3
0000235a: MSTORE
0000235b: PUSH1 0x27
0000235d: DUP2
0000235e: MSTORE
0000235f: PUSH1 0x20
00002361: ADD
00002362: DUP1
00002363: PUSH2 0x433a
00002366: PUSH1 0x27
00002368: SWAP2
00002369: CODECOPY
0000236a: PUSH1 0x40
0000236c: ADD
0000236d: SWAP2
0000236e: POP
0000236f: POP
00002370: PUSH1 0x40
00002372: MLOAD
00002373: DUP1
00002374: SWAP2
00002375: SUB
00002376: SWAP1
00002377: REVERT
00002378: JUMPDEST
00002379: CALLER
0000237a: PUSH1 0x00
0000237c: SWAP1
0000237d: DUP2
0000237e: MSTORE
0000237f: PUSH1 0x0a
00002381: PUSH1 0x20
00002383: SWAP1
00002384: DUP2
00002385: MSTORE
00002386: PUSH1 0x40
00002388: DUP1
00002389: DUP4
0000238a: KECCAK256
0000238b: SLOAD
0000238c: DUP4
0000238d: MSTORE
0000238e: PUSH1 0x0b
00002390: SWAP1
00002391: SWAP2
00002392: MSTORE
00002393: DUP2
00002394: KECCAK256
00002395: SWAP1
00002396: PUSH2 0x239e
00002399: DUP5
0000239a: PUSH2 0x25c8
0000239d: JUMP
0000239e: JUMPDEST
0000239f: SWAP1
000023a0: POP
000023a1: DUP1
000023a2: DUP3
000023a3: PUSH1 0x01
000023a5: ADD
000023a6: SLOAD
000023a7: LT
000023a8: ISZERO
000023a9: PUSH2 0x23e3
000023ac: JUMPI
000023ad: PUSH1 0x40
000023af: MLOAD
000023b0: PUSH3 0x461bcd
000023b4: PUSH1 0xe5
000023b6: SHL
000023b7: DUP2
000023b8: MSTORE
000023b9: PUSH1 0x04
000023bb: ADD
000023bc: DUP1
000023bd: DUP1
000023be: PUSH1 0x20
000023c0: ADD
000023c1: DUP3
000023c2: DUP2
000023c3: SUB
000023c4: DUP3
000023c5: MSTORE
000023c6: PUSH1 0x29
000023c8: DUP2
000023c9: MSTORE
000023ca: PUSH1 0x20
000023cc: ADD
000023cd: DUP1
000023ce: PUSH2 0x3ebb
000023d1: PUSH1 0x29
000023d3: SWAP2
000023d4: CODECOPY
000023d5: PUSH1 0x40
000023d7: ADD
000023d8: SWAP2
000023d9: POP
000023da: POP
000023db: PUSH1 0x40
000023dd: MLOAD
000023de: DUP1
000023df: SWAP2
000023e0: SUB
000023e1: SWAP1
000023e2: REVERT
000023e3: JUMPDEST
000023e4: PUSH1 0x02
000023e6: DUP3
000023e7: ADD
000023e8: SLOAD
000023e9: PUSH2 0x23f2
000023ec: SWAP1
000023ed: DUP6
000023ee: PUSH2 0x3023
000023f1: JUMP
000023f2: JUMPDEST
000023f3: PUSH1 0x02
000023f5: DUP4
000023f6: ADD
000023f7: SSTORE
000023f8: PUSH1 0x06
000023fa: SLOAD
000023fb: DUP3
000023fc: SLOAD
000023fd: PUSH2 0x2405
00002400: SWAP1
00002401: PUSH2 0x1c7c
00002404: JUMP
00002405: JUMPDEST
00002406: LT
00002407: ISZERO
00002408: PUSH2 0x2442
0000240b: JUMPI
0000240c: PUSH1 0x40
0000240e: MLOAD
0000240f: PUSH3 0x461bcd
00002413: PUSH1 0xe5
00002415: SHL
00002416: DUP2
00002417: MSTORE
00002418: PUSH1 0x04
0000241a: ADD
0000241b: DUP1
0000241c: DUP1
0000241d: PUSH1 0x20
0000241f: ADD
00002420: DUP3
00002421: DUP2
00002422: SUB
00002423: DUP3
00002424: MSTORE
00002425: PUSH1 0x37
00002427: DUP2
00002428: MSTORE
00002429: PUSH1 0x20
0000242b: ADD
0000242c: DUP1
0000242d: PUSH2 0x4290
00002430: PUSH1 0x37
00002432: SWAP2
00002433: CODECOPY
00002434: PUSH1 0x40
00002436: ADD
00002437: SWAP2
00002438: POP
00002439: POP
0000243a: PUSH1 0x40
0000243c: MLOAD
0000243d: DUP1
0000243e: SWAP2
0000243f: SUB
00002440: SWAP1
00002441: REVERT
00002442: JUMPDEST
00002443: PUSH32 0x0000000000000000000000005b577578565c2404bb84e734f583cf8523236ef1
00002464: PUSH1 0x01
00002466: PUSH1 0x01
00002468: PUSH1 0xa0
0000246a: SHL
0000246b: SUB
0000246c: AND
0000246d: ISZERO
0000246e: PUSH2 0x24f8
00002471: JUMPI
00002472: PUSH1 0x40
00002474: DUP1
00002475: MLOAD
00002476: PUSH4 0x56e4bb97
0000247b: PUSH1 0xe1
0000247d: SHL
0000247e: DUP2
0000247f: MSTORE
00002480: CALLER
00002481: PUSH1 0x04
00002483: DUP3
00002484: ADD
00002485: MSTORE
00002486: PUSH1 0x24
00002488: DUP2
00002489: ADD
0000248a: DUP7
0000248b: SWAP1
0000248c: MSTORE
0000248d: SWAP1
0000248e: MLOAD
0000248f: PUSH1 0x01
00002491: PUSH1 0x01
00002493: PUSH1 0xa0
00002495: SHL
00002496: SUB
00002497: PUSH32 0x0000000000000000000000005b577578565c2404bb84e734f583cf8523236ef1
000024b8: AND
000024b9: SWAP2
000024ba: PUSH4 0xadc9772e
000024bf: SWAP2
000024c0: PUSH1 0x44
000024c2: DUP1
000024c3: DUP4
000024c4: ADD
000024c5: SWAP3
000024c6: PUSH1 0x00
000024c8: SWAP3
000024c9: SWAP2
000024ca: SWAP1
000024cb: DUP3
000024cc: SWAP1
000024cd: SUB
000024ce: ADD
000024cf: DUP2
000024d0: DUP4
000024d1: DUP8
000024d2: DUP1
000024d3: EXTCODESIZE
000024d4: ISZERO
000024d5: DUP1
000024d6: ISZERO
000024d7: PUSH2 0x24df
000024da: JUMPI
000024db: PUSH1 0x00
000024dd: DUP1
000024de: REVERT
000024df: JUMPDEST
000024e0: POP
000024e1: GAS
000024e2: CALL
000024e3: ISZERO
000024e4: DUP1
000024e5: ISZERO
000024e6: PUSH2 0x24f3
000024e9: JUMPI
000024ea: RETURNDATASIZE
000024eb: PUSH1 0x00
000024ed: DUP1
000024ee: RETURNDATACOPY
000024ef: RETURNDATASIZE
000024f0: PUSH1 0x00
000024f2: REVERT
000024f3: JUMPDEST
000024f4: POP
000024f5: POP
000024f6: POP
000024f7: POP
000024f8: JUMPDEST
000024f9: PUSH1 0x40
000024fb: DUP1
000024fc: MLOAD
000024fd: PUSH4 0x40c10f19
00002502: PUSH1 0xe0
00002504: SHL
00002505: DUP2
00002506: MSTORE
00002507: CALLER
00002508: PUSH1 0x04
0000250a: DUP3
0000250b: ADD
0000250c: MSTORE
0000250d: PUSH1 0x24
0000250f: DUP2
00002510: ADD
00002511: DUP7
00002512: SWAP1
00002513: MSTORE
00002514: SWAP1
00002515: MLOAD
00002516: PUSH1 0x01
00002518: PUSH1 0x01
0000251a: PUSH1 0xa0
0000251c: SHL
0000251d: SUB
0000251e: PUSH32 0x00000000000000000000000016c52ceece2ed57dad87319d91b5e3637d50afa4
0000253f: AND
00002540: SWAP2
00002541: PUSH4 0x40c10f19
00002546: SWAP2
00002547: PUSH1 0x44
00002549: DUP1
0000254a: DUP4
0000254b: ADD
0000254c: SWAP3
0000254d: PUSH1 0x00
0000254f: SWAP3
00002550: SWAP2
00002551: SWAP1
00002552: DUP3
00002553: SWAP1
00002554: SUB
00002555: ADD
00002556: DUP2
00002557: DUP4
00002558: DUP8
00002559: DUP1
0000255a: EXTCODESIZE
0000255b: ISZERO
0000255c: DUP1
0000255d: ISZERO
0000255e: PUSH2 0x2566
00002561: JUMPI
00002562: PUSH1 0x00
00002564: DUP1
00002565: REVERT
00002566: JUMPDEST
00002567: POP
00002568: GAS
00002569: CALL
0000256a: ISZERO
0000256b: DUP1
0000256c: ISZERO
0000256d: PUSH2 0x257a
00002570: JUMPI
00002571: RETURNDATASIZE
00002572: PUSH1 0x00
00002574: DUP1
00002575: RETURNDATACOPY
00002576: RETURNDATASIZE
00002577: PUSH1 0x00
00002579: REVERT
0000257a: JUMPDEST
0000257b: POP
0000257c: POP
0000257d: DUP4
0000257e: SLOAD
0000257f: PUSH1 0x40
00002581: DUP1
00002582: MLOAD
00002583: DUP9
00002584: DUP2
00002585: MSTORE
00002586: SWAP1
00002587: MLOAD
00002588: SWAP2
00002589: SWAP4
0000258a: POP
0000258b: CALLER
0000258c: SWAP3
0000258d: POP
0000258e: PUSH32 0x2e8ac5177a616f2aec08c3048f5021e4e9743ece034e8d83ba5caf76688bb475
000025af: SWAP2
000025b0: SWAP1
000025b1: DUP2
000025b2: SWAP1
000025b3: SUB
000025b4: PUSH1 0x20
000025b6: ADD
000025b7: SWAP1
000025b8: LOG3
000025b9: POP
000025ba: POP
000025bb: PUSH1 0x01
000025bd: PUSH1 0x02
000025bf: SSTORE
000025c0: POP
000025c1: POP
000025c2: JUMP
000025c3: JUMPDEST
000025c4: PUSH1 0x00
000025c6: DUP2
000025c7: JUMP
000025c8: JUMPDEST
000025c9: PUSH1 0x00
000025cb: DUP1
000025cc: PUSH2 0x25d3
000025cf: PUSH2 0x16b4
000025d2: JUMP
000025d3: JUMPDEST
000025d4: SWAP1
000025d5: POP
000025d6: PUSH1 0x00
000025d8: PUSH2 0x2600
000025db: PUSH32 0x0000000000000000000000002cfeaf282fe9ae050b210e7bda65d288c40c6104
000025fc: PUSH2 0x1a4d
000025ff: JUMP
00002600: JUMPDEST
00002601: SWAP1
00002602: POP
00002603: PUSH2 0x1d4d
00002606: DUP2
00002607: PUSH2 0x0dd7
0000260a: PUSH1 0x64
0000260c: PUSH2 0x0dd7
0000260f: PUSH1 0x06
00002611: SLOAD
00002612: PUSH2 0x1ac5
00002615: DUP11
00002616: DUP10
00002617: PUSH2 0x30b7
0000261a: SWAP1
0000261b: SWAP2
0000261c: SWAP1
0000261d: PUSH4 0xffffffff
00002622: AND
00002623: JUMP
00002624: JUMPDEST
00002625: PUSH2 0x262c
00002628: PUSH2 0x3152
0000262b: JUMP
0000262c: JUMPDEST
0000262d: PUSH1 0x00
0000262f: SLOAD
00002630: PUSH1 0x01
00002632: PUSH1 0x01
00002634: PUSH1 0xa0
00002636: SHL
00002637: SUB
00002638: SWAP1
00002639: DUP2
0000263a: AND
0000263b: SWAP2
0000263c: AND
0000263d: EQ
0000263e: PUSH2 0x267c
00002641: JUMPI
00002642: PUSH1 0x40
00002644: DUP1
00002645: MLOAD
00002646: PUSH3 0x461bcd
0000264a: PUSH1 0xe5
0000264c: SHL
0000264d: DUP2
0000264e: MSTORE
0000264f: PUSH1 0x20
00002651: PUSH1 0x04
00002653: DUP3
00002654: ADD
00002655: DUP2
00002656: SWAP1
00002657: MSTORE
00002658: PUSH1 0x24
0000265a: DUP3
0000265b: ADD
0000265c: MSTORE
0000265d: PUSH1 0x00
0000265f: DUP1
00002660: MLOAD
00002661: PUSH1 0x20
00002663: PUSH2 0x4270
00002666: DUP4
00002667: CODECOPY
00002668: DUP2
00002669: MLOAD
0000266a: SWAP2
0000266b: MSTORE
0000266c: PUSH1 0x44
0000266e: DUP3
0000266f: ADD
00002670: MSTORE
00002671: SWAP1
00002672: MLOAD
00002673: SWAP1
00002674: DUP2
00002675: SWAP1
00002676: SUB
00002677: PUSH1 0x64
00002679: ADD
0000267a: SWAP1
0000267b: REVERT
0000267c: JUMPDEST
0000267d: PUSH1 0x96
0000267f: DUP2
00002680: LT
00002681: ISZERO
00002682: PUSH2 0x26bc
00002685: JUMPI
00002686: PUSH1 0x40
00002688: MLOAD
00002689: PUSH3 0x461bcd
0000268d: PUSH1 0xe5
0000268f: SHL
00002690: DUP2
00002691: MSTORE
00002692: PUSH1 0x04
00002694: ADD
00002695: DUP1
00002696: DUP1
00002697: PUSH1 0x20
00002699: ADD
0000269a: DUP3
0000269b: DUP2
0000269c: SUB
0000269d: DUP3
0000269e: MSTORE
0000269f: PUSH1 0x32
000026a1: DUP2
000026a2: MSTORE
000026a3: PUSH1 0x20
000026a5: ADD
000026a6: DUP1
000026a7: PUSH2 0x407f
000026aa: PUSH1 0x32
000026ac: SWAP2
000026ad: CODECOPY
000026ae: PUSH1 0x40
000026b0: ADD
000026b1: SWAP2
000026b2: POP
000026b3: POP
000026b4: PUSH1 0x40
000026b6: MLOAD
000026b7: DUP1
000026b8: SWAP2
000026b9: SUB
000026ba: SWAP1
000026bb: REVERT
000026bc: JUMPDEST
000026bd: PUSH1 0x06
000026bf: DUP2
000026c0: SWAP1
000026c1: SSTORE
000026c2: PUSH1 0x40
000026c4: DUP1
000026c5: MLOAD
000026c6: DUP3
000026c7: DUP2
000026c8: MSTORE
000026c9: SWAP1
000026ca: MLOAD
000026cb: CALLER
000026cc: SWAP2
000026cd: PUSH32 0x6126d9241e4aeb647b01ddffba35de720a5b4ad692f117a43b5b281e49126fc4
000026ee: SWAP2
000026ef: SWAP1
000026f0: DUP2
000026f1: SWAP1
000026f2: SUB
000026f3: PUSH1 0x20
000026f5: ADD
000026f6: SWAP1
000026f7: LOG2
000026f8: POP
000026f9: JUMP
000026fa: JUMPDEST
000026fb: PUSH1 0x0a
000026fd: DUP2
000026fe: JUMP
000026ff: JUMPDEST
00002700: PUSH1 0x0a
00002702: PUSH1 0x20
00002704: MSTORE
00002705: PUSH1 0x00
00002707: SWAP1
00002708: DUP2
00002709: MSTORE
0000270a: PUSH1 0x40
0000270c: SWAP1
0000270d: KECCAK256
0000270e: SLOAD
0000270f: DUP2
00002710: JUMP
00002711: JUMPDEST
00002712: PUSH1 0x02
00002714: DUP1
00002715: SLOAD
00002716: EQ
00002717: ISZERO
00002718: PUSH2 0x2756
0000271b: JUMPI
0000271c: PUSH1 0x40
0000271e: DUP1
0000271f: MLOAD
00002720: PUSH3 0x461bcd
00002724: PUSH1 0xe5
00002726: SHL
00002727: DUP2
00002728: MSTORE
00002729: PUSH1 0x20
0000272b: PUSH1 0x04
0000272d: DUP3
0000272e: ADD
0000272f: MSTORE
00002730: PUSH1 0x1f
00002732: PUSH1 0x24
00002734: DUP3
00002735: ADD
00002736: MSTORE
00002737: PUSH1 0x00
00002739: DUP1
0000273a: MLOAD
0000273b: PUSH1 0x20
0000273d: PUSH2 0x3df6
00002740: DUP4
00002741: CODECOPY
00002742: DUP2
00002743: MLOAD
00002744: SWAP2
00002745: MSTORE
00002746: PUSH1 0x44
00002748: DUP3
00002749: ADD
0000274a: MSTORE
0000274b: SWAP1
0000274c: MLOAD
0000274d: SWAP1
0000274e: DUP2
0000274f: SWAP1
00002750: SUB
00002751: PUSH1 0x64
00002753: ADD
00002754: SWAP1
00002755: REVERT
00002756: JUMPDEST
00002757: PUSH1 0x02
00002759: DUP1
0000275a: SSTORE
0000275b: CALLER
0000275c: PUSH1 0x00
0000275e: SWAP1
0000275f: DUP2
00002760: MSTORE
00002761: PUSH1 0x0a
00002763: PUSH1 0x20
00002765: MSTORE
00002766: PUSH1 0x40
00002768: SWAP1
00002769: KECCAK256
0000276a: SLOAD
0000276b: PUSH2 0x27a5
0000276e: JUMPI
0000276f: PUSH1 0x40
00002771: MLOAD
00002772: PUSH3 0x461bcd
00002776: PUSH1 0xe5
00002778: SHL
00002779: DUP2
0000277a: MSTORE
0000277b: PUSH1 0x04
0000277d: ADD
0000277e: DUP1
0000277f: DUP1
00002780: PUSH1 0x20
00002782: ADD
00002783: DUP3
00002784: DUP2
00002785: SUB
00002786: DUP3
00002787: MSTORE
00002788: PUSH1 0x2b
0000278a: DUP2
0000278b: MSTORE
0000278c: PUSH1 0x20
0000278e: ADD
0000278f: DUP1
00002790: PUSH2 0x3e3b
00002793: PUSH1 0x2b
00002795: SWAP2
00002796: CODECOPY
00002797: PUSH1 0x40
00002799: ADD
0000279a: SWAP2
0000279b: POP
0000279c: POP
0000279d: PUSH1 0x40
0000279f: MLOAD
000027a0: DUP1
000027a1: SWAP2
000027a2: SUB
000027a3: SWAP1
000027a4: REVERT
000027a5: JUMPDEST
000027a6: PUSH1 0x03
000027a8: SLOAD
000027a9: PUSH1 0xff
000027ab: AND
000027ac: ISZERO
000027ad: PUSH2 0x27f0
000027b0: JUMPI
000027b1: PUSH1 0x40
000027b3: DUP1
000027b4: MLOAD
000027b5: PUSH3 0x461bcd
000027b9: PUSH1 0xe5
000027bb: SHL
000027bc: DUP2
000027bd: MSTORE
000027be: PUSH1 0x20
000027c0: PUSH1 0x04
000027c2: DUP3
000027c3: ADD
000027c4: MSTORE
000027c5: PUSH1 0x10
000027c7: PUSH1 0x24
000027c9: DUP3
000027ca: ADD
000027cb: MSTORE
000027cc: PUSH16 0x14185d5cd8589b194e881c185d5cd959
000027dd: PUSH1 0x82
000027df: SHL
000027e0: PUSH1 0x44
000027e2: DUP3
000027e3: ADD
000027e4: MSTORE
000027e5: SWAP1
000027e6: MLOAD
000027e7: SWAP1
000027e8: DUP2
000027e9: SWAP1
000027ea: SUB
000027eb: PUSH1 0x64
000027ed: ADD
000027ee: SWAP1
000027ef: REVERT
000027f0: JUMPDEST
000027f1: DUP1
000027f2: DUP1
000027f3: PUSH2 0x282d
000027f6: JUMPI
000027f7: PUSH1 0x40
000027f9: MLOAD
000027fa: PUSH3 0x461bcd
000027fe: PUSH1 0xe5
00002800: SHL
00002801: DUP2
00002802: MSTORE
00002803: PUSH1 0x04
00002805: ADD
00002806: DUP1
00002807: DUP1
00002808: PUSH1 0x20
0000280a: ADD
0000280b: DUP3
0000280c: DUP2
0000280d: SUB
0000280e: DUP3
0000280f: MSTORE
00002810: PUSH1 0x27
00002812: DUP2
00002813: MSTORE
00002814: PUSH1 0x20
00002816: ADD
00002817: DUP1
00002818: PUSH2 0x433a
0000281b: PUSH1 0x27
0000281d: SWAP2
0000281e: CODECOPY
0000281f: PUSH1 0x40
00002821: ADD
00002822: SWAP2
00002823: POP
00002824: POP
00002825: PUSH1 0x40
00002827: MLOAD
00002828: DUP1
00002829: SWAP2
0000282a: SUB
0000282b: SWAP1
0000282c: REVERT
0000282d: JUMPDEST
0000282e: PUSH1 0x40
00002830: DUP1
00002831: MLOAD
00002832: PUSH4 0x23b872dd
00002837: PUSH1 0xe0
00002839: SHL
0000283a: DUP2
0000283b: MSTORE
0000283c: CALLER
0000283d: PUSH1 0x04
0000283f: DUP3
00002840: ADD
00002841: MSTORE
00002842: ADDRESS
00002843: PUSH1 0x24
00002845: DUP3
00002846: ADD
00002847: MSTORE
00002848: PUSH1 0x44
0000284a: DUP2
0000284b: ADD
0000284c: DUP5
0000284d: SWAP1
0000284e: MSTORE
0000284f: SWAP1
00002850: MLOAD
00002851: PUSH1 0x01
00002853: PUSH1 0x01
00002855: PUSH1 0xa0
00002857: SHL
00002858: SUB
00002859: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
0000287a: AND
0000287b: SWAP2
0000287c: PUSH4 0x23b872dd
00002881: SWAP2
00002882: PUSH1 0x64
00002884: DUP1
00002885: DUP4
00002886: ADD
00002887: SWAP3
00002888: PUSH1 0x20
0000288a: SWAP3
0000288b: SWAP2
0000288c: SWAP1
0000288d: DUP3
0000288e: SWAP1
0000288f: SUB
00002890: ADD
00002891: DUP2
00002892: PUSH1 0x00
00002894: DUP8
00002895: DUP1
00002896: EXTCODESIZE
00002897: ISZERO
00002898: DUP1
00002899: ISZERO
0000289a: PUSH2 0x28a2
0000289d: JUMPI
0000289e: PUSH1 0x00
000028a0: DUP1
000028a1: REVERT
000028a2: JUMPDEST
000028a3: POP
000028a4: GAS
000028a5: CALL
000028a6: ISZERO
000028a7: DUP1
000028a8: ISZERO
000028a9: PUSH2 0x28b6
000028ac: JUMPI
000028ad: RETURNDATASIZE
000028ae: PUSH1 0x00
000028b0: DUP1
000028b1: RETURNDATACOPY
000028b2: RETURNDATASIZE
000028b3: PUSH1 0x00
000028b5: REVERT
000028b6: JUMPDEST
000028b7: POP
000028b8: POP
000028b9: POP
000028ba: POP
000028bb: PUSH1 0x40
000028bd: MLOAD
000028be: RETURNDATASIZE
000028bf: PUSH1 0x20
000028c1: DUP2
000028c2: LT
000028c3: ISZERO
000028c4: PUSH2 0x28cc
000028c7: JUMPI
000028c8: PUSH1 0x00
000028ca: DUP1
000028cb: REVERT
000028cc: JUMPDEST
000028cd: POP
000028ce: MLOAD
000028cf: PUSH2 0x2909
000028d2: JUMPI
000028d3: PUSH1 0x40
000028d5: MLOAD
000028d6: PUSH3 0x461bcd
000028da: PUSH1 0xe5
000028dc: SHL
000028dd: DUP2
000028de: MSTORE
000028df: PUSH1 0x04
000028e1: ADD
000028e2: DUP1
000028e3: DUP1
000028e4: PUSH1 0x20
000028e6: ADD
000028e7: DUP3
000028e8: DUP2
000028e9: SUB
000028ea: DUP3
000028eb: MSTORE
000028ec: PUSH1 0x3b
000028ee: DUP2
000028ef: MSTORE
000028f0: PUSH1 0x20
000028f2: ADD
000028f3: DUP1
000028f4: PUSH2 0x3d8c
000028f7: PUSH1 0x3b
000028f9: SWAP2
000028fa: CODECOPY
000028fb: PUSH1 0x40
000028fd: ADD
000028fe: SWAP2
000028ff: POP
00002900: POP
00002901: PUSH1 0x40
00002903: MLOAD
00002904: DUP1
00002905: SWAP2
00002906: SUB
00002907: SWAP1
00002908: REVERT
00002909: JUMPDEST
0000290a: CALLER
0000290b: PUSH1 0x00
0000290d: SWAP1
0000290e: DUP2
0000290f: MSTORE
00002910: PUSH1 0x0a
00002912: PUSH1 0x20
00002914: SWAP1
00002915: DUP2
00002916: MSTORE
00002917: PUSH1 0x40
00002919: DUP1
0000291a: DUP4
0000291b: KECCAK256
0000291c: SLOAD
0000291d: DUP4
0000291e: MSTORE
0000291f: PUSH1 0x0b
00002921: SWAP1
00002922: SWAP2
00002923: MSTORE
00002924: SWAP1
00002925: KECCAK256
00002926: PUSH1 0x01
00002928: DUP2
00002929: ADD
0000292a: SLOAD
0000292b: PUSH2 0x2934
0000292e: SWAP1
0000292f: DUP5
00002930: PUSH2 0x3023
00002933: JUMP
00002934: JUMPDEST
00002935: PUSH1 0x01
00002937: DUP3
00002938: ADD
00002939: SSTORE
0000293a: DUP1
0000293b: SLOAD
0000293c: PUSH1 0x40
0000293e: DUP1
0000293f: MLOAD
00002940: DUP6
00002941: DUP2
00002942: MSTORE
00002943: SWAP1
00002944: MLOAD
00002945: CALLER
00002946: SWAP2
00002947: PUSH32 0x11f8990ac38271f23dea447d5728e9914fca7cea2edda43af6c43c415f8bc30b
00002968: SWAP2
00002969: SWAP1
0000296a: DUP2
0000296b: SWAP1
0000296c: SUB
0000296d: PUSH1 0x20
0000296f: ADD
00002970: SWAP1
00002971: LOG3
00002972: POP
00002973: POP
00002974: PUSH1 0x01
00002976: PUSH1 0x02
00002978: SSTORE
00002979: POP
0000297a: JUMP
0000297b: JUMPDEST
0000297c: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
0000299d: DUP2
0000299e: JUMP
0000299f: JUMPDEST
000029a0: PUSH1 0x00
000029a2: DUP2
000029a3: DUP2
000029a4: MSTORE
000029a5: PUSH1 0x01
000029a7: PUSH1 0x20
000029a9: MSTORE
000029aa: PUSH1 0x40
000029ac: DUP2
000029ad: KECCAK256
000029ae: PUSH2 0x0b44
000029b1: SWAP1
000029b2: PUSH2 0x3643
000029b5: JUMP
000029b6: JUMPDEST
000029b7: PUSH1 0x02
000029b9: DUP1
000029ba: SLOAD
000029bb: EQ
000029bc: ISZERO
000029bd: PUSH2 0x29fb
000029c0: JUMPI
000029c1: PUSH1 0x40
000029c3: DUP1
000029c4: MLOAD
000029c5: PUSH3 0x461bcd
000029c9: PUSH1 0xe5
000029cb: SHL
000029cc: DUP2
000029cd: MSTORE
000029ce: PUSH1 0x20
000029d0: PUSH1 0x04
000029d2: DUP3
000029d3: ADD
000029d4: MSTORE
000029d5: PUSH1 0x1f
000029d7: PUSH1 0x24
000029d9: DUP3
000029da: ADD
000029db: MSTORE
000029dc: PUSH1 0x00
000029de: DUP1
000029df: MLOAD
000029e0: PUSH1 0x20
000029e2: PUSH2 0x3df6
000029e5: DUP4
000029e6: CODECOPY
000029e7: DUP2
000029e8: MLOAD
000029e9: SWAP2
000029ea: MSTORE
000029eb: PUSH1 0x44
000029ed: DUP3
000029ee: ADD
000029ef: MSTORE
000029f0: SWAP1
000029f1: MLOAD
000029f2: SWAP1
000029f3: DUP2
000029f4: SWAP1
000029f5: SUB
000029f6: PUSH1 0x64
000029f8: ADD
000029f9: SWAP1
000029fa: REVERT
000029fb: JUMPDEST
000029fc: PUSH1 0x02
000029fe: DUP1
000029ff: SSTORE
00002a00: CALLER
00002a01: PUSH1 0x00
00002a03: SWAP1
00002a04: DUP2
00002a05: MSTORE
00002a06: PUSH1 0x0a
00002a08: PUSH1 0x20
00002a0a: MSTORE
00002a0b: PUSH1 0x40
00002a0d: SWAP1
00002a0e: KECCAK256
00002a0f: SLOAD
00002a10: PUSH2 0x2a4a
00002a13: JUMPI
00002a14: PUSH1 0x40
00002a16: MLOAD
00002a17: PUSH3 0x461bcd
00002a1b: PUSH1 0xe5
00002a1d: SHL
00002a1e: DUP2
00002a1f: MSTORE
00002a20: PUSH1 0x04
00002a22: ADD
00002a23: DUP1
00002a24: DUP1
00002a25: PUSH1 0x20
00002a27: ADD
00002a28: DUP3
00002a29: DUP2
00002a2a: SUB
00002a2b: DUP3
00002a2c: MSTORE
00002a2d: PUSH1 0x2b
00002a2f: DUP2
00002a30: MSTORE
00002a31: PUSH1 0x20
00002a33: ADD
00002a34: DUP1
00002a35: PUSH2 0x3e3b
00002a38: PUSH1 0x2b
00002a3a: SWAP2
00002a3b: CODECOPY
00002a3c: PUSH1 0x40
00002a3e: ADD
00002a3f: SWAP2
00002a40: POP
00002a41: POP
00002a42: PUSH1 0x40
00002a44: MLOAD
00002a45: DUP1
00002a46: SWAP2
00002a47: SUB
00002a48: SWAP1
00002a49: REVERT
00002a4a: JUMPDEST
00002a4b: PUSH1 0x03
00002a4d: SLOAD
00002a4e: PUSH1 0xff
00002a50: AND
00002a51: ISZERO
00002a52: PUSH2 0x2a95
00002a55: JUMPI
00002a56: PUSH1 0x40
00002a58: DUP1
00002a59: MLOAD
00002a5a: PUSH3 0x461bcd
00002a5e: PUSH1 0xe5
00002a60: SHL
00002a61: DUP2
00002a62: MSTORE
00002a63: PUSH1 0x20
00002a65: PUSH1 0x04
00002a67: DUP3
00002a68: ADD
00002a69: MSTORE
00002a6a: PUSH1 0x10
00002a6c: PUSH1 0x24
00002a6e: DUP3
00002a6f: ADD
00002a70: MSTORE
00002a71: PUSH16 0x14185d5cd8589b194e881c185d5cd959
00002a82: PUSH1 0x82
00002a84: SHL
00002a85: PUSH1 0x44
00002a87: DUP3
00002a88: ADD
00002a89: MSTORE
00002a8a: SWAP1
00002a8b: MLOAD
00002a8c: SWAP1
00002a8d: DUP2
00002a8e: SWAP1
00002a8f: SUB
00002a90: PUSH1 0x64
00002a92: ADD
00002a93: SWAP1
00002a94: REVERT
00002a95: JUMPDEST
00002a96: PUSH1 0x00
00002a98: DUP2
00002a99: GT
00002a9a: PUSH2 0x2ad4
00002a9d: JUMPI
00002a9e: PUSH1 0x40
00002aa0: MLOAD
00002aa1: PUSH3 0x461bcd
00002aa5: PUSH1 0xe5
00002aa7: SHL
00002aa8: DUP2
00002aa9: MSTORE
00002aaa: PUSH1 0x04
00002aac: ADD
00002aad: DUP1
00002aae: DUP1
00002aaf: PUSH1 0x20
00002ab1: ADD
00002ab2: DUP3
00002ab3: DUP2
00002ab4: SUB
00002ab5: DUP3
00002ab6: MSTORE
00002ab7: PUSH1 0x36
00002ab9: DUP2
00002aba: MSTORE
00002abb: PUSH1 0x20
00002abd: ADD
00002abe: DUP1
00002abf: PUSH2 0x416e
00002ac2: PUSH1 0x36
00002ac4: SWAP2
00002ac5: CODECOPY
00002ac6: PUSH1 0x40
00002ac8: ADD
00002ac9: SWAP2
00002aca: POP
00002acb: POP
00002acc: PUSH1 0x40
00002ace: MLOAD
00002acf: DUP1
00002ad0: SWAP2
00002ad1: SUB
00002ad2: SWAP1
00002ad3: REVERT
00002ad4: JUMPDEST
00002ad5: CALLER
00002ad6: PUSH1 0x00
00002ad8: SWAP1
00002ad9: DUP2
00002ada: MSTORE
00002adb: PUSH1 0x0a
00002add: PUSH1 0x20
00002adf: SWAP1
00002ae0: DUP2
00002ae1: MSTORE
00002ae2: PUSH1 0x40
00002ae4: DUP1
00002ae5: DUP4
00002ae6: KECCAK256
00002ae7: SLOAD
00002ae8: DUP4
00002ae9: MSTORE
00002aea: PUSH1 0x0b
00002aec: SWAP1
00002aed: SWAP2
00002aee: MSTORE
00002aef: DUP2
00002af0: KECCAK256
00002af1: DUP1
00002af2: SLOAD
00002af3: SWAP1
00002af4: SWAP2
00002af5: SWAP1
00002af6: PUSH2 0x2afe
00002af9: SWAP1
00002afa: PUSH2 0x1c7c
00002afd: JUMP
00002afe: JUMPDEST
00002aff: SWAP1
00002b00: POP
00002b01: DUP3
00002b02: DUP3
00002b03: PUSH1 0x01
00002b05: ADD
00002b06: SLOAD
00002b07: LT
00002b08: ISZERO
00002b09: PUSH2 0x2b43
00002b0c: JUMPI
00002b0d: PUSH1 0x40
00002b0f: MLOAD
00002b10: PUSH3 0x461bcd
00002b14: PUSH1 0xe5
00002b16: SHL
00002b17: DUP2
00002b18: MSTORE
00002b19: PUSH1 0x04
00002b1b: ADD
00002b1c: DUP1
00002b1d: DUP1
00002b1e: PUSH1 0x20
00002b20: ADD
00002b21: DUP3
00002b22: DUP2
00002b23: SUB
00002b24: DUP3
00002b25: MSTORE
00002b26: PUSH1 0x4c
00002b28: DUP2
00002b29: MSTORE
00002b2a: PUSH1 0x20
00002b2c: ADD
00002b2d: DUP1
00002b2e: PUSH2 0x3ee4
00002b31: PUSH1 0x4c
00002b33: SWAP2
00002b34: CODECOPY
00002b35: PUSH1 0x60
00002b37: ADD
00002b38: SWAP2
00002b39: POP
00002b3a: POP
00002b3b: PUSH1 0x40
00002b3d: MLOAD
00002b3e: DUP1
00002b3f: SWAP2
00002b40: SUB
00002b41: SWAP1
00002b42: REVERT
00002b43: JUMPDEST
00002b44: PUSH1 0x01
00002b46: DUP3
00002b47: ADD
00002b48: SLOAD
00002b49: PUSH2 0x2b52
00002b4c: SWAP1
00002b4d: DUP5
00002b4e: PUSH2 0x31bf
00002b51: JUMP
00002b52: JUMPDEST
00002b53: PUSH1 0x01
00002b55: DUP4
00002b56: ADD
00002b57: SSTORE
00002b58: DUP1
00002b59: ISZERO
00002b5a: PUSH2 0x2ba8
00002b5d: JUMPI
00002b5e: PUSH1 0x06
00002b60: SLOAD
00002b61: DUP3
00002b62: SLOAD
00002b63: PUSH2 0x2b6b
00002b66: SWAP1
00002b67: PUSH2 0x1c7c
00002b6a: JUMP
00002b6b: JUMPDEST
00002b6c: LT
00002b6d: ISZERO
00002b6e: PUSH2 0x2ba8
00002b71: JUMPI
00002b72: PUSH1 0x40
00002b74: MLOAD
00002b75: PUSH3 0x461bcd
00002b79: PUSH1 0xe5
00002b7b: SHL
00002b7c: DUP2
00002b7d: MSTORE
00002b7e: PUSH1 0x04
00002b80: ADD
00002b81: DUP1
00002b82: DUP1
00002b83: PUSH1 0x20
00002b85: ADD
00002b86: DUP3
00002b87: DUP2
00002b88: SUB
00002b89: DUP3
00002b8a: MSTORE
00002b8b: PUSH1 0x49
00002b8d: DUP2
00002b8e: MSTORE
00002b8f: PUSH1 0x20
00002b91: ADD
00002b92: DUP1
00002b93: PUSH2 0x3f30
00002b96: PUSH1 0x49
00002b98: SWAP2
00002b99: CODECOPY
00002b9a: PUSH1 0x60
00002b9c: ADD
00002b9d: SWAP2
00002b9e: POP
00002b9f: POP
00002ba0: PUSH1 0x40
00002ba2: MLOAD
00002ba3: DUP1
00002ba4: SWAP2
00002ba5: SUB
00002ba6: SWAP1
00002ba7: REVERT
00002ba8: JUMPDEST
00002ba9: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00002bca: PUSH1 0x01
00002bcc: PUSH1 0x01
00002bce: PUSH1 0xa0
00002bd0: SHL
00002bd1: SUB
00002bd2: AND
00002bd3: PUSH4 0x2e1a7d4d
00002bd8: DUP5
00002bd9: PUSH1 0x40
00002bdb: MLOAD
00002bdc: DUP3
00002bdd: PUSH4 0xffffffff
00002be2: AND
00002be3: PUSH1 0xe0
00002be5: SHL
00002be6: DUP2
00002be7: MSTORE
00002be8: PUSH1 0x04
00002bea: ADD
00002beb: DUP1
00002bec: DUP3
00002bed: DUP2
00002bee: MSTORE
00002bef: PUSH1 0x20
00002bf1: ADD
00002bf2: SWAP2
00002bf3: POP
00002bf4: POP
00002bf5: PUSH1 0x00
00002bf7: PUSH1 0x40
00002bf9: MLOAD
00002bfa: DUP1
00002bfb: DUP4
00002bfc: SUB
00002bfd: DUP2
00002bfe: PUSH1 0x00
00002c00: DUP8
00002c01: DUP1
00002c02: EXTCODESIZE
00002c03: ISZERO
00002c04: DUP1
00002c05: ISZERO
00002c06: PUSH2 0x2c0e
00002c09: JUMPI
00002c0a: PUSH1 0x00
00002c0c: DUP1
00002c0d: REVERT
00002c0e: JUMPDEST
00002c0f: POP
00002c10: GAS
00002c11: CALL
00002c12: ISZERO
00002c13: DUP1
00002c14: ISZERO
00002c15: PUSH2 0x2c22
00002c18: JUMPI
00002c19: RETURNDATASIZE
00002c1a: PUSH1 0x00
00002c1c: DUP1
00002c1d: RETURNDATACOPY
00002c1e: RETURNDATASIZE
00002c1f: PUSH1 0x00
00002c21: REVERT
00002c22: JUMPDEST
00002c23: POP
00002c24: POP
00002c25: POP
00002c26: POP
00002c27: PUSH2 0x2c30
00002c2a: CALLER
00002c2b: DUP5
00002c2c: PUSH2 0x33f8
00002c2f: JUMP
00002c30: JUMPDEST
00002c31: DUP2
00002c32: SLOAD
00002c33: PUSH1 0x40
00002c35: DUP1
00002c36: MLOAD
00002c37: DUP6
00002c38: DUP2
00002c39: MSTORE
00002c3a: SWAP1
00002c3b: MLOAD
00002c3c: CALLER
00002c3d: SWAP2
00002c3e: PUSH32 0x47e1336b6fdb5f42c3a1d28b558fa98786d820c3705d726358dcc8e63a401eef
00002c5f: SWAP2
00002c60: SWAP1
00002c61: DUP2
00002c62: SWAP1
00002c63: SUB
00002c64: PUSH1 0x20
00002c66: ADD
00002c67: SWAP1
00002c68: LOG3
00002c69: POP
00002c6a: POP
00002c6b: PUSH1 0x01
00002c6d: PUSH1 0x02
00002c6f: SSTORE
00002c70: POP
00002c71: JUMP
00002c72: JUMPDEST
00002c73: PUSH1 0x00
00002c75: DUP3
00002c76: DUP2
00002c77: MSTORE
00002c78: PUSH1 0x01
00002c7a: PUSH1 0x20
00002c7c: MSTORE
00002c7d: PUSH1 0x40
00002c7f: SWAP1
00002c80: KECCAK256
00002c81: PUSH1 0x02
00002c83: ADD
00002c84: SLOAD
00002c85: PUSH2 0x2c90
00002c88: SWAP1
00002c89: PUSH2 0x0f2a
00002c8c: PUSH2 0x3152
00002c8f: JUMP
00002c90: JUMPDEST
00002c91: PUSH2 0x12d8
00002c94: JUMPI
00002c95: PUSH1 0x40
00002c97: MLOAD
00002c98: PUSH3 0x461bcd
00002c9c: PUSH1 0xe5
00002c9e: SHL
00002c9f: DUP2
00002ca0: MSTORE
00002ca1: PUSH1 0x04
00002ca3: ADD
00002ca4: DUP1
00002ca5: DUP1
00002ca6: PUSH1 0x20
00002ca8: ADD
00002ca9: DUP3
00002caa: DUP2
00002cab: SUB
00002cac: DUP3
00002cad: MSTORE
00002cae: PUSH1 0x30
00002cb0: DUP2
00002cb1: MSTORE
00002cb2: PUSH1 0x20
00002cb4: ADD
00002cb5: DUP1
00002cb6: PUSH2 0x4023
00002cb9: PUSH1 0x30
00002cbb: SWAP2
00002cbc: CODECOPY
00002cbd: PUSH1 0x40
00002cbf: ADD
00002cc0: SWAP2
00002cc1: POP
00002cc2: POP
00002cc3: PUSH1 0x40
00002cc5: MLOAD
00002cc6: DUP1
00002cc7: SWAP2
00002cc8: SUB
00002cc9: SWAP1
00002cca: REVERT
00002ccb: JUMPDEST
00002ccc: PUSH1 0x00
00002cce: PUSH2 0x2cd5
00002cd1: PUSH2 0x3d08
00002cd4: JUMP
00002cd5: JUMPDEST
00002cd6: POP
00002cd7: PUSH1 0x00
00002cd9: DUP3
00002cda: DUP2
00002cdb: MSTORE
00002cdc: PUSH1 0x0b
00002cde: PUSH1 0x20
00002ce0: SWAP1
00002ce1: DUP2
00002ce2: MSTORE
00002ce3: PUSH1 0x40
00002ce5: DUP1
00002ce6: DUP4
00002ce7: KECCAK256
00002ce8: DUP2
00002ce9: MLOAD
00002cea: PUSH1 0x80
00002cec: DUP2
00002ced: ADD
00002cee: DUP4
00002cef: MSTORE
00002cf0: DUP2
00002cf1: SLOAD
00002cf2: DUP2
00002cf3: MSTORE
00002cf4: PUSH1 0x01
00002cf6: DUP3
00002cf7: ADD
00002cf8: SLOAD
00002cf9: SWAP4
00002cfa: DUP2
00002cfb: ADD
00002cfc: SWAP4
00002cfd: SWAP1
00002cfe: SWAP4
00002cff: MSTORE
00002d00: PUSH1 0x02
00002d02: DUP2
00002d03: ADD
00002d04: SLOAD
00002d05: SWAP2
00002d06: DUP4
00002d07: ADD
00002d08: SWAP2
00002d09: SWAP1
00002d0a: SWAP2
00002d0b: MSTORE
00002d0c: PUSH1 0x03
00002d0e: ADD
00002d0f: SLOAD
00002d10: PUSH1 0x01
00002d12: PUSH1 0x01
00002d14: PUSH1 0xa0
00002d16: SHL
00002d17: SUB
00002d18: AND
00002d19: PUSH1 0x60
00002d1b: DUP3
00002d1c: ADD
00002d1d: MSTORE
00002d1e: SWAP1
00002d1f: PUSH2 0x2d26
00002d22: PUSH2 0x16b4
00002d25: JUMP
00002d26: JUMPDEST
00002d27: SWAP1
00002d28: POP
00002d29: PUSH1 0x00
00002d2b: PUSH2 0x2d53
00002d2e: PUSH32 0x0000000000000000000000002cfeaf282fe9ae050b210e7bda65d288c40c6104
00002d4f: PUSH2 0x1a4d
00002d52: JUMP
00002d53: JUMPDEST
00002d54: SWAP1
00002d55: POP
00002d56: PUSH1 0x00
00002d58: PUSH2 0x2d72
00002d5b: DUP4
00002d5c: PUSH2 0x0dd7
00002d5f: DUP5
00002d60: DUP8
00002d61: PUSH1 0x20
00002d63: ADD
00002d64: MLOAD
00002d65: PUSH2 0x30b7
00002d68: SWAP1
00002d69: SWAP2
00002d6a: SWAP1
00002d6b: PUSH4 0xffffffff
00002d70: AND
00002d71: JUMP
00002d72: JUMPDEST
00002d73: SWAP1
00002d74: POP
00002d75: PUSH1 0x00
00002d77: PUSH2 0x2da3
00002d7a: PUSH1 0x64
00002d7c: PUSH2 0x1ac5
00002d7f: DUP5
00002d80: PUSH2 0x2d9d
00002d83: PUSH1 0x64
00002d85: PUSH2 0x0dd7
00002d88: PUSH1 0x06
00002d8a: SLOAD
00002d8b: DUP13
00002d8c: PUSH1 0x40
00002d8e: ADD
00002d8f: MLOAD
00002d90: PUSH2 0x30b7
00002d93: SWAP1
00002d94: SWAP2
00002d95: SWAP1
00002d96: PUSH4 0xffffffff
00002d9b: AND
00002d9c: JUMP
00002d9d: JUMPDEST
00002d9e: SWAP1
00002d9f: PUSH2 0x31bf
00002da2: JUMP
00002da3: JUMPDEST
00002da4: SWAP1
00002da5: POP
00002da6: PUSH1 0x00
00002da8: PUSH2 0x2dc9
00002dab: PUSH2 0x2dc0
00002dae: PUSH1 0x64
00002db0: PUSH1 0x08
00002db2: SLOAD
00002db3: PUSH2 0x3023
00002db6: SWAP1
00002db7: SWAP2
00002db8: SWAP1
00002db9: PUSH4 0xffffffff
00002dbe: AND
00002dbf: JUMP
00002dc0: JUMPDEST
00002dc1: PUSH1 0x06
00002dc3: SLOAD
00002dc4: SWAP1
00002dc5: PUSH2 0x31bf
00002dc8: JUMP
00002dc9: JUMPDEST
00002dca: SWAP1
00002dcb: POP
00002dcc: PUSH2 0x2dd5
00002dcf: DUP3
00002dd0: DUP3
00002dd1: PUSH2 0x3110
00002dd4: JUMP
00002dd5: JUMPDEST
00002dd6: SWAP9
00002dd7: SWAP8
00002dd8: POP
00002dd9: POP
00002dda: POP
00002ddb: POP
00002ddc: POP
00002ddd: POP
00002dde: POP
00002ddf: POP
00002de0: JUMP
00002de1: JUMPDEST
00002de2: PUSH2 0x2de9
00002de5: PUSH2 0x3152
00002de8: JUMP
00002de9: JUMPDEST
00002dea: PUSH1 0x00
00002dec: SLOAD
00002ded: PUSH1 0x01
00002def: PUSH1 0x01
00002df1: PUSH1 0xa0
00002df3: SHL
00002df4: SUB
00002df5: SWAP1
00002df6: DUP2
00002df7: AND
00002df8: SWAP2
00002df9: AND
00002dfa: EQ
00002dfb: PUSH2 0x2e39
00002dfe: JUMPI
00002dff: PUSH1 0x40
00002e01: DUP1
00002e02: MLOAD
00002e03: PUSH3 0x461bcd
00002e07: PUSH1 0xe5
00002e09: SHL
00002e0a: DUP2
00002e0b: MSTORE
00002e0c: PUSH1 0x20
00002e0e: PUSH1 0x04
00002e10: DUP3
00002e11: ADD
00002e12: DUP2
00002e13: SWAP1
00002e14: MSTORE
00002e15: PUSH1 0x24
00002e17: DUP3
00002e18: ADD
00002e19: MSTORE
00002e1a: PUSH1 0x00
00002e1c: DUP1
00002e1d: MLOAD
00002e1e: PUSH1 0x20
00002e20: PUSH2 0x4270
00002e23: DUP4
00002e24: CODECOPY
00002e25: DUP2
00002e26: MLOAD
00002e27: SWAP2
00002e28: MSTORE
00002e29: PUSH1 0x44
00002e2b: DUP3
00002e2c: ADD
00002e2d: MSTORE
00002e2e: SWAP1
00002e2f: MLOAD
00002e30: SWAP1
00002e31: DUP2
00002e32: SWAP1
00002e33: SUB
00002e34: PUSH1 0x64
00002e36: ADD
00002e37: SWAP1
00002e38: REVERT
00002e39: JUMPDEST
00002e3a: PUSH2 0x2e4a
00002e3d: DUP2
00002e3e: PUSH4 0x06b5cc77
00002e43: PUSH1 0xe4
00002e45: SHL
00002e46: PUSH2 0x307d
00002e49: JUMP
00002e4a: JUMPDEST
00002e4b: PUSH2 0x2e85
00002e4e: JUMPI
00002e4f: PUSH1 0x40
00002e51: MLOAD
00002e52: PUSH3 0x461bcd
00002e56: PUSH1 0xe5
00002e58: SHL
00002e59: DUP2
00002e5a: MSTORE
00002e5b: PUSH1 0x04
00002e5d: ADD
00002e5e: DUP1
00002e5f: DUP1
00002e60: PUSH1 0x20
00002e62: ADD
00002e63: DUP3
00002e64: DUP2
00002e65: SUB
00002e66: DUP3
00002e67: MSTORE
00002e68: PUSH1 0x2f
00002e6a: DUP2
00002e6b: MSTORE
00002e6c: PUSH1 0x20
00002e6e: ADD
00002e6f: DUP1
00002e70: PUSH2 0x3e8c
00002e73: PUSH1 0x2f
00002e75: SWAP2
00002e76: CODECOPY
00002e77: PUSH1 0x40
00002e79: ADD
00002e7a: SWAP2
00002e7b: POP
00002e7c: POP
00002e7d: PUSH1 0x40
00002e7f: MLOAD
00002e80: DUP1
00002e81: SWAP2
00002e82: SUB
00002e83: SWAP1
00002e84: REVERT
00002e85: JUMPDEST
00002e86: PUSH1 0x09
00002e88: DUP1
00002e89: SLOAD
00002e8a: PUSH1 0x01
00002e8c: PUSH1 0x01
00002e8e: PUSH1 0xa0
00002e90: SHL
00002e91: SUB
00002e92: DUP4
00002e93: AND
00002e94: PUSH1 0x01
00002e96: PUSH1 0x01
00002e98: PUSH1 0xa0
00002e9a: SHL
00002e9b: SUB
00002e9c: NOT
00002e9d: SWAP1
00002e9e: SWAP2
00002e9f: AND
00002ea0: DUP2
00002ea1: OR
00002ea2: SWAP1
00002ea3: SWAP2
00002ea4: SSTORE
00002ea5: PUSH1 0x40
00002ea7: DUP1
00002ea8: MLOAD
00002ea9: SWAP2
00002eaa: DUP3
00002eab: MSTORE
00002eac: MLOAD
00002ead: CALLER
00002eae: SWAP2
00002eaf: PUSH32 0x567657fa3f286518b318f4a29870674f433f622fdfc819691acb13105b228225
00002ed0: SWAP2
00002ed1: SWAP1
00002ed2: DUP2
00002ed3: SWAP1
00002ed4: SUB
00002ed5: PUSH1 0x20
00002ed7: ADD
00002ed8: SWAP1
00002ed9: LOG2
00002eda: POP
00002edb: JUMP
00002edc: JUMPDEST
00002edd: PUSH2 0x2ee4
00002ee0: PUSH2 0x3152
00002ee3: JUMP
00002ee4: JUMPDEST
00002ee5: PUSH1 0x00
00002ee7: SLOAD
00002ee8: PUSH1 0x01
00002eea: PUSH1 0x01
00002eec: PUSH1 0xa0
00002eee: SHL
00002eef: SUB
00002ef0: SWAP1
00002ef1: DUP2
00002ef2: AND
00002ef3: SWAP2
00002ef4: AND
00002ef5: EQ
00002ef6: PUSH2 0x2f34
00002ef9: JUMPI
00002efa: PUSH1 0x40
00002efc: DUP1
00002efd: MLOAD
00002efe: PUSH3 0x461bcd
00002f02: PUSH1 0xe5
00002f04: SHL
00002f05: DUP2
00002f06: MSTORE
00002f07: PUSH1 0x20
00002f09: PUSH1 0x04
00002f0b: DUP3
00002f0c: ADD
00002f0d: DUP2
00002f0e: SWAP1
00002f0f: MSTORE
00002f10: PUSH1 0x24
00002f12: DUP3
00002f13: ADD
00002f14: MSTORE
00002f15: PUSH1 0x00
00002f17: DUP1
00002f18: MLOAD
00002f19: PUSH1 0x20
00002f1b: PUSH2 0x4270
00002f1e: DUP4
00002f1f: CODECOPY
00002f20: DUP2
00002f21: MLOAD
00002f22: SWAP2
00002f23: MSTORE
00002f24: PUSH1 0x44
00002f26: DUP3
00002f27: ADD
00002f28: MSTORE
00002f29: SWAP1
00002f2a: MLOAD
00002f2b: SWAP1
00002f2c: DUP2
00002f2d: SWAP1
00002f2e: SUB
00002f2f: PUSH1 0x64
00002f31: ADD
00002f32: SWAP1
00002f33: REVERT
00002f34: JUMPDEST
00002f35: PUSH1 0x01
00002f37: PUSH1 0x01
00002f39: PUSH1 0xa0
00002f3b: SHL
00002f3c: SUB
00002f3d: DUP2
00002f3e: AND
00002f3f: PUSH2 0x2f79
00002f42: JUMPI
00002f43: PUSH1 0x40
00002f45: MLOAD
00002f46: PUSH3 0x461bcd
00002f4a: PUSH1 0xe5
00002f4c: SHL
00002f4d: DUP2
00002f4e: MSTORE
00002f4f: PUSH1 0x04
00002f51: ADD
00002f52: DUP1
00002f53: DUP1
00002f54: PUSH1 0x20
00002f56: ADD
00002f57: DUP3
00002f58: DUP2
00002f59: SUB
00002f5a: DUP3
00002f5b: MSTORE
00002f5c: PUSH1 0x26
00002f5e: DUP2
00002f5f: MSTORE
00002f60: PUSH1 0x20
00002f62: ADD
00002f63: DUP1
00002f64: PUSH2 0x3e66
00002f67: PUSH1 0x26
00002f69: SWAP2
00002f6a: CODECOPY
00002f6b: PUSH1 0x40
00002f6d: ADD
00002f6e: SWAP2
00002f6f: POP
00002f70: POP
00002f71: PUSH1 0x40
00002f73: MLOAD
00002f74: DUP1
00002f75: SWAP2
00002f76: SUB
00002f77: SWAP1
00002f78: REVERT
00002f79: JUMPDEST
00002f7a: PUSH1 0x00
00002f7c: DUP1
00002f7d: SLOAD
00002f7e: PUSH1 0x40
00002f80: MLOAD
00002f81: PUSH1 0x01
00002f83: PUSH1 0x01
00002f85: PUSH1 0xa0
00002f87: SHL
00002f88: SUB
00002f89: DUP1
00002f8a: DUP6
00002f8b: AND
00002f8c: SWAP4
00002f8d: SWAP3
00002f8e: AND
00002f8f: SWAP2
00002f90: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00002fb1: SWAP2
00002fb2: LOG3
00002fb3: PUSH1 0x00
00002fb5: DUP1
00002fb6: SLOAD
00002fb7: PUSH1 0x01
00002fb9: PUSH1 0x01
00002fbb: PUSH1 0xa0
00002fbd: SHL
00002fbe: SUB
00002fbf: NOT
00002fc0: AND
00002fc1: PUSH1 0x01
00002fc3: PUSH1 0x01
00002fc5: PUSH1 0xa0
00002fc7: SHL
00002fc8: SUB
00002fc9: SWAP3
00002fca: SWAP1
00002fcb: SWAP3
00002fcc: AND
00002fcd: SWAP2
00002fce: SWAP1
00002fcf: SWAP2
00002fd0: OR
00002fd1: SWAP1
00002fd2: SSTORE
00002fd3: JUMP
00002fd4: JUMPDEST
00002fd5: PUSH1 0x07
00002fd7: SLOAD
00002fd8: DUP2
00002fd9: JUMP
00002fda: JUMPDEST
00002fdb: PUSH1 0x00
00002fdd: DUP1
00002fde: PUSH2 0x3006
00002fe1: PUSH32 0x0000000000000000000000002cfeaf282fe9ae050b210e7bda65d288c40c6104
00003002: PUSH2 0x1a4d
00003005: JUMP
00003006: JUMPDEST
00003007: SWAP1
00003008: POP
00003009: PUSH2 0x1dae
0000300c: DUP2
0000300d: PUSH2 0x0dd7
00003010: PUSH1 0x64
00003012: PUSH2 0x0dd7
00003015: PUSH1 0x07
00003017: SLOAD
00003018: PUSH2 0x1ac5
0000301b: DUP10
0000301c: PUSH2 0x1ac5
0000301f: PUSH2 0x16b4
00003022: JUMP
00003023: JUMPDEST
00003024: PUSH1 0x00
00003026: DUP3
00003027: DUP3
00003028: ADD
00003029: DUP4
0000302a: DUP2
0000302b: LT
0000302c: ISZERO
0000302d: PUSH2 0x1dae
00003030: JUMPI
00003031: PUSH1 0x40
00003033: DUP1
00003034: MLOAD
00003035: PUSH3 0x461bcd
00003039: PUSH1 0xe5
0000303b: SHL
0000303c: DUP2
0000303d: MSTORE
0000303e: PUSH1 0x20
00003040: PUSH1 0x04
00003042: DUP3
00003043: ADD
00003044: MSTORE
00003045: PUSH1 0x1b
00003047: PUSH1 0x24
00003049: DUP3
0000304a: ADD
0000304b: MSTORE
0000304c: PUSH32 0x536166654d6174683a206164646974696f6e206f766572666c6f770000000000
0000306d: PUSH1 0x44
0000306f: DUP3
00003070: ADD
00003071: MSTORE
00003072: SWAP1
00003073: MLOAD
00003074: SWAP1
00003075: DUP2
00003076: SWAP1
00003077: SUB
00003078: PUSH1 0x64
0000307a: ADD
0000307b: SWAP1
0000307c: REVERT
0000307d: JUMPDEST
0000307e: PUSH1 0x00
00003080: PUSH2 0x3088
00003083: DUP4
00003084: PUSH2 0x364e
00003087: JUMP
00003088: JUMPDEST
00003089: DUP1
0000308a: ISZERO
0000308b: PUSH2 0x1dae
0000308e: JUMPI
0000308f: POP
00003090: PUSH2 0x1dae
00003093: DUP4
00003094: DUP4
00003095: PUSH2 0x3681
00003098: JUMP
00003099: JUMPDEST
0000309a: DUP1
0000309b: SLOAD
0000309c: PUSH1 0x01
0000309e: ADD
0000309f: SWAP1
000030a0: SSTORE
000030a1: JUMP
000030a2: JUMPDEST
000030a3: PUSH1 0x00
000030a5: PUSH2 0x1dae
000030a8: DUP4
000030a9: PUSH1 0x01
000030ab: PUSH1 0x01
000030ad: PUSH1 0xa0
000030af: SHL
000030b0: SUB
000030b1: DUP5
000030b2: AND
000030b3: PUSH2 0x36a7
000030b6: JUMP
000030b7: JUMPDEST
000030b8: PUSH1 0x00
000030ba: DUP3
000030bb: PUSH2 0x30c6
000030be: JUMPI
000030bf: POP
000030c0: PUSH1 0x00
000030c2: PUSH2 0x0b44
000030c5: JUMP
000030c6: JUMPDEST
000030c7: DUP3
000030c8: DUP3
000030c9: MUL
000030ca: DUP3
000030cb: DUP5
000030cc: DUP3
000030cd: DUP2
000030ce: PUSH2 0x30d3
000030d1: JUMPI
000030d2: INVALID
000030d3: JUMPDEST
000030d4: DIV
000030d5: EQ
000030d6: PUSH2 0x1dae
000030d9: JUMPI
000030da: PUSH1 0x40
000030dc: MLOAD
000030dd: PUSH3 0x461bcd
000030e1: PUSH1 0xe5
000030e3: SHL
000030e4: DUP2
000030e5: MSTORE
000030e6: PUSH1 0x04
000030e8: ADD
000030e9: DUP1
000030ea: DUP1
000030eb: PUSH1 0x20
000030ed: ADD
000030ee: DUP3
000030ef: DUP2
000030f0: SUB
000030f1: DUP3
000030f2: MSTORE
000030f3: PUSH1 0x21
000030f5: DUP2
000030f6: MSTORE
000030f7: PUSH1 0x20
000030f9: ADD
000030fa: DUP1
000030fb: PUSH2 0x421c
000030fe: PUSH1 0x21
00003100: SWAP2
00003101: CODECOPY
00003102: PUSH1 0x40
00003104: ADD
00003105: SWAP2
00003106: POP
00003107: POP
00003108: PUSH1 0x40
0000310a: MLOAD
0000310b: DUP1
0000310c: SWAP2
0000310d: SUB
0000310e: SWAP1
0000310f: REVERT
00003110: JUMPDEST
00003111: PUSH1 0x00
00003113: PUSH2 0x1dae
00003116: DUP4
00003117: DUP4
00003118: PUSH1 0x40
0000311a: MLOAD
0000311b: DUP1
0000311c: PUSH1 0x40
0000311e: ADD
0000311f: PUSH1 0x40
00003121: MSTORE
00003122: DUP1
00003123: PUSH1 0x1a
00003125: DUP2
00003126: MSTORE
00003127: PUSH1 0x20
00003129: ADD
0000312a: PUSH32 0x536166654d6174683a206469766973696f6e206279207a65726f000000000000
0000314b: DUP2
0000314c: MSTORE
0000314d: POP
0000314e: PUSH2 0x36f1
00003151: JUMP
00003152: JUMPDEST
00003153: CALLER
00003154: SWAP1
00003155: JUMP
00003156: JUMPDEST
00003157: PUSH1 0x00
00003159: DUP3
0000315a: DUP2
0000315b: MSTORE
0000315c: PUSH1 0x01
0000315e: PUSH1 0x20
00003160: MSTORE
00003161: PUSH1 0x40
00003163: SWAP1
00003164: KECCAK256
00003165: PUSH2 0x316e
00003168: SWAP1
00003169: DUP3
0000316a: PUSH2 0x30a2
0000316d: JUMP
0000316e: JUMPDEST
0000316f: ISZERO
00003170: PUSH2 0x0f74
00003173: JUMPI
00003174: PUSH2 0x317b
00003177: PUSH2 0x3152
0000317a: JUMP
0000317b: JUMPDEST
0000317c: PUSH1 0x01
0000317e: PUSH1 0x01
00003180: PUSH1 0xa0
00003182: SHL
00003183: SUB
00003184: AND
00003185: DUP2
00003186: PUSH1 0x01
00003188: PUSH1 0x01
0000318a: PUSH1 0xa0
0000318c: SHL
0000318d: SUB
0000318e: AND
0000318f: DUP4
00003190: PUSH32 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d
000031b1: PUSH1 0x40
000031b3: MLOAD
000031b4: PUSH1 0x40
000031b6: MLOAD
000031b7: DUP1
000031b8: SWAP2
000031b9: SUB
000031ba: SWAP1
000031bb: LOG4
000031bc: POP
000031bd: POP
000031be: JUMP
000031bf: JUMPDEST
000031c0: PUSH1 0x00
000031c2: PUSH2 0x1dae
000031c5: DUP4
000031c6: DUP4
000031c7: PUSH1 0x40
000031c9: MLOAD
000031ca: DUP1
000031cb: PUSH1 0x40
000031cd: ADD
000031ce: PUSH1 0x40
000031d0: MSTORE
000031d1: DUP1
000031d2: PUSH1 0x1e
000031d4: DUP2
000031d5: MSTORE
000031d6: PUSH1 0x20
000031d8: ADD
000031d9: PUSH32 0x536166654d6174683a207375627472616374696f6e206f766572666c6f770000
000031fa: DUP2
000031fb: MSTORE
000031fc: POP
000031fd: PUSH2 0x3793
00003200: JUMP
00003201: JUMPDEST
00003202: PUSH1 0x00
00003204: DUP3
00003205: DUP2
00003206: MSTORE
00003207: PUSH1 0x01
00003209: PUSH1 0x20
0000320b: MSTORE
0000320c: PUSH1 0x40
0000320e: SWAP1
0000320f: KECCAK256
00003210: PUSH2 0x3219
00003213: SWAP1
00003214: DUP3
00003215: PUSH2 0x37ed
00003218: JUMP
00003219: JUMPDEST
0000321a: ISZERO
0000321b: PUSH2 0x0f74
0000321e: JUMPI
0000321f: PUSH2 0x3226
00003222: PUSH2 0x3152
00003225: JUMP
00003226: JUMPDEST
00003227: PUSH1 0x01
00003229: PUSH1 0x01
0000322b: PUSH1 0xa0
0000322d: SHL
0000322e: SUB
0000322f: AND
00003230: DUP2
00003231: PUSH1 0x01
00003233: PUSH1 0x01
00003235: PUSH1 0xa0
00003237: SHL
00003238: SUB
00003239: AND
0000323a: DUP4
0000323b: PUSH32 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b
0000325c: PUSH1 0x40
0000325e: MLOAD
0000325f: PUSH1 0x40
00003261: MLOAD
00003262: DUP1
00003263: SWAP2
00003264: SUB
00003265: SWAP1
00003266: LOG4
00003267: POP
00003268: POP
00003269: JUMP
0000326a: JUMPDEST
0000326b: PUSH1 0x03
0000326d: SLOAD
0000326e: PUSH1 0xff
00003270: AND
00003271: PUSH2 0x32b8
00003274: JUMPI
00003275: PUSH1 0x40
00003277: DUP1
00003278: MLOAD
00003279: PUSH3 0x461bcd
0000327d: PUSH1 0xe5
0000327f: SHL
00003280: DUP2
00003281: MSTORE
00003282: PUSH1 0x20
00003284: PUSH1 0x04
00003286: DUP3
00003287: ADD
00003288: MSTORE
00003289: PUSH1 0x14
0000328b: PUSH1 0x24
0000328d: DUP3
0000328e: ADD
0000328f: MSTORE
00003290: PUSH20 0x14185d5cd8589b194e881b9bdd081c185d5cd959
000032a5: PUSH1 0x62
000032a7: SHL
000032a8: PUSH1 0x44
000032aa: DUP3
000032ab: ADD
000032ac: MSTORE
000032ad: SWAP1
000032ae: MLOAD
000032af: SWAP1
000032b0: DUP2
000032b1: SWAP1
000032b2: SUB
000032b3: PUSH1 0x64
000032b5: ADD
000032b6: SWAP1
000032b7: REVERT
000032b8: JUMPDEST
000032b9: PUSH1 0x03
000032bb: DUP1
000032bc: SLOAD
000032bd: PUSH1 0xff
000032bf: NOT
000032c0: AND
000032c1: SWAP1
000032c2: SSTORE
000032c3: PUSH32 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa
000032e4: PUSH2 0x32eb
000032e7: PUSH2 0x3152
000032ea: JUMP
000032eb: JUMPDEST
000032ec: PUSH1 0x40
000032ee: DUP1
000032ef: MLOAD
000032f0: PUSH1 0x01
000032f2: PUSH1 0x01
000032f4: PUSH1 0xa0
000032f6: SHL
000032f7: SUB
000032f8: SWAP1
000032f9: SWAP3
000032fa: AND
000032fb: DUP3
000032fc: MSTORE
000032fd: MLOAD
000032fe: SWAP1
000032ff: DUP2
00003300: SWAP1
00003301: SUB
00003302: PUSH1 0x20
00003304: ADD
00003305: SWAP1
00003306: LOG1
00003307: JUMP
00003308: JUMPDEST
00003309: PUSH1 0x00
0000330b: DUP3
0000330c: DUP2
0000330d: MSTORE
0000330e: PUSH1 0x0b
00003310: PUSH1 0x20
00003312: MSTORE
00003313: PUSH1 0x40
00003315: SWAP1
00003316: KECCAK256
00003317: PUSH1 0x02
00003319: DUP2
0000331a: ADD
0000331b: SLOAD
0000331c: DUP3
0000331d: GT
0000331e: ISZERO
0000331f: PUSH2 0x3359
00003322: JUMPI
00003323: PUSH1 0x40
00003325: MLOAD
00003326: PUSH3 0x461bcd
0000332a: PUSH1 0xe5
0000332c: SHL
0000332d: DUP2
0000332e: MSTORE
0000332f: PUSH1 0x04
00003331: ADD
00003332: DUP1
00003333: DUP1
00003334: PUSH1 0x20
00003336: ADD
00003337: DUP3
00003338: DUP2
00003339: SUB
0000333a: DUP3
0000333b: MSTORE
0000333c: PUSH1 0x2c
0000333e: DUP2
0000333f: MSTORE
00003340: PUSH1 0x20
00003342: ADD
00003343: DUP1
00003344: PUSH2 0x4053
00003347: PUSH1 0x2c
00003349: SWAP2
0000334a: CODECOPY
0000334b: PUSH1 0x40
0000334d: ADD
0000334e: SWAP2
0000334f: POP
00003350: POP
00003351: PUSH1 0x40
00003353: MLOAD
00003354: DUP1
00003355: SWAP2
00003356: SUB
00003357: SWAP1
00003358: REVERT
00003359: JUMPDEST
0000335a: PUSH1 0x02
0000335c: DUP2
0000335d: ADD
0000335e: SLOAD
0000335f: PUSH2 0x3368
00003362: SWAP1
00003363: DUP4
00003364: PUSH2 0x31bf
00003367: JUMP
00003368: JUMPDEST
00003369: PUSH1 0x02
0000336b: DUP3
0000336c: ADD
0000336d: SSTORE
0000336e: PUSH1 0x40
00003370: DUP1
00003371: MLOAD
00003372: PUSH4 0x2770a7eb
00003377: PUSH1 0xe2
00003379: SHL
0000337a: DUP2
0000337b: MSTORE
0000337c: CALLER
0000337d: PUSH1 0x04
0000337f: DUP3
00003380: ADD
00003381: MSTORE
00003382: PUSH1 0x24
00003384: DUP2
00003385: ADD
00003386: DUP5
00003387: SWAP1
00003388: MSTORE
00003389: SWAP1
0000338a: MLOAD
0000338b: PUSH1 0x01
0000338d: PUSH1 0x01
0000338f: PUSH1 0xa0
00003391: SHL
00003392: SUB
00003393: PUSH32 0x00000000000000000000000016c52ceece2ed57dad87319d91b5e3637d50afa4
000033b4: AND
000033b5: SWAP2
000033b6: PUSH4 0x9dc29fac
000033bb: SWAP2
000033bc: PUSH1 0x44
000033be: DUP1
000033bf: DUP4
000033c0: ADD
000033c1: SWAP3
000033c2: PUSH1 0x00
000033c4: SWAP3
000033c5: SWAP2
000033c6: SWAP1
000033c7: DUP3
000033c8: SWAP1
000033c9: SUB
000033ca: ADD
000033cb: DUP2
000033cc: DUP4
000033cd: DUP8
000033ce: DUP1
000033cf: EXTCODESIZE
000033d0: ISZERO
000033d1: DUP1
000033d2: ISZERO
000033d3: PUSH2 0x33db
000033d6: JUMPI
000033d7: PUSH1 0x00
000033d9: DUP1
000033da: REVERT
000033db: JUMPDEST
000033dc: POP
000033dd: GAS
000033de: CALL
000033df: ISZERO
000033e0: DUP1
000033e1: ISZERO
000033e2: PUSH2 0x33ef
000033e5: JUMPI
000033e6: RETURNDATASIZE
000033e7: PUSH1 0x00
000033e9: DUP1
000033ea: RETURNDATACOPY
000033eb: RETURNDATASIZE
000033ec: PUSH1 0x00
000033ee: REVERT
000033ef: JUMPDEST
000033f0: POP
000033f1: POP
000033f2: POP
000033f3: POP
000033f4: POP
000033f5: POP
000033f6: POP
000033f7: JUMP
000033f8: JUMPDEST
000033f9: PUSH1 0x40
000033fb: DUP1
000033fc: MLOAD
000033fd: PUSH1 0x00
000033ff: DUP1
00003400: DUP3
00003401: MSTORE
00003402: PUSH1 0x20
00003404: DUP3
00003405: ADD
00003406: SWAP1
00003407: SWAP3
00003408: MSTORE
00003409: PUSH1 0x01
0000340b: PUSH1 0x01
0000340d: PUSH1 0xa0
0000340f: SHL
00003410: SUB
00003411: DUP5
00003412: AND
00003413: SWAP1
00003414: DUP4
00003415: SWAP1
00003416: PUSH1 0x40
00003418: MLOAD
00003419: DUP1
0000341a: DUP3
0000341b: DUP1
0000341c: MLOAD
0000341d: SWAP1
0000341e: PUSH1 0x20
00003420: ADD
00003421: SWAP1
00003422: DUP1
00003423: DUP4
00003424: DUP4
00003425: JUMPDEST
00003426: PUSH1 0x20
00003428: DUP4
00003429: LT
0000342a: PUSH2 0x3444
0000342d: JUMPI
0000342e: DUP1
0000342f: MLOAD
00003430: DUP3
00003431: MSTORE
00003432: PUSH1 0x1f
00003434: NOT
00003435: SWAP1
00003436: SWAP3
00003437: ADD
00003438: SWAP2
00003439: PUSH1 0x20
0000343b: SWAP2
0000343c: DUP3
0000343d: ADD
0000343e: SWAP2
0000343f: ADD
00003440: PUSH2 0x3425
00003443: JUMP
00003444: JUMPDEST
00003445: PUSH1 0x01
00003447: DUP4
00003448: PUSH1 0x20
0000344a: SUB
0000344b: PUSH2 0x0100
0000344e: EXP
0000344f: SUB
00003450: DUP1
00003451: NOT
00003452: DUP3
00003453: MLOAD
00003454: AND
00003455: DUP2
00003456: DUP5
00003457: MLOAD
00003458: AND
00003459: DUP1
0000345a: DUP3
0000345b: OR
0000345c: DUP6
0000345d: MSTORE
0000345e: POP
0000345f: POP
00003460: POP
00003461: POP
00003462: POP
00003463: POP
00003464: SWAP1
00003465: POP
00003466: ADD
00003467: SWAP2
00003468: POP
00003469: POP
0000346a: PUSH1 0x00
0000346c: PUSH1 0x40
0000346e: MLOAD
0000346f: DUP1
00003470: DUP4
00003471: SUB
00003472: DUP2
00003473: DUP6
00003474: DUP8
00003475: GAS
00003476: CALL
00003477: SWAP3
00003478: POP
00003479: POP
0000347a: POP
0000347b: RETURNDATASIZE
0000347c: DUP1
0000347d: PUSH1 0x00
0000347f: DUP2
00003480: EQ
00003481: PUSH2 0x34a6
00003484: JUMPI
00003485: PUSH1 0x40
00003487: MLOAD
00003488: SWAP2
00003489: POP
0000348a: PUSH1 0x1f
0000348c: NOT
0000348d: PUSH1 0x3f
0000348f: RETURNDATASIZE
00003490: ADD
00003491: AND
00003492: DUP3
00003493: ADD
00003494: PUSH1 0x40
00003496: MSTORE
00003497: RETURNDATASIZE
00003498: DUP3
00003499: MSTORE
0000349a: RETURNDATASIZE
0000349b: PUSH1 0x00
0000349d: PUSH1 0x20
0000349f: DUP5
000034a0: ADD
000034a1: RETURNDATACOPY
000034a2: PUSH2 0x34ab
000034a5: JUMP
000034a6: JUMPDEST
000034a7: PUSH1 0x60
000034a9: SWAP2
000034aa: POP
000034ab: JUMPDEST
000034ac: POP
000034ad: POP
000034ae: SWAP1
000034af: POP
000034b0: DUP1
000034b1: PUSH2 0x34eb
000034b4: JUMPI
000034b5: PUSH1 0x40
000034b7: MLOAD
000034b8: PUSH3 0x461bcd
000034bc: PUSH1 0xe5
000034be: SHL
000034bf: DUP2
000034c0: MSTORE
000034c1: PUSH1 0x04
000034c3: ADD
000034c4: DUP1
000034c5: DUP1
000034c6: PUSH1 0x20
000034c8: ADD
000034c9: DUP3
000034ca: DUP2
000034cb: SUB
000034cc: DUP3
000034cd: MSTORE
000034ce: PUSH1 0x35
000034d0: DUP2
000034d1: MSTORE
000034d2: PUSH1 0x20
000034d4: ADD
000034d5: DUP1
000034d6: PUSH2 0x41e7
000034d9: PUSH1 0x35
000034db: SWAP2
000034dc: CODECOPY
000034dd: PUSH1 0x40
000034df: ADD
000034e0: SWAP2
000034e1: POP
000034e2: POP
000034e3: PUSH1 0x40
000034e5: MLOAD
000034e6: DUP1
000034e7: SWAP2
000034e8: SUB
000034e9: SWAP1
000034ea: REVERT
000034eb: JUMPDEST
000034ec: POP
000034ed: POP
000034ee: POP
000034ef: JUMP
000034f0: JUMPDEST
000034f1: SLOAD
000034f2: SWAP1
000034f3: JUMP
000034f4: JUMPDEST
000034f5: PUSH1 0x00
000034f7: DUP1
000034f8: DUP3
000034f9: SLT
000034fa: ISZERO
000034fb: PUSH2 0x354b
000034fe: JUMPI
000034ff: PUSH1 0x40
00003501: DUP1
00003502: MLOAD
00003503: PUSH3 0x461bcd
00003507: PUSH1 0xe5
00003509: SHL
0000350a: DUP2
0000350b: MSTORE
0000350c: PUSH1 0x20
0000350e: PUSH1 0x04
00003510: DUP3
00003511: ADD
00003512: DUP2
00003513: SWAP1
00003514: MSTORE
00003515: PUSH1 0x24
00003517: DUP3
00003518: ADD
00003519: MSTORE
0000351a: PUSH32 0x53616665436173743a2076616c7565206d75737420626520706f736974697665
0000353b: PUSH1 0x44
0000353d: DUP3
0000353e: ADD
0000353f: MSTORE
00003540: SWAP1
00003541: MLOAD
00003542: SWAP1
00003543: DUP2
00003544: SWAP1
00003545: SUB
00003546: PUSH1 0x64
00003548: ADD
00003549: SWAP1
0000354a: REVERT
0000354b: JUMPDEST
0000354c: POP
0000354d: SWAP1
0000354e: JUMP
0000354f: JUMPDEST
00003550: PUSH1 0x03
00003552: SLOAD
00003553: PUSH1 0xff
00003555: AND
00003556: ISZERO
00003557: PUSH2 0x359a
0000355a: JUMPI
0000355b: PUSH1 0x40
0000355d: DUP1
0000355e: MLOAD
0000355f: PUSH3 0x461bcd
00003563: PUSH1 0xe5
00003565: SHL
00003566: DUP2
00003567: MSTORE
00003568: PUSH1 0x20
0000356a: PUSH1 0x04
0000356c: DUP3
0000356d: ADD
0000356e: MSTORE
0000356f: PUSH1 0x10
00003571: PUSH1 0x24
00003573: DUP3
00003574: ADD
00003575: MSTORE
00003576: PUSH16 0x14185d5cd8589b194e881c185d5cd959
00003587: PUSH1 0x82
00003589: SHL
0000358a: PUSH1 0x44
0000358c: DUP3
0000358d: ADD
0000358e: MSTORE
0000358f: SWAP1
00003590: MLOAD
00003591: SWAP1
00003592: DUP2
00003593: SWAP1
00003594: SUB
00003595: PUSH1 0x64
00003597: ADD
00003598: SWAP1
00003599: REVERT
0000359a: JUMPDEST
0000359b: PUSH1 0x03
0000359d: DUP1
0000359e: SLOAD
0000359f: PUSH1 0xff
000035a1: NOT
000035a2: AND
000035a3: PUSH1 0x01
000035a5: OR
000035a6: SWAP1
000035a7: SSTORE
000035a8: PUSH32 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258
000035c9: PUSH2 0x32eb
000035cc: PUSH2 0x3152
000035cf: JUMP
000035d0: JUMPDEST
000035d1: PUSH1 0x40
000035d3: DUP1
000035d4: MLOAD
000035d5: PUSH1 0x01
000035d7: PUSH1 0x01
000035d9: PUSH1 0xa0
000035db: SHL
000035dc: SUB
000035dd: DUP5
000035de: AND
000035df: PUSH1 0x24
000035e1: DUP3
000035e2: ADD
000035e3: MSTORE
000035e4: PUSH1 0x44
000035e6: DUP1
000035e7: DUP3
000035e8: ADD
000035e9: DUP5
000035ea: SWAP1
000035eb: MSTORE
000035ec: DUP3
000035ed: MLOAD
000035ee: DUP1
000035ef: DUP4
000035f0: SUB
000035f1: SWAP1
000035f2: SWAP2
000035f3: ADD
000035f4: DUP2
000035f5: MSTORE
000035f6: PUSH1 0x64
000035f8: SWAP1
000035f9: SWAP2
000035fa: ADD
000035fb: SWAP1
000035fc: SWAP2
000035fd: MSTORE
000035fe: PUSH1 0x20
00003600: DUP2
00003601: ADD
00003602: DUP1
00003603: MLOAD
00003604: PUSH1 0x01
00003606: PUSH1 0x01
00003608: PUSH1 0xe0
0000360a: SHL
0000360b: SUB
0000360c: AND
0000360d: PUSH4 0xa9059cbb
00003612: PUSH1 0xe0
00003614: SHL
00003615: OR
00003616: SWAP1
00003617: MSTORE
00003618: PUSH2 0x34eb
0000361b: SWAP1
0000361c: DUP5
0000361d: SWAP1
0000361e: PUSH2 0x3802
00003621: JUMP
00003622: JUMPDEST
00003623: PUSH1 0x00
00003625: PUSH2 0x1dae
00003628: DUP4
00003629: DUP4
0000362a: PUSH2 0x38b3
0000362d: JUMP
0000362e: JUMPDEST
0000362f: PUSH1 0x00
00003631: PUSH2 0x1dae
00003634: DUP4
00003635: PUSH1 0x01
00003637: PUSH1 0x01
00003639: PUSH1 0xa0
0000363b: SHL
0000363c: SUB
0000363d: DUP5
0000363e: AND
0000363f: PUSH2 0x3917
00003642: JUMP
00003643: JUMPDEST
00003644: PUSH1 0x00
00003646: PUSH2 0x0b44
00003649: DUP3
0000364a: PUSH2 0x34f0
0000364d: JUMP
0000364e: JUMPDEST
0000364f: PUSH1 0x00
00003651: PUSH2 0x3661
00003654: DUP3
00003655: PUSH4 0x01ffc9a7
0000365a: PUSH1 0xe0
0000365c: SHL
0000365d: PUSH2 0x3681
00003660: JUMP
00003661: JUMPDEST
00003662: DUP1
00003663: ISZERO
00003664: PUSH2 0x0b44
00003667: JUMPI
00003668: POP
00003669: PUSH2 0x367a
0000366c: DUP3
0000366d: PUSH1 0x01
0000366f: PUSH1 0x01
00003671: PUSH1 0xe0
00003673: SHL
00003674: SUB
00003675: NOT
00003676: PUSH2 0x3681
00003679: JUMP
0000367a: JUMPDEST
0000367b: ISZERO
0000367c: SWAP3
0000367d: SWAP2
0000367e: POP
0000367f: POP
00003680: JUMP
00003681: JUMPDEST
00003682: PUSH1 0x00
00003684: DUP1
00003685: PUSH1 0x00
00003687: PUSH2 0x3690
0000368a: DUP6
0000368b: DUP6
0000368c: PUSH2 0x392f
0000368f: JUMP
00003690: JUMPDEST
00003691: SWAP2
00003692: POP
00003693: SWAP2
00003694: POP
00003695: DUP2
00003696: DUP1
00003697: ISZERO
00003698: PUSH2 0x369e
0000369b: JUMPI
0000369c: POP
0000369d: DUP1
0000369e: JUMPDEST
0000369f: SWAP6
000036a0: SWAP5
000036a1: POP
000036a2: POP
000036a3: POP
000036a4: POP
000036a5: POP
000036a6: JUMP
000036a7: JUMPDEST
000036a8: PUSH1 0x00
000036aa: PUSH2 0x36b3
000036ad: DUP4
000036ae: DUP4
000036af: PUSH2 0x3917
000036b2: JUMP
000036b3: JUMPDEST
000036b4: PUSH2 0x36e9
000036b7: JUMPI
000036b8: POP
000036b9: DUP2
000036ba: SLOAD
000036bb: PUSH1 0x01
000036bd: DUP2
000036be: DUP2
000036bf: ADD
000036c0: DUP5
000036c1: SSTORE
000036c2: PUSH1 0x00
000036c4: DUP5
000036c5: DUP2
000036c6: MSTORE
000036c7: PUSH1 0x20
000036c9: DUP1
000036ca: DUP3
000036cb: KECCAK256
000036cc: SWAP1
000036cd: SWAP4
000036ce: ADD
000036cf: DUP5
000036d0: SWAP1
000036d1: SSTORE
000036d2: DUP5
000036d3: SLOAD
000036d4: DUP5
000036d5: DUP3
000036d6: MSTORE
000036d7: DUP3
000036d8: DUP7
000036d9: ADD
000036da: SWAP1
000036db: SWAP4
000036dc: MSTORE
000036dd: PUSH1 0x40
000036df: SWAP1
000036e0: KECCAK256
000036e1: SWAP2
000036e2: SWAP1
000036e3: SWAP2
000036e4: SSTORE
000036e5: PUSH2 0x0b44
000036e8: JUMP
000036e9: JUMPDEST
000036ea: POP
000036eb: PUSH1 0x00
000036ed: PUSH2 0x0b44
000036f0: JUMP
000036f1: JUMPDEST
000036f2: PUSH1 0x00
000036f4: DUP2
000036f5: DUP4
000036f6: PUSH2 0x377d
000036f9: JUMPI
000036fa: PUSH1 0x40
000036fc: MLOAD
000036fd: PUSH3 0x461bcd
00003701: PUSH1 0xe5
00003703: SHL
00003704: DUP2
00003705: MSTORE
00003706: PUSH1 0x04
00003708: ADD
00003709: DUP1
0000370a: DUP1
0000370b: PUSH1 0x20
0000370d: ADD
0000370e: DUP3
0000370f: DUP2
00003710: SUB
00003711: DUP3
00003712: MSTORE
00003713: DUP4
00003714: DUP2
00003715: DUP2
00003716: MLOAD
00003717: DUP2
00003718: MSTORE
00003719: PUSH1 0x20
0000371b: ADD
0000371c: SWAP2
0000371d: POP
0000371e: DUP1
0000371f: MLOAD
00003720: SWAP1
00003721: PUSH1 0x20
00003723: ADD
00003724: SWAP1
00003725: DUP1
00003726: DUP4
00003727: DUP4
00003728: PUSH1 0x00
0000372a: JUMPDEST
0000372b: DUP4
0000372c: DUP2
0000372d: LT
0000372e: ISZERO
0000372f: PUSH2 0x3742
00003732: JUMPI
00003733: DUP2
00003734: DUP2
00003735: ADD
00003736: MLOAD
00003737: DUP4
00003738: DUP3
00003739: ADD
0000373a: MSTORE
0000373b: PUSH1 0x20
0000373d: ADD
0000373e: PUSH2 0x372a
00003741: JUMP
00003742: JUMPDEST
00003743: POP
00003744: POP
00003745: POP
00003746: POP
00003747: SWAP1
00003748: POP
00003749: SWAP1
0000374a: DUP2
0000374b: ADD
0000374c: SWAP1
0000374d: PUSH1 0x1f
0000374f: AND
00003750: DUP1
00003751: ISZERO
00003752: PUSH2 0x376f
00003755: JUMPI
00003756: DUP1
00003757: DUP3
00003758: SUB
00003759: DUP1
0000375a: MLOAD
0000375b: PUSH1 0x01
0000375d: DUP4
0000375e: PUSH1 0x20
00003760: SUB
00003761: PUSH2 0x0100
00003764: EXP
00003765: SUB
00003766: NOT
00003767: AND
00003768: DUP2
00003769: MSTORE
0000376a: PUSH1 0x20
0000376c: ADD
0000376d: SWAP2
0000376e: POP
0000376f: JUMPDEST
00003770: POP
00003771: SWAP3
00003772: POP
00003773: POP
00003774: POP
00003775: PUSH1 0x40
00003777: MLOAD
00003778: DUP1
00003779: SWAP2
0000377a: SUB
0000377b: SWAP1
0000377c: REVERT
0000377d: JUMPDEST
0000377e: POP
0000377f: PUSH1 0x00
00003781: DUP4
00003782: DUP6
00003783: DUP2
00003784: PUSH2 0x3789
00003787: JUMPI
00003788: INVALID
00003789: JUMPDEST
0000378a: DIV
0000378b: SWAP6
0000378c: SWAP5
0000378d: POP
0000378e: POP
0000378f: POP
00003790: POP
00003791: POP
00003792: JUMP
00003793: JUMPDEST
00003794: PUSH1 0x00
00003796: DUP2
00003797: DUP5
00003798: DUP5
00003799: GT
0000379a: ISZERO
0000379b: PUSH2 0x37e5
0000379e: JUMPI
0000379f: PUSH1 0x40
000037a1: MLOAD
000037a2: PUSH3 0x461bcd
000037a6: PUSH1 0xe5
000037a8: SHL
000037a9: DUP2
000037aa: MSTORE
000037ab: PUSH1 0x20
000037ad: PUSH1 0x04
000037af: DUP3
000037b0: ADD
000037b1: DUP2
000037b2: DUP2
000037b3: MSTORE
000037b4: DUP4
000037b5: MLOAD
000037b6: PUSH1 0x24
000037b8: DUP5
000037b9: ADD
000037ba: MSTORE
000037bb: DUP4
000037bc: MLOAD
000037bd: SWAP1
000037be: SWAP3
000037bf: DUP4
000037c0: SWAP3
000037c1: PUSH1 0x44
000037c3: SWAP1
000037c4: SWAP2
000037c5: ADD
000037c6: SWAP2
000037c7: SWAP1
000037c8: DUP6
000037c9: ADD
000037ca: SWAP1
000037cb: DUP1
000037cc: DUP4
000037cd: DUP4
000037ce: PUSH1 0x00
000037d0: DUP4
000037d1: ISZERO
000037d2: PUSH2 0x3742
000037d5: JUMPI
000037d6: DUP2
000037d7: DUP2
000037d8: ADD
000037d9: MLOAD
000037da: DUP4
000037db: DUP3
000037dc: ADD
000037dd: MSTORE
000037de: PUSH1 0x20
000037e0: ADD
000037e1: PUSH2 0x372a
000037e4: JUMP
000037e5: JUMPDEST
000037e6: POP
000037e7: POP
000037e8: POP
000037e9: SWAP1
000037ea: SUB
000037eb: SWAP1
000037ec: JUMP
000037ed: JUMPDEST
000037ee: PUSH1 0x00
000037f0: PUSH2 0x1dae
000037f3: DUP4
000037f4: PUSH1 0x01
000037f6: PUSH1 0x01
000037f8: PUSH1 0xa0
000037fa: SHL
000037fb: SUB
000037fc: DUP5
000037fd: AND
000037fe: PUSH2 0x3a63
00003801: JUMP
00003802: JUMPDEST
00003803: PUSH1 0x60
00003805: PUSH2 0x3857
00003808: DUP3
00003809: PUSH1 0x40
0000380b: MLOAD
0000380c: DUP1
0000380d: PUSH1 0x40
0000380f: ADD
00003810: PUSH1 0x40
00003812: MSTORE
00003813: DUP1
00003814: PUSH1 0x20
00003816: DUP2
00003817: MSTORE
00003818: PUSH1 0x20
0000381a: ADD
0000381b: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
0000383c: DUP2
0000383d: MSTORE
0000383e: POP
0000383f: DUP6
00003840: PUSH1 0x01
00003842: PUSH1 0x01
00003844: PUSH1 0xa0
00003846: SHL
00003847: SUB
00003848: AND
00003849: PUSH2 0x3b29
0000384c: SWAP1
0000384d: SWAP3
0000384e: SWAP2
0000384f: SWAP1
00003850: PUSH4 0xffffffff
00003855: AND
00003856: JUMP
00003857: JUMPDEST
00003858: DUP1
00003859: MLOAD
0000385a: SWAP1
0000385b: SWAP2
0000385c: POP
0000385d: ISZERO
0000385e: PUSH2 0x34eb
00003861: JUMPI
00003862: DUP1
00003863: DUP1
00003864: PUSH1 0x20
00003866: ADD
00003867: SWAP1
00003868: MLOAD
00003869: PUSH1 0x20
0000386b: DUP2
0000386c: LT
0000386d: ISZERO
0000386e: PUSH2 0x3876
00003871: JUMPI
00003872: PUSH1 0x00
00003874: DUP1
00003875: REVERT
00003876: JUMPDEST
00003877: POP
00003878: MLOAD
00003879: PUSH2 0x34eb
0000387c: JUMPI
0000387d: PUSH1 0x40
0000387f: MLOAD
00003880: PUSH3 0x461bcd
00003884: PUSH1 0xe5
00003886: SHL
00003887: DUP2
00003888: MSTORE
00003889: PUSH1 0x04
0000388b: ADD
0000388c: DUP1
0000388d: DUP1
0000388e: PUSH1 0x20
00003890: ADD
00003891: DUP3
00003892: DUP2
00003893: SUB
00003894: DUP3
00003895: MSTORE
00003896: PUSH1 0x2a
00003898: DUP2
00003899: MSTORE
0000389a: PUSH1 0x20
0000389c: ADD
0000389d: DUP1
0000389e: PUSH2 0x4361
000038a1: PUSH1 0x2a
000038a3: SWAP2
000038a4: CODECOPY
000038a5: PUSH1 0x40
000038a7: ADD
000038a8: SWAP2
000038a9: POP
000038aa: POP
000038ab: PUSH1 0x40
000038ad: MLOAD
000038ae: DUP1
000038af: SWAP2
000038b0: SUB
000038b1: SWAP1
000038b2: REVERT
000038b3: JUMPDEST
000038b4: DUP2
000038b5: SLOAD
000038b6: PUSH1 0x00
000038b8: SWAP1
000038b9: DUP3
000038ba: LT
000038bb: PUSH2 0x38f5
000038be: JUMPI
000038bf: PUSH1 0x40
000038c1: MLOAD
000038c2: PUSH3 0x461bcd
000038c6: PUSH1 0xe5
000038c8: SHL
000038c9: DUP2
000038ca: MSTORE
000038cb: PUSH1 0x04
000038cd: ADD
000038ce: DUP1
000038cf: DUP1
000038d0: PUSH1 0x20
000038d2: ADD
000038d3: DUP3
000038d4: DUP2
000038d5: SUB
000038d6: DUP3
000038d7: MSTORE
000038d8: PUSH1 0x22
000038da: DUP2
000038db: MSTORE
000038dc: PUSH1 0x20
000038de: ADD
000038df: DUP1
000038e0: PUSH2 0x3d6a
000038e3: PUSH1 0x22
000038e5: SWAP2
000038e6: CODECOPY
000038e7: PUSH1 0x40
000038e9: ADD
000038ea: SWAP2
000038eb: POP
000038ec: POP
000038ed: PUSH1 0x40
000038ef: MLOAD
000038f0: DUP1
000038f1: SWAP2
000038f2: SUB
000038f3: SWAP1
000038f4: REVERT
000038f5: JUMPDEST
000038f6: DUP3
000038f7: PUSH1 0x00
000038f9: ADD
000038fa: DUP3
000038fb: DUP2
000038fc: SLOAD
000038fd: DUP2
000038fe: LT
000038ff: PUSH2 0x3904
00003902: JUMPI
00003903: INVALID
00003904: JUMPDEST
00003905: SWAP1
00003906: PUSH1 0x00
00003908: MSTORE
00003909: PUSH1 0x20
0000390b: PUSH1 0x00
0000390d: KECCAK256
0000390e: ADD
0000390f: SLOAD
00003910: SWAP1
00003911: POP
00003912: SWAP3
00003913: SWAP2
00003914: POP
00003915: POP
00003916: JUMP
00003917: JUMPDEST
00003918: PUSH1 0x00
0000391a: SWAP1
0000391b: DUP2
0000391c: MSTORE
0000391d: PUSH1 0x01
0000391f: SWAP2
00003920: SWAP1
00003921: SWAP2
00003922: ADD
00003923: PUSH1 0x20
00003925: MSTORE
00003926: PUSH1 0x40
00003928: SWAP1
00003929: KECCAK256
0000392a: SLOAD
0000392b: ISZERO
0000392c: ISZERO
0000392d: SWAP1
0000392e: JUMP
0000392f: JUMPDEST
00003930: PUSH1 0x40
00003932: DUP1
00003933: MLOAD
00003934: PUSH1 0x01
00003936: PUSH1 0x01
00003938: PUSH1 0xe0
0000393a: SHL
0000393b: SUB
0000393c: NOT
0000393d: DUP4
0000393e: AND
0000393f: PUSH1 0x24
00003941: DUP1
00003942: DUP4
00003943: ADD
00003944: SWAP2
00003945: SWAP1
00003946: SWAP2
00003947: MSTORE
00003948: DUP3
00003949: MLOAD
0000394a: DUP1
0000394b: DUP4
0000394c: SUB
0000394d: SWAP1
0000394e: SWAP2
0000394f: ADD
00003950: DUP2
00003951: MSTORE
00003952: PUSH1 0x44
00003954: SWAP1
00003955: SWAP2
00003956: ADD
00003957: DUP3
00003958: MSTORE
00003959: PUSH1 0x20
0000395b: DUP2
0000395c: ADD
0000395d: DUP1
0000395e: MLOAD
0000395f: PUSH1 0x01
00003961: PUSH1 0x01
00003963: PUSH1 0xe0
00003965: SHL
00003966: SUB
00003967: AND
00003968: PUSH4 0x01ffc9a7
0000396d: PUSH1 0xe0
0000396f: SHL
00003970: OR
00003971: DUP2
00003972: MSTORE
00003973: SWAP2
00003974: MLOAD
00003975: DUP2
00003976: MLOAD
00003977: PUSH1 0x00
00003979: SWAP4
0000397a: DUP5
0000397b: SWAP4
0000397c: SWAP3
0000397d: DUP5
0000397e: SWAP3
0000397f: PUSH1 0x60
00003981: SWAP3
00003982: PUSH1 0x01
00003984: PUSH1 0x01
00003986: PUSH1 0xa0
00003988: SHL
00003989: SUB
0000398a: DUP11
0000398b: AND
0000398c: SWAP3
0000398d: PUSH2 0x7530
00003990: SWAP3
00003991: DUP8
00003992: SWAP3
00003993: DUP3
00003994: SWAP2
00003995: DUP1
00003996: DUP4
00003997: DUP4
00003998: JUMPDEST
00003999: PUSH1 0x20
0000399b: DUP4
0000399c: LT
0000399d: PUSH2 0x39b7
000039a0: JUMPI
000039a1: DUP1
000039a2: MLOAD
000039a3: DUP3
000039a4: MSTORE
000039a5: PUSH1 0x1f
000039a7: NOT
000039a8: SWAP1
000039a9: SWAP3
000039aa: ADD
000039ab: SWAP2
000039ac: PUSH1 0x20
000039ae: SWAP2
000039af: DUP3
000039b0: ADD
000039b1: SWAP2
000039b2: ADD
000039b3: PUSH2 0x3998
000039b6: JUMP
000039b7: JUMPDEST
000039b8: PUSH1 0x01
000039ba: DUP4
000039bb: PUSH1 0x20
000039bd: SUB
000039be: PUSH2 0x0100
000039c1: EXP
000039c2: SUB
000039c3: DUP1
000039c4: NOT
000039c5: DUP3
000039c6: MLOAD
000039c7: AND
000039c8: DUP2
000039c9: DUP5
000039ca: MLOAD
000039cb: AND
000039cc: DUP1
000039cd: DUP3
000039ce: OR
000039cf: DUP6
000039d0: MSTORE
000039d1: POP
000039d2: POP
000039d3: POP
000039d4: POP
000039d5: POP
000039d6: POP
000039d7: SWAP1
000039d8: POP
000039d9: ADD
000039da: SWAP2
000039db: POP
000039dc: POP
000039dd: PUSH1 0x00
000039df: PUSH1 0x40
000039e1: MLOAD
000039e2: DUP1
000039e3: DUP4
000039e4: SUB
000039e5: DUP2
000039e6: DUP7
000039e7: DUP7
000039e8: STATICCALL
000039e9: SWAP3
000039ea: POP
000039eb: POP
000039ec: POP
000039ed: RETURNDATASIZE
000039ee: DUP1
000039ef: PUSH1 0x00
000039f1: DUP2
000039f2: EQ
000039f3: PUSH2 0x3a18
000039f6: JUMPI
000039f7: PUSH1 0x40
000039f9: MLOAD
000039fa: SWAP2
000039fb: POP
000039fc: PUSH1 0x1f
000039fe: NOT
000039ff: PUSH1 0x3f
00003a01: RETURNDATASIZE
00003a02: ADD
00003a03: AND
00003a04: DUP3
00003a05: ADD
00003a06: PUSH1 0x40
00003a08: MSTORE
00003a09: RETURNDATASIZE
00003a0a: DUP3
00003a0b: MSTORE
00003a0c: RETURNDATASIZE
00003a0d: PUSH1 0x00
00003a0f: PUSH1 0x20
00003a11: DUP5
00003a12: ADD
00003a13: RETURNDATACOPY
00003a14: PUSH2 0x3a1d
00003a17: JUMP
00003a18: JUMPDEST
00003a19: PUSH1 0x60
00003a1b: SWAP2
00003a1c: POP
00003a1d: JUMPDEST
00003a1e: POP
00003a1f: SWAP2
00003a20: POP
00003a21: SWAP2
00003a22: POP
00003a23: PUSH1 0x20
00003a25: DUP2
00003a26: MLOAD
00003a27: LT
00003a28: ISZERO
00003a29: PUSH2 0x3a3b
00003a2c: JUMPI
00003a2d: PUSH1 0x00
00003a2f: DUP1
00003a30: SWAP5
00003a31: POP
00003a32: SWAP5
00003a33: POP
00003a34: POP
00003a35: POP
00003a36: POP
00003a37: PUSH2 0x3a5c
00003a3a: JUMP
00003a3b: JUMPDEST
00003a3c: DUP2
00003a3d: DUP2
00003a3e: DUP1
00003a3f: PUSH1 0x20
00003a41: ADD
00003a42: SWAP1
00003a43: MLOAD
00003a44: PUSH1 0x20
00003a46: DUP2
00003a47: LT
00003a48: ISZERO
00003a49: PUSH2 0x3a51
00003a4c: JUMPI
00003a4d: PUSH1 0x00
00003a4f: DUP1
00003a50: REVERT
00003a51: JUMPDEST
00003a52: POP
00003a53: MLOAD
00003a54: SWAP1
00003a55: SWAP6
00003a56: POP
00003a57: SWAP4
00003a58: POP
00003a59: POP
00003a5a: POP
00003a5b: POP
00003a5c: JUMPDEST
00003a5d: SWAP3
00003a5e: POP
00003a5f: SWAP3
00003a60: SWAP1
00003a61: POP
00003a62: JUMP
00003a63: JUMPDEST
00003a64: PUSH1 0x00
00003a66: DUP2
00003a67: DUP2
00003a68: MSTORE
00003a69: PUSH1 0x01
00003a6b: DUP4
00003a6c: ADD
00003a6d: PUSH1 0x20
00003a6f: MSTORE
00003a70: PUSH1 0x40
00003a72: DUP2
00003a73: KECCAK256
00003a74: SLOAD
00003a75: DUP1
00003a76: ISZERO
00003a77: PUSH2 0x3b1f
00003a7a: JUMPI
00003a7b: DUP4
00003a7c: SLOAD
00003a7d: PUSH1 0x00
00003a7f: NOT
00003a80: DUP1
00003a81: DUP4
00003a82: ADD
00003a83: SWAP2
00003a84: SWAP1
00003a85: DUP2
00003a86: ADD
00003a87: SWAP1
00003a88: PUSH1 0x00
00003a8a: SWAP1
00003a8b: DUP8
00003a8c: SWAP1
00003a8d: DUP4
00003a8e: SWAP1
00003a8f: DUP2
00003a90: LT
00003a91: PUSH2 0x3a96
00003a94: JUMPI
00003a95: INVALID
00003a96: JUMPDEST
00003a97: SWAP1
00003a98: PUSH1 0x00
00003a9a: MSTORE
00003a9b: PUSH1 0x20
00003a9d: PUSH1 0x00
00003a9f: KECCAK256
00003aa0: ADD
00003aa1: SLOAD
00003aa2: SWAP1
00003aa3: POP
00003aa4: DUP1
00003aa5: DUP8
00003aa6: PUSH1 0x00
00003aa8: ADD
00003aa9: DUP5
00003aaa: DUP2
00003aab: SLOAD
00003aac: DUP2
00003aad: LT
00003aae: PUSH2 0x3ab3
00003ab1: JUMPI
00003ab2: INVALID
00003ab3: JUMPDEST
00003ab4: PUSH1 0x00
00003ab6: SWAP2
00003ab7: DUP3
00003ab8: MSTORE
00003ab9: PUSH1 0x20
00003abb: DUP1
00003abc: DUP4
00003abd: KECCAK256
00003abe: SWAP1
00003abf: SWAP2
00003ac0: ADD
00003ac1: SWAP3
00003ac2: SWAP1
00003ac3: SWAP3
00003ac4: SSTORE
00003ac5: DUP3
00003ac6: DUP2
00003ac7: MSTORE
00003ac8: PUSH1 0x01
00003aca: DUP10
00003acb: DUP2
00003acc: ADD
00003acd: SWAP1
00003ace: SWAP3
00003acf: MSTORE
00003ad0: PUSH1 0x40
00003ad2: SWAP1
00003ad3: KECCAK256
00003ad4: SWAP1
00003ad5: DUP5
00003ad6: ADD
00003ad7: SWAP1
00003ad8: SSTORE
00003ad9: DUP7
00003ada: SLOAD
00003adb: DUP8
00003adc: SWAP1
00003add: DUP1
00003ade: PUSH2 0x3ae3
00003ae1: JUMPI
00003ae2: INVALID
00003ae3: JUMPDEST
00003ae4: PUSH1 0x01
00003ae6: SWAP1
00003ae7: SUB
00003ae8: DUP2
00003ae9: DUP2
00003aea: SWAP1
00003aeb: PUSH1 0x00
00003aed: MSTORE
00003aee: PUSH1 0x20
00003af0: PUSH1 0x00
00003af2: KECCAK256
00003af3: ADD
00003af4: PUSH1 0x00
00003af6: SWAP1
00003af7: SSTORE
00003af8: SWAP1
00003af9: SSTORE
00003afa: DUP7
00003afb: PUSH1 0x01
00003afd: ADD
00003afe: PUSH1 0x00
00003b00: DUP8
00003b01: DUP2
00003b02: MSTORE
00003b03: PUSH1 0x20
00003b05: ADD
00003b06: SWAP1
00003b07: DUP2
00003b08: MSTORE
00003b09: PUSH1 0x20
00003b0b: ADD
00003b0c: PUSH1 0x00
00003b0e: KECCAK256
00003b0f: PUSH1 0x00
00003b11: SWAP1
00003b12: SSTORE
00003b13: PUSH1 0x01
00003b15: SWAP5
00003b16: POP
00003b17: POP
00003b18: POP
00003b19: POP
00003b1a: POP
00003b1b: PUSH2 0x0b44
00003b1e: JUMP
00003b1f: JUMPDEST
00003b20: PUSH1 0x00
00003b22: SWAP2
00003b23: POP
00003b24: POP
00003b25: PUSH2 0x0b44
00003b28: JUMP
00003b29: JUMPDEST
00003b2a: PUSH1 0x60
00003b2c: PUSH2 0x3b38
00003b2f: DUP5
00003b30: DUP5
00003b31: PUSH1 0x00
00003b33: DUP6
00003b34: PUSH2 0x3b40
00003b37: JUMP
00003b38: JUMPDEST
00003b39: SWAP5
00003b3a: SWAP4
00003b3b: POP
00003b3c: POP
00003b3d: POP
00003b3e: POP
00003b3f: JUMP
00003b40: JUMPDEST
00003b41: PUSH1 0x60
00003b43: DUP3
00003b44: SELFBALANCE
00003b45: LT
00003b46: ISZERO
00003b47: PUSH2 0x3b81
00003b4a: JUMPI
00003b4b: PUSH1 0x40
00003b4d: MLOAD
00003b4e: PUSH3 0x461bcd
00003b52: PUSH1 0xe5
00003b54: SHL
00003b55: DUP2
00003b56: MSTORE
00003b57: PUSH1 0x04
00003b59: ADD
00003b5a: DUP1
00003b5b: DUP1
00003b5c: PUSH1 0x20
00003b5e: ADD
00003b5f: DUP3
00003b60: DUP2
00003b61: SUB
00003b62: DUP3
00003b63: MSTORE
00003b64: PUSH1 0x26
00003b66: DUP2
00003b67: MSTORE
00003b68: PUSH1 0x20
00003b6a: ADD
00003b6b: DUP1
00003b6c: PUSH2 0x3ffd
00003b6f: PUSH1 0x26
00003b71: SWAP2
00003b72: CODECOPY
00003b73: PUSH1 0x40
00003b75: ADD
00003b76: SWAP2
00003b77: POP
00003b78: POP
00003b79: PUSH1 0x40
00003b7b: MLOAD
00003b7c: DUP1
00003b7d: SWAP2
00003b7e: SUB
00003b7f: SWAP1
00003b80: REVERT
00003b81: JUMPDEST
00003b82: PUSH2 0x3b8a
00003b85: DUP6
00003b86: PUSH2 0x3c9c
00003b89: JUMP
00003b8a: JUMPDEST
00003b8b: PUSH2 0x3bdb
00003b8e: JUMPI
00003b8f: PUSH1 0x40
00003b91: DUP1
00003b92: MLOAD
00003b93: PUSH3 0x461bcd
00003b97: PUSH1 0xe5
00003b99: SHL
00003b9a: DUP2
00003b9b: MSTORE
00003b9c: PUSH1 0x20
00003b9e: PUSH1 0x04
00003ba0: DUP3
00003ba1: ADD
00003ba2: MSTORE
00003ba3: PUSH1 0x1d
00003ba5: PUSH1 0x24
00003ba7: DUP3
00003ba8: ADD
00003ba9: MSTORE
00003baa: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
00003bcb: PUSH1 0x44
00003bcd: DUP3
00003bce: ADD
00003bcf: MSTORE
00003bd0: SWAP1
00003bd1: MLOAD
00003bd2: SWAP1
00003bd3: DUP2
00003bd4: SWAP1
00003bd5: SUB
00003bd6: PUSH1 0x64
00003bd8: ADD
00003bd9: SWAP1
00003bda: REVERT
00003bdb: JUMPDEST
00003bdc: PUSH1 0x00
00003bde: PUSH1 0x60
00003be0: DUP7
00003be1: PUSH1 0x01
00003be3: PUSH1 0x01
00003be5: PUSH1 0xa0
00003be7: SHL
00003be8: SUB
00003be9: AND
00003bea: DUP6
00003beb: DUP8
00003bec: PUSH1 0x40
00003bee: MLOAD
00003bef: DUP1
00003bf0: DUP3
00003bf1: DUP1
00003bf2: MLOAD
00003bf3: SWAP1
00003bf4: PUSH1 0x20
00003bf6: ADD
00003bf7: SWAP1
00003bf8: DUP1
00003bf9: DUP4
00003bfa: DUP4
00003bfb: JUMPDEST
00003bfc: PUSH1 0x20
00003bfe: DUP4
00003bff: LT
00003c00: PUSH2 0x3c1a
00003c03: JUMPI
00003c04: DUP1
00003c05: MLOAD
00003c06: DUP3
00003c07: MSTORE
00003c08: PUSH1 0x1f
00003c0a: NOT
00003c0b: SWAP1
00003c0c: SWAP3
00003c0d: ADD
00003c0e: SWAP2
00003c0f: PUSH1 0x20
00003c11: SWAP2
00003c12: DUP3
00003c13: ADD
00003c14: SWAP2
00003c15: ADD
00003c16: PUSH2 0x3bfb
00003c19: JUMP
00003c1a: JUMPDEST
00003c1b: PUSH1 0x01
00003c1d: DUP4
00003c1e: PUSH1 0x20
00003c20: SUB
00003c21: PUSH2 0x0100
00003c24: EXP
00003c25: SUB
00003c26: DUP1
00003c27: NOT
00003c28: DUP3
00003c29: MLOAD
00003c2a: AND
00003c2b: DUP2
00003c2c: DUP5
00003c2d: MLOAD
00003c2e: AND
00003c2f: DUP1
00003c30: DUP3
00003c31: OR
00003c32: DUP6
00003c33: MSTORE
00003c34: POP
00003c35: POP
00003c36: POP
00003c37: POP
00003c38: POP
00003c39: POP
00003c3a: SWAP1
00003c3b: POP
00003c3c: ADD
00003c3d: SWAP2
00003c3e: POP
00003c3f: POP
00003c40: PUSH1 0x00
00003c42: PUSH1 0x40
00003c44: MLOAD
00003c45: DUP1
00003c46: DUP4
00003c47: SUB
00003c48: DUP2
00003c49: DUP6
00003c4a: DUP8
00003c4b: GAS
00003c4c: CALL
00003c4d: SWAP3
00003c4e: POP
00003c4f: POP
00003c50: POP
00003c51: RETURNDATASIZE
00003c52: DUP1
00003c53: PUSH1 0x00
00003c55: DUP2
00003c56: EQ
00003c57: PUSH2 0x3c7c
00003c5a: JUMPI
00003c5b: PUSH1 0x40
00003c5d: MLOAD
00003c5e: SWAP2
00003c5f: POP
00003c60: PUSH1 0x1f
00003c62: NOT
00003c63: PUSH1 0x3f
00003c65: RETURNDATASIZE
00003c66: ADD
00003c67: AND
00003c68: DUP3
00003c69: ADD
00003c6a: PUSH1 0x40
00003c6c: MSTORE
00003c6d: RETURNDATASIZE
00003c6e: DUP3
00003c6f: MSTORE
00003c70: RETURNDATASIZE
00003c71: PUSH1 0x00
00003c73: PUSH1 0x20
00003c75: DUP5
00003c76: ADD
00003c77: RETURNDATACOPY
00003c78: PUSH2 0x3c81
00003c7b: JUMP
00003c7c: JUMPDEST
00003c7d: PUSH1 0x60
00003c7f: SWAP2
00003c80: POP
00003c81: JUMPDEST
00003c82: POP
00003c83: SWAP2
00003c84: POP
00003c85: SWAP2
00003c86: POP
00003c87: PUSH2 0x3c91
00003c8a: DUP3
00003c8b: DUP3
00003c8c: DUP7
00003c8d: PUSH2 0x3ca2
00003c90: JUMP
00003c91: JUMPDEST
00003c92: SWAP8
00003c93: SWAP7
00003c94: POP
00003c95: POP
00003c96: POP
00003c97: POP
00003c98: POP
00003c99: POP
00003c9a: POP
00003c9b: JUMP
00003c9c: JUMPDEST
00003c9d: EXTCODESIZE
00003c9e: ISZERO
00003c9f: ISZERO
00003ca0: SWAP1
00003ca1: JUMP
00003ca2: JUMPDEST
00003ca3: PUSH1 0x60
00003ca5: DUP4
00003ca6: ISZERO
00003ca7: PUSH2 0x3cb1
00003caa: JUMPI
00003cab: POP
00003cac: DUP2
00003cad: PUSH2 0x1dae
00003cb0: JUMP
00003cb1: JUMPDEST
00003cb2: DUP3
00003cb3: MLOAD
00003cb4: ISZERO
00003cb5: PUSH2 0x3cc1
00003cb8: JUMPI
00003cb9: DUP3
00003cba: MLOAD
00003cbb: DUP1
00003cbc: DUP5
00003cbd: PUSH1 0x20
00003cbf: ADD
00003cc0: REVERT
00003cc1: JUMPDEST
00003cc2: PUSH1 0x40
00003cc4: MLOAD
00003cc5: PUSH3 0x461bcd
00003cc9: PUSH1 0xe5
00003ccb: SHL
00003ccc: DUP2
00003ccd: MSTORE
00003cce: PUSH1 0x20
00003cd0: PUSH1 0x04
00003cd2: DUP3
00003cd3: ADD
00003cd4: DUP2
00003cd5: DUP2
00003cd6: MSTORE
00003cd7: DUP5
00003cd8: MLOAD
00003cd9: PUSH1 0x24
00003cdb: DUP5
00003cdc: ADD
00003cdd: MSTORE
00003cde: DUP5
00003cdf: MLOAD
00003ce0: DUP6
00003ce1: SWAP4
00003ce2: SWAP2
00003ce3: SWAP3
00003ce4: DUP4
00003ce5: SWAP3
00003ce6: PUSH1 0x44
00003ce8: ADD
00003ce9: SWAP2
00003cea: SWAP1
00003ceb: DUP6
00003cec: ADD
00003ced: SWAP1
00003cee: DUP1
00003cef: DUP4
00003cf0: DUP4
00003cf1: PUSH1 0x00
00003cf3: DUP4
00003cf4: ISZERO
00003cf5: PUSH2 0x3742
00003cf8: JUMPI
00003cf9: DUP2
00003cfa: DUP2
00003cfb: ADD
00003cfc: MLOAD
00003cfd: DUP4
00003cfe: DUP3
00003cff: ADD
00003d00: MSTORE
00003d01: PUSH1 0x20
00003d03: ADD
00003d04: PUSH2 0x372a
00003d07: JUMP
00003d08: JUMPDEST
00003d09: PUSH1 0x40
00003d0b: MLOAD
00003d0c: DUP1
00003d0d: PUSH1 0x80
00003d0f: ADD
00003d10: PUSH1 0x40
00003d12: MSTORE
00003d13: DUP1
00003d14: PUSH1 0x00
00003d16: DUP2
00003d17: MSTORE
00003d18: PUSH1 0x20
00003d1a: ADD
00003d1b: PUSH1 0x00
00003d1d: DUP2
00003d1e: MSTORE
00003d1f: PUSH1 0x20
00003d21: ADD
00003d22: PUSH1 0x00
00003d24: DUP2
00003d25: MSTORE
00003d26: PUSH1 0x20
00003d28: ADD
00003d29: PUSH1 0x00
00003d2b: PUSH1 0x01
00003d2d: PUSH1 0x01
00003d2f: PUSH1 0xa0
00003d31: SHL
00003d32: SUB
00003d33: AND
00003d34: DUP2
00003d35: MSTORE
00003d36: POP
00003d37: SWAP1
00003d38: JUMP
00003d39: INVALID
00003d3a: JUMP
00003d3b: PUSH2 0x756c
00003d3e: PUSH21 0x48616e646c65723a3a6372656174655661756c743a
00003d54: KECCAK256
00003d55: PUSH23 0x61756c7420616c72656164792063726561746564456e75
00003d6d: PUSH14 0x657261626c655365743a20696e64
00003d7c: PUSH6 0x78206f757420
00003d83: PUSH16 0x6620626f756e64735661756c7448616e
00003d94: PUSH5 0x6c65723a3a
00003d9a: PUSH2 0x6464
00003d9d: NUMBER
00003d9e: PUSH16 0x6c6c61746572616c3a20455243323020
00003daf: PUSH21 0x72616e7366657220646964206e6f74207375636365
00003dc5: PUSH6 0x644163636573
00003dcc: PUSH20 0x436f6e74726f6c3a2073656e646572206d757374
00003de1: KECCAK256
00003de2: PUSH3 0x652061
00003de6: PUSH15 0x2061646d696e20746f206772616e74
00003df6: MSTORE
00003df7: PUSH6 0x656e7472616e
00003dfe: PUSH4 0x79477561
00003e03: PUSH19 0x643a207265656e7472616e742063616c6c0043
00003e17: PUSH2 0x6e6e
00003e1a: PUSH16 0x74207769746864726177207468652063
00003e2b: PUSH16 0x6c6c61746572616c20746f6b656e7356
00003e3c: PUSH2 0x756c
00003e3f: PUSH21 0x48616e646c65723a3a7661756c744578697374733a
00003e55: KECCAK256
00003e56: PUSH15 0x6f207661756c742063726561746564
00003e66: UNKNOWN(0x4F)
00003e67: PUSH24 0x6e61626c653a206e6577206f776e65722069732074686520
00003e80: PUSH27 0x65726f20616464726573735661756c7448616e646c65723a3a7365
00003e9c: PUSH21 0x54726561737572793a206e6f7420612076616c6964
00003eb2: KECCAK256
00003eb3: PUSH21 0x726561737572795661756c7448616e646c65723a3a
00003ec9: PUSH14 0x696e743a206e6f7420656e6f7567
00003ed8: PUSH9 0x20636f6c6c61746572
00003ee2: PUSH2 0x6c45
00003ee5: SLOAD
00003ee6: BASEFEE
00003ee7: JUMP
00003ee8: PUSH2 0x756c
00003eeb: PUSH21 0x48616e646c65723a3a72656d6f7665436f6c6c6174
00003f01: PUSH6 0x72616c455448
00003f08: GASPRICE
00003f09: KECCAK256
00003f0a: PUSH19 0x6574726965766520616d6f756e742068696768
00003f1e: PUSH6 0x72207468616e
00003f25: KECCAK256
00003f26: PUSH4 0x6f6c6c61
00003f2b: PUSH21 0x6572616c4554485661756c7448616e646c65723a3a
00003f41: PUSH19 0x656d6f7665436f6c6c61746572616c4554483a
00003f55: KECCAK256
00003f56: PUSH4 0x6f6c6c61
00003f5b: PUSH21 0x6572616c2062656c6f77206d696e20726571756972
00003f71: PUSH6 0x642072617469
00003f78: PUSH16 0x5661756c7448616e646c65723a3a6c69
00003f89: PUSH18 0x7569646174655661756c743a206c69717569
00003f9c: PUSH5 0x6174696f6e
00003fa2: KECCAK256
00003fa3: PUSH2 0x6d6f
00003fa6: PUSH22 0x6e7420646966666572656e74207468616e2072657175
00003fbd: PUSH10 0x7265645661756c744861
00003fc8: PUSH15 0x646c65723a3a6c6971756964617465
00003fd8: JUMP
00003fd9: PUSH2 0x756c
00003fdc: PUSH21 0x3a204552433230207472616e736665722064696420
00003ff2: PUSH15 0x6f7420737563636565644164647265
00004002: PUSH20 0x733a20696e73756666696369656e742062616c61
00004017: PUSH15 0x636520666f722063616c6c41636365
00004027: PUSH20 0x73436f6e74726f6c3a2073656e646572206d7573
0000403c: PUSH21 0x20626520616e2061646d696e20746f207265766f6b
00004052: PUSH6 0x5661756c7448
00004059: PUSH2 0x6e64
0000405c: PUSH13 0x65723a3a6275726e3a20616d6f
0000406a: PUSH22 0x6e742067726561746572207468616e20646562745661
00004081: PUSH22 0x6c7448616e646c65723a3a736574526174696f3a2072
00004098: PUSH2 0x7469
0000409b: PUSH16 0x206c6f776572207468616e204d494e5f
000040ac: MSTORE
000040ad: COINBASE
000040ae: SLOAD
000040af: BLOBHASH
000040b0: UNKNOWN(0x4F)
000040b1: JUMP
000040b2: PUSH2 0x756c
000040b5: PUSH21 0x48616e646c65723a3a7365744275726e4665653a20
000040cb: PUSH3 0x75726e
000040cf: KECCAK256
000040d0: PUSH7 0x65652068696768
000040d8: PUSH6 0x72207468616e
000040df: KECCAK256
000040e0: UNKNOWN(0x4D)
000040e1: COINBASE
000040e2: PC
000040e3: PUSH0
000040e4: CHAINID
000040e5: GASLIMIT
000040e6: GASLIMIT
000040e7: JUMP
000040e8: PUSH2 0x756c
000040eb: PUSH21 0x48616e646c65723a3a72656d6f7665436f6c6c6174
00004101: PUSH6 0x72616c3a2072
00004108: PUSH6 0x747269657665
0000410f: KECCAK256
00004110: PUSH2 0x6d6f
00004113: PUSH22 0x6e7420686967686572207468616e20636f6c6c617465
0000412a: PUSH19 0x616c5661756c7448616e646c65723a3a736574
0000413e: UNKNOWN(0x4C)
0000413f: PUSH10 0x717569646174696f6e50
0000414a: PUSH6 0x6e616c74793a
00004151: KECCAK256
00004152: PUSH13 0x69717569646174696f6e207065
00004160: PUSH15 0x616c747920746f6f20686967684554
00004170: BASEFEE
00004171: JUMP
00004172: PUSH2 0x756c
00004175: PUSH21 0x48616e646c65723a3a72656d6f7665436f6c6c6174
0000418b: PUSH6 0x72616c455448
00004192: GASPRICE
00004193: KECCAK256
00004194: PUSH23 0x616c75652063616e277420626520305661756c7448616e
000041ac: PUSH5 0x6c65723a3a
000041b2: PUSH19 0x656d6f7665436f6c6c61746572616c3a20636f
000041c6: PUSH13 0x6c61746572616c2062656c6f77
000041d4: KECCAK256
000041d5: PUSH14 0x696e207265717569726564207261
000041e4: PUSH21 0x696f4554485661756c7448616e646c65723a3a7361
000041fa: PUSH7 0x655472616e7366
00004202: PUSH6 0x724554483a20
00004209: GASLIMIT
0000420a: SLOAD
0000420b: BASEFEE
0000420c: KECCAK256
0000420d: PUSH21 0x72616e73666572206661696c6564536166654d6174
00004223: PUSH9 0x3a206d756c7469706c
0000422d: PUSH10 0x636174696f6e206f7665
00004238: PUSH19 0x666c6f774554485661756c7448616e646c6572
0000424c: GASPRICE
0000424d: GASPRICE
0000424e: PUSH2 0x6464
00004251: NUMBER
00004252: PUSH16 0x6c6c61746572616c4554483a2076616c
00004263: PUSH22 0x652063616e277420626520304f776e61626c653a2063
0000427a: PUSH2 0x6c6c
0000427d: PUSH6 0x72206973206e
00004284: PUSH16 0x7420746865206f776e65725661756c74
00004295: BASEFEE
00004296: PUSH2 0x6e64
00004299: PUSH13 0x65723a3a6d696e743a20636f6c
000042a7: PUSH13 0x61746572616c2062656c6f7720
000042b5: PUSH14 0x696e207265717569726564207261
000042c4: PUSH21 0x696f5661756c7448616e646c65723a3a72656d6f76
000042da: PUSH6 0x436f6c6c6174
000042e1: PUSH6 0x72616c3a2045
000042e8: MSTORE
000042e9: NUMBER
000042ea: ORIGIN
000042eb: ADDRESS
000042ec: KECCAK256
000042ed: PUSH21 0x72616e7366657220646964206e6f74207375636365
00004303: PUSH6 0x645661756c74
0000430a: BASEFEE
0000430b: PUSH2 0x6e64
0000430e: PUSH13 0x65723a3a6c6971756964617465
0000431c: JUMP
0000431d: PUSH2 0x756c
00004320: PUSH21 0x3a207661756c74206973206e6f74206c6971756964
00004336: PUSH2 0x626c
00004339: PUSH6 0x5661756c7448
00004340: PUSH2 0x6e64
00004343: PUSH13 0x65723a3a6e6f745a65726f3a20
00004351: PUSH23 0x616c75652063616e277420626520305361666545524332
00004369: ADDRESS
0000436a: GASPRICE
0000436b: KECCAK256
0000436c: GASLIMIT
0000436d: MSTORE
0000436e: NUMBER
0000436f: ORIGIN
00004370: ADDRESS
00004371: KECCAK256
00004372: PUSH16 0x7065726174696f6e20646964206e6f74
00004383: KECCAK256
00004384: PUSH20 0x7563636565645661756c7448616e646c65723a3a
00004399: PUSH13 0x69717569646174655661756c74
000043a7: GASPRICE
000043a8: KECCAK256
000043a9: PUSH15 0x6f207661756c742063726561746564
000043b9: JUMP
000043ba: PUSH2 0x756c
000043bd: PUSH21 0x48616e646c65723a3a6275726e3a206275726e2066
000043d3: PUSH6 0x65206c657373
000043da: KECCAK256
000043db: PUSH21 0x68616e2072657175697265645661756c7448616e64
000043f1: PUSH13 0x65723a3a6c6971756964617465
000043ff: JUMP
00004400: PUSH2 0x756c
00004403: PUSH21 0x3a206275726e20666565206c657373207468616e20
00004419: PUSH19 0x65717569726564416363657373436f6e74726f
0000442d: PUSH13 0x3a2063616e206f6e6c79207265
0000443b: PUSH15 0x6f756e636520726f6c657320666f72
0000444b: KECCAK256
0000444c: PUSH20 0x656c66a264697066735822122094482a94c4a3b2
00004461: UNKNOWN(0x2B)
00004462: BYTE
00004463: UNKNOWN(0xF7)
00004464: TSTORE
00004465: TLOAD
00004466: PUSH26 0x38a50c633d4d83d1c9fb637a0fe016ac2fa48f64736f6c634300
00004481: SMOD
00004482: SDIV
00004483: STOP
00004484: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high auth detector Authorization based on tx.origin 70 no
view
validation_json
{
    "reason": "missing sink mapping",
    "status": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xf0f44260",
            "selector": "0xf0f44260",
            "calldata_variants": [
                "0xf0f44260",
                "0xf0f442600000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfce589d8",
            "selector": "0xfce589d8",
            "calldata_variants": [
                "0xfce589d8",
                "0xfce589d80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfcee45f4",
            "selector": "0xfcee45f4",
            "calldata_variants": [
                "0xfcee45f4",
                "0xfcee45f40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd318a7df",
            "selector": "0xd318a7df",
            "calldata_variants": [
                "0xd318a7df",
                "0xd318a7df0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd547741f",
            "selector": "0xd547741f",
            "calldata_variants": [
                "0xd547741f",
                "0xd547741f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xde9952c9",
            "selector": "0xde9952c9",
            "calldata_variants": [
                "0xde9952c9",
                "0xde9952c90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbc721a96",
            "selector": "0xbc721a96",
            "calldata_variants": [
                "0xbc721a96",
                "0xbc721a960000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 17130,
            "type": "tx_origin_used"
        },
        {
            "pc": 17263,
            "type": "tx_origin_used"
        }
    ]
}
medium oracle codex Oracle price freshness is not enforced, allowing stale prices 75 no
view
evidence_json
{
    "evidence": "`ChainlinkOracle.getLatestAnswer` only checks that `timeStamp != 0` and `answeredInRound >= roundID` but never bounds staleness; `IVaultHandler.getOraclePrice` relies on it for all pricing.",
    "locations": [
        "contracts/contracts/oracles/ChainlinkOracle.sol:50",
        "contracts/contracts/oracles/ChainlinkOracle.sol:58",
        "contracts/contracts/oracles/ChainlinkOracle.sol:62",
        "contracts/contracts/IVaultHandler.sol:625"
    ],
    "recommendation": "Add a configurable max staleness window per feed and require `block.timestamp - timeStamp <= maxDelay` (and optionally `price > 0`) before using the value. Fail closed when the data is stale.",
    "exploit_scenario": "If a Chainlink feed stops updating during a sharp market move, `getLatestAnswer` will still return the last value (timestamp != 0 and answeredInRound >= roundID) and the protocol will use that stale price for minting, burning fees, and liquidation checks. An attacker (or any vault owner) can then mint/withdraw based on an outdated high collateral price (or outdated low TCAP price), leaving the system undercollateralized and delaying liquidations."
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x8d7d20abaa8272daf74bbeada7937f02be9ea6277d5a4ce9fe43bed084e24457
call_targets: 0x717170b66654292dfbd89c39f5ae6753d2ac1381
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x8d7d20abaa8272daf74bbeada7937f02be9ea6277d5a4ce9fe43bed084e24457",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x717170b66654292dfbd89c39f5ae6753d2ac1381"
    ],
    "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": "0xf0f44260",
            "selector": "0xf0f44260",
            "calldata_variants": [
                "0xf0f44260",
                "0xf0f442600000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfce589d8",
            "selector": "0xfce589d8",
            "calldata_variants": [
                "0xfce589d8",
                "0xfce589d80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfcee45f4",
            "selector": "0xfcee45f4",
            "calldata_variants": [
                "0xfcee45f4",
                "0xfcee45f40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd318a7df",
            "selector": "0xd318a7df",
            "calldata_variants": [
                "0xd318a7df",
                "0xd318a7df0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd547741f",
            "selector": "0xd547741f",
            "calldata_variants": [
                "0xd547741f",
                "0xd547741f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xde9952c9",
            "selector": "0xde9952c9",
            "calldata_variants": [
                "0xde9952c9",
                "0xde9952c90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbc721a96",
            "selector": "0xbc721a96",
            "calldata_variants": [
                "0xbc721a96",
                "0xbc721a960000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3270,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4570,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5555,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 13,
    "guards_detected": [
        {
            "pc": 17130,
            "type": "tx_origin_used"
        },
        {
            "pc": 17263,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 13
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x8d7d20abaa8272daf74bbeada7937f02be9ea6277d5a4ce9fe43bed084e24457
call_targets: 0x717170b66654292dfbd89c39f5ae6753d2ac1381
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x8d7d20abaa8272daf74bbeada7937f02be9ea6277d5a4ce9fe43bed084e24457",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x717170b66654292dfbd89c39f5ae6753d2ac1381"
    ],
    "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": "0xf0f44260",
            "selector": "0xf0f44260",
            "calldata_variants": [
                "0xf0f44260",
                "0xf0f442600000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfce589d8",
            "selector": "0xfce589d8",
            "calldata_variants": [
                "0xfce589d8",
                "0xfce589d80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfcee45f4",
            "selector": "0xfcee45f4",
            "calldata_variants": [
                "0xfcee45f4",
                "0xfcee45f40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd318a7df",
            "selector": "0xd318a7df",
            "calldata_variants": [
                "0xd318a7df",
                "0xd318a7df0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd547741f",
            "selector": "0xd547741f",
            "calldata_variants": [
                "0xd547741f",
                "0xd547741f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xde9952c9",
            "selector": "0xde9952c9",
            "calldata_variants": [
                "0xde9952c9",
                "0xde9952c90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbc721a96",
            "selector": "0xbc721a96",
            "calldata_variants": [
                "0xbc721a96",
                "0xbc721a960000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3270,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4570,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5555,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 13,
    "guards_detected": [
        {
            "pc": 17130,
            "type": "tx_origin_used"
        },
        {
            "pc": 17263,
            "type": "tx_origin_used"
        }
    ]
}
low math codex Collateral withdrawal can skip ratio enforcement when computed ratio rounds to zero 65 no
view
evidence_json
{
    "evidence": "Both collateral removal functions only enforce the ratio check when `currentRatio != 0`, but `getVaultRatio` returns 0 not only for zero debt, but also for very low ratios due to integer truncation.",
    "locations": [
        "contracts/contracts/IVaultHandler.sol:388",
        "contracts/contracts/IVaultHandler.sol:397",
        "contracts/contracts/ETHVaultHandler.sol:108",
        "contracts/contracts/ETHVaultHandler.sol:115"
    ],
    "recommendation": "Gate the ratio check on `vault.Debt > 0` (or always enforce it when debt exists) instead of `currentRatio != 0`, or compute ratios with higher precision to avoid truncation to zero.",
    "exploit_scenario": "If a vault becomes severely undercollateralized such that `getVaultRatio` truncates to 0 (ratio < 1%), `removeCollateral`/`removeCollateralETH` will skip the min-ratio check (`currentRatio != 0`). The vault owner can then withdraw remaining collateral even though debt is still outstanding, worsening protocol losses and bypassing intended invariant checks."
}
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": 15
}
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
}