4b8be3d2-a217-469b-8019-21ef3302b0a8
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 30930 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 94591 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 94592 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 94593 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 94594 | capability.graph | complete | 1 / 3 | 1 week ago |
| 94595 | detector.run | complete | 1 / 3 | 1 week ago |
| 94596 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:339855] OpenAI Codex v0.77.0 (research preview)
[codex:339855] --------
[codex:339855] workdir: /tmp/codex-multi-sb_pebx5
[codex:339855] model: gpt-5.2-codex
[codex:339855] provider: openai
[codex:339855] approval: never
[codex:339855] sandbox: read-only
[codex:339855] reasoning effort: xhigh
[codex:339855] reasoning summaries: auto
[codex:339855] session id: 019b7643-22ae-7e43-be1d-0b9359e9c178
[codex:339855] --------
[codex:339855] user
[codex:339855] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:339855]
[codex:339855] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:339855]
[codex:339855] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:339855] - Gas inefficiency, code quality, naming, or best practices
[codex:339855] - Theoretical vulnerabilities without a clear extraction path
[codex:339855] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:339855] - Front-running unless it enables theft beyond MEV
[codex:339855] - DoS, griefing, or issues that don't result in attacker profit
[codex:339855] - Missing events, view function issues, or informational findings
[codex:339855]
[codex:339855] HIGH-VALUE PATTERNS TO HUNT:
[codex:339855] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:339855] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:339855] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:339855] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:339855] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:339855] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:339855] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:339855] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:339855] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:339855]
[codex:339855] For each finding, you MUST provide:
[codex:339855] 1. Exact file and line numbers of vulnerable code
[codex:339855] 2. Step-by-step exploit transaction sequence
[codex:339855] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:339855]
[codex:339855] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:339855]
[codex:339855] Output MUST be valid JSON matching the provided schema.
[codex:339855] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:339855] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:339855] mcp startup: no servers
[codex:339855]
[codex:339855] thinking
[codex:339855] **Preparing to read AUDIT_BUNDLE.txt**
[codex:339855] exec
[codex:339855] /bin/bash -lc ls in /tmp/codex-multi-sb_pebx5 succeeded in 5ms:
[codex:339855] AUDIT_BUNDLE.txt
[codex:339855] codex-output-schema.json
[codex:339855] contracts
[codex:339855] exec
[codex:339855] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-sb_pebx5 succeeded in 6ms:
[codex:339855] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:339855]
[codex:339855] ================================================================================
[codex:339855] FILE: contracts/Contract.sol
[codex:339855] ================================================================================
[codex:339855] pragma solidity ^0.5.2;
[codex:339855]
[codex:339855] // File: @gnosis.pm/util-contracts/contracts/Proxy.sol
[codex:339855]
[codex:339855] /// @title Proxied - indicates that a contract will be proxied. Also defines storage requirements for Proxy.
[codex:339855] /// @author Alan Lu - <alan@gnosis.pm>
[codex:339855] contract Proxied {
[codex:339855] address public masterCopy;
[codex:339855] }
[codex:339855]
[codex:339855] /// @title Proxy - Generic proxy contract allows to execute all transactions applying the code of a master contract.
[codex:339855] /// @author Stefan George - <stefan@gnosis.pm>
[codex:339855] contract Proxy is Proxied {
[codex:339855] /// @dev Constructor function sets address of master copy contract.
[codex:339855] /// @param _masterCopy Master copy address.
[codex:339855]
[codex:339855] thinking
[codex:339855] **Searching for DutchX contract**
[codex:339855] exec
[codex:339855] /bin/bash -lc 'rg -n "contract" AUDIT_BUNDLE.txt | head' in /tmp/codex-multi-sb_pebx5 succeeded in 7ms:
[codex:339855] 4:FILE: contracts/Contract.sol
[codex:339855] 8:// File: @gnosis.pm/util-contracts/contracts/Proxy.sol
[codex:339855] 10:/// @title Proxied - indicates that a contract will be proxied. Also defines storage requirements for Proxy.
[codex:339855] 12:contract Proxied {
[codex:339855] 16:/// @title Proxy - Generic proxy contract allows to execute all transactions applying the code of a master contract.
[codex:339855] 18:contract Proxy is Proxied {
[codex:339855] 19: /// @dev Constructor function sets address of master copy contract.
[codex:339855] 44:// File: @gnosis.pm/util-contracts/contracts/Token.sol
[codex:339855] 49:/// @title Abstract token contract - Functions to be implemented by token contracts
[codex:339855] 50:contract Token {
[codex:339855]
[codex:339855] thinking
[codex:339855] **Searching for DutchExchange contract**
[codex:339855] exec
[codex:339855] /bin/bash -lc 'rg -n "contract .*Dutch|Dutch" AUDIT_BUNDLE.txt | head -n 50' in /tmp/codex-multi-sb_pebx5 succeeded in 7ms:
[codex:339855] 1343:// File: contracts/DutchExchange.sol
[codex:339855] 1345:/// @title Dutch Exchange - exchange token pairs with the clever mechanism of the dutch auction
[codex:339855] 1349:contract DutchExchange is DxUpgrade, TokenWhitelist, EthOracle, SafeTransfer {
[codex:339855] 1395: // balances stores a user's balance in the DutchX
[codex:339855] 1553: function setupDutchExchange(
[codex:339855]
[codex:339855] thinking
[codex:339855] **Analyzing DutchExchange for vulnerabilities**
[codex:339855] exec
[codex:339855] /bin/bash -lc 'rg -n "initialize|init|setup" AUDIT_BUNDLE.txt | head -n 50' in /tmp/codex-multi-sb_pebx5 succeeded in 7ms:
[codex:339855] 622: require(minter != address(0), "The minter must be initialized");
[codex:339855] 1294: function initiateEthUsdOracleUpdate(PriceOracleInterface _ethUSDOracle) public onlyAuctioneer {
[codex:339855] 1553: function setupDutchExchange(
[codex:339855] 1563: // Make sure contract hasn't been initialised
[codex:339855] 1564: require(ethToken == address(0), "The contract must be uninitialized");
[codex:339855] 1590: /// @param initialClosingPriceNum initial price will be 2 * initialClosingPrice. This is its numerator
[codex:339855] 1591: /// @param initialClosingPriceDen initial price will be 2 * initialClosingPrice. This is its denominator
[codex:339855] 1597: uint initialClosingPriceNum,
[codex:339855] 1598: uint initialClosingPriceDen
[codex:339855] 1605: require(initialClosingPriceNum != 0, "You must set the numerator for the initial price");
[codex:339855] 1608: require(initialClosingPriceDen != 0, "You must set the denominator for the initial price");
[codex:339855] 1614: require(initialClosingPriceNum < 10 ** 18, "You must set a smaller numerator for the initial price");
[codex:339855] 1617: require(initialClosingPriceDen < 10 ** 18, "You must set a smaller denominator for the initial price");
[codex:339855] 1659: closingPrices[token1][token2][0] = Fraction(initialClosingPriceNum, initialClosingPriceDen);
[codex:339855] 1660: closingPrices[token2][token1][0] = Fraction(initialClosingPriceDen, initialClosingPriceNum);
[codex:339855]
[codex:339855] thinking
[codex:339855] **Checking function access controls**
[codex:339855] exec
[codex:339855] /bin/bash -lc "sed -n '1450,1705p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-sb_pebx5 succeeded in 5ms:
[codex:339855]
[codex:339855] /// @dev for multiple claims
[codex:339855] /// @param auctionSellTokens are the sellTokens defining an auctionPair
[codex:339855] /// @param auctionBuyTokens are the buyTokens defining an auctionPair
[codex:339855] /// @param auctionIndices are the auction indices on which an token should be claimedAmounts
[codex:339855] /// @param user is the user who wants to his tokens
[codex:339855] function claimTokensFromSeveralAuctionsAsBuyer(
[codex:339855] address[] calldata auctionSellTokens,
[codex:339855] address[] calldata auctionBuyTokens,
[codex:339855] uint[] calldata auctionIndices,
[codex:339855] address user
[codex:339855] ) external returns (uint[] memory, uint[] memory)
[codex:339855] {
[codex:339855] uint length = checkLengthsForSeveralAuctionClaiming(auctionSellTokens, auctionBuyTokens, auctionIndices);
[codex:339855]
[codex:339855] uint[] memory claimAmounts = new uint[](length);
[codex:339855] uint[] memory frtsIssuedList = new uint[](length);
[codex:339855]
[codex:339855] for (uint i = 0; i < length; i++) {
[codex:339855] (claimAmounts[i], frtsIssuedList[i]) = claimBuyerFunds(
[codex:339855]
[codex:339855] thinking
[codex:339855] **Analyzing unprotected proxy initialization risks**
[codex:339855] exec
[codex:339855] /bin/bash -lc 'rg -n "DxUpgrade" -n AUDIT_BUNDLE.txt' in /tmp/codex-multi-sb_pebx5 succeeded in 6ms:
[codex:339855] 1312:// File: contracts/base/DxUpgrade.sol
[codex:339855] 1314:contract DxUpgrade is Proxied, AuctioneerManaged, DxMath {
[codex:339855] 1349:contract DutchExchange is DxUpgrade, TokenWhitelist, EthOracle, SafeTransfer {
[codex:339855] exec
[codex:339855] /bin/bash -lc "sed -n '1230,1375p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-sb_pebx5 succeeded in 5ms:
[codex:339855] modifier onlyOwner() {
[codex:339855] require(msg.sender == owner, "Only the owner can do the operation");
[codex:339855] _;
[codex:339855] }
[codex:339855]
[codex:339855] /// @dev constructor of the contract
[codex:339855] /// @param _priceFeedSource address of price Feed Source -> should be maker feeds Medianizer contract
[codex:339855] constructor(address _owner, address _priceFeedSource) public {
[codex:339855] owner = _owner;
[codex:339855] priceFeedSource = _priceFeedSource;
[codex:339855] }
[codex:339855]
[codex:339855] /// @dev gives the owner the possibility to put the Interface into an emergencyMode, which will
[codex:339855] /// output always a price of 600 USD. This gives everyone time to set up a new pricefeed.
[codex:339855] function raiseEmergency(bool _emergencyMode) public onlyOwner {
[codex:339855] emergencyMode = _emergencyMode;
[codex:339855] }
[codex:339855]
[codex:339855] /// @dev updates the priceFeedSource
[codex:339855] /// @param _owner address of owner
[codex:339855]
[codex:339855] thinking
[codex:339855] **Searching specific modules**
[codex:339855] exec
[codex:339855] /bin/bash -lc 'rg -n "contract AuctioneerManaged|onlyAuctioneer" AUDIT_BUNDLE.txt' in /tmp/codex-multi-sb_pebx5 succeeded in 8ms:
[codex:339855] 678:contract AuctioneerManaged {
[codex:339855] 682: function updateAuctioneer(address _auctioneer) public onlyAuctioneer {
[codex:339855] 688: modifier onlyAuctioneer() {
[codex:339855] 721: function updateApprovalOfToken(address[] memory token, bool approved) public onlyAuctioneer {
[codex:339855] 1294: function initiateEthUsdOracleUpdate(PriceOracleInterface _ethUSDOracle) public onlyAuctioneer {
[codex:339855] 1323: function startMasterCopyCountdown(address _masterCopy) public onlyAuctioneer {
[codex:339855] 1582: function updateThresholdNewTokenPair(uint _thresholdNewTokenPair) public onlyAuctioneer {
[codex:339855] 1586: function updateThresholdNewAuction(uint _thresholdNewAuction) public onlyAuctioneer {
[codex:339855] exec
[codex:339855] /bin/bash -lc "sed -n '650,730p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-sb_pebx5 succeeded in 6ms:
[codex:339855] BadToken(token).transferFrom(msg.sender, address(this), value);
[codex:339855] } else {
[codex:339855] BadToken(token).transfer(to, value);
[codex:339855] }
[codex:339855]
[codex:339855] // solium-disable-next-line security/no-inline-assembly
[codex:339855] assembly {
[codex:339855] switch returndatasize
[codex:339855] case 0 {
[codex:339855] // This is our BadToken
[codex:339855] result := not(0) // result is true
[codex:339855] }
[codex:339855] case 32 {
[codex:339855] // This is our GoodToken
[codex:339855] returndatacopy(0, 0, 32)
[codex:339855] result := mload(0) // result == returndata of external call
[codex:339855] }
[codex:339855] default {
[codex:339855] // This is not an ERC20 token
[codex:339855] result := 0
[codex:339855]
[codex:339855] thinking
[codex:339855] **Analyzing setup and token transfer vulnerabilities**
[codex:339855] exec
[codex:339855] /bin/bash -lc 'rg -n "approvedTokens|approve" AUDIT_BUNDLE.txt | head -n 50' in /tmp/codex-multi-sb_pebx5 succeeded in 7ms:
[codex:339855] 62: function approve(address spender, uint value) public returns (bool);
[codex:339855] 389: /// @dev Sets approved amount of tokens for spender. Returns success
[codex:339855] 391: /// @param value Number of approved tokens
[codex:339855] 393: function approve(address spender, uint value) public returns (bool) {
[codex:339855] 700: // Mapping that stores the tokens, which are approved
[codex:339855] 701: // Only tokens approved by auctioneer generate frtToken tokens
[codex:339855] 703: mapping(address => bool) public approvedTokens;
[codex:339855] 705: event Approval(address indexed token, bool approved);
[codex:339855] 707: /// @dev for quick overview of approved Tokens
[codex:339855] 708: /// @param addressesToCheck are the ERC-20 token addresses to be checked whether they are approved
[codex:339855] 715: isApproved[i] = approvedTokens[addressesToCheck[i]];
[codex:339855] 721: function updateApprovalOfToken(address[] memory token, bool approved) public onlyAuctioneer {
[codex:339855] 723: approvedTokens[token[i]] = approved;
[codex:339855] 724: emit Approval(token[i], approved);
[codex:339855] 2366: if (approvedTokens[primaryToken] && approvedTokens[secondaryToken]) {
[codex:339855]
[codex:339855] thinking
[codex:339855] **Analyzing token trading risks and SafeTransfer contract**
[codex:339855] exec
[codex:339855] /bin/bash -lc 'rg -n "contract SafeTransfer|safeTransfer" AUDIT_BUNDLE.txt | head -n 50' in /tmp/codex-multi-sb_pebx5 succeeded in 9ms:
[codex:339855] 647:contract SafeTransfer {
[codex:339855] 648: function safeTransfer(address token, address to, uint value, bool from) internal returns (bool result) {
[codex:339855] 1668: require(safeTransfer(tokenAddress, msg.sender, amount, true), "The deposit transaction must succeed");
[codex:339855] 1690: require(safeTransfer(tokenAddress, msg.sender, amount, false), "The withdraw transfer must succeed");
[codex:339855]
[codex:339855] thinking
[codex:339855] **Locating SafeTransfer function**
[codex:339855] exec
[codex:339855] /bin/bash -lc "sed -n '600,660p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-sb_pebx5 succeeded in 5ms:
[codex:339855] }
[codex:339855]
[codex:339855] function getMasterCopy() public view returns (address) {
[codex:339855] return masterCopy;
[codex:339855] }
[codex:339855]
[codex:339855] /// @dev Set minter. Only the creator of this contract can call this.
[codex:339855] /// @param newMinter The new address authorized to mint this token
[codex:339855] function setMinter(address newMinter) public onlyCreator {
[codex:339855] minter = newMinter;
[codex:339855] }
[codex:339855]
[codex:339855] /// @dev change owner/creator of the contract. Only the creator/owner of this contract can call this.
[codex:339855] /// @param newOwner The new address, which should become the owner
[codex:339855] function setNewOwner(address newOwner) public onlyCreator {
[codex:339855] creator = newOwner;
[codex:339855] }
[codex:339855]
[codex:339855] /// @dev Mints OWL.
[codex:339855] /// @param to Address to which the minted token will be given
[codex:339855]
[codex:339855] thinking
[codex:339855] **Analyzing reentrancy and phantom deposit risks**
[codex:339855] exec
[codex:339855] /bin/bash -lc 'rg -n "claimSellerFunds|claimBuyerFunds" -n AUDIT_BUNDLE.txt' in /tmp/codex-multi-sb_pebx5 succeeded in 7ms:
[codex:339855] 1418: (returned, frtsIssued) = claimSellerFunds(sellToken, buyToken, user, auctionIndex);
[codex:339855] 1440: (claimAmounts[i], frtsIssuedList[i]) = claimSellerFunds(
[codex:339855] 1469: (claimAmounts[i], frtsIssuedList[i]) = claimBuyerFunds(
[codex:339855] 1496: (claimAmounts[i], claimFrts) = claimSellerFunds(
[codex:339855] 1527: (claimAmounts[i], claimFrts) = claimBuyerFunds(
[codex:339855] 1838: function claimSellerFunds(address sellToken, address buyToken, address user, uint auctionIndex)
[codex:339855] 1888: function claimBuyerFunds(address sellToken, address buyToken, address user, uint auctionIndex)
[codex:339855] exec
[codex:339855] /bin/bash -lc "sed -n '1800,1925p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-sb_pebx5 succeeded in 6ms:
[codex:339855] // To calculate overbuy, we first get current price
[codex:339855] uint sellVolume = sellVolumesCurrent[sellToken][buyToken];
[codex:339855]
[codex:339855] uint num;
[codex:339855] uint den;
[codex:339855] (num, den) = getCurrentAuctionPrice(sellToken, buyToken, auctionIndex);
[codex:339855] // 10^30 * 10^37 = 10^67
[codex:339855] uint outstandingVolume = atleastZero(int(mul(sellVolume, num) / den - buyVolume));
[codex:339855]
[codex:339855] uint amountAfterFee;
[codex:339855] if (amount < outstandingVolume) {
[codex:339855] if (amount > 0) {
[codex:339855] amountAfterFee = settleFee(buyToken, sellToken, auctionIndex, amount);
[codex:339855] }
[codex:339855] } else {
[codex:339855] amount = outstandingVolume;
[codex:339855] amountAfterFee = outstandingVolume;
[codex:339855] }
[codex:339855]
[codex:339855] // Here we could also use outstandingVolume or amountAfterFee, it doesn't matter
[codex:339855] exec
[codex:339855] /bin/bash -lc "sed -n '1925,2060p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-sb_pebx5 succeeded in 5ms:
[codex:339855] mul(buyerBalance, den) / num,
[codex:339855] auctionIndex,
[codex:339855] buyerBalance,
[codex:339855] user
[codex:339855] );
[codex:339855]
[codex:339855] // Auction has closed
[codex:339855] // Reset buyerBalances and claimedAmounts
[codex:339855] buyerBalances[sellToken][buyToken][auctionIndex][user] = 0;
[codex:339855] claimedAmounts[sellToken][buyToken][auctionIndex][user] = 0;
[codex:339855] }
[codex:339855]
[codex:339855] // Claim tokens
[codex:339855] if (returned > 0) {
[codex:339855] balances[sellToken][user] = add(balances[sellToken][user], returned);
[codex:339855] }
[codex:339855]
[codex:339855] emit NewBuyerFundsClaim(
[codex:339855] sellToken,
[codex:339855] buyToken,
[codex:339855]
[codex:339855] thinking
[codex:339855] **Analyzing reentrancy and token trust assumptions**
[codex:339855] exec
[codex:339855] /bin/bash -lc "sed -n '430,620p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-sb_pebx5 succeeded in 7ms:
[codex:339855]
[codex:339855] struct UnlockedToken {
[codex:339855] uint amountUnlocked;
[codex:339855] uint withdrawalTime;
[codex:339855] }
[codex:339855]
[codex:339855] /*
[codex:339855] * Storage
[codex:339855] */
[codex:339855] address public minter;
[codex:339855]
[codex:339855] // user => UnlockedToken
[codex:339855] mapping(address => UnlockedToken) public unlockedTokens;
[codex:339855]
[codex:339855] // user => amount
[codex:339855] mapping(address => uint) public lockedTokenBalances;
[codex:339855]
[codex:339855] /*
[codex:339855] * Public functions
[codex:339855] */
[codex:339855]
[codex:339855] thinking
[codex:339855] **Investigating source file structure**
[codex:339855] exec
[codex:339855] /bin/bash -lc 'rg --files contracts' in /tmp/codex-multi-sb_pebx5 succeeded in 9ms:
[codex:339855] contracts/Contract.sol
[codex:339855]
[codex:339855] thinking
[codex:339855] **Locating relevant code lines**
[codex:339855] exec
[codex:339855] /bin/bash -lc 'rg -n "safeTransfer" contracts/Contract.sol' in /tmp/codex-multi-sb_pebx5 succeeded in 7ms:
[codex:339855] 643: function safeTransfer(address token, address to, uint value, bool from) internal returns (bool result) {
[codex:339855] 1663: require(safeTransfer(tokenAddress, msg.sender, amount, true), "The deposit transaction must succeed");
[codex:339855] 1685: require(safeTransfer(tokenAddress, msg.sender, amount, false), "The withdraw transfer must succeed");
[codex:339855]
[codex:339855] thinking
[codex:339855] **Checking specific lines in Contract.sol**
[codex:339855] exec
[codex:339855] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '630,705p'" in /tmp/codex-multi-sb_pebx5 succeeded in 6ms:
[codex:339855] 630 totalTokens = totalTokens.sub(amount);
[codex:339855] 631 emit Burnt(msg.sender, user, amount);
[codex:339855] 632 }
[codex:339855] 633 }
[codex:339855] 634
[codex:339855] 635 // File: contracts/base/SafeTransfer.sol
[codex:339855] 636
[codex:339855] 637 interface BadToken {
[codex:339855] 638 function transfer(address to, uint value) external;
[codex:339855] 639 function transferFrom(address from, address to, uint value) external;
[codex:339855] 640 }
[codex:339855] 641
[codex:339855] 642 contract SafeTransfer {
[codex:339855] 643 function safeTransfer(address token, address to, uint value, bool from) internal returns (bool result) {
[codex:339855] 644 if (from) {
[codex:339855] 645 BadToken(token).transferFrom(msg.sender, address(this), value);
[codex:339855] 646 } else {
[codex:339855] 647 BadToken(token).transfer(to, value);
[codex:339855] 648 }
[codex:339855] 649
[codex:339855]
[codex:339855] thinking
[codex:339855] **Reviewing deposit and withdraw lines**
[codex:339855] exec
[codex:339855] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '1645,1705p'" in /tmp/codex-multi-sb_pebx5 succeeded in 6ms:
[codex:339855] 1645 ethTokenMem,
[codex:339855] 1646 ethUSDPrice
[codex:339855] 1647 );
[codex:339855] 1648 }
[codex:339855] 1649
[codex:339855] 1650 // R5
[codex:339855] 1651 require(fundedValueUSD >= thresholdNewTokenPair, "You should surplus the threshold for adding token pairs");
[codex:339855] 1652
[codex:339855] 1653 // Save prices of opposite auctions
[codex:339855] 1654 closingPrices[token1][token2][0] = Fraction(initialClosingPriceNum, initialClosingPriceDen);
[codex:339855] 1655 closingPrices[token2][token1][0] = Fraction(initialClosingPriceDen, initialClosingPriceNum);
[codex:339855] 1656
[codex:339855] 1657 // Split into two fns because of 16 local-var cap
[codex:339855] 1658 addTokenPairSecondPart(token1, token2, token1Funding, token2Funding);
[codex:339855] 1659 }
[codex:339855] 1660
[codex:339855] 1661 function deposit(address tokenAddress, uint amount) public returns (uint) {
[codex:339855] 1662 // R1
[codex:339855] 1663 require(safeTransfer(tokenAddress, msg.sender, amount, true), "The deposit transaction must succeed");
[codex:339855] 1664
[codex:339855]
[codex:339855] thinking
[codex:339855] **Analyzing potential token transfer exploits**
[codex:339855] exec
[codex:339855] /bin/bash -lc 'rg -n "TokenFRT|constructor" contracts/Contract.sol' in /tmp/codex-multi-sb_pebx5 succeeded in 11ms:
[codex:339855] 16: constructor(address _masterCopy) public {
[codex:339855] 416:// File: contracts/TokenFRT.sol
[codex:339855] 419:contract TokenFRT is Proxied, GnosisStandardToken {
[codex:339855] 978: constructor() public {
[codex:339855] 1230: /// @dev constructor of the contract
[codex:339855] 1232: constructor(address _owner, address _priceFeedSource) public {
[codex:339855] 1365: TokenFRT public frtToken;
[codex:339855] 1549: TokenFRT _frtToken,
[codex:339855]
[codex:339855] thinking
[codex:339855] **Inspecting constructor in contract region**
[codex:339855] exec
[codex:339855] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '930,1015p'" in /tmp/codex-multi-sb_pebx5 succeeded in 6ms:
[codex:339855] 930 // and applying the equation for even x gives
[codex:339855] 931 // x^n = x * (x^2)^((n-1) / 2).
[codex:339855] 932 //
[codex:339855] 933 // Also, EVM division is flooring and
[codex:339855] 934 // floor[(n-1) / 2] = floor[n / 2].
[codex:339855] 935
[codex:339855] 936 z = n % 2 != 0 ? x : RAY;
[codex:339855] 937
[codex:339855] 938 for (n /= 2; n != 0; n /= 2) {
[codex:339855] 939 x = rmul(x, x);
[codex:339855] 940
[codex:339855] 941 if (n % 2 != 0) {
[codex:339855] 942 z = rmul(z, x);
[codex:339855] 943 }
[codex:339855] 944 }
[codex:339855] 945 }
[codex:339855] 946
[codex:339855] 947 function rmin(uint128 x, uint128 y) internal pure returns (uint128) {
[codex:339855] 948 return hmin(x, y);
[codex:339855] 949 }
[codex:339855]
[codex:339855] thinking
[codex:339855] **Analyzing potential exploit paths**
[codex:339855] exec
[codex:339855] /bin/bash -lc "sed -n '730,900p' contracts/Contract.sol" in /tmp/codex-multi-sb_pebx5 succeeded in 6ms:
[codex:339855] if (a < b) {
[codex:339855] return a;
[codex:339855] } else {
[codex:339855] return b;
[codex:339855] }
[codex:339855] }
[codex:339855]
[codex:339855] function atleastZero(int a) public pure returns (uint) {
[codex:339855] if (a < 0) {
[codex:339855] return 0;
[codex:339855] } else {
[codex:339855] return uint(a);
[codex:339855] }
[codex:339855] }
[codex:339855]
[codex:339855] /// @dev Returns whether an add operation causes an overflow
[codex:339855] /// @param a First addend
[codex:339855] /// @param b Second addend
[codex:339855] /// @return Did no overflow occur?
[codex:339855] function safeToAdd(uint a, uint b) public pure returns (bool) {
[codex:339855]
[codex:339855] thinking
[codex:339855] **Analyzing potential vulnerabilities and reentrancy**
[codex:339855] exec
[codex:339855] /bin/bash -lc "sed -n '1690,1795p' contracts/Contract.sol" in /tmp/codex-multi-sb_pebx5 succeeded in 7ms:
[codex:339855]
[codex:339855] function postSellOrder(address sellToken, address buyToken, uint auctionIndex, uint amount)
[codex:339855] public
[codex:339855] returns (uint, uint)
[codex:339855] {
[codex:339855] // Note: if a user specifies auctionIndex of 0, it
[codex:339855] // means he is agnostic which auction his sell order goes into
[codex:339855]
[codex:339855] amount = min(amount, balances[sellToken][msg.sender]);
[codex:339855]
[codex:339855] // R1
[codex:339855] // require(amount >= 0, "Sell amount should be greater than 0");
[codex:339855]
[codex:339855] // R2
[codex:339855] uint latestAuctionIndex = getAuctionIndex(sellToken, buyToken);
[codex:339855] require(latestAuctionIndex > 0);
[codex:339855]
[codex:339855] // R3
[codex:339855] uint auctionStart = getAuctionStart(sellToken, buyToken);
[codex:339855] if (auctionStart == AUCTION_START_WAITING_FOR_FUNDING || auctionStart > now) {
[codex:339855]
[codex:339855] thinking
[codex:339855] **Analyzing potential reentrancy and initialization risks**
[codex:339855] exec
[codex:339855] /bin/bash -lc 'rg -n "setup|initialize|init" contracts/Contract.sol' in /tmp/codex-multi-sb_pebx5 succeeded in 6ms:
[codex:339855] 617: require(minter != address(0), "The minter must be initialized");
[codex:339855] 1289: function initiateEthUsdOracleUpdate(PriceOracleInterface _ethUSDOracle) public onlyAuctioneer {
[codex:339855] 1548: function setupDutchExchange(
[codex:339855] 1558: // Make sure contract hasn't been initialised
[codex:339855] 1559: require(ethToken == address(0), "The contract must be uninitialized");
[codex:339855] 1585: /// @param initialClosingPriceNum initial price will be 2 * initialClosingPrice. This is its numerator
[codex:339855] 1586: /// @param initialClosingPriceDen initial price will be 2 * initialClosingPrice. This is its denominator
[codex:339855] 1592: uint initialClosingPriceNum,
[codex:339855] 1593: uint initialClosingPriceDen
[codex:339855] 1600: require(initialClosingPriceNum != 0, "You must set the numerator for the initial price");
[codex:339855] 1603: require(initialClosingPriceDen != 0, "You must set the denominator for the initial price");
[codex:339855] 1609: require(initialClosingPriceNum < 10 ** 18, "You must set a smaller numerator for the initial price");
[codex:339855] 1612: require(initialClosingPriceDen < 10 ** 18, "You must set a smaller denominator for the initial price");
[codex:339855] 1654: closingPrices[token1][token2][0] = Fraction(initialClosingPriceNum, initialClosingPriceDen);
[codex:339855] 1655: closingPrices[token2][token1][0] = Fraction(initialClosingPriceDen, initialClosingPriceNum);
[codex:339855]
[codex:339855] thinking
[codex:339855] **Analyzing unprotected initializer and proxy hijacking vulnerability**
[codex:339855]
[codex:339855] I’m evaluating the risk in `setupDutchExchange` as an unprotected initialize function in proxies that lets an attacker seize control if called before legit initialization. This enables a step-by-step exploit to set malicious tokens, upgrade the master copy after 30 days, and drain all contract funds. I’m weighing if unchecked token transfers cause a new exploit but lean toward only reporting the proxy hijack due to its clear profit path and code patterns flagged in instructions.
[codex:339855] exec
[codex:339855] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '1308,1345p'" in /tmp/codex-multi-sb_pebx5 succeeded in 9ms:
[codex:339855] 1308
[codex:339855] 1309 contract DxUpgrade is Proxied, AuctioneerManaged, DxMath {
[codex:339855] 1310 uint constant WAITING_PERIOD_CHANGE_MASTERCOPY = 30 days;
[codex:339855] 1311
[codex:339855] 1312 address public newMasterCopy;
[codex:339855] 1313 // Time when new masterCopy is updatabale
[codex:339855] 1314 uint public masterCopyCountdown;
[codex:339855] 1315
[codex:339855] 1316 event NewMasterCopyProposal(address newMasterCopy);
[codex:339855] 1317
[codex:339855] 1318 function startMasterCopyCountdown(address _masterCopy) public onlyAuctioneer {
[codex:339855] 1319 require(_masterCopy != address(0), "The new master copy must be a valid address");
[codex:339855] 1320
[codex:339855] 1321 // Update masterCopyCountdown
[codex:339855] 1322 newMasterCopy = _masterCopy;
[codex:339855] 1323 masterCopyCountdown = add(block.timestamp, WAITING_PERIOD_CHANGE_MASTERCOPY);
[codex:339855] 1324 emit NewMasterCopyProposal(_masterCopy);
[codex:339855] 1325 }
[codex:339855] 1326
[codex:339855] 1327 function updateMasterCopy() public {
[codex:339855]
[codex:339855] thinking
[codex:339855] **Preparing to show line numbers**
[codex:339855] exec
[codex:339855] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '1538,1595p'" in /tmp/codex-multi-sb_pebx5 succeeded in 7ms:
[codex:339855] 1538 return masterCopy;
[codex:339855] 1539 }
[codex:339855] 1540
[codex:339855] 1541 /// @dev Constructor-Function creates exchange
[codex:339855] 1542 /// @param _frtToken - address of frtToken ERC-20 token
[codex:339855] 1543 /// @param _owlToken - address of owlToken ERC-20 token
[codex:339855] 1544 /// @param _auctioneer - auctioneer for managing interfaces
[codex:339855] 1545 /// @param _ethToken - address of ETH ERC-20 token
[codex:339855] 1546 /// @param _ethUSDOracle - address of the oracle contract for fetching feeds
[codex:339855] 1547 /// @param _thresholdNewTokenPair - Minimum required sell funding for adding a new token pair, in USD
[codex:339855] 1548 function setupDutchExchange(
[codex:339855] 1549 TokenFRT _frtToken,
[codex:339855] 1550 TokenOWL _owlToken,
[codex:339855] 1551 address _auctioneer,
[codex:339855] 1552 address _ethToken,
[codex:339855] 1553 PriceOracleInterface _ethUSDOracle,
[codex:339855] 1554 uint _thresholdNewTokenPair,
[codex:339855] 1555 uint _thresholdNewAuction
[codex:339855] 1556 ) public
[codex:339855] 1557 {
[codex:339855]
[codex:339855] thinking
[codex:339855] **Composing detailed security report JSON**
[codex:339855] codex
[codex:339855] {"no_findings":false,"summary":"Found 1 critical proxy-hijack path via an unprotected initializer that lets an attacker take over and upgrade the exchange implementation.","findings":[{"severity":"critical","category":"upgradeability","title":"Unprotected initializer lets anyone seize auctioneer role and upgrade to a draining master copy","exploit_scenario":"1) Monitor for a newly deployed DutchExchange proxy that has not yet been initialized (ethToken == address(0)). 2) Call setupDutchExchange with attacker-controlled parameters, setting auctioneer to the attacker and optionally pointing ethToken/frtToken/owlToken to attacker-controlled contracts. 3) As auctioneer, call startMasterCopyCountdown with a malicious implementation; after 30 days, call updateMasterCopy. 4) Invoke the malicious implementation’s drain function (or use the fake ethToken path to trade worthless tokens for real deposits) to transfer all escrowed assets to the attacker.","recommendation":"Restrict setupDutchExchange to a trusted initializer (e.g., onlyDeployer/onlyOwner), and initialize the proxy in the same transaction as deployment. Consider an explicit initializer guard (e.g., OpenZeppelin Initializable) and/or disabling initialization on the master copy.","evidence":"setupDutchExchange is public and only checks ethToken == address(0) before setting auctioneer and core addresses, allowing any first caller to take control.","locations":["contracts/Contract.sol:1548","contracts/Contract.sol:1558","contracts/Contract.sol:1568","contracts/Contract.sol:1318","contracts/Contract.sol:1327"]}]}
[codex:339855] tokens used
[codex:339855] 98,626
[codex:339855] {"no_findings":false,"summary":"Found 1 critical proxy-hijack path via an unprotected initializer that lets an attacker take over and upgrade the exchange implementation.","findings":[{"severity":"critical","category":"upgradeability","title":"Unprotected initializer lets anyone seize auctioneer role and upgrade to a draining master copy","exploit_scenario":"1) Monitor for a newly deployed DutchExchange proxy that has not yet been initialized (ethToken == address(0)). 2) Call setupDutchExchange with attacker-controlled parameters, setting auctioneer to the attacker and optionally pointing ethToken/frtToken/owlToken to attacker-controlled contracts. 3) As auctioneer, call startMasterCopyCountdown with a malicious implementation; after 30 days, call updateMasterCopy. 4) Invoke the malicious implementation’s drain function (or use the fake ethToken path to trade worthless tokens for real deposits) to transfer all escrowed assets to the attacker.","recommendation":"Restrict setupDutchExchange to a trusted initializer (e.g., onlyDeployer/onlyOwner), and initialize the proxy in the same transaction as deployment. Consider an explicit initializer guard (e.g., OpenZeppelin Initializable) and/or disabling initialization on the master copy.","evidence":"setupDutchExchange is public and only checks ethToken == address(0) before setting auctioneer and core addresses, allowing any first caller to take control.","locations":["contracts/Contract.sol:1548","contracts/Contract.sol:1558","contracts/Contract.sol:1568","contracts/Contract.sol:1318","contracts/Contract.sol:1327"]}]}
{
"codex": {
"ran_at": "2025-12-31T21:20:25.362367+00:00",
"returncode": 0
},
"summary": "Found 1 critical proxy-hijack path via an unprotected initializer that lets an attacker take over and upgrade the exchange implementation.",
"raw_final": {
"summary": "Found 1 critical proxy-hijack path via an unprotected initializer that lets an attacker take over and upgrade the exchange implementation.",
"findings": [
{
"title": "Unprotected initializer lets anyone seize auctioneer role and upgrade to a draining master copy",
"category": "upgradeability",
"evidence": "setupDutchExchange is public and only checks ethToken == address(0) before setting auctioneer and core addresses, allowing any first caller to take control.",
"severity": "critical",
"locations": [
"contracts/Contract.sol:1548",
"contracts/Contract.sol:1558",
"contracts/Contract.sol:1568",
"contracts/Contract.sol:1318",
"contracts/Contract.sol:1327"
],
"recommendation": "Restrict setupDutchExchange to a trusted initializer (e.g., onlyDeployer/onlyOwner), and initialize the proxy in the same transaction as deployment. Consider an explicit initializer guard (e.g., OpenZeppelin Initializable) and/or disabling initialization on the master copy.",
"exploit_scenario": "1) Monitor for a newly deployed DutchExchange proxy that has not yet been initialized (ethToken == address(0)). 2) Call setupDutchExchange with attacker-controlled parameters, setting auctioneer to the attacker and optionally pointing ethToken/frtToken/owlToken to attacker-controlled contracts. 3) As auctioneer, call startMasterCopyCountdown with a malicious implementation; after 30 days, call updateMasterCopy. 4) Invoke the malicious implementation\u2019s drain function (or use the fake ethToken path to trade worthless tokens for real deposits) to transfer all escrowed assets to the attacker."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: CALLVALUE 00000006: DUP1 00000007: ISZERO 00000008: PUSH2 0x0010 0000000b: JUMPI 0000000c: PUSH1 0x00 0000000e: DUP1 0000000f: REVERT 00000010: JUMPDEST 00000011: POP 00000012: PUSH1 0x04 00000014: CALLDATASIZE 00000015: LT 00000016: PUSH2 0x03f4 00000019: JUMPI 0000001a: PUSH1 0x00 0000001c: CALLDATALOAD 0000001d: PUSH1 0xe0 0000001f: PUSH1 0x02 00000021: EXP 00000022: SWAP1 00000023: DIV 00000024: DUP1 00000025: PUSH4 0x82a57b43 0000002a: GT 0000002b: PUSH2 0x0219 0000002e: JUMPI 0000002f: DUP1 00000030: PUSH4 0xcd94a2a4 00000035: GT 00000036: PUSH2 0x0129 00000039: JUMPI 0000003a: DUP1 0000003b: PUSH4 0xedd0b5cb 00000040: GT 00000041: PUSH2 0x00bc 00000044: JUMPI 00000045: DUP1 00000046: PUSH4 0xf4279d1f 0000004b: GT 0000004c: PUSH2 0x008b 0000004f: JUMPI 00000050: DUP1 00000051: PUSH4 0xf4279d1f 00000056: EQ 00000057: PUSH2 0x1397 0000005a: JUMPI 0000005b: DUP1 0000005c: PUSH4 0xf625ee28 00000061: EQ 00000062: PUSH2 0x139f 00000065: JUMPI 00000066: DUP1 00000067: PUSH4 0xf79710fd 0000006c: EQ 0000006d: PUSH2 0x13c5 00000070: JUMPI 00000071: DUP1 00000072: PUSH4 0xfac7abe3 00000077: EQ 00000078: PUSH2 0x13fb 0000007b: JUMPI 0000007c: DUP1 0000007d: PUSH4 0xfdab1b7b 00000082: EQ 00000083: PUSH2 0x1429 00000086: JUMPI 00000087: PUSH2 0x03f4 0000008a: JUMP 0000008b: JUMPDEST 0000008c: DUP1 0000008d: PUSH4 0xedd0b5cb 00000092: EQ 00000093: PUSH2 0x1317 00000096: JUMPI 00000097: DUP1 00000098: PUSH4 0xee93114c 0000009d: EQ 0000009e: PUSH2 0x133d 000000a1: JUMPI 000000a2: DUP1 000000a3: PUSH4 0xf3fef3a3 000000a8: EQ 000000a9: PUSH2 0x1345 000000ac: JUMPI 000000ad: DUP1 000000ae: PUSH4 0xf41d97fc 000000b3: EQ 000000b4: PUSH2 0x1371 000000b7: JUMPI 000000b8: PUSH2 0x03f4 000000bb: JUMP 000000bc: JUMPDEST 000000bd: DUP1 000000be: PUSH4 0xe1c95bb9 000000c3: GT 000000c4: PUSH2 0x00f8 000000c7: JUMPI 000000c8: DUP1 000000c9: PUSH4 0xe1c95bb9 000000ce: EQ 000000cf: PUSH2 0x1259 000000d2: JUMPI 000000d3: DUP1 000000d4: PUSH4 0xe31c71c4 000000d9: EQ 000000da: PUSH2 0x1276 000000dd: JUMPI 000000de: DUP1 000000df: PUSH4 0xe9f8cd70 000000e4: EQ 000000e5: PUSH2 0x1299 000000e8: JUMPI 000000e9: DUP1 000000ea: PUSH4 0xebcc0de1 000000ef: EQ 000000f0: PUSH2 0x12e1 000000f3: JUMPI 000000f4: PUSH2 0x03f4 000000f7: JUMP 000000f8: JUMPDEST 000000f9: DUP1 000000fa: PUSH4 0xcd94a2a4 000000ff: EQ 00000100: PUSH2 0x10ca 00000103: JUMPI 00000104: DUP1 00000105: PUSH4 0xd3cc8d1c 0000010a: EQ 0000010b: PUSH2 0x10d2 0000010e: JUMPI 0000010f: DUP1 00000110: PUSH4 0xdae595e5 00000115: EQ 00000116: PUSH2 0x11ef 00000119: JUMPI 0000011a: DUP1 0000011b: PUSH4 0xdf6af7d1 00000120: EQ 00000121: PUSH2 0x121d 00000124: JUMPI 00000125: PUSH2 0x03f4 00000128: JUMP 00000129: JUMPDEST 0000012a: DUP1 0000012b: PUSH4 0xb64c4905 00000130: GT 00000131: PUSH2 0x01ac 00000134: JUMPI 00000135: DUP1 00000136: PUSH4 0xc23f001f 0000013b: GT 0000013c: PUSH2 0x017b 0000013f: JUMPI 00000140: DUP1 00000141: PUSH4 0xc23f001f 00000146: EQ 00000147: PUSH2 0x1031 0000014a: JUMPI 0000014b: DUP1 0000014c: PUSH4 0xc6af43f9 00000151: EQ 00000152: PUSH2 0x105f 00000155: JUMPI 00000156: DUP1 00000157: PUSH4 0xc8a4ac9c 0000015c: EQ 0000015d: PUSH2 0x107c 00000160: JUMPI 00000161: DUP1 00000162: PUSH4 0xcb10fa76 00000167: EQ 00000168: PUSH2 0x109f 0000016b: JUMPI 0000016c: DUP1 0000016d: PUSH4 0xcd04ccfc 00000172: EQ 00000173: PUSH2 0x10c2 00000176: JUMPI 00000177: PUSH2 0x03f4 0000017a: JUMP 0000017b: JUMPDEST 0000017c: DUP1 0000017d: PUSH4 0xb64c4905 00000182: EQ 00000183: PUSH2 0x0f76 00000186: JUMPI 00000187: DUP1 00000188: PUSH4 0xb67d77c5 0000018d: EQ 0000018e: PUSH2 0x0fa4 00000191: JUMPI 00000192: DUP1 00000193: PUSH4 0xb8beafd6 00000198: EQ 00000199: PUSH2 0x0fc7 0000019c: JUMPI 0000019d: DUP1 0000019e: PUSH4 0xc1a21bf3 000001a3: EQ 000001a4: PUSH2 0x0ff5 000001a7: JUMPI 000001a8: PUSH2 0x03f4 000001ab: JUMP 000001ac: JUMPDEST 000001ad: DUP1 000001ae: PUSH4 0xacb10351 000001b3: GT 000001b4: PUSH2 0x01e8 000001b7: JUMPI 000001b8: DUP1 000001b9: PUSH4 0xacb10351 000001be: EQ 000001bf: PUSH2 0x0e84 000001c2: JUMPI 000001c3: DUP1 000001c4: PUSH4 0xb0293850 000001c9: EQ 000001ca: PUSH2 0x0ed6 000001cd: JUMPI 000001ce: DUP1 000001cf: PUSH4 0xb04c0239 000001d4: EQ 000001d5: PUSH2 0x0f12 000001d8: JUMPI 000001d9: DUP1 000001da: PUSH4 0xb3c2083f 000001df: EQ 000001e0: PUSH2 0x0f48 000001e3: JUMPI 000001e4: PUSH2 0x03f4 000001e7: JUMP 000001e8: JUMPDEST 000001e9: DUP1 000001ea: PUSH4 0x82a57b43 000001ef: EQ 000001f0: PUSH2 0x0d24 000001f3: JUMPI 000001f4: DUP1 000001f5: PUSH4 0x9fec8e96 000001fa: EQ 000001fb: PUSH2 0x0e38 000001fe: JUMPI 000001ff: DUP1 00000200: PUSH4 0xa48cef4a 00000205: EQ 00000206: PUSH2 0x0e74 00000209: JUMPI 0000020a: DUP1 0000020b: PUSH4 0xa619486e 00000210: EQ 00000211: PUSH2 0x0e7c 00000214: JUMPI 00000215: PUSH2 0x03f4 00000218: JUMP 00000219: JUMPDEST 0000021a: DUP1 0000021b: PUSH4 0x5e7f22c2 00000220: GT 00000221: PUSH2 0x0314 00000224: JUMPI 00000225: DUP1 00000226: PUSH4 0x706eb3ab 0000022b: GT 0000022c: PUSH2 0x02a7 0000022f: JUMPI 00000230: DUP1 00000231: PUSH4 0x796a8076 00000236: GT 00000237: PUSH2 0x0276 0000023a: JUMPI 0000023b: DUP1 0000023c: PUSH4 0x796a8076 00000241: EQ 00000242: PUSH2 0x0c95 00000245: JUMPI 00000246: DUP1 00000247: PUSH4 0x7ae2b5c7 0000024c: EQ 0000024d: PUSH2 0x0cbb 00000250: JUMPI 00000251: DUP1 00000252: PUSH4 0x7bf1a627 00000257: EQ 00000258: PUSH2 0x0cde 0000025b: JUMPI 0000025c: DUP1 0000025d: PUSH4 0x821b98f3 00000262: EQ 00000263: PUSH2 0x0ce6 00000266: JUMPI 00000267: DUP1 00000268: PUSH4 0x8261eb1b 0000026d: EQ 0000026e: PUSH2 0x0d1c 00000271: JUMPI 00000272: PUSH2 0x03f4 00000275: JUMP 00000276: JUMPDEST 00000277: DUP1 00000278: PUSH4 0x706eb3ab 0000027d: EQ 0000027e: PUSH2 0x0a7e 00000281: JUMPI 00000282: DUP1 00000283: PUSH4 0x7420a32f 00000288: EQ 00000289: PUSH2 0x0a86 0000028c: JUMPI 0000028d: DUP1 0000028e: PUSH4 0x771602f7 00000293: EQ 00000294: PUSH2 0x0abc 00000297: JUMPI 00000298: DUP1 00000299: PUSH4 0x7895dd21 0000029e: EQ 0000029f: PUSH2 0x0adf 000002a2: JUMPI 000002a3: PUSH2 0x03f4 000002a6: JUMP 000002a7: JUMPDEST 000002a8: DUP1 000002a9: PUSH4 0x65b0d711 000002ae: GT 000002af: PUSH2 0x02e3 000002b2: JUMPI 000002b3: DUP1 000002b4: PUSH4 0x65b0d711 000002b9: EQ 000002ba: PUSH2 0x09a3 000002bd: JUMPI 000002be: DUP1 000002bf: PUSH4 0x6d1ea3fa 000002c4: EQ 000002c5: PUSH2 0x0a48 000002c8: JUMPI 000002c9: DUP1 000002ca: PUSH4 0x6e6260fa 000002cf: EQ 000002d0: PUSH2 0x0a6e 000002d3: JUMPI 000002d4: DUP1 000002d5: PUSH4 0x6ea68360 000002da: EQ 000002db: PUSH2 0x0a76 000002de: JUMPI 000002df: PUSH2 0x03f4 000002e2: JUMP 000002e3: JUMPDEST 000002e4: DUP1 000002e5: PUSH4 0x5e7f22c2 000002ea: EQ 000002eb: PUSH2 0x08ed 000002ee: JUMPI 000002ef: DUP1 000002f0: PUSH4 0x5ec2c7bf 000002f5: EQ 000002f6: PUSH2 0x0929 000002f9: JUMPI 000002fa: DUP1 000002fb: PUSH4 0x65054e55 00000300: EQ 00000301: PUSH2 0x0931 00000304: JUMPI 00000305: DUP1 00000306: PUSH4 0x657a37ad 0000030b: EQ 0000030c: PUSH2 0x096d 0000030f: JUMPI 00000310: PUSH2 0x03f4 00000313: JUMP 00000314: JUMPDEST 00000315: DUP1 00000316: PUSH4 0x2cef4dac 0000031b: GT 0000031c: PUSH2 0x038c 0000031f: JUMPI 00000320: DUP1 00000321: PUSH4 0x47e7ef24 00000326: GT 00000327: PUSH2 0x035b 0000032a: JUMPI 0000032b: DUP1 0000032c: PUSH4 0x47e7ef24 00000331: EQ 00000332: PUSH2 0x07ff 00000335: JUMPI 00000336: DUP1 00000337: PUSH4 0x4bf8e7a2 0000033c: EQ 0000033d: PUSH2 0x082b 00000340: JUMPI 00000341: DUP1 00000342: PUSH4 0x4e30a66c 00000347: EQ 00000348: PUSH2 0x087a 0000034b: JUMPI 0000034c: DUP1 0000034d: PUSH4 0x59f96ae5 00000352: EQ 00000353: PUSH2 0x08b1 00000356: JUMPI 00000357: PUSH2 0x03f4 0000035a: JUMP 0000035b: JUMPDEST 0000035c: DUP1 0000035d: PUSH4 0x2cef4dac 00000362: EQ 00000363: PUSH2 0x0776 00000366: JUMPI 00000367: DUP1 00000368: PUSH4 0x30690468 0000036d: EQ 0000036e: PUSH2 0x0780 00000371: JUMPI 00000372: DUP1 00000373: PUSH4 0x37775807 00000378: EQ 00000379: PUSH2 0x079d 0000037c: JUMPI 0000037d: DUP1 0000037e: PUSH4 0x403fbf54 00000383: EQ 00000384: PUSH2 0x07d9 00000387: JUMPI 00000388: PUSH2 0x03f4 0000038b: JUMP 0000038c: JUMPDEST 0000038d: DUP1 0000038e: PUSH4 0x0c57cfba 00000393: GT 00000394: PUSH2 0x03c8 00000397: JUMPI 00000398: DUP1 00000399: PUSH4 0x0c57cfba 0000039e: EQ 0000039f: PUSH2 0x0591 000003a2: JUMPI 000003a3: DUP1 000003a4: PUSH4 0x0e7c0f80 000003a9: EQ 000003aa: PUSH2 0x0700 000003ad: JUMPI 000003ae: DUP1 000003af: PUSH4 0x1006a41f 000003b4: EQ 000003b5: PUSH2 0x071a 000003b8: JUMPI 000003b9: DUP1 000003ba: PUSH4 0x14584a9d 000003bf: EQ 000003c0: PUSH2 0x0748 000003c3: JUMPI 000003c4: PUSH2 0x03f4 000003c7: JUMP 000003c8: JUMPDEST 000003c9: DUP1 000003ca: PUSH3 0x599e65 000003ce: EQ 000003cf: PUSH2 0x03f9 000003d2: JUMPI 000003d3: DUP1 000003d4: PUSH4 0x02ffc0b0 000003d9: EQ 000003da: PUSH2 0x044d 000003dd: JUMPI 000003de: DUP1 000003df: PUSH4 0x04e80e90 000003e4: EQ 000003e5: PUSH2 0x050d 000003e8: JUMPI 000003e9: DUP1 000003ea: PUSH4 0x06d58f2a 000003ef: EQ 000003f0: PUSH2 0x0531 000003f3: JUMPI 000003f4: JUMPDEST 000003f5: PUSH1 0x00 000003f7: DUP1 000003f8: REVERT 000003f9: JUMPDEST 000003fa: PUSH2 0x0427 000003fd: PUSH1 0x04 000003ff: DUP1 00000400: CALLDATASIZE 00000401: SUB 00000402: PUSH1 0x40 00000404: DUP2 00000405: LT 00000406: ISZERO 00000407: PUSH2 0x040f 0000040a: JUMPI 0000040b: PUSH1 0x00 0000040d: DUP1 0000040e: REVERT 0000040f: JUMPDEST 00000410: POP 00000411: PUSH1 0x01 00000413: PUSH1 0xa0 00000415: PUSH1 0x02 00000417: EXP 00000418: SUB 00000419: DUP2 0000041a: CALLDATALOAD 0000041b: DUP2 0000041c: AND 0000041d: SWAP2 0000041e: PUSH1 0x20 00000420: ADD 00000421: CALLDATALOAD 00000422: AND 00000423: PUSH2 0x145f 00000426: JUMP 00000427: JUMPDEST 00000428: PUSH1 0x40 0000042a: DUP1 0000042b: MLOAD 0000042c: PUSH1 0x01 0000042e: PUSH1 0xa0 00000430: PUSH1 0x02 00000432: EXP 00000433: SUB 00000434: SWAP4 00000435: DUP5 00000436: AND 00000437: DUP2 00000438: MSTORE 00000439: SWAP2 0000043a: SWAP1 0000043b: SWAP3 0000043c: AND 0000043d: PUSH1 0x20 0000043f: DUP3 00000440: ADD 00000441: MSTORE 00000442: DUP2 00000443: MLOAD 00000444: SWAP1 00000445: DUP2 00000446: SWAP1 00000447: SUB 00000448: SWAP1 00000449: SWAP2 0000044a: ADD 0000044b: SWAP1 0000044c: RETURN 0000044d: JUMPDEST 0000044e: PUSH2 0x04bd 00000451: PUSH1 0x04 00000453: DUP1 00000454: CALLDATASIZE 00000455: SUB 00000456: PUSH1 0x20 00000458: DUP2 00000459: LT 0000045a: ISZERO 0000045b: PUSH2 0x0463 0000045e: JUMPI 0000045f: PUSH1 0x00 00000461: DUP1 00000462: REVERT 00000463: JUMPDEST 00000464: DUP2 00000465: ADD 00000466: SWAP1 00000467: PUSH1 0x20 00000469: DUP2 0000046a: ADD 0000046b: DUP2 0000046c: CALLDATALOAD 0000046d: PUSH5 0x0100000000 00000473: DUP2 00000474: GT 00000475: ISZERO 00000476: PUSH2 0x047e 00000479: JUMPI 0000047a: PUSH1 0x00 0000047c: DUP1 0000047d: REVERT 0000047e: JUMPDEST 0000047f: DUP3 00000480: ADD 00000481: DUP4 00000482: PUSH1 0x20 00000484: DUP3 00000485: ADD 00000486: GT 00000487: ISZERO 00000488: PUSH2 0x0490 0000048b: JUMPI 0000048c: PUSH1 0x00 0000048e: DUP1 0000048f: REVERT 00000490: JUMPDEST 00000491: DUP1 00000492: CALLDATALOAD 00000493: SWAP1 00000494: PUSH1 0x20 00000496: ADD 00000497: SWAP2 00000498: DUP5 00000499: PUSH1 0x20 0000049b: DUP4 0000049c: MUL 0000049d: DUP5 0000049e: ADD 0000049f: GT 000004a0: PUSH5 0x0100000000 000004a6: DUP4 000004a7: GT 000004a8: OR 000004a9: ISZERO 000004aa: PUSH2 0x04b2 000004ad: JUMPI 000004ae: PUSH1 0x00 000004b0: DUP1 000004b1: REVERT 000004b2: JUMPDEST 000004b3: POP 000004b4: SWAP1 000004b5: SWAP3 000004b6: POP 000004b7: SWAP1 000004b8: POP 000004b9: PUSH2 0x1488 000004bc: JUMP 000004bd: JUMPDEST 000004be: PUSH1 0x40 000004c0: DUP1 000004c1: MLOAD 000004c2: PUSH1 0x20 000004c4: DUP1 000004c5: DUP3 000004c6: MSTORE 000004c7: DUP4 000004c8: MLOAD 000004c9: DUP2 000004ca: DUP4 000004cb: ADD 000004cc: MSTORE 000004cd: DUP4 000004ce: MLOAD 000004cf: SWAP2 000004d0: SWAP3 000004d1: DUP4 000004d2: SWAP3 000004d3: SWAP1 000004d4: DUP4 000004d5: ADD 000004d6: SWAP2 000004d7: DUP6 000004d8: DUP2 000004d9: ADD 000004da: SWAP2 000004db: MUL 000004dc: DUP1 000004dd: DUP4 000004de: DUP4 000004df: PUSH1 0x00 000004e1: JUMPDEST 000004e2: DUP4 000004e3: DUP2 000004e4: LT 000004e5: ISZERO 000004e6: PUSH2 0x04f9 000004e9: JUMPI 000004ea: DUP2 000004eb: DUP2 000004ec: ADD 000004ed: MLOAD 000004ee: DUP4 000004ef: DUP3 000004f0: ADD 000004f1: MSTORE 000004f2: PUSH1 0x20 000004f4: ADD 000004f5: PUSH2 0x04e1 000004f8: JUMP 000004f9: JUMPDEST 000004fa: POP 000004fb: POP 000004fc: POP 000004fd: POP 000004fe: SWAP1 000004ff: POP 00000500: ADD 00000501: SWAP3 00000502: POP 00000503: POP 00000504: POP 00000505: PUSH1 0x40 00000507: MLOAD 00000508: DUP1 00000509: SWAP2 0000050a: SUB 0000050b: SWAP1 0000050c: RETURN 0000050d: JUMPDEST 0000050e: PUSH2 0x0515 00000511: PUSH2 0x1544 00000514: JUMP 00000515: JUMPDEST 00000516: PUSH1 0x40 00000518: DUP1 00000519: MLOAD 0000051a: PUSH1 0x01 0000051c: PUSH1 0xa0 0000051e: PUSH1 0x02 00000520: EXP 00000521: SUB 00000522: SWAP1 00000523: SWAP3 00000524: AND 00000525: DUP3 00000526: MSTORE 00000527: MLOAD 00000528: SWAP1 00000529: DUP2 0000052a: SWAP1 0000052b: SUB 0000052c: PUSH1 0x20 0000052e: ADD 0000052f: SWAP1 00000530: RETURN 00000531: JUMPDEST 00000532: PUSH2 0x0573 00000535: PUSH1 0x04 00000537: DUP1 00000538: CALLDATASIZE 00000539: SUB 0000053a: PUSH1 0xa0 0000053c: DUP2 0000053d: LT 0000053e: ISZERO 0000053f: PUSH2 0x0547 00000542: JUMPI 00000543: PUSH1 0x00 00000545: DUP1 00000546: REVERT 00000547: JUMPDEST 00000548: POP 00000549: PUSH1 0x01 0000054b: PUSH1 0xa0 0000054d: PUSH1 0x02 0000054f: EXP 00000550: SUB 00000551: DUP2 00000552: CALLDATALOAD 00000553: DUP2 00000554: AND 00000555: SWAP2 00000556: PUSH1 0x20 00000558: DUP2 00000559: ADD 0000055a: CALLDATALOAD 0000055b: DUP3 0000055c: AND 0000055d: SWAP2 0000055e: PUSH1 0x40 00000560: DUP3 00000561: ADD 00000562: CALLDATALOAD 00000563: AND 00000564: SWAP1 00000565: PUSH1 0x60 00000567: DUP2 00000568: ADD 00000569: CALLDATALOAD 0000056a: SWAP1 0000056b: PUSH1 0x80 0000056d: ADD 0000056e: CALLDATALOAD 0000056f: PUSH2 0x1553 00000572: JUMP 00000573: JUMPDEST 00000574: PUSH1 0x40 00000576: DUP1 00000577: MLOAD 00000578: SWAP4 00000579: DUP5 0000057a: MSTORE 0000057b: PUSH1 0x20 0000057d: DUP5 0000057e: ADD 0000057f: SWAP3 00000580: SWAP1 00000581: SWAP3 00000582: MSTORE 00000583: DUP3 00000584: DUP3 00000585: ADD 00000586: MSTORE 00000587: MLOAD 00000588: SWAP1 00000589: DUP2 0000058a: SWAP1 0000058b: SUB 0000058c: PUSH1 0x60 0000058e: ADD 0000058f: SWAP1 00000590: RETURN 00000591: JUMPDEST 00000592: PUSH2 0x06a5 00000595: PUSH1 0x04 00000597: DUP1 00000598: CALLDATASIZE 00000599: SUB 0000059a: PUSH1 0x60 0000059c: DUP2 0000059d: LT 0000059e: ISZERO 0000059f: PUSH2 0x05a7 000005a2: JUMPI 000005a3: PUSH1 0x00 000005a5: DUP1 000005a6: REVERT 000005a7: JUMPDEST 000005a8: DUP2 000005a9: ADD 000005aa: SWAP1 000005ab: PUSH1 0x20 000005ad: DUP2 000005ae: ADD 000005af: DUP2 000005b0: CALLDATALOAD 000005b1: PUSH5 0x0100000000 000005b7: DUP2 000005b8: GT 000005b9: ISZERO 000005ba: PUSH2 0x05c2 000005bd: JUMPI 000005be: PUSH1 0x00 000005c0: DUP1 000005c1: REVERT 000005c2: JUMPDEST 000005c3: DUP3 000005c4: ADD 000005c5: DUP4 000005c6: PUSH1 0x20 000005c8: DUP3 000005c9: ADD 000005ca: GT 000005cb: ISZERO 000005cc: PUSH2 0x05d4 000005cf: JUMPI 000005d0: PUSH1 0x00 000005d2: DUP1 000005d3: REVERT 000005d4: JUMPDEST 000005d5: DUP1 000005d6: CALLDATALOAD 000005d7: SWAP1 000005d8: PUSH1 0x20 000005da: ADD 000005db: SWAP2 000005dc: DUP5 000005dd: PUSH1 0x20 000005df: DUP4 000005e0: MUL 000005e1: DUP5 000005e2: ADD 000005e3: GT 000005e4: PUSH5 0x0100000000 000005ea: DUP4 000005eb: GT 000005ec: OR 000005ed: ISZERO 000005ee: PUSH2 0x05f6 000005f1: JUMPI 000005f2: PUSH1 0x00 000005f4: DUP1 000005f5: REVERT 000005f6: JUMPDEST 000005f7: SWAP2 000005f8: SWAP4 000005f9: SWAP1 000005fa: SWAP3 000005fb: SWAP1 000005fc: SWAP2 000005fd: PUSH1 0x20 000005ff: DUP2 00000600: ADD 00000601: SWAP1 00000602: CALLDATALOAD 00000603: PUSH5 0x0100000000 00000609: DUP2 0000060a: GT 0000060b: ISZERO 0000060c: PUSH2 0x0614 0000060f: JUMPI 00000610: PUSH1 0x00 00000612: DUP1 00000613: REVERT 00000614: JUMPDEST 00000615: DUP3 00000616: ADD 00000617: DUP4 00000618: PUSH1 0x20 0000061a: DUP3 0000061b: ADD 0000061c: GT 0000061d: ISZERO 0000061e: PUSH2 0x0626 00000621: JUMPI 00000622: PUSH1 0x00 00000624: DUP1 00000625: REVERT 00000626: JUMPDEST 00000627: DUP1 00000628: CALLDATALOAD 00000629: SWAP1 0000062a: PUSH1 0x20 0000062c: ADD 0000062d: SWAP2 0000062e: DUP5 0000062f: PUSH1 0x20 00000631: DUP4 00000632: MUL 00000633: DUP5 00000634: ADD 00000635: GT 00000636: PUSH5 0x0100000000 0000063c: DUP4 0000063d: GT 0000063e: OR 0000063f: ISZERO 00000640: PUSH2 0x0648 00000643: JUMPI 00000644: PUSH1 0x00 00000646: DUP1 00000647: REVERT 00000648: JUMPDEST 00000649: SWAP2 0000064a: SWAP4 0000064b: SWAP1 0000064c: SWAP3 0000064d: SWAP1 0000064e: SWAP2 0000064f: PUSH1 0x20 00000651: DUP2 00000652: ADD 00000653: SWAP1 00000654: CALLDATALOAD 00000655: PUSH5 0x0100000000 0000065b: DUP2 0000065c: GT 0000065d: ISZERO 0000065e: PUSH2 0x0666 00000661: JUMPI 00000662: PUSH1 0x00 00000664: DUP1 00000665: REVERT 00000666: JUMPDEST 00000667: DUP3 00000668: ADD 00000669: DUP4 0000066a: PUSH1 0x20 0000066c: DUP3 0000066d: ADD 0000066e: GT 0000066f: ISZERO 00000670: PUSH2 0x0678 00000673: JUMPI 00000674: PUSH1 0x00 00000676: DUP1 00000677: REVERT 00000678: JUMPDEST 00000679: DUP1 0000067a: CALLDATALOAD 0000067b: SWAP1 0000067c: PUSH1 0x20 0000067e: ADD 0000067f: SWAP2 00000680: DUP5 00000681: PUSH1 0x20 00000683: DUP4 00000684: MUL 00000685: DUP5 00000686: ADD 00000687: GT 00000688: PUSH5 0x0100000000 0000068e: DUP4 0000068f: GT 00000690: OR 00000691: ISZERO 00000692: PUSH2 0x069a 00000695: JUMPI 00000696: PUSH1 0x00 00000698: DUP1 00000699: REVERT 0000069a: JUMPDEST 0000069b: POP 0000069c: SWAP1 0000069d: SWAP3 0000069e: POP 0000069f: SWAP1 000006a0: POP 000006a1: PUSH2 0x1580 000006a4: JUMP 000006a5: JUMPDEST 000006a6: PUSH1 0x40 000006a8: MLOAD 000006a9: DUP1 000006aa: DUP1 000006ab: PUSH1 0x20 000006ad: ADD 000006ae: DUP4 000006af: DUP2 000006b0: MSTORE 000006b1: PUSH1 0x20 000006b3: ADD 000006b4: DUP3 000006b5: DUP2 000006b6: SUB 000006b7: DUP3 000006b8: MSTORE 000006b9: DUP5 000006ba: DUP2 000006bb: DUP2 000006bc: MLOAD 000006bd: DUP2 000006be: MSTORE 000006bf: PUSH1 0x20 000006c1: ADD 000006c2: SWAP2 000006c3: POP 000006c4: DUP1 000006c5: MLOAD 000006c6: SWAP1 000006c7: PUSH1 0x20 000006c9: ADD 000006ca: SWAP1 000006cb: PUSH1 0x20 000006cd: MUL 000006ce: DUP1 000006cf: DUP4 000006d0: DUP4 000006d1: PUSH1 0x00 000006d3: JUMPDEST 000006d4: DUP4 000006d5: DUP2 000006d6: LT 000006d7: ISZERO 000006d8: PUSH2 0x06eb 000006db: JUMPI 000006dc: DUP2 000006dd: DUP2 000006de: ADD 000006df: MLOAD 000006e0: DUP4 000006e1: DUP3 000006e2: ADD 000006e3: MSTORE 000006e4: PUSH1 0x20 000006e6: ADD 000006e7: PUSH2 0x06d3 000006ea: JUMP 000006eb: JUMPDEST 000006ec: POP 000006ed: POP 000006ee: POP 000006ef: POP 000006f0: SWAP1 000006f1: POP 000006f2: ADD 000006f3: SWAP4 000006f4: POP 000006f5: POP 000006f6: POP 000006f7: POP 000006f8: PUSH1 0x40 000006fa: MLOAD 000006fb: DUP1 000006fc: SWAP2 000006fd: SUB 000006fe: SWAP1 000006ff: RETURN 00000700: JUMPDEST 00000701: PUSH2 0x0708 00000704: PUSH2 0x172f 00000707: JUMP 00000708: JUMPDEST 00000709: PUSH1 0x40 0000070b: DUP1 0000070c: MLOAD 0000070d: SWAP2 0000070e: DUP3 0000070f: MSTORE 00000710: MLOAD 00000711: SWAP1 00000712: DUP2 00000713: SWAP1 00000714: SUB 00000715: PUSH1 0x20 00000717: ADD 00000718: SWAP1 00000719: RETURN 0000071a: JUMPDEST 0000071b: PUSH2 0x0708 0000071e: PUSH1 0x04 00000720: DUP1 00000721: CALLDATASIZE 00000722: SUB 00000723: PUSH1 0x40 00000725: DUP2 00000726: LT 00000727: ISZERO 00000728: PUSH2 0x0730 0000072b: JUMPI 0000072c: PUSH1 0x00 0000072e: DUP1 0000072f: REVERT 00000730: JUMPDEST 00000731: POP 00000732: PUSH1 0x01 00000734: PUSH1 0xa0 00000736: PUSH1 0x02 00000738: EXP 00000739: SUB 0000073a: DUP2 0000073b: CALLDATALOAD 0000073c: DUP2 0000073d: AND 0000073e: SWAP2 0000073f: PUSH1 0x20 00000741: ADD 00000742: CALLDATALOAD 00000743: AND 00000744: PUSH2 0x1735 00000747: JUMP 00000748: JUMPDEST 00000749: PUSH2 0x0708 0000074c: PUSH1 0x04 0000074e: DUP1 0000074f: CALLDATASIZE 00000750: SUB 00000751: PUSH1 0x40 00000753: DUP2 00000754: LT 00000755: ISZERO 00000756: PUSH2 0x075e 00000759: JUMPI 0000075a: PUSH1 0x00 0000075c: DUP1 0000075d: REVERT 0000075e: JUMPDEST 0000075f: POP 00000760: PUSH1 0x01 00000762: PUSH1 0xa0 00000764: PUSH1 0x02 00000766: EXP 00000767: SUB 00000768: DUP2 00000769: CALLDATALOAD 0000076a: DUP2 0000076b: AND 0000076c: SWAP2 0000076d: PUSH1 0x20 0000076f: ADD 00000770: CALLDATALOAD 00000771: AND 00000772: PUSH2 0x1752 00000775: JUMP 00000776: JUMPDEST 00000777: PUSH2 0x077e 0000077a: PUSH2 0x178d 0000077d: JUMP 0000077e: JUMPDEST 0000077f: STOP 00000780: JUMPDEST 00000781: PUSH2 0x0708 00000784: PUSH1 0x04 00000786: DUP1 00000787: CALLDATASIZE 00000788: SUB 00000789: PUSH1 0x20 0000078b: DUP2 0000078c: LT 0000078d: ISZERO 0000078e: PUSH2 0x0796 00000791: JUMPI 00000792: PUSH1 0x00 00000794: DUP1 00000795: REVERT 00000796: JUMPDEST 00000797: POP 00000798: CALLDATALOAD 00000799: PUSH2 0x1851 0000079c: JUMP 0000079d: JUMPDEST 0000079e: PUSH2 0x0708 000007a1: PUSH1 0x04 000007a3: DUP1 000007a4: CALLDATASIZE 000007a5: SUB 000007a6: PUSH1 0x80 000007a8: DUP2 000007a9: LT 000007aa: ISZERO 000007ab: PUSH2 0x07b3 000007ae: JUMPI 000007af: PUSH1 0x00 000007b1: DUP1 000007b2: REVERT 000007b3: JUMPDEST 000007b4: POP 000007b5: PUSH1 0x01 000007b7: PUSH1 0xa0 000007b9: PUSH1 0x02 000007bb: EXP 000007bc: SUB 000007bd: DUP2 000007be: CALLDATALOAD 000007bf: DUP2 000007c0: AND 000007c1: SWAP2 000007c2: PUSH1 0x20 000007c4: DUP2 000007c5: ADD 000007c6: CALLDATALOAD 000007c7: DUP3 000007c8: AND 000007c9: SWAP2 000007ca: PUSH1 0x40 000007cc: DUP3 000007cd: ADD 000007ce: CALLDATALOAD 000007cf: SWAP2 000007d0: PUSH1 0x60 000007d2: ADD 000007d3: CALLDATALOAD 000007d4: AND 000007d5: PUSH2 0x186b 000007d8: JUMP 000007d9: JUMPDEST 000007da: PUSH2 0x077e 000007dd: PUSH1 0x04 000007df: DUP1 000007e0: CALLDATASIZE 000007e1: SUB 000007e2: PUSH1 0x20 000007e4: DUP2 000007e5: LT 000007e6: ISZERO 000007e7: PUSH2 0x07ef 000007ea: JUMPI 000007eb: PUSH1 0x00 000007ed: DUP1 000007ee: REVERT 000007ef: JUMPDEST 000007f0: POP 000007f1: CALLDATALOAD 000007f2: PUSH1 0x01 000007f4: PUSH1 0xa0 000007f6: PUSH1 0x02 000007f8: EXP 000007f9: SUB 000007fa: AND 000007fb: PUSH2 0x1897 000007fe: JUMP 000007ff: JUMPDEST 00000800: PUSH2 0x0708 00000803: PUSH1 0x04 00000805: DUP1 00000806: CALLDATASIZE 00000807: SUB 00000808: PUSH1 0x40 0000080a: DUP2 0000080b: LT 0000080c: ISZERO 0000080d: PUSH2 0x0815 00000810: JUMPI 00000811: PUSH1 0x00 00000813: DUP1 00000814: REVERT 00000815: JUMPDEST 00000816: POP 00000817: PUSH1 0x01 00000819: PUSH1 0xa0 0000081b: PUSH1 0x02 0000081d: EXP 0000081e: SUB 0000081f: DUP2 00000820: CALLDATALOAD 00000821: AND 00000822: SWAP1 00000823: PUSH1 0x20 00000825: ADD 00000826: CALLDATALOAD 00000827: PUSH2 0x19ba 0000082a: JUMP 0000082b: JUMPDEST 0000082c: PUSH2 0x0861 0000082f: PUSH1 0x04 00000831: DUP1 00000832: CALLDATASIZE 00000833: SUB 00000834: PUSH1 0x60 00000836: DUP2 00000837: LT 00000838: ISZERO 00000839: PUSH2 0x0841 0000083c: JUMPI 0000083d: PUSH1 0x00 0000083f: DUP1 00000840: REVERT 00000841: JUMPDEST 00000842: POP 00000843: PUSH1 0x01 00000845: PUSH1 0xa0 00000847: PUSH1 0x02 00000849: EXP 0000084a: SUB 0000084b: DUP2 0000084c: CALLDATALOAD 0000084d: DUP2 0000084e: AND 0000084f: SWAP2 00000850: PUSH1 0x20 00000852: DUP2 00000853: ADD 00000854: CALLDATALOAD 00000855: SWAP1 00000856: SWAP2 00000857: AND 00000858: SWAP1 00000859: PUSH1 0x40 0000085b: ADD 0000085c: CALLDATALOAD 0000085d: PUSH2 0x1a9c 00000860: JUMP 00000861: JUMPDEST 00000862: PUSH1 0x40 00000864: DUP1 00000865: MLOAD 00000866: SWAP3 00000867: DUP4 00000868: MSTORE 00000869: PUSH1 0x20 0000086b: DUP4 0000086c: ADD 0000086d: SWAP2 0000086e: SWAP1 0000086f: SWAP2 00000870: MSTORE 00000871: DUP1 00000872: MLOAD 00000873: SWAP2 00000874: DUP3 00000875: SWAP1 00000876: SUB 00000877: ADD 00000878: SWAP1 00000879: RETURN 0000087a: JUMPDEST 0000087b: PUSH2 0x089d 0000087e: PUSH1 0x04 00000880: DUP1 00000881: CALLDATASIZE 00000882: SUB 00000883: PUSH1 0x40 00000885: DUP2 00000886: LT 00000887: ISZERO 00000888: PUSH2 0x0890 0000088b: JUMPI 0000088c: PUSH1 0x00 0000088e: DUP1 0000088f: REVERT 00000890: JUMPDEST 00000891: POP 00000892: DUP1 00000893: CALLDATALOAD 00000894: SWAP1 00000895: PUSH1 0x20 00000897: ADD 00000898: CALLDATALOAD 00000899: PUSH2 0x1c27 0000089c: JUMP 0000089d: JUMPDEST 0000089e: PUSH1 0x40 000008a0: DUP1 000008a1: MLOAD 000008a2: SWAP2 000008a3: ISZERO 000008a4: ISZERO 000008a5: DUP3 000008a6: MSTORE 000008a7: MLOAD 000008a8: SWAP1 000008a9: DUP2 000008aa: SWAP1 000008ab: SUB 000008ac: PUSH1 0x20 000008ae: ADD 000008af: SWAP1 000008b0: RETURN 000008b1: JUMPDEST 000008b2: PUSH2 0x0861 000008b5: PUSH1 0x04 000008b7: DUP1 000008b8: CALLDATASIZE 000008b9: SUB 000008ba: PUSH1 0x80 000008bc: DUP2 000008bd: LT 000008be: ISZERO 000008bf: PUSH2 0x08c7 000008c2: JUMPI 000008c3: PUSH1 0x00 000008c5: DUP1 000008c6: REVERT 000008c7: JUMPDEST 000008c8: POP 000008c9: PUSH1 0x01 000008cb: PUSH1 0xa0 000008cd: PUSH1 0x02 000008cf: EXP 000008d0: SUB 000008d1: DUP2 000008d2: CALLDATALOAD 000008d3: DUP2 000008d4: AND 000008d5: SWAP2 000008d6: PUSH1 0x20 000008d8: DUP2 000008d9: ADD 000008da: CALLDATALOAD 000008db: SWAP1 000008dc: SWAP2 000008dd: AND 000008de: SWAP1 000008df: PUSH1 0x40 000008e1: DUP2 000008e2: ADD 000008e3: CALLDATALOAD 000008e4: SWAP1 000008e5: PUSH1 0x60 000008e7: ADD 000008e8: CALLDATALOAD 000008e9: PUSH2 0x1c2e 000008ec: JUMP 000008ed: JUMPDEST 000008ee: PUSH2 0x0708 000008f1: PUSH1 0x04 000008f3: DUP1 000008f4: CALLDATASIZE 000008f5: SUB 000008f6: PUSH1 0x80 000008f8: DUP2 000008f9: LT 000008fa: ISZERO 000008fb: PUSH2 0x0903 000008fe: JUMPI 000008ff: PUSH1 0x00 00000901: DUP1 00000902: REVERT 00000903: JUMPDEST 00000904: POP 00000905: PUSH1 0x01 00000907: PUSH1 0xa0 00000909: PUSH1 0x02 0000090b: EXP 0000090c: SUB 0000090d: DUP2 0000090e: CALLDATALOAD 0000090f: DUP2 00000910: AND 00000911: SWAP2 00000912: PUSH1 0x20 00000914: DUP2 00000915: ADD 00000916: CALLDATALOAD 00000917: SWAP1 00000918: SWAP2 00000919: AND 0000091a: SWAP1 0000091b: PUSH1 0x40 0000091d: DUP2 0000091e: ADD 0000091f: CALLDATALOAD 00000920: SWAP1 00000921: PUSH1 0x60 00000923: ADD 00000924: CALLDATALOAD 00000925: PUSH2 0x1fcb 00000928: JUMP 00000929: JUMPDEST 0000092a: PUSH2 0x0515 0000092d: PUSH2 0x2413 00000930: JUMP 00000931: JUMPDEST 00000932: PUSH2 0x0861 00000935: PUSH1 0x04 00000937: DUP1 00000938: CALLDATASIZE 00000939: SUB 0000093a: PUSH1 0x80 0000093c: DUP2 0000093d: LT 0000093e: ISZERO 0000093f: PUSH2 0x0947 00000942: JUMPI 00000943: PUSH1 0x00 00000945: DUP1 00000946: REVERT 00000947: JUMPDEST 00000948: POP 00000949: PUSH1 0x01 0000094b: PUSH1 0xa0 0000094d: PUSH1 0x02 0000094f: EXP 00000950: SUB 00000951: DUP2 00000952: CALLDATALOAD 00000953: DUP2 00000954: AND 00000955: SWAP2 00000956: PUSH1 0x20 00000958: DUP2 00000959: ADD 0000095a: CALLDATALOAD 0000095b: DUP3 0000095c: AND 0000095d: SWAP2 0000095e: PUSH1 0x40 00000960: DUP3 00000961: ADD 00000962: CALLDATALOAD 00000963: AND 00000964: SWAP1 00000965: PUSH1 0x60 00000967: ADD 00000968: CALLDATALOAD 00000969: PUSH2 0x2422 0000096c: JUMP 0000096d: JUMPDEST 0000096e: PUSH2 0x0573 00000971: PUSH1 0x04 00000973: DUP1 00000974: CALLDATASIZE 00000975: SUB 00000976: PUSH1 0x60 00000978: DUP2 00000979: LT 0000097a: ISZERO 0000097b: PUSH2 0x0983 0000097e: JUMPI 0000097f: PUSH1 0x00 00000981: DUP1 00000982: REVERT 00000983: JUMPDEST 00000984: POP 00000985: PUSH1 0x01 00000987: PUSH1 0xa0 00000989: PUSH1 0x02 0000098b: EXP 0000098c: SUB 0000098d: DUP2 0000098e: CALLDATALOAD 0000098f: DUP2 00000990: AND 00000991: SWAP2 00000992: PUSH1 0x20 00000994: DUP2 00000995: ADD 00000996: CALLDATALOAD 00000997: SWAP1 00000998: SWAP2 00000999: AND 0000099a: SWAP1 0000099b: PUSH1 0x40 0000099d: ADD 0000099e: CALLDATALOAD 0000099f: PUSH2 0x25f6 000009a2: JUMP 000009a3: JUMPDEST 000009a4: PUSH2 0x077e 000009a7: PUSH1 0x04 000009a9: DUP1 000009aa: CALLDATASIZE 000009ab: SUB 000009ac: PUSH1 0x40 000009ae: DUP2 000009af: LT 000009b0: ISZERO 000009b1: PUSH2 0x09b9 000009b4: JUMPI 000009b5: PUSH1 0x00 000009b7: DUP1 000009b8: REVERT 000009b9: JUMPDEST 000009ba: DUP2 000009bb: ADD 000009bc: SWAP1 000009bd: PUSH1 0x20 000009bf: DUP2 000009c0: ADD 000009c1: DUP2 000009c2: CALLDATALOAD 000009c3: PUSH5 0x0100000000 000009c9: DUP2 000009ca: GT 000009cb: ISZERO 000009cc: PUSH2 0x09d4 000009cf: JUMPI 000009d0: PUSH1 0x00 000009d2: DUP1 000009d3: REVERT 000009d4: JUMPDEST 000009d5: DUP3 000009d6: ADD 000009d7: DUP4 000009d8: PUSH1 0x20 000009da: DUP3 000009db: ADD 000009dc: GT 000009dd: ISZERO 000009de: PUSH2 0x09e6 000009e1: JUMPI 000009e2: PUSH1 0x00 000009e4: DUP1 000009e5: REVERT 000009e6: JUMPDEST 000009e7: DUP1 000009e8: CALLDATALOAD 000009e9: SWAP1 000009ea: PUSH1 0x20 000009ec: ADD 000009ed: SWAP2 000009ee: DUP5 000009ef: PUSH1 0x20 000009f1: DUP4 000009f2: MUL 000009f3: DUP5 000009f4: ADD 000009f5: GT 000009f6: PUSH5 0x0100000000 000009fc: DUP4 000009fd: GT 000009fe: OR 000009ff: ISZERO 00000a00: PUSH2 0x0a08 00000a03: JUMPI 00000a04: PUSH1 0x00 00000a06: DUP1 00000a07: REVERT 00000a08: JUMPDEST 00000a09: SWAP2 00000a0a: SWAP1 00000a0b: DUP1 00000a0c: DUP1 00000a0d: PUSH1 0x20 00000a0f: MUL 00000a10: PUSH1 0x20 00000a12: ADD 00000a13: PUSH1 0x40 00000a15: MLOAD 00000a16: SWAP1 00000a17: DUP2 00000a18: ADD 00000a19: PUSH1 0x40 00000a1b: MSTORE 00000a1c: DUP1 00000a1d: SWAP4 00000a1e: SWAP3 00000a1f: SWAP2 00000a20: SWAP1 00000a21: DUP2 00000a22: DUP2 00000a23: MSTORE 00000a24: PUSH1 0x20 00000a26: ADD 00000a27: DUP4 00000a28: DUP4 00000a29: PUSH1 0x20 00000a2b: MUL 00000a2c: DUP1 00000a2d: DUP3 00000a2e: DUP5 00000a2f: CALLDATACOPY 00000a30: PUSH1 0x00 00000a32: SWAP3 00000a33: ADD 00000a34: SWAP2 00000a35: SWAP1 00000a36: SWAP2 00000a37: MSTORE 00000a38: POP 00000a39: SWAP3 00000a3a: SWAP6 00000a3b: POP 00000a3c: POP 00000a3d: POP 00000a3e: POP 00000a3f: CALLDATALOAD 00000a40: ISZERO 00000a41: ISZERO 00000a42: SWAP1 00000a43: POP 00000a44: PUSH2 0x2623 00000a47: JUMP 00000a48: JUMPDEST 00000a49: PUSH2 0x089d 00000a4c: PUSH1 0x04 00000a4e: DUP1 00000a4f: CALLDATASIZE 00000a50: SUB 00000a51: PUSH1 0x20 00000a53: DUP2 00000a54: LT 00000a55: ISZERO 00000a56: PUSH2 0x0a5e 00000a59: JUMPI 00000a5a: PUSH1 0x00 00000a5c: DUP1 00000a5d: REVERT 00000a5e: JUMPDEST 00000a5f: POP 00000a60: CALLDATALOAD 00000a61: PUSH1 0x01 00000a63: PUSH1 0xa0 00000a65: PUSH1 0x02 00000a67: EXP 00000a68: SUB 00000a69: AND 00000a6a: PUSH2 0x2729 00000a6d: JUMP 00000a6e: JUMPDEST 00000a6f: PUSH2 0x0708 00000a72: PUSH2 0x273e 00000a75: JUMP 00000a76: JUMPDEST 00000a77: PUSH2 0x0515 00000a7a: PUSH2 0x2744 00000a7d: JUMP 00000a7e: JUMPDEST 00000a7f: PUSH2 0x0515 00000a82: PUSH2 0x2753 00000a85: JUMP 00000a86: JUMPDEST 00000a87: PUSH2 0x0708 00000a8a: PUSH1 0x04 00000a8c: DUP1 00000a8d: CALLDATASIZE 00000a8e: SUB 00000a8f: PUSH1 0x60 00000a91: DUP2 00000a92: LT 00000a93: ISZERO 00000a94: PUSH2 0x0a9c 00000a97: JUMPI 00000a98: PUSH1 0x00 00000a9a: DUP1 00000a9b: REVERT 00000a9c: JUMPDEST 00000a9d: POP 00000a9e: PUSH1 0x01 00000aa0: PUSH1 0xa0 00000aa2: PUSH1 0x02 00000aa4: EXP 00000aa5: SUB 00000aa6: DUP2 00000aa7: CALLDATALOAD 00000aa8: DUP2 00000aa9: AND 00000aaa: SWAP2 00000aab: PUSH1 0x20 00000aad: DUP2 00000aae: ADD 00000aaf: CALLDATALOAD 00000ab0: SWAP1 00000ab1: SWAP2 00000ab2: AND 00000ab3: SWAP1 00000ab4: PUSH1 0x40 00000ab6: ADD 00000ab7: CALLDATALOAD 00000ab8: PUSH2 0x2762 00000abb: JUMP 00000abc: JUMPDEST 00000abd: PUSH2 0x0708 00000ac0: PUSH1 0x04 00000ac2: DUP1 00000ac3: CALLDATASIZE 00000ac4: SUB 00000ac5: PUSH1 0x40 00000ac7: DUP2 00000ac8: LT 00000ac9: ISZERO 00000aca: PUSH2 0x0ad2 00000acd: JUMPI 00000ace: PUSH1 0x00 00000ad0: DUP1 00000ad1: REVERT 00000ad2: JUMPDEST 00000ad3: POP 00000ad4: DUP1 00000ad5: CALLDATALOAD 00000ad6: SWAP1 00000ad7: PUSH1 0x20 00000ad9: ADD 00000ada: CALLDATALOAD 00000adb: PUSH2 0x27a7 00000ade: JUMP 00000adf: JUMPDEST 00000ae0: PUSH2 0x0bfc 00000ae3: PUSH1 0x04 00000ae5: DUP1 00000ae6: CALLDATASIZE 00000ae7: SUB 00000ae8: PUSH1 0x80 00000aea: DUP2 00000aeb: LT 00000aec: ISZERO 00000aed: PUSH2 0x0af5 00000af0: JUMPI 00000af1: PUSH1 0x00 00000af3: DUP1 00000af4: REVERT 00000af5: JUMPDEST 00000af6: DUP2 00000af7: ADD 00000af8: SWAP1 00000af9: PUSH1 0x20 00000afb: DUP2 00000afc: ADD 00000afd: DUP2 00000afe: CALLDATALOAD 00000aff: PUSH5 0x0100000000 00000b05: DUP2 00000b06: GT 00000b07: ISZERO 00000b08: PUSH2 0x0b10 00000b0b: JUMPI 00000b0c: PUSH1 0x00 00000b0e: DUP1 00000b0f: REVERT 00000b10: JUMPDEST 00000b11: DUP3 00000b12: ADD 00000b13: DUP4 00000b14: PUSH1 0x20 00000b16: DUP3 00000b17: ADD 00000b18: GT 00000b19: ISZERO 00000b1a: PUSH2 0x0b22 00000b1d: JUMPI 00000b1e: PUSH1 0x00 00000b20: DUP1 00000b21: REVERT 00000b22: JUMPDEST 00000b23: DUP1 00000b24: CALLDATALOAD 00000b25: SWAP1 00000b26: PUSH1 0x20 00000b28: ADD 00000b29: SWAP2 00000b2a: DUP5 00000b2b: PUSH1 0x20 00000b2d: DUP4 00000b2e: MUL 00000b2f: DUP5 00000b30: ADD 00000b31: GT 00000b32: PUSH5 0x0100000000 00000b38: DUP4 00000b39: GT 00000b3a: OR 00000b3b: ISZERO 00000b3c: PUSH2 0x0b44 00000b3f: JUMPI 00000b40: PUSH1 0x00 00000b42: DUP1 00000b43: REVERT 00000b44: JUMPDEST 00000b45: SWAP2 00000b46: SWAP4 00000b47: SWAP1 00000b48: SWAP3 00000b49: SWAP1 00000b4a: SWAP2 00000b4b: PUSH1 0x20 00000b4d: DUP2 00000b4e: ADD 00000b4f: SWAP1 00000b50: CALLDATALOAD 00000b51: PUSH5 0x0100000000 00000b57: DUP2 00000b58: GT 00000b59: ISZERO 00000b5a: PUSH2 0x0b62 00000b5d: JUMPI 00000b5e: PUSH1 0x00 00000b60: DUP1 00000b61: REVERT 00000b62: JUMPDEST 00000b63: DUP3 00000b64: ADD 00000b65: DUP4 00000b66: PUSH1 0x20 00000b68: DUP3 00000b69: ADD 00000b6a: GT 00000b6b: ISZERO 00000b6c: PUSH2 0x0b74 00000b6f: JUMPI 00000b70: PUSH1 0x00 00000b72: DUP1 00000b73: REVERT 00000b74: JUMPDEST 00000b75: DUP1 00000b76: CALLDATALOAD 00000b77: SWAP1 00000b78: PUSH1 0x20 00000b7a: ADD 00000b7b: SWAP2 00000b7c: DUP5 00000b7d: PUSH1 0x20 00000b7f: DUP4 00000b80: MUL 00000b81: DUP5 00000b82: ADD 00000b83: GT 00000b84: PUSH5 0x0100000000 00000b8a: DUP4 00000b8b: GT 00000b8c: OR 00000b8d: ISZERO 00000b8e: PUSH2 0x0b96 00000b91: JUMPI 00000b92: PUSH1 0x00 00000b94: DUP1 00000b95: REVERT 00000b96: JUMPDEST 00000b97: SWAP2 00000b98: SWAP4 00000b99: SWAP1 00000b9a: SWAP3 00000b9b: SWAP1 00000b9c: SWAP2 00000b9d: PUSH1 0x20 00000b9f: DUP2 00000ba0: ADD 00000ba1: SWAP1 00000ba2: CALLDATALOAD 00000ba3: PUSH5 0x0100000000 00000ba9: DUP2 00000baa: GT 00000bab: ISZERO 00000bac: PUSH2 0x0bb4 00000baf: JUMPI 00000bb0: PUSH1 0x00 00000bb2: DUP1 00000bb3: REVERT 00000bb4: JUMPDEST 00000bb5: DUP3 00000bb6: ADD 00000bb7: DUP4 00000bb8: PUSH1 0x20 00000bba: DUP3 00000bbb: ADD 00000bbc: GT 00000bbd: ISZERO 00000bbe: PUSH2 0x0bc6 00000bc1: JUMPI 00000bc2: PUSH1 0x00 00000bc4: DUP1 00000bc5: REVERT 00000bc6: JUMPDEST 00000bc7: DUP1 00000bc8: CALLDATALOAD 00000bc9: SWAP1 00000bca: PUSH1 0x20 00000bcc: ADD 00000bcd: SWAP2 00000bce: DUP5 00000bcf: PUSH1 0x20 00000bd1: DUP4 00000bd2: MUL 00000bd3: DUP5 00000bd4: ADD 00000bd5: GT 00000bd6: PUSH5 0x0100000000 00000bdc: DUP4 00000bdd: GT 00000bde: OR 00000bdf: ISZERO 00000be0: PUSH2 0x0be8 00000be3: JUMPI 00000be4: PUSH1 0x00 00000be6: DUP1 00000be7: REVERT 00000be8: JUMPDEST 00000be9: SWAP2 00000bea: SWAP4 00000beb: POP 00000bec: SWAP2 00000bed: POP 00000bee: CALLDATALOAD 00000bef: PUSH1 0x01 00000bf1: PUSH1 0xa0 00000bf3: PUSH1 0x02 00000bf5: EXP 00000bf6: SUB 00000bf7: AND 00000bf8: PUSH2 0x27c3 00000bfb: JUMP 00000bfc: JUMPDEST 00000bfd: PUSH1 0x40 00000bff: MLOAD 00000c00: DUP1 00000c01: DUP1 00000c02: PUSH1 0x20 00000c04: ADD 00000c05: DUP1 00000c06: PUSH1 0x20 00000c08: ADD 00000c09: DUP4 00000c0a: DUP2 00000c0b: SUB 00000c0c: DUP4 00000c0d: MSTORE 00000c0e: DUP6 00000c0f: DUP2 00000c10: DUP2 00000c11: MLOAD 00000c12: DUP2 00000c13: MSTORE 00000c14: PUSH1 0x20 00000c16: ADD 00000c17: SWAP2 00000c18: POP 00000c19: DUP1 00000c1a: MLOAD 00000c1b: SWAP1 00000c1c: PUSH1 0x20 00000c1e: ADD 00000c1f: SWAP1 00000c20: PUSH1 0x20 00000c22: MUL 00000c23: DUP1 00000c24: DUP4 00000c25: DUP4 00000c26: PUSH1 0x00 00000c28: JUMPDEST 00000c29: DUP4 00000c2a: DUP2 00000c2b: LT 00000c2c: ISZERO 00000c2d: PUSH2 0x0c40 00000c30: JUMPI 00000c31: DUP2 00000c32: DUP2 00000c33: ADD 00000c34: MLOAD 00000c35: DUP4 00000c36: DUP3 00000c37: ADD 00000c38: MSTORE 00000c39: PUSH1 0x20 00000c3b: ADD 00000c3c: PUSH2 0x0c28 00000c3f: JUMP 00000c40: JUMPDEST 00000c41: POP 00000c42: POP 00000c43: POP 00000c44: POP 00000c45: SWAP1 00000c46: POP 00000c47: ADD 00000c48: DUP4 00000c49: DUP2 00000c4a: SUB 00000c4b: DUP3 00000c4c: MSTORE 00000c4d: DUP5 00000c4e: DUP2 00000c4f: DUP2 00000c50: MLOAD 00000c51: DUP2 00000c52: MSTORE 00000c53: PUSH1 0x20 00000c55: ADD 00000c56: SWAP2 00000c57: POP 00000c58: DUP1 00000c59: MLOAD 00000c5a: SWAP1 00000c5b: PUSH1 0x20 00000c5d: ADD 00000c5e: SWAP1 00000c5f: PUSH1 0x20 00000c61: MUL 00000c62: DUP1 00000c63: DUP4 00000c64: DUP4 00000c65: PUSH1 0x00 00000c67: JUMPDEST 00000c68: DUP4 00000c69: DUP2 00000c6a: LT 00000c6b: ISZERO 00000c6c: PUSH2 0x0c7f 00000c6f: JUMPI 00000c70: DUP2 00000c71: DUP2 00000c72: ADD 00000c73: MLOAD 00000c74: DUP4 00000c75: DUP3 00000c76: ADD 00000c77: MSTORE 00000c78: PUSH1 0x20 00000c7a: ADD 00000c7b: PUSH2 0x0c67 00000c7e: JUMP 00000c7f: JUMPDEST 00000c80: POP 00000c81: POP 00000c82: POP 00000c83: POP 00000c84: SWAP1 00000c85: POP 00000c86: ADD 00000c87: SWAP5 00000c88: POP 00000c89: POP 00000c8a: POP 00000c8b: POP 00000c8c: POP 00000c8d: PUSH1 0x40 00000c8f: MLOAD 00000c90: DUP1 00000c91: SWAP2 00000c92: SUB 00000c93: SWAP1 00000c94: RETURN 00000c95: JUMPDEST 00000c96: PUSH2 0x077e 00000c99: PUSH1 0x04 00000c9b: DUP1 00000c9c: CALLDATASIZE 00000c9d: SUB 00000c9e: PUSH1 0x20 00000ca0: DUP2 00000ca1: LT 00000ca2: ISZERO 00000ca3: PUSH2 0x0cab 00000ca6: JUMPI 00000ca7: PUSH1 0x00 00000ca9: DUP1 00000caa: REVERT 00000cab: JUMPDEST 00000cac: POP 00000cad: CALLDATALOAD 00000cae: PUSH1 0x01 00000cb0: PUSH1 0xa0 00000cb2: PUSH1 0x02 00000cb4: EXP 00000cb5: SUB 00000cb6: AND 00000cb7: PUSH2 0x2976 00000cba: JUMP 00000cbb: JUMPDEST 00000cbc: PUSH2 0x0708 00000cbf: PUSH1 0x04 00000cc1: DUP1 00000cc2: CALLDATASIZE 00000cc3: SUB 00000cc4: PUSH1 0x40 00000cc6: DUP2 00000cc7: LT 00000cc8: ISZERO 00000cc9: PUSH2 0x0cd1 00000ccc: JUMPI 00000ccd: PUSH1 0x00 00000ccf: DUP1 00000cd0: REVERT 00000cd1: JUMPDEST 00000cd2: POP 00000cd3: DUP1 00000cd4: CALLDATALOAD 00000cd5: SWAP1 00000cd6: PUSH1 0x20 00000cd8: ADD 00000cd9: CALLDATALOAD 00000cda: PUSH2 0x2a3b 00000cdd: JUMP 00000cde: JUMPDEST 00000cdf: PUSH2 0x0515 00000ce2: PUSH2 0x2a53 00000ce5: JUMP 00000ce6: JUMPDEST 00000ce7: PUSH2 0x077e 00000cea: PUSH1 0x04 00000cec: DUP1 00000ced: CALLDATASIZE 00000cee: SUB 00000cef: PUSH1 0x60 00000cf1: DUP2 00000cf2: LT 00000cf3: ISZERO 00000cf4: PUSH2 0x0cfc 00000cf7: JUMPI 00000cf8: PUSH1 0x00 00000cfa: DUP1 00000cfb: REVERT 00000cfc: JUMPDEST 00000cfd: POP 00000cfe: PUSH1 0x01 00000d00: PUSH1 0xa0 00000d02: PUSH1 0x02 00000d04: EXP 00000d05: SUB 00000d06: DUP2 00000d07: CALLDATALOAD 00000d08: DUP2 00000d09: AND 00000d0a: SWAP2 00000d0b: PUSH1 0x20 00000d0d: DUP2 00000d0e: ADD 00000d0f: CALLDATALOAD 00000d10: SWAP1 00000d11: SWAP2 00000d12: AND 00000d13: SWAP1 00000d14: PUSH1 0x40 00000d16: ADD 00000d17: CALLDATALOAD 00000d18: PUSH2 0x2a62 00000d1b: JUMP 00000d1c: JUMPDEST 00000d1d: PUSH2 0x0515 00000d20: PUSH2 0x2b37 00000d23: JUMP 00000d24: JUMPDEST 00000d25: PUSH2 0x06a5 00000d28: PUSH1 0x04 00000d2a: DUP1 00000d2b: CALLDATASIZE 00000d2c: SUB 00000d2d: PUSH1 0x60 00000d2f: DUP2 00000d30: LT 00000d31: ISZERO 00000d32: PUSH2 0x0d3a 00000d35: JUMPI 00000d36: PUSH1 0x00 00000d38: DUP1 00000d39: REVERT 00000d3a: JUMPDEST 00000d3b: DUP2 00000d3c: ADD 00000d3d: SWAP1 00000d3e: PUSH1 0x20 00000d40: DUP2 00000d41: ADD 00000d42: DUP2 00000d43: CALLDATALOAD 00000d44: PUSH5 0x0100000000 00000d4a: DUP2 00000d4b: GT 00000d4c: ISZERO 00000d4d: PUSH2 0x0d55 00000d50: JUMPI 00000d51: PUSH1 0x00 00000d53: DUP1 00000d54: REVERT 00000d55: JUMPDEST 00000d56: DUP3 00000d57: ADD 00000d58: DUP4 00000d59: PUSH1 0x20 00000d5b: DUP3 00000d5c: ADD 00000d5d: GT 00000d5e: ISZERO 00000d5f: PUSH2 0x0d67 00000d62: JUMPI 00000d63: PUSH1 0x00 00000d65: DUP1 00000d66: REVERT 00000d67: JUMPDEST 00000d68: DUP1 00000d69: CALLDATALOAD 00000d6a: SWAP1 00000d6b: PUSH1 0x20 00000d6d: ADD 00000d6e: SWAP2 00000d6f: DUP5 00000d70: PUSH1 0x20 00000d72: DUP4 00000d73: MUL 00000d74: DUP5 00000d75: ADD 00000d76: GT 00000d77: PUSH5 0x0100000000 00000d7d: DUP4 00000d7e: GT 00000d7f: OR 00000d80: ISZERO 00000d81: PUSH2 0x0d89 00000d84: JUMPI 00000d85: PUSH1 0x00 00000d87: DUP1 00000d88: REVERT 00000d89: JUMPDEST 00000d8a: SWAP2 00000d8b: SWAP4 00000d8c: SWAP1 00000d8d: SWAP3 00000d8e: SWAP1 00000d8f: SWAP2 00000d90: PUSH1 0x20 00000d92: DUP2 00000d93: ADD 00000d94: SWAP1 00000d95: CALLDATALOAD 00000d96: PUSH5 0x0100000000 00000d9c: DUP2 00000d9d: GT 00000d9e: ISZERO 00000d9f: PUSH2 0x0da7 00000da2: JUMPI 00000da3: PUSH1 0x00 00000da5: DUP1 00000da6: REVERT 00000da7: JUMPDEST 00000da8: DUP3 00000da9: ADD 00000daa: DUP4 00000dab: PUSH1 0x20 00000dad: DUP3 00000dae: ADD 00000daf: GT 00000db0: ISZERO 00000db1: PUSH2 0x0db9 00000db4: JUMPI 00000db5: PUSH1 0x00 00000db7: DUP1 00000db8: REVERT 00000db9: JUMPDEST 00000dba: DUP1 00000dbb: CALLDATALOAD 00000dbc: SWAP1 00000dbd: PUSH1 0x20 00000dbf: ADD 00000dc0: SWAP2 00000dc1: DUP5 00000dc2: PUSH1 0x20 00000dc4: DUP4 00000dc5: MUL 00000dc6: DUP5 00000dc7: ADD 00000dc8: GT 00000dc9: PUSH5 0x0100000000 00000dcf: DUP4 00000dd0: GT 00000dd1: OR 00000dd2: ISZERO 00000dd3: PUSH2 0x0ddb 00000dd6: JUMPI 00000dd7: PUSH1 0x00 00000dd9: DUP1 00000dda: REVERT 00000ddb: JUMPDEST 00000ddc: SWAP2 00000ddd: SWAP4 00000dde: SWAP1 00000ddf: SWAP3 00000de0: SWAP1 00000de1: SWAP2 00000de2: PUSH1 0x20 00000de4: DUP2 00000de5: ADD 00000de6: SWAP1 00000de7: CALLDATALOAD 00000de8: PUSH5 0x0100000000 00000dee: DUP2 00000def: GT 00000df0: ISZERO 00000df1: PUSH2 0x0df9 00000df4: JUMPI 00000df5: PUSH1 0x00 00000df7: DUP1 00000df8: REVERT 00000df9: JUMPDEST 00000dfa: DUP3 00000dfb: ADD 00000dfc: DUP4 00000dfd: PUSH1 0x20 00000dff: DUP3 00000e00: ADD 00000e01: GT 00000e02: ISZERO 00000e03: PUSH2 0x0e0b 00000e06: JUMPI 00000e07: PUSH1 0x00 00000e09: DUP1 00000e0a: REVERT 00000e0b: JUMPDEST 00000e0c: DUP1 00000e0d: CALLDATALOAD 00000e0e: SWAP1 00000e0f: PUSH1 0x20 00000e11: ADD 00000e12: SWAP2 00000e13: DUP5 00000e14: PUSH1 0x20 00000e16: DUP4 00000e17: MUL 00000e18: DUP5 00000e19: ADD 00000e1a: GT 00000e1b: PUSH5 0x0100000000 00000e21: DUP4 00000e22: GT 00000e23: OR 00000e24: ISZERO 00000e25: PUSH2 0x0e2d 00000e28: JUMPI 00000e29: PUSH1 0x00 00000e2b: DUP1 00000e2c: REVERT 00000e2d: JUMPDEST 00000e2e: POP 00000e2f: SWAP1 00000e30: SWAP3 00000e31: POP 00000e32: SWAP1 00000e33: POP 00000e34: PUSH2 0x2b46 00000e37: JUMP 00000e38: JUMPDEST 00000e39: PUSH2 0x0708 00000e3c: PUSH1 0x04 00000e3e: DUP1 00000e3f: CALLDATASIZE 00000e40: SUB 00000e41: PUSH1 0x80 00000e43: DUP2 00000e44: LT 00000e45: ISZERO 00000e46: PUSH2 0x0e4e 00000e49: JUMPI 00000e4a: PUSH1 0x00 00000e4c: DUP1 00000e4d: REVERT 00000e4e: JUMPDEST 00000e4f: POP 00000e50: PUSH1 0x01 00000e52: PUSH1 0xa0 00000e54: PUSH1 0x02 00000e56: EXP 00000e57: SUB 00000e58: DUP2 00000e59: CALLDATALOAD 00000e5a: DUP2 00000e5b: AND 00000e5c: SWAP2 00000e5d: PUSH1 0x20 00000e5f: DUP2 00000e60: ADD 00000e61: CALLDATALOAD 00000e62: DUP3 00000e63: AND 00000e64: SWAP2 00000e65: PUSH1 0x40 00000e67: DUP3 00000e68: ADD 00000e69: CALLDATALOAD 00000e6a: SWAP2 00000e6b: PUSH1 0x60 00000e6d: ADD 00000e6e: CALLDATALOAD 00000e6f: AND 00000e70: PUSH2 0x2cab 00000e73: JUMP 00000e74: JUMPDEST 00000e75: PUSH2 0x0708 00000e78: PUSH2 0x2cd7 00000e7b: JUMP 00000e7c: JUMPDEST 00000e7d: PUSH2 0x0515 00000e80: PUSH2 0x2cdd 00000e83: JUMP 00000e84: JUMPDEST 00000e85: PUSH2 0x077e 00000e88: PUSH1 0x04 00000e8a: DUP1 00000e8b: CALLDATASIZE 00000e8c: SUB 00000e8d: PUSH1 0xe0 00000e8f: DUP2 00000e90: LT 00000e91: ISZERO 00000e92: PUSH2 0x0e9a 00000e95: JUMPI 00000e96: PUSH1 0x00 00000e98: DUP1 00000e99: REVERT 00000e9a: JUMPDEST 00000e9b: POP 00000e9c: PUSH1 0x01 00000e9e: PUSH1 0xa0 00000ea0: PUSH1 0x02 00000ea2: EXP 00000ea3: SUB 00000ea4: DUP2 00000ea5: CALLDATALOAD 00000ea6: DUP2 00000ea7: AND 00000ea8: SWAP2 00000ea9: PUSH1 0x20 00000eab: DUP2 00000eac: ADD 00000ead: CALLDATALOAD 00000eae: DUP3 00000eaf: AND 00000eb0: SWAP2 00000eb1: PUSH1 0x40 00000eb3: DUP3 00000eb4: ADD 00000eb5: CALLDATALOAD 00000eb6: DUP2 00000eb7: AND 00000eb8: SWAP2 00000eb9: PUSH1 0x60 00000ebb: DUP2 00000ebc: ADD 00000ebd: CALLDATALOAD 00000ebe: DUP3 00000ebf: AND 00000ec0: SWAP2 00000ec1: PUSH1 0x80 00000ec3: DUP3 00000ec4: ADD 00000ec5: CALLDATALOAD 00000ec6: AND 00000ec7: SWAP1 00000ec8: PUSH1 0xa0 00000eca: DUP2 00000ecb: ADD 00000ecc: CALLDATALOAD 00000ecd: SWAP1 00000ece: PUSH1 0xc0 00000ed0: ADD 00000ed1: CALLDATALOAD 00000ed2: PUSH2 0x2cec 00000ed5: JUMP 00000ed6: JUMPDEST 00000ed7: PUSH2 0x0861 00000eda: PUSH1 0x04 00000edc: DUP1 00000edd: CALLDATASIZE 00000ede: SUB 00000edf: PUSH1 0x80 00000ee1: DUP2 00000ee2: LT 00000ee3: ISZERO 00000ee4: PUSH2 0x0eec 00000ee7: JUMPI 00000ee8: PUSH1 0x00 00000eea: DUP1 00000eeb: REVERT 00000eec: JUMPDEST 00000eed: POP 00000eee: PUSH1 0x01 00000ef0: PUSH1 0xa0 00000ef2: PUSH1 0x02 00000ef4: EXP 00000ef5: SUB 00000ef6: DUP2 00000ef7: CALLDATALOAD 00000ef8: DUP2 00000ef9: AND 00000efa: SWAP2 00000efb: PUSH1 0x20 00000efd: DUP2 00000efe: ADD 00000eff: CALLDATALOAD 00000f00: DUP3 00000f01: AND 00000f02: SWAP2 00000f03: PUSH1 0x40 00000f05: DUP3 00000f06: ADD 00000f07: CALLDATALOAD 00000f08: AND 00000f09: SWAP1 00000f0a: PUSH1 0x60 00000f0c: ADD 00000f0d: CALLDATALOAD 00000f0e: PUSH2 0x2f78 00000f11: JUMP 00000f12: JUMPDEST 00000f13: PUSH2 0x0708 00000f16: PUSH1 0x04 00000f18: DUP1 00000f19: CALLDATASIZE 00000f1a: SUB 00000f1b: PUSH1 0x60 00000f1d: DUP2 00000f1e: LT 00000f1f: ISZERO 00000f20: PUSH2 0x0f28 00000f23: JUMPI 00000f24: PUSH1 0x00 00000f26: DUP1 00000f27: REVERT 00000f28: JUMPDEST 00000f29: POP 00000f2a: PUSH1 0x01 00000f2c: PUSH1 0xa0 00000f2e: PUSH1 0x02 00000f30: EXP 00000f31: SUB 00000f32: DUP2 00000f33: CALLDATALOAD 00000f34: DUP2 00000f35: AND 00000f36: SWAP2 00000f37: PUSH1 0x20 00000f39: DUP2 00000f3a: ADD 00000f3b: CALLDATALOAD 00000f3c: SWAP1 00000f3d: SWAP2 00000f3e: AND 00000f3f: SWAP1 00000f40: PUSH1 0x40 00000f42: ADD 00000f43: CALLDATALOAD 00000f44: PUSH2 0x32d2 00000f47: JUMP 00000f48: JUMPDEST 00000f49: PUSH2 0x0708 00000f4c: PUSH1 0x04 00000f4e: DUP1 00000f4f: CALLDATASIZE 00000f50: SUB 00000f51: PUSH1 0x40 00000f53: DUP2 00000f54: LT 00000f55: ISZERO 00000f56: PUSH2 0x0f5e 00000f59: JUMPI 00000f5a: PUSH1 0x00 00000f5c: DUP1 00000f5d: REVERT 00000f5e: JUMPDEST 00000f5f: POP 00000f60: PUSH1 0x01 00000f62: PUSH1 0xa0 00000f64: PUSH1 0x02 00000f66: EXP 00000f67: SUB 00000f68: DUP2 00000f69: CALLDATALOAD 00000f6a: DUP2 00000f6b: AND 00000f6c: SWAP2 00000f6d: PUSH1 0x20 00000f6f: ADD 00000f70: CALLDATALOAD 00000f71: AND 00000f72: PUSH2 0x32f5 00000f75: JUMP 00000f76: JUMPDEST 00000f77: PUSH2 0x0708 00000f7a: PUSH1 0x04 00000f7c: DUP1 00000f7d: CALLDATASIZE 00000f7e: SUB 00000f7f: PUSH1 0x40 00000f81: DUP2 00000f82: LT 00000f83: ISZERO 00000f84: PUSH2 0x0f8c 00000f87: JUMPI 00000f88: PUSH1 0x00 00000f8a: DUP1 00000f8b: REVERT 00000f8c: JUMPDEST 00000f8d: POP 00000f8e: PUSH1 0x01 00000f90: PUSH1 0xa0 00000f92: PUSH1 0x02 00000f94: EXP 00000f95: SUB 00000f96: DUP2 00000f97: CALLDATALOAD 00000f98: DUP2 00000f99: AND 00000f9a: SWAP2 00000f9b: PUSH1 0x20 00000f9d: ADD 00000f9e: CALLDATALOAD 00000f9f: AND 00000fa0: PUSH2 0x3312 00000fa3: JUMP 00000fa4: JUMPDEST 00000fa5: PUSH2 0x0708 00000fa8: PUSH1 0x04 00000faa: DUP1 00000fab: CALLDATASIZE 00000fac: SUB 00000fad: PUSH1 0x40 00000faf: DUP2 00000fb0: LT 00000fb1: ISZERO 00000fb2: PUSH2 0x0fba 00000fb5: JUMPI 00000fb6: PUSH1 0x00 00000fb8: DUP1 00000fb9: REVERT 00000fba: JUMPDEST 00000fbb: POP 00000fbc: DUP1 00000fbd: CALLDATALOAD 00000fbe: SWAP1 00000fbf: PUSH1 0x20 00000fc1: ADD 00000fc2: CALLDATALOAD 00000fc3: PUSH2 0x332f 00000fc6: JUMP 00000fc7: JUMPDEST 00000fc8: PUSH2 0x0708 00000fcb: PUSH1 0x04 00000fcd: DUP1 00000fce: CALLDATASIZE 00000fcf: SUB 00000fd0: PUSH1 0x40 00000fd2: DUP2 00000fd3: LT 00000fd4: ISZERO 00000fd5: PUSH2 0x0fdd 00000fd8: JUMPI 00000fd9: PUSH1 0x00 00000fdb: DUP1 00000fdc: REVERT 00000fdd: JUMPDEST 00000fde: POP 00000fdf: PUSH1 0x01 00000fe1: PUSH1 0xa0 00000fe3: PUSH1 0x02 00000fe5: EXP 00000fe6: SUB 00000fe7: DUP2 00000fe8: CALLDATALOAD 00000fe9: DUP2 00000fea: AND 00000feb: SWAP2 00000fec: PUSH1 0x20 00000fee: ADD 00000fef: CALLDATALOAD 00000ff0: AND 00000ff1: PUSH2 0x334c 00000ff4: JUMP 00000ff5: JUMPDEST 00000ff6: PUSH2 0x0708 00000ff9: PUSH1 0x04 00000ffb: DUP1 00000ffc: CALLDATASIZE 00000ffd: SUB 00000ffe: PUSH1 0x80 00001000: DUP2 00001001: LT 00001002: ISZERO 00001003: PUSH2 0x100b 00001006: JUMPI 00001007: PUSH1 0x00 00001009: DUP1 0000100a: REVERT 0000100b: JUMPDEST 0000100c: POP 0000100d: PUSH1 0x01 0000100f: PUSH1 0xa0 00001011: PUSH1 0x02 00001013: EXP 00001014: SUB 00001015: DUP2 00001016: CALLDATALOAD 00001017: DUP2 00001018: AND 00001019: SWAP2 0000101a: PUSH1 0x20 0000101c: DUP2 0000101d: ADD 0000101e: CALLDATALOAD 0000101f: DUP3 00001020: AND 00001021: SWAP2 00001022: PUSH1 0x40 00001024: DUP3 00001025: ADD 00001026: CALLDATALOAD 00001027: SWAP2 00001028: PUSH1 0x60 0000102a: ADD 0000102b: CALLDATALOAD 0000102c: AND 0000102d: PUSH2 0x3369 00001030: JUMP 00001031: JUMPDEST 00001032: PUSH2 0x0708 00001035: PUSH1 0x04 00001037: DUP1 00001038: CALLDATASIZE 00001039: SUB 0000103a: PUSH1 0x40 0000103c: DUP2 0000103d: LT 0000103e: ISZERO 0000103f: PUSH2 0x1047 00001042: JUMPI 00001043: PUSH1 0x00 00001045: DUP1 00001046: REVERT 00001047: JUMPDEST 00001048: POP 00001049: PUSH1 0x01 0000104b: PUSH1 0xa0 0000104d: PUSH1 0x02 0000104f: EXP 00001050: SUB 00001051: DUP2 00001052: CALLDATALOAD 00001053: DUP2 00001054: AND 00001055: SWAP2 00001056: PUSH1 0x20 00001058: ADD 00001059: CALLDATALOAD 0000105a: AND 0000105b: PUSH2 0x3395 0000105e: JUMP 0000105f: JUMPDEST 00001060: PUSH2 0x077e 00001063: PUSH1 0x04 00001065: DUP1 00001066: CALLDATASIZE 00001067: SUB 00001068: PUSH1 0x20 0000106a: DUP2 0000106b: LT 0000106c: ISZERO 0000106d: PUSH2 0x1075 00001070: JUMPI 00001071: PUSH1 0x00 00001073: DUP1 00001074: REVERT 00001075: JUMPDEST 00001076: POP 00001077: CALLDATALOAD 00001078: PUSH2 0x33b2 0000107b: JUMP 0000107c: JUMPDEST 0000107d: PUSH2 0x0708 00001080: PUSH1 0x04 00001082: DUP1 00001083: CALLDATASIZE 00001084: SUB 00001085: PUSH1 0x40 00001087: DUP2 00001088: LT 00001089: ISZERO 0000108a: PUSH2 0x1092 0000108d: JUMPI 0000108e: PUSH1 0x00 00001090: DUP1 00001091: REVERT 00001092: JUMPDEST 00001093: POP 00001094: DUP1 00001095: CALLDATALOAD 00001096: SWAP1 00001097: PUSH1 0x20 00001099: ADD 0000109a: CALLDATALOAD 0000109b: PUSH2 0x3403 0000109e: JUMP 0000109f: JUMPDEST 000010a0: PUSH2 0x089d 000010a3: PUSH1 0x04 000010a5: DUP1 000010a6: CALLDATASIZE 000010a7: SUB 000010a8: PUSH1 0x40 000010aa: DUP2 000010ab: LT 000010ac: ISZERO 000010ad: PUSH2 0x10b5 000010b0: JUMPI 000010b1: PUSH1 0x00 000010b3: DUP1 000010b4: REVERT 000010b5: JUMPDEST 000010b6: POP 000010b7: DUP1 000010b8: CALLDATALOAD 000010b9: SWAP1 000010ba: PUSH1 0x20 000010bc: ADD 000010bd: CALLDATALOAD 000010be: PUSH2 0x341f 000010c1: JUMP 000010c2: JUMPDEST 000010c3: PUSH2 0x0515 000010c6: PUSH2 0x3441 000010c9: JUMP 000010ca: JUMPDEST 000010cb: PUSH2 0x0515 000010ce: PUSH2 0x3450 000010d1: JUMP 000010d2: JUMPDEST 000010d3: PUSH2 0x0bfc 000010d6: PUSH1 0x04 000010d8: DUP1 000010d9: CALLDATASIZE 000010da: SUB 000010db: PUSH1 0x80 000010dd: DUP2 000010de: LT 000010df: ISZERO 000010e0: PUSH2 0x10e8 000010e3: JUMPI 000010e4: PUSH1 0x00 000010e6: DUP1 000010e7: REVERT 000010e8: JUMPDEST 000010e9: DUP2 000010ea: ADD 000010eb: SWAP1 000010ec: PUSH1 0x20 000010ee: DUP2 000010ef: ADD 000010f0: DUP2 000010f1: CALLDATALOAD 000010f2: PUSH5 0x0100000000 000010f8: DUP2 000010f9: GT 000010fa: ISZERO 000010fb: PUSH2 0x1103 000010fe: JUMPI 000010ff: PUSH1 0x00 00001101: DUP1 00001102: REVERT 00001103: JUMPDEST 00001104: DUP3 00001105: ADD 00001106: DUP4 00001107: PUSH1 0x20 00001109: DUP3 0000110a: ADD 0000110b: GT 0000110c: ISZERO 0000110d: PUSH2 0x1115 00001110: JUMPI 00001111: PUSH1 0x00 00001113: DUP1 00001114: REVERT 00001115: JUMPDEST 00001116: DUP1 00001117: CALLDATALOAD 00001118: SWAP1 00001119: PUSH1 0x20 0000111b: ADD 0000111c: SWAP2 0000111d: DUP5 0000111e: PUSH1 0x20 00001120: DUP4 00001121: MUL 00001122: DUP5 00001123: ADD 00001124: GT 00001125: PUSH5 0x0100000000 0000112b: DUP4 0000112c: GT 0000112d: OR 0000112e: ISZERO 0000112f: PUSH2 0x1137 00001132: JUMPI 00001133: PUSH1 0x00 00001135: DUP1 00001136: REVERT 00001137: JUMPDEST 00001138: SWAP2 00001139: SWAP4 0000113a: SWAP1 0000113b: SWAP3 0000113c: SWAP1 0000113d: SWAP2 0000113e: PUSH1 0x20 00001140: DUP2 00001141: ADD 00001142: SWAP1 00001143: CALLDATALOAD 00001144: PUSH5 0x0100000000 0000114a: DUP2 0000114b: GT 0000114c: ISZERO 0000114d: PUSH2 0x1155 00001150: JUMPI 00001151: PUSH1 0x00 00001153: DUP1 00001154: REVERT 00001155: JUMPDEST 00001156: DUP3 00001157: ADD 00001158: DUP4 00001159: PUSH1 0x20 0000115b: DUP3 0000115c: ADD 0000115d: GT 0000115e: ISZERO 0000115f: PUSH2 0x1167 00001162: JUMPI 00001163: PUSH1 0x00 00001165: DUP1 00001166: REVERT 00001167: JUMPDEST 00001168: DUP1 00001169: CALLDATALOAD 0000116a: SWAP1 0000116b: PUSH1 0x20 0000116d: ADD 0000116e: SWAP2 0000116f: DUP5 00001170: PUSH1 0x20 00001172: DUP4 00001173: MUL 00001174: DUP5 00001175: ADD 00001176: GT 00001177: PUSH5 0x0100000000 0000117d: DUP4 0000117e: GT 0000117f: OR 00001180: ISZERO 00001181: PUSH2 0x1189 00001184: JUMPI 00001185: PUSH1 0x00 00001187: DUP1 00001188: REVERT 00001189: JUMPDEST 0000118a: SWAP2 0000118b: SWAP4 0000118c: SWAP1 0000118d: SWAP3 0000118e: SWAP1 0000118f: SWAP2 00001190: PUSH1 0x20 00001192: DUP2 00001193: ADD 00001194: SWAP1 00001195: CALLDATALOAD 00001196: PUSH5 0x0100000000 0000119c: DUP2 0000119d: GT 0000119e: ISZERO 0000119f: PUSH2 0x11a7 000011a2: JUMPI 000011a3: PUSH1 0x00 000011a5: DUP1 000011a6: REVERT 000011a7: JUMPDEST 000011a8: DUP3 000011a9: ADD 000011aa: DUP4 000011ab: PUSH1 0x20 000011ad: DUP3 000011ae: ADD 000011af: GT 000011b0: ISZERO 000011b1: PUSH2 0x11b9 000011b4: JUMPI 000011b5: PUSH1 0x00 000011b7: DUP1 000011b8: REVERT 000011b9: JUMPDEST 000011ba: DUP1 000011bb: CALLDATALOAD 000011bc: SWAP1 000011bd: PUSH1 0x20 000011bf: ADD 000011c0: SWAP2 000011c1: DUP5 000011c2: PUSH1 0x20 000011c4: DUP4 000011c5: MUL 000011c6: DUP5 000011c7: ADD 000011c8: GT 000011c9: PUSH5 0x0100000000 000011cf: DUP4 000011d0: GT 000011d1: OR 000011d2: ISZERO 000011d3: PUSH2 0x11db 000011d6: JUMPI 000011d7: PUSH1 0x00 000011d9: DUP1 000011da: REVERT 000011db: JUMPDEST 000011dc: SWAP2 000011dd: SWAP4 000011de: POP 000011df: SWAP2 000011e0: POP 000011e1: CALLDATALOAD 000011e2: PUSH1 0x01 000011e4: PUSH1 0xa0 000011e6: PUSH1 0x02 000011e8: EXP 000011e9: SUB 000011ea: AND 000011eb: PUSH2 0x345f 000011ee: JUMP 000011ef: JUMPDEST 000011f0: PUSH2 0x0708 000011f3: PUSH1 0x04 000011f5: DUP1 000011f6: CALLDATASIZE 000011f7: SUB 000011f8: PUSH1 0x40 000011fa: DUP2 000011fb: LT 000011fc: ISZERO 000011fd: PUSH2 0x1205 00001200: JUMPI 00001201: PUSH1 0x00 00001203: DUP1 00001204: REVERT 00001205: JUMPDEST 00001206: POP 00001207: PUSH1 0x01 00001209: PUSH1 0xa0 0000120b: PUSH1 0x02 0000120d: EXP 0000120e: SUB 0000120f: DUP2 00001210: CALLDATALOAD 00001211: DUP2 00001212: AND 00001213: SWAP2 00001214: PUSH1 0x20 00001216: ADD 00001217: CALLDATALOAD 00001218: AND 00001219: PUSH2 0x35f4 0000121c: JUMP 0000121d: JUMPDEST 0000121e: PUSH2 0x0573 00001221: PUSH1 0x04 00001223: DUP1 00001224: CALLDATASIZE 00001225: SUB 00001226: PUSH1 0x80 00001228: DUP2 00001229: LT 0000122a: ISZERO 0000122b: PUSH2 0x1233 0000122e: JUMPI 0000122f: PUSH1 0x00 00001231: DUP1 00001232: REVERT 00001233: JUMPDEST 00001234: POP 00001235: PUSH1 0x01 00001237: PUSH1 0xa0 00001239: PUSH1 0x02 0000123b: EXP 0000123c: SUB 0000123d: DUP2 0000123e: CALLDATALOAD 0000123f: DUP2 00001240: AND 00001241: SWAP2 00001242: PUSH1 0x20 00001244: DUP2 00001245: ADD 00001246: CALLDATALOAD 00001247: DUP3 00001248: AND 00001249: SWAP2 0000124a: PUSH1 0x40 0000124c: DUP3 0000124d: ADD 0000124e: CALLDATALOAD 0000124f: AND 00001250: SWAP1 00001251: PUSH1 0x60 00001253: ADD 00001254: CALLDATALOAD 00001255: PUSH2 0x362f 00001258: JUMP 00001259: JUMPDEST 0000125a: PUSH2 0x077e 0000125d: PUSH1 0x04 0000125f: DUP1 00001260: CALLDATASIZE 00001261: SUB 00001262: PUSH1 0x20 00001264: DUP2 00001265: LT 00001266: ISZERO 00001267: PUSH2 0x126f 0000126a: JUMPI 0000126b: PUSH1 0x00 0000126d: DUP1 0000126e: REVERT 0000126f: JUMPDEST 00001270: POP 00001271: CALLDATALOAD 00001272: PUSH2 0x36e9 00001275: JUMP 00001276: JUMPDEST 00001277: PUSH2 0x089d 0000127a: PUSH1 0x04 0000127c: DUP1 0000127d: CALLDATASIZE 0000127e: SUB 0000127f: PUSH1 0x40 00001281: DUP2 00001282: LT 00001283: ISZERO 00001284: PUSH2 0x128c 00001287: JUMPI 00001288: PUSH1 0x00 0000128a: DUP1 0000128b: REVERT 0000128c: JUMPDEST 0000128d: POP 0000128e: DUP1 0000128f: CALLDATALOAD 00001290: SWAP1 00001291: PUSH1 0x20 00001293: ADD 00001294: CALLDATALOAD 00001295: PUSH2 0x373a 00001298: JUMP 00001299: JUMPDEST 0000129a: PUSH2 0x077e 0000129d: PUSH1 0x04 0000129f: DUP1 000012a0: CALLDATASIZE 000012a1: SUB 000012a2: PUSH1 0xc0 000012a4: DUP2 000012a5: LT 000012a6: ISZERO 000012a7: PUSH2 0x12af 000012aa: JUMPI 000012ab: PUSH1 0x00 000012ad: DUP1 000012ae: REVERT 000012af: JUMPDEST 000012b0: POP 000012b1: PUSH1 0x01 000012b3: PUSH1 0xa0 000012b5: PUSH1 0x02 000012b7: EXP 000012b8: SUB 000012b9: DUP2 000012ba: CALLDATALOAD 000012bb: DUP2 000012bc: AND 000012bd: SWAP2 000012be: PUSH1 0x20 000012c0: DUP2 000012c1: ADD 000012c2: CALLDATALOAD 000012c3: SWAP1 000012c4: SWAP2 000012c5: AND 000012c6: SWAP1 000012c7: PUSH1 0x40 000012c9: DUP2 000012ca: ADD 000012cb: CALLDATALOAD 000012cc: SWAP1 000012cd: PUSH1 0x60 000012cf: DUP2 000012d0: ADD 000012d1: CALLDATALOAD 000012d2: SWAP1 000012d3: PUSH1 0x80 000012d5: DUP2 000012d6: ADD 000012d7: CALLDATALOAD 000012d8: SWAP1 000012d9: PUSH1 0xa0 000012db: ADD 000012dc: CALLDATALOAD 000012dd: PUSH2 0x373f 000012e0: JUMP 000012e1: JUMPDEST 000012e2: PUSH2 0x0861 000012e5: PUSH1 0x04 000012e7: DUP1 000012e8: CALLDATASIZE 000012e9: SUB 000012ea: PUSH1 0x60 000012ec: DUP2 000012ed: LT 000012ee: ISZERO 000012ef: PUSH2 0x12f7 000012f2: JUMPI 000012f3: PUSH1 0x00 000012f5: DUP1 000012f6: REVERT 000012f7: JUMPDEST 000012f8: POP 000012f9: PUSH1 0x01 000012fb: PUSH1 0xa0 000012fd: PUSH1 0x02 000012ff: EXP 00001300: SUB 00001301: DUP2 00001302: CALLDATALOAD 00001303: DUP2 00001304: AND 00001305: SWAP2 00001306: PUSH1 0x20 00001308: DUP2 00001309: ADD 0000130a: CALLDATALOAD 0000130b: SWAP1 0000130c: SWAP2 0000130d: AND 0000130e: SWAP1 0000130f: PUSH1 0x40 00001311: ADD 00001312: CALLDATALOAD 00001313: PUSH2 0x3c44 00001316: JUMP 00001317: JUMPDEST 00001318: PUSH2 0x0861 0000131b: PUSH1 0x04 0000131d: DUP1 0000131e: CALLDATASIZE 0000131f: SUB 00001320: PUSH1 0x20 00001322: DUP2 00001323: LT 00001324: ISZERO 00001325: PUSH2 0x132d 00001328: JUMPI 00001329: PUSH1 0x00 0000132b: DUP1 0000132c: REVERT 0000132d: JUMPDEST 0000132e: POP 0000132f: CALLDATALOAD 00001330: PUSH1 0x01 00001332: PUSH1 0xa0 00001334: PUSH1 0x02 00001336: EXP 00001337: SUB 00001338: AND 00001339: PUSH2 0x3c6e 0000133c: JUMP 0000133d: JUMPDEST 0000133e: PUSH2 0x0708 00001341: PUSH2 0x3e08 00001344: JUMP 00001345: JUMPDEST 00001346: PUSH2 0x0708 00001349: PUSH1 0x04 0000134b: DUP1 0000134c: CALLDATASIZE 0000134d: SUB 0000134e: PUSH1 0x40 00001350: DUP2 00001351: LT 00001352: ISZERO 00001353: PUSH2 0x135b 00001356: JUMPI 00001357: PUSH1 0x00 00001359: DUP1 0000135a: REVERT 0000135b: JUMPDEST 0000135c: POP 0000135d: PUSH1 0x01 0000135f: PUSH1 0xa0 00001361: PUSH1 0x02 00001363: EXP 00001364: SUB 00001365: DUP2 00001366: CALLDATALOAD 00001367: AND 00001368: SWAP1 00001369: PUSH1 0x20 0000136b: ADD 0000136c: CALLDATALOAD 0000136d: PUSH2 0x3e0e 00001370: JUMP 00001371: JUMPDEST 00001372: PUSH2 0x0861 00001375: PUSH1 0x04 00001377: DUP1 00001378: CALLDATASIZE 00001379: SUB 0000137a: PUSH1 0x20 0000137c: DUP2 0000137d: LT 0000137e: ISZERO 0000137f: PUSH2 0x1387 00001382: JUMPI 00001383: PUSH1 0x00 00001385: DUP1 00001386: REVERT 00001387: JUMPDEST 00001388: POP 00001389: CALLDATALOAD 0000138a: PUSH1 0x01 0000138c: PUSH1 0xa0 0000138e: PUSH1 0x02 00001390: EXP 00001391: SUB 00001392: AND 00001393: PUSH2 0x3f49 00001396: JUMP 00001397: JUMPDEST 00001398: PUSH2 0x077e 0000139b: PUSH2 0x3f91 0000139e: JUMP 0000139f: JUMPDEST 000013a0: PUSH2 0x077e 000013a3: PUSH1 0x04 000013a5: DUP1 000013a6: CALLDATASIZE 000013a7: SUB 000013a8: PUSH1 0x20 000013aa: DUP2 000013ab: LT 000013ac: ISZERO 000013ad: PUSH2 0x13b5 000013b0: JUMPI 000013b1: PUSH1 0x00 000013b3: DUP1 000013b4: REVERT 000013b5: JUMPDEST 000013b6: POP 000013b7: CALLDATALOAD 000013b8: PUSH1 0x01 000013ba: PUSH1 0xa0 000013bc: PUSH1 0x02 000013be: EXP 000013bf: SUB 000013c0: AND 000013c1: PUSH2 0x4054 000013c4: JUMP 000013c5: JUMPDEST 000013c6: PUSH2 0x0708 000013c9: PUSH1 0x04 000013cb: DUP1 000013cc: CALLDATASIZE 000013cd: SUB 000013ce: PUSH1 0x60 000013d0: DUP2 000013d1: LT 000013d2: ISZERO 000013d3: PUSH2 0x13db 000013d6: JUMPI 000013d7: PUSH1 0x00 000013d9: DUP1 000013da: REVERT 000013db: JUMPDEST 000013dc: POP 000013dd: PUSH1 0x01 000013df: PUSH1 0xa0 000013e1: PUSH1 0x02 000013e3: EXP 000013e4: SUB 000013e5: DUP2 000013e6: CALLDATALOAD 000013e7: DUP2 000013e8: AND 000013e9: SWAP2 000013ea: PUSH1 0x20 000013ec: DUP2 000013ed: ADD 000013ee: CALLDATALOAD 000013ef: SWAP1 000013f0: SWAP2 000013f1: AND 000013f2: SWAP1 000013f3: PUSH1 0x40 000013f5: ADD 000013f6: CALLDATALOAD 000013f7: PUSH2 0x4161 000013fa: JUMP 000013fb: JUMPDEST 000013fc: PUSH2 0x0708 000013ff: PUSH1 0x04 00001401: DUP1 00001402: CALLDATASIZE 00001403: SUB 00001404: PUSH1 0x40 00001406: DUP2 00001407: LT 00001408: ISZERO 00001409: PUSH2 0x1411 0000140c: JUMPI 0000140d: PUSH1 0x00 0000140f: DUP1 00001410: REVERT 00001411: JUMPDEST 00001412: POP 00001413: PUSH1 0x01 00001415: PUSH1 0xa0 00001417: PUSH1 0x02 00001419: EXP 0000141a: SUB 0000141b: DUP2 0000141c: CALLDATALOAD 0000141d: DUP2 0000141e: AND 0000141f: SWAP2 00001420: PUSH1 0x20 00001422: ADD 00001423: CALLDATALOAD 00001424: AND 00001425: PUSH2 0x4184 00001428: JUMP 00001429: JUMPDEST 0000142a: PUSH2 0x0861 0000142d: PUSH1 0x04 0000142f: DUP1 00001430: CALLDATASIZE 00001431: SUB 00001432: PUSH1 0x60 00001434: DUP2 00001435: LT 00001436: ISZERO 00001437: PUSH2 0x143f 0000143a: JUMPI 0000143b: PUSH1 0x00 0000143d: DUP1 0000143e: REVERT 0000143f: JUMPDEST 00001440: POP 00001441: PUSH1 0x01 00001443: PUSH1 0xa0 00001445: PUSH1 0x02 00001447: EXP 00001448: SUB 00001449: DUP2 0000144a: CALLDATALOAD 0000144b: DUP2 0000144c: AND 0000144d: SWAP2 0000144e: PUSH1 0x20 00001450: DUP2 00001451: ADD 00001452: CALLDATALOAD 00001453: SWAP1 00001454: SWAP2 00001455: AND 00001456: SWAP1 00001457: PUSH1 0x40 00001459: ADD 0000145a: CALLDATALOAD 0000145b: PUSH2 0x41a1 0000145e: JUMP 0000145f: JUMPDEST 00001460: PUSH1 0x00 00001462: DUP1 00001463: DUP4 00001464: PUSH1 0x01 00001466: PUSH1 0xa0 00001468: PUSH1 0x02 0000146a: EXP 0000146b: SUB 0000146c: AND 0000146d: DUP4 0000146e: PUSH1 0x01 00001470: PUSH1 0xa0 00001472: PUSH1 0x02 00001474: EXP 00001475: SUB 00001476: AND 00001477: LT 00001478: ISZERO 00001479: PUSH2 0x1480 0000147c: JUMPI 0000147d: SWAP2 0000147e: SWAP3 0000147f: SWAP2 00001480: JUMPDEST 00001481: POP 00001482: SWAP2 00001483: SWAP3 00001484: SWAP1 00001485: SWAP2 00001486: POP 00001487: JUMP 00001488: JUMPDEST 00001489: PUSH1 0x40 0000148b: DUP1 0000148c: MLOAD 0000148d: DUP3 0000148e: DUP2 0000148f: MSTORE 00001490: PUSH1 0x20 00001492: DUP1 00001493: DUP5 00001494: MUL 00001495: DUP3 00001496: ADD 00001497: ADD 00001498: SWAP1 00001499: SWAP2 0000149a: MSTORE 0000149b: PUSH1 0x60 0000149d: SWAP1 0000149e: DUP3 0000149f: SWAP1 000014a0: DUP3 000014a1: SWAP1 000014a2: DUP3 000014a3: DUP1 000014a4: ISZERO 000014a5: PUSH2 0x14b8 000014a8: JUMPI 000014a9: DUP2 000014aa: PUSH1 0x20 000014ac: ADD 000014ad: PUSH1 0x20 000014af: DUP3 000014b0: MUL 000014b1: DUP1 000014b2: CODESIZE 000014b3: DUP4 000014b4: CODECOPY 000014b5: ADD 000014b6: SWAP1 000014b7: POP 000014b8: JUMPDEST 000014b9: POP 000014ba: SWAP1 000014bb: POP 000014bc: PUSH1 0x00 000014be: JUMPDEST 000014bf: DUP3 000014c0: DUP2 000014c1: LT 000014c2: ISZERO 000014c3: PUSH2 0x1539 000014c6: JUMPI 000014c7: PUSH1 0x04 000014c9: PUSH1 0x00 000014cb: DUP8 000014cc: DUP8 000014cd: DUP5 000014ce: DUP2 000014cf: DUP2 000014d0: LT 000014d1: PUSH2 0x14d6 000014d4: JUMPI 000014d5: INVALID 000014d6: JUMPDEST 000014d7: SWAP1 000014d8: POP 000014d9: PUSH1 0x20 000014db: MUL 000014dc: ADD 000014dd: CALLDATALOAD 000014de: PUSH1 0x01 000014e0: PUSH1 0xa0 000014e2: PUSH1 0x02 000014e4: EXP 000014e5: SUB 000014e6: AND 000014e7: PUSH1 0x01 000014e9: PUSH1 0xa0 000014eb: PUSH1 0x02 000014ed: EXP 000014ee: SUB 000014ef: AND 000014f0: PUSH1 0x01 000014f2: PUSH1 0xa0 000014f4: PUSH1 0x02 000014f6: EXP 000014f7: SUB 000014f8: AND 000014f9: DUP2 000014fa: MSTORE 000014fb: PUSH1 0x20 000014fd: ADD 000014fe: SWAP1 000014ff: DUP2 00001500: MSTORE 00001501: PUSH1 0x20 00001503: ADD 00001504: PUSH1 0x00 00001506: KECCAK256 00001507: PUSH1 0x00 00001509: SWAP1 0000150a: SLOAD 0000150b: SWAP1 0000150c: PUSH2 0x0100 0000150f: EXP 00001510: SWAP1 00001511: DIV 00001512: PUSH1 0xff 00001514: AND 00001515: DUP3 00001516: DUP3 00001517: DUP2 00001518: MLOAD 00001519: DUP2 0000151a: LT 0000151b: ISZERO 0000151c: ISZERO 0000151d: PUSH2 0x1522 00001520: JUMPI 00001521: INVALID 00001522: JUMPDEST 00001523: SWAP2 00001524: ISZERO 00001525: ISZERO 00001526: PUSH1 0x20 00001528: SWAP3 00001529: DUP4 0000152a: MUL 0000152b: SWAP1 0000152c: SWAP2 0000152d: ADD 0000152e: SWAP1 0000152f: SWAP2 00001530: ADD 00001531: MSTORE 00001532: PUSH1 0x01 00001534: ADD 00001535: PUSH2 0x14be 00001538: JUMP 00001539: JUMPDEST 0000153a: POP 0000153b: SWAP2 0000153c: POP 0000153d: POP 0000153e: JUMPDEST 0000153f: SWAP3 00001540: SWAP2 00001541: POP 00001542: POP 00001543: JUMP 00001544: JUMPDEST 00001545: PUSH1 0x00 00001547: SLOAD 00001548: PUSH1 0x01 0000154a: PUSH1 0xa0 0000154c: PUSH1 0x02 0000154e: EXP 0000154f: SUB 00001550: AND 00001551: SWAP1 00001552: JUMP 00001553: JUMPDEST 00001554: PUSH1 0x00 00001556: DUP1 00001557: PUSH1 0x00 00001559: PUSH2 0x1564 0000155c: DUP9 0000155d: DUP9 0000155e: DUP9 0000155f: DUP9 00001560: PUSH2 0x2422 00001563: JUMP 00001564: JUMPDEST 00001565: SWAP1 00001566: SWAP4 00001567: POP 00001568: SWAP2 00001569: POP 0000156a: PUSH2 0x1573 0000156d: DUP8 0000156e: DUP6 0000156f: PUSH2 0x3e0e 00001572: JUMP 00001573: JUMPDEST 00001574: SWAP1 00001575: POP 00001576: SWAP6 00001577: POP 00001578: SWAP6 00001579: POP 0000157a: SWAP6 0000157b: SWAP3 0000157c: POP 0000157d: POP 0000157e: POP 0000157f: JUMP 00001580: JUMPDEST 00001581: PUSH1 0x60 00001583: PUSH1 0x00 00001585: DUP1 00001586: PUSH2 0x1623 00001589: DUP10 0000158a: DUP10 0000158b: DUP1 0000158c: DUP1 0000158d: PUSH1 0x20 0000158f: MUL 00001590: PUSH1 0x20 00001592: ADD 00001593: PUSH1 0x40 00001595: MLOAD 00001596: SWAP1 00001597: DUP2 00001598: ADD 00001599: PUSH1 0x40 0000159b: MSTORE 0000159c: DUP1 0000159d: SWAP4 0000159e: SWAP3 0000159f: SWAP2 000015a0: SWAP1 000015a1: DUP2 000015a2: DUP2 000015a3: MSTORE 000015a4: PUSH1 0x20 000015a6: ADD 000015a7: DUP4 000015a8: DUP4 000015a9: PUSH1 0x20 000015ab: MUL 000015ac: DUP1 000015ad: DUP3 000015ae: DUP5 000015af: CALLDATACOPY 000015b0: PUSH1 0x00 000015b2: SWAP3 000015b3: ADD 000015b4: SWAP2 000015b5: SWAP1 000015b6: SWAP2 000015b7: MSTORE 000015b8: POP 000015b9: POP 000015ba: PUSH1 0x40 000015bc: DUP1 000015bd: MLOAD 000015be: PUSH1 0x20 000015c0: DUP1 000015c1: DUP14 000015c2: MUL 000015c3: DUP3 000015c4: DUP2 000015c5: ADD 000015c6: DUP3 000015c7: ADD 000015c8: SWAP1 000015c9: SWAP4 000015ca: MSTORE 000015cb: DUP13 000015cc: DUP3 000015cd: MSTORE 000015ce: SWAP1 000015cf: SWAP4 000015d0: POP 000015d1: DUP13 000015d2: SWAP3 000015d3: POP 000015d4: DUP12 000015d5: SWAP2 000015d6: DUP3 000015d7: SWAP2 000015d8: DUP6 000015d9: ADD 000015da: SWAP1 000015db: DUP5 000015dc: SWAP1 000015dd: DUP1 000015de: DUP3 000015df: DUP5 000015e0: CALLDATACOPY 000015e1: PUSH1 0x00 000015e3: SWAP3 000015e4: ADD 000015e5: SWAP2 000015e6: SWAP1 000015e7: SWAP2 000015e8: MSTORE 000015e9: POP 000015ea: POP 000015eb: PUSH1 0x40 000015ed: DUP1 000015ee: MLOAD 000015ef: PUSH1 0x20 000015f1: DUP1 000015f2: DUP13 000015f3: MUL 000015f4: DUP3 000015f5: DUP2 000015f6: ADD 000015f7: DUP3 000015f8: ADD 000015f9: SWAP1 000015fa: SWAP4 000015fb: MSTORE 000015fc: DUP12 000015fd: DUP3 000015fe: MSTORE 000015ff: SWAP1 00001600: SWAP4 00001601: POP 00001602: DUP12 00001603: SWAP3 00001604: POP 00001605: DUP11 00001606: SWAP2 00001607: DUP3 00001608: SWAP2 00001609: DUP6 0000160a: ADD 0000160b: SWAP1 0000160c: DUP5 0000160d: SWAP1 0000160e: DUP1 0000160f: DUP3 00001610: DUP5 00001611: CALLDATACOPY 00001612: PUSH1 0x00 00001614: SWAP3 00001615: ADD 00001616: SWAP2 00001617: SWAP1 00001618: SWAP2 00001619: MSTORE 0000161a: POP 0000161b: PUSH2 0x432e 0000161e: SWAP3 0000161f: POP 00001620: POP 00001621: POP 00001622: JUMP 00001623: JUMPDEST 00001624: SWAP1 00001625: POP 00001626: PUSH1 0x60 00001628: DUP2 00001629: PUSH1 0x40 0000162b: MLOAD 0000162c: SWAP1 0000162d: DUP1 0000162e: DUP3 0000162f: MSTORE 00001630: DUP1 00001631: PUSH1 0x20 00001633: MUL 00001634: PUSH1 0x20 00001636: ADD 00001637: DUP3 00001638: ADD 00001639: PUSH1 0x40 0000163b: MSTORE 0000163c: DUP1 0000163d: ISZERO 0000163e: PUSH2 0x1651 00001641: JUMPI 00001642: DUP2 00001643: PUSH1 0x20 00001645: ADD 00001646: PUSH1 0x20 00001648: DUP3 00001649: MUL 0000164a: DUP1 0000164b: CODESIZE 0000164c: DUP4 0000164d: CODECOPY 0000164e: ADD 0000164f: SWAP1 00001650: POP 00001651: JUMPDEST 00001652: POP 00001653: SWAP1 00001654: POP 00001655: PUSH1 0x00 00001657: DUP1 00001658: JUMPDEST 00001659: DUP4 0000165a: DUP2 0000165b: LT 0000165c: ISZERO 0000165d: PUSH2 0x171e 00001660: JUMPI 00001661: PUSH2 0x16b8 00001664: DUP13 00001665: DUP13 00001666: DUP4 00001667: DUP2 00001668: DUP2 00001669: LT 0000166a: PUSH2 0x166f 0000166d: JUMPI 0000166e: INVALID 0000166f: JUMPDEST 00001670: SWAP1 00001671: POP 00001672: PUSH1 0x20 00001674: MUL 00001675: ADD 00001676: CALLDATALOAD 00001677: PUSH1 0x01 00001679: PUSH1 0xa0 0000167b: PUSH1 0x02 0000167d: EXP 0000167e: SUB 0000167f: AND 00001680: DUP12 00001681: DUP12 00001682: DUP5 00001683: DUP2 00001684: DUP2 00001685: LT 00001686: ISZERO 00001687: ISZERO 00001688: PUSH2 0x168d 0000168b: JUMPI 0000168c: INVALID 0000168d: JUMPDEST 0000168e: SWAP1 0000168f: POP 00001690: PUSH1 0x20 00001692: MUL 00001693: ADD 00001694: CALLDATALOAD 00001695: PUSH1 0x01 00001697: PUSH1 0xa0 00001699: PUSH1 0x02 0000169b: EXP 0000169c: SUB 0000169d: AND 0000169e: CALLER 0000169f: DUP12 000016a0: DUP12 000016a1: DUP7 000016a2: DUP2 000016a3: DUP2 000016a4: LT 000016a5: ISZERO 000016a6: ISZERO 000016a7: PUSH2 0x16ac 000016aa: JUMPI 000016ab: INVALID 000016ac: JUMPDEST 000016ad: SWAP1 000016ae: POP 000016af: PUSH1 0x20 000016b1: MUL 000016b2: ADD 000016b3: CALLDATALOAD 000016b4: PUSH2 0x2f78 000016b7: JUMP 000016b8: JUMPDEST 000016b9: DUP5 000016ba: DUP4 000016bb: DUP2 000016bc: MLOAD 000016bd: DUP2 000016be: LT 000016bf: ISZERO 000016c0: ISZERO 000016c1: PUSH2 0x16c6 000016c4: JUMPI 000016c5: INVALID 000016c6: JUMPDEST 000016c7: PUSH1 0x20 000016c9: SWAP1 000016ca: DUP2 000016cb: MUL 000016cc: SWAP1 000016cd: SWAP2 000016ce: ADD 000016cf: ADD 000016d0: SWAP2 000016d1: SWAP1 000016d2: SWAP2 000016d3: MSTORE 000016d4: SWAP5 000016d5: DUP6 000016d6: ADD 000016d7: SWAP5 000016d8: SWAP2 000016d9: POP 000016da: PUSH2 0x1715 000016dd: DUP13 000016de: DUP13 000016df: DUP4 000016e0: DUP2 000016e1: DUP2 000016e2: LT 000016e3: PUSH2 0x16e8 000016e6: JUMPI 000016e7: INVALID 000016e8: JUMPDEST 000016e9: SWAP1 000016ea: POP 000016eb: PUSH1 0x20 000016ed: MUL 000016ee: ADD 000016ef: CALLDATALOAD 000016f0: PUSH1 0x01 000016f2: PUSH1 0xa0 000016f4: PUSH1 0x02 000016f6: EXP 000016f7: SUB 000016f8: AND 000016f9: DUP5 000016fa: DUP4 000016fb: DUP2 000016fc: MLOAD 000016fd: DUP2 000016fe: LT 000016ff: ISZERO 00001700: ISZERO 00001701: PUSH2 0x1706 00001704: JUMPI 00001705: INVALID 00001706: JUMPDEST 00001707: SWAP1 00001708: PUSH1 0x20 0000170a: ADD 0000170b: SWAP1 0000170c: PUSH1 0x20 0000170e: MUL 0000170f: ADD 00001710: MLOAD 00001711: PUSH2 0x3e0e 00001714: JUMP 00001715: JUMPDEST 00001716: POP 00001717: PUSH1 0x01 00001719: ADD 0000171a: PUSH2 0x1658 0000171d: JUMP 0000171e: JUMPDEST 0000171f: POP 00001720: SWAP1 00001721: SWAP4 00001722: POP 00001723: POP 00001724: POP 00001725: SWAP7 00001726: POP 00001727: SWAP7 00001728: SWAP5 00001729: POP 0000172a: POP 0000172b: POP 0000172c: POP 0000172d: POP 0000172e: JUMP 0000172f: JUMPDEST 00001730: PUSH1 0x03 00001732: SLOAD 00001733: DUP2 00001734: JUMP 00001735: JUMPDEST 00001736: PUSH1 0x0e 00001738: PUSH1 0x20 0000173a: SWAP1 0000173b: DUP2 0000173c: MSTORE 0000173d: PUSH1 0x00 0000173f: SWAP3 00001740: DUP4 00001741: MSTORE 00001742: PUSH1 0x40 00001744: DUP1 00001745: DUP5 00001746: KECCAK256 00001747: SWAP1 00001748: SWAP2 00001749: MSTORE 0000174a: SWAP1 0000174b: DUP3 0000174c: MSTORE 0000174d: SWAP1 0000174e: KECCAK256 0000174f: SLOAD 00001750: DUP2 00001751: JUMP 00001752: JUMPDEST 00001753: PUSH1 0x00 00001755: PUSH2 0x175e 00001758: DUP4 00001759: DUP4 0000175a: PUSH2 0x145f 0000175d: JUMP 0000175e: JUMPDEST 0000175f: PUSH1 0x01 00001761: PUSH1 0xa0 00001763: PUSH1 0x02 00001765: EXP 00001766: SUB 00001767: SWAP2 00001768: DUP3 00001769: AND 0000176a: PUSH1 0x00 0000176c: SWAP1 0000176d: DUP2 0000176e: MSTORE 0000176f: PUSH1 0x0d 00001771: PUSH1 0x20 00001773: SWAP1 00001774: DUP2 00001775: MSTORE 00001776: PUSH1 0x40 00001778: DUP1 00001779: DUP4 0000177a: KECCAK256 0000177b: SWAP4 0000177c: SWAP1 0000177d: SWAP5 0000177e: AND 0000177f: DUP3 00001780: MSTORE 00001781: SWAP2 00001782: SWAP1 00001783: SWAP2 00001784: MSTORE 00001785: KECCAK256 00001786: SLOAD 00001787: SWAP4 00001788: SWAP3 00001789: POP 0000178a: POP 0000178b: POP 0000178c: JUMP 0000178d: JUMPDEST 0000178e: PUSH1 0x02 00001790: SLOAD 00001791: PUSH1 0x01 00001793: PUSH1 0xa0 00001795: PUSH1 0x02 00001797: EXP 00001798: SUB 00001799: AND 0000179a: ISZERO 0000179b: ISZERO 0000179c: PUSH2 0x17d9 0000179f: JUMPI 000017a0: PUSH1 0x40 000017a2: MLOAD 000017a3: PUSH1 0xe5 000017a5: PUSH1 0x02 000017a7: EXP 000017a8: PUSH3 0x461bcd 000017ac: MUL 000017ad: DUP2 000017ae: MSTORE 000017af: PUSH1 0x04 000017b1: ADD 000017b2: DUP1 000017b3: DUP1 000017b4: PUSH1 0x20 000017b6: ADD 000017b7: DUP3 000017b8: DUP2 000017b9: SUB 000017ba: DUP3 000017bb: MSTORE 000017bc: PUSH1 0x2b 000017be: DUP2 000017bf: MSTORE 000017c0: PUSH1 0x20 000017c2: ADD 000017c3: DUP1 000017c4: PUSH2 0x54fd 000017c7: PUSH1 0x2b 000017c9: SWAP2 000017ca: CODECOPY 000017cb: PUSH1 0x40 000017cd: ADD 000017ce: SWAP2 000017cf: POP 000017d0: POP 000017d1: PUSH1 0x40 000017d3: MLOAD 000017d4: DUP1 000017d5: SWAP2 000017d6: SUB 000017d7: SWAP1 000017d8: REVERT 000017d9: JUMPDEST 000017da: PUSH1 0x03 000017dc: SLOAD 000017dd: TIMESTAMP 000017de: LT 000017df: ISZERO 000017e0: PUSH2 0x181d 000017e3: JUMPI 000017e4: PUSH1 0x40 000017e6: MLOAD 000017e7: PUSH1 0xe5 000017e9: PUSH1 0x02 000017eb: EXP 000017ec: PUSH3 0x461bcd 000017f0: MUL 000017f1: DUP2 000017f2: MSTORE 000017f3: PUSH1 0x04 000017f5: ADD 000017f6: DUP1 000017f7: DUP1 000017f8: PUSH1 0x20 000017fa: ADD 000017fb: DUP3 000017fc: DUP2 000017fd: SUB 000017fe: DUP3 000017ff: MSTORE 00001800: PUSH1 0x39 00001802: DUP2 00001803: MSTORE 00001804: PUSH1 0x20 00001806: ADD 00001807: DUP1 00001808: PUSH2 0x546e 0000180b: PUSH1 0x39 0000180d: SWAP2 0000180e: CODECOPY 0000180f: PUSH1 0x40 00001811: ADD 00001812: SWAP2 00001813: POP 00001814: POP 00001815: PUSH1 0x40 00001817: MLOAD 00001818: DUP1 00001819: SWAP2 0000181a: SUB 0000181b: SWAP1 0000181c: REVERT 0000181d: JUMPDEST 0000181e: PUSH1 0x02 00001820: DUP1 00001821: SLOAD 00001822: PUSH1 0x00 00001824: DUP1 00001825: SLOAD 00001826: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000183b: NOT 0000183c: SWAP1 0000183d: DUP2 0000183e: AND 0000183f: PUSH1 0x01 00001841: PUSH1 0xa0 00001843: PUSH1 0x02 00001845: EXP 00001846: SUB 00001847: DUP5 00001848: AND 00001849: OR 0000184a: SWAP1 0000184b: SWAP2 0000184c: SSTORE 0000184d: AND 0000184e: SWAP1 0000184f: SSTORE 00001850: JUMP 00001851: JUMPDEST 00001852: PUSH1 0x00 00001854: DUP1 00001855: DUP3 00001856: SLT 00001857: ISZERO 00001858: PUSH2 0x1863 0000185b: JUMPI 0000185c: POP 0000185d: PUSH1 0x00 0000185f: PUSH2 0x1866 00001862: JUMP 00001863: JUMPDEST 00001864: POP 00001865: DUP1 00001866: JUMPDEST 00001867: SWAP2 00001868: SWAP1 00001869: POP 0000186a: JUMP 0000186b: JUMPDEST 0000186c: PUSH1 0x17 0000186e: PUSH1 0x20 00001870: SWAP1 00001871: DUP2 00001872: MSTORE 00001873: PUSH1 0x00 00001875: SWAP5 00001876: DUP6 00001877: MSTORE 00001878: PUSH1 0x40 0000187a: DUP1 0000187b: DUP7 0000187c: KECCAK256 0000187d: DUP3 0000187e: MSTORE 0000187f: SWAP4 00001880: DUP6 00001881: MSTORE 00001882: DUP4 00001883: DUP6 00001884: KECCAK256 00001885: DUP2 00001886: MSTORE 00001887: SWAP2 00001888: DUP5 00001889: MSTORE 0000188a: DUP3 0000188b: DUP5 0000188c: KECCAK256 0000188d: SWAP1 0000188e: SWAP2 0000188f: MSTORE 00001890: DUP3 00001891: MSTORE 00001892: SWAP1 00001893: KECCAK256 00001894: SLOAD 00001895: DUP2 00001896: JUMP 00001897: JUMPDEST 00001898: PUSH1 0x01 0000189a: SLOAD 0000189b: PUSH1 0x01 0000189d: PUSH1 0xa0 0000189f: PUSH1 0x02 000018a1: EXP 000018a2: SUB 000018a3: AND 000018a4: CALLER 000018a5: EQ 000018a6: PUSH2 0x18e3 000018a9: JUMPI 000018aa: PUSH1 0x40 000018ac: MLOAD 000018ad: PUSH1 0xe5 000018af: PUSH1 0x02 000018b1: EXP 000018b2: PUSH3 0x461bcd 000018b6: MUL 000018b7: DUP2 000018b8: MSTORE 000018b9: PUSH1 0x04 000018bb: ADD 000018bc: DUP1 000018bd: DUP1 000018be: PUSH1 0x20 000018c0: ADD 000018c1: DUP3 000018c2: DUP2 000018c3: SUB 000018c4: DUP3 000018c5: MSTORE 000018c6: PUSH1 0x2a 000018c8: DUP2 000018c9: MSTORE 000018ca: PUSH1 0x20 000018cc: ADD 000018cd: DUP1 000018ce: PUSH2 0x54a7 000018d1: PUSH1 0x2a 000018d3: SWAP2 000018d4: CODECOPY 000018d5: PUSH1 0x40 000018d7: ADD 000018d8: SWAP2 000018d9: POP 000018da: POP 000018db: PUSH1 0x40 000018dd: MLOAD 000018de: DUP1 000018df: SWAP2 000018e0: SUB 000018e1: SWAP1 000018e2: REVERT 000018e3: JUMPDEST 000018e4: PUSH1 0x01 000018e6: PUSH1 0xa0 000018e8: PUSH1 0x02 000018ea: EXP 000018eb: SUB 000018ec: DUP2 000018ed: AND 000018ee: ISZERO 000018ef: ISZERO 000018f0: PUSH2 0x1943 000018f3: JUMPI 000018f4: PUSH1 0x40 000018f6: DUP1 000018f7: MLOAD 000018f8: PUSH1 0xe5 000018fa: PUSH1 0x02 000018fc: EXP 000018fd: PUSH3 0x461bcd 00001901: MUL 00001902: DUP2 00001903: MSTORE 00001904: PUSH1 0x20 00001906: PUSH1 0x04 00001908: DUP3 00001909: ADD 0000190a: DUP2 0000190b: SWAP1 0000190c: MSTORE 0000190d: PUSH1 0x24 0000190f: DUP3 00001910: ADD 00001911: MSTORE 00001912: PUSH32 0x546865206f7261636c652061646472657373206d7573742062652076616c6964 00001933: PUSH1 0x44 00001935: DUP3 00001936: ADD 00001937: MSTORE 00001938: SWAP1 00001939: MLOAD 0000193a: SWAP1 0000193b: DUP2 0000193c: SWAP1 0000193d: SUB 0000193e: PUSH1 0x64 00001940: ADD 00001941: SWAP1 00001942: REVERT 00001943: JUMPDEST 00001944: PUSH1 0x06 00001946: DUP1 00001947: SLOAD 00001948: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000195d: NOT 0000195e: AND 0000195f: PUSH1 0x01 00001961: PUSH1 0xa0 00001963: PUSH1 0x02 00001965: EXP 00001966: SUB 00001967: DUP4 00001968: AND 00001969: OR 0000196a: SWAP1 0000196b: SSTORE 0000196c: PUSH2 0x1978 0000196f: TIMESTAMP 00001970: PUSH3 0x278d00 00001974: PUSH2 0x27a7 00001977: JUMP 00001978: JUMPDEST 00001979: PUSH1 0x07 0000197b: SSTORE 0000197c: PUSH1 0x40 0000197e: DUP1 0000197f: MLOAD 00001980: PUSH1 0x01 00001982: PUSH1 0xa0 00001984: PUSH1 0x02 00001986: EXP 00001987: SUB 00001988: DUP4 00001989: AND 0000198a: DUP2 0000198b: MSTORE 0000198c: SWAP1 0000198d: MLOAD 0000198e: PUSH32 0x3f174cfd713408ca6e4620d1efcc241b23fc39aa7d4694bd98610d3384dc001c 000019af: SWAP2 000019b0: DUP2 000019b1: SWAP1 000019b2: SUB 000019b3: PUSH1 0x20 000019b5: ADD 000019b6: SWAP1 000019b7: LOG1 000019b8: POP 000019b9: JUMP 000019ba: JUMPDEST 000019bb: PUSH1 0x00 000019bd: PUSH2 0x19c9 000019c0: DUP4 000019c1: CALLER 000019c2: DUP5 000019c3: PUSH1 0x01 000019c5: PUSH2 0x4355 000019c8: JUMP 000019c9: JUMPDEST 000019ca: ISZERO 000019cb: ISZERO 000019cc: PUSH2 0x1a09 000019cf: JUMPI 000019d0: PUSH1 0x40 000019d2: MLOAD 000019d3: PUSH1 0xe5 000019d5: PUSH1 0x02 000019d7: EXP 000019d8: PUSH3 0x461bcd 000019dc: MUL 000019dd: DUP2 000019de: MSTORE 000019df: PUSH1 0x04 000019e1: ADD 000019e2: DUP1 000019e3: DUP1 000019e4: PUSH1 0x20 000019e6: ADD 000019e7: DUP3 000019e8: DUP2 000019e9: SUB 000019ea: DUP3 000019eb: MSTORE 000019ec: PUSH1 0x24 000019ee: DUP2 000019ef: MSTORE 000019f0: PUSH1 0x20 000019f2: ADD 000019f3: DUP1 000019f4: PUSH2 0x5598 000019f7: PUSH1 0x24 000019f9: SWAP2 000019fa: CODECOPY 000019fb: PUSH1 0x40 000019fd: ADD 000019fe: SWAP2 000019ff: POP 00001a00: POP 00001a01: PUSH1 0x40 00001a03: MLOAD 00001a04: DUP1 00001a05: SWAP2 00001a06: SUB 00001a07: SWAP1 00001a08: REVERT 00001a09: JUMPDEST 00001a0a: PUSH1 0x01 00001a0c: PUSH1 0xa0 00001a0e: PUSH1 0x02 00001a10: EXP 00001a11: SUB 00001a12: DUP4 00001a13: AND 00001a14: PUSH1 0x00 00001a16: SWAP1 00001a17: DUP2 00001a18: MSTORE 00001a19: PUSH1 0x14 00001a1b: PUSH1 0x20 00001a1d: SWAP1 00001a1e: DUP2 00001a1f: MSTORE 00001a20: PUSH1 0x40 00001a22: DUP1 00001a23: DUP4 00001a24: KECCAK256 00001a25: CALLER 00001a26: DUP5 00001a27: MSTORE 00001a28: SWAP1 00001a29: SWAP2 00001a2a: MSTORE 00001a2b: DUP2 00001a2c: KECCAK256 00001a2d: SLOAD 00001a2e: PUSH2 0x1a37 00001a31: SWAP1 00001a32: DUP5 00001a33: PUSH2 0x27a7 00001a36: JUMP 00001a37: JUMPDEST 00001a38: PUSH1 0x01 00001a3a: PUSH1 0xa0 00001a3c: PUSH1 0x02 00001a3e: EXP 00001a3f: SUB 00001a40: DUP6 00001a41: AND 00001a42: PUSH1 0x00 00001a44: DUP2 00001a45: DUP2 00001a46: MSTORE 00001a47: PUSH1 0x14 00001a49: PUSH1 0x20 00001a4b: SWAP1 00001a4c: DUP2 00001a4d: MSTORE 00001a4e: PUSH1 0x40 00001a50: DUP1 00001a51: DUP4 00001a52: KECCAK256 00001a53: CALLER 00001a54: DUP5 00001a55: MSTORE 00001a56: DUP3 00001a57: MSTORE 00001a58: SWAP2 00001a59: DUP3 00001a5a: SWAP1 00001a5b: KECCAK256 00001a5c: DUP5 00001a5d: SWAP1 00001a5e: SSTORE 00001a5f: DUP2 00001a60: MLOAD 00001a61: DUP8 00001a62: DUP2 00001a63: MSTORE 00001a64: SWAP2 00001a65: MLOAD 00001a66: SWAP4 00001a67: SWAP5 00001a68: POP 00001a69: SWAP2 00001a6a: SWAP3 00001a6b: PUSH32 0x2cb77763bc1e8490c1a904905c4d74b4269919aca114464f4bb4d911e60de364 00001a8c: SWAP3 00001a8d: SWAP2 00001a8e: DUP2 00001a8f: SWAP1 00001a90: SUB 00001a91: SWAP1 00001a92: SWAP2 00001a93: ADD 00001a94: SWAP1 00001a95: LOG2 00001a96: SWAP4 00001a97: SWAP3 00001a98: POP 00001a99: POP 00001a9a: POP 00001a9b: JUMP 00001a9c: JUMPDEST 00001a9d: PUSH1 0x00 00001a9f: DUP1 00001aa0: DUP4 00001aa1: PUSH1 0x01 00001aa3: PUSH1 0xa0 00001aa5: PUSH1 0x02 00001aa7: EXP 00001aa8: SUB 00001aa9: AND 00001aaa: DUP6 00001aab: PUSH1 0x01 00001aad: PUSH1 0xa0 00001aaf: PUSH1 0x02 00001ab1: EXP 00001ab2: SUB 00001ab3: AND 00001ab4: EQ 00001ab5: ISZERO 00001ab6: PUSH2 0x1ac4 00001ab9: JUMPI 00001aba: POP 00001abb: PUSH1 0x01 00001abd: SWAP1 00001abe: POP 00001abf: DUP1 00001ac0: PUSH2 0x1c1f 00001ac3: JUMP 00001ac4: JUMPDEST 00001ac5: PUSH2 0x1ace 00001ac8: DUP6 00001ac9: DUP6 00001aca: PUSH2 0x1752 00001acd: JUMP 00001ace: JUMPDEST 00001acf: DUP4 00001ad0: GT 00001ad1: ISZERO 00001ad2: PUSH2 0x1ada 00001ad5: JUMPI 00001ad6: PUSH1 0x00 00001ad8: DUP1 00001ad9: REVERT 00001ada: JUMPDEST 00001adb: PUSH1 0x00 00001add: DUP1 00001ade: PUSH2 0x1ae5 00001ae1: PUSH2 0x5327 00001ae4: JUMP 00001ae5: JUMPDEST 00001ae6: PUSH2 0x1aed 00001ae9: PUSH2 0x5327 00001aec: JUMP 00001aed: JUMPDEST 00001aee: JUMPDEST 00001aef: DUP3 00001af0: ISZERO 00001af1: ISZERO 00001af2: PUSH2 0x1bb3 00001af5: JUMPI 00001af6: POP 00001af7: POP 00001af8: PUSH1 0x01 00001afa: PUSH1 0xa0 00001afc: PUSH1 0x02 00001afe: EXP 00001aff: SUB 00001b00: DUP1 00001b01: DUP8 00001b02: AND 00001b03: PUSH1 0x00 00001b05: DUP2 00001b06: DUP2 00001b07: MSTORE 00001b08: PUSH1 0x10 00001b0a: PUSH1 0x20 00001b0c: DUP2 00001b0d: DUP2 00001b0e: MSTORE 00001b0f: PUSH1 0x40 00001b11: DUP1 00001b12: DUP5 00001b13: KECCAK256 00001b14: SWAP6 00001b15: DUP14 00001b16: AND 00001b17: DUP1 00001b18: DUP6 00001b19: MSTORE 00001b1a: SWAP6 00001b1b: DUP3 00001b1c: MSTORE 00001b1d: DUP1 00001b1e: DUP5 00001b1f: KECCAK256 00001b20: DUP9 00001b21: DUP13 00001b22: SUB 00001b23: DUP1 00001b24: DUP7 00001b25: MSTORE 00001b26: SWAP1 00001b27: DUP4 00001b28: MSTORE 00001b29: DUP2 00001b2a: DUP6 00001b2b: KECCAK256 00001b2c: DUP3 00001b2d: MLOAD 00001b2e: DUP1 00001b2f: DUP5 00001b30: ADD 00001b31: DUP5 00001b32: MSTORE 00001b33: DUP2 00001b34: SLOAD 00001b35: DUP2 00001b36: MSTORE 00001b37: PUSH1 0x01 00001b39: SWAP2 00001b3a: DUP3 00001b3b: ADD 00001b3c: SLOAD 00001b3d: DUP2 00001b3e: DUP7 00001b3f: ADD 00001b40: MSTORE 00001b41: SWAP8 00001b42: DUP7 00001b43: MSTORE 00001b44: SWAP4 00001b45: DUP4 00001b46: MSTORE 00001b47: DUP2 00001b48: DUP6 00001b49: KECCAK256 00001b4a: SWAP6 00001b4b: DUP6 00001b4c: MSTORE 00001b4d: SWAP5 00001b4e: DUP3 00001b4f: MSTORE 00001b50: DUP1 00001b51: DUP5 00001b52: KECCAK256 00001b53: SWAP5 00001b54: DUP5 00001b55: MSTORE 00001b56: SWAP4 00001b57: DUP2 00001b58: MSTORE 00001b59: DUP4 00001b5a: DUP4 00001b5b: KECCAK256 00001b5c: DUP5 00001b5d: MLOAD 00001b5e: DUP1 00001b5f: DUP7 00001b60: ADD 00001b61: SWAP1 00001b62: SWAP6 00001b63: MSTORE 00001b64: DUP1 00001b65: SLOAD 00001b66: DUP1 00001b67: DUP7 00001b68: MSTORE 00001b69: SWAP3 00001b6a: ADD 00001b6b: SLOAD 00001b6c: SWAP1 00001b6d: DUP5 00001b6e: ADD 00001b6f: MSTORE 00001b70: SWAP2 00001b71: SWAP3 00001b72: SWAP2 00001b73: GT 00001b74: DUP1 00001b75: ISZERO 00001b76: PUSH2 0x1b83 00001b79: JUMPI 00001b7a: POP 00001b7b: PUSH1 0x00 00001b7d: DUP3 00001b7e: PUSH1 0x20 00001b80: ADD 00001b81: MLOAD 00001b82: GT 00001b83: JUMPDEST 00001b84: DUP1 00001b85: PUSH2 0x1b9e 00001b88: JUMPI 00001b89: POP 00001b8a: DUP1 00001b8b: MLOAD 00001b8c: PUSH1 0x00 00001b8e: LT 00001b8f: DUP1 00001b90: ISZERO 00001b91: PUSH2 0x1b9e 00001b94: JUMPI 00001b95: POP 00001b96: PUSH1 0x00 00001b98: DUP2 00001b99: PUSH1 0x20 00001b9b: ADD 00001b9c: MLOAD 00001b9d: GT 00001b9e: JUMPDEST 00001b9f: ISZERO 00001ba0: PUSH2 0x1ba8 00001ba3: JUMPI 00001ba4: PUSH1 0x01 00001ba6: SWAP3 00001ba7: POP 00001ba8: JUMPDEST 00001ba9: PUSH1 0x01 00001bab: SWAP1 00001bac: SWAP4 00001bad: ADD 00001bae: SWAP3 00001baf: PUSH2 0x1aee 00001bb2: JUMP 00001bb3: JUMPDEST 00001bb4: DUP2 00001bb5: MLOAD 00001bb6: ISZERO 00001bb7: DUP1 00001bb8: PUSH2 0x1bc3 00001bbb: JUMPI 00001bbc: POP 00001bbd: PUSH1 0x20 00001bbf: DUP3 00001bc0: ADD 00001bc1: MLOAD 00001bc2: ISZERO 00001bc3: JUMPDEST 00001bc4: ISZERO 00001bc5: PUSH2 0x1bd9 00001bc8: JUMPI 00001bc9: PUSH1 0x20 00001bcb: DUP2 00001bcc: ADD 00001bcd: MLOAD 00001bce: DUP2 00001bcf: MLOAD 00001bd0: SWAP1 00001bd1: SWAP7 00001bd2: POP 00001bd3: SWAP5 00001bd4: POP 00001bd5: PUSH2 0x1c1a 00001bd8: JUMP 00001bd9: JUMPDEST 00001bda: DUP1 00001bdb: MLOAD 00001bdc: ISZERO 00001bdd: DUP1 00001bde: PUSH2 0x1be9 00001be1: JUMPI 00001be2: POP 00001be3: PUSH1 0x20 00001be5: DUP2 00001be6: ADD 00001be7: MLOAD 00001be8: ISZERO 00001be9: JUMPDEST 00001bea: ISZERO 00001beb: PUSH2 0x1bff 00001bee: JUMPI 00001bef: DUP2 00001bf0: MLOAD 00001bf1: PUSH1 0x20 00001bf3: DUP4 00001bf4: ADD 00001bf5: MLOAD 00001bf6: SWAP1 00001bf7: SWAP7 00001bf8: POP 00001bf9: SWAP5 00001bfa: POP 00001bfb: PUSH2 0x1c1a 00001bfe: JUMP 00001bff: JUMPDEST 00001c00: DUP2 00001c01: PUSH1 0x00 00001c03: ADD 00001c04: MLOAD 00001c05: DUP2 00001c06: PUSH1 0x20 00001c08: ADD 00001c09: MLOAD 00001c0a: ADD 00001c0b: SWAP6 00001c0c: POP 00001c0d: DUP2 00001c0e: PUSH1 0x20 00001c10: ADD 00001c11: MLOAD 00001c12: DUP2 00001c13: PUSH1 0x00 00001c15: ADD 00001c16: MLOAD 00001c17: ADD 00001c18: SWAP5 00001c19: POP 00001c1a: JUMPDEST 00001c1b: POP 00001c1c: POP 00001c1d: POP 00001c1e: POP 00001c1f: JUMPDEST 00001c20: SWAP4 00001c21: POP 00001c22: SWAP4 00001c23: SWAP2 00001c24: POP 00001c25: POP 00001c26: JUMP 00001c27: JUMPDEST 00001c28: DUP2 00001c29: ADD 00001c2a: LT 00001c2b: ISZERO 00001c2c: SWAP1 00001c2d: JUMP 00001c2e: JUMPDEST 00001c2f: PUSH1 0x01 00001c31: PUSH1 0xa0 00001c33: PUSH1 0x02 00001c35: EXP 00001c36: SUB 00001c37: DUP5 00001c38: AND 00001c39: PUSH1 0x00 00001c3b: SWAP1 00001c3c: DUP2 00001c3d: MSTORE 00001c3e: PUSH1 0x14 00001c40: PUSH1 0x20 00001c42: SWAP1 00001c43: DUP2 00001c44: MSTORE 00001c45: PUSH1 0x40 00001c47: DUP1 00001c48: DUP4 00001c49: KECCAK256 00001c4a: CALLER 00001c4b: DUP5 00001c4c: MSTORE 00001c4d: SWAP1 00001c4e: SWAP2 00001c4f: MSTORE 00001c50: DUP2 00001c51: KECCAK256 00001c52: SLOAD 00001c53: DUP2 00001c54: SWAP1 00001c55: PUSH2 0x1c5f 00001c58: SWAP1 00001c59: DUP5 00001c5a: SWAP1 00001c5b: PUSH2 0x2a3b 00001c5e: JUMP 00001c5f: JUMPDEST 00001c60: SWAP3 00001c61: POP 00001c62: PUSH1 0x00 00001c64: PUSH2 0x1c6d 00001c67: DUP8 00001c68: DUP8 00001c69: PUSH2 0x1752 00001c6c: JUMP 00001c6d: JUMPDEST 00001c6e: SWAP1 00001c6f: POP 00001c70: PUSH1 0x00 00001c72: DUP2 00001c73: GT 00001c74: PUSH2 0x1c7c 00001c77: JUMPI 00001c78: PUSH1 0x00 00001c7a: DUP1 00001c7b: REVERT 00001c7c: JUMPDEST 00001c7d: PUSH1 0x00 00001c7f: PUSH2 0x1c88 00001c82: DUP9 00001c83: DUP9 00001c84: PUSH2 0x35f4 00001c87: JUMP 00001c88: JUMPDEST 00001c89: SWAP1 00001c8a: POP 00001c8b: PUSH1 0x01 00001c8d: DUP2 00001c8e: EQ 00001c8f: DUP1 00001c90: PUSH2 0x1c98 00001c93: JUMPI 00001c94: POP 00001c95: TIMESTAMP 00001c96: DUP2 00001c97: GT 00001c98: JUMPDEST 00001c99: ISZERO 00001c9a: PUSH2 0x1d3b 00001c9d: JUMPI 00001c9e: DUP6 00001c9f: ISZERO 00001ca0: ISZERO 00001ca1: PUSH2 0x1cac 00001ca4: JUMPI 00001ca5: DUP2 00001ca6: SWAP6 00001ca7: POP 00001ca8: PUSH2 0x1ced 00001cab: JUMP 00001cac: JUMPDEST 00001cad: DUP6 00001cae: DUP3 00001caf: EQ 00001cb0: PUSH2 0x1ced 00001cb3: JUMPI 00001cb4: PUSH1 0x40 00001cb6: MLOAD 00001cb7: PUSH1 0xe5 00001cb9: PUSH1 0x02 00001cbb: EXP 00001cbc: PUSH3 0x461bcd 00001cc0: MUL 00001cc1: DUP2 00001cc2: MSTORE 00001cc3: PUSH1 0x04 00001cc5: ADD 00001cc6: DUP1 00001cc7: DUP1 00001cc8: PUSH1 0x20 00001cca: ADD 00001ccb: DUP3 00001ccc: DUP2 00001ccd: SUB 00001cce: DUP3 00001ccf: MSTORE 00001cd0: PUSH1 0x35 00001cd2: DUP2 00001cd3: MSTORE 00001cd4: PUSH1 0x20 00001cd6: ADD 00001cd7: DUP1 00001cd8: PUSH2 0x55de 00001cdb: PUSH1 0x35 00001cdd: SWAP2 00001cde: CODECOPY 00001cdf: PUSH1 0x40 00001ce1: ADD 00001ce2: SWAP2 00001ce3: POP 00001ce4: POP 00001ce5: PUSH1 0x40 00001ce7: MLOAD 00001ce8: DUP1 00001ce9: SWAP2 00001cea: SUB 00001ceb: SWAP1 00001cec: REVERT 00001ced: JUMPDEST 00001cee: PUSH1 0x01 00001cf0: PUSH1 0xa0 00001cf2: PUSH1 0x02 00001cf4: EXP 00001cf5: SUB 00001cf6: DUP1 00001cf7: DUP10 00001cf8: AND 00001cf9: PUSH1 0x00 00001cfb: SWAP1 00001cfc: DUP2 00001cfd: MSTORE 00001cfe: PUSH1 0x11 00001d00: PUSH1 0x20 00001d02: SWAP1 00001d03: DUP2 00001d04: MSTORE 00001d05: PUSH1 0x40 00001d07: DUP1 00001d08: DUP4 00001d09: KECCAK256 00001d0a: SWAP4 00001d0b: DUP12 00001d0c: AND 00001d0d: DUP4 00001d0e: MSTORE 00001d0f: SWAP3 00001d10: SWAP1 00001d11: MSTORE 00001d12: KECCAK256 00001d13: SLOAD 00001d14: PUSH13 0x0c9f2c9cd04674edea40000000 00001d22: SWAP1 00001d23: PUSH2 0x1d2c 00001d26: SWAP1 00001d27: DUP8 00001d28: PUSH2 0x27a7 00001d2b: JUMP 00001d2c: JUMPDEST 00001d2d: LT 00001d2e: PUSH2 0x1d36 00001d31: JUMPI 00001d32: PUSH1 0x00 00001d34: DUP1 00001d35: REVERT 00001d36: JUMPDEST 00001d37: PUSH2 0x1da5 00001d3a: JUMP 00001d3b: JUMPDEST 00001d3c: DUP6 00001d3d: ISZERO 00001d3e: ISZERO 00001d3f: PUSH2 0x1d4d 00001d42: JUMPI 00001d43: DUP2 00001d44: PUSH1 0x01 00001d46: ADD 00001d47: SWAP6 00001d48: POP 00001d49: PUSH2 0x1d5c 00001d4c: JUMP 00001d4d: JUMPDEST 00001d4e: PUSH1 0x01 00001d50: DUP3 00001d51: ADD 00001d52: DUP7 00001d53: EQ 00001d54: PUSH2 0x1d5c 00001d57: JUMPI 00001d58: PUSH1 0x00 00001d5a: DUP1 00001d5b: REVERT 00001d5c: JUMPDEST 00001d5d: PUSH1 0x01 00001d5f: PUSH1 0xa0 00001d61: PUSH1 0x02 00001d63: EXP 00001d64: SUB 00001d65: DUP1 00001d66: DUP10 00001d67: AND 00001d68: PUSH1 0x00 00001d6a: SWAP1 00001d6b: DUP2 00001d6c: MSTORE 00001d6d: PUSH1 0x12 00001d6f: PUSH1 0x20 00001d71: SWAP1 00001d72: DUP2 00001d73: MSTORE 00001d74: PUSH1 0x40 00001d76: DUP1 00001d77: DUP4 00001d78: KECCAK256 00001d79: SWAP4 00001d7a: DUP12 00001d7b: AND 00001d7c: DUP4 00001d7d: MSTORE 00001d7e: SWAP3 00001d7f: SWAP1 00001d80: MSTORE 00001d81: KECCAK256 00001d82: SLOAD 00001d83: PUSH13 0x0c9f2c9cd04674edea40000000 00001d91: SWAP1 00001d92: PUSH2 0x1d9b 00001d95: SWAP1 00001d96: DUP8 00001d97: PUSH2 0x27a7 00001d9a: JUMP 00001d9b: JUMPDEST 00001d9c: LT 00001d9d: PUSH2 0x1da5 00001da0: JUMPI 00001da1: PUSH1 0x00 00001da3: DUP1 00001da4: REVERT 00001da5: JUMPDEST 00001da6: PUSH1 0x00 00001da8: PUSH2 0x1db3 00001dab: DUP10 00001dac: DUP10 00001dad: DUP10 00001dae: DUP10 00001daf: PUSH2 0x449a 00001db2: JUMP 00001db3: JUMPDEST 00001db4: PUSH1 0x01 00001db6: PUSH1 0xa0 00001db8: PUSH1 0x02 00001dba: EXP 00001dbb: SUB 00001dbc: DUP11 00001dbd: AND 00001dbe: PUSH1 0x00 00001dc0: SWAP1 00001dc1: DUP2 00001dc2: MSTORE 00001dc3: PUSH1 0x14 00001dc5: PUSH1 0x20 00001dc7: SWAP1 00001dc8: DUP2 00001dc9: MSTORE 00001dca: PUSH1 0x40 00001dcc: DUP1 00001dcd: DUP4 00001dce: KECCAK256 00001dcf: CALLER 00001dd0: DUP5 00001dd1: MSTORE 00001dd2: SWAP1 00001dd3: SWAP2 00001dd4: MSTORE 00001dd5: SWAP1 00001dd6: KECCAK256 00001dd7: SLOAD 00001dd8: SWAP1 00001dd9: SWAP2 00001dda: POP 00001ddb: PUSH2 0x1de4 00001dde: SWAP1 00001ddf: DUP8 00001de0: PUSH2 0x332f 00001de3: JUMP 00001de4: JUMPDEST 00001de5: PUSH1 0x01 00001de7: PUSH1 0xa0 00001de9: PUSH1 0x02 00001deb: EXP 00001dec: SUB 00001ded: DUP1 00001dee: DUP12 00001def: AND 00001df0: PUSH1 0x00 00001df2: DUP2 00001df3: DUP2 00001df4: MSTORE 00001df5: PUSH1 0x14 00001df7: PUSH1 0x20 00001df9: SWAP1 00001dfa: DUP2 00001dfb: MSTORE 00001dfc: PUSH1 0x40 00001dfe: DUP1 00001dff: DUP4 00001e00: KECCAK256 00001e01: CALLER 00001e02: DUP1 00001e03: DUP6 00001e04: MSTORE 00001e05: SWAP1 00001e06: DUP4 00001e07: MSTORE 00001e08: DUP2 00001e09: DUP5 00001e0a: KECCAK256 00001e0b: SWAP7 00001e0c: SWAP1 00001e0d: SWAP7 00001e0e: SSTORE 00001e0f: SWAP3 00001e10: DUP3 00001e11: MSTORE 00001e12: PUSH1 0x16 00001e14: DUP2 00001e15: MSTORE 00001e16: DUP3 00001e17: DUP3 00001e18: KECCAK256 00001e19: SWAP4 00001e1a: DUP14 00001e1b: AND 00001e1c: DUP3 00001e1d: MSTORE 00001e1e: SWAP3 00001e1f: DUP4 00001e20: MSTORE 00001e21: DUP2 00001e22: DUP2 00001e23: KECCAK256 00001e24: DUP12 00001e25: DUP3 00001e26: MSTORE 00001e27: DUP4 00001e28: MSTORE 00001e29: DUP2 00001e2a: DUP2 00001e2b: KECCAK256 00001e2c: SWAP4 00001e2d: DUP2 00001e2e: MSTORE 00001e2f: SWAP3 00001e30: SWAP1 00001e31: SWAP2 00001e32: MSTORE 00001e33: DUP2 00001e34: KECCAK256 00001e35: SLOAD 00001e36: PUSH2 0x1e3f 00001e39: SWAP1 00001e3a: DUP4 00001e3b: PUSH2 0x27a7 00001e3e: JUMP 00001e3f: JUMPDEST 00001e40: PUSH1 0x01 00001e42: PUSH1 0xa0 00001e44: PUSH1 0x02 00001e46: EXP 00001e47: SUB 00001e48: DUP1 00001e49: DUP13 00001e4a: AND 00001e4b: PUSH1 0x00 00001e4d: SWAP1 00001e4e: DUP2 00001e4f: MSTORE 00001e50: PUSH1 0x16 00001e52: PUSH1 0x20 00001e54: SWAP1 00001e55: DUP2 00001e56: MSTORE 00001e57: PUSH1 0x40 00001e59: DUP1 00001e5a: DUP4 00001e5b: KECCAK256 00001e5c: SWAP4 00001e5d: DUP15 00001e5e: AND 00001e5f: DUP4 00001e60: MSTORE 00001e61: SWAP3 00001e62: DUP2 00001e63: MSTORE 00001e64: DUP3 00001e65: DUP3 00001e66: KECCAK256 00001e67: DUP13 00001e68: DUP4 00001e69: MSTORE 00001e6a: DUP2 00001e6b: MSTORE 00001e6c: DUP3 00001e6d: DUP3 00001e6e: KECCAK256 00001e6f: CALLER 00001e70: DUP4 00001e71: MSTORE 00001e72: SWAP1 00001e73: MSTORE 00001e74: KECCAK256 00001e75: DUP2 00001e76: SWAP1 00001e77: SSTORE 00001e78: SWAP1 00001e79: POP 00001e7a: PUSH1 0x01 00001e7c: DUP4 00001e7d: EQ 00001e7e: DUP1 00001e7f: PUSH2 0x1e87 00001e82: JUMPI 00001e83: POP 00001e84: TIMESTAMP 00001e85: DUP4 00001e86: GT 00001e87: JUMPDEST 00001e88: ISZERO 00001e89: PUSH2 0x1ee8 00001e8c: JUMPI 00001e8d: PUSH1 0x01 00001e8f: PUSH1 0xa0 00001e91: PUSH1 0x02 00001e93: EXP 00001e94: SUB 00001e95: DUP1 00001e96: DUP12 00001e97: AND 00001e98: PUSH1 0x00 00001e9a: SWAP1 00001e9b: DUP2 00001e9c: MSTORE 00001e9d: PUSH1 0x11 00001e9f: PUSH1 0x20 00001ea1: SWAP1 00001ea2: DUP2 00001ea3: MSTORE 00001ea4: PUSH1 0x40 00001ea6: DUP1 00001ea7: DUP4 00001ea8: KECCAK256 00001ea9: SWAP4 00001eaa: DUP14 00001eab: AND 00001eac: DUP4 00001ead: MSTORE 00001eae: SWAP3 00001eaf: SWAP1 00001eb0: MSTORE 00001eb1: KECCAK256 00001eb2: SLOAD 00001eb3: PUSH2 0x1ebc 00001eb6: DUP2 00001eb7: DUP5 00001eb8: PUSH2 0x27a7 00001ebb: JUMP 00001ebc: JUMPDEST 00001ebd: PUSH1 0x01 00001ebf: PUSH1 0xa0 00001ec1: PUSH1 0x02 00001ec3: EXP 00001ec4: SUB 00001ec5: DUP1 00001ec6: DUP14 00001ec7: AND 00001ec8: PUSH1 0x00 00001eca: SWAP1 00001ecb: DUP2 00001ecc: MSTORE 00001ecd: PUSH1 0x11 00001ecf: PUSH1 0x20 00001ed1: SWAP1 00001ed2: DUP2 00001ed3: MSTORE 00001ed4: PUSH1 0x40 00001ed6: DUP1 00001ed7: DUP4 00001ed8: KECCAK256 00001ed9: SWAP4 00001eda: DUP16 00001edb: AND 00001edc: DUP4 00001edd: MSTORE 00001ede: SWAP3 00001edf: SWAP1 00001ee0: MSTORE 00001ee1: KECCAK256 00001ee2: SSTORE 00001ee3: POP 00001ee4: PUSH2 0x1f4b 00001ee7: JUMP 00001ee8: JUMPDEST 00001ee9: PUSH1 0x01 00001eeb: PUSH1 0xa0 00001eed: PUSH1 0x02 00001eef: EXP 00001ef0: SUB 00001ef1: DUP1 00001ef2: DUP12 00001ef3: AND 00001ef4: PUSH1 0x00 00001ef6: SWAP1 00001ef7: DUP2 00001ef8: MSTORE 00001ef9: PUSH1 0x12 00001efb: PUSH1 0x20 00001efd: SWAP1 00001efe: DUP2 00001eff: MSTORE 00001f00: PUSH1 0x40 00001f02: DUP1 00001f03: DUP4 00001f04: KECCAK256 00001f05: SWAP4 00001f06: DUP14 00001f07: AND 00001f08: DUP4 00001f09: MSTORE 00001f0a: SWAP3 00001f0b: SWAP1 00001f0c: MSTORE 00001f0d: KECCAK256 00001f0e: SLOAD 00001f0f: PUSH2 0x1f18 00001f12: DUP2 00001f13: DUP5 00001f14: PUSH2 0x27a7 00001f17: JUMP 00001f18: JUMPDEST 00001f19: PUSH1 0x01 00001f1b: PUSH1 0xa0 00001f1d: PUSH1 0x02 00001f1f: EXP 00001f20: SUB 00001f21: DUP1 00001f22: DUP14 00001f23: AND 00001f24: PUSH1 0x00 00001f26: SWAP1 00001f27: DUP2 00001f28: MSTORE 00001f29: PUSH1 0x12 00001f2b: PUSH1 0x20 00001f2d: SWAP1 00001f2e: DUP2 00001f2f: MSTORE 00001f30: PUSH1 0x40 00001f32: DUP1 00001f33: DUP4 00001f34: KECCAK256 00001f35: SWAP4 00001f36: DUP16 00001f37: AND 00001f38: DUP4 00001f39: MSTORE 00001f3a: SWAP3 00001f3b: SWAP1 00001f3c: MSTORE 00001f3d: KECCAK256 00001f3e: SSTORE 00001f3f: PUSH2 0x1f49 00001f42: DUP12 00001f43: DUP12 00001f44: DUP8 00001f45: PUSH2 0x2a62 00001f48: JUMP 00001f49: JUMPDEST 00001f4a: POP 00001f4b: JUMPDEST 00001f4c: PUSH1 0x01 00001f4e: DUP4 00001f4f: EQ 00001f50: ISZERO 00001f51: PUSH2 0x1f5e 00001f54: JUMPI 00001f55: PUSH2 0x1f5e 00001f58: DUP11 00001f59: DUP11 00001f5a: PUSH2 0x459f 00001f5d: JUMP 00001f5e: JUMPDEST 00001f5f: CALLER 00001f60: PUSH1 0x01 00001f62: PUSH1 0xa0 00001f64: PUSH1 0x02 00001f66: EXP 00001f67: SUB 00001f68: AND 00001f69: DUP10 00001f6a: PUSH1 0x01 00001f6c: PUSH1 0xa0 00001f6e: PUSH1 0x02 00001f70: EXP 00001f71: SUB 00001f72: AND 00001f73: DUP12 00001f74: PUSH1 0x01 00001f76: PUSH1 0xa0 00001f78: PUSH1 0x02 00001f7a: EXP 00001f7b: SUB 00001f7c: AND 00001f7d: PUSH32 0x3681d6f6ad159bac260c32828859f6df545bbf841c6e70787bcf0acbc390512a 00001f9e: DUP12 00001f9f: DUP7 00001fa0: PUSH1 0x40 00001fa2: MLOAD 00001fa3: DUP1 00001fa4: DUP4 00001fa5: DUP2 00001fa6: MSTORE 00001fa7: PUSH1 0x20 00001fa9: ADD 00001faa: DUP3 00001fab: DUP2 00001fac: MSTORE 00001fad: PUSH1 0x20 00001faf: ADD 00001fb0: SWAP3 00001fb1: POP 00001fb2: POP 00001fb3: POP 00001fb4: PUSH1 0x40 00001fb6: MLOAD 00001fb7: DUP1 00001fb8: SWAP2 00001fb9: SUB 00001fba: SWAP1 00001fbb: LOG4 00001fbc: SWAP7 00001fbd: SWAP10 00001fbe: SWAP7 00001fbf: SWAP9 00001fc0: POP 00001fc1: SWAP6 00001fc2: SWAP7 00001fc3: POP 00001fc4: POP 00001fc5: POP 00001fc6: POP 00001fc7: POP 00001fc8: POP 00001fc9: POP 00001fca: JUMP 00001fcb: JUMPDEST 00001fcc: PUSH1 0x01 00001fce: PUSH1 0xa0 00001fd0: PUSH1 0x02 00001fd2: EXP 00001fd3: SUB 00001fd4: DUP1 00001fd5: DUP6 00001fd6: AND 00001fd7: PUSH1 0x00 00001fd9: SWAP1 00001fda: DUP2 00001fdb: MSTORE 00001fdc: PUSH1 0x10 00001fde: PUSH1 0x20 00001fe0: SWAP1 00001fe1: DUP2 00001fe2: MSTORE 00001fe3: PUSH1 0x40 00001fe5: DUP1 00001fe6: DUP4 00001fe7: KECCAK256 00001fe8: SWAP4 00001fe9: DUP8 00001fea: AND 00001feb: DUP4 00001fec: MSTORE 00001fed: SWAP3 00001fee: DUP2 00001fef: MSTORE 00001ff0: DUP3 00001ff1: DUP3 00001ff2: KECCAK256 00001ff3: DUP6 00001ff4: DUP4 00001ff5: MSTORE 00001ff6: SWAP1 00001ff7: MSTORE 00001ff8: SWAP1 00001ff9: DUP2 00001ffa: KECCAK256 00001ffb: PUSH1 0x01 00001ffd: ADD 00001ffe: SLOAD 00001fff: ISZERO 00002000: PUSH2 0x2008 00002003: JUMPI 00002004: PUSH1 0x00 00002006: DUP1 00002007: REVERT 00002008: JUMPDEST 00002009: PUSH1 0x00 0000200b: PUSH2 0x2014 0000200e: DUP7 0000200f: DUP7 00002010: PUSH2 0x35f4 00002013: JUMP 00002014: JUMPDEST 00002015: SWAP1 00002016: POP 00002017: TIMESTAMP 00002018: DUP2 00002019: GT 0000201a: ISZERO 0000201b: PUSH2 0x2023 0000201e: JUMPI 0000201f: PUSH1 0x00 00002021: DUP1 00002022: REVERT 00002023: JUMPDEST 00002024: PUSH2 0x202d 00002027: DUP7 00002028: DUP7 00002029: PUSH2 0x1752 0000202c: JUMP 0000202d: JUMPDEST 0000202e: DUP5 0000202f: EQ 00002030: PUSH2 0x2038 00002033: JUMPI 00002034: PUSH1 0x00 00002036: DUP1 00002037: REVERT 00002038: JUMPDEST 00002039: PUSH1 0x01 0000203b: DUP2 0000203c: GT 0000203d: PUSH2 0x2045 00002040: JUMPI 00002041: PUSH1 0x00 00002043: DUP1 00002044: REVERT 00002045: JUMPDEST 00002046: PUSH1 0x01 00002048: PUSH1 0xa0 0000204a: PUSH1 0x02 0000204c: EXP 0000204d: SUB 0000204e: DUP1 0000204f: DUP8 00002050: AND 00002051: PUSH1 0x00 00002053: SWAP1 00002054: DUP2 00002055: MSTORE 00002056: PUSH1 0x11 00002058: PUSH1 0x20 0000205a: SWAP1 0000205b: DUP2 0000205c: MSTORE 0000205d: PUSH1 0x40 0000205f: DUP1 00002060: DUP4 00002061: KECCAK256 00002062: SWAP4 00002063: DUP10 00002064: AND 00002065: DUP4 00002066: MSTORE 00002067: SWAP3 00002068: SWAP1 00002069: MSTORE 0000206a: SWAP1 0000206b: DUP2 0000206c: KECCAK256 0000206d: SLOAD 0000206e: GT 0000206f: PUSH2 0x2077 00002072: JUMPI 00002073: PUSH1 0x00 00002075: DUP1 00002076: REVERT 00002077: JUMPDEST 00002078: PUSH1 0x01 0000207a: PUSH1 0xa0 0000207c: PUSH1 0x02 0000207e: EXP 0000207f: SUB 00002080: DUP1 00002081: DUP8 00002082: AND 00002083: PUSH1 0x00 00002085: SWAP1 00002086: DUP2 00002087: MSTORE 00002088: PUSH1 0x13 0000208a: PUSH1 0x20 0000208c: SWAP1 0000208d: DUP2 0000208e: MSTORE 0000208f: PUSH1 0x40 00002091: DUP1 00002092: DUP4 00002093: KECCAK256 00002094: SWAP4 00002095: DUP10 00002096: AND 00002097: DUP4 00002098: MSTORE 00002099: SWAP3 0000209a: DUP2 0000209b: MSTORE 0000209c: DUP3 0000209d: DUP3 0000209e: KECCAK256 0000209f: SLOAD 000020a0: PUSH1 0x14 000020a2: DUP3 000020a3: MSTORE 000020a4: DUP4 000020a5: DUP4 000020a6: KECCAK256 000020a7: CALLER 000020a8: DUP5 000020a9: MSTORE 000020aa: SWAP1 000020ab: SWAP2 000020ac: MSTORE 000020ad: SWAP2 000020ae: SWAP1 000020af: KECCAK256 000020b0: SLOAD 000020b1: PUSH2 0x20bb 000020b4: SWAP1 000020b5: DUP6 000020b6: SWAP1 000020b7: PUSH2 0x2a3b 000020ba: JUMP 000020bb: JUMPDEST 000020bc: SWAP4 000020bd: POP 000020be: PUSH13 0x0c9f2c9cd04674edea40000000 000020cc: PUSH2 0x20d5 000020cf: DUP3 000020d0: DUP7 000020d1: PUSH2 0x27a7 000020d4: JUMP 000020d5: JUMPDEST 000020d6: LT 000020d7: PUSH2 0x20df 000020da: JUMPI 000020db: PUSH1 0x00 000020dd: DUP1 000020de: REVERT 000020df: JUMPDEST 000020e0: PUSH1 0x01 000020e2: PUSH1 0xa0 000020e4: PUSH1 0x02 000020e6: EXP 000020e7: SUB 000020e8: DUP1 000020e9: DUP9 000020ea: AND 000020eb: PUSH1 0x00 000020ed: SWAP1 000020ee: DUP2 000020ef: MSTORE 000020f0: PUSH1 0x11 000020f2: PUSH1 0x20 000020f4: SWAP1 000020f5: DUP2 000020f6: MSTORE 000020f7: PUSH1 0x40 000020f9: DUP1 000020fa: DUP4 000020fb: KECCAK256 000020fc: SWAP4 000020fd: DUP11 000020fe: AND 000020ff: DUP4 00002100: MSTORE 00002101: SWAP3 00002102: SWAP1 00002103: MSTORE 00002104: SWAP1 00002105: DUP2 00002106: KECCAK256 00002107: SLOAD 00002108: SWAP1 00002109: DUP1 0000210a: PUSH2 0x2114 0000210d: DUP11 0000210e: DUP11 0000210f: DUP11 00002110: PUSH2 0x41a1 00002113: JUMP 00002114: JUMPDEST 00002115: SWAP1 00002116: SWAP3 00002117: POP 00002118: SWAP1 00002119: POP 0000211a: PUSH1 0x00 0000211c: PUSH2 0x213a 0000211f: DUP6 00002120: DUP4 00002121: PUSH2 0x212a 00002124: DUP8 00002125: DUP8 00002126: PUSH2 0x3403 00002129: JUMP 0000212a: JUMPDEST 0000212b: DUP2 0000212c: ISZERO 0000212d: ISZERO 0000212e: PUSH2 0x2133 00002131: JUMPI 00002132: INVALID 00002133: JUMPDEST 00002134: DIV 00002135: SUB 00002136: PUSH2 0x1851 00002139: JUMP 0000213a: JUMPDEST 0000213b: SWAP1 0000213c: POP 0000213d: PUSH1 0x00 0000213f: DUP2 00002140: DUP10 00002141: LT 00002142: ISZERO 00002143: PUSH2 0x2163 00002146: JUMPI 00002147: PUSH1 0x00 00002149: DUP10 0000214a: GT 0000214b: ISZERO 0000214c: PUSH2 0x215e 0000214f: JUMPI 00002150: PUSH2 0x215b 00002153: DUP12 00002154: DUP14 00002155: DUP13 00002156: DUP13 00002157: PUSH2 0x449a 0000215a: JUMP 0000215b: JUMPDEST 0000215c: SWAP1 0000215d: POP 0000215e: JUMPDEST 0000215f: PUSH2 0x2169 00002162: JUMP 00002163: JUMPDEST 00002164: POP 00002165: SWAP7 00002166: POP 00002167: DUP7 00002168: DUP1 00002169: JUMPDEST 0000216a: PUSH1 0x00 0000216c: DUP10 0000216d: GT 0000216e: ISZERO 0000216f: PUSH2 0x23f1 00002172: JUMPI 00002173: PUSH1 0x01 00002175: PUSH1 0xa0 00002177: PUSH1 0x02 00002179: EXP 0000217a: SUB 0000217b: DUP12 0000217c: AND 0000217d: PUSH1 0x00 0000217f: SWAP1 00002180: DUP2 00002181: MSTORE 00002182: PUSH1 0x14 00002184: PUSH1 0x20 00002186: SWAP1 00002187: DUP2 00002188: MSTORE 00002189: PUSH1 0x40 0000218b: DUP1 0000218c: DUP4 0000218d: KECCAK256 0000218e: CALLER 0000218f: DUP5 00002190: MSTORE 00002191: SWAP1 00002192: SWAP2 00002193: MSTORE 00002194: SWAP1 00002195: KECCAK256 00002196: SLOAD 00002197: PUSH2 0x21a0 0000219a: SWAP1 0000219b: DUP11 0000219c: PUSH2 0x332f 0000219f: JUMP 000021a0: JUMPDEST 000021a1: PUSH1 0x14 000021a3: PUSH1 0x00 000021a5: DUP14 000021a6: PUSH1 0x01 000021a8: PUSH1 0xa0 000021aa: PUSH1 0x02 000021ac: EXP 000021ad: SUB 000021ae: AND 000021af: PUSH1 0x01 000021b1: PUSH1 0xa0 000021b3: PUSH1 0x02 000021b5: EXP 000021b6: SUB 000021b7: AND 000021b8: DUP2 000021b9: MSTORE 000021ba: PUSH1 0x20 000021bc: ADD 000021bd: SWAP1 000021be: DUP2 000021bf: MSTORE 000021c0: PUSH1 0x20 000021c2: ADD 000021c3: PUSH1 0x00 000021c5: KECCAK256 000021c6: PUSH1 0x00 000021c8: CALLER 000021c9: PUSH1 0x01 000021cb: PUSH1 0xa0 000021cd: PUSH1 0x02 000021cf: EXP 000021d0: SUB 000021d1: AND 000021d2: PUSH1 0x01 000021d4: PUSH1 0xa0 000021d6: PUSH1 0x02 000021d8: EXP 000021d9: SUB 000021da: AND 000021db: DUP2 000021dc: MSTORE 000021dd: PUSH1 0x20 000021df: ADD 000021e0: SWAP1 000021e1: DUP2 000021e2: MSTORE 000021e3: PUSH1 0x20 000021e5: ADD 000021e6: PUSH1 0x00 000021e8: KECCAK256 000021e9: DUP2 000021ea: SWAP1 000021eb: SSTORE 000021ec: POP 000021ed: PUSH2 0x2272 000021f0: PUSH1 0x17 000021f2: PUSH1 0x00 000021f4: DUP15 000021f5: PUSH1 0x01 000021f7: PUSH1 0xa0 000021f9: PUSH1 0x02 000021fb: EXP 000021fc: SUB 000021fd: AND 000021fe: PUSH1 0x01 00002200: PUSH1 0xa0 00002202: PUSH1 0x02 00002204: EXP 00002205: SUB 00002206: AND 00002207: DUP2 00002208: MSTORE 00002209: PUSH1 0x20 0000220b: ADD 0000220c: SWAP1 0000220d: DUP2 0000220e: MSTORE 0000220f: PUSH1 0x20 00002211: ADD 00002212: PUSH1 0x00 00002214: KECCAK256 00002215: PUSH1 0x00 00002217: DUP14 00002218: PUSH1 0x01 0000221a: PUSH1 0xa0 0000221c: PUSH1 0x02 0000221e: EXP 0000221f: SUB 00002220: AND 00002221: PUSH1 0x01 00002223: PUSH1 0xa0 00002225: PUSH1 0x02 00002227: EXP 00002228: SUB 00002229: AND 0000222a: DUP2 0000222b: MSTORE 0000222c: PUSH1 0x20 0000222e: ADD 0000222f: SWAP1 00002230: DUP2 00002231: MSTORE 00002232: PUSH1 0x20 00002234: ADD 00002235: PUSH1 0x00 00002237: KECCAK256 00002238: PUSH1 0x00 0000223a: DUP13 0000223b: DUP2 0000223c: MSTORE 0000223d: PUSH1 0x20 0000223f: ADD 00002240: SWAP1 00002241: DUP2 00002242: MSTORE 00002243: PUSH1 0x20 00002245: ADD 00002246: PUSH1 0x00 00002248: KECCAK256 00002249: PUSH1 0x00 0000224b: CALLER 0000224c: PUSH1 0x01 0000224e: PUSH1 0xa0 00002250: PUSH1 0x02 00002252: EXP 00002253: SUB 00002254: AND 00002255: PUSH1 0x01 00002257: PUSH1 0xa0 00002259: PUSH1 0x02 0000225b: EXP 0000225c: SUB 0000225d: AND 0000225e: DUP2 0000225f: MSTORE 00002260: PUSH1 0x20 00002262: ADD 00002263: SWAP1 00002264: DUP2 00002265: MSTORE 00002266: PUSH1 0x20 00002268: ADD 00002269: PUSH1 0x00 0000226b: KECCAK256 0000226c: SLOAD 0000226d: DUP3 0000226e: PUSH2 0x27a7 00002271: JUMP 00002272: JUMPDEST 00002273: SWAP8 00002274: POP 00002275: DUP8 00002276: PUSH1 0x17 00002278: PUSH1 0x00 0000227a: DUP15 0000227b: PUSH1 0x01 0000227d: PUSH1 0xa0 0000227f: PUSH1 0x02 00002281: EXP 00002282: SUB 00002283: AND 00002284: PUSH1 0x01 00002286: PUSH1 0xa0 00002288: PUSH1 0x02 0000228a: EXP 0000228b: SUB 0000228c: AND 0000228d: DUP2 0000228e: MSTORE 0000228f: PUSH1 0x20 00002291: ADD 00002292: SWAP1 00002293: DUP2 00002294: MSTORE 00002295: PUSH1 0x20 00002297: ADD 00002298: PUSH1 0x00 0000229a: KECCAK256 0000229b: PUSH1 0x00 0000229d: DUP14 0000229e: PUSH1 0x01 000022a0: PUSH1 0xa0 000022a2: PUSH1 0x02 000022a4: EXP 000022a5: SUB 000022a6: AND 000022a7: PUSH1 0x01 000022a9: PUSH1 0xa0 000022ab: PUSH1 0x02 000022ad: EXP 000022ae: SUB 000022af: AND 000022b0: DUP2 000022b1: MSTORE 000022b2: PUSH1 0x20 000022b4: ADD 000022b5: SWAP1 000022b6: DUP2 000022b7: MSTORE 000022b8: PUSH1 0x20 000022ba: ADD 000022bb: PUSH1 0x00 000022bd: KECCAK256 000022be: PUSH1 0x00 000022c0: DUP13 000022c1: DUP2 000022c2: MSTORE 000022c3: PUSH1 0x20 000022c5: ADD 000022c6: SWAP1 000022c7: DUP2 000022c8: MSTORE 000022c9: PUSH1 0x20 000022cb: ADD 000022cc: PUSH1 0x00 000022ce: KECCAK256 000022cf: PUSH1 0x00 000022d1: CALLER 000022d2: PUSH1 0x01 000022d4: PUSH1 0xa0 000022d6: PUSH1 0x02 000022d8: EXP 000022d9: SUB 000022da: AND 000022db: PUSH1 0x01 000022dd: PUSH1 0xa0 000022df: PUSH1 0x02 000022e1: EXP 000022e2: SUB 000022e3: AND 000022e4: DUP2 000022e5: MSTORE 000022e6: PUSH1 0x20 000022e8: ADD 000022e9: SWAP1 000022ea: DUP2 000022eb: MSTORE 000022ec: PUSH1 0x20 000022ee: ADD 000022ef: PUSH1 0x00 000022f1: KECCAK256 000022f2: DUP2 000022f3: SWAP1 000022f4: SSTORE 000022f5: POP 000022f6: PUSH2 0x2347 000022f9: PUSH1 0x13 000022fb: PUSH1 0x00 000022fd: DUP15 000022fe: PUSH1 0x01 00002300: PUSH1 0xa0 00002302: PUSH1 0x02 00002304: EXP 00002305: SUB 00002306: AND 00002307: PUSH1 0x01 00002309: PUSH1 0xa0 0000230b: PUSH1 0x02 0000230d: EXP 0000230e: SUB 0000230f: AND 00002310: DUP2 00002311: MSTORE 00002312: PUSH1 0x20 00002314: ADD 00002315: SWAP1 00002316: DUP2 00002317: MSTORE 00002318: PUSH1 0x20 0000231a: ADD 0000231b: PUSH1 0x00 0000231d: KECCAK256 0000231e: PUSH1 0x00 00002320: DUP14 00002321: PUSH1 0x01 00002323: PUSH1 0xa0 00002325: PUSH1 0x02 00002327: EXP 00002328: SUB 00002329: AND 0000232a: PUSH1 0x01 0000232c: PUSH1 0xa0 0000232e: PUSH1 0x02 00002330: EXP 00002331: SUB 00002332: AND 00002333: DUP2 00002334: MSTORE 00002335: PUSH1 0x20 00002337: ADD 00002338: SWAP1 00002339: DUP2 0000233a: MSTORE 0000233b: PUSH1 0x20 0000233d: ADD 0000233e: PUSH1 0x00 00002340: KECCAK256 00002341: SLOAD 00002342: DUP3 00002343: PUSH2 0x27a7 00002346: JUMP 00002347: JUMPDEST 00002348: PUSH1 0x13 0000234a: PUSH1 0x00 0000234c: DUP15 0000234d: PUSH1 0x01 0000234f: PUSH1 0xa0 00002351: PUSH1 0x02 00002353: EXP 00002354: SUB 00002355: AND 00002356: PUSH1 0x01 00002358: PUSH1 0xa0 0000235a: PUSH1 0x02 0000235c: EXP 0000235d: SUB 0000235e: AND 0000235f: DUP2 00002360: MSTORE 00002361: PUSH1 0x20 00002363: ADD 00002364: SWAP1 00002365: DUP2 00002366: MSTORE 00002367: PUSH1 0x20 00002369: ADD 0000236a: PUSH1 0x00 0000236c: KECCAK256 0000236d: PUSH1 0x00 0000236f: DUP14 00002370: PUSH1 0x01 00002372: PUSH1 0xa0 00002374: PUSH1 0x02 00002376: EXP 00002377: SUB 00002378: AND 00002379: PUSH1 0x01 0000237b: PUSH1 0xa0 0000237d: PUSH1 0x02 0000237f: EXP 00002380: SUB 00002381: AND 00002382: DUP2 00002383: MSTORE 00002384: PUSH1 0x20 00002386: ADD 00002387: SWAP1 00002388: DUP2 00002389: MSTORE 0000238a: PUSH1 0x20 0000238c: ADD 0000238d: PUSH1 0x00 0000238f: KECCAK256 00002390: DUP2 00002391: SWAP1 00002392: SSTORE 00002393: POP 00002394: CALLER 00002395: PUSH1 0x01 00002397: PUSH1 0xa0 00002399: PUSH1 0x02 0000239b: EXP 0000239c: SUB 0000239d: AND 0000239e: DUP12 0000239f: PUSH1 0x01 000023a1: PUSH1 0xa0 000023a3: PUSH1 0x02 000023a5: EXP 000023a6: SUB 000023a7: AND 000023a8: DUP14 000023a9: PUSH1 0x01 000023ab: PUSH1 0xa0 000023ad: PUSH1 0x02 000023af: EXP 000023b0: SUB 000023b1: AND 000023b2: PUSH32 0xf1751a362067564d5feb9ed26f1898bb14c17e1254e3724d454bc2ae80195c25 000023d3: DUP14 000023d4: DUP6 000023d5: PUSH1 0x40 000023d7: MLOAD 000023d8: DUP1 000023d9: DUP4 000023da: DUP2 000023db: MSTORE 000023dc: PUSH1 0x20 000023de: ADD 000023df: DUP3 000023e0: DUP2 000023e1: MSTORE 000023e2: PUSH1 0x20 000023e4: ADD 000023e5: SWAP3 000023e6: POP 000023e7: POP 000023e8: POP 000023e9: PUSH1 0x40 000023eb: MLOAD 000023ec: DUP1 000023ed: SWAP2 000023ee: SUB 000023ef: SWAP1 000023f0: LOG4 000023f1: JUMPDEST 000023f2: DUP2 000023f3: DUP10 000023f4: LT 000023f5: PUSH2 0x2404 000023f8: JUMPI 000023f9: PUSH2 0x2404 000023fc: DUP13 000023fd: DUP13 000023fe: DUP13 000023ff: DUP9 00002400: PUSH2 0x4633 00002403: JUMP 00002404: JUMPDEST 00002405: POP 00002406: POP 00002407: POP 00002408: POP 00002409: POP 0000240a: POP 0000240b: POP 0000240c: SWAP5 0000240d: SWAP4 0000240e: POP 0000240f: POP 00002410: POP 00002411: POP 00002412: JUMP 00002413: JUMPDEST 00002414: PUSH1 0x01 00002416: SLOAD 00002417: PUSH1 0x01 00002419: PUSH1 0xa0 0000241b: PUSH1 0x02 0000241d: EXP 0000241e: SUB 0000241f: AND 00002420: DUP2 00002421: JUMP 00002422: JUMPDEST 00002423: PUSH1 0x00 00002425: DUP1 00002426: PUSH2 0x2430 00002429: DUP7 0000242a: DUP7 0000242b: DUP6 0000242c: PUSH2 0x2a62 0000242f: JUMP 00002430: JUMPDEST 00002431: PUSH1 0x01 00002433: PUSH1 0xa0 00002435: PUSH1 0x02 00002437: EXP 00002438: SUB 00002439: DUP1 0000243a: DUP8 0000243b: AND 0000243c: PUSH1 0x00 0000243e: SWAP1 0000243f: DUP2 00002440: MSTORE 00002441: PUSH1 0x16 00002443: PUSH1 0x20 00002445: SWAP1 00002446: DUP2 00002447: MSTORE 00002448: PUSH1 0x40 0000244a: DUP1 0000244b: DUP4 0000244c: KECCAK256 0000244d: DUP10 0000244e: DUP6 0000244f: AND 00002450: DUP5 00002451: MSTORE 00002452: DUP3 00002453: MSTORE 00002454: DUP1 00002455: DUP4 00002456: KECCAK256 00002457: DUP8 00002458: DUP5 00002459: MSTORE 0000245a: DUP3 0000245b: MSTORE 0000245c: DUP1 0000245d: DUP4 0000245e: KECCAK256 0000245f: SWAP4 00002460: DUP9 00002461: AND 00002462: DUP4 00002463: MSTORE 00002464: SWAP3 00002465: SWAP1 00002466: MSTORE 00002467: SWAP1 00002468: DUP2 00002469: KECCAK256 0000246a: SLOAD 0000246b: SWAP1 0000246c: DUP2 0000246d: GT 0000246e: PUSH2 0x2476 00002471: JUMPI 00002472: PUSH1 0x00 00002474: DUP1 00002475: REVERT 00002476: JUMPDEST 00002477: PUSH2 0x247e 0000247a: PUSH2 0x5327 0000247d: JUMP 0000247e: JUMPDEST 0000247f: POP 00002480: PUSH1 0x01 00002482: PUSH1 0xa0 00002484: PUSH1 0x02 00002486: EXP 00002487: SUB 00002488: DUP1 00002489: DUP9 0000248a: AND 0000248b: PUSH1 0x00 0000248d: SWAP1 0000248e: DUP2 0000248f: MSTORE 00002490: PUSH1 0x10 00002492: PUSH1 0x20 00002494: SWAP1 00002495: DUP2 00002496: MSTORE 00002497: PUSH1 0x40 00002499: DUP1 0000249a: DUP4 0000249b: KECCAK256 0000249c: SWAP4 0000249d: DUP11 0000249e: AND 0000249f: DUP4 000024a0: MSTORE 000024a1: SWAP3 000024a2: DUP2 000024a3: MSTORE 000024a4: DUP3 000024a5: DUP3 000024a6: KECCAK256 000024a7: DUP8 000024a8: DUP4 000024a9: MSTORE 000024aa: DUP2 000024ab: MSTORE 000024ac: DUP3 000024ad: DUP3 000024ae: KECCAK256 000024af: DUP4 000024b0: MLOAD 000024b1: DUP1 000024b2: DUP6 000024b3: ADD 000024b4: SWAP1 000024b5: SWAP5 000024b6: MSTORE 000024b7: DUP1 000024b8: SLOAD 000024b9: DUP1 000024ba: DUP6 000024bb: MSTORE 000024bc: PUSH1 0x01 000024be: SWAP1 000024bf: SWAP2 000024c0: ADD 000024c1: SLOAD 000024c2: SWAP2 000024c3: DUP5 000024c4: ADD 000024c5: DUP3 000024c6: SWAP1 000024c7: MSTORE 000024c8: SWAP2 000024c9: DUP2 000024ca: GT 000024cb: PUSH2 0x24d3 000024ce: JUMPI 000024cf: PUSH1 0x00 000024d1: DUP1 000024d2: REVERT 000024d3: JUMPDEST 000024d4: DUP1 000024d5: PUSH2 0x24de 000024d8: DUP6 000024d9: DUP5 000024da: PUSH2 0x3403 000024dd: JUMP 000024de: JUMPDEST 000024df: DUP2 000024e0: ISZERO 000024e1: ISZERO 000024e2: PUSH2 0x24e7 000024e5: JUMPI 000024e6: INVALID 000024e7: JUMPDEST 000024e8: DIV 000024e9: SWAP6 000024ea: POP 000024eb: PUSH2 0x24f8 000024ee: DUP11 000024ef: DUP11 000024f0: DUP9 000024f1: DUP11 000024f2: DUP9 000024f3: DUP14 000024f4: PUSH2 0x4958 000024f7: JUMP 000024f8: JUMPDEST 000024f9: PUSH1 0x01 000024fb: PUSH1 0xa0 000024fd: PUSH1 0x02 000024ff: EXP 00002500: SUB 00002501: DUP1 00002502: DUP13 00002503: AND 00002504: PUSH1 0x00 00002506: SWAP1 00002507: DUP2 00002508: MSTORE 00002509: PUSH1 0x16 0000250b: PUSH1 0x20 0000250d: SWAP1 0000250e: DUP2 0000250f: MSTORE 00002510: PUSH1 0x40 00002512: DUP1 00002513: DUP4 00002514: KECCAK256 00002515: DUP15 00002516: DUP6 00002517: AND 00002518: DUP5 00002519: MSTORE 0000251a: DUP3 0000251b: MSTORE 0000251c: DUP1 0000251d: DUP4 0000251e: KECCAK256 0000251f: DUP13 00002520: DUP5 00002521: MSTORE 00002522: DUP3 00002523: MSTORE 00002524: DUP1 00002525: DUP4 00002526: KECCAK256 00002527: SWAP4 00002528: DUP14 00002529: AND 0000252a: DUP4 0000252b: MSTORE 0000252c: SWAP3 0000252d: SWAP1 0000252e: MSTORE 0000252f: SWAP1 00002530: DUP2 00002531: KECCAK256 00002532: DUP2 00002533: SWAP1 00002534: SSTORE 00002535: SWAP1 00002536: SWAP6 00002537: POP 00002538: DUP7 00002539: GT 0000253a: ISZERO 0000253b: PUSH2 0x2595 0000253e: JUMPI 0000253f: PUSH1 0x01 00002541: PUSH1 0xa0 00002543: PUSH1 0x02 00002545: EXP 00002546: SUB 00002547: DUP1 00002548: DUP11 00002549: AND 0000254a: PUSH1 0x00 0000254c: SWAP1 0000254d: DUP2 0000254e: MSTORE 0000254f: PUSH1 0x14 00002551: PUSH1 0x20 00002553: SWAP1 00002554: DUP2 00002555: MSTORE 00002556: PUSH1 0x40 00002558: DUP1 00002559: DUP4 0000255a: KECCAK256 0000255b: SWAP4 0000255c: DUP13 0000255d: AND 0000255e: DUP4 0000255f: MSTORE 00002560: SWAP3 00002561: SWAP1 00002562: MSTORE 00002563: KECCAK256 00002564: SLOAD 00002565: PUSH2 0x256e 00002568: SWAP1 00002569: DUP8 0000256a: PUSH2 0x27a7 0000256d: JUMP 0000256e: JUMPDEST 0000256f: PUSH1 0x01 00002571: PUSH1 0xa0 00002573: PUSH1 0x02 00002575: EXP 00002576: SUB 00002577: DUP1 00002578: DUP12 00002579: AND 0000257a: PUSH1 0x00 0000257c: SWAP1 0000257d: DUP2 0000257e: MSTORE 0000257f: PUSH1 0x14 00002581: PUSH1 0x20 00002583: SWAP1 00002584: DUP2 00002585: MSTORE 00002586: PUSH1 0x40 00002588: DUP1 00002589: DUP4 0000258a: KECCAK256 0000258b: SWAP4 0000258c: DUP14 0000258d: AND 0000258e: DUP4 0000258f: MSTORE 00002590: SWAP3 00002591: SWAP1 00002592: MSTORE 00002593: KECCAK256 00002594: SSTORE 00002595: JUMPDEST 00002596: PUSH1 0x40 00002598: DUP1 00002599: MLOAD 0000259a: DUP9 0000259b: DUP2 0000259c: MSTORE 0000259d: PUSH1 0x20 0000259f: DUP2 000025a0: ADD 000025a1: DUP9 000025a2: SWAP1 000025a3: MSTORE 000025a4: DUP1 000025a5: DUP3 000025a6: ADD 000025a7: DUP8 000025a8: SWAP1 000025a9: MSTORE 000025aa: SWAP1 000025ab: MLOAD 000025ac: PUSH1 0x01 000025ae: PUSH1 0xa0 000025b0: PUSH1 0x02 000025b2: EXP 000025b3: SUB 000025b4: DUP1 000025b5: DUP12 000025b6: AND 000025b7: SWAP3 000025b8: DUP13 000025b9: DUP3 000025ba: AND 000025bb: SWAP3 000025bc: SWAP2 000025bd: DUP15 000025be: AND 000025bf: SWAP2 000025c0: PUSH32 0xa3ac9b53d029621ef95693b5f9b1d0b0da75029fe8530389271be02715e24c13 000025e1: SWAP2 000025e2: DUP2 000025e3: SWAP1 000025e4: SUB 000025e5: PUSH1 0x60 000025e7: ADD 000025e8: SWAP1 000025e9: LOG4 000025ea: POP 000025eb: POP 000025ec: POP 000025ed: POP 000025ee: SWAP5 000025ef: POP 000025f0: SWAP5 000025f1: SWAP3 000025f2: POP 000025f3: POP 000025f4: POP 000025f5: JUMP 000025f6: JUMPDEST 000025f7: PUSH1 0x00 000025f9: DUP1 000025fa: PUSH1 0x00 000025fc: PUSH2 0x2605 000025ff: DUP7 00002600: DUP6 00002601: PUSH2 0x19ba 00002604: JUMP 00002605: JUMPDEST 00002606: SWAP3 00002607: POP 00002608: PUSH2 0x2614 0000260b: DUP7 0000260c: DUP7 0000260d: PUSH1 0x00 0000260f: DUP8 00002610: PUSH2 0x1c2e 00002613: JUMP 00002614: JUMPDEST 00002615: SWAP4 00002616: SWAP8 00002617: SWAP1 00002618: SWAP7 00002619: POP 0000261a: SWAP3 0000261b: SWAP5 0000261c: POP 0000261d: SWAP2 0000261e: SWAP3 0000261f: POP 00002620: POP 00002621: POP 00002622: JUMP 00002623: JUMPDEST 00002624: PUSH1 0x01 00002626: SLOAD 00002627: PUSH1 0x01 00002629: PUSH1 0xa0 0000262b: PUSH1 0x02 0000262d: EXP 0000262e: SUB 0000262f: AND 00002630: CALLER 00002631: EQ 00002632: PUSH2 0x266f 00002635: JUMPI 00002636: PUSH1 0x40 00002638: MLOAD 00002639: PUSH1 0xe5 0000263b: PUSH1 0x02 0000263d: EXP 0000263e: PUSH3 0x461bcd 00002642: MUL 00002643: DUP2 00002644: MSTORE 00002645: PUSH1 0x04 00002647: ADD 00002648: DUP1 00002649: DUP1 0000264a: PUSH1 0x20 0000264c: ADD 0000264d: DUP3 0000264e: DUP2 0000264f: SUB 00002650: DUP3 00002651: MSTORE 00002652: PUSH1 0x2a 00002654: DUP2 00002655: MSTORE 00002656: PUSH1 0x20 00002658: ADD 00002659: DUP1 0000265a: PUSH2 0x54a7 0000265d: PUSH1 0x2a 0000265f: SWAP2 00002660: CODECOPY 00002661: PUSH1 0x40 00002663: ADD 00002664: SWAP2 00002665: POP 00002666: POP 00002667: PUSH1 0x40 00002669: MLOAD 0000266a: DUP1 0000266b: SWAP2 0000266c: SUB 0000266d: SWAP1 0000266e: REVERT 0000266f: JUMPDEST 00002670: PUSH1 0x00 00002672: JUMPDEST 00002673: DUP3 00002674: MLOAD 00002675: DUP2 00002676: LT 00002677: ISZERO 00002678: PUSH2 0x2724 0000267b: JUMPI 0000267c: DUP2 0000267d: PUSH1 0x04 0000267f: PUSH1 0x00 00002681: DUP6 00002682: DUP5 00002683: DUP2 00002684: MLOAD 00002685: DUP2 00002686: LT 00002687: ISZERO 00002688: ISZERO 00002689: PUSH2 0x268e 0000268c: JUMPI 0000268d: INVALID 0000268e: JUMPDEST 0000268f: PUSH1 0x20 00002691: SWAP1 00002692: DUP2 00002693: MUL 00002694: SWAP2 00002695: SWAP1 00002696: SWAP2 00002697: ADD 00002698: DUP2 00002699: ADD 0000269a: MLOAD 0000269b: PUSH1 0x01 0000269d: PUSH1 0xa0 0000269f: PUSH1 0x02 000026a1: EXP 000026a2: SUB 000026a3: AND 000026a4: DUP3 000026a5: MSTORE 000026a6: DUP2 000026a7: ADD 000026a8: SWAP2 000026a9: SWAP1 000026aa: SWAP2 000026ab: MSTORE 000026ac: PUSH1 0x40 000026ae: ADD 000026af: PUSH1 0x00 000026b1: KECCAK256 000026b2: DUP1 000026b3: SLOAD 000026b4: PUSH1 0xff 000026b6: NOT 000026b7: AND 000026b8: SWAP2 000026b9: ISZERO 000026ba: ISZERO 000026bb: SWAP2 000026bc: SWAP1 000026bd: SWAP2 000026be: OR 000026bf: SWAP1 000026c0: SSTORE 000026c1: DUP3 000026c2: MLOAD 000026c3: DUP4 000026c4: SWAP1 000026c5: DUP3 000026c6: SWAP1 000026c7: DUP2 000026c8: LT 000026c9: PUSH2 0x26ce 000026cc: JUMPI 000026cd: INVALID 000026ce: JUMPDEST 000026cf: SWAP1 000026d0: PUSH1 0x20 000026d2: ADD 000026d3: SWAP1 000026d4: PUSH1 0x20 000026d6: MUL 000026d7: ADD 000026d8: MLOAD 000026d9: PUSH1 0x01 000026db: PUSH1 0xa0 000026dd: PUSH1 0x02 000026df: EXP 000026e0: SUB 000026e1: AND 000026e2: PUSH32 0xc091bf3abd3a42f670f8ad1a6ad5b849311210403e1d85d6ac31f43114d5ca6e 00002703: DUP4 00002704: PUSH1 0x40 00002706: MLOAD 00002707: DUP1 00002708: DUP3 00002709: ISZERO 0000270a: ISZERO 0000270b: ISZERO 0000270c: ISZERO 0000270d: DUP2 0000270e: MSTORE 0000270f: PUSH1 0x20 00002711: ADD 00002712: SWAP2 00002713: POP 00002714: POP 00002715: PUSH1 0x40 00002717: MLOAD 00002718: DUP1 00002719: SWAP2 0000271a: SUB 0000271b: SWAP1 0000271c: LOG2 0000271d: PUSH1 0x01 0000271f: ADD 00002720: PUSH2 0x2672 00002723: JUMP 00002724: JUMPDEST 00002725: POP 00002726: POP 00002727: POP 00002728: JUMP 00002729: JUMPDEST 0000272a: PUSH1 0x04 0000272c: PUSH1 0x20 0000272e: MSTORE 0000272f: PUSH1 0x00 00002731: SWAP1 00002732: DUP2 00002733: MSTORE 00002734: PUSH1 0x40 00002736: SWAP1 00002737: KECCAK256 00002738: SLOAD 00002739: PUSH1 0xff 0000273b: AND 0000273c: DUP2 0000273d: JUMP 0000273e: JUMPDEST 0000273f: PUSH1 0x09 00002741: SLOAD 00002742: DUP2 00002743: JUMP 00002744: JUMPDEST 00002745: PUSH1 0x02 00002747: SLOAD 00002748: PUSH1 0x01 0000274a: PUSH1 0xa0 0000274c: PUSH1 0x02 0000274e: EXP 0000274f: SUB 00002750: AND 00002751: DUP2 00002752: JUMP 00002753: JUMPDEST 00002754: PUSH1 0x05 00002756: SLOAD 00002757: PUSH1 0x01 00002759: PUSH1 0xa0 0000275b: PUSH1 0x02 0000275d: EXP 0000275e: SUB 0000275f: AND 00002760: DUP2 00002761: JUMP 00002762: JUMPDEST 00002763: PUSH1 0x00 00002765: PUSH2 0x276e 00002768: DUP5 00002769: DUP5 0000276a: PUSH2 0x145f 0000276d: JUMP 0000276e: JUMPDEST 0000276f: PUSH1 0x01 00002771: PUSH1 0xa0 00002773: PUSH1 0x02 00002775: EXP 00002776: SUB 00002777: SWAP2 00002778: DUP3 00002779: AND 0000277a: PUSH1 0x00 0000277c: SWAP1 0000277d: DUP2 0000277e: MSTORE 0000277f: PUSH1 0x0f 00002781: PUSH1 0x20 00002783: SWAP1 00002784: DUP2 00002785: MSTORE 00002786: PUSH1 0x40 00002788: DUP1 00002789: DUP4 0000278a: KECCAK256 0000278b: SWAP4 0000278c: SWAP1 0000278d: SWAP5 0000278e: AND 0000278f: DUP3 00002790: MSTORE 00002791: SWAP2 00002792: DUP3 00002793: MSTORE 00002794: DUP3 00002795: DUP2 00002796: KECCAK256 00002797: SWAP5 00002798: DUP2 00002799: MSTORE 0000279a: SWAP4 0000279b: SWAP1 0000279c: MSTORE 0000279d: SWAP1 0000279e: SWAP2 0000279f: KECCAK256 000027a0: SLOAD 000027a1: SWAP4 000027a2: SWAP3 000027a3: POP 000027a4: POP 000027a5: POP 000027a6: JUMP 000027a7: JUMPDEST 000027a8: PUSH1 0x00 000027aa: PUSH2 0x27b3 000027ad: DUP4 000027ae: DUP4 000027af: PUSH2 0x1c27 000027b2: JUMP 000027b3: JUMPDEST 000027b4: ISZERO 000027b5: ISZERO 000027b6: PUSH2 0x27be 000027b9: JUMPI 000027ba: PUSH1 0x00 000027bc: DUP1 000027bd: REVERT 000027be: JUMPDEST 000027bf: POP 000027c0: ADD 000027c1: SWAP1 000027c2: JUMP 000027c3: JUMPDEST 000027c4: PUSH1 0x60 000027c6: DUP1 000027c7: PUSH1 0x00 000027c9: PUSH2 0x2866 000027cc: DUP11 000027cd: DUP11 000027ce: DUP1 000027cf: DUP1 000027d0: PUSH1 0x20 000027d2: MUL 000027d3: PUSH1 0x20 000027d5: ADD 000027d6: PUSH1 0x40 000027d8: MLOAD 000027d9: SWAP1 000027da: DUP2 000027db: ADD 000027dc: PUSH1 0x40 000027de: MSTORE 000027df: DUP1 000027e0: SWAP4 000027e1: SWAP3 000027e2: SWAP2 000027e3: SWAP1 000027e4: DUP2 000027e5: DUP2 000027e6: MSTORE 000027e7: PUSH1 0x20 000027e9: ADD 000027ea: DUP4 000027eb: DUP4 000027ec: PUSH1 0x20 000027ee: MUL 000027ef: DUP1 000027f0: DUP3 000027f1: DUP5 000027f2: CALLDATACOPY 000027f3: PUSH1 0x00 000027f5: SWAP3 000027f6: ADD 000027f7: SWAP2 000027f8: SWAP1 000027f9: SWAP2 000027fa: MSTORE 000027fb: POP 000027fc: POP 000027fd: PUSH1 0x40 000027ff: DUP1 00002800: MLOAD 00002801: PUSH1 0x20 00002803: DUP1 00002804: DUP15 00002805: MUL 00002806: DUP3 00002807: DUP2 00002808: ADD 00002809: DUP3 0000280a: ADD 0000280b: SWAP1 0000280c: SWAP4 0000280d: MSTORE 0000280e: DUP14 0000280f: DUP3 00002810: MSTORE 00002811: SWAP1 00002812: SWAP4 00002813: POP 00002814: DUP14 00002815: SWAP3 00002816: POP 00002817: DUP13 00002818: SWAP2 00002819: DUP3 0000281a: SWAP2 0000281b: DUP6 0000281c: ADD 0000281d: SWAP1 0000281e: DUP5 0000281f: SWAP1 00002820: DUP1 00002821: DUP3 00002822: DUP5 00002823: CALLDATACOPY 00002824: PUSH1 0x00 00002826: SWAP3 00002827: ADD 00002828: SWAP2 00002829: SWAP1 0000282a: SWAP2 0000282b: MSTORE 0000282c: POP 0000282d: POP 0000282e: PUSH1 0x40 00002830: DUP1 00002831: MLOAD 00002832: PUSH1 0x20 00002834: DUP1 00002835: DUP14 00002836: MUL 00002837: DUP3 00002838: DUP2 00002839: ADD 0000283a: DUP3 0000283b: ADD 0000283c: SWAP1 0000283d: SWAP4 0000283e: MSTORE 0000283f: DUP13 00002840: DUP3 00002841: MSTORE 00002842: SWAP1 00002843: SWAP4 00002844: POP 00002845: DUP13 00002846: SWAP3 00002847: POP 00002848: DUP12 00002849: SWAP2 0000284a: DUP3 0000284b: SWAP2 0000284c: DUP6 0000284d: ADD 0000284e: SWAP1 0000284f: DUP5 00002850: SWAP1 00002851: DUP1 00002852: DUP3 00002853: DUP5 00002854: CALLDATACOPY 00002855: PUSH1 0x00 00002857: SWAP3 00002858: ADD 00002859: SWAP2 0000285a: SWAP1 0000285b: SWAP2 0000285c: MSTORE 0000285d: POP 0000285e: PUSH2 0x432e 00002861: SWAP3 00002862: POP 00002863: POP 00002864: POP 00002865: JUMP 00002866: JUMPDEST 00002867: SWAP1 00002868: POP 00002869: PUSH1 0x60 0000286b: DUP2 0000286c: PUSH1 0x40 0000286e: MLOAD 0000286f: SWAP1 00002870: DUP1 00002871: DUP3 00002872: MSTORE 00002873: DUP1 00002874: PUSH1 0x20 00002876: MUL 00002877: PUSH1 0x20 00002879: ADD 0000287a: DUP3 0000287b: ADD 0000287c: PUSH1 0x40 0000287e: MSTORE 0000287f: DUP1 00002880: ISZERO 00002881: PUSH2 0x2894 00002884: JUMPI 00002885: DUP2 00002886: PUSH1 0x20 00002888: ADD 00002889: PUSH1 0x20 0000288b: DUP3 0000288c: MUL 0000288d: DUP1 0000288e: CODESIZE 0000288f: DUP4 00002890: CODECOPY 00002891: ADD 00002892: SWAP1 00002893: POP 00002894: JUMPDEST 00002895: POP 00002896: SWAP1 00002897: POP 00002898: PUSH1 0x60 0000289a: DUP3 0000289b: PUSH1 0x40 0000289d: MLOAD 0000289e: SWAP1 0000289f: DUP1 000028a0: DUP3 000028a1: MSTORE 000028a2: DUP1 000028a3: PUSH1 0x20 000028a5: MUL 000028a6: PUSH1 0x20 000028a8: ADD 000028a9: DUP3 000028aa: ADD 000028ab: PUSH1 0x40 000028ad: MSTORE 000028ae: DUP1 000028af: ISZERO 000028b0: PUSH2 0x28c3 000028b3: JUMPI 000028b4: DUP2 000028b5: PUSH1 0x20 000028b7: ADD 000028b8: PUSH1 0x20 000028ba: DUP3 000028bb: MUL 000028bc: DUP1 000028bd: CODESIZE 000028be: DUP4 000028bf: CODECOPY 000028c0: ADD 000028c1: SWAP1 000028c2: POP 000028c3: JUMPDEST 000028c4: POP 000028c5: SWAP1 000028c6: POP 000028c7: PUSH1 0x00 000028c9: JUMPDEST 000028ca: DUP4 000028cb: DUP2 000028cc: LT 000028cd: ISZERO 000028ce: PUSH2 0x2964 000028d1: JUMPI 000028d2: PUSH2 0x2929 000028d5: DUP14 000028d6: DUP14 000028d7: DUP4 000028d8: DUP2 000028d9: DUP2 000028da: LT 000028db: PUSH2 0x28e0 000028de: JUMPI 000028df: INVALID 000028e0: JUMPDEST 000028e1: SWAP1 000028e2: POP 000028e3: PUSH1 0x20 000028e5: MUL 000028e6: ADD 000028e7: CALLDATALOAD 000028e8: PUSH1 0x01 000028ea: PUSH1 0xa0 000028ec: PUSH1 0x02 000028ee: EXP 000028ef: SUB 000028f0: AND 000028f1: DUP13 000028f2: DUP13 000028f3: DUP5 000028f4: DUP2 000028f5: DUP2 000028f6: LT 000028f7: ISZERO 000028f8: ISZERO 000028f9: PUSH2 0x28fe 000028fc: JUMPI 000028fd: INVALID 000028fe: JUMPDEST 000028ff: SWAP1 00002900: POP 00002901: PUSH1 0x20 00002903: MUL 00002904: ADD 00002905: CALLDATALOAD 00002906: PUSH1 0x01 00002908: PUSH1 0xa0 0000290a: PUSH1 0x02 0000290c: EXP 0000290d: SUB 0000290e: AND 0000290f: DUP10 00002910: DUP13 00002911: DUP13 00002912: DUP7 00002913: DUP2 00002914: DUP2 00002915: LT 00002916: ISZERO 00002917: ISZERO 00002918: PUSH2 0x291d 0000291b: JUMPI 0000291c: INVALID 0000291d: JUMPDEST 0000291e: SWAP1 0000291f: POP 00002920: PUSH1 0x20 00002922: MUL 00002923: ADD 00002924: CALLDATALOAD 00002925: PUSH2 0x2422 00002928: JUMP 00002929: JUMPDEST 0000292a: DUP5 0000292b: DUP4 0000292c: DUP2 0000292d: MLOAD 0000292e: DUP2 0000292f: LT 00002930: ISZERO 00002931: ISZERO 00002932: PUSH2 0x2937 00002935: JUMPI 00002936: INVALID 00002937: JUMPDEST 00002938: SWAP1 00002939: PUSH1 0x20 0000293b: ADD 0000293c: SWAP1 0000293d: PUSH1 0x20 0000293f: MUL 00002940: ADD 00002941: DUP5 00002942: DUP5 00002943: DUP2 00002944: MLOAD 00002945: DUP2 00002946: LT 00002947: ISZERO 00002948: ISZERO 00002949: PUSH2 0x294e 0000294c: JUMPI 0000294d: INVALID 0000294e: JUMPDEST 0000294f: PUSH1 0x20 00002951: SWAP1 00002952: DUP2 00002953: MUL 00002954: SWAP1 00002955: SWAP2 00002956: ADD 00002957: ADD 00002958: SWAP2 00002959: SWAP1 0000295a: SWAP2 0000295b: MSTORE 0000295c: MSTORE 0000295d: PUSH1 0x01 0000295f: ADD 00002960: PUSH2 0x28c9 00002963: JUMP 00002964: JUMPDEST 00002965: POP 00002966: SWAP1 00002967: SWAP12 00002968: SWAP1 00002969: SWAP11 0000296a: POP 0000296b: SWAP9 0000296c: POP 0000296d: POP 0000296e: POP 0000296f: POP 00002970: POP 00002971: POP 00002972: POP 00002973: POP 00002974: POP 00002975: JUMP 00002976: JUMPDEST 00002977: PUSH1 0x01 00002979: SLOAD 0000297a: PUSH1 0x01 0000297c: PUSH1 0xa0 0000297e: PUSH1 0x02 00002980: EXP 00002981: SUB 00002982: AND 00002983: CALLER 00002984: EQ 00002985: PUSH2 0x29c2 00002988: JUMPI 00002989: PUSH1 0x40 0000298b: MLOAD 0000298c: PUSH1 0xe5 0000298e: PUSH1 0x02 00002990: EXP 00002991: PUSH3 0x461bcd 00002995: MUL 00002996: DUP2 00002997: MSTORE 00002998: PUSH1 0x04 0000299a: ADD 0000299b: DUP1 0000299c: DUP1 0000299d: PUSH1 0x20 0000299f: ADD 000029a0: DUP3 000029a1: DUP2 000029a2: SUB 000029a3: DUP3 000029a4: MSTORE 000029a5: PUSH1 0x2a 000029a7: DUP2 000029a8: MSTORE 000029a9: PUSH1 0x20 000029ab: ADD 000029ac: DUP1 000029ad: PUSH2 0x54a7 000029b0: PUSH1 0x2a 000029b2: SWAP2 000029b3: CODECOPY 000029b4: PUSH1 0x40 000029b6: ADD 000029b7: SWAP2 000029b8: POP 000029b9: POP 000029ba: PUSH1 0x40 000029bc: MLOAD 000029bd: DUP1 000029be: SWAP2 000029bf: SUB 000029c0: SWAP1 000029c1: REVERT 000029c2: JUMPDEST 000029c3: PUSH1 0x01 000029c5: PUSH1 0xa0 000029c7: PUSH1 0x02 000029c9: EXP 000029ca: SUB 000029cb: DUP2 000029cc: AND 000029cd: ISZERO 000029ce: ISZERO 000029cf: PUSH2 0x2a0c 000029d2: JUMPI 000029d3: PUSH1 0x40 000029d5: MLOAD 000029d6: PUSH1 0xe5 000029d8: PUSH1 0x02 000029da: EXP 000029db: PUSH3 0x461bcd 000029df: MUL 000029e0: DUP2 000029e1: MSTORE 000029e2: PUSH1 0x04 000029e4: ADD 000029e5: DUP1 000029e6: DUP1 000029e7: PUSH1 0x20 000029e9: ADD 000029ea: DUP3 000029eb: DUP2 000029ec: SUB 000029ed: DUP3 000029ee: MSTORE 000029ef: PUSH1 0x26 000029f1: DUP2 000029f2: MSTORE 000029f3: PUSH1 0x20 000029f5: ADD 000029f6: DUP1 000029f7: PUSH2 0x5448 000029fa: PUSH1 0x26 000029fc: SWAP2 000029fd: CODECOPY 000029fe: PUSH1 0x40 00002a00: ADD 00002a01: SWAP2 00002a02: POP 00002a03: POP 00002a04: PUSH1 0x40 00002a06: MLOAD 00002a07: DUP1 00002a08: SWAP2 00002a09: SUB 00002a0a: SWAP1 00002a0b: REVERT 00002a0c: JUMPDEST 00002a0d: PUSH1 0x01 00002a0f: DUP1 00002a10: SLOAD 00002a11: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002a26: NOT 00002a27: AND 00002a28: PUSH1 0x01 00002a2a: PUSH1 0xa0 00002a2c: PUSH1 0x02 00002a2e: EXP 00002a2f: SUB 00002a30: SWAP3 00002a31: SWAP1 00002a32: SWAP3 00002a33: AND 00002a34: SWAP2 00002a35: SWAP1 00002a36: SWAP2 00002a37: OR 00002a38: SWAP1 00002a39: SSTORE 00002a3a: JUMP 00002a3b: JUMPDEST 00002a3c: PUSH1 0x00 00002a3e: DUP2 00002a3f: DUP4 00002a40: LT 00002a41: ISZERO 00002a42: PUSH2 0x2a4c 00002a45: JUMPI 00002a46: POP 00002a47: DUP2 00002a48: PUSH2 0x153e 00002a4b: JUMP 00002a4c: JUMPDEST 00002a4d: POP 00002a4e: DUP1 00002a4f: PUSH2 0x153e 00002a52: JUMP 00002a53: JUMPDEST 00002a54: PUSH1 0x08 00002a56: SLOAD 00002a57: PUSH1 0x01 00002a59: PUSH1 0xa0 00002a5b: PUSH1 0x02 00002a5d: EXP 00002a5e: SUB 00002a5f: AND 00002a60: DUP2 00002a61: JUMP 00002a62: JUMPDEST 00002a63: PUSH2 0x2a6c 00002a66: DUP3 00002a67: DUP5 00002a68: PUSH2 0x1752 00002a6b: JUMP 00002a6c: JUMPDEST 00002a6d: DUP2 00002a6e: EQ 00002a6f: DUP1 00002a70: ISZERO 00002a71: PUSH2 0x2aa5 00002a74: JUMPI 00002a75: POP 00002a76: PUSH1 0x01 00002a78: PUSH1 0xa0 00002a7a: PUSH1 0x02 00002a7c: EXP 00002a7d: SUB 00002a7e: DUP1 00002a7f: DUP5 00002a80: AND 00002a81: PUSH1 0x00 00002a83: SWAP1 00002a84: DUP2 00002a85: MSTORE 00002a86: PUSH1 0x10 00002a88: PUSH1 0x20 00002a8a: SWAP1 00002a8b: DUP2 00002a8c: MSTORE 00002a8d: PUSH1 0x40 00002a8f: DUP1 00002a90: DUP4 00002a91: KECCAK256 00002a92: SWAP4 00002a93: DUP7 00002a94: AND 00002a95: DUP4 00002a96: MSTORE 00002a97: SWAP3 00002a98: DUP2 00002a99: MSTORE 00002a9a: DUP3 00002a9b: DUP3 00002a9c: KECCAK256 00002a9d: DUP5 00002a9e: DUP4 00002a9f: MSTORE 00002aa0: SWAP1 00002aa1: MSTORE 00002aa2: KECCAK256 00002aa3: SLOAD 00002aa4: ISZERO 00002aa5: JUMPDEST 00002aa6: ISZERO 00002aa7: PUSH2 0x2724 00002aaa: JUMPI 00002aab: PUSH1 0x01 00002aad: PUSH1 0xa0 00002aaf: PUSH1 0x02 00002ab1: EXP 00002ab2: SUB 00002ab3: DUP1 00002ab4: DUP5 00002ab5: AND 00002ab6: PUSH1 0x00 00002ab8: DUP2 00002ab9: DUP2 00002aba: MSTORE 00002abb: PUSH1 0x13 00002abd: PUSH1 0x20 00002abf: SWAP1 00002ac0: DUP2 00002ac1: MSTORE 00002ac2: PUSH1 0x40 00002ac4: DUP1 00002ac5: DUP4 00002ac6: KECCAK256 00002ac7: SWAP5 00002ac8: DUP8 00002ac9: AND 00002aca: DUP1 00002acb: DUP5 00002acc: MSTORE 00002acd: SWAP5 00002ace: DUP3 00002acf: MSTORE 00002ad0: DUP1 00002ad1: DUP4 00002ad2: KECCAK256 00002ad3: SLOAD 00002ad4: SWAP4 00002ad5: DUP4 00002ad6: MSTORE 00002ad7: PUSH1 0x11 00002ad9: DUP3 00002ada: MSTORE 00002adb: DUP1 00002adc: DUP4 00002add: KECCAK256 00002ade: SWAP5 00002adf: DUP4 00002ae0: MSTORE 00002ae1: SWAP4 00002ae2: SWAP1 00002ae3: MSTORE 00002ae4: SWAP2 00002ae5: DUP3 00002ae6: KECCAK256 00002ae7: SLOAD 00002ae8: SWAP1 00002ae9: SWAP2 00002aea: DUP1 00002aeb: PUSH2 0x2af5 00002aee: DUP8 00002aef: DUP8 00002af0: DUP8 00002af1: PUSH2 0x41a1 00002af4: JUMP 00002af5: JUMPDEST 00002af6: SWAP1 00002af7: SWAP3 00002af8: POP 00002af9: SWAP1 00002afa: POP 00002afb: PUSH1 0x00 00002afd: DUP4 00002afe: GT 00002aff: ISZERO 00002b00: PUSH2 0x2b2e 00002b03: JUMPI 00002b04: PUSH1 0x00 00002b06: PUSH2 0x2b14 00002b09: DUP6 00002b0a: DUP4 00002b0b: PUSH2 0x212a 00002b0e: DUP8 00002b0f: DUP8 00002b10: PUSH2 0x3403 00002b13: JUMP 00002b14: JUMPDEST 00002b15: SWAP1 00002b16: POP 00002b17: DUP1 00002b18: ISZERO 00002b19: ISZERO 00002b1a: PUSH2 0x2b2c 00002b1d: JUMPI 00002b1e: PUSH2 0x2b2a 00002b21: DUP9 00002b22: DUP9 00002b23: DUP9 00002b24: PUSH1 0x00 00002b26: PUSH2 0x1fcb 00002b29: JUMP 00002b2a: JUMPDEST 00002b2b: POP 00002b2c: JUMPDEST 00002b2d: POP 00002b2e: JUMPDEST 00002b2f: POP 00002b30: POP 00002b31: POP 00002b32: POP 00002b33: POP 00002b34: POP 00002b35: POP 00002b36: JUMP 00002b37: JUMPDEST 00002b38: PUSH1 0x0b 00002b3a: SLOAD 00002b3b: PUSH1 0x01 00002b3d: PUSH1 0xa0 00002b3f: PUSH1 0x02 00002b41: EXP 00002b42: SUB 00002b43: AND 00002b44: DUP2 00002b45: JUMP 00002b46: JUMPDEST 00002b47: PUSH1 0x60 00002b49: PUSH1 0x00 00002b4b: DUP1 00002b4c: PUSH2 0x2be9 00002b4f: DUP10 00002b50: DUP10 00002b51: DUP1 00002b52: DUP1 00002b53: PUSH1 0x20 00002b55: MUL 00002b56: PUSH1 0x20 00002b58: ADD 00002b59: PUSH1 0x40 00002b5b: MLOAD 00002b5c: SWAP1 00002b5d: DUP2 00002b5e: ADD 00002b5f: PUSH1 0x40 00002b61: MSTORE 00002b62: DUP1 00002b63: SWAP4 00002b64: SWAP3 00002b65: SWAP2 00002b66: SWAP1 00002b67: DUP2 00002b68: DUP2 00002b69: MSTORE 00002b6a: PUSH1 0x20 00002b6c: ADD 00002b6d: DUP4 00002b6e: DUP4 00002b6f: PUSH1 0x20 00002b71: MUL 00002b72: DUP1 00002b73: DUP3 00002b74: DUP5 00002b75: CALLDATACOPY 00002b76: PUSH1 0x00 00002b78: SWAP3 00002b79: ADD 00002b7a: SWAP2 00002b7b: SWAP1 00002b7c: SWAP2 00002b7d: MSTORE 00002b7e: POP 00002b7f: POP 00002b80: PUSH1 0x40 00002b82: DUP1 00002b83: MLOAD 00002b84: PUSH1 0x20 00002b86: DUP1 00002b87: DUP14 00002b88: MUL 00002b89: DUP3 00002b8a: DUP2 00002b8b: ADD 00002b8c: DUP3 00002b8d: ADD 00002b8e: SWAP1 00002b8f: SWAP4 00002b90: MSTORE 00002b91: DUP13 00002b92: DUP3 00002b93: MSTORE 00002b94: SWAP1 00002b95: SWAP4 00002b96: POP 00002b97: DUP13 00002b98: SWAP3 00002b99: POP 00002b9a: DUP12 00002b9b: SWAP2 00002b9c: DUP3 00002b9d: SWAP2 00002b9e: DUP6 00002b9f: ADD 00002ba0: SWAP1 00002ba1: DUP5 00002ba2: SWAP1 00002ba3: DUP1 00002ba4: DUP3 00002ba5: DUP5 00002ba6: CALLDATACOPY 00002ba7: PUSH1 0x00 00002ba9: SWAP3 00002baa: ADD 00002bab: SWAP2 00002bac: SWAP1 00002bad: SWAP2 00002bae: MSTORE 00002baf: POP 00002bb0: POP 00002bb1: PUSH1 0x40 00002bb3: DUP1 00002bb4: MLOAD 00002bb5: PUSH1 0x20 00002bb7: DUP1 00002bb8: DUP13 00002bb9: MUL 00002bba: DUP3 00002bbb: DUP2 00002bbc: ADD 00002bbd: DUP3 00002bbe: ADD 00002bbf: SWAP1 00002bc0: SWAP4 00002bc1: MSTORE 00002bc2: DUP12 00002bc3: DUP3 00002bc4: MSTORE 00002bc5: SWAP1 00002bc6: SWAP4 00002bc7: POP 00002bc8: DUP12 00002bc9: SWAP3 00002bca: POP 00002bcb: DUP11 00002bcc: SWAP2 00002bcd: DUP3 00002bce: SWAP2 00002bcf: DUP6 00002bd0: ADD 00002bd1: SWAP1 00002bd2: DUP5 00002bd3: SWAP1 00002bd4: DUP1 00002bd5: DUP3 00002bd6: DUP5 00002bd7: CALLDATACOPY 00002bd8: PUSH1 0x00 00002bda: SWAP3 00002bdb: ADD 00002bdc: SWAP2 00002bdd: SWAP1 00002bde: SWAP2 00002bdf: MSTORE 00002be0: POP 00002be1: PUSH2 0x432e 00002be4: SWAP3 00002be5: POP 00002be6: POP 00002be7: POP 00002be8: JUMP 00002be9: JUMPDEST 00002bea: SWAP1 00002beb: POP 00002bec: PUSH1 0x60 00002bee: DUP2 00002bef: PUSH1 0x40 00002bf1: MLOAD 00002bf2: SWAP1 00002bf3: DUP1 00002bf4: DUP3 00002bf5: MSTORE 00002bf6: DUP1 00002bf7: PUSH1 0x20 00002bf9: MUL 00002bfa: PUSH1 0x20 00002bfc: ADD 00002bfd: DUP3 00002bfe: ADD 00002bff: PUSH1 0x40 00002c01: MSTORE 00002c02: DUP1 00002c03: ISZERO 00002c04: PUSH2 0x2c17 00002c07: JUMPI 00002c08: DUP2 00002c09: PUSH1 0x20 00002c0b: ADD 00002c0c: PUSH1 0x20 00002c0e: DUP3 00002c0f: MUL 00002c10: DUP1 00002c11: CODESIZE 00002c12: DUP4 00002c13: CODECOPY 00002c14: ADD 00002c15: SWAP1 00002c16: POP 00002c17: JUMPDEST 00002c18: POP 00002c19: SWAP1 00002c1a: POP 00002c1b: PUSH1 0x00 00002c1d: DUP1 00002c1e: JUMPDEST 00002c1f: DUP4 00002c20: DUP2 00002c21: LT 00002c22: ISZERO 00002c23: PUSH2 0x171e 00002c26: JUMPI 00002c27: PUSH2 0x2c72 00002c2a: DUP13 00002c2b: DUP13 00002c2c: DUP4 00002c2d: DUP2 00002c2e: DUP2 00002c2f: LT 00002c30: PUSH2 0x2c35 00002c33: JUMPI 00002c34: INVALID 00002c35: JUMPDEST 00002c36: SWAP1 00002c37: POP 00002c38: PUSH1 0x20 00002c3a: MUL 00002c3b: ADD 00002c3c: CALLDATALOAD 00002c3d: PUSH1 0x01 00002c3f: PUSH1 0xa0 00002c41: PUSH1 0x02 00002c43: EXP 00002c44: SUB 00002c45: AND 00002c46: DUP12 00002c47: DUP12 00002c48: DUP5 00002c49: DUP2 00002c4a: DUP2 00002c4b: LT 00002c4c: ISZERO 00002c4d: ISZERO 00002c4e: PUSH2 0x2c53 00002c51: JUMPI 00002c52: INVALID 00002c53: JUMPDEST 00002c54: SWAP1 00002c55: POP 00002c56: PUSH1 0x20 00002c58: MUL 00002c59: ADD 00002c5a: CALLDATALOAD 00002c5b: PUSH1 0x01 00002c5d: PUSH1 0xa0 00002c5f: PUSH1 0x02 00002c61: EXP 00002c62: SUB 00002c63: AND 00002c64: CALLER 00002c65: DUP12 00002c66: DUP12 00002c67: DUP7 00002c68: DUP2 00002c69: DUP2 00002c6a: LT 00002c6b: ISZERO 00002c6c: ISZERO 00002c6d: PUSH2 0x291d 00002c70: JUMPI 00002c71: INVALID 00002c72: JUMPDEST 00002c73: DUP5 00002c74: DUP4 00002c75: DUP2 00002c76: MLOAD 00002c77: DUP2 00002c78: LT 00002c79: ISZERO 00002c7a: ISZERO 00002c7b: PUSH2 0x2c80 00002c7e: JUMPI 00002c7f: INVALID 00002c80: JUMPDEST 00002c81: PUSH1 0x20 00002c83: SWAP1 00002c84: DUP2 00002c85: MUL 00002c86: SWAP1 00002c87: SWAP2 00002c88: ADD 00002c89: ADD 00002c8a: SWAP2 00002c8b: SWAP1 00002c8c: SWAP2 00002c8d: MSTORE 00002c8e: SWAP5 00002c8f: DUP6 00002c90: ADD 00002c91: SWAP5 00002c92: SWAP2 00002c93: POP 00002c94: PUSH2 0x2ca2 00002c97: DUP11 00002c98: DUP11 00002c99: DUP4 00002c9a: DUP2 00002c9b: DUP2 00002c9c: LT 00002c9d: PUSH2 0x16e8 00002ca0: JUMPI 00002ca1: INVALID 00002ca2: JUMPDEST 00002ca3: POP 00002ca4: PUSH1 0x01 00002ca6: ADD 00002ca7: PUSH2 0x2c1e 00002caa: JUMP 00002cab: JUMPDEST 00002cac: PUSH1 0x18 00002cae: PUSH1 0x20 00002cb0: SWAP1 00002cb1: DUP2 00002cb2: MSTORE 00002cb3: PUSH1 0x00 00002cb5: SWAP5 00002cb6: DUP6 00002cb7: MSTORE 00002cb8: PUSH1 0x40 00002cba: DUP1 00002cbb: DUP7 00002cbc: KECCAK256 00002cbd: DUP3 00002cbe: MSTORE 00002cbf: SWAP4 00002cc0: DUP6 00002cc1: MSTORE 00002cc2: DUP4 00002cc3: DUP6 00002cc4: KECCAK256 00002cc5: DUP2 00002cc6: MSTORE 00002cc7: SWAP2 00002cc8: DUP5 00002cc9: MSTORE 00002cca: DUP3 00002ccb: DUP5 00002ccc: KECCAK256 00002ccd: SWAP1 00002cce: SWAP2 00002ccf: MSTORE 00002cd0: DUP3 00002cd1: MSTORE 00002cd2: SWAP1 00002cd3: KECCAK256 00002cd4: SLOAD 00002cd5: DUP2 00002cd6: JUMP 00002cd7: JUMPDEST 00002cd8: PUSH1 0x07 00002cda: SLOAD 00002cdb: DUP2 00002cdc: JUMP 00002cdd: JUMPDEST 00002cde: PUSH1 0x00 00002ce0: SLOAD 00002ce1: PUSH1 0x01 00002ce3: PUSH1 0xa0 00002ce5: PUSH1 0x02 00002ce7: EXP 00002ce8: SUB 00002ce9: AND 00002cea: DUP2 00002ceb: JUMP 00002cec: JUMPDEST 00002ced: PUSH1 0x08 00002cef: SLOAD 00002cf0: PUSH1 0x01 00002cf2: PUSH1 0xa0 00002cf4: PUSH1 0x02 00002cf6: EXP 00002cf7: SUB 00002cf8: AND 00002cf9: ISZERO 00002cfa: PUSH2 0x2d37 00002cfd: JUMPI 00002cfe: PUSH1 0x40 00002d00: MLOAD 00002d01: PUSH1 0xe5 00002d03: PUSH1 0x02 00002d05: EXP 00002d06: PUSH3 0x461bcd 00002d0a: MUL 00002d0b: DUP2 00002d0c: MSTORE 00002d0d: PUSH1 0x04 00002d0f: ADD 00002d10: DUP1 00002d11: DUP1 00002d12: PUSH1 0x20 00002d14: ADD 00002d15: DUP3 00002d16: DUP2 00002d17: SUB 00002d18: DUP3 00002d19: MSTORE 00002d1a: PUSH1 0x22 00002d1c: DUP2 00002d1d: MSTORE 00002d1e: PUSH1 0x20 00002d20: ADD 00002d21: DUP1 00002d22: PUSH2 0x53c8 00002d25: PUSH1 0x22 00002d27: SWAP2 00002d28: CODECOPY 00002d29: PUSH1 0x40 00002d2b: ADD 00002d2c: SWAP2 00002d2d: POP 00002d2e: POP 00002d2f: PUSH1 0x40 00002d31: MLOAD 00002d32: DUP1 00002d33: SWAP2 00002d34: SUB 00002d35: SWAP1 00002d36: REVERT 00002d37: JUMPDEST 00002d38: PUSH1 0x01 00002d3a: PUSH1 0xa0 00002d3c: PUSH1 0x02 00002d3e: EXP 00002d3f: SUB 00002d40: DUP7 00002d41: AND 00002d42: ISZERO 00002d43: ISZERO 00002d44: PUSH2 0x2d97 00002d47: JUMPI 00002d48: PUSH1 0x40 00002d4a: DUP1 00002d4b: MLOAD 00002d4c: PUSH1 0xe5 00002d4e: PUSH1 0x02 00002d50: EXP 00002d51: PUSH3 0x461bcd 00002d55: MUL 00002d56: DUP2 00002d57: MSTORE 00002d58: PUSH1 0x20 00002d5a: PUSH1 0x04 00002d5c: DUP3 00002d5d: ADD 00002d5e: MSTORE 00002d5f: PUSH1 0x1d 00002d61: PUSH1 0x24 00002d63: DUP3 00002d64: ADD 00002d65: MSTORE 00002d66: PUSH32 0x546865204f574c2061646472657373206d7573742062652076616c6964000000 00002d87: PUSH1 0x44 00002d89: DUP3 00002d8a: ADD 00002d8b: MSTORE 00002d8c: SWAP1 00002d8d: MLOAD 00002d8e: SWAP1 00002d8f: DUP2 00002d90: SWAP1 00002d91: SUB 00002d92: PUSH1 0x64 00002d94: ADD 00002d95: SWAP1 00002d96: REVERT 00002d97: JUMPDEST 00002d98: PUSH1 0x01 00002d9a: PUSH1 0xa0 00002d9c: PUSH1 0x02 00002d9e: EXP 00002d9f: SUB 00002da0: DUP8 00002da1: AND 00002da2: ISZERO 00002da3: ISZERO 00002da4: PUSH2 0x2df7 00002da7: JUMPI 00002da8: PUSH1 0x40 00002daa: DUP1 00002dab: MLOAD 00002dac: PUSH1 0xe5 00002dae: PUSH1 0x02 00002db0: EXP 00002db1: PUSH3 0x461bcd 00002db5: MUL 00002db6: DUP2 00002db7: MSTORE 00002db8: PUSH1 0x20 00002dba: PUSH1 0x04 00002dbc: DUP3 00002dbd: ADD 00002dbe: MSTORE 00002dbf: PUSH1 0x1d 00002dc1: PUSH1 0x24 00002dc3: DUP3 00002dc4: ADD 00002dc5: MSTORE 00002dc6: PUSH32 0x546865204652542061646472657373206d7573742062652076616c6964000000 00002de7: PUSH1 0x44 00002de9: DUP3 00002dea: ADD 00002deb: MSTORE 00002dec: SWAP1 00002ded: MLOAD 00002dee: SWAP1 00002def: DUP2 00002df0: SWAP1 00002df1: SUB 00002df2: PUSH1 0x64 00002df4: ADD 00002df5: SWAP1 00002df6: REVERT 00002df7: JUMPDEST 00002df8: PUSH1 0x01 00002dfa: PUSH1 0xa0 00002dfc: PUSH1 0x02 00002dfe: EXP 00002dff: SUB 00002e00: DUP6 00002e01: AND 00002e02: ISZERO 00002e03: ISZERO 00002e04: PUSH2 0x2e41 00002e07: JUMPI 00002e08: PUSH1 0x40 00002e0a: MLOAD 00002e0b: PUSH1 0xe5 00002e0d: PUSH1 0x02 00002e0f: EXP 00002e10: PUSH3 0x461bcd 00002e14: MUL 00002e15: DUP2 00002e16: MSTORE 00002e17: PUSH1 0x04 00002e19: ADD 00002e1a: DUP1 00002e1b: DUP1 00002e1c: PUSH1 0x20 00002e1e: ADD 00002e1f: DUP3 00002e20: DUP2 00002e21: SUB 00002e22: DUP3 00002e23: MSTORE 00002e24: PUSH1 0x24 00002e26: DUP2 00002e27: MSTORE 00002e28: PUSH1 0x20 00002e2a: ADD 00002e2b: DUP1 00002e2c: PUSH2 0x5613 00002e2f: PUSH1 0x24 00002e31: SWAP2 00002e32: CODECOPY 00002e33: PUSH1 0x40 00002e35: ADD 00002e36: SWAP2 00002e37: POP 00002e38: POP 00002e39: PUSH1 0x40 00002e3b: MLOAD 00002e3c: DUP1 00002e3d: SWAP2 00002e3e: SUB 00002e3f: SWAP1 00002e40: REVERT 00002e41: JUMPDEST 00002e42: PUSH1 0x01 00002e44: PUSH1 0xa0 00002e46: PUSH1 0x02 00002e48: EXP 00002e49: SUB 00002e4a: DUP5 00002e4b: AND 00002e4c: ISZERO 00002e4d: ISZERO 00002e4e: PUSH2 0x2ea1 00002e51: JUMPI 00002e52: PUSH1 0x40 00002e54: DUP1 00002e55: MLOAD 00002e56: PUSH1 0xe5 00002e58: PUSH1 0x02 00002e5a: EXP 00002e5b: PUSH3 0x461bcd 00002e5f: MUL 00002e60: DUP2 00002e61: MSTORE 00002e62: PUSH1 0x20 00002e64: PUSH1 0x04 00002e66: DUP3 00002e67: ADD 00002e68: MSTORE 00002e69: PUSH1 0x1e 00002e6b: PUSH1 0x24 00002e6d: DUP3 00002e6e: ADD 00002e6f: MSTORE 00002e70: PUSH32 0x54686520574554482061646472657373206d7573742062652076616c69640000 00002e91: PUSH1 0x44 00002e93: DUP3 00002e94: ADD 00002e95: MSTORE 00002e96: SWAP1 00002e97: MLOAD 00002e98: SWAP1 00002e99: DUP2 00002e9a: SWAP1 00002e9b: SUB 00002e9c: PUSH1 0x64 00002e9e: ADD 00002e9f: SWAP1 00002ea0: REVERT 00002ea1: JUMPDEST 00002ea2: PUSH1 0x01 00002ea4: PUSH1 0xa0 00002ea6: PUSH1 0x02 00002ea8: EXP 00002ea9: SUB 00002eaa: DUP4 00002eab: AND 00002eac: ISZERO 00002ead: ISZERO 00002eae: PUSH2 0x2f01 00002eb1: JUMPI 00002eb2: PUSH1 0x40 00002eb4: DUP1 00002eb5: MLOAD 00002eb6: PUSH1 0xe5 00002eb8: PUSH1 0x02 00002eba: EXP 00002ebb: PUSH3 0x461bcd 00002ebf: MUL 00002ec0: DUP2 00002ec1: MSTORE 00002ec2: PUSH1 0x20 00002ec4: PUSH1 0x04 00002ec6: DUP3 00002ec7: ADD 00002ec8: DUP2 00002ec9: SWAP1 00002eca: MSTORE 00002ecb: PUSH1 0x24 00002ecd: DUP3 00002ece: ADD 00002ecf: MSTORE 00002ed0: PUSH32 0x546865206f7261636c652061646472657373206d7573742062652076616c6964 00002ef1: PUSH1 0x44 00002ef3: DUP3 00002ef4: ADD 00002ef5: MSTORE 00002ef6: SWAP1 00002ef7: MLOAD 00002ef8: SWAP1 00002ef9: DUP2 00002efa: SWAP1 00002efb: SUB 00002efc: PUSH1 0x64 00002efe: ADD 00002eff: SWAP1 00002f00: REVERT 00002f01: JUMPDEST 00002f02: PUSH1 0x0b 00002f04: DUP1 00002f05: SLOAD 00002f06: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002f1b: NOT 00002f1c: SWAP1 00002f1d: DUP2 00002f1e: AND 00002f1f: PUSH1 0x01 00002f21: PUSH1 0xa0 00002f23: PUSH1 0x02 00002f25: EXP 00002f26: SUB 00002f27: SWAP10 00002f28: DUP11 00002f29: AND 00002f2a: OR 00002f2b: SWAP1 00002f2c: SWAP2 00002f2d: SSTORE 00002f2e: PUSH1 0x0c 00002f30: DUP1 00002f31: SLOAD 00002f32: DUP3 00002f33: AND 00002f34: SWAP8 00002f35: DUP10 00002f36: AND 00002f37: SWAP8 00002f38: SWAP1 00002f39: SWAP8 00002f3a: OR 00002f3b: SWAP1 00002f3c: SWAP7 00002f3d: SSTORE 00002f3e: PUSH1 0x01 00002f40: DUP1 00002f41: SLOAD 00002f42: DUP8 00002f43: AND 00002f44: SWAP6 00002f45: DUP9 00002f46: AND 00002f47: SWAP6 00002f48: SWAP1 00002f49: SWAP6 00002f4a: OR 00002f4b: SWAP1 00002f4c: SWAP5 00002f4d: SSTORE 00002f4e: PUSH1 0x08 00002f50: DUP1 00002f51: SLOAD 00002f52: DUP7 00002f53: AND 00002f54: SWAP4 00002f55: DUP8 00002f56: AND 00002f57: SWAP4 00002f58: SWAP1 00002f59: SWAP4 00002f5a: OR 00002f5b: SWAP1 00002f5c: SWAP3 00002f5d: SSTORE 00002f5e: PUSH1 0x05 00002f60: DUP1 00002f61: SLOAD 00002f62: SWAP1 00002f63: SWAP5 00002f64: AND 00002f65: SWAP5 00002f66: AND 00002f67: SWAP4 00002f68: SWAP1 00002f69: SWAP4 00002f6a: OR 00002f6b: SWAP1 00002f6c: SWAP2 00002f6d: SSTORE 00002f6e: PUSH1 0x09 00002f70: SWAP2 00002f71: SWAP1 00002f72: SWAP2 00002f73: SSTORE 00002f74: PUSH1 0x0a 00002f76: SSTORE 00002f77: JUMP 00002f78: JUMPDEST 00002f79: PUSH1 0x00 00002f7b: DUP1 00002f7c: PUSH2 0x2f86 00002f7f: DUP7 00002f80: DUP7 00002f81: DUP6 00002f82: PUSH2 0x2a62 00002f85: JUMP 00002f86: JUMPDEST 00002f87: PUSH1 0x00 00002f89: DUP1 00002f8a: PUSH2 0x2f95 00002f8d: DUP9 00002f8e: DUP9 00002f8f: DUP9 00002f90: DUP9 00002f91: PUSH2 0x362f 00002f94: JUMP 00002f95: JUMPDEST 00002f96: PUSH1 0x01 00002f98: PUSH1 0xa0 00002f9a: PUSH1 0x02 00002f9c: EXP 00002f9d: SUB 00002f9e: DUP1 00002f9f: DUP13 00002fa0: AND 00002fa1: PUSH1 0x00 00002fa3: SWAP1 00002fa4: DUP2 00002fa5: MSTORE 00002fa6: PUSH1 0x10 00002fa8: PUSH1 0x20 00002faa: SWAP1 00002fab: DUP2 00002fac: MSTORE 00002fad: PUSH1 0x40 00002faf: DUP1 00002fb0: DUP4 00002fb1: KECCAK256 00002fb2: SWAP4 00002fb3: DUP15 00002fb4: AND 00002fb5: DUP4 00002fb6: MSTORE 00002fb7: SWAP3 00002fb8: DUP2 00002fb9: MSTORE 00002fba: DUP3 00002fbb: DUP3 00002fbc: KECCAK256 00002fbd: DUP12 00002fbe: DUP4 00002fbf: MSTORE 00002fc0: SWAP1 00002fc1: MSTORE 00002fc2: KECCAK256 00002fc3: PUSH1 0x01 00002fc5: ADD 00002fc6: SLOAD 00002fc7: SWAP3 00002fc8: SWAP7 00002fc9: POP 00002fca: SWAP1 00002fcb: SWAP4 00002fcc: POP 00002fcd: SWAP2 00002fce: POP 00002fcf: ISZERO 00002fd0: ISZERO 00002fd1: PUSH2 0x3053 00002fd4: JUMPI 00002fd5: PUSH1 0x01 00002fd7: PUSH1 0xa0 00002fd9: PUSH1 0x02 00002fdb: EXP 00002fdc: SUB 00002fdd: DUP1 00002fde: DUP10 00002fdf: AND 00002fe0: PUSH1 0x00 00002fe2: SWAP1 00002fe3: DUP2 00002fe4: MSTORE 00002fe5: PUSH1 0x18 00002fe7: PUSH1 0x20 00002fe9: SWAP1 00002fea: DUP2 00002feb: MSTORE 00002fec: PUSH1 0x40 00002fee: DUP1 00002fef: DUP4 00002ff0: KECCAK256 00002ff1: DUP12 00002ff2: DUP6 00002ff3: AND 00002ff4: DUP5 00002ff5: MSTORE 00002ff6: DUP3 00002ff7: MSTORE 00002ff8: DUP1 00002ff9: DUP4 00002ffa: KECCAK256 00002ffb: DUP10 00002ffc: DUP5 00002ffd: MSTORE 00002ffe: DUP3 00002fff: MSTORE 00003000: DUP1 00003001: DUP4 00003002: KECCAK256 00003003: SWAP4 00003004: DUP11 00003005: AND 00003006: DUP4 00003007: MSTORE 00003008: SWAP3 00003009: SWAP1 0000300a: MSTORE 0000300b: KECCAK256 0000300c: SLOAD 0000300d: PUSH2 0x3016 00003010: SWAP1 00003011: DUP6 00003012: PUSH2 0x27a7 00003015: JUMP 00003016: JUMPDEST 00003017: PUSH1 0x01 00003019: PUSH1 0xa0 0000301b: PUSH1 0x02 0000301d: EXP 0000301e: SUB 0000301f: DUP1 00003020: DUP11 00003021: AND 00003022: PUSH1 0x00 00003024: SWAP1 00003025: DUP2 00003026: MSTORE 00003027: PUSH1 0x18 00003029: PUSH1 0x20 0000302b: SWAP1 0000302c: DUP2 0000302d: MSTORE 0000302e: PUSH1 0x40 00003030: DUP1 00003031: DUP4 00003032: KECCAK256 00003033: DUP13 00003034: DUP6 00003035: AND 00003036: DUP5 00003037: MSTORE 00003038: DUP3 00003039: MSTORE 0000303a: DUP1 0000303b: DUP4 0000303c: KECCAK256 0000303d: DUP11 0000303e: DUP5 0000303f: MSTORE 00003040: DUP3 00003041: MSTORE 00003042: DUP1 00003043: DUP4 00003044: KECCAK256 00003045: SWAP4 00003046: DUP12 00003047: AND 00003048: DUP4 00003049: MSTORE 0000304a: SWAP3 0000304b: SWAP1 0000304c: MSTORE 0000304d: KECCAK256 0000304e: SSTORE 0000304f: PUSH2 0x3213 00003052: JUMP 00003053: JUMPDEST 00003054: PUSH1 0x01 00003056: PUSH1 0xa0 00003058: PUSH1 0x02 0000305a: EXP 0000305b: SUB 0000305c: DUP1 0000305d: DUP10 0000305e: AND 0000305f: PUSH1 0x00 00003061: DUP2 00003062: DUP2 00003063: MSTORE 00003064: PUSH1 0x15 00003066: PUSH1 0x20 00003068: SWAP1 00003069: DUP2 0000306a: MSTORE 0000306b: PUSH1 0x40 0000306d: DUP1 0000306e: DUP4 0000306f: KECCAK256 00003070: DUP13 00003071: DUP7 00003072: AND 00003073: DUP1 00003074: DUP6 00003075: MSTORE 00003076: SWAP1 00003077: DUP4 00003078: MSTORE 00003079: DUP2 0000307a: DUP5 0000307b: KECCAK256 0000307c: DUP12 0000307d: DUP6 0000307e: MSTORE 0000307f: DUP4 00003080: MSTORE 00003081: DUP2 00003082: DUP5 00003083: KECCAK256 00003084: SLOAD 00003085: DUP6 00003086: DUP6 00003087: MSTORE 00003088: PUSH1 0x17 0000308a: DUP5 0000308b: MSTORE 0000308c: DUP3 0000308d: DUP6 0000308e: KECCAK256 0000308f: DUP3 00003090: DUP7 00003091: MSTORE 00003092: DUP5 00003093: MSTORE 00003094: DUP3 00003095: DUP6 00003096: KECCAK256 00003097: DUP13 00003098: DUP7 00003099: MSTORE 0000309a: DUP5 0000309b: MSTORE 0000309c: DUP3 0000309d: DUP6 0000309e: KECCAK256 0000309f: SWAP7 000030a0: DUP14 000030a1: AND 000030a2: DUP6 000030a3: MSTORE 000030a4: SWAP6 000030a5: DUP4 000030a6: MSTORE 000030a7: DUP2 000030a8: DUP5 000030a9: KECCAK256 000030aa: SLOAD 000030ab: SWAP5 000030ac: DUP5 000030ad: MSTORE 000030ae: PUSH1 0x10 000030b0: DUP4 000030b1: MSTORE 000030b2: DUP2 000030b3: DUP5 000030b4: KECCAK256 000030b5: SWAP1 000030b6: DUP5 000030b7: MSTORE 000030b8: DUP3 000030b9: MSTORE 000030ba: DUP1 000030bb: DUP4 000030bc: KECCAK256 000030bd: DUP11 000030be: DUP5 000030bf: MSTORE 000030c0: SWAP1 000030c1: SWAP2 000030c2: MSTORE 000030c3: DUP2 000030c4: KECCAK256 000030c5: SLOAD 000030c6: PUSH2 0x30cf 000030c9: DUP4 000030ca: DUP6 000030cb: PUSH2 0x3403 000030ce: JUMP 000030cf: JUMPDEST 000030d0: DUP2 000030d1: ISZERO 000030d2: ISZERO 000030d3: PUSH2 0x30d8 000030d6: JUMPI 000030d7: INVALID 000030d8: JUMPDEST 000030d9: DIV 000030da: SWAP1 000030db: POP 000030dc: PUSH2 0x30e5 000030df: DUP8 000030e0: DUP3 000030e1: PUSH2 0x27a7 000030e4: JUMP 000030e5: JUMPDEST 000030e6: SWAP7 000030e7: POP 000030e8: PUSH2 0x3109 000030eb: DUP11 000030ec: DUP13 000030ed: DUP8 000030ee: PUSH2 0x30f7 000030f1: DUP7 000030f2: DUP10 000030f3: PUSH2 0x3403 000030f6: JUMP 000030f7: JUMPDEST 000030f8: DUP2 000030f9: ISZERO 000030fa: ISZERO 000030fb: PUSH2 0x3100 000030fe: JUMPI 000030ff: INVALID 00003100: JUMPDEST 00003101: DIV 00003102: DUP12 00003103: DUP7 00003104: DUP15 00003105: PUSH2 0x4958 00003108: JUMP 00003109: JUMPDEST 0000310a: SWAP6 0000310b: POP 0000310c: PUSH1 0x00 0000310e: PUSH1 0x17 00003110: PUSH1 0x00 00003112: DUP14 00003113: PUSH1 0x01 00003115: PUSH1 0xa0 00003117: PUSH1 0x02 00003119: EXP 0000311a: SUB 0000311b: AND 0000311c: PUSH1 0x01 0000311e: PUSH1 0xa0 00003120: PUSH1 0x02 00003122: EXP 00003123: SUB 00003124: AND 00003125: DUP2 00003126: MSTORE 00003127: PUSH1 0x20 00003129: ADD 0000312a: SWAP1 0000312b: DUP2 0000312c: MSTORE 0000312d: PUSH1 0x20 0000312f: ADD 00003130: PUSH1 0x00 00003132: KECCAK256 00003133: PUSH1 0x00 00003135: DUP13 00003136: PUSH1 0x01 00003138: PUSH1 0xa0 0000313a: PUSH1 0x02 0000313c: EXP 0000313d: SUB 0000313e: AND 0000313f: PUSH1 0x01 00003141: PUSH1 0xa0 00003143: PUSH1 0x02 00003145: EXP 00003146: SUB 00003147: AND 00003148: DUP2 00003149: MSTORE 0000314a: PUSH1 0x20 0000314c: ADD 0000314d: SWAP1 0000314e: DUP2 0000314f: MSTORE 00003150: PUSH1 0x20 00003152: ADD 00003153: PUSH1 0x00 00003155: KECCAK256 00003156: PUSH1 0x00 00003158: DUP11 00003159: DUP2 0000315a: MSTORE 0000315b: PUSH1 0x20 0000315d: ADD 0000315e: SWAP1 0000315f: DUP2 00003160: MSTORE 00003161: PUSH1 0x20 00003163: ADD 00003164: PUSH1 0x00 00003166: KECCAK256 00003167: PUSH1 0x00 00003169: DUP12 0000316a: PUSH1 0x01 0000316c: PUSH1 0xa0 0000316e: PUSH1 0x02 00003170: EXP 00003171: SUB 00003172: AND 00003173: PUSH1 0x01 00003175: PUSH1 0xa0 00003177: PUSH1 0x02 00003179: EXP 0000317a: SUB 0000317b: AND 0000317c: DUP2 0000317d: MSTORE 0000317e: PUSH1 0x20 00003180: ADD 00003181: SWAP1 00003182: DUP2 00003183: MSTORE 00003184: PUSH1 0x20 00003186: ADD 00003187: PUSH1 0x00 00003189: KECCAK256 0000318a: DUP2 0000318b: SWAP1 0000318c: SSTORE 0000318d: POP 0000318e: PUSH1 0x00 00003190: PUSH1 0x18 00003192: PUSH1 0x00 00003194: DUP14 00003195: PUSH1 0x01 00003197: PUSH1 0xa0 00003199: PUSH1 0x02 0000319b: EXP 0000319c: SUB 0000319d: AND 0000319e: PUSH1 0x01 000031a0: PUSH1 0xa0 000031a2: PUSH1 0x02 000031a4: EXP 000031a5: SUB 000031a6: AND 000031a7: DUP2 000031a8: MSTORE 000031a9: PUSH1 0x20 000031ab: ADD 000031ac: SWAP1 000031ad: DUP2 000031ae: MSTORE 000031af: PUSH1 0x20 000031b1: ADD 000031b2: PUSH1 0x00 000031b4: KECCAK256 000031b5: PUSH1 0x00 000031b7: DUP13 000031b8: PUSH1 0x01 000031ba: PUSH1 0xa0 000031bc: PUSH1 0x02 000031be: EXP 000031bf: SUB 000031c0: AND 000031c1: PUSH1 0x01 000031c3: PUSH1 0xa0 000031c5: PUSH1 0x02 000031c7: EXP 000031c8: SUB 000031c9: AND 000031ca: DUP2 000031cb: MSTORE 000031cc: PUSH1 0x20 000031ce: ADD 000031cf: SWAP1 000031d0: DUP2 000031d1: MSTORE 000031d2: PUSH1 0x20 000031d4: ADD 000031d5: PUSH1 0x00 000031d7: KECCAK256 000031d8: PUSH1 0x00 000031da: DUP11 000031db: DUP2 000031dc: MSTORE 000031dd: PUSH1 0x20 000031df: ADD 000031e0: SWAP1 000031e1: DUP2 000031e2: MSTORE 000031e3: PUSH1 0x20 000031e5: ADD 000031e6: PUSH1 0x00 000031e8: KECCAK256 000031e9: PUSH1 0x00 000031eb: DUP12 000031ec: PUSH1 0x01 000031ee: PUSH1 0xa0 000031f0: PUSH1 0x02 000031f2: EXP 000031f3: SUB 000031f4: AND 000031f5: PUSH1 0x01 000031f7: PUSH1 0xa0 000031f9: PUSH1 0x02 000031fb: EXP 000031fc: SUB 000031fd: AND 000031fe: DUP2 000031ff: MSTORE 00003200: PUSH1 0x20 00003202: ADD 00003203: SWAP1 00003204: DUP2 00003205: MSTORE 00003206: PUSH1 0x20 00003208: ADD 00003209: PUSH1 0x00 0000320b: KECCAK256 0000320c: DUP2 0000320d: SWAP1 0000320e: SSTORE 0000320f: POP 00003210: POP 00003211: POP 00003212: POP 00003213: JUMPDEST 00003214: PUSH1 0x00 00003216: DUP5 00003217: GT 00003218: ISZERO 00003219: PUSH2 0x3273 0000321c: JUMPI 0000321d: PUSH1 0x01 0000321f: PUSH1 0xa0 00003221: PUSH1 0x02 00003223: EXP 00003224: SUB 00003225: DUP1 00003226: DUP10 00003227: AND 00003228: PUSH1 0x00 0000322a: SWAP1 0000322b: DUP2 0000322c: MSTORE 0000322d: PUSH1 0x14 0000322f: PUSH1 0x20 00003231: SWAP1 00003232: DUP2 00003233: MSTORE 00003234: PUSH1 0x40 00003236: DUP1 00003237: DUP4 00003238: KECCAK256 00003239: SWAP4 0000323a: DUP11 0000323b: AND 0000323c: DUP4 0000323d: MSTORE 0000323e: SWAP3 0000323f: SWAP1 00003240: MSTORE 00003241: KECCAK256 00003242: SLOAD 00003243: PUSH2 0x324c 00003246: SWAP1 00003247: DUP6 00003248: PUSH2 0x27a7 0000324b: JUMP 0000324c: JUMPDEST 0000324d: PUSH1 0x01 0000324f: PUSH1 0xa0 00003251: PUSH1 0x02 00003253: EXP 00003254: SUB 00003255: DUP1 00003256: DUP11 00003257: AND 00003258: PUSH1 0x00 0000325a: SWAP1 0000325b: DUP2 0000325c: MSTORE 0000325d: PUSH1 0x14 0000325f: PUSH1 0x20 00003261: SWAP1 00003262: DUP2 00003263: MSTORE 00003264: PUSH1 0x40 00003266: DUP1 00003267: DUP4 00003268: KECCAK256 00003269: SWAP4 0000326a: DUP12 0000326b: AND 0000326c: DUP4 0000326d: MSTORE 0000326e: SWAP3 0000326f: SWAP1 00003270: MSTORE 00003271: KECCAK256 00003272: SSTORE 00003273: JUMPDEST 00003274: PUSH1 0x40 00003276: DUP1 00003277: MLOAD 00003278: DUP7 00003279: DUP2 0000327a: MSTORE 0000327b: PUSH1 0x20 0000327d: DUP2 0000327e: ADD 0000327f: DUP7 00003280: SWAP1 00003281: MSTORE 00003282: DUP1 00003283: DUP3 00003284: ADD 00003285: DUP6 00003286: SWAP1 00003287: MSTORE 00003288: SWAP1 00003289: MLOAD 0000328a: PUSH1 0x01 0000328c: PUSH1 0xa0 0000328e: PUSH1 0x02 00003290: EXP 00003291: SUB 00003292: DUP1 00003293: DUP10 00003294: AND 00003295: SWAP3 00003296: DUP11 00003297: DUP3 00003298: AND 00003299: SWAP3 0000329a: SWAP2 0000329b: DUP13 0000329c: AND 0000329d: SWAP2 0000329e: PUSH32 0x4d1c39fd1a9c74f88b9f90c7b439b7e5dc6f26b6ff280fd497fdec5c538aaf52 000032bf: SWAP2 000032c0: DUP2 000032c1: SWAP1 000032c2: SUB 000032c3: PUSH1 0x60 000032c5: ADD 000032c6: SWAP1 000032c7: LOG4 000032c8: POP 000032c9: POP 000032ca: SWAP5 000032cb: POP 000032cc: SWAP5 000032cd: SWAP3 000032ce: POP 000032cf: POP 000032d0: POP 000032d1: JUMP 000032d2: JUMPDEST 000032d3: PUSH1 0x0f 000032d5: PUSH1 0x20 000032d7: SWAP1 000032d8: DUP2 000032d9: MSTORE 000032da: PUSH1 0x00 000032dc: SWAP4 000032dd: DUP5 000032de: MSTORE 000032df: PUSH1 0x40 000032e1: DUP1 000032e2: DUP6 000032e3: KECCAK256 000032e4: DUP3 000032e5: MSTORE 000032e6: SWAP3 000032e7: DUP5 000032e8: MSTORE 000032e9: DUP3 000032ea: DUP5 000032eb: KECCAK256 000032ec: SWAP1 000032ed: MSTORE 000032ee: DUP3 000032ef: MSTORE 000032f0: SWAP1 000032f1: KECCAK256 000032f2: SLOAD 000032f3: DUP2 000032f4: JUMP 000032f5: JUMPDEST 000032f6: PUSH1 0x12 000032f8: PUSH1 0x20 000032fa: SWAP1 000032fb: DUP2 000032fc: MSTORE 000032fd: PUSH1 0x00 000032ff: SWAP3 00003300: DUP4 00003301: MSTORE 00003302: PUSH1 0x40 00003304: DUP1 00003305: DUP5 00003306: KECCAK256 00003307: SWAP1 00003308: SWAP2 00003309: MSTORE 0000330a: SWAP1 0000330b: DUP3 0000330c: MSTORE 0000330d: SWAP1 0000330e: KECCAK256 0000330f: SLOAD 00003310: DUP2 00003311: JUMP 00003312: JUMPDEST 00003313: PUSH1 0x11 00003315: PUSH1 0x20 00003317: SWAP1 00003318: DUP2 00003319: MSTORE 0000331a: PUSH1 0x00 0000331c: SWAP3 0000331d: DUP4 0000331e: MSTORE 0000331f: PUSH1 0x40 00003321: DUP1 00003322: DUP5 00003323: KECCAK256 00003324: SWAP1 00003325: SWAP2 00003326: MSTORE 00003327: SWAP1 00003328: DUP3 00003329: MSTORE 0000332a: SWAP1 0000332b: KECCAK256 0000332c: SLOAD 0000332d: DUP2 0000332e: JUMP 0000332f: JUMPDEST 00003330: PUSH1 0x00 00003332: PUSH2 0x333b 00003335: DUP4 00003336: DUP4 00003337: PUSH2 0x373a 0000333a: JUMP 0000333b: JUMPDEST 0000333c: ISZERO 0000333d: ISZERO 0000333e: PUSH2 0x3346 00003341: JUMPI 00003342: PUSH1 0x00 00003344: DUP1 00003345: REVERT 00003346: JUMPDEST 00003347: POP 00003348: SWAP1 00003349: SUB 0000334a: SWAP1 0000334b: JUMP 0000334c: JUMPDEST 0000334d: PUSH1 0x13 0000334f: PUSH1 0x20 00003351: SWAP1 00003352: DUP2 00003353: MSTORE 00003354: PUSH1 0x00 00003356: SWAP3 00003357: DUP4 00003358: MSTORE 00003359: PUSH1 0x40 0000335b: DUP1 0000335c: DUP5 0000335d: KECCAK256 0000335e: SWAP1 0000335f: SWAP2 00003360: MSTORE 00003361: SWAP1 00003362: DUP3 00003363: MSTORE 00003364: SWAP1 00003365: KECCAK256 00003366: SLOAD 00003367: DUP2 00003368: JUMP 00003369: JUMPDEST 0000336a: PUSH1 0x16 0000336c: PUSH1 0x20 0000336e: SWAP1 0000336f: DUP2 00003370: MSTORE 00003371: PUSH1 0x00 00003373: SWAP5 00003374: DUP6 00003375: MSTORE 00003376: PUSH1 0x40 00003378: DUP1 00003379: DUP7 0000337a: KECCAK256 0000337b: DUP3 0000337c: MSTORE 0000337d: SWAP4 0000337e: DUP6 0000337f: MSTORE 00003380: DUP4 00003381: DUP6 00003382: KECCAK256 00003383: DUP2 00003384: MSTORE 00003385: SWAP2 00003386: DUP5 00003387: MSTORE 00003388: DUP3 00003389: DUP5 0000338a: KECCAK256 0000338b: SWAP1 0000338c: SWAP2 0000338d: MSTORE 0000338e: DUP3 0000338f: MSTORE 00003390: SWAP1 00003391: KECCAK256 00003392: SLOAD 00003393: DUP2 00003394: JUMP 00003395: JUMPDEST 00003396: PUSH1 0x14 00003398: PUSH1 0x20 0000339a: SWAP1 0000339b: DUP2 0000339c: MSTORE 0000339d: PUSH1 0x00 0000339f: SWAP3 000033a0: DUP4 000033a1: MSTORE 000033a2: PUSH1 0x40 000033a4: DUP1 000033a5: DUP5 000033a6: KECCAK256 000033a7: SWAP1 000033a8: SWAP2 000033a9: MSTORE 000033aa: SWAP1 000033ab: DUP3 000033ac: MSTORE 000033ad: SWAP1 000033ae: KECCAK256 000033af: SLOAD 000033b0: DUP2 000033b1: JUMP 000033b2: JUMPDEST 000033b3: PUSH1 0x01 000033b5: SLOAD 000033b6: PUSH1 0x01 000033b8: PUSH1 0xa0 000033ba: PUSH1 0x02 000033bc: EXP 000033bd: SUB 000033be: AND 000033bf: CALLER 000033c0: EQ 000033c1: PUSH2 0x33fe 000033c4: JUMPI 000033c5: PUSH1 0x40 000033c7: MLOAD 000033c8: PUSH1 0xe5 000033ca: PUSH1 0x02 000033cc: EXP 000033cd: PUSH3 0x461bcd 000033d1: MUL 000033d2: DUP2 000033d3: MSTORE 000033d4: PUSH1 0x04 000033d6: ADD 000033d7: DUP1 000033d8: DUP1 000033d9: PUSH1 0x20 000033db: ADD 000033dc: DUP3 000033dd: DUP2 000033de: SUB 000033df: DUP3 000033e0: MSTORE 000033e1: PUSH1 0x2a 000033e3: DUP2 000033e4: MSTORE 000033e5: PUSH1 0x20 000033e7: ADD 000033e8: DUP1 000033e9: PUSH2 0x54a7 000033ec: PUSH1 0x2a 000033ee: SWAP2 000033ef: CODECOPY 000033f0: PUSH1 0x40 000033f2: ADD 000033f3: SWAP2 000033f4: POP 000033f5: POP 000033f6: PUSH1 0x40 000033f8: MLOAD 000033f9: DUP1 000033fa: SWAP2 000033fb: SUB 000033fc: SWAP1 000033fd: REVERT 000033fe: JUMPDEST 000033ff: PUSH1 0x0a 00003401: SSTORE 00003402: JUMP 00003403: JUMPDEST 00003404: PUSH1 0x00 00003406: PUSH2 0x340f 00003409: DUP4 0000340a: DUP4 0000340b: PUSH2 0x341f 0000340e: JUMP 0000340f: JUMPDEST 00003410: ISZERO 00003411: ISZERO 00003412: PUSH2 0x341a 00003415: JUMPI 00003416: PUSH1 0x00 00003418: DUP1 00003419: REVERT 0000341a: JUMPDEST 0000341b: POP 0000341c: MUL 0000341d: SWAP1 0000341e: JUMP 0000341f: JUMPDEST 00003420: PUSH1 0x00 00003422: DUP2 00003423: ISZERO 00003424: DUP1 00003425: PUSH2 0x343a 00003428: JUMPI 00003429: POP 0000342a: DUP3 0000342b: DUP3 0000342c: DUP4 0000342d: DUP6 0000342e: MUL 0000342f: DUP2 00003430: ISZERO 00003431: ISZERO 00003432: PUSH2 0x3437 00003435: JUMPI 00003436: INVALID 00003437: JUMPDEST 00003438: DIV 00003439: EQ 0000343a: JUMPDEST 0000343b: SWAP4 0000343c: SWAP3 0000343d: POP 0000343e: POP 0000343f: POP 00003440: JUMP 00003441: JUMPDEST 00003442: PUSH1 0x06 00003444: SLOAD 00003445: PUSH1 0x01 00003447: PUSH1 0xa0 00003449: PUSH1 0x02 0000344b: EXP 0000344c: SUB 0000344d: AND 0000344e: DUP2 0000344f: JUMP 00003450: JUMPDEST 00003451: PUSH1 0x0c 00003453: SLOAD 00003454: PUSH1 0x01 00003456: PUSH1 0xa0 00003458: PUSH1 0x02 0000345a: EXP 0000345b: SUB 0000345c: AND 0000345d: DUP2 0000345e: JUMP 0000345f: JUMPDEST 00003460: PUSH1 0x60 00003462: DUP1 00003463: PUSH1 0x00 00003465: PUSH2 0x3502 00003468: DUP11 00003469: DUP11 0000346a: DUP1 0000346b: DUP1 0000346c: PUSH1 0x20 0000346e: MUL 0000346f: PUSH1 0x20 00003471: ADD 00003472: PUSH1 0x40 00003474: MLOAD 00003475: SWAP1 00003476: DUP2 00003477: ADD 00003478: PUSH1 0x40 0000347a: MSTORE 0000347b: DUP1 0000347c: SWAP4 0000347d: SWAP3 0000347e: SWAP2 0000347f: SWAP1 00003480: DUP2 00003481: DUP2 00003482: MSTORE 00003483: PUSH1 0x20 00003485: ADD 00003486: DUP4 00003487: DUP4 00003488: PUSH1 0x20 0000348a: MUL 0000348b: DUP1 0000348c: DUP3 0000348d: DUP5 0000348e: CALLDATACOPY 0000348f: PUSH1 0x00 00003491: SWAP3 00003492: ADD 00003493: SWAP2 00003494: SWAP1 00003495: SWAP2 00003496: MSTORE 00003497: POP 00003498: POP 00003499: PUSH1 0x40 0000349b: DUP1 0000349c: MLOAD 0000349d: PUSH1 0x20 0000349f: DUP1 000034a0: DUP15 000034a1: MUL 000034a2: DUP3 000034a3: DUP2 000034a4: ADD 000034a5: DUP3 000034a6: ADD 000034a7: SWAP1 000034a8: SWAP4 000034a9: MSTORE 000034aa: DUP14 000034ab: DUP3 000034ac: MSTORE 000034ad: SWAP1 000034ae: SWAP4 000034af: POP 000034b0: DUP14 000034b1: SWAP3 000034b2: POP 000034b3: DUP13 000034b4: SWAP2 000034b5: DUP3 000034b6: SWAP2 000034b7: DUP6 000034b8: ADD 000034b9: SWAP1 000034ba: DUP5 000034bb: SWAP1 000034bc: DUP1 000034bd: DUP3 000034be: DUP5 000034bf: CALLDATACOPY 000034c0: PUSH1 0x00 000034c2: SWAP3 000034c3: ADD 000034c4: SWAP2 000034c5: SWAP1 000034c6: SWAP2 000034c7: MSTORE 000034c8: POP 000034c9: POP 000034ca: PUSH1 0x40 000034cc: DUP1 000034cd: MLOAD 000034ce: PUSH1 0x20 000034d0: DUP1 000034d1: DUP14 000034d2: MUL 000034d3: DUP3 000034d4: DUP2 000034d5: ADD 000034d6: DUP3 000034d7: ADD 000034d8: SWAP1 000034d9: SWAP4 000034da: MSTORE 000034db: DUP13 000034dc: DUP3 000034dd: MSTORE 000034de: SWAP1 000034df: SWAP4 000034e0: POP 000034e1: DUP13 000034e2: SWAP3 000034e3: POP 000034e4: DUP12 000034e5: SWAP2 000034e6: DUP3 000034e7: SWAP2 000034e8: DUP6 000034e9: ADD 000034ea: SWAP1 000034eb: DUP5 000034ec: SWAP1 000034ed: DUP1 000034ee: DUP3 000034ef: DUP5 000034f0: CALLDATACOPY 000034f1: PUSH1 0x00 000034f3: SWAP3 000034f4: ADD 000034f5: SWAP2 000034f6: SWAP1 000034f7: SWAP2 000034f8: MSTORE 000034f9: POP 000034fa: PUSH2 0x432e 000034fd: SWAP3 000034fe: POP 000034ff: POP 00003500: POP 00003501: JUMP 00003502: JUMPDEST 00003503: SWAP1 00003504: POP 00003505: PUSH1 0x60 00003507: DUP2 00003508: PUSH1 0x40 0000350a: MLOAD 0000350b: SWAP1 0000350c: DUP1 0000350d: DUP3 0000350e: MSTORE 0000350f: DUP1 00003510: PUSH1 0x20 00003512: MUL 00003513: PUSH1 0x20 00003515: ADD 00003516: DUP3 00003517: ADD 00003518: PUSH1 0x40 0000351a: MSTORE 0000351b: DUP1 0000351c: ISZERO 0000351d: PUSH2 0x3530 00003520: JUMPI 00003521: DUP2 00003522: PUSH1 0x20 00003524: ADD 00003525: PUSH1 0x20 00003527: DUP3 00003528: MUL 00003529: DUP1 0000352a: CODESIZE 0000352b: DUP4 0000352c: CODECOPY 0000352d: ADD 0000352e: SWAP1 0000352f: POP 00003530: JUMPDEST 00003531: POP 00003532: SWAP1 00003533: POP 00003534: PUSH1 0x60 00003536: DUP3 00003537: PUSH1 0x40 00003539: MLOAD 0000353a: SWAP1 0000353b: DUP1 0000353c: DUP3 0000353d: MSTORE 0000353e: DUP1 0000353f: PUSH1 0x20 00003541: MUL 00003542: PUSH1 0x20 00003544: ADD 00003545: DUP3 00003546: ADD 00003547: PUSH1 0x40 00003549: MSTORE 0000354a: DUP1 0000354b: ISZERO 0000354c: PUSH2 0x355f 0000354f: JUMPI 00003550: DUP2 00003551: PUSH1 0x20 00003553: ADD 00003554: PUSH1 0x20 00003556: DUP3 00003557: MUL 00003558: DUP1 00003559: CODESIZE 0000355a: DUP4 0000355b: CODECOPY 0000355c: ADD 0000355d: SWAP1 0000355e: POP 0000355f: JUMPDEST 00003560: POP 00003561: SWAP1 00003562: POP 00003563: PUSH1 0x00 00003565: JUMPDEST 00003566: DUP4 00003567: DUP2 00003568: LT 00003569: ISZERO 0000356a: PUSH2 0x2964 0000356d: JUMPI 0000356e: PUSH2 0x35b9 00003571: DUP14 00003572: DUP14 00003573: DUP4 00003574: DUP2 00003575: DUP2 00003576: LT 00003577: PUSH2 0x357c 0000357a: JUMPI 0000357b: INVALID 0000357c: JUMPDEST 0000357d: SWAP1 0000357e: POP 0000357f: PUSH1 0x20 00003581: MUL 00003582: ADD 00003583: CALLDATALOAD 00003584: PUSH1 0x01 00003586: PUSH1 0xa0 00003588: PUSH1 0x02 0000358a: EXP 0000358b: SUB 0000358c: AND 0000358d: DUP13 0000358e: DUP13 0000358f: DUP5 00003590: DUP2 00003591: DUP2 00003592: LT 00003593: ISZERO 00003594: ISZERO 00003595: PUSH2 0x359a 00003598: JUMPI 00003599: INVALID 0000359a: JUMPDEST 0000359b: SWAP1 0000359c: POP 0000359d: PUSH1 0x20 0000359f: MUL 000035a0: ADD 000035a1: CALLDATALOAD 000035a2: PUSH1 0x01 000035a4: PUSH1 0xa0 000035a6: PUSH1 0x02 000035a8: EXP 000035a9: SUB 000035aa: AND 000035ab: DUP10 000035ac: DUP13 000035ad: DUP13 000035ae: DUP7 000035af: DUP2 000035b0: DUP2 000035b1: LT 000035b2: ISZERO 000035b3: ISZERO 000035b4: PUSH2 0x16ac 000035b7: JUMPI 000035b8: INVALID 000035b9: JUMPDEST 000035ba: DUP5 000035bb: DUP4 000035bc: DUP2 000035bd: MLOAD 000035be: DUP2 000035bf: LT 000035c0: ISZERO 000035c1: ISZERO 000035c2: PUSH2 0x35c7 000035c5: JUMPI 000035c6: INVALID 000035c7: JUMPDEST 000035c8: SWAP1 000035c9: PUSH1 0x20 000035cb: ADD 000035cc: SWAP1 000035cd: PUSH1 0x20 000035cf: MUL 000035d0: ADD 000035d1: DUP5 000035d2: DUP5 000035d3: DUP2 000035d4: MLOAD 000035d5: DUP2 000035d6: LT 000035d7: ISZERO 000035d8: ISZERO 000035d9: PUSH2 0x35de 000035dc: JUMPI 000035dd: INVALID 000035de: JUMPDEST 000035df: PUSH1 0x20 000035e1: SWAP1 000035e2: DUP2 000035e3: MUL 000035e4: SWAP1 000035e5: SWAP2 000035e6: ADD 000035e7: ADD 000035e8: SWAP2 000035e9: SWAP1 000035ea: SWAP2 000035eb: MSTORE 000035ec: MSTORE 000035ed: PUSH1 0x01 000035ef: ADD 000035f0: PUSH2 0x3565 000035f3: JUMP 000035f4: JUMPDEST 000035f5: PUSH1 0x00 000035f7: PUSH2 0x3600 000035fa: DUP4 000035fb: DUP4 000035fc: PUSH2 0x145f 000035ff: JUMP 00003600: JUMPDEST 00003601: PUSH1 0x01 00003603: PUSH1 0xa0 00003605: PUSH1 0x02 00003607: EXP 00003608: SUB 00003609: SWAP2 0000360a: DUP3 0000360b: AND 0000360c: PUSH1 0x00 0000360e: SWAP1 0000360f: DUP2 00003610: MSTORE 00003611: PUSH1 0x0e 00003613: PUSH1 0x20 00003615: SWAP1 00003616: DUP2 00003617: MSTORE 00003618: PUSH1 0x40 0000361a: DUP1 0000361b: DUP4 0000361c: KECCAK256 0000361d: SWAP4 0000361e: SWAP1 0000361f: SWAP5 00003620: AND 00003621: DUP3 00003622: MSTORE 00003623: SWAP2 00003624: SWAP1 00003625: SWAP2 00003626: MSTORE 00003627: KECCAK256 00003628: SLOAD 00003629: SWAP4 0000362a: SWAP3 0000362b: POP 0000362c: POP 0000362d: POP 0000362e: JUMP 0000362f: JUMPDEST 00003630: PUSH1 0x00 00003632: DUP1 00003633: PUSH1 0x00 00003635: PUSH2 0x363e 00003638: DUP8 00003639: DUP8 0000363a: PUSH2 0x1752 0000363d: JUMP 0000363e: JUMPDEST 0000363f: DUP5 00003640: GT 00003641: ISZERO 00003642: PUSH2 0x364a 00003645: JUMPI 00003646: PUSH1 0x00 00003648: DUP1 00003649: REVERT 0000364a: JUMPDEST 0000364b: PUSH2 0x3655 0000364e: DUP8 0000364f: DUP8 00003650: DUP7 00003651: PUSH2 0x41a1 00003654: JUMP 00003655: JUMPDEST 00003656: SWAP1 00003657: SWAP3 00003658: POP 00003659: SWAP1 0000365a: POP 0000365b: DUP2 0000365c: ISZERO 0000365d: ISZERO 0000365e: PUSH2 0x366a 00003661: JUMPI 00003662: PUSH1 0x00 00003664: SWAP3 00003665: POP 00003666: PUSH2 0x36df 00003669: JUMP 0000366a: JUMPDEST 0000366b: PUSH1 0x01 0000366d: PUSH1 0xa0 0000366f: PUSH1 0x02 00003671: EXP 00003672: SUB 00003673: DUP1 00003674: DUP9 00003675: AND 00003676: PUSH1 0x00 00003678: DUP2 00003679: DUP2 0000367a: MSTORE 0000367b: PUSH1 0x17 0000367d: PUSH1 0x20 0000367f: SWAP1 00003680: DUP2 00003681: MSTORE 00003682: PUSH1 0x40 00003684: DUP1 00003685: DUP4 00003686: KECCAK256 00003687: DUP12 00003688: DUP7 00003689: AND 0000368a: DUP1 0000368b: DUP6 0000368c: MSTORE 0000368d: SWAP1 0000368e: DUP4 0000368f: MSTORE 00003690: DUP2 00003691: DUP5 00003692: KECCAK256 00003693: DUP11 00003694: DUP6 00003695: MSTORE 00003696: DUP4 00003697: MSTORE 00003698: DUP2 00003699: DUP5 0000369a: KECCAK256 0000369b: SWAP6 0000369c: DUP12 0000369d: AND 0000369e: DUP1 0000369f: DUP6 000036a0: MSTORE 000036a1: SWAP6 000036a2: DUP4 000036a3: MSTORE 000036a4: DUP2 000036a5: DUP5 000036a6: KECCAK256 000036a7: SLOAD 000036a8: SWAP5 000036a9: DUP5 000036aa: MSTORE 000036ab: PUSH1 0x18 000036ad: DUP4 000036ae: MSTORE 000036af: DUP2 000036b0: DUP5 000036b1: KECCAK256 000036b2: SWAP1 000036b3: DUP5 000036b4: MSTORE 000036b5: DUP3 000036b6: MSTORE 000036b7: DUP1 000036b8: DUP4 000036b9: KECCAK256 000036ba: DUP10 000036bb: DUP5 000036bc: MSTORE 000036bd: DUP3 000036be: MSTORE 000036bf: DUP1 000036c0: DUP4 000036c1: KECCAK256 000036c2: SWAP5 000036c3: DUP4 000036c4: MSTORE 000036c5: SWAP4 000036c6: SWAP1 000036c7: MSTORE 000036c8: SWAP2 000036c9: SWAP1 000036ca: SWAP2 000036cb: KECCAK256 000036cc: SLOAD 000036cd: PUSH2 0x36db 000036d0: SWAP1 000036d1: DUP5 000036d2: PUSH2 0x212a 000036d5: DUP5 000036d6: DUP7 000036d7: PUSH2 0x3403 000036da: JUMP 000036db: JUMPDEST 000036dc: SWAP4 000036dd: POP 000036de: POP 000036df: JUMPDEST 000036e0: SWAP5 000036e1: POP 000036e2: SWAP5 000036e3: POP 000036e4: SWAP5 000036e5: SWAP2 000036e6: POP 000036e7: POP 000036e8: JUMP 000036e9: JUMPDEST 000036ea: PUSH1 0x01 000036ec: SLOAD 000036ed: PUSH1 0x01 000036ef: PUSH1 0xa0 000036f1: PUSH1 0x02 000036f3: EXP 000036f4: SUB 000036f5: AND 000036f6: CALLER 000036f7: EQ 000036f8: PUSH2 0x3735 000036fb: JUMPI 000036fc: PUSH1 0x40 000036fe: MLOAD 000036ff: PUSH1 0xe5 00003701: PUSH1 0x02 00003703: EXP 00003704: PUSH3 0x461bcd 00003708: MUL 00003709: DUP2 0000370a: MSTORE 0000370b: PUSH1 0x04 0000370d: ADD 0000370e: DUP1 0000370f: DUP1 00003710: PUSH1 0x20 00003712: ADD 00003713: DUP3 00003714: DUP2 00003715: SUB 00003716: DUP3 00003717: MSTORE 00003718: PUSH1 0x2a 0000371a: DUP2 0000371b: MSTORE 0000371c: PUSH1 0x20 0000371e: ADD 0000371f: DUP1 00003720: PUSH2 0x54a7 00003723: PUSH1 0x2a 00003725: SWAP2 00003726: CODECOPY 00003727: PUSH1 0x40 00003729: ADD 0000372a: SWAP2 0000372b: POP 0000372c: POP 0000372d: PUSH1 0x40 0000372f: MLOAD 00003730: DUP1 00003731: SWAP2 00003732: SUB 00003733: SWAP1 00003734: REVERT 00003735: JUMPDEST 00003736: PUSH1 0x09 00003738: SSTORE 00003739: JUMP 0000373a: JUMPDEST 0000373b: GT 0000373c: ISZERO 0000373d: SWAP1 0000373e: JUMP 0000373f: JUMPDEST 00003740: PUSH1 0x01 00003742: PUSH1 0xa0 00003744: PUSH1 0x02 00003746: EXP 00003747: SUB 00003748: DUP7 00003749: DUP2 0000374a: AND 0000374b: SWAP1 0000374c: DUP7 0000374d: AND 0000374e: EQ 0000374f: ISZERO 00003750: PUSH2 0x378d 00003753: JUMPI 00003754: PUSH1 0x40 00003756: MLOAD 00003757: PUSH1 0xe5 00003759: PUSH1 0x02 0000375b: EXP 0000375c: PUSH3 0x461bcd 00003760: MUL 00003761: DUP2 00003762: MSTORE 00003763: PUSH1 0x04 00003765: ADD 00003766: DUP1 00003767: DUP1 00003768: PUSH1 0x20 0000376a: ADD 0000376b: DUP3 0000376c: DUP2 0000376d: SUB 0000376e: DUP3 0000376f: MSTORE 00003770: PUSH1 0x30 00003772: DUP2 00003773: MSTORE 00003774: PUSH1 0x20 00003776: ADD 00003777: DUP1 00003778: PUSH2 0x5528 0000377b: PUSH1 0x30 0000377d: SWAP2 0000377e: CODECOPY 0000377f: PUSH1 0x40 00003781: ADD 00003782: SWAP2 00003783: POP 00003784: POP 00003785: PUSH1 0x40 00003787: MLOAD 00003788: DUP1 00003789: SWAP2 0000378a: SUB 0000378b: SWAP1 0000378c: REVERT 0000378d: JUMPDEST 0000378e: DUP2 0000378f: ISZERO 00003790: ISZERO 00003791: PUSH2 0x37ce 00003794: JUMPI 00003795: PUSH1 0x40 00003797: MLOAD 00003798: PUSH1 0xe5 0000379a: PUSH1 0x02 0000379c: EXP 0000379d: PUSH3 0x461bcd 000037a1: MUL 000037a2: DUP2 000037a3: MSTORE 000037a4: PUSH1 0x04 000037a6: ADD 000037a7: DUP1 000037a8: DUP1 000037a9: PUSH1 0x20 000037ab: ADD 000037ac: DUP3 000037ad: DUP2 000037ae: SUB 000037af: DUP3 000037b0: MSTORE 000037b1: PUSH1 0x30 000037b3: DUP2 000037b4: MSTORE 000037b5: PUSH1 0x20 000037b7: ADD 000037b8: DUP1 000037b9: PUSH2 0x566f 000037bc: PUSH1 0x30 000037be: SWAP2 000037bf: CODECOPY 000037c0: PUSH1 0x40 000037c2: ADD 000037c3: SWAP2 000037c4: POP 000037c5: POP 000037c6: PUSH1 0x40 000037c8: MLOAD 000037c9: DUP1 000037ca: SWAP2 000037cb: SUB 000037cc: SWAP1 000037cd: REVERT 000037ce: JUMPDEST 000037cf: DUP1 000037d0: ISZERO 000037d1: ISZERO 000037d2: PUSH2 0x380f 000037d5: JUMPI 000037d6: PUSH1 0x40 000037d8: MLOAD 000037d9: PUSH1 0xe5 000037db: PUSH1 0x02 000037dd: EXP 000037de: PUSH3 0x461bcd 000037e2: MUL 000037e3: DUP2 000037e4: MSTORE 000037e5: PUSH1 0x04 000037e7: ADD 000037e8: DUP1 000037e9: DUP1 000037ea: PUSH1 0x20 000037ec: ADD 000037ed: DUP3 000037ee: DUP2 000037ef: SUB 000037f0: DUP3 000037f1: MSTORE 000037f2: PUSH1 0x32 000037f4: DUP2 000037f5: MSTORE 000037f6: PUSH1 0x20 000037f8: ADD 000037f9: DUP1 000037fa: PUSH2 0x5375 000037fd: PUSH1 0x32 000037ff: SWAP2 00003800: CODECOPY 00003801: PUSH1 0x40 00003803: ADD 00003804: SWAP2 00003805: POP 00003806: POP 00003807: PUSH1 0x40 00003809: MLOAD 0000380a: DUP1 0000380b: SWAP2 0000380c: SUB 0000380d: SWAP1 0000380e: REVERT 0000380f: JUMPDEST 00003810: PUSH2 0x3819 00003813: DUP7 00003814: DUP7 00003815: PUSH2 0x1752 00003818: JUMP 00003819: JUMPDEST 0000381a: ISZERO 0000381b: PUSH2 0x386e 0000381e: JUMPI 0000381f: PUSH1 0x40 00003821: DUP1 00003822: MLOAD 00003823: PUSH1 0xe5 00003825: PUSH1 0x02 00003827: EXP 00003828: PUSH3 0x461bcd 0000382c: MUL 0000382d: DUP2 0000382e: MSTORE 0000382f: PUSH1 0x20 00003831: PUSH1 0x04 00003833: DUP3 00003834: ADD 00003835: DUP2 00003836: SWAP1 00003837: MSTORE 00003838: PUSH1 0x24 0000383a: DUP3 0000383b: ADD 0000383c: MSTORE 0000383d: PUSH32 0x54686520746f6b656e20706169722077617320616c7265616479206164646564 0000385e: PUSH1 0x44 00003860: DUP3 00003861: ADD 00003862: MSTORE 00003863: SWAP1 00003864: MLOAD 00003865: SWAP1 00003866: DUP2 00003867: SWAP1 00003868: SUB 00003869: PUSH1 0x64 0000386b: ADD 0000386c: SWAP1 0000386d: REVERT 0000386e: JUMPDEST 0000386f: PUSH8 0x0de0b6b3a7640000 00003878: DUP3 00003879: LT 0000387a: PUSH2 0x38b7 0000387d: JUMPI 0000387e: PUSH1 0x40 00003880: MLOAD 00003881: PUSH1 0xe5 00003883: PUSH1 0x02 00003885: EXP 00003886: PUSH3 0x461bcd 0000388a: MUL 0000388b: DUP2 0000388c: MSTORE 0000388d: PUSH1 0x04 0000388f: ADD 00003890: DUP1 00003891: DUP1 00003892: PUSH1 0x20 00003894: ADD 00003895: DUP3 00003896: DUP2 00003897: SUB 00003898: DUP3 00003899: MSTORE 0000389a: PUSH1 0x36 0000389c: DUP2 0000389d: MSTORE 0000389e: PUSH1 0x20 000038a0: ADD 000038a1: DUP1 000038a2: PUSH2 0x533f 000038a5: PUSH1 0x36 000038a7: SWAP2 000038a8: CODECOPY 000038a9: PUSH1 0x40 000038ab: ADD 000038ac: SWAP2 000038ad: POP 000038ae: POP 000038af: PUSH1 0x40 000038b1: MLOAD 000038b2: DUP1 000038b3: SWAP2 000038b4: SUB 000038b5: SWAP1 000038b6: REVERT 000038b7: JUMPDEST 000038b8: PUSH8 0x0de0b6b3a7640000 000038c1: DUP2 000038c2: LT 000038c3: PUSH2 0x3900 000038c6: JUMPI 000038c7: PUSH1 0x40 000038c9: MLOAD 000038ca: PUSH1 0xe5 000038cc: PUSH1 0x02 000038ce: EXP 000038cf: PUSH3 0x461bcd 000038d3: MUL 000038d4: DUP2 000038d5: MSTORE 000038d6: PUSH1 0x04 000038d8: ADD 000038d9: DUP1 000038da: DUP1 000038db: PUSH1 0x20 000038dd: ADD 000038de: DUP3 000038df: DUP2 000038e0: SUB 000038e1: DUP3 000038e2: MSTORE 000038e3: PUSH1 0x38 000038e5: DUP2 000038e6: MSTORE 000038e7: PUSH1 0x20 000038e9: ADD 000038ea: DUP1 000038eb: PUSH2 0x5637 000038ee: PUSH1 0x38 000038f0: SWAP2 000038f1: CODECOPY 000038f2: PUSH1 0x40 000038f4: ADD 000038f5: SWAP2 000038f6: POP 000038f7: POP 000038f8: PUSH1 0x40 000038fa: MLOAD 000038fb: DUP1 000038fc: SWAP2 000038fd: SUB 000038fe: SWAP1 000038ff: REVERT 00003900: JUMPDEST 00003901: PUSH2 0x390a 00003904: DUP7 00003905: DUP7 00003906: PUSH2 0x4aab 00003909: JUMP 0000390a: JUMPDEST 0000390b: PUSH1 0x01 0000390d: PUSH1 0xa0 0000390f: PUSH1 0x02 00003911: EXP 00003912: SUB 00003913: DUP7 00003914: AND 00003915: PUSH1 0x00 00003917: SWAP1 00003918: DUP2 00003919: MSTORE 0000391a: PUSH1 0x14 0000391c: PUSH1 0x20 0000391e: SWAP1 0000391f: DUP2 00003920: MSTORE 00003921: PUSH1 0x40 00003923: DUP1 00003924: DUP4 00003925: KECCAK256 00003926: CALLER 00003927: DUP5 00003928: MSTORE 00003929: SWAP1 0000392a: SWAP2 0000392b: MSTORE 0000392c: SWAP1 0000392d: KECCAK256 0000392e: SLOAD 0000392f: PUSH2 0x3939 00003932: SWAP1 00003933: DUP6 00003934: SWAP1 00003935: PUSH2 0x2a3b 00003938: JUMP 00003939: JUMPDEST 0000393a: PUSH1 0x01 0000393c: PUSH1 0xa0 0000393e: PUSH1 0x02 00003940: EXP 00003941: SUB 00003942: DUP7 00003943: AND 00003944: PUSH1 0x00 00003946: SWAP1 00003947: DUP2 00003948: MSTORE 00003949: PUSH1 0x14 0000394b: PUSH1 0x20 0000394d: SWAP1 0000394e: DUP2 0000394f: MSTORE 00003950: PUSH1 0x40 00003952: DUP1 00003953: DUP4 00003954: KECCAK256 00003955: CALLER 00003956: DUP5 00003957: MSTORE 00003958: SWAP1 00003959: SWAP2 0000395a: MSTORE 0000395b: SWAP1 0000395c: KECCAK256 0000395d: SLOAD 0000395e: SWAP1 0000395f: SWAP5 00003960: POP 00003961: PUSH2 0x396b 00003964: SWAP1 00003965: DUP5 00003966: SWAP1 00003967: PUSH2 0x2a3b 0000396a: JUMP 0000396b: JUMPDEST 0000396c: SWAP3 0000396d: POP 0000396e: PUSH13 0x0c9f2c9cd04674edea40000000 0000397c: DUP5 0000397d: LT 0000397e: PUSH2 0x39bb 00003981: JUMPI 00003982: PUSH1 0x40 00003984: MLOAD 00003985: PUSH1 0xe5 00003987: PUSH1 0x02 00003989: EXP 0000398a: PUSH3 0x461bcd 0000398e: MUL 0000398f: DUP2 00003990: MSTORE 00003991: PUSH1 0x04 00003993: ADD 00003994: DUP1 00003995: DUP1 00003996: PUSH1 0x20 00003998: ADD 00003999: DUP3 0000399a: DUP2 0000399b: SUB 0000399c: DUP3 0000399d: MSTORE 0000399e: PUSH1 0x2c 000039a0: DUP2 000039a1: MSTORE 000039a2: PUSH1 0x20 000039a4: ADD 000039a5: DUP1 000039a6: PUSH2 0x569f 000039a9: PUSH1 0x2c 000039ab: SWAP2 000039ac: CODECOPY 000039ad: PUSH1 0x40 000039af: ADD 000039b0: SWAP2 000039b1: POP 000039b2: POP 000039b3: PUSH1 0x40 000039b5: MLOAD 000039b6: DUP1 000039b7: SWAP2 000039b8: SUB 000039b9: SWAP1 000039ba: REVERT 000039bb: JUMPDEST 000039bc: PUSH13 0x0c9f2c9cd04674edea40000000 000039ca: DUP4 000039cb: LT 000039cc: PUSH2 0x3a09 000039cf: JUMPI 000039d0: PUSH1 0x40 000039d2: MLOAD 000039d3: PUSH1 0xe5 000039d5: PUSH1 0x02 000039d7: EXP 000039d8: PUSH3 0x461bcd 000039dc: MUL 000039dd: DUP2 000039de: MSTORE 000039df: PUSH1 0x04 000039e1: ADD 000039e2: DUP1 000039e3: DUP1 000039e4: PUSH1 0x20 000039e6: ADD 000039e7: DUP3 000039e8: DUP2 000039e9: SUB 000039ea: DUP3 000039eb: MSTORE 000039ec: PUSH1 0x2c 000039ee: DUP2 000039ef: MSTORE 000039f0: PUSH1 0x20 000039f2: ADD 000039f3: DUP1 000039f4: PUSH2 0x54d1 000039f7: PUSH1 0x2c 000039f9: SWAP2 000039fa: CODECOPY 000039fb: PUSH1 0x40 000039fd: ADD 000039fe: SWAP2 000039ff: POP 00003a00: POP 00003a01: PUSH1 0x40 00003a03: MLOAD 00003a04: DUP1 00003a05: SWAP2 00003a06: SUB 00003a07: SWAP1 00003a08: REVERT 00003a09: JUMPDEST 00003a0a: PUSH1 0x00 00003a0c: DUP1 00003a0d: PUSH1 0x05 00003a0f: PUSH1 0x00 00003a11: SWAP1 00003a12: SLOAD 00003a13: SWAP1 00003a14: PUSH2 0x0100 00003a17: EXP 00003a18: SWAP1 00003a19: DIV 00003a1a: PUSH1 0x01 00003a1c: PUSH1 0xa0 00003a1e: PUSH1 0x02 00003a20: EXP 00003a21: SUB 00003a22: AND 00003a23: PUSH1 0x01 00003a25: PUSH1 0xa0 00003a27: PUSH1 0x02 00003a29: EXP 00003a2a: SUB 00003a2b: AND 00003a2c: PUSH4 0xa3ca17b2 00003a31: PUSH1 0x40 00003a33: MLOAD 00003a34: DUP2 00003a35: PUSH4 0xffffffff 00003a3a: AND 00003a3b: PUSH1 0xe0 00003a3d: PUSH1 0x02 00003a3f: EXP 00003a40: MUL 00003a41: DUP2 00003a42: MSTORE 00003a43: PUSH1 0x04 00003a45: ADD 00003a46: PUSH1 0x20 00003a48: PUSH1 0x40 00003a4a: MLOAD 00003a4b: DUP1 00003a4c: DUP4 00003a4d: SUB 00003a4e: DUP2 00003a4f: DUP7 00003a50: DUP1 00003a51: EXTCODESIZE 00003a52: ISZERO 00003a53: DUP1 00003a54: ISZERO 00003a55: PUSH2 0x3a5d 00003a58: JUMPI 00003a59: PUSH1 0x00 00003a5b: DUP1 00003a5c: REVERT 00003a5d: JUMPDEST 00003a5e: POP 00003a5f: GAS 00003a60: STATICCALL 00003a61: ISZERO 00003a62: DUP1 00003a63: ISZERO 00003a64: PUSH2 0x3a71 00003a67: JUMPI 00003a68: RETURNDATASIZE 00003a69: PUSH1 0x00 00003a6b: DUP1 00003a6c: RETURNDATACOPY 00003a6d: RETURNDATASIZE 00003a6e: PUSH1 0x00 00003a70: REVERT 00003a71: JUMPDEST 00003a72: POP 00003a73: POP 00003a74: POP 00003a75: POP 00003a76: PUSH1 0x40 00003a78: MLOAD 00003a79: RETURNDATASIZE 00003a7a: PUSH1 0x20 00003a7c: DUP2 00003a7d: LT 00003a7e: ISZERO 00003a7f: PUSH2 0x3a87 00003a82: JUMPI 00003a83: PUSH1 0x00 00003a85: DUP1 00003a86: REVERT 00003a87: JUMPDEST 00003a88: POP 00003a89: MLOAD 00003a8a: PUSH1 0x08 00003a8c: SLOAD 00003a8d: SWAP1 00003a8e: SWAP2 00003a8f: POP 00003a90: PUSH1 0x01 00003a92: PUSH1 0xa0 00003a94: PUSH1 0x02 00003a96: EXP 00003a97: SUB 00003a98: SWAP1 00003a99: DUP2 00003a9a: AND 00003a9b: SWAP1 00003a9c: DUP10 00003a9d: AND 00003a9e: DUP2 00003a9f: EQ 00003aa0: ISZERO 00003aa1: PUSH2 0x3ab5 00003aa4: JUMPI 00003aa5: PUSH2 0x3aae 00003aa8: DUP8 00003aa9: DUP4 00003aaa: PUSH2 0x3403 00003aad: JUMP 00003aae: JUMPDEST 00003aaf: SWAP3 00003ab0: POP 00003ab1: PUSH2 0x3aea 00003ab4: JUMP 00003ab5: JUMPDEST 00003ab6: DUP1 00003ab7: PUSH1 0x01 00003ab9: PUSH1 0xa0 00003abb: PUSH1 0x02 00003abd: EXP 00003abe: SUB 00003abf: AND 00003ac0: DUP9 00003ac1: PUSH1 0x01 00003ac3: PUSH1 0xa0 00003ac5: PUSH1 0x02 00003ac7: EXP 00003ac8: SUB 00003ac9: AND 00003aca: EQ 00003acb: ISZERO 00003acc: PUSH2 0x3ad9 00003acf: JUMPI 00003ad0: PUSH2 0x3aae 00003ad3: DUP7 00003ad4: DUP4 00003ad5: PUSH2 0x3403 00003ad8: JUMP 00003ad9: JUMPDEST 00003ada: PUSH2 0x3ae7 00003add: DUP10 00003ade: DUP10 00003adf: DUP10 00003ae0: DUP10 00003ae1: DUP6 00003ae2: DUP8 00003ae3: PUSH2 0x4ae7 00003ae6: JUMP 00003ae7: JUMPDEST 00003ae8: SWAP3 00003ae9: POP 00003aea: JUMPDEST 00003aeb: PUSH1 0x09 00003aed: SLOAD 00003aee: DUP4 00003aef: LT 00003af0: ISZERO 00003af1: PUSH2 0x3b2e 00003af4: JUMPI 00003af5: PUSH1 0x40 00003af7: MLOAD 00003af8: PUSH1 0xe5 00003afa: PUSH1 0x02 00003afc: EXP 00003afd: PUSH3 0x461bcd 00003b01: MUL 00003b02: DUP2 00003b03: MSTORE 00003b04: PUSH1 0x04 00003b06: ADD 00003b07: DUP1 00003b08: DUP1 00003b09: PUSH1 0x20 00003b0b: ADD 00003b0c: DUP3 00003b0d: DUP2 00003b0e: SUB 00003b0f: DUP3 00003b10: MSTORE 00003b11: PUSH1 0x37 00003b13: DUP2 00003b14: MSTORE 00003b15: PUSH1 0x20 00003b17: ADD 00003b18: DUP1 00003b19: PUSH2 0x53ea 00003b1c: PUSH1 0x37 00003b1e: SWAP2 00003b1f: CODECOPY 00003b20: PUSH1 0x40 00003b22: ADD 00003b23: SWAP2 00003b24: POP 00003b25: POP 00003b26: PUSH1 0x40 00003b28: MLOAD 00003b29: DUP1 00003b2a: SWAP2 00003b2b: SUB 00003b2c: SWAP1 00003b2d: REVERT 00003b2e: JUMPDEST 00003b2f: PUSH1 0x40 00003b31: DUP1 00003b32: MLOAD 00003b33: SWAP1 00003b34: DUP2 00003b35: ADD 00003b36: PUSH1 0x40 00003b38: MSTORE 00003b39: DUP1 00003b3a: DUP7 00003b3b: DUP2 00003b3c: MSTORE 00003b3d: PUSH1 0x20 00003b3f: ADD 00003b40: DUP6 00003b41: DUP2 00003b42: MSTORE 00003b43: POP 00003b44: PUSH1 0x10 00003b46: PUSH1 0x00 00003b48: DUP12 00003b49: PUSH1 0x01 00003b4b: PUSH1 0xa0 00003b4d: PUSH1 0x02 00003b4f: EXP 00003b50: SUB 00003b51: AND 00003b52: PUSH1 0x01 00003b54: PUSH1 0xa0 00003b56: PUSH1 0x02 00003b58: EXP 00003b59: SUB 00003b5a: AND 00003b5b: DUP2 00003b5c: MSTORE 00003b5d: PUSH1 0x20 00003b5f: ADD 00003b60: SWAP1 00003b61: DUP2 00003b62: MSTORE 00003b63: PUSH1 0x20 00003b65: ADD 00003b66: PUSH1 0x00 00003b68: KECCAK256 00003b69: PUSH1 0x00 00003b6b: DUP11 00003b6c: PUSH1 0x01 00003b6e: PUSH1 0xa0 00003b70: PUSH1 0x02 00003b72: EXP 00003b73: SUB 00003b74: AND 00003b75: PUSH1 0x01 00003b77: PUSH1 0xa0 00003b79: PUSH1 0x02 00003b7b: EXP 00003b7c: SUB 00003b7d: AND 00003b7e: DUP2 00003b7f: MSTORE 00003b80: PUSH1 0x20 00003b82: ADD 00003b83: SWAP1 00003b84: DUP2 00003b85: MSTORE 00003b86: PUSH1 0x20 00003b88: ADD 00003b89: PUSH1 0x00 00003b8b: KECCAK256 00003b8c: PUSH1 0x00 00003b8e: DUP1 00003b8f: DUP2 00003b90: MSTORE 00003b91: PUSH1 0x20 00003b93: ADD 00003b94: SWAP1 00003b95: DUP2 00003b96: MSTORE 00003b97: PUSH1 0x20 00003b99: ADD 00003b9a: PUSH1 0x00 00003b9c: KECCAK256 00003b9d: PUSH1 0x00 00003b9f: DUP3 00003ba0: ADD 00003ba1: MLOAD 00003ba2: DUP2 00003ba3: PUSH1 0x00 00003ba5: ADD 00003ba6: SSTORE 00003ba7: PUSH1 0x20 00003ba9: DUP3 00003baa: ADD 00003bab: MLOAD 00003bac: DUP2 00003bad: PUSH1 0x01 00003baf: ADD 00003bb0: SSTORE 00003bb1: SWAP1 00003bb2: POP 00003bb3: POP 00003bb4: PUSH1 0x40 00003bb6: DUP1 00003bb7: MLOAD 00003bb8: SWAP1 00003bb9: DUP2 00003bba: ADD 00003bbb: PUSH1 0x40 00003bbd: MSTORE 00003bbe: DUP1 00003bbf: DUP6 00003bc0: DUP2 00003bc1: MSTORE 00003bc2: PUSH1 0x20 00003bc4: ADD 00003bc5: DUP7 00003bc6: DUP2 00003bc7: MSTORE 00003bc8: POP 00003bc9: PUSH1 0x10 00003bcb: PUSH1 0x00 00003bcd: DUP11 00003bce: PUSH1 0x01 00003bd0: PUSH1 0xa0 00003bd2: PUSH1 0x02 00003bd4: EXP 00003bd5: SUB 00003bd6: AND 00003bd7: PUSH1 0x01 00003bd9: PUSH1 0xa0 00003bdb: PUSH1 0x02 00003bdd: EXP 00003bde: SUB 00003bdf: AND 00003be0: DUP2 00003be1: MSTORE 00003be2: PUSH1 0x20 00003be4: ADD 00003be5: SWAP1 00003be6: DUP2 00003be7: MSTORE 00003be8: PUSH1 0x20 00003bea: ADD 00003beb: PUSH1 0x00 00003bed: KECCAK256 00003bee: PUSH1 0x00 00003bf0: DUP12 00003bf1: PUSH1 0x01 00003bf3: PUSH1 0xa0 00003bf5: PUSH1 0x02 00003bf7: EXP 00003bf8: SUB 00003bf9: AND 00003bfa: PUSH1 0x01 00003bfc: PUSH1 0xa0 00003bfe: PUSH1 0x02 00003c00: EXP 00003c01: SUB 00003c02: AND 00003c03: DUP2 00003c04: MSTORE 00003c05: PUSH1 0x20 00003c07: ADD 00003c08: SWAP1 00003c09: DUP2 00003c0a: MSTORE 00003c0b: PUSH1 0x20 00003c0d: ADD 00003c0e: PUSH1 0x00 00003c10: KECCAK256 00003c11: PUSH1 0x00 00003c13: DUP1 00003c14: DUP2 00003c15: MSTORE 00003c16: PUSH1 0x20 00003c18: ADD 00003c19: SWAP1 00003c1a: DUP2 00003c1b: MSTORE 00003c1c: PUSH1 0x20 00003c1e: ADD 00003c1f: PUSH1 0x00 00003c21: KECCAK256 00003c22: PUSH1 0x00 00003c24: DUP3 00003c25: ADD 00003c26: MLOAD 00003c27: DUP2 00003c28: PUSH1 0x00 00003c2a: ADD 00003c2b: SSTORE 00003c2c: PUSH1 0x20 00003c2e: DUP3 00003c2f: ADD 00003c30: MLOAD 00003c31: DUP2 00003c32: PUSH1 0x01 00003c34: ADD 00003c35: SSTORE 00003c36: SWAP1 00003c37: POP 00003c38: POP 00003c39: PUSH2 0x2b2a 00003c3c: DUP10 00003c3d: DUP10 00003c3e: DUP10 00003c3f: DUP10 00003c40: PUSH2 0x4b7f 00003c43: JUMP 00003c44: JUMPDEST 00003c45: PUSH1 0x10 00003c47: PUSH1 0x20 00003c49: SWAP1 00003c4a: DUP2 00003c4b: MSTORE 00003c4c: PUSH1 0x00 00003c4e: SWAP4 00003c4f: DUP5 00003c50: MSTORE 00003c51: PUSH1 0x40 00003c53: DUP1 00003c54: DUP6 00003c55: KECCAK256 00003c56: DUP3 00003c57: MSTORE 00003c58: SWAP3 00003c59: DUP5 00003c5a: MSTORE 00003c5b: DUP3 00003c5c: DUP5 00003c5d: KECCAK256 00003c5e: SWAP1 00003c5f: MSTORE 00003c60: DUP3 00003c61: MSTORE 00003c62: SWAP1 00003c63: KECCAK256 00003c64: DUP1 00003c65: SLOAD 00003c66: PUSH1 0x01 00003c68: SWAP1 00003c69: SWAP2 00003c6a: ADD 00003c6b: SLOAD 00003c6c: DUP3 00003c6d: JUMP 00003c6e: JUMPDEST 00003c6f: PUSH1 0x00 00003c71: DUP1 00003c72: PUSH1 0x00 00003c74: PUSH1 0x0b 00003c76: PUSH1 0x00 00003c78: SWAP1 00003c79: SLOAD 00003c7a: SWAP1 00003c7b: PUSH2 0x0100 00003c7e: EXP 00003c7f: SWAP1 00003c80: DIV 00003c81: PUSH1 0x01 00003c83: PUSH1 0xa0 00003c85: PUSH1 0x02 00003c87: EXP 00003c88: SUB 00003c89: AND 00003c8a: PUSH1 0x01 00003c8c: PUSH1 0xa0 00003c8e: PUSH1 0x02 00003c90: EXP 00003c91: SUB 00003c92: AND 00003c93: PUSH4 0x18160ddd 00003c98: PUSH1 0x40 00003c9a: MLOAD 00003c9b: DUP2 00003c9c: PUSH4 0xffffffff 00003ca1: AND 00003ca2: PUSH1 0xe0 00003ca4: PUSH1 0x02 00003ca6: EXP 00003ca7: MUL 00003ca8: DUP2 00003ca9: MSTORE 00003caa: PUSH1 0x04 00003cac: ADD 00003cad: PUSH1 0x20 00003caf: PUSH1 0x40 00003cb1: MLOAD 00003cb2: DUP1 00003cb3: DUP4 00003cb4: SUB 00003cb5: DUP2 00003cb6: DUP7 00003cb7: DUP1 00003cb8: EXTCODESIZE 00003cb9: ISZERO 00003cba: DUP1 00003cbb: ISZERO 00003cbc: PUSH2 0x3cc4 00003cbf: JUMPI 00003cc0: PUSH1 0x00 00003cc2: DUP1 00003cc3: REVERT 00003cc4: JUMPDEST 00003cc5: POP 00003cc6: GAS 00003cc7: STATICCALL 00003cc8: ISZERO 00003cc9: DUP1 00003cca: ISZERO 00003ccb: PUSH2 0x3cd8 00003cce: JUMPI 00003ccf: RETURNDATASIZE 00003cd0: PUSH1 0x00 00003cd2: DUP1 00003cd3: RETURNDATACOPY 00003cd4: RETURNDATASIZE 00003cd5: PUSH1 0x00 00003cd7: REVERT 00003cd8: JUMPDEST 00003cd9: POP 00003cda: POP 00003cdb: POP 00003cdc: POP 00003cdd: PUSH1 0x40 00003cdf: MLOAD 00003ce0: RETURNDATASIZE 00003ce1: PUSH1 0x20 00003ce3: DUP2 00003ce4: LT 00003ce5: ISZERO 00003ce6: PUSH2 0x3cee 00003ce9: JUMPI 00003cea: PUSH1 0x00 00003cec: DUP1 00003ced: REVERT 00003cee: JUMPDEST 00003cef: POP 00003cf0: MLOAD 00003cf1: PUSH1 0x0b 00003cf3: SLOAD 00003cf4: PUSH1 0x40 00003cf6: DUP1 00003cf7: MLOAD 00003cf8: PUSH32 0x8b525d0c00000000000000000000000000000000000000000000000000000000 00003d19: DUP2 00003d1a: MSTORE 00003d1b: PUSH1 0x01 00003d1d: PUSH1 0xa0 00003d1f: PUSH1 0x02 00003d21: EXP 00003d22: SUB 00003d23: DUP9 00003d24: DUP2 00003d25: AND 00003d26: PUSH1 0x04 00003d28: DUP4 00003d29: ADD 00003d2a: MSTORE 00003d2b: SWAP2 00003d2c: MLOAD 00003d2d: SWAP4 00003d2e: SWAP5 00003d2f: POP 00003d30: PUSH1 0x00 00003d32: SWAP4 00003d33: SWAP2 00003d34: SWAP1 00003d35: SWAP3 00003d36: AND 00003d37: SWAP2 00003d38: PUSH4 0x8b525d0c 00003d3d: SWAP2 00003d3e: PUSH1 0x24 00003d40: DUP1 00003d41: DUP4 00003d42: ADD 00003d43: SWAP3 00003d44: PUSH1 0x20 00003d46: SWAP3 00003d47: SWAP2 00003d48: SWAP1 00003d49: DUP3 00003d4a: SWAP1 00003d4b: SUB 00003d4c: ADD 00003d4d: DUP2 00003d4e: DUP7 00003d4f: DUP1 00003d50: EXTCODESIZE 00003d51: ISZERO 00003d52: DUP1 00003d53: ISZERO 00003d54: PUSH2 0x3d5c 00003d57: JUMPI 00003d58: PUSH1 0x00 00003d5a: DUP1 00003d5b: REVERT 00003d5c: JUMPDEST 00003d5d: POP 00003d5e: GAS 00003d5f: STATICCALL 00003d60: ISZERO 00003d61: DUP1 00003d62: ISZERO 00003d63: PUSH2 0x3d70 00003d66: JUMPI 00003d67: RETURNDATASIZE 00003d68: PUSH1 0x00 00003d6a: DUP1 00003d6b: RETURNDATACOPY 00003d6c: RETURNDATASIZE 00003d6d: PUSH1 0x00 00003d6f: REVERT 00003d70: JUMPDEST 00003d71: POP 00003d72: POP 00003d73: POP 00003d74: POP 00003d75: PUSH1 0x40 00003d77: MLOAD 00003d78: RETURNDATASIZE 00003d79: PUSH1 0x20 00003d7b: DUP2 00003d7c: LT 00003d7d: ISZERO 00003d7e: PUSH2 0x3d86 00003d81: JUMPI 00003d82: PUSH1 0x00 00003d84: DUP1 00003d85: REVERT 00003d86: JUMPDEST 00003d87: POP 00003d88: MLOAD 00003d89: SWAP1 00003d8a: POP 00003d8b: PUSH2 0x2710 00003d8e: DUP2 00003d8f: MUL 00003d90: DUP3 00003d91: GT 00003d92: DUP1 00003d93: PUSH2 0x3d9a 00003d96: JUMPI 00003d97: POP 00003d98: DUP2 00003d99: ISZERO 00003d9a: JUMPDEST 00003d9b: ISZERO 00003d9c: PUSH2 0x3dac 00003d9f: JUMPI 00003da0: PUSH1 0x01 00003da2: SWAP4 00003da3: POP 00003da4: PUSH1 0xc8 00003da6: SWAP3 00003da7: POP 00003da8: PUSH2 0x3e01 00003dab: JUMP 00003dac: JUMPDEST 00003dad: DUP2 00003dae: DUP2 00003daf: PUSH2 0x03e8 00003db2: MUL 00003db3: LT 00003db4: ISZERO 00003db5: PUSH2 0x3dc5 00003db8: JUMPI 00003db9: PUSH1 0x01 00003dbb: SWAP4 00003dbc: POP 00003dbd: PUSH1 0xfa 00003dbf: SWAP3 00003dc0: POP 00003dc1: PUSH2 0x3e01 00003dc4: JUMP 00003dc5: JUMPDEST 00003dc6: DUP2 00003dc7: DUP2 00003dc8: PUSH1 0x64 00003dca: MUL 00003dcb: LT 00003dcc: ISZERO 00003dcd: PUSH2 0x3dde 00003dd0: JUMPI 00003dd1: PUSH1 0x03 00003dd3: SWAP4 00003dd4: POP 00003dd5: PUSH2 0x03e8 00003dd8: SWAP3 00003dd9: POP 00003dda: PUSH2 0x3e01 00003ddd: JUMP 00003dde: JUMPDEST 00003ddf: DUP2 00003de0: DUP2 00003de1: PUSH1 0x0a 00003de3: MUL 00003de4: LT 00003de5: ISZERO 00003de6: PUSH2 0x3df7 00003de9: JUMPI 00003dea: PUSH1 0x01 00003dec: SWAP4 00003ded: POP 00003dee: PUSH2 0x01f4 00003df1: SWAP3 00003df2: POP 00003df3: PUSH2 0x3e01 00003df6: JUMP 00003df7: JUMPDEST 00003df8: PUSH1 0x01 00003dfa: SWAP4 00003dfb: POP 00003dfc: PUSH2 0x03e8 00003dff: SWAP3 00003e00: POP 00003e01: JUMPDEST 00003e02: POP 00003e03: POP 00003e04: SWAP2 00003e05: POP 00003e06: SWAP2 00003e07: JUMP 00003e08: JUMPDEST 00003e09: PUSH1 0x0a 00003e0b: SLOAD 00003e0c: DUP2 00003e0d: JUMP 00003e0e: JUMPDEST 00003e0f: PUSH1 0x01 00003e11: PUSH1 0xa0 00003e13: PUSH1 0x02 00003e15: EXP 00003e16: SUB 00003e17: DUP3 00003e18: AND 00003e19: PUSH1 0x00 00003e1b: SWAP1 00003e1c: DUP2 00003e1d: MSTORE 00003e1e: PUSH1 0x14 00003e20: PUSH1 0x20 00003e22: SWAP1 00003e23: DUP2 00003e24: MSTORE 00003e25: PUSH1 0x40 00003e27: DUP1 00003e28: DUP4 00003e29: KECCAK256 00003e2a: CALLER 00003e2b: DUP5 00003e2c: MSTORE 00003e2d: SWAP1 00003e2e: SWAP2 00003e2f: MSTORE 00003e30: DUP2 00003e31: KECCAK256 00003e32: SLOAD 00003e33: PUSH2 0x3e3c 00003e36: DUP4 00003e37: DUP3 00003e38: PUSH2 0x2a3b 00003e3b: JUMP 00003e3c: JUMPDEST 00003e3d: SWAP3 00003e3e: POP 00003e3f: PUSH1 0x00 00003e41: DUP4 00003e42: GT 00003e43: PUSH2 0x3e80 00003e46: JUMPI 00003e47: PUSH1 0x40 00003e49: MLOAD 00003e4a: PUSH1 0xe5 00003e4c: PUSH1 0x02 00003e4e: EXP 00003e4f: PUSH3 0x461bcd 00003e53: MUL 00003e54: DUP2 00003e55: MSTORE 00003e56: PUSH1 0x04 00003e58: ADD 00003e59: DUP1 00003e5a: DUP1 00003e5b: PUSH1 0x20 00003e5d: ADD 00003e5e: DUP3 00003e5f: DUP2 00003e60: SUB 00003e61: DUP3 00003e62: MSTORE 00003e63: PUSH1 0x21 00003e65: DUP2 00003e66: MSTORE 00003e67: PUSH1 0x20 00003e69: ADD 00003e6a: DUP1 00003e6b: PUSH2 0x53a7 00003e6e: PUSH1 0x21 00003e70: SWAP2 00003e71: CODECOPY 00003e72: PUSH1 0x40 00003e74: ADD 00003e75: SWAP2 00003e76: POP 00003e77: POP 00003e78: PUSH1 0x40 00003e7a: MLOAD 00003e7b: DUP1 00003e7c: SWAP2 00003e7d: SUB 00003e7e: SWAP1 00003e7f: REVERT 00003e80: JUMPDEST 00003e81: PUSH1 0x00 00003e83: PUSH2 0x3e8c 00003e86: DUP3 00003e87: DUP6 00003e88: PUSH2 0x332f 00003e8b: JUMP 00003e8c: JUMPDEST 00003e8d: PUSH1 0x01 00003e8f: PUSH1 0xa0 00003e91: PUSH1 0x02 00003e93: EXP 00003e94: SUB 00003e95: DUP7 00003e96: AND 00003e97: PUSH1 0x00 00003e99: SWAP1 00003e9a: DUP2 00003e9b: MSTORE 00003e9c: PUSH1 0x14 00003e9e: PUSH1 0x20 00003ea0: SWAP1 00003ea1: DUP2 00003ea2: MSTORE 00003ea3: PUSH1 0x40 00003ea5: DUP1 00003ea6: DUP4 00003ea7: KECCAK256 00003ea8: CALLER 00003ea9: DUP1 00003eaa: DUP6 00003eab: MSTORE 00003eac: SWAP3 00003ead: MSTORE 00003eae: DUP3 00003eaf: KECCAK256 00003eb0: DUP4 00003eb1: SWAP1 00003eb2: SSTORE 00003eb3: SWAP2 00003eb4: SWAP3 00003eb5: POP 00003eb6: PUSH2 0x3ec2 00003eb9: SWAP2 00003eba: DUP8 00003ebb: SWAP2 00003ebc: DUP8 00003ebd: SWAP1 00003ebe: PUSH2 0x4355 00003ec1: JUMP 00003ec2: JUMPDEST 00003ec3: ISZERO 00003ec4: ISZERO 00003ec5: PUSH2 0x3f02 00003ec8: JUMPI 00003ec9: PUSH1 0x40 00003ecb: MLOAD 00003ecc: PUSH1 0xe5 00003ece: PUSH1 0x02 00003ed0: EXP 00003ed1: PUSH3 0x461bcd 00003ed5: MUL 00003ed6: DUP2 00003ed7: MSTORE 00003ed8: PUSH1 0x04 00003eda: ADD 00003edb: DUP1 00003edc: DUP1 00003edd: PUSH1 0x20 00003edf: ADD 00003ee0: DUP3 00003ee1: DUP2 00003ee2: SUB 00003ee3: DUP3 00003ee4: MSTORE 00003ee5: PUSH1 0x22 00003ee7: DUP2 00003ee8: MSTORE 00003ee9: PUSH1 0x20 00003eeb: ADD 00003eec: DUP1 00003eed: PUSH2 0x55bc 00003ef0: PUSH1 0x22 00003ef2: SWAP2 00003ef3: CODECOPY 00003ef4: PUSH1 0x40 00003ef6: ADD 00003ef7: SWAP2 00003ef8: POP 00003ef9: POP 00003efa: PUSH1 0x40 00003efc: MLOAD 00003efd: DUP1 00003efe: SWAP2 00003eff: SUB 00003f00: SWAP1 00003f01: REVERT 00003f02: JUMPDEST 00003f03: PUSH1 0x40 00003f05: DUP1 00003f06: MLOAD 00003f07: DUP6 00003f08: DUP2 00003f09: MSTORE 00003f0a: SWAP1 00003f0b: MLOAD 00003f0c: PUSH1 0x01 00003f0e: PUSH1 0xa0 00003f10: PUSH1 0x02 00003f12: EXP 00003f13: SUB 00003f14: DUP8 00003f15: AND 00003f16: SWAP2 00003f17: PUSH32 0x6e2e05fb6a732995d6952d9158ca6b75f11cc6bf5a4af943aa1eb475a249440b 00003f38: SWAP2 00003f39: SWAP1 00003f3a: DUP2 00003f3b: SWAP1 00003f3c: SUB 00003f3d: PUSH1 0x20 00003f3f: ADD 00003f40: SWAP1 00003f41: LOG2 00003f42: SWAP5 00003f43: SWAP4 00003f44: POP 00003f45: POP 00003f46: POP 00003f47: POP 00003f48: JUMP 00003f49: JUMPDEST 00003f4a: PUSH1 0x08 00003f4c: SLOAD 00003f4d: PUSH1 0x00 00003f4f: SWAP1 00003f50: DUP2 00003f51: SWAP1 00003f52: DUP2 00003f53: SWAP1 00003f54: PUSH2 0x3f67 00003f57: SWAP1 00003f58: DUP6 00003f59: SWAP1 00003f5a: PUSH1 0x01 00003f5c: PUSH1 0xa0 00003f5e: PUSH1 0x02 00003f60: EXP 00003f61: SUB 00003f62: AND 00003f63: PUSH2 0x1752 00003f66: JUMP 00003f67: JUMPDEST 00003f68: PUSH1 0x08 00003f6a: SLOAD 00003f6b: SWAP1 00003f6c: SWAP2 00003f6d: POP 00003f6e: PUSH2 0x3f86 00003f71: SWAP1 00003f72: DUP6 00003f73: SWAP1 00003f74: PUSH1 0x01 00003f76: PUSH1 0xa0 00003f78: PUSH1 0x02 00003f7a: EXP 00003f7b: SUB 00003f7c: AND 00003f7d: PUSH1 0x00 00003f7f: NOT 00003f80: DUP5 00003f81: ADD 00003f82: PUSH2 0x1a9c 00003f85: JUMP 00003f86: JUMPDEST 00003f87: SWAP1 00003f88: SWAP6 00003f89: SWAP1 00003f8a: SWAP5 00003f8b: POP 00003f8c: SWAP3 00003f8d: POP 00003f8e: POP 00003f8f: POP 00003f90: JUMP 00003f91: JUMPDEST 00003f92: PUSH1 0x06 00003f94: SLOAD 00003f95: PUSH1 0x01 00003f97: PUSH1 0xa0 00003f99: PUSH1 0x02 00003f9b: EXP 00003f9c: SUB 00003f9d: AND 00003f9e: ISZERO 00003f9f: ISZERO 00003fa0: PUSH2 0x3fdd 00003fa3: JUMPI 00003fa4: PUSH1 0x40 00003fa6: MLOAD 00003fa7: PUSH1 0xe5 00003fa9: PUSH1 0x02 00003fab: EXP 00003fac: PUSH3 0x461bcd 00003fb0: MUL 00003fb1: DUP2 00003fb2: MSTORE 00003fb3: PUSH1 0x04 00003fb5: ADD 00003fb6: DUP1 00003fb7: DUP1 00003fb8: PUSH1 0x20 00003fba: ADD 00003fbb: DUP3 00003fbc: DUP2 00003fbd: SUB 00003fbe: DUP3 00003fbf: MSTORE 00003fc0: PUSH1 0x27 00003fc2: DUP2 00003fc3: MSTORE 00003fc4: PUSH1 0x20 00003fc6: ADD 00003fc7: DUP1 00003fc8: PUSH2 0x5421 00003fcb: PUSH1 0x27 00003fcd: SWAP2 00003fce: CODECOPY 00003fcf: PUSH1 0x40 00003fd1: ADD 00003fd2: SWAP2 00003fd3: POP 00003fd4: POP 00003fd5: PUSH1 0x40 00003fd7: MLOAD 00003fd8: DUP1 00003fd9: SWAP2 00003fda: SUB 00003fdb: SWAP1 00003fdc: REVERT 00003fdd: JUMPDEST 00003fde: PUSH1 0x07 00003fe0: SLOAD 00003fe1: TIMESTAMP 00003fe2: GT 00003fe3: PUSH2 0x4020 00003fe6: JUMPI 00003fe7: PUSH1 0x40 00003fe9: MLOAD 00003fea: PUSH1 0xe5 00003fec: PUSH1 0x02 00003fee: EXP 00003fef: PUSH3 0x461bcd 00003ff3: MUL 00003ff4: DUP2 00003ff5: MSTORE 00003ff6: PUSH1 0x04 00003ff8: ADD 00003ff9: DUP1 00003ffa: DUP1 00003ffb: PUSH1 0x20 00003ffd: ADD 00003ffe: DUP3 00003fff: DUP2 00004000: SUB 00004001: DUP3 00004002: MSTORE 00004003: PUSH1 0x40 00004005: DUP2 00004006: MSTORE 00004007: PUSH1 0x20 00004009: ADD 0000400a: DUP1 0000400b: PUSH2 0x5558 0000400e: PUSH1 0x40 00004010: SWAP2 00004011: CODECOPY 00004012: PUSH1 0x40 00004014: ADD 00004015: SWAP2 00004016: POP 00004017: POP 00004018: PUSH1 0x40 0000401a: MLOAD 0000401b: DUP1 0000401c: SWAP2 0000401d: SUB 0000401e: SWAP1 0000401f: REVERT 00004020: JUMPDEST 00004021: PUSH1 0x06 00004023: DUP1 00004024: SLOAD 00004025: PUSH1 0x05 00004027: DUP1 00004028: SLOAD 00004029: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000403e: NOT 0000403f: SWAP1 00004040: DUP2 00004041: AND 00004042: PUSH1 0x01 00004044: PUSH1 0xa0 00004046: PUSH1 0x02 00004048: EXP 00004049: SUB 0000404a: DUP5 0000404b: AND 0000404c: OR 0000404d: SWAP1 0000404e: SWAP2 0000404f: SSTORE 00004050: AND 00004051: SWAP1 00004052: SSTORE 00004053: JUMP 00004054: JUMPDEST 00004055: PUSH1 0x01 00004057: SLOAD 00004058: PUSH1 0x01 0000405a: PUSH1 0xa0 0000405c: PUSH1 0x02 0000405e: EXP 0000405f: SUB 00004060: AND 00004061: CALLER 00004062: EQ 00004063: PUSH2 0x40a0 00004066: JUMPI 00004067: PUSH1 0x40 00004069: MLOAD 0000406a: PUSH1 0xe5 0000406c: PUSH1 0x02 0000406e: EXP 0000406f: PUSH3 0x461bcd 00004073: MUL 00004074: DUP2 00004075: MSTORE 00004076: PUSH1 0x04 00004078: ADD 00004079: DUP1 0000407a: DUP1 0000407b: PUSH1 0x20 0000407d: ADD 0000407e: DUP3 0000407f: DUP2 00004080: SUB 00004081: DUP3 00004082: MSTORE 00004083: PUSH1 0x2a 00004085: DUP2 00004086: MSTORE 00004087: PUSH1 0x20 00004089: ADD 0000408a: DUP1 0000408b: PUSH2 0x54a7 0000408e: PUSH1 0x2a 00004090: SWAP2 00004091: CODECOPY 00004092: PUSH1 0x40 00004094: ADD 00004095: SWAP2 00004096: POP 00004097: POP 00004098: PUSH1 0x40 0000409a: MLOAD 0000409b: DUP1 0000409c: SWAP2 0000409d: SUB 0000409e: SWAP1 0000409f: REVERT 000040a0: JUMPDEST 000040a1: PUSH1 0x01 000040a3: PUSH1 0xa0 000040a5: PUSH1 0x02 000040a7: EXP 000040a8: SUB 000040a9: DUP2 000040aa: AND 000040ab: ISZERO 000040ac: ISZERO 000040ad: PUSH2 0x40ea 000040b0: JUMPI 000040b1: PUSH1 0x40 000040b3: MLOAD 000040b4: PUSH1 0xe5 000040b6: PUSH1 0x02 000040b8: EXP 000040b9: PUSH3 0x461bcd 000040bd: MUL 000040be: DUP2 000040bf: MSTORE 000040c0: PUSH1 0x04 000040c2: ADD 000040c3: DUP1 000040c4: DUP1 000040c5: PUSH1 0x20 000040c7: ADD 000040c8: DUP3 000040c9: DUP2 000040ca: SUB 000040cb: DUP3 000040cc: MSTORE 000040cd: PUSH1 0x2b 000040cf: DUP2 000040d0: MSTORE 000040d1: PUSH1 0x20 000040d3: ADD 000040d4: DUP1 000040d5: PUSH2 0x54fd 000040d8: PUSH1 0x2b 000040da: SWAP2 000040db: CODECOPY 000040dc: PUSH1 0x40 000040de: ADD 000040df: SWAP2 000040e0: POP 000040e1: POP 000040e2: PUSH1 0x40 000040e4: MLOAD 000040e5: DUP1 000040e6: SWAP2 000040e7: SUB 000040e8: SWAP1 000040e9: REVERT 000040ea: JUMPDEST 000040eb: PUSH1 0x02 000040ed: DUP1 000040ee: SLOAD 000040ef: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00004104: NOT 00004105: AND 00004106: PUSH1 0x01 00004108: PUSH1 0xa0 0000410a: PUSH1 0x02 0000410c: EXP 0000410d: SUB 0000410e: DUP4 0000410f: AND 00004110: OR 00004111: SWAP1 00004112: SSTORE 00004113: PUSH2 0x411f 00004116: TIMESTAMP 00004117: PUSH3 0x278d00 0000411b: PUSH2 0x27a7 0000411e: JUMP 0000411f: JUMPDEST 00004120: PUSH1 0x03 00004122: SSTORE 00004123: PUSH1 0x40 00004125: DUP1 00004126: MLOAD 00004127: PUSH1 0x01 00004129: PUSH1 0xa0 0000412b: PUSH1 0x02 0000412d: EXP 0000412e: SUB 0000412f: DUP4 00004130: AND 00004131: DUP2 00004132: MSTORE 00004133: SWAP1 00004134: MLOAD 00004135: PUSH32 0x36dceb79f427eda3edba9ac3c1d4db7a6e4d0b8637d97320847d93fa8e2f7a04 00004156: SWAP2 00004157: DUP2 00004158: SWAP1 00004159: SUB 0000415a: PUSH1 0x20 0000415c: ADD 0000415d: SWAP1 0000415e: LOG1 0000415f: POP 00004160: JUMP 00004161: JUMPDEST 00004162: PUSH1 0x15 00004164: PUSH1 0x20 00004166: SWAP1 00004167: DUP2 00004168: MSTORE 00004169: PUSH1 0x00 0000416b: SWAP4 0000416c: DUP5 0000416d: MSTORE 0000416e: PUSH1 0x40 00004170: DUP1 00004171: DUP6 00004172: KECCAK256 00004173: DUP3 00004174: MSTORE 00004175: SWAP3 00004176: DUP5 00004177: MSTORE 00004178: DUP3 00004179: DUP5 0000417a: KECCAK256 0000417b: SWAP1 0000417c: MSTORE 0000417d: DUP3 0000417e: MSTORE 0000417f: SWAP1 00004180: KECCAK256 00004181: SLOAD 00004182: DUP2 00004183: JUMP 00004184: JUMPDEST 00004185: PUSH1 0x0d 00004187: PUSH1 0x20 00004189: SWAP1 0000418a: DUP2 0000418b: MSTORE 0000418c: PUSH1 0x00 0000418e: SWAP3 0000418f: DUP4 00004190: MSTORE 00004191: PUSH1 0x40 00004193: DUP1 00004194: DUP5 00004195: KECCAK256 00004196: SWAP1 00004197: SWAP2 00004198: MSTORE 00004199: SWAP1 0000419a: DUP3 0000419b: MSTORE 0000419c: SWAP1 0000419d: KECCAK256 0000419e: SLOAD 0000419f: DUP2 000041a0: JUMP 000041a1: JUMPDEST 000041a2: PUSH1 0x00 000041a4: DUP1 000041a5: PUSH2 0x41ac 000041a8: PUSH2 0x5327 000041ab: JUMP 000041ac: JUMPDEST 000041ad: POP 000041ae: PUSH1 0x01 000041b0: PUSH1 0xa0 000041b2: PUSH1 0x02 000041b4: EXP 000041b5: SUB 000041b6: DUP1 000041b7: DUP7 000041b8: AND 000041b9: PUSH1 0x00 000041bb: SWAP1 000041bc: DUP2 000041bd: MSTORE 000041be: PUSH1 0x10 000041c0: PUSH1 0x20 000041c2: SWAP1 000041c3: DUP2 000041c4: MSTORE 000041c5: PUSH1 0x40 000041c7: DUP1 000041c8: DUP4 000041c9: KECCAK256 000041ca: SWAP4 000041cb: DUP9 000041cc: AND 000041cd: DUP4 000041ce: MSTORE 000041cf: SWAP3 000041d0: DUP2 000041d1: MSTORE 000041d2: DUP3 000041d3: DUP3 000041d4: KECCAK256 000041d5: DUP7 000041d6: DUP4 000041d7: MSTORE 000041d8: DUP2 000041d9: MSTORE 000041da: SWAP1 000041db: DUP3 000041dc: SWAP1 000041dd: KECCAK256 000041de: DUP3 000041df: MLOAD 000041e0: DUP1 000041e1: DUP5 000041e2: ADD 000041e3: SWAP1 000041e4: SWAP4 000041e5: MSTORE 000041e6: DUP1 000041e7: SLOAD 000041e8: DUP4 000041e9: MSTORE 000041ea: PUSH1 0x01 000041ec: ADD 000041ed: SLOAD 000041ee: SWAP1 000041ef: DUP3 000041f0: ADD 000041f1: DUP2 000041f2: SWAP1 000041f3: MSTORE 000041f4: ISZERO 000041f5: PUSH2 0x4209 000041f8: JUMPI 000041f9: DUP1 000041fa: MLOAD 000041fb: PUSH1 0x20 000041fd: DUP3 000041fe: ADD 000041ff: MLOAD 00004200: SWAP1 00004201: SWAP4 00004202: POP 00004203: SWAP2 00004204: POP 00004205: PUSH2 0x4325 00004208: JUMP 00004209: JUMPDEST 0000420a: PUSH2 0x4213 0000420d: DUP7 0000420e: DUP7 0000420f: PUSH2 0x1752 00004212: JUMP 00004213: JUMPDEST 00004214: DUP5 00004215: GT 00004216: ISZERO 00004217: PUSH2 0x4226 0000421a: JUMPI 0000421b: PUSH1 0x00 0000421d: SWAP3 0000421e: POP 0000421f: DUP3 00004220: SWAP2 00004221: POP 00004222: PUSH2 0x4325 00004225: JUMP 00004226: JUMPDEST 00004227: PUSH1 0x00 00004229: DUP1 0000422a: PUSH2 0x4237 0000422d: DUP9 0000422e: DUP9 0000422f: PUSH1 0x01 00004231: DUP10 00004232: SUB 00004233: PUSH2 0x1a9c 00004236: JUMP 00004237: JUMPDEST 00004238: SWAP1 00004239: SWAP3 0000423a: POP 0000423b: SWAP1 0000423c: POP 0000423d: PUSH1 0x00 0000423f: PUSH2 0x4252 00004242: PUSH2 0x424b 00004245: DUP11 00004246: DUP11 00004247: PUSH2 0x35f4 0000424a: JUMP 0000424b: JUMPDEST 0000424c: TIMESTAMP 0000424d: SUB 0000424e: PUSH2 0x1851 00004251: JUMP 00004252: JUMPDEST 00004253: SWAP1 00004254: POP 00004255: PUSH2 0x4264 00004258: DUP4 00004259: DUP3 0000425a: PUSH3 0x015180 0000425e: SUB 0000425f: MUL 00004260: PUSH2 0x1851 00004263: JUMP 00004264: JUMPDEST 00004265: SWAP6 00004266: POP 00004267: PUSH2 0x4274 0000426a: DUP2 0000426b: PUSH2 0xa8c0 0000426e: ADD 0000426f: DUP4 00004270: PUSH2 0x3403 00004273: JUMP 00004274: JUMPDEST 00004275: PUSH1 0x01 00004277: PUSH1 0xa0 00004279: PUSH1 0x02 0000427b: EXP 0000427c: SUB 0000427d: DUP1 0000427e: DUP12 0000427f: AND 00004280: PUSH1 0x00 00004282: SWAP1 00004283: DUP2 00004284: MSTORE 00004285: PUSH1 0x13 00004287: PUSH1 0x20 00004289: SWAP1 0000428a: DUP2 0000428b: MSTORE 0000428c: PUSH1 0x40 0000428e: DUP1 0000428f: DUP4 00004290: KECCAK256 00004291: SWAP4 00004292: DUP14 00004293: AND 00004294: DUP4 00004295: MSTORE 00004296: SWAP3 00004297: SWAP1 00004298: MSTORE 00004299: KECCAK256 0000429a: SLOAD 0000429b: SWAP1 0000429c: SWAP6 0000429d: POP 0000429e: PUSH2 0x42a8 000042a1: SWAP1 000042a2: DUP7 000042a3: SWAP1 000042a4: PUSH2 0x3403 000042a7: JUMP 000042a8: JUMPDEST 000042a9: PUSH1 0x01 000042ab: PUSH1 0xa0 000042ad: PUSH1 0x02 000042af: EXP 000042b0: SUB 000042b1: DUP1 000042b2: DUP12 000042b3: AND 000042b4: PUSH1 0x00 000042b6: SWAP1 000042b7: DUP2 000042b8: MSTORE 000042b9: PUSH1 0x11 000042bb: PUSH1 0x20 000042bd: SWAP1 000042be: DUP2 000042bf: MSTORE 000042c0: PUSH1 0x40 000042c2: DUP1 000042c3: DUP4 000042c4: KECCAK256 000042c5: SWAP4 000042c6: DUP14 000042c7: AND 000042c8: DUP4 000042c9: MSTORE 000042ca: SWAP3 000042cb: SWAP1 000042cc: MSTORE 000042cd: KECCAK256 000042ce: SLOAD 000042cf: PUSH2 0x42d9 000042d2: SWAP1 000042d3: DUP9 000042d4: SWAP1 000042d5: PUSH2 0x3403 000042d8: JUMP 000042d9: JUMPDEST 000042da: GT 000042db: PUSH2 0x1c1a 000042de: JUMPI 000042df: PUSH1 0x01 000042e1: PUSH1 0xa0 000042e3: PUSH1 0x02 000042e5: EXP 000042e6: SUB 000042e7: DUP1 000042e8: DUP11 000042e9: AND 000042ea: PUSH1 0x00 000042ec: DUP2 000042ed: DUP2 000042ee: MSTORE 000042ef: PUSH1 0x13 000042f1: PUSH1 0x20 000042f3: SWAP1 000042f4: DUP2 000042f5: MSTORE 000042f6: PUSH1 0x40 000042f8: DUP1 000042f9: DUP4 000042fa: KECCAK256 000042fb: SWAP5 000042fc: DUP14 000042fd: AND 000042fe: DUP1 000042ff: DUP5 00004300: MSTORE 00004301: SWAP5 00004302: DUP3 00004303: MSTORE 00004304: DUP1 00004305: DUP4 00004306: KECCAK256 00004307: SLOAD 00004308: SWAP4 00004309: DUP4 0000430a: MSTORE 0000430b: PUSH1 0x11 0000430d: DUP3 0000430e: MSTORE 0000430f: DUP1 00004310: DUP4 00004311: KECCAK256 00004312: SWAP5 00004313: DUP4 00004314: MSTORE 00004315: SWAP4 00004316: SWAP1 00004317: MSTORE 00004318: SWAP2 00004319: SWAP1 0000431a: SWAP2 0000431b: KECCAK256 0000431c: SLOAD 0000431d: SWAP1 0000431e: SWAP7 0000431f: POP 00004320: SWAP5 00004321: POP 00004322: POP 00004323: POP 00004324: POP 00004325: JUMPDEST 00004326: POP 00004327: SWAP4 00004328: POP 00004329: SWAP4 0000432a: SWAP2 0000432b: POP 0000432c: POP 0000432d: JUMP 0000432e: JUMPDEST 0000432f: DUP3 00004330: MLOAD 00004331: DUP3 00004332: MLOAD 00004333: DUP1 00004334: DUP3 00004335: EQ 00004336: PUSH2 0x433e 00004339: JUMPI 0000433a: PUSH1 0x00 0000433c: DUP1 0000433d: REVERT 0000433e: JUMPDEST 0000433f: DUP3 00004340: MLOAD 00004341: DUP2 00004342: DUP2 00004343: EQ 00004344: PUSH2 0x434c 00004347: JUMPI 00004348: PUSH1 0x00 0000434a: DUP1 0000434b: REVERT 0000434c: JUMPDEST 0000434d: POP 0000434e: POP 0000434f: SWAP4 00004350: SWAP3 00004351: POP 00004352: POP 00004353: POP 00004354: JUMP 00004355: JUMPDEST 00004356: PUSH1 0x00 00004358: DUP2 00004359: ISZERO 0000435a: PUSH2 0x43e7 0000435d: JUMPI 0000435e: PUSH1 0x40 00004360: DUP1 00004361: MLOAD 00004362: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000 00004383: DUP2 00004384: MSTORE 00004385: CALLER 00004386: PUSH1 0x04 00004388: DUP3 00004389: ADD 0000438a: MSTORE 0000438b: ADDRESS 0000438c: PUSH1 0x24 0000438e: DUP3 0000438f: ADD 00004390: MSTORE 00004391: PUSH1 0x44 00004393: DUP2 00004394: ADD 00004395: DUP6 00004396: SWAP1 00004397: MSTORE 00004398: SWAP1 00004399: MLOAD 0000439a: PUSH1 0x01 0000439c: PUSH1 0xa0 0000439e: PUSH1 0x02 000043a0: EXP 000043a1: SUB 000043a2: DUP8 000043a3: AND 000043a4: SWAP2 000043a5: PUSH4 0x23b872dd 000043aa: SWAP2 000043ab: PUSH1 0x64 000043ad: DUP1 000043ae: DUP4 000043af: ADD 000043b0: SWAP3 000043b1: PUSH1 0x00 000043b3: SWAP3 000043b4: SWAP2 000043b5: SWAP1 000043b6: DUP3 000043b7: SWAP1 000043b8: SUB 000043b9: ADD 000043ba: DUP2 000043bb: DUP4 000043bc: DUP8 000043bd: DUP1 000043be: EXTCODESIZE 000043bf: ISZERO 000043c0: DUP1 000043c1: ISZERO 000043c2: PUSH2 0x43ca 000043c5: JUMPI 000043c6: PUSH1 0x00 000043c8: DUP1 000043c9: REVERT 000043ca: JUMPDEST 000043cb: POP 000043cc: GAS 000043cd: CALL 000043ce: ISZERO 000043cf: DUP1 000043d0: ISZERO 000043d1: PUSH2 0x43de 000043d4: JUMPI 000043d5: RETURNDATASIZE 000043d6: PUSH1 0x00 000043d8: DUP1 000043d9: RETURNDATACOPY 000043da: RETURNDATASIZE 000043db: PUSH1 0x00 000043dd: REVERT 000043de: JUMPDEST 000043df: POP 000043e0: POP 000043e1: POP 000043e2: POP 000043e3: PUSH2 0x4463 000043e6: JUMP 000043e7: JUMPDEST 000043e8: DUP5 000043e9: PUSH1 0x01 000043eb: PUSH1 0xa0 000043ed: PUSH1 0x02 000043ef: EXP 000043f0: SUB 000043f1: AND 000043f2: PUSH4 0xa9059cbb 000043f7: DUP6 000043f8: DUP6 000043f9: PUSH1 0x40 000043fb: MLOAD 000043fc: DUP4 000043fd: PUSH4 0xffffffff 00004402: AND 00004403: PUSH1 0xe0 00004405: PUSH1 0x02 00004407: EXP 00004408: MUL 00004409: DUP2 0000440a: MSTORE 0000440b: PUSH1 0x04 0000440d: ADD 0000440e: DUP1 0000440f: DUP4 00004410: PUSH1 0x01 00004412: PUSH1 0xa0 00004414: PUSH1 0x02 00004416: EXP 00004417: SUB 00004418: AND 00004419: PUSH1 0x01 0000441b: PUSH1 0xa0 0000441d: PUSH1 0x02 0000441f: EXP 00004420: SUB 00004421: AND 00004422: DUP2 00004423: MSTORE 00004424: PUSH1 0x20 00004426: ADD 00004427: DUP3 00004428: DUP2 00004429: MSTORE 0000442a: PUSH1 0x20 0000442c: ADD 0000442d: SWAP3 0000442e: POP 0000442f: POP 00004430: POP 00004431: PUSH1 0x00 00004433: PUSH1 0x40 00004435: MLOAD 00004436: DUP1 00004437: DUP4 00004438: SUB 00004439: DUP2 0000443a: PUSH1 0x00 0000443c: DUP8 0000443d: DUP1 0000443e: EXTCODESIZE 0000443f: ISZERO 00004440: DUP1 00004441: ISZERO 00004442: PUSH2 0x444a 00004445: JUMPI 00004446: PUSH1 0x00 00004448: DUP1 00004449: REVERT 0000444a: JUMPDEST 0000444b: POP 0000444c: GAS 0000444d: CALL 0000444e: ISZERO 0000444f: DUP1 00004450: ISZERO 00004451: PUSH2 0x445e 00004454: JUMPI 00004455: RETURNDATASIZE 00004456: PUSH1 0x00 00004458: DUP1 00004459: RETURNDATACOPY 0000445a: RETURNDATASIZE 0000445b: PUSH1 0x00 0000445d: REVERT 0000445e: JUMPDEST 0000445f: POP 00004460: POP 00004461: POP 00004462: POP 00004463: JUMPDEST 00004464: RETURNDATASIZE 00004465: DUP1 00004466: ISZERO 00004467: PUSH2 0x447b 0000446a: JUMPI 0000446b: PUSH1 0x20 0000446d: DUP2 0000446e: EQ 0000446f: PUSH2 0x4485 00004472: JUMPI 00004473: PUSH1 0x00 00004475: SWAP2 00004476: POP 00004477: PUSH2 0x4491 0000447a: JUMP 0000447b: JUMPDEST 0000447c: PUSH1 0x00 0000447e: NOT 0000447f: SWAP2 00004480: POP 00004481: PUSH2 0x4491 00004484: JUMP 00004485: JUMPDEST 00004486: PUSH1 0x20 00004488: PUSH1 0x00 0000448a: DUP1 0000448b: RETURNDATACOPY 0000448c: PUSH1 0x00 0000448e: MLOAD 0000448f: SWAP2 00004490: POP 00004491: JUMPDEST 00004492: POP 00004493: SWAP5 00004494: SWAP4 00004495: POP 00004496: POP 00004497: POP 00004498: POP 00004499: JUMP 0000449a: JUMPDEST 0000449b: PUSH1 0x00 0000449d: DUP1 0000449e: PUSH1 0x00 000044a0: PUSH2 0x44a8 000044a3: CALLER 000044a4: PUSH2 0x3c6e 000044a7: JUMP 000044a8: JUMPDEST 000044a9: SWAP1 000044aa: SWAP3 000044ab: POP 000044ac: SWAP1 000044ad: POP 000044ae: PUSH1 0x00 000044b0: DUP2 000044b1: PUSH2 0x44ba 000044b4: DUP7 000044b5: DUP6 000044b6: PUSH2 0x3403 000044b9: JUMP 000044ba: JUMPDEST 000044bb: DUP2 000044bc: ISZERO 000044bd: ISZERO 000044be: PUSH2 0x44c3 000044c1: JUMPI 000044c2: INVALID 000044c3: JUMPDEST 000044c4: DIV 000044c5: SWAP1 000044c6: POP 000044c7: PUSH1 0x00 000044c9: DUP2 000044ca: GT 000044cb: ISZERO 000044cc: PUSH2 0x4589 000044cf: JUMPI 000044d0: PUSH2 0x44d9 000044d3: DUP9 000044d4: DUP3 000044d5: PUSH2 0x4d61 000044d8: JUMP 000044d9: JUMPDEST 000044da: PUSH1 0x01 000044dc: PUSH1 0xa0 000044de: PUSH1 0x02 000044e0: EXP 000044e1: SUB 000044e2: DUP1 000044e3: DUP11 000044e4: AND 000044e5: PUSH1 0x00 000044e7: SWAP1 000044e8: DUP2 000044e9: MSTORE 000044ea: PUSH1 0x15 000044ec: PUSH1 0x20 000044ee: SWAP1 000044ef: DUP2 000044f0: MSTORE 000044f1: PUSH1 0x40 000044f3: DUP1 000044f4: DUP4 000044f5: KECCAK256 000044f6: SWAP4 000044f7: DUP13 000044f8: AND 000044f9: DUP4 000044fa: MSTORE 000044fb: SWAP3 000044fc: DUP2 000044fd: MSTORE 000044fe: DUP3 000044ff: DUP3 00004500: KECCAK256 00004501: PUSH1 0x01 00004503: DUP12 00004504: ADD 00004505: DUP4 00004506: MSTORE 00004507: SWAP1 00004508: MSTORE 00004509: KECCAK256 0000450a: SLOAD 0000450b: SWAP1 0000450c: SWAP2 0000450d: POP 0000450e: PUSH2 0x4517 00004511: DUP2 00004512: DUP4 00004513: PUSH2 0x27a7 00004516: JUMP 00004517: JUMPDEST 00004518: PUSH1 0x01 0000451a: PUSH1 0xa0 0000451c: PUSH1 0x02 0000451e: EXP 0000451f: SUB 00004520: DUP1 00004521: DUP12 00004522: AND 00004523: PUSH1 0x00 00004525: DUP2 00004526: DUP2 00004527: MSTORE 00004528: PUSH1 0x15 0000452a: PUSH1 0x20 0000452c: SWAP1 0000452d: DUP2 0000452e: MSTORE 0000452f: PUSH1 0x40 00004531: DUP1 00004532: DUP4 00004533: KECCAK256 00004534: SWAP5 00004535: DUP15 00004536: AND 00004537: DUP1 00004538: DUP5 00004539: MSTORE 0000453a: SWAP5 0000453b: DUP3 0000453c: MSTORE 0000453d: DUP1 0000453e: DUP4 0000453f: KECCAK256 00004540: PUSH1 0x01 00004542: DUP15 00004543: ADD 00004544: DUP5 00004545: MSTORE 00004546: DUP3 00004547: MSTORE 00004548: SWAP2 00004549: DUP3 0000454a: SWAP1 0000454b: KECCAK256 0000454c: SWAP5 0000454d: SWAP1 0000454e: SWAP5 0000454f: SSTORE 00004550: DUP1 00004551: MLOAD 00004552: DUP12 00004553: DUP2 00004554: MSTORE 00004555: SWAP4 00004556: DUP5 00004557: ADD 00004558: DUP7 00004559: SWAP1 0000455a: MSTORE 0000455b: DUP1 0000455c: MLOAD 0000455d: CALLER 0000455e: SWAP5 0000455f: PUSH32 0x30c4d3fe752442ffa2415fd4e6398cb9e378bab963f042ce30ef4363b6ad93b6 00004580: SWAP3 00004581: SWAP1 00004582: DUP3 00004583: SWAP1 00004584: SUB 00004585: ADD 00004586: SWAP1 00004587: LOG4 00004588: POP 00004589: JUMPDEST 0000458a: PUSH2 0x4593 0000458d: DUP6 0000458e: DUP3 0000458f: PUSH2 0x332f 00004592: JUMP 00004593: JUMPDEST 00004594: SWAP9 00004595: SWAP8 00004596: POP 00004597: POP 00004598: POP 00004599: POP 0000459a: POP 0000459b: POP 0000459c: POP 0000459d: POP 0000459e: JUMP 0000459f: JUMPDEST 000045a0: PUSH1 0x00 000045a2: DUP1 000045a3: PUSH2 0x45ac 000045a6: DUP5 000045a7: DUP5 000045a8: PUSH2 0x5027 000045ab: JUMP 000045ac: JUMPDEST 000045ad: PUSH1 0x0a 000045af: SLOAD 000045b0: SWAP2 000045b1: SWAP4 000045b2: POP 000045b3: SWAP2 000045b4: POP 000045b5: DUP1 000045b6: DUP4 000045b7: LT 000045b8: DUP1 000045b9: ISZERO 000045ba: SWAP2 000045bb: DUP4 000045bc: LT 000045bd: ISZERO 000045be: SWAP1 000045bf: PUSH1 0x00 000045c1: SWAP1 000045c2: DUP4 000045c3: SWAP1 000045c4: PUSH2 0x45ca 000045c7: JUMPI 000045c8: POP 000045c9: DUP2 000045ca: JUMPDEST 000045cb: ISZERO 000045cc: PUSH2 0x45d7 000045cf: JUMPI 000045d0: POP 000045d1: PUSH1 0x01 000045d3: PUSH2 0x4611 000045d6: JUMP 000045d7: JUMPDEST 000045d8: DUP3 000045d9: DUP1 000045da: PUSH2 0x45e0 000045dd: JUMPI 000045de: POP 000045df: DUP2 000045e0: JUMPDEST 000045e1: ISZERO 000045e2: PUSH2 0x4611 000045e5: JUMPI 000045e6: PUSH1 0x00 000045e8: PUSH2 0x45f1 000045eb: DUP9 000045ec: DUP9 000045ed: PUSH2 0x1752 000045f0: JUMP 000045f1: JUMPDEST 000045f2: SWAP1 000045f3: POP 000045f4: PUSH1 0x00 000045f6: PUSH2 0x4603 000045f9: DUP10 000045fa: DUP10 000045fb: PUSH1 0x01 000045fd: DUP6 000045fe: SUB 000045ff: PUSH2 0x2762 00004602: JUMP 00004603: JUMPDEST 00004604: PUSH3 0x01517f 00004608: NOT 00004609: TIMESTAMP 0000460a: ADD 0000460b: LT 0000460c: ISZERO 0000460d: SWAP3 0000460e: POP 0000460f: POP 00004610: POP 00004611: JUMPDEST 00004612: DUP1 00004613: ISZERO 00004614: PUSH2 0x4629 00004617: JUMPI 00004618: PUSH2 0x4624 0000461b: DUP8 0000461c: DUP8 0000461d: PUSH2 0x0258 00004620: PUSH2 0x5165 00004623: JUMP 00004624: JUMPDEST 00004625: PUSH2 0x2b2e 00004628: JUMP 00004629: JUMPDEST 0000462a: PUSH2 0x2b2e 0000462d: DUP8 0000462e: DUP8 0000462f: PUSH2 0x51f9 00004632: JUMP 00004633: JUMPDEST 00004634: PUSH1 0x01 00004636: PUSH1 0xa0 00004638: PUSH1 0x02 0000463a: EXP 0000463b: SUB 0000463c: DUP1 0000463d: DUP6 0000463e: AND 0000463f: PUSH1 0x00 00004641: DUP2 00004642: DUP2 00004643: MSTORE 00004644: PUSH1 0x13 00004646: PUSH1 0x20 00004648: SWAP1 00004649: DUP2 0000464a: MSTORE 0000464b: PUSH1 0x40 0000464d: DUP1 0000464e: DUP4 0000464f: KECCAK256 00004650: SWAP5 00004651: DUP9 00004652: AND 00004653: DUP1 00004654: DUP5 00004655: MSTORE 00004656: SWAP5 00004657: DUP3 00004658: MSTORE 00004659: DUP1 0000465a: DUP4 0000465b: KECCAK256 0000465c: SLOAD 0000465d: PUSH1 0x11 0000465f: DUP4 00004660: MSTORE 00004661: DUP2 00004662: DUP5 00004663: KECCAK256 00004664: DUP6 00004665: DUP6 00004666: MSTORE 00004667: DUP4 00004668: MSTORE 00004669: DUP2 0000466a: DUP5 0000466b: KECCAK256 0000466c: SLOAD 0000466d: SWAP6 0000466e: DUP5 0000466f: MSTORE 00004670: PUSH1 0x10 00004672: DUP4 00004673: MSTORE 00004674: DUP2 00004675: DUP5 00004676: KECCAK256 00004677: SWAP5 00004678: DUP5 00004679: MSTORE 0000467a: SWAP4 0000467b: DUP3 0000467c: MSTORE 0000467d: DUP1 0000467e: DUP4 0000467f: KECCAK256 00004680: DUP8 00004681: DUP5 00004682: MSTORE 00004683: SWAP1 00004684: SWAP2 00004685: MSTORE 00004686: DUP2 00004687: KECCAK256 00004688: PUSH1 0x01 0000468a: ADD 0000468b: SLOAD 0000468c: SWAP2 0000468d: SWAP3 0000468e: SWAP2 0000468f: SWAP1 00004690: PUSH2 0x4699 00004693: DUP9 00004694: DUP9 00004695: PUSH2 0x35f4 00004698: JUMP 00004699: JUMPDEST 0000469a: SWAP1 0000469b: POP 0000469c: PUSH1 0x00 0000469e: DUP6 0000469f: GT 000046a0: ISZERO 000046a1: PUSH2 0x46f0 000046a4: JUMPI 000046a5: PUSH1 0x40 000046a7: DUP1 000046a8: MLOAD 000046a9: DUP1 000046aa: DUP3 000046ab: ADD 000046ac: DUP3 000046ad: MSTORE 000046ae: DUP6 000046af: DUP2 000046b0: MSTORE 000046b1: PUSH1 0x20 000046b3: DUP1 000046b4: DUP3 000046b5: ADD 000046b6: DUP9 000046b7: DUP2 000046b8: MSTORE 000046b9: PUSH1 0x01 000046bb: PUSH1 0xa0 000046bd: PUSH1 0x02 000046bf: EXP 000046c0: SUB 000046c1: DUP1 000046c2: DUP14 000046c3: AND 000046c4: PUSH1 0x00 000046c6: SWAP1 000046c7: DUP2 000046c8: MSTORE 000046c9: PUSH1 0x10 000046cb: DUP5 000046cc: MSTORE 000046cd: DUP6 000046ce: DUP2 000046cf: KECCAK256 000046d0: SWAP2 000046d1: DUP14 000046d2: AND 000046d3: DUP2 000046d4: MSTORE 000046d5: SWAP1 000046d6: DUP4 000046d7: MSTORE 000046d8: DUP5 000046d9: DUP2 000046da: KECCAK256 000046db: DUP12 000046dc: DUP3 000046dd: MSTORE 000046de: SWAP1 000046df: SWAP3 000046e0: MSTORE 000046e1: SWAP3 000046e2: SWAP1 000046e3: KECCAK256 000046e4: SWAP1 000046e5: MLOAD 000046e6: DUP2 000046e7: SSTORE 000046e8: SWAP1 000046e9: MLOAD 000046ea: PUSH1 0x01 000046ec: SWAP1 000046ed: SWAP2 000046ee: ADD 000046ef: SSTORE 000046f0: JUMPDEST 000046f1: DUP3 000046f2: ISZERO 000046f3: DUP1 000046f4: PUSH2 0x4702 000046f7: JUMPI 000046f8: POP 000046f9: DUP1 000046fa: PUSH3 0x015180 000046fe: ADD 000046ff: TIMESTAMP 00004700: LT 00004701: ISZERO 00004702: JUMPDEST 00004703: DUP1 00004704: PUSH2 0x470d 00004707: JUMPI 00004708: POP 00004709: PUSH1 0x00 0000470b: DUP3 0000470c: GT 0000470d: JUMPDEST 0000470e: ISZERO 0000470f: PUSH2 0x48fa 00004712: JUMPI 00004713: PUSH1 0x01 00004715: PUSH1 0xa0 00004717: PUSH1 0x02 00004719: EXP 0000471a: SUB 0000471b: DUP1 0000471c: DUP9 0000471d: AND 0000471e: PUSH1 0x00 00004720: SWAP1 00004721: DUP2 00004722: MSTORE 00004723: PUSH1 0x13 00004725: PUSH1 0x20 00004727: SWAP1 00004728: DUP2 00004729: MSTORE 0000472a: PUSH1 0x40 0000472c: DUP1 0000472d: DUP4 0000472e: KECCAK256 0000472f: SWAP4 00004730: DUP13 00004731: AND 00004732: DUP4 00004733: MSTORE 00004734: SWAP3 00004735: SWAP1 00004736: MSTORE 00004737: KECCAK256 00004738: SLOAD 00004739: DUP3 0000473a: ISZERO 0000473b: DUP1 0000473c: ISZERO 0000473d: PUSH2 0x4746 00004740: JUMPI 00004741: POP 00004742: PUSH1 0x00 00004744: DUP5 00004745: GT 00004746: JUMPDEST 00004747: ISZERO 00004748: PUSH2 0x4797 0000474b: JUMPI 0000474c: PUSH1 0x40 0000474e: DUP1 0000474f: MLOAD 00004750: DUP1 00004751: DUP3 00004752: ADD 00004753: DUP3 00004754: MSTORE 00004755: DUP3 00004756: DUP2 00004757: MSTORE 00004758: PUSH1 0x20 0000475a: DUP1 0000475b: DUP3 0000475c: ADD 0000475d: DUP8 0000475e: DUP2 0000475f: MSTORE 00004760: PUSH1 0x01 00004762: PUSH1 0xa0 00004764: PUSH1 0x02 00004766: EXP 00004767: SUB 00004768: DUP1 00004769: DUP14 0000476a: AND 0000476b: PUSH1 0x00 0000476d: SWAP1 0000476e: DUP2 0000476f: MSTORE 00004770: PUSH1 0x10 00004772: DUP5 00004773: MSTORE 00004774: DUP6 00004775: DUP2 00004776: KECCAK256 00004777: SWAP2 00004778: DUP16 00004779: AND 0000477a: DUP2 0000477b: MSTORE 0000477c: SWAP1 0000477d: DUP4 0000477e: MSTORE 0000477f: DUP5 00004780: DUP2 00004781: KECCAK256 00004782: DUP13 00004783: DUP3 00004784: MSTORE 00004785: SWAP1 00004786: SWAP3 00004787: MSTORE 00004788: SWAP3 00004789: SWAP1 0000478a: KECCAK256 0000478b: SWAP1 0000478c: MLOAD 0000478d: DUP2 0000478e: SSTORE 0000478f: SWAP1 00004790: MLOAD 00004791: PUSH1 0x01 00004793: SWAP1 00004794: SWAP2 00004795: ADD 00004796: SSTORE 00004797: JUMPDEST 00004798: PUSH1 0x01 0000479a: PUSH1 0xa0 0000479c: PUSH1 0x02 0000479e: EXP 0000479f: SUB 000047a0: DUP1 000047a1: DUP11 000047a2: AND 000047a3: PUSH1 0x00 000047a5: DUP2 000047a6: DUP2 000047a7: MSTORE 000047a8: PUSH1 0x12 000047aa: PUSH1 0x20 000047ac: DUP2 000047ad: DUP2 000047ae: MSTORE 000047af: PUSH1 0x40 000047b1: DUP1 000047b2: DUP5 000047b3: KECCAK256 000047b4: SWAP6 000047b5: DUP15 000047b6: AND 000047b7: DUP1 000047b8: DUP6 000047b9: MSTORE 000047ba: SWAP6 000047bb: DUP3 000047bc: MSTORE 000047bd: DUP1 000047be: DUP5 000047bf: KECCAK256 000047c0: SLOAD 000047c1: SWAP3 000047c2: DUP3 000047c3: MSTORE 000047c4: DUP1 000047c5: DUP5 000047c6: KECCAK256 000047c7: SWAP5 000047c8: DUP5 000047c9: MSTORE 000047ca: SWAP4 000047cb: DUP2 000047cc: MSTORE 000047cd: DUP4 000047ce: DUP4 000047cf: KECCAK256 000047d0: SLOAD 000047d1: PUSH1 0x11 000047d3: DUP3 000047d4: MSTORE 000047d5: DUP5 000047d6: DUP5 000047d7: KECCAK256 000047d8: SWAP6 000047d9: DUP5 000047da: MSTORE 000047db: SWAP5 000047dc: SWAP1 000047dd: MSTORE 000047de: SWAP2 000047df: DUP2 000047e0: KECCAK256 000047e1: DUP3 000047e2: SWAP1 000047e3: SSTORE 000047e4: SWAP1 000047e5: SWAP2 000047e6: SWAP1 000047e7: DUP3 000047e8: GT 000047e9: ISZERO 000047ea: PUSH2 0x4816 000047ed: JUMPI 000047ee: PUSH1 0x01 000047f0: PUSH1 0xa0 000047f2: PUSH1 0x02 000047f4: EXP 000047f5: SUB 000047f6: DUP1 000047f7: DUP13 000047f8: AND 000047f9: PUSH1 0x00 000047fb: SWAP1 000047fc: DUP2 000047fd: MSTORE 000047fe: PUSH1 0x12 00004800: PUSH1 0x20 00004802: SWAP1 00004803: DUP2 00004804: MSTORE 00004805: PUSH1 0x40 00004807: DUP1 00004808: DUP4 00004809: KECCAK256 0000480a: SWAP4 0000480b: DUP15 0000480c: AND 0000480d: DUP4 0000480e: MSTORE 0000480f: SWAP3 00004810: SWAP1 00004811: MSTORE 00004812: SWAP1 00004813: DUP2 00004814: KECCAK256 00004815: SSTORE 00004816: JUMPDEST 00004817: PUSH1 0x00 00004819: DUP8 0000481a: GT 0000481b: ISZERO 0000481c: PUSH2 0x4848 0000481f: JUMPI 00004820: PUSH1 0x01 00004822: PUSH1 0xa0 00004824: PUSH1 0x02 00004826: EXP 00004827: SUB 00004828: DUP1 00004829: DUP13 0000482a: AND 0000482b: PUSH1 0x00 0000482d: SWAP1 0000482e: DUP2 0000482f: MSTORE 00004830: PUSH1 0x13 00004832: PUSH1 0x20 00004834: SWAP1 00004835: DUP2 00004836: MSTORE 00004837: PUSH1 0x40 00004839: DUP1 0000483a: DUP4 0000483b: KECCAK256 0000483c: SWAP4 0000483d: DUP15 0000483e: AND 0000483f: DUP4 00004840: MSTORE 00004841: SWAP3 00004842: SWAP1 00004843: MSTORE 00004844: SWAP1 00004845: DUP2 00004846: KECCAK256 00004847: SSTORE 00004848: JUMPDEST 00004849: PUSH1 0x01 0000484b: PUSH1 0xa0 0000484d: PUSH1 0x02 0000484f: EXP 00004850: SUB 00004851: DUP1 00004852: DUP12 00004853: AND 00004854: PUSH1 0x00 00004856: SWAP1 00004857: DUP2 00004858: MSTORE 00004859: PUSH1 0x11 0000485b: PUSH1 0x20 0000485d: SWAP1 0000485e: DUP2 0000485f: MSTORE 00004860: PUSH1 0x40 00004862: DUP1 00004863: DUP4 00004864: KECCAK256 00004865: SWAP4 00004866: DUP16 00004867: AND 00004868: DUP4 00004869: MSTORE 0000486a: SWAP3 0000486b: SWAP1 0000486c: MSTORE 0000486d: SWAP1 0000486e: DUP2 0000486f: KECCAK256 00004870: DUP3 00004871: SWAP1 00004872: SSTORE 00004873: DUP2 00004874: GT 00004875: ISZERO 00004876: PUSH2 0x48a2 00004879: JUMPI 0000487a: PUSH1 0x01 0000487c: PUSH1 0xa0 0000487e: PUSH1 0x02 00004880: EXP 00004881: SUB 00004882: DUP1 00004883: DUP12 00004884: AND 00004885: PUSH1 0x00 00004887: SWAP1 00004888: DUP2 00004889: MSTORE 0000488a: PUSH1 0x12 0000488c: PUSH1 0x20 0000488e: SWAP1 0000488f: DUP2 00004890: MSTORE 00004891: PUSH1 0x40 00004893: DUP1 00004894: DUP4 00004895: KECCAK256 00004896: SWAP4 00004897: DUP16 00004898: AND 00004899: DUP4 0000489a: MSTORE 0000489b: SWAP3 0000489c: SWAP1 0000489d: MSTORE 0000489e: SWAP1 0000489f: DUP2 000048a0: KECCAK256 000048a1: SSTORE 000048a2: JUMPDEST 000048a3: PUSH1 0x00 000048a5: DUP4 000048a6: GT 000048a7: ISZERO 000048a8: PUSH2 0x48d4 000048ab: JUMPI 000048ac: PUSH1 0x01 000048ae: PUSH1 0xa0 000048b0: PUSH1 0x02 000048b2: EXP 000048b3: SUB 000048b4: DUP1 000048b5: DUP12 000048b6: AND 000048b7: PUSH1 0x00 000048b9: SWAP1 000048ba: DUP2 000048bb: MSTORE 000048bc: PUSH1 0x13 000048be: PUSH1 0x20 000048c0: SWAP1 000048c1: DUP2 000048c2: MSTORE 000048c3: PUSH1 0x40 000048c5: DUP1 000048c6: DUP4 000048c7: KECCAK256 000048c8: SWAP4 000048c9: DUP16 000048ca: AND 000048cb: DUP4 000048cc: MSTORE 000048cd: SWAP3 000048ce: SWAP1 000048cf: MSTORE 000048d0: SWAP1 000048d1: DUP2 000048d2: KECCAK256 000048d3: SSTORE 000048d4: JUMPDEST 000048d5: PUSH2 0x48e2 000048d8: DUP12 000048d9: DUP12 000048da: DUP12 000048db: DUP8 000048dc: DUP13 000048dd: DUP13 000048de: PUSH2 0x5263 000048e1: JUMP 000048e2: JUMPDEST 000048e3: PUSH2 0x48ec 000048e6: DUP12 000048e7: DUP12 000048e8: PUSH2 0x4aab 000048eb: JUMP 000048ec: JUMPDEST 000048ed: PUSH2 0x48f6 000048f0: DUP12 000048f1: DUP12 000048f2: PUSH2 0x459f 000048f5: JUMP 000048f6: JUMPDEST 000048f7: POP 000048f8: POP 000048f9: POP 000048fa: JUMPDEST 000048fb: DUP6 000048fc: DUP8 000048fd: PUSH1 0x01 000048ff: PUSH1 0xa0 00004901: PUSH1 0x02 00004903: EXP 00004904: SUB 00004905: AND 00004906: DUP10 00004907: PUSH1 0x01 00004909: PUSH1 0xa0 0000490b: PUSH1 0x02 0000490d: EXP 0000490e: SUB 0000490f: AND 00004910: PUSH32 0xb5806f8610464e96807c2b147620cc721c65309647f16cfccdf9fb7bd95152ac 00004931: DUP9 00004932: DUP9 00004933: PUSH1 0x40 00004935: MLOAD 00004936: DUP1 00004937: DUP4 00004938: DUP2 00004939: MSTORE 0000493a: PUSH1 0x20 0000493c: ADD 0000493d: DUP3 0000493e: DUP2 0000493f: MSTORE 00004940: PUSH1 0x20 00004942: ADD 00004943: SWAP3 00004944: POP 00004945: POP 00004946: POP 00004947: PUSH1 0x40 00004949: MLOAD 0000494a: DUP1 0000494b: SWAP2 0000494c: SUB 0000494d: SWAP1 0000494e: LOG4 0000494f: POP 00004950: POP 00004951: POP 00004952: POP 00004953: POP 00004954: POP 00004955: POP 00004956: POP 00004957: JUMP 00004958: JUMPDEST 00004959: PUSH1 0x01 0000495b: PUSH1 0xa0 0000495d: PUSH1 0x02 0000495f: EXP 00004960: SUB 00004961: DUP7 00004962: AND 00004963: PUSH1 0x00 00004965: SWAP1 00004966: DUP2 00004967: MSTORE 00004968: PUSH1 0x04 0000496a: PUSH1 0x20 0000496c: MSTORE 0000496d: PUSH1 0x40 0000496f: DUP2 00004970: KECCAK256 00004971: SLOAD 00004972: PUSH1 0xff 00004974: AND 00004975: DUP1 00004976: ISZERO 00004977: PUSH2 0x4998 0000497a: JUMPI 0000497b: POP 0000497c: PUSH1 0x01 0000497e: PUSH1 0xa0 00004980: PUSH1 0x02 00004982: EXP 00004983: SUB 00004984: DUP7 00004985: AND 00004986: PUSH1 0x00 00004988: SWAP1 00004989: DUP2 0000498a: MSTORE 0000498b: PUSH1 0x04 0000498d: PUSH1 0x20 0000498f: MSTORE 00004990: PUSH1 0x40 00004992: SWAP1 00004993: KECCAK256 00004994: SLOAD 00004995: PUSH1 0xff 00004997: AND 00004998: JUMPDEST 00004999: ISZERO 0000499a: PUSH2 0x4aa1 0000499d: JUMPI 0000499e: PUSH1 0x08 000049a0: SLOAD 000049a1: PUSH1 0x01 000049a3: PUSH1 0xa0 000049a5: PUSH1 0x02 000049a7: EXP 000049a8: SUB 000049a9: SWAP1 000049aa: DUP2 000049ab: AND 000049ac: SWAP1 000049ad: DUP9 000049ae: AND 000049af: DUP2 000049b0: EQ 000049b1: ISZERO 000049b2: PUSH2 0x49bd 000049b5: JUMPI 000049b6: DUP4 000049b7: SWAP2 000049b8: POP 000049b9: PUSH2 0x4a0f 000049bc: JUMP 000049bd: JUMPDEST 000049be: DUP1 000049bf: PUSH1 0x01 000049c1: PUSH1 0xa0 000049c3: PUSH1 0x02 000049c5: EXP 000049c6: SUB 000049c7: AND 000049c8: DUP8 000049c9: PUSH1 0x01 000049cb: PUSH1 0xa0 000049cd: PUSH1 0x02 000049cf: EXP 000049d0: SUB 000049d1: AND 000049d2: EQ 000049d3: ISZERO 000049d4: PUSH2 0x49df 000049d7: JUMPI 000049d8: DUP6 000049d9: SWAP2 000049da: POP 000049db: PUSH2 0x4a0f 000049de: JUMP 000049df: JUMPDEST 000049e0: PUSH1 0x00 000049e2: DUP1 000049e3: PUSH2 0x49f0 000049e6: DUP11 000049e7: DUP5 000049e8: PUSH1 0x01 000049ea: DUP11 000049eb: SUB 000049ec: PUSH2 0x1a9c 000049ef: JUMP 000049f0: JUMPDEST 000049f1: SWAP1 000049f2: SWAP3 000049f3: POP 000049f4: SWAP1 000049f5: POP 000049f6: DUP1 000049f7: PUSH2 0x4a00 000049fa: DUP8 000049fb: DUP5 000049fc: PUSH2 0x3403 000049ff: JUMP 00004a00: JUMPDEST 00004a01: DUP2 00004a02: ISZERO 00004a03: ISZERO 00004a04: PUSH2 0x4a09 00004a07: JUMPI 00004a08: INVALID 00004a09: JUMPDEST 00004a0a: DIV 00004a0b: SWAP4 00004a0c: POP 00004a0d: POP 00004a0e: POP 00004a0f: JUMPDEST 00004a10: PUSH1 0x00 00004a12: DUP3 00004a13: GT 00004a14: ISZERO 00004a15: PUSH2 0x4a9f 00004a18: JUMPI 00004a19: PUSH1 0x0b 00004a1b: SLOAD 00004a1c: PUSH1 0x40 00004a1e: DUP1 00004a1f: MLOAD 00004a20: PUSH32 0xf0dda65c00000000000000000000000000000000000000000000000000000000 00004a41: DUP2 00004a42: MSTORE 00004a43: PUSH1 0x01 00004a45: PUSH1 0xa0 00004a47: PUSH1 0x02 00004a49: EXP 00004a4a: SUB 00004a4b: DUP7 00004a4c: DUP2 00004a4d: AND 00004a4e: PUSH1 0x04 00004a50: DUP4 00004a51: ADD 00004a52: MSTORE 00004a53: PUSH1 0x24 00004a55: DUP3 00004a56: ADD 00004a57: DUP7 00004a58: SWAP1 00004a59: MSTORE 00004a5a: SWAP2 00004a5b: MLOAD 00004a5c: SWAP2 00004a5d: SWAP1 00004a5e: SWAP3 00004a5f: AND 00004a60: SWAP2 00004a61: PUSH4 0xf0dda65c 00004a66: SWAP2 00004a67: PUSH1 0x44 00004a69: DUP1 00004a6a: DUP4 00004a6b: ADD 00004a6c: SWAP3 00004a6d: PUSH1 0x00 00004a6f: SWAP3 00004a70: SWAP2 00004a71: SWAP1 00004a72: DUP3 00004a73: SWAP1 00004a74: SUB 00004a75: ADD 00004a76: DUP2 00004a77: DUP4 00004a78: DUP8 00004a79: DUP1 00004a7a: EXTCODESIZE 00004a7b: ISZERO 00004a7c: DUP1 00004a7d: ISZERO 00004a7e: PUSH2 0x4a86 00004a81: JUMPI 00004a82: PUSH1 0x00 00004a84: DUP1 00004a85: REVERT 00004a86: JUMPDEST 00004a87: POP 00004a88: GAS 00004a89: CALL 00004a8a: ISZERO 00004a8b: DUP1 00004a8c: ISZERO 00004a8d: PUSH2 0x4a9a 00004a90: JUMPI 00004a91: RETURNDATASIZE 00004a92: PUSH1 0x00 00004a94: DUP1 00004a95: RETURNDATACOPY 00004a96: RETURNDATASIZE 00004a97: PUSH1 0x00 00004a99: REVERT 00004a9a: JUMPDEST 00004a9b: POP 00004a9c: POP 00004a9d: POP 00004a9e: POP 00004a9f: JUMPDEST 00004aa0: POP 00004aa1: JUMPDEST 00004aa2: SWAP7 00004aa3: SWAP6 00004aa4: POP 00004aa5: POP 00004aa6: POP 00004aa7: POP 00004aa8: POP 00004aa9: POP 00004aaa: JUMP 00004aab: JUMPDEST 00004aac: PUSH2 0x4ab5 00004aaf: DUP3 00004ab0: DUP3 00004ab1: PUSH2 0x145f 00004ab4: JUMP 00004ab5: JUMPDEST 00004ab6: PUSH1 0x01 00004ab8: PUSH1 0xa0 00004aba: PUSH1 0x02 00004abc: EXP 00004abd: SUB 00004abe: SWAP2 00004abf: DUP3 00004ac0: AND 00004ac1: PUSH1 0x00 00004ac3: SWAP1 00004ac4: DUP2 00004ac5: MSTORE 00004ac6: PUSH1 0x0d 00004ac8: PUSH1 0x20 00004aca: SWAP1 00004acb: DUP2 00004acc: MSTORE 00004acd: PUSH1 0x40 00004acf: DUP1 00004ad0: DUP4 00004ad1: KECCAK256 00004ad2: SWAP4 00004ad3: SWAP1 00004ad4: SWAP5 00004ad5: AND 00004ad6: DUP3 00004ad7: MSTORE 00004ad8: SWAP2 00004ad9: SWAP1 00004ada: SWAP2 00004adb: MSTORE 00004adc: KECCAK256 00004add: DUP1 00004ade: SLOAD 00004adf: PUSH1 0x01 00004ae1: ADD 00004ae2: SWAP1 00004ae3: SSTORE 00004ae4: POP 00004ae5: POP 00004ae6: JUMP 00004ae7: JUMPDEST 00004ae8: PUSH1 0x00 00004aea: DUP1 00004aeb: PUSH2 0x4af4 00004aee: DUP9 00004aef: DUP6 00004af0: PUSH2 0x1752 00004af3: JUMP 00004af4: JUMPDEST 00004af5: GT 00004af6: PUSH2 0x4afe 00004af9: JUMPI 00004afa: PUSH1 0x00 00004afc: DUP1 00004afd: REVERT 00004afe: JUMPDEST 00004aff: PUSH1 0x00 00004b01: PUSH2 0x4b0a 00004b04: DUP8 00004b05: DUP6 00004b06: PUSH2 0x1752 00004b09: JUMP 00004b0a: JUMPDEST 00004b0b: GT 00004b0c: PUSH2 0x4b14 00004b0f: JUMPI 00004b10: PUSH1 0x00 00004b12: DUP1 00004b13: REVERT 00004b14: JUMPDEST 00004b15: PUSH1 0x00 00004b17: DUP1 00004b18: PUSH2 0x4b20 00004b1b: DUP10 00004b1c: PUSH2 0x3f49 00004b1f: JUMP 00004b20: JUMPDEST 00004b21: SWAP1 00004b22: SWAP3 00004b23: POP 00004b24: SWAP1 00004b25: POP 00004b26: PUSH1 0x00 00004b28: DUP1 00004b29: PUSH2 0x4b31 00004b2c: DUP11 00004b2d: PUSH2 0x3f49 00004b30: JUMP 00004b31: JUMPDEST 00004b32: SWAP1 00004b33: SWAP3 00004b34: POP 00004b35: SWAP1 00004b36: POP 00004b37: PUSH1 0x00 00004b39: PUSH2 0x4b63 00004b3c: DUP5 00004b3d: PUSH2 0x4b46 00004b40: DUP13 00004b41: DUP9 00004b42: PUSH2 0x3403 00004b45: JUMP 00004b46: JUMPDEST 00004b47: DUP2 00004b48: ISZERO 00004b49: ISZERO 00004b4a: PUSH2 0x4b4f 00004b4d: JUMPI 00004b4e: INVALID 00004b4f: JUMPDEST 00004b50: DIV 00004b51: DUP4 00004b52: DUP6 00004b53: DUP13 00004b54: MUL 00004b55: DUP2 00004b56: ISZERO 00004b57: ISZERO 00004b58: PUSH2 0x4b5d 00004b5b: JUMPI 00004b5c: INVALID 00004b5d: JUMPDEST 00004b5e: DIV 00004b5f: PUSH2 0x27a7 00004b62: JUMP 00004b63: JUMPDEST 00004b64: SWAP1 00004b65: POP 00004b66: PUSH2 0x4b6f 00004b69: DUP2 00004b6a: DUP9 00004b6b: PUSH2 0x3403 00004b6e: JUMP 00004b6f: JUMPDEST 00004b70: SWAP13 00004b71: SWAP12 00004b72: POP 00004b73: POP 00004b74: POP 00004b75: POP 00004b76: POP 00004b77: POP 00004b78: POP 00004b79: POP 00004b7a: POP 00004b7b: POP 00004b7c: POP 00004b7d: POP 00004b7e: JUMP 00004b7f: JUMPDEST 00004b80: PUSH1 0x01 00004b82: PUSH1 0xa0 00004b84: PUSH1 0x02 00004b86: EXP 00004b87: SUB 00004b88: DUP5 00004b89: AND 00004b8a: PUSH1 0x00 00004b8c: SWAP1 00004b8d: DUP2 00004b8e: MSTORE 00004b8f: PUSH1 0x14 00004b91: PUSH1 0x20 00004b93: SWAP1 00004b94: DUP2 00004b95: MSTORE 00004b96: PUSH1 0x40 00004b98: DUP1 00004b99: DUP4 00004b9a: KECCAK256 00004b9b: CALLER 00004b9c: DUP5 00004b9d: MSTORE 00004b9e: SWAP1 00004b9f: SWAP2 00004ba0: MSTORE 00004ba1: SWAP1 00004ba2: KECCAK256 00004ba3: SLOAD 00004ba4: PUSH2 0x4bad 00004ba7: SWAP1 00004ba8: DUP4 00004ba9: PUSH2 0x332f 00004bac: JUMP 00004bad: JUMPDEST 00004bae: PUSH1 0x01 00004bb0: PUSH1 0xa0 00004bb2: PUSH1 0x02 00004bb4: EXP 00004bb5: SUB 00004bb6: DUP1 00004bb7: DUP7 00004bb8: AND 00004bb9: PUSH1 0x00 00004bbb: SWAP1 00004bbc: DUP2 00004bbd: MSTORE 00004bbe: PUSH1 0x14 00004bc0: PUSH1 0x20 00004bc2: DUP2 00004bc3: DUP2 00004bc4: MSTORE 00004bc5: PUSH1 0x40 00004bc7: DUP1 00004bc8: DUP5 00004bc9: KECCAK256 00004bca: CALLER 00004bcb: DUP1 00004bcc: DUP7 00004bcd: MSTORE 00004bce: SWAP1 00004bcf: DUP4 00004bd0: MSTORE 00004bd1: DUP2 00004bd2: DUP6 00004bd3: KECCAK256 00004bd4: SWAP7 00004bd5: SWAP1 00004bd6: SWAP7 00004bd7: SSTORE 00004bd8: SWAP4 00004bd9: DUP9 00004bda: AND 00004bdb: DUP4 00004bdc: MSTORE 00004bdd: SWAP1 00004bde: DUP2 00004bdf: MSTORE 00004be0: DUP3 00004be1: DUP3 00004be2: KECCAK256 00004be3: SWAP4 00004be4: DUP3 00004be5: MSTORE 00004be6: SWAP3 00004be7: SWAP1 00004be8: SWAP3 00004be9: MSTORE 00004bea: SWAP1 00004beb: KECCAK256 00004bec: SLOAD 00004bed: PUSH2 0x4bf6 00004bf0: SWAP1 00004bf1: DUP3 00004bf2: PUSH2 0x332f 00004bf5: JUMP 00004bf6: JUMPDEST 00004bf7: PUSH1 0x01 00004bf9: PUSH1 0xa0 00004bfb: PUSH1 0x02 00004bfd: EXP 00004bfe: SUB 00004bff: DUP5 00004c00: AND 00004c01: PUSH1 0x00 00004c03: SWAP1 00004c04: DUP2 00004c05: MSTORE 00004c06: PUSH1 0x14 00004c08: PUSH1 0x20 00004c0a: SWAP1 00004c0b: DUP2 00004c0c: MSTORE 00004c0d: PUSH1 0x40 00004c0f: DUP1 00004c10: DUP4 00004c11: KECCAK256 00004c12: CALLER 00004c13: DUP5 00004c14: MSTORE 00004c15: SWAP1 00004c16: SWAP2 00004c17: MSTORE 00004c18: DUP2 00004c19: KECCAK256 00004c1a: SWAP2 00004c1b: SWAP1 00004c1c: SWAP2 00004c1d: SSTORE 00004c1e: PUSH2 0x4c2a 00004c21: DUP6 00004c22: DUP6 00004c23: PUSH1 0x01 00004c25: DUP7 00004c26: PUSH2 0x449a 00004c29: JUMP 00004c2a: JUMPDEST 00004c2b: SWAP1 00004c2c: POP 00004c2d: PUSH1 0x00 00004c2f: PUSH2 0x4c3b 00004c32: DUP6 00004c33: DUP8 00004c34: PUSH1 0x01 00004c36: DUP7 00004c37: PUSH2 0x449a 00004c3a: JUMP 00004c3b: JUMPDEST 00004c3c: PUSH1 0x01 00004c3e: PUSH1 0xa0 00004c40: PUSH1 0x02 00004c42: EXP 00004c43: SUB 00004c44: DUP1 00004c45: DUP9 00004c46: AND 00004c47: PUSH1 0x00 00004c49: DUP2 00004c4a: DUP2 00004c4b: MSTORE 00004c4c: PUSH1 0x11 00004c4e: PUSH1 0x20 00004c50: DUP2 00004c51: DUP2 00004c52: MSTORE 00004c53: PUSH1 0x40 00004c55: DUP1 00004c56: DUP5 00004c57: KECCAK256 00004c58: SWAP6 00004c59: DUP13 00004c5a: AND 00004c5b: DUP1 00004c5c: DUP6 00004c5d: MSTORE 00004c5e: SWAP6 00004c5f: DUP3 00004c60: MSTORE 00004c61: DUP1 00004c62: DUP5 00004c63: KECCAK256 00004c64: DUP10 00004c65: SWAP1 00004c66: SSTORE 00004c67: SWAP2 00004c68: DUP2 00004c69: MSTORE 00004c6a: DUP2 00004c6b: DUP4 00004c6c: KECCAK256 00004c6d: DUP5 00004c6e: DUP5 00004c6f: MSTORE 00004c70: DUP2 00004c71: MSTORE 00004c72: DUP2 00004c73: DUP4 00004c74: KECCAK256 00004c75: DUP7 00004c76: SWAP1 00004c77: SSTORE 00004c78: PUSH1 0x16 00004c7a: DUP1 00004c7b: DUP3 00004c7c: MSTORE 00004c7d: DUP3 00004c7e: DUP5 00004c7f: KECCAK256 00004c80: DUP7 00004c81: DUP6 00004c82: MSTORE 00004c83: DUP3 00004c84: MSTORE 00004c85: DUP3 00004c86: DUP5 00004c87: KECCAK256 00004c88: PUSH1 0x01 00004c8a: DUP1 00004c8b: DUP7 00004c8c: MSTORE 00004c8d: SWAP1 00004c8e: DUP4 00004c8f: MSTORE 00004c90: DUP4 00004c91: DUP6 00004c92: KECCAK256 00004c93: CALLER 00004c94: DUP1 00004c95: DUP8 00004c96: MSTORE 00004c97: SWAP1 00004c98: DUP5 00004c99: MSTORE 00004c9a: DUP5 00004c9b: DUP7 00004c9c: KECCAK256 00004c9d: DUP12 00004c9e: SWAP1 00004c9f: SSTORE 00004ca0: SWAP7 00004ca1: DUP6 00004ca2: MSTORE 00004ca3: SWAP1 00004ca4: DUP3 00004ca5: MSTORE 00004ca6: DUP3 00004ca7: DUP5 00004ca8: KECCAK256 00004ca9: SWAP5 00004caa: DUP5 00004cab: MSTORE 00004cac: SWAP4 00004cad: DUP2 00004cae: MSTORE 00004caf: DUP2 00004cb0: DUP4 00004cb1: KECCAK256 00004cb2: SWAP4 00004cb3: DUP4 00004cb4: MSTORE 00004cb5: SWAP3 00004cb6: DUP4 00004cb7: MSTORE 00004cb8: DUP1 00004cb9: DUP3 00004cba: KECCAK256 00004cbb: SWAP4 00004cbc: DUP3 00004cbd: MSTORE 00004cbe: SWAP3 00004cbf: SWAP1 00004cc0: SWAP2 00004cc1: MSTORE 00004cc2: SWAP1 00004cc3: DUP2 00004cc4: KECCAK256 00004cc5: DUP3 00004cc6: SWAP1 00004cc7: SSTORE 00004cc8: SWAP1 00004cc9: SWAP2 00004cca: POP 00004ccb: DUP1 00004ccc: PUSH2 0x4cd5 00004ccf: DUP9 00004cd0: DUP9 00004cd1: PUSH2 0x145f 00004cd4: JUMP 00004cd5: JUMPDEST 00004cd6: PUSH1 0x01 00004cd8: PUSH1 0xa0 00004cda: PUSH1 0x02 00004cdc: EXP 00004cdd: SUB 00004cde: DUP1 00004cdf: DUP4 00004ce0: AND 00004ce1: PUSH1 0x00 00004ce3: SWAP1 00004ce4: DUP2 00004ce5: MSTORE 00004ce6: PUSH1 0x0f 00004ce8: PUSH1 0x20 00004cea: SWAP1 00004ceb: DUP2 00004cec: MSTORE 00004ced: PUSH1 0x40 00004cef: DUP1 00004cf0: DUP4 00004cf1: KECCAK256 00004cf2: SWAP4 00004cf3: DUP6 00004cf4: AND 00004cf5: DUP4 00004cf6: MSTORE 00004cf7: SWAP3 00004cf8: DUP2 00004cf9: MSTORE 00004cfa: DUP3 00004cfb: DUP3 00004cfc: KECCAK256 00004cfd: DUP3 00004cfe: DUP1 00004cff: MSTORE 00004d00: SWAP1 00004d01: MSTORE 00004d02: KECCAK256 00004d03: TIMESTAMP 00004d04: SWAP1 00004d05: SSTORE 00004d06: SWAP1 00004d07: SWAP3 00004d08: POP 00004d09: SWAP1 00004d0a: POP 00004d0b: PUSH2 0x4d17 00004d0e: DUP9 00004d0f: DUP9 00004d10: PUSH2 0x5460 00004d13: PUSH2 0x5165 00004d16: JUMP 00004d17: JUMPDEST 00004d18: DUP7 00004d19: PUSH1 0x01 00004d1b: PUSH1 0xa0 00004d1d: PUSH1 0x02 00004d1f: EXP 00004d20: SUB 00004d21: AND 00004d22: DUP9 00004d23: PUSH1 0x01 00004d25: PUSH1 0xa0 00004d27: PUSH1 0x02 00004d29: EXP 00004d2a: SUB 00004d2b: AND 00004d2c: PUSH32 0x6f4b2adffa0c3e90e47fdcd9d2c36f48b57eb3271dce519997271073dac17be9 00004d4d: PUSH1 0x40 00004d4f: MLOAD 00004d50: PUSH1 0x40 00004d52: MLOAD 00004d53: DUP1 00004d54: SWAP2 00004d55: SUB 00004d56: SWAP1 00004d57: LOG3 00004d58: POP 00004d59: POP 00004d5a: POP 00004d5b: POP 00004d5c: POP 00004d5d: POP 00004d5e: POP 00004d5f: POP 00004d60: JUMP 00004d61: JUMPDEST 00004d62: PUSH1 0x00 00004d64: DUP1 00004d65: PUSH1 0x00 00004d67: PUSH2 0x4d6f 00004d6a: DUP6 00004d6b: PUSH2 0x3f49 00004d6e: JUMP 00004d6f: JUMPDEST 00004d70: SWAP1 00004d71: SWAP3 00004d72: POP 00004d73: SWAP1 00004d74: POP 00004d75: PUSH1 0x00 00004d77: DUP2 00004d78: PUSH2 0x4d81 00004d7b: DUP7 00004d7c: DUP6 00004d7d: PUSH2 0x3403 00004d80: JUMP 00004d81: JUMPDEST 00004d82: DUP2 00004d83: ISZERO 00004d84: ISZERO 00004d85: PUSH2 0x4d8a 00004d88: JUMPI 00004d89: INVALID 00004d8a: JUMPDEST 00004d8b: DIV 00004d8c: SWAP1 00004d8d: POP 00004d8e: PUSH1 0x00 00004d90: PUSH1 0x05 00004d92: PUSH1 0x00 00004d94: SWAP1 00004d95: SLOAD 00004d96: SWAP1 00004d97: PUSH2 0x0100 00004d9a: EXP 00004d9b: SWAP1 00004d9c: DIV 00004d9d: PUSH1 0x01 00004d9f: PUSH1 0xa0 00004da1: PUSH1 0x02 00004da3: EXP 00004da4: SUB 00004da5: AND 00004da6: PUSH1 0x01 00004da8: PUSH1 0xa0 00004daa: PUSH1 0x02 00004dac: EXP 00004dad: SUB 00004dae: AND 00004daf: PUSH4 0xa3ca17b2 00004db4: PUSH1 0x40 00004db6: MLOAD 00004db7: DUP2 00004db8: PUSH4 0xffffffff 00004dbd: AND 00004dbe: PUSH1 0xe0 00004dc0: PUSH1 0x02 00004dc2: EXP 00004dc3: MUL 00004dc4: DUP2 00004dc5: MSTORE 00004dc6: PUSH1 0x04 00004dc8: ADD 00004dc9: PUSH1 0x20 00004dcb: PUSH1 0x40 00004dcd: MLOAD 00004dce: DUP1 00004dcf: DUP4 00004dd0: SUB 00004dd1: DUP2 00004dd2: DUP7 00004dd3: DUP1 00004dd4: EXTCODESIZE 00004dd5: ISZERO 00004dd6: DUP1 00004dd7: ISZERO 00004dd8: PUSH2 0x4de0 00004ddb: JUMPI 00004ddc: PUSH1 0x00 00004dde: DUP1 00004ddf: REVERT 00004de0: JUMPDEST 00004de1: POP 00004de2: GAS 00004de3: STATICCALL 00004de4: ISZERO 00004de5: DUP1 00004de6: ISZERO 00004de7: PUSH2 0x4df4 00004dea: JUMPI 00004deb: RETURNDATASIZE 00004dec: PUSH1 0x00 00004dee: DUP1 00004def: RETURNDATACOPY 00004df0: RETURNDATASIZE 00004df1: PUSH1 0x00 00004df3: REVERT 00004df4: JUMPDEST 00004df5: POP 00004df6: POP 00004df7: POP 00004df8: POP 00004df9: PUSH1 0x40 00004dfb: MLOAD 00004dfc: RETURNDATASIZE 00004dfd: PUSH1 0x20 00004dff: DUP2 00004e00: LT 00004e01: ISZERO 00004e02: PUSH2 0x4e0a 00004e05: JUMPI 00004e06: PUSH1 0x00 00004e08: DUP1 00004e09: REVERT 00004e0a: JUMPDEST 00004e0b: POP 00004e0c: MLOAD 00004e0d: SWAP1 00004e0e: POP 00004e0f: PUSH1 0x00 00004e11: PUSH2 0x4e1a 00004e14: DUP4 00004e15: DUP4 00004e16: PUSH2 0x3403 00004e19: JUMP 00004e1a: JUMPDEST 00004e1b: PUSH1 0x0c 00004e1d: SLOAD 00004e1e: PUSH1 0x40 00004e20: DUP1 00004e21: MLOAD 00004e22: PUSH32 0xdd62ed3e00000000000000000000000000000000000000000000000000000000 00004e43: DUP2 00004e44: MSTORE 00004e45: CALLER 00004e46: PUSH1 0x04 00004e48: DUP3 00004e49: ADD 00004e4a: MSTORE 00004e4b: ADDRESS 00004e4c: PUSH1 0x24 00004e4e: DUP3 00004e4f: ADD 00004e50: MSTORE 00004e51: SWAP1 00004e52: MLOAD 00004e53: SWAP3 00004e54: SWAP4 00004e55: POP 00004e56: PUSH1 0x00 00004e58: SWAP3 00004e59: PUSH2 0x4ec0 00004e5c: SWAP3 00004e5d: PUSH1 0x01 00004e5f: PUSH1 0xa0 00004e61: PUSH1 0x02 00004e63: EXP 00004e64: SUB 00004e65: AND 00004e66: SWAP2 00004e67: PUSH4 0xdd62ed3e 00004e6c: SWAP2 00004e6d: PUSH1 0x44 00004e6f: DUP1 00004e70: DUP4 00004e71: ADD 00004e72: SWAP3 00004e73: PUSH1 0x20 00004e75: SWAP3 00004e76: SWAP2 00004e77: SWAP1 00004e78: DUP3 00004e79: SWAP1 00004e7a: SUB 00004e7b: ADD 00004e7c: DUP2 00004e7d: DUP7 00004e7e: DUP1 00004e7f: EXTCODESIZE 00004e80: ISZERO 00004e81: DUP1 00004e82: ISZERO 00004e83: PUSH2 0x4e8b 00004e86: JUMPI 00004e87: PUSH1 0x00 00004e89: DUP1 00004e8a: REVERT 00004e8b: JUMPDEST 00004e8c: POP 00004e8d: GAS 00004e8e: STATICCALL 00004e8f: ISZERO 00004e90: DUP1 00004e91: ISZERO 00004e92: PUSH2 0x4e9f 00004e95: JUMPI 00004e96: RETURNDATASIZE 00004e97: PUSH1 0x00 00004e99: DUP1 00004e9a: RETURNDATACOPY 00004e9b: RETURNDATASIZE 00004e9c: PUSH1 0x00 00004e9e: REVERT 00004e9f: JUMPDEST 00004ea0: POP 00004ea1: POP 00004ea2: POP 00004ea3: POP 00004ea4: PUSH1 0x40 00004ea6: MLOAD 00004ea7: RETURNDATASIZE 00004ea8: PUSH1 0x20 00004eaa: DUP2 00004eab: LT 00004eac: ISZERO 00004ead: PUSH2 0x4eb5 00004eb0: JUMPI 00004eb1: PUSH1 0x00 00004eb3: DUP1 00004eb4: REVERT 00004eb5: JUMPDEST 00004eb6: POP 00004eb7: MLOAD 00004eb8: PUSH1 0x02 00004eba: DUP5 00004ebb: DIV 00004ebc: PUSH2 0x2a3b 00004ebf: JUMP 00004ec0: JUMPDEST 00004ec1: PUSH1 0x0c 00004ec3: SLOAD 00004ec4: PUSH1 0x40 00004ec6: DUP1 00004ec7: MLOAD 00004ec8: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000 00004ee9: DUP2 00004eea: MSTORE 00004eeb: CALLER 00004eec: PUSH1 0x04 00004eee: DUP3 00004eef: ADD 00004ef0: MSTORE 00004ef1: SWAP1 00004ef2: MLOAD 00004ef3: SWAP3 00004ef4: SWAP4 00004ef5: POP 00004ef6: PUSH2 0x4f5d 00004ef9: SWAP3 00004efa: PUSH1 0x01 00004efc: PUSH1 0xa0 00004efe: PUSH1 0x02 00004f00: EXP 00004f01: SUB 00004f02: SWAP1 00004f03: SWAP3 00004f04: AND 00004f05: SWAP2 00004f06: PUSH4 0x70a08231 00004f0b: SWAP2 00004f0c: PUSH1 0x24 00004f0e: DUP1 00004f0f: DUP3 00004f10: ADD 00004f11: SWAP3 00004f12: PUSH1 0x20 00004f14: SWAP3 00004f15: SWAP1 00004f16: SWAP2 00004f17: SWAP1 00004f18: DUP3 00004f19: SWAP1 00004f1a: SUB 00004f1b: ADD 00004f1c: DUP2 00004f1d: DUP7 00004f1e: DUP1 00004f1f: EXTCODESIZE 00004f20: ISZERO 00004f21: DUP1 00004f22: ISZERO 00004f23: PUSH2 0x4f2b 00004f26: JUMPI 00004f27: PUSH1 0x00 00004f29: DUP1 00004f2a: REVERT 00004f2b: JUMPDEST 00004f2c: POP 00004f2d: GAS 00004f2e: STATICCALL 00004f2f: ISZERO 00004f30: DUP1 00004f31: ISZERO 00004f32: PUSH2 0x4f3f 00004f35: JUMPI 00004f36: RETURNDATASIZE 00004f37: PUSH1 0x00 00004f39: DUP1 00004f3a: RETURNDATACOPY 00004f3b: RETURNDATASIZE 00004f3c: PUSH1 0x00 00004f3e: REVERT 00004f3f: JUMPDEST 00004f40: POP 00004f41: POP 00004f42: POP 00004f43: POP 00004f44: PUSH1 0x40 00004f46: MLOAD 00004f47: RETURNDATASIZE 00004f48: PUSH1 0x20 00004f4a: DUP2 00004f4b: LT 00004f4c: ISZERO 00004f4d: PUSH2 0x4f55 00004f50: JUMPI 00004f51: PUSH1 0x00 00004f53: DUP1 00004f54: REVERT 00004f55: JUMPDEST 00004f56: POP 00004f57: MLOAD 00004f58: DUP3 00004f59: PUSH2 0x2a3b 00004f5c: JUMP 00004f5d: JUMPDEST 00004f5e: SWAP1 00004f5f: POP 00004f60: PUSH1 0x00 00004f62: DUP2 00004f63: GT 00004f64: ISZERO 00004f65: PUSH2 0x5017 00004f68: JUMPI 00004f69: PUSH1 0x0c 00004f6b: SLOAD 00004f6c: PUSH1 0x40 00004f6e: DUP1 00004f6f: MLOAD 00004f70: PUSH32 0x4417f4db00000000000000000000000000000000000000000000000000000000 00004f91: DUP2 00004f92: MSTORE 00004f93: CALLER 00004f94: PUSH1 0x04 00004f96: DUP3 00004f97: ADD 00004f98: MSTORE 00004f99: PUSH1 0x24 00004f9b: DUP2 00004f9c: ADD 00004f9d: DUP5 00004f9e: SWAP1 00004f9f: MSTORE 00004fa0: SWAP1 00004fa1: MLOAD 00004fa2: PUSH1 0x01 00004fa4: PUSH1 0xa0 00004fa6: PUSH1 0x02 00004fa8: EXP 00004fa9: SUB 00004faa: SWAP1 00004fab: SWAP3 00004fac: AND 00004fad: SWAP2 00004fae: PUSH4 0x4417f4db 00004fb3: SWAP2 00004fb4: PUSH1 0x44 00004fb6: DUP1 00004fb7: DUP3 00004fb8: ADD 00004fb9: SWAP3 00004fba: PUSH1 0x00 00004fbc: SWAP3 00004fbd: SWAP1 00004fbe: SWAP2 00004fbf: SWAP1 00004fc0: DUP3 00004fc1: SWAP1 00004fc2: SUB 00004fc3: ADD 00004fc4: DUP2 00004fc5: DUP4 00004fc6: DUP8 00004fc7: DUP1 00004fc8: EXTCODESIZE 00004fc9: ISZERO 00004fca: DUP1 00004fcb: ISZERO 00004fcc: PUSH2 0x4fd4 00004fcf: JUMPI 00004fd0: PUSH1 0x00 00004fd2: DUP1 00004fd3: REVERT 00004fd4: JUMPDEST 00004fd5: POP 00004fd6: GAS 00004fd7: CALL 00004fd8: ISZERO 00004fd9: DUP1 00004fda: ISZERO 00004fdb: PUSH2 0x4fe8 00004fde: JUMPI 00004fdf: RETURNDATASIZE 00004fe0: PUSH1 0x00 00004fe2: DUP1 00004fe3: RETURNDATACOPY 00004fe4: RETURNDATASIZE 00004fe5: PUSH1 0x00 00004fe7: REVERT 00004fe8: JUMPDEST 00004fe9: POP 00004fea: POP 00004feb: POP 00004fec: POP 00004fed: PUSH1 0x00 00004fef: DUP3 00004ff0: PUSH2 0x4ff9 00004ff3: DUP4 00004ff4: DUP12 00004ff5: PUSH2 0x3403 00004ff8: JUMP 00004ff9: JUMPDEST 00004ffa: DUP2 00004ffb: ISZERO 00004ffc: ISZERO 00004ffd: PUSH2 0x5002 00005000: JUMPI 00005001: INVALID 00005002: JUMPDEST 00005003: DIV 00005004: SWAP1 00005005: POP 00005006: PUSH2 0x500f 00005009: DUP10 0000500a: DUP3 0000500b: PUSH2 0x332f 0000500e: JUMP 0000500f: JUMPDEST 00005010: SWAP8 00005011: POP 00005012: POP 00005013: PUSH2 0x501b 00005016: JUMP 00005017: JUMPDEST 00005018: DUP8 00005019: SWAP7 0000501a: POP 0000501b: JUMPDEST 0000501c: POP 0000501d: POP 0000501e: POP 0000501f: POP 00005020: POP 00005021: POP 00005022: SWAP3 00005023: SWAP2 00005024: POP 00005025: POP 00005026: JUMP 00005027: JUMPDEST 00005028: PUSH1 0x00 0000502a: DUP1 0000502b: PUSH1 0x00 0000502d: PUSH1 0x05 0000502f: PUSH1 0x00 00005031: SWAP1 00005032: SLOAD 00005033: SWAP1 00005034: PUSH2 0x0100 00005037: EXP 00005038: SWAP1 00005039: DIV 0000503a: PUSH1 0x01 0000503c: PUSH1 0xa0 0000503e: PUSH1 0x02 00005040: EXP 00005041: SUB 00005042: AND 00005043: PUSH1 0x01 00005045: PUSH1 0xa0 00005047: PUSH1 0x02 00005049: EXP 0000504a: SUB 0000504b: AND 0000504c: PUSH4 0xa3ca17b2 00005051: PUSH1 0x40 00005053: MLOAD 00005054: DUP2 00005055: PUSH4 0xffffffff 0000505a: AND 0000505b: PUSH1 0xe0 0000505d: PUSH1 0x02 0000505f: EXP 00005060: MUL 00005061: DUP2 00005062: MSTORE 00005063: PUSH1 0x04 00005065: ADD 00005066: PUSH1 0x20 00005068: PUSH1 0x40 0000506a: MLOAD 0000506b: DUP1 0000506c: DUP4 0000506d: SUB 0000506e: DUP2 0000506f: DUP7 00005070: DUP1 00005071: EXTCODESIZE 00005072: ISZERO 00005073: DUP1 00005074: ISZERO 00005075: PUSH2 0x507d 00005078: JUMPI 00005079: PUSH1 0x00 0000507b: DUP1 0000507c: REVERT 0000507d: JUMPDEST 0000507e: POP 0000507f: GAS 00005080: STATICCALL 00005081: ISZERO 00005082: DUP1 00005083: ISZERO 00005084: PUSH2 0x5091 00005087: JUMPI 00005088: RETURNDATASIZE 00005089: PUSH1 0x00 0000508b: DUP1 0000508c: RETURNDATACOPY 0000508d: RETURNDATASIZE 0000508e: PUSH1 0x00 00005090: REVERT 00005091: JUMPDEST 00005092: POP 00005093: POP 00005094: POP 00005095: POP 00005096: PUSH1 0x40 00005098: MLOAD 00005099: RETURNDATASIZE 0000509a: PUSH1 0x20 0000509c: DUP2 0000509d: LT 0000509e: ISZERO 0000509f: PUSH2 0x50a7 000050a2: JUMPI 000050a3: PUSH1 0x00 000050a5: DUP1 000050a6: REVERT 000050a7: JUMPDEST 000050a8: POP 000050a9: MLOAD 000050aa: SWAP1 000050ab: POP 000050ac: PUSH1 0x00 000050ae: DUP1 000050af: PUSH2 0x50b7 000050b2: DUP8 000050b3: PUSH2 0x3f49 000050b6: JUMP 000050b7: JUMPDEST 000050b8: SWAP1 000050b9: SWAP3 000050ba: POP 000050bb: SWAP1 000050bc: POP 000050bd: PUSH1 0x00 000050bf: DUP1 000050c0: PUSH2 0x50c8 000050c3: DUP9 000050c4: PUSH2 0x3f49 000050c7: JUMP 000050c8: JUMPDEST 000050c9: PUSH1 0x01 000050cb: PUSH1 0xa0 000050cd: PUSH1 0x02 000050cf: EXP 000050d0: SUB 000050d1: DUP1 000050d2: DUP13 000050d3: AND 000050d4: PUSH1 0x00 000050d6: SWAP1 000050d7: DUP2 000050d8: MSTORE 000050d9: PUSH1 0x11 000050db: PUSH1 0x20 000050dd: SWAP1 000050de: DUP2 000050df: MSTORE 000050e0: PUSH1 0x40 000050e2: DUP1 000050e3: DUP4 000050e4: KECCAK256 000050e5: SWAP4 000050e6: DUP15 000050e7: AND 000050e8: DUP4 000050e9: MSTORE 000050ea: SWAP3 000050eb: SWAP1 000050ec: MSTORE 000050ed: KECCAK256 000050ee: SLOAD 000050ef: SWAP2 000050f0: SWAP4 000050f1: POP 000050f2: SWAP2 000050f3: POP 000050f4: DUP4 000050f5: SWAP1 000050f6: PUSH2 0x5109 000050f9: SWAP1 000050fa: PUSH2 0x5103 000050fd: SWAP1 000050fe: DUP8 000050ff: PUSH2 0x3403 00005102: JUMP 00005103: JUMPDEST 00005104: DUP8 00005105: PUSH2 0x3403 00005108: JUMP 00005109: JUMPDEST 0000510a: DUP2 0000510b: ISZERO 0000510c: ISZERO 0000510d: PUSH2 0x5112 00005110: JUMPI 00005111: INVALID 00005112: JUMPDEST 00005113: PUSH1 0x01 00005115: PUSH1 0xa0 00005117: PUSH1 0x02 00005119: EXP 0000511a: SUB 0000511b: DUP1 0000511c: DUP12 0000511d: AND 0000511e: PUSH1 0x00 00005120: SWAP1 00005121: DUP2 00005122: MSTORE 00005123: PUSH1 0x11 00005125: PUSH1 0x20 00005127: SWAP1 00005128: DUP2 00005129: MSTORE 0000512a: PUSH1 0x40 0000512c: DUP1 0000512d: DUP4 0000512e: KECCAK256 0000512f: SWAP4 00005130: DUP16 00005131: AND 00005132: DUP4 00005133: MSTORE 00005134: SWAP3 00005135: SWAP1 00005136: MSTORE 00005137: KECCAK256 00005138: SLOAD 00005139: SWAP2 0000513a: SWAP1 0000513b: DIV 0000513c: SWAP8 0000513d: POP 0000513e: DUP2 0000513f: SWAP1 00005140: PUSH2 0x514d 00005143: SWAP1 00005144: PUSH2 0x5103 00005147: SWAP1 00005148: DUP6 00005149: PUSH2 0x3403 0000514c: JUMP 0000514d: JUMPDEST 0000514e: DUP2 0000514f: ISZERO 00005150: ISZERO 00005151: PUSH2 0x5156 00005154: JUMPI 00005155: INVALID 00005156: JUMPDEST 00005157: DIV 00005158: SWAP6 00005159: POP 0000515a: POP 0000515b: POP 0000515c: POP 0000515d: POP 0000515e: POP 0000515f: SWAP3 00005160: POP 00005161: SWAP3 00005162: SWAP1 00005163: POP 00005164: JUMP 00005165: JUMPDEST 00005166: PUSH2 0x516f 00005169: DUP4 0000516a: DUP4 0000516b: PUSH2 0x145f 0000516e: JUMP 0000516f: JUMPDEST 00005170: PUSH1 0x01 00005172: PUSH1 0xa0 00005174: PUSH1 0x02 00005176: EXP 00005177: SUB 00005178: DUP1 00005179: DUP4 0000517a: AND 0000517b: PUSH1 0x00 0000517d: DUP2 0000517e: DUP2 0000517f: MSTORE 00005180: PUSH1 0x0d 00005182: PUSH1 0x20 00005184: SWAP1 00005185: DUP2 00005186: MSTORE 00005187: PUSH1 0x40 00005189: DUP1 0000518a: DUP4 0000518b: KECCAK256 0000518c: SWAP5 0000518d: DUP7 0000518e: AND 0000518f: DUP1 00005190: DUP5 00005191: MSTORE 00005192: SWAP5 00005193: DUP3 00005194: MSTORE 00005195: DUP1 00005196: DUP4 00005197: KECCAK256 00005198: SLOAD 00005199: DUP5 0000519a: DUP5 0000519b: MSTORE 0000519c: PUSH1 0x0e 0000519e: DUP4 0000519f: MSTORE 000051a0: DUP2 000051a1: DUP5 000051a2: KECCAK256 000051a3: DUP7 000051a4: DUP6 000051a5: MSTORE 000051a6: DUP4 000051a7: MSTORE 000051a8: SWAP3 000051a9: DUP2 000051aa: SWAP1 000051ab: KECCAK256 000051ac: TIMESTAMP 000051ad: DUP10 000051ae: ADD 000051af: SWAP1 000051b0: DUP2 000051b1: SWAP1 000051b2: SSTORE 000051b3: DUP2 000051b4: MLOAD 000051b5: DUP2 000051b6: DUP2 000051b7: MSTORE 000051b8: SWAP2 000051b9: MLOAD 000051ba: SWAP8 000051bb: SWAP11 000051bc: POP 000051bd: SWAP6 000051be: SWAP9 000051bf: POP 000051c0: SWAP5 000051c1: SWAP6 000051c2: SWAP2 000051c3: SWAP5 000051c4: DUP6 000051c5: SWAP5 000051c6: SWAP4 000051c7: SWAP3 000051c8: PUSH32 0x20017e7b1ef8e7882103f55ff346ca3135c4afe13dff1da2f01b482aece766a5 000051e9: SWAP3 000051ea: SWAP2 000051eb: DUP2 000051ec: SWAP1 000051ed: SUB 000051ee: SWAP1 000051ef: SWAP2 000051f0: ADD 000051f1: SWAP1 000051f2: LOG4 000051f3: POP 000051f4: POP 000051f5: POP 000051f6: POP 000051f7: POP 000051f8: JUMP 000051f9: JUMPDEST 000051fa: PUSH2 0x5203 000051fd: DUP3 000051fe: DUP3 000051ff: PUSH2 0x145f 00005202: JUMP 00005203: JUMPDEST 00005204: PUSH1 0x01 00005206: PUSH1 0xa0 00005208: PUSH1 0x02 0000520a: EXP 0000520b: SUB 0000520c: DUP1 0000520d: DUP4 0000520e: AND 0000520f: PUSH1 0x00 00005211: SWAP1 00005212: DUP2 00005213: MSTORE 00005214: PUSH1 0x0e 00005216: PUSH1 0x20 00005218: SWAP1 00005219: DUP2 0000521a: MSTORE 0000521b: PUSH1 0x40 0000521d: DUP1 0000521e: DUP4 0000521f: KECCAK256 00005220: SWAP4 00005221: DUP6 00005222: AND 00005223: DUP4 00005224: MSTORE 00005225: SWAP3 00005226: SWAP1 00005227: MSTORE 00005228: KECCAK256 00005229: SLOAD 0000522a: SWAP2 0000522b: SWAP4 0000522c: POP 0000522d: SWAP2 0000522e: POP 0000522f: PUSH1 0x01 00005231: EQ 00005232: PUSH2 0x525f 00005235: JUMPI 00005236: PUSH1 0x01 00005238: PUSH1 0xa0 0000523a: PUSH1 0x02 0000523c: EXP 0000523d: SUB 0000523e: DUP1 0000523f: DUP4 00005240: AND 00005241: PUSH1 0x00 00005243: SWAP1 00005244: DUP2 00005245: MSTORE 00005246: PUSH1 0x0e 00005248: PUSH1 0x20 0000524a: SWAP1 0000524b: DUP2 0000524c: MSTORE 0000524d: PUSH1 0x40 0000524f: DUP1 00005250: DUP4 00005251: KECCAK256 00005252: SWAP4 00005253: DUP6 00005254: AND 00005255: DUP4 00005256: MSTORE 00005257: SWAP3 00005258: SWAP1 00005259: MSTORE 0000525a: KECCAK256 0000525b: PUSH1 0x01 0000525d: SWAP1 0000525e: SSTORE 0000525f: JUMPDEST 00005260: POP 00005261: POP 00005262: JUMP 00005263: JUMPDEST 00005264: PUSH1 0x00 00005266: DUP1 00005267: PUSH2 0x5274 0000526a: DUP9 0000526b: DUP9 0000526c: PUSH1 0x01 0000526e: DUP10 0000526f: SUB 00005270: PUSH2 0x1a9c 00005273: JUMP 00005274: JUMPDEST 00005275: SWAP2 00005276: POP 00005277: SWAP2 00005278: POP 00005279: PUSH1 0x00 0000527b: PUSH2 0x52ad 0000527e: PUSH2 0x5293 00005281: PUSH2 0x528a 00005284: DUP6 00005285: DUP9 00005286: PUSH2 0x3403 00005289: JUMP 0000528a: JUMPDEST 0000528b: PUSH3 0x015180 0000528f: PUSH2 0x3403 00005292: JUMP 00005293: JUMPDEST 00005294: PUSH2 0x52a8 00005297: PUSH2 0x52a0 0000529a: DUP8 0000529b: DUP7 0000529c: PUSH2 0x3403 0000529f: JUMP 000052a0: JUMPDEST 000052a1: PUSH2 0xa8c0 000052a4: PUSH2 0x3403 000052a7: JUMP 000052a8: JUMPDEST 000052a9: PUSH2 0x332f 000052ac: JUMP 000052ad: JUMPDEST 000052ae: SWAP1 000052af: POP 000052b0: PUSH1 0x00 000052b2: PUSH2 0x52cd 000052b5: PUSH2 0x52be 000052b8: DUP8 000052b9: DUP7 000052ba: PUSH2 0x3403 000052bd: JUMP 000052be: JUMPDEST 000052bf: PUSH2 0x52c8 000052c2: DUP8 000052c3: DUP7 000052c4: PUSH2 0x3403 000052c7: JUMP 000052c8: JUMPDEST 000052c9: PUSH2 0x27a7 000052cc: JUMP 000052cd: JUMPDEST 000052ce: DUP3 000052cf: DUP2 000052d0: ISZERO 000052d1: ISZERO 000052d2: PUSH2 0x52d7 000052d5: JUMPI 000052d6: INVALID 000052d7: JUMPDEST 000052d8: DIV 000052d9: SWAP1 000052da: POP 000052db: DUP7 000052dc: DUP2 000052dd: ADD 000052de: PUSH2 0x52e7 000052e1: DUP12 000052e2: DUP12 000052e3: PUSH2 0x145f 000052e6: JUMP 000052e7: JUMPDEST 000052e8: PUSH1 0x01 000052ea: PUSH1 0xa0 000052ec: PUSH1 0x02 000052ee: EXP 000052ef: SUB 000052f0: SWAP2 000052f1: DUP3 000052f2: AND 000052f3: PUSH1 0x00 000052f5: SWAP1 000052f6: DUP2 000052f7: MSTORE 000052f8: PUSH1 0x0f 000052fa: PUSH1 0x20 000052fc: SWAP1 000052fd: DUP2 000052fe: MSTORE 000052ff: PUSH1 0x40 00005301: DUP1 00005302: DUP4 00005303: KECCAK256 00005304: SWAP4 00005305: SWAP1 00005306: SWAP5 00005307: AND 00005308: DUP3 00005309: MSTORE 0000530a: SWAP2 0000530b: DUP3 0000530c: MSTORE 0000530d: DUP3 0000530e: DUP2 0000530f: KECCAK256 00005310: SWAP12 00005311: DUP2 00005312: MSTORE 00005313: SWAP11 00005314: SWAP1 00005315: MSTORE 00005316: SWAP1 00005317: SWAP9 00005318: KECCAK256 00005319: SWAP8 0000531a: SWAP1 0000531b: SWAP8 0000531c: SSTORE 0000531d: POP 0000531e: POP 0000531f: POP 00005320: POP 00005321: POP 00005322: POP 00005323: POP 00005324: POP 00005325: POP 00005326: JUMP 00005327: JUMPDEST 00005328: PUSH1 0x40 0000532a: DUP1 0000532b: MLOAD 0000532c: DUP1 0000532d: DUP3 0000532e: ADD 0000532f: SWAP1 00005330: SWAP2 00005331: MSTORE 00005332: PUSH1 0x00 00005334: DUP1 00005335: DUP3 00005336: MSTORE 00005337: PUSH1 0x20 00005339: DUP3 0000533a: ADD 0000533b: MSTORE 0000533c: SWAP1 0000533d: JUMP 0000533e: INVALID 0000533f: MSIZE 00005340: PUSH16 0x75206d75737420736574206120736d61 00005351: PUSH13 0x6c6572206e756d657261746f72 0000535f: KECCAK256 00005360: PUSH7 0x6f722074686520 00005368: PUSH10 0x6e697469616c20707269 00005373: PUSH4 0x65596f75 00005378: KECCAK256 00005379: PUSH14 0x7573742073657420746865206465 00005388: PUSH15 0x6f6d696e61746f7220666f72207468 00005398: PUSH6 0x20696e697469 0000539f: PUSH2 0x6c20 000053a2: PUSH17 0x7269636554686520616d6f756e74206d75 000053b4: PUSH20 0x742062652067726561746572207468616e203054 000053c9: PUSH9 0x6520636f6e74726163 000053d3: PUSH21 0x206d75737420626520756e696e697469616c697a65 000053e9: PUSH5 0x596f752073 000053ef: PUSH9 0x6f756c642073757270 000053f9: PUSH13 0x75732074686520746872657368 00005407: PUSH16 0x6c6420666f7220616464696e6720746f 00005418: PUSH12 0x656e20706169727354686520 00005425: PUSH15 0x65772070726f706f73616c206d7573 00005435: PUSH21 0x20626520612076616c696420616464726573546865 0000544b: KECCAK256 0000544c: PUSH2 0x7563 0000544f: PUSH21 0x696f6e656572206d75737420626520612076616c69 00005465: PUSH5 0x2061646472 0000546b: PUSH6 0x737354686520 00005472: PUSH14 0x617374657220636f6e7472616374 00005481: KECCAK256 00005482: PUSH4 0x616e6e6f 00005487: PUSH21 0x206265207570646174656420696e20612077616974 0000549d: PUSH10 0x6e6720706572696f644f 000054a8: PUSH15 0x6c79207468652061756374696f6e65 000054b8: PUSH6 0x722063616e20 000054bf: PUSH15 0x6f6d696e6174652061206e6577206f 000054cf: PUSH15 0x65596f752073686f756c6420757365 000054df: KECCAK256 000054e0: PUSH2 0x2073 000054e3: PUSH14 0x616c6c65722066756e64696e6720 000054f2: PUSH7 0x6f7220746f6b65 000054fa: PUSH15 0x2032546865206e6577206d61737465 0000550a: PUSH19 0x20636f7079206d75737420626520612076616c 0000551e: PUSH10 0x64206164647265737359 00005529: PUSH16 0x752063616e6e6f742061646420612074 0000553a: PUSH16 0x6b656e2070616972207573696e672074 0000554b: PUSH9 0x652073616d6520746f 00005555: PUSH12 0x656e49742773206e6f742070 00005562: PUSH16 0x737369626c6520746f20757064617465 00005573: KECCAK256 00005574: PUSH21 0x6865206f7261636c6520647572696e672074686520 0000558a: PUSH24 0x616974696e6720706572696f64546865206465706f736974 000055a3: KECCAK256 000055a4: PUSH21 0x72616e73616374696f6e206d757374207375636365 000055ba: PUSH6 0x645468652077 000055c1: PUSH10 0x74686472617720747261 000055cc: PUSH15 0x73666572206d757374207375636365 000055dc: PUSH6 0x644175637469 000055e3: PUSH16 0x6e20696e6465782073686f756c642062 000055f4: PUSH6 0x20657175616c 000055fb: KECCAK256 000055fc: PUSH21 0x6f206c61746573742061756374696f6e20696e6465 00005612: PUSH25 0x5468652061756374696f6e6565722061646472657373206d75 0000562c: PUSH20 0x742062652076616c6964596f75206d7573742073 00005641: PUSH6 0x74206120736d 00005648: PUSH2 0x6c6c 0000564b: PUSH6 0x722064656e6f 00005652: PUSH14 0x696e61746f7220666f7220746865 00005661: KECCAK256 00005662: PUSH10 0x6e697469616c20707269 0000566d: PUSH4 0x65596f75 00005672: KECCAK256 00005673: PUSH14 0x7573742073657420746865206e75 00005682: PUSH14 0x657261746f7220666f7220746865 00005691: KECCAK256 00005692: PUSH10 0x6e697469616c20707269 0000569d: PUSH4 0x65596f75 000056a2: KECCAK256 000056a3: PUSH20 0x686f756c6420757365206120736d616c6c657220 000056b8: PUSH7 0x756e64696e6720 000056c0: PUSH7 0x6f7220746f6b65 000056c8: PUSH15 0x2031a165627a7a723058207c2888b0 000056d8: UNKNOWN(0x4E) 000056d9: PUSH8 0x5c63e2fcd95ada8c 000056e2: CHAINID 000056e3: GASLIMIT 000056e4: UNKNOWN(0xE1) 000056e5: UNKNOWN(0xB6) 000056e6: UNKNOWN(0xE4) 000056e7: SWAP1 000056e8: UNKNOWN(0xB9) 000056e9: PUSH0 000056ea: DUP13 000056eb: RETURNDATACOPY 000056ec: UNKNOWN(0xCD) 000056ed: UNKNOWN(0xCF) 000056ee: UNKNOWN(0x29) 000056ef: UNKNOWN(0xCC) 000056f0: SWAP13 000056f1: ADDMOD 000056f2: STATICCALL 000056f3: UNKNOWN(0xCA) 000056f4: STOP 000056f5: UNKNOWN(0x29)
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| critical | upgradeability | codex | Unprotected initializer lets anyone seize auctioneer role and upgrade to a draining master copy | 90 | no | — |
viewevidence_json{
"evidence": "setupDutchExchange is public and only checks ethToken == address(0) before setting auctioneer and core addresses, allowing any first caller to take control.",
"locations": [
"contracts/Contract.sol:1548",
"contracts/Contract.sol:1558",
"contracts/Contract.sol:1568",
"contracts/Contract.sol:1318",
"contracts/Contract.sol:1327"
],
"recommendation": "Restrict setupDutchExchange to a trusted initializer (e.g., onlyDeployer/onlyOwner), and initialize the proxy in the same transaction as deployment. Consider an explicit initializer guard (e.g., OpenZeppelin Initializable) and/or disabling initialization on the master copy.",
"exploit_scenario": "1) Monitor for a newly deployed DutchExchange proxy that has not yet been initialized (ethToken == address(0)). 2) Call setupDutchExchange with attacker-controlled parameters, setting auctioneer to the attacker and optionally pointing ethToken/frtToken/owlToken to attacker-controlled contracts. 3) As auctioneer, call startMasterCopyCountdown with a malicious implementation; after 30 days, call updateMasterCopy. 4) Invoke the malicious implementation\u2019s drain function (or use the fake ethToken path to trade worthless tokens for real deposits) to transfer all escrowed assets to the attacker."
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0xe19afe5030423cb470f93b2f3798fe67efe0c254cff409e59f4a6a8ef190ac35
call_targets:
0x2bae491b065032a76be1db9e9ecf5738afae203e
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xe19afe5030423cb470f93b2f3798fe67efe0c254cff409e59f4a6a8ef190ac35",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x2bae491b065032a76be1db9e9ecf5738afae203e"
],
"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": "0xf4279d1f",
"selector": "0xf4279d1f",
"calldata_variants": [
"0xf4279d1f",
"0xf4279d1f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf625ee28",
"selector": "0xf625ee28",
"calldata_variants": [
"0xf625ee28",
"0xf625ee280000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf79710fd",
"selector": "0xf79710fd",
"calldata_variants": [
"0xf79710fd",
"0xf79710fd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfac7abe3",
"selector": "0xfac7abe3",
"calldata_variants": [
"0xfac7abe3",
"0xfac7abe30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfdab1b7b",
"selector": "0xfdab1b7b",
"calldata_variants": [
"0xfdab1b7b",
"0xfdab1b7b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xedd0b5cb",
"selector": "0xedd0b5cb",
"calldata_variants": [
"0xedd0b5cb",
"0xedd0b5cb0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xee93114c",
"selector": "0xee93114c",
"calldata_variants": [
"0xee93114c",
"0xee93114c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf3fef3a3",
"selector": "0xf3fef3a3",
"calldata_variants": [
"0xf3fef3a3",
"0xf3fef3a30000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 17357,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 17485,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 19081,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 4,
"guards_detected": [],
"untrusted_call_count": 4
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0xe19afe5030423cb470f93b2f3798fe67efe0c254cff409e59f4a6a8ef190ac35
call_targets:
0x2bae491b065032a76be1db9e9ecf5738afae203e
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xe19afe5030423cb470f93b2f3798fe67efe0c254cff409e59f4a6a8ef190ac35",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x2bae491b065032a76be1db9e9ecf5738afae203e"
],
"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": "0xf4279d1f",
"selector": "0xf4279d1f",
"calldata_variants": [
"0xf4279d1f",
"0xf4279d1f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf625ee28",
"selector": "0xf625ee28",
"calldata_variants": [
"0xf625ee28",
"0xf625ee280000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf79710fd",
"selector": "0xf79710fd",
"calldata_variants": [
"0xf79710fd",
"0xf79710fd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfac7abe3",
"selector": "0xfac7abe3",
"calldata_variants": [
"0xfac7abe3",
"0xfac7abe30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfdab1b7b",
"selector": "0xfdab1b7b",
"calldata_variants": [
"0xfdab1b7b",
"0xfdab1b7b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xedd0b5cb",
"selector": "0xedd0b5cb",
"calldata_variants": [
"0xedd0b5cb",
"0xedd0b5cb0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xee93114c",
"selector": "0xee93114c",
"calldata_variants": [
"0xee93114c",
"0xee93114c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf3fef3a3",
"selector": "0xf3fef3a3",
"calldata_variants": [
"0xf3fef3a3",
"0xf3fef3a30000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 17357,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 17485,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 19081,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 4,
"guards_detected": []
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 11
}
|
| info | other | cast | Heavy CALL-family usage | 55 | no | — |
viewevidence_json{
"notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
"call_family_count": 12
}
|