3c6ff52f-c8f2-4d99-9d2f-bd09425954ea
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 |
|---|---|---|---|---|
| 30201 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 93805 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 93806 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 93807 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 93808 | capability.graph | complete | 1 / 3 | 1 week ago |
| 93809 | detector.run | complete | 1 / 3 | 1 week ago |
| 93810 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:354555] OpenAI Codex v0.77.0 (research preview)
[codex:354555] --------
[codex:354555] workdir: /tmp/codex-multi-2me4sr08
[codex:354555] model: gpt-5.2-codex
[codex:354555] provider: openai
[codex:354555] approval: never
[codex:354555] sandbox: read-only
[codex:354555] reasoning effort: xhigh
[codex:354555] reasoning summaries: auto
[codex:354555] session id: 019b61a2-9b46-7bf1-af7d-f4932ab1d4fe
[codex:354555] --------
[codex:354555] user
[codex:354555] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:354555] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:354555] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:354555]
[codex:354555] Scope rules:
[codex:354555] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:354555] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:354555]
[codex:354555] Output MUST be valid JSON matching the provided schema.
[codex:354555] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:354555] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:354555]
[codex:354555] Output constraints (IMPORTANT):
[codex:354555] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:354555] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:354555] mcp startup: no servers
[codex:354555]
[codex:354555] thinking
[codex:354555] **Preparing to read AGENTS instructions**
[codex:354555] exec
[codex:354555] /bin/bash -lc ls in /tmp/codex-multi-2me4sr08 succeeded in 5ms:
[codex:354555] AUDIT_BUNDLE.txt
[codex:354555] codex-output-schema.json
[codex:354555] contracts
[codex:354555]
[codex:354555] thinking
[codex:354555] **Reading AUDIT_BUNDLE.txt**
[codex:354555] exec
[codex:354555] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-2me4sr08 succeeded in 7ms:
[codex:354555] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:354555]
[codex:354555] ================================================================================
[codex:354555] FILE: contracts/Contract.sol
[codex:354555] ================================================================================
[codex:354555] /*
[codex:354555]
[codex:354555] Copyright 2019 dYdX Trading Inc.
[codex:354555]
[codex:354555] Licensed under the Apache License, Version 2.0 (the "License");
[codex:354555] you may not use this file except in compliance with the License.
[codex:354555] You may obtain a copy of the License at
[codex:354555]
[codex:354555] http://www.apache.org/licenses/LICENSE-2.0
[codex:354555]
[codex:354555] Unless required by applicable law or agreed to in writing, software
[codex:354555] distributed under the License is distributed on an "AS IS" BASIS,
[codex:354555] WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:354555] See the License for the specific language governing permissions and
[codex:354555] limitations under the License.
[codex:354555]
[codex:354555] thinking
[codex:354555] **Reviewing concatenated first-party code for vulnerabilities**
[codex:354555] exec
[codex:354555] /bin/bash -lc 'rg --files contracts' in /tmp/codex-multi-2me4sr08 succeeded in 8ms:
[codex:354555] contracts/Contract.sol
[codex:354555]
[codex:354555] thinking
[codex:354555] **Preparing to analyze Contract.sol for vulnerabilities**
[codex:354555] exec
[codex:354555] /bin/bash -lc "rg -n \"delegatecall|call\\(|\\.call\\(|transfer\\(|send\\(|callFunction|exchange\" contracts/Contract.sol" in /tmp/codex-multi-2me4sr08 succeeded in 6ms:
[codex:354555] 1349: * transfer(), transferFrom(), or approve().
[codex:354555] 1385: function transfer(
[codex:354555] 1490: function transfer(
[codex:354555] 1501: IErc20(token).transfer(to, amount);
[codex:354555] 2367: token.transfer(recipient, excessWei.value);
[codex:354555] 2385: token.transfer(recipient, balance);
[codex:354555] 3619: function callFunction(
[codex:354555] 3722: * specified exchangeWrapper contract and expects makerMarket tokens in return. The amount field
[codex:354555] 3730: address exchangeWrapper;
[codex:354555] 3736: * specified exchangeWrapper and expects makerMarket tokens in return. The amount field applies
[codex:354555] 3744: address exchangeWrapper;
[codex:354555] 3770: * exchange for any collateral asset (heldMarket) of the liquidAccount. The ratio is determined
[codex:354555] 3790: * exchange for a collateral asset (heldMarket) at a favorable spread. However, since the
[codex:354555] 3924: exchangeWrapper: args.otherAddress,
[codex:354555] 3943: exchangeWrapper: args.otherAddress,
[codex:354555] 4077: address exchangeWrapper
[codex:354555] 4087: address exchangeWrapper
[codex:354555] 4257: args.exchangeWrapper
[codex:354555] 4286: args.exchangeWrapper
[codex:354555] 4481: * @param orderData Arbitrary bytes data for any information to pass to the exchange
[codex:354555]
[codex:354555] thinking
[codex:354555] **Inspecting external calls in Exchange library**
[codex:354555] exec
[codex:354555] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '4300,4700p'" in /tmp/codex-multi-2me4sr08 succeeded in 7ms:
[codex:354555] 4300 state,
[codex:354555] 4301 args.takerAccount,
[codex:354555] 4302 args.inputMarket,
[codex:354555] 4303 inputWei.negative()
[codex:354555] 4304 ),
[codex:354555] 4305 getBalanceUpdate(
[codex:354555] 4306 state,
[codex:354555] 4307 args.takerAccount,
[codex:354555] 4308 args.outputMarket,
[codex:354555] 4309 outputWei.negative()
[codex:354555] 4310 ),
[codex:354555] 4311 getBalanceUpdate(
[codex:354555] 4312 state,
[codex:354555] 4313 args.makerAccount,
[codex:354555] 4314 args.inputMarket,
[codex:354555] 4315 inputWei
[codex:354555] 4316 ),
[codex:354555] 4317 getBalanceUpdate(
[codex:354555] 4318 state,
[codex:354555] 4319 args.makerAccount,
[codex:354555]
[codex:354555] thinking
[codex:354555] **Analyzing reentrancy and access control**
[codex:354555] exec
[codex:354555] /bin/bash -lc "rg -n \"onlyOwner|requireIsOwner|isOwner|owner\\(\" contracts/Contract.sol" in /tmp/codex-multi-2me4sr08 succeeded in 6ms:
[codex:354555] 46: function owner() public view returns (address) {
[codex:354555] 53: modifier onlyOwner() {
[codex:354555] 54: require(isOwner());
[codex:354555] 61: function isOwner() public view returns (bool) {
[codex:354555] 68: * It will not be possible to call the functions with the `onlyOwner`
[codex:354555] 71: function renounceOwnership() public onlyOwner {
[codex:354555] 80: function transferOwnership(address newOwner) public onlyOwner {
[codex:354555] 2702: onlyOwner
[codex:354555] 2721: onlyOwner
[codex:354555] 2745: onlyOwner
[codex:354555] 2767: onlyOwner
[codex:354555] 2785: onlyOwner
[codex:354555] 2803: onlyOwner
[codex:354555] 2822: onlyOwner
[codex:354555] 2841: onlyOwner
[codex:354555] 2861: onlyOwner
[codex:354555] 2878: onlyOwner
[codex:354555] 2895: onlyOwner
[codex:354555] 2911: onlyOwner
[codex:354555] 2931: onlyOwner
[codex:354555]
[codex:354555] thinking
[codex:354555] **Exploring admin functions**
[codex:354555] exec
[codex:354555] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '2600,3000p'" in /tmp/codex-multi-2me4sr08 succeeded in 7ms:
[codex:354555] 2600
[codex:354555] 2601 function _setMarginPremium(
[codex:354555] 2602 Storage.State storage state,
[codex:354555] 2603 uint256 marketId,
[codex:354555] 2604 Decimal.D256 memory marginPremium
[codex:354555] 2605 )
[codex:354555] 2606 private
[codex:354555] 2607 {
[codex:354555] 2608 Require.that(
[codex:354555] 2609 marginPremium.value <= state.riskLimits.marginPremiumMax,
[codex:354555] 2610 FILE,
[codex:354555] 2611 "Margin premium too high"
[codex:354555] 2612 );
[codex:354555] 2613 state.markets[marketId].marginPremium = marginPremium;
[codex:354555] 2614
[codex:354555] 2615 emit LogSetMarginPremium(marketId, marginPremium);
[codex:354555] 2616 }
[codex:354555] 2617
[codex:354555] 2618 function _setSpreadPremium(
[codex:354555] 2619 Storage.State storage state,
[codex:354555]
[codex:354555] thinking
[codex:354555] **Inspecting admin function security**
[codex:354555] exec
[codex:354555] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '2200,2500p'" in /tmp/codex-multi-2me4sr08 succeeded in 7ms:
[codex:354555] 2200 Types.Par memory oldPar = state.getPar(account, marketId);
[codex:354555] 2201
[codex:354555] 2202 if (Types.equals(oldPar, newPar)) {
[codex:354555] 2203 return;
[codex:354555] 2204 }
[codex:354555] 2205
[codex:354555] 2206 // updateTotalPar
[codex:354555] 2207 Types.TotalPar memory totalPar = state.getTotalPar(marketId);
[codex:354555] 2208
[codex:354555] 2209 // roll-back oldPar
[codex:354555] 2210 if (oldPar.sign) {
[codex:354555] 2211 totalPar.supply = uint256(totalPar.supply).sub(oldPar.value).to128();
[codex:354555] 2212 } else {
[codex:354555] 2213 totalPar.borrow = uint256(totalPar.borrow).sub(oldPar.value).to128();
[codex:354555] 2214 }
[codex:354555] 2215
[codex:354555] 2216 // roll-forward newPar
[codex:354555] 2217 if (newPar.sign) {
[codex:354555] 2218 totalPar.supply = uint256(totalPar.supply).add(newPar.value).to128();
[codex:354555] 2219 } else {
[codex:354555]
[codex:354555] thinking
[codex:354555] **Analyzing public library function access and storage implications**
[codex:354555] exec
[codex:354555] /bin/bash -lc "rg -n \"library Token|Token\\.\" contracts/Contract.sol" in /tmp/codex-multi-2me4sr08 succeeded in 7ms:
[codex:354555] 1420:// File: contracts/protocol/lib/Token.sol
[codex:354555] 1430:library Token {
[codex:354555] 1784: value: Token.balanceOf(token, address(this))
[codex:354555] 4472: * Exchange some amount of takerToken for makerToken.
[codex:354555] 4549: Token.transfer(
[codex:354555] 4570: Token.transferFrom(
[codex:354555] exec
[codex:354555] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '1340,1550p'" in /tmp/codex-multi-2me4sr08 succeeded in 7ms:
[codex:354555] 1340
[codex:354555] 1341 // File: contracts/protocol/interfaces/IErc20.sol
[codex:354555] 1342
[codex:354555] 1343 /**
[codex:354555] 1344 * @title IErc20
[codex:354555] 1345 * @author dYdX
[codex:354555] 1346 *
[codex:354555] 1347 * Interface for using ERC20 Tokens. We have to use a special interface to call ERC20 functions so
[codex:354555] 1348 * that we don't automatically revert when calling non-compliant tokens that have no return value for
[codex:354555] 1349 * transfer(), transferFrom(), or approve().
[codex:354555] 1350 */
[codex:354555] 1351 interface IErc20 {
[codex:354555] 1352 event Transfer(
[codex:354555] 1353 address indexed from,
[codex:354555] 1354 address indexed to,
[codex:354555] 1355 uint256 value
[codex:354555] 1356 );
[codex:354555] 1357
[codex:354555] 1358 event Approval(
[codex:354555] 1359 address indexed owner,
[codex:354555]
[codex:354555] thinking
[codex:354555] **Analyzing potential token and reentrancy vulnerabilities**
[codex:354555] exec
[codex:354555] /bin/bash -lc 'rg -n "requireIsOperator|isOperator" contracts/Contract.sol' in /tmp/codex-multi-2me4sr08 succeeded in 7ms:
[codex:354555] 2017: function requireIsOperator(
[codex:354555] 4925: state.requireIsOperator(args.account, msg.sender);
[codex:354555] 4969: state.requireIsOperator(args.account, msg.sender);
[codex:354555] 5006: state.requireIsOperator(args.accountOne, msg.sender);
[codex:354555] 5007: state.requireIsOperator(args.accountTwo, msg.sender);
[codex:354555] 5043: state.requireIsOperator(args.account, msg.sender);
[codex:354555] 5108: state.requireIsOperator(args.account, msg.sender);
[codex:354555] 5157: state.requireIsOperator(args.takerAccount, msg.sender);
[codex:354555] 5158: state.requireIsOperator(args.makerAccount, args.autoTrader);
[codex:354555] 5238: state.requireIsOperator(args.solidAccount, msg.sender);
[codex:354555] 5342: state.requireIsOperator(args.solidAccount, msg.sender);
[codex:354555] 5447: state.requireIsOperator(args.account, msg.sender);
[codex:354555] exec
[codex:354555] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '1900,2100p'" in /tmp/codex-multi-2me4sr08 succeeded in 7ms:
[codex:354555] 1900 uint256 marketId
[codex:354555] 1901 )
[codex:354555] 1902 internal
[codex:354555] 1903 view
[codex:354555] 1904 returns (Monetary.Price memory)
[codex:354555] 1905 {
[codex:354555] 1906 IPriceOracle oracle = IPriceOracle(state.markets[marketId].priceOracle);
[codex:354555] 1907 Monetary.Price memory price = oracle.getPrice(state.getToken(marketId));
[codex:354555] 1908 Require.that(
[codex:354555] 1909 price.value != 0,
[codex:354555] 1910 FILE,
[codex:354555] 1911 "Price cannot be zero",
[codex:354555] 1912 marketId
[codex:354555] 1913 );
[codex:354555] 1914 return price;
[codex:354555] 1915 }
[codex:354555] 1916
[codex:354555] 1917 function getAccountValues(
[codex:354555] 1918 Storage.State storage state,
[codex:354555] 1919 Account.Info memory account,
[codex:354555]
[codex:354555] thinking
[codex:354555] **Evaluating oracle and input validation risks**
[codex:354555] exec
[codex:354555] /bin/bash -lc 'rg -n "_verifyInputs|verifyInputs" contracts/Contract.sol' in /tmp/codex-multi-2me4sr08 succeeded in 7ms:
[codex:354555] 4675: _verifyInputs(accounts, actions);
[codex:354555] 4703: function _verifyInputs(
[codex:354555] exec
[codex:354555] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '4700,4900p'" in /tmp/codex-multi-2me4sr08 succeeded in 7ms:
[codex:354555] 4700
[codex:354555] 4701 // ============ Helper Functions ============
[codex:354555] 4702
[codex:354555] 4703 function _verifyInputs(
[codex:354555] 4704 Account.Info[] memory accounts,
[codex:354555] 4705 Actions.ActionArgs[] memory actions
[codex:354555] 4706 )
[codex:354555] 4707 private
[codex:354555] 4708 pure
[codex:354555] 4709 {
[codex:354555] 4710 Require.that(
[codex:354555] 4711 actions.length != 0,
[codex:354555] 4712 FILE,
[codex:354555] 4713 "Cannot have zero actions"
[codex:354555] 4714 );
[codex:354555] 4715
[codex:354555] 4716 Require.that(
[codex:354555] 4717 accounts.length != 0,
[codex:354555] 4718 FILE,
[codex:354555] 4719 "Cannot have zero accounts"
[codex:354555]
[codex:354555] thinking
[codex:354555] **Analyzing potential contract vulnerabilities**
[codex:354555]
[codex:354555] I'm exploring various spots where state updates happen before external calls, checking if reentrancy or token transfer failures could cause problems. I’m also reviewing how user-supplied addresses and exchange wrappers are trusted, the use of nonReentrant guards, unchecked return values, and interactions with deflationary tokens or oracles that might open subtle risks. Let's see if these design choices hold up under scrutiny!
[codex:354555] exec
[codex:354555] /bin/bash -lc 'rg -n "signature|ecrecover|permit|hash" contracts/Contract.sol' in /tmp/codex-multi-2me4sr08 exited 1 in 7ms:
[codex:354555]
[codex:354555]
[codex:354555] thinking
[codex:354555] **Checking for delegatecall usage**
[codex:354555] exec
[codex:354555] /bin/bash -lc 'rg -n "delegatecall" contracts/Contract.sol' in /tmp/codex-multi-2me4sr08 exited 1 in 6ms:
[codex:354555]
[codex:354555]
[codex:354555] thinking
[codex:354555] **Analyzing potential reentrancy and operator vulnerabilities**
[codex:354555] exec
[codex:354555] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '1530,1605p'" in /tmp/codex-multi-2me4sr08 succeeded in 6ms:
[codex:354555] 1530
[codex:354555] 1531 // ============ Private Functions ============
[codex:354555] 1532
[codex:354555] 1533 /**
[codex:354555] 1534 * Check the return value of the previous function up to 32 bytes. Return true if the previous
[codex:354555] 1535 * function returned 0 bytes or 32 bytes that are not all-zero.
[codex:354555] 1536 */
[codex:354555] 1537 function checkSuccess(
[codex:354555] 1538 )
[codex:354555] 1539 private
[codex:354555] 1540 pure
[codex:354555] 1541 returns (bool)
[codex:354555] 1542 {
[codex:354555] 1543 uint256 returnValue = 0;
[codex:354555] 1544
[codex:354555] 1545 /* solium-disable-next-line security/no-inline-assembly */
[codex:354555] 1546 assembly {
[codex:354555] 1547 // check number of bytes returned from last function call
[codex:354555] 1548 switch returndatasize
[codex:354555] 1549
[codex:354555]
[codex:354555] thinking
[codex:354555] **Analyzing complex reentrancy and token transfer risks**
[codex:354555]
[codex:354555] I'm examining possible reentrancy issues around `ownerWithdrawExcessTokens` and how the shared `nonReentrant` guard across inherited contracts protects against nested calls during token transfer. I’m also focusing on the subtle risk in token deposit where using the contract’s own address as the `from` in a transfer could let internal balances inflate without actual token moves, potentially breaking accounting assumptions. This involves checking how deposit actions handle the `from` field and associated permissions.
[codex:354555] exec
[codex:354555] /bin/bash -lc 'rg -n "DepositArgs|parseDepositArgs" contracts/Contract.sol' in /tmp/codex-multi-2me4sr08 succeeded in 6ms:
[codex:354555] 3690: struct DepositArgs {
[codex:354555] 3859: function parseDepositArgs(
[codex:354555] 3865: returns (DepositArgs memory)
[codex:354555] 3868: return DepositArgs({
[codex:354555] 4164: Actions.DepositArgs memory args,
[codex:354555] 4838: _deposit(state, Actions.parseDepositArgs(accounts, action));
[codex:354555] 4921: Actions.DepositArgs memory args
[codex:354555] exec
[codex:354555] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '3660,3890p'" in /tmp/codex-multi-2me4sr08 succeeded in 7ms:
[codex:354555] 3660
[codex:354555] 3661 enum MarketLayout {
[codex:354555] 3662 ZeroMarkets,
[codex:354555] 3663 OneMarket,
[codex:354555] 3664 TwoMarkets
[codex:354555] 3665 }
[codex:354555] 3666
[codex:354555] 3667 // ============ Structs ============
[codex:354555] 3668
[codex:354555] 3669 /*
[codex:354555] 3670 * Arguments that are passed to Solo in an ordered list as part of a single operation.
[codex:354555] 3671 * Each ActionArgs has an actionType which specifies which action struct that this data will be
[codex:354555] 3672 * parsed into before being processed.
[codex:354555] 3673 */
[codex:354555] 3674 struct ActionArgs {
[codex:354555] 3675 ActionType actionType;
[codex:354555] 3676 uint256 accountId;
[codex:354555] 3677 Types.AssetAmount amount;
[codex:354555] 3678 uint256 primaryMarketId;
[codex:354555] 3679 uint256 secondaryMarketId;
[codex:354555]
[codex:354555] thinking
[codex:354555] **Analyzing deposit vulnerability potential**
[codex:354555] exec
[codex:354555] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '4900,5040p'" in /tmp/codex-multi-2me4sr08 succeeded in 8ms:
[codex:354555] 4900
[codex:354555] 4901 // check collateralization for primary accounts
[codex:354555] 4902 Require.that(
[codex:354555] 4903 collateralized,
[codex:354555] 4904 FILE,
[codex:354555] 4905 "Undercollateralized account",
[codex:354555] 4906 account.owner,
[codex:354555] 4907 account.number
[codex:354555] 4908 );
[codex:354555] 4909
[codex:354555] 4910 // ensure status is normal for primary accounts
[codex:354555] 4911 if (state.getStatus(account) != Account.Status.Normal) {
[codex:354555] 4912 state.setStatus(account, Account.Status.Normal);
[codex:354555] 4913 }
[codex:354555] 4914 }
[codex:354555] 4915 }
[codex:354555] 4916
[codex:354555] 4917 // ============ Action Functions ============
[codex:354555] 4918
[codex:354555] 4919 function _deposit(
[codex:354555]
[codex:354555] thinking
[codex:354555] **Analyzing deposit authorization logic**
[codex:354555] exec
[codex:354555] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '2080,2200p'" in /tmp/codex-multi-2me4sr08 succeeded in 6ms:
[codex:354555] 2080 deltaWei = Interest.parToWei(newPar, index).sub(oldWei);
[codex:354555] 2081 }
[codex:354555] 2082
[codex:354555] 2083 return (newPar, deltaWei);
[codex:354555] 2084 }
[codex:354555] 2085
[codex:354555] 2086 function getNewParAndDeltaWeiForLiquidation(
[codex:354555] 2087 Storage.State storage state,
[codex:354555] 2088 Account.Info memory account,
[codex:354555] 2089 uint256 marketId,
[codex:354555] 2090 Types.AssetAmount memory amount
[codex:354555] 2091 )
[codex:354555] 2092 internal
[codex:354555] 2093 view
[codex:354555] 2094 returns (Types.Par memory, Types.Wei memory)
[codex:354555] 2095 {
[codex:354555] 2096 Types.Par memory oldPar = state.getPar(account, marketId);
[codex:354555] 2097
[codex:354555] 2098 Require.that(
[codex:354555] 2099 !oldPar.isPositive(),
[codex:354555]
[codex:354555] thinking
[codex:354555] **Investigating getNumExcessTokens usage**
[codex:354555] exec
[codex:354555] /bin/bash -lc 'rg -n "getNumExcessTokens" -n contracts/Contract.sol' in /tmp/codex-multi-2me4sr08 succeeded in 6ms:
[codex:354555] 1769: function getNumExcessTokens(
[codex:354555] 2352: Types.Wei memory excessWei = state.getNumExcessTokens(marketId);
[codex:354555] 3330: function getNumExcessTokens(
[codex:354555] 3338: return g_state.getNumExcessTokens(marketId);
[codex:354555] 5372: Types.Wei memory maxHeldWei = state.getNumExcessTokens(args.heldMarket);
[codex:354555] 5511: Types.Wei memory excessWei = state.getNumExcessTokens(args.owedMarket);
[codex:354555] exec
[codex:354555] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '1700,1820p'" in /tmp/codex-multi-2me4sr08 succeeded in 7ms:
[codex:354555] 1700 // The maximum RiskParam values that can be set
[codex:354555] 1701 struct RiskLimits {
[codex:354555] 1702 uint64 marginRatioMax;
[codex:354555] 1703 uint64 liquidationSpreadMax;
[codex:354555] 1704 uint64 earningsRateMax;
[codex:354555] 1705 uint64 marginPremiumMax;
[codex:354555] 1706 uint64 spreadPremiumMax;
[codex:354555] 1707 uint128 minBorrowedValueMax;
[codex:354555] 1708 }
[codex:354555] 1709
[codex:354555] 1710 // The entire storage state of Solo
[codex:354555] 1711 struct State {
[codex:354555] 1712 // number of markets
[codex:354555] 1713 uint256 numMarkets;
[codex:354555] 1714
[codex:354555] 1715 // marketId => Market
[codex:354555] 1716 mapping (uint256 => Market) markets;
[codex:354555] 1717
[codex:354555] 1718 // owner => account number => Account
[codex:354555] 1719 mapping (address => mapping (uint256 => Account.Storage)) accounts;
[codex:354555]
[codex:354555] thinking
[codex:354555] **Analyzing potential token handling issues**
[codex:354555] exec
[codex:354555] /bin/bash -lc 'rg -n "fetchNewIndex" contracts/Contract.sol' in /tmp/codex-multi-2me4sr08 succeeded in 6ms:
[codex:354555] 1855: function fetchNewIndex(
[codex:354555] 2179: return state.markets[marketId].index = state.fetchNewIndex(marketId, index);
[codex:354555] 3125: return g_state.fetchNewIndex(marketId, g_state.getIndex(marketId));
[codex:354555] 3380: g_state.fetchNewIndex(marketId, g_state.getIndex(marketId))
[codex:354555] exec
[codex:354555] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '1820,1895p'" in /tmp/codex-multi-2me4sr08 succeeded in 7ms:
[codex:354555] 1820 Storage.State storage state,
[codex:354555] 1821 Account.Info memory account,
[codex:354555] 1822 uint256 marketId
[codex:354555] 1823 )
[codex:354555] 1824 internal
[codex:354555] 1825 view
[codex:354555] 1826 returns (Types.Wei memory)
[codex:354555] 1827 {
[codex:354555] 1828 Types.Par memory par = state.getPar(account, marketId);
[codex:354555] 1829
[codex:354555] 1830 if (par.isZero()) {
[codex:354555] 1831 return Types.zeroWei();
[codex:354555] 1832 }
[codex:354555] 1833
[codex:354555] 1834 Interest.Index memory index = state.getIndex(marketId);
[codex:354555] 1835 return Interest.parToWei(par, index);
[codex:354555] 1836 }
[codex:354555] 1837
[codex:354555] 1838 function getLiquidationSpreadForPair(
[codex:354555] 1839 Storage.State storage state,
[codex:354555]
[codex:354555] thinking
[codex:354555] **Analyzing potential security risks**
[codex:354555] exec
[codex:354555] /bin/bash -lc 'rg -n "library Account|struct Info" contracts/Contract.sol' in /tmp/codex-multi-2me4sr08 succeeded in 6ms:
[codex:354555] 894:library Account {
[codex:354555] 915: struct Info {
[codex:354555] exec
[codex:354555] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '880,960p'" in /tmp/codex-multi-2me4sr08 succeeded in 8ms:
[codex:354555] 880 returns (bool)
[codex:354555] 881 {
[codex:354555] 882 return a.value == 0;
[codex:354555] 883 }
[codex:354555] 884 }
[codex:354555] 885
[codex:354555] 886 // File: contracts/protocol/lib/Account.sol
[codex:354555] 887
[codex:354555] 888 /**
[codex:354555] 889 * @title Account
[codex:354555] 890 * @author dYdX
[codex:354555] 891 *
[codex:354555] 892 * Library of structs and functions that represent an account
[codex:354555] 893 */
[codex:354555] 894 library Account {
[codex:354555] 895 // ============ Enums ============
[codex:354555] 896
[codex:354555] 897 /*
[codex:354555] 898 * Most-recently-cached account status.
[codex:354555] 899 *
[codex:354555]
[codex:354555] thinking
[codex:354555] **Analyzing potential token withdrawal and oracle risks**
[codex:354555] exec
[codex:354555] /bin/bash -lc 'rg -n "library Time|currentTime" contracts/Contract.sol' in /tmp/codex-multi-2me4sr08 succeeded in 6ms:
[codex:354555] 1159:library Time {
[codex:354555] 1163: function currentTime()
[codex:354555] 1232: uint32 currentTime = Time.currentTime();
[codex:354555] 1233: uint256 borrowInterest = rate.value.mul(uint256(currentTime).sub(index.lastUpdate));
[codex:354555] 1250: lastUpdate: currentTime
[codex:354555] 1262: lastUpdate: Time.currentTime()
[codex:354555] 2176: if (index.lastUpdate == Time.currentTime()) {
[codex:354555]
[codex:354555] thinking
[codex:354555] **Inspecting Cache library for vulnerabilities**
[codex:354555] exec
[codex:354555] /bin/bash -lc 'rg -n "library Cache" contracts/Contract.sol' in /tmp/codex-multi-2me4sr08 succeeded in 6ms:
[codex:354555] 973:library Cache {
[codex:354555] exec
[codex:354555] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '960,1150p'" in /tmp/codex-multi-2me4sr08 succeeded in 7ms:
[codex:354555] 960 struct Value {
[codex:354555] 961 uint256 value;
[codex:354555] 962 }
[codex:354555] 963 }
[codex:354555] 964
[codex:354555] 965 // File: contracts/protocol/lib/Cache.sol
[codex:354555] 966
[codex:354555] 967 /**
[codex:354555] 968 * @title Cache
[codex:354555] 969 * @author dYdX
[codex:354555] 970 *
[codex:354555] 971 * Library for caching information about markets
[codex:354555] 972 */
[codex:354555] 973 library Cache {
[codex:354555] 974 using Cache for MarketCache;
[codex:354555] 975 using Storage for Storage.State;
[codex:354555] 976
[codex:354555] 977 // ============ Structs ============
[codex:354555] 978
[codex:354555] 979 struct MarketInfo {
[codex:354555]
[codex:354555] thinking
[codex:354555] **Evaluating price zero checks and potential vulnerabilities**
[codex:354555] exec
[codex:354555] /bin/bash -lc 'rg -n "calculateNewIndex|library Interest" contracts/Contract.sol' in /tmp/codex-multi-2me4sr08 succeeded in 6ms:
[codex:354555] 1180:library Interest {
[codex:354555] 1216: function calculateNewIndex(
[codex:354555] 1866: return Interest.calculateNewIndex(
[codex:354555] exec
[codex:354555] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '1150,1305p'" in /tmp/codex-multi-2me4sr08 succeeded in 6ms:
[codex:354555] 1150
[codex:354555] 1151 // File: contracts/protocol/lib/Time.sol
[codex:354555] 1152
[codex:354555] 1153 /**
[codex:354555] 1154 * @title Time
[codex:354555] 1155 * @author dYdX
[codex:354555] 1156 *
[codex:354555] 1157 * Library for dealing with time, assuming timestamps fit within 32 bits (valid until year 2106)
[codex:354555] 1158 */
[codex:354555] 1159 library Time {
[codex:354555] 1160
[codex:354555] 1161 // ============ Library Functions ============
[codex:354555] 1162
[codex:354555] 1163 function currentTime()
[codex:354555] 1164 internal
[codex:354555] 1165 view
[codex:354555] 1166 returns (uint32)
[codex:354555] 1167 {
[codex:354555] 1168 return Math.to32(block.timestamp);
[codex:354555] 1169 }
[codex:354555]
[codex:354555] thinking
[codex:354555] **Analyzing potential vulnerabilities in trade and token handling**
[codex:354555] exec
[codex:354555] /bin/bash -lc "rg -n \"approve\\(\" contracts/Contract.sol" in /tmp/codex-multi-2me4sr08 succeeded in 7ms:
[codex:354555] 1349: * transfer(), transferFrom(), or approve().
[codex:354555] 1398: function approve(
[codex:354555] 1461: function approve(
[codex:354555] 1468: IErc20(token).approve(spender, amount);
[codex:354555] 1483: approve(
[codex:354555]
[codex:354555]
[codex:354555] thinking
[codex:354555] **Analyzing potential vulnerabilities in Exchange and account operations**
[codex:354555] thinking
[codex:354555] **Reviewing oracle risks and token transfer edge cases**
[codex:354555]
[codex:354555] I’m checking for oracle price manipulation scenarios and peculiar token transfer cases like zero amounts or transfers to the contract itself to see if they cause inconsistent accounting. I focus on access controls around accounts owned by the contract address and verify operator restrictions. I’ll also look for unchecked low-level calls that might indicate danger but so far don’t see obvious vulnerabilities.
[codex:354555] exec
[codex:354555] /bin/bash -lc "rg -n \"\\.call\\(|call\\{|\\" in /tmp/codex-multi-2me4sr08 exited 2 in 6ms:
[codex:354555] /bin/bash: -c: line 1: unexpected EOF while looking for matching `"'
[codex:354555] /bin/bash: -c: line 2: syntax error: unexpected end of file
[codex:354555]
[codex:354555] thinking
[codex:354555] **Correcting command syntax**
[codex:354555] exec
[codex:354555] /bin/bash -lc "rg -n \"\\.call\\(|call\\{|callFunction\" contracts/Contract.sol" in /tmp/codex-multi-2me4sr08 succeeded in 6ms:
[codex:354555] 3619: function callFunction(
[codex:354555] 5449: ICallee(args.callee).callFunction(
[codex:354555]
[codex:354555] thinking
[codex:354555] **Analyzing potential contract vulnerabilities**
[codex:354555] exec
[codex:354555] /bin/bash -lc 'rg -n "totalParToWei" contracts/Contract.sol' in /tmp/codex-multi-2me4sr08 succeeded in 7ms:
[codex:354555] 1229: ) = totalParToWei(totalPar, index);
[codex:354555] 1319: function totalParToWei(
[codex:354555] 1790: ) = Interest.totalParToWei(totalPar, index);
[codex:354555] 1887: ) = Interest.totalParToWei(totalPar, index);
[codex:354555] exec
[codex:354555] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '1305,1335p'" in /tmp/codex-multi-2me4sr08 succeeded in 6ms:
[codex:354555] 1305 value: input.value.getPartial(BASE, index.supply).to128()
[codex:354555] 1306 });
[codex:354555] 1307 } else {
[codex:354555] 1308 return Types.Par({
[codex:354555] 1309 sign: false,
[codex:354555] 1310 value: input.value.getPartialRoundUp(BASE, index.borrow).to128()
[codex:354555] 1311 });
[codex:354555] 1312 }
[codex:354555] 1313 }
[codex:354555] 1314
[codex:354555] 1315 /*
[codex:354555] 1316 * Convert the total supply and borrow principal amounts of a market to total supply and borrow
[codex:354555] 1317 * token amounts.
[codex:354555] 1318 */
[codex:354555] 1319 function totalParToWei(
[codex:354555] 1320 Types.TotalPar memory totalPar,
[codex:354555] 1321 Index memory index
[codex:354555] 1322 )
[codex:354555] 1323 internal
[codex:354555] 1324 pure
[codex:354555]
[codex:354555] thinking
[codex:354555] **Evaluating potential contract vulnerabilities**
[codex:354555] exec
[codex:354555] /bin/bash -lc "rg -n \"tx\\.origin|origin\" contracts/Contract.sol" in /tmp/codex-multi-2me4sr08 succeeded in 6ms:
[codex:354555] 35: * @dev The Ownable constructor sets the original `owner` of the contract to the sender
[codex:354555] 3576: * @param inputMarketId The market for which the trader specified the original amount
[codex:354555] 5559: uint256 originalPrice = cache.getPrice(owedMarketId).value;
[codex:354555] 5566: value: originalPrice.add(Decimal.mul(originalPrice, spread))
[codex:354555]
[codex:354555] thinking
[codex:354555] **Analyzing liquidation status and oracle manipulation risks**
[codex:354555] exec
[codex:354555] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '5200,5320p'" in /tmp/codex-multi-2me4sr08 succeeded in 7ms:
[codex:354555] 5200 state.setPar(
[codex:354555] 5201 args.makerAccount,
[codex:354555] 5202 args.inputMarket,
[codex:354555] 5203 newInputPar
[codex:354555] 5204 );
[codex:354555] 5205 state.setPar(
[codex:354555] 5206 args.makerAccount,
[codex:354555] 5207 args.outputMarket,
[codex:354555] 5208 newOutputPar
[codex:354555] 5209 );
[codex:354555] 5210
[codex:354555] 5211 // set the balance for the taker
[codex:354555] 5212 state.setParFromDeltaWei(
[codex:354555] 5213 args.takerAccount,
[codex:354555] 5214 args.inputMarket,
[codex:354555] 5215 inputWei.negative()
[codex:354555] 5216 );
[codex:354555] 5217 state.setParFromDeltaWei(
[codex:354555] 5218 args.takerAccount,
[codex:354555] 5219 args.outputMarket,
[codex:354555]
[codex:354555] thinking
[codex:354555] **Identifying liquidation flag persistence vulnerability**
[codex:354555]
[codex:354555] I've been analyzing relevant code sections to understand how the liquidation status persists after price manipulation, focusing on `_verifyFinalState` and liquidation-related lines. It looks like the status reset only happens for primary accounts, which means attackers could exploit oracle price manipulation to repeatedly liquidate accounts flagged as Liquid, increasing attack potential. I'll document this as a medium-severity oracle-related issue with evidence from key lines.
[codex:354555] exec
[codex:354555] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '4868,4915p'" in /tmp/codex-multi-2me4sr08 succeeded in 7ms:
[codex:354555] 4868 function _verifyFinalState(
[codex:354555] 4869 Storage.State storage state,
[codex:354555] 4870 Account.Info[] memory accounts,
[codex:354555] 4871 bool[] memory primaryAccounts,
[codex:354555] 4872 Cache.MarketCache memory cache
[codex:354555] 4873 )
[codex:354555] 4874 private
[codex:354555] 4875 {
[codex:354555] 4876 // verify no increase in borrowPar for closing markets
[codex:354555] 4877 uint256 numMarkets = cache.getNumMarkets();
[codex:354555] 4878 for (uint256 m = 0; m < numMarkets; m++) {
[codex:354555] 4879 if (cache.getIsClosing(m)) {
[codex:354555] 4880 Require.that(
[codex:354555] 4881 state.getTotalPar(m).borrow <= cache.getBorrowPar(m),
[codex:354555] 4882 FILE,
[codex:354555] 4883 "Market is closing",
[codex:354555] 4884 m
[codex:354555] 4885 );
[codex:354555] 4886 }
[codex:354555] 4887 }
[codex:354555]
[codex:354555] thinking
[codex:354555] **Summarizing oracle manipulation risk and liquidation status design**
[codex:354555] exec
[codex:354555] /bin/bash -lc 'rg -n "parseLiquidateArgs" -n contracts/Contract.sol' in /tmp/codex-multi-2me4sr08 succeeded in 6ms:
[codex:354555] 3968: function parseLiquidateArgs(
[codex:354555] 4856: _liquidate(state, Actions.parseLiquidateArgs(accounts, action), cache);
[codex:354555] exec
[codex:354555] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '3940,3995p'" in /tmp/codex-multi-2me4sr08 succeeded in 8ms:
[codex:354555] 3940 account: accounts[args.accountId],
[codex:354555] 3941 takerMarket: args.primaryMarketId,
[codex:354555] 3942 makerMarket: args.secondaryMarketId,
[codex:354555] 3943 exchangeWrapper: args.otherAddress,
[codex:354555] 3944 orderData: args.data
[codex:354555] 3945 });
[codex:354555] 3946 }
[codex:354555] 3947
[codex:354555] 3948 function parseTradeArgs(
[codex:354555] 3949 Account.Info[] memory accounts,
[codex:354555] 3950 ActionArgs memory args
[codex:354555] 3951 )
[codex:354555] 3952 internal
[codex:354555] 3953 pure
[codex:354555] 3954 returns (TradeArgs memory)
[codex:354555] 3955 {
[codex:354555] 3956 assert(args.actionType == ActionType.Trade);
[codex:354555] 3957 return TradeArgs({
[codex:354555] 3958 amount: args.amount,
[codex:354555] 3959 takerAccount: accounts[args.accountId],
[codex:354555]
[codex:354555] thinking
[codex:354555] **Composing JSON output for findings**
[codex:354555] codex
[codex:354555] {"no_findings":false,"summary":"Found 1 medium-severity oracle-related risk where a transient price manipulation can permanently open an account to liquidation until the owner actively resets status.","findings":[{"severity":"medium","category":"oracle","title":"Liquidation status persists after transient undercollateralization","exploit_scenario":"If the price oracle can be manipulated even briefly (e.g., spot/low-liquidity oracle), an attacker can call `operate` with a minimal `Liquidate` action to set the victim account’s status to `Liquid` while prices are distorted. After prices normalize, the account remains `Liquid` and can be liquidated further without re-checking collateralization, allowing repeated liquidation at fair prices until the owner performs an operation to reset status.","recommendation":"Re-check collateralization on every liquidation regardless of current status, or automatically clear `Liquid` status once an account is collateralized (including when it is a secondary account). Consider time-bounding the `Liquid` flag or requiring a fresh oracle check for each liquidation.","evidence":"`_liquidate` sets `Account.Status.Liquid` after a single undercollateralization check and skips further checks if already `Liquid`, while `_verifyFinalState` only resets status for primary accounts, leaving liquidated (secondary) accounts in `Liquid` state indefinitely.","locations":["contracts/Contract.sol:5231","contracts/Contract.sol:4868"]}]}
[codex:354555] tokens used
[codex:354555] 98,603
[codex:354555] {"no_findings":false,"summary":"Found 1 medium-severity oracle-related risk where a transient price manipulation can permanently open an account to liquidation until the owner actively resets status.","findings":[{"severity":"medium","category":"oracle","title":"Liquidation status persists after transient undercollateralization","exploit_scenario":"If the price oracle can be manipulated even briefly (e.g., spot/low-liquidity oracle), an attacker can call `operate` with a minimal `Liquidate` action to set the victim account’s status to `Liquid` while prices are distorted. After prices normalize, the account remains `Liquid` and can be liquidated further without re-checking collateralization, allowing repeated liquidation at fair prices until the owner performs an operation to reset status.","recommendation":"Re-check collateralization on every liquidation regardless of current status, or automatically clear `Liquid` status once an account is collateralized (including when it is a secondary account). Consider time-bounding the `Liquid` flag or requiring a fresh oracle check for each liquidation.","evidence":"`_liquidate` sets `Account.Status.Liquid` after a single undercollateralization check and skips further checks if already `Liquid`, while `_verifyFinalState` only resets status for primary accounts, leaving liquidated (secondary) accounts in `Liquid` state indefinitely.","locations":["contracts/Contract.sol:5231","contracts/Contract.sol:4868"]}]}
{
"codex": {
"ran_at": "2025-12-27T21:16:45.415309+00:00",
"returncode": 0
},
"summary": "Found 1 medium-severity oracle-related risk where a transient price manipulation can permanently open an account to liquidation until the owner actively resets status.",
"raw_final": {
"summary": "Found 1 medium-severity oracle-related risk where a transient price manipulation can permanently open an account to liquidation until the owner actively resets status.",
"findings": [
{
"title": "Liquidation status persists after transient undercollateralization",
"category": "oracle",
"evidence": "`_liquidate` sets `Account.Status.Liquid` after a single undercollateralization check and skips further checks if already `Liquid`, while `_verifyFinalState` only resets status for primary accounts, leaving liquidated (secondary) accounts in `Liquid` state indefinitely.",
"severity": "medium",
"locations": [
"contracts/Contract.sol:5231",
"contracts/Contract.sol:4868"
],
"recommendation": "Re-check collateralization on every liquidation regardless of current status, or automatically clear `Liquid` status once an account is collateralized (including when it is a secondary account). Consider time-bounding the `Liquid` flag or requiring a fresh oracle check for each liquidation.",
"exploit_scenario": "If the price oracle can be manipulated even briefly (e.g., spot/low-liquidity oracle), an attacker can call `operate` with a minimal `Liquidate` action to set the victim account\u2019s status to `Liquid` while prices are distorted. After prices normalize, the account remains `Liquid` and can be liquidated further without re-checking collateralization, allowing repeated liquidation at fair prices until the owner performs an operation to reset status."
}
],
"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 0x0348 00000019: JUMPI 0000001a: PUSH1 0x00 0000001c: CALLDATALOAD 0000001d: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 0000003b: SWAP1 0000003c: DIV 0000003d: DUP1 0000003e: PUSH4 0x8928378e 00000043: GT 00000044: PUSH2 0x01cf 00000047: JUMPI 00000048: DUP1 00000049: PUSH4 0xd5ecf7c5 0000004e: GT 0000004f: PUSH2 0x0116 00000052: JUMPI 00000053: DUP1 00000054: PUSH4 0xeb44fdd3 00000059: GT 0000005a: PUSH2 0x00bf 0000005d: JUMPI 0000005e: DUP1 0000005f: PUSH4 0xf2fde38b 00000064: GT 00000065: PUSH2 0x0099 00000068: JUMPI 00000069: DUP1 0000006a: PUSH4 0xf2fde38b 0000006f: EQ 00000070: PUSH2 0x0717 00000073: JUMPI 00000074: DUP1 00000075: PUSH4 0xf9416052 0000007a: EQ 0000007b: PUSH2 0x072a 0000007e: JUMPI 0000007f: DUP1 00000080: PUSH4 0xfd04b606 00000085: EQ 00000086: PUSH2 0x073d 00000089: JUMPI 0000008a: DUP1 0000008b: PUSH4 0xfd47eda6 00000090: EQ 00000091: PUSH2 0x0750 00000094: JUMPI 00000095: PUSH2 0x0348 00000098: JUMP 00000099: JUMPDEST 0000009a: DUP1 0000009b: PUSH4 0xeb44fdd3 000000a0: EQ 000000a1: PUSH2 0x06d1 000000a4: JUMPI 000000a5: DUP1 000000a6: PUSH4 0xef6957d0 000000ab: EQ 000000ac: PUSH2 0x06f1 000000af: JUMPI 000000b0: DUP1 000000b1: PUSH4 0xf2901ae2 000000b6: EQ 000000b7: PUSH2 0x0704 000000ba: JUMPI 000000bb: PUSH2 0x0348 000000be: JUMP 000000bf: JUMPDEST 000000c0: DUP1 000000c1: PUSH4 0xe5520228 000000c6: GT 000000c7: PUSH2 0x00f0 000000ca: JUMPI 000000cb: DUP1 000000cc: PUSH4 0xe5520228 000000d1: EQ 000000d2: PUSH2 0x06a1 000000d5: JUMPI 000000d6: DUP1 000000d7: PUSH4 0xe8e72f75 000000dc: EQ 000000dd: PUSH2 0x06a9 000000e0: JUMPI 000000e1: DUP1 000000e2: PUSH4 0xeb1c6e6b 000000e7: EQ 000000e8: PUSH2 0x06bc 000000eb: JUMPI 000000ec: PUSH2 0x0348 000000ef: JUMP 000000f0: JUMPDEST 000000f1: DUP1 000000f2: PUSH4 0xd5ecf7c5 000000f7: EQ 000000f8: PUSH2 0x065b 000000fb: JUMPI 000000fc: DUP1 000000fd: PUSH4 0xdeec053d 00000102: EQ 00000103: PUSH2 0x066e 00000106: JUMPI 00000107: DUP1 00000108: PUSH4 0xe51bfcb4 0000010d: EQ 0000010e: PUSH2 0x0681 00000111: JUMPI 00000112: PUSH2 0x0348 00000115: JUMP 00000116: JUMPDEST 00000117: DUP1 00000118: PUSH4 0xb548b892 0000011d: GT 0000011e: PUSH2 0x0178 00000121: JUMPI 00000122: DUP1 00000123: PUSH4 0xc190c2ec 00000128: GT 00000129: PUSH2 0x0152 0000012c: JUMPI 0000012d: DUP1 0000012e: PUSH4 0xc190c2ec 00000133: EQ 00000134: PUSH2 0x0608 00000137: JUMPI 00000138: DUP1 00000139: PUSH4 0xcb04a34c 0000013e: EQ 0000013f: PUSH2 0x0628 00000142: JUMPI 00000143: DUP1 00000144: PUSH4 0xd24c48bc 00000149: EQ 0000014a: PUSH2 0x0648 0000014d: JUMPI 0000014e: PUSH2 0x0348 00000151: JUMP 00000152: JUMPDEST 00000153: DUP1 00000154: PUSH4 0xb548b892 00000159: EQ 0000015a: PUSH2 0x05ca 0000015d: JUMPI 0000015e: DUP1 0000015f: PUSH4 0xc0bb72b7 00000164: EQ 00000165: PUSH2 0x05ed 00000168: JUMPI 00000169: DUP1 0000016a: PUSH4 0xc1460942 0000016f: EQ 00000170: PUSH2 0x0600 00000173: JUMPI 00000174: PUSH2 0x0348 00000177: JUMP 00000178: JUMPDEST 00000179: DUP1 0000017a: PUSH4 0x8f6bc659 0000017f: GT 00000180: PUSH2 0x01a9 00000183: JUMPI 00000184: DUP1 00000185: PUSH4 0x8f6bc659 0000018a: EQ 0000018b: PUSH2 0x0591 0000018e: JUMPI 0000018f: DUP1 00000190: PUSH4 0x982f323c 00000195: EQ 00000196: PUSH2 0x05a4 00000199: JUMPI 0000019a: DUP1 0000019b: PUSH4 0xa67a6a45 000001a0: EQ 000001a1: PUSH2 0x05b7 000001a4: JUMPI 000001a5: PUSH2 0x0348 000001a8: JUMP 000001a9: JUMPDEST 000001aa: DUP1 000001ab: PUSH4 0x8928378e 000001b0: EQ 000001b1: PUSH2 0x056e 000001b4: JUMPI 000001b5: DUP1 000001b6: PUSH4 0x8da5cb5b 000001bb: EQ 000001bc: PUSH2 0x0581 000001bf: JUMPI 000001c0: DUP1 000001c1: PUSH4 0x8f32d59b 000001c6: EQ 000001c7: PUSH2 0x0589 000001ca: JUMPI 000001cb: PUSH2 0x0348 000001ce: JUMP 000001cf: JUMPDEST 000001d0: DUP1 000001d1: PUSH4 0x387a498a 000001d6: GT 000001d7: PUSH2 0x0293 000001da: JUMPI 000001db: DUP1 000001dc: PUSH4 0x5ac7d17c 000001e1: GT 000001e2: PUSH2 0x023c 000001e5: JUMPI 000001e6: DUP1 000001e7: PUSH4 0x715018a6 000001ec: GT 000001ed: PUSH2 0x0216 000001f0: JUMPI 000001f1: DUP1 000001f2: PUSH4 0x715018a6 000001f7: EQ 000001f8: PUSH2 0x054b 000001fb: JUMPI 000001fc: DUP1 000001fd: PUSH4 0x7e9eaf41 00000202: EQ 00000203: PUSH2 0x0553 00000206: JUMPI 00000207: DUP1 00000208: PUSH4 0x85b53fc8 0000020d: EQ 0000020e: PUSH2 0x055b 00000211: JUMPI 00000212: PUSH2 0x0348 00000215: JUMP 00000216: JUMPDEST 00000217: DUP1 00000218: PUSH4 0x5ac7d17c 0000021d: EQ 0000021e: PUSH2 0x0501 00000221: JUMPI 00000222: DUP1 00000223: PUSH4 0x69794795 00000228: EQ 00000229: PUSH2 0x0514 0000022c: JUMPI 0000022d: DUP1 0000022e: PUSH4 0x6a8194e7 00000233: EQ 00000234: PUSH2 0x0529 00000237: JUMPI 00000238: PUSH2 0x0348 0000023b: JUMP 0000023c: JUMPDEST 0000023d: DUP1 0000023e: PUSH4 0x4be87414 00000243: GT 00000244: PUSH2 0x026d 00000247: JUMPI 00000248: DUP1 00000249: PUSH4 0x4be87414 0000024e: EQ 0000024f: PUSH2 0x04c6 00000252: JUMPI 00000253: DUP1 00000254: PUSH4 0x4f3c1542 00000259: EQ 0000025a: PUSH2 0x04d9 0000025d: JUMPI 0000025e: DUP1 0000025f: PUSH4 0x56ea84b2 00000264: EQ 00000265: PUSH2 0x04e1 00000268: JUMPI 00000269: PUSH2 0x0348 0000026c: JUMP 0000026d: JUMPDEST 0000026e: DUP1 0000026f: PUSH4 0x387a498a 00000274: EQ 00000275: PUSH2 0x0480 00000278: JUMPI 00000279: DUP1 0000027a: PUSH4 0x3a031bf0 0000027f: EQ 00000280: PUSH2 0x0493 00000283: JUMPI 00000284: DUP1 00000285: PUSH4 0x47d1b53c 0000028a: EQ 0000028b: PUSH2 0x04a6 0000028e: JUMPI 0000028f: PUSH2 0x0348 00000292: JUMP 00000293: JUMPDEST 00000294: DUP1 00000295: PUSH4 0x197f0f05 0000029a: GT 0000029b: PUSH2 0x02f5 0000029e: JUMPI 0000029f: DUP1 000002a0: PUSH4 0x2a560845 000002a5: GT 000002a6: PUSH2 0x02cf 000002a9: JUMPI 000002aa: DUP1 000002ab: PUSH4 0x2a560845 000002b0: EQ 000002b1: PUSH2 0x0447 000002b4: JUMPI 000002b5: DUP1 000002b6: PUSH4 0x2e822af3 000002bb: EQ 000002bc: PUSH2 0x045a 000002bf: JUMPI 000002c0: DUP1 000002c1: PUSH4 0x3063bce2 000002c6: EQ 000002c7: PUSH2 0x046d 000002ca: JUMPI 000002cb: PUSH2 0x0348 000002ce: JUMP 000002cf: JUMPDEST 000002d0: DUP1 000002d1: PUSH4 0x197f0f05 000002d6: EQ 000002d7: PUSH2 0x03ff 000002da: JUMPI 000002db: DUP1 000002dc: PUSH4 0x1a7777bb 000002e1: EQ 000002e2: PUSH2 0x0412 000002e5: JUMPI 000002e6: DUP1 000002e7: PUSH4 0x295c39a5 000002ec: EQ 000002ed: PUSH2 0x0432 000002f0: JUMPI 000002f1: PUSH2 0x0348 000002f4: JUMP 000002f5: JUMPDEST 000002f6: DUP1 000002f7: PUSH4 0x121fb72f 000002fc: GT 000002fd: PUSH2 0x0326 00000300: JUMPI 00000301: DUP1 00000302: PUSH4 0x121fb72f 00000307: EQ 00000308: PUSH2 0x03ab 0000030b: JUMPI 0000030c: DUP1 0000030d: PUSH4 0x124f914c 00000312: EQ 00000313: PUSH2 0x03be 00000316: JUMPI 00000317: DUP1 00000318: PUSH4 0x13368364 0000031d: EQ 0000031e: PUSH2 0x03df 00000321: JUMPI 00000322: PUSH2 0x0348 00000325: JUMP 00000326: JUMPDEST 00000327: DUP1 00000328: PUSH4 0x042069d6 0000032d: EQ 0000032e: PUSH2 0x034d 00000331: JUMPI 00000332: DUP1 00000333: PUSH4 0x052f72d7 00000338: EQ 00000339: PUSH2 0x0362 0000033c: JUMPI 0000033d: DUP1 0000033e: PUSH4 0x062bd3e9 00000343: EQ 00000344: PUSH2 0x038b 00000347: JUMPI 00000348: JUMPDEST 00000349: PUSH1 0x00 0000034b: DUP1 0000034c: REVERT 0000034d: JUMPDEST 0000034e: PUSH2 0x0360 00000351: PUSH2 0x035b 00000354: CALLDATASIZE 00000355: PUSH1 0x04 00000357: PUSH2 0x3594 0000035a: JUMP 0000035b: JUMPDEST 0000035c: PUSH2 0x0763 0000035f: JUMP 00000360: JUMPDEST 00000361: STOP 00000362: JUMPDEST 00000363: PUSH2 0x0375 00000366: PUSH2 0x0370 00000369: CALLDATASIZE 0000036a: PUSH1 0x04 0000036c: PUSH2 0x32cf 0000036f: JUMP 00000370: JUMPDEST 00000371: PUSH2 0x0817 00000374: JUMP 00000375: JUMPDEST 00000376: PUSH1 0x40 00000378: MLOAD 00000379: PUSH2 0x0382 0000037c: SWAP2 0000037d: SWAP1 0000037e: PUSH2 0x3cf4 00000381: JUMP 00000382: JUMPDEST 00000383: PUSH1 0x40 00000385: MLOAD 00000386: DUP1 00000387: SWAP2 00000388: SUB 00000389: SWAP1 0000038a: RETURN 0000038b: JUMPDEST 0000038c: PUSH2 0x039e 0000038f: PUSH2 0x0399 00000392: CALLDATASIZE 00000393: PUSH1 0x04 00000395: PUSH2 0x34ea 00000398: JUMP 00000399: JUMPDEST 0000039a: PUSH2 0x0831 0000039d: JUMP 0000039e: JUMPDEST 0000039f: PUSH1 0x40 000003a1: MLOAD 000003a2: PUSH2 0x0382 000003a5: SWAP2 000003a6: SWAP1 000003a7: PUSH2 0x3c6a 000003aa: JUMP 000003ab: JUMPDEST 000003ac: PUSH2 0x0360 000003af: PUSH2 0x03b9 000003b2: CALLDATASIZE 000003b3: PUSH1 0x04 000003b5: PUSH2 0x3564 000003b8: JUMP 000003b9: JUMPDEST 000003ba: PUSH2 0x084d 000003bd: JUMP 000003be: JUMPDEST 000003bf: PUSH2 0x03d1 000003c2: PUSH2 0x03cc 000003c5: CALLDATASIZE 000003c6: PUSH1 0x04 000003c8: PUSH2 0x347e 000003cb: JUMP 000003cc: JUMPDEST 000003cd: PUSH2 0x08be 000003d0: JUMP 000003d1: JUMPDEST 000003d2: PUSH1 0x40 000003d4: MLOAD 000003d5: PUSH2 0x0382 000003d8: SWAP3 000003d9: SWAP2 000003da: SWAP1 000003db: PUSH2 0x3f4a 000003de: JUMP 000003df: JUMPDEST 000003e0: PUSH2 0x03f2 000003e3: PUSH2 0x03ed 000003e6: CALLDATASIZE 000003e7: PUSH1 0x04 000003e9: PUSH2 0x34ea 000003ec: JUMP 000003ed: JUMPDEST 000003ee: PUSH2 0x08e2 000003f1: JUMP 000003f2: JUMPDEST 000003f3: PUSH1 0x40 000003f5: MLOAD 000003f6: PUSH2 0x0382 000003f9: SWAP2 000003fa: SWAP1 000003fb: PUSH2 0x3d02 000003fe: JUMP 000003ff: JUMPDEST 00000400: PUSH2 0x03f2 00000403: PUSH2 0x040d 00000406: CALLDATASIZE 00000407: PUSH1 0x04 00000409: PUSH2 0x34ea 0000040c: JUMP 0000040d: JUMPDEST 0000040e: PUSH2 0x0919 00000411: JUMP 00000412: JUMPDEST 00000413: PUSH2 0x0425 00000416: PUSH2 0x0420 00000419: CALLDATASIZE 0000041a: PUSH1 0x04 0000041c: PUSH2 0x34ea 0000041f: JUMP 00000420: JUMPDEST 00000421: PUSH2 0x0950 00000424: JUMP 00000425: JUMPDEST 00000426: PUSH1 0x40 00000428: MLOAD 00000429: PUSH2 0x0382 0000042c: SWAP2 0000042d: SWAP1 0000042e: PUSH2 0x3d2f 00000431: JUMP 00000432: JUMPDEST 00000433: PUSH2 0x043a 00000436: PUSH2 0x0987 00000439: JUMP 0000043a: JUMPDEST 0000043b: PUSH1 0x40 0000043d: MLOAD 0000043e: PUSH2 0x0382 00000441: SWAP2 00000442: SWAP1 00000443: PUSH2 0x3f66 00000446: JUMP 00000447: JUMPDEST 00000448: PUSH2 0x043a 0000044b: PUSH2 0x0455 0000044e: CALLDATASIZE 0000044f: PUSH1 0x04 00000451: PUSH2 0x32ed 00000454: JUMP 00000455: JUMPDEST 00000456: PUSH2 0x098d 00000459: JUMP 0000045a: JUMPDEST 0000045b: PUSH2 0x0360 0000045e: PUSH2 0x0468 00000461: CALLDATASIZE 00000462: PUSH1 0x04 00000464: PUSH2 0x3460 00000467: JUMP 00000468: JUMPDEST 00000469: PUSH2 0x0a67 0000046c: JUMP 0000046d: JUMPDEST 0000046e: PUSH2 0x0360 00000471: PUSH2 0x047b 00000474: CALLDATASIZE 00000475: PUSH1 0x04 00000477: PUSH2 0x3460 0000047a: JUMP 0000047b: JUMPDEST 0000047c: PUSH2 0x0b18 0000047f: JUMP 00000480: JUMPDEST 00000481: PUSH2 0x0360 00000484: PUSH2 0x048e 00000487: CALLDATASIZE 00000488: PUSH1 0x04 0000048a: PUSH2 0x3460 0000048d: JUMP 0000048e: JUMPDEST 0000048f: PUSH2 0x0b87 00000492: JUMP 00000493: JUMPDEST 00000494: PUSH2 0x0375 00000497: PUSH2 0x04a1 0000049a: CALLDATASIZE 0000049b: PUSH1 0x04 0000049d: PUSH2 0x32ed 000004a0: JUMP 000004a1: JUMPDEST 000004a2: PUSH2 0x0bf6 000004a5: JUMP 000004a6: JUMPDEST 000004a7: PUSH2 0x04b9 000004aa: PUSH2 0x04b4 000004ad: CALLDATASIZE 000004ae: PUSH1 0x04 000004b0: PUSH2 0x349c 000004b3: JUMP 000004b4: JUMPDEST 000004b5: PUSH2 0x0c12 000004b8: JUMP 000004b9: JUMPDEST 000004ba: PUSH1 0x40 000004bc: MLOAD 000004bd: PUSH2 0x0382 000004c0: SWAP2 000004c1: SWAP1 000004c2: PUSH2 0x3d93 000004c5: JUMP 000004c6: JUMPDEST 000004c7: PUSH2 0x0360 000004ca: PUSH2 0x04d4 000004cd: CALLDATASIZE 000004ce: PUSH1 0x04 000004d0: PUSH2 0x3594 000004d3: JUMP 000004d4: JUMPDEST 000004d5: PUSH2 0x0c35 000004d8: JUMP 000004d9: JUMPDEST 000004da: PUSH2 0x0425 000004dd: PUSH2 0x0ca6 000004e0: JUMP 000004e1: JUMPDEST 000004e2: PUSH2 0x04f4 000004e5: PUSH2 0x04ef 000004e8: CALLDATASIZE 000004e9: PUSH1 0x04 000004eb: PUSH2 0x34ea 000004ee: JUMP 000004ef: JUMPDEST 000004f0: PUSH2 0x0cc2 000004f3: JUMP 000004f4: JUMPDEST 000004f5: PUSH1 0x40 000004f7: MLOAD 000004f8: PUSH2 0x0382 000004fb: SWAP2 000004fc: SWAP1 000004fd: PUSH2 0x3d3d 00000500: JUMP 00000501: JUMPDEST 00000502: PUSH2 0x0375 00000505: PUSH2 0x050f 00000508: CALLDATASIZE 00000509: PUSH1 0x04 0000050b: PUSH2 0x34ea 0000050e: JUMP 0000050f: JUMPDEST 00000510: PUSH2 0x0cf7 00000513: JUMP 00000514: JUMPDEST 00000515: PUSH2 0x051c 00000518: PUSH2 0x0d1b 0000051b: JUMP 0000051c: JUMPDEST 0000051d: PUSH1 0x40 0000051f: MLOAD 00000520: PUSH2 0x0382 00000523: SWAP2 00000524: SWAP1 00000525: PUSH2 0x3daf 00000528: JUMP 00000529: JUMPDEST 0000052a: PUSH2 0x053c 0000052d: PUSH2 0x0537 00000530: CALLDATASIZE 00000531: PUSH1 0x04 00000533: PUSH2 0x347e 00000536: JUMP 00000537: JUMPDEST 00000538: PUSH2 0x0d77 0000053b: JUMP 0000053c: JUMPDEST 0000053d: PUSH1 0x40 0000053f: MLOAD 00000540: PUSH2 0x0382 00000543: SWAP4 00000544: SWAP3 00000545: SWAP2 00000546: SWAP1 00000547: PUSH2 0x3cbb 0000054a: JUMP 0000054b: JUMPDEST 0000054c: PUSH2 0x0360 0000054f: PUSH2 0x0ee5 00000552: JUMP 00000553: JUMPDEST 00000554: PUSH2 0x0425 00000557: PUSH2 0x0f65 0000055a: JUMP 0000055b: JUMPDEST 0000055c: PUSH2 0x0360 0000055f: PUSH2 0x0569 00000562: CALLDATASIZE 00000563: PUSH1 0x04 00000565: PUSH2 0x342b 00000568: JUMP 00000569: JUMPDEST 0000056a: PUSH2 0x0f81 0000056d: JUMP 0000056e: JUMPDEST 0000056f: PUSH2 0x0425 00000572: PUSH2 0x057c 00000575: CALLDATASIZE 00000576: PUSH1 0x04 00000578: PUSH2 0x34ea 0000057b: JUMP 0000057c: JUMPDEST 0000057d: PUSH2 0x1064 00000580: JUMP 00000581: JUMPDEST 00000582: PUSH2 0x039e 00000585: PUSH2 0x1086 00000588: JUMP 00000589: JUMPDEST 0000058a: PUSH2 0x0375 0000058d: PUSH2 0x10a2 00000590: JUMP 00000591: JUMPDEST 00000592: PUSH2 0x043a 00000595: PUSH2 0x059f 00000598: CALLDATASIZE 00000599: PUSH1 0x04 0000059b: PUSH2 0x3526 0000059e: JUMP 0000059f: JUMPDEST 000005a0: PUSH2 0x10c0 000005a3: JUMP 000005a4: JUMPDEST 000005a5: PUSH2 0x0360 000005a8: PUSH2 0x05b2 000005ab: CALLDATASIZE 000005ac: PUSH1 0x04 000005ae: PUSH2 0x3357 000005b1: JUMP 000005b2: JUMPDEST 000005b3: PUSH2 0x1133 000005b6: JUMP 000005b7: JUMPDEST 000005b8: PUSH2 0x0360 000005bb: PUSH2 0x05c5 000005be: CALLDATASIZE 000005bf: PUSH1 0x04 000005c1: PUSH2 0x33cc 000005c4: JUMP 000005c5: JUMPDEST 000005c6: PUSH2 0x11f0 000005c9: JUMP 000005ca: JUMPDEST 000005cb: PUSH2 0x05dd 000005ce: PUSH2 0x05d8 000005d1: CALLDATASIZE 000005d2: PUSH1 0x04 000005d4: PUSH2 0x34ea 000005d7: JUMP 000005d8: JUMPDEST 000005d9: PUSH2 0x1250 000005dc: JUMP 000005dd: JUMPDEST 000005de: PUSH1 0x40 000005e0: MLOAD 000005e1: PUSH2 0x0382 000005e4: SWAP5 000005e5: SWAP4 000005e6: SWAP3 000005e7: SWAP2 000005e8: SWAP1 000005e9: PUSH2 0x3d5a 000005ec: JUMP 000005ed: JUMPDEST 000005ee: PUSH2 0x0360 000005f1: PUSH2 0x05fb 000005f4: CALLDATASIZE 000005f5: PUSH1 0x04 000005f7: PUSH2 0x3460 000005fa: JUMP 000005fb: JUMPDEST 000005fc: PUSH2 0x12ac 000005ff: JUMP 00000600: JUMPDEST 00000601: PUSH2 0x0425 00000604: PUSH2 0x131b 00000607: JUMP 00000608: JUMPDEST 00000609: PUSH2 0x061b 0000060c: PUSH2 0x0616 0000060f: CALLDATASIZE 00000610: PUSH1 0x04 00000612: PUSH2 0x349c 00000615: JUMP 00000616: JUMPDEST 00000617: PUSH2 0x1337 0000061a: JUMP 0000061b: JUMPDEST 0000061c: PUSH1 0x40 0000061e: MLOAD 0000061f: PUSH2 0x0382 00000622: SWAP2 00000623: SWAP1 00000624: PUSH2 0x3f58 00000627: JUMP 00000628: JUMPDEST 00000629: PUSH2 0x063b 0000062c: PUSH2 0x0636 0000062f: CALLDATASIZE 00000630: PUSH1 0x04 00000632: PUSH2 0x34ea 00000635: JUMP 00000636: JUMPDEST 00000637: PUSH2 0x1377 0000063a: JUMP 0000063b: JUMPDEST 0000063c: PUSH1 0x40 0000063e: MLOAD 0000063f: PUSH2 0x0382 00000642: SWAP2 00000643: SWAP1 00000644: PUSH2 0x3f3c 00000647: JUMP 00000648: JUMPDEST 00000649: PUSH2 0x0425 0000064c: PUSH2 0x0656 0000064f: CALLDATASIZE 00000650: PUSH1 0x04 00000652: PUSH2 0x35c4 00000655: JUMP 00000656: JUMPDEST 00000657: PUSH2 0x1399 0000065a: JUMP 0000065b: JUMPDEST 0000065c: PUSH2 0x061b 0000065f: PUSH2 0x0669 00000662: CALLDATASIZE 00000663: PUSH1 0x04 00000665: PUSH2 0x34ea 00000668: JUMP 00000669: JUMPDEST 0000066a: PUSH2 0x13c5 0000066d: JUMP 0000066e: JUMPDEST 0000066f: PUSH2 0x04f4 00000672: PUSH2 0x067c 00000675: CALLDATASIZE 00000676: PUSH1 0x04 00000678: PUSH2 0x34ea 0000067b: JUMP 0000067c: JUMPDEST 0000067d: PUSH2 0x13e7 00000680: JUMP 00000681: JUMPDEST 00000682: PUSH2 0x0694 00000685: PUSH2 0x068f 00000688: CALLDATASIZE 00000689: PUSH1 0x04 0000068b: PUSH2 0x347e 0000068e: JUMP 0000068f: JUMPDEST 00000690: PUSH2 0x1409 00000693: JUMP 00000694: JUMPDEST 00000695: PUSH1 0x40 00000697: MLOAD 00000698: PUSH2 0x0382 0000069b: SWAP2 0000069c: SWAP1 0000069d: PUSH2 0x3d10 000006a0: JUMP 000006a1: JUMPDEST 000006a2: PUSH2 0x0425 000006a5: PUSH2 0x141b 000006a8: JUMP 000006a9: JUMPDEST 000006aa: PUSH2 0x0360 000006ad: PUSH2 0x06b7 000006b0: CALLDATASIZE 000006b1: PUSH1 0x04 000006b3: PUSH2 0x3564 000006b6: JUMP 000006b7: JUMPDEST 000006b8: PUSH2 0x1437 000006bb: JUMP 000006bc: JUMPDEST 000006bd: PUSH2 0x06c4 000006c0: PUSH2 0x14a8 000006c3: JUMP 000006c4: JUMPDEST 000006c5: PUSH1 0x40 000006c7: MLOAD 000006c8: PUSH2 0x0382 000006cb: SWAP2 000006cc: SWAP1 000006cd: PUSH2 0x3da1 000006d0: JUMP 000006d1: JUMPDEST 000006d2: PUSH2 0x06e4 000006d5: PUSH2 0x06df 000006d8: CALLDATASIZE 000006d9: PUSH1 0x04 000006db: PUSH2 0x34ea 000006de: JUMP 000006df: JUMPDEST 000006e0: PUSH2 0x154a 000006e3: JUMP 000006e4: JUMPDEST 000006e5: PUSH1 0x40 000006e7: MLOAD 000006e8: PUSH2 0x0382 000006eb: SWAP2 000006ec: SWAP1 000006ed: PUSH2 0x3d4b 000006f0: JUMP 000006f1: JUMPDEST 000006f2: PUSH2 0x0360 000006f5: PUSH2 0x06ff 000006f8: CALLDATASIZE 000006f9: PUSH1 0x04 000006fb: PUSH2 0x3545 000006fe: JUMP 000006ff: JUMPDEST 00000700: PUSH2 0x1689 00000703: JUMP 00000704: JUMPDEST 00000705: PUSH2 0x0360 00000708: PUSH2 0x0712 0000070b: CALLDATASIZE 0000070c: PUSH1 0x04 0000070e: PUSH2 0x3327 00000711: JUMP 00000712: JUMPDEST 00000713: PUSH2 0x16fa 00000716: JUMP 00000717: JUMPDEST 00000718: PUSH2 0x0360 0000071b: PUSH2 0x0725 0000071e: CALLDATASIZE 0000071f: PUSH1 0x04 00000721: PUSH2 0x32cf 00000724: JUMP 00000725: JUMPDEST 00000726: PUSH2 0x176b 00000729: JUMP 0000072a: JUMPDEST 0000072b: PUSH2 0x03d1 0000072e: PUSH2 0x0738 00000731: CALLDATASIZE 00000732: PUSH1 0x04 00000734: PUSH2 0x347e 00000737: JUMP 00000738: JUMPDEST 00000739: PUSH2 0x1788 0000073c: JUMP 0000073d: JUMPDEST 0000073e: PUSH2 0x0425 00000741: PUSH2 0x074b 00000744: CALLDATASIZE 00000745: PUSH1 0x04 00000747: PUSH2 0x34ea 0000074a: JUMP 0000074b: JUMPDEST 0000074c: PUSH2 0x17a3 0000074f: JUMP 00000750: JUMPDEST 00000751: PUSH2 0x0425 00000754: PUSH2 0x075e 00000757: CALLDATASIZE 00000758: PUSH1 0x04 0000075a: PUSH2 0x34ea 0000075d: JUMP 0000075e: JUMPDEST 0000075f: PUSH2 0x17da 00000762: JUMP 00000763: JUMPDEST 00000764: PUSH2 0x076b 00000767: PUSH2 0x10a2 0000076a: JUMP 0000076b: JUMPDEST 0000076c: PUSH2 0x0774 0000076f: JUMPI 00000770: PUSH1 0x00 00000772: DUP1 00000773: REVERT 00000774: JUMPDEST 00000775: PUSH1 0x0c 00000777: DUP1 00000778: SLOAD 00000779: PUSH1 0x01 0000077b: ADD 0000077c: SWAP1 0000077d: DUP2 0000077e: SWAP1 0000077f: SSTORE 00000780: PUSH1 0x40 00000782: MLOAD 00000783: PUSH32 0x8854ab3e00000000000000000000000000000000000000000000000000000000 000007a4: DUP2 000007a5: MSTORE 000007a6: PUSH20 0x8a6629feba4196e0a61b8e8c94d4905e525bc055 000007bb: SWAP1 000007bc: PUSH4 0x8854ab3e 000007c1: SWAP1 000007c2: PUSH2 0x07d4 000007c5: SWAP1 000007c6: PUSH1 0x00 000007c8: SWAP1 000007c9: DUP8 000007ca: SWAP1 000007cb: DUP8 000007cc: SWAP1 000007cd: PUSH1 0x04 000007cf: ADD 000007d0: PUSH2 0x3f14 000007d3: JUMP 000007d4: JUMPDEST 000007d5: PUSH1 0x00 000007d7: PUSH1 0x40 000007d9: MLOAD 000007da: DUP1 000007db: DUP4 000007dc: SUB 000007dd: DUP2 000007de: DUP7 000007df: DUP1 000007e0: EXTCODESIZE 000007e1: ISZERO 000007e2: DUP1 000007e3: ISZERO 000007e4: PUSH2 0x07ec 000007e7: JUMPI 000007e8: PUSH1 0x00 000007ea: DUP1 000007eb: REVERT 000007ec: JUMPDEST 000007ed: POP 000007ee: GAS 000007ef: DELEGATECALL 000007f0: ISZERO 000007f1: DUP1 000007f2: ISZERO 000007f3: PUSH2 0x0800 000007f6: JUMPI 000007f7: RETURNDATASIZE 000007f8: PUSH1 0x00 000007fa: DUP1 000007fb: RETURNDATACOPY 000007fc: RETURNDATASIZE 000007fd: PUSH1 0x00 000007ff: REVERT 00000800: JUMPDEST 00000801: POP 00000802: POP 00000803: POP 00000804: POP 00000805: PUSH1 0x0c 00000807: SLOAD 00000808: DUP2 00000809: EQ 0000080a: PUSH2 0x0812 0000080d: JUMPI 0000080e: PUSH1 0x00 00000810: DUP1 00000811: REVERT 00000812: JUMPDEST 00000813: POP 00000814: POP 00000815: POP 00000816: JUMP 00000817: JUMPDEST 00000818: PUSH1 0x00 0000081a: PUSH2 0x0829 0000081d: DUP2 0000081e: DUP4 0000081f: PUSH4 0xffffffff 00000824: PUSH2 0x180f 00000827: AND 00000828: JUMP 00000829: JUMPDEST 0000082a: SWAP1 0000082b: POP 0000082c: JUMPDEST 0000082d: SWAP2 0000082e: SWAP1 0000082f: POP 00000830: JUMP 00000831: JUMPDEST 00000832: PUSH1 0x00 00000834: PUSH2 0x083c 00000837: DUP3 00000838: PUSH2 0x183e 0000083b: JUMP 0000083c: JUMPDEST 0000083d: PUSH2 0x0829 00000840: PUSH1 0x00 00000842: DUP4 00000843: PUSH4 0xffffffff 00000848: PUSH2 0x1871 0000084b: AND 0000084c: JUMP 0000084d: JUMPDEST 0000084e: PUSH2 0x0855 00000851: PUSH2 0x10a2 00000854: JUMP 00000855: JUMPDEST 00000856: PUSH2 0x085e 00000859: JUMPI 0000085a: PUSH1 0x00 0000085c: DUP1 0000085d: REVERT 0000085e: JUMPDEST 0000085f: PUSH1 0x0c 00000861: DUP1 00000862: SLOAD 00000863: PUSH1 0x01 00000865: ADD 00000866: SWAP1 00000867: DUP2 00000868: SWAP1 00000869: SSTORE 0000086a: PUSH1 0x40 0000086c: MLOAD 0000086d: PUSH32 0xaa92e34800000000000000000000000000000000000000000000000000000000 0000088e: DUP2 0000088f: MSTORE 00000890: PUSH20 0x8a6629feba4196e0a61b8e8c94d4905e525bc055 000008a5: SWAP1 000008a6: PUSH4 0xaa92e348 000008ab: SWAP1 000008ac: PUSH2 0x07d4 000008af: SWAP1 000008b0: PUSH1 0x00 000008b2: SWAP1 000008b3: DUP8 000008b4: SWAP1 000008b5: DUP8 000008b6: SWAP1 000008b7: PUSH1 0x04 000008b9: ADD 000008ba: PUSH2 0x3eec 000008bd: JUMP 000008be: JUMPDEST 000008bf: PUSH2 0x08c6 000008c2: PUSH2 0x2d4f 000008c5: JUMP 000008c6: JUMPDEST 000008c7: PUSH2 0x08ce 000008ca: PUSH2 0x2d4f 000008cd: JUMP 000008ce: JUMPDEST 000008cf: PUSH2 0x08d9 000008d2: DUP4 000008d3: PUSH1 0x00 000008d5: PUSH2 0x189d 000008d8: JUMP 000008d9: JUMPDEST 000008da: SWAP2 000008db: POP 000008dc: SWAP2 000008dd: POP 000008de: SWAP2 000008df: POP 000008e0: SWAP2 000008e1: JUMP 000008e2: JUMPDEST 000008e3: PUSH1 0x00 000008e5: PUSH2 0x08ed 000008e8: DUP3 000008e9: PUSH2 0x183e 000008ec: JUMP 000008ed: JUMPDEST 000008ee: POP 000008ef: PUSH1 0x00 000008f1: SWAP1 000008f2: DUP2 000008f3: MSTORE 000008f4: PUSH1 0x01 000008f6: PUSH1 0x20 000008f8: MSTORE 000008f9: PUSH1 0x40 000008fb: SWAP1 000008fc: KECCAK256 000008fd: PUSH1 0x03 000008ff: ADD 00000900: SLOAD 00000901: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000916: AND 00000917: SWAP1 00000918: JUMP 00000919: JUMPDEST 0000091a: PUSH1 0x00 0000091c: PUSH2 0x0924 0000091f: DUP3 00000920: PUSH2 0x183e 00000923: JUMP 00000924: JUMPDEST 00000925: POP 00000926: PUSH1 0x00 00000928: SWAP1 00000929: DUP2 0000092a: MSTORE 0000092b: PUSH1 0x01 0000092d: PUSH1 0x20 0000092f: MSTORE 00000930: PUSH1 0x40 00000932: SWAP1 00000933: KECCAK256 00000934: PUSH1 0x04 00000936: ADD 00000937: SLOAD 00000938: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000094d: AND 0000094e: SWAP1 0000094f: JUMP 00000950: JUMPDEST 00000951: PUSH2 0x0958 00000954: PUSH2 0x2d4f 00000957: JUMP 00000958: JUMPDEST 00000959: PUSH2 0x0961 0000095c: DUP3 0000095d: PUSH2 0x183e 00000960: JUMP 00000961: JUMPDEST 00000962: POP 00000963: PUSH1 0x00 00000965: SWAP1 00000966: DUP2 00000967: MSTORE 00000968: PUSH1 0x01 0000096a: PUSH1 0x20 0000096c: SWAP1 0000096d: DUP2 0000096e: MSTORE 0000096f: PUSH1 0x40 00000971: SWAP2 00000972: DUP3 00000973: SWAP1 00000974: KECCAK256 00000975: DUP3 00000976: MLOAD 00000977: SWAP2 00000978: DUP3 00000979: ADD 0000097a: SWAP1 0000097b: SWAP3 0000097c: MSTORE 0000097d: PUSH1 0x06 0000097f: SWAP1 00000980: SWAP2 00000981: ADD 00000982: SLOAD 00000983: DUP2 00000984: MSTORE 00000985: SWAP1 00000986: JUMP 00000987: JUMPDEST 00000988: PUSH1 0x00 0000098a: SLOAD 0000098b: SWAP1 0000098c: JUMP 0000098d: JUMPDEST 0000098e: PUSH1 0x00 00000990: PUSH2 0x0997 00000993: PUSH2 0x10a2 00000996: JUMP 00000997: JUMPDEST 00000998: PUSH2 0x09a0 0000099b: JUMPI 0000099c: PUSH1 0x00 0000099e: DUP1 0000099f: REVERT 000009a0: JUMPDEST 000009a1: PUSH1 0x0c 000009a3: DUP1 000009a4: SLOAD 000009a5: PUSH1 0x01 000009a7: ADD 000009a8: SWAP1 000009a9: DUP2 000009aa: SWAP1 000009ab: SSTORE 000009ac: PUSH1 0x40 000009ae: MLOAD 000009af: PUSH32 0xdd32998a00000000000000000000000000000000000000000000000000000000 000009d0: DUP2 000009d1: MSTORE 000009d2: PUSH20 0x8a6629feba4196e0a61b8e8c94d4905e525bc055 000009e7: SWAP1 000009e8: PUSH4 0xdd32998a 000009ed: SWAP1 000009ee: PUSH2 0x0a00 000009f1: SWAP1 000009f2: PUSH1 0x00 000009f4: SWAP1 000009f5: DUP9 000009f6: SWAP1 000009f7: DUP9 000009f8: SWAP1 000009f9: PUSH1 0x04 000009fb: ADD 000009fc: PUSH2 0x3dbd 000009ff: JUMP 00000a00: JUMPDEST 00000a01: PUSH1 0x20 00000a03: PUSH1 0x40 00000a05: MLOAD 00000a06: DUP1 00000a07: DUP4 00000a08: SUB 00000a09: DUP2 00000a0a: DUP7 00000a0b: DUP1 00000a0c: EXTCODESIZE 00000a0d: ISZERO 00000a0e: DUP1 00000a0f: ISZERO 00000a10: PUSH2 0x0a18 00000a13: JUMPI 00000a14: PUSH1 0x00 00000a16: DUP1 00000a17: REVERT 00000a18: JUMPDEST 00000a19: POP 00000a1a: GAS 00000a1b: DELEGATECALL 00000a1c: ISZERO 00000a1d: DUP1 00000a1e: ISZERO 00000a1f: PUSH2 0x0a2c 00000a22: JUMPI 00000a23: RETURNDATASIZE 00000a24: PUSH1 0x00 00000a26: DUP1 00000a27: RETURNDATACOPY 00000a28: RETURNDATASIZE 00000a29: PUSH1 0x00 00000a2b: REVERT 00000a2c: JUMPDEST 00000a2d: POP 00000a2e: POP 00000a2f: POP 00000a30: POP 00000a31: PUSH1 0x40 00000a33: MLOAD 00000a34: RETURNDATASIZE 00000a35: PUSH1 0x1f 00000a37: NOT 00000a38: PUSH1 0x1f 00000a3a: DUP3 00000a3b: ADD 00000a3c: AND 00000a3d: DUP3 00000a3e: ADD 00000a3f: DUP1 00000a40: PUSH1 0x40 00000a42: MSTORE 00000a43: POP 00000a44: PUSH2 0x0a50 00000a47: SWAP2 00000a48: SWAP1 00000a49: DUP2 00000a4a: ADD 00000a4b: SWAP1 00000a4c: PUSH2 0x3508 00000a4f: JUMP 00000a50: JUMPDEST 00000a51: SWAP2 00000a52: POP 00000a53: PUSH1 0x0c 00000a55: SLOAD 00000a56: DUP2 00000a57: EQ 00000a58: PUSH2 0x0a60 00000a5b: JUMPI 00000a5c: PUSH1 0x00 00000a5e: DUP1 00000a5f: REVERT 00000a60: JUMPDEST 00000a61: POP 00000a62: SWAP3 00000a63: SWAP2 00000a64: POP 00000a65: POP 00000a66: JUMP 00000a67: JUMPDEST 00000a68: PUSH2 0x0a6f 00000a6b: PUSH2 0x10a2 00000a6e: JUMP 00000a6f: JUMPDEST 00000a70: PUSH2 0x0a78 00000a73: JUMPI 00000a74: PUSH1 0x00 00000a76: DUP1 00000a77: REVERT 00000a78: JUMPDEST 00000a79: PUSH1 0x0c 00000a7b: DUP1 00000a7c: SLOAD 00000a7d: PUSH1 0x01 00000a7f: ADD 00000a80: SWAP1 00000a81: DUP2 00000a82: SWAP1 00000a83: SSTORE 00000a84: PUSH1 0x40 00000a86: MLOAD 00000a87: PUSH32 0xf9cacc4c00000000000000000000000000000000000000000000000000000000 00000aa8: DUP2 00000aa9: MSTORE 00000aaa: PUSH20 0x8a6629feba4196e0a61b8e8c94d4905e525bc055 00000abf: SWAP1 00000ac0: PUSH4 0xf9cacc4c 00000ac5: SWAP1 00000ac6: PUSH2 0x0ad6 00000ac9: SWAP1 00000aca: PUSH1 0x00 00000acc: SWAP1 00000acd: DUP7 00000ace: SWAP1 00000acf: PUSH1 0x04 00000ad1: ADD 00000ad2: PUSH2 0x3e9b 00000ad5: JUMP 00000ad6: JUMPDEST 00000ad7: PUSH1 0x00 00000ad9: PUSH1 0x40 00000adb: MLOAD 00000adc: DUP1 00000add: DUP4 00000ade: SUB 00000adf: DUP2 00000ae0: DUP7 00000ae1: DUP1 00000ae2: EXTCODESIZE 00000ae3: ISZERO 00000ae4: DUP1 00000ae5: ISZERO 00000ae6: PUSH2 0x0aee 00000ae9: JUMPI 00000aea: PUSH1 0x00 00000aec: DUP1 00000aed: REVERT 00000aee: JUMPDEST 00000aef: POP 00000af0: GAS 00000af1: DELEGATECALL 00000af2: ISZERO 00000af3: DUP1 00000af4: ISZERO 00000af5: PUSH2 0x0b02 00000af8: JUMPI 00000af9: RETURNDATASIZE 00000afa: PUSH1 0x00 00000afc: DUP1 00000afd: RETURNDATACOPY 00000afe: RETURNDATASIZE 00000aff: PUSH1 0x00 00000b01: REVERT 00000b02: JUMPDEST 00000b03: POP 00000b04: POP 00000b05: POP 00000b06: POP 00000b07: PUSH1 0x0c 00000b09: SLOAD 00000b0a: DUP2 00000b0b: EQ 00000b0c: PUSH2 0x0b14 00000b0f: JUMPI 00000b10: PUSH1 0x00 00000b12: DUP1 00000b13: REVERT 00000b14: JUMPDEST 00000b15: POP 00000b16: POP 00000b17: JUMP 00000b18: JUMPDEST 00000b19: PUSH2 0x0b20 00000b1c: PUSH2 0x10a2 00000b1f: JUMP 00000b20: JUMPDEST 00000b21: PUSH2 0x0b29 00000b24: JUMPI 00000b25: PUSH1 0x00 00000b27: DUP1 00000b28: REVERT 00000b29: JUMPDEST 00000b2a: PUSH1 0x0c 00000b2c: DUP1 00000b2d: SLOAD 00000b2e: PUSH1 0x01 00000b30: ADD 00000b31: SWAP1 00000b32: DUP2 00000b33: SWAP1 00000b34: SSTORE 00000b35: PUSH1 0x40 00000b37: MLOAD 00000b38: PUSH32 0x0f44e6bc00000000000000000000000000000000000000000000000000000000 00000b59: DUP2 00000b5a: MSTORE 00000b5b: PUSH20 0x8a6629feba4196e0a61b8e8c94d4905e525bc055 00000b70: SWAP1 00000b71: PUSH4 0x0f44e6bc 00000b76: SWAP1 00000b77: PUSH2 0x0ad6 00000b7a: SWAP1 00000b7b: PUSH1 0x00 00000b7d: SWAP1 00000b7e: DUP7 00000b7f: SWAP1 00000b80: PUSH1 0x04 00000b82: ADD 00000b83: PUSH2 0x3e9b 00000b86: JUMP 00000b87: JUMPDEST 00000b88: PUSH2 0x0b8f 00000b8b: PUSH2 0x10a2 00000b8e: JUMP 00000b8f: JUMPDEST 00000b90: PUSH2 0x0b98 00000b93: JUMPI 00000b94: PUSH1 0x00 00000b96: DUP1 00000b97: REVERT 00000b98: JUMPDEST 00000b99: PUSH1 0x0c 00000b9b: DUP1 00000b9c: SLOAD 00000b9d: PUSH1 0x01 00000b9f: ADD 00000ba0: SWAP1 00000ba1: DUP2 00000ba2: SWAP1 00000ba3: SSTORE 00000ba4: PUSH1 0x40 00000ba6: MLOAD 00000ba7: PUSH32 0x311401d000000000000000000000000000000000000000000000000000000000 00000bc8: DUP2 00000bc9: MSTORE 00000bca: PUSH20 0x8a6629feba4196e0a61b8e8c94d4905e525bc055 00000bdf: SWAP1 00000be0: PUSH4 0x311401d0 00000be5: SWAP1 00000be6: PUSH2 0x0ad6 00000be9: SWAP1 00000bea: PUSH1 0x00 00000bec: SWAP1 00000bed: DUP7 00000bee: SWAP1 00000bef: PUSH1 0x04 00000bf1: ADD 00000bf2: PUSH2 0x3e9b 00000bf5: JUMP 00000bf6: JUMPDEST 00000bf7: PUSH1 0x00 00000bf9: PUSH2 0x0c09 00000bfc: DUP2 00000bfd: DUP5 00000bfe: DUP5 00000bff: PUSH4 0xffffffff 00000c04: PUSH2 0x1929 00000c07: AND 00000c08: JUMP 00000c09: JUMPDEST 00000c0a: SWAP1 00000c0b: POP 00000c0c: JUMPDEST 00000c0d: SWAP3 00000c0e: SWAP2 00000c0f: POP 00000c10: POP 00000c11: JUMP 00000c12: JUMPDEST 00000c13: PUSH2 0x0c1a 00000c16: PUSH2 0x2d62 00000c19: JUMP 00000c1a: JUMPDEST 00000c1b: PUSH2 0x0c23 00000c1e: DUP3 00000c1f: PUSH2 0x183e 00000c22: JUMP 00000c23: JUMPDEST 00000c24: PUSH2 0x0c09 00000c27: PUSH1 0x00 00000c29: DUP5 00000c2a: DUP5 00000c2b: PUSH4 0xffffffff 00000c30: PUSH2 0x1969 00000c33: AND 00000c34: JUMP 00000c35: JUMPDEST 00000c36: PUSH2 0x0c3d 00000c39: PUSH2 0x10a2 00000c3c: JUMP 00000c3d: JUMPDEST 00000c3e: PUSH2 0x0c46 00000c41: JUMPI 00000c42: PUSH1 0x00 00000c44: DUP1 00000c45: REVERT 00000c46: JUMPDEST 00000c47: PUSH1 0x0c 00000c49: DUP1 00000c4a: SLOAD 00000c4b: PUSH1 0x01 00000c4d: ADD 00000c4e: SWAP1 00000c4f: DUP2 00000c50: SWAP1 00000c51: SSTORE 00000c52: PUSH1 0x40 00000c54: MLOAD 00000c55: PUSH32 0x7335079b00000000000000000000000000000000000000000000000000000000 00000c76: DUP2 00000c77: MSTORE 00000c78: PUSH20 0x8a6629feba4196e0a61b8e8c94d4905e525bc055 00000c8d: SWAP1 00000c8e: PUSH4 0x7335079b 00000c93: SWAP1 00000c94: PUSH2 0x07d4 00000c97: SWAP1 00000c98: PUSH1 0x00 00000c9a: SWAP1 00000c9b: DUP8 00000c9c: SWAP1 00000c9d: DUP8 00000c9e: SWAP1 00000c9f: PUSH1 0x04 00000ca1: ADD 00000ca2: PUSH2 0x3f14 00000ca5: JUMP 00000ca6: JUMPDEST 00000ca7: PUSH2 0x0cae 00000caa: PUSH2 0x2d4f 00000cad: JUMP 00000cae: JUMPDEST 00000caf: POP 00000cb0: PUSH1 0x40 00000cb2: DUP1 00000cb3: MLOAD 00000cb4: PUSH1 0x20 00000cb6: DUP2 00000cb7: ADD 00000cb8: SWAP1 00000cb9: SWAP2 00000cba: MSTORE 00000cbb: PUSH1 0x05 00000cbd: SLOAD 00000cbe: DUP2 00000cbf: MSTORE 00000cc0: SWAP1 00000cc1: JUMP 00000cc2: JUMPDEST 00000cc3: PUSH2 0x0cca 00000cc6: PUSH2 0x2d79 00000cc9: JUMP 00000cca: JUMPDEST 00000ccb: PUSH2 0x0cd3 00000cce: DUP3 00000ccf: PUSH2 0x183e 00000cd2: JUMP 00000cd3: JUMPDEST 00000cd4: PUSH2 0x0829 00000cd7: DUP3 00000cd8: PUSH2 0x0ce8 00000cdb: PUSH1 0x00 00000cdd: DUP3 00000cde: PUSH4 0xffffffff 00000ce3: PUSH2 0x19e5 00000ce6: AND 00000ce7: JUMP 00000ce8: JUMPDEST 00000ce9: PUSH1 0x00 00000ceb: SWAP2 00000cec: SWAP1 00000ced: PUSH4 0xffffffff 00000cf2: PUSH2 0x1a69 00000cf5: AND 00000cf6: JUMP 00000cf7: JUMPDEST 00000cf8: PUSH1 0x00 00000cfa: PUSH2 0x0d02 00000cfd: DUP3 00000cfe: PUSH2 0x183e 00000d01: JUMP 00000d02: JUMPDEST 00000d03: POP 00000d04: PUSH1 0x00 00000d06: SWAP1 00000d07: DUP2 00000d08: MSTORE 00000d09: PUSH1 0x01 00000d0b: PUSH1 0x20 00000d0d: MSTORE 00000d0e: PUSH1 0x40 00000d10: SWAP1 00000d11: KECCAK256 00000d12: PUSH1 0x07 00000d14: ADD 00000d15: SLOAD 00000d16: PUSH1 0xff 00000d18: AND 00000d19: SWAP1 00000d1a: JUMP 00000d1b: JUMPDEST 00000d1c: PUSH2 0x0d23 00000d1f: PUSH2 0x2d99 00000d22: JUMP 00000d23: JUMPDEST 00000d24: POP 00000d25: PUSH1 0x40 00000d27: DUP1 00000d28: MLOAD 00000d29: PUSH1 0xa0 00000d2b: DUP2 00000d2c: ADD 00000d2d: DUP3 00000d2e: MSTORE 00000d2f: PUSH1 0x05 00000d31: SLOAD 00000d32: PUSH1 0x80 00000d34: DUP3 00000d35: ADD 00000d36: SWAP1 00000d37: DUP2 00000d38: MSTORE 00000d39: DUP2 00000d3a: MSTORE 00000d3b: DUP2 00000d3c: MLOAD 00000d3d: PUSH1 0x20 00000d3f: DUP2 00000d40: DUP2 00000d41: ADD 00000d42: DUP5 00000d43: MSTORE 00000d44: PUSH1 0x06 00000d46: SLOAD 00000d47: DUP3 00000d48: MSTORE 00000d49: DUP1 00000d4a: DUP4 00000d4b: ADD 00000d4c: SWAP2 00000d4d: SWAP1 00000d4e: SWAP2 00000d4f: MSTORE 00000d50: DUP3 00000d51: MLOAD 00000d52: DUP1 00000d53: DUP3 00000d54: ADD 00000d55: DUP5 00000d56: MSTORE 00000d57: PUSH1 0x07 00000d59: SLOAD 00000d5a: DUP2 00000d5b: MSTORE 00000d5c: DUP3 00000d5d: DUP5 00000d5e: ADD 00000d5f: MSTORE 00000d60: DUP3 00000d61: MLOAD 00000d62: SWAP1 00000d63: DUP2 00000d64: ADD 00000d65: SWAP1 00000d66: SWAP3 00000d67: MSTORE 00000d68: PUSH1 0x08 00000d6a: SLOAD 00000d6b: DUP3 00000d6c: MSTORE 00000d6d: PUSH1 0x60 00000d6f: DUP2 00000d70: ADD 00000d71: SWAP2 00000d72: SWAP1 00000d73: SWAP2 00000d74: MSTORE 00000d75: SWAP1 00000d76: JUMP 00000d77: JUMPDEST 00000d78: PUSH1 0x60 00000d7a: DUP1 00000d7b: PUSH1 0x60 00000d7d: PUSH1 0x00 00000d7f: DUP1 00000d80: PUSH1 0x00 00000d82: ADD 00000d83: SLOAD 00000d84: SWAP1 00000d85: POP 00000d86: PUSH1 0x60 00000d88: DUP2 00000d89: PUSH1 0x40 00000d8b: MLOAD 00000d8c: SWAP1 00000d8d: DUP1 00000d8e: DUP3 00000d8f: MSTORE 00000d90: DUP1 00000d91: PUSH1 0x20 00000d93: MUL 00000d94: PUSH1 0x20 00000d96: ADD 00000d97: DUP3 00000d98: ADD 00000d99: PUSH1 0x40 00000d9b: MSTORE 00000d9c: DUP1 00000d9d: ISZERO 00000d9e: PUSH2 0x0db1 00000da1: JUMPI 00000da2: DUP2 00000da3: PUSH1 0x20 00000da5: ADD 00000da6: PUSH1 0x20 00000da8: DUP3 00000da9: MUL 00000daa: DUP1 00000dab: CODESIZE 00000dac: DUP4 00000dad: CODECOPY 00000dae: ADD 00000daf: SWAP1 00000db0: POP 00000db1: JUMPDEST 00000db2: POP 00000db3: SWAP1 00000db4: POP 00000db5: PUSH1 0x60 00000db7: DUP3 00000db8: PUSH1 0x40 00000dba: MLOAD 00000dbb: SWAP1 00000dbc: DUP1 00000dbd: DUP3 00000dbe: MSTORE 00000dbf: DUP1 00000dc0: PUSH1 0x20 00000dc2: MUL 00000dc3: PUSH1 0x20 00000dc5: ADD 00000dc6: DUP3 00000dc7: ADD 00000dc8: PUSH1 0x40 00000dca: MSTORE 00000dcb: DUP1 00000dcc: ISZERO 00000dcd: PUSH2 0x0df0 00000dd0: JUMPI 00000dd1: DUP2 00000dd2: PUSH1 0x20 00000dd4: ADD 00000dd5: JUMPDEST 00000dd6: PUSH2 0x0ddd 00000dd9: PUSH2 0x2d62 00000ddc: JUMP 00000ddd: JUMPDEST 00000dde: DUP2 00000ddf: MSTORE 00000de0: PUSH1 0x20 00000de2: ADD 00000de3: SWAP1 00000de4: PUSH1 0x01 00000de6: SWAP1 00000de7: SUB 00000de8: SWAP1 00000de9: DUP2 00000dea: PUSH2 0x0dd5 00000ded: JUMPI 00000dee: SWAP1 00000def: POP 00000df0: JUMPDEST 00000df1: POP 00000df2: SWAP1 00000df3: POP 00000df4: PUSH1 0x60 00000df6: DUP4 00000df7: PUSH1 0x40 00000df9: MLOAD 00000dfa: SWAP1 00000dfb: DUP1 00000dfc: DUP3 00000dfd: MSTORE 00000dfe: DUP1 00000dff: PUSH1 0x20 00000e01: MUL 00000e02: PUSH1 0x20 00000e04: ADD 00000e05: DUP3 00000e06: ADD 00000e07: PUSH1 0x40 00000e09: MSTORE 00000e0a: DUP1 00000e0b: ISZERO 00000e0c: PUSH2 0x0e2f 00000e0f: JUMPI 00000e10: DUP2 00000e11: PUSH1 0x20 00000e13: ADD 00000e14: JUMPDEST 00000e15: PUSH2 0x0e1c 00000e18: PUSH2 0x2d62 00000e1b: JUMP 00000e1c: JUMPDEST 00000e1d: DUP2 00000e1e: MSTORE 00000e1f: PUSH1 0x20 00000e21: ADD 00000e22: SWAP1 00000e23: PUSH1 0x01 00000e25: SWAP1 00000e26: SUB 00000e27: SWAP1 00000e28: DUP2 00000e29: PUSH2 0x0e14 00000e2c: JUMPI 00000e2d: SWAP1 00000e2e: POP 00000e2f: JUMPDEST 00000e30: POP 00000e31: SWAP1 00000e32: POP 00000e33: PUSH1 0x00 00000e35: JUMPDEST 00000e36: DUP5 00000e37: DUP2 00000e38: LT 00000e39: ISZERO 00000e3a: PUSH2 0x0ed6 00000e3d: JUMPI 00000e3e: PUSH2 0x0e46 00000e41: DUP2 00000e42: PUSH2 0x0831 00000e45: JUMP 00000e46: JUMPDEST 00000e47: DUP5 00000e48: DUP3 00000e49: DUP2 00000e4a: MLOAD 00000e4b: DUP2 00000e4c: LT 00000e4d: PUSH2 0x0e52 00000e50: JUMPI 00000e51: INVALID 00000e52: JUMPDEST 00000e53: PUSH1 0x20 00000e55: MUL 00000e56: PUSH1 0x20 00000e58: ADD 00000e59: ADD 00000e5a: SWAP1 00000e5b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e70: AND 00000e71: SWAP1 00000e72: DUP2 00000e73: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e88: AND 00000e89: DUP2 00000e8a: MSTORE 00000e8b: POP 00000e8c: POP 00000e8d: PUSH2 0x0e96 00000e90: DUP10 00000e91: DUP3 00000e92: PUSH2 0x0c12 00000e95: JUMP 00000e96: JUMPDEST 00000e97: DUP4 00000e98: DUP3 00000e99: DUP2 00000e9a: MLOAD 00000e9b: DUP2 00000e9c: LT 00000e9d: PUSH2 0x0ea2 00000ea0: JUMPI 00000ea1: INVALID 00000ea2: JUMPDEST 00000ea3: PUSH1 0x20 00000ea5: MUL 00000ea6: PUSH1 0x20 00000ea8: ADD 00000ea9: ADD 00000eaa: DUP2 00000eab: SWAP1 00000eac: MSTORE 00000ead: POP 00000eae: PUSH2 0x0eb7 00000eb1: DUP10 00000eb2: DUP3 00000eb3: PUSH2 0x1337 00000eb6: JUMP 00000eb7: JUMPDEST 00000eb8: DUP3 00000eb9: DUP3 00000eba: DUP2 00000ebb: MLOAD 00000ebc: DUP2 00000ebd: LT 00000ebe: PUSH2 0x0ec3 00000ec1: JUMPI 00000ec2: INVALID 00000ec3: JUMPDEST 00000ec4: PUSH1 0x20 00000ec6: SWAP1 00000ec7: DUP2 00000ec8: MUL 00000ec9: SWAP2 00000eca: SWAP1 00000ecb: SWAP2 00000ecc: ADD 00000ecd: ADD 00000ece: MSTORE 00000ecf: PUSH1 0x01 00000ed1: ADD 00000ed2: PUSH2 0x0e35 00000ed5: JUMP 00000ed6: JUMPDEST 00000ed7: POP 00000ed8: SWAP2 00000ed9: SWAP8 00000eda: SWAP1 00000edb: SWAP7 00000edc: POP 00000edd: SWAP1 00000ede: SWAP5 00000edf: POP 00000ee0: SWAP3 00000ee1: POP 00000ee2: POP 00000ee3: POP 00000ee4: JUMP 00000ee5: JUMPDEST 00000ee6: PUSH2 0x0eed 00000ee9: PUSH2 0x10a2 00000eec: JUMP 00000eed: JUMPDEST 00000eee: PUSH2 0x0ef6 00000ef1: JUMPI 00000ef2: PUSH1 0x00 00000ef4: DUP1 00000ef5: REVERT 00000ef6: JUMPDEST 00000ef7: PUSH1 0x0b 00000ef9: SLOAD 00000efa: PUSH1 0x40 00000efc: MLOAD 00000efd: PUSH1 0x00 00000eff: SWAP2 00000f00: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f15: AND 00000f16: SWAP1 00000f17: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00000f38: SWAP1 00000f39: DUP4 00000f3a: SWAP1 00000f3b: LOG3 00000f3c: PUSH1 0x0b 00000f3e: DUP1 00000f3f: SLOAD 00000f40: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00000f61: AND 00000f62: SWAP1 00000f63: SSTORE 00000f64: JUMP 00000f65: JUMPDEST 00000f66: PUSH2 0x0f6d 00000f69: PUSH2 0x2d4f 00000f6c: JUMP 00000f6d: JUMPDEST 00000f6e: POP 00000f6f: PUSH1 0x40 00000f71: DUP1 00000f72: MLOAD 00000f73: PUSH1 0x20 00000f75: DUP2 00000f76: ADD 00000f77: SWAP1 00000f78: SWAP2 00000f79: MSTORE 00000f7a: PUSH1 0x08 00000f7c: SLOAD 00000f7d: DUP2 00000f7e: MSTORE 00000f7f: SWAP1 00000f80: JUMP 00000f81: JUMPDEST 00000f82: PUSH1 0x00 00000f84: JUMPDEST 00000f85: DUP2 00000f86: MLOAD 00000f87: DUP2 00000f88: LT 00000f89: ISZERO 00000f8a: PUSH2 0x0b14 00000f8d: JUMPI 00000f8e: PUSH1 0x00 00000f90: DUP3 00000f91: DUP3 00000f92: DUP2 00000f93: MLOAD 00000f94: DUP2 00000f95: LT 00000f96: PUSH2 0x0f9b 00000f99: JUMPI 00000f9a: INVALID 00000f9b: JUMPDEST 00000f9c: PUSH1 0x20 00000f9e: MUL 00000f9f: PUSH1 0x20 00000fa1: ADD 00000fa2: ADD 00000fa3: MLOAD 00000fa4: PUSH1 0x00 00000fa6: ADD 00000fa7: MLOAD 00000fa8: SWAP1 00000fa9: POP 00000faa: PUSH1 0x00 00000fac: DUP4 00000fad: DUP4 00000fae: DUP2 00000faf: MLOAD 00000fb0: DUP2 00000fb1: LT 00000fb2: PUSH2 0x0fb7 00000fb5: JUMPI 00000fb6: INVALID 00000fb7: JUMPDEST 00000fb8: PUSH1 0x20 00000fba: SWAP1 00000fbb: DUP2 00000fbc: MUL 00000fbd: SWAP2 00000fbe: SWAP1 00000fbf: SWAP2 00000fc0: ADD 00000fc1: DUP2 00000fc2: ADD 00000fc3: MLOAD 00000fc4: DUP2 00000fc5: ADD 00000fc6: MLOAD 00000fc7: CALLER 00000fc8: PUSH1 0x00 00000fca: DUP2 00000fcb: DUP2 00000fcc: MSTORE 00000fcd: PUSH1 0x03 00000fcf: DUP5 00000fd0: MSTORE 00000fd1: PUSH1 0x40 00000fd3: DUP1 00000fd4: DUP3 00000fd5: KECCAK256 00000fd6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000feb: DUP9 00000fec: AND 00000fed: DUP4 00000fee: MSTORE 00000fef: SWAP1 00000ff0: SWAP5 00000ff1: MSTORE 00000ff2: DUP4 00000ff3: SWAP1 00000ff4: KECCAK256 00000ff5: DUP1 00000ff6: SLOAD 00000ff7: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 00001018: AND 00001019: DUP4 0000101a: ISZERO 0000101b: ISZERO 0000101c: OR 0000101d: SWAP1 0000101e: SSTORE 0000101f: SWAP2 00001020: MLOAD 00001021: SWAP1 00001022: SWAP3 00001023: POP 00001024: PUSH32 0x4d7f317d2088d039c2a95a09fcbf9cc9191fad5905f883c937cc3d317c4a6327 00001045: SWAP1 00001046: PUSH2 0x1052 00001049: SWAP1 0000104a: DUP6 0000104b: SWAP1 0000104c: DUP6 0000104d: SWAP1 0000104e: PUSH2 0x3c78 00001051: JUMP 00001052: JUMPDEST 00001053: PUSH1 0x40 00001055: MLOAD 00001056: DUP1 00001057: SWAP2 00001058: SUB 00001059: SWAP1 0000105a: LOG2 0000105b: POP 0000105c: POP 0000105d: PUSH1 0x01 0000105f: ADD 00001060: PUSH2 0x0f84 00001063: JUMP 00001064: JUMPDEST 00001065: PUSH2 0x106c 00001068: PUSH2 0x2d4f 0000106b: JUMP 0000106c: JUMPDEST 0000106d: PUSH2 0x1075 00001070: DUP3 00001071: PUSH2 0x183e 00001074: JUMP 00001075: JUMPDEST 00001076: PUSH2 0x0829 00001079: PUSH1 0x00 0000107b: DUP4 0000107c: PUSH4 0xffffffff 00001081: PUSH2 0x1ac1 00001084: AND 00001085: JUMP 00001086: JUMPDEST 00001087: PUSH1 0x0b 00001089: SLOAD 0000108a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000109f: AND 000010a0: SWAP1 000010a1: JUMP 000010a2: JUMPDEST 000010a3: PUSH1 0x0b 000010a5: SLOAD 000010a6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000010bb: AND 000010bc: CALLER 000010bd: EQ 000010be: SWAP1 000010bf: JUMP 000010c0: JUMPDEST 000010c1: PUSH1 0x00 000010c3: PUSH2 0x10ca 000010c6: PUSH2 0x10a2 000010c9: JUMP 000010ca: JUMPDEST 000010cb: PUSH2 0x10d3 000010ce: JUMPI 000010cf: PUSH1 0x00 000010d1: DUP1 000010d2: REVERT 000010d3: JUMPDEST 000010d4: PUSH1 0x0c 000010d6: DUP1 000010d7: SLOAD 000010d8: PUSH1 0x01 000010da: ADD 000010db: SWAP1 000010dc: DUP2 000010dd: SWAP1 000010de: SSTORE 000010df: PUSH1 0x40 000010e1: MLOAD 000010e2: PUSH32 0xb25328e000000000000000000000000000000000000000000000000000000000 00001103: DUP2 00001104: MSTORE 00001105: PUSH20 0x8a6629feba4196e0a61b8e8c94d4905e525bc055 0000111a: SWAP1 0000111b: PUSH4 0xb25328e0 00001120: SWAP1 00001121: PUSH2 0x0a00 00001124: SWAP1 00001125: PUSH1 0x00 00001127: SWAP1 00001128: DUP9 00001129: SWAP1 0000112a: DUP9 0000112b: SWAP1 0000112c: PUSH1 0x04 0000112e: ADD 0000112f: PUSH2 0x3eb6 00001132: JUMP 00001133: JUMPDEST 00001134: PUSH2 0x113b 00001137: PUSH2 0x10a2 0000113a: JUMP 0000113b: JUMPDEST 0000113c: PUSH2 0x1144 0000113f: JUMPI 00001140: PUSH1 0x00 00001142: DUP1 00001143: REVERT 00001144: JUMPDEST 00001145: PUSH1 0x0c 00001147: DUP1 00001148: SLOAD 00001149: PUSH1 0x01 0000114b: ADD 0000114c: SWAP1 0000114d: DUP2 0000114e: SWAP1 0000114f: SSTORE 00001150: PUSH1 0x40 00001152: MLOAD 00001153: PUSH32 0x48d0648400000000000000000000000000000000000000000000000000000000 00001174: DUP2 00001175: MSTORE 00001176: PUSH20 0x8a6629feba4196e0a61b8e8c94d4905e525bc055 0000118b: SWAP1 0000118c: PUSH4 0x48d06484 00001191: SWAP1 00001192: PUSH2 0x11aa 00001195: SWAP1 00001196: PUSH1 0x00 00001198: SWAP1 00001199: DUP11 0000119a: SWAP1 0000119b: DUP11 0000119c: SWAP1 0000119d: DUP11 0000119e: SWAP1 0000119f: DUP11 000011a0: SWAP1 000011a1: DUP11 000011a2: SWAP1 000011a3: PUSH1 0x04 000011a5: ADD 000011a6: PUSH2 0x3e0d 000011a9: JUMP 000011aa: JUMPDEST 000011ab: PUSH1 0x00 000011ad: PUSH1 0x40 000011af: MLOAD 000011b0: DUP1 000011b1: DUP4 000011b2: SUB 000011b3: DUP2 000011b4: DUP7 000011b5: DUP1 000011b6: EXTCODESIZE 000011b7: ISZERO 000011b8: DUP1 000011b9: ISZERO 000011ba: PUSH2 0x11c2 000011bd: JUMPI 000011be: PUSH1 0x00 000011c0: DUP1 000011c1: REVERT 000011c2: JUMPDEST 000011c3: POP 000011c4: GAS 000011c5: DELEGATECALL 000011c6: ISZERO 000011c7: DUP1 000011c8: ISZERO 000011c9: PUSH2 0x11d6 000011cc: JUMPI 000011cd: RETURNDATASIZE 000011ce: PUSH1 0x00 000011d0: DUP1 000011d1: RETURNDATACOPY 000011d2: RETURNDATASIZE 000011d3: PUSH1 0x00 000011d5: REVERT 000011d6: JUMPDEST 000011d7: POP 000011d8: POP 000011d9: POP 000011da: POP 000011db: PUSH1 0x0c 000011dd: SLOAD 000011de: DUP2 000011df: EQ 000011e0: PUSH2 0x11e8 000011e3: JUMPI 000011e4: PUSH1 0x00 000011e6: DUP1 000011e7: REVERT 000011e8: JUMPDEST 000011e9: POP 000011ea: POP 000011eb: POP 000011ec: POP 000011ed: POP 000011ee: POP 000011ef: JUMP 000011f0: JUMPDEST 000011f1: PUSH1 0x0c 000011f3: DUP1 000011f4: SLOAD 000011f5: PUSH1 0x01 000011f7: ADD 000011f8: SWAP1 000011f9: DUP2 000011fa: SWAP1 000011fb: SSTORE 000011fc: PUSH1 0x40 000011fe: MLOAD 000011ff: PUSH32 0xbd76ecfd00000000000000000000000000000000000000000000000000000000 00001220: DUP2 00001221: MSTORE 00001222: PUSH20 0x56e7d4520abfecf10b38368b00723d9bd3c21ee1 00001237: SWAP1 00001238: PUSH4 0xbd76ecfd 0000123d: SWAP1 0000123e: PUSH2 0x07d4 00001241: SWAP1 00001242: PUSH1 0x00 00001244: SWAP1 00001245: DUP8 00001246: SWAP1 00001247: DUP8 00001248: SWAP1 00001249: PUSH1 0x04 0000124b: ADD 0000124c: PUSH2 0x3e67 0000124f: JUMP 00001250: JUMPDEST 00001251: PUSH2 0x1258 00001254: PUSH2 0x2dd8 00001257: JUMP 00001258: JUMPDEST 00001259: PUSH2 0x1260 0000125c: PUSH2 0x2d79 0000125f: JUMP 00001260: JUMPDEST 00001261: PUSH2 0x1268 00001264: PUSH2 0x2d4f 00001267: JUMP 00001268: JUMPDEST 00001269: PUSH2 0x1270 0000126c: PUSH2 0x2d4f 0000126f: JUMP 00001270: JUMPDEST 00001271: PUSH2 0x1279 00001274: DUP6 00001275: PUSH2 0x183e 00001278: JUMP 00001279: JUMPDEST 0000127a: PUSH2 0x1282 0000127d: DUP6 0000127e: PUSH2 0x154a 00001281: JUMP 00001282: JUMPDEST 00001283: PUSH2 0x128b 00001286: DUP7 00001287: PUSH2 0x0cc2 0000128a: JUMP 0000128b: JUMPDEST 0000128c: PUSH2 0x1294 0000128f: DUP8 00001290: PUSH2 0x1064 00001293: JUMP 00001294: JUMPDEST 00001295: PUSH2 0x129d 00001298: DUP9 00001299: PUSH2 0x17da 0000129c: JUMP 0000129d: JUMPDEST 0000129e: SWAP4 0000129f: POP 000012a0: SWAP4 000012a1: POP 000012a2: SWAP4 000012a3: POP 000012a4: SWAP4 000012a5: POP 000012a6: SWAP2 000012a7: SWAP4 000012a8: POP 000012a9: SWAP2 000012aa: SWAP4 000012ab: JUMP 000012ac: JUMPDEST 000012ad: PUSH2 0x12b4 000012b0: PUSH2 0x10a2 000012b3: JUMP 000012b4: JUMPDEST 000012b5: PUSH2 0x12bd 000012b8: JUMPI 000012b9: PUSH1 0x00 000012bb: DUP1 000012bc: REVERT 000012bd: JUMPDEST 000012be: PUSH1 0x0c 000012c0: DUP1 000012c1: SLOAD 000012c2: PUSH1 0x01 000012c4: ADD 000012c5: SWAP1 000012c6: DUP2 000012c7: SWAP1 000012c8: SSTORE 000012c9: PUSH1 0x40 000012cb: MLOAD 000012cc: PUSH32 0x54dd351600000000000000000000000000000000000000000000000000000000 000012ed: DUP2 000012ee: MSTORE 000012ef: PUSH20 0x8a6629feba4196e0a61b8e8c94d4905e525bc055 00001304: SWAP1 00001305: PUSH4 0x54dd3516 0000130a: SWAP1 0000130b: PUSH2 0x0ad6 0000130e: SWAP1 0000130f: PUSH1 0x00 00001311: SWAP1 00001312: DUP7 00001313: SWAP1 00001314: PUSH1 0x04 00001316: ADD 00001317: PUSH2 0x3e9b 0000131a: JUMP 0000131b: JUMPDEST 0000131c: PUSH2 0x1323 0000131f: PUSH2 0x2d4f 00001322: JUMP 00001323: JUMPDEST 00001324: POP 00001325: PUSH1 0x40 00001327: DUP1 00001328: MLOAD 00001329: PUSH1 0x20 0000132b: DUP2 0000132c: ADD 0000132d: SWAP1 0000132e: SWAP2 0000132f: MSTORE 00001330: PUSH1 0x06 00001332: SLOAD 00001333: DUP2 00001334: MSTORE 00001335: SWAP1 00001336: JUMP 00001337: JUMPDEST 00001338: PUSH2 0x133f 0000133b: PUSH2 0x2d62 0000133e: JUMP 0000133f: JUMPDEST 00001340: PUSH2 0x1348 00001343: DUP3 00001344: PUSH2 0x183e 00001347: JUMP 00001348: JUMPDEST 00001349: PUSH2 0x0c09 0000134c: PUSH2 0x135d 0000134f: PUSH1 0x00 00001351: DUP6 00001352: DUP6 00001353: PUSH4 0xffffffff 00001358: PUSH2 0x1969 0000135b: AND 0000135c: JUMP 0000135d: JUMPDEST 0000135e: PUSH2 0x1372 00001361: DUP5 00001362: PUSH2 0x0ce8 00001365: PUSH1 0x00 00001367: DUP3 00001368: PUSH4 0xffffffff 0000136d: PUSH2 0x19e5 00001370: AND 00001371: JUMP 00001372: JUMPDEST 00001373: PUSH2 0x1c0a 00001376: JUMP 00001377: JUMPDEST 00001378: PUSH2 0x137f 0000137b: PUSH2 0x2d62 0000137e: JUMP 0000137f: JUMPDEST 00001380: PUSH2 0x1388 00001383: DUP3 00001384: PUSH2 0x183e 00001387: JUMP 00001388: JUMPDEST 00001389: PUSH2 0x0829 0000138c: PUSH1 0x00 0000138e: DUP4 0000138f: PUSH4 0xffffffff 00001394: PUSH2 0x1cbb 00001397: AND 00001398: JUMP 00001399: JUMPDEST 0000139a: PUSH2 0x13a1 0000139d: PUSH2 0x2d4f 000013a0: JUMP 000013a1: JUMPDEST 000013a2: PUSH2 0x13aa 000013a5: DUP4 000013a6: PUSH2 0x183e 000013a9: JUMP 000013aa: JUMPDEST 000013ab: PUSH2 0x13b3 000013ae: DUP3 000013af: PUSH2 0x183e 000013b2: JUMP 000013b3: JUMPDEST 000013b4: PUSH2 0x0c09 000013b7: PUSH1 0x00 000013b9: DUP5 000013ba: DUP5 000013bb: PUSH4 0xffffffff 000013c0: PUSH2 0x1d1b 000013c3: AND 000013c4: JUMP 000013c5: JUMPDEST 000013c6: PUSH2 0x13cd 000013c9: PUSH2 0x2d62 000013cc: JUMP 000013cd: JUMPDEST 000013ce: PUSH2 0x13d6 000013d1: DUP3 000013d2: PUSH2 0x183e 000013d5: JUMP 000013d6: JUMPDEST 000013d7: PUSH2 0x0829 000013da: PUSH1 0x00 000013dc: DUP4 000013dd: PUSH4 0xffffffff 000013e2: PUSH2 0x1db1 000013e5: AND 000013e6: JUMP 000013e7: JUMPDEST 000013e8: PUSH2 0x13ef 000013eb: PUSH2 0x2d79 000013ee: JUMP 000013ef: JUMPDEST 000013f0: PUSH2 0x13f8 000013f3: DUP3 000013f4: PUSH2 0x183e 000013f7: JUMP 000013f8: JUMPDEST 000013f9: PUSH2 0x0829 000013fc: PUSH1 0x00 000013fe: DUP4 000013ff: PUSH4 0xffffffff 00001404: PUSH2 0x19e5 00001407: AND 00001408: JUMP 00001409: JUMPDEST 0000140a: PUSH1 0x00 0000140c: PUSH2 0x0829 0000140f: DUP2 00001410: DUP4 00001411: PUSH4 0xffffffff 00001416: PUSH2 0x1e77 00001419: AND 0000141a: JUMP 0000141b: JUMPDEST 0000141c: PUSH2 0x1423 0000141f: PUSH2 0x2d4f 00001422: JUMP 00001423: JUMPDEST 00001424: POP 00001425: PUSH1 0x40 00001427: DUP1 00001428: MLOAD 00001429: PUSH1 0x20 0000142b: DUP2 0000142c: ADD 0000142d: SWAP1 0000142e: SWAP2 0000142f: MSTORE 00001430: PUSH1 0x07 00001432: SLOAD 00001433: DUP2 00001434: MSTORE 00001435: SWAP1 00001436: JUMP 00001437: JUMPDEST 00001438: PUSH2 0x143f 0000143b: PUSH2 0x10a2 0000143e: JUMP 0000143f: JUMPDEST 00001440: PUSH2 0x1448 00001443: JUMPI 00001444: PUSH1 0x00 00001446: DUP1 00001447: REVERT 00001448: JUMPDEST 00001449: PUSH1 0x0c 0000144b: DUP1 0000144c: SLOAD 0000144d: PUSH1 0x01 0000144f: ADD 00001450: SWAP1 00001451: DUP2 00001452: SWAP1 00001453: SSTORE 00001454: PUSH1 0x40 00001456: MLOAD 00001457: PUSH32 0x8c5dabd100000000000000000000000000000000000000000000000000000000 00001478: DUP2 00001479: MSTORE 0000147a: PUSH20 0x8a6629feba4196e0a61b8e8c94d4905e525bc055 0000148f: SWAP1 00001490: PUSH4 0x8c5dabd1 00001495: SWAP1 00001496: PUSH2 0x07d4 00001499: SWAP1 0000149a: PUSH1 0x00 0000149c: SWAP1 0000149d: DUP8 0000149e: SWAP1 0000149f: DUP8 000014a0: SWAP1 000014a1: PUSH1 0x04 000014a3: ADD 000014a4: PUSH2 0x3eec 000014a7: JUMP 000014a8: JUMPDEST 000014a9: PUSH2 0x14b0 000014ac: PUSH2 0x2e4b 000014af: JUMP 000014b0: JUMPDEST 000014b1: POP 000014b2: PUSH1 0x40 000014b4: DUP1 000014b5: MLOAD 000014b6: PUSH1 0xc0 000014b8: DUP2 000014b9: ADD 000014ba: DUP3 000014bb: MSTORE 000014bc: PUSH1 0x09 000014be: SLOAD 000014bf: PUSH8 0xffffffffffffffff 000014c8: DUP1 000014c9: DUP3 000014ca: AND 000014cb: DUP4 000014cc: MSTORE 000014cd: PUSH9 0x010000000000000000 000014d7: DUP1 000014d8: DUP4 000014d9: DIV 000014da: DUP3 000014db: AND 000014dc: PUSH1 0x20 000014de: DUP6 000014df: ADD 000014e0: MSTORE 000014e1: PUSH17 0x0100000000000000000000000000000000 000014f3: DUP4 000014f4: DIV 000014f5: DUP3 000014f6: AND 000014f7: SWAP5 000014f8: DUP5 000014f9: ADD 000014fa: SWAP5 000014fb: SWAP1 000014fc: SWAP5 000014fd: MSTORE 000014fe: PUSH25 0x01000000000000000000000000000000000000000000000000 00001518: SWAP1 00001519: SWAP2 0000151a: DIV 0000151b: DUP2 0000151c: AND 0000151d: PUSH1 0x60 0000151f: DUP4 00001520: ADD 00001521: MSTORE 00001522: PUSH1 0x0a 00001524: SLOAD 00001525: SWAP1 00001526: DUP2 00001527: AND 00001528: PUSH1 0x80 0000152a: DUP4 0000152b: ADD 0000152c: MSTORE 0000152d: SWAP2 0000152e: SWAP1 0000152f: SWAP2 00001530: DIV 00001531: PUSH16 0xffffffffffffffffffffffffffffffff 00001542: AND 00001543: PUSH1 0xa0 00001545: DUP3 00001546: ADD 00001547: MSTORE 00001548: SWAP1 00001549: JUMP 0000154a: JUMPDEST 0000154b: PUSH2 0x1552 0000154e: PUSH2 0x2dd8 00001551: JUMP 00001552: JUMPDEST 00001553: PUSH2 0x155b 00001556: DUP3 00001557: PUSH2 0x183e 0000155a: JUMP 0000155b: JUMPDEST 0000155c: POP 0000155d: PUSH1 0x00 0000155f: SWAP1 00001560: DUP2 00001561: MSTORE 00001562: PUSH1 0x01 00001564: PUSH1 0x20 00001566: DUP2 00001567: DUP2 00001568: MSTORE 00001569: PUSH1 0x40 0000156b: SWAP3 0000156c: DUP4 0000156d: SWAP1 0000156e: KECCAK256 0000156f: DUP4 00001570: MLOAD 00001571: PUSH2 0x0100 00001574: DUP2 00001575: ADD 00001576: DUP6 00001577: MSTORE 00001578: DUP2 00001579: SLOAD 0000157a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000158f: SWAP1 00001590: DUP2 00001591: AND 00001592: DUP3 00001593: MSTORE 00001594: DUP6 00001595: MLOAD 00001596: DUP1 00001597: DUP8 00001598: ADD 00001599: DUP8 0000159a: MSTORE 0000159b: SWAP5 0000159c: DUP4 0000159d: ADD 0000159e: SLOAD 0000159f: PUSH16 0xffffffffffffffffffffffffffffffff 000015b0: DUP1 000015b1: DUP3 000015b2: AND 000015b3: DUP8 000015b4: MSTORE 000015b5: PUSH17 0x0100000000000000000000000000000000 000015c7: SWAP1 000015c8: SWAP2 000015c9: DIV 000015ca: AND 000015cb: DUP6 000015cc: DUP6 000015cd: ADD 000015ce: MSTORE 000015cf: DUP2 000015d0: DUP5 000015d1: ADD 000015d2: SWAP5 000015d3: SWAP1 000015d4: SWAP5 000015d5: MSTORE 000015d6: DUP5 000015d7: MLOAD 000015d8: PUSH1 0x60 000015da: DUP1 000015db: DUP3 000015dc: ADD 000015dd: DUP8 000015de: MSTORE 000015df: PUSH1 0x02 000015e1: DUP5 000015e2: ADD 000015e3: SLOAD 000015e4: PUSH12 0xffffffffffffffffffffffff 000015f1: DUP1 000015f2: DUP3 000015f3: AND 000015f4: DUP5 000015f5: MSTORE 000015f6: PUSH13 0x01000000000000000000000000 00001604: DUP3 00001605: DIV 00001606: AND 00001607: DUP4 00001608: DUP8 00001609: ADD 0000160a: MSTORE 0000160b: PUSH25 0x01000000000000000000000000000000000000000000000000 00001625: SWAP1 00001626: DIV 00001627: PUSH4 0xffffffff 0000162c: AND 0000162d: DUP3 0000162e: DUP9 0000162f: ADD 00001630: MSTORE 00001631: DUP3 00001632: DUP8 00001633: ADD 00001634: SWAP2 00001635: SWAP1 00001636: SWAP2 00001637: MSTORE 00001638: PUSH1 0x03 0000163a: DUP4 0000163b: ADD 0000163c: SLOAD 0000163d: DUP6 0000163e: AND 0000163f: SWAP1 00001640: DUP3 00001641: ADD 00001642: MSTORE 00001643: PUSH1 0x04 00001645: DUP3 00001646: ADD 00001647: SLOAD 00001648: SWAP1 00001649: SWAP4 0000164a: AND 0000164b: PUSH1 0x80 0000164d: DUP5 0000164e: ADD 0000164f: MSTORE 00001650: DUP4 00001651: MLOAD 00001652: DUP1 00001653: DUP4 00001654: ADD 00001655: DUP6 00001656: MSTORE 00001657: PUSH1 0x05 00001659: DUP3 0000165a: ADD 0000165b: SLOAD 0000165c: DUP2 0000165d: MSTORE 0000165e: PUSH1 0xa0 00001660: DUP5 00001661: ADD 00001662: MSTORE 00001663: DUP4 00001664: MLOAD 00001665: SWAP2 00001666: DUP3 00001667: ADD 00001668: SWAP1 00001669: SWAP4 0000166a: MSTORE 0000166b: PUSH1 0x06 0000166d: DUP4 0000166e: ADD 0000166f: SLOAD 00001670: DUP2 00001671: MSTORE 00001672: PUSH1 0xc0 00001674: DUP3 00001675: ADD 00001676: MSTORE 00001677: PUSH1 0x07 00001679: SWAP1 0000167a: SWAP2 0000167b: ADD 0000167c: SLOAD 0000167d: PUSH1 0xff 0000167f: AND 00001680: ISZERO 00001681: ISZERO 00001682: PUSH1 0xe0 00001684: DUP3 00001685: ADD 00001686: MSTORE 00001687: SWAP1 00001688: JUMP 00001689: JUMPDEST 0000168a: PUSH2 0x1691 0000168d: PUSH2 0x10a2 00001690: JUMP 00001691: JUMPDEST 00001692: PUSH2 0x169a 00001695: JUMPI 00001696: PUSH1 0x00 00001698: DUP1 00001699: REVERT 0000169a: JUMPDEST 0000169b: PUSH1 0x0c 0000169d: DUP1 0000169e: SLOAD 0000169f: PUSH1 0x01 000016a1: ADD 000016a2: SWAP1 000016a3: DUP2 000016a4: SWAP1 000016a5: SSTORE 000016a6: PUSH1 0x40 000016a8: MLOAD 000016a9: PUSH32 0x10c87b0600000000000000000000000000000000000000000000000000000000 000016ca: DUP2 000016cb: MSTORE 000016cc: PUSH20 0x8a6629feba4196e0a61b8e8c94d4905e525bc055 000016e1: SWAP1 000016e2: PUSH4 0x10c87b06 000016e7: SWAP1 000016e8: PUSH2 0x07d4 000016eb: SWAP1 000016ec: PUSH1 0x00 000016ee: SWAP1 000016ef: DUP8 000016f0: SWAP1 000016f1: DUP8 000016f2: SWAP1 000016f3: PUSH1 0x04 000016f5: ADD 000016f6: PUSH2 0x3ed1 000016f9: JUMP 000016fa: JUMPDEST 000016fb: PUSH2 0x1702 000016fe: PUSH2 0x10a2 00001701: JUMP 00001702: JUMPDEST 00001703: PUSH2 0x170b 00001706: JUMPI 00001707: PUSH1 0x00 00001709: DUP1 0000170a: REVERT 0000170b: JUMPDEST 0000170c: PUSH1 0x0c 0000170e: DUP1 0000170f: SLOAD 00001710: PUSH1 0x01 00001712: ADD 00001713: SWAP1 00001714: DUP2 00001715: SWAP1 00001716: SSTORE 00001717: PUSH1 0x40 00001719: MLOAD 0000171a: PUSH32 0xe80f802400000000000000000000000000000000000000000000000000000000 0000173b: DUP2 0000173c: MSTORE 0000173d: PUSH20 0x8a6629feba4196e0a61b8e8c94d4905e525bc055 00001752: SWAP1 00001753: PUSH4 0xe80f8024 00001758: SWAP1 00001759: PUSH2 0x07d4 0000175c: SWAP1 0000175d: PUSH1 0x00 0000175f: SWAP1 00001760: DUP8 00001761: SWAP1 00001762: DUP8 00001763: SWAP1 00001764: PUSH1 0x04 00001766: ADD 00001767: PUSH2 0x3de5 0000176a: JUMP 0000176b: JUMPDEST 0000176c: PUSH2 0x1773 0000176f: PUSH2 0x10a2 00001772: JUMP 00001773: JUMPDEST 00001774: PUSH2 0x177c 00001777: JUMPI 00001778: PUSH1 0x00 0000177a: DUP1 0000177b: REVERT 0000177c: JUMPDEST 0000177d: PUSH2 0x1785 00001780: DUP2 00001781: PUSH2 0x1eb9 00001784: JUMP 00001785: JUMPDEST 00001786: POP 00001787: JUMP 00001788: JUMPDEST 00001789: PUSH2 0x1790 0000178c: PUSH2 0x2d4f 0000178f: JUMP 00001790: JUMPDEST 00001791: PUSH2 0x1798 00001794: PUSH2 0x2d4f 00001797: JUMP 00001798: JUMPDEST 00001799: PUSH2 0x08d9 0000179c: DUP4 0000179d: PUSH1 0x01 0000179f: PUSH2 0x189d 000017a2: JUMP 000017a3: JUMPDEST 000017a4: PUSH2 0x17ab 000017a7: PUSH2 0x2d4f 000017aa: JUMP 000017ab: JUMPDEST 000017ac: PUSH2 0x17b4 000017af: DUP3 000017b0: PUSH2 0x183e 000017b3: JUMP 000017b4: JUMPDEST 000017b5: POP 000017b6: PUSH1 0x00 000017b8: SWAP1 000017b9: DUP2 000017ba: MSTORE 000017bb: PUSH1 0x01 000017bd: PUSH1 0x20 000017bf: SWAP1 000017c0: DUP2 000017c1: MSTORE 000017c2: PUSH1 0x40 000017c4: SWAP2 000017c5: DUP3 000017c6: SWAP1 000017c7: KECCAK256 000017c8: DUP3 000017c9: MLOAD 000017ca: SWAP2 000017cb: DUP3 000017cc: ADD 000017cd: SWAP1 000017ce: SWAP3 000017cf: MSTORE 000017d0: PUSH1 0x05 000017d2: SWAP1 000017d3: SWAP2 000017d4: ADD 000017d5: SLOAD 000017d6: DUP2 000017d7: MSTORE 000017d8: SWAP1 000017d9: JUMP 000017da: JUMPDEST 000017db: PUSH2 0x17e2 000017de: PUSH2 0x2d4f 000017e1: JUMP 000017e2: JUMPDEST 000017e3: PUSH2 0x17eb 000017e6: DUP3 000017e7: PUSH2 0x183e 000017ea: JUMP 000017eb: JUMPDEST 000017ec: PUSH2 0x0829 000017ef: DUP3 000017f0: PUSH2 0x1800 000017f3: PUSH1 0x00 000017f5: DUP3 000017f6: PUSH4 0xffffffff 000017fb: PUSH2 0x19e5 000017fe: AND 000017ff: JUMP 00001800: JUMPDEST 00001801: PUSH1 0x00 00001803: SWAP2 00001804: SWAP1 00001805: PUSH4 0xffffffff 0000180a: PUSH2 0x1f67 0000180d: AND 0000180e: JUMP 0000180f: JUMPDEST 00001810: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001825: AND 00001826: PUSH1 0x00 00001828: SWAP1 00001829: DUP2 0000182a: MSTORE 0000182b: PUSH1 0x04 0000182d: SWAP2 0000182e: SWAP1 0000182f: SWAP2 00001830: ADD 00001831: PUSH1 0x20 00001833: MSTORE 00001834: PUSH1 0x40 00001836: SWAP1 00001837: KECCAK256 00001838: SLOAD 00001839: PUSH1 0xff 0000183b: AND 0000183c: SWAP1 0000183d: JUMP 0000183e: JUMPDEST 0000183f: PUSH2 0x1785 00001842: PUSH1 0x00 00001844: DUP1 00001845: ADD 00001846: SLOAD 00001847: DUP3 00001848: LT 00001849: PUSH1 0x0d 0000184b: SLOAD 0000184c: PUSH32 0x4d61726b6574204f4f4200000000000000000000000000000000000000000000 0000186d: PUSH2 0x208e 00001870: JUMP 00001871: JUMPDEST 00001872: PUSH1 0x00 00001874: SWAP1 00001875: DUP2 00001876: MSTORE 00001877: PUSH1 0x01 00001879: SWAP2 0000187a: SWAP1 0000187b: SWAP2 0000187c: ADD 0000187d: PUSH1 0x20 0000187f: MSTORE 00001880: PUSH1 0x40 00001882: SWAP1 00001883: KECCAK256 00001884: SLOAD 00001885: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000189a: AND 0000189b: SWAP1 0000189c: JUMP 0000189d: JUMPDEST 0000189e: PUSH2 0x18a5 000018a1: PUSH2 0x2d4f 000018a4: JUMP 000018a5: JUMPDEST 000018a6: PUSH2 0x18ad 000018a9: PUSH2 0x2d4f 000018ac: JUMP 000018ad: JUMPDEST 000018ae: PUSH1 0x00 000018b0: SLOAD 000018b1: PUSH2 0x18b8 000018b4: PUSH2 0x2e80 000018b7: JUMP 000018b8: JUMPDEST 000018b9: PUSH2 0x18c1 000018bc: DUP3 000018bd: PUSH2 0x213f 000018c0: JUMP 000018c1: JUMPDEST 000018c2: SWAP1 000018c3: POP 000018c4: PUSH1 0x00 000018c6: JUMPDEST 000018c7: DUP3 000018c8: DUP2 000018c9: LT 000018ca: ISZERO 000018cb: PUSH2 0x1908 000018ce: JUMPI 000018cf: PUSH2 0x18e8 000018d2: PUSH2 0x18e3 000018d5: PUSH1 0x00 000018d7: DUP10 000018d8: DUP5 000018d9: PUSH4 0xffffffff 000018de: PUSH2 0x1969 000018e1: AND 000018e2: JUMP 000018e3: JUMPDEST 000018e4: PUSH2 0x2195 000018e7: JUMP 000018e8: JUMPDEST 000018e9: PUSH2 0x1900 000018ec: JUMPI 000018ed: PUSH2 0x18fe 000018f0: DUP3 000018f1: PUSH1 0x00 000018f3: DUP4 000018f4: PUSH4 0xffffffff 000018f9: PUSH2 0x21af 000018fc: AND 000018fd: JUMP 000018fe: JUMPDEST 000018ff: POP 00001900: JUMPDEST 00001901: PUSH1 0x01 00001903: ADD 00001904: PUSH2 0x18c6 00001907: JUMP 00001908: JUMPDEST 00001909: POP 0000190a: PUSH2 0x191c 0000190d: PUSH1 0x00 0000190f: DUP8 00001910: DUP4 00001911: DUP9 00001912: PUSH4 0xffffffff 00001917: PUSH2 0x2289 0000191a: AND 0000191b: JUMP 0000191c: JUMPDEST 0000191d: SWAP4 0000191e: POP 0000191f: SWAP4 00001920: POP 00001921: POP 00001922: POP 00001923: SWAP3 00001924: POP 00001925: SWAP3 00001926: SWAP1 00001927: POP 00001928: JUMP 00001929: JUMPDEST 0000192a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000193f: DUP1 00001940: DUP4 00001941: AND 00001942: PUSH1 0x00 00001944: SWAP1 00001945: DUP2 00001946: MSTORE 00001947: PUSH1 0x03 00001949: DUP6 0000194a: ADD 0000194b: PUSH1 0x20 0000194d: SWAP1 0000194e: DUP2 0000194f: MSTORE 00001950: PUSH1 0x40 00001952: DUP1 00001953: DUP4 00001954: KECCAK256 00001955: SWAP4 00001956: DUP6 00001957: AND 00001958: DUP4 00001959: MSTORE 0000195a: SWAP3 0000195b: SWAP1 0000195c: MSTORE 0000195d: KECCAK256 0000195e: SLOAD 0000195f: PUSH1 0xff 00001961: AND 00001962: JUMPDEST 00001963: SWAP4 00001964: SWAP3 00001965: POP 00001966: POP 00001967: POP 00001968: JUMP 00001969: JUMPDEST 0000196a: PUSH2 0x1971 0000196d: PUSH2 0x2d62 00001970: JUMP 00001971: JUMPDEST 00001972: POP 00001973: DUP2 00001974: MLOAD 00001975: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000198a: AND 0000198b: PUSH1 0x00 0000198d: SWAP1 0000198e: DUP2 0000198f: MSTORE 00001990: PUSH1 0x02 00001992: DUP5 00001993: ADD 00001994: PUSH1 0x20 00001996: SWAP1 00001997: DUP2 00001998: MSTORE 00001999: PUSH1 0x40 0000199b: DUP1 0000199c: DUP4 0000199d: KECCAK256 0000199e: DUP3 0000199f: DUP7 000019a0: ADD 000019a1: MLOAD 000019a2: DUP5 000019a3: MSTORE 000019a4: DUP3 000019a5: MSTORE 000019a6: DUP1 000019a7: DUP4 000019a8: KECCAK256 000019a9: DUP5 000019aa: DUP5 000019ab: MSTORE 000019ac: DUP3 000019ad: MSTORE 000019ae: SWAP2 000019af: DUP3 000019b0: SWAP1 000019b1: KECCAK256 000019b2: DUP3 000019b3: MLOAD 000019b4: DUP1 000019b5: DUP5 000019b6: ADD 000019b7: SWAP1 000019b8: SWAP4 000019b9: MSTORE 000019ba: SLOAD 000019bb: PUSH1 0xff 000019bd: DUP2 000019be: AND 000019bf: ISZERO 000019c0: ISZERO 000019c1: DUP4 000019c2: MSTORE 000019c3: PUSH16 0xffffffffffffffffffffffffffffffff 000019d4: PUSH2 0x0100 000019d7: SWAP1 000019d8: SWAP2 000019d9: DIV 000019da: AND 000019db: SWAP1 000019dc: DUP3 000019dd: ADD 000019de: MSTORE 000019df: SWAP4 000019e0: SWAP3 000019e1: POP 000019e2: POP 000019e3: POP 000019e4: JUMP 000019e5: JUMPDEST 000019e6: PUSH2 0x19ed 000019e9: PUSH2 0x2d79 000019ec: JUMP 000019ed: JUMPDEST 000019ee: POP 000019ef: PUSH1 0x00 000019f1: SWAP1 000019f2: DUP2 000019f3: MSTORE 000019f4: PUSH1 0x01 000019f6: SWAP2 000019f7: SWAP1 000019f8: SWAP2 000019f9: ADD 000019fa: PUSH1 0x20 000019fc: SWAP1 000019fd: DUP2 000019fe: MSTORE 000019ff: PUSH1 0x40 00001a01: SWAP2 00001a02: DUP3 00001a03: SWAP1 00001a04: KECCAK256 00001a05: DUP3 00001a06: MLOAD 00001a07: PUSH1 0x60 00001a09: DUP2 00001a0a: ADD 00001a0b: DUP5 00001a0c: MSTORE 00001a0d: PUSH1 0x02 00001a0f: SWAP1 00001a10: SWAP2 00001a11: ADD 00001a12: SLOAD 00001a13: PUSH12 0xffffffffffffffffffffffff 00001a20: DUP1 00001a21: DUP3 00001a22: AND 00001a23: DUP4 00001a24: MSTORE 00001a25: PUSH13 0x01000000000000000000000000 00001a33: DUP3 00001a34: DIV 00001a35: AND 00001a36: SWAP3 00001a37: DUP3 00001a38: ADD 00001a39: SWAP3 00001a3a: SWAP1 00001a3b: SWAP3 00001a3c: MSTORE 00001a3d: PUSH25 0x01000000000000000000000000000000000000000000000000 00001a57: SWAP1 00001a58: SWAP2 00001a59: DIV 00001a5a: PUSH4 0xffffffff 00001a5f: AND 00001a60: SWAP2 00001a61: DUP2 00001a62: ADD 00001a63: SWAP2 00001a64: SWAP1 00001a65: SWAP2 00001a66: MSTORE 00001a67: SWAP1 00001a68: JUMP 00001a69: JUMPDEST 00001a6a: PUSH2 0x1a71 00001a6d: PUSH2 0x2d79 00001a70: JUMP 00001a71: JUMPDEST 00001a72: PUSH2 0x1a79 00001a75: PUSH2 0x2d4f 00001a78: JUMP 00001a79: JUMPDEST 00001a7a: PUSH2 0x1a8a 00001a7d: DUP6 00001a7e: DUP6 00001a7f: DUP6 00001a80: PUSH4 0xffffffff 00001a85: PUSH2 0x1f67 00001a88: AND 00001a89: JUMP 00001a8a: JUMPDEST 00001a8b: SWAP1 00001a8c: POP 00001a8d: PUSH2 0x1ab8 00001a90: DUP4 00001a91: DUP3 00001a92: PUSH2 0x1aa1 00001a95: DUP9 00001a96: DUP9 00001a97: PUSH4 0xffffffff 00001a9c: PUSH2 0x1cbb 00001a9f: AND 00001aa0: JUMP 00001aa1: JUMPDEST 00001aa2: PUSH1 0x40 00001aa4: DUP1 00001aa5: MLOAD 00001aa6: PUSH1 0x20 00001aa8: DUP2 00001aa9: ADD 00001aaa: SWAP1 00001aab: SWAP2 00001aac: MSTORE 00001aad: PUSH1 0x07 00001aaf: DUP11 00001ab0: ADD 00001ab1: SLOAD 00001ab2: DUP2 00001ab3: MSTORE 00001ab4: PUSH2 0x23dc 00001ab7: JUMP 00001ab8: JUMPDEST 00001ab9: SWAP6 00001aba: SWAP5 00001abb: POP 00001abc: POP 00001abd: POP 00001abe: POP 00001abf: POP 00001ac0: JUMP 00001ac1: JUMPDEST 00001ac2: PUSH2 0x1ac9 00001ac5: PUSH2 0x2d4f 00001ac8: JUMP 00001ac9: JUMPDEST 00001aca: PUSH1 0x00 00001acc: DUP3 00001acd: DUP2 00001ace: MSTORE 00001acf: PUSH1 0x01 00001ad1: DUP5 00001ad2: ADD 00001ad3: PUSH1 0x20 00001ad5: MSTORE 00001ad6: PUSH1 0x40 00001ad8: SWAP1 00001ad9: KECCAK256 00001ada: PUSH1 0x03 00001adc: ADD 00001add: SLOAD 00001ade: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001af3: AND 00001af4: PUSH2 0x1afb 00001af7: PUSH2 0x2d4f 00001afa: JUMP 00001afb: JUMPDEST 00001afc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b11: DUP3 00001b12: AND 00001b13: PUSH4 0x41976e09 00001b18: PUSH2 0x1b27 00001b1b: DUP8 00001b1c: DUP8 00001b1d: PUSH4 0xffffffff 00001b22: PUSH2 0x1871 00001b25: AND 00001b26: JUMP 00001b27: JUMPDEST 00001b28: PUSH1 0x40 00001b2a: MLOAD 00001b2b: DUP3 00001b2c: PUSH4 0xffffffff 00001b31: AND 00001b32: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 00001b50: MUL 00001b51: DUP2 00001b52: MSTORE 00001b53: PUSH1 0x04 00001b55: ADD 00001b56: PUSH2 0x1b5f 00001b59: SWAP2 00001b5a: SWAP1 00001b5b: PUSH2 0x3c6a 00001b5e: JUMP 00001b5f: JUMPDEST 00001b60: PUSH1 0x20 00001b62: PUSH1 0x40 00001b64: MLOAD 00001b65: DUP1 00001b66: DUP4 00001b67: SUB 00001b68: DUP2 00001b69: DUP7 00001b6a: DUP1 00001b6b: EXTCODESIZE 00001b6c: ISZERO 00001b6d: DUP1 00001b6e: ISZERO 00001b6f: PUSH2 0x1b77 00001b72: JUMPI 00001b73: PUSH1 0x00 00001b75: DUP1 00001b76: REVERT 00001b77: JUMPDEST 00001b78: POP 00001b79: GAS 00001b7a: STATICCALL 00001b7b: ISZERO 00001b7c: DUP1 00001b7d: ISZERO 00001b7e: PUSH2 0x1b8b 00001b81: JUMPI 00001b82: RETURNDATASIZE 00001b83: PUSH1 0x00 00001b85: DUP1 00001b86: RETURNDATACOPY 00001b87: RETURNDATASIZE 00001b88: PUSH1 0x00 00001b8a: REVERT 00001b8b: JUMPDEST 00001b8c: POP 00001b8d: POP 00001b8e: POP 00001b8f: POP 00001b90: PUSH1 0x40 00001b92: MLOAD 00001b93: RETURNDATASIZE 00001b94: PUSH1 0x1f 00001b96: NOT 00001b97: PUSH1 0x1f 00001b99: DUP3 00001b9a: ADD 00001b9b: AND 00001b9c: DUP3 00001b9d: ADD 00001b9e: DUP1 00001b9f: PUSH1 0x40 00001ba1: MSTORE 00001ba2: POP 00001ba3: PUSH2 0x1baf 00001ba6: SWAP2 00001ba7: SWAP1 00001ba8: DUP2 00001ba9: ADD 00001baa: SWAP1 00001bab: PUSH2 0x34cc 00001bae: JUMP 00001baf: JUMPDEST 00001bb0: DUP1 00001bb1: MLOAD 00001bb2: SWAP1 00001bb3: SWAP2 00001bb4: POP 00001bb5: PUSH2 0x1c02 00001bb8: SWAP1 00001bb9: ISZERO 00001bba: ISZERO 00001bbb: PUSH32 0x53746f7261676500000000000000000000000000000000000000000000000000 00001bdc: PUSH32 0x50726963652063616e6e6f74206265207a65726f000000000000000000000000 00001bfd: DUP8 00001bfe: PUSH2 0x2546 00001c01: JUMP 00001c02: JUMPDEST 00001c03: SWAP5 00001c04: SWAP4 00001c05: POP 00001c06: POP 00001c07: POP 00001c08: POP 00001c09: JUMP 00001c0a: JUMPDEST 00001c0b: PUSH2 0x1c12 00001c0e: PUSH2 0x2d62 00001c11: JUMP 00001c12: JUMPDEST 00001c13: PUSH1 0x20 00001c15: DUP4 00001c16: ADD 00001c17: MLOAD 00001c18: DUP4 00001c19: MLOAD 00001c1a: PUSH16 0xffffffffffffffffffffffffffffffff 00001c2b: SWAP1 00001c2c: SWAP2 00001c2d: AND 00001c2e: SWAP1 00001c2f: ISZERO 00001c30: PUSH2 0x1c7e 00001c33: JUMPI 00001c34: PUSH1 0x40 00001c36: DUP1 00001c37: MLOAD 00001c38: DUP1 00001c39: DUP3 00001c3a: ADD 00001c3b: SWAP1 00001c3c: SWAP2 00001c3d: MSTORE 00001c3e: PUSH1 0x01 00001c40: DUP2 00001c41: MSTORE 00001c42: PUSH1 0x20 00001c44: DUP5 00001c45: DUP2 00001c46: ADD 00001c47: MLOAD 00001c48: SWAP1 00001c49: DUP3 00001c4a: ADD 00001c4b: SWAP1 00001c4c: PUSH2 0x1c73 00001c4f: SWAP1 00001c50: DUP5 00001c51: SWAP1 00001c52: PUSH12 0xffffffffffffffffffffffff 00001c5f: AND 00001c60: PUSH8 0x0de0b6b3a7640000 00001c69: PUSH4 0xffffffff 00001c6e: PUSH2 0x25e4 00001c71: AND 00001c72: JUMP 00001c73: JUMPDEST 00001c74: DUP2 00001c75: MSTORE 00001c76: POP 00001c77: SWAP2 00001c78: POP 00001c79: POP 00001c7a: PUSH2 0x0c0c 00001c7d: JUMP 00001c7e: JUMPDEST 00001c7f: PUSH1 0x40 00001c81: DUP1 00001c82: MLOAD 00001c83: DUP1 00001c84: DUP3 00001c85: ADD 00001c86: SWAP1 00001c87: SWAP2 00001c88: MSTORE 00001c89: PUSH1 0x00 00001c8b: DUP2 00001c8c: MSTORE 00001c8d: DUP4 00001c8e: MLOAD 00001c8f: PUSH1 0x20 00001c91: DUP3 00001c92: ADD 00001c93: SWAP1 00001c94: PUSH2 0x1c73 00001c97: SWAP1 00001c98: DUP5 00001c99: SWAP1 00001c9a: PUSH12 0xffffffffffffffffffffffff 00001ca7: AND 00001ca8: PUSH8 0x0de0b6b3a7640000 00001cb1: PUSH4 0xffffffff 00001cb6: PUSH2 0x2606 00001cb9: AND 00001cba: JUMP 00001cbb: JUMPDEST 00001cbc: PUSH2 0x1cc3 00001cbf: PUSH2 0x2d62 00001cc2: JUMP 00001cc3: JUMPDEST 00001cc4: POP 00001cc5: PUSH1 0x00 00001cc7: DUP2 00001cc8: DUP2 00001cc9: MSTORE 00001cca: PUSH1 0x01 00001ccc: DUP1 00001ccd: DUP5 00001cce: ADD 00001ccf: PUSH1 0x20 00001cd1: SWAP1 00001cd2: DUP2 00001cd3: MSTORE 00001cd4: PUSH1 0x40 00001cd6: SWAP3 00001cd7: DUP4 00001cd8: SWAP1 00001cd9: KECCAK256 00001cda: DUP4 00001cdb: MLOAD 00001cdc: DUP1 00001cdd: DUP6 00001cde: ADD 00001cdf: SWAP1 00001ce0: SWAP5 00001ce1: MSTORE 00001ce2: SWAP1 00001ce3: SWAP2 00001ce4: ADD 00001ce5: SLOAD 00001ce6: PUSH16 0xffffffffffffffffffffffffffffffff 00001cf7: DUP1 00001cf8: DUP3 00001cf9: AND 00001cfa: DUP5 00001cfb: MSTORE 00001cfc: PUSH17 0x0100000000000000000000000000000000 00001d0e: SWAP1 00001d0f: SWAP2 00001d10: DIV 00001d11: AND 00001d12: SWAP1 00001d13: DUP3 00001d14: ADD 00001d15: MSTORE 00001d16: SWAP3 00001d17: SWAP2 00001d18: POP 00001d19: POP 00001d1a: JUMP 00001d1b: JUMPDEST 00001d1c: PUSH2 0x1d23 00001d1f: PUSH2 0x2d4f 00001d22: JUMP 00001d23: JUMPDEST 00001d24: PUSH1 0x06 00001d26: DUP1 00001d27: DUP6 00001d28: ADD 00001d29: SLOAD 00001d2a: PUSH1 0x00 00001d2c: DUP6 00001d2d: DUP2 00001d2e: MSTORE 00001d2f: PUSH1 0x01 00001d31: DUP8 00001d32: ADD 00001d33: PUSH1 0x20 00001d35: SWAP1 00001d36: DUP2 00001d37: MSTORE 00001d38: PUSH1 0x40 00001d3a: SWAP2 00001d3b: DUP3 00001d3c: SWAP1 00001d3d: KECCAK256 00001d3e: DUP3 00001d3f: MLOAD 00001d40: SWAP2 00001d41: DUP3 00001d42: ADD 00001d43: SWAP1 00001d44: SWAP3 00001d45: MSTORE 00001d46: SWAP3 00001d47: ADD 00001d48: SLOAD 00001d49: DUP3 00001d4a: MSTORE 00001d4b: SWAP1 00001d4c: PUSH2 0x1d5f 00001d4f: SWAP1 00001d50: DUP3 00001d51: SWAP1 00001d52: PUSH2 0x1d5a 00001d55: SWAP1 00001d56: PUSH2 0x2653 00001d59: JUMP 00001d5a: JUMPDEST 00001d5b: PUSH2 0x268a 00001d5e: JUMP 00001d5f: JUMPDEST 00001d60: SWAP1 00001d61: POP 00001d62: PUSH2 0x1d9a 00001d65: DUP2 00001d66: PUSH2 0x1d5a 00001d69: DUP8 00001d6a: PUSH1 0x01 00001d6c: ADD 00001d6d: PUSH1 0x00 00001d6f: DUP8 00001d70: DUP2 00001d71: MSTORE 00001d72: PUSH1 0x20 00001d74: ADD 00001d75: SWAP1 00001d76: DUP2 00001d77: MSTORE 00001d78: PUSH1 0x20 00001d7a: ADD 00001d7b: PUSH1 0x00 00001d7d: KECCAK256 00001d7e: PUSH1 0x06 00001d80: ADD 00001d81: PUSH1 0x40 00001d83: MLOAD 00001d84: DUP1 00001d85: PUSH1 0x20 00001d87: ADD 00001d88: PUSH1 0x40 00001d8a: MSTORE 00001d8b: SWAP1 00001d8c: DUP2 00001d8d: PUSH1 0x00 00001d8f: DUP3 00001d90: ADD 00001d91: SLOAD 00001d92: DUP2 00001d93: MSTORE 00001d94: POP 00001d95: POP 00001d96: PUSH2 0x2653 00001d99: JUMP 00001d9a: JUMPDEST 00001d9b: PUSH1 0x40 00001d9d: DUP1 00001d9e: MLOAD 00001d9f: PUSH1 0x20 00001da1: DUP2 00001da2: ADD 00001da3: SWAP1 00001da4: SWAP2 00001da5: MSTORE 00001da6: SWAP1 00001da7: DUP2 00001da8: MSTORE 00001da9: SWAP6 00001daa: SWAP5 00001dab: POP 00001dac: POP 00001dad: POP 00001dae: POP 00001daf: POP 00001db0: JUMP 00001db1: JUMPDEST 00001db2: PUSH2 0x1db9 00001db5: PUSH2 0x2d62 00001db8: JUMP 00001db9: JUMPDEST 00001dba: PUSH2 0x1dc1 00001dbd: PUSH2 0x2d79 00001dc0: JUMP 00001dc1: JUMPDEST 00001dc2: PUSH2 0x1dd1 00001dc5: DUP5 00001dc6: DUP5 00001dc7: PUSH4 0xffffffff 00001dcc: PUSH2 0x19e5 00001dcf: AND 00001dd0: JUMP 00001dd1: JUMPDEST 00001dd2: SWAP1 00001dd3: POP 00001dd4: PUSH2 0x1ddb 00001dd7: PUSH2 0x2d62 00001dda: JUMP 00001ddb: JUMPDEST 00001ddc: PUSH2 0x1deb 00001ddf: DUP6 00001de0: DUP6 00001de1: PUSH4 0xffffffff 00001de6: PUSH2 0x1cbb 00001de9: AND 00001dea: JUMP 00001deb: JUMPDEST 00001dec: SWAP1 00001ded: POP 00001dee: PUSH1 0x00 00001df0: PUSH2 0x1dff 00001df3: DUP7 00001df4: DUP7 00001df5: PUSH4 0xffffffff 00001dfa: PUSH2 0x1871 00001dfd: AND 00001dfe: JUMP 00001dff: JUMPDEST 00001e00: SWAP1 00001e01: POP 00001e02: PUSH2 0x1e09 00001e05: PUSH2 0x2d62 00001e08: JUMP 00001e09: JUMPDEST 00001e0a: PUSH1 0x40 00001e0c: MLOAD 00001e0d: DUP1 00001e0e: PUSH1 0x40 00001e10: ADD 00001e11: PUSH1 0x40 00001e13: MSTORE 00001e14: DUP1 00001e15: PUSH1 0x01 00001e17: ISZERO 00001e18: ISZERO 00001e19: DUP2 00001e1a: MSTORE 00001e1b: PUSH1 0x20 00001e1d: ADD 00001e1e: PUSH2 0x1e27 00001e21: DUP5 00001e22: ADDRESS 00001e23: PUSH2 0x26a3 00001e26: JUMP 00001e27: JUMPDEST 00001e28: SWAP1 00001e29: MSTORE 00001e2a: SWAP1 00001e2b: POP 00001e2c: PUSH2 0x1e33 00001e2f: PUSH2 0x2d62 00001e32: JUMP 00001e33: JUMPDEST 00001e34: PUSH2 0x1e3b 00001e37: PUSH2 0x2d62 00001e3a: JUMP 00001e3b: JUMPDEST 00001e3c: PUSH2 0x1e45 00001e3f: DUP6 00001e40: DUP8 00001e41: PUSH2 0x2748 00001e44: JUMP 00001e45: JUMPDEST 00001e46: SWAP1 00001e47: SWAP3 00001e48: POP 00001e49: SWAP1 00001e4a: POP 00001e4b: PUSH2 0x1e6a 00001e4e: DUP3 00001e4f: PUSH2 0x1e5e 00001e52: DUP6 00001e53: DUP5 00001e54: PUSH4 0xffffffff 00001e59: PUSH2 0x27f0 00001e5c: AND 00001e5d: JUMP 00001e5e: JUMPDEST 00001e5f: SWAP1 00001e60: PUSH4 0xffffffff 00001e65: PUSH2 0x27f0 00001e68: AND 00001e69: JUMP 00001e6a: JUMPDEST 00001e6b: SWAP10 00001e6c: SWAP9 00001e6d: POP 00001e6e: POP 00001e6f: POP 00001e70: POP 00001e71: POP 00001e72: POP 00001e73: POP 00001e74: POP 00001e75: POP 00001e76: JUMP 00001e77: JUMPDEST 00001e78: DUP1 00001e79: MLOAD 00001e7a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001e8f: AND 00001e90: PUSH1 0x00 00001e92: SWAP1 00001e93: DUP2 00001e94: MSTORE 00001e95: PUSH1 0x02 00001e97: SWAP3 00001e98: SWAP1 00001e99: SWAP3 00001e9a: ADD 00001e9b: PUSH1 0x20 00001e9d: SWAP1 00001e9e: DUP2 00001e9f: MSTORE 00001ea0: PUSH1 0x40 00001ea2: DUP1 00001ea3: DUP5 00001ea4: KECCAK256 00001ea5: SWAP3 00001ea6: DUP3 00001ea7: ADD 00001ea8: MLOAD 00001ea9: DUP5 00001eaa: MSTORE 00001eab: SWAP2 00001eac: SWAP1 00001ead: MSTORE 00001eae: SWAP1 00001eaf: KECCAK256 00001eb0: PUSH1 0x01 00001eb2: ADD 00001eb3: SLOAD 00001eb4: PUSH1 0xff 00001eb6: AND 00001eb7: SWAP1 00001eb8: JUMP 00001eb9: JUMPDEST 00001eba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ecf: DUP2 00001ed0: AND 00001ed1: PUSH2 0x1ed9 00001ed4: JUMPI 00001ed5: PUSH1 0x00 00001ed7: DUP1 00001ed8: REVERT 00001ed9: JUMPDEST 00001eda: PUSH1 0x0b 00001edc: SLOAD 00001edd: PUSH1 0x40 00001edf: MLOAD 00001ee0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ef5: DUP1 00001ef6: DUP5 00001ef7: AND 00001ef8: SWAP3 00001ef9: AND 00001efa: SWAP1 00001efb: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00001f1c: SWAP1 00001f1d: PUSH1 0x00 00001f1f: SWAP1 00001f20: LOG3 00001f21: PUSH1 0x0b 00001f23: DUP1 00001f24: SLOAD 00001f25: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00001f46: AND 00001f47: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f5c: SWAP3 00001f5d: SWAP1 00001f5e: SWAP3 00001f5f: AND 00001f60: SWAP2 00001f61: SWAP1 00001f62: SWAP2 00001f63: OR 00001f64: SWAP1 00001f65: SSTORE 00001f66: JUMP 00001f67: JUMPDEST 00001f68: PUSH2 0x1f6f 00001f6b: PUSH2 0x2d4f 00001f6e: JUMP 00001f6f: JUMPDEST 00001f70: PUSH2 0x1f77 00001f73: PUSH2 0x2d62 00001f76: JUMP 00001f77: JUMPDEST 00001f78: PUSH2 0x1f87 00001f7b: DUP6 00001f7c: DUP6 00001f7d: PUSH4 0xffffffff 00001f82: PUSH2 0x1cbb 00001f85: AND 00001f86: JUMP 00001f87: JUMPDEST 00001f88: SWAP1 00001f89: POP 00001f8a: PUSH2 0x1f91 00001f8d: PUSH2 0x2d62 00001f90: JUMP 00001f91: JUMPDEST 00001f92: PUSH2 0x1f99 00001f95: PUSH2 0x2d62 00001f98: JUMP 00001f99: JUMPDEST 00001f9a: PUSH2 0x1fa3 00001f9d: DUP4 00001f9e: DUP7 00001f9f: PUSH2 0x2748 00001fa2: JUMP 00001fa3: JUMPDEST 00001fa4: SWAP2 00001fa5: POP 00001fa6: SWAP2 00001fa7: POP 00001fa8: PUSH2 0x1faf 00001fab: PUSH2 0x2d4f 00001fae: JUMP 00001faf: JUMPDEST 00001fb0: PUSH1 0x00 00001fb2: DUP8 00001fb3: DUP2 00001fb4: MSTORE 00001fb5: PUSH1 0x01 00001fb7: DUP10 00001fb8: ADD 00001fb9: PUSH1 0x20 00001fbb: MSTORE 00001fbc: PUSH1 0x40 00001fbe: SWAP1 00001fbf: KECCAK256 00001fc0: PUSH1 0x04 00001fc2: ADD 00001fc3: SLOAD 00001fc4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001fd9: AND 00001fda: PUSH4 0xe8177dcf 00001fdf: PUSH2 0x1fee 00001fe2: DUP11 00001fe3: DUP11 00001fe4: PUSH4 0xffffffff 00001fe9: PUSH2 0x1871 00001fec: AND 00001fed: JUMP 00001fee: JUMPDEST 00001fef: DUP5 00001ff0: PUSH1 0x20 00001ff2: ADD 00001ff3: MLOAD 00001ff4: DUP7 00001ff5: PUSH1 0x20 00001ff7: ADD 00001ff8: MLOAD 00001ff9: PUSH1 0x40 00001ffb: MLOAD 00001ffc: DUP5 00001ffd: PUSH4 0xffffffff 00002002: AND 00002003: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 00002021: MUL 00002022: DUP2 00002023: MSTORE 00002024: PUSH1 0x04 00002026: ADD 00002027: PUSH2 0x2032 0000202a: SWAP4 0000202b: SWAP3 0000202c: SWAP2 0000202d: SWAP1 0000202e: PUSH2 0x3c93 00002031: JUMP 00002032: JUMPDEST 00002033: PUSH1 0x20 00002035: PUSH1 0x40 00002037: MLOAD 00002038: DUP1 00002039: DUP4 0000203a: SUB 0000203b: DUP2 0000203c: DUP7 0000203d: DUP1 0000203e: EXTCODESIZE 0000203f: ISZERO 00002040: DUP1 00002041: ISZERO 00002042: PUSH2 0x204a 00002045: JUMPI 00002046: PUSH1 0x00 00002048: DUP1 00002049: REVERT 0000204a: JUMPDEST 0000204b: POP 0000204c: GAS 0000204d: STATICCALL 0000204e: ISZERO 0000204f: DUP1 00002050: ISZERO 00002051: PUSH2 0x205e 00002054: JUMPI 00002055: RETURNDATASIZE 00002056: PUSH1 0x00 00002058: DUP1 00002059: RETURNDATACOPY 0000205a: RETURNDATASIZE 0000205b: PUSH1 0x00 0000205d: REVERT 0000205e: JUMPDEST 0000205f: POP 00002060: POP 00002061: POP 00002062: POP 00002063: PUSH1 0x40 00002065: MLOAD 00002066: RETURNDATASIZE 00002067: PUSH1 0x1f 00002069: NOT 0000206a: PUSH1 0x1f 0000206c: DUP3 0000206d: ADD 0000206e: AND 0000206f: DUP3 00002070: ADD 00002071: DUP1 00002072: PUSH1 0x40 00002074: MSTORE 00002075: POP 00002076: PUSH2 0x2082 00002079: SWAP2 0000207a: SWAP1 0000207b: DUP2 0000207c: ADD 0000207d: SWAP1 0000207e: PUSH2 0x34cc 00002081: JUMP 00002082: JUMPDEST 00002083: SWAP9 00002084: SWAP8 00002085: POP 00002086: POP 00002087: POP 00002088: POP 00002089: POP 0000208a: POP 0000208b: POP 0000208c: POP 0000208d: JUMP 0000208e: JUMPDEST 0000208f: DUP3 00002090: PUSH2 0x0812 00002093: JUMPI 00002094: PUSH2 0x209c 00002097: DUP3 00002098: PUSH2 0x280a 0000209b: JUMP 0000209c: JUMPDEST 0000209d: PUSH32 0x3a20000000000000000000000000000000000000000000000000000000000000 000020be: PUSH2 0x20c6 000020c1: DUP4 000020c2: PUSH2 0x280a 000020c5: JUMP 000020c6: JUMPDEST 000020c7: PUSH1 0x40 000020c9: MLOAD 000020ca: PUSH1 0x20 000020cc: ADD 000020cd: PUSH2 0x20d8 000020d0: SWAP4 000020d1: SWAP3 000020d2: SWAP2 000020d3: SWAP1 000020d4: PUSH2 0x3be4 000020d7: JUMP 000020d8: JUMPDEST 000020d9: PUSH1 0x40 000020db: DUP1 000020dc: MLOAD 000020dd: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 000020fe: DUP2 000020ff: DUP5 00002100: SUB 00002101: ADD 00002102: DUP2 00002103: MSTORE 00002104: SWAP1 00002105: DUP3 00002106: SWAP1 00002107: MSTORE 00002108: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002129: DUP3 0000212a: MSTORE 0000212b: PUSH2 0x2136 0000212e: SWAP2 0000212f: PUSH1 0x04 00002131: ADD 00002132: PUSH2 0x3d1e 00002135: JUMP 00002136: JUMPDEST 00002137: PUSH1 0x40 00002139: MLOAD 0000213a: DUP1 0000213b: SWAP2 0000213c: SUB 0000213d: SWAP1 0000213e: REVERT 0000213f: JUMPDEST 00002140: PUSH2 0x2147 00002143: PUSH2 0x2e80 00002146: JUMP 00002147: JUMPDEST 00002148: PUSH1 0x40 0000214a: MLOAD 0000214b: DUP1 0000214c: PUSH1 0x20 0000214e: ADD 0000214f: PUSH1 0x40 00002151: MSTORE 00002152: DUP1 00002153: DUP4 00002154: PUSH1 0x40 00002156: MLOAD 00002157: SWAP1 00002158: DUP1 00002159: DUP3 0000215a: MSTORE 0000215b: DUP1 0000215c: PUSH1 0x20 0000215e: MUL 0000215f: PUSH1 0x20 00002161: ADD 00002162: DUP3 00002163: ADD 00002164: PUSH1 0x40 00002166: MSTORE 00002167: DUP1 00002168: ISZERO 00002169: PUSH2 0x218c 0000216c: JUMPI 0000216d: DUP2 0000216e: PUSH1 0x20 00002170: ADD 00002171: JUMPDEST 00002172: PUSH2 0x2179 00002175: PUSH2 0x2e93 00002178: JUMP 00002179: JUMPDEST 0000217a: DUP2 0000217b: MSTORE 0000217c: PUSH1 0x20 0000217e: ADD 0000217f: SWAP1 00002180: PUSH1 0x01 00002182: SWAP1 00002183: SUB 00002184: SWAP1 00002185: DUP2 00002186: PUSH2 0x2171 00002189: JUMPI 0000218a: SWAP1 0000218b: POP 0000218c: JUMPDEST 0000218d: POP 0000218e: SWAP1 0000218f: MSTORE 00002190: SWAP3 00002191: SWAP2 00002192: POP 00002193: POP 00002194: JUMP 00002195: JUMPDEST 00002196: PUSH1 0x20 00002198: ADD 00002199: MLOAD 0000219a: PUSH16 0xffffffffffffffffffffffffffffffff 000021ab: AND 000021ac: ISZERO 000021ad: SWAP1 000021ae: JUMP 000021af: JUMPDEST 000021b0: PUSH1 0x00 000021b2: PUSH2 0x21c1 000021b5: DUP5 000021b6: DUP4 000021b7: PUSH4 0xffffffff 000021bc: PUSH2 0x2905 000021bf: AND 000021c0: JUMP 000021c1: JUMPDEST 000021c2: ISZERO 000021c3: PUSH2 0x21ce 000021c6: JUMPI 000021c7: POP 000021c8: PUSH1 0x00 000021ca: PUSH2 0x1962 000021cd: JUMP 000021ce: JUMPDEST 000021cf: PUSH2 0x21de 000021d2: DUP4 000021d3: DUP4 000021d4: PUSH4 0xffffffff 000021d9: PUSH2 0x1ac1 000021dc: AND 000021dd: JUMP 000021de: JUMPDEST 000021df: DUP5 000021e0: MLOAD 000021e1: DUP1 000021e2: MLOAD 000021e3: DUP5 000021e4: SWAP1 000021e5: DUP2 000021e6: LT 000021e7: PUSH2 0x21ec 000021ea: JUMPI 000021eb: INVALID 000021ec: JUMPDEST 000021ed: PUSH1 0x20 000021ef: SWAP1 000021f0: DUP2 000021f1: MUL 000021f2: SWAP2 000021f3: SWAP1 000021f4: SWAP2 000021f5: ADD 000021f6: DUP2 000021f7: ADD 000021f8: MLOAD 000021f9: PUSH1 0x40 000021fb: SWAP1 000021fc: DUP2 000021fd: ADD 000021fe: SWAP3 000021ff: SWAP1 00002200: SWAP3 00002201: MSTORE 00002202: PUSH1 0x00 00002204: DUP5 00002205: DUP2 00002206: MSTORE 00002207: PUSH1 0x01 00002209: DUP7 0000220a: ADD 0000220b: SWAP1 0000220c: SWAP2 0000220d: MSTORE 0000220e: KECCAK256 0000220f: PUSH1 0x07 00002211: ADD 00002212: SLOAD 00002213: PUSH1 0xff 00002215: AND 00002216: ISZERO 00002217: PUSH2 0x227f 0000221a: JUMPI 0000221b: PUSH1 0x01 0000221d: DUP5 0000221e: PUSH1 0x00 00002220: ADD 00002221: MLOAD 00002222: DUP4 00002223: DUP2 00002224: MLOAD 00002225: DUP2 00002226: LT 00002227: PUSH2 0x222c 0000222a: JUMPI 0000222b: INVALID 0000222c: JUMPDEST 0000222d: PUSH1 0x20 0000222f: SWAP1 00002230: DUP2 00002231: MUL 00002232: SWAP2 00002233: SWAP1 00002234: SWAP2 00002235: ADD 00002236: ADD 00002237: MLOAD 00002238: SWAP1 00002239: ISZERO 0000223a: ISZERO 0000223b: SWAP1 0000223c: MSTORE 0000223d: PUSH2 0x224c 00002240: DUP4 00002241: DUP4 00002242: PUSH4 0xffffffff 00002247: PUSH2 0x1cbb 0000224a: AND 0000224b: JUMP 0000224c: JUMPDEST 0000224d: MLOAD 0000224e: DUP5 0000224f: MLOAD 00002250: DUP1 00002251: MLOAD 00002252: DUP5 00002253: SWAP1 00002254: DUP2 00002255: LT 00002256: PUSH2 0x225b 00002259: JUMPI 0000225a: INVALID 0000225b: JUMPDEST 0000225c: PUSH1 0x20 0000225e: SWAP1 0000225f: DUP2 00002260: MUL 00002261: SWAP2 00002262: SWAP1 00002263: SWAP2 00002264: ADD 00002265: DUP2 00002266: ADD 00002267: MLOAD 00002268: PUSH16 0xffffffffffffffffffffffffffffffff 00002279: SWAP1 0000227a: SWAP3 0000227b: AND 0000227c: SWAP2 0000227d: ADD 0000227e: MSTORE 0000227f: JUMPDEST 00002280: POP 00002281: PUSH1 0x01 00002283: SWAP4 00002284: SWAP3 00002285: POP 00002286: POP 00002287: POP 00002288: JUMP 00002289: JUMPDEST 0000228a: PUSH2 0x2291 0000228d: PUSH2 0x2d4f 00002290: JUMP 00002291: JUMPDEST 00002292: PUSH2 0x2299 00002295: PUSH2 0x2d4f 00002298: JUMP 00002299: JUMPDEST 0000229a: PUSH2 0x22a1 0000229d: PUSH2 0x2d4f 000022a0: JUMP 000022a1: JUMPDEST 000022a2: PUSH2 0x22a9 000022a5: PUSH2 0x2d4f 000022a8: JUMP 000022a9: JUMPDEST 000022aa: PUSH1 0x00 000022ac: PUSH2 0x22b4 000022af: DUP8 000022b0: PUSH2 0x2933 000022b3: JUMP 000022b4: JUMPDEST 000022b5: SWAP1 000022b6: POP 000022b7: PUSH1 0x00 000022b9: JUMPDEST 000022ba: DUP2 000022bb: DUP2 000022bc: LT 000022bd: ISZERO 000022be: PUSH2 0x23cd 000022c1: JUMPI 000022c2: PUSH2 0x22d1 000022c5: DUP9 000022c6: DUP3 000022c7: PUSH4 0xffffffff 000022cc: PUSH2 0x2905 000022cf: AND 000022d0: JUMP 000022d1: JUMPDEST 000022d2: PUSH2 0x22da 000022d5: JUMPI 000022d6: PUSH2 0x23c5 000022d9: JUMP 000022da: JUMPDEST 000022db: PUSH2 0x22e2 000022de: PUSH2 0x2d62 000022e1: JUMP 000022e2: JUMPDEST 000022e3: PUSH2 0x22f3 000022e6: DUP12 000022e7: DUP12 000022e8: DUP5 000022e9: PUSH4 0xffffffff 000022ee: PUSH2 0x2938 000022f1: AND 000022f2: JUMP 000022f3: JUMPDEST 000022f4: SWAP1 000022f5: POP 000022f6: PUSH2 0x22fe 000022f9: DUP2 000022fa: PUSH2 0x29a7 000022fd: JUMP 000022fe: JUMPDEST 000022ff: ISZERO 00002300: PUSH2 0x2309 00002303: JUMPI 00002304: POP 00002305: PUSH2 0x23c5 00002308: JUMP 00002309: JUMPDEST 0000230a: PUSH1 0x00 0000230c: PUSH2 0x2330 0000230f: PUSH2 0x231e 00002312: DUP12 00002313: DUP6 00002314: PUSH4 0xffffffff 00002319: PUSH2 0x29af 0000231c: AND 0000231d: JUMP 0000231e: JUMPDEST 0000231f: MLOAD 00002320: PUSH1 0x20 00002322: DUP5 00002323: ADD 00002324: MLOAD 00002325: SWAP1 00002326: PUSH4 0xffffffff 0000232b: PUSH2 0x29d9 0000232e: AND 0000232f: JUMP 00002330: JUMPDEST 00002331: SWAP1 00002332: POP 00002333: PUSH2 0x233a 00002336: PUSH2 0x2d4f 00002339: JUMP 0000233a: JUMPDEST 0000233b: PUSH2 0x2342 0000233e: PUSH2 0x2a00 00002341: JUMP 00002342: JUMPDEST 00002343: SWAP1 00002344: POP 00002345: DUP10 00002346: ISZERO 00002347: PUSH2 0x237a 0000234a: JUMPI 0000234b: PUSH1 0x00 0000234d: DUP5 0000234e: DUP2 0000234f: MSTORE 00002350: PUSH1 0x01 00002352: DUP15 00002353: ADD 00002354: PUSH1 0x20 00002356: SWAP1 00002357: DUP2 00002358: MSTORE 00002359: PUSH1 0x40 0000235b: SWAP2 0000235c: DUP3 0000235d: SWAP1 0000235e: KECCAK256 0000235f: DUP3 00002360: MLOAD 00002361: SWAP2 00002362: DUP3 00002363: ADD 00002364: SWAP1 00002365: SWAP3 00002366: MSTORE 00002367: PUSH1 0x05 00002369: SWAP1 0000236a: SWAP2 0000236b: ADD 0000236c: SLOAD 0000236d: DUP2 0000236e: MSTORE 0000236f: PUSH2 0x2377 00002372: SWAP1 00002373: PUSH2 0x2653 00002376: JUMP 00002377: JUMPDEST 00002378: SWAP1 00002379: POP 0000237a: JUMPDEST 0000237b: DUP3 0000237c: MLOAD 0000237d: ISZERO 0000237e: PUSH2 0x23a3 00002381: JUMPI 00002382: PUSH2 0x239c 00002385: PUSH2 0x238e 00002388: DUP4 00002389: DUP4 0000238a: PUSH2 0x2a22 0000238d: JUMP 0000238e: JUMPDEST 0000238f: DUP9 00002390: MLOAD 00002391: SWAP1 00002392: PUSH4 0xffffffff 00002397: PUSH2 0x2a3b 0000239a: AND 0000239b: JUMP 0000239c: JUMPDEST 0000239d: DUP8 0000239e: MSTORE 0000239f: PUSH2 0x23c1 000023a2: JUMP 000023a3: JUMPDEST 000023a4: PUSH2 0x23be 000023a7: PUSH2 0x23b0 000023aa: DUP4 000023ab: DUP4 000023ac: PUSH2 0x268a 000023af: JUMP 000023b0: JUMPDEST 000023b1: DUP8 000023b2: MLOAD 000023b3: SWAP1 000023b4: PUSH4 0xffffffff 000023b9: PUSH2 0x2a3b 000023bc: AND 000023bd: JUMP 000023be: JUMPDEST 000023bf: DUP7 000023c0: MSTORE 000023c1: JUMPDEST 000023c2: POP 000023c3: POP 000023c4: POP 000023c5: JUMPDEST 000023c6: PUSH1 0x01 000023c8: ADD 000023c9: PUSH2 0x22b9 000023cc: JUMP 000023cd: JUMPDEST 000023ce: POP 000023cf: SWAP2 000023d0: SWAP9 000023d1: SWAP1 000023d2: SWAP8 000023d3: POP 000023d4: SWAP6 000023d5: POP 000023d6: POP 000023d7: POP 000023d8: POP 000023d9: POP 000023da: POP 000023db: JUMP 000023dc: JUMPDEST 000023dd: PUSH2 0x23e4 000023e0: PUSH2 0x2d79 000023e3: JUMP 000023e4: JUMPDEST 000023e5: PUSH2 0x23ec 000023e8: PUSH2 0x2d62 000023eb: JUMP 000023ec: JUMPDEST 000023ed: PUSH2 0x23f4 000023f0: PUSH2 0x2d62 000023f3: JUMP 000023f4: JUMPDEST 000023f5: PUSH2 0x23fe 000023f8: DUP6 000023f9: DUP9 000023fa: PUSH2 0x2748 000023fd: JUMP 000023fe: JUMPDEST 000023ff: SWAP2 00002400: POP 00002401: SWAP2 00002402: POP 00002403: PUSH1 0x00 00002405: PUSH2 0x240c 00002408: PUSH2 0x2a4d 0000240b: JUMP 0000240c: JUMPDEST 0000240d: SWAP1 0000240e: POP 0000240f: PUSH1 0x00 00002411: PUSH2 0x2444 00002414: PUSH2 0x2436 00002417: DUP11 00002418: PUSH1 0x40 0000241a: ADD 0000241b: MLOAD 0000241c: PUSH4 0xffffffff 00002421: AND 00002422: DUP5 00002423: PUSH4 0xffffffff 00002428: AND 00002429: PUSH2 0x2a5d 0000242c: SWAP1 0000242d: SWAP2 0000242e: SWAP1 0000242f: PUSH4 0xffffffff 00002434: AND 00002435: JUMP 00002436: JUMPDEST 00002437: DUP10 00002438: MLOAD 00002439: SWAP1 0000243a: PUSH4 0xffffffff 0000243f: PUSH2 0x29d9 00002442: AND 00002443: JUMP 00002444: JUMPDEST 00002445: SWAP1 00002446: POP 00002447: PUSH1 0x00 00002449: PUSH2 0x2451 0000244c: DUP6 0000244d: PUSH2 0x29a7 00002450: JUMP 00002451: JUMPDEST 00002452: ISZERO 00002453: PUSH2 0x245e 00002456: JUMPI 00002457: POP 00002458: PUSH1 0x00 0000245a: PUSH2 0x2490 0000245d: JUMP 0000245e: JUMPDEST 0000245f: PUSH2 0x2468 00002462: DUP3 00002463: DUP9 00002464: PUSH2 0x268a 00002467: JUMP 00002468: JUMPDEST 00002469: SWAP1 0000246a: POP 0000246b: DUP5 0000246c: PUSH1 0x20 0000246e: ADD 0000246f: MLOAD 00002470: DUP5 00002471: PUSH1 0x20 00002473: ADD 00002474: MLOAD 00002475: LT 00002476: ISZERO 00002477: PUSH2 0x2490 0000247a: JUMPI 0000247b: PUSH2 0x248d 0000247e: DUP2 0000247f: DUP6 00002480: PUSH1 0x20 00002482: ADD 00002483: MLOAD 00002484: DUP8 00002485: PUSH1 0x20 00002487: ADD 00002488: MLOAD 00002489: PUSH2 0x25e4 0000248c: JUMP 0000248d: JUMPDEST 0000248e: SWAP1 0000248f: POP 00002490: JUMPDEST 00002491: DUP2 00002492: DUP2 00002493: GT 00002494: ISZERO 00002495: PUSH2 0x249a 00002498: JUMPI 00002499: INVALID 0000249a: JUMPDEST 0000249b: PUSH1 0x40 0000249d: DUP1 0000249e: MLOAD 0000249f: PUSH1 0x60 000024a1: DUP2 000024a2: ADD 000024a3: SWAP1 000024a4: SWAP2 000024a5: MSTORE 000024a6: DUP11 000024a7: MLOAD 000024a8: DUP2 000024a9: SWAP1 000024aa: PUSH2 0x24e3 000024ad: SWAP1 000024ae: PUSH2 0x24de 000024b1: SWAP1 000024b2: PUSH12 0xffffffffffffffffffffffff 000024bf: AND 000024c0: PUSH2 0x24d2 000024c3: DUP2 000024c4: DUP9 000024c5: PUSH8 0x0de0b6b3a7640000 000024ce: PUSH2 0x25e4 000024d1: JUMP 000024d2: JUMPDEST 000024d3: SWAP1 000024d4: PUSH4 0xffffffff 000024d9: PUSH2 0x2a3b 000024dc: AND 000024dd: JUMP 000024de: JUMPDEST 000024df: PUSH2 0x2a72 000024e2: JUMP 000024e3: JUMPDEST 000024e4: PUSH12 0xffffffffffffffffffffffff 000024f1: SWAP1 000024f2: DUP2 000024f3: AND 000024f4: DUP3 000024f5: MSTORE 000024f6: PUSH1 0x20 000024f8: DUP14 000024f9: DUP2 000024fa: ADD 000024fb: MLOAD 000024fc: SWAP3 000024fd: ADD 000024fe: SWAP2 000024ff: PUSH2 0x251a 00002502: SWAP2 00002503: PUSH2 0x24de 00002506: SWAP2 00002507: AND 00002508: PUSH2 0x24d2 0000250b: DUP2 0000250c: DUP8 0000250d: PUSH8 0x0de0b6b3a7640000 00002516: PUSH2 0x25e4 00002519: JUMP 0000251a: JUMPDEST 0000251b: PUSH12 0xffffffffffffffffffffffff 00002528: AND 00002529: DUP2 0000252a: MSTORE 0000252b: PUSH1 0x20 0000252d: ADD 0000252e: DUP5 0000252f: PUSH4 0xffffffff 00002534: AND 00002535: DUP2 00002536: MSTORE 00002537: POP 00002538: SWAP6 00002539: POP 0000253a: POP 0000253b: POP 0000253c: POP 0000253d: POP 0000253e: POP 0000253f: SWAP5 00002540: SWAP4 00002541: POP 00002542: POP 00002543: POP 00002544: POP 00002545: JUMP 00002546: JUMPDEST 00002547: DUP4 00002548: PUSH2 0x25de 0000254b: JUMPI 0000254c: PUSH2 0x2554 0000254f: DUP4 00002550: PUSH2 0x280a 00002553: JUMP 00002554: JUMPDEST 00002555: PUSH32 0x3a20000000000000000000000000000000000000000000000000000000000000 00002576: PUSH2 0x257e 00002579: DUP5 0000257a: PUSH2 0x280a 0000257d: JUMP 0000257e: JUMPDEST 0000257f: PUSH32 0x203c000000000000000000000000000000000000000000000000000000000000 000025a0: PUSH2 0x25a8 000025a3: DUP6 000025a4: PUSH2 0x2ad0 000025a7: JUMP 000025a8: JUMPDEST 000025a9: PUSH1 0x40 000025ab: MLOAD 000025ac: PUSH2 0x20d8 000025af: SWAP6 000025b0: SWAP5 000025b1: SWAP4 000025b2: SWAP3 000025b3: SWAP2 000025b4: SWAP1 000025b5: PUSH32 0x3e00000000000000000000000000000000000000000000000000000000000000 000025d6: SWAP1 000025d7: PUSH1 0x20 000025d9: ADD 000025da: PUSH2 0x3c0c 000025dd: JUMP 000025de: JUMPDEST 000025df: POP 000025e0: POP 000025e1: POP 000025e2: POP 000025e3: JUMP 000025e4: JUMPDEST 000025e5: PUSH1 0x00 000025e7: PUSH2 0x1c02 000025ea: DUP3 000025eb: PUSH2 0x25fa 000025ee: DUP7 000025ef: DUP7 000025f0: PUSH4 0xffffffff 000025f5: PUSH2 0x29d9 000025f8: AND 000025f9: JUMP 000025fa: JUMPDEST 000025fb: SWAP1 000025fc: PUSH4 0xffffffff 00002601: PUSH2 0x2bfe 00002604: AND 00002605: JUMP 00002606: JUMPDEST 00002607: PUSH1 0x00 00002609: DUP4 0000260a: ISZERO 0000260b: DUP1 0000260c: PUSH2 0x2613 0000260f: JUMPI 00002610: POP 00002611: DUP3 00002612: ISZERO 00002613: JUMPDEST 00002614: ISZERO 00002615: PUSH2 0x262a 00002618: JUMPI 00002619: PUSH2 0x2623 0000261c: PUSH1 0x00 0000261e: DUP4 0000261f: PUSH2 0x2bfe 00002622: JUMP 00002623: JUMPDEST 00002624: SWAP1 00002625: POP 00002626: PUSH2 0x1962 00002629: JUMP 0000262a: JUMPDEST 0000262b: PUSH2 0x1c02 0000262e: PUSH1 0x01 00002630: PUSH2 0x24d2 00002633: DUP5 00002634: PUSH2 0x25fa 00002637: DUP4 00002638: PUSH2 0x2647 0000263b: DUP11 0000263c: DUP11 0000263d: PUSH4 0xffffffff 00002642: PUSH2 0x29d9 00002645: AND 00002646: JUMP 00002647: JUMPDEST 00002648: SWAP1 00002649: PUSH4 0xffffffff 0000264e: PUSH2 0x2a5d 00002651: AND 00002652: JUMP 00002653: JUMPDEST 00002654: PUSH2 0x265b 00002657: PUSH2 0x2d4f 0000265a: JUMP 0000265b: JUMPDEST 0000265c: PUSH1 0x40 0000265e: DUP1 0000265f: MLOAD 00002660: PUSH1 0x20 00002662: DUP2 00002663: ADD 00002664: SWAP1 00002665: SWAP2 00002666: MSTORE 00002667: DUP3 00002668: MLOAD 00002669: DUP2 0000266a: SWAP1 0000266b: PUSH2 0x2682 0000266e: SWAP1 0000266f: PUSH8 0x0de0b6b3a7640000 00002678: PUSH4 0xffffffff 0000267d: PUSH2 0x2a3b 00002680: AND 00002681: JUMP 00002682: JUMPDEST 00002683: SWAP1 00002684: MSTORE 00002685: SWAP3 00002686: SWAP2 00002687: POP 00002688: POP 00002689: JUMP 0000268a: JUMPDEST 0000268b: PUSH1 0x00 0000268d: PUSH2 0x0c09 00002690: DUP4 00002691: DUP4 00002692: PUSH1 0x00 00002694: ADD 00002695: MLOAD 00002696: PUSH8 0x0de0b6b3a7640000 0000269f: PUSH2 0x25e4 000026a2: JUMP 000026a3: JUMPDEST 000026a4: PUSH1 0x40 000026a6: MLOAD 000026a7: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000 000026c8: DUP2 000026c9: MSTORE 000026ca: PUSH1 0x00 000026cc: SWAP1 000026cd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000026e2: DUP5 000026e3: AND 000026e4: SWAP1 000026e5: PUSH4 0x70a08231 000026ea: SWAP1 000026eb: PUSH2 0x26f8 000026ee: SWAP1 000026ef: DUP6 000026f0: SWAP1 000026f1: PUSH1 0x04 000026f3: ADD 000026f4: PUSH2 0x3c6a 000026f7: JUMP 000026f8: JUMPDEST 000026f9: PUSH1 0x20 000026fb: PUSH1 0x40 000026fd: MLOAD 000026fe: DUP1 000026ff: DUP4 00002700: SUB 00002701: DUP2 00002702: DUP7 00002703: DUP1 00002704: EXTCODESIZE 00002705: ISZERO 00002706: DUP1 00002707: ISZERO 00002708: PUSH2 0x2710 0000270b: JUMPI 0000270c: PUSH1 0x00 0000270e: DUP1 0000270f: REVERT 00002710: JUMPDEST 00002711: POP 00002712: GAS 00002713: STATICCALL 00002714: ISZERO 00002715: DUP1 00002716: ISZERO 00002717: PUSH2 0x2724 0000271a: JUMPI 0000271b: RETURNDATASIZE 0000271c: PUSH1 0x00 0000271e: DUP1 0000271f: RETURNDATACOPY 00002720: RETURNDATASIZE 00002721: PUSH1 0x00 00002723: REVERT 00002724: JUMPDEST 00002725: POP 00002726: POP 00002727: POP 00002728: POP 00002729: PUSH1 0x40 0000272b: MLOAD 0000272c: RETURNDATASIZE 0000272d: PUSH1 0x1f 0000272f: NOT 00002730: PUSH1 0x1f 00002732: DUP3 00002733: ADD 00002734: AND 00002735: DUP3 00002736: ADD 00002737: DUP1 00002738: PUSH1 0x40 0000273a: MSTORE 0000273b: POP 0000273c: PUSH2 0x0c09 0000273f: SWAP2 00002740: SWAP1 00002741: DUP2 00002742: ADD 00002743: SWAP1 00002744: PUSH2 0x3508 00002747: JUMP 00002748: JUMPDEST 00002749: PUSH2 0x2750 0000274c: PUSH2 0x2d62 0000274f: JUMP 00002750: JUMPDEST 00002751: PUSH2 0x2758 00002754: PUSH2 0x2d62 00002757: JUMP 00002758: JUMPDEST 00002759: PUSH2 0x2760 0000275c: PUSH2 0x2d62 0000275f: JUMP 00002760: JUMPDEST 00002761: POP 00002762: PUSH1 0x40 00002764: DUP1 00002765: MLOAD 00002766: DUP1 00002767: DUP3 00002768: ADD 00002769: SWAP1 0000276a: SWAP2 0000276b: MSTORE 0000276c: PUSH1 0x01 0000276e: DUP2 0000276f: MSTORE 00002770: PUSH1 0x20 00002772: DUP6 00002773: DUP2 00002774: ADD 00002775: MLOAD 00002776: PUSH16 0xffffffffffffffffffffffffffffffff 00002787: AND 00002788: SWAP1 00002789: DUP3 0000278a: ADD 0000278b: MSTORE 0000278c: PUSH2 0x2793 0000278f: PUSH2 0x2d62 00002792: JUMP 00002793: JUMPDEST 00002794: POP 00002795: PUSH1 0x40 00002797: DUP1 00002798: MLOAD 00002799: DUP1 0000279a: DUP3 0000279b: ADD 0000279c: SWAP1 0000279d: SWAP2 0000279e: MSTORE 0000279f: PUSH1 0x00 000027a1: DUP2 000027a2: MSTORE 000027a3: DUP6 000027a4: MLOAD 000027a5: PUSH16 0xffffffffffffffffffffffffffffffff 000027b6: AND 000027b7: PUSH1 0x20 000027b9: DUP3 000027ba: ADD 000027bb: MSTORE 000027bc: PUSH2 0x27c3 000027bf: PUSH2 0x2d62 000027c2: JUMP 000027c3: JUMPDEST 000027c4: PUSH2 0x27cd 000027c7: DUP4 000027c8: DUP8 000027c9: PUSH2 0x1c0a 000027cc: JUMP 000027cd: JUMPDEST 000027ce: SWAP1 000027cf: POP 000027d0: PUSH2 0x27d7 000027d3: PUSH2 0x2d62 000027d6: JUMP 000027d7: JUMPDEST 000027d8: PUSH2 0x27e1 000027db: DUP4 000027dc: DUP9 000027dd: PUSH2 0x1c0a 000027e0: JUMP 000027e1: JUMPDEST 000027e2: SWAP2 000027e3: SWAP9 000027e4: SWAP2 000027e5: SWAP8 000027e6: POP 000027e7: SWAP1 000027e8: SWAP6 000027e9: POP 000027ea: POP 000027eb: POP 000027ec: POP 000027ed: POP 000027ee: POP 000027ef: JUMP 000027f0: JUMPDEST 000027f1: PUSH2 0x27f8 000027f4: PUSH2 0x2d62 000027f7: JUMP 000027f8: JUMPDEST 000027f9: PUSH2 0x0c09 000027fc: DUP4 000027fd: PUSH2 0x2805 00002800: DUP5 00002801: PUSH2 0x2c20 00002804: JUMP 00002805: JUMPDEST 00002806: PUSH2 0x2c47 00002809: JUMP 0000280a: JUMPDEST 0000280b: PUSH1 0x60 0000280d: DUP1 0000280e: DUP3 0000280f: PUSH1 0x40 00002811: MLOAD 00002812: PUSH1 0x20 00002814: ADD 00002815: PUSH2 0x281e 00002818: SWAP2 00002819: SWAP1 0000281a: PUSH2 0x3bcf 0000281d: JUMP 0000281e: JUMPDEST 0000281f: PUSH1 0x40 00002821: DUP1 00002822: MLOAD 00002823: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00002844: DUP2 00002845: DUP5 00002846: SUB 00002847: ADD 00002848: DUP2 00002849: MSTORE 0000284a: SWAP2 0000284b: SWAP1 0000284c: MSTORE 0000284d: SWAP1 0000284e: POP 0000284f: PUSH1 0x20 00002851: JUMPDEST 00002852: DUP1 00002853: ISZERO 00002854: PUSH2 0x28ee 00002857: JUMPI 00002858: DUP2 00002859: MLOAD 0000285a: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0000287b: SWAP1 0000287c: SWAP2 0000287d: ADD 0000287e: SWAP1 0000287f: DUP3 00002880: SWAP1 00002881: DUP3 00002882: SWAP1 00002883: DUP2 00002884: LT 00002885: PUSH2 0x288a 00002888: JUMPI 00002889: INVALID 0000288a: JUMPDEST 0000288b: PUSH1 0x20 0000288d: SWAP2 0000288e: ADD 0000288f: ADD 00002890: MLOAD 00002891: PUSH32 0x0100000000000000000000000000000000000000000000000000000000000000 000028b2: SWAP1 000028b3: DUP2 000028b4: SWAP1 000028b5: DIV 000028b6: MUL 000028b7: PUSH32 0xff00000000000000000000000000000000000000000000000000000000000000 000028d8: AND 000028d9: ISZERO 000028da: PUSH2 0x28e9 000028dd: JUMPI 000028de: PUSH1 0x01 000028e0: ADD 000028e1: DUP2 000028e2: MSTORE 000028e3: SWAP1 000028e4: POP 000028e5: PUSH2 0x082c 000028e8: JUMP 000028e9: JUMPDEST 000028ea: PUSH2 0x2851 000028ed: JUMP 000028ee: JUMPDEST 000028ef: POP 000028f0: POP 000028f1: PUSH1 0x40 000028f3: DUP1 000028f4: MLOAD 000028f5: PUSH1 0x00 000028f7: DUP2 000028f8: MSTORE 000028f9: PUSH1 0x20 000028fb: DUP2 000028fc: ADD 000028fd: SWAP1 000028fe: SWAP2 000028ff: MSTORE 00002900: SWAP3 00002901: SWAP2 00002902: POP 00002903: POP 00002904: JUMP 00002905: JUMPDEST 00002906: PUSH1 0x00 00002908: DUP3 00002909: PUSH1 0x00 0000290b: ADD 0000290c: MLOAD 0000290d: DUP3 0000290e: DUP2 0000290f: MLOAD 00002910: DUP2 00002911: LT 00002912: PUSH2 0x2917 00002915: JUMPI 00002916: INVALID 00002917: JUMPDEST 00002918: PUSH1 0x20 0000291a: MUL 0000291b: PUSH1 0x20 0000291d: ADD 0000291e: ADD 0000291f: MLOAD 00002920: PUSH1 0x40 00002922: ADD 00002923: MLOAD 00002924: PUSH1 0x00 00002926: ADD 00002927: MLOAD 00002928: PUSH1 0x00 0000292a: EQ 0000292b: ISZERO 0000292c: SWAP1 0000292d: POP 0000292e: SWAP3 0000292f: SWAP2 00002930: POP 00002931: POP 00002932: JUMP 00002933: JUMPDEST 00002934: MLOAD 00002935: MLOAD 00002936: SWAP1 00002937: JUMP 00002938: JUMPDEST 00002939: PUSH2 0x2940 0000293c: PUSH2 0x2d62 0000293f: JUMP 00002940: JUMPDEST 00002941: PUSH2 0x2948 00002944: PUSH2 0x2d62 00002947: JUMP 00002948: JUMPDEST 00002949: PUSH2 0x2959 0000294c: DUP6 0000294d: DUP6 0000294e: DUP6 0000294f: PUSH4 0xffffffff 00002954: PUSH2 0x1969 00002957: AND 00002958: JUMP 00002959: JUMPDEST 0000295a: SWAP1 0000295b: POP 0000295c: PUSH2 0x2964 0000295f: DUP2 00002960: PUSH2 0x2195 00002963: JUMP 00002964: JUMPDEST 00002965: ISZERO 00002966: PUSH2 0x2979 00002969: JUMPI 0000296a: PUSH2 0x2971 0000296d: PUSH2 0x2cd9 00002970: JUMP 00002971: JUMPDEST 00002972: SWAP2 00002973: POP 00002974: POP 00002975: PUSH2 0x1962 00002978: JUMP 00002979: JUMPDEST 0000297a: PUSH2 0x2981 0000297d: PUSH2 0x2d79 00002980: JUMP 00002981: JUMPDEST 00002982: PUSH2 0x2991 00002985: DUP7 00002986: DUP6 00002987: PUSH4 0xffffffff 0000298c: PUSH2 0x19e5 0000298f: AND 00002990: JUMP 00002991: JUMPDEST 00002992: SWAP1 00002993: POP 00002994: PUSH2 0x299d 00002997: DUP3 00002998: DUP3 00002999: PUSH2 0x1c0a 0000299c: JUMP 0000299d: JUMPDEST 0000299e: SWAP7 0000299f: SWAP6 000029a0: POP 000029a1: POP 000029a2: POP 000029a3: POP 000029a4: POP 000029a5: POP 000029a6: JUMP 000029a7: JUMPDEST 000029a8: PUSH1 0x20 000029aa: ADD 000029ab: MLOAD 000029ac: ISZERO 000029ad: SWAP1 000029ae: JUMP 000029af: JUMPDEST 000029b0: PUSH2 0x29b7 000029b3: PUSH2 0x2d4f 000029b6: JUMP 000029b7: JUMPDEST 000029b8: DUP3 000029b9: MLOAD 000029ba: DUP1 000029bb: MLOAD 000029bc: DUP4 000029bd: SWAP1 000029be: DUP2 000029bf: LT 000029c0: PUSH2 0x29c5 000029c3: JUMPI 000029c4: INVALID 000029c5: JUMPDEST 000029c6: PUSH1 0x20 000029c8: MUL 000029c9: PUSH1 0x20 000029cb: ADD 000029cc: ADD 000029cd: MLOAD 000029ce: PUSH1 0x40 000029d0: ADD 000029d1: MLOAD 000029d2: SWAP1 000029d3: POP 000029d4: SWAP3 000029d5: SWAP2 000029d6: POP 000029d7: POP 000029d8: JUMP 000029d9: JUMPDEST 000029da: PUSH1 0x00 000029dc: DUP3 000029dd: PUSH2 0x29e8 000029e0: JUMPI 000029e1: POP 000029e2: PUSH1 0x00 000029e4: PUSH2 0x0c0c 000029e7: JUMP 000029e8: JUMPDEST 000029e9: DUP3 000029ea: DUP3 000029eb: MUL 000029ec: DUP3 000029ed: DUP5 000029ee: DUP3 000029ef: DUP2 000029f0: PUSH2 0x29f5 000029f3: JUMPI 000029f4: INVALID 000029f5: JUMPDEST 000029f6: DIV 000029f7: EQ 000029f8: PUSH2 0x0c09 000029fb: JUMPI 000029fc: PUSH1 0x00 000029fe: DUP1 000029ff: REVERT 00002a00: JUMPDEST 00002a01: PUSH2 0x2a08 00002a04: PUSH2 0x2d4f 00002a07: JUMP 00002a08: JUMPDEST 00002a09: POP 00002a0a: PUSH1 0x40 00002a0c: DUP1 00002a0d: MLOAD 00002a0e: PUSH1 0x20 00002a10: DUP2 00002a11: ADD 00002a12: SWAP1 00002a13: SWAP2 00002a14: MSTORE 00002a15: PUSH8 0x0de0b6b3a7640000 00002a1e: DUP2 00002a1f: MSTORE 00002a20: SWAP1 00002a21: JUMP 00002a22: JUMPDEST 00002a23: PUSH1 0x00 00002a25: PUSH2 0x0c09 00002a28: DUP4 00002a29: PUSH8 0x0de0b6b3a7640000 00002a32: DUP5 00002a33: PUSH1 0x00 00002a35: ADD 00002a36: MLOAD 00002a37: PUSH2 0x25e4 00002a3a: JUMP 00002a3b: JUMPDEST 00002a3c: PUSH1 0x00 00002a3e: DUP3 00002a3f: DUP3 00002a40: ADD 00002a41: DUP4 00002a42: DUP2 00002a43: LT 00002a44: ISZERO 00002a45: PUSH2 0x0c09 00002a48: JUMPI 00002a49: PUSH1 0x00 00002a4b: DUP1 00002a4c: REVERT 00002a4d: JUMPDEST 00002a4e: PUSH1 0x00 00002a50: PUSH2 0x2a58 00002a53: TIMESTAMP 00002a54: PUSH2 0x2cf9 00002a57: JUMP 00002a58: JUMPDEST 00002a59: SWAP1 00002a5a: POP 00002a5b: SWAP1 00002a5c: JUMP 00002a5d: JUMPDEST 00002a5e: PUSH1 0x00 00002a60: DUP3 00002a61: DUP3 00002a62: GT 00002a63: ISZERO 00002a64: PUSH2 0x2a6c 00002a67: JUMPI 00002a68: PUSH1 0x00 00002a6a: DUP1 00002a6b: REVERT 00002a6c: JUMPDEST 00002a6d: POP 00002a6e: SWAP1 00002a6f: SUB 00002a70: SWAP1 00002a71: JUMP 00002a72: JUMPDEST 00002a73: PUSH1 0x00 00002a75: DUP2 00002a76: PUSH2 0x0829 00002a79: PUSH12 0xffffffffffffffffffffffff 00002a86: DUP3 00002a87: AND 00002a88: DUP3 00002a89: EQ 00002a8a: PUSH32 0x4d61746800000000000000000000000000000000000000000000000000000000 00002aab: PUSH32 0x556e73616665206361737420746f2075696e7439360000000000000000000000 00002acc: PUSH2 0x208e 00002acf: JUMP 00002ad0: JUMPDEST 00002ad1: PUSH1 0x60 00002ad3: DUP2 00002ad4: PUSH2 0x2b11 00002ad7: JUMPI 00002ad8: POP 00002ad9: PUSH1 0x40 00002adb: DUP1 00002adc: MLOAD 00002add: DUP1 00002ade: DUP3 00002adf: ADD 00002ae0: SWAP1 00002ae1: SWAP2 00002ae2: MSTORE 00002ae3: PUSH1 0x01 00002ae5: DUP2 00002ae6: MSTORE 00002ae7: PUSH32 0x3000000000000000000000000000000000000000000000000000000000000000 00002b08: PUSH1 0x20 00002b0a: DUP3 00002b0b: ADD 00002b0c: MSTORE 00002b0d: PUSH2 0x082c 00002b10: JUMP 00002b11: JUMPDEST 00002b12: DUP2 00002b13: PUSH1 0x00 00002b15: JUMPDEST 00002b16: DUP2 00002b17: ISZERO 00002b18: PUSH2 0x2b29 00002b1b: JUMPI 00002b1c: PUSH1 0x01 00002b1e: ADD 00002b1f: PUSH1 0x0a 00002b21: DUP3 00002b22: DIV 00002b23: SWAP2 00002b24: POP 00002b25: PUSH2 0x2b15 00002b28: JUMP 00002b29: JUMPDEST 00002b2a: PUSH1 0x60 00002b2c: DUP2 00002b2d: PUSH1 0x40 00002b2f: MLOAD 00002b30: SWAP1 00002b31: DUP1 00002b32: DUP3 00002b33: MSTORE 00002b34: DUP1 00002b35: PUSH1 0x1f 00002b37: ADD 00002b38: PUSH1 0x1f 00002b3a: NOT 00002b3b: AND 00002b3c: PUSH1 0x20 00002b3e: ADD 00002b3f: DUP3 00002b40: ADD 00002b41: PUSH1 0x40 00002b43: MSTORE 00002b44: DUP1 00002b45: ISZERO 00002b46: PUSH2 0x2b56 00002b49: JUMPI 00002b4a: PUSH1 0x20 00002b4c: DUP3 00002b4d: ADD 00002b4e: DUP2 00002b4f: DUP1 00002b50: CODESIZE 00002b51: DUP4 00002b52: CODECOPY 00002b53: ADD 00002b54: SWAP1 00002b55: POP 00002b56: JUMPDEST 00002b57: POP 00002b58: DUP6 00002b59: SWAP4 00002b5a: POP 00002b5b: SWAP1 00002b5c: POP 00002b5d: DUP2 00002b5e: JUMPDEST 00002b5f: DUP1 00002b60: ISZERO 00002b61: PUSH2 0x2bf5 00002b64: JUMPI 00002b65: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00002b86: ADD 00002b87: PUSH1 0x0a 00002b89: DUP5 00002b8a: MOD 00002b8b: PUSH1 0x30 00002b8d: ADD 00002b8e: PUSH32 0x0100000000000000000000000000000000000000000000000000000000000000 00002baf: MUL 00002bb0: DUP3 00002bb1: DUP3 00002bb2: DUP2 00002bb3: MLOAD 00002bb4: DUP2 00002bb5: LT 00002bb6: PUSH2 0x2bbb 00002bb9: JUMPI 00002bba: INVALID 00002bbb: JUMPDEST 00002bbc: PUSH1 0x20 00002bbe: ADD 00002bbf: ADD 00002bc0: SWAP1 00002bc1: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00002be1: NOT 00002be2: AND 00002be3: SWAP1 00002be4: DUP2 00002be5: PUSH1 0x00 00002be7: BYTE 00002be8: SWAP1 00002be9: MSTORE8 00002bea: POP 00002beb: PUSH1 0x0a 00002bed: DUP5 00002bee: DIV 00002bef: SWAP4 00002bf0: POP 00002bf1: PUSH2 0x2b5e 00002bf4: JUMP 00002bf5: JUMPDEST 00002bf6: POP 00002bf7: SWAP5 00002bf8: SWAP4 00002bf9: POP 00002bfa: POP 00002bfb: POP 00002bfc: POP 00002bfd: JUMP 00002bfe: JUMPDEST 00002bff: PUSH1 0x00 00002c01: DUP1 00002c02: DUP3 00002c03: GT 00002c04: PUSH2 0x2c0c 00002c07: JUMPI 00002c08: PUSH1 0x00 00002c0a: DUP1 00002c0b: REVERT 00002c0c: JUMPDEST 00002c0d: PUSH1 0x00 00002c0f: DUP3 00002c10: DUP5 00002c11: DUP2 00002c12: PUSH2 0x2c17 00002c15: JUMPI 00002c16: INVALID 00002c17: JUMPDEST 00002c18: DIV 00002c19: SWAP5 00002c1a: SWAP4 00002c1b: POP 00002c1c: POP 00002c1d: POP 00002c1e: POP 00002c1f: JUMP 00002c20: JUMPDEST 00002c21: PUSH2 0x2c28 00002c24: PUSH2 0x2d62 00002c27: JUMP 00002c28: JUMPDEST 00002c29: POP 00002c2a: PUSH1 0x40 00002c2c: DUP1 00002c2d: MLOAD 00002c2e: DUP1 00002c2f: DUP3 00002c30: ADD 00002c31: SWAP1 00002c32: SWAP2 00002c33: MSTORE 00002c34: DUP2 00002c35: MLOAD 00002c36: ISZERO 00002c37: DUP2 00002c38: MSTORE 00002c39: PUSH1 0x20 00002c3b: DUP1 00002c3c: DUP4 00002c3d: ADD 00002c3e: MLOAD 00002c3f: SWAP1 00002c40: DUP3 00002c41: ADD 00002c42: MSTORE 00002c43: SWAP2 00002c44: SWAP1 00002c45: POP 00002c46: JUMP 00002c47: JUMPDEST 00002c48: PUSH2 0x2c4f 00002c4b: PUSH2 0x2d62 00002c4e: JUMP 00002c4f: JUMPDEST 00002c50: PUSH2 0x2c57 00002c53: PUSH2 0x2d62 00002c56: JUMP 00002c57: JUMPDEST 00002c58: DUP3 00002c59: MLOAD 00002c5a: DUP5 00002c5b: MLOAD 00002c5c: ISZERO 00002c5d: ISZERO 00002c5e: SWAP1 00002c5f: ISZERO 00002c60: ISZERO 00002c61: EQ 00002c62: ISZERO 00002c63: PUSH2 0x2c8a 00002c66: JUMPI 00002c67: DUP4 00002c68: MLOAD 00002c69: ISZERO 00002c6a: ISZERO 00002c6b: DUP2 00002c6c: MSTORE 00002c6d: PUSH1 0x20 00002c6f: DUP1 00002c70: DUP6 00002c71: ADD 00002c72: MLOAD 00002c73: SWAP1 00002c74: DUP5 00002c75: ADD 00002c76: MLOAD 00002c77: PUSH2 0x2c80 00002c7a: SWAP2 00002c7b: SWAP1 00002c7c: PUSH2 0x2a3b 00002c7f: JUMP 00002c80: JUMPDEST 00002c81: PUSH1 0x20 00002c83: DUP3 00002c84: ADD 00002c85: MSTORE 00002c86: PUSH2 0x0c09 00002c89: JUMP 00002c8a: JUMPDEST 00002c8b: DUP3 00002c8c: PUSH1 0x20 00002c8e: ADD 00002c8f: MLOAD 00002c90: DUP5 00002c91: PUSH1 0x20 00002c93: ADD 00002c94: MLOAD 00002c95: LT 00002c96: PUSH2 0x2cb3 00002c99: JUMPI 00002c9a: DUP4 00002c9b: MLOAD 00002c9c: ISZERO 00002c9d: ISZERO 00002c9e: DUP2 00002c9f: MSTORE 00002ca0: PUSH1 0x20 00002ca2: DUP1 00002ca3: DUP6 00002ca4: ADD 00002ca5: MLOAD 00002ca6: SWAP1 00002ca7: DUP5 00002ca8: ADD 00002ca9: MLOAD 00002caa: PUSH2 0x2c80 00002cad: SWAP2 00002cae: SWAP1 00002caf: PUSH2 0x2a5d 00002cb2: JUMP 00002cb3: JUMPDEST 00002cb4: DUP3 00002cb5: MLOAD 00002cb6: ISZERO 00002cb7: ISZERO 00002cb8: DUP2 00002cb9: MSTORE 00002cba: PUSH1 0x20 00002cbc: DUP1 00002cbd: DUP5 00002cbe: ADD 00002cbf: MLOAD 00002cc0: SWAP1 00002cc1: DUP6 00002cc2: ADD 00002cc3: MLOAD 00002cc4: PUSH2 0x2ccd 00002cc7: SWAP2 00002cc8: SWAP1 00002cc9: PUSH2 0x2a5d 00002ccc: JUMP 00002ccd: JUMPDEST 00002cce: PUSH1 0x20 00002cd0: DUP3 00002cd1: ADD 00002cd2: MSTORE 00002cd3: SWAP4 00002cd4: SWAP3 00002cd5: POP 00002cd6: POP 00002cd7: POP 00002cd8: JUMP 00002cd9: JUMPDEST 00002cda: PUSH2 0x2ce1 00002cdd: PUSH2 0x2d62 00002ce0: JUMP 00002ce1: JUMPDEST 00002ce2: POP 00002ce3: PUSH1 0x40 00002ce5: DUP1 00002ce6: MLOAD 00002ce7: DUP1 00002ce8: DUP3 00002ce9: ADD 00002cea: SWAP1 00002ceb: SWAP2 00002cec: MSTORE 00002ced: PUSH1 0x00 00002cef: DUP1 00002cf0: DUP3 00002cf1: MSTORE 00002cf2: PUSH1 0x20 00002cf4: DUP3 00002cf5: ADD 00002cf6: MSTORE 00002cf7: SWAP1 00002cf8: JUMP 00002cf9: JUMPDEST 00002cfa: PUSH1 0x00 00002cfc: DUP2 00002cfd: PUSH2 0x0829 00002d00: PUSH4 0xffffffff 00002d05: DUP3 00002d06: AND 00002d07: DUP3 00002d08: EQ 00002d09: PUSH32 0x4d61746800000000000000000000000000000000000000000000000000000000 00002d2a: PUSH32 0x556e73616665206361737420746f2075696e7433320000000000000000000000 00002d4b: PUSH2 0x208e 00002d4e: JUMP 00002d4f: JUMPDEST 00002d50: PUSH1 0x40 00002d52: MLOAD 00002d53: DUP1 00002d54: PUSH1 0x20 00002d56: ADD 00002d57: PUSH1 0x40 00002d59: MSTORE 00002d5a: DUP1 00002d5b: PUSH1 0x00 00002d5d: DUP2 00002d5e: MSTORE 00002d5f: POP 00002d60: SWAP1 00002d61: JUMP 00002d62: JUMPDEST 00002d63: PUSH1 0x40 00002d65: DUP1 00002d66: MLOAD 00002d67: DUP1 00002d68: DUP3 00002d69: ADD 00002d6a: SWAP1 00002d6b: SWAP2 00002d6c: MSTORE 00002d6d: PUSH1 0x00 00002d6f: DUP1 00002d70: DUP3 00002d71: MSTORE 00002d72: PUSH1 0x20 00002d74: DUP3 00002d75: ADD 00002d76: MSTORE 00002d77: SWAP1 00002d78: JUMP 00002d79: JUMPDEST 00002d7a: PUSH1 0x40 00002d7c: DUP1 00002d7d: MLOAD 00002d7e: PUSH1 0x60 00002d80: DUP2 00002d81: ADD 00002d82: DUP3 00002d83: MSTORE 00002d84: PUSH1 0x00 00002d86: DUP1 00002d87: DUP3 00002d88: MSTORE 00002d89: PUSH1 0x20 00002d8b: DUP3 00002d8c: ADD 00002d8d: DUP2 00002d8e: SWAP1 00002d8f: MSTORE 00002d90: SWAP2 00002d91: DUP2 00002d92: ADD 00002d93: SWAP2 00002d94: SWAP1 00002d95: SWAP2 00002d96: MSTORE 00002d97: SWAP1 00002d98: JUMP 00002d99: JUMPDEST 00002d9a: PUSH1 0x40 00002d9c: MLOAD 00002d9d: DUP1 00002d9e: PUSH1 0x80 00002da0: ADD 00002da1: PUSH1 0x40 00002da3: MSTORE 00002da4: DUP1 00002da5: PUSH2 0x2dac 00002da8: PUSH2 0x2d4f 00002dab: JUMP 00002dac: JUMPDEST 00002dad: DUP2 00002dae: MSTORE 00002daf: PUSH1 0x20 00002db1: ADD 00002db2: PUSH2 0x2db9 00002db5: PUSH2 0x2d4f 00002db8: JUMP 00002db9: JUMPDEST 00002dba: DUP2 00002dbb: MSTORE 00002dbc: PUSH1 0x20 00002dbe: ADD 00002dbf: PUSH2 0x2dc6 00002dc2: PUSH2 0x2d4f 00002dc5: JUMP 00002dc6: JUMPDEST 00002dc7: DUP2 00002dc8: MSTORE 00002dc9: PUSH1 0x20 00002dcb: ADD 00002dcc: PUSH2 0x2dd3 00002dcf: PUSH2 0x2d4f 00002dd2: JUMP 00002dd3: JUMPDEST 00002dd4: SWAP1 00002dd5: MSTORE 00002dd6: SWAP1 00002dd7: JUMP 00002dd8: JUMPDEST 00002dd9: PUSH1 0x40 00002ddb: MLOAD 00002ddc: DUP1 00002ddd: PUSH2 0x0160 00002de0: ADD 00002de1: PUSH1 0x40 00002de3: MSTORE 00002de4: DUP1 00002de5: PUSH1 0x00 00002de7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002dfc: AND 00002dfd: DUP2 00002dfe: MSTORE 00002dff: PUSH1 0x20 00002e01: ADD 00002e02: PUSH2 0x2e09 00002e05: PUSH2 0x2d62 00002e08: JUMP 00002e09: JUMPDEST 00002e0a: DUP2 00002e0b: MSTORE 00002e0c: PUSH1 0x20 00002e0e: ADD 00002e0f: PUSH2 0x2e16 00002e12: PUSH2 0x2d79 00002e15: JUMP 00002e16: JUMPDEST 00002e17: DUP2 00002e18: MSTORE 00002e19: PUSH1 0x00 00002e1b: PUSH1 0x20 00002e1d: DUP3 00002e1e: ADD 00002e1f: DUP2 00002e20: SWAP1 00002e21: MSTORE 00002e22: PUSH1 0x40 00002e24: DUP3 00002e25: ADD 00002e26: MSTORE 00002e27: PUSH1 0x60 00002e29: ADD 00002e2a: PUSH2 0x2e31 00002e2d: PUSH2 0x2d4f 00002e30: JUMP 00002e31: JUMPDEST 00002e32: DUP2 00002e33: MSTORE 00002e34: PUSH1 0x20 00002e36: ADD 00002e37: PUSH2 0x2e3e 00002e3a: PUSH2 0x2d4f 00002e3d: JUMP 00002e3e: JUMPDEST 00002e3f: DUP2 00002e40: MSTORE 00002e41: PUSH1 0x00 00002e43: PUSH1 0x20 00002e45: SWAP1 00002e46: SWAP2 00002e47: ADD 00002e48: MSTORE 00002e49: SWAP1 00002e4a: JUMP 00002e4b: JUMPDEST 00002e4c: PUSH1 0x40 00002e4e: DUP1 00002e4f: MLOAD 00002e50: PUSH1 0xc0 00002e52: DUP2 00002e53: ADD 00002e54: DUP3 00002e55: MSTORE 00002e56: PUSH1 0x00 00002e58: DUP1 00002e59: DUP3 00002e5a: MSTORE 00002e5b: PUSH1 0x20 00002e5d: DUP3 00002e5e: ADD 00002e5f: DUP2 00002e60: SWAP1 00002e61: MSTORE 00002e62: SWAP2 00002e63: DUP2 00002e64: ADD 00002e65: DUP3 00002e66: SWAP1 00002e67: MSTORE 00002e68: PUSH1 0x60 00002e6a: DUP2 00002e6b: ADD 00002e6c: DUP3 00002e6d: SWAP1 00002e6e: MSTORE 00002e6f: PUSH1 0x80 00002e71: DUP2 00002e72: ADD 00002e73: DUP3 00002e74: SWAP1 00002e75: MSTORE 00002e76: PUSH1 0xa0 00002e78: DUP2 00002e79: ADD 00002e7a: SWAP2 00002e7b: SWAP1 00002e7c: SWAP2 00002e7d: MSTORE 00002e7e: SWAP1 00002e7f: JUMP 00002e80: JUMPDEST 00002e81: PUSH1 0x40 00002e83: MLOAD 00002e84: DUP1 00002e85: PUSH1 0x20 00002e87: ADD 00002e88: PUSH1 0x40 00002e8a: MSTORE 00002e8b: DUP1 00002e8c: PUSH1 0x60 00002e8e: DUP2 00002e8f: MSTORE 00002e90: POP 00002e91: SWAP1 00002e92: JUMP 00002e93: JUMPDEST 00002e94: PUSH1 0x40 00002e96: DUP1 00002e97: MLOAD 00002e98: PUSH1 0x60 00002e9a: DUP2 00002e9b: ADD 00002e9c: DUP3 00002e9d: MSTORE 00002e9e: PUSH1 0x00 00002ea0: DUP1 00002ea1: DUP3 00002ea2: MSTORE 00002ea3: PUSH1 0x20 00002ea5: DUP3 00002ea6: ADD 00002ea7: MSTORE 00002ea8: SWAP1 00002ea9: DUP2 00002eaa: ADD 00002eab: PUSH2 0x2dd3 00002eae: PUSH2 0x2d4f 00002eb1: JUMP 00002eb2: JUMPDEST 00002eb3: PUSH1 0x00 00002eb5: PUSH2 0x0c09 00002eb8: DUP3 00002eb9: CALLDATALOAD 00002eba: PUSH2 0x4015 00002ebd: JUMP 00002ebe: JUMPDEST 00002ebf: PUSH1 0x00 00002ec1: DUP3 00002ec2: PUSH1 0x1f 00002ec4: DUP4 00002ec5: ADD 00002ec6: SLT 00002ec7: PUSH2 0x2ecf 00002eca: JUMPI 00002ecb: PUSH1 0x00 00002ecd: DUP1 00002ece: REVERT 00002ecf: JUMPDEST 00002ed0: DUP2 00002ed1: CALLDATALOAD 00002ed2: PUSH2 0x2ee2 00002ed5: PUSH2 0x2edd 00002ed8: DUP3 00002ed9: PUSH2 0x3f9b 00002edc: JUMP 00002edd: JUMPDEST 00002ede: PUSH2 0x3f74 00002ee1: JUMP 00002ee2: JUMPDEST 00002ee3: DUP2 00002ee4: DUP2 00002ee5: MSTORE 00002ee6: PUSH1 0x20 00002ee8: SWAP4 00002ee9: DUP5 00002eea: ADD 00002eeb: SWAP4 00002eec: SWAP1 00002eed: SWAP3 00002eee: POP 00002eef: DUP3 00002ef0: ADD 00002ef1: DUP4 00002ef2: PUSH1 0x00 00002ef4: JUMPDEST 00002ef5: DUP4 00002ef6: DUP2 00002ef7: LT 00002ef8: ISZERO 00002ef9: PUSH2 0x2f20 00002efc: JUMPI 00002efd: DUP2 00002efe: CALLDATALOAD 00002eff: DUP7 00002f00: ADD 00002f01: PUSH2 0x2f0a 00002f04: DUP9 00002f05: DUP3 00002f06: PUSH2 0x308d 00002f09: JUMP 00002f0a: JUMPDEST 00002f0b: DUP5 00002f0c: MSTORE 00002f0d: POP 00002f0e: PUSH1 0x20 00002f10: SWAP3 00002f11: DUP4 00002f12: ADD 00002f13: SWAP3 00002f14: SWAP2 00002f15: SWAP1 00002f16: SWAP2 00002f17: ADD 00002f18: SWAP1 00002f19: PUSH1 0x01 00002f1b: ADD 00002f1c: PUSH2 0x2ef4 00002f1f: JUMP 00002f20: JUMPDEST 00002f21: POP 00002f22: POP 00002f23: POP 00002f24: POP 00002f25: SWAP3 00002f26: SWAP2 00002f27: POP 00002f28: POP 00002f29: JUMP 00002f2a: JUMPDEST 00002f2b: PUSH1 0x00 00002f2d: DUP3 00002f2e: PUSH1 0x1f 00002f30: DUP4 00002f31: ADD 00002f32: SLT 00002f33: PUSH2 0x2f3b 00002f36: JUMPI 00002f37: PUSH1 0x00 00002f39: DUP1 00002f3a: REVERT 00002f3b: JUMPDEST 00002f3c: DUP2 00002f3d: CALLDATALOAD 00002f3e: PUSH2 0x2f49 00002f41: PUSH2 0x2edd 00002f44: DUP3 00002f45: PUSH2 0x3f9b 00002f48: JUMP 00002f49: JUMPDEST 00002f4a: SWAP2 00002f4b: POP 00002f4c: DUP2 00002f4d: DUP2 00002f4e: DUP4 00002f4f: MSTORE 00002f50: PUSH1 0x20 00002f52: DUP5 00002f53: ADD 00002f54: SWAP4 00002f55: POP 00002f56: PUSH1 0x20 00002f58: DUP2 00002f59: ADD 00002f5a: SWAP1 00002f5b: POP 00002f5c: DUP4 00002f5d: DUP6 00002f5e: PUSH1 0x40 00002f60: DUP5 00002f61: MUL 00002f62: DUP3 00002f63: ADD 00002f64: GT 00002f65: ISZERO 00002f66: PUSH2 0x2f6e 00002f69: JUMPI 00002f6a: PUSH1 0x00 00002f6c: DUP1 00002f6d: REVERT 00002f6e: JUMPDEST 00002f6f: PUSH1 0x00 00002f71: JUMPDEST 00002f72: DUP4 00002f73: DUP2 00002f74: LT 00002f75: ISZERO 00002f76: PUSH2 0x2f20 00002f79: JUMPI 00002f7a: DUP2 00002f7b: PUSH2 0x2f84 00002f7e: DUP9 00002f7f: DUP3 00002f80: PUSH2 0x320b 00002f83: JUMP 00002f84: JUMPDEST 00002f85: DUP5 00002f86: MSTORE 00002f87: POP 00002f88: PUSH1 0x20 00002f8a: SWAP1 00002f8b: SWAP3 00002f8c: ADD 00002f8d: SWAP2 00002f8e: PUSH1 0x40 00002f90: SWAP2 00002f91: SWAP1 00002f92: SWAP2 00002f93: ADD 00002f94: SWAP1 00002f95: PUSH1 0x01 00002f97: ADD 00002f98: PUSH2 0x2f71 00002f9b: JUMP 00002f9c: JUMPDEST 00002f9d: PUSH1 0x00 00002f9f: DUP3 00002fa0: PUSH1 0x1f 00002fa2: DUP4 00002fa3: ADD 00002fa4: SLT 00002fa5: PUSH2 0x2fad 00002fa8: JUMPI 00002fa9: PUSH1 0x00 00002fab: DUP1 00002fac: REVERT 00002fad: JUMPDEST 00002fae: DUP2 00002faf: CALLDATALOAD 00002fb0: PUSH2 0x2fbb 00002fb3: PUSH2 0x2edd 00002fb6: DUP3 00002fb7: PUSH2 0x3f9b 00002fba: JUMP 00002fbb: JUMPDEST 00002fbc: SWAP2 00002fbd: POP 00002fbe: DUP2 00002fbf: DUP2 00002fc0: DUP4 00002fc1: MSTORE 00002fc2: PUSH1 0x20 00002fc4: DUP5 00002fc5: ADD 00002fc6: SWAP4 00002fc7: POP 00002fc8: PUSH1 0x20 00002fca: DUP2 00002fcb: ADD 00002fcc: SWAP1 00002fcd: POP 00002fce: DUP4 00002fcf: DUP6 00002fd0: PUSH1 0x40 00002fd2: DUP5 00002fd3: MUL 00002fd4: DUP3 00002fd5: ADD 00002fd6: GT 00002fd7: ISZERO 00002fd8: PUSH2 0x2fe0 00002fdb: JUMPI 00002fdc: PUSH1 0x00 00002fde: DUP1 00002fdf: REVERT 00002fe0: JUMPDEST 00002fe1: PUSH1 0x00 00002fe3: JUMPDEST 00002fe4: DUP4 00002fe5: DUP2 00002fe6: LT 00002fe7: ISZERO 00002fe8: PUSH2 0x2f20 00002feb: JUMPI 00002fec: DUP2 00002fed: PUSH2 0x2ff6 00002ff0: DUP9 00002ff1: DUP3 00002ff2: PUSH2 0x3252 00002ff5: JUMP 00002ff6: JUMPDEST 00002ff7: DUP5 00002ff8: MSTORE 00002ff9: POP 00002ffa: PUSH1 0x20 00002ffc: SWAP1 00002ffd: SWAP3 00002ffe: ADD 00002fff: SWAP2 00003000: PUSH1 0x40 00003002: SWAP2 00003003: SWAP1 00003004: SWAP2 00003005: ADD 00003006: SWAP1 00003007: PUSH1 0x01 00003009: ADD 0000300a: PUSH2 0x2fe3 0000300d: JUMP 0000300e: JUMPDEST 0000300f: PUSH1 0x00 00003011: PUSH2 0x0c09 00003014: DUP3 00003015: CALLDATALOAD 00003016: PUSH2 0x4020 00003019: JUMP 0000301a: JUMPDEST 0000301b: PUSH1 0x00 0000301d: DUP3 0000301e: PUSH1 0x1f 00003020: DUP4 00003021: ADD 00003022: SLT 00003023: PUSH2 0x302b 00003026: JUMPI 00003027: PUSH1 0x00 00003029: DUP1 0000302a: REVERT 0000302b: JUMPDEST 0000302c: DUP2 0000302d: CALLDATALOAD 0000302e: PUSH2 0x3039 00003031: PUSH2 0x2edd 00003034: DUP3 00003035: PUSH2 0x3fbc 00003038: JUMP 00003039: JUMPDEST 0000303a: SWAP2 0000303b: POP 0000303c: DUP1 0000303d: DUP3 0000303e: MSTORE 0000303f: PUSH1 0x20 00003041: DUP4 00003042: ADD 00003043: PUSH1 0x20 00003045: DUP4 00003046: ADD 00003047: DUP6 00003048: DUP4 00003049: DUP4 0000304a: ADD 0000304b: GT 0000304c: ISZERO 0000304d: PUSH2 0x3055 00003050: JUMPI 00003051: PUSH1 0x00 00003053: DUP1 00003054: REVERT 00003055: JUMPDEST 00003056: PUSH2 0x3060 00003059: DUP4 0000305a: DUP3 0000305b: DUP5 0000305c: PUSH2 0x4139 0000305f: JUMP 00003060: JUMPDEST 00003061: POP 00003062: POP 00003063: POP 00003064: SWAP3 00003065: SWAP2 00003066: POP 00003067: POP 00003068: JUMP 00003069: JUMPDEST 0000306a: PUSH1 0x00 0000306c: PUSH2 0x0c09 0000306f: DUP3 00003070: CALLDATALOAD 00003071: PUSH2 0x40ef 00003074: JUMP 00003075: JUMPDEST 00003076: PUSH1 0x00 00003078: PUSH2 0x0c09 0000307b: DUP3 0000307c: CALLDATALOAD 0000307d: PUSH2 0x40fa 00003080: JUMP 00003081: JUMPDEST 00003082: PUSH1 0x00 00003084: PUSH2 0x0c09 00003087: DUP3 00003088: CALLDATALOAD 00003089: PUSH2 0x4109 0000308c: JUMP 0000308d: JUMPDEST 0000308e: PUSH1 0x00 00003090: PUSH2 0x0160 00003093: DUP3 00003094: DUP5 00003095: SUB 00003096: SLT 00003097: ISZERO 00003098: PUSH2 0x30a0 0000309b: JUMPI 0000309c: PUSH1 0x00 0000309e: DUP1 0000309f: REVERT 000030a0: JUMPDEST 000030a1: PUSH2 0x30ab 000030a4: PUSH2 0x0100 000030a7: PUSH2 0x3f74 000030aa: JUMP 000030ab: JUMPDEST 000030ac: SWAP1 000030ad: POP 000030ae: PUSH1 0x00 000030b0: PUSH2 0x30b9 000030b3: DUP5 000030b4: DUP5 000030b5: PUSH2 0x3075 000030b8: JUMP 000030b9: JUMPDEST 000030ba: DUP3 000030bb: MSTORE 000030bc: POP 000030bd: PUSH1 0x20 000030bf: PUSH2 0x30ca 000030c2: DUP5 000030c3: DUP5 000030c4: DUP4 000030c5: ADD 000030c6: PUSH2 0x32b7 000030c9: JUMP 000030ca: JUMPDEST 000030cb: PUSH1 0x20 000030cd: DUP4 000030ce: ADD 000030cf: MSTORE 000030d0: POP 000030d1: PUSH1 0x40 000030d3: PUSH2 0x30de 000030d6: DUP5 000030d7: DUP3 000030d8: DUP6 000030d9: ADD 000030da: PUSH2 0x3169 000030dd: JUMP 000030de: JUMPDEST 000030df: PUSH1 0x40 000030e1: DUP4 000030e2: ADD 000030e3: MSTORE 000030e4: POP 000030e5: PUSH1 0xc0 000030e7: PUSH2 0x30f2 000030ea: DUP5 000030eb: DUP3 000030ec: DUP6 000030ed: ADD 000030ee: PUSH2 0x32b7 000030f1: JUMP 000030f2: JUMPDEST 000030f3: PUSH1 0x60 000030f5: DUP4 000030f6: ADD 000030f7: MSTORE 000030f8: POP 000030f9: PUSH1 0xe0 000030fb: PUSH2 0x3106 000030fe: DUP5 000030ff: DUP3 00003100: DUP6 00003101: ADD 00003102: PUSH2 0x32b7 00003105: JUMP 00003106: JUMPDEST 00003107: PUSH1 0x80 00003109: DUP4 0000310a: ADD 0000310b: MSTORE 0000310c: POP 0000310d: PUSH2 0x0100 00003110: PUSH2 0x311b 00003113: DUP5 00003114: DUP3 00003115: DUP6 00003116: ADD 00003117: PUSH2 0x2eb2 0000311a: JUMP 0000311b: JUMPDEST 0000311c: PUSH1 0xa0 0000311e: DUP4 0000311f: ADD 00003120: MSTORE 00003121: POP 00003122: PUSH2 0x0120 00003125: PUSH2 0x3130 00003128: DUP5 00003129: DUP3 0000312a: DUP6 0000312b: ADD 0000312c: PUSH2 0x32b7 0000312f: JUMP 00003130: JUMPDEST 00003131: PUSH1 0xc0 00003133: DUP4 00003134: ADD 00003135: MSTORE 00003136: POP 00003137: PUSH2 0x0140 0000313a: DUP3 0000313b: ADD 0000313c: CALLDATALOAD 0000313d: PUSH8 0xffffffffffffffff 00003146: DUP2 00003147: GT 00003148: ISZERO 00003149: PUSH2 0x3151 0000314c: JUMPI 0000314d: PUSH1 0x00 0000314f: DUP1 00003150: REVERT 00003151: JUMPDEST 00003152: PUSH2 0x315d 00003155: DUP5 00003156: DUP3 00003157: DUP6 00003158: ADD 00003159: PUSH2 0x301a 0000315c: JUMP 0000315d: JUMPDEST 0000315e: PUSH1 0xe0 00003160: DUP4 00003161: ADD 00003162: MSTORE 00003163: POP 00003164: SWAP3 00003165: SWAP2 00003166: POP 00003167: POP 00003168: JUMP 00003169: JUMPDEST 0000316a: PUSH1 0x00 0000316c: PUSH1 0x80 0000316e: DUP3 0000316f: DUP5 00003170: SUB 00003171: SLT 00003172: ISZERO 00003173: PUSH2 0x317b 00003176: JUMPI 00003177: PUSH1 0x00 00003179: DUP1 0000317a: REVERT 0000317b: JUMPDEST 0000317c: PUSH2 0x3185 0000317f: PUSH1 0x80 00003181: PUSH2 0x3f74 00003184: JUMP 00003185: JUMPDEST 00003186: SWAP1 00003187: POP 00003188: PUSH1 0x00 0000318a: PUSH2 0x3193 0000318d: DUP5 0000318e: DUP5 0000318f: PUSH2 0x300e 00003192: JUMP 00003193: JUMPDEST 00003194: DUP3 00003195: MSTORE 00003196: POP 00003197: PUSH1 0x20 00003199: PUSH2 0x31a4 0000319c: DUP5 0000319d: DUP5 0000319e: DUP4 0000319f: ADD 000031a0: PUSH2 0x3081 000031a3: JUMP 000031a4: JUMPDEST 000031a5: PUSH1 0x20 000031a7: DUP4 000031a8: ADD 000031a9: MSTORE 000031aa: POP 000031ab: PUSH1 0x40 000031ad: PUSH2 0x31b8 000031b0: DUP5 000031b1: DUP3 000031b2: DUP6 000031b3: ADD 000031b4: PUSH2 0x3081 000031b7: JUMP 000031b8: JUMPDEST 000031b9: PUSH1 0x40 000031bb: DUP4 000031bc: ADD 000031bd: MSTORE 000031be: POP 000031bf: PUSH1 0x60 000031c1: PUSH2 0x31cc 000031c4: DUP5 000031c5: DUP3 000031c6: DUP6 000031c7: ADD 000031c8: PUSH2 0x32b7 000031cb: JUMP 000031cc: JUMPDEST 000031cd: PUSH1 0x60 000031cf: DUP4 000031d0: ADD 000031d1: MSTORE 000031d2: POP 000031d3: SWAP3 000031d4: SWAP2 000031d5: POP 000031d6: POP 000031d7: JUMP 000031d8: JUMPDEST 000031d9: PUSH1 0x00 000031db: PUSH1 0x20 000031dd: DUP3 000031de: DUP5 000031df: SUB 000031e0: SLT 000031e1: ISZERO 000031e2: PUSH2 0x31ea 000031e5: JUMPI 000031e6: PUSH1 0x00 000031e8: DUP1 000031e9: REVERT 000031ea: JUMPDEST 000031eb: PUSH2 0x31f4 000031ee: PUSH1 0x20 000031f0: PUSH2 0x3f74 000031f3: JUMP 000031f4: JUMPDEST 000031f5: SWAP1 000031f6: POP 000031f7: PUSH1 0x00 000031f9: PUSH2 0x3202 000031fc: DUP5 000031fd: DUP5 000031fe: PUSH2 0x32b7 00003201: JUMP 00003202: JUMPDEST 00003203: DUP3 00003204: MSTORE 00003205: POP 00003206: SWAP3 00003207: SWAP2 00003208: POP 00003209: POP 0000320a: JUMP 0000320b: JUMPDEST 0000320c: PUSH1 0x00 0000320e: PUSH1 0x40 00003210: DUP3 00003211: DUP5 00003212: SUB 00003213: SLT 00003214: ISZERO 00003215: PUSH2 0x321d 00003218: JUMPI 00003219: PUSH1 0x00 0000321b: DUP1 0000321c: REVERT 0000321d: JUMPDEST 0000321e: PUSH2 0x3227 00003221: PUSH1 0x40 00003223: PUSH2 0x3f74 00003226: JUMP 00003227: JUMPDEST 00003228: SWAP1 00003229: POP 0000322a: PUSH1 0x00 0000322c: PUSH2 0x3235 0000322f: DUP5 00003230: DUP5 00003231: PUSH2 0x2eb2 00003234: JUMP 00003235: JUMPDEST 00003236: DUP3 00003237: MSTORE 00003238: POP 00003239: PUSH1 0x20 0000323b: PUSH2 0x3246 0000323e: DUP5 0000323f: DUP5 00003240: DUP4 00003241: ADD 00003242: PUSH2 0x32b7 00003245: JUMP 00003246: JUMPDEST 00003247: PUSH1 0x20 00003249: DUP4 0000324a: ADD 0000324b: MSTORE 0000324c: POP 0000324d: SWAP3 0000324e: SWAP2 0000324f: POP 00003250: POP 00003251: JUMP 00003252: JUMPDEST 00003253: PUSH1 0x00 00003255: PUSH1 0x40 00003257: DUP3 00003258: DUP5 00003259: SUB 0000325a: SLT 0000325b: ISZERO 0000325c: PUSH2 0x3264 0000325f: JUMPI 00003260: PUSH1 0x00 00003262: DUP1 00003263: REVERT 00003264: JUMPDEST 00003265: PUSH2 0x326e 00003268: PUSH1 0x40 0000326a: PUSH2 0x3f74 0000326d: JUMP 0000326e: JUMPDEST 0000326f: SWAP1 00003270: POP 00003271: PUSH1 0x00 00003273: PUSH2 0x327c 00003276: DUP5 00003277: DUP5 00003278: PUSH2 0x2eb2 0000327b: JUMP 0000327c: JUMPDEST 0000327d: DUP3 0000327e: MSTORE 0000327f: POP 00003280: PUSH1 0x20 00003282: PUSH2 0x3246 00003285: DUP5 00003286: DUP5 00003287: DUP4 00003288: ADD 00003289: PUSH2 0x300e 0000328c: JUMP 0000328d: JUMPDEST 0000328e: PUSH1 0x00 00003290: PUSH1 0x20 00003292: DUP3 00003293: DUP5 00003294: SUB 00003295: SLT 00003296: ISZERO 00003297: PUSH2 0x329f 0000329a: JUMPI 0000329b: PUSH1 0x00 0000329d: DUP1 0000329e: REVERT 0000329f: JUMPDEST 000032a0: PUSH2 0x32a9 000032a3: PUSH1 0x20 000032a5: PUSH2 0x3f74 000032a8: JUMP 000032a9: JUMPDEST 000032aa: SWAP1 000032ab: POP 000032ac: PUSH1 0x00 000032ae: PUSH2 0x3202 000032b1: DUP5 000032b2: DUP5 000032b3: PUSH2 0x32c3 000032b6: JUMP 000032b7: JUMPDEST 000032b8: PUSH1 0x00 000032ba: PUSH2 0x0c09 000032bd: DUP3 000032be: CALLDATALOAD 000032bf: PUSH2 0x406f 000032c2: JUMP 000032c3: JUMPDEST 000032c4: PUSH1 0x00 000032c6: PUSH2 0x0c09 000032c9: DUP3 000032ca: MLOAD 000032cb: PUSH2 0x406f 000032ce: JUMP 000032cf: JUMPDEST 000032d0: PUSH1 0x00 000032d2: PUSH1 0x20 000032d4: DUP3 000032d5: DUP5 000032d6: SUB 000032d7: SLT 000032d8: ISZERO 000032d9: PUSH2 0x32e1 000032dc: JUMPI 000032dd: PUSH1 0x00 000032df: DUP1 000032e0: REVERT 000032e1: JUMPDEST 000032e2: PUSH1 0x00 000032e4: PUSH2 0x1c02 000032e7: DUP5 000032e8: DUP5 000032e9: PUSH2 0x2eb2 000032ec: JUMP 000032ed: JUMPDEST 000032ee: PUSH1 0x00 000032f0: DUP1 000032f1: PUSH1 0x40 000032f3: DUP4 000032f4: DUP6 000032f5: SUB 000032f6: SLT 000032f7: ISZERO 000032f8: PUSH2 0x3300 000032fb: JUMPI 000032fc: PUSH1 0x00 000032fe: DUP1 000032ff: REVERT 00003300: JUMPDEST 00003301: PUSH1 0x00 00003303: PUSH2 0x330c 00003306: DUP6 00003307: DUP6 00003308: PUSH2 0x2eb2 0000330b: JUMP 0000330c: JUMPDEST 0000330d: SWAP3 0000330e: POP 0000330f: POP 00003310: PUSH1 0x20 00003312: PUSH2 0x331d 00003315: DUP6 00003316: DUP3 00003317: DUP7 00003318: ADD 00003319: PUSH2 0x2eb2 0000331c: JUMP 0000331d: JUMPDEST 0000331e: SWAP2 0000331f: POP 00003320: POP 00003321: SWAP3 00003322: POP 00003323: SWAP3 00003324: SWAP1 00003325: POP 00003326: JUMP 00003327: JUMPDEST 00003328: PUSH1 0x00 0000332a: DUP1 0000332b: PUSH1 0x40 0000332d: DUP4 0000332e: DUP6 0000332f: SUB 00003330: SLT 00003331: ISZERO 00003332: PUSH2 0x333a 00003335: JUMPI 00003336: PUSH1 0x00 00003338: DUP1 00003339: REVERT 0000333a: JUMPDEST 0000333b: PUSH1 0x00 0000333d: PUSH2 0x3346 00003340: DUP6 00003341: DUP6 00003342: PUSH2 0x2eb2 00003345: JUMP 00003346: JUMPDEST 00003347: SWAP3 00003348: POP 00003349: POP 0000334a: PUSH1 0x20 0000334c: PUSH2 0x331d 0000334f: DUP6 00003350: DUP3 00003351: DUP7 00003352: ADD 00003353: PUSH2 0x300e 00003356: JUMP 00003357: JUMPDEST 00003358: PUSH1 0x00 0000335a: DUP1 0000335b: PUSH1 0x00 0000335d: DUP1 0000335e: PUSH1 0x00 00003360: PUSH1 0xa0 00003362: DUP7 00003363: DUP9 00003364: SUB 00003365: SLT 00003366: ISZERO 00003367: PUSH2 0x336f 0000336a: JUMPI 0000336b: PUSH1 0x00 0000336d: DUP1 0000336e: REVERT 0000336f: JUMPDEST 00003370: PUSH1 0x00 00003372: PUSH2 0x337b 00003375: DUP9 00003376: DUP9 00003377: PUSH2 0x2eb2 0000337a: JUMP 0000337b: JUMPDEST 0000337c: SWAP6 0000337d: POP 0000337e: POP 0000337f: PUSH1 0x20 00003381: PUSH2 0x338c 00003384: DUP9 00003385: DUP3 00003386: DUP10 00003387: ADD 00003388: PUSH2 0x3069 0000338b: JUMP 0000338c: JUMPDEST 0000338d: SWAP5 0000338e: POP 0000338f: POP 00003390: PUSH1 0x40 00003392: PUSH2 0x339d 00003395: DUP9 00003396: DUP3 00003397: DUP10 00003398: ADD 00003399: PUSH2 0x3069 0000339c: JUMP 0000339d: JUMPDEST 0000339e: SWAP4 0000339f: POP 000033a0: POP 000033a1: PUSH1 0x60 000033a3: PUSH2 0x33ae 000033a6: DUP9 000033a7: DUP3 000033a8: DUP10 000033a9: ADD 000033aa: PUSH2 0x31d8 000033ad: JUMP 000033ae: JUMPDEST 000033af: SWAP3 000033b0: POP 000033b1: POP 000033b2: PUSH1 0x80 000033b4: PUSH2 0x33bf 000033b7: DUP9 000033b8: DUP3 000033b9: DUP10 000033ba: ADD 000033bb: PUSH2 0x31d8 000033be: JUMP 000033bf: JUMPDEST 000033c0: SWAP2 000033c1: POP 000033c2: POP 000033c3: SWAP3 000033c4: SWAP6 000033c5: POP 000033c6: SWAP3 000033c7: SWAP6 000033c8: SWAP1 000033c9: SWAP4 000033ca: POP 000033cb: JUMP 000033cc: JUMPDEST 000033cd: PUSH1 0x00 000033cf: DUP1 000033d0: PUSH1 0x40 000033d2: DUP4 000033d3: DUP6 000033d4: SUB 000033d5: SLT 000033d6: ISZERO 000033d7: PUSH2 0x33df 000033da: JUMPI 000033db: PUSH1 0x00 000033dd: DUP1 000033de: REVERT 000033df: JUMPDEST 000033e0: DUP3 000033e1: CALLDATALOAD 000033e2: PUSH8 0xffffffffffffffff 000033eb: DUP2 000033ec: GT 000033ed: ISZERO 000033ee: PUSH2 0x33f6 000033f1: JUMPI 000033f2: PUSH1 0x00 000033f4: DUP1 000033f5: REVERT 000033f6: JUMPDEST 000033f7: PUSH2 0x3402 000033fa: DUP6 000033fb: DUP3 000033fc: DUP7 000033fd: ADD 000033fe: PUSH2 0x2f2a 00003401: JUMP 00003402: JUMPDEST 00003403: SWAP3 00003404: POP 00003405: POP 00003406: PUSH1 0x20 00003408: DUP4 00003409: ADD 0000340a: CALLDATALOAD 0000340b: PUSH8 0xffffffffffffffff 00003414: DUP2 00003415: GT 00003416: ISZERO 00003417: PUSH2 0x341f 0000341a: JUMPI 0000341b: PUSH1 0x00 0000341d: DUP1 0000341e: REVERT 0000341f: JUMPDEST 00003420: PUSH2 0x331d 00003423: DUP6 00003424: DUP3 00003425: DUP7 00003426: ADD 00003427: PUSH2 0x2ebe 0000342a: JUMP 0000342b: JUMPDEST 0000342c: PUSH1 0x00 0000342e: PUSH1 0x20 00003430: DUP3 00003431: DUP5 00003432: SUB 00003433: SLT 00003434: ISZERO 00003435: PUSH2 0x343d 00003438: JUMPI 00003439: PUSH1 0x00 0000343b: DUP1 0000343c: REVERT 0000343d: JUMPDEST 0000343e: DUP2 0000343f: CALLDATALOAD 00003440: PUSH8 0xffffffffffffffff 00003449: DUP2 0000344a: GT 0000344b: ISZERO 0000344c: PUSH2 0x3454 0000344f: JUMPI 00003450: PUSH1 0x00 00003452: DUP1 00003453: REVERT 00003454: JUMPDEST 00003455: PUSH2 0x1c02 00003458: DUP5 00003459: DUP3 0000345a: DUP6 0000345b: ADD 0000345c: PUSH2 0x2f9c 0000345f: JUMP 00003460: JUMPDEST 00003461: PUSH1 0x00 00003463: PUSH1 0x20 00003465: DUP3 00003466: DUP5 00003467: SUB 00003468: SLT 00003469: ISZERO 0000346a: PUSH2 0x3472 0000346d: JUMPI 0000346e: PUSH1 0x00 00003470: DUP1 00003471: REVERT 00003472: JUMPDEST 00003473: PUSH1 0x00 00003475: PUSH2 0x1c02 00003478: DUP5 00003479: DUP5 0000347a: PUSH2 0x31d8 0000347d: JUMP 0000347e: JUMPDEST 0000347f: PUSH1 0x00 00003481: PUSH1 0x40 00003483: DUP3 00003484: DUP5 00003485: SUB 00003486: SLT 00003487: ISZERO 00003488: PUSH2 0x3490 0000348b: JUMPI 0000348c: PUSH1 0x00 0000348e: DUP1 0000348f: REVERT 00003490: JUMPDEST 00003491: PUSH1 0x00 00003493: PUSH2 0x1c02 00003496: DUP5 00003497: DUP5 00003498: PUSH2 0x320b 0000349b: JUMP 0000349c: JUMPDEST 0000349d: PUSH1 0x00 0000349f: DUP1 000034a0: PUSH1 0x60 000034a2: DUP4 000034a3: DUP6 000034a4: SUB 000034a5: SLT 000034a6: ISZERO 000034a7: PUSH2 0x34af 000034aa: JUMPI 000034ab: PUSH1 0x00 000034ad: DUP1 000034ae: REVERT 000034af: JUMPDEST 000034b0: PUSH1 0x00 000034b2: PUSH2 0x34bb 000034b5: DUP6 000034b6: DUP6 000034b7: PUSH2 0x320b 000034ba: JUMP 000034bb: JUMPDEST 000034bc: SWAP3 000034bd: POP 000034be: POP 000034bf: PUSH1 0x40 000034c1: PUSH2 0x331d 000034c4: DUP6 000034c5: DUP3 000034c6: DUP7 000034c7: ADD 000034c8: PUSH2 0x32b7 000034cb: JUMP 000034cc: JUMPDEST 000034cd: PUSH1 0x00 000034cf: PUSH1 0x20 000034d1: DUP3 000034d2: DUP5 000034d3: SUB 000034d4: SLT 000034d5: ISZERO 000034d6: PUSH2 0x34de 000034d9: JUMPI 000034da: PUSH1 0x00 000034dc: DUP1 000034dd: REVERT 000034de: JUMPDEST 000034df: PUSH1 0x00 000034e1: PUSH2 0x1c02 000034e4: DUP5 000034e5: DUP5 000034e6: PUSH2 0x328d 000034e9: JUMP 000034ea: JUMPDEST 000034eb: PUSH1 0x00 000034ed: PUSH1 0x20 000034ef: DUP3 000034f0: DUP5 000034f1: SUB 000034f2: SLT 000034f3: ISZERO 000034f4: PUSH2 0x34fc 000034f7: JUMPI 000034f8: PUSH1 0x00 000034fa: DUP1 000034fb: REVERT 000034fc: JUMPDEST 000034fd: PUSH1 0x00 000034ff: PUSH2 0x1c02 00003502: DUP5 00003503: DUP5 00003504: PUSH2 0x32b7 00003507: JUMP 00003508: JUMPDEST 00003509: PUSH1 0x00 0000350b: PUSH1 0x20 0000350d: DUP3 0000350e: DUP5 0000350f: SUB 00003510: SLT 00003511: ISZERO 00003512: PUSH2 0x351a 00003515: JUMPI 00003516: PUSH1 0x00 00003518: DUP1 00003519: REVERT 0000351a: JUMPDEST 0000351b: PUSH1 0x00 0000351d: PUSH2 0x1c02 00003520: DUP5 00003521: DUP5 00003522: PUSH2 0x32c3 00003525: JUMP 00003526: JUMPDEST 00003527: PUSH1 0x00 00003529: DUP1 0000352a: PUSH1 0x40 0000352c: DUP4 0000352d: DUP6 0000352e: SUB 0000352f: SLT 00003530: ISZERO 00003531: PUSH2 0x3539 00003534: JUMPI 00003535: PUSH1 0x00 00003537: DUP1 00003538: REVERT 00003539: JUMPDEST 0000353a: PUSH1 0x00 0000353c: PUSH2 0x330c 0000353f: DUP6 00003540: DUP6 00003541: PUSH2 0x32b7 00003544: JUMP 00003545: JUMPDEST 00003546: PUSH1 0x00 00003548: DUP1 00003549: PUSH1 0x40 0000354b: DUP4 0000354c: DUP6 0000354d: SUB 0000354e: SLT 0000354f: ISZERO 00003550: PUSH2 0x3558 00003553: JUMPI 00003554: PUSH1 0x00 00003556: DUP1 00003557: REVERT 00003558: JUMPDEST 00003559: PUSH1 0x00 0000355b: PUSH2 0x3346 0000355e: DUP6 0000355f: DUP6 00003560: PUSH2 0x32b7 00003563: JUMP 00003564: JUMPDEST 00003565: PUSH1 0x00 00003567: DUP1 00003568: PUSH1 0x40 0000356a: DUP4 0000356b: DUP6 0000356c: SUB 0000356d: SLT 0000356e: ISZERO 0000356f: PUSH2 0x3577 00003572: JUMPI 00003573: PUSH1 0x00 00003575: DUP1 00003576: REVERT 00003577: JUMPDEST 00003578: PUSH1 0x00 0000357a: PUSH2 0x3583 0000357d: DUP6 0000357e: DUP6 0000357f: PUSH2 0x32b7 00003582: JUMP 00003583: JUMPDEST 00003584: SWAP3 00003585: POP 00003586: POP 00003587: PUSH1 0x20 00003589: PUSH2 0x331d 0000358c: DUP6 0000358d: DUP3 0000358e: DUP7 0000358f: ADD 00003590: PUSH2 0x3069 00003593: JUMP 00003594: JUMPDEST 00003595: PUSH1 0x00 00003597: DUP1 00003598: PUSH1 0x40 0000359a: DUP4 0000359b: DUP6 0000359c: SUB 0000359d: SLT 0000359e: ISZERO 0000359f: PUSH2 0x35a7 000035a2: JUMPI 000035a3: PUSH1 0x00 000035a5: DUP1 000035a6: REVERT 000035a7: JUMPDEST 000035a8: PUSH1 0x00 000035aa: PUSH2 0x35b3 000035ad: DUP6 000035ae: DUP6 000035af: PUSH2 0x32b7 000035b2: JUMP 000035b3: JUMPDEST 000035b4: SWAP3 000035b5: POP 000035b6: POP 000035b7: PUSH1 0x20 000035b9: PUSH2 0x331d 000035bc: DUP6 000035bd: DUP3 000035be: DUP7 000035bf: ADD 000035c0: PUSH2 0x31d8 000035c3: JUMP 000035c4: JUMPDEST 000035c5: PUSH1 0x00 000035c7: DUP1 000035c8: PUSH1 0x40 000035ca: DUP4 000035cb: DUP6 000035cc: SUB 000035cd: SLT 000035ce: ISZERO 000035cf: PUSH2 0x35d7 000035d2: JUMPI 000035d3: PUSH1 0x00 000035d5: DUP1 000035d6: REVERT 000035d7: JUMPDEST 000035d8: PUSH1 0x00 000035da: PUSH2 0x35e3 000035dd: DUP6 000035de: DUP6 000035df: PUSH2 0x32b7 000035e2: JUMP 000035e3: JUMPDEST 000035e4: SWAP3 000035e5: POP 000035e6: POP 000035e7: PUSH1 0x20 000035e9: PUSH2 0x331d 000035ec: DUP6 000035ed: DUP3 000035ee: DUP7 000035ef: ADD 000035f0: PUSH2 0x32b7 000035f3: JUMP 000035f4: JUMPDEST 000035f5: PUSH1 0x00 000035f7: PUSH2 0x3600 000035fa: DUP4 000035fb: DUP4 000035fc: PUSH2 0x3640 000035ff: JUMP 00003600: JUMPDEST 00003601: POP 00003602: POP 00003603: PUSH1 0x20 00003605: ADD 00003606: SWAP1 00003607: JUMP 00003608: JUMPDEST 00003609: PUSH1 0x00 0000360b: PUSH2 0x0c09 0000360e: DUP4 0000360f: DUP4 00003610: PUSH2 0x38ac 00003613: JUMP 00003614: JUMPDEST 00003615: PUSH1 0x00 00003617: PUSH2 0x3620 0000361a: DUP4 0000361b: DUP4 0000361c: PUSH2 0x39e0 0000361f: JUMP 00003620: JUMPDEST 00003621: POP 00003622: POP 00003623: PUSH1 0x40 00003625: ADD 00003626: SWAP1 00003627: JUMP 00003628: JUMPDEST 00003629: PUSH1 0x00 0000362b: PUSH2 0x3620 0000362e: DUP4 0000362f: DUP4 00003630: PUSH2 0x3a9e 00003633: JUMP 00003634: JUMPDEST 00003635: PUSH1 0x00 00003637: PUSH2 0x3620 0000363a: DUP4 0000363b: DUP4 0000363c: PUSH2 0x3b91 0000363f: JUMP 00003640: JUMPDEST 00003641: PUSH2 0x3649 00003644: DUP2 00003645: PUSH2 0x4015 00003648: JUMP 00003649: JUMPDEST 0000364a: DUP3 0000364b: MSTORE 0000364c: POP 0000364d: POP 0000364e: JUMP 0000364f: JUMPDEST 00003650: PUSH1 0x00 00003652: PUSH2 0x365a 00003655: DUP3 00003656: PUSH2 0x4008 00003659: JUMP 0000365a: JUMPDEST 0000365b: PUSH2 0x3664 0000365e: DUP2 0000365f: DUP6 00003660: PUSH2 0x400c 00003663: JUMP 00003664: JUMPDEST 00003665: SWAP4 00003666: POP 00003667: PUSH2 0x366f 0000366a: DUP4 0000366b: PUSH2 0x4002 0000366e: JUMP 0000366f: JUMPDEST 00003670: PUSH1 0x00 00003672: JUMPDEST 00003673: DUP3 00003674: DUP2 00003675: LT 00003676: ISZERO 00003677: PUSH2 0x369a 0000367a: JUMPI 0000367b: PUSH2 0x3685 0000367e: DUP7 0000367f: DUP4 00003680: MLOAD 00003681: PUSH2 0x35f4 00003684: JUMP 00003685: JUMPDEST 00003686: SWAP6 00003687: POP 00003688: PUSH2 0x3690 0000368b: DUP3 0000368c: PUSH2 0x4002 0000368f: JUMP 00003690: JUMPDEST 00003691: SWAP2 00003692: POP 00003693: PUSH1 0x01 00003695: ADD 00003696: PUSH2 0x3672 00003699: JUMP 0000369a: JUMPDEST 0000369b: POP 0000369c: SWAP4 0000369d: SWAP5 0000369e: SWAP4 0000369f: POP 000036a0: POP 000036a1: POP 000036a2: POP 000036a3: JUMP 000036a4: JUMPDEST 000036a5: PUSH1 0x00 000036a7: PUSH2 0x36af 000036aa: DUP3 000036ab: PUSH2 0x4008 000036ae: JUMP 000036af: JUMPDEST 000036b0: PUSH2 0x36b9 000036b3: DUP2 000036b4: DUP6 000036b5: PUSH2 0x400c 000036b8: JUMP 000036b9: JUMPDEST 000036ba: SWAP4 000036bb: POP 000036bc: DUP4 000036bd: PUSH1 0x20 000036bf: DUP3 000036c0: MUL 000036c1: DUP6 000036c2: ADD 000036c3: PUSH2 0x36cb 000036c6: DUP6 000036c7: PUSH2 0x4002 000036ca: JUMP 000036cb: JUMPDEST 000036cc: PUSH1 0x00 000036ce: JUMPDEST 000036cf: DUP5 000036d0: DUP2 000036d1: LT 000036d2: ISZERO 000036d3: PUSH2 0x3702 000036d6: JUMPI 000036d7: DUP4 000036d8: DUP4 000036d9: SUB 000036da: DUP9 000036db: MSTORE 000036dc: PUSH2 0x36e6 000036df: DUP4 000036e0: DUP4 000036e1: MLOAD 000036e2: PUSH2 0x3608 000036e5: JUMP 000036e6: JUMPDEST 000036e7: SWAP3 000036e8: POP 000036e9: PUSH2 0x36f1 000036ec: DUP3 000036ed: PUSH2 0x4002 000036f0: JUMP 000036f1: JUMPDEST 000036f2: PUSH1 0x20 000036f4: SWAP9 000036f5: SWAP1 000036f6: SWAP9 000036f7: ADD 000036f8: SWAP8 000036f9: SWAP2 000036fa: POP 000036fb: PUSH1 0x01 000036fd: ADD 000036fe: PUSH2 0x36ce 00003701: JUMP 00003702: JUMPDEST 00003703: POP 00003704: SWAP1 00003705: SWAP7 00003706: SWAP6 00003707: POP 00003708: POP 00003709: POP 0000370a: POP 0000370b: POP 0000370c: POP 0000370d: JUMP 0000370e: JUMPDEST 0000370f: PUSH1 0x00 00003711: PUSH2 0x3719 00003714: DUP3 00003715: PUSH2 0x4008 00003718: JUMP 00003719: JUMPDEST 0000371a: PUSH2 0x3723 0000371d: DUP2 0000371e: DUP6 0000371f: PUSH2 0x400c 00003722: JUMP 00003723: JUMPDEST 00003724: SWAP4 00003725: POP 00003726: PUSH2 0x372e 00003729: DUP4 0000372a: PUSH2 0x4002 0000372d: JUMP 0000372e: JUMPDEST 0000372f: PUSH1 0x00 00003731: JUMPDEST 00003732: DUP3 00003733: DUP2 00003734: LT 00003735: ISZERO 00003736: PUSH2 0x369a 00003739: JUMPI 0000373a: PUSH2 0x3744 0000373d: DUP7 0000373e: DUP4 0000373f: MLOAD 00003740: PUSH2 0x3614 00003743: JUMP 00003744: JUMPDEST 00003745: SWAP6 00003746: POP 00003747: PUSH2 0x374f 0000374a: DUP3 0000374b: PUSH2 0x4002 0000374e: JUMP 0000374f: JUMPDEST 00003750: SWAP2 00003751: POP 00003752: PUSH1 0x01 00003754: ADD 00003755: PUSH2 0x3731 00003758: JUMP 00003759: JUMPDEST 0000375a: PUSH1 0x00 0000375c: PUSH2 0x3764 0000375f: DUP3 00003760: PUSH2 0x4008 00003763: JUMP 00003764: JUMPDEST 00003765: PUSH2 0x376e 00003768: DUP2 00003769: DUP6 0000376a: PUSH2 0x400c 0000376d: JUMP 0000376e: JUMPDEST 0000376f: SWAP4 00003770: POP 00003771: PUSH2 0x3779 00003774: DUP4 00003775: PUSH2 0x4002 00003778: JUMP 00003779: JUMPDEST 0000377a: PUSH1 0x00 0000377c: JUMPDEST 0000377d: DUP3 0000377e: DUP2 0000377f: LT 00003780: ISZERO 00003781: PUSH2 0x369a 00003784: JUMPI 00003785: PUSH2 0x378f 00003788: DUP7 00003789: DUP4 0000378a: MLOAD 0000378b: PUSH2 0x3628 0000378e: JUMP 0000378f: JUMPDEST 00003790: SWAP6 00003791: POP 00003792: PUSH2 0x379a 00003795: DUP3 00003796: PUSH2 0x4002 00003799: JUMP 0000379a: JUMPDEST 0000379b: SWAP2 0000379c: POP 0000379d: PUSH1 0x01 0000379f: ADD 000037a0: PUSH2 0x377c 000037a3: JUMP 000037a4: JUMPDEST 000037a5: PUSH1 0x00 000037a7: PUSH2 0x37af 000037aa: DUP3 000037ab: PUSH2 0x4008 000037ae: JUMP 000037af: JUMPDEST 000037b0: PUSH2 0x37b9 000037b3: DUP2 000037b4: DUP6 000037b5: PUSH2 0x400c 000037b8: JUMP 000037b9: JUMPDEST 000037ba: SWAP4 000037bb: POP 000037bc: PUSH2 0x37c4 000037bf: DUP4 000037c0: PUSH2 0x4002 000037c3: JUMP 000037c4: JUMPDEST 000037c5: PUSH1 0x00 000037c7: JUMPDEST 000037c8: DUP3 000037c9: DUP2 000037ca: LT 000037cb: ISZERO 000037cc: PUSH2 0x369a 000037cf: JUMPI 000037d0: PUSH2 0x37da 000037d3: DUP7 000037d4: DUP4 000037d5: MLOAD 000037d6: PUSH2 0x3634 000037d9: JUMP 000037da: JUMPDEST 000037db: SWAP6 000037dc: POP 000037dd: PUSH2 0x37e5 000037e0: DUP3 000037e1: PUSH2 0x4002 000037e4: JUMP 000037e5: JUMPDEST 000037e6: SWAP2 000037e7: POP 000037e8: PUSH1 0x01 000037ea: ADD 000037eb: PUSH2 0x37c7 000037ee: JUMP 000037ef: JUMPDEST 000037f0: PUSH2 0x3649 000037f3: DUP2 000037f4: PUSH2 0x4020 000037f7: JUMP 000037f8: JUMPDEST 000037f9: PUSH2 0x3649 000037fc: PUSH2 0x3804 000037ff: DUP3 00003800: PUSH2 0x4025 00003803: JUMP 00003804: JUMPDEST 00003805: PUSH2 0x406f 00003808: JUMP 00003809: JUMPDEST 0000380a: PUSH2 0x3649 0000380d: PUSH2 0x3804 00003810: DUP3 00003811: PUSH2 0x404a 00003814: JUMP 00003815: JUMPDEST 00003816: PUSH2 0x3649 00003819: PUSH2 0x3804 0000381c: DUP3 0000381d: PUSH2 0x406f 00003820: JUMP 00003821: JUMPDEST 00003822: PUSH1 0x00 00003824: PUSH2 0x382c 00003827: DUP3 00003828: PUSH2 0x4008 0000382b: JUMP 0000382c: JUMPDEST 0000382d: PUSH2 0x3836 00003830: DUP2 00003831: DUP6 00003832: PUSH2 0x082c 00003835: JUMP 00003836: JUMPDEST 00003837: SWAP4 00003838: POP 00003839: PUSH2 0x3846 0000383c: DUP2 0000383d: DUP6 0000383e: PUSH1 0x20 00003840: DUP7 00003841: ADD 00003842: PUSH2 0x4145 00003845: JUMP 00003846: JUMPDEST 00003847: SWAP3 00003848: SWAP1 00003849: SWAP3 0000384a: ADD 0000384b: SWAP3 0000384c: SWAP2 0000384d: POP 0000384e: POP 0000384f: JUMP 00003850: JUMPDEST 00003851: PUSH1 0x00 00003853: PUSH2 0x385b 00003856: DUP3 00003857: PUSH2 0x4008 0000385a: JUMP 0000385b: JUMPDEST 0000385c: PUSH2 0x3865 0000385f: DUP2 00003860: DUP6 00003861: PUSH2 0x400c 00003864: JUMP 00003865: JUMPDEST 00003866: SWAP4 00003867: POP 00003868: PUSH2 0x3875 0000386b: DUP2 0000386c: DUP6 0000386d: PUSH1 0x20 0000386f: DUP7 00003870: ADD 00003871: PUSH2 0x4145 00003874: JUMP 00003875: JUMPDEST 00003876: PUSH2 0x387e 00003879: DUP2 0000387a: PUSH2 0x4171 0000387d: JUMP 0000387e: JUMPDEST 0000387f: SWAP1 00003880: SWAP4 00003881: ADD 00003882: SWAP4 00003883: SWAP3 00003884: POP 00003885: POP 00003886: POP 00003887: JUMP 00003888: JUMPDEST 00003889: PUSH2 0x3649 0000388c: DUP2 0000388d: PUSH2 0x40ef 00003890: JUMP 00003891: JUMPDEST 00003892: PUSH2 0x3649 00003895: DUP2 00003896: PUSH2 0x4118 00003899: JUMP 0000389a: JUMPDEST 0000389b: PUSH2 0x3649 0000389e: DUP2 0000389f: PUSH2 0x4123 000038a2: JUMP 000038a3: JUMPDEST 000038a4: PUSH2 0x3649 000038a7: DUP2 000038a8: PUSH2 0x412e 000038ab: JUMP 000038ac: JUMPDEST 000038ad: DUP1 000038ae: MLOAD 000038af: PUSH1 0x00 000038b1: SWAP1 000038b2: PUSH2 0x0160 000038b5: DUP5 000038b6: ADD 000038b7: SWAP1 000038b8: PUSH2 0x38c1 000038bb: DUP6 000038bc: DUP3 000038bd: PUSH2 0x3891 000038c0: JUMP 000038c1: JUMPDEST 000038c2: POP 000038c3: PUSH1 0x20 000038c5: DUP4 000038c6: ADD 000038c7: MLOAD 000038c8: PUSH2 0x38d4 000038cb: PUSH1 0x20 000038cd: DUP7 000038ce: ADD 000038cf: DUP3 000038d0: PUSH2 0x3bab 000038d3: JUMP 000038d4: JUMPDEST 000038d5: POP 000038d6: PUSH1 0x40 000038d8: DUP4 000038d9: ADD 000038da: MLOAD 000038db: PUSH2 0x38e7 000038de: PUSH1 0x40 000038e0: DUP7 000038e1: ADD 000038e2: DUP3 000038e3: PUSH2 0x394e 000038e6: JUMP 000038e7: JUMPDEST 000038e8: POP 000038e9: PUSH1 0x60 000038eb: DUP4 000038ec: ADD 000038ed: MLOAD 000038ee: PUSH2 0x38fa 000038f1: PUSH1 0xc0 000038f3: DUP7 000038f4: ADD 000038f5: DUP3 000038f6: PUSH2 0x3bab 000038f9: JUMP 000038fa: JUMPDEST 000038fb: POP 000038fc: PUSH1 0x80 000038fe: DUP4 000038ff: ADD 00003900: MLOAD 00003901: PUSH2 0x390d 00003904: PUSH1 0xe0 00003906: DUP7 00003907: ADD 00003908: DUP3 00003909: PUSH2 0x3bab 0000390c: JUMP 0000390d: JUMPDEST 0000390e: POP 0000390f: PUSH1 0xa0 00003911: DUP4 00003912: ADD 00003913: MLOAD 00003914: PUSH2 0x3921 00003917: PUSH2 0x0100 0000391a: DUP7 0000391b: ADD 0000391c: DUP3 0000391d: PUSH2 0x3640 00003920: JUMP 00003921: JUMPDEST 00003922: POP 00003923: PUSH1 0xc0 00003925: DUP4 00003926: ADD 00003927: MLOAD 00003928: PUSH2 0x3935 0000392b: PUSH2 0x0120 0000392e: DUP7 0000392f: ADD 00003930: DUP3 00003931: PUSH2 0x3bab 00003934: JUMP 00003935: JUMPDEST 00003936: POP 00003937: PUSH1 0xe0 00003939: DUP4 0000393a: ADD 0000393b: MLOAD 0000393c: DUP5 0000393d: DUP3 0000393e: SUB 0000393f: PUSH2 0x0140 00003942: DUP7 00003943: ADD 00003944: MSTORE 00003945: PUSH2 0x1ab8 00003948: DUP3 00003949: DUP3 0000394a: PUSH2 0x3850 0000394d: JUMP 0000394e: JUMPDEST 0000394f: DUP1 00003950: MLOAD 00003951: PUSH1 0x80 00003953: DUP4 00003954: ADD 00003955: SWAP1 00003956: PUSH2 0x395f 00003959: DUP5 0000395a: DUP3 0000395b: PUSH2 0x37ef 0000395e: JUMP 0000395f: JUMPDEST 00003960: POP 00003961: PUSH1 0x20 00003963: DUP3 00003964: ADD 00003965: MLOAD 00003966: PUSH2 0x3972 00003969: PUSH1 0x20 0000396b: DUP6 0000396c: ADD 0000396d: DUP3 0000396e: PUSH2 0x389a 00003971: JUMP 00003972: JUMPDEST 00003973: POP 00003974: PUSH1 0x40 00003976: DUP3 00003977: ADD 00003978: MLOAD 00003979: PUSH2 0x3985 0000397c: PUSH1 0x40 0000397e: DUP6 0000397f: ADD 00003980: DUP3 00003981: PUSH2 0x389a 00003984: JUMP 00003985: JUMPDEST 00003986: POP 00003987: PUSH1 0x60 00003989: DUP3 0000398a: ADD 0000398b: MLOAD 0000398c: PUSH2 0x25de 0000398f: PUSH1 0x60 00003991: DUP6 00003992: ADD 00003993: DUP3 00003994: PUSH2 0x3bab 00003997: JUMP 00003998: JUMPDEST 00003999: DUP1 0000399a: MLOAD 0000399b: PUSH1 0x20 0000399d: DUP4 0000399e: ADD 0000399f: SWAP1 000039a0: PUSH2 0x25de 000039a3: DUP5 000039a4: DUP3 000039a5: PUSH2 0x3bab 000039a8: JUMP 000039a9: JUMPDEST 000039aa: DUP1 000039ab: MLOAD 000039ac: PUSH1 0x60 000039ae: DUP4 000039af: ADD 000039b0: SWAP1 000039b1: PUSH2 0x39ba 000039b4: DUP5 000039b5: DUP3 000039b6: PUSH2 0x3bc6 000039b9: JUMP 000039ba: JUMPDEST 000039bb: POP 000039bc: PUSH1 0x20 000039be: DUP3 000039bf: ADD 000039c0: MLOAD 000039c1: PUSH2 0x39cd 000039c4: PUSH1 0x20 000039c6: DUP6 000039c7: ADD 000039c8: DUP3 000039c9: PUSH2 0x3bc6 000039cc: JUMP 000039cd: JUMPDEST 000039ce: POP 000039cf: PUSH1 0x40 000039d1: DUP3 000039d2: ADD 000039d3: MLOAD 000039d4: PUSH2 0x25de 000039d7: PUSH1 0x40 000039d9: DUP6 000039da: ADD 000039db: DUP3 000039dc: PUSH2 0x3bb4 000039df: JUMP 000039e0: JUMPDEST 000039e1: DUP1 000039e2: MLOAD 000039e3: PUSH1 0x40 000039e5: DUP4 000039e6: ADD 000039e7: SWAP1 000039e8: PUSH2 0x39f1 000039eb: DUP5 000039ec: DUP3 000039ed: PUSH2 0x3640 000039f0: JUMP 000039f1: JUMPDEST 000039f2: POP 000039f3: PUSH1 0x20 000039f5: DUP3 000039f6: ADD 000039f7: MLOAD 000039f8: PUSH2 0x25de 000039fb: PUSH1 0x20 000039fd: DUP6 000039fe: ADD 000039ff: DUP3 00003a00: PUSH2 0x3bab 00003a03: JUMP 00003a04: JUMPDEST 00003a05: DUP1 00003a06: MLOAD 00003a07: PUSH2 0x0160 00003a0a: DUP4 00003a0b: ADD 00003a0c: SWAP1 00003a0d: PUSH2 0x3a16 00003a10: DUP5 00003a11: DUP3 00003a12: PUSH2 0x3640 00003a15: JUMP 00003a16: JUMPDEST 00003a17: POP 00003a18: PUSH1 0x20 00003a1a: DUP3 00003a1b: ADD 00003a1c: MLOAD 00003a1d: PUSH2 0x3a29 00003a20: PUSH1 0x20 00003a22: DUP6 00003a23: ADD 00003a24: DUP3 00003a25: PUSH2 0x3b80 00003a28: JUMP 00003a29: JUMPDEST 00003a2a: POP 00003a2b: PUSH1 0x40 00003a2d: DUP3 00003a2e: ADD 00003a2f: MLOAD 00003a30: PUSH2 0x3a3c 00003a33: PUSH1 0x60 00003a35: DUP6 00003a36: ADD 00003a37: DUP3 00003a38: PUSH2 0x39a9 00003a3b: JUMP 00003a3c: JUMPDEST 00003a3d: POP 00003a3e: PUSH1 0x60 00003a40: DUP3 00003a41: ADD 00003a42: MLOAD 00003a43: PUSH2 0x3a4f 00003a46: PUSH1 0xc0 00003a48: DUP6 00003a49: ADD 00003a4a: DUP3 00003a4b: PUSH2 0x3888 00003a4e: JUMP 00003a4f: JUMPDEST 00003a50: POP 00003a51: PUSH1 0x80 00003a53: DUP3 00003a54: ADD 00003a55: MLOAD 00003a56: PUSH2 0x3a62 00003a59: PUSH1 0xe0 00003a5b: DUP6 00003a5c: ADD 00003a5d: DUP3 00003a5e: PUSH2 0x3888 00003a61: JUMP 00003a62: JUMPDEST 00003a63: POP 00003a64: PUSH1 0xa0 00003a66: DUP3 00003a67: ADD 00003a68: MLOAD 00003a69: PUSH2 0x3a76 00003a6c: PUSH2 0x0100 00003a6f: DUP6 00003a70: ADD 00003a71: DUP3 00003a72: PUSH2 0x3998 00003a75: JUMP 00003a76: JUMPDEST 00003a77: POP 00003a78: PUSH1 0xc0 00003a7a: DUP3 00003a7b: ADD 00003a7c: MLOAD 00003a7d: PUSH2 0x3a8a 00003a80: PUSH2 0x0120 00003a83: DUP6 00003a84: ADD 00003a85: DUP3 00003a86: PUSH2 0x3998 00003a89: JUMP 00003a8a: JUMPDEST 00003a8b: POP 00003a8c: PUSH1 0xe0 00003a8e: DUP3 00003a8f: ADD 00003a90: MLOAD 00003a91: PUSH2 0x25de 00003a94: PUSH2 0x0140 00003a97: DUP6 00003a98: ADD 00003a99: DUP3 00003a9a: PUSH2 0x37ef 00003a9d: JUMP 00003a9e: JUMPDEST 00003a9f: DUP1 00003aa0: MLOAD 00003aa1: PUSH1 0x40 00003aa3: DUP4 00003aa4: ADD 00003aa5: SWAP1 00003aa6: PUSH2 0x3aaf 00003aa9: DUP5 00003aaa: DUP3 00003aab: PUSH2 0x37ef 00003aae: JUMP 00003aaf: JUMPDEST 00003ab0: POP 00003ab1: PUSH1 0x20 00003ab3: DUP3 00003ab4: ADD 00003ab5: MLOAD 00003ab6: PUSH2 0x25de 00003ab9: PUSH1 0x20 00003abb: DUP6 00003abc: ADD 00003abd: DUP3 00003abe: PUSH2 0x3ba2 00003ac1: JUMP 00003ac2: JUMPDEST 00003ac3: DUP1 00003ac4: MLOAD 00003ac5: PUSH1 0xc0 00003ac7: DUP4 00003ac8: ADD 00003ac9: SWAP1 00003aca: PUSH2 0x3ad3 00003acd: DUP5 00003ace: DUP3 00003acf: PUSH2 0x3bbd 00003ad2: JUMP 00003ad3: JUMPDEST 00003ad4: POP 00003ad5: PUSH1 0x20 00003ad7: DUP3 00003ad8: ADD 00003ad9: MLOAD 00003ada: PUSH2 0x3ae6 00003add: PUSH1 0x20 00003adf: DUP6 00003ae0: ADD 00003ae1: DUP3 00003ae2: PUSH2 0x3bbd 00003ae5: JUMP 00003ae6: JUMPDEST 00003ae7: POP 00003ae8: PUSH1 0x40 00003aea: DUP3 00003aeb: ADD 00003aec: MLOAD 00003aed: PUSH2 0x3af9 00003af0: PUSH1 0x40 00003af2: DUP6 00003af3: ADD 00003af4: DUP3 00003af5: PUSH2 0x3bbd 00003af8: JUMP 00003af9: JUMPDEST 00003afa: POP 00003afb: PUSH1 0x60 00003afd: DUP3 00003afe: ADD 00003aff: MLOAD 00003b00: PUSH2 0x3b0c 00003b03: PUSH1 0x60 00003b05: DUP6 00003b06: ADD 00003b07: DUP3 00003b08: PUSH2 0x3bbd 00003b0b: JUMP 00003b0c: JUMPDEST 00003b0d: POP 00003b0e: PUSH1 0x80 00003b10: DUP3 00003b11: ADD 00003b12: MLOAD 00003b13: PUSH2 0x3b1f 00003b16: PUSH1 0x80 00003b18: DUP6 00003b19: ADD 00003b1a: DUP3 00003b1b: PUSH2 0x3bbd 00003b1e: JUMP 00003b1f: JUMPDEST 00003b20: POP 00003b21: PUSH1 0xa0 00003b23: DUP3 00003b24: ADD 00003b25: MLOAD 00003b26: PUSH2 0x25de 00003b29: PUSH1 0xa0 00003b2b: DUP6 00003b2c: ADD 00003b2d: DUP3 00003b2e: PUSH2 0x3ba2 00003b31: JUMP 00003b32: JUMPDEST 00003b33: DUP1 00003b34: MLOAD 00003b35: PUSH1 0x80 00003b37: DUP4 00003b38: ADD 00003b39: SWAP1 00003b3a: PUSH2 0x3b43 00003b3d: DUP5 00003b3e: DUP3 00003b3f: PUSH2 0x3998 00003b42: JUMP 00003b43: JUMPDEST 00003b44: POP 00003b45: PUSH1 0x20 00003b47: DUP3 00003b48: ADD 00003b49: MLOAD 00003b4a: PUSH2 0x3b56 00003b4d: PUSH1 0x20 00003b4f: DUP6 00003b50: ADD 00003b51: DUP3 00003b52: PUSH2 0x3998 00003b55: JUMP 00003b56: JUMPDEST 00003b57: POP 00003b58: PUSH1 0x40 00003b5a: DUP3 00003b5b: ADD 00003b5c: MLOAD 00003b5d: PUSH2 0x3b69 00003b60: PUSH1 0x40 00003b62: DUP6 00003b63: ADD 00003b64: DUP3 00003b65: PUSH2 0x3998 00003b68: JUMP 00003b69: JUMPDEST 00003b6a: POP 00003b6b: PUSH1 0x60 00003b6d: DUP3 00003b6e: ADD 00003b6f: MLOAD 00003b70: PUSH2 0x25de 00003b73: PUSH1 0x60 00003b75: DUP6 00003b76: ADD 00003b77: DUP3 00003b78: PUSH2 0x3998 00003b7b: JUMP 00003b7c: JUMPDEST 00003b7d: SWAP1 00003b7e: MSTORE 00003b7f: JUMP 00003b80: JUMPDEST 00003b81: DUP1 00003b82: MLOAD 00003b83: PUSH1 0x40 00003b85: DUP4 00003b86: ADD 00003b87: SWAP1 00003b88: PUSH2 0x3aaf 00003b8b: DUP5 00003b8c: DUP3 00003b8d: PUSH2 0x3ba2 00003b90: JUMP 00003b91: JUMPDEST 00003b92: DUP1 00003b93: MLOAD 00003b94: PUSH1 0x40 00003b96: DUP4 00003b97: ADD 00003b98: SWAP1 00003b99: PUSH2 0x39f1 00003b9c: DUP5 00003b9d: DUP3 00003b9e: PUSH2 0x37ef 00003ba1: JUMP 00003ba2: JUMPDEST 00003ba3: PUSH2 0x3649 00003ba6: DUP2 00003ba7: PUSH2 0x409a 00003baa: JUMP 00003bab: JUMPDEST 00003bac: PUSH2 0x3649 00003baf: DUP2 00003bb0: PUSH2 0x406f 00003bb3: JUMP 00003bb4: JUMPDEST 00003bb5: PUSH2 0x3649 00003bb8: DUP2 00003bb9: PUSH2 0x40c8 00003bbc: JUMP 00003bbd: JUMPDEST 00003bbe: PUSH2 0x3649 00003bc1: DUP2 00003bc2: PUSH2 0x40d1 00003bc5: JUMP 00003bc6: JUMPDEST 00003bc7: PUSH2 0x3649 00003bca: DUP2 00003bcb: PUSH2 0x40de 00003bce: JUMP 00003bcf: JUMPDEST 00003bd0: PUSH1 0x00 00003bd2: PUSH2 0x3bdb 00003bd5: DUP3 00003bd6: DUP5 00003bd7: PUSH2 0x3815 00003bda: JUMP 00003bdb: JUMPDEST 00003bdc: POP 00003bdd: PUSH1 0x20 00003bdf: ADD 00003be0: SWAP2 00003be1: SWAP1 00003be2: POP 00003be3: JUMP 00003be4: JUMPDEST 00003be5: PUSH1 0x00 00003be7: PUSH2 0x3bf0 00003bea: DUP3 00003beb: DUP7 00003bec: PUSH2 0x3821 00003bef: JUMP 00003bf0: JUMPDEST 00003bf1: SWAP2 00003bf2: POP 00003bf3: PUSH2 0x3bfc 00003bf6: DUP3 00003bf7: DUP6 00003bf8: PUSH2 0x3809 00003bfb: JUMP 00003bfc: JUMPDEST 00003bfd: PUSH1 0x02 00003bff: DUP3 00003c00: ADD 00003c01: SWAP2 00003c02: POP 00003c03: PUSH2 0x1ab8 00003c06: DUP3 00003c07: DUP5 00003c08: PUSH2 0x3821 00003c0b: JUMP 00003c0c: JUMPDEST 00003c0d: PUSH1 0x00 00003c0f: PUSH2 0x3c18 00003c12: DUP3 00003c13: DUP10 00003c14: PUSH2 0x3821 00003c17: JUMP 00003c18: JUMPDEST 00003c19: SWAP2 00003c1a: POP 00003c1b: PUSH2 0x3c24 00003c1e: DUP3 00003c1f: DUP9 00003c20: PUSH2 0x3809 00003c23: JUMP 00003c24: JUMPDEST 00003c25: PUSH1 0x02 00003c27: DUP3 00003c28: ADD 00003c29: SWAP2 00003c2a: POP 00003c2b: PUSH2 0x3c34 00003c2e: DUP3 00003c2f: DUP8 00003c30: PUSH2 0x3821 00003c33: JUMP 00003c34: JUMPDEST 00003c35: SWAP2 00003c36: POP 00003c37: PUSH2 0x3c40 00003c3a: DUP3 00003c3b: DUP7 00003c3c: PUSH2 0x3809 00003c3f: JUMP 00003c40: JUMPDEST 00003c41: PUSH1 0x02 00003c43: DUP3 00003c44: ADD 00003c45: SWAP2 00003c46: POP 00003c47: PUSH2 0x3c50 00003c4a: DUP3 00003c4b: DUP6 00003c4c: PUSH2 0x3821 00003c4f: JUMP 00003c50: JUMPDEST 00003c51: SWAP2 00003c52: POP 00003c53: PUSH2 0x3c5c 00003c56: DUP3 00003c57: DUP5 00003c58: PUSH2 0x37f8 00003c5b: JUMP 00003c5c: JUMPDEST 00003c5d: POP 00003c5e: PUSH1 0x01 00003c60: ADD 00003c61: SWAP7 00003c62: SWAP6 00003c63: POP 00003c64: POP 00003c65: POP 00003c66: POP 00003c67: POP 00003c68: POP 00003c69: JUMP 00003c6a: JUMPDEST 00003c6b: PUSH1 0x20 00003c6d: DUP2 00003c6e: ADD 00003c6f: PUSH2 0x0c0c 00003c72: DUP3 00003c73: DUP5 00003c74: PUSH2 0x3640 00003c77: JUMP 00003c78: JUMPDEST 00003c79: PUSH1 0x40 00003c7b: DUP2 00003c7c: ADD 00003c7d: PUSH2 0x3c86 00003c80: DUP3 00003c81: DUP6 00003c82: PUSH2 0x3640 00003c85: JUMP 00003c86: JUMPDEST 00003c87: PUSH2 0x1962 00003c8a: PUSH1 0x20 00003c8c: DUP4 00003c8d: ADD 00003c8e: DUP5 00003c8f: PUSH2 0x37ef 00003c92: JUMP 00003c93: JUMPDEST 00003c94: PUSH1 0x60 00003c96: DUP2 00003c97: ADD 00003c98: PUSH2 0x3ca1 00003c9b: DUP3 00003c9c: DUP7 00003c9d: PUSH2 0x3640 00003ca0: JUMP 00003ca1: JUMPDEST 00003ca2: PUSH2 0x3cae 00003ca5: PUSH1 0x20 00003ca7: DUP4 00003ca8: ADD 00003ca9: DUP6 00003caa: PUSH2 0x3bab 00003cad: JUMP 00003cae: JUMPDEST 00003caf: PUSH2 0x1c02 00003cb2: PUSH1 0x40 00003cb4: DUP4 00003cb5: ADD 00003cb6: DUP5 00003cb7: PUSH2 0x3bab 00003cba: JUMP 00003cbb: JUMPDEST 00003cbc: PUSH1 0x60 00003cbe: DUP1 00003cbf: DUP3 00003cc0: MSTORE 00003cc1: DUP2 00003cc2: ADD 00003cc3: PUSH2 0x3ccc 00003cc6: DUP2 00003cc7: DUP7 00003cc8: PUSH2 0x364f 00003ccb: JUMP 00003ccc: JUMPDEST 00003ccd: SWAP1 00003cce: POP 00003ccf: DUP2 00003cd0: DUP2 00003cd1: SUB 00003cd2: PUSH1 0x20 00003cd4: DUP4 00003cd5: ADD 00003cd6: MSTORE 00003cd7: PUSH2 0x3ce0 00003cda: DUP2 00003cdb: DUP6 00003cdc: PUSH2 0x3759 00003cdf: JUMP 00003ce0: JUMPDEST 00003ce1: SWAP1 00003ce2: POP 00003ce3: DUP2 00003ce4: DUP2 00003ce5: SUB 00003ce6: PUSH1 0x40 00003ce8: DUP4 00003ce9: ADD 00003cea: MSTORE 00003ceb: PUSH2 0x1ab8 00003cee: DUP2 00003cef: DUP5 00003cf0: PUSH2 0x37a4 00003cf3: JUMP 00003cf4: JUMPDEST 00003cf5: PUSH1 0x20 00003cf7: DUP2 00003cf8: ADD 00003cf9: PUSH2 0x0c0c 00003cfc: DUP3 00003cfd: DUP5 00003cfe: PUSH2 0x37ef 00003d01: JUMP 00003d02: JUMPDEST 00003d03: PUSH1 0x20 00003d05: DUP2 00003d06: ADD 00003d07: PUSH2 0x0c0c 00003d0a: DUP3 00003d0b: DUP5 00003d0c: PUSH2 0x3888 00003d0f: JUMP 00003d10: JUMPDEST 00003d11: PUSH1 0x20 00003d13: DUP2 00003d14: ADD 00003d15: PUSH2 0x0c0c 00003d18: DUP3 00003d19: DUP5 00003d1a: PUSH2 0x38a3 00003d1d: JUMP 00003d1e: JUMPDEST 00003d1f: PUSH1 0x20 00003d21: DUP1 00003d22: DUP3 00003d23: MSTORE 00003d24: DUP2 00003d25: ADD 00003d26: PUSH2 0x0c09 00003d29: DUP2 00003d2a: DUP5 00003d2b: PUSH2 0x3850 00003d2e: JUMP 00003d2f: JUMPDEST 00003d30: PUSH1 0x20 00003d32: DUP2 00003d33: ADD 00003d34: PUSH2 0x0c0c 00003d37: DUP3 00003d38: DUP5 00003d39: PUSH2 0x3998 00003d3c: JUMP 00003d3d: JUMPDEST 00003d3e: PUSH1 0x60 00003d40: DUP2 00003d41: ADD 00003d42: PUSH2 0x0c0c 00003d45: DUP3 00003d46: DUP5 00003d47: PUSH2 0x39a9 00003d4a: JUMP 00003d4b: JUMPDEST 00003d4c: PUSH2 0x0160 00003d4f: DUP2 00003d50: ADD 00003d51: PUSH2 0x0c0c 00003d54: DUP3 00003d55: DUP5 00003d56: PUSH2 0x3a04 00003d59: JUMP 00003d5a: JUMPDEST 00003d5b: PUSH2 0x0200 00003d5e: DUP2 00003d5f: ADD 00003d60: PUSH2 0x3d69 00003d63: DUP3 00003d64: DUP8 00003d65: PUSH2 0x3a04 00003d68: JUMP 00003d69: JUMPDEST 00003d6a: PUSH2 0x3d77 00003d6d: PUSH2 0x0160 00003d70: DUP4 00003d71: ADD 00003d72: DUP7 00003d73: PUSH2 0x39a9 00003d76: JUMP 00003d77: JUMPDEST 00003d78: PUSH2 0x3d85 00003d7b: PUSH2 0x01c0 00003d7e: DUP4 00003d7f: ADD 00003d80: DUP6 00003d81: PUSH2 0x3998 00003d84: JUMP 00003d85: JUMPDEST 00003d86: PUSH2 0x1ab8 00003d89: PUSH2 0x01e0 00003d8c: DUP4 00003d8d: ADD 00003d8e: DUP5 00003d8f: PUSH2 0x3998 00003d92: JUMP 00003d93: JUMPDEST 00003d94: PUSH1 0x40 00003d96: DUP2 00003d97: ADD 00003d98: PUSH2 0x0c0c 00003d9b: DUP3 00003d9c: DUP5 00003d9d: PUSH2 0x3a9e 00003da0: JUMP 00003da1: JUMPDEST 00003da2: PUSH1 0xc0 00003da4: DUP2 00003da5: ADD 00003da6: PUSH2 0x0c0c 00003da9: DUP3 00003daa: DUP5 00003dab: PUSH2 0x3ac2 00003dae: JUMP 00003daf: JUMPDEST 00003db0: PUSH1 0x80 00003db2: DUP2 00003db3: ADD 00003db4: PUSH2 0x0c0c 00003db7: DUP3 00003db8: DUP5 00003db9: PUSH2 0x3b32 00003dbc: JUMP 00003dbd: JUMPDEST 00003dbe: PUSH1 0x60 00003dc0: DUP2 00003dc1: ADD 00003dc2: PUSH2 0x3dcb 00003dc5: DUP3 00003dc6: DUP7 00003dc7: PUSH2 0x3b7c 00003dca: JUMP 00003dcb: JUMPDEST 00003dcc: PUSH2 0x3dd8 00003dcf: PUSH1 0x20 00003dd1: DUP4 00003dd2: ADD 00003dd3: DUP6 00003dd4: PUSH2 0x3640 00003dd7: JUMP 00003dd8: JUMPDEST 00003dd9: PUSH2 0x1c02 00003ddc: PUSH1 0x40 00003dde: DUP4 00003ddf: ADD 00003de0: DUP5 00003de1: PUSH2 0x3640 00003de4: JUMP 00003de5: JUMPDEST 00003de6: PUSH1 0x60 00003de8: DUP2 00003de9: ADD 00003dea: PUSH2 0x3df3 00003ded: DUP3 00003dee: DUP7 00003def: PUSH2 0x3b7c 00003df2: JUMP 00003df3: JUMPDEST 00003df4: PUSH2 0x3e00 00003df7: PUSH1 0x20 00003df9: DUP4 00003dfa: ADD 00003dfb: DUP6 00003dfc: PUSH2 0x3640 00003dff: JUMP 00003e00: JUMPDEST 00003e01: PUSH2 0x1c02 00003e04: PUSH1 0x40 00003e06: DUP4 00003e07: ADD 00003e08: DUP5 00003e09: PUSH2 0x37ef 00003e0c: JUMP 00003e0d: JUMPDEST 00003e0e: PUSH1 0xc0 00003e10: DUP2 00003e11: ADD 00003e12: PUSH2 0x3e1b 00003e15: DUP3 00003e16: DUP10 00003e17: PUSH2 0x3b7c 00003e1a: JUMP 00003e1b: JUMPDEST 00003e1c: PUSH2 0x3e28 00003e1f: PUSH1 0x20 00003e21: DUP4 00003e22: ADD 00003e23: DUP9 00003e24: PUSH2 0x3640 00003e27: JUMP 00003e28: JUMPDEST 00003e29: PUSH2 0x3e35 00003e2c: PUSH1 0x40 00003e2e: DUP4 00003e2f: ADD 00003e30: DUP8 00003e31: PUSH2 0x3888 00003e34: JUMP 00003e35: JUMPDEST 00003e36: PUSH2 0x3e42 00003e39: PUSH1 0x60 00003e3b: DUP4 00003e3c: ADD 00003e3d: DUP7 00003e3e: PUSH2 0x3888 00003e41: JUMP 00003e42: JUMPDEST 00003e43: PUSH2 0x3e4f 00003e46: PUSH1 0x80 00003e48: DUP4 00003e49: ADD 00003e4a: DUP6 00003e4b: PUSH2 0x3998 00003e4e: JUMP 00003e4f: JUMPDEST 00003e50: PUSH2 0x3e5c 00003e53: PUSH1 0xa0 00003e55: DUP4 00003e56: ADD 00003e57: DUP5 00003e58: PUSH2 0x3998 00003e5b: JUMP 00003e5c: JUMPDEST 00003e5d: SWAP8 00003e5e: SWAP7 00003e5f: POP 00003e60: POP 00003e61: POP 00003e62: POP 00003e63: POP 00003e64: POP 00003e65: POP 00003e66: JUMP 00003e67: JUMPDEST 00003e68: PUSH1 0x60 00003e6a: DUP2 00003e6b: ADD 00003e6c: PUSH2 0x3e75 00003e6f: DUP3 00003e70: DUP7 00003e71: PUSH2 0x3b7c 00003e74: JUMP 00003e75: JUMPDEST 00003e76: DUP2 00003e77: DUP2 00003e78: SUB 00003e79: PUSH1 0x20 00003e7b: DUP4 00003e7c: ADD 00003e7d: MSTORE 00003e7e: PUSH2 0x3e87 00003e81: DUP2 00003e82: DUP6 00003e83: PUSH2 0x370e 00003e86: JUMP 00003e87: JUMPDEST 00003e88: SWAP1 00003e89: POP 00003e8a: DUP2 00003e8b: DUP2 00003e8c: SUB 00003e8d: PUSH1 0x40 00003e8f: DUP4 00003e90: ADD 00003e91: MSTORE 00003e92: PUSH2 0x1ab8 00003e95: DUP2 00003e96: DUP5 00003e97: PUSH2 0x36a4 00003e9a: JUMP 00003e9b: JUMPDEST 00003e9c: PUSH1 0x40 00003e9e: DUP2 00003e9f: ADD 00003ea0: PUSH2 0x3ea9 00003ea3: DUP3 00003ea4: DUP6 00003ea5: PUSH2 0x3b7c 00003ea8: JUMP 00003ea9: JUMPDEST 00003eaa: PUSH2 0x1962 00003ead: PUSH1 0x20 00003eaf: DUP4 00003eb0: ADD 00003eb1: DUP5 00003eb2: PUSH2 0x3998 00003eb5: JUMP 00003eb6: JUMPDEST 00003eb7: PUSH1 0x60 00003eb9: DUP2 00003eba: ADD 00003ebb: PUSH2 0x3ec4 00003ebe: DUP3 00003ebf: DUP7 00003ec0: PUSH2 0x3b7c 00003ec3: JUMP 00003ec4: JUMPDEST 00003ec5: PUSH2 0x3dd8 00003ec8: PUSH1 0x20 00003eca: DUP4 00003ecb: ADD 00003ecc: DUP6 00003ecd: PUSH2 0x3bab 00003ed0: JUMP 00003ed1: JUMPDEST 00003ed2: PUSH1 0x60 00003ed4: DUP2 00003ed5: ADD 00003ed6: PUSH2 0x3edf 00003ed9: DUP3 00003eda: DUP7 00003edb: PUSH2 0x3b7c 00003ede: JUMP 00003edf: JUMPDEST 00003ee0: PUSH2 0x3e00 00003ee3: PUSH1 0x20 00003ee5: DUP4 00003ee6: ADD 00003ee7: DUP6 00003ee8: PUSH2 0x3bab 00003eeb: JUMP 00003eec: JUMPDEST 00003eed: PUSH1 0x60 00003eef: DUP2 00003ef0: ADD 00003ef1: PUSH2 0x3efa 00003ef4: DUP3 00003ef5: DUP7 00003ef6: PUSH2 0x3b7c 00003ef9: JUMP 00003efa: JUMPDEST 00003efb: PUSH2 0x3f07 00003efe: PUSH1 0x20 00003f00: DUP4 00003f01: ADD 00003f02: DUP6 00003f03: PUSH2 0x3bab 00003f06: JUMP 00003f07: JUMPDEST 00003f08: PUSH2 0x1c02 00003f0b: PUSH1 0x40 00003f0d: DUP4 00003f0e: ADD 00003f0f: DUP5 00003f10: PUSH2 0x3888 00003f13: JUMP 00003f14: JUMPDEST 00003f15: PUSH1 0x60 00003f17: DUP2 00003f18: ADD 00003f19: PUSH2 0x3f22 00003f1c: DUP3 00003f1d: DUP7 00003f1e: PUSH2 0x3b7c 00003f21: JUMP 00003f22: JUMPDEST 00003f23: PUSH2 0x3f2f 00003f26: PUSH1 0x20 00003f28: DUP4 00003f29: ADD 00003f2a: DUP6 00003f2b: PUSH2 0x3bab 00003f2e: JUMP 00003f2f: JUMPDEST 00003f30: PUSH2 0x1c02 00003f33: PUSH1 0x40 00003f35: DUP4 00003f36: ADD 00003f37: DUP5 00003f38: PUSH2 0x3998 00003f3b: JUMP 00003f3c: JUMPDEST 00003f3d: PUSH1 0x40 00003f3f: DUP2 00003f40: ADD 00003f41: PUSH2 0x0c0c 00003f44: DUP3 00003f45: DUP5 00003f46: PUSH2 0x3b80 00003f49: JUMP 00003f4a: JUMPDEST 00003f4b: PUSH1 0x40 00003f4d: DUP2 00003f4e: ADD 00003f4f: PUSH2 0x3ea9 00003f52: DUP3 00003f53: DUP6 00003f54: PUSH2 0x3998 00003f57: JUMP 00003f58: JUMPDEST 00003f59: PUSH1 0x40 00003f5b: DUP2 00003f5c: ADD 00003f5d: PUSH2 0x0c0c 00003f60: DUP3 00003f61: DUP5 00003f62: PUSH2 0x3b91 00003f65: JUMP 00003f66: JUMPDEST 00003f67: PUSH1 0x20 00003f69: DUP2 00003f6a: ADD 00003f6b: PUSH2 0x0c0c 00003f6e: DUP3 00003f6f: DUP5 00003f70: PUSH2 0x3bab 00003f73: JUMP 00003f74: JUMPDEST 00003f75: PUSH1 0x40 00003f77: MLOAD 00003f78: DUP2 00003f79: DUP2 00003f7a: ADD 00003f7b: PUSH8 0xffffffffffffffff 00003f84: DUP2 00003f85: GT 00003f86: DUP3 00003f87: DUP3 00003f88: LT 00003f89: OR 00003f8a: ISZERO 00003f8b: PUSH2 0x3f93 00003f8e: JUMPI 00003f8f: PUSH1 0x00 00003f91: DUP1 00003f92: REVERT 00003f93: JUMPDEST 00003f94: PUSH1 0x40 00003f96: MSTORE 00003f97: SWAP2 00003f98: SWAP1 00003f99: POP 00003f9a: JUMP 00003f9b: JUMPDEST 00003f9c: PUSH1 0x00 00003f9e: PUSH8 0xffffffffffffffff 00003fa7: DUP3 00003fa8: GT 00003fa9: ISZERO 00003faa: PUSH2 0x3fb2 00003fad: JUMPI 00003fae: PUSH1 0x00 00003fb0: DUP1 00003fb1: REVERT 00003fb2: JUMPDEST 00003fb3: POP 00003fb4: PUSH1 0x20 00003fb6: SWAP1 00003fb7: DUP2 00003fb8: MUL 00003fb9: ADD 00003fba: SWAP1 00003fbb: JUMP 00003fbc: JUMPDEST 00003fbd: PUSH1 0x00 00003fbf: PUSH8 0xffffffffffffffff 00003fc8: DUP3 00003fc9: GT 00003fca: ISZERO 00003fcb: PUSH2 0x3fd3 00003fce: JUMPI 00003fcf: PUSH1 0x00 00003fd1: DUP1 00003fd2: REVERT 00003fd3: JUMPDEST 00003fd4: POP 00003fd5: PUSH1 0x20 00003fd7: PUSH1 0x1f 00003fd9: SWAP2 00003fda: SWAP1 00003fdb: SWAP2 00003fdc: ADD 00003fdd: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00003ffe: AND 00003fff: ADD 00004000: SWAP1 00004001: JUMP 00004002: JUMPDEST 00004003: PUSH1 0x20 00004005: ADD 00004006: SWAP1 00004007: JUMP 00004008: JUMPDEST 00004009: MLOAD 0000400a: SWAP1 0000400b: JUMP 0000400c: JUMPDEST 0000400d: SWAP1 0000400e: DUP2 0000400f: MSTORE 00004010: PUSH1 0x20 00004012: ADD 00004013: SWAP1 00004014: JUMP 00004015: JUMPDEST 00004016: PUSH1 0x00 00004018: PUSH2 0x0829 0000401b: DUP3 0000401c: PUSH2 0x40af 0000401f: JUMP 00004020: JUMPDEST 00004021: ISZERO 00004022: ISZERO 00004023: SWAP1 00004024: JUMP 00004025: JUMPDEST 00004026: PUSH32 0xff00000000000000000000000000000000000000000000000000000000000000 00004047: AND 00004048: SWAP1 00004049: JUMP 0000404a: JUMPDEST 0000404b: PUSH32 0xffff000000000000000000000000000000000000000000000000000000000000 0000406c: AND 0000406d: SWAP1 0000406e: JUMP 0000406f: JUMPDEST 00004070: SWAP1 00004071: JUMP 00004072: JUMPDEST 00004073: PUSH1 0x00 00004075: PUSH1 0x09 00004077: DUP3 00004078: LT 00004079: PUSH2 0x407e 0000407c: JUMPI 0000407d: INVALID 0000407e: JUMPDEST 0000407f: POP 00004080: SWAP1 00004081: JUMP 00004082: JUMPDEST 00004083: PUSH1 0x00 00004085: PUSH1 0x02 00004087: DUP3 00004088: LT 00004089: PUSH2 0x407e 0000408c: JUMPI 0000408d: INVALID 0000408e: JUMPDEST 0000408f: PUSH1 0x00 00004091: PUSH1 0x03 00004093: DUP3 00004094: LT 00004095: PUSH2 0x407e 00004098: JUMPI 00004099: INVALID 0000409a: JUMPDEST 0000409b: PUSH16 0xffffffffffffffffffffffffffffffff 000040ac: AND 000040ad: SWAP1 000040ae: JUMP 000040af: JUMPDEST 000040b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000040c5: AND 000040c6: SWAP1 000040c7: JUMP 000040c8: JUMPDEST 000040c9: PUSH4 0xffffffff 000040ce: AND 000040cf: SWAP1 000040d0: JUMP 000040d1: JUMPDEST 000040d2: PUSH8 0xffffffffffffffff 000040db: AND 000040dc: SWAP1 000040dd: JUMP 000040de: JUMPDEST 000040df: PUSH12 0xffffffffffffffffffffffff 000040ec: AND 000040ed: SWAP1 000040ee: JUMP 000040ef: JUMPDEST 000040f0: PUSH1 0x00 000040f2: PUSH2 0x0829 000040f5: DUP3 000040f6: PUSH2 0x4015 000040f9: JUMP 000040fa: JUMPDEST 000040fb: PUSH1 0x00 000040fd: PUSH1 0x09 000040ff: DUP3 00004100: LT 00004101: PUSH2 0x407e 00004104: JUMPI 00004105: PUSH1 0x00 00004107: DUP1 00004108: REVERT 00004109: JUMPDEST 0000410a: PUSH1 0x00 0000410c: PUSH1 0x02 0000410e: DUP3 0000410f: LT 00004110: PUSH2 0x407e 00004113: JUMPI 00004114: PUSH1 0x00 00004116: DUP1 00004117: REVERT 00004118: JUMPDEST 00004119: PUSH1 0x00 0000411b: PUSH2 0x0829 0000411e: DUP3 0000411f: PUSH2 0x4072 00004122: JUMP 00004123: JUMPDEST 00004124: PUSH1 0x00 00004126: PUSH2 0x0829 00004129: DUP3 0000412a: PUSH2 0x4082 0000412d: JUMP 0000412e: JUMPDEST 0000412f: PUSH1 0x00 00004131: PUSH2 0x0829 00004134: DUP3 00004135: PUSH2 0x408e 00004138: JUMP 00004139: JUMPDEST 0000413a: DUP3 0000413b: DUP2 0000413c: DUP4 0000413d: CALLDATACOPY 0000413e: POP 0000413f: PUSH1 0x00 00004141: SWAP2 00004142: ADD 00004143: MSTORE 00004144: JUMP 00004145: JUMPDEST 00004146: PUSH1 0x00 00004148: JUMPDEST 00004149: DUP4 0000414a: DUP2 0000414b: LT 0000414c: ISZERO 0000414d: PUSH2 0x4160 00004150: JUMPI 00004151: DUP2 00004152: DUP2 00004153: ADD 00004154: MLOAD 00004155: DUP4 00004156: DUP3 00004157: ADD 00004158: MSTORE 00004159: PUSH1 0x20 0000415b: ADD 0000415c: PUSH2 0x4148 0000415f: JUMP 00004160: JUMPDEST 00004161: DUP4 00004162: DUP2 00004163: GT 00004164: ISZERO 00004165: PUSH2 0x25de 00004168: JUMPI 00004169: POP 0000416a: POP 0000416b: PUSH1 0x00 0000416d: SWAP2 0000416e: ADD 0000416f: MSTORE 00004170: JUMP 00004171: JUMPDEST 00004172: PUSH1 0x1f 00004174: ADD 00004175: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00004196: AND 00004197: SWAP1 00004198: JUMP 00004199: INVALID 0000419a: LOG2 0000419b: PUSH6 0x627a7a723058 000041a2: KECCAK256 000041a3: ADDMOD 000041a4: SWAP10 000041a5: PUSH0 000041a6: BLOCKHASH 000041a7: COINBASE 000041a8: SWAP15 000041a9: CREATE 000041aa: PC 000041ab: UNKNOWN(0xC1) 000041ac: DUP8 000041ad: SWAP15 000041ae: CODECOPY 000041af: MSTORE8 000041b0: PUSH23 0xa60652d794668b2ac708a61d8c9e9857b0e36c65787065 000041c8: PUSH19
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| critical | upgradeability | detector | Untrusted DELEGATECALL target reachable | 70 | no | no |
viewtrace_id: 0x5955a43632981a03276a892c064ef88174a3745f22406b3d05241107b7515373
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "unknown",
"attempts": 192,
"trace_id": "0x5955a43632981a03276a892c064ef88174a3745f22406b3d05241107b7515373",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf9416052",
"selector": "0xf9416052",
"calldata_variants": [
"0xf9416052",
"0xf94160520000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfd04b606",
"selector": "0xfd04b606",
"calldata_variants": [
"0xfd04b606",
"0xfd04b6060000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfd47eda6",
"selector": "0xfd47eda6",
"calldata_variants": [
"0xfd47eda6",
"0xfd47eda60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xeb44fdd3",
"selector": "0xeb44fdd3",
"calldata_variants": [
"0xeb44fdd3",
"0xeb44fdd30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xef6957d0",
"selector": "0xef6957d0",
"calldata_variants": [
"0xef6957d0",
"0xef6957d00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2901ae2",
"selector": "0xf2901ae2",
"calldata_variants": [
"0xf2901ae2",
"0xf2901ae20000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe5520228",
"selector": "0xe5520228",
"calldata_variants": [
"0xe5520228",
"0xe55202280000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2031,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
},
{
"pc": 2587,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
},
{
"pc": 2801,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [],
"delegatecall_count": 4,
"untrusted_delegatecall_count": 4
}
|
| medium | oracle | codex | Liquidation status persists after transient undercollateralization | 75 | no | — |
viewevidence_json{
"evidence": "`_liquidate` sets `Account.Status.Liquid` after a single undercollateralization check and skips further checks if already `Liquid`, while `_verifyFinalState` only resets status for primary accounts, leaving liquidated (secondary) accounts in `Liquid` state indefinitely.",
"locations": [
"contracts/Contract.sol:5231",
"contracts/Contract.sol:4868"
],
"recommendation": "Re-check collateralization on every liquidation regardless of current status, or automatically clear `Liquid` status once an account is collateralized (including when it is a secondary account). Consider time-bounding the `Liquid` flag or requiring a fresh oracle check for each liquidation.",
"exploit_scenario": "If the price oracle can be manipulated even briefly (e.g., spot/low-liquidity oracle), an attacker can call `operate` with a minimal `Liquidate` action to set the victim account\u2019s status to `Liquid` while prices are distorted. After prices normalize, the account remains `Liquid` and can be liquidated further without re-checking collateralization, allowing repeated liquidation at fair prices until the owner performs an operation to reset status."
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 4
}
|
| medium | other | detector | CREATE/CREATE2 reachable | 45 | no | no |
viewtrace_id: 0x8212963900bb54ef1d69f498e95f34f710ab34c708e7f556d9db8e36ef52dcde
validation_json{
"sink": "CREATE",
"errors": 0,
"status": "unknown",
"attempts": 32,
"trace_id": "0x8212963900bb54ef1d69f498e95f34f710ab34c708e7f556d9db8e36ef52dcde",
"confirmed": false,
"trace_mode": "structLogs",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf9416052",
"selector": "0xf9416052",
"calldata_variants": [
"0xf9416052",
"0xf94160520000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfd04b606",
"selector": "0xfd04b606",
"calldata_variants": [
"0xfd04b606",
"0xfd04b6060000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfd47eda6",
"selector": "0xfd47eda6",
"calldata_variants": [
"0xfd47eda6",
"0xfd47eda60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xeb44fdd3",
"selector": "0xeb44fdd3",
"calldata_variants": [
"0xeb44fdd3",
"0xeb44fdd30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xef6957d0",
"selector": "0xef6957d0",
"calldata_variants": [
"0xef6957d0",
"0xef6957d00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2901ae2",
"selector": "0xf2901ae2",
"calldata_variants": [
"0xf2901ae2",
"0xf2901ae20000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe5520228",
"selector": "0xe5520228",
"calldata_variants": [
"0xe5520228",
"0xe55202280000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"create_count": 1,
"create2_count": 0
}
|
| low | other | cast | Contract creation opcode present | 60 | no | — |
viewevidence_json{
"notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
"create_count": 1,
"create2_count": 0
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 7
}
|