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

Analysis Run

019c0ea9-06d5-7319-83a0-bdeeddb23af3

failed
Chain ID
1
Address
Block Number
Created
Fri, Jan 30, 2026 11:28 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
41473 artifact.fetch complete 1 / 3 2 months ago
41474 proxy.resolve complete 1 / 3 2 months ago
41475 tool.cast_disasm complete 1 / 3 2 months ago
41476 analysis.bundle complete 1 / 3 2 months ago
41477 capability.graph complete 1 / 3 2 months ago
41478 detector.run complete 1 / 3 2 months ago
41479 validation.fork complete 1 / 3 2 months ago
42173 report.consolidate complete 1 / 6 2 months ago
42174 tool.slither failed 2 / 2 2 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-wjg8_ba5) 'forge config --json' running 'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-wjg8_ba5) 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-wjg8_ba5/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-wjg8_ba5)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-wjg8_ba5)
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-wjg8_ba5/out/build-info is not a directory.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
2
No findings?
no
Summary
Found replayable/weakly validated order signatures in WStock3 and unchecked ERC20 transfer return values in WStock3/PrivateSale that can bypass fees or fail token delivery.
View stdout
{"no_findings":false,"summary":"Found replayable/weakly validated order signatures in WStock3 and unchecked ERC20 transfer return values in WStock3/PrivateSale that can bypass fees or fail token delivery.","findings":[{"severity":"medium","category":"auth","title":"Order signatures are replayable and lack domain separation/nonce protection","exploit_scenario":"A trader obtains a valid signed order from authAddress and can call buy/sell repeatedly with the same signature until it expires (or even long after if timestamp is in the future), executing the same price multiple times. This allows reuse of stale prices and can drain ETH reserves or mint tokens at an unintended rate. Because the signed hash omits contract address/chainId and uses raw ecrecover without an EIP-191/EIP-712 prefix or nonce, signatures can also be replayed across contracts or chains that share the same authAddress.","recommendation":"Include a per-user nonce (or order id) in the signed data and track it as used; bind signatures to this contract and chainId; and validate signatures using EIP-712 or at least toEthSignedMessageHash plus strict v/s checks to prevent malleability.","evidence":"buy/sell compute `hash = keccak256(abi.encode(...))` and accept any matching ecrecover signer without nonce or domain separation.","locations":["WStock3.sol:41","WStock3.sol:44","WStock3.sol:45","WStock3.sol:64","WStock3.sol:68","WStock3.sol:69"]},{"severity":"low","category":"other","title":"ERC20 transfer/transferFrom return values are ignored, enabling fee bypass or silent token delivery failure","exploit_scenario":"If GAS_TOKEN or a stock token follows the ERC20 variant that returns false instead of reverting (e.g., insufficient allowance), WStock3 continues executing after a failed transferFrom. A trader can trade without paying the GAS_TOKEN fee (or without transferring stock tokens) if transferFrom returns false rather than reverting. In PrivateSale, a failed transferFrom would still forward ETH to the holding address, causing buyers to pay but receive no tokens.","recommendation":"Use SafeERC20 (safeTransfer/safeTransferFrom) or explicitly require the returned boolean to be true for all ERC20 transfers.","evidence":"Transfers are invoked without checking the returned boolean.","locations":["WStock3.sol:54","WStock3.sol:55","WStock3.sol:79","WStock3.sol:81","PrivateSale.sol:31"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-l9d94kd5
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019c0eac-241c-7181-ab1e-b12f87b06f54
--------
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
exec
/bin/bash -lc ls in /tmp/codex-l9d94kd5 succeeded in 6ms:
Address.sol
AUDIT_BUNDLE.txt
codex-output-schema.json
Context.sol
IERC1155MetadataURI.sol
IERC1155Receiver.sol
IERC1155.sol
IERC20.sol
Ownable.sol
PrivateSale.sol
ReentrancyGuard.sol
SafeMath.sol
StockToken.sol
WStock3.sol
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-l9d94kd5 succeeded in 7ms:
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: Address.sol
================================================================================
// SPDX-License-Identifier: MIT

pragma solidity 0.7.3;

/**
 * @dev Collection of functions related to the address type
 */
library Address {
    /**
     * @dev Returns true if `account` is a contract.
     *
     * [IMPORTANT]
     * ====
     * It is unsafe to assume that an address for which this function returns
exec
/bin/bash -lc 'rg -n "FILE: PrivateSale.sol" -n AUDIT_BUNDLE.txt' in /tmp/codex-l9d94kd5 succeeded in 18ms:
518:FILE: PrivateSale.sol
exec
/bin/bash -lc "sed -n '518,900p' AUDIT_BUNDLE.txt" in /tmp/codex-l9d94kd5 succeeded in 10ms:
FILE: PrivateSale.sol
================================================================================
// SPDX-License-Identifier: MIT

pragma solidity 0.7.3;

import "./SafeMath.sol";
import "./IERC20.sol";
import "./Context.sol";
import "./ReentrancyGuard.sol";
import "./Ownable.sol";

contract PrivateSale is ReentrancyGuard, Context, Ownable {
  using SafeMath for uint256;

  constructor (address _gasToken , address payable _holdingAddress, uint256 _price) {
    GAS_TOKEN = IERC20(_gasToken);
    holdingAddress = _holdingAddress;
    isFrozen = false;
    price = _price;
exec
/bin/bash -lc 'nl -ba WStock3.sol' in /tmp/codex-l9d94kd5 succeeded in 13ms:
     1	// SPDX-License-Identifier: MIT
     2	
     3	pragma solidity 0.7.3;
     4	
     5	import "./SafeMath.sol";
     6	import "./IERC20.sol";
     7	import "./Context.sol";
     8	import "./ReentrancyGuard.sol";
     9	import "./Ownable.sol";
    10	
    11	contract WStock3 is ReentrancyGuard, Context, Ownable {
    12	  using SafeMath for uint256;
    13	
    14	  constructor (address _gasToken ,address _authAddress, address payable _holdingAddress, uint256 _feeRate, uint256 _acceptableTolerance, uint256 _reserve) {
    15	    GAS_TOKEN = IERC20(_gasToken);
    16	    authAddress = _authAddress;
    17	    holdingAddress = _holdingAddress;
    18		  feeRate = _feeRate;
    19	    acceptableTolerance = _acceptableTolerance;
    20	    reserve = _reserve;
exec
/bin/bash -lc 'nl -ba PrivateSale.sol' in /tmp/codex-l9d94kd5 succeeded in 5ms:
     1	// SPDX-License-Identifier: MIT
     2	
     3	pragma solidity 0.7.3;
     4	
     5	import "./SafeMath.sol";
     6	import "./IERC20.sol";
     7	import "./Context.sol";
     8	import "./ReentrancyGuard.sol";
     9	import "./Ownable.sol";
    10	
    11	contract PrivateSale is ReentrancyGuard, Context, Ownable {
    12	  using SafeMath for uint256;
    13	
    14	  constructor (address _gasToken , address payable _holdingAddress, uint256 _price) {
    15	    GAS_TOKEN = IERC20(_gasToken);
    16	    holdingAddress = _holdingAddress;
    17	    isFrozen = false;
    18	    price = _price;
    19	  }
    20	
codex
{"no_findings":false,"summary":"Found replayable/weakly validated order signatures in WStock3 and unchecked ERC20 transfer return values in WStock3/PrivateSale that can bypass fees or fail token delivery.","findings":[{"severity":"medium","category":"auth","title":"Order signatures are replayable and lack domain separation/nonce protection","exploit_scenario":"A trader obtains a valid signed order from authAddress and can call buy/sell repeatedly with the same signature until it expires (or even long after if timestamp is in the future), executing the same price multiple times. This allows reuse of stale prices and can drain ETH reserves or mint tokens at an unintended rate. Because the signed hash omits contract address/chainId and uses raw ecrecover without an EIP-191/EIP-712 prefix or nonce, signatures can also be replayed across contracts or chains that share the same authAddress.","recommendation":"Include a per-user nonce (or order id) in the signed data and track it as used; bind signatures to this contract and chainId; and validate signatures using EIP-712 or at least toEthSignedMessageHash plus strict v/s checks to prevent malleability.","evidence":"buy/sell compute `hash = keccak256(abi.encode(...))` and accept any matching ecrecover signer without nonce or domain separation.","locations":["WStock3.sol:41","WStock3.sol:44","WStock3.sol:45","WStock3.sol:64","WStock3.sol:68","WStock3.sol:69"]},{"severity":"low","category":"other","title":"ERC20 transfer/transferFrom return values are ignored, enabling fee bypass or silent token delivery failure","exploit_scenario":"If GAS_TOKEN or a stock token follows the ERC20 variant that returns false instead of reverting (e.g., insufficient allowance), WStock3 continues executing after a failed transferFrom. A trader can trade without paying the GAS_TOKEN fee (or without transferring stock tokens) if transferFrom returns false rather than reverting. In PrivateSale, a failed transferFrom would still forward ETH to the holding address, causing buyers to pay but receive no tokens.","recommendation":"Use SafeERC20 (safeTransfer/safeTransferFrom) or explicitly require the returned boolean to be true for all ERC20 transfers.","evidence":"Transfers are invoked without checking the returned boolean.","locations":["WStock3.sol:54","WStock3.sol:55","WStock3.sol:79","WStock3.sol:81","PrivateSale.sol:31"]}]}
tokens used
30,622
Metadata
{
    "codex": {
        "ran_at": "2026-01-30T11:33:40.850556+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "source",
        "file_count": 12,
        "import_count": 7,
        "first_party_contracts_count": 12
    },
    "summary": "Found replayable/weakly validated order signatures in WStock3 and unchecked ERC20 transfer return values in WStock3/PrivateSale that can bypass fees or fail token delivery.",
    "raw_final": {
        "summary": "Found replayable/weakly validated order signatures in WStock3 and unchecked ERC20 transfer return values in WStock3/PrivateSale that can bypass fees or fail token delivery.",
        "findings": [
            {
                "title": "Order signatures are replayable and lack domain separation/nonce protection",
                "category": "auth",
                "evidence": "buy/sell compute `hash = keccak256(abi.encode(...))` and accept any matching ecrecover signer without nonce or domain separation.",
                "severity": "medium",
                "locations": [
                    "WStock3.sol:41",
                    "WStock3.sol:44",
                    "WStock3.sol:45",
                    "WStock3.sol:64",
                    "WStock3.sol:68",
                    "WStock3.sol:69"
                ],
                "recommendation": "Include a per-user nonce (or order id) in the signed data and track it as used; bind signatures to this contract and chainId; and validate signatures using EIP-712 or at least toEthSignedMessageHash plus strict v/s checks to prevent malleability.",
                "exploit_scenario": "A trader obtains a valid signed order from authAddress and can call buy/sell repeatedly with the same signature until it expires (or even long after if timestamp is in the future), executing the same price multiple times. This allows reuse of stale prices and can drain ETH reserves or mint tokens at an unintended rate. Because the signed hash omits contract address/chainId and uses raw ecrecover without an EIP-191/EIP-712 prefix or nonce, signatures can also be replayed across contracts or chains that share the same authAddress."
            },
            {
                "title": "ERC20 transfer/transferFrom return values are ignored, enabling fee bypass or silent token delivery failure",
                "category": "other",
                "evidence": "Transfers are invoked without checking the returned boolean.",
                "severity": "low",
                "locations": [
                    "WStock3.sol:54",
                    "WStock3.sol:55",
                    "WStock3.sol:79",
                    "WStock3.sol:81",
                    "PrivateSale.sol:31"
                ],
                "recommendation": "Use SafeERC20 (safeTransfer/safeTransferFrom) or explicitly require the returned boolean to be true for all ERC20 transfers.",
                "exploit_scenario": "If GAS_TOKEN or a stock token follows the ERC20 variant that returns false instead of reverting (e.g., insufficient allowance), WStock3 continues executing after a failed transferFrom. A trader can trade without paying the GAS_TOKEN fee (or without transferring stock tokens) if transferFrom returns false rather than reverting. In PrivateSale, a failed transferFrom would still forward ETH to the holding address, causing buyers to pay but receive no tokens."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
11
EXT*/BALANCE
8
Total opcodes
4542
Flags
heavy_ext_balance_usage
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x00f3
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x715018a6
00000019: GT
0000001a: PUSH2 0x008a
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xb5f6b3ef
00000024: GT
00000025: PUSH2 0x0059
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xb5f6b3ef
0000002f: EQ
00000030: PUSH2 0x041e
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xdc76f98a
0000003a: EQ
0000003b: PUSH2 0x0479
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xe275c997
00000045: EQ
00000046: PUSH2 0x04a4
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xf2fde38b
00000050: EQ
00000051: PUSH2 0x04cf
00000054: JUMPI
00000055: PUSH2 0x00f3
00000058: JUMP
00000059: JUMPDEST
0000005a: DUP1
0000005b: PUSH4 0x715018a6
00000060: EQ
00000061: PUSH2 0x0321
00000064: JUMPI
00000065: DUP1
00000066: PUSH4 0x84e5eed0
0000006b: EQ
0000006c: PUSH2 0x0338
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0x8da5cb5b
00000076: EQ
00000077: PUSH2 0x0363
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0x9cef4c70
00000081: EQ
00000082: PUSH2 0x03a4
00000085: JUMPI
00000086: PUSH2 0x00f3
00000089: JUMP
0000008a: JUMPDEST
0000008b: DUP1
0000008c: PUSH4 0x45596e2e
00000091: GT
00000092: PUSH2 0x00c6
00000095: JUMPI
00000096: DUP1
00000097: PUSH4 0x45596e2e
0000009c: EQ
0000009d: PUSH2 0x023f
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0x5590278e
000000a7: EQ
000000a8: PUSH2 0x027a
000000ab: JUMPI
000000ac: DUP1
000000ad: PUSH4 0x59bf5d39
000000b2: EQ
000000b3: PUSH2 0x02b5
000000b6: JUMPI
000000b7: DUP1
000000b8: PUSH4 0x66c3c92a
000000bd: EQ
000000be: PUSH2 0x02e0
000000c1: JUMPI
000000c2: PUSH2 0x00f3
000000c5: JUMP
000000c6: JUMPDEST
000000c7: DUP1
000000c8: PUSH4 0x09f82153
000000cd: EQ
000000ce: PUSH2 0x00f8
000000d1: JUMPI
000000d2: DUP1
000000d3: PUSH4 0x0da85728
000000d8: EQ
000000d9: PUSH2 0x015d
000000dc: JUMPI
000000dd: DUP1
000000de: PUSH4 0x10265693
000000e3: EQ
000000e4: PUSH2 0x01c0
000000e7: JUMPI
000000e8: DUP1
000000e9: PUSH4 0x4256dbe3
000000ee: EQ
000000ef: PUSH2 0x0211
000000f2: JUMPI
000000f3: JUMPDEST
000000f4: PUSH1 0x00
000000f6: DUP1
000000f7: REVERT
000000f8: JUMPDEST
000000f9: CALLVALUE
000000fa: DUP1
000000fb: ISZERO
000000fc: PUSH2 0x0104
000000ff: JUMPI
00000100: PUSH1 0x00
00000102: DUP1
00000103: REVERT
00000104: JUMPDEST
00000105: POP
00000106: PUSH2 0x0131
00000109: PUSH1 0x04
0000010b: DUP1
0000010c: CALLDATASIZE
0000010d: SUB
0000010e: PUSH1 0x20
00000110: DUP2
00000111: LT
00000112: ISZERO
00000113: PUSH2 0x011b
00000116: JUMPI
00000117: PUSH1 0x00
00000119: DUP1
0000011a: REVERT
0000011b: JUMPDEST
0000011c: DUP2
0000011d: ADD
0000011e: SWAP1
0000011f: DUP1
00000120: DUP1
00000121: CALLDATALOAD
00000122: SWAP1
00000123: PUSH1 0x20
00000125: ADD
00000126: SWAP1
00000127: SWAP3
00000128: SWAP2
00000129: SWAP1
0000012a: POP
0000012b: POP
0000012c: POP
0000012d: PUSH2 0x0520
00000130: JUMP
00000131: JUMPDEST
00000132: PUSH1 0x40
00000134: MLOAD
00000135: DUP1
00000136: DUP3
00000137: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000014c: AND
0000014d: DUP2
0000014e: MSTORE
0000014f: PUSH1 0x20
00000151: ADD
00000152: SWAP2
00000153: POP
00000154: POP
00000155: PUSH1 0x40
00000157: MLOAD
00000158: DUP1
00000159: SWAP2
0000015a: SUB
0000015b: SWAP1
0000015c: RETURN
0000015d: JUMPDEST
0000015e: PUSH2 0x01be
00000161: PUSH1 0x04
00000163: DUP1
00000164: CALLDATASIZE
00000165: SUB
00000166: PUSH1 0xc0
00000168: DUP2
00000169: LT
0000016a: ISZERO
0000016b: PUSH2 0x0173
0000016e: JUMPI
0000016f: PUSH1 0x00
00000171: DUP1
00000172: REVERT
00000173: JUMPDEST
00000174: DUP2
00000175: ADD
00000176: SWAP1
00000177: DUP1
00000178: DUP1
00000179: CALLDATALOAD
0000017a: SWAP1
0000017b: PUSH1 0x20
0000017d: ADD
0000017e: SWAP1
0000017f: SWAP3
00000180: SWAP2
00000181: SWAP1
00000182: DUP1
00000183: CALLDATALOAD
00000184: SWAP1
00000185: PUSH1 0x20
00000187: ADD
00000188: SWAP1
00000189: SWAP3
0000018a: SWAP2
0000018b: SWAP1
0000018c: DUP1
0000018d: CALLDATALOAD
0000018e: SWAP1
0000018f: PUSH1 0x20
00000191: ADD
00000192: SWAP1
00000193: SWAP3
00000194: SWAP2
00000195: SWAP1
00000196: DUP1
00000197: CALLDATALOAD
00000198: PUSH1 0xff
0000019a: AND
0000019b: SWAP1
0000019c: PUSH1 0x20
0000019e: ADD
0000019f: SWAP1
000001a0: SWAP3
000001a1: SWAP2
000001a2: SWAP1
000001a3: DUP1
000001a4: CALLDATALOAD
000001a5: SWAP1
000001a6: PUSH1 0x20
000001a8: ADD
000001a9: SWAP1
000001aa: SWAP3
000001ab: SWAP2
000001ac: SWAP1
000001ad: DUP1
000001ae: CALLDATALOAD
000001af: SWAP1
000001b0: PUSH1 0x20
000001b2: ADD
000001b3: SWAP1
000001b4: SWAP3
000001b5: SWAP2
000001b6: SWAP1
000001b7: POP
000001b8: POP
000001b9: POP
000001ba: PUSH2 0x0553
000001bd: JUMP
000001be: JUMPDEST
000001bf: STOP
000001c0: JUMPDEST
000001c1: CALLVALUE
000001c2: DUP1
000001c3: ISZERO
000001c4: PUSH2 0x01cc
000001c7: JUMPI
000001c8: PUSH1 0x00
000001ca: DUP1
000001cb: REVERT
000001cc: JUMPDEST
000001cd: POP
000001ce: PUSH2 0x020f
000001d1: PUSH1 0x04
000001d3: DUP1
000001d4: CALLDATASIZE
000001d5: SUB
000001d6: PUSH1 0x20
000001d8: DUP2
000001d9: LT
000001da: ISZERO
000001db: PUSH2 0x01e3
000001de: JUMPI
000001df: PUSH1 0x00
000001e1: DUP1
000001e2: REVERT
000001e3: JUMPDEST
000001e4: DUP2
000001e5: ADD
000001e6: SWAP1
000001e7: DUP1
000001e8: DUP1
000001e9: CALLDATALOAD
000001ea: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001ff: AND
00000200: SWAP1
00000201: PUSH1 0x20
00000203: ADD
00000204: SWAP1
00000205: SWAP3
00000206: SWAP2
00000207: SWAP1
00000208: POP
00000209: POP
0000020a: POP
0000020b: PUSH2 0x0e12
0000020e: JUMP
0000020f: JUMPDEST
00000210: STOP
00000211: JUMPDEST
00000212: PUSH2 0x023d
00000215: PUSH1 0x04
00000217: DUP1
00000218: CALLDATASIZE
00000219: SUB
0000021a: PUSH1 0x20
0000021c: DUP2
0000021d: LT
0000021e: ISZERO
0000021f: PUSH2 0x0227
00000222: JUMPI
00000223: PUSH1 0x00
00000225: DUP1
00000226: REVERT
00000227: JUMPDEST
00000228: DUP2
00000229: ADD
0000022a: SWAP1
0000022b: DUP1
0000022c: DUP1
0000022d: CALLDATALOAD
0000022e: SWAP1
0000022f: PUSH1 0x20
00000231: ADD
00000232: SWAP1
00000233: SWAP3
00000234: SWAP2
00000235: SWAP1
00000236: POP
00000237: POP
00000238: POP
00000239: PUSH2 0x0f20
0000023c: JUMP
0000023d: JUMPDEST
0000023e: STOP
0000023f: JUMPDEST
00000240: CALLVALUE
00000241: DUP1
00000242: ISZERO
00000243: PUSH2 0x024b
00000246: JUMPI
00000247: PUSH1 0x00
00000249: DUP1
0000024a: REVERT
0000024b: JUMPDEST
0000024c: POP
0000024d: PUSH2 0x0278
00000250: PUSH1 0x04
00000252: DUP1
00000253: CALLDATASIZE
00000254: SUB
00000255: PUSH1 0x20
00000257: DUP2
00000258: LT
00000259: ISZERO
0000025a: PUSH2 0x0262
0000025d: JUMPI
0000025e: PUSH1 0x00
00000260: DUP1
00000261: REVERT
00000262: JUMPDEST
00000263: DUP2
00000264: ADD
00000265: SWAP1
00000266: DUP1
00000267: DUP1
00000268: CALLDATALOAD
00000269: SWAP1
0000026a: PUSH1 0x20
0000026c: ADD
0000026d: SWAP1
0000026e: SWAP3
0000026f: SWAP2
00000270: SWAP1
00000271: POP
00000272: POP
00000273: POP
00000274: PUSH2 0x0ff4
00000277: JUMP
00000278: JUMPDEST
00000279: STOP
0000027a: JUMPDEST
0000027b: CALLVALUE
0000027c: DUP1
0000027d: ISZERO
0000027e: PUSH2 0x0286
00000281: JUMPI
00000282: PUSH1 0x00
00000284: DUP1
00000285: REVERT
00000286: JUMPDEST
00000287: POP
00000288: PUSH2 0x02b3
0000028b: PUSH1 0x04
0000028d: DUP1
0000028e: CALLDATASIZE
0000028f: SUB
00000290: PUSH1 0x20
00000292: DUP2
00000293: LT
00000294: ISZERO
00000295: PUSH2 0x029d
00000298: JUMPI
00000299: PUSH1 0x00
0000029b: DUP1
0000029c: REVERT
0000029d: JUMPDEST
0000029e: DUP2
0000029f: ADD
000002a0: SWAP1
000002a1: DUP1
000002a2: DUP1
000002a3: CALLDATALOAD
000002a4: SWAP1
000002a5: PUSH1 0x20
000002a7: ADD
000002a8: SWAP1
000002a9: SWAP3
000002aa: SWAP2
000002ab: SWAP1
000002ac: POP
000002ad: POP
000002ae: POP
000002af: PUSH2 0x10c8
000002b2: JUMP
000002b3: JUMPDEST
000002b4: STOP
000002b5: JUMPDEST
000002b6: CALLVALUE
000002b7: DUP1
000002b8: ISZERO
000002b9: PUSH2 0x02c1
000002bc: JUMPI
000002bd: PUSH1 0x00
000002bf: DUP1
000002c0: REVERT
000002c1: JUMPDEST
000002c2: POP
000002c3: PUSH2 0x02ca
000002c6: PUSH2 0x119c
000002c9: JUMP
000002ca: JUMPDEST
000002cb: PUSH1 0x40
000002cd: MLOAD
000002ce: DUP1
000002cf: DUP3
000002d0: DUP2
000002d1: MSTORE
000002d2: PUSH1 0x20
000002d4: ADD
000002d5: SWAP2
000002d6: POP
000002d7: POP
000002d8: PUSH1 0x40
000002da: MLOAD
000002db: DUP1
000002dc: SWAP2
000002dd: SUB
000002de: SWAP1
000002df: RETURN
000002e0: JUMPDEST
000002e1: CALLVALUE
000002e2: DUP1
000002e3: ISZERO
000002e4: PUSH2 0x02ec
000002e7: JUMPI
000002e8: PUSH1 0x00
000002ea: DUP1
000002eb: REVERT
000002ec: JUMPDEST
000002ed: POP
000002ee: PUSH2 0x02f5
000002f1: PUSH2 0x11a6
000002f4: JUMP
000002f5: JUMPDEST
000002f6: PUSH1 0x40
000002f8: MLOAD
000002f9: DUP1
000002fa: DUP3
000002fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000310: AND
00000311: DUP2
00000312: MSTORE
00000313: PUSH1 0x20
00000315: ADD
00000316: SWAP2
00000317: POP
00000318: POP
00000319: PUSH1 0x40
0000031b: MLOAD
0000031c: DUP1
0000031d: SWAP2
0000031e: SUB
0000031f: SWAP1
00000320: RETURN
00000321: JUMPDEST
00000322: CALLVALUE
00000323: DUP1
00000324: ISZERO
00000325: PUSH2 0x032d
00000328: JUMPI
00000329: PUSH1 0x00
0000032b: DUP1
0000032c: REVERT
0000032d: JUMPDEST
0000032e: POP
0000032f: PUSH2 0x0336
00000332: PUSH2 0x11d0
00000335: JUMP
00000336: JUMPDEST
00000337: STOP
00000338: JUMPDEST
00000339: CALLVALUE
0000033a: DUP1
0000033b: ISZERO
0000033c: PUSH2 0x0344
0000033f: JUMPI
00000340: PUSH1 0x00
00000342: DUP1
00000343: REVERT
00000344: JUMPDEST
00000345: POP
00000346: PUSH2 0x034d
00000349: PUSH2 0x135b
0000034c: JUMP
0000034d: JUMPDEST
0000034e: PUSH1 0x40
00000350: MLOAD
00000351: DUP1
00000352: DUP3
00000353: DUP2
00000354: MSTORE
00000355: PUSH1 0x20
00000357: ADD
00000358: SWAP2
00000359: POP
0000035a: POP
0000035b: PUSH1 0x40
0000035d: MLOAD
0000035e: DUP1
0000035f: SWAP2
00000360: SUB
00000361: SWAP1
00000362: RETURN
00000363: JUMPDEST
00000364: CALLVALUE
00000365: DUP1
00000366: ISZERO
00000367: PUSH2 0x036f
0000036a: JUMPI
0000036b: PUSH1 0x00
0000036d: DUP1
0000036e: REVERT
0000036f: JUMPDEST
00000370: POP
00000371: PUSH2 0x0378
00000374: PUSH2 0x1365
00000377: JUMP
00000378: JUMPDEST
00000379: PUSH1 0x40
0000037b: MLOAD
0000037c: DUP1
0000037d: DUP3
0000037e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000393: AND
00000394: DUP2
00000395: MSTORE
00000396: PUSH1 0x20
00000398: ADD
00000399: SWAP2
0000039a: POP
0000039b: POP
0000039c: PUSH1 0x40
0000039e: MLOAD
0000039f: DUP1
000003a0: SWAP2
000003a1: SUB
000003a2: SWAP1
000003a3: RETURN
000003a4: JUMPDEST
000003a5: CALLVALUE
000003a6: DUP1
000003a7: ISZERO
000003a8: PUSH2 0x03b0
000003ab: JUMPI
000003ac: PUSH1 0x00
000003ae: DUP1
000003af: REVERT
000003b0: JUMPDEST
000003b1: POP
000003b2: PUSH2 0x041c
000003b5: PUSH1 0x04
000003b7: DUP1
000003b8: CALLDATASIZE
000003b9: SUB
000003ba: PUSH1 0xe0
000003bc: DUP2
000003bd: LT
000003be: ISZERO
000003bf: PUSH2 0x03c7
000003c2: JUMPI
000003c3: PUSH1 0x00
000003c5: DUP1
000003c6: REVERT
000003c7: JUMPDEST
000003c8: DUP2
000003c9: ADD
000003ca: SWAP1
000003cb: DUP1
000003cc: DUP1
000003cd: CALLDATALOAD
000003ce: SWAP1
000003cf: PUSH1 0x20
000003d1: ADD
000003d2: SWAP1
000003d3: SWAP3
000003d4: SWAP2
000003d5: SWAP1
000003d6: DUP1
000003d7: CALLDATALOAD
000003d8: SWAP1
000003d9: PUSH1 0x20
000003db: ADD
000003dc: SWAP1
000003dd: SWAP3
000003de: SWAP2
000003df: SWAP1
000003e0: DUP1
000003e1: CALLDATALOAD
000003e2: SWAP1
000003e3: PUSH1 0x20
000003e5: ADD
000003e6: SWAP1
000003e7: SWAP3
000003e8: SWAP2
000003e9: SWAP1
000003ea: DUP1
000003eb: CALLDATALOAD
000003ec: SWAP1
000003ed: PUSH1 0x20
000003ef: ADD
000003f0: SWAP1
000003f1: SWAP3
000003f2: SWAP2
000003f3: SWAP1
000003f4: DUP1
000003f5: CALLDATALOAD
000003f6: PUSH1 0xff
000003f8: AND
000003f9: SWAP1
000003fa: PUSH1 0x20
000003fc: ADD
000003fd: SWAP1
000003fe: SWAP3
000003ff: SWAP2
00000400: SWAP1
00000401: DUP1
00000402: CALLDATALOAD
00000403: SWAP1
00000404: PUSH1 0x20
00000406: ADD
00000407: SWAP1
00000408: SWAP3
00000409: SWAP2
0000040a: SWAP1
0000040b: DUP1
0000040c: CALLDATALOAD
0000040d: SWAP1
0000040e: PUSH1 0x20
00000410: ADD
00000411: SWAP1
00000412: SWAP3
00000413: SWAP2
00000414: SWAP1
00000415: POP
00000416: POP
00000417: POP
00000418: PUSH2 0x138f
0000041b: JUMP
0000041c: JUMPDEST
0000041d: STOP
0000041e: JUMPDEST
0000041f: CALLVALUE
00000420: DUP1
00000421: ISZERO
00000422: PUSH2 0x042a
00000425: JUMPI
00000426: PUSH1 0x00
00000428: DUP1
00000429: REVERT
0000042a: JUMPDEST
0000042b: POP
0000042c: PUSH2 0x0477
0000042f: PUSH1 0x04
00000431: DUP1
00000432: CALLDATASIZE
00000433: SUB
00000434: PUSH1 0x40
00000436: DUP2
00000437: LT
00000438: ISZERO
00000439: PUSH2 0x0441
0000043c: JUMPI
0000043d: PUSH1 0x00
0000043f: DUP1
00000440: REVERT
00000441: JUMPDEST
00000442: DUP2
00000443: ADD
00000444: SWAP1
00000445: DUP1
00000446: DUP1
00000447: CALLDATALOAD
00000448: SWAP1
00000449: PUSH1 0x20
0000044b: ADD
0000044c: SWAP1
0000044d: SWAP3
0000044e: SWAP2
0000044f: SWAP1
00000450: DUP1
00000451: CALLDATALOAD
00000452: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000467: AND
00000468: SWAP1
00000469: PUSH1 0x20
0000046b: ADD
0000046c: SWAP1
0000046d: SWAP3
0000046e: SWAP2
0000046f: SWAP1
00000470: POP
00000471: POP
00000472: POP
00000473: PUSH2 0x1eba
00000476: JUMP
00000477: JUMPDEST
00000478: STOP
00000479: JUMPDEST
0000047a: CALLVALUE
0000047b: DUP1
0000047c: ISZERO
0000047d: PUSH2 0x0485
00000480: JUMPI
00000481: PUSH1 0x00
00000483: DUP1
00000484: REVERT
00000485: JUMPDEST
00000486: POP
00000487: PUSH2 0x048e
0000048a: PUSH2 0x1fda
0000048d: JUMP
0000048e: JUMPDEST
0000048f: PUSH1 0x40
00000491: MLOAD
00000492: DUP1
00000493: DUP3
00000494: DUP2
00000495: MSTORE
00000496: PUSH1 0x20
00000498: ADD
00000499: SWAP2
0000049a: POP
0000049b: POP
0000049c: PUSH1 0x40
0000049e: MLOAD
0000049f: DUP1
000004a0: SWAP2
000004a1: SUB
000004a2: SWAP1
000004a3: RETURN
000004a4: JUMPDEST
000004a5: CALLVALUE
000004a6: DUP1
000004a7: ISZERO
000004a8: PUSH2 0x04b0
000004ab: JUMPI
000004ac: PUSH1 0x00
000004ae: DUP1
000004af: REVERT
000004b0: JUMPDEST
000004b1: POP
000004b2: PUSH2 0x04b9
000004b5: PUSH2 0x1fe4
000004b8: JUMP
000004b9: JUMPDEST
000004ba: PUSH1 0x40
000004bc: MLOAD
000004bd: DUP1
000004be: DUP3
000004bf: DUP2
000004c0: MSTORE
000004c1: PUSH1 0x20
000004c3: ADD
000004c4: SWAP2
000004c5: POP
000004c6: POP
000004c7: PUSH1 0x40
000004c9: MLOAD
000004ca: DUP1
000004cb: SWAP2
000004cc: SUB
000004cd: SWAP1
000004ce: RETURN
000004cf: JUMPDEST
000004d0: CALLVALUE
000004d1: DUP1
000004d2: ISZERO
000004d3: PUSH2 0x04db
000004d6: JUMPI
000004d7: PUSH1 0x00
000004d9: DUP1
000004da: REVERT
000004db: JUMPDEST
000004dc: POP
000004dd: PUSH2 0x051e
000004e0: PUSH1 0x04
000004e2: DUP1
000004e3: CALLDATASIZE
000004e4: SUB
000004e5: PUSH1 0x20
000004e7: DUP2
000004e8: LT
000004e9: ISZERO
000004ea: PUSH2 0x04f2
000004ed: JUMPI
000004ee: PUSH1 0x00
000004f0: DUP1
000004f1: REVERT
000004f2: JUMPDEST
000004f3: DUP2
000004f4: ADD
000004f5: SWAP1
000004f6: DUP1
000004f7: DUP1
000004f8: CALLDATALOAD
000004f9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000050e: AND
0000050f: SWAP1
00000510: PUSH1 0x20
00000512: ADD
00000513: SWAP1
00000514: SWAP3
00000515: SWAP2
00000516: SWAP1
00000517: POP
00000518: POP
00000519: POP
0000051a: PUSH2 0x1fea
0000051d: JUMP
0000051e: JUMPDEST
0000051f: STOP
00000520: JUMPDEST
00000521: PUSH1 0x03
00000523: PUSH1 0x20
00000525: MSTORE
00000526: DUP1
00000527: PUSH1 0x00
00000529: MSTORE
0000052a: PUSH1 0x40
0000052c: PUSH1 0x00
0000052e: KECCAK256
0000052f: PUSH1 0x00
00000531: SWAP2
00000532: POP
00000533: SLOAD
00000534: SWAP1
00000535: PUSH2 0x0100
00000538: EXP
00000539: SWAP1
0000053a: DIV
0000053b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000550: AND
00000551: DUP2
00000552: JUMP
00000553: JUMPDEST
00000554: PUSH1 0x02
00000556: PUSH1 0x00
00000558: SLOAD
00000559: EQ
0000055a: ISZERO
0000055b: PUSH2 0x05cc
0000055e: JUMPI
0000055f: PUSH1 0x40
00000561: MLOAD
00000562: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000583: DUP2
00000584: MSTORE
00000585: PUSH1 0x04
00000587: ADD
00000588: DUP1
00000589: DUP1
0000058a: PUSH1 0x20
0000058c: ADD
0000058d: DUP3
0000058e: DUP2
0000058f: SUB
00000590: DUP3
00000591: MSTORE
00000592: PUSH1 0x1f
00000594: DUP2
00000595: MSTORE
00000596: PUSH1 0x20
00000598: ADD
00000599: DUP1
0000059a: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00
000005bb: DUP2
000005bc: MSTORE
000005bd: POP
000005be: PUSH1 0x20
000005c0: ADD
000005c1: SWAP2
000005c2: POP
000005c3: POP
000005c4: PUSH1 0x40
000005c6: MLOAD
000005c7: DUP1
000005c8: SWAP2
000005c9: SUB
000005ca: SWAP1
000005cb: REVERT
000005cc: JUMPDEST
000005cd: PUSH1 0x02
000005cf: PUSH1 0x00
000005d1: DUP2
000005d2: SWAP1
000005d3: SSTORE
000005d4: POP
000005d5: PUSH1 0x00
000005d7: DUP6
000005d8: GT
000005d9: PUSH2 0x064a
000005dc: JUMPI
000005dd: PUSH1 0x40
000005df: MLOAD
000005e0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000601: DUP2
00000602: MSTORE
00000603: PUSH1 0x04
00000605: ADD
00000606: DUP1
00000607: DUP1
00000608: PUSH1 0x20
0000060a: ADD
0000060b: DUP3
0000060c: DUP2
0000060d: SUB
0000060e: DUP3
0000060f: MSTORE
00000610: PUSH1 0x1c
00000612: DUP2
00000613: MSTORE
00000614: PUSH1 0x20
00000616: ADD
00000617: DUP1
00000618: PUSH32 0x4d7573742062757920616e20616d6f756e74206f6620746f6b656e7300000000
00000639: DUP2
0000063a: MSTORE
0000063b: POP
0000063c: PUSH1 0x20
0000063e: ADD
0000063f: SWAP2
00000640: POP
00000641: POP
00000642: PUSH1 0x40
00000644: MLOAD
00000645: DUP1
00000646: SWAP2
00000647: SUB
00000648: SWAP1
00000649: REVERT
0000064a: JUMPDEST
0000064b: PUSH1 0x00
0000064d: CALLVALUE
0000064e: GT
0000064f: PUSH2 0x06c0
00000652: JUMPI
00000653: PUSH1 0x40
00000655: MLOAD
00000656: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000677: DUP2
00000678: MSTORE
00000679: PUSH1 0x04
0000067b: ADD
0000067c: DUP1
0000067d: DUP1
0000067e: PUSH1 0x20
00000680: ADD
00000681: DUP3
00000682: DUP2
00000683: SUB
00000684: DUP3
00000685: MSTORE
00000686: PUSH1 0x1f
00000688: DUP2
00000689: MSTORE
0000068a: PUSH1 0x20
0000068c: ADD
0000068d: DUP1
0000068e: PUSH32 0x746f74616c206d7573742062652067726561746572207468616e207a65726f00
000006af: DUP2
000006b0: MSTORE
000006b1: POP
000006b2: PUSH1 0x20
000006b4: ADD
000006b5: SWAP2
000006b6: POP
000006b7: POP
000006b8: PUSH1 0x40
000006ba: MLOAD
000006bb: DUP1
000006bc: SWAP2
000006bd: SUB
000006be: SWAP1
000006bf: REVERT
000006c0: JUMPDEST
000006c1: PUSH1 0x00
000006c3: PUSH2 0x06ca
000006c6: PUSH2 0x21fa
000006c9: JUMP
000006ca: JUMPDEST
000006cb: DUP8
000006cc: DUP8
000006cd: CALLVALUE
000006ce: DUP9
000006cf: PUSH1 0x40
000006d1: MLOAD
000006d2: PUSH1 0x20
000006d4: ADD
000006d5: DUP1
000006d6: DUP7
000006d7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006ec: AND
000006ed: DUP2
000006ee: MSTORE
000006ef: PUSH1 0x20
000006f1: ADD
000006f2: DUP6
000006f3: DUP2
000006f4: MSTORE
000006f5: PUSH1 0x20
000006f7: ADD
000006f8: DUP5
000006f9: DUP2
000006fa: MSTORE
000006fb: PUSH1 0x20
000006fd: ADD
000006fe: DUP4
000006ff: DUP2
00000700: MSTORE
00000701: PUSH1 0x20
00000703: ADD
00000704: DUP3
00000705: DUP2
00000706: MSTORE
00000707: PUSH1 0x20
00000709: ADD
0000070a: SWAP6
0000070b: POP
0000070c: POP
0000070d: POP
0000070e: POP
0000070f: POP
00000710: POP
00000711: PUSH1 0x40
00000713: MLOAD
00000714: PUSH1 0x20
00000716: DUP2
00000717: DUP4
00000718: SUB
00000719: SUB
0000071a: DUP2
0000071b: MSTORE
0000071c: SWAP1
0000071d: PUSH1 0x40
0000071f: MSTORE
00000720: DUP1
00000721: MLOAD
00000722: SWAP1
00000723: PUSH1 0x20
00000725: ADD
00000726: KECCAK256
00000727: SWAP1
00000728: POP
00000729: PUSH1 0x00
0000072b: PUSH1 0x01
0000072d: DUP3
0000072e: DUP7
0000072f: DUP7
00000730: DUP7
00000731: PUSH1 0x40
00000733: MLOAD
00000734: PUSH1 0x00
00000736: DUP2
00000737: MSTORE
00000738: PUSH1 0x20
0000073a: ADD
0000073b: PUSH1 0x40
0000073d: MSTORE
0000073e: PUSH1 0x40
00000740: MLOAD
00000741: DUP1
00000742: DUP6
00000743: DUP2
00000744: MSTORE
00000745: PUSH1 0x20
00000747: ADD
00000748: DUP5
00000749: PUSH1 0xff
0000074b: AND
0000074c: DUP2
0000074d: MSTORE
0000074e: PUSH1 0x20
00000750: ADD
00000751: DUP4
00000752: DUP2
00000753: MSTORE
00000754: PUSH1 0x20
00000756: ADD
00000757: DUP3
00000758: DUP2
00000759: MSTORE
0000075a: PUSH1 0x20
0000075c: ADD
0000075d: SWAP5
0000075e: POP
0000075f: POP
00000760: POP
00000761: POP
00000762: POP
00000763: PUSH1 0x20
00000765: PUSH1 0x40
00000767: MLOAD
00000768: PUSH1 0x20
0000076a: DUP2
0000076b: SUB
0000076c: SWAP1
0000076d: DUP1
0000076e: DUP5
0000076f: SUB
00000770: SWAP1
00000771: DUP6
00000772: GAS
00000773: STATICCALL
00000774: ISZERO
00000775: DUP1
00000776: ISZERO
00000777: PUSH2 0x0784
0000077a: JUMPI
0000077b: RETURNDATASIZE
0000077c: PUSH1 0x00
0000077e: DUP1
0000077f: RETURNDATACOPY
00000780: RETURNDATASIZE
00000781: PUSH1 0x00
00000783: REVERT
00000784: JUMPDEST
00000785: POP
00000786: POP
00000787: POP
00000788: PUSH1 0x20
0000078a: PUSH1 0x40
0000078c: MLOAD
0000078d: SUB
0000078e: MLOAD
0000078f: SWAP1
00000790: POP
00000791: PUSH1 0x04
00000793: PUSH1 0x00
00000795: SWAP1
00000796: SLOAD
00000797: SWAP1
00000798: PUSH2 0x0100
0000079b: EXP
0000079c: SWAP1
0000079d: DIV
0000079e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007b3: AND
000007b4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007c9: AND
000007ca: DUP2
000007cb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007e0: AND
000007e1: EQ
000007e2: PUSH2 0x0853
000007e5: JUMPI
000007e6: PUSH1 0x40
000007e8: MLOAD
000007e9: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000080a: DUP2
0000080b: MSTORE
0000080c: PUSH1 0x04
0000080e: ADD
0000080f: DUP1
00000810: DUP1
00000811: PUSH1 0x20
00000813: ADD
00000814: DUP3
00000815: DUP2
00000816: SUB
00000817: DUP3
00000818: MSTORE
00000819: PUSH1 0x11
0000081b: DUP2
0000081c: MSTORE
0000081d: PUSH1 0x20
0000081f: ADD
00000820: DUP1
00000821: PUSH32 0x496e76616c6964207369676e6174757265000000000000000000000000000000
00000842: DUP2
00000843: MSTORE
00000844: POP
00000845: PUSH1 0x20
00000847: ADD
00000848: SWAP2
00000849: POP
0000084a: POP
0000084b: PUSH1 0x40
0000084d: MLOAD
0000084e: DUP1
0000084f: SWAP2
00000850: SUB
00000851: SWAP1
00000852: REVERT
00000853: JUMPDEST
00000854: TIMESTAMP
00000855: PUSH2 0x0869
00000858: PUSH1 0x07
0000085a: SLOAD
0000085b: DUP9
0000085c: PUSH2 0x2202
0000085f: SWAP1
00000860: SWAP2
00000861: SWAP1
00000862: PUSH4 0xffffffff
00000867: AND
00000868: JUMP
00000869: JUMPDEST
0000086a: GT
0000086b: PUSH2 0x08dc
0000086e: JUMPI
0000086f: PUSH1 0x40
00000871: MLOAD
00000872: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000893: DUP2
00000894: MSTORE
00000895: PUSH1 0x04
00000897: ADD
00000898: DUP1
00000899: DUP1
0000089a: PUSH1 0x20
0000089c: ADD
0000089d: DUP3
0000089e: DUP2
0000089f: SUB
000008a0: DUP3
000008a1: MSTORE
000008a2: PUSH1 0x0d
000008a4: DUP2
000008a5: MSTORE
000008a6: PUSH1 0x20
000008a8: ADD
000008a9: DUP1
000008aa: PUSH32 0x45787069726564204f7264657200000000000000000000000000000000000000
000008cb: DUP2
000008cc: MSTORE
000008cd: POP
000008ce: PUSH1 0x20
000008d0: ADD
000008d1: SWAP2
000008d2: POP
000008d3: POP
000008d4: PUSH1 0x40
000008d6: MLOAD
000008d7: DUP1
000008d8: SWAP2
000008d9: SUB
000008da: SWAP1
000008db: REVERT
000008dc: JUMPDEST
000008dd: PUSH1 0x00
000008df: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008f4: AND
000008f5: PUSH1 0x03
000008f7: PUSH1 0x00
000008f9: DUP11
000008fa: DUP2
000008fb: MSTORE
000008fc: PUSH1 0x20
000008fe: ADD
000008ff: SWAP1
00000900: DUP2
00000901: MSTORE
00000902: PUSH1 0x20
00000904: ADD
00000905: PUSH1 0x00
00000907: KECCAK256
00000908: PUSH1 0x00
0000090a: SWAP1
0000090b: SLOAD
0000090c: SWAP1
0000090d: PUSH2 0x0100
00000910: EXP
00000911: SWAP1
00000912: DIV
00000913: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000928: AND
00000929: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000093e: AND
0000093f: EQ
00000940: ISZERO
00000941: PUSH2 0x09b2
00000944: JUMPI
00000945: PUSH1 0x40
00000947: MLOAD
00000948: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000969: DUP2
0000096a: MSTORE
0000096b: PUSH1 0x04
0000096d: ADD
0000096e: DUP1
0000096f: DUP1
00000970: PUSH1 0x20
00000972: ADD
00000973: DUP3
00000974: DUP2
00000975: SUB
00000976: DUP3
00000977: MSTORE
00000978: PUSH1 0x11
0000097a: DUP2
0000097b: MSTORE
0000097c: PUSH1 0x20
0000097e: ADD
0000097f: DUP1
00000980: PUSH32 0x756e737570706f72746564206173736574000000000000000000000000000000
000009a1: DUP2
000009a2: MSTORE
000009a3: POP
000009a4: PUSH1 0x20
000009a6: ADD
000009a7: SWAP2
000009a8: POP
000009a9: POP
000009aa: PUSH1 0x40
000009ac: MLOAD
000009ad: DUP1
000009ae: SWAP2
000009af: SUB
000009b0: SWAP1
000009b1: REVERT
000009b2: JUMPDEST
000009b3: PUSH1 0x00
000009b5: PUSH2 0x09c9
000009b8: PUSH1 0x06
000009ba: SLOAD
000009bb: CALLVALUE
000009bc: PUSH2 0x228a
000009bf: SWAP1
000009c0: SWAP2
000009c1: SWAP1
000009c2: PUSH4 0xffffffff
000009c7: AND
000009c8: JUMP
000009c9: JUMPDEST
000009ca: SWAP1
000009cb: POP
000009cc: PUSH1 0x02
000009ce: PUSH1 0x00
000009d0: SWAP1
000009d1: SLOAD
000009d2: SWAP1
000009d3: PUSH2 0x0100
000009d6: EXP
000009d7: SWAP1
000009d8: DIV
000009d9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009ee: AND
000009ef: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a04: AND
00000a05: PUSH4 0x70a08231
00000a0a: PUSH2 0x0a11
00000a0d: PUSH2 0x21fa
00000a10: JUMP
00000a11: JUMPDEST
00000a12: PUSH1 0x40
00000a14: MLOAD
00000a15: DUP3
00000a16: PUSH4 0xffffffff
00000a1b: AND
00000a1c: PUSH1 0xe0
00000a1e: SHL
00000a1f: DUP2
00000a20: MSTORE
00000a21: PUSH1 0x04
00000a23: ADD
00000a24: DUP1
00000a25: DUP3
00000a26: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a3b: AND
00000a3c: DUP2
00000a3d: MSTORE
00000a3e: PUSH1 0x20
00000a40: ADD
00000a41: SWAP2
00000a42: POP
00000a43: POP
00000a44: PUSH1 0x20
00000a46: PUSH1 0x40
00000a48: MLOAD
00000a49: DUP1
00000a4a: DUP4
00000a4b: SUB
00000a4c: DUP2
00000a4d: DUP7
00000a4e: DUP1
00000a4f: EXTCODESIZE
00000a50: ISZERO
00000a51: DUP1
00000a52: ISZERO
00000a53: PUSH2 0x0a5b
00000a56: JUMPI
00000a57: PUSH1 0x00
00000a59: DUP1
00000a5a: REVERT
00000a5b: JUMPDEST
00000a5c: POP
00000a5d: GAS
00000a5e: STATICCALL
00000a5f: ISZERO
00000a60: DUP1
00000a61: ISZERO
00000a62: PUSH2 0x0a6f
00000a65: JUMPI
00000a66: RETURNDATASIZE
00000a67: PUSH1 0x00
00000a69: DUP1
00000a6a: RETURNDATACOPY
00000a6b: RETURNDATASIZE
00000a6c: PUSH1 0x00
00000a6e: REVERT
00000a6f: JUMPDEST
00000a70: POP
00000a71: POP
00000a72: POP
00000a73: POP
00000a74: PUSH1 0x40
00000a76: MLOAD
00000a77: RETURNDATASIZE
00000a78: PUSH1 0x20
00000a7a: DUP2
00000a7b: LT
00000a7c: ISZERO
00000a7d: PUSH2 0x0a85
00000a80: JUMPI
00000a81: PUSH1 0x00
00000a83: DUP1
00000a84: REVERT
00000a85: JUMPDEST
00000a86: DUP2
00000a87: ADD
00000a88: SWAP1
00000a89: DUP1
00000a8a: DUP1
00000a8b: MLOAD
00000a8c: SWAP1
00000a8d: PUSH1 0x20
00000a8f: ADD
00000a90: SWAP1
00000a91: SWAP3
00000a92: SWAP2
00000a93: SWAP1
00000a94: POP
00000a95: POP
00000a96: POP
00000a97: DUP2
00000a98: GT
00000a99: ISZERO
00000a9a: PUSH2 0x0b0b
00000a9d: JUMPI
00000a9e: PUSH1 0x40
00000aa0: MLOAD
00000aa1: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000ac2: DUP2
00000ac3: MSTORE
00000ac4: PUSH1 0x04
00000ac6: ADD
00000ac7: DUP1
00000ac8: DUP1
00000ac9: PUSH1 0x20
00000acb: ADD
00000acc: DUP3
00000acd: DUP2
00000ace: SUB
00000acf: DUP3
00000ad0: MSTORE
00000ad1: PUSH1 0x1e
00000ad3: DUP2
00000ad4: MSTORE
00000ad5: PUSH1 0x20
00000ad7: ADD
00000ad8: DUP1
00000ad9: PUSH32 0x696e73756666696369656e742067617320746f6b656e2062616c616e63650000
00000afa: DUP2
00000afb: MSTORE
00000afc: POP
00000afd: PUSH1 0x20
00000aff: ADD
00000b00: SWAP2
00000b01: POP
00000b02: POP
00000b03: PUSH1 0x40
00000b05: MLOAD
00000b06: DUP1
00000b07: SWAP2
00000b08: SUB
00000b09: SWAP1
00000b0a: REVERT
00000b0b: JUMPDEST
00000b0c: PUSH1 0x09
00000b0e: PUSH1 0x00
00000b10: DUP2
00000b11: SLOAD
00000b12: DUP1
00000b13: SWAP3
00000b14: SWAP2
00000b15: SWAP1
00000b16: PUSH1 0x01
00000b18: ADD
00000b19: SWAP2
00000b1a: SWAP1
00000b1b: POP
00000b1c: SSTORE
00000b1d: POP
00000b1e: PUSH1 0x09
00000b20: SLOAD
00000b21: PUSH32 0x2390012f9f3f55c6cd486205a2705f3b0632a0171e531c6ff2105237107d3ebc
00000b42: PUSH2 0x0b49
00000b45: PUSH2 0x21fa
00000b48: JUMP
00000b49: JUMPDEST
00000b4a: DUP12
00000b4b: PUSH1 0x01
00000b4d: DUP13
00000b4e: CALLVALUE
00000b4f: DUP8
00000b50: PUSH1 0x40
00000b52: MLOAD
00000b53: DUP1
00000b54: DUP8
00000b55: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b6a: AND
00000b6b: DUP2
00000b6c: MSTORE
00000b6d: PUSH1 0x20
00000b6f: ADD
00000b70: DUP7
00000b71: DUP2
00000b72: MSTORE
00000b73: PUSH1 0x20
00000b75: ADD
00000b76: DUP6
00000b77: ISZERO
00000b78: ISZERO
00000b79: DUP2
00000b7a: MSTORE
00000b7b: PUSH1 0x20
00000b7d: ADD
00000b7e: DUP5
00000b7f: DUP2
00000b80: MSTORE
00000b81: PUSH1 0x20
00000b83: ADD
00000b84: DUP4
00000b85: DUP2
00000b86: MSTORE
00000b87: PUSH1 0x20
00000b89: ADD
00000b8a: DUP3
00000b8b: DUP2
00000b8c: MSTORE
00000b8d: PUSH1 0x20
00000b8f: ADD
00000b90: SWAP7
00000b91: POP
00000b92: POP
00000b93: POP
00000b94: POP
00000b95: POP
00000b96: POP
00000b97: POP
00000b98: PUSH1 0x40
00000b9a: MLOAD
00000b9b: DUP1
00000b9c: SWAP2
00000b9d: SUB
00000b9e: SWAP1
00000b9f: LOG2
00000ba0: PUSH1 0x03
00000ba2: PUSH1 0x00
00000ba4: DUP11
00000ba5: DUP2
00000ba6: MSTORE
00000ba7: PUSH1 0x20
00000ba9: ADD
00000baa: SWAP1
00000bab: DUP2
00000bac: MSTORE
00000bad: PUSH1 0x20
00000baf: ADD
00000bb0: PUSH1 0x00
00000bb2: KECCAK256
00000bb3: PUSH1 0x00
00000bb5: SWAP1
00000bb6: SLOAD
00000bb7: SWAP1
00000bb8: PUSH2 0x0100
00000bbb: EXP
00000bbc: SWAP1
00000bbd: DIV
00000bbe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000bd3: AND
00000bd4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000be9: AND
00000bea: PUSH4 0x40c10f19
00000bef: PUSH2 0x0bf6
00000bf2: PUSH2 0x21fa
00000bf5: JUMP
00000bf6: JUMPDEST
00000bf7: DUP11
00000bf8: PUSH1 0x40
00000bfa: MLOAD
00000bfb: DUP4
00000bfc: PUSH4 0xffffffff
00000c01: AND
00000c02: PUSH1 0xe0
00000c04: SHL
00000c05: DUP2
00000c06: MSTORE
00000c07: PUSH1 0x04
00000c09: ADD
00000c0a: DUP1
00000c0b: DUP4
00000c0c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c21: AND
00000c22: DUP2
00000c23: MSTORE
00000c24: PUSH1 0x20
00000c26: ADD
00000c27: DUP3
00000c28: DUP2
00000c29: MSTORE
00000c2a: PUSH1 0x20
00000c2c: ADD
00000c2d: SWAP3
00000c2e: POP
00000c2f: POP
00000c30: POP
00000c31: PUSH1 0x00
00000c33: PUSH1 0x40
00000c35: MLOAD
00000c36: DUP1
00000c37: DUP4
00000c38: SUB
00000c39: DUP2
00000c3a: PUSH1 0x00
00000c3c: DUP8
00000c3d: DUP1
00000c3e: EXTCODESIZE
00000c3f: ISZERO
00000c40: DUP1
00000c41: ISZERO
00000c42: PUSH2 0x0c4a
00000c45: JUMPI
00000c46: PUSH1 0x00
00000c48: DUP1
00000c49: REVERT
00000c4a: JUMPDEST
00000c4b: POP
00000c4c: GAS
00000c4d: CALL
00000c4e: ISZERO
00000c4f: DUP1
00000c50: ISZERO
00000c51: PUSH2 0x0c5e
00000c54: JUMPI
00000c55: RETURNDATASIZE
00000c56: PUSH1 0x00
00000c58: DUP1
00000c59: RETURNDATACOPY
00000c5a: RETURNDATASIZE
00000c5b: PUSH1 0x00
00000c5d: REVERT
00000c5e: JUMPDEST
00000c5f: POP
00000c60: POP
00000c61: POP
00000c62: POP
00000c63: PUSH1 0x02
00000c65: PUSH1 0x00
00000c67: SWAP1
00000c68: SLOAD
00000c69: SWAP1
00000c6a: PUSH2 0x0100
00000c6d: EXP
00000c6e: SWAP1
00000c6f: DIV
00000c70: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c85: AND
00000c86: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c9b: AND
00000c9c: PUSH4 0x23b872dd
00000ca1: PUSH2 0x0ca8
00000ca4: PUSH2 0x21fa
00000ca7: JUMP
00000ca8: JUMPDEST
00000ca9: PUSH1 0x05
00000cab: PUSH1 0x00
00000cad: SWAP1
00000cae: SLOAD
00000caf: SWAP1
00000cb0: PUSH2 0x0100
00000cb3: EXP
00000cb4: SWAP1
00000cb5: DIV
00000cb6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ccb: AND
00000ccc: DUP5
00000ccd: PUSH1 0x40
00000ccf: MLOAD
00000cd0: DUP5
00000cd1: PUSH4 0xffffffff
00000cd6: AND
00000cd7: PUSH1 0xe0
00000cd9: SHL
00000cda: DUP2
00000cdb: MSTORE
00000cdc: PUSH1 0x04
00000cde: ADD
00000cdf: DUP1
00000ce0: DUP5
00000ce1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000cf6: AND
00000cf7: DUP2
00000cf8: MSTORE
00000cf9: PUSH1 0x20
00000cfb: ADD
00000cfc: DUP4
00000cfd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d12: AND
00000d13: DUP2
00000d14: MSTORE
00000d15: PUSH1 0x20
00000d17: ADD
00000d18: DUP3
00000d19: DUP2
00000d1a: MSTORE
00000d1b: PUSH1 0x20
00000d1d: ADD
00000d1e: SWAP4
00000d1f: POP
00000d20: POP
00000d21: POP
00000d22: POP
00000d23: PUSH1 0x20
00000d25: PUSH1 0x40
00000d27: MLOAD
00000d28: DUP1
00000d29: DUP4
00000d2a: SUB
00000d2b: DUP2
00000d2c: PUSH1 0x00
00000d2e: DUP8
00000d2f: DUP1
00000d30: EXTCODESIZE
00000d31: ISZERO
00000d32: DUP1
00000d33: ISZERO
00000d34: PUSH2 0x0d3c
00000d37: JUMPI
00000d38: PUSH1 0x00
00000d3a: DUP1
00000d3b: REVERT
00000d3c: JUMPDEST
00000d3d: POP
00000d3e: GAS
00000d3f: CALL
00000d40: ISZERO
00000d41: DUP1
00000d42: ISZERO
00000d43: PUSH2 0x0d50
00000d46: JUMPI
00000d47: RETURNDATASIZE
00000d48: PUSH1 0x00
00000d4a: DUP1
00000d4b: RETURNDATACOPY
00000d4c: RETURNDATASIZE
00000d4d: PUSH1 0x00
00000d4f: REVERT
00000d50: JUMPDEST
00000d51: POP
00000d52: POP
00000d53: POP
00000d54: POP
00000d55: PUSH1 0x40
00000d57: MLOAD
00000d58: RETURNDATASIZE
00000d59: PUSH1 0x20
00000d5b: DUP2
00000d5c: LT
00000d5d: ISZERO
00000d5e: PUSH2 0x0d66
00000d61: JUMPI
00000d62: PUSH1 0x00
00000d64: DUP1
00000d65: REVERT
00000d66: JUMPDEST
00000d67: DUP2
00000d68: ADD
00000d69: SWAP1
00000d6a: DUP1
00000d6b: DUP1
00000d6c: MLOAD
00000d6d: SWAP1
00000d6e: PUSH1 0x20
00000d70: ADD
00000d71: SWAP1
00000d72: SWAP3
00000d73: SWAP2
00000d74: SWAP1
00000d75: POP
00000d76: POP
00000d77: POP
00000d78: POP
00000d79: PUSH1 0x08
00000d7b: SLOAD
00000d7c: SELFBALANCE
00000d7d: LT
00000d7e: PUSH2 0x0db2
00000d81: JUMPI
00000d82: PUSH2 0x0dad
00000d85: PUSH1 0x05
00000d87: PUSH1 0x00
00000d89: SWAP1
00000d8a: SLOAD
00000d8b: SWAP1
00000d8c: PUSH2 0x0100
00000d8f: EXP
00000d90: SWAP1
00000d91: DIV
00000d92: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000da7: AND
00000da8: CALLVALUE
00000da9: PUSH2 0x2310
00000dac: JUMP
00000dad: JUMPDEST
00000dae: PUSH2 0x0dff
00000db1: JUMP
00000db2: JUMPDEST
00000db3: PUSH2 0x0dc7
00000db6: SELFBALANCE
00000db7: PUSH1 0x08
00000db9: SLOAD
00000dba: PUSH2 0x2330
00000dbd: SWAP1
00000dbe: SWAP2
00000dbf: SWAP1
00000dc0: PUSH4 0xffffffff
00000dc5: AND
00000dc6: JUMP
00000dc7: JUMPDEST
00000dc8: PUSH32 0xb4be0029a34928dd22f31169dfc7e4783427bb61fd5fde3172275f17a42ff8db
00000de9: TIMESTAMP
00000dea: PUSH1 0x40
00000dec: MLOAD
00000ded: DUP1
00000dee: DUP3
00000def: DUP2
00000df0: MSTORE
00000df1: PUSH1 0x20
00000df3: ADD
00000df4: SWAP2
00000df5: POP
00000df6: POP
00000df7: PUSH1 0x40
00000df9: MLOAD
00000dfa: DUP1
00000dfb: SWAP2
00000dfc: SUB
00000dfd: SWAP1
00000dfe: LOG2
00000dff: JUMPDEST
00000e00: POP
00000e01: POP
00000e02: POP
00000e03: PUSH1 0x01
00000e05: PUSH1 0x00
00000e07: DUP2
00000e08: SWAP1
00000e09: SSTORE
00000e0a: POP
00000e0b: POP
00000e0c: POP
00000e0d: POP
00000e0e: POP
00000e0f: POP
00000e10: POP
00000e11: JUMP
00000e12: JUMPDEST
00000e13: PUSH2 0x0e1a
00000e16: PUSH2 0x21fa
00000e19: JUMP
00000e1a: JUMPDEST
00000e1b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e30: AND
00000e31: PUSH1 0x04
00000e33: PUSH1 0x00
00000e35: SWAP1
00000e36: SLOAD
00000e37: SWAP1
00000e38: PUSH2 0x0100
00000e3b: EXP
00000e3c: SWAP1
00000e3d: DIV
00000e3e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e53: AND
00000e54: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e69: AND
00000e6a: EQ
00000e6b: PUSH2 0x0edc
00000e6e: JUMPI
00000e6f: PUSH1 0x40
00000e71: MLOAD
00000e72: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000e93: DUP2
00000e94: MSTORE
00000e95: PUSH1 0x04
00000e97: ADD
00000e98: DUP1
00000e99: DUP1
00000e9a: PUSH1 0x20
00000e9c: ADD
00000e9d: DUP3
00000e9e: DUP2
00000e9f: SUB
00000ea0: DUP3
00000ea1: MSTORE
00000ea2: PUSH1 0x12
00000ea4: DUP2
00000ea5: MSTORE
00000ea6: PUSH1 0x20
00000ea8: ADD
00000ea9: DUP1
00000eaa: PUSH32 0x556e617574686f72697a65642075736167650000000000000000000000000000
00000ecb: DUP2
00000ecc: MSTORE
00000ecd: POP
00000ece: PUSH1 0x20
00000ed0: ADD
00000ed1: SWAP2
00000ed2: POP
00000ed3: POP
00000ed4: PUSH1 0x40
00000ed6: MLOAD
00000ed7: DUP1
00000ed8: SWAP2
00000ed9: SUB
00000eda: SWAP1
00000edb: REVERT
00000edc: JUMPDEST
00000edd: DUP1
00000ede: PUSH1 0x04
00000ee0: PUSH1 0x00
00000ee2: PUSH2 0x0100
00000ee5: EXP
00000ee6: DUP2
00000ee7: SLOAD
00000ee8: DUP2
00000ee9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000efe: MUL
00000eff: NOT
00000f00: AND
00000f01: SWAP1
00000f02: DUP4
00000f03: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f18: AND
00000f19: MUL
00000f1a: OR
00000f1b: SWAP1
00000f1c: SSTORE
00000f1d: POP
00000f1e: POP
00000f1f: JUMP
00000f20: JUMPDEST
00000f21: PUSH2 0x0f28
00000f24: PUSH2 0x21fa
00000f27: JUMP
00000f28: JUMPDEST
00000f29: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f3e: AND
00000f3f: PUSH1 0x04
00000f41: PUSH1 0x00
00000f43: SWAP1
00000f44: SLOAD
00000f45: SWAP1
00000f46: PUSH2 0x0100
00000f49: EXP
00000f4a: SWAP1
00000f4b: DIV
00000f4c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f61: AND
00000f62: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f77: AND
00000f78: EQ
00000f79: PUSH2 0x0fea
00000f7c: JUMPI
00000f7d: PUSH1 0x40
00000f7f: MLOAD
00000f80: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000fa1: DUP2
00000fa2: MSTORE
00000fa3: PUSH1 0x04
00000fa5: ADD
00000fa6: DUP1
00000fa7: DUP1
00000fa8: PUSH1 0x20
00000faa: ADD
00000fab: DUP3
00000fac: DUP2
00000fad: SUB
00000fae: DUP3
00000faf: MSTORE
00000fb0: PUSH1 0x12
00000fb2: DUP2
00000fb3: MSTORE
00000fb4: PUSH1 0x20
00000fb6: ADD
00000fb7: DUP1
00000fb8: PUSH32 0x556e617574686f72697a65642075736167650000000000000000000000000000
00000fd9: DUP2
00000fda: MSTORE
00000fdb: POP
00000fdc: PUSH1 0x20
00000fde: ADD
00000fdf: SWAP2
00000fe0: POP
00000fe1: POP
00000fe2: PUSH1 0x40
00000fe4: MLOAD
00000fe5: DUP1
00000fe6: SWAP2
00000fe7: SUB
00000fe8: SWAP1
00000fe9: REVERT
00000fea: JUMPDEST
00000feb: DUP1
00000fec: PUSH1 0x08
00000fee: DUP2
00000fef: SWAP1
00000ff0: SSTORE
00000ff1: POP
00000ff2: POP
00000ff3: JUMP
00000ff4: JUMPDEST
00000ff5: PUSH2 0x0ffc
00000ff8: PUSH2 0x21fa
00000ffb: JUMP
00000ffc: JUMPDEST
00000ffd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001012: AND
00001013: PUSH1 0x04
00001015: PUSH1 0x00
00001017: SWAP1
00001018: SLOAD
00001019: SWAP1
0000101a: PUSH2 0x0100
0000101d: EXP
0000101e: SWAP1
0000101f: DIV
00001020: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001035: AND
00001036: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000104b: AND
0000104c: EQ
0000104d: PUSH2 0x10be
00001050: JUMPI
00001051: PUSH1 0x40
00001053: MLOAD
00001054: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001075: DUP2
00001076: MSTORE
00001077: PUSH1 0x04
00001079: ADD
0000107a: DUP1
0000107b: DUP1
0000107c: PUSH1 0x20
0000107e: ADD
0000107f: DUP3
00001080: DUP2
00001081: SUB
00001082: DUP3
00001083: MSTORE
00001084: PUSH1 0x12
00001086: DUP2
00001087: MSTORE
00001088: PUSH1 0x20
0000108a: ADD
0000108b: DUP1
0000108c: PUSH32 0x556e617574686f72697a65642075736167650000000000000000000000000000
000010ad: DUP2
000010ae: MSTORE
000010af: POP
000010b0: PUSH1 0x20
000010b2: ADD
000010b3: SWAP2
000010b4: POP
000010b5: POP
000010b6: PUSH1 0x40
000010b8: MLOAD
000010b9: DUP1
000010ba: SWAP2
000010bb: SUB
000010bc: SWAP1
000010bd: REVERT
000010be: JUMPDEST
000010bf: DUP1
000010c0: PUSH1 0x06
000010c2: DUP2
000010c3: SWAP1
000010c4: SSTORE
000010c5: POP
000010c6: POP
000010c7: JUMP
000010c8: JUMPDEST
000010c9: PUSH2 0x10d0
000010cc: PUSH2 0x21fa
000010cf: JUMP
000010d0: JUMPDEST
000010d1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010e6: AND
000010e7: PUSH1 0x04
000010e9: PUSH1 0x00
000010eb: SWAP1
000010ec: SLOAD
000010ed: SWAP1
000010ee: PUSH2 0x0100
000010f1: EXP
000010f2: SWAP1
000010f3: DIV
000010f4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001109: AND
0000110a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000111f: AND
00001120: EQ
00001121: PUSH2 0x1192
00001124: JUMPI
00001125: PUSH1 0x40
00001127: MLOAD
00001128: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001149: DUP2
0000114a: MSTORE
0000114b: PUSH1 0x04
0000114d: ADD
0000114e: DUP1
0000114f: DUP1
00001150: PUSH1 0x20
00001152: ADD
00001153: DUP3
00001154: DUP2
00001155: SUB
00001156: DUP3
00001157: MSTORE
00001158: PUSH1 0x12
0000115a: DUP2
0000115b: MSTORE
0000115c: PUSH1 0x20
0000115e: ADD
0000115f: DUP1
00001160: PUSH32 0x556e617574686f72697a65642075736167650000000000000000000000000000
00001181: DUP2
00001182: MSTORE
00001183: POP
00001184: PUSH1 0x20
00001186: ADD
00001187: SWAP2
00001188: POP
00001189: POP
0000118a: PUSH1 0x40
0000118c: MLOAD
0000118d: DUP1
0000118e: SWAP2
0000118f: SUB
00001190: SWAP1
00001191: REVERT
00001192: JUMPDEST
00001193: DUP1
00001194: PUSH1 0x07
00001196: DUP2
00001197: SWAP1
00001198: SSTORE
00001199: POP
0000119a: POP
0000119b: JUMP
0000119c: JUMPDEST
0000119d: PUSH1 0x00
0000119f: PUSH1 0x08
000011a1: SLOAD
000011a2: SWAP1
000011a3: POP
000011a4: SWAP1
000011a5: JUMP
000011a6: JUMPDEST
000011a7: PUSH1 0x00
000011a9: PUSH1 0x04
000011ab: PUSH1 0x00
000011ad: SWAP1
000011ae: SLOAD
000011af: SWAP1
000011b0: PUSH2 0x0100
000011b3: EXP
000011b4: SWAP1
000011b5: DIV
000011b6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011cb: AND
000011cc: SWAP1
000011cd: POP
000011ce: SWAP1
000011cf: JUMP
000011d0: JUMPDEST
000011d1: PUSH2 0x11d8
000011d4: PUSH2 0x21fa
000011d7: JUMP
000011d8: JUMPDEST
000011d9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011ee: AND
000011ef: PUSH1 0x01
000011f1: PUSH1 0x00
000011f3: SWAP1
000011f4: SLOAD
000011f5: SWAP1
000011f6: PUSH2 0x0100
000011f9: EXP
000011fa: SWAP1
000011fb: DIV
000011fc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001211: AND
00001212: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001227: AND
00001228: EQ
00001229: PUSH2 0x129a
0000122c: JUMPI
0000122d: PUSH1 0x40
0000122f: MLOAD
00001230: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001251: DUP2
00001252: MSTORE
00001253: PUSH1 0x04
00001255: ADD
00001256: DUP1
00001257: DUP1
00001258: PUSH1 0x20
0000125a: ADD
0000125b: DUP3
0000125c: DUP2
0000125d: SUB
0000125e: DUP3
0000125f: MSTORE
00001260: PUSH1 0x20
00001262: DUP2
00001263: MSTORE
00001264: PUSH1 0x20
00001266: ADD
00001267: DUP1
00001268: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
00001289: DUP2
0000128a: MSTORE
0000128b: POP
0000128c: PUSH1 0x20
0000128e: ADD
0000128f: SWAP2
00001290: POP
00001291: POP
00001292: PUSH1 0x40
00001294: MLOAD
00001295: DUP1
00001296: SWAP2
00001297: SUB
00001298: SWAP1
00001299: REVERT
0000129a: JUMPDEST
0000129b: PUSH1 0x00
0000129d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012b2: AND
000012b3: PUSH1 0x01
000012b5: PUSH1 0x00
000012b7: SWAP1
000012b8: SLOAD
000012b9: SWAP1
000012ba: PUSH2 0x0100
000012bd: EXP
000012be: SWAP1
000012bf: DIV
000012c0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012d5: AND
000012d6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012eb: AND
000012ec: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
0000130d: PUSH1 0x40
0000130f: MLOAD
00001310: PUSH1 0x40
00001312: MLOAD
00001313: DUP1
00001314: SWAP2
00001315: SUB
00001316: SWAP1
00001317: LOG3
00001318: PUSH1 0x00
0000131a: PUSH1 0x01
0000131c: PUSH1 0x00
0000131e: PUSH2 0x0100
00001321: EXP
00001322: DUP2
00001323: SLOAD
00001324: DUP2
00001325: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000133a: MUL
0000133b: NOT
0000133c: AND
0000133d: SWAP1
0000133e: DUP4
0000133f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001354: AND
00001355: MUL
00001356: OR
00001357: SWAP1
00001358: SSTORE
00001359: POP
0000135a: JUMP
0000135b: JUMPDEST
0000135c: PUSH1 0x00
0000135e: PUSH1 0x06
00001360: SLOAD
00001361: SWAP1
00001362: POP
00001363: SWAP1
00001364: JUMP
00001365: JUMPDEST
00001366: PUSH1 0x00
00001368: PUSH1 0x01
0000136a: PUSH1 0x00
0000136c: SWAP1
0000136d: SLOAD
0000136e: SWAP1
0000136f: PUSH2 0x0100
00001372: EXP
00001373: SWAP1
00001374: DIV
00001375: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000138a: AND
0000138b: SWAP1
0000138c: POP
0000138d: SWAP1
0000138e: JUMP
0000138f: JUMPDEST
00001390: PUSH1 0x02
00001392: PUSH1 0x00
00001394: SLOAD
00001395: EQ
00001396: ISZERO
00001397: PUSH2 0x1408
0000139a: JUMPI
0000139b: PUSH1 0x40
0000139d: MLOAD
0000139e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000013bf: DUP2
000013c0: MSTORE
000013c1: PUSH1 0x04
000013c3: ADD
000013c4: DUP1
000013c5: DUP1
000013c6: PUSH1 0x20
000013c8: ADD
000013c9: DUP3
000013ca: DUP2
000013cb: SUB
000013cc: DUP3
000013cd: MSTORE
000013ce: PUSH1 0x1f
000013d0: DUP2
000013d1: MSTORE
000013d2: PUSH1 0x20
000013d4: ADD
000013d5: DUP1
000013d6: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00
000013f7: DUP2
000013f8: MSTORE
000013f9: POP
000013fa: PUSH1 0x20
000013fc: ADD
000013fd: SWAP2
000013fe: POP
000013ff: POP
00001400: PUSH1 0x40
00001402: MLOAD
00001403: DUP1
00001404: SWAP2
00001405: SUB
00001406: SWAP1
00001407: REVERT
00001408: JUMPDEST
00001409: PUSH1 0x02
0000140b: PUSH1 0x00
0000140d: DUP2
0000140e: SWAP1
0000140f: SSTORE
00001410: POP
00001411: PUSH1 0x00
00001413: DUP7
00001414: GT
00001415: PUSH2 0x1486
00001418: JUMPI
00001419: PUSH1 0x40
0000141b: MLOAD
0000141c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000143d: DUP2
0000143e: MSTORE
0000143f: PUSH1 0x04
00001441: ADD
00001442: DUP1
00001443: DUP1
00001444: PUSH1 0x20
00001446: ADD
00001447: DUP3
00001448: DUP2
00001449: SUB
0000144a: DUP3
0000144b: MSTORE
0000144c: PUSH1 0x1f
0000144e: DUP2
0000144f: MSTORE
00001450: PUSH1 0x20
00001452: ADD
00001453: DUP1
00001454: PUSH32 0x4d7573742073656c65637420616e20616d6f756e74206f6620746f6b656e7300
00001475: DUP2
00001476: MSTORE
00001477: POP
00001478: PUSH1 0x20
0000147a: ADD
0000147b: SWAP2
0000147c: POP
0000147d: POP
0000147e: PUSH1 0x40
00001480: MLOAD
00001481: DUP1
00001482: SWAP2
00001483: SUB
00001484: SWAP1
00001485: REVERT
00001486: JUMPDEST
00001487: PUSH1 0x00
00001489: DUP6
0000148a: GT
0000148b: PUSH2 0x14fc
0000148e: JUMPI
0000148f: PUSH1 0x40
00001491: MLOAD
00001492: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000014b3: DUP2
000014b4: MSTORE
000014b5: PUSH1 0x04
000014b7: ADD
000014b8: DUP1
000014b9: DUP1
000014ba: PUSH1 0x20
000014bc: ADD
000014bd: DUP3
000014be: DUP2
000014bf: SUB
000014c0: DUP3
000014c1: MSTORE
000014c2: PUSH1 0x1f
000014c4: DUP2
000014c5: MSTORE
000014c6: PUSH1 0x20
000014c8: ADD
000014c9: DUP1
000014ca: PUSH32 0x746f74616c206d7573742062652067726561746572207468616e207a65726f00
000014eb: DUP2
000014ec: MSTORE
000014ed: POP
000014ee: PUSH1 0x20
000014f0: ADD
000014f1: SWAP2
000014f2: POP
000014f3: POP
000014f4: PUSH1 0x40
000014f6: MLOAD
000014f7: DUP1
000014f8: SWAP2
000014f9: SUB
000014fa: SWAP1
000014fb: REVERT
000014fc: JUMPDEST
000014fd: PUSH1 0x03
000014ff: PUSH1 0x00
00001501: DUP9
00001502: DUP2
00001503: MSTORE
00001504: PUSH1 0x20
00001506: ADD
00001507: SWAP1
00001508: DUP2
00001509: MSTORE
0000150a: PUSH1 0x20
0000150c: ADD
0000150d: PUSH1 0x00
0000150f: KECCAK256
00001510: PUSH1 0x00
00001512: SWAP1
00001513: SLOAD
00001514: SWAP1
00001515: PUSH2 0x0100
00001518: EXP
00001519: SWAP1
0000151a: DIV
0000151b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001530: AND
00001531: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001546: AND
00001547: PUSH4 0x70a08231
0000154c: PUSH2 0x1553
0000154f: PUSH2 0x21fa
00001552: JUMP
00001553: JUMPDEST
00001554: PUSH1 0x40
00001556: MLOAD
00001557: DUP3
00001558: PUSH4 0xffffffff
0000155d: AND
0000155e: PUSH1 0xe0
00001560: SHL
00001561: DUP2
00001562: MSTORE
00001563: PUSH1 0x04
00001565: ADD
00001566: DUP1
00001567: DUP3
00001568: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000157d: AND
0000157e: DUP2
0000157f: MSTORE
00001580: PUSH1 0x20
00001582: ADD
00001583: SWAP2
00001584: POP
00001585: POP
00001586: PUSH1 0x20
00001588: PUSH1 0x40
0000158a: MLOAD
0000158b: DUP1
0000158c: DUP4
0000158d: SUB
0000158e: DUP2
0000158f: DUP7
00001590: DUP1
00001591: EXTCODESIZE
00001592: ISZERO
00001593: DUP1
00001594: ISZERO
00001595: PUSH2 0x159d
00001598: JUMPI
00001599: PUSH1 0x00
0000159b: DUP1
0000159c: REVERT
0000159d: JUMPDEST
0000159e: POP
0000159f: GAS
000015a0: STATICCALL
000015a1: ISZERO
000015a2: DUP1
000015a3: ISZERO
000015a4: PUSH2 0x15b1
000015a7: JUMPI
000015a8: RETURNDATASIZE
000015a9: PUSH1 0x00
000015ab: DUP1
000015ac: RETURNDATACOPY
000015ad: RETURNDATASIZE
000015ae: PUSH1 0x00
000015b0: REVERT
000015b1: JUMPDEST
000015b2: POP
000015b3: POP
000015b4: POP
000015b5: POP
000015b6: PUSH1 0x40
000015b8: MLOAD
000015b9: RETURNDATASIZE
000015ba: PUSH1 0x20
000015bc: DUP2
000015bd: LT
000015be: ISZERO
000015bf: PUSH2 0x15c7
000015c2: JUMPI
000015c3: PUSH1 0x00
000015c5: DUP1
000015c6: REVERT
000015c7: JUMPDEST
000015c8: DUP2
000015c9: ADD
000015ca: SWAP1
000015cb: DUP1
000015cc: DUP1
000015cd: MLOAD
000015ce: SWAP1
000015cf: PUSH1 0x20
000015d1: ADD
000015d2: SWAP1
000015d3: SWAP3
000015d4: SWAP2
000015d5: SWAP1
000015d6: POP
000015d7: POP
000015d8: POP
000015d9: DUP7
000015da: GT
000015db: ISZERO
000015dc: PUSH2 0x164d
000015df: JUMPI
000015e0: PUSH1 0x40
000015e2: MLOAD
000015e3: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001604: DUP2
00001605: MSTORE
00001606: PUSH1 0x04
00001608: ADD
00001609: DUP1
0000160a: DUP1
0000160b: PUSH1 0x20
0000160d: ADD
0000160e: DUP3
0000160f: DUP2
00001610: SUB
00001611: DUP3
00001612: MSTORE
00001613: PUSH1 0x1d
00001615: DUP2
00001616: MSTORE
00001617: PUSH1 0x20
00001619: ADD
0000161a: DUP1
0000161b: PUSH32 0x43616e6e6f742073656c6c206d6f7265207468616e2062616c616e6365000000
0000163c: DUP2
0000163d: MSTORE
0000163e: POP
0000163f: PUSH1 0x20
00001641: ADD
00001642: SWAP2
00001643: POP
00001644: POP
00001645: PUSH1 0x40
00001647: MLOAD
00001648: DUP1
00001649: SWAP2
0000164a: SUB
0000164b: SWAP1
0000164c: REVERT
0000164d: JUMPDEST
0000164e: PUSH1 0x00
00001650: PUSH2 0x1657
00001653: PUSH2 0x21fa
00001656: JUMP
00001657: JUMPDEST
00001658: DUP9
00001659: DUP9
0000165a: DUP9
0000165b: DUP9
0000165c: PUSH1 0x40
0000165e: MLOAD
0000165f: PUSH1 0x20
00001661: ADD
00001662: DUP1
00001663: DUP7
00001664: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001679: AND
0000167a: DUP2
0000167b: MSTORE
0000167c: PUSH1 0x20
0000167e: ADD
0000167f: DUP6
00001680: DUP2
00001681: MSTORE
00001682: PUSH1 0x20
00001684: ADD
00001685: DUP5
00001686: DUP2
00001687: MSTORE
00001688: PUSH1 0x20
0000168a: ADD
0000168b: DUP4
0000168c: DUP2
0000168d: MSTORE
0000168e: PUSH1 0x20
00001690: ADD
00001691: DUP3
00001692: DUP2
00001693: MSTORE
00001694: PUSH1 0x20
00001696: ADD
00001697: SWAP6
00001698: POP
00001699: POP
0000169a: POP
0000169b: POP
0000169c: POP
0000169d: POP
0000169e: PUSH1 0x40
000016a0: MLOAD
000016a1: PUSH1 0x20
000016a3: DUP2
000016a4: DUP4
000016a5: SUB
000016a6: SUB
000016a7: DUP2
000016a8: MSTORE
000016a9: SWAP1
000016aa: PUSH1 0x40
000016ac: MSTORE
000016ad: DUP1
000016ae: MLOAD
000016af: SWAP1
000016b0: PUSH1 0x20
000016b2: ADD
000016b3: KECCAK256
000016b4: SWAP1
000016b5: POP
000016b6: PUSH1 0x00
000016b8: PUSH1 0x01
000016ba: DUP3
000016bb: DUP7
000016bc: DUP7
000016bd: DUP7
000016be: PUSH1 0x40
000016c0: MLOAD
000016c1: PUSH1 0x00
000016c3: DUP2
000016c4: MSTORE
000016c5: PUSH1 0x20
000016c7: ADD
000016c8: PUSH1 0x40
000016ca: MSTORE
000016cb: PUSH1 0x40
000016cd: MLOAD
000016ce: DUP1
000016cf: DUP6
000016d0: DUP2
000016d1: MSTORE
000016d2: PUSH1 0x20
000016d4: ADD
000016d5: DUP5
000016d6: PUSH1 0xff
000016d8: AND
000016d9: DUP2
000016da: MSTORE
000016db: PUSH1 0x20
000016dd: ADD
000016de: DUP4
000016df: DUP2
000016e0: MSTORE
000016e1: PUSH1 0x20
000016e3: ADD
000016e4: DUP3
000016e5: DUP2
000016e6: MSTORE
000016e7: PUSH1 0x20
000016e9: ADD
000016ea: SWAP5
000016eb: POP
000016ec: POP
000016ed: POP
000016ee: POP
000016ef: POP
000016f0: PUSH1 0x20
000016f2: PUSH1 0x40
000016f4: MLOAD
000016f5: PUSH1 0x20
000016f7: DUP2
000016f8: SUB
000016f9: SWAP1
000016fa: DUP1
000016fb: DUP5
000016fc: SUB
000016fd: SWAP1
000016fe: DUP6
000016ff: GAS
00001700: STATICCALL
00001701: ISZERO
00001702: DUP1
00001703: ISZERO
00001704: PUSH2 0x1711
00001707: JUMPI
00001708: RETURNDATASIZE
00001709: PUSH1 0x00
0000170b: DUP1
0000170c: RETURNDATACOPY
0000170d: RETURNDATASIZE
0000170e: PUSH1 0x00
00001710: REVERT
00001711: JUMPDEST
00001712: POP
00001713: POP
00001714: POP
00001715: PUSH1 0x20
00001717: PUSH1 0x40
00001719: MLOAD
0000171a: SUB
0000171b: MLOAD
0000171c: SWAP1
0000171d: POP
0000171e: PUSH1 0x04
00001720: PUSH1 0x00
00001722: SWAP1
00001723: SLOAD
00001724: SWAP1
00001725: PUSH2 0x0100
00001728: EXP
00001729: SWAP1
0000172a: DIV
0000172b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001740: AND
00001741: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001756: AND
00001757: DUP2
00001758: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000176d: AND
0000176e: EQ
0000176f: PUSH2 0x17e0
00001772: JUMPI
00001773: PUSH1 0x40
00001775: MLOAD
00001776: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001797: DUP2
00001798: MSTORE
00001799: PUSH1 0x04
0000179b: ADD
0000179c: DUP1
0000179d: DUP1
0000179e: PUSH1 0x20
000017a0: ADD
000017a1: DUP3
000017a2: DUP2
000017a3: SUB
000017a4: DUP3
000017a5: MSTORE
000017a6: PUSH1 0x11
000017a8: DUP2
000017a9: MSTORE
000017aa: PUSH1 0x20
000017ac: ADD
000017ad: DUP1
000017ae: PUSH32 0x496e76616c6964207369676e6174757265000000000000000000000000000000
000017cf: DUP2
000017d0: MSTORE
000017d1: POP
000017d2: PUSH1 0x20
000017d4: ADD
000017d5: SWAP2
000017d6: POP
000017d7: POP
000017d8: PUSH1 0x40
000017da: MLOAD
000017db: DUP1
000017dc: SWAP2
000017dd: SUB
000017de: SWAP1
000017df: REVERT
000017e0: JUMPDEST
000017e1: TIMESTAMP
000017e2: PUSH2 0x17f6
000017e5: PUSH1 0x07
000017e7: SLOAD
000017e8: DUP9
000017e9: PUSH2 0x2202
000017ec: SWAP1
000017ed: SWAP2
000017ee: SWAP1
000017ef: PUSH4 0xffffffff
000017f4: AND
000017f5: JUMP
000017f6: JUMPDEST
000017f7: GT
000017f8: PUSH2 0x1869
000017fb: JUMPI
000017fc: PUSH1 0x40
000017fe: MLOAD
000017ff: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001820: DUP2
00001821: MSTORE
00001822: PUSH1 0x04
00001824: ADD
00001825: DUP1
00001826: DUP1
00001827: PUSH1 0x20
00001829: ADD
0000182a: DUP3
0000182b: DUP2
0000182c: SUB
0000182d: DUP3
0000182e: MSTORE
0000182f: PUSH1 0x0d
00001831: DUP2
00001832: MSTORE
00001833: PUSH1 0x20
00001835: ADD
00001836: DUP1
00001837: PUSH32 0x45787069726564204f7264657200000000000000000000000000000000000000
00001858: DUP2
00001859: MSTORE
0000185a: POP
0000185b: PUSH1 0x20
0000185d: ADD
0000185e: SWAP2
0000185f: POP
00001860: POP
00001861: PUSH1 0x40
00001863: MLOAD
00001864: DUP1
00001865: SWAP2
00001866: SUB
00001867: SWAP1
00001868: REVERT
00001869: JUMPDEST
0000186a: SELFBALANCE
0000186b: DUP8
0000186c: GT
0000186d: ISZERO
0000186e: PUSH2 0x18c2
00001871: JUMPI
00001872: PUSH1 0x40
00001874: MLOAD
00001875: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001896: DUP2
00001897: MSTORE
00001898: PUSH1 0x04
0000189a: ADD
0000189b: DUP1
0000189c: DUP1
0000189d: PUSH1 0x20
0000189f: ADD
000018a0: DUP3
000018a1: DUP2
000018a2: SUB
000018a3: DUP3
000018a4: MSTORE
000018a5: PUSH1 0x23
000018a7: DUP2
000018a8: MSTORE
000018a9: PUSH1 0x20
000018ab: ADD
000018ac: DUP1
000018ad: PUSH2 0x25d5
000018b0: PUSH1 0x23
000018b2: SWAP2
000018b3: CODECOPY
000018b4: PUSH1 0x40
000018b6: ADD
000018b7: SWAP2
000018b8: POP
000018b9: POP
000018ba: PUSH1 0x40
000018bc: MLOAD
000018bd: DUP1
000018be: SWAP2
000018bf: SUB
000018c0: SWAP1
000018c1: REVERT
000018c2: JUMPDEST
000018c3: PUSH1 0x00
000018c5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000018da: AND
000018db: PUSH1 0x03
000018dd: PUSH1 0x00
000018df: DUP12
000018e0: DUP2
000018e1: MSTORE
000018e2: PUSH1 0x20
000018e4: ADD
000018e5: SWAP1
000018e6: DUP2
000018e7: MSTORE
000018e8: PUSH1 0x20
000018ea: ADD
000018eb: PUSH1 0x00
000018ed: KECCAK256
000018ee: PUSH1 0x00
000018f0: SWAP1
000018f1: SLOAD
000018f2: SWAP1
000018f3: PUSH2 0x0100
000018f6: EXP
000018f7: SWAP1
000018f8: DIV
000018f9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000190e: AND
0000190f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001924: AND
00001925: EQ
00001926: ISZERO
00001927: PUSH2 0x1998
0000192a: JUMPI
0000192b: PUSH1 0x40
0000192d: MLOAD
0000192e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000194f: DUP2
00001950: MSTORE
00001951: PUSH1 0x04
00001953: ADD
00001954: DUP1
00001955: DUP1
00001956: PUSH1 0x20
00001958: ADD
00001959: DUP3
0000195a: DUP2
0000195b: SUB
0000195c: DUP3
0000195d: MSTORE
0000195e: PUSH1 0x11
00001960: DUP2
00001961: MSTORE
00001962: PUSH1 0x20
00001964: ADD
00001965: DUP1
00001966: PUSH32 0x756e737570706f72746564206173736574000000000000000000000000000000
00001987: DUP2
00001988: MSTORE
00001989: POP
0000198a: PUSH1 0x20
0000198c: ADD
0000198d: SWAP2
0000198e: POP
0000198f: POP
00001990: PUSH1 0x40
00001992: MLOAD
00001993: DUP1
00001994: SWAP2
00001995: SUB
00001996: SWAP1
00001997: REVERT
00001998: JUMPDEST
00001999: PUSH1 0x00
0000199b: PUSH2 0x19af
0000199e: PUSH1 0x06
000019a0: SLOAD
000019a1: DUP10
000019a2: PUSH2 0x228a
000019a5: SWAP1
000019a6: SWAP2
000019a7: SWAP1
000019a8: PUSH4 0xffffffff
000019ad: AND
000019ae: JUMP
000019af: JUMPDEST
000019b0: SWAP1
000019b1: POP
000019b2: PUSH1 0x02
000019b4: PUSH1 0x00
000019b6: SWAP1
000019b7: SLOAD
000019b8: SWAP1
000019b9: PUSH2 0x0100
000019bc: EXP
000019bd: SWAP1
000019be: DIV
000019bf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019d4: AND
000019d5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019ea: AND
000019eb: PUSH4 0x70a08231
000019f0: PUSH2 0x19f7
000019f3: PUSH2 0x21fa
000019f6: JUMP
000019f7: JUMPDEST
000019f8: PUSH1 0x40
000019fa: MLOAD
000019fb: DUP3
000019fc: PUSH4 0xffffffff
00001a01: AND
00001a02: PUSH1 0xe0
00001a04: SHL
00001a05: DUP2
00001a06: MSTORE
00001a07: PUSH1 0x04
00001a09: ADD
00001a0a: DUP1
00001a0b: DUP3
00001a0c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a21: AND
00001a22: DUP2
00001a23: MSTORE
00001a24: PUSH1 0x20
00001a26: ADD
00001a27: SWAP2
00001a28: POP
00001a29: POP
00001a2a: PUSH1 0x20
00001a2c: PUSH1 0x40
00001a2e: MLOAD
00001a2f: DUP1
00001a30: DUP4
00001a31: SUB
00001a32: DUP2
00001a33: DUP7
00001a34: DUP1
00001a35: EXTCODESIZE
00001a36: ISZERO
00001a37: DUP1
00001a38: ISZERO
00001a39: PUSH2 0x1a41
00001a3c: JUMPI
00001a3d: PUSH1 0x00
00001a3f: DUP1
00001a40: REVERT
00001a41: JUMPDEST
00001a42: POP
00001a43: GAS
00001a44: STATICCALL
00001a45: ISZERO
00001a46: DUP1
00001a47: ISZERO
00001a48: PUSH2 0x1a55
00001a4b: JUMPI
00001a4c: RETURNDATASIZE
00001a4d: PUSH1 0x00
00001a4f: DUP1
00001a50: RETURNDATACOPY
00001a51: RETURNDATASIZE
00001a52: PUSH1 0x00
00001a54: REVERT
00001a55: JUMPDEST
00001a56: POP
00001a57: POP
00001a58: POP
00001a59: POP
00001a5a: PUSH1 0x40
00001a5c: MLOAD
00001a5d: RETURNDATASIZE
00001a5e: PUSH1 0x20
00001a60: DUP2
00001a61: LT
00001a62: ISZERO
00001a63: PUSH2 0x1a6b
00001a66: JUMPI
00001a67: PUSH1 0x00
00001a69: DUP1
00001a6a: REVERT
00001a6b: JUMPDEST
00001a6c: DUP2
00001a6d: ADD
00001a6e: SWAP1
00001a6f: DUP1
00001a70: DUP1
00001a71: MLOAD
00001a72: SWAP1
00001a73: PUSH1 0x20
00001a75: ADD
00001a76: SWAP1
00001a77: SWAP3
00001a78: SWAP2
00001a79: SWAP1
00001a7a: POP
00001a7b: POP
00001a7c: POP
00001a7d: DUP2
00001a7e: GT
00001a7f: ISZERO
00001a80: PUSH2 0x1af1
00001a83: JUMPI
00001a84: PUSH1 0x40
00001a86: MLOAD
00001a87: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001aa8: DUP2
00001aa9: MSTORE
00001aaa: PUSH1 0x04
00001aac: ADD
00001aad: DUP1
00001aae: DUP1
00001aaf: PUSH1 0x20
00001ab1: ADD
00001ab2: DUP3
00001ab3: DUP2
00001ab4: SUB
00001ab5: DUP3
00001ab6: MSTORE
00001ab7: PUSH1 0x1e
00001ab9: DUP2
00001aba: MSTORE
00001abb: PUSH1 0x20
00001abd: ADD
00001abe: DUP1
00001abf: PUSH32 0x696e73756666696369656e742067617320746f6b656e2062616c616e63650000
00001ae0: DUP2
00001ae1: MSTORE
00001ae2: POP
00001ae3: PUSH1 0x20
00001ae5: ADD
00001ae6: SWAP2
00001ae7: POP
00001ae8: POP
00001ae9: PUSH1 0x40
00001aeb: MLOAD
00001aec: DUP1
00001aed: SWAP2
00001aee: SUB
00001aef: SWAP1
00001af0: REVERT
00001af1: JUMPDEST
00001af2: PUSH1 0x09
00001af4: PUSH1 0x00
00001af6: DUP2
00001af7: SLOAD
00001af8: DUP1
00001af9: SWAP3
00001afa: SWAP2
00001afb: SWAP1
00001afc: PUSH1 0x01
00001afe: ADD
00001aff: SWAP2
00001b00: SWAP1
00001b01: POP
00001b02: SSTORE
00001b03: POP
00001b04: PUSH1 0x09
00001b06: SLOAD
00001b07: PUSH32 0x2390012f9f3f55c6cd486205a2705f3b0632a0171e531c6ff2105237107d3ebc
00001b28: PUSH2 0x1b2f
00001b2b: PUSH2 0x21fa
00001b2e: JUMP
00001b2f: JUMPDEST
00001b30: DUP13
00001b31: PUSH1 0x00
00001b33: DUP14
00001b34: DUP14
00001b35: DUP8
00001b36: PUSH1 0x40
00001b38: MLOAD
00001b39: DUP1
00001b3a: DUP8
00001b3b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b50: AND
00001b51: DUP2
00001b52: MSTORE
00001b53: PUSH1 0x20
00001b55: ADD
00001b56: DUP7
00001b57: DUP2
00001b58: MSTORE
00001b59: PUSH1 0x20
00001b5b: ADD
00001b5c: DUP6
00001b5d: ISZERO
00001b5e: ISZERO
00001b5f: DUP2
00001b60: MSTORE
00001b61: PUSH1 0x20
00001b63: ADD
00001b64: DUP5
00001b65: DUP2
00001b66: MSTORE
00001b67: PUSH1 0x20
00001b69: ADD
00001b6a: DUP4
00001b6b: DUP2
00001b6c: MSTORE
00001b6d: PUSH1 0x20
00001b6f: ADD
00001b70: DUP3
00001b71: DUP2
00001b72: MSTORE
00001b73: PUSH1 0x20
00001b75: ADD
00001b76: SWAP7
00001b77: POP
00001b78: POP
00001b79: POP
00001b7a: POP
00001b7b: POP
00001b7c: POP
00001b7d: POP
00001b7e: PUSH1 0x40
00001b80: MLOAD
00001b81: DUP1
00001b82: SWAP2
00001b83: SUB
00001b84: SWAP1
00001b85: LOG2
00001b86: PUSH1 0x03
00001b88: PUSH1 0x00
00001b8a: DUP12
00001b8b: DUP2
00001b8c: MSTORE
00001b8d: PUSH1 0x20
00001b8f: ADD
00001b90: SWAP1
00001b91: DUP2
00001b92: MSTORE
00001b93: PUSH1 0x20
00001b95: ADD
00001b96: PUSH1 0x00
00001b98: KECCAK256
00001b99: PUSH1 0x00
00001b9b: SWAP1
00001b9c: SLOAD
00001b9d: SWAP1
00001b9e: PUSH2 0x0100
00001ba1: EXP
00001ba2: SWAP1
00001ba3: DIV
00001ba4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001bb9: AND
00001bba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001bcf: AND
00001bd0: PUSH4 0x23b872dd
00001bd5: PUSH2 0x1bdc
00001bd8: PUSH2 0x21fa
00001bdb: JUMP
00001bdc: JUMPDEST
00001bdd: ADDRESS
00001bde: DUP13
00001bdf: PUSH1 0x40
00001be1: MLOAD
00001be2: DUP5
00001be3: PUSH4 0xffffffff
00001be8: AND
00001be9: PUSH1 0xe0
00001beb: SHL
00001bec: DUP2
00001bed: MSTORE
00001bee: PUSH1 0x04
00001bf0: ADD
00001bf1: DUP1
00001bf2: DUP5
00001bf3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c08: AND
00001c09: DUP2
00001c0a: MSTORE
00001c0b: PUSH1 0x20
00001c0d: ADD
00001c0e: DUP4
00001c0f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c24: AND
00001c25: DUP2
00001c26: MSTORE
00001c27: PUSH1 0x20
00001c29: ADD
00001c2a: DUP3
00001c2b: DUP2
00001c2c: MSTORE
00001c2d: PUSH1 0x20
00001c2f: ADD
00001c30: SWAP4
00001c31: POP
00001c32: POP
00001c33: POP
00001c34: POP
00001c35: PUSH1 0x20
00001c37: PUSH1 0x40
00001c39: MLOAD
00001c3a: DUP1
00001c3b: DUP4
00001c3c: SUB
00001c3d: DUP2
00001c3e: PUSH1 0x00
00001c40: DUP8
00001c41: DUP1
00001c42: EXTCODESIZE
00001c43: ISZERO
00001c44: DUP1
00001c45: ISZERO
00001c46: PUSH2 0x1c4e
00001c49: JUMPI
00001c4a: PUSH1 0x00
00001c4c: DUP1
00001c4d: REVERT
00001c4e: JUMPDEST
00001c4f: POP
00001c50: GAS
00001c51: CALL
00001c52: ISZERO
00001c53: DUP1
00001c54: ISZERO
00001c55: PUSH2 0x1c62
00001c58: JUMPI
00001c59: RETURNDATASIZE
00001c5a: PUSH1 0x00
00001c5c: DUP1
00001c5d: RETURNDATACOPY
00001c5e: RETURNDATASIZE
00001c5f: PUSH1 0x00
00001c61: REVERT
00001c62: JUMPDEST
00001c63: POP
00001c64: POP
00001c65: POP
00001c66: POP
00001c67: PUSH1 0x40
00001c69: MLOAD
00001c6a: RETURNDATASIZE
00001c6b: PUSH1 0x20
00001c6d: DUP2
00001c6e: LT
00001c6f: ISZERO
00001c70: PUSH2 0x1c78
00001c73: JUMPI
00001c74: PUSH1 0x00
00001c76: DUP1
00001c77: REVERT
00001c78: JUMPDEST
00001c79: DUP2
00001c7a: ADD
00001c7b: SWAP1
00001c7c: DUP1
00001c7d: DUP1
00001c7e: MLOAD
00001c7f: SWAP1
00001c80: PUSH1 0x20
00001c82: ADD
00001c83: SWAP1
00001c84: SWAP3
00001c85: SWAP2
00001c86: SWAP1
00001c87: POP
00001c88: POP
00001c89: POP
00001c8a: POP
00001c8b: PUSH1 0x03
00001c8d: PUSH1 0x00
00001c8f: DUP12
00001c90: DUP2
00001c91: MSTORE
00001c92: PUSH1 0x20
00001c94: ADD
00001c95: SWAP1
00001c96: DUP2
00001c97: MSTORE
00001c98: PUSH1 0x20
00001c9a: ADD
00001c9b: PUSH1 0x00
00001c9d: KECCAK256
00001c9e: PUSH1 0x00
00001ca0: SWAP1
00001ca1: SLOAD
00001ca2: SWAP1
00001ca3: PUSH2 0x0100
00001ca6: EXP
00001ca7: SWAP1
00001ca8: DIV
00001ca9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001cbe: AND
00001cbf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001cd4: AND
00001cd5: PUSH4 0x42966c68
00001cda: DUP11
00001cdb: PUSH1 0x40
00001cdd: MLOAD
00001cde: DUP3
00001cdf: PUSH4 0xffffffff
00001ce4: AND
00001ce5: PUSH1 0xe0
00001ce7: SHL
00001ce8: DUP2
00001ce9: MSTORE
00001cea: PUSH1 0x04
00001cec: ADD
00001ced: DUP1
00001cee: DUP3
00001cef: DUP2
00001cf0: MSTORE
00001cf1: PUSH1 0x20
00001cf3: ADD
00001cf4: SWAP2
00001cf5: POP
00001cf6: POP
00001cf7: PUSH1 0x00
00001cf9: PUSH1 0x40
00001cfb: MLOAD
00001cfc: DUP1
00001cfd: DUP4
00001cfe: SUB
00001cff: DUP2
00001d00: PUSH1 0x00
00001d02: DUP8
00001d03: DUP1
00001d04: EXTCODESIZE
00001d05: ISZERO
00001d06: DUP1
00001d07: ISZERO
00001d08: PUSH2 0x1d10
00001d0b: JUMPI
00001d0c: PUSH1 0x00
00001d0e: DUP1
00001d0f: REVERT
00001d10: JUMPDEST
00001d11: POP
00001d12: GAS
00001d13: CALL
00001d14: ISZERO
00001d15: DUP1
00001d16: ISZERO
00001d17: PUSH2 0x1d24
00001d1a: JUMPI
00001d1b: RETURNDATASIZE
00001d1c: PUSH1 0x00
00001d1e: DUP1
00001d1f: RETURNDATACOPY
00001d20: RETURNDATASIZE
00001d21: PUSH1 0x00
00001d23: REVERT
00001d24: JUMPDEST
00001d25: POP
00001d26: POP
00001d27: POP
00001d28: POP
00001d29: PUSH1 0x02
00001d2b: PUSH1 0x00
00001d2d: SWAP1
00001d2e: SLOAD
00001d2f: SWAP1
00001d30: PUSH2 0x0100
00001d33: EXP
00001d34: SWAP1
00001d35: DIV
00001d36: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d4b: AND
00001d4c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d61: AND
00001d62: PUSH4 0x23b872dd
00001d67: PUSH2 0x1d6e
00001d6a: PUSH2 0x21fa
00001d6d: JUMP
00001d6e: JUMPDEST
00001d6f: PUSH1 0x05
00001d71: PUSH1 0x00
00001d73: SWAP1
00001d74: SLOAD
00001d75: SWAP1
00001d76: PUSH2 0x0100
00001d79: EXP
00001d7a: SWAP1
00001d7b: DIV
00001d7c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d91: AND
00001d92: DUP5
00001d93: PUSH1 0x40
00001d95: MLOAD
00001d96: DUP5
00001d97: PUSH4 0xffffffff
00001d9c: AND
00001d9d: PUSH1 0xe0
00001d9f: SHL
00001da0: DUP2
00001da1: MSTORE
00001da2: PUSH1 0x04
00001da4: ADD
00001da5: DUP1
00001da6: DUP5
00001da7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001dbc: AND
00001dbd: DUP2
00001dbe: MSTORE
00001dbf: PUSH1 0x20
00001dc1: ADD
00001dc2: DUP4
00001dc3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001dd8: AND
00001dd9: DUP2
00001dda: MSTORE
00001ddb: PUSH1 0x20
00001ddd: ADD
00001dde: DUP3
00001ddf: DUP2
00001de0: MSTORE
00001de1: PUSH1 0x20
00001de3: ADD
00001de4: SWAP4
00001de5: POP
00001de6: POP
00001de7: POP
00001de8: POP
00001de9: PUSH1 0x20
00001deb: PUSH1 0x40
00001ded: MLOAD
00001dee: DUP1
00001def: DUP4
00001df0: SUB
00001df1: DUP2
00001df2: PUSH1 0x00
00001df4: DUP8
00001df5: DUP1
00001df6: EXTCODESIZE
00001df7: ISZERO
00001df8: DUP1
00001df9: ISZERO
00001dfa: PUSH2 0x1e02
00001dfd: JUMPI
00001dfe: PUSH1 0x00
00001e00: DUP1
00001e01: REVERT
00001e02: JUMPDEST
00001e03: POP
00001e04: GAS
00001e05: CALL
00001e06: ISZERO
00001e07: DUP1
00001e08: ISZERO
00001e09: PUSH2 0x1e16
00001e0c: JUMPI
00001e0d: RETURNDATASIZE
00001e0e: PUSH1 0x00
00001e10: DUP1
00001e11: RETURNDATACOPY
00001e12: RETURNDATASIZE
00001e13: PUSH1 0x00
00001e15: REVERT
00001e16: JUMPDEST
00001e17: POP
00001e18: POP
00001e19: POP
00001e1a: POP
00001e1b: PUSH1 0x40
00001e1d: MLOAD
00001e1e: RETURNDATASIZE
00001e1f: PUSH1 0x20
00001e21: DUP2
00001e22: LT
00001e23: ISZERO
00001e24: PUSH2 0x1e2c
00001e27: JUMPI
00001e28: PUSH1 0x00
00001e2a: DUP1
00001e2b: REVERT
00001e2c: JUMPDEST
00001e2d: DUP2
00001e2e: ADD
00001e2f: SWAP1
00001e30: DUP1
00001e31: DUP1
00001e32: MLOAD
00001e33: SWAP1
00001e34: PUSH1 0x20
00001e36: ADD
00001e37: SWAP1
00001e38: SWAP3
00001e39: SWAP2
00001e3a: SWAP1
00001e3b: POP
00001e3c: POP
00001e3d: POP
00001e3e: POP
00001e3f: PUSH2 0x1e4f
00001e42: PUSH2 0x1e49
00001e45: PUSH2 0x21fa
00001e48: JUMP
00001e49: JUMPDEST
00001e4a: DUP10
00001e4b: PUSH2 0x2310
00001e4e: JUMP
00001e4f: JUMPDEST
00001e50: PUSH1 0x08
00001e52: SLOAD
00001e53: SELFBALANCE
00001e54: LT
00001e55: ISZERO
00001e56: PUSH2 0x1ea6
00001e59: JUMPI
00001e5a: PUSH2 0x1e6e
00001e5d: SELFBALANCE
00001e5e: PUSH1 0x08
00001e60: SLOAD
00001e61: PUSH2 0x2330
00001e64: SWAP1
00001e65: SWAP2
00001e66: SWAP1
00001e67: PUSH4 0xffffffff
00001e6c: AND
00001e6d: JUMP
00001e6e: JUMPDEST
00001e6f: PUSH32 0xb4be0029a34928dd22f31169dfc7e4783427bb61fd5fde3172275f17a42ff8db
00001e90: TIMESTAMP
00001e91: PUSH1 0x40
00001e93: MLOAD
00001e94: DUP1
00001e95: DUP3
00001e96: DUP2
00001e97: MSTORE
00001e98: PUSH1 0x20
00001e9a: ADD
00001e9b: SWAP2
00001e9c: POP
00001e9d: POP
00001e9e: PUSH1 0x40
00001ea0: MLOAD
00001ea1: DUP1
00001ea2: SWAP2
00001ea3: SUB
00001ea4: SWAP1
00001ea5: LOG2
00001ea6: JUMPDEST
00001ea7: POP
00001ea8: POP
00001ea9: POP
00001eaa: PUSH1 0x01
00001eac: PUSH1 0x00
00001eae: DUP2
00001eaf: SWAP1
00001eb0: SSTORE
00001eb1: POP
00001eb2: POP
00001eb3: POP
00001eb4: POP
00001eb5: POP
00001eb6: POP
00001eb7: POP
00001eb8: POP
00001eb9: JUMP
00001eba: JUMPDEST
00001ebb: PUSH2 0x1ec2
00001ebe: PUSH2 0x21fa
00001ec1: JUMP
00001ec2: JUMPDEST
00001ec3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ed8: AND
00001ed9: PUSH1 0x04
00001edb: PUSH1 0x00
00001edd: SWAP1
00001ede: SLOAD
00001edf: SWAP1
00001ee0: PUSH2 0x0100
00001ee3: EXP
00001ee4: SWAP1
00001ee5: DIV
00001ee6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001efb: AND
00001efc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f11: AND
00001f12: EQ
00001f13: PUSH2 0x1f84
00001f16: JUMPI
00001f17: PUSH1 0x40
00001f19: MLOAD
00001f1a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001f3b: DUP2
00001f3c: MSTORE
00001f3d: PUSH1 0x04
00001f3f: ADD
00001f40: DUP1
00001f41: DUP1
00001f42: PUSH1 0x20
00001f44: ADD
00001f45: DUP3
00001f46: DUP2
00001f47: SUB
00001f48: DUP3
00001f49: MSTORE
00001f4a: PUSH1 0x12
00001f4c: DUP2
00001f4d: MSTORE
00001f4e: PUSH1 0x20
00001f50: ADD
00001f51: DUP1
00001f52: PUSH32 0x556e617574686f72697a65642075736167650000000000000000000000000000
00001f73: DUP2
00001f74: MSTORE
00001f75: POP
00001f76: PUSH1 0x20
00001f78: ADD
00001f79: SWAP2
00001f7a: POP
00001f7b: POP
00001f7c: PUSH1 0x40
00001f7e: MLOAD
00001f7f: DUP1
00001f80: SWAP2
00001f81: SUB
00001f82: SWAP1
00001f83: REVERT
00001f84: JUMPDEST
00001f85: DUP1
00001f86: PUSH1 0x03
00001f88: PUSH1 0x00
00001f8a: DUP5
00001f8b: DUP2
00001f8c: MSTORE
00001f8d: PUSH1 0x20
00001f8f: ADD
00001f90: SWAP1
00001f91: DUP2
00001f92: MSTORE
00001f93: PUSH1 0x20
00001f95: ADD
00001f96: PUSH1 0x00
00001f98: KECCAK256
00001f99: PUSH1 0x00
00001f9b: PUSH2 0x0100
00001f9e: EXP
00001f9f: DUP2
00001fa0: SLOAD
00001fa1: DUP2
00001fa2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001fb7: MUL
00001fb8: NOT
00001fb9: AND
00001fba: SWAP1
00001fbb: DUP4
00001fbc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001fd1: AND
00001fd2: MUL
00001fd3: OR
00001fd4: SWAP1
00001fd5: SSTORE
00001fd6: POP
00001fd7: POP
00001fd8: POP
00001fd9: JUMP
00001fda: JUMPDEST
00001fdb: PUSH1 0x00
00001fdd: PUSH1 0x07
00001fdf: SLOAD
00001fe0: SWAP1
00001fe1: POP
00001fe2: SWAP1
00001fe3: JUMP
00001fe4: JUMPDEST
00001fe5: PUSH1 0x09
00001fe7: SLOAD
00001fe8: DUP2
00001fe9: JUMP
00001fea: JUMPDEST
00001feb: PUSH2 0x1ff2
00001fee: PUSH2 0x21fa
00001ff1: JUMP
00001ff2: JUMPDEST
00001ff3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002008: AND
00002009: PUSH1 0x01
0000200b: PUSH1 0x00
0000200d: SWAP1
0000200e: SLOAD
0000200f: SWAP1
00002010: PUSH2 0x0100
00002013: EXP
00002014: SWAP1
00002015: DIV
00002016: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000202b: AND
0000202c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002041: AND
00002042: EQ
00002043: PUSH2 0x20b4
00002046: JUMPI
00002047: PUSH1 0x40
00002049: MLOAD
0000204a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000206b: DUP2
0000206c: MSTORE
0000206d: PUSH1 0x04
0000206f: ADD
00002070: DUP1
00002071: DUP1
00002072: PUSH1 0x20
00002074: ADD
00002075: DUP3
00002076: DUP2
00002077: SUB
00002078: DUP3
00002079: MSTORE
0000207a: PUSH1 0x20
0000207c: DUP2
0000207d: MSTORE
0000207e: PUSH1 0x20
00002080: ADD
00002081: DUP1
00002082: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
000020a3: DUP2
000020a4: MSTORE
000020a5: POP
000020a6: PUSH1 0x20
000020a8: ADD
000020a9: SWAP2
000020aa: POP
000020ab: POP
000020ac: PUSH1 0x40
000020ae: MLOAD
000020af: DUP1
000020b0: SWAP2
000020b1: SUB
000020b2: SWAP1
000020b3: REVERT
000020b4: JUMPDEST
000020b5: PUSH1 0x00
000020b7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000020cc: AND
000020cd: DUP2
000020ce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000020e3: AND
000020e4: EQ
000020e5: ISZERO
000020e6: PUSH2 0x213a
000020e9: JUMPI
000020ea: PUSH1 0x40
000020ec: MLOAD
000020ed: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000210e: DUP2
0000210f: MSTORE
00002110: PUSH1 0x04
00002112: ADD
00002113: DUP1
00002114: DUP1
00002115: PUSH1 0x20
00002117: ADD
00002118: DUP3
00002119: DUP2
0000211a: SUB
0000211b: DUP3
0000211c: MSTORE
0000211d: PUSH1 0x26
0000211f: DUP2
00002120: MSTORE
00002121: PUSH1 0x20
00002123: ADD
00002124: DUP1
00002125: PUSH2 0x2575
00002128: PUSH1 0x26
0000212a: SWAP2
0000212b: CODECOPY
0000212c: PUSH1 0x40
0000212e: ADD
0000212f: SWAP2
00002130: POP
00002131: POP
00002132: PUSH1 0x40
00002134: MLOAD
00002135: DUP1
00002136: SWAP2
00002137: SUB
00002138: SWAP1
00002139: REVERT
0000213a: JUMPDEST
0000213b: DUP1
0000213c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002151: AND
00002152: PUSH1 0x01
00002154: PUSH1 0x00
00002156: SWAP1
00002157: SLOAD
00002158: SWAP1
00002159: PUSH2 0x0100
0000215c: EXP
0000215d: SWAP1
0000215e: DIV
0000215f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002174: AND
00002175: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000218a: AND
0000218b: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
000021ac: PUSH1 0x40
000021ae: MLOAD
000021af: PUSH1 0x40
000021b1: MLOAD
000021b2: DUP1
000021b3: SWAP2
000021b4: SUB
000021b5: SWAP1
000021b6: LOG3
000021b7: DUP1
000021b8: PUSH1 0x01
000021ba: PUSH1 0x00
000021bc: PUSH2 0x0100
000021bf: EXP
000021c0: DUP2
000021c1: SLOAD
000021c2: DUP2
000021c3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000021d8: MUL
000021d9: NOT
000021da: AND
000021db: SWAP1
000021dc: DUP4
000021dd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000021f2: AND
000021f3: MUL
000021f4: OR
000021f5: SWAP1
000021f6: SSTORE
000021f7: POP
000021f8: POP
000021f9: JUMP
000021fa: JUMPDEST
000021fb: PUSH1 0x00
000021fd: CALLER
000021fe: SWAP1
000021ff: POP
00002200: SWAP1
00002201: JUMP
00002202: JUMPDEST
00002203: PUSH1 0x00
00002205: DUP1
00002206: DUP3
00002207: DUP5
00002208: ADD
00002209: SWAP1
0000220a: POP
0000220b: DUP4
0000220c: DUP2
0000220d: LT
0000220e: ISZERO
0000220f: PUSH2 0x2280
00002212: JUMPI
00002213: PUSH1 0x40
00002215: MLOAD
00002216: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002237: DUP2
00002238: MSTORE
00002239: PUSH1 0x04
0000223b: ADD
0000223c: DUP1
0000223d: DUP1
0000223e: PUSH1 0x20
00002240: ADD
00002241: DUP3
00002242: DUP2
00002243: SUB
00002244: DUP3
00002245: MSTORE
00002246: PUSH1 0x1b
00002248: DUP2
00002249: MSTORE
0000224a: PUSH1 0x20
0000224c: ADD
0000224d: DUP1
0000224e: PUSH32 0x536166654d6174683a206164646974696f6e206f766572666c6f770000000000
0000226f: DUP2
00002270: MSTORE
00002271: POP
00002272: PUSH1 0x20
00002274: ADD
00002275: SWAP2
00002276: POP
00002277: POP
00002278: PUSH1 0x40
0000227a: MLOAD
0000227b: DUP1
0000227c: SWAP2
0000227d: SUB
0000227e: SWAP1
0000227f: REVERT
00002280: JUMPDEST
00002281: DUP1
00002282: SWAP2
00002283: POP
00002284: POP
00002285: SWAP3
00002286: SWAP2
00002287: POP
00002288: POP
00002289: JUMP
0000228a: JUMPDEST
0000228b: PUSH1 0x00
0000228d: DUP1
0000228e: DUP4
0000228f: EQ
00002290: ISZERO
00002291: PUSH2 0x229d
00002294: JUMPI
00002295: PUSH1 0x00
00002297: SWAP1
00002298: POP
00002299: PUSH2 0x230a
0000229c: JUMP
0000229d: JUMPDEST
0000229e: PUSH1 0x00
000022a0: DUP3
000022a1: DUP5
000022a2: MUL
000022a3: SWAP1
000022a4: POP
000022a5: DUP3
000022a6: DUP5
000022a7: DUP3
000022a8: DUP2
000022a9: PUSH2 0x22ae
000022ac: JUMPI
000022ad: INVALID
000022ae: JUMPDEST
000022af: DIV
000022b0: EQ
000022b1: PUSH2 0x2305
000022b4: JUMPI
000022b5: PUSH1 0x40
000022b7: MLOAD
000022b8: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000022d9: DUP2
000022da: MSTORE
000022db: PUSH1 0x04
000022dd: ADD
000022de: DUP1
000022df: DUP1
000022e0: PUSH1 0x20
000022e2: ADD
000022e3: DUP3
000022e4: DUP2
000022e5: SUB
000022e6: DUP3
000022e7: MSTORE
000022e8: PUSH1 0x21
000022ea: DUP2
000022eb: MSTORE
000022ec: PUSH1 0x20
000022ee: ADD
000022ef: DUP1
000022f0: PUSH2 0x25f8
000022f3: PUSH1 0x21
000022f5: SWAP2
000022f6: CODECOPY
000022f7: PUSH1 0x40
000022f9: ADD
000022fa: SWAP2
000022fb: POP
000022fc: POP
000022fd: PUSH1 0x40
000022ff: MLOAD
00002300: DUP1
00002301: SWAP2
00002302: SUB
00002303: SWAP1
00002304: REVERT
00002305: JUMPDEST
00002306: DUP1
00002307: SWAP2
00002308: POP
00002309: POP
0000230a: JUMPDEST
0000230b: SWAP3
0000230c: SWAP2
0000230d: POP
0000230e: POP
0000230f: JUMP
00002310: JUMPDEST
00002311: PUSH1 0x00
00002313: SELFBALANCE
00002314: SWAP1
00002315: POP
00002316: DUP1
00002317: DUP3
00002318: GT
00002319: ISZERO
0000231a: PUSH2 0x2321
0000231d: JUMPI
0000231e: DUP1
0000231f: SWAP2
00002320: POP
00002321: JUMPDEST
00002322: PUSH2 0x232b
00002325: DUP4
00002326: DUP4
00002327: PUSH2 0x237a
0000232a: JUMP
0000232b: JUMPDEST
0000232c: POP
0000232d: POP
0000232e: POP
0000232f: JUMP
00002330: JUMPDEST
00002331: PUSH1 0x00
00002333: PUSH2 0x2372
00002336: DUP4
00002337: DUP4
00002338: PUSH1 0x40
0000233a: MLOAD
0000233b: DUP1
0000233c: PUSH1 0x40
0000233e: ADD
0000233f: PUSH1 0x40
00002341: MSTORE
00002342: DUP1
00002343: PUSH1 0x1e
00002345: DUP2
00002346: MSTORE
00002347: PUSH1 0x20
00002349: ADD
0000234a: PUSH32 0x536166654d6174683a207375627472616374696f6e206f766572666c6f770000
0000236b: DUP2
0000236c: MSTORE
0000236d: POP
0000236e: PUSH2 0x24b4
00002371: JUMP
00002372: JUMPDEST
00002373: SWAP1
00002374: POP
00002375: SWAP3
00002376: SWAP2
00002377: POP
00002378: POP
00002379: JUMP
0000237a: JUMPDEST
0000237b: DUP1
0000237c: SELFBALANCE
0000237d: LT
0000237e: ISZERO
0000237f: PUSH2 0x23f0
00002382: JUMPI
00002383: PUSH1 0x40
00002385: MLOAD
00002386: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000023a7: DUP2
000023a8: MSTORE
000023a9: PUSH1 0x04
000023ab: ADD
000023ac: DUP1
000023ad: DUP1
000023ae: PUSH1 0x20
000023b0: ADD
000023b1: DUP3
000023b2: DUP2
000023b3: SUB
000023b4: DUP3
000023b5: MSTORE
000023b6: PUSH1 0x1d
000023b8: DUP2
000023b9: MSTORE
000023ba: PUSH1 0x20
000023bc: ADD
000023bd: DUP1
000023be: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e6365000000
000023df: DUP2
000023e0: MSTORE
000023e1: POP
000023e2: PUSH1 0x20
000023e4: ADD
000023e5: SWAP2
000023e6: POP
000023e7: POP
000023e8: PUSH1 0x40
000023ea: MLOAD
000023eb: DUP1
000023ec: SWAP2
000023ed: SUB
000023ee: SWAP1
000023ef: REVERT
000023f0: JUMPDEST
000023f1: PUSH1 0x00
000023f3: DUP3
000023f4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002409: AND
0000240a: DUP3
0000240b: PUSH1 0x40
0000240d: MLOAD
0000240e: DUP1
0000240f: PUSH1 0x00
00002411: ADD
00002412: SWAP1
00002413: POP
00002414: PUSH1 0x00
00002416: PUSH1 0x40
00002418: MLOAD
00002419: DUP1
0000241a: DUP4
0000241b: SUB
0000241c: DUP2
0000241d: DUP6
0000241e: DUP8
0000241f: GAS
00002420: CALL
00002421: SWAP3
00002422: POP
00002423: POP
00002424: POP
00002425: RETURNDATASIZE
00002426: DUP1
00002427: PUSH1 0x00
00002429: DUP2
0000242a: EQ
0000242b: PUSH2 0x2450
0000242e: JUMPI
0000242f: PUSH1 0x40
00002431: MLOAD
00002432: SWAP2
00002433: POP
00002434: PUSH1 0x1f
00002436: NOT
00002437: PUSH1 0x3f
00002439: RETURNDATASIZE
0000243a: ADD
0000243b: AND
0000243c: DUP3
0000243d: ADD
0000243e: PUSH1 0x40
00002440: MSTORE
00002441: RETURNDATASIZE
00002442: DUP3
00002443: MSTORE
00002444: RETURNDATASIZE
00002445: PUSH1 0x00
00002447: PUSH1 0x20
00002449: DUP5
0000244a: ADD
0000244b: RETURNDATACOPY
0000244c: PUSH2 0x2455
0000244f: JUMP
00002450: JUMPDEST
00002451: PUSH1 0x60
00002453: SWAP2
00002454: POP
00002455: JUMPDEST
00002456: POP
00002457: POP
00002458: SWAP1
00002459: POP
0000245a: DUP1
0000245b: PUSH2 0x24af
0000245e: JUMPI
0000245f: PUSH1 0x40
00002461: MLOAD
00002462: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002483: DUP2
00002484: MSTORE
00002485: PUSH1 0x04
00002487: ADD
00002488: DUP1
00002489: DUP1
0000248a: PUSH1 0x20
0000248c: ADD
0000248d: DUP3
0000248e: DUP2
0000248f: SUB
00002490: DUP3
00002491: MSTORE
00002492: PUSH1 0x3a
00002494: DUP2
00002495: MSTORE
00002496: PUSH1 0x20
00002498: ADD
00002499: DUP1
0000249a: PUSH2 0x259b
0000249d: PUSH1 0x3a
0000249f: SWAP2
000024a0: CODECOPY
000024a1: PUSH1 0x40
000024a3: ADD
000024a4: SWAP2
000024a5: POP
000024a6: POP
000024a7: PUSH1 0x40
000024a9: MLOAD
000024aa: DUP1
000024ab: SWAP2
000024ac: SUB
000024ad: SWAP1
000024ae: REVERT
000024af: JUMPDEST
000024b0: POP
000024b1: POP
000024b2: POP
000024b3: JUMP
000024b4: JUMPDEST
000024b5: PUSH1 0x00
000024b7: DUP4
000024b8: DUP4
000024b9: GT
000024ba: ISZERO
000024bb: DUP3
000024bc: SWAP1
000024bd: PUSH2 0x2561
000024c0: JUMPI
000024c1: PUSH1 0x40
000024c3: MLOAD
000024c4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000024e5: DUP2
000024e6: MSTORE
000024e7: PUSH1 0x04
000024e9: ADD
000024ea: DUP1
000024eb: DUP1
000024ec: PUSH1 0x20
000024ee: ADD
000024ef: DUP3
000024f0: DUP2
000024f1: SUB
000024f2: DUP3
000024f3: MSTORE
000024f4: DUP4
000024f5: DUP2
000024f6: DUP2
000024f7: MLOAD
000024f8: DUP2
000024f9: MSTORE
000024fa: PUSH1 0x20
000024fc: ADD
000024fd: SWAP2
000024fe: POP
000024ff: DUP1
00002500: MLOAD
00002501: SWAP1
00002502: PUSH1 0x20
00002504: ADD
00002505: SWAP1
00002506: DUP1
00002507: DUP4
00002508: DUP4
00002509: PUSH1 0x00
0000250b: JUMPDEST
0000250c: DUP4
0000250d: DUP2
0000250e: LT
0000250f: ISZERO
00002510: PUSH2 0x2526
00002513: JUMPI
00002514: DUP1
00002515: DUP3
00002516: ADD
00002517: MLOAD
00002518: DUP2
00002519: DUP5
0000251a: ADD
0000251b: MSTORE
0000251c: PUSH1 0x20
0000251e: DUP2
0000251f: ADD
00002520: SWAP1
00002521: POP
00002522: PUSH2 0x250b
00002525: JUMP
00002526: JUMPDEST
00002527: POP
00002528: POP
00002529: POP
0000252a: POP
0000252b: SWAP1
0000252c: POP
0000252d: SWAP1
0000252e: DUP2
0000252f: ADD
00002530: SWAP1
00002531: PUSH1 0x1f
00002533: AND
00002534: DUP1
00002535: ISZERO
00002536: PUSH2 0x2553
00002539: JUMPI
0000253a: DUP1
0000253b: DUP3
0000253c: SUB
0000253d: DUP1
0000253e: MLOAD
0000253f: PUSH1 0x01
00002541: DUP4
00002542: PUSH1 0x20
00002544: SUB
00002545: PUSH2 0x0100
00002548: EXP
00002549: SUB
0000254a: NOT
0000254b: AND
0000254c: DUP2
0000254d: MSTORE
0000254e: PUSH1 0x20
00002550: ADD
00002551: SWAP2
00002552: POP
00002553: JUMPDEST
00002554: POP
00002555: SWAP3
00002556: POP
00002557: POP
00002558: POP
00002559: PUSH1 0x40
0000255b: MLOAD
0000255c: DUP1
0000255d: SWAP2
0000255e: SUB
0000255f: SWAP1
00002560: REVERT
00002561: JUMPDEST
00002562: POP
00002563: PUSH1 0x00
00002565: DUP4
00002566: DUP6
00002567: SUB
00002568: SWAP1
00002569: POP
0000256a: DUP1
0000256b: SWAP2
0000256c: POP
0000256d: POP
0000256e: SWAP4
0000256f: SWAP3
00002570: POP
00002571: POP
00002572: POP
00002573: JUMP
00002574: INVALID
00002575: UNKNOWN(0x4F)
00002576: PUSH24 0x6e61626c653a206e6577206f776e65722069732074686520
0000258f: PUSH27 0x65726f2061646472657373416464726573733a20756e61626c6520
000025ab: PUSH21 0x6f2073656e642076616c75652c2072656369706965
000025c1: PUSH15 0x74206d617920686176652072657665
000025d1: PUSH19 0x746564696e73756666696369656e742066756e
000025e5: PUSH5 0x732c207472
000025eb: PUSH26 0x20616761696e206c61746572536166654d6174683a206d756c74
00002606: PUSH10 0x706c69636174696f6e20
00002611: PUSH16 0x766572666c6f77a26469706673582212
00002622: KECCAK256
00002623: PUSH25 0x840b6f2094a78d457d7edef1e52a0cf2b80efdaf9d4aa82a3c
0000263d: UNKNOWN(0xCC)
0000263e: STOP
0000263f: UNKNOWN(0x0D)
00002640: UNKNOWN(0xF9)
00002641: UNKNOWN(0x28)
00002642: UNKNOWN(0xD2)
00002643: PUSH5 0x736f6c6343
00002649: STOP
0000264a: SMOD
0000264b: SUB
0000264c: STOP
0000264d: 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: 0xd01bb1137edddddb2d10a8c577239464a2b18c03462c85b36aa18e9fd138b6ad
call_targets: 0x15c5f0f18feb8a9f5808ccd2fc4ac279d9d89bb8
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xd01bb1137edddddb2d10a8c577239464a2b18c03462c85b36aa18e9fd138b6ad",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x15c5f0f18feb8a9f5808ccd2fc4ac279d9d89bb8"
    ],
    "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": "0xb5f6b3ef",
            "selector": "0xb5f6b3ef",
            "calldata_variants": [
                "0xb5f6b3ef",
                "0xb5f6b3ef0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdc76f98a",
            "selector": "0xdc76f98a",
            "calldata_variants": [
                "0xdc76f98a",
                "0xdc76f98a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe275c997",
            "selector": "0xe275c997",
            "calldata_variants": [
                "0xe275c997",
                "0xe275c9970000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x715018a6",
            "selector": "0x715018a6",
            "calldata_variants": [
                "0x715018a6",
                "0x715018a60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x84e5eed0",
            "selector": "0x84e5eed0",
            "calldata_variants": [
                "0x84e5eed0",
                "0x84e5eed00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9cef4c70",
            "selector": "0x9cef4c70",
            "calldata_variants": [
                "0x9cef4c70",
                "0x9cef4c700000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3149,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3391,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7249,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 6,
    "guards_detected": [],
    "untrusted_call_count": 6
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0xd01bb1137edddddb2d10a8c577239464a2b18c03462c85b36aa18e9fd138b6ad
call_targets: 0x15c5f0f18feb8a9f5808ccd2fc4ac279d9d89bb8
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xd01bb1137edddddb2d10a8c577239464a2b18c03462c85b36aa18e9fd138b6ad",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x15c5f0f18feb8a9f5808ccd2fc4ac279d9d89bb8"
    ],
    "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": "0xb5f6b3ef",
            "selector": "0xb5f6b3ef",
            "calldata_variants": [
                "0xb5f6b3ef",
                "0xb5f6b3ef0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdc76f98a",
            "selector": "0xdc76f98a",
            "calldata_variants": [
                "0xdc76f98a",
                "0xdc76f98a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe275c997",
            "selector": "0xe275c997",
            "calldata_variants": [
                "0xe275c997",
                "0xe275c9970000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x715018a6",
            "selector": "0x715018a6",
            "calldata_variants": [
                "0x715018a6",
                "0x715018a60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x84e5eed0",
            "selector": "0x84e5eed0",
            "calldata_variants": [
                "0x84e5eed0",
                "0x84e5eed00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9cef4c70",
            "selector": "0x9cef4c70",
            "calldata_variants": [
                "0x9cef4c70",
                "0x9cef4c700000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3149,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3391,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7249,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 6,
    "guards_detected": []
}
medium auth codex Order signatures are replayable and lack domain separation/nonce protection 75 no
view
evidence_json
{
    "evidence": "buy/sell compute `hash = keccak256(abi.encode(...))` and accept any matching ecrecover signer without nonce or domain separation.",
    "locations": [
        "WStock3.sol:41",
        "WStock3.sol:44",
        "WStock3.sol:45",
        "WStock3.sol:64",
        "WStock3.sol:68",
        "WStock3.sol:69"
    ],
    "recommendation": "Include a per-user nonce (or order id) in the signed data and track it as used; bind signatures to this contract and chainId; and validate signatures using EIP-712 or at least toEthSignedMessageHash plus strict v/s checks to prevent malleability.",
    "exploit_scenario": "A trader obtains a valid signed order from authAddress and can call buy/sell repeatedly with the same signature until it expires (or even long after if timestamp is in the future), executing the same price multiple times. This allows reuse of stale prices and can drain ETH reserves or mint tokens at an unintended rate. Because the signed hash omits contract address/chainId and uses raw ecrecover without an EIP-191/EIP-712 prefix or nonce, signatures can also be replayed across contracts or chains that share the same authAddress."
}
low other codex ERC20 transfer/transferFrom return values are ignored, enabling fee bypass or silent token delivery failure 65 no
view
evidence_json
{
    "evidence": "Transfers are invoked without checking the returned boolean.",
    "locations": [
        "WStock3.sol:54",
        "WStock3.sol:55",
        "WStock3.sol:79",
        "WStock3.sol:81",
        "PrivateSale.sol:31"
    ],
    "recommendation": "Use SafeERC20 (safeTransfer/safeTransferFrom) or explicitly require the returned boolean to be true for all ERC20 transfers.",
    "exploit_scenario": "If GAS_TOKEN or a stock token follows the ERC20 variant that returns false instead of reverting (e.g., insufficient allowance), WStock3 continues executing after a failed transferFrom. A trader can trade without paying the GAS_TOKEN fee (or without transferring stock tokens) if transferFrom returns false rather than reverting. In PrivateSale, a failed transferFrom would still forward ETH to the holding address, causing buyers to pay but receive no tokens."
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 8
}