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

Analysis Run

019bab3c-acf0-7088-b150-fa883a5349a3

failed
Chain ID
1
Address
Block Number
Created
Sun, Jan 11, 2026 4:07 AM
Review Summary

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
38998 artifact.fetch complete 1 / 3 3 months ago
38999 proxy.resolve complete 1 / 3 3 months ago
39000 tool.cast_disasm complete 1 / 3 3 months ago
39001 analysis.bundle complete 1 / 3 3 months ago
39002 capability.graph complete 1 / 3 3 months ago
39003 detector.run complete 1 / 3 3 months ago
39004 validation.fork complete 1 / 3 3 months ago
39237 report.consolidate complete 1 / 6 3 months ago
39238 tool.slither failed 2 / 2 3 months ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no not_proxy
Implementation:
Verified Source: yes
Proxy evidence
{
    "status": "not_proxy"
}

Slither

tool.slither
Status
failed slither failed (exit 1): 'forge clean' running (wd: /tmp/slither-ul96vxqb) 'forge config --json' running 'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-ul96vxqb) 'forge' returned non-zero exit code 1 Compiling 39 files with Solc 0.8.28 stdout: Solc 0.8.28 finished in 105.15ms Error: Compiler run failed: stderr: Error (9582): Member "isContract" not found or not visible after argument-dependent lookup in type(library Address). stderr: --> @hyperlane-xyz/core/contracts/client/MailboxClient.sol:30:13: stderr: | stderr: 30 | Address.isContract(_contract), stderr: | ^^^^^^^^^^^^^^^^^^ Traceback (most recent call last): File "/var/www/tripwire/.venv/bin/slither", line 10, in <module> sys.exit(main()) ~~~~^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 776, in main main_impl(all_detector_classes=detectors, all_printer_classes=printers) ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 882, in main_impl ) = process_all(filename, args, detector_classes, printer_classes) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 96, in process_all compilations = compile_all(target, **vars(args)) File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 722, in compile_all compilations.append(CryticCompile(target, **kwargs)) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 211, in __init__ self._compile(**kwargs) ~~~~~~~~~~~~~^^^^^^^^^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 633, in _compile self._platform.compile(self, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/foundry.py", line 102, in compile hardhat_like_parsing( ~~~~~~~~~~~~~~~~~~~~^ crytic_compile, str(self._target), build_directory, str(self._project_root) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/hardhat.py", line 52, in hardhat_like_parsing raise InvalidCompilation(txt) crytic_compile.platform.exceptions.InvalidCompilation: Compilation failed. Can you run build command? /tmp/slither-ul96vxqb/out/build-info is not a directory.
Attempts
2 / 2
Findings
0
Solc
View stderr
Traceback (most recent call last):
  File "/var/www/tripwire/worker/worker.py", line 198, in main
    payload = dispatch_job(job_type, job_id, job_meta, run_data, config, laravel_client)
  File "/var/www/tripwire/worker/worker.py", line 114, in dispatch_job
    return slither_run.run(job_id, job_meta, run_data, config, log, laravel_client)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/www/tripwire/worker/jobs/slither_run.py", line 1084, in run
    stdout_text, stderr_text, result_json = _run_slither(
                                            ~~~~~~~~~~~~^
        workspace,
        ^^^^^^^^^^
    ...<4 lines>...
        target_path=target_path,
        ^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/var/www/tripwire/worker/jobs/slither_run.py", line 958, in _run_slither
    raise RuntimeError(f"slither failed (exit {result.returncode}): {stderr_text or stdout_text}")
RuntimeError: slither failed (exit 1): 'forge clean' running (wd: /tmp/slither-ul96vxqb)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-ul96vxqb)
'forge' returned non-zero exit code 1
Compiling 39 files with Solc 0.8.28
stdout: Solc 0.8.28 finished in 105.15ms
Error: Compiler run failed:
stderr: Error (9582): Member "isContract" not found or not visible after argument-dependent lookup in type(library Address).
stderr:   --> @hyperlane-xyz/core/contracts/client/MailboxClient.sol:30:13:
stderr:    |
stderr: 30 |             Address.isContract(_contract),
stderr:    |             ^^^^^^^^^^^^^^^^^^
Traceback (most recent call last):
  File "/var/www/tripwire/.venv/bin/slither", line 10, in <module>
    sys.exit(main())
             ~~~~^^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 776, in main
    main_impl(all_detector_classes=detectors, all_printer_classes=printers)
    ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 882, in main_impl
    ) = process_all(filename, args, detector_classes, printer_classes)
        ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 96, in process_all
    compilations = compile_all(target, **vars(args))
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 722, in compile_all
    compilations.append(CryticCompile(target, **kwargs))
                        ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 211, in __init__
    self._compile(**kwargs)
    ~~~~~~~~~~~~~^^^^^^^^^^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 633, in _compile
    self._platform.compile(self, **kwargs)
    ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/foundry.py", line 102, in compile
    hardhat_like_parsing(
    ~~~~~~~~~~~~~~~~~~~~^
        crytic_compile, str(self._target), build_directory, str(self._project_root)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/hardhat.py", line 52, in hardhat_like_parsing
    raise InvalidCompilation(txt)
crytic_compile.platform.exceptions.InvalidCompilation: Compilation failed. Can you run build command?
/tmp/slither-ul96vxqb/out/build-info is not a directory.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
2
No findings?
no
Summary
Found two issues: an unprotected initializer that can allow ownership takeover if deployment isn’t atomically initialized, and a collateralization mismatch when bridging fee‑on‑transfer/rebasing ERC20s.
View stdout
{"no_findings":false,"summary":"Found two issues: an unprotected initializer that can allow ownership takeover if deployment isn’t atomically initialized, and a collateralization mismatch when bridging fee‑on‑transfer/rebasing ERC20s.","findings":[{"severity":"high","category":"upgradeability","title":"Unprotected initializer can be hijacked to take ownership","exploit_scenario":"If a proxy (or direct deployment) is left uninitialized, an attacker can call `initialize` to set themselves as owner, then reconfigure hooks/ISM or enroll malicious routers to mint/redirect tokens.","recommendation":"Initialize the proxy atomically at deployment, add `_disableInitializers()` in the implementation constructor, and/or gate `initialize` with `onlyProxy`/`onlyOwner` as appropriate; avoid constructor ownership assignment for proxy-only deployments.","evidence":"`initialize` is public and calls `_MailboxClient_initialize`, which performs `__Ownable_init()` and `_transferOwnership(_owner)` without access control.","locations":["contracts/HypERC20Collateral.sol:26","@hyperlane-xyz/core/contracts/client/MailboxClient.sol:80"]},{"severity":"medium","category":"other","title":"Bridging fee‑on‑transfer/rebasing ERC20s can under‑collateralize","exploit_scenario":"For deflationary tokens, `safeTransferFrom` may deliver less than `_amount`, but the message still mints `_amount` on the destination. Repeated use can create a collateral shortfall and allow draining if other liquidity exists.","recommendation":"Compute the actual received amount via balanceBefore/balanceAfter and use that value in the message, or explicitly restrict to non‑fee‑on‑transfer tokens.","evidence":"`_transferFromSender` transfers `_amount` without checking received amount; `_transferRemote` uses `_amountOrId` to encode the message.","locations":["contracts/HypERC20Collateral.sol:38","contracts/TokenRouter.sol:90"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-dh_u7vm4
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bac28-af2b-7bc0-916e-7e50d547e489
--------
user
You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.

Scope rules:
- You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party Solidity sources in this workspace.
- Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
- If there are only dependency files and no first-party sources, set no_findings=true and explain in summary.

Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.

Output constraints (IMPORTANT):
- severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
- category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
Keep summary short and concrete.
mcp startup: no servers

thinking
**Reading AUDIT_BUNDLE file**
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-dh_u7vm4 succeeded in 6ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.

================================================================================
FILE: @hyperlane-xyz/core/contracts/client/GasRouter.sol
================================================================================
// SPDX-License-Identifier: MIT OR Apache-2.0
pragma solidity >=0.6.11;

import {Router} from "./Router.sol";
import {StandardHookMetadata} from "../hooks/libs/StandardHookMetadata.sol";

abstract contract GasRouter is Router {
    // ============ Mutable Storage ============
    mapping(uint32 => uint256) public destinationGas;

    struct GasRouterConfig {
        uint32 domain;
        uint256 gas;
    }


thinking
**Analyzing first-party contract security**
thinking
**Highlighting upgrade and initialization concerns**

I'll explain the risks around unprotected initializer functions that allow ownership takeover if not called immediately on deployment or proxy setup, plus the medium-severity accounting issue due to bridging fee-on-transfer tokens causing collateral mismatches. These impact upgradeability patterns and token accounting integrity.
exec
/bin/bash -lc 'nl -ba contracts/HypERC20Collateral.sol' in /tmp/codex-dh_u7vm4 succeeded in 7ms:
     1	// SPDX-License-Identifier: Apache-2.0
     2	pragma solidity 0.8.28;
     3	
     4	import {TokenRouter} from "./TokenRouter.sol";
     5	
     6	import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
     7	import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
     8	
     9	/**
    10	 * @title Hyperlane ERC20 Token Collateral that wraps an existing ERC20 with remote transfer functionality.
    11	 * @author Abacus Works
    12	 */
    13	contract HypERC20Collateral is TokenRouter {
    14	    using SafeERC20 for IERC20;
    15	
    16	    IERC20 public immutable wrappedToken;
    17	
    18	    /**
    19	     * @notice Constructor
    20	     * @param erc20 Address of the token to keep as collateral

thinking
**Looking for TokenRouter implementation**
exec
/bin/bash -lc 'nl -ba contracts/TokenRouter.sol' in /tmp/codex-dh_u7vm4 succeeded in 5ms:
     1	// SPDX-License-Identifier: Apache-2.0
     2	pragma solidity 0.8.28;
     3	
     4	import {GasRouter} from "@hyperlane-xyz/core/contracts/client/GasRouter.sol";
     5	import {MailboxClient} from "@hyperlane-xyz/core/contracts/client/MailboxClient.sol";
     6	import {TypeCasts} from "@hyperlane-xyz/core/contracts/libs/TypeCasts.sol";
     7	import {TokenMessage} from "./TokenMessage.sol";
     8	import {StorageSlot} from "@openzeppelin/contracts/utils/StorageSlot.sol";
     9	
    10	/**
    11	 * @title Hyperlane Token Router that extends Router with abstract token (ERC20/ERC721) remote transfer functionality.
    12	 * @author Abacus Works
    13	 */
    14	abstract contract TokenRouter is GasRouter {
    15	    using TypeCasts for bytes32;
    16	    using TypeCasts for address;
    17	    using TokenMessage for bytes;
    18	
    19	    // ============ KINESIS BRIDGE EXTENSIONS ============
    20	    bytes32 private constant MAX_KADENA_CHAIN_ID_SLOT = keccak256("kinesis.bridge.tokenrouter.maxKadenaChainId");

thinking
**Reviewing initialization lines for MailboxClient**
exec
/bin/bash -lc 'nl -ba @hyperlane-xyz/core/contracts/client/MailboxClient.sol' in /tmp/codex-dh_u7vm4 succeeded in 13ms:
     1	// SPDX-License-Identifier: MIT OR Apache-2.0
     2	pragma solidity >=0.6.11;
     3	
     4	// ============ Internal Imports ============
     5	import {IMailbox} from "../interfaces/IMailbox.sol";
     6	import {IPostDispatchHook} from "../interfaces/hooks/IPostDispatchHook.sol";
     7	import {IInterchainSecurityModule} from "../interfaces/IInterchainSecurityModule.sol";
     8	import {Message} from "../libs/Message.sol";
     9	
    10	// ============ External Imports ============
    11	import {Address} from "@openzeppelin/contracts/utils/Address.sol";
    12	import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
    13	
    14	abstract contract MailboxClient is OwnableUpgradeable {
    15	    using Message for bytes;
    16	
    17	    IMailbox public immutable mailbox;
    18	
    19	    uint32 public immutable localDomain;
    20	

thinking
**Summarizing security findings**

I'm putting together two key findings on upgradeable initialization risks and collateralization issues with fee-on-transfer tokens, citing specific source lines and providing clear exploit scenarios and recommendations in the required JSON format. This will give a concise overview of vulnerabilities related to ownership takeover and token bridging inconsistencies.
codex
{"no_findings":false,"summary":"Found two issues: an unprotected initializer that can allow ownership takeover if deployment isn’t atomically initialized, and a collateralization mismatch when bridging fee‑on‑transfer/rebasing ERC20s.","findings":[{"severity":"high","category":"upgradeability","title":"Unprotected initializer can be hijacked to take ownership","exploit_scenario":"If a proxy (or direct deployment) is left uninitialized, an attacker can call `initialize` to set themselves as owner, then reconfigure hooks/ISM or enroll malicious routers to mint/redirect tokens.","recommendation":"Initialize the proxy atomically at deployment, add `_disableInitializers()` in the implementation constructor, and/or gate `initialize` with `onlyProxy`/`onlyOwner` as appropriate; avoid constructor ownership assignment for proxy-only deployments.","evidence":"`initialize` is public and calls `_MailboxClient_initialize`, which performs `__Ownable_init()` and `_transferOwnership(_owner)` without access control.","locations":["contracts/HypERC20Collateral.sol:26","@hyperlane-xyz/core/contracts/client/MailboxClient.sol:80"]},{"severity":"medium","category":"other","title":"Bridging fee‑on‑transfer/rebasing ERC20s can under‑collateralize","exploit_scenario":"For deflationary tokens, `safeTransferFrom` may deliver less than `_amount`, but the message still mints `_amount` on the destination. Repeated use can create a collateral shortfall and allow draining if other liquidity exists.","recommendation":"Compute the actual received amount via balanceBefore/balanceAfter and use that value in the message, or explicitly restrict to non‑fee‑on‑transfer tokens.","evidence":"`_transferFromSender` transfers `_amount` without checking received amount; `_transferRemote` uses `_amountOrId` to encode the message.","locations":["contracts/HypERC20Collateral.sol:38","contracts/TokenRouter.sol:90"]}]}
tokens used
29,700
Metadata
{
    "codex": {
        "ran_at": "2026-01-11T08:27:27.100487+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "source",
        "file_count": 28,
        "import_count": 34,
        "first_party_contracts_count": 14
    },
    "summary": "Found two issues: an unprotected initializer that can allow ownership takeover if deployment isn\u2019t atomically initialized, and a collateralization mismatch when bridging fee\u2011on\u2011transfer/rebasing ERC20s.",
    "raw_final": {
        "summary": "Found two issues: an unprotected initializer that can allow ownership takeover if deployment isn\u2019t atomically initialized, and a collateralization mismatch when bridging fee\u2011on\u2011transfer/rebasing ERC20s.",
        "findings": [
            {
                "title": "Unprotected initializer can be hijacked to take ownership",
                "category": "upgradeability",
                "evidence": "`initialize` is public and calls `_MailboxClient_initialize`, which performs `__Ownable_init()` and `_transferOwnership(_owner)` without access control.",
                "severity": "high",
                "locations": [
                    "contracts/HypERC20Collateral.sol:26",
                    "@hyperlane-xyz/core/contracts/client/MailboxClient.sol:80"
                ],
                "recommendation": "Initialize the proxy atomically at deployment, add `_disableInitializers()` in the implementation constructor, and/or gate `initialize` with `onlyProxy`/`onlyOwner` as appropriate; avoid constructor ownership assignment for proxy-only deployments.",
                "exploit_scenario": "If a proxy (or direct deployment) is left uninitialized, an attacker can call `initialize` to set themselves as owner, then reconfigure hooks/ISM or enroll malicious routers to mint/redirect tokens."
            },
            {
                "title": "Bridging fee\u2011on\u2011transfer/rebasing ERC20s can under\u2011collateralize",
                "category": "other",
                "evidence": "`_transferFromSender` transfers `_amount` without checking received amount; `_transferRemote` uses `_amountOrId` to encode the message.",
                "severity": "medium",
                "locations": [
                    "contracts/HypERC20Collateral.sol:38",
                    "contracts/TokenRouter.sol:90"
                ],
                "recommendation": "Compute the actual received amount via balanceBefore/balanceAfter and use that value in the message, or explicitly restrict to non\u2011fee\u2011on\u2011transfer tokens.",
                "exploit_scenario": "For deflationary tokens, `safeTransferFrom` may deliver less than `_amount`, but the message still mints `_amount` on the destination. Repeated use can create a collateral shortfall and allow draining if other liquidity exists."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
4
EXT*/BALANCE
4
Total opcodes
5367
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x017b
0000000c: JUMPI
0000000d: PUSH0
0000000e: CALLDATALOAD
0000000f: PUSH1 0xe0
00000011: SHR
00000012: DUP1
00000013: PUSH4 0x80eefc06
00000018: GT
00000019: PUSH2 0x00cd
0000001c: JUMPI
0000001d: DUP1
0000001e: PUSH4 0xc0c53b8b
00000023: GT
00000024: PUSH2 0x0087
00000027: JUMPI
00000028: DUP1
00000029: PUSH4 0xe9198bf9
0000002e: GT
0000002f: PUSH2 0x0062
00000032: JUMPI
00000033: DUP1
00000034: PUSH4 0xe9198bf9
00000039: EQ
0000003a: PUSH2 0x049f
0000003d: JUMPI
0000003e: DUP1
0000003f: PUSH4 0xefae508a
00000044: EQ
00000045: PUSH2 0x04be
00000048: JUMPI
00000049: DUP1
0000004a: PUSH4 0xf2ed8c53
0000004f: EQ
00000050: PUSH2 0x04dd
00000053: JUMPI
00000054: DUP1
00000055: PUSH4 0xf2fde38b
0000005a: EQ
0000005b: PUSH2 0x04fc
0000005e: JUMPI
0000005f: PUSH0
00000060: PUSH0
00000061: REVERT
00000062: JUMPDEST
00000063: DUP1
00000064: PUSH4 0xc0c53b8b
00000069: EQ
0000006a: PUSH2 0x042e
0000006d: JUMPI
0000006e: DUP1
0000006f: PUSH4 0xd5438eae
00000074: EQ
00000075: PUSH2 0x044d
00000078: JUMPI
00000079: DUP1
0000007a: PUSH4 0xde523cf3
0000007f: EQ
00000080: PUSH2 0x0480
00000083: JUMPI
00000084: PUSH0
00000085: PUSH0
00000086: REVERT
00000087: JUMPDEST
00000088: DUP1
00000089: PUSH4 0x80eefc06
0000008e: EQ
0000008f: PUSH2 0x0345
00000092: JUMPI
00000093: DUP1
00000094: PUSH4 0x8d3638f4
00000099: EQ
0000009a: PUSH2 0x0358
0000009d: JUMPI
0000009e: DUP1
0000009f: PUSH4 0x8da5cb5b
000000a4: EQ
000000a5: PUSH2 0x03a0
000000a8: JUMPI
000000a9: DUP1
000000aa: PUSH4 0x996c6cc3
000000af: EQ
000000b0: PUSH2 0x03bd
000000b3: JUMPI
000000b4: DUP1
000000b5: PUSH4 0xb1bd6436
000000ba: EQ
000000bb: PUSH2 0x03f0
000000be: JUMPI
000000bf: DUP1
000000c0: PUSH4 0xb49c53a7
000000c5: EQ
000000c6: PUSH2 0x040f
000000c9: JUMPI
000000ca: PUSH0
000000cb: PUSH0
000000cc: REVERT
000000cd: JUMPDEST
000000ce: DUP1
000000cf: PUSH4 0x49d462ef
000000d4: GT
000000d5: PUSH2 0x0138
000000d8: JUMPI
000000d9: DUP1
000000da: PUSH4 0x715018a6
000000df: GT
000000e0: PUSH2 0x0113
000000e3: JUMPI
000000e4: DUP1
000000e5: PUSH4 0x715018a6
000000ea: EQ
000000eb: PUSH2 0x02b0
000000ee: JUMPI
000000ef: DUP1
000000f0: PUSH4 0x71a15b38
000000f5: EQ
000000f6: PUSH2 0x02c4
000000f9: JUMPI
000000fa: DUP1
000000fb: PUSH4 0x775313a1
00000100: EQ
00000101: PUSH2 0x02e3
00000104: JUMPI
00000105: DUP1
00000106: PUSH4 0x7f5a7c7b
0000010b: EQ
0000010c: PUSH2 0x030e
0000010f: JUMPI
00000110: PUSH0
00000111: PUSH0
00000112: REVERT
00000113: JUMPDEST
00000114: DUP1
00000115: PUSH4 0x49d462ef
0000011a: EQ
0000011b: PUSH2 0x025f
0000011e: JUMPI
0000011f: DUP1
00000120: PUSH4 0x56d5d475
00000125: EQ
00000126: PUSH2 0x027e
00000129: JUMPI
0000012a: DUP1
0000012b: PUSH4 0x70a08231
00000130: EQ
00000131: PUSH2 0x0291
00000134: JUMPI
00000135: PUSH0
00000136: PUSH0
00000137: REVERT
00000138: JUMPDEST
00000139: DUP1
0000013a: PUSH4 0x0e72cc06
0000013f: EQ
00000140: PUSH2 0x017f
00000143: JUMPI
00000144: DUP1
00000145: PUSH4 0x196e8324
0000014a: EQ
0000014b: PUSH2 0x01a0
0000014e: JUMPI
0000014f: DUP1
00000150: PUSH4 0x26a37f2f
00000155: EQ
00000156: PUSH2 0x01d3
00000159: JUMPI
0000015a: DUP1
0000015b: PUSH4 0x2ead72f6
00000160: EQ
00000161: PUSH2 0x01f2
00000164: JUMPI
00000165: DUP1
00000166: PUSH4 0x3dfd3873
0000016b: EQ
0000016c: PUSH2 0x021f
0000016f: JUMPI
00000170: DUP1
00000171: PUSH4 0x440df4f4
00000176: EQ
00000177: PUSH2 0x023e
0000017a: JUMPI
0000017b: JUMPDEST
0000017c: PUSH0
0000017d: PUSH0
0000017e: REVERT
0000017f: JUMPDEST
00000180: CALLVALUE
00000181: DUP1
00000182: ISZERO
00000183: PUSH2 0x018a
00000186: JUMPI
00000187: PUSH0
00000188: PUSH0
00000189: REVERT
0000018a: JUMPDEST
0000018b: POP
0000018c: PUSH2 0x019e
0000018f: PUSH2 0x0199
00000192: CALLDATASIZE
00000193: PUSH1 0x04
00000195: PUSH2 0x1ba0
00000198: JUMP
00000199: JUMPDEST
0000019a: PUSH2 0x051b
0000019d: JUMP
0000019e: JUMPDEST
0000019f: STOP
000001a0: JUMPDEST
000001a1: CALLVALUE
000001a2: DUP1
000001a3: ISZERO
000001a4: PUSH2 0x01ab
000001a7: JUMPI
000001a8: PUSH0
000001a9: PUSH0
000001aa: REVERT
000001ab: JUMPDEST
000001ac: POP
000001ad: PUSH0
000001ae: MLOAD
000001af: PUSH1 0x20
000001b1: PUSH2 0x2227
000001b4: PUSH0
000001b5: CODECOPY
000001b6: PUSH0
000001b7: MLOAD
000001b8: SWAP1
000001b9: PUSH0
000001ba: MSTORE
000001bb: SLOAD
000001bc: PUSH1 0x40
000001be: MLOAD
000001bf: PUSH2 0xffff
000001c2: SWAP1
000001c3: SWAP2
000001c4: AND
000001c5: DUP2
000001c6: MSTORE
000001c7: PUSH1 0x20
000001c9: ADD
000001ca: JUMPDEST
000001cb: PUSH1 0x40
000001cd: MLOAD
000001ce: DUP1
000001cf: SWAP2
000001d0: SUB
000001d1: SWAP1
000001d2: RETURN
000001d3: JUMPDEST
000001d4: CALLVALUE
000001d5: DUP1
000001d6: ISZERO
000001d7: PUSH2 0x01de
000001da: JUMPI
000001db: PUSH0
000001dc: PUSH0
000001dd: REVERT
000001de: JUMPDEST
000001df: POP
000001e0: PUSH2 0x019e
000001e3: PUSH2 0x01ed
000001e6: CALLDATASIZE
000001e7: PUSH1 0x04
000001e9: PUSH2 0x1bca
000001ec: JUMP
000001ed: JUMPDEST
000001ee: PUSH2 0x058b
000001f1: JUMP
000001f2: JUMPDEST
000001f3: CALLVALUE
000001f4: DUP1
000001f5: ISZERO
000001f6: PUSH2 0x01fd
000001f9: JUMPI
000001fa: PUSH0
000001fb: PUSH0
000001fc: REVERT
000001fd: JUMPDEST
000001fe: POP
000001ff: PUSH2 0x0211
00000202: PUSH2 0x020c
00000205: CALLDATASIZE
00000206: PUSH1 0x04
00000208: PUSH2 0x1bf6
0000020b: JUMP
0000020c: JUMPDEST
0000020d: PUSH2 0x067e
00000210: JUMP
00000211: JUMPDEST
00000212: PUSH1 0x40
00000214: MLOAD
00000215: SWAP1
00000216: DUP2
00000217: MSTORE
00000218: PUSH1 0x20
0000021a: ADD
0000021b: PUSH2 0x01ca
0000021e: JUMP
0000021f: JUMPDEST
00000220: CALLVALUE
00000221: DUP1
00000222: ISZERO
00000223: PUSH2 0x022a
00000226: JUMPI
00000227: PUSH0
00000228: PUSH0
00000229: REVERT
0000022a: JUMPDEST
0000022b: POP
0000022c: PUSH2 0x019e
0000022f: PUSH2 0x0239
00000232: CALLDATASIZE
00000233: PUSH1 0x04
00000235: PUSH2 0x1ba0
00000238: JUMP
00000239: JUMPDEST
0000023a: PUSH2 0x069c
0000023d: JUMP
0000023e: JUMPDEST
0000023f: CALLVALUE
00000240: DUP1
00000241: ISZERO
00000242: PUSH2 0x0249
00000245: JUMPI
00000246: PUSH0
00000247: PUSH0
00000248: REVERT
00000249: JUMPDEST
0000024a: POP
0000024b: PUSH2 0x0252
0000024e: PUSH2 0x0703
00000251: JUMP
00000252: JUMPDEST
00000253: PUSH1 0x40
00000255: MLOAD
00000256: PUSH2 0x01ca
00000259: SWAP2
0000025a: SWAP1
0000025b: PUSH2 0x1c0f
0000025e: JUMP
0000025f: JUMPDEST
00000260: CALLVALUE
00000261: DUP1
00000262: ISZERO
00000263: PUSH2 0x026a
00000266: JUMPI
00000267: PUSH0
00000268: PUSH0
00000269: REVERT
0000026a: JUMPDEST
0000026b: POP
0000026c: PUSH2 0x019e
0000026f: PUSH2 0x0279
00000272: CALLDATASIZE
00000273: PUSH1 0x04
00000275: PUSH2 0x1c57
00000278: JUMP
00000279: JUMPDEST
0000027a: PUSH2 0x0714
0000027d: JUMP
0000027e: JUMPDEST
0000027f: PUSH2 0x019e
00000282: PUSH2 0x028c
00000285: CALLDATASIZE
00000286: PUSH1 0x04
00000288: PUSH2 0x1cbd
0000028b: JUMP
0000028c: JUMPDEST
0000028d: PUSH2 0x0739
00000290: JUMP
00000291: JUMPDEST
00000292: CALLVALUE
00000293: DUP1
00000294: ISZERO
00000295: PUSH2 0x029c
00000298: JUMPI
00000299: PUSH0
0000029a: PUSH0
0000029b: REVERT
0000029c: JUMPDEST
0000029d: POP
0000029e: PUSH2 0x0211
000002a1: PUSH2 0x02ab
000002a4: CALLDATASIZE
000002a5: PUSH1 0x04
000002a7: PUSH2 0x1ba0
000002aa: JUMP
000002ab: JUMPDEST
000002ac: PUSH2 0x0837
000002af: JUMP
000002b0: JUMPDEST
000002b1: CALLVALUE
000002b2: DUP1
000002b3: ISZERO
000002b4: PUSH2 0x02bb
000002b7: JUMPI
000002b8: PUSH0
000002b9: PUSH0
000002ba: REVERT
000002bb: JUMPDEST
000002bc: POP
000002bd: PUSH2 0x019e
000002c0: PUSH2 0x08c9
000002c3: JUMP
000002c4: JUMPDEST
000002c5: CALLVALUE
000002c6: DUP1
000002c7: ISZERO
000002c8: PUSH2 0x02cf
000002cb: JUMPI
000002cc: PUSH0
000002cd: PUSH0
000002ce: REVERT
000002cf: JUMPDEST
000002d0: POP
000002d1: PUSH2 0x019e
000002d4: PUSH2 0x02de
000002d7: CALLDATASIZE
000002d8: PUSH1 0x04
000002da: PUSH2 0x1d54
000002dd: JUMP
000002de: JUMPDEST
000002df: PUSH2 0x08dc
000002e2: JUMP
000002e3: JUMPDEST
000002e4: CALLVALUE
000002e5: DUP1
000002e6: ISZERO
000002e7: PUSH2 0x02ee
000002ea: JUMPI
000002eb: PUSH0
000002ec: PUSH0
000002ed: REVERT
000002ee: JUMPDEST
000002ef: POP
000002f0: PUSH2 0x0211
000002f3: PUSH2 0x02fd
000002f6: CALLDATASIZE
000002f7: PUSH1 0x04
000002f9: PUSH2 0x1bf6
000002fc: JUMP
000002fd: JUMPDEST
000002fe: PUSH1 0xca
00000300: PUSH1 0x20
00000302: MSTORE
00000303: PUSH0
00000304: SWAP1
00000305: DUP2
00000306: MSTORE
00000307: PUSH1 0x40
00000309: SWAP1
0000030a: KECCAK256
0000030b: SLOAD
0000030c: DUP2
0000030d: JUMP
0000030e: JUMPDEST
0000030f: CALLVALUE
00000310: DUP1
00000311: ISZERO
00000312: PUSH2 0x0319
00000315: JUMPI
00000316: PUSH0
00000317: PUSH0
00000318: REVERT
00000319: JUMPDEST
0000031a: POP
0000031b: PUSH1 0x65
0000031d: SLOAD
0000031e: PUSH2 0x032d
00000321: SWAP1
00000322: PUSH1 0x01
00000324: PUSH1 0x01
00000326: PUSH1 0xa0
00000328: SHL
00000329: SUB
0000032a: AND
0000032b: DUP2
0000032c: JUMP
0000032d: JUMPDEST
0000032e: PUSH1 0x40
00000330: MLOAD
00000331: PUSH1 0x01
00000333: PUSH1 0x01
00000335: PUSH1 0xa0
00000337: SHL
00000338: SUB
00000339: SWAP1
0000033a: SWAP2
0000033b: AND
0000033c: DUP2
0000033d: MSTORE
0000033e: PUSH1 0x20
00000340: ADD
00000341: PUSH2 0x01ca
00000344: JUMP
00000345: JUMPDEST
00000346: PUSH2 0x0211
00000349: PUSH2 0x0353
0000034c: CALLDATASIZE
0000034d: PUSH1 0x04
0000034f: PUSH2 0x1d93
00000352: JUMP
00000353: JUMPDEST
00000354: PUSH2 0x0936
00000357: JUMP
00000358: JUMPDEST
00000359: CALLVALUE
0000035a: DUP1
0000035b: ISZERO
0000035c: PUSH2 0x0363
0000035f: JUMPI
00000360: PUSH0
00000361: PUSH0
00000362: REVERT
00000363: JUMPDEST
00000364: POP
00000365: PUSH2 0x038b
00000368: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000001
00000389: DUP2
0000038a: JUMP
0000038b: JUMPDEST
0000038c: PUSH1 0x40
0000038e: MLOAD
0000038f: PUSH4 0xffffffff
00000394: SWAP1
00000395: SWAP2
00000396: AND
00000397: DUP2
00000398: MSTORE
00000399: PUSH1 0x20
0000039b: ADD
0000039c: PUSH2 0x01ca
0000039f: JUMP
000003a0: JUMPDEST
000003a1: CALLVALUE
000003a2: DUP1
000003a3: ISZERO
000003a4: PUSH2 0x03ab
000003a7: JUMPI
000003a8: PUSH0
000003a9: PUSH0
000003aa: REVERT
000003ab: JUMPDEST
000003ac: POP
000003ad: PUSH1 0x33
000003af: SLOAD
000003b0: PUSH1 0x01
000003b2: PUSH1 0x01
000003b4: PUSH1 0xa0
000003b6: SHL
000003b7: SUB
000003b8: AND
000003b9: PUSH2 0x032d
000003bc: JUMP
000003bd: JUMPDEST
000003be: CALLVALUE
000003bf: DUP1
000003c0: ISZERO
000003c1: PUSH2 0x03c8
000003c4: JUMPI
000003c5: PUSH0
000003c6: PUSH0
000003c7: REVERT
000003c8: JUMPDEST
000003c9: POP
000003ca: PUSH2 0x032d
000003cd: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
000003ee: DUP2
000003ef: JUMP
000003f0: JUMPDEST
000003f1: CALLVALUE
000003f2: DUP1
000003f3: ISZERO
000003f4: PUSH2 0x03fb
000003f7: JUMPI
000003f8: PUSH0
000003f9: PUSH0
000003fa: REVERT
000003fb: JUMPDEST
000003fc: POP
000003fd: PUSH2 0x019e
00000400: PUSH2 0x040a
00000403: CALLDATASIZE
00000404: PUSH1 0x04
00000406: PUSH2 0x1dfc
00000409: JUMP
0000040a: JUMPDEST
0000040b: PUSH2 0x094f
0000040e: JUMP
0000040f: JUMPDEST
00000410: CALLVALUE
00000411: DUP1
00000412: ISZERO
00000413: PUSH2 0x041a
00000416: JUMPI
00000417: PUSH0
00000418: PUSH0
00000419: REVERT
0000041a: JUMPDEST
0000041b: POP
0000041c: PUSH2 0x019e
0000041f: PUSH2 0x0429
00000422: CALLDATASIZE
00000423: PUSH1 0x04
00000425: PUSH2 0x1c57
00000428: JUMP
00000429: JUMPDEST
0000042a: PUSH2 0x09d7
0000042d: JUMP
0000042e: JUMPDEST
0000042f: CALLVALUE
00000430: DUP1
00000431: ISZERO
00000432: PUSH2 0x0439
00000435: JUMPI
00000436: PUSH0
00000437: PUSH0
00000438: REVERT
00000439: JUMPDEST
0000043a: POP
0000043b: PUSH2 0x019e
0000043e: PUSH2 0x0448
00000441: CALLDATASIZE
00000442: PUSH1 0x04
00000444: PUSH2 0x1e6d
00000447: JUMP
00000448: JUMPDEST
00000449: PUSH2 0x09e9
0000044c: JUMP
0000044d: JUMPDEST
0000044e: CALLVALUE
0000044f: DUP1
00000450: ISZERO
00000451: PUSH2 0x0458
00000454: JUMPI
00000455: PUSH0
00000456: PUSH0
00000457: REVERT
00000458: JUMPDEST
00000459: POP
0000045a: PUSH2 0x032d
0000045d: PUSH32 0x00000000000000000000000082a729a4c7b2aebddbfccf533e7b75c61c45c23c
0000047e: DUP2
0000047f: JUMP
00000480: JUMPDEST
00000481: CALLVALUE
00000482: DUP1
00000483: ISZERO
00000484: PUSH2 0x048b
00000487: JUMPI
00000488: PUSH0
00000489: PUSH0
0000048a: REVERT
0000048b: JUMPDEST
0000048c: POP
0000048d: PUSH1 0x66
0000048f: SLOAD
00000490: PUSH2 0x032d
00000493: SWAP1
00000494: PUSH1 0x01
00000496: PUSH1 0x01
00000498: PUSH1 0xa0
0000049a: SHL
0000049b: SUB
0000049c: AND
0000049d: DUP2
0000049e: JUMP
0000049f: JUMPDEST
000004a0: CALLVALUE
000004a1: DUP1
000004a2: ISZERO
000004a3: PUSH2 0x04aa
000004a6: JUMPI
000004a7: PUSH0
000004a8: PUSH0
000004a9: REVERT
000004aa: JUMPDEST
000004ab: POP
000004ac: PUSH2 0x019e
000004af: PUSH2 0x04b9
000004b2: CALLDATASIZE
000004b3: PUSH1 0x04
000004b5: PUSH2 0x1ead
000004b8: JUMP
000004b9: JUMPDEST
000004ba: PUSH2 0x0af9
000004bd: JUMP
000004be: JUMPDEST
000004bf: CALLVALUE
000004c0: DUP1
000004c1: ISZERO
000004c2: PUSH2 0x04c9
000004c5: JUMPI
000004c6: PUSH0
000004c7: PUSH0
000004c8: REVERT
000004c9: JUMPDEST
000004ca: POP
000004cb: PUSH2 0x019e
000004ce: PUSH2 0x04d8
000004d1: CALLDATASIZE
000004d2: PUSH1 0x04
000004d4: PUSH2 0x1bf6
000004d7: JUMP
000004d8: JUMPDEST
000004d9: PUSH2 0x0ba7
000004dc: JUMP
000004dd: JUMPDEST
000004de: CALLVALUE
000004df: DUP1
000004e0: ISZERO
000004e1: PUSH2 0x04e8
000004e4: JUMPI
000004e5: PUSH0
000004e6: PUSH0
000004e7: REVERT
000004e8: JUMPDEST
000004e9: POP
000004ea: PUSH2 0x0211
000004ed: PUSH2 0x04f7
000004f0: CALLDATASIZE
000004f1: PUSH1 0x04
000004f3: PUSH2 0x1bf6
000004f6: JUMP
000004f7: JUMPDEST
000004f8: PUSH2 0x0bbb
000004fb: JUMP
000004fc: JUMPDEST
000004fd: CALLVALUE
000004fe: DUP1
000004ff: ISZERO
00000500: PUSH2 0x0507
00000503: JUMPI
00000504: PUSH0
00000505: PUSH0
00000506: REVERT
00000507: JUMPDEST
00000508: POP
00000509: PUSH2 0x019e
0000050c: PUSH2 0x0516
0000050f: CALLDATASIZE
00000510: PUSH1 0x04
00000512: PUSH2 0x1ba0
00000515: JUMP
00000516: JUMPDEST
00000517: PUSH2 0x0bd4
0000051a: JUMP
0000051b: JUMPDEST
0000051c: DUP1
0000051d: PUSH1 0x01
0000051f: PUSH1 0x01
00000521: PUSH1 0xa0
00000523: SHL
00000524: SUB
00000525: DUP2
00000526: AND
00000527: EXTCODESIZE
00000528: ISZERO
00000529: ISZERO
0000052a: DUP1
0000052b: PUSH2 0x053b
0000052e: JUMPI
0000052f: POP
00000530: PUSH1 0x01
00000532: PUSH1 0x01
00000534: PUSH1 0xa0
00000536: SHL
00000537: SUB
00000538: DUP2
00000539: AND
0000053a: ISZERO
0000053b: JUMPDEST
0000053c: PUSH2 0x0560
0000053f: JUMPI
00000540: PUSH1 0x40
00000542: MLOAD
00000543: PUSH3 0x461bcd
00000547: PUSH1 0xe5
00000549: SHL
0000054a: DUP2
0000054b: MSTORE
0000054c: PUSH1 0x04
0000054e: ADD
0000054f: PUSH2 0x0557
00000552: SWAP1
00000553: PUSH2 0x1f0d
00000556: JUMP
00000557: JUMPDEST
00000558: PUSH1 0x40
0000055a: MLOAD
0000055b: DUP1
0000055c: SWAP2
0000055d: SUB
0000055e: SWAP1
0000055f: REVERT
00000560: JUMPDEST
00000561: PUSH2 0x0568
00000564: PUSH2 0x0c4a
00000567: JUMP
00000568: JUMPDEST
00000569: POP
0000056a: PUSH1 0x66
0000056c: DUP1
0000056d: SLOAD
0000056e: PUSH1 0x01
00000570: PUSH1 0x01
00000572: PUSH1 0xa0
00000574: SHL
00000575: SUB
00000576: NOT
00000577: AND
00000578: PUSH1 0x01
0000057a: PUSH1 0x01
0000057c: PUSH1 0xa0
0000057e: SHL
0000057f: SUB
00000580: SWAP3
00000581: SWAP1
00000582: SWAP3
00000583: AND
00000584: SWAP2
00000585: SWAP1
00000586: SWAP2
00000587: OR
00000588: SWAP1
00000589: SSTORE
0000058a: JUMP
0000058b: JUMPDEST
0000058c: PUSH2 0x0593
0000058f: PUSH2 0x0c4a
00000592: JUMP
00000593: JUMPDEST
00000594: PUSH0
00000595: PUSH2 0x05a9
00000598: PUSH0
00000599: MLOAD
0000059a: PUSH1 0x20
0000059c: PUSH2 0x2227
0000059f: PUSH0
000005a0: CODECOPY
000005a1: PUSH0
000005a2: MLOAD
000005a3: SWAP1
000005a4: PUSH0
000005a5: MSTORE
000005a6: SLOAD
000005a7: SWAP1
000005a8: JUMP
000005a9: JUMPDEST
000005aa: SWAP1
000005ab: POP
000005ac: DUP2
000005ad: PUSH2 0xffff
000005b0: AND
000005b1: DUP2
000005b2: PUSH2 0xffff
000005b5: AND
000005b6: SUB
000005b7: PUSH2 0x0636
000005ba: JUMPI
000005bb: PUSH1 0x40
000005bd: MLOAD
000005be: PUSH3 0x461bcd
000005c2: PUSH1 0xe5
000005c4: SHL
000005c5: DUP2
000005c6: MSTORE
000005c7: PUSH1 0x20
000005c9: PUSH1 0x04
000005cb: DUP3
000005cc: ADD
000005cd: MSTORE
000005ce: PUSH1 0x45
000005d0: PUSH1 0x24
000005d2: DUP3
000005d3: ADD
000005d4: MSTORE
000005d5: PUSH32 0x546f6b656e526f757465723a206e6577206d617820636861696e204944206973
000005f6: PUSH1 0x44
000005f8: DUP3
000005f9: ADD
000005fa: MSTORE
000005fb: PUSH32 0x207468652073616d65206173207468652063757272656e74206d617820636861
0000061c: PUSH1 0x64
0000061e: DUP3
0000061f: ADD
00000620: MSTORE
00000621: PUSH5 0x1a5b881251
00000627: PUSH1 0xda
00000629: SHL
0000062a: PUSH1 0x84
0000062c: DUP3
0000062d: ADD
0000062e: MSTORE
0000062f: PUSH1 0xa4
00000631: ADD
00000632: PUSH2 0x0557
00000635: JUMP
00000636: JUMPDEST
00000637: PUSH2 0xffff
0000063a: DUP3
0000063b: DUP2
0000063c: AND
0000063d: PUSH0
0000063e: MLOAD
0000063f: PUSH1 0x20
00000641: PUSH2 0x2227
00000644: PUSH0
00000645: CODECOPY
00000646: PUSH0
00000647: MLOAD
00000648: SWAP1
00000649: PUSH0
0000064a: MSTORE
0000064b: DUP2
0000064c: SWAP1
0000064d: SSTORE
0000064e: PUSH1 0x40
00000650: MLOAD
00000651: SWAP1
00000652: SWAP2
00000653: DUP4
00000654: AND
00000655: SWAP1
00000656: PUSH32 0x062c862f8c08cb06f36eb1bbc2a43482920f49bbb671af97288cdeeea8540f98
00000677: SWAP1
00000678: PUSH0
00000679: SWAP1
0000067a: LOG3
0000067b: POP
0000067c: POP
0000067d: JUMP
0000067e: JUMPDEST
0000067f: PUSH0
00000680: DUP1
00000681: PUSH2 0x0694
00000684: PUSH1 0x97
00000686: PUSH4 0xffffffff
0000068b: DUP1
0000068c: DUP7
0000068d: AND
0000068e: SWAP1
0000068f: PUSH2 0x0ca4
00000692: AND
00000693: JUMP
00000694: JUMPDEST
00000695: SWAP5
00000696: SWAP4
00000697: POP
00000698: POP
00000699: POP
0000069a: POP
0000069b: JUMP
0000069c: JUMPDEST
0000069d: DUP1
0000069e: PUSH1 0x01
000006a0: PUSH1 0x01
000006a2: PUSH1 0xa0
000006a4: SHL
000006a5: SUB
000006a6: DUP2
000006a7: AND
000006a8: EXTCODESIZE
000006a9: ISZERO
000006aa: ISZERO
000006ab: DUP1
000006ac: PUSH2 0x06bc
000006af: JUMPI
000006b0: POP
000006b1: PUSH1 0x01
000006b3: PUSH1 0x01
000006b5: PUSH1 0xa0
000006b7: SHL
000006b8: SUB
000006b9: DUP2
000006ba: AND
000006bb: ISZERO
000006bc: JUMPDEST
000006bd: PUSH2 0x06d8
000006c0: JUMPI
000006c1: PUSH1 0x40
000006c3: MLOAD
000006c4: PUSH3 0x461bcd
000006c8: PUSH1 0xe5
000006ca: SHL
000006cb: DUP2
000006cc: MSTORE
000006cd: PUSH1 0x04
000006cf: ADD
000006d0: PUSH2 0x0557
000006d3: SWAP1
000006d4: PUSH2 0x1f0d
000006d7: JUMP
000006d8: JUMPDEST
000006d9: PUSH2 0x06e0
000006dc: PUSH2 0x0c4a
000006df: JUMP
000006e0: JUMPDEST
000006e1: POP
000006e2: PUSH1 0x65
000006e4: DUP1
000006e5: SLOAD
000006e6: PUSH1 0x01
000006e8: PUSH1 0x01
000006ea: PUSH1 0xa0
000006ec: SHL
000006ed: SUB
000006ee: NOT
000006ef: AND
000006f0: PUSH1 0x01
000006f2: PUSH1 0x01
000006f4: PUSH1 0xa0
000006f6: SHL
000006f7: SUB
000006f8: SWAP3
000006f9: SWAP1
000006fa: SWAP3
000006fb: AND
000006fc: SWAP2
000006fd: SWAP1
000006fe: SWAP2
000006ff: OR
00000700: SWAP1
00000701: SSTORE
00000702: JUMP
00000703: JUMPDEST
00000704: PUSH1 0x60
00000706: PUSH2 0x070f
00000709: PUSH1 0x97
0000070b: PUSH2 0x0cbc
0000070e: JUMP
0000070f: JUMPDEST
00000710: SWAP1
00000711: POP
00000712: SWAP1
00000713: JUMP
00000714: JUMPDEST
00000715: PUSH2 0x071c
00000718: PUSH2 0x0c4a
0000071b: JUMP
0000071c: JUMPDEST
0000071d: PUSH4 0xffffffff
00000722: SWAP2
00000723: SWAP1
00000724: SWAP2
00000725: AND
00000726: PUSH0
00000727: SWAP1
00000728: DUP2
00000729: MSTORE
0000072a: PUSH1 0xca
0000072c: PUSH1 0x20
0000072e: MSTORE
0000072f: PUSH1 0x40
00000731: SWAP1
00000732: KECCAK256
00000733: SSTORE
00000734: JUMP
00000735: JUMPDEST
00000736: POP
00000737: POP
00000738: JUMP
00000739: JUMPDEST
0000073a: CALLER
0000073b: PUSH1 0x01
0000073d: PUSH1 0x01
0000073f: PUSH1 0xa0
00000741: SHL
00000742: SUB
00000743: PUSH32 0x00000000000000000000000082a729a4c7b2aebddbfccf533e7b75c61c45c23c
00000764: AND
00000765: EQ
00000766: PUSH2 0x07bb
00000769: JUMPI
0000076a: PUSH1 0x40
0000076c: MLOAD
0000076d: PUSH3 0x461bcd
00000771: PUSH1 0xe5
00000773: SHL
00000774: DUP2
00000775: MSTORE
00000776: PUSH1 0x20
00000778: PUSH1 0x04
0000077a: DUP3
0000077b: ADD
0000077c: MSTORE
0000077d: PUSH1 0x21
0000077f: PUSH1 0x24
00000781: DUP3
00000782: ADD
00000783: MSTORE
00000784: PUSH32 0x4d61696c626f78436c69656e743a2073656e646572206e6f74206d61696c626f
000007a5: PUSH1 0x44
000007a7: DUP3
000007a8: ADD
000007a9: MSTORE
000007aa: PUSH1 0x0f
000007ac: PUSH1 0xfb
000007ae: SHL
000007af: PUSH1 0x64
000007b1: DUP3
000007b2: ADD
000007b3: MSTORE
000007b4: PUSH1 0x84
000007b6: ADD
000007b7: PUSH2 0x0557
000007ba: JUMP
000007bb: JUMPDEST
000007bc: PUSH0
000007bd: PUSH2 0x07c5
000007c0: DUP6
000007c1: PUSH2 0x0d6b
000007c4: JUMP
000007c5: JUMPDEST
000007c6: SWAP1
000007c7: POP
000007c8: DUP4
000007c9: DUP2
000007ca: EQ
000007cb: PUSH2 0x0824
000007ce: JUMPI
000007cf: PUSH1 0x40
000007d1: MLOAD
000007d2: PUSH3 0x461bcd
000007d6: PUSH1 0xe5
000007d8: SHL
000007d9: DUP2
000007da: MSTORE
000007db: PUSH1 0x20
000007dd: PUSH1 0x04
000007df: DUP3
000007e0: ADD
000007e1: MSTORE
000007e2: PUSH1 0x25
000007e4: PUSH1 0x24
000007e6: DUP3
000007e7: ADD
000007e8: MSTORE
000007e9: PUSH32 0x456e726f6c6c656420726f7574657220646f6573206e6f74206d617463682073
0000080a: PUSH1 0x44
0000080c: DUP3
0000080d: ADD
0000080e: MSTORE
0000080f: PUSH5 0x32b73232b9
00000815: PUSH1 0xd9
00000817: SHL
00000818: PUSH1 0x64
0000081a: DUP3
0000081b: ADD
0000081c: MSTORE
0000081d: PUSH1 0x84
0000081f: ADD
00000820: PUSH2 0x0557
00000823: JUMP
00000824: JUMPDEST
00000825: PUSH2 0x0830
00000828: DUP6
00000829: DUP6
0000082a: DUP6
0000082b: DUP6
0000082c: PUSH2 0x0db6
0000082f: JUMP
00000830: JUMPDEST
00000831: POP
00000832: POP
00000833: POP
00000834: POP
00000835: POP
00000836: JUMP
00000837: JUMPDEST
00000838: PUSH1 0x40
0000083a: MLOAD
0000083b: PUSH4 0x70a08231
00000840: PUSH1 0xe0
00000842: SHL
00000843: DUP2
00000844: MSTORE
00000845: PUSH1 0x01
00000847: PUSH1 0x01
00000849: PUSH1 0xa0
0000084b: SHL
0000084c: SUB
0000084d: DUP3
0000084e: DUP2
0000084f: AND
00000850: PUSH1 0x04
00000852: DUP4
00000853: ADD
00000854: MSTORE
00000855: PUSH0
00000856: SWAP2
00000857: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
00000878: SWAP1
00000879: SWAP2
0000087a: AND
0000087b: SWAP1
0000087c: PUSH4 0x70a08231
00000881: SWAP1
00000882: PUSH1 0x24
00000884: ADD
00000885: PUSH1 0x20
00000887: PUSH1 0x40
00000889: MLOAD
0000088a: DUP1
0000088b: DUP4
0000088c: SUB
0000088d: DUP2
0000088e: DUP7
0000088f: GAS
00000890: STATICCALL
00000891: ISZERO
00000892: DUP1
00000893: ISZERO
00000894: PUSH2 0x089f
00000897: JUMPI
00000898: RETURNDATASIZE
00000899: PUSH0
0000089a: PUSH0
0000089b: RETURNDATACOPY
0000089c: RETURNDATASIZE
0000089d: PUSH0
0000089e: REVERT
0000089f: JUMPDEST
000008a0: POP
000008a1: POP
000008a2: POP
000008a3: POP
000008a4: PUSH1 0x40
000008a6: MLOAD
000008a7: RETURNDATASIZE
000008a8: PUSH1 0x1f
000008aa: NOT
000008ab: PUSH1 0x1f
000008ad: DUP3
000008ae: ADD
000008af: AND
000008b0: DUP3
000008b1: ADD
000008b2: DUP1
000008b3: PUSH1 0x40
000008b5: MSTORE
000008b6: POP
000008b7: DUP2
000008b8: ADD
000008b9: SWAP1
000008ba: PUSH2 0x08c3
000008bd: SWAP2
000008be: SWAP1
000008bf: PUSH2 0x1f54
000008c2: JUMP
000008c3: JUMPDEST
000008c4: SWAP3
000008c5: SWAP2
000008c6: POP
000008c7: POP
000008c8: JUMP
000008c9: JUMPDEST
000008ca: PUSH2 0x08d1
000008cd: PUSH2 0x0c4a
000008d0: JUMP
000008d1: JUMPDEST
000008d2: PUSH2 0x08da
000008d5: PUSH0
000008d6: PUSH2 0x0e3d
000008d9: JUMP
000008da: JUMPDEST
000008db: JUMP
000008dc: JUMPDEST
000008dd: PUSH2 0x08e4
000008e0: PUSH2 0x0c4a
000008e3: JUMP
000008e4: JUMPDEST
000008e5: DUP1
000008e6: PUSH0
000008e7: JUMPDEST
000008e8: DUP2
000008e9: DUP2
000008ea: LT
000008eb: ISZERO
000008ec: PUSH2 0x0930
000008ef: JUMPI
000008f0: PUSH2 0x091e
000008f3: DUP5
000008f4: DUP5
000008f5: DUP4
000008f6: DUP2
000008f7: DUP2
000008f8: LT
000008f9: PUSH2 0x0904
000008fc: JUMPI
000008fd: PUSH2 0x0904
00000900: PUSH2 0x1f6b
00000903: JUMP
00000904: JUMPDEST
00000905: SWAP1
00000906: POP
00000907: PUSH1 0x20
00000909: MUL
0000090a: ADD
0000090b: PUSH1 0x20
0000090d: DUP2
0000090e: ADD
0000090f: SWAP1
00000910: PUSH2 0x0919
00000913: SWAP2
00000914: SWAP1
00000915: PUSH2 0x1bf6
00000918: JUMP
00000919: JUMPDEST
0000091a: PUSH2 0x0e8e
0000091d: JUMP
0000091e: JUMPDEST
0000091f: PUSH2 0x0929
00000922: PUSH1 0x01
00000924: DUP3
00000925: PUSH2 0x1f93
00000928: JUMP
00000929: JUMPDEST
0000092a: SWAP1
0000092b: POP
0000092c: PUSH2 0x08e7
0000092f: JUMP
00000930: JUMPDEST
00000931: POP
00000932: POP
00000933: POP
00000934: POP
00000935: JUMP
00000936: JUMPDEST
00000937: PUSH0
00000938: PUSH2 0x0945
0000093b: DUP7
0000093c: DUP7
0000093d: DUP7
0000093e: DUP7
0000093f: DUP7
00000940: CALLVALUE
00000941: PUSH2 0x0ec9
00000944: JUMP
00000945: JUMPDEST
00000946: SWAP7
00000947: SWAP6
00000948: POP
00000949: POP
0000094a: POP
0000094b: POP
0000094c: POP
0000094d: POP
0000094e: JUMP
0000094f: JUMPDEST
00000950: PUSH2 0x0957
00000953: PUSH2 0x0c4a
00000956: JUMP
00000957: JUMPDEST
00000958: PUSH0
00000959: JUMPDEST
0000095a: DUP2
0000095b: DUP2
0000095c: LT
0000095d: ISZERO
0000095e: PUSH2 0x09d2
00000961: JUMPI
00000962: PUSH2 0x09c0
00000965: DUP4
00000966: DUP4
00000967: DUP4
00000968: DUP2
00000969: DUP2
0000096a: LT
0000096b: PUSH2 0x0976
0000096e: JUMPI
0000096f: PUSH2 0x0976
00000972: PUSH2 0x1f6b
00000975: JUMP
00000976: JUMPDEST
00000977: PUSH2 0x098c
0000097a: SWAP3
0000097b: PUSH1 0x20
0000097d: PUSH1 0x40
0000097f: SWAP1
00000980: SWAP3
00000981: MUL
00000982: ADD
00000983: SWAP1
00000984: DUP2
00000985: ADD
00000986: SWAP2
00000987: POP
00000988: PUSH2 0x1bf6
0000098b: JUMP
0000098c: JUMPDEST
0000098d: DUP5
0000098e: DUP5
0000098f: DUP5
00000990: DUP2
00000991: DUP2
00000992: LT
00000993: PUSH2 0x099e
00000996: JUMPI
00000997: PUSH2 0x099e
0000099a: PUSH2 0x1f6b
0000099d: JUMP
0000099e: JUMPDEST
0000099f: SWAP1
000009a0: POP
000009a1: PUSH1 0x40
000009a3: MUL
000009a4: ADD
000009a5: PUSH1 0x20
000009a7: ADD
000009a8: CALLDATALOAD
000009a9: PUSH4 0xffffffff
000009ae: SWAP1
000009af: SWAP2
000009b0: AND
000009b1: PUSH0
000009b2: SWAP1
000009b3: DUP2
000009b4: MSTORE
000009b5: PUSH1 0xca
000009b7: PUSH1 0x20
000009b9: MSTORE
000009ba: PUSH1 0x40
000009bc: SWAP1
000009bd: KECCAK256
000009be: SSTORE
000009bf: JUMP
000009c0: JUMPDEST
000009c1: PUSH2 0x09cb
000009c4: PUSH1 0x01
000009c6: DUP3
000009c7: PUSH2 0x1f93
000009ca: JUMP
000009cb: JUMPDEST
000009cc: SWAP1
000009cd: POP
000009ce: PUSH2 0x0959
000009d1: JUMP
000009d2: JUMPDEST
000009d3: POP
000009d4: POP
000009d5: POP
000009d6: JUMP
000009d7: JUMPDEST
000009d8: PUSH2 0x09df
000009db: PUSH2 0x0c4a
000009de: JUMP
000009df: JUMPDEST
000009e0: PUSH2 0x0735
000009e3: DUP3
000009e4: DUP3
000009e5: PUSH2 0x0f4c
000009e8: JUMP
000009e9: JUMPDEST
000009ea: PUSH0
000009eb: SLOAD
000009ec: PUSH2 0x0100
000009ef: SWAP1
000009f0: DIV
000009f1: PUSH1 0xff
000009f3: AND
000009f4: ISZERO
000009f5: DUP1
000009f6: DUP1
000009f7: ISZERO
000009f8: PUSH2 0x0a07
000009fb: JUMPI
000009fc: POP
000009fd: PUSH0
000009fe: SLOAD
000009ff: PUSH1 0x01
00000a01: PUSH1 0xff
00000a03: SWAP1
00000a04: SWAP2
00000a05: AND
00000a06: LT
00000a07: JUMPDEST
00000a08: DUP1
00000a09: PUSH2 0x0a20
00000a0c: JUMPI
00000a0d: POP
00000a0e: ADDRESS
00000a0f: EXTCODESIZE
00000a10: ISZERO
00000a11: DUP1
00000a12: ISZERO
00000a13: PUSH2 0x0a20
00000a16: JUMPI
00000a17: POP
00000a18: PUSH0
00000a19: SLOAD
00000a1a: PUSH1 0xff
00000a1c: AND
00000a1d: PUSH1 0x01
00000a1f: EQ
00000a20: JUMPDEST
00000a21: PUSH2 0x0a83
00000a24: JUMPI
00000a25: PUSH1 0x40
00000a27: MLOAD
00000a28: PUSH3 0x461bcd
00000a2c: PUSH1 0xe5
00000a2e: SHL
00000a2f: DUP2
00000a30: MSTORE
00000a31: PUSH1 0x20
00000a33: PUSH1 0x04
00000a35: DUP3
00000a36: ADD
00000a37: MSTORE
00000a38: PUSH1 0x2e
00000a3a: PUSH1 0x24
00000a3c: DUP3
00000a3d: ADD
00000a3e: MSTORE
00000a3f: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561
00000a60: PUSH1 0x44
00000a62: DUP3
00000a63: ADD
00000a64: MSTORE
00000a65: PUSH14 0x191e481a5b9a5d1a585b1a5e9959
00000a74: PUSH1 0x92
00000a76: SHL
00000a77: PUSH1 0x64
00000a79: DUP3
00000a7a: ADD
00000a7b: MSTORE
00000a7c: PUSH1 0x84
00000a7e: ADD
00000a7f: PUSH2 0x0557
00000a82: JUMP
00000a83: JUMPDEST
00000a84: PUSH0
00000a85: DUP1
00000a86: SLOAD
00000a87: PUSH1 0xff
00000a89: NOT
00000a8a: AND
00000a8b: PUSH1 0x01
00000a8d: OR
00000a8e: SWAP1
00000a8f: SSTORE
00000a90: DUP1
00000a91: ISZERO
00000a92: PUSH2 0x0aa4
00000a95: JUMPI
00000a96: PUSH0
00000a97: DUP1
00000a98: SLOAD
00000a99: PUSH2 0xff00
00000a9c: NOT
00000a9d: AND
00000a9e: PUSH2 0x0100
00000aa1: OR
00000aa2: SWAP1
00000aa3: SSTORE
00000aa4: JUMPDEST
00000aa5: PUSH2 0x0aaf
00000aa8: DUP5
00000aa9: DUP5
00000aaa: DUP5
00000aab: PUSH2 0x0f62
00000aae: JUMP
00000aaf: JUMPDEST
00000ab0: DUP1
00000ab1: ISZERO
00000ab2: PUSH2 0x0930
00000ab5: JUMPI
00000ab6: PUSH0
00000ab7: DUP1
00000ab8: SLOAD
00000ab9: PUSH2 0xff00
00000abc: NOT
00000abd: AND
00000abe: SWAP1
00000abf: SSTORE
00000ac0: PUSH1 0x40
00000ac2: MLOAD
00000ac3: PUSH1 0x01
00000ac5: DUP2
00000ac6: MSTORE
00000ac7: PUSH32 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498
00000ae8: SWAP1
00000ae9: PUSH1 0x20
00000aeb: ADD
00000aec: PUSH1 0x40
00000aee: MLOAD
00000aef: DUP1
00000af0: SWAP2
00000af1: SUB
00000af2: SWAP1
00000af3: LOG1
00000af4: POP
00000af5: POP
00000af6: POP
00000af7: POP
00000af8: JUMP
00000af9: JUMPDEST
00000afa: PUSH2 0x0b01
00000afd: PUSH2 0x0c4a
00000b00: JUMP
00000b01: JUMPDEST
00000b02: DUP3
00000b03: DUP2
00000b04: EQ
00000b05: PUSH2 0x0b3a
00000b08: JUMPI
00000b09: PUSH1 0x40
00000b0b: MLOAD
00000b0c: PUSH3 0x461bcd
00000b10: PUSH1 0xe5
00000b12: SHL
00000b13: DUP2
00000b14: MSTORE
00000b15: PUSH1 0x20
00000b17: PUSH1 0x04
00000b19: DUP3
00000b1a: ADD
00000b1b: MSTORE
00000b1c: PUSH1 0x07
00000b1e: PUSH1 0x24
00000b20: DUP3
00000b21: ADD
00000b22: MSTORE
00000b23: PUSH7 0x042d8cadccee8d
00000b2b: PUSH1 0xcb
00000b2d: SHL
00000b2e: PUSH1 0x44
00000b30: DUP3
00000b31: ADD
00000b32: MSTORE
00000b33: PUSH1 0x64
00000b35: ADD
00000b36: PUSH2 0x0557
00000b39: JUMP
00000b3a: JUMPDEST
00000b3b: DUP3
00000b3c: PUSH0
00000b3d: JUMPDEST
00000b3e: DUP2
00000b3f: DUP2
00000b40: LT
00000b41: ISZERO
00000b42: PUSH2 0x0b9f
00000b45: JUMPI
00000b46: PUSH2 0x0b8d
00000b49: DUP7
00000b4a: DUP7
00000b4b: DUP4
00000b4c: DUP2
00000b4d: DUP2
00000b4e: LT
00000b4f: PUSH2 0x0b5a
00000b52: JUMPI
00000b53: PUSH2 0x0b5a
00000b56: PUSH2 0x1f6b
00000b59: JUMP
00000b5a: JUMPDEST
00000b5b: SWAP1
00000b5c: POP
00000b5d: PUSH1 0x20
00000b5f: MUL
00000b60: ADD
00000b61: PUSH1 0x20
00000b63: DUP2
00000b64: ADD
00000b65: SWAP1
00000b66: PUSH2 0x0b6f
00000b69: SWAP2
00000b6a: SWAP1
00000b6b: PUSH2 0x1bf6
00000b6e: JUMP
00000b6f: JUMPDEST
00000b70: DUP6
00000b71: DUP6
00000b72: DUP5
00000b73: DUP2
00000b74: DUP2
00000b75: LT
00000b76: PUSH2 0x0b81
00000b79: JUMPI
00000b7a: PUSH2 0x0b81
00000b7d: PUSH2 0x1f6b
00000b80: JUMP
00000b81: JUMPDEST
00000b82: SWAP1
00000b83: POP
00000b84: PUSH1 0x20
00000b86: MUL
00000b87: ADD
00000b88: CALLDATALOAD
00000b89: PUSH2 0x0f4c
00000b8c: JUMP
00000b8d: JUMPDEST
00000b8e: PUSH2 0x0b98
00000b91: PUSH1 0x01
00000b93: DUP3
00000b94: PUSH2 0x1f93
00000b97: JUMP
00000b98: JUMPDEST
00000b99: SWAP1
00000b9a: POP
00000b9b: PUSH2 0x0b3d
00000b9e: JUMP
00000b9f: JUMPDEST
00000ba0: POP
00000ba1: POP
00000ba2: POP
00000ba3: POP
00000ba4: POP
00000ba5: POP
00000ba6: JUMP
00000ba7: JUMPDEST
00000ba8: PUSH2 0x0baf
00000bab: PUSH2 0x0c4a
00000bae: JUMP
00000baf: JUMPDEST
00000bb0: PUSH2 0x0bb8
00000bb3: DUP2
00000bb4: PUSH2 0x0e8e
00000bb7: JUMP
00000bb8: JUMPDEST
00000bb9: POP
00000bba: JUMP
00000bbb: JUMPDEST
00000bbc: PUSH0
00000bbd: PUSH2 0x08c3
00000bc0: DUP3
00000bc1: PUSH1 0x40
00000bc3: MLOAD
00000bc4: DUP1
00000bc5: PUSH1 0x20
00000bc7: ADD
00000bc8: PUSH1 0x40
00000bca: MSTORE
00000bcb: DUP1
00000bcc: PUSH0
00000bcd: DUP2
00000bce: MSTORE
00000bcf: POP
00000bd0: PUSH2 0x0fab
00000bd3: JUMP
00000bd4: JUMPDEST
00000bd5: PUSH2 0x0bdc
00000bd8: PUSH2 0x0c4a
00000bdb: JUMP
00000bdc: JUMPDEST
00000bdd: PUSH1 0x01
00000bdf: PUSH1 0x01
00000be1: PUSH1 0xa0
00000be3: SHL
00000be4: SUB
00000be5: DUP2
00000be6: AND
00000be7: PUSH2 0x0c41
00000bea: JUMPI
00000beb: PUSH1 0x40
00000bed: MLOAD
00000bee: PUSH3 0x461bcd
00000bf2: PUSH1 0xe5
00000bf4: SHL
00000bf5: DUP2
00000bf6: MSTORE
00000bf7: PUSH1 0x20
00000bf9: PUSH1 0x04
00000bfb: DUP3
00000bfc: ADD
00000bfd: MSTORE
00000bfe: PUSH1 0x26
00000c00: PUSH1 0x24
00000c02: DUP3
00000c03: ADD
00000c04: MSTORE
00000c05: PUSH32 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061
00000c26: PUSH1 0x44
00000c28: DUP3
00000c29: ADD
00000c2a: MSTORE
00000c2b: PUSH6 0x646472657373
00000c32: PUSH1 0xd0
00000c34: SHL
00000c35: PUSH1 0x64
00000c37: DUP3
00000c38: ADD
00000c39: MSTORE
00000c3a: PUSH1 0x84
00000c3c: ADD
00000c3d: PUSH2 0x0557
00000c40: JUMP
00000c41: JUMPDEST
00000c42: PUSH2 0x0bb8
00000c45: DUP2
00000c46: PUSH2 0x0e3d
00000c49: JUMP
00000c4a: JUMPDEST
00000c4b: PUSH1 0x33
00000c4d: SLOAD
00000c4e: PUSH1 0x01
00000c50: PUSH1 0x01
00000c52: PUSH1 0xa0
00000c54: SHL
00000c55: SUB
00000c56: AND
00000c57: CALLER
00000c58: EQ
00000c59: PUSH2 0x08da
00000c5c: JUMPI
00000c5d: PUSH1 0x40
00000c5f: MLOAD
00000c60: PUSH3 0x461bcd
00000c64: PUSH1 0xe5
00000c66: SHL
00000c67: DUP2
00000c68: MSTORE
00000c69: PUSH1 0x20
00000c6b: PUSH1 0x04
00000c6d: DUP3
00000c6e: ADD
00000c6f: DUP2
00000c70: SWAP1
00000c71: MSTORE
00000c72: PUSH1 0x24
00000c74: DUP3
00000c75: ADD
00000c76: MSTORE
00000c77: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
00000c98: PUSH1 0x44
00000c9a: DUP3
00000c9b: ADD
00000c9c: MSTORE
00000c9d: PUSH1 0x64
00000c9f: ADD
00000ca0: PUSH2 0x0557
00000ca3: JUMP
00000ca4: JUMPDEST
00000ca5: PUSH0
00000ca6: DUP1
00000ca7: PUSH2 0x0cb0
00000caa: DUP5
00000cab: DUP5
00000cac: PUSH2 0x0fc3
00000caf: JUMP
00000cb0: JUMPDEST
00000cb1: SWAP2
00000cb2: POP
00000cb3: SWAP2
00000cb4: POP
00000cb5: JUMPDEST
00000cb6: SWAP3
00000cb7: POP
00000cb8: SWAP3
00000cb9: SWAP1
00000cba: POP
00000cbb: JUMP
00000cbc: JUMPDEST
00000cbd: PUSH1 0x60
00000cbf: PUSH0
00000cc0: PUSH2 0x0cc8
00000cc3: DUP4
00000cc4: PUSH2 0x0ffb
00000cc7: JUMP
00000cc8: JUMPDEST
00000cc9: SWAP1
00000cca: POP
00000ccb: DUP1
00000ccc: MLOAD
00000ccd: PUSH8 0xffffffffffffffff
00000cd6: DUP2
00000cd7: GT
00000cd8: ISZERO
00000cd9: PUSH2 0x0ce4
00000cdc: JUMPI
00000cdd: PUSH2 0x0ce4
00000ce0: PUSH2 0x1fa6
00000ce3: JUMP
00000ce4: JUMPDEST
00000ce5: PUSH1 0x40
00000ce7: MLOAD
00000ce8: SWAP1
00000ce9: DUP1
00000cea: DUP3
00000ceb: MSTORE
00000cec: DUP1
00000ced: PUSH1 0x20
00000cef: MUL
00000cf0: PUSH1 0x20
00000cf2: ADD
00000cf3: DUP3
00000cf4: ADD
00000cf5: PUSH1 0x40
00000cf7: MSTORE
00000cf8: DUP1
00000cf9: ISZERO
00000cfa: PUSH2 0x0d0d
00000cfd: JUMPI
00000cfe: DUP2
00000cff: PUSH1 0x20
00000d01: ADD
00000d02: PUSH1 0x20
00000d04: DUP3
00000d05: MUL
00000d06: DUP1
00000d07: CALLDATASIZE
00000d08: DUP4
00000d09: CALLDATACOPY
00000d0a: ADD
00000d0b: SWAP1
00000d0c: POP
00000d0d: JUMPDEST
00000d0e: POP
00000d0f: SWAP2
00000d10: POP
00000d11: PUSH0
00000d12: JUMPDEST
00000d13: DUP2
00000d14: MLOAD
00000d15: DUP2
00000d16: LT
00000d17: ISZERO
00000d18: PUSH2 0x0d64
00000d1b: JUMPI
00000d1c: DUP2
00000d1d: DUP2
00000d1e: DUP2
00000d1f: MLOAD
00000d20: DUP2
00000d21: LT
00000d22: PUSH2 0x0d2d
00000d25: JUMPI
00000d26: PUSH2 0x0d2d
00000d29: PUSH2 0x1f6b
00000d2c: JUMP
00000d2d: JUMPDEST
00000d2e: PUSH1 0x20
00000d30: MUL
00000d31: PUSH1 0x20
00000d33: ADD
00000d34: ADD
00000d35: MLOAD
00000d36: DUP4
00000d37: DUP3
00000d38: DUP2
00000d39: MLOAD
00000d3a: DUP2
00000d3b: LT
00000d3c: PUSH2 0x0d47
00000d3f: JUMPI
00000d40: PUSH2 0x0d47
00000d43: PUSH2 0x1f6b
00000d46: JUMP
00000d47: JUMPDEST
00000d48: PUSH4 0xffffffff
00000d4d: SWAP1
00000d4e: SWAP3
00000d4f: AND
00000d50: PUSH1 0x20
00000d52: SWAP3
00000d53: DUP4
00000d54: MUL
00000d55: SWAP2
00000d56: SWAP1
00000d57: SWAP2
00000d58: ADD
00000d59: SWAP1
00000d5a: SWAP2
00000d5b: ADD
00000d5c: MSTORE
00000d5d: PUSH1 0x01
00000d5f: ADD
00000d60: PUSH2 0x0d12
00000d63: JUMP
00000d64: JUMPDEST
00000d65: POP
00000d66: POP
00000d67: SWAP2
00000d68: SWAP1
00000d69: POP
00000d6a: JUMP
00000d6b: JUMPDEST
00000d6c: PUSH0
00000d6d: DUP1
00000d6e: DUP1
00000d6f: PUSH2 0x0d82
00000d72: PUSH1 0x97
00000d74: PUSH4 0xffffffff
00000d79: DUP1
00000d7a: DUP8
00000d7b: AND
00000d7c: SWAP1
00000d7d: PUSH2 0x0ca4
00000d80: AND
00000d81: JUMP
00000d82: JUMPDEST
00000d83: SWAP2
00000d84: POP
00000d85: SWAP2
00000d86: POP
00000d87: DUP2
00000d88: PUSH2 0x0d90
00000d8b: DUP6
00000d8c: PUSH2 0x1089
00000d8f: JUMP
00000d90: JUMPDEST
00000d91: SWAP1
00000d92: PUSH2 0x0dae
00000d95: JUMPI
00000d96: PUSH1 0x40
00000d98: MLOAD
00000d99: PUSH3 0x461bcd
00000d9d: PUSH1 0xe5
00000d9f: SHL
00000da0: DUP2
00000da1: MSTORE
00000da2: PUSH1 0x04
00000da4: ADD
00000da5: PUSH2 0x0557
00000da8: SWAP2
00000da9: SWAP1
00000daa: PUSH2 0x1fe8
00000dad: JUMP
00000dae: JUMPDEST
00000daf: POP
00000db0: SWAP4
00000db1: SWAP3
00000db2: POP
00000db3: POP
00000db4: POP
00000db5: JUMP
00000db6: JUMPDEST
00000db7: PUSH0
00000db8: PUSH2 0x0dc1
00000dbb: DUP4
00000dbc: DUP4
00000dbd: PUSH2 0x10c0
00000dc0: JUMP
00000dc1: JUMPDEST
00000dc2: SWAP1
00000dc3: POP
00000dc4: PUSH0
00000dc5: PUSH2 0x0dce
00000dc8: DUP5
00000dc9: DUP5
00000dca: PUSH2 0x10df
00000dcd: JUMP
00000dce: JUMPDEST
00000dcf: SWAP1
00000dd0: POP
00000dd1: CALLDATASIZE
00000dd2: PUSH0
00000dd3: PUSH2 0x0ddc
00000dd6: DUP7
00000dd7: DUP7
00000dd8: PUSH2 0x10ed
00000ddb: JUMP
00000ddc: JUMPDEST
00000ddd: SWAP2
00000dde: POP
00000ddf: SWAP2
00000de0: POP
00000de1: PUSH2 0x0df2
00000de4: PUSH2 0x0dea
00000de7: DUP6
00000de8: SWAP1
00000de9: JUMP
00000dea: JUMPDEST
00000deb: DUP5
00000dec: DUP5
00000ded: DUP5
00000dee: PUSH2 0x10fc
00000df1: JUMP
00000df2: JUMPDEST
00000df3: DUP4
00000df4: DUP9
00000df5: PUSH4 0xffffffff
00000dfa: AND
00000dfb: PUSH32 0xba20947a325f450d232530e5f5fce293e7963499d5309a07cee84a269f2f15a6
00000e1c: DUP6
00000e1d: PUSH1 0x40
00000e1f: MLOAD
00000e20: PUSH2 0x0e2b
00000e23: SWAP2
00000e24: DUP2
00000e25: MSTORE
00000e26: PUSH1 0x20
00000e28: ADD
00000e29: SWAP1
00000e2a: JUMP
00000e2b: JUMPDEST
00000e2c: PUSH1 0x40
00000e2e: MLOAD
00000e2f: DUP1
00000e30: SWAP2
00000e31: SUB
00000e32: SWAP1
00000e33: LOG3
00000e34: POP
00000e35: POP
00000e36: POP
00000e37: POP
00000e38: POP
00000e39: POP
00000e3a: POP
00000e3b: POP
00000e3c: JUMP
00000e3d: JUMPDEST
00000e3e: PUSH1 0x33
00000e40: DUP1
00000e41: SLOAD
00000e42: PUSH1 0x01
00000e44: PUSH1 0x01
00000e46: PUSH1 0xa0
00000e48: SHL
00000e49: SUB
00000e4a: DUP4
00000e4b: DUP2
00000e4c: AND
00000e4d: PUSH1 0x01
00000e4f: PUSH1 0x01
00000e51: PUSH1 0xa0
00000e53: SHL
00000e54: SUB
00000e55: NOT
00000e56: DUP4
00000e57: AND
00000e58: DUP2
00000e59: OR
00000e5a: SWAP1
00000e5b: SWAP4
00000e5c: SSTORE
00000e5d: PUSH1 0x40
00000e5f: MLOAD
00000e60: SWAP2
00000e61: AND
00000e62: SWAP2
00000e63: SWAP1
00000e64: DUP3
00000e65: SWAP1
00000e66: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00000e87: SWAP1
00000e88: PUSH0
00000e89: SWAP1
00000e8a: LOG3
00000e8b: POP
00000e8c: POP
00000e8d: JUMP
00000e8e: JUMPDEST
00000e8f: PUSH2 0x0ea2
00000e92: PUSH1 0x97
00000e94: PUSH4 0xffffffff
00000e99: DUP1
00000e9a: DUP5
00000e9b: AND
00000e9c: SWAP1
00000e9d: PUSH2 0x1130
00000ea0: AND
00000ea1: JUMP
00000ea2: JUMPDEST
00000ea3: PUSH2 0x0eab
00000ea6: DUP3
00000ea7: PUSH2 0x1089
00000eaa: JUMP
00000eab: JUMPDEST
00000eac: SWAP1
00000ead: PUSH2 0x0735
00000eb0: JUMPI
00000eb1: PUSH1 0x40
00000eb3: MLOAD
00000eb4: PUSH3 0x461bcd
00000eb8: PUSH1 0xe5
00000eba: SHL
00000ebb: DUP2
00000ebc: MSTORE
00000ebd: PUSH1 0x04
00000ebf: ADD
00000ec0: PUSH2 0x0557
00000ec3: SWAP2
00000ec4: SWAP1
00000ec5: PUSH2 0x1fe8
00000ec8: JUMP
00000ec9: JUMPDEST
00000eca: PUSH0
00000ecb: PUSH0
00000ecc: DUP5
00000ecd: GT
00000ece: PUSH2 0x0f33
00000ed1: JUMPI
00000ed2: PUSH1 0x40
00000ed4: MLOAD
00000ed5: PUSH3 0x461bcd
00000ed9: PUSH1 0xe5
00000edb: SHL
00000edc: DUP2
00000edd: MSTORE
00000ede: PUSH1 0x20
00000ee0: PUSH1 0x04
00000ee2: DUP3
00000ee3: ADD
00000ee4: MSTORE
00000ee5: PUSH1 0x31
00000ee7: PUSH1 0x24
00000ee9: DUP3
00000eea: ADD
00000eeb: MSTORE
00000eec: PUSH32 0x4879704552433230436f6c6c61746572616c3a20616d6f756e74206d75737420
00000f0d: PUSH1 0x44
00000f0f: DUP3
00000f10: ADD
00000f11: MSTORE
00000f12: PUSH17 0x062652067726561746572207468616e203
00000f24: PUSH1 0x7c
00000f26: SHL
00000f27: PUSH1 0x64
00000f29: DUP3
00000f2a: ADD
00000f2b: MSTORE
00000f2c: PUSH1 0x84
00000f2e: ADD
00000f2f: PUSH2 0x0557
00000f32: JUMP
00000f33: JUMPDEST
00000f34: PUSH2 0x0f41
00000f37: DUP8
00000f38: DUP8
00000f39: DUP8
00000f3a: DUP8
00000f3b: DUP8
00000f3c: DUP8
00000f3d: PUSH2 0x113b
00000f40: JUMP
00000f41: JUMPDEST
00000f42: SWAP8
00000f43: SWAP7
00000f44: POP
00000f45: POP
00000f46: POP
00000f47: POP
00000f48: POP
00000f49: POP
00000f4a: POP
00000f4b: JUMP
00000f4c: JUMPDEST
00000f4d: PUSH2 0x0735
00000f50: PUSH1 0x97
00000f52: PUSH4 0xffffffff
00000f57: DUP1
00000f58: DUP6
00000f59: AND
00000f5a: SWAP1
00000f5b: DUP5
00000f5c: SWAP1
00000f5d: PUSH2 0x12a1
00000f60: AND
00000f61: JUMP
00000f62: JUMPDEST
00000f63: PUSH0
00000f64: SLOAD
00000f65: PUSH2 0x0100
00000f68: SWAP1
00000f69: DIV
00000f6a: PUSH1 0xff
00000f6c: AND
00000f6d: PUSH2 0x0f88
00000f70: JUMPI
00000f71: PUSH1 0x40
00000f73: MLOAD
00000f74: PUSH3 0x461bcd
00000f78: PUSH1 0xe5
00000f7a: SHL
00000f7b: DUP2
00000f7c: MSTORE
00000f7d: PUSH1 0x04
00000f7f: ADD
00000f80: PUSH2 0x0557
00000f83: SWAP1
00000f84: PUSH2 0x1ffa
00000f87: JUMP
00000f88: JUMPDEST
00000f89: PUSH2 0x0f90
00000f8c: PUSH2 0x12ac
00000f8f: JUMP
00000f90: JUMPDEST
00000f91: PUSH2 0x0f99
00000f94: DUP4
00000f95: PUSH2 0x069c
00000f98: JUMP
00000f99: JUMPDEST
00000f9a: PUSH2 0x0fa2
00000f9d: DUP3
00000f9e: PUSH2 0x051b
00000fa1: JUMP
00000fa2: JUMPDEST
00000fa3: PUSH2 0x09d2
00000fa6: DUP2
00000fa7: PUSH2 0x0e3d
00000faa: JUMP
00000fab: JUMPDEST
00000fac: PUSH0
00000fad: PUSH0
00000fae: PUSH2 0x0fb6
00000fb1: DUP5
00000fb2: PUSH2 0x0d6b
00000fb5: JUMP
00000fb6: JUMPDEST
00000fb7: SWAP1
00000fb8: POP
00000fb9: PUSH2 0x0694
00000fbc: DUP5
00000fbd: DUP3
00000fbe: DUP6
00000fbf: PUSH2 0x12da
00000fc2: JUMP
00000fc3: JUMPDEST
00000fc4: PUSH0
00000fc5: DUP2
00000fc6: DUP2
00000fc7: MSTORE
00000fc8: PUSH1 0x02
00000fca: DUP4
00000fcb: ADD
00000fcc: PUSH1 0x20
00000fce: MSTORE
00000fcf: PUSH1 0x40
00000fd1: DUP2
00000fd2: KECCAK256
00000fd3: SLOAD
00000fd4: DUP2
00000fd5: SWAP1
00000fd6: DUP1
00000fd7: PUSH2 0x0ff0
00000fda: JUMPI
00000fdb: PUSH2 0x0fe4
00000fde: DUP6
00000fdf: DUP6
00000fe0: PUSH2 0x1386
00000fe3: JUMP
00000fe4: JUMPDEST
00000fe5: SWAP3
00000fe6: POP
00000fe7: PUSH0
00000fe8: SWAP2
00000fe9: POP
00000fea: PUSH2 0x0cb5
00000fed: SWAP1
00000fee: POP
00000fef: JUMP
00000ff0: JUMPDEST
00000ff1: PUSH1 0x01
00000ff3: SWAP3
00000ff4: POP
00000ff5: SWAP1
00000ff6: POP
00000ff7: PUSH2 0x0cb5
00000ffa: JUMP
00000ffb: JUMPDEST
00000ffc: PUSH1 0x60
00000ffe: PUSH0
00000fff: PUSH2 0x1007
00001002: DUP4
00001003: PUSH2 0x1391
00001006: JUMP
00001007: JUMPDEST
00001008: SWAP1
00001009: POP
0000100a: DUP1
0000100b: PUSH8 0xffffffffffffffff
00001014: DUP2
00001015: GT
00001016: ISZERO
00001017: PUSH2 0x1022
0000101a: JUMPI
0000101b: PUSH2 0x1022
0000101e: PUSH2 0x1fa6
00001021: JUMP
00001022: JUMPDEST
00001023: PUSH1 0x40
00001025: MLOAD
00001026: SWAP1
00001027: DUP1
00001028: DUP3
00001029: MSTORE
0000102a: DUP1
0000102b: PUSH1 0x20
0000102d: MUL
0000102e: PUSH1 0x20
00001030: ADD
00001031: DUP3
00001032: ADD
00001033: PUSH1 0x40
00001035: MSTORE
00001036: DUP1
00001037: ISZERO
00001038: PUSH2 0x104b
0000103b: JUMPI
0000103c: DUP2
0000103d: PUSH1 0x20
0000103f: ADD
00001040: PUSH1 0x20
00001042: DUP3
00001043: MUL
00001044: DUP1
00001045: CALLDATASIZE
00001046: DUP4
00001047: CALLDATACOPY
00001048: ADD
00001049: SWAP1
0000104a: POP
0000104b: JUMPDEST
0000104c: POP
0000104d: SWAP2
0000104e: POP
0000104f: PUSH0
00001050: JUMPDEST
00001051: DUP2
00001052: DUP2
00001053: LT
00001054: ISZERO
00001055: PUSH2 0x0d64
00001058: JUMPI
00001059: PUSH2 0x1062
0000105c: DUP5
0000105d: DUP3
0000105e: PUSH2 0x139b
00001061: JUMP
00001062: JUMPDEST
00001063: PUSH0
00001064: SHR
00001065: DUP4
00001066: DUP3
00001067: DUP2
00001068: MLOAD
00001069: DUP2
0000106a: LT
0000106b: PUSH2 0x1076
0000106e: JUMPI
0000106f: PUSH2 0x1076
00001072: PUSH2 0x1f6b
00001075: JUMP
00001076: JUMPDEST
00001077: PUSH1 0x20
00001079: SWAP1
0000107a: DUP2
0000107b: MUL
0000107c: SWAP2
0000107d: SWAP1
0000107e: SWAP2
0000107f: ADD
00001080: ADD
00001081: MSTORE
00001082: PUSH1 0x01
00001084: ADD
00001085: PUSH2 0x1050
00001088: JUMP
00001089: JUMPDEST
0000108a: PUSH1 0x60
0000108c: PUSH2 0x109a
0000108f: DUP3
00001090: PUSH4 0xffffffff
00001095: AND
00001096: PUSH2 0x13a6
00001099: JUMP
0000109a: JUMPDEST
0000109b: PUSH1 0x40
0000109d: MLOAD
0000109e: PUSH1 0x20
000010a0: ADD
000010a1: PUSH2 0x10aa
000010a4: SWAP2
000010a5: SWAP1
000010a6: PUSH2 0x205c
000010a9: JUMP
000010aa: JUMPDEST
000010ab: PUSH1 0x40
000010ad: MLOAD
000010ae: PUSH1 0x20
000010b0: DUP2
000010b1: DUP4
000010b2: SUB
000010b3: SUB
000010b4: DUP2
000010b5: MSTORE
000010b6: SWAP1
000010b7: PUSH1 0x40
000010b9: MSTORE
000010ba: SWAP1
000010bb: POP
000010bc: SWAP2
000010bd: SWAP1
000010be: POP
000010bf: JUMP
000010c0: JUMPDEST
000010c1: PUSH0
000010c2: PUSH2 0x10cf
000010c5: PUSH1 0x42
000010c7: PUSH1 0x22
000010c9: DUP5
000010ca: DUP7
000010cb: PUSH2 0x208d
000010ce: JUMP
000010cf: JUMPDEST
000010d0: PUSH2 0x10d8
000010d3: SWAP2
000010d4: PUSH2 0x20b4
000010d7: JUMP
000010d8: JUMPDEST
000010d9: SWAP4
000010da: SWAP3
000010db: POP
000010dc: POP
000010dd: POP
000010de: JUMP
000010df: JUMPDEST
000010e0: PUSH0
000010e1: PUSH2 0x10cf
000010e4: PUSH1 0x20
000010e6: DUP3
000010e7: DUP5
000010e8: DUP7
000010e9: PUSH2 0x208d
000010ec: JUMP
000010ed: JUMPDEST
000010ee: CALLDATASIZE
000010ef: PUSH0
000010f0: PUSH2 0x0cb0
000010f3: DUP4
000010f4: PUSH1 0x42
000010f6: DUP2
000010f7: DUP8
000010f8: PUSH2 0x208d
000010fb: JUMP
000010fc: JUMPDEST
000010fd: PUSH2 0x0930
00001100: PUSH1 0x01
00001102: PUSH1 0x01
00001104: PUSH1 0xa0
00001106: SHL
00001107: SUB
00001108: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
00001129: AND
0000112a: DUP6
0000112b: DUP6
0000112c: PUSH2 0x1436
0000112f: JUMP
00001130: JUMPDEST
00001131: PUSH0
00001132: PUSH2 0x10d8
00001135: DUP4
00001136: DUP4
00001137: PUSH2 0x1499
0000113a: JUMP
0000113b: JUMPDEST
0000113c: PUSH0
0000113d: DUP5
0000113e: PUSH2 0x1198
00001141: JUMPI
00001142: PUSH1 0x40
00001144: MLOAD
00001145: PUSH3 0x461bcd
00001149: PUSH1 0xe5
0000114b: SHL
0000114c: DUP2
0000114d: MSTORE
0000114e: PUSH1 0x20
00001150: PUSH1 0x04
00001152: DUP3
00001153: ADD
00001154: MSTORE
00001155: PUSH1 0x26
00001157: PUSH1 0x24
00001159: DUP3
0000115a: ADD
0000115b: MSTORE
0000115c: PUSH32 0x546f6b656e526f757465723a20726563697069656e742063616e6e6f74206265
0000117d: PUSH1 0x44
0000117f: DUP3
00001180: ADD
00001181: MSTORE
00001182: PUSH6 0x20656d707479
00001189: PUSH1 0xd0
0000118b: SHL
0000118c: PUSH1 0x64
0000118e: DUP3
0000118f: ADD
00001190: MSTORE
00001191: PUSH1 0x84
00001193: ADD
00001194: PUSH2 0x0557
00001197: JUMP
00001198: JUMPDEST
00001199: PUSH0
0000119a: MLOAD
0000119b: PUSH1 0x20
0000119d: PUSH2 0x2227
000011a0: PUSH0
000011a1: CODECOPY
000011a2: PUSH0
000011a3: MLOAD
000011a4: SWAP1
000011a5: PUSH0
000011a6: MSTORE
000011a7: SLOAD
000011a8: PUSH2 0xffff
000011ab: AND
000011ac: DUP4
000011ad: PUSH2 0xffff
000011b0: AND
000011b1: GT
000011b2: ISZERO
000011b3: PUSH2 0x120a
000011b6: JUMPI
000011b7: PUSH1 0x40
000011b9: MLOAD
000011ba: PUSH3 0x461bcd
000011be: PUSH1 0xe5
000011c0: SHL
000011c1: DUP2
000011c2: MSTORE
000011c3: PUSH1 0x20
000011c5: PUSH1 0x04
000011c7: DUP3
000011c8: ADD
000011c9: MSTORE
000011ca: PUSH1 0x24
000011cc: DUP1
000011cd: DUP3
000011ce: ADD
000011cf: MSTORE
000011d0: PUSH32 0x546f6b656e526f757465723a20696e76616c6964204b6164656e612063686169
000011f1: PUSH1 0x44
000011f3: DUP3
000011f4: ADD
000011f5: MSTORE
000011f6: PUSH4 0x1b881251
000011fb: PUSH1 0xe2
000011fd: SHL
000011fe: PUSH1 0x64
00001200: DUP3
00001201: ADD
00001202: MSTORE
00001203: PUSH1 0x84
00001205: ADD
00001206: PUSH2 0x0557
00001209: JUMP
0000120a: JUMPDEST
0000120b: PUSH2 0x1213
0000120e: DUP5
0000120f: PUSH2 0x14b5
00001212: JUMP
00001213: JUMPDEST
00001214: POP
00001215: PUSH2 0x122a
00001218: DUP8
00001219: DUP4
0000121a: PUSH2 0x1225
0000121d: DUP10
0000121e: DUP10
0000121f: DUP10
00001220: DUP10
00001221: PUSH2 0x14ff
00001224: JUMP
00001225: JUMPDEST
00001226: PUSH2 0x1531
00001229: JUMP
0000122a: JUMPDEST
0000122b: SWAP1
0000122c: POP
0000122d: DUP6
0000122e: DUP6
0000122f: PUSH1 0x40
00001231: MLOAD
00001232: PUSH1 0x20
00001234: ADD
00001235: PUSH2 0x123f
00001238: SWAP3
00001239: SWAP2
0000123a: SWAP1
0000123b: PUSH2 0x20d1
0000123e: JUMP
0000123f: JUMPDEST
00001240: PUSH1 0x40
00001242: MLOAD
00001243: PUSH1 0x20
00001245: DUP2
00001246: DUP4
00001247: SUB
00001248: SUB
00001249: DUP2
0000124a: MSTORE
0000124b: SWAP1
0000124c: PUSH1 0x40
0000124e: MSTORE
0000124f: DUP1
00001250: MLOAD
00001251: SWAP1
00001252: PUSH1 0x20
00001254: ADD
00001255: KECCAK256
00001256: DUP8
00001257: PUSH4 0xffffffff
0000125c: AND
0000125d: PUSH32 0x15537d04548fdfb42904351d8abca9b0261a1f86ee43fe45ca0f1c25628642b5
0000127e: DUP9
0000127f: DUP9
00001280: DUP9
00001281: PUSH1 0x40
00001283: MLOAD
00001284: PUSH2 0x128f
00001287: SWAP4
00001288: SWAP3
00001289: SWAP2
0000128a: SWAP1
0000128b: PUSH2 0x20e0
0000128e: JUMP
0000128f: JUMPDEST
00001290: PUSH1 0x40
00001292: MLOAD
00001293: DUP1
00001294: SWAP2
00001295: SUB
00001296: SWAP1
00001297: LOG3
00001298: SWAP7
00001299: SWAP6
0000129a: POP
0000129b: POP
0000129c: POP
0000129d: POP
0000129e: POP
0000129f: POP
000012a0: JUMP
000012a1: JUMPDEST
000012a2: PUSH2 0x0930
000012a5: DUP4
000012a6: DUP4
000012a7: DUP4
000012a8: PUSH2 0x1553
000012ab: JUMP
000012ac: JUMPDEST
000012ad: PUSH0
000012ae: SLOAD
000012af: PUSH2 0x0100
000012b2: SWAP1
000012b3: DIV
000012b4: PUSH1 0xff
000012b6: AND
000012b7: PUSH2 0x12d2
000012ba: JUMPI
000012bb: PUSH1 0x40
000012bd: MLOAD
000012be: PUSH3 0x461bcd
000012c2: PUSH1 0xe5
000012c4: SHL
000012c5: DUP2
000012c6: MSTORE
000012c7: PUSH1 0x04
000012c9: ADD
000012ca: PUSH2 0x0557
000012cd: SWAP1
000012ce: PUSH2 0x1ffa
000012d1: JUMP
000012d2: JUMPDEST
000012d3: PUSH2 0x08da
000012d6: PUSH2 0x156f
000012d9: JUMP
000012da: JUMPDEST
000012db: PUSH0
000012dc: PUSH32 0x00000000000000000000000082a729a4c7b2aebddbfccf533e7b75c61c45c23c
000012fd: PUSH1 0x01
000012ff: PUSH1 0x01
00001301: PUSH1 0xa0
00001303: SHL
00001304: SUB
00001305: AND
00001306: PUSH4 0x81d2ea95
0000130b: DUP6
0000130c: DUP6
0000130d: DUP6
0000130e: PUSH2 0x1316
00001311: DUP10
00001312: PUSH2 0x159e
00001315: JUMP
00001316: JUMPDEST
00001317: PUSH1 0x65
00001319: SLOAD
0000131a: PUSH1 0x40
0000131c: MLOAD
0000131d: PUSH1 0x01
0000131f: PUSH1 0x01
00001321: PUSH1 0xe0
00001323: SHL
00001324: SUB
00001325: NOT
00001326: PUSH1 0xe0
00001328: DUP9
00001329: SWAP1
0000132a: SHL
0000132b: AND
0000132c: DUP2
0000132d: MSTORE
0000132e: PUSH2 0x1347
00001331: SWAP6
00001332: SWAP5
00001333: SWAP4
00001334: SWAP3
00001335: SWAP2
00001336: PUSH1 0x01
00001338: PUSH1 0x01
0000133a: PUSH1 0xa0
0000133c: SHL
0000133d: SUB
0000133e: AND
0000133f: SWAP1
00001340: PUSH1 0x04
00001342: ADD
00001343: PUSH2 0x2117
00001346: JUMP
00001347: JUMPDEST
00001348: PUSH1 0x20
0000134a: PUSH1 0x40
0000134c: MLOAD
0000134d: DUP1
0000134e: DUP4
0000134f: SUB
00001350: DUP2
00001351: DUP7
00001352: GAS
00001353: STATICCALL
00001354: ISZERO
00001355: DUP1
00001356: ISZERO
00001357: PUSH2 0x1362
0000135a: JUMPI
0000135b: RETURNDATASIZE
0000135c: PUSH0
0000135d: PUSH0
0000135e: RETURNDATACOPY
0000135f: RETURNDATASIZE
00001360: PUSH0
00001361: REVERT
00001362: JUMPDEST
00001363: POP
00001364: POP
00001365: POP
00001366: POP
00001367: PUSH1 0x40
00001369: MLOAD
0000136a: RETURNDATASIZE
0000136b: PUSH1 0x1f
0000136d: NOT
0000136e: PUSH1 0x1f
00001370: DUP3
00001371: ADD
00001372: AND
00001373: DUP3
00001374: ADD
00001375: DUP1
00001376: PUSH1 0x40
00001378: MSTORE
00001379: POP
0000137a: DUP2
0000137b: ADD
0000137c: SWAP1
0000137d: PUSH2 0x0694
00001380: SWAP2
00001381: SWAP1
00001382: PUSH2 0x1f54
00001385: JUMP
00001386: JUMPDEST
00001387: PUSH0
00001388: PUSH2 0x10d8
0000138b: DUP4
0000138c: DUP4
0000138d: PUSH2 0x15bf
00001390: JUMP
00001391: JUMPDEST
00001392: PUSH0
00001393: PUSH2 0x08c3
00001396: DUP3
00001397: PUSH2 0x15d6
0000139a: JUMP
0000139b: JUMPDEST
0000139c: PUSH0
0000139d: PUSH2 0x10d8
000013a0: DUP4
000013a1: DUP4
000013a2: PUSH2 0x15df
000013a5: JUMP
000013a6: JUMPDEST
000013a7: PUSH1 0x60
000013a9: PUSH0
000013aa: PUSH2 0x13b2
000013ad: DUP4
000013ae: PUSH2 0x1605
000013b1: JUMP
000013b2: JUMPDEST
000013b3: PUSH1 0x01
000013b5: ADD
000013b6: SWAP1
000013b7: POP
000013b8: PUSH0
000013b9: DUP2
000013ba: PUSH8 0xffffffffffffffff
000013c3: DUP2
000013c4: GT
000013c5: ISZERO
000013c6: PUSH2 0x13d1
000013c9: JUMPI
000013ca: PUSH2 0x13d1
000013cd: PUSH2 0x1fa6
000013d0: JUMP
000013d1: JUMPDEST
000013d2: PUSH1 0x40
000013d4: MLOAD
000013d5: SWAP1
000013d6: DUP1
000013d7: DUP3
000013d8: MSTORE
000013d9: DUP1
000013da: PUSH1 0x1f
000013dc: ADD
000013dd: PUSH1 0x1f
000013df: NOT
000013e0: AND
000013e1: PUSH1 0x20
000013e3: ADD
000013e4: DUP3
000013e5: ADD
000013e6: PUSH1 0x40
000013e8: MSTORE
000013e9: DUP1
000013ea: ISZERO
000013eb: PUSH2 0x13fb
000013ee: JUMPI
000013ef: PUSH1 0x20
000013f1: DUP3
000013f2: ADD
000013f3: DUP2
000013f4: DUP1
000013f5: CALLDATASIZE
000013f6: DUP4
000013f7: CALLDATACOPY
000013f8: ADD
000013f9: SWAP1
000013fa: POP
000013fb: JUMPDEST
000013fc: POP
000013fd: SWAP1
000013fe: POP
000013ff: DUP2
00001400: DUP2
00001401: ADD
00001402: PUSH1 0x20
00001404: ADD
00001405: JUMPDEST
00001406: PUSH0
00001407: NOT
00001408: ADD
00001409: PUSH16 0x181899199a1a9b1b9c1cb0b131b232b3
0000141a: PUSH1 0x81
0000141c: SHL
0000141d: PUSH1 0x0a
0000141f: DUP7
00001420: MOD
00001421: BYTE
00001422: DUP2
00001423: MSTORE8
00001424: PUSH1 0x0a
00001426: DUP6
00001427: DIV
00001428: SWAP5
00001429: POP
0000142a: DUP5
0000142b: PUSH2 0x1405
0000142e: JUMPI
0000142f: POP
00001430: SWAP4
00001431: SWAP3
00001432: POP
00001433: POP
00001434: POP
00001435: JUMP
00001436: JUMPDEST
00001437: PUSH1 0x40
00001439: MLOAD
0000143a: PUSH1 0x01
0000143c: PUSH1 0x01
0000143e: PUSH1 0xa0
00001440: SHL
00001441: SUB
00001442: DUP4
00001443: AND
00001444: PUSH1 0x24
00001446: DUP3
00001447: ADD
00001448: MSTORE
00001449: PUSH1 0x44
0000144b: DUP2
0000144c: ADD
0000144d: DUP3
0000144e: SWAP1
0000144f: MSTORE
00001450: PUSH2 0x09d2
00001453: SWAP1
00001454: DUP5
00001455: SWAP1
00001456: PUSH4 0xa9059cbb
0000145b: PUSH1 0xe0
0000145d: SHL
0000145e: SWAP1
0000145f: PUSH1 0x64
00001461: ADD
00001462: JUMPDEST
00001463: PUSH1 0x40
00001465: DUP1
00001466: MLOAD
00001467: PUSH1 0x1f
00001469: NOT
0000146a: DUP2
0000146b: DUP5
0000146c: SUB
0000146d: ADD
0000146e: DUP2
0000146f: MSTORE
00001470: SWAP2
00001471: SWAP1
00001472: MSTORE
00001473: PUSH1 0x20
00001475: DUP2
00001476: ADD
00001477: DUP1
00001478: MLOAD
00001479: PUSH1 0x01
0000147b: PUSH1 0x01
0000147d: PUSH1 0xe0
0000147f: SHL
00001480: SUB
00001481: AND
00001482: PUSH1 0x01
00001484: PUSH1 0x01
00001486: PUSH1 0xe0
00001488: SHL
00001489: SUB
0000148a: NOT
0000148b: SWAP1
0000148c: SWAP4
0000148d: AND
0000148e: SWAP3
0000148f: SWAP1
00001490: SWAP3
00001491: OR
00001492: SWAP1
00001493: SWAP2
00001494: MSTORE
00001495: PUSH2 0x16dc
00001498: JUMP
00001499: JUMPDEST
0000149a: PUSH0
0000149b: DUP2
0000149c: DUP2
0000149d: MSTORE
0000149e: PUSH1 0x02
000014a0: DUP4
000014a1: ADD
000014a2: PUSH1 0x20
000014a4: MSTORE
000014a5: PUSH1 0x40
000014a7: DUP2
000014a8: KECCAK256
000014a9: DUP2
000014aa: SWAP1
000014ab: SSTORE
000014ac: PUSH2 0x10d8
000014af: DUP4
000014b0: DUP4
000014b1: PUSH2 0x17af
000014b4: JUMP
000014b5: JUMPDEST
000014b6: PUSH1 0x60
000014b8: PUSH2 0x14ec
000014bb: PUSH1 0x01
000014bd: PUSH1 0x01
000014bf: PUSH1 0xa0
000014c1: SHL
000014c2: SUB
000014c3: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
000014e4: AND
000014e5: CALLER
000014e6: ADDRESS
000014e7: DUP6
000014e8: PUSH2 0x17ba
000014eb: JUMP
000014ec: JUMPDEST
000014ed: POP
000014ee: POP
000014ef: PUSH1 0x40
000014f1: DUP1
000014f2: MLOAD
000014f3: PUSH1 0x20
000014f5: DUP2
000014f6: ADD
000014f7: SWAP1
000014f8: SWAP2
000014f9: MSTORE
000014fa: PUSH0
000014fb: DUP2
000014fc: MSTORE
000014fd: SWAP1
000014fe: JUMP
000014ff: JUMPDEST
00001500: PUSH1 0x60
00001502: DUP3
00001503: DUP3
00001504: DUP7
00001505: DUP7
00001506: PUSH1 0x40
00001508: MLOAD
00001509: PUSH1 0x20
0000150b: ADD
0000150c: PUSH2 0x1518
0000150f: SWAP5
00001510: SWAP4
00001511: SWAP3
00001512: SWAP2
00001513: SWAP1
00001514: PUSH2 0x2168
00001517: JUMP
00001518: JUMPDEST
00001519: PUSH1 0x40
0000151b: MLOAD
0000151c: PUSH1 0x20
0000151e: DUP2
0000151f: DUP4
00001520: SUB
00001521: SUB
00001522: DUP2
00001523: MSTORE
00001524: SWAP1
00001525: PUSH1 0x40
00001527: MSTORE
00001528: SWAP1
00001529: POP
0000152a: SWAP5
0000152b: SWAP4
0000152c: POP
0000152d: POP
0000152e: POP
0000152f: POP
00001530: JUMP
00001531: JUMPDEST
00001532: PUSH0
00001533: PUSH0
00001534: PUSH2 0x153c
00001537: DUP6
00001538: PUSH2 0x0d6b
0000153b: JUMP
0000153c: JUMPDEST
0000153d: SWAP1
0000153e: POP
0000153f: PUSH2 0x154a
00001542: DUP6
00001543: DUP3
00001544: DUP7
00001545: DUP7
00001546: PUSH2 0x17f2
00001549: JUMP
0000154a: JUMPDEST
0000154b: SWAP6
0000154c: SWAP5
0000154d: POP
0000154e: POP
0000154f: POP
00001550: POP
00001551: POP
00001552: JUMP
00001553: JUMPDEST
00001554: PUSH0
00001555: DUP3
00001556: DUP2
00001557: MSTORE
00001558: PUSH1 0x02
0000155a: DUP5
0000155b: ADD
0000155c: PUSH1 0x20
0000155e: MSTORE
0000155f: PUSH1 0x40
00001561: DUP2
00001562: KECCAK256
00001563: DUP3
00001564: SWAP1
00001565: SSTORE
00001566: PUSH2 0x0694
00001569: DUP5
0000156a: DUP5
0000156b: PUSH2 0x18a1
0000156e: JUMP
0000156f: JUMPDEST
00001570: PUSH0
00001571: SLOAD
00001572: PUSH2 0x0100
00001575: SWAP1
00001576: DIV
00001577: PUSH1 0xff
00001579: AND
0000157a: PUSH2 0x1595
0000157d: JUMPI
0000157e: PUSH1 0x40
00001580: MLOAD
00001581: PUSH3 0x461bcd
00001585: PUSH1 0xe5
00001587: SHL
00001588: DUP2
00001589: MSTORE
0000158a: PUSH1 0x04
0000158c: ADD
0000158d: PUSH2 0x0557
00001590: SWAP1
00001591: PUSH2 0x1ffa
00001594: JUMP
00001595: JUMPDEST
00001596: PUSH2 0x08da
00001599: CALLER
0000159a: PUSH2 0x0e3d
0000159d: JUMP
0000159e: JUMPDEST
0000159f: PUSH4 0xffffffff
000015a4: DUP2
000015a5: AND
000015a6: PUSH0
000015a7: SWAP1
000015a8: DUP2
000015a9: MSTORE
000015aa: PUSH1 0xca
000015ac: PUSH1 0x20
000015ae: MSTORE
000015af: PUSH1 0x40
000015b1: SWAP1
000015b2: KECCAK256
000015b3: SLOAD
000015b4: PUSH1 0x60
000015b6: SWAP1
000015b7: PUSH2 0x08c3
000015ba: SWAP1
000015bb: PUSH2 0x18ac
000015be: JUMP
000015bf: JUMPDEST
000015c0: PUSH0
000015c1: DUP2
000015c2: DUP2
000015c3: MSTORE
000015c4: PUSH1 0x01
000015c6: DUP4
000015c7: ADD
000015c8: PUSH1 0x20
000015ca: MSTORE
000015cb: PUSH1 0x40
000015cd: DUP2
000015ce: KECCAK256
000015cf: SLOAD
000015d0: ISZERO
000015d1: ISZERO
000015d2: PUSH2 0x10d8
000015d5: JUMP
000015d6: JUMPDEST
000015d7: PUSH0
000015d8: PUSH2 0x08c3
000015db: DUP3
000015dc: SLOAD
000015dd: SWAP1
000015de: JUMP
000015df: JUMPDEST
000015e0: PUSH0
000015e1: DUP3
000015e2: PUSH0
000015e3: ADD
000015e4: DUP3
000015e5: DUP2
000015e6: SLOAD
000015e7: DUP2
000015e8: LT
000015e9: PUSH2 0x15f4
000015ec: JUMPI
000015ed: PUSH2 0x15f4
000015f0: PUSH2 0x1f6b
000015f3: JUMP
000015f4: JUMPDEST
000015f5: SWAP1
000015f6: PUSH0
000015f7: MSTORE
000015f8: PUSH1 0x20
000015fa: PUSH0
000015fb: KECCAK256
000015fc: ADD
000015fd: SLOAD
000015fe: SWAP1
000015ff: POP
00001600: SWAP3
00001601: SWAP2
00001602: POP
00001603: POP
00001604: JUMP
00001605: JUMPDEST
00001606: PUSH0
00001607: DUP1
00001608: PUSH19 0x184f03e93ff9f4daa797ed6e38ed64bf6a1f01
0000161c: PUSH1 0x40
0000161e: SHL
0000161f: DUP4
00001620: LT
00001621: PUSH2 0x1643
00001624: JUMPI
00001625: PUSH19 0x184f03e93ff9f4daa797ed6e38ed64bf6a1f01
00001639: PUSH1 0x40
0000163b: SHL
0000163c: DUP4
0000163d: DIV
0000163e: SWAP3
0000163f: POP
00001640: PUSH1 0x40
00001642: ADD
00001643: JUMPDEST
00001644: PUSH14 0x04ee2d6d415b85acef8100000000
00001653: DUP4
00001654: LT
00001655: PUSH2 0x166f
00001658: JUMPI
00001659: PUSH14 0x04ee2d6d415b85acef8100000000
00001668: DUP4
00001669: DIV
0000166a: SWAP3
0000166b: POP
0000166c: PUSH1 0x20
0000166e: ADD
0000166f: JUMPDEST
00001670: PUSH7 0x2386f26fc10000
00001678: DUP4
00001679: LT
0000167a: PUSH2 0x168d
0000167d: JUMPI
0000167e: PUSH7 0x2386f26fc10000
00001686: DUP4
00001687: DIV
00001688: SWAP3
00001689: POP
0000168a: PUSH1 0x10
0000168c: ADD
0000168d: JUMPDEST
0000168e: PUSH4 0x05f5e100
00001693: DUP4
00001694: LT
00001695: PUSH2 0x16a5
00001698: JUMPI
00001699: PUSH4 0x05f5e100
0000169e: DUP4
0000169f: DIV
000016a0: SWAP3
000016a1: POP
000016a2: PUSH1 0x08
000016a4: ADD
000016a5: JUMPDEST
000016a6: PUSH2 0x2710
000016a9: DUP4
000016aa: LT
000016ab: PUSH2 0x16b9
000016ae: JUMPI
000016af: PUSH2 0x2710
000016b2: DUP4
000016b3: DIV
000016b4: SWAP3
000016b5: POP
000016b6: PUSH1 0x04
000016b8: ADD
000016b9: JUMPDEST
000016ba: PUSH1 0x64
000016bc: DUP4
000016bd: LT
000016be: PUSH2 0x16cb
000016c1: JUMPI
000016c2: PUSH1 0x64
000016c4: DUP4
000016c5: DIV
000016c6: SWAP3
000016c7: POP
000016c8: PUSH1 0x02
000016ca: ADD
000016cb: JUMPDEST
000016cc: PUSH1 0x0a
000016ce: DUP4
000016cf: LT
000016d0: PUSH2 0x08c3
000016d3: JUMPI
000016d4: PUSH1 0x01
000016d6: ADD
000016d7: SWAP3
000016d8: SWAP2
000016d9: POP
000016da: POP
000016db: JUMP
000016dc: JUMPDEST
000016dd: PUSH0
000016de: PUSH2 0x1730
000016e1: DUP3
000016e2: PUSH1 0x40
000016e4: MLOAD
000016e5: DUP1
000016e6: PUSH1 0x40
000016e8: ADD
000016e9: PUSH1 0x40
000016eb: MSTORE
000016ec: DUP1
000016ed: PUSH1 0x20
000016ef: DUP2
000016f0: MSTORE
000016f1: PUSH1 0x20
000016f3: ADD
000016f4: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
00001715: DUP2
00001716: MSTORE
00001717: POP
00001718: DUP6
00001719: PUSH1 0x01
0000171b: PUSH1 0x01
0000171d: PUSH1 0xa0
0000171f: SHL
00001720: SUB
00001721: AND
00001722: PUSH2 0x18c8
00001725: SWAP1
00001726: SWAP3
00001727: SWAP2
00001728: SWAP1
00001729: PUSH4 0xffffffff
0000172e: AND
0000172f: JUMP
00001730: JUMPDEST
00001731: SWAP1
00001732: POP
00001733: DUP1
00001734: MLOAD
00001735: PUSH0
00001736: EQ
00001737: DUP1
00001738: PUSH2 0x1750
0000173b: JUMPI
0000173c: POP
0000173d: DUP1
0000173e: DUP1
0000173f: PUSH1 0x20
00001741: ADD
00001742: SWAP1
00001743: MLOAD
00001744: DUP2
00001745: ADD
00001746: SWAP1
00001747: PUSH2 0x1750
0000174a: SWAP2
0000174b: SWAP1
0000174c: PUSH2 0x2196
0000174f: JUMP
00001750: JUMPDEST
00001751: PUSH2 0x09d2
00001754: JUMPI
00001755: PUSH1 0x40
00001757: MLOAD
00001758: PUSH3 0x461bcd
0000175c: PUSH1 0xe5
0000175e: SHL
0000175f: DUP2
00001760: MSTORE
00001761: PUSH1 0x20
00001763: PUSH1 0x04
00001765: DUP3
00001766: ADD
00001767: MSTORE
00001768: PUSH1 0x2a
0000176a: PUSH1 0x24
0000176c: DUP3
0000176d: ADD
0000176e: MSTORE
0000176f: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e
00001790: PUSH1 0x44
00001792: DUP3
00001793: ADD
00001794: MSTORE
00001795: PUSH10 0x1bdd081cdd58d8d95959
000017a0: PUSH1 0xb2
000017a2: SHL
000017a3: PUSH1 0x64
000017a5: DUP3
000017a6: ADD
000017a7: MSTORE
000017a8: PUSH1 0x84
000017aa: ADD
000017ab: PUSH2 0x0557
000017ae: JUMP
000017af: JUMPDEST
000017b0: PUSH0
000017b1: PUSH2 0x10d8
000017b4: DUP4
000017b5: DUP4
000017b6: PUSH2 0x18d6
000017b9: JUMP
000017ba: JUMPDEST
000017bb: PUSH1 0x40
000017bd: MLOAD
000017be: PUSH1 0x01
000017c0: PUSH1 0x01
000017c2: PUSH1 0xa0
000017c4: SHL
000017c5: SUB
000017c6: DUP1
000017c7: DUP6
000017c8: AND
000017c9: PUSH1 0x24
000017cb: DUP4
000017cc: ADD
000017cd: MSTORE
000017ce: DUP4
000017cf: AND
000017d0: PUSH1 0x44
000017d2: DUP3
000017d3: ADD
000017d4: MSTORE
000017d5: PUSH1 0x64
000017d7: DUP2
000017d8: ADD
000017d9: DUP3
000017da: SWAP1
000017db: MSTORE
000017dc: PUSH2 0x0930
000017df: SWAP1
000017e0: DUP6
000017e1: SWAP1
000017e2: PUSH4 0x23b872dd
000017e7: PUSH1 0xe0
000017e9: SHL
000017ea: SWAP1
000017eb: PUSH1 0x84
000017ed: ADD
000017ee: PUSH2 0x1462
000017f1: JUMP
000017f2: JUMPDEST
000017f3: PUSH0
000017f4: PUSH32 0x00000000000000000000000082a729a4c7b2aebddbfccf533e7b75c61c45c23c
00001815: PUSH1 0x01
00001817: PUSH1 0x01
00001819: PUSH1 0xa0
0000181b: SHL
0000181c: SUB
0000181d: AND
0000181e: PUSH4 0x10b83dc0
00001823: DUP5
00001824: DUP8
00001825: DUP8
00001826: DUP7
00001827: PUSH2 0x182f
0000182a: DUP12
0000182b: PUSH2 0x159e
0000182e: JUMP
0000182f: JUMPDEST
00001830: PUSH1 0x65
00001832: SLOAD
00001833: PUSH1 0x40
00001835: MLOAD
00001836: PUSH1 0x01
00001838: PUSH1 0x01
0000183a: PUSH1 0xe0
0000183c: SHL
0000183d: SUB
0000183e: NOT
0000183f: PUSH1 0xe0
00001841: DUP10
00001842: SWAP1
00001843: SHL
00001844: AND
00001845: DUP2
00001846: MSTORE
00001847: PUSH2 0x1860
0000184a: SWAP6
0000184b: SWAP5
0000184c: SWAP4
0000184d: SWAP3
0000184e: SWAP2
0000184f: PUSH1 0x01
00001851: PUSH1 0x01
00001853: PUSH1 0xa0
00001855: SHL
00001856: SUB
00001857: AND
00001858: SWAP1
00001859: PUSH1 0x04
0000185b: ADD
0000185c: PUSH2 0x2117
0000185f: JUMP
00001860: JUMPDEST
00001861: PUSH1 0x20
00001863: PUSH1 0x40
00001865: MLOAD
00001866: DUP1
00001867: DUP4
00001868: SUB
00001869: DUP2
0000186a: DUP6
0000186b: DUP9
0000186c: GAS
0000186d: CALL
0000186e: ISZERO
0000186f: DUP1
00001870: ISZERO
00001871: PUSH2 0x187c
00001874: JUMPI
00001875: RETURNDATASIZE
00001876: PUSH0
00001877: PUSH0
00001878: RETURNDATACOPY
00001879: RETURNDATASIZE
0000187a: PUSH0
0000187b: REVERT
0000187c: JUMPDEST
0000187d: POP
0000187e: POP
0000187f: POP
00001880: POP
00001881: POP
00001882: PUSH1 0x40
00001884: MLOAD
00001885: RETURNDATASIZE
00001886: PUSH1 0x1f
00001888: NOT
00001889: PUSH1 0x1f
0000188b: DUP3
0000188c: ADD
0000188d: AND
0000188e: DUP3
0000188f: ADD
00001890: DUP1
00001891: PUSH1 0x40
00001893: MSTORE
00001894: POP
00001895: DUP2
00001896: ADD
00001897: SWAP1
00001898: PUSH2 0x154a
0000189b: SWAP2
0000189c: SWAP1
0000189d: PUSH2 0x1f54
000018a0: JUMP
000018a1: JUMPDEST
000018a2: PUSH0
000018a3: PUSH2 0x10d8
000018a6: DUP4
000018a7: DUP4
000018a8: PUSH2 0x19b9
000018ab: JUMP
000018ac: JUMPDEST
000018ad: PUSH1 0x60
000018af: PUSH2 0x08c3
000018b2: PUSH0
000018b3: DUP4
000018b4: CALLER
000018b5: PUSH1 0x40
000018b7: MLOAD
000018b8: DUP1
000018b9: PUSH1 0x20
000018bb: ADD
000018bc: PUSH1 0x40
000018be: MSTORE
000018bf: DUP1
000018c0: PUSH0
000018c1: DUP2
000018c2: MSTORE
000018c3: POP
000018c4: PUSH2 0x1a05
000018c7: JUMP
000018c8: JUMPDEST
000018c9: PUSH1 0x60
000018cb: PUSH2 0x0694
000018ce: DUP5
000018cf: DUP5
000018d0: PUSH0
000018d1: DUP6
000018d2: PUSH2 0x1a21
000018d5: JUMP
000018d6: JUMPDEST
000018d7: PUSH0
000018d8: DUP2
000018d9: DUP2
000018da: MSTORE
000018db: PUSH1 0x01
000018dd: DUP4
000018de: ADD
000018df: PUSH1 0x20
000018e1: MSTORE
000018e2: PUSH1 0x40
000018e4: DUP2
000018e5: KECCAK256
000018e6: SLOAD
000018e7: DUP1
000018e8: ISZERO
000018e9: PUSH2 0x19b0
000018ec: JUMPI
000018ed: PUSH0
000018ee: PUSH2 0x18f8
000018f1: PUSH1 0x01
000018f3: DUP4
000018f4: PUSH2 0x21b5
000018f7: JUMP
000018f8: JUMPDEST
000018f9: DUP6
000018fa: SLOAD
000018fb: SWAP1
000018fc: SWAP2
000018fd: POP
000018fe: PUSH0
000018ff: SWAP1
00001900: PUSH2 0x190b
00001903: SWAP1
00001904: PUSH1 0x01
00001906: SWAP1
00001907: PUSH2 0x21b5
0000190a: JUMP
0000190b: JUMPDEST
0000190c: SWAP1
0000190d: POP
0000190e: DUP2
0000190f: DUP2
00001910: EQ
00001911: PUSH2 0x196a
00001914: JUMPI
00001915: PUSH0
00001916: DUP7
00001917: PUSH0
00001918: ADD
00001919: DUP3
0000191a: DUP2
0000191b: SLOAD
0000191c: DUP2
0000191d: LT
0000191e: PUSH2 0x1929
00001921: JUMPI
00001922: PUSH2 0x1929
00001925: PUSH2 0x1f6b
00001928: JUMP
00001929: JUMPDEST
0000192a: SWAP1
0000192b: PUSH0
0000192c: MSTORE
0000192d: PUSH1 0x20
0000192f: PUSH0
00001930: KECCAK256
00001931: ADD
00001932: SLOAD
00001933: SWAP1
00001934: POP
00001935: DUP1
00001936: DUP8
00001937: PUSH0
00001938: ADD
00001939: DUP5
0000193a: DUP2
0000193b: SLOAD
0000193c: DUP2
0000193d: LT
0000193e: PUSH2 0x1949
00001941: JUMPI
00001942: PUSH2 0x1949
00001945: PUSH2 0x1f6b
00001948: JUMP
00001949: JUMPDEST
0000194a: PUSH0
0000194b: SWAP2
0000194c: DUP3
0000194d: MSTORE
0000194e: PUSH1 0x20
00001950: DUP1
00001951: DUP4
00001952: KECCAK256
00001953: SWAP1
00001954: SWAP2
00001955: ADD
00001956: SWAP3
00001957: SWAP1
00001958: SWAP3
00001959: SSTORE
0000195a: SWAP2
0000195b: DUP3
0000195c: MSTORE
0000195d: PUSH1 0x01
0000195f: DUP9
00001960: ADD
00001961: SWAP1
00001962: MSTORE
00001963: PUSH1 0x40
00001965: SWAP1
00001966: KECCAK256
00001967: DUP4
00001968: SWAP1
00001969: SSTORE
0000196a: JUMPDEST
0000196b: DUP6
0000196c: SLOAD
0000196d: DUP7
0000196e: SWAP1
0000196f: DUP1
00001970: PUSH2 0x197b
00001973: JUMPI
00001974: PUSH2 0x197b
00001977: PUSH2 0x21c8
0000197a: JUMP
0000197b: JUMPDEST
0000197c: PUSH1 0x01
0000197e: SWAP1
0000197f: SUB
00001980: DUP2
00001981: DUP2
00001982: SWAP1
00001983: PUSH0
00001984: MSTORE
00001985: PUSH1 0x20
00001987: PUSH0
00001988: KECCAK256
00001989: ADD
0000198a: PUSH0
0000198b: SWAP1
0000198c: SSTORE
0000198d: SWAP1
0000198e: SSTORE
0000198f: DUP6
00001990: PUSH1 0x01
00001992: ADD
00001993: PUSH0
00001994: DUP7
00001995: DUP2
00001996: MSTORE
00001997: PUSH1 0x20
00001999: ADD
0000199a: SWAP1
0000199b: DUP2
0000199c: MSTORE
0000199d: PUSH1 0x20
0000199f: ADD
000019a0: PUSH0
000019a1: KECCAK256
000019a2: PUSH0
000019a3: SWAP1
000019a4: SSTORE
000019a5: PUSH1 0x01
000019a7: SWAP4
000019a8: POP
000019a9: POP
000019aa: POP
000019ab: POP
000019ac: PUSH2 0x08c3
000019af: JUMP
000019b0: JUMPDEST
000019b1: PUSH0
000019b2: SWAP2
000019b3: POP
000019b4: POP
000019b5: PUSH2 0x08c3
000019b8: JUMP
000019b9: JUMPDEST
000019ba: PUSH0
000019bb: DUP2
000019bc: DUP2
000019bd: MSTORE
000019be: PUSH1 0x01
000019c0: DUP4
000019c1: ADD
000019c2: PUSH1 0x20
000019c4: MSTORE
000019c5: PUSH1 0x40
000019c7: DUP2
000019c8: KECCAK256
000019c9: SLOAD
000019ca: PUSH2 0x19fe
000019cd: JUMPI
000019ce: POP
000019cf: DUP2
000019d0: SLOAD
000019d1: PUSH1 0x01
000019d3: DUP2
000019d4: DUP2
000019d5: ADD
000019d6: DUP5
000019d7: SSTORE
000019d8: PUSH0
000019d9: DUP5
000019da: DUP2
000019db: MSTORE
000019dc: PUSH1 0x20
000019de: DUP1
000019df: DUP3
000019e0: KECCAK256
000019e1: SWAP1
000019e2: SWAP4
000019e3: ADD
000019e4: DUP5
000019e5: SWAP1
000019e6: SSTORE
000019e7: DUP5
000019e8: SLOAD
000019e9: DUP5
000019ea: DUP3
000019eb: MSTORE
000019ec: DUP3
000019ed: DUP7
000019ee: ADD
000019ef: SWAP1
000019f0: SWAP4
000019f1: MSTORE
000019f2: PUSH1 0x40
000019f4: SWAP1
000019f5: KECCAK256
000019f6: SWAP2
000019f7: SWAP1
000019f8: SWAP2
000019f9: SSTORE
000019fa: PUSH2 0x08c3
000019fd: JUMP
000019fe: JUMPDEST
000019ff: POP
00001a00: PUSH0
00001a01: PUSH2 0x08c3
00001a04: JUMP
00001a05: JUMPDEST
00001a06: PUSH1 0x60
00001a08: PUSH1 0x01
00001a0a: DUP6
00001a0b: DUP6
00001a0c: DUP6
00001a0d: DUP6
00001a0e: PUSH1 0x40
00001a10: MLOAD
00001a11: PUSH1 0x20
00001a13: ADD
00001a14: PUSH2 0x1518
00001a17: SWAP6
00001a18: SWAP5
00001a19: SWAP4
00001a1a: SWAP3
00001a1b: SWAP2
00001a1c: SWAP1
00001a1d: PUSH2 0x21dc
00001a20: JUMP
00001a21: JUMPDEST
00001a22: PUSH1 0x60
00001a24: DUP3
00001a25: SELFBALANCE
00001a26: LT
00001a27: ISZERO
00001a28: PUSH2 0x1a82
00001a2b: JUMPI
00001a2c: PUSH1 0x40
00001a2e: MLOAD
00001a2f: PUSH3 0x461bcd
00001a33: PUSH1 0xe5
00001a35: SHL
00001a36: DUP2
00001a37: MSTORE
00001a38: PUSH1 0x20
00001a3a: PUSH1 0x04
00001a3c: DUP3
00001a3d: ADD
00001a3e: MSTORE
00001a3f: PUSH1 0x26
00001a41: PUSH1 0x24
00001a43: DUP3
00001a44: ADD
00001a45: MSTORE
00001a46: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f
00001a67: PUSH1 0x44
00001a69: DUP3
00001a6a: ADD
00001a6b: MSTORE
00001a6c: PUSH6 0x1c8818d85b1b
00001a73: PUSH1 0xd2
00001a75: SHL
00001a76: PUSH1 0x64
00001a78: DUP3
00001a79: ADD
00001a7a: MSTORE
00001a7b: PUSH1 0x84
00001a7d: ADD
00001a7e: PUSH2 0x0557
00001a81: JUMP
00001a82: JUMPDEST
00001a83: PUSH0
00001a84: PUSH0
00001a85: DUP7
00001a86: PUSH1 0x01
00001a88: PUSH1 0x01
00001a8a: PUSH1 0xa0
00001a8c: SHL
00001a8d: SUB
00001a8e: AND
00001a8f: DUP6
00001a90: DUP8
00001a91: PUSH1 0x40
00001a93: MLOAD
00001a94: PUSH2 0x1a9d
00001a97: SWAP2
00001a98: SWAP1
00001a99: PUSH2 0x221b
00001a9c: JUMP
00001a9d: JUMPDEST
00001a9e: PUSH0
00001a9f: PUSH1 0x40
00001aa1: MLOAD
00001aa2: DUP1
00001aa3: DUP4
00001aa4: SUB
00001aa5: DUP2
00001aa6: DUP6
00001aa7: DUP8
00001aa8: GAS
00001aa9: CALL
00001aaa: SWAP3
00001aab: POP
00001aac: POP
00001aad: POP
00001aae: RETURNDATASIZE
00001aaf: DUP1
00001ab0: PUSH0
00001ab1: DUP2
00001ab2: EQ
00001ab3: PUSH2 0x1ad7
00001ab6: JUMPI
00001ab7: PUSH1 0x40
00001ab9: MLOAD
00001aba: SWAP2
00001abb: POP
00001abc: PUSH1 0x1f
00001abe: NOT
00001abf: PUSH1 0x3f
00001ac1: RETURNDATASIZE
00001ac2: ADD
00001ac3: AND
00001ac4: DUP3
00001ac5: ADD
00001ac6: PUSH1 0x40
00001ac8: MSTORE
00001ac9: RETURNDATASIZE
00001aca: DUP3
00001acb: MSTORE
00001acc: RETURNDATASIZE
00001acd: PUSH0
00001ace: PUSH1 0x20
00001ad0: DUP5
00001ad1: ADD
00001ad2: RETURNDATACOPY
00001ad3: PUSH2 0x1adc
00001ad6: JUMP
00001ad7: JUMPDEST
00001ad8: PUSH1 0x60
00001ada: SWAP2
00001adb: POP
00001adc: JUMPDEST
00001add: POP
00001ade: SWAP2
00001adf: POP
00001ae0: SWAP2
00001ae1: POP
00001ae2: PUSH2 0x0f41
00001ae5: DUP8
00001ae6: DUP4
00001ae7: DUP4
00001ae8: DUP8
00001ae9: PUSH1 0x60
00001aeb: DUP4
00001aec: ISZERO
00001aed: PUSH2 0x1b56
00001af0: JUMPI
00001af1: DUP3
00001af2: MLOAD
00001af3: PUSH0
00001af4: SUB
00001af5: PUSH2 0x1b4f
00001af8: JUMPI
00001af9: PUSH1 0x01
00001afb: PUSH1 0x01
00001afd: PUSH1 0xa0
00001aff: SHL
00001b00: SUB
00001b01: DUP6
00001b02: AND
00001b03: EXTCODESIZE
00001b04: PUSH2 0x1b4f
00001b07: JUMPI
00001b08: PUSH1 0x40
00001b0a: MLOAD
00001b0b: PUSH3 0x461bcd
00001b0f: PUSH1 0xe5
00001b11: SHL
00001b12: DUP2
00001b13: MSTORE
00001b14: PUSH1 0x20
00001b16: PUSH1 0x04
00001b18: DUP3
00001b19: ADD
00001b1a: MSTORE
00001b1b: PUSH1 0x1d
00001b1d: PUSH1 0x24
00001b1f: DUP3
00001b20: ADD
00001b21: MSTORE
00001b22: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
00001b43: PUSH1 0x44
00001b45: DUP3
00001b46: ADD
00001b47: MSTORE
00001b48: PUSH1 0x64
00001b4a: ADD
00001b4b: PUSH2 0x0557
00001b4e: JUMP
00001b4f: JUMPDEST
00001b50: POP
00001b51: DUP2
00001b52: PUSH2 0x0694
00001b55: JUMP
00001b56: JUMPDEST
00001b57: PUSH2 0x0694
00001b5a: DUP4
00001b5b: DUP4
00001b5c: DUP2
00001b5d: MLOAD
00001b5e: ISZERO
00001b5f: PUSH2 0x1b6b
00001b62: JUMPI
00001b63: DUP2
00001b64: MLOAD
00001b65: DUP1
00001b66: DUP4
00001b67: PUSH1 0x20
00001b69: ADD
00001b6a: REVERT
00001b6b: JUMPDEST
00001b6c: DUP1
00001b6d: PUSH1 0x40
00001b6f: MLOAD
00001b70: PUSH3 0x461bcd
00001b74: PUSH1 0xe5
00001b76: SHL
00001b77: DUP2
00001b78: MSTORE
00001b79: PUSH1 0x04
00001b7b: ADD
00001b7c: PUSH2 0x0557
00001b7f: SWAP2
00001b80: SWAP1
00001b81: PUSH2 0x1fe8
00001b84: JUMP
00001b85: JUMPDEST
00001b86: DUP1
00001b87: CALLDATALOAD
00001b88: PUSH1 0x01
00001b8a: PUSH1 0x01
00001b8c: PUSH1 0xa0
00001b8e: SHL
00001b8f: SUB
00001b90: DUP2
00001b91: AND
00001b92: DUP2
00001b93: EQ
00001b94: PUSH2 0x1b9b
00001b97: JUMPI
00001b98: PUSH0
00001b99: PUSH0
00001b9a: REVERT
00001b9b: JUMPDEST
00001b9c: SWAP2
00001b9d: SWAP1
00001b9e: POP
00001b9f: JUMP
00001ba0: JUMPDEST
00001ba1: PUSH0
00001ba2: PUSH1 0x20
00001ba4: DUP3
00001ba5: DUP5
00001ba6: SUB
00001ba7: SLT
00001ba8: ISZERO
00001ba9: PUSH2 0x1bb0
00001bac: JUMPI
00001bad: PUSH0
00001bae: PUSH0
00001baf: REVERT
00001bb0: JUMPDEST
00001bb1: PUSH2 0x10d8
00001bb4: DUP3
00001bb5: PUSH2 0x1b85
00001bb8: JUMP
00001bb9: JUMPDEST
00001bba: DUP1
00001bbb: CALLDATALOAD
00001bbc: PUSH2 0xffff
00001bbf: DUP2
00001bc0: AND
00001bc1: DUP2
00001bc2: EQ
00001bc3: PUSH2 0x1b9b
00001bc6: JUMPI
00001bc7: PUSH0
00001bc8: PUSH0
00001bc9: REVERT
00001bca: JUMPDEST
00001bcb: PUSH0
00001bcc: PUSH1 0x20
00001bce: DUP3
00001bcf: DUP5
00001bd0: SUB
00001bd1: SLT
00001bd2: ISZERO
00001bd3: PUSH2 0x1bda
00001bd6: JUMPI
00001bd7: PUSH0
00001bd8: PUSH0
00001bd9: REVERT
00001bda: JUMPDEST
00001bdb: PUSH2 0x10d8
00001bde: DUP3
00001bdf: PUSH2 0x1bb9
00001be2: JUMP
00001be3: JUMPDEST
00001be4: DUP1
00001be5: CALLDATALOAD
00001be6: PUSH4 0xffffffff
00001beb: DUP2
00001bec: AND
00001bed: DUP2
00001bee: EQ
00001bef: PUSH2 0x1b9b
00001bf2: JUMPI
00001bf3: PUSH0
00001bf4: PUSH0
00001bf5: REVERT
00001bf6: JUMPDEST
00001bf7: PUSH0
00001bf8: PUSH1 0x20
00001bfa: DUP3
00001bfb: DUP5
00001bfc: SUB
00001bfd: SLT
00001bfe: ISZERO
00001bff: PUSH2 0x1c06
00001c02: JUMPI
00001c03: PUSH0
00001c04: PUSH0
00001c05: REVERT
00001c06: JUMPDEST
00001c07: PUSH2 0x10d8
00001c0a: DUP3
00001c0b: PUSH2 0x1be3
00001c0e: JUMP
00001c0f: JUMPDEST
00001c10: PUSH1 0x20
00001c12: DUP1
00001c13: DUP3
00001c14: MSTORE
00001c15: DUP3
00001c16: MLOAD
00001c17: DUP3
00001c18: DUP3
00001c19: ADD
00001c1a: DUP2
00001c1b: SWAP1
00001c1c: MSTORE
00001c1d: PUSH0
00001c1e: SWAP2
00001c1f: DUP5
00001c20: ADD
00001c21: SWAP1
00001c22: PUSH1 0x40
00001c24: DUP5
00001c25: ADD
00001c26: SWAP1
00001c27: DUP4
00001c28: JUMPDEST
00001c29: DUP2
00001c2a: DUP2
00001c2b: LT
00001c2c: ISZERO
00001c2d: PUSH2 0x1c4c
00001c30: JUMPI
00001c31: DUP4
00001c32: MLOAD
00001c33: PUSH4 0xffffffff
00001c38: AND
00001c39: DUP4
00001c3a: MSTORE
00001c3b: PUSH1 0x20
00001c3d: SWAP4
00001c3e: DUP5
00001c3f: ADD
00001c40: SWAP4
00001c41: SWAP1
00001c42: SWAP3
00001c43: ADD
00001c44: SWAP2
00001c45: PUSH1 0x01
00001c47: ADD
00001c48: PUSH2 0x1c28
00001c4b: JUMP
00001c4c: JUMPDEST
00001c4d: POP
00001c4e: SWAP1
00001c4f: SWAP6
00001c50: SWAP5
00001c51: POP
00001c52: POP
00001c53: POP
00001c54: POP
00001c55: POP
00001c56: JUMP
00001c57: JUMPDEST
00001c58: PUSH0
00001c59: PUSH0
00001c5a: PUSH1 0x40
00001c5c: DUP4
00001c5d: DUP6
00001c5e: SUB
00001c5f: SLT
00001c60: ISZERO
00001c61: PUSH2 0x1c68
00001c64: JUMPI
00001c65: PUSH0
00001c66: PUSH0
00001c67: REVERT
00001c68: JUMPDEST
00001c69: PUSH2 0x1c71
00001c6c: DUP4
00001c6d: PUSH2 0x1be3
00001c70: JUMP
00001c71: JUMPDEST
00001c72: SWAP5
00001c73: PUSH1 0x20
00001c75: SWAP4
00001c76: SWAP1
00001c77: SWAP4
00001c78: ADD
00001c79: CALLDATALOAD
00001c7a: SWAP4
00001c7b: POP
00001c7c: POP
00001c7d: POP
00001c7e: JUMP
00001c7f: JUMPDEST
00001c80: PUSH0
00001c81: PUSH0
00001c82: DUP4
00001c83: PUSH1 0x1f
00001c85: DUP5
00001c86: ADD
00001c87: SLT
00001c88: PUSH2 0x1c8f
00001c8b: JUMPI
00001c8c: PUSH0
00001c8d: PUSH0
00001c8e: REVERT
00001c8f: JUMPDEST
00001c90: POP
00001c91: DUP2
00001c92: CALLDATALOAD
00001c93: PUSH8 0xffffffffffffffff
00001c9c: DUP2
00001c9d: GT
00001c9e: ISZERO
00001c9f: PUSH2 0x1ca6
00001ca2: JUMPI
00001ca3: PUSH0
00001ca4: PUSH0
00001ca5: REVERT
00001ca6: JUMPDEST
00001ca7: PUSH1 0x20
00001ca9: DUP4
00001caa: ADD
00001cab: SWAP2
00001cac: POP
00001cad: DUP4
00001cae: PUSH1 0x20
00001cb0: DUP3
00001cb1: DUP6
00001cb2: ADD
00001cb3: ADD
00001cb4: GT
00001cb5: ISZERO
00001cb6: PUSH2 0x0cb5
00001cb9: JUMPI
00001cba: PUSH0
00001cbb: PUSH0
00001cbc: REVERT
00001cbd: JUMPDEST
00001cbe: PUSH0
00001cbf: PUSH0
00001cc0: PUSH0
00001cc1: PUSH0
00001cc2: PUSH1 0x60
00001cc4: DUP6
00001cc5: DUP8
00001cc6: SUB
00001cc7: SLT
00001cc8: ISZERO
00001cc9: PUSH2 0x1cd0
00001ccc: JUMPI
00001ccd: PUSH0
00001cce: PUSH0
00001ccf: REVERT
00001cd0: JUMPDEST
00001cd1: PUSH2 0x1cd9
00001cd4: DUP6
00001cd5: PUSH2 0x1be3
00001cd8: JUMP
00001cd9: JUMPDEST
00001cda: SWAP4
00001cdb: POP
00001cdc: PUSH1 0x20
00001cde: DUP6
00001cdf: ADD
00001ce0: CALLDATALOAD
00001ce1: SWAP3
00001ce2: POP
00001ce3: PUSH1 0x40
00001ce5: DUP6
00001ce6: ADD
00001ce7: CALLDATALOAD
00001ce8: PUSH8 0xffffffffffffffff
00001cf1: DUP2
00001cf2: GT
00001cf3: ISZERO
00001cf4: PUSH2 0x1cfb
00001cf7: JUMPI
00001cf8: PUSH0
00001cf9: PUSH0
00001cfa: REVERT
00001cfb: JUMPDEST
00001cfc: PUSH2 0x1d07
00001cff: DUP8
00001d00: DUP3
00001d01: DUP9
00001d02: ADD
00001d03: PUSH2 0x1c7f
00001d06: JUMP
00001d07: JUMPDEST
00001d08: SWAP6
00001d09: SWAP9
00001d0a: SWAP5
00001d0b: SWAP8
00001d0c: POP
00001d0d: SWAP6
00001d0e: POP
00001d0f: POP
00001d10: POP
00001d11: POP
00001d12: JUMP
00001d13: JUMPDEST
00001d14: PUSH0
00001d15: PUSH0
00001d16: DUP4
00001d17: PUSH1 0x1f
00001d19: DUP5
00001d1a: ADD
00001d1b: SLT
00001d1c: PUSH2 0x1d23
00001d1f: JUMPI
00001d20: PUSH0
00001d21: PUSH0
00001d22: REVERT
00001d23: JUMPDEST
00001d24: POP
00001d25: DUP2
00001d26: CALLDATALOAD
00001d27: PUSH8 0xffffffffffffffff
00001d30: DUP2
00001d31: GT
00001d32: ISZERO
00001d33: PUSH2 0x1d3a
00001d36: JUMPI
00001d37: PUSH0
00001d38: PUSH0
00001d39: REVERT
00001d3a: JUMPDEST
00001d3b: PUSH1 0x20
00001d3d: DUP4
00001d3e: ADD
00001d3f: SWAP2
00001d40: POP
00001d41: DUP4
00001d42: PUSH1 0x20
00001d44: DUP3
00001d45: PUSH1 0x05
00001d47: SHL
00001d48: DUP6
00001d49: ADD
00001d4a: ADD
00001d4b: GT
00001d4c: ISZERO
00001d4d: PUSH2 0x0cb5
00001d50: JUMPI
00001d51: PUSH0
00001d52: PUSH0
00001d53: REVERT
00001d54: JUMPDEST
00001d55: PUSH0
00001d56: PUSH0
00001d57: PUSH1 0x20
00001d59: DUP4
00001d5a: DUP6
00001d5b: SUB
00001d5c: SLT
00001d5d: ISZERO
00001d5e: PUSH2 0x1d65
00001d61: JUMPI
00001d62: PUSH0
00001d63: PUSH0
00001d64: REVERT
00001d65: JUMPDEST
00001d66: DUP3
00001d67: CALLDATALOAD
00001d68: PUSH8 0xffffffffffffffff
00001d71: DUP2
00001d72: GT
00001d73: ISZERO
00001d74: PUSH2 0x1d7b
00001d77: JUMPI
00001d78: PUSH0
00001d79: PUSH0
00001d7a: REVERT
00001d7b: JUMPDEST
00001d7c: PUSH2 0x1d87
00001d7f: DUP6
00001d80: DUP3
00001d81: DUP7
00001d82: ADD
00001d83: PUSH2 0x1d13
00001d86: JUMP
00001d87: JUMPDEST
00001d88: SWAP1
00001d89: SWAP7
00001d8a: SWAP1
00001d8b: SWAP6
00001d8c: POP
00001d8d: SWAP4
00001d8e: POP
00001d8f: POP
00001d90: POP
00001d91: POP
00001d92: JUMP
00001d93: JUMPDEST
00001d94: PUSH0
00001d95: PUSH0
00001d96: PUSH0
00001d97: PUSH0
00001d98: PUSH0
00001d99: PUSH1 0x80
00001d9b: DUP7
00001d9c: DUP9
00001d9d: SUB
00001d9e: SLT
00001d9f: ISZERO
00001da0: PUSH2 0x1da7
00001da3: JUMPI
00001da4: PUSH0
00001da5: PUSH0
00001da6: REVERT
00001da7: JUMPDEST
00001da8: PUSH2 0x1db0
00001dab: DUP7
00001dac: PUSH2 0x1be3
00001daf: JUMP
00001db0: JUMPDEST
00001db1: SWAP5
00001db2: POP
00001db3: PUSH1 0x20
00001db5: DUP7
00001db6: ADD
00001db7: CALLDATALOAD
00001db8: PUSH8 0xffffffffffffffff
00001dc1: DUP2
00001dc2: GT
00001dc3: ISZERO
00001dc4: PUSH2 0x1dcb
00001dc7: JUMPI
00001dc8: PUSH0
00001dc9: PUSH0
00001dca: REVERT
00001dcb: JUMPDEST
00001dcc: PUSH2 0x1dd7
00001dcf: DUP9
00001dd0: DUP3
00001dd1: DUP10
00001dd2: ADD
00001dd3: PUSH2 0x1c7f
00001dd6: JUMP
00001dd7: JUMPDEST
00001dd8: SWAP1
00001dd9: SWAP6
00001dda: POP
00001ddb: SWAP4
00001ddc: POP
00001ddd: POP
00001dde: PUSH1 0x40
00001de0: DUP7
00001de1: ADD
00001de2: CALLDATALOAD
00001de3: SWAP2
00001de4: POP
00001de5: PUSH2 0x1df0
00001de8: PUSH1 0x60
00001dea: DUP8
00001deb: ADD
00001dec: PUSH2 0x1bb9
00001def: JUMP
00001df0: JUMPDEST
00001df1: SWAP1
00001df2: POP
00001df3: SWAP3
00001df4: SWAP6
00001df5: POP
00001df6: SWAP3
00001df7: SWAP6
00001df8: SWAP1
00001df9: SWAP4
00001dfa: POP
00001dfb: JUMP
00001dfc: JUMPDEST
00001dfd: PUSH0
00001dfe: PUSH0
00001dff: PUSH1 0x20
00001e01: DUP4
00001e02: DUP6
00001e03: SUB
00001e04: SLT
00001e05: ISZERO
00001e06: PUSH2 0x1e0d
00001e09: JUMPI
00001e0a: PUSH0
00001e0b: PUSH0
00001e0c: REVERT
00001e0d: JUMPDEST
00001e0e: DUP3
00001e0f: CALLDATALOAD
00001e10: PUSH8 0xffffffffffffffff
00001e19: DUP2
00001e1a: GT
00001e1b: ISZERO
00001e1c: PUSH2 0x1e23
00001e1f: JUMPI
00001e20: PUSH0
00001e21: PUSH0
00001e22: REVERT
00001e23: JUMPDEST
00001e24: DUP4
00001e25: ADD
00001e26: PUSH1 0x1f
00001e28: DUP2
00001e29: ADD
00001e2a: DUP6
00001e2b: SGT
00001e2c: PUSH2 0x1e33
00001e2f: JUMPI
00001e30: PUSH0
00001e31: PUSH0
00001e32: REVERT
00001e33: JUMPDEST
00001e34: DUP1
00001e35: CALLDATALOAD
00001e36: PUSH8 0xffffffffffffffff
00001e3f: DUP2
00001e40: GT
00001e41: ISZERO
00001e42: PUSH2 0x1e49
00001e45: JUMPI
00001e46: PUSH0
00001e47: PUSH0
00001e48: REVERT
00001e49: JUMPDEST
00001e4a: DUP6
00001e4b: PUSH1 0x20
00001e4d: DUP3
00001e4e: PUSH1 0x06
00001e50: SHL
00001e51: DUP5
00001e52: ADD
00001e53: ADD
00001e54: GT
00001e55: ISZERO
00001e56: PUSH2 0x1e5d
00001e59: JUMPI
00001e5a: PUSH0
00001e5b: PUSH0
00001e5c: REVERT
00001e5d: JUMPDEST
00001e5e: PUSH1 0x20
00001e60: SWAP2
00001e61: SWAP1
00001e62: SWAP2
00001e63: ADD
00001e64: SWAP6
00001e65: SWAP1
00001e66: SWAP5
00001e67: POP
00001e68: SWAP3
00001e69: POP
00001e6a: POP
00001e6b: POP
00001e6c: JUMP
00001e6d: JUMPDEST
00001e6e: PUSH0
00001e6f: PUSH0
00001e70: PUSH0
00001e71: PUSH1 0x60
00001e73: DUP5
00001e74: DUP7
00001e75: SUB
00001e76: SLT
00001e77: ISZERO
00001e78: PUSH2 0x1e7f
00001e7b: JUMPI
00001e7c: PUSH0
00001e7d: PUSH0
00001e7e: REVERT
00001e7f: JUMPDEST
00001e80: PUSH2 0x1e88
00001e83: DUP5
00001e84: PUSH2 0x1b85
00001e87: JUMP
00001e88: JUMPDEST
00001e89: SWAP3
00001e8a: POP
00001e8b: PUSH2 0x1e96
00001e8e: PUSH1 0x20
00001e90: DUP6
00001e91: ADD
00001e92: PUSH2 0x1b85
00001e95: JUMP
00001e96: JUMPDEST
00001e97: SWAP2
00001e98: POP
00001e99: PUSH2 0x1ea4
00001e9c: PUSH1 0x40
00001e9e: DUP6
00001e9f: ADD
00001ea0: PUSH2 0x1b85
00001ea3: JUMP
00001ea4: JUMPDEST
00001ea5: SWAP1
00001ea6: POP
00001ea7: SWAP3
00001ea8: POP
00001ea9: SWAP3
00001eaa: POP
00001eab: SWAP3
00001eac: JUMP
00001ead: JUMPDEST
00001eae: PUSH0
00001eaf: PUSH0
00001eb0: PUSH0
00001eb1: PUSH0
00001eb2: PUSH1 0x40
00001eb4: DUP6
00001eb5: DUP8
00001eb6: SUB
00001eb7: SLT
00001eb8: ISZERO
00001eb9: PUSH2 0x1ec0
00001ebc: JUMPI
00001ebd: PUSH0
00001ebe: PUSH0
00001ebf: REVERT
00001ec0: JUMPDEST
00001ec1: DUP5
00001ec2: CALLDATALOAD
00001ec3: PUSH8 0xffffffffffffffff
00001ecc: DUP2
00001ecd: GT
00001ece: ISZERO
00001ecf: PUSH2 0x1ed6
00001ed2: JUMPI
00001ed3: PUSH0
00001ed4: PUSH0
00001ed5: REVERT
00001ed6: JUMPDEST
00001ed7: PUSH2 0x1ee2
00001eda: DUP8
00001edb: DUP3
00001edc: DUP9
00001edd: ADD
00001ede: PUSH2 0x1d13
00001ee1: JUMP
00001ee2: JUMPDEST
00001ee3: SWAP1
00001ee4: SWAP6
00001ee5: POP
00001ee6: SWAP4
00001ee7: POP
00001ee8: POP
00001ee9: PUSH1 0x20
00001eeb: DUP6
00001eec: ADD
00001eed: CALLDATALOAD
00001eee: PUSH8 0xffffffffffffffff
00001ef7: DUP2
00001ef8: GT
00001ef9: ISZERO
00001efa: PUSH2 0x1f01
00001efd: JUMPI
00001efe: PUSH0
00001eff: PUSH0
00001f00: REVERT
00001f01: JUMPDEST
00001f02: PUSH2 0x1d07
00001f05: DUP8
00001f06: DUP3
00001f07: DUP9
00001f08: ADD
00001f09: PUSH2 0x1d13
00001f0c: JUMP
00001f0d: JUMPDEST
00001f0e: PUSH1 0x20
00001f10: DUP1
00001f11: DUP3
00001f12: MSTORE
00001f13: PUSH1 0x27
00001f15: SWAP1
00001f16: DUP3
00001f17: ADD
00001f18: MSTORE
00001f19: PUSH32 0x4d61696c626f78436c69656e743a20696e76616c696420636f6e747261637420
00001f3a: PUSH1 0x40
00001f3c: DUP3
00001f3d: ADD
00001f3e: MSTORE
00001f3f: PUSH7 0x73657474696e67
00001f47: PUSH1 0xc8
00001f49: SHL
00001f4a: PUSH1 0x60
00001f4c: DUP3
00001f4d: ADD
00001f4e: MSTORE
00001f4f: PUSH1 0x80
00001f51: ADD
00001f52: SWAP1
00001f53: JUMP
00001f54: JUMPDEST
00001f55: PUSH0
00001f56: PUSH1 0x20
00001f58: DUP3
00001f59: DUP5
00001f5a: SUB
00001f5b: SLT
00001f5c: ISZERO
00001f5d: PUSH2 0x1f64
00001f60: JUMPI
00001f61: PUSH0
00001f62: PUSH0
00001f63: REVERT
00001f64: JUMPDEST
00001f65: POP
00001f66: MLOAD
00001f67: SWAP2
00001f68: SWAP1
00001f69: POP
00001f6a: JUMP
00001f6b: JUMPDEST
00001f6c: PUSH4 0x4e487b71
00001f71: PUSH1 0xe0
00001f73: SHL
00001f74: PUSH0
00001f75: MSTORE
00001f76: PUSH1 0x32
00001f78: PUSH1 0x04
00001f7a: MSTORE
00001f7b: PUSH1 0x24
00001f7d: PUSH0
00001f7e: REVERT
00001f7f: JUMPDEST
00001f80: PUSH4 0x4e487b71
00001f85: PUSH1 0xe0
00001f87: SHL
00001f88: PUSH0
00001f89: MSTORE
00001f8a: PUSH1 0x11
00001f8c: PUSH1 0x04
00001f8e: MSTORE
00001f8f: PUSH1 0x24
00001f91: PUSH0
00001f92: REVERT
00001f93: JUMPDEST
00001f94: DUP1
00001f95: DUP3
00001f96: ADD
00001f97: DUP1
00001f98: DUP3
00001f99: GT
00001f9a: ISZERO
00001f9b: PUSH2 0x08c3
00001f9e: JUMPI
00001f9f: PUSH2 0x08c3
00001fa2: PUSH2 0x1f7f
00001fa5: JUMP
00001fa6: JUMPDEST
00001fa7: PUSH4 0x4e487b71
00001fac: PUSH1 0xe0
00001fae: SHL
00001faf: PUSH0
00001fb0: MSTORE
00001fb1: PUSH1 0x41
00001fb3: PUSH1 0x04
00001fb5: MSTORE
00001fb6: PUSH1 0x24
00001fb8: PUSH0
00001fb9: REVERT
00001fba: JUMPDEST
00001fbb: PUSH0
00001fbc: DUP2
00001fbd: MLOAD
00001fbe: DUP1
00001fbf: DUP5
00001fc0: MSTORE
00001fc1: DUP1
00001fc2: PUSH1 0x20
00001fc4: DUP5
00001fc5: ADD
00001fc6: PUSH1 0x20
00001fc8: DUP7
00001fc9: ADD
00001fca: MCOPY
00001fcb: PUSH0
00001fcc: PUSH1 0x20
00001fce: DUP3
00001fcf: DUP7
00001fd0: ADD
00001fd1: ADD
00001fd2: MSTORE
00001fd3: PUSH1 0x20
00001fd5: PUSH1 0x1f
00001fd7: NOT
00001fd8: PUSH1 0x1f
00001fda: DUP4
00001fdb: ADD
00001fdc: AND
00001fdd: DUP6
00001fde: ADD
00001fdf: ADD
00001fe0: SWAP2
00001fe1: POP
00001fe2: POP
00001fe3: SWAP3
00001fe4: SWAP2
00001fe5: POP
00001fe6: POP
00001fe7: JUMP
00001fe8: JUMPDEST
00001fe9: PUSH1 0x20
00001feb: DUP2
00001fec: MSTORE
00001fed: PUSH0
00001fee: PUSH2 0x10d8
00001ff1: PUSH1 0x20
00001ff3: DUP4
00001ff4: ADD
00001ff5: DUP5
00001ff6: PUSH2 0x1fba
00001ff9: JUMP
00001ffa: JUMPDEST
00001ffb: PUSH1 0x20
00001ffd: DUP1
00001ffe: DUP3
00001fff: MSTORE
00002000: PUSH1 0x2b
00002002: SWAP1
00002003: DUP3
00002004: ADD
00002005: MSTORE
00002006: PUSH32 0x496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069
00002027: PUSH1 0x40
00002029: DUP3
0000202a: ADD
0000202b: MSTORE
0000202c: PUSH11 0x6e697469616c697a696e67
00002038: PUSH1 0xa8
0000203a: SHL
0000203b: PUSH1 0x60
0000203d: DUP3
0000203e: ADD
0000203f: MSTORE
00002040: PUSH1 0x80
00002042: ADD
00002043: SWAP1
00002044: JUMP
00002045: JUMPDEST
00002046: PUSH0
00002047: DUP2
00002048: MLOAD
00002049: DUP1
0000204a: PUSH1 0x20
0000204c: DUP5
0000204d: ADD
0000204e: DUP6
0000204f: MCOPY
00002050: PUSH0
00002051: SWAP4
00002052: ADD
00002053: SWAP3
00002054: DUP4
00002055: MSTORE
00002056: POP
00002057: SWAP1
00002058: SWAP2
00002059: SWAP1
0000205a: POP
0000205b: JUMP
0000205c: JUMPDEST
0000205d: PUSH32 0x4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a2000
0000207e: DUP2
0000207f: MSTORE
00002080: PUSH0
00002081: PUSH2 0x10d8
00002084: PUSH1 0x1f
00002086: DUP4
00002087: ADD
00002088: DUP5
00002089: PUSH2 0x2045
0000208c: JUMP
0000208d: JUMPDEST
0000208e: PUSH0
0000208f: PUSH0
00002090: DUP6
00002091: DUP6
00002092: GT
00002093: ISZERO
00002094: PUSH2 0x209b
00002097: JUMPI
00002098: PUSH0
00002099: PUSH0
0000209a: REVERT
0000209b: JUMPDEST
0000209c: DUP4
0000209d: DUP7
0000209e: GT
0000209f: ISZERO
000020a0: PUSH2 0x20a7
000020a3: JUMPI
000020a4: PUSH0
000020a5: PUSH0
000020a6: REVERT
000020a7: JUMPDEST
000020a8: POP
000020a9: POP
000020aa: DUP3
000020ab: ADD
000020ac: SWAP4
000020ad: SWAP2
000020ae: SWAP1
000020af: SWAP3
000020b0: SUB
000020b1: SWAP2
000020b2: POP
000020b3: JUMP
000020b4: JUMPDEST
000020b5: DUP1
000020b6: CALLDATALOAD
000020b7: PUSH1 0x20
000020b9: DUP4
000020ba: LT
000020bb: ISZERO
000020bc: PUSH2 0x08c3
000020bf: JUMPI
000020c0: PUSH0
000020c1: NOT
000020c2: PUSH1 0x20
000020c4: DUP5
000020c5: SWAP1
000020c6: SUB
000020c7: PUSH1 0x03
000020c9: SHL
000020ca: SHL
000020cb: AND
000020cc: SWAP3
000020cd: SWAP2
000020ce: POP
000020cf: POP
000020d0: JUMP
000020d1: JUMPDEST
000020d2: DUP2
000020d3: DUP4
000020d4: DUP3
000020d5: CALLDATACOPY
000020d6: PUSH0
000020d7: SWAP2
000020d8: ADD
000020d9: SWAP1
000020da: DUP2
000020db: MSTORE
000020dc: SWAP2
000020dd: SWAP1
000020de: POP
000020df: JUMP
000020e0: JUMPDEST
000020e1: PUSH1 0x40
000020e3: DUP2
000020e4: MSTORE
000020e5: DUP3
000020e6: PUSH1 0x40
000020e8: DUP3
000020e9: ADD
000020ea: MSTORE
000020eb: DUP3
000020ec: DUP5
000020ed: PUSH1 0x60
000020ef: DUP4
000020f0: ADD
000020f1: CALLDATACOPY
000020f2: PUSH0
000020f3: PUSH1 0x60
000020f5: DUP5
000020f6: DUP4
000020f7: ADD
000020f8: ADD
000020f9: MSTORE
000020fa: PUSH0
000020fb: PUSH1 0x60
000020fd: PUSH1 0x1f
000020ff: NOT
00002100: PUSH1 0x1f
00002102: DUP7
00002103: ADD
00002104: AND
00002105: DUP4
00002106: ADD
00002107: ADD
00002108: SWAP1
00002109: POP
0000210a: DUP3
0000210b: PUSH1 0x20
0000210d: DUP4
0000210e: ADD
0000210f: MSTORE
00002110: SWAP5
00002111: SWAP4
00002112: POP
00002113: POP
00002114: POP
00002115: POP
00002116: JUMP
00002117: JUMPDEST
00002118: PUSH4 0xffffffff
0000211d: DUP7
0000211e: AND
0000211f: DUP2
00002120: MSTORE
00002121: DUP5
00002122: PUSH1 0x20
00002124: DUP3
00002125: ADD
00002126: MSTORE
00002127: PUSH1 0xa0
00002129: PUSH1 0x40
0000212b: DUP3
0000212c: ADD
0000212d: MSTORE
0000212e: PUSH0
0000212f: PUSH2 0x213b
00002132: PUSH1 0xa0
00002134: DUP4
00002135: ADD
00002136: DUP7
00002137: PUSH2 0x1fba
0000213a: JUMP
0000213b: JUMPDEST
0000213c: DUP3
0000213d: DUP2
0000213e: SUB
0000213f: PUSH1 0x60
00002141: DUP5
00002142: ADD
00002143: MSTORE
00002144: PUSH2 0x214d
00002147: DUP2
00002148: DUP7
00002149: PUSH2 0x1fba
0000214c: JUMP
0000214d: JUMPDEST
0000214e: SWAP2
0000214f: POP
00002150: POP
00002151: PUSH1 0x01
00002153: DUP1
00002154: PUSH1 0xa0
00002156: SHL
00002157: SUB
00002158: DUP4
00002159: AND
0000215a: PUSH1 0x80
0000215c: DUP4
0000215d: ADD
0000215e: MSTORE
0000215f: SWAP7
00002160: SWAP6
00002161: POP
00002162: POP
00002163: POP
00002164: POP
00002165: POP
00002166: POP
00002167: JUMP
00002168: JUMPDEST
00002169: DUP5
0000216a: DUP2
0000216b: MSTORE
0000216c: PUSH1 0xf0
0000216e: DUP5
0000216f: SWAP1
00002170: SHL
00002171: PUSH1 0x01
00002173: PUSH1 0x01
00002175: PUSH1 0xf0
00002177: SHL
00002178: SUB
00002179: NOT
0000217a: AND
0000217b: PUSH1 0x20
0000217d: DUP3
0000217e: ADD
0000217f: MSTORE
00002180: DUP2
00002181: DUP4
00002182: PUSH1 0x22
00002184: DUP4
00002185: ADD
00002186: CALLDATACOPY
00002187: PUSH0
00002188: SWAP2
00002189: ADD
0000218a: PUSH1 0x22
0000218c: ADD
0000218d: SWAP1
0000218e: DUP2
0000218f: MSTORE
00002190: SWAP4
00002191: SWAP3
00002192: POP
00002193: POP
00002194: POP
00002195: JUMP
00002196: JUMPDEST
00002197: PUSH0
00002198: PUSH1 0x20
0000219a: DUP3
0000219b: DUP5
0000219c: SUB
0000219d: SLT
0000219e: ISZERO
0000219f: PUSH2 0x21a6
000021a2: JUMPI
000021a3: PUSH0
000021a4: PUSH0
000021a5: REVERT
000021a6: JUMPDEST
000021a7: DUP2
000021a8: MLOAD
000021a9: DUP1
000021aa: ISZERO
000021ab: ISZERO
000021ac: DUP2
000021ad: EQ
000021ae: PUSH2 0x10d8
000021b1: JUMPI
000021b2: PUSH0
000021b3: PUSH0
000021b4: REVERT
000021b5: JUMPDEST
000021b6: DUP2
000021b7: DUP2
000021b8: SUB
000021b9: DUP2
000021ba: DUP2
000021bb: GT
000021bc: ISZERO
000021bd: PUSH2 0x08c3
000021c0: JUMPI
000021c1: PUSH2 0x08c3
000021c4: PUSH2 0x1f7f
000021c7: JUMP
000021c8: JUMPDEST
000021c9: PUSH4 0x4e487b71
000021ce: PUSH1 0xe0
000021d0: SHL
000021d1: PUSH0
000021d2: MSTORE
000021d3: PUSH1 0x31
000021d5: PUSH1 0x04
000021d7: MSTORE
000021d8: PUSH1 0x24
000021da: PUSH0
000021db: REVERT
000021dc: JUMPDEST
000021dd: PUSH2 0xffff
000021e0: PUSH1 0xf0
000021e2: SHL
000021e3: DUP7
000021e4: PUSH1 0xf0
000021e6: SHL
000021e7: AND
000021e8: DUP2
000021e9: MSTORE
000021ea: DUP5
000021eb: PUSH1 0x02
000021ed: DUP3
000021ee: ADD
000021ef: MSTORE
000021f0: DUP4
000021f1: PUSH1 0x22
000021f3: DUP3
000021f4: ADD
000021f5: MSTORE
000021f6: PUSH12 0xffffffffffffffffffffffff
00002203: NOT
00002204: DUP4
00002205: PUSH1 0x60
00002207: SHL
00002208: AND
00002209: PUSH1 0x42
0000220b: DUP3
0000220c: ADD
0000220d: MSTORE
0000220e: PUSH0
0000220f: PUSH2 0x0f41
00002212: PUSH1 0x56
00002214: DUP4
00002215: ADD
00002216: DUP5
00002217: PUSH2 0x2045
0000221a: JUMP
0000221b: JUMPDEST
0000221c: PUSH0
0000221d: PUSH2 0x10d8
00002220: DUP3
00002221: DUP5
00002222: PUSH2 0x2045
00002225: JUMP
00002226: INVALID
00002227: PUSH15 0x96da0d542bdbeca95f311588b6d097
00002237: UNKNOWN(0xC1)
00002238: UNKNOWN(0xE2)
00002239: UNKNOWN(0xE7)
0000223a: PUSH20 0x387448d081adbbbb4a7c664ca264697066735822
0000224f: SLT
00002250: KECCAK256
00002251: UNKNOWN(0x2F)
00002252: UNKNOWN(0xC7)
00002253: DUP1
00002254: UNKNOWN(0xC4)
00002255: UNKNOWN(0x2C)
00002256: GAS
00002257: UNKNOWN(0xD4)
00002258: PUSH24 0xdd23ce840ab0464ea54b651f2f7176b0856c52f2c83969fd
00002271: PUSH5 0x736f6c6343
00002277: STOP
00002278: ADDMOD
00002279: SHR
0000227a: STOP
0000227b: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0xfa8a9b4b2bee309435e8f7288f3c2dbe0e2489ae66b0fdd97f36084bce9ab65b
call_targets: 0xb0d6eed90f8e497b867f557c44a49c8c81fa0a5d
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xfa8a9b4b2bee309435e8f7288f3c2dbe0e2489ae66b0fdd97f36084bce9ab65b",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xb0d6eed90f8e497b867f557c44a49c8c81fa0a5d"
    ],
    "matched_probe": null,
    "target_varies": false,
    "classification": "constant_target"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xe9198bf9",
            "selector": "0xe9198bf9",
            "calldata_variants": [
                "0xe9198bf9",
                "0xe9198bf90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xefae508a",
            "selector": "0xefae508a",
            "calldata_variants": [
                "0xefae508a",
                "0xefae508a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2ed8c53",
            "selector": "0xf2ed8c53",
            "calldata_variants": [
                "0xf2ed8c53",
                "0xf2ed8c530000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc0c53b8b",
            "selector": "0xc0c53b8b",
            "calldata_variants": [
                "0xc0c53b8b",
                "0xc0c53b8b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd5438eae",
            "selector": "0xd5438eae",
            "calldata_variants": [
                "0xd5438eae",
                "0xd5438eae0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xde523cf3",
            "selector": "0xde523cf3",
            "calldata_variants": [
                "0xde523cf3",
                "0xde523cf30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x80eefc06",
            "selector": "0x80eefc06",
            "calldata_variants": [
                "0x80eefc06",
                "0x80eefc060000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 6253,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6825,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 2,
    "guards_detected": [],
    "untrusted_call_count": 2
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0xfa8a9b4b2bee309435e8f7288f3c2dbe0e2489ae66b0fdd97f36084bce9ab65b
call_targets: 0xb0d6eed90f8e497b867f557c44a49c8c81fa0a5d
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xfa8a9b4b2bee309435e8f7288f3c2dbe0e2489ae66b0fdd97f36084bce9ab65b",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xb0d6eed90f8e497b867f557c44a49c8c81fa0a5d"
    ],
    "matched_probe": null,
    "target_varies": false,
    "classification": "constant_target"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xe9198bf9",
            "selector": "0xe9198bf9",
            "calldata_variants": [
                "0xe9198bf9",
                "0xe9198bf90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xefae508a",
            "selector": "0xefae508a",
            "calldata_variants": [
                "0xefae508a",
                "0xefae508a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2ed8c53",
            "selector": "0xf2ed8c53",
            "calldata_variants": [
                "0xf2ed8c53",
                "0xf2ed8c530000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc0c53b8b",
            "selector": "0xc0c53b8b",
            "calldata_variants": [
                "0xc0c53b8b",
                "0xc0c53b8b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd5438eae",
            "selector": "0xd5438eae",
            "calldata_variants": [
                "0xd5438eae",
                "0xd5438eae0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xde523cf3",
            "selector": "0xde523cf3",
            "calldata_variants": [
                "0xde523cf3",
                "0xde523cf30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x80eefc06",
            "selector": "0x80eefc06",
            "calldata_variants": [
                "0x80eefc06",
                "0x80eefc060000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 6253,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6825,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 2,
    "guards_detected": []
}
high upgradeability codex Unprotected initializer can be hijacked to take ownership 85 no
view
evidence_json
{
    "evidence": "`initialize` is public and calls `_MailboxClient_initialize`, which performs `__Ownable_init()` and `_transferOwnership(_owner)` without access control.",
    "locations": [
        "contracts/HypERC20Collateral.sol:26",
        "@hyperlane-xyz/core/contracts/client/MailboxClient.sol:80"
    ],
    "recommendation": "Initialize the proxy atomically at deployment, add `_disableInitializers()` in the implementation constructor, and/or gate `initialize` with `onlyProxy`/`onlyOwner` as appropriate; avoid constructor ownership assignment for proxy-only deployments.",
    "exploit_scenario": "If a proxy (or direct deployment) is left uninitialized, an attacker can call `initialize` to set themselves as owner, then reconfigure hooks/ISM or enroll malicious routers to mint/redirect tokens."
}
medium other codex Bridging fee‑on‑transfer/rebasing ERC20s can under‑collateralize 75 no
view
evidence_json
{
    "evidence": "`_transferFromSender` transfers `_amount` without checking received amount; `_transferRemote` uses `_amountOrId` to encode the message.",
    "locations": [
        "contracts/HypERC20Collateral.sol:38",
        "contracts/TokenRouter.sol:90"
    ],
    "recommendation": "Compute the actual received amount via balanceBefore/balanceAfter and use that value in the message, or explicitly restrict to non\u2011fee\u2011on\u2011transfer tokens.",
    "exploit_scenario": "For deflationary tokens, `safeTransferFrom` may deliver less than `_amount`, but the message still mints `_amount` on the destination. Repeated use can create a collateral shortfall and allow draining if other liquidity exists."
}