019bab3b-aa89-730a-8b3c-b49db1fb7914
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 38338 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 38339 | proxy.resolve | complete | 1 / 3 | 3 months ago |
| 38340 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 38341 | analysis.bundle | complete | 1 / 3 | 3 months ago |
| 38342 | capability.graph | complete | 1 / 3 | 3 months ago |
| 38343 | detector.run | complete | 1 / 3 | 3 months ago |
| 38344 | validation.fork | complete | 1 / 3 | 3 months ago |
| 38953 | report.consolidate | complete | 1 / 6 | 3 months ago |
| 38954 | tool.slither | failed | 2 / 2 | 3 months ago |
{
"status": "not_proxy"
}
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-r6zlt0eh)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-r6zlt0eh)
'forge' returned non-zero exit code 1
Compiling 7 files with Solc 0.8.0
stdout: Solc 0.8.0 finished in 18.72ms
Error: Compiler run failed:
stderr: Error (2314): Expected ';' but got '('
stderr: --> contracts/Auth.sol:14:20:
stderr: |
stderr: 14 | error OnlyOwner();
stderr: | ^
stderr:
stderr: Error (2314): Expected ';' but got '('
stderr: --> contracts/SushiMaker.sol:29:64:
stderr: |
stderr: 29 | if (amountOut < minOutAmount) revert SlippageProtection();
stderr: | ^
stderr:
stderr: Error (2314): Expected ';' but got '('
stderr: --> contracts/Unwindooor.sol:13:29:
stderr: |
stderr: 13 | error SlippageProtection();
stderr: | ^
stderr:
stderr: Error (2314): Expected ';' but got '('
stderr: --> contracts/WethMaker.sol:40:114:
stderr: |
stderr: 40 | if (_swap(tokenIn, outToken, amountsIn[i], address(this)) < minimumOuts[i]) revert SlippageProtection();
stderr: | ^
Traceback (most recent call last):
File "/var/www/tripwire/.venv/bin/slither", line 10, in <module>
sys.exit(main())
~~~~^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 776, in main
main_impl(all_detector_classes=detectors, all_printer_classes=printers)
~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 882, in main_impl
) = process_all(filename, args, detector_classes, printer_classes)
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 96, in process_all
compilations = compile_all(target, **vars(args))
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 722, in compile_all
compilations.append(CryticCompile(target, **kwargs))
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 211, in __init__
self._compile(**kwargs)
~~~~~~~~~~~~~^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 633, in _compile
self._platform.compile(self, **kwargs)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/foundry.py", line 102, in compile
hardhat_like_parsing(
~~~~~~~~~~~~~~~~~~~~^
crytic_compile, str(self._target), build_directory, str(self._project_root)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/hardhat.py", line 52, in hardhat_like_parsing
raise InvalidCompilation(txt)
crytic_compile.platform.exceptions.InvalidCompilation: Compilation failed. Can you run build command?
/tmp/slither-r6zlt0eh/out/build-info is not a directory.
{"no_findings":false,"summary":"Found low-severity issues where external call results are ignored, which can silently fail and mislead operations.","findings":[{"severity":"low","category":"other","title":"Unchecked ERC20 transfers can silently fail","exploit_scenario":"If `sushi` or an LP token returns `false` instead of reverting (e.g., paused/blacklisted or non‑standard token), the transfer will be treated as successful and the function emits events or proceeds, leaving funds in the contract and potentially breaking operational assumptions.","recommendation":"Use `SafeERC20` or explicitly check the return value for `transfer` calls. Consider routing these through the existing `_safeTransfer` helper or adding a `_safeTransferFrom`/`_safeTransfer` usage for all token transfers.","evidence":"`SushiMaker.sweep` calls `IERC20(sushi).transfer(...)` without checking the return value; `Unwindooor` uses `pair.transfer(...)` without checking the return value in `unwindPairs`/`burnPairs`.","locations":["contracts/SushiMaker.sol","contracts/Unwindooor.sol"]},{"severity":"info","category":"other","title":"wrapEth ignores WETH deposit failure","exploit_scenario":"If `weth` is misconfigured or the deposit call reverts, `wrapEth` will not revert and the ETH balance remains unwrapped while the caller assumes it succeeded, which can lead to stuck ETH or incorrect operational flow.","recommendation":"Check the `call` success and revert on failure, or call a typed `IWETH.deposit()` interface that reverts on failure.","evidence":"`wrapEth` uses `weth.call{value: address(this).balance}(\"\")` and ignores the return value.","locations":["contracts/SushiMaker.sol"]}]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-zbl_zh1i
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bab61-aab2-77b3-9ba2-d39792cbd91f
--------
user
You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
Scope rules:
- You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party Solidity sources in this workspace.
- Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
- If there are only dependency files and no first-party sources, set no_findings=true and explain in summary.
Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
Output constraints (IMPORTANT):
- severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
- category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
Keep summary short and concrete.
mcp startup: no servers
thinking
**Reading AUDIT_BUNDLE file**
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-zbl_zh1i succeeded in 8ms:
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: contracts/Auth.sol
================================================================================
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity >=0.8.0;
abstract contract Auth {
event SetOwner(address indexed owner);
event SetTrusted(address indexed user, bool isTrusted);
address public owner;
mapping(address => bool) public trusted;
error OnlyOwner();
thinking
**Performing detailed security audit**
I'll carefully analyze these contracts for reentrancy, access controls, unchecked returns, and other vulnerabilities, noting potential risks like unchecked ERC20 transfers, use of hardcoded init code hashes, and open wrapEth calls that might impact expected ETH/WETH balances. There are mostly low-severity issues around unchecked return values and operational risks rather than direct exploits, but I want to capture all nuances to be thorough.
thinking
**Verifying token transfer and access handling**
I’m examining token transfer logic around keeping tokens during unwinding and confirming it correctly swaps and holds desired tokens based on address ordering. I also notice unchecked ERC20 transfers in sweep and pair.transfer calls, plus wrapEth uses low-level calls ignoring success, which could cause silent failures or operational quirks but aren’t immediately exploitable. Overall, these are mostly low-impact but worth flagging for robustness.
thinking
**Documenting unchecked token and call failures**
I’m preparing two findings: one low-severity about unchecked ERC20 transfer returns in sweep and LP token burns that could cause silent failures and operational issues; another lower-severity on wrapEth ignoring WETH deposit call success, risking ETH stuck without revert or notice. Both affect reliability more than direct exploits but should be addressed for robustness.
codex
{"no_findings":false,"summary":"Found low-severity issues where external call results are ignored, which can silently fail and mislead operations.","findings":[{"severity":"low","category":"other","title":"Unchecked ERC20 transfers can silently fail","exploit_scenario":"If `sushi` or an LP token returns `false` instead of reverting (e.g., paused/blacklisted or non‑standard token), the transfer will be treated as successful and the function emits events or proceeds, leaving funds in the contract and potentially breaking operational assumptions.","recommendation":"Use `SafeERC20` or explicitly check the return value for `transfer` calls. Consider routing these through the existing `_safeTransfer` helper or adding a `_safeTransferFrom`/`_safeTransfer` usage for all token transfers.","evidence":"`SushiMaker.sweep` calls `IERC20(sushi).transfer(...)` without checking the return value; `Unwindooor` uses `pair.transfer(...)` without checking the return value in `unwindPairs`/`burnPairs`.","locations":["contracts/SushiMaker.sol","contracts/Unwindooor.sol"]},{"severity":"info","category":"other","title":"wrapEth ignores WETH deposit failure","exploit_scenario":"If `weth` is misconfigured or the deposit call reverts, `wrapEth` will not revert and the ETH balance remains unwrapped while the caller assumes it succeeded, which can lead to stuck ETH or incorrect operational flow.","recommendation":"Check the `call` success and revert on failure, or call a typed `IWETH.deposit()` interface that reverts on failure.","evidence":"`wrapEth` uses `weth.call{value: address(this).balance}(\"\")` and ignores the return value.","locations":["contracts/SushiMaker.sol"]}]}
tokens used
15,518
{
"codex": {
"ran_at": "2026-01-11T04:50:07.462104+00:00",
"returncode": 0
},
"project": {
"mode": "source",
"file_count": 7,
"import_count": 6,
"first_party_contracts_count": 7
},
"summary": "Found low-severity issues where external call results are ignored, which can silently fail and mislead operations.",
"raw_final": {
"summary": "Found low-severity issues where external call results are ignored, which can silently fail and mislead operations.",
"findings": [
{
"title": "Unchecked ERC20 transfers can silently fail",
"category": "other",
"evidence": "`SushiMaker.sweep` calls `IERC20(sushi).transfer(...)` without checking the return value; `Unwindooor` uses `pair.transfer(...)` without checking the return value in `unwindPairs`/`burnPairs`.",
"severity": "low",
"locations": [
"contracts/SushiMaker.sol",
"contracts/Unwindooor.sol"
],
"recommendation": "Use `SafeERC20` or explicitly check the return value for `transfer` calls. Consider routing these through the existing `_safeTransfer` helper or adding a `_safeTransferFrom`/`_safeTransfer` usage for all token transfers.",
"exploit_scenario": "If `sushi` or an LP token returns `false` instead of reverting (e.g., paused/blacklisted or non\u2011standard token), the transfer will be treated as successful and the function emits events or proceeds, leaving funds in the contract and potentially breaking operational assumptions."
},
{
"title": "wrapEth ignores WETH deposit failure",
"category": "other",
"evidence": "`wrapEth` uses `weth.call{value: address(this).balance}(\"\")` and ignores the return value.",
"severity": "info",
"locations": [
"contracts/SushiMaker.sol"
],
"recommendation": "Check the `call` success and revert on failure, or call a typed `IWETH.deposit()` interface that reverts on failure.",
"exploit_scenario": "If `weth` is misconfigured or the deposit call reverts, `wrapEth` will not revert and the ETH balance remains unwrapped while the caller assumes it succeeded, which can lead to stuck ETH or incorrect operational flow."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x012d 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x9d22ae8c 00000019: GT 0000001a: PUSH2 0x00a5 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0xc45a0155 00000024: GT 00000025: PUSH2 0x0074 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xd2984608 0000002f: GT 00000030: PUSH2 0x0059 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xd2984608 0000003a: EQ 0000003b: PUSH2 0x03d4 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xd9caed12 00000045: EQ 00000046: PUSH2 0x0408 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xf32a12ac 00000050: EQ 00000051: PUSH2 0x0428 00000054: JUMPI 00000055: PUSH1 0x00 00000057: DUP1 00000058: REVERT 00000059: JUMPDEST 0000005a: DUP1 0000005b: PUSH4 0xc45a0155 00000060: EQ 00000061: PUSH2 0x035d 00000064: JUMPI 00000065: DUP1 00000066: PUSH4 0xced67f0c 0000006b: EQ 0000006c: PUSH2 0x0391 0000006f: JUMPI 00000070: PUSH1 0x00 00000072: DUP1 00000073: REVERT 00000074: JUMPDEST 00000075: DUP1 00000076: PUSH4 0x9d22ae8c 0000007b: EQ 0000007c: PUSH2 0x02e8 0000007f: JUMPI 00000080: DUP1 00000081: PUSH4 0x9dd8a81c 00000086: EQ 00000087: PUSH2 0x0308 0000008a: JUMPI 0000008b: DUP1 0000008c: PUSH4 0xaa60e733 00000091: EQ 00000092: PUSH2 0x0328 00000095: JUMPI 00000096: DUP1 00000097: PUSH4 0xb081b4eb 0000009c: EQ 0000009d: PUSH2 0x0348 000000a0: JUMPI 000000a1: PUSH1 0x00 000000a3: DUP1 000000a4: REVERT 000000a5: JUMPDEST 000000a6: DUP1 000000a7: PUSH4 0x3fc8cef3 000000ac: GT 000000ad: PUSH2 0x00fc 000000b0: JUMPI 000000b1: DUP1 000000b2: PUSH4 0x6e9821c2 000000b7: GT 000000b8: PUSH2 0x00e1 000000bb: JUMPI 000000bc: DUP1 000000bd: PUSH4 0x6e9821c2 000000c2: EQ 000000c3: PUSH2 0x025b 000000c6: JUMPI 000000c7: DUP1 000000c8: PUSH4 0x8da5cb5b 000000cd: EQ 000000ce: PUSH2 0x029b 000000d1: JUMPI 000000d2: DUP1 000000d3: PUSH4 0x8e9be9f4 000000d8: EQ 000000d9: PUSH2 0x02c8 000000dc: JUMPI 000000dd: PUSH1 0x00 000000df: DUP1 000000e0: REVERT 000000e1: JUMPDEST 000000e2: DUP1 000000e3: PUSH4 0x3fc8cef3 000000e8: EQ 000000e9: PUSH2 0x0207 000000ec: JUMPI 000000ed: DUP1 000000ee: PUSH4 0x54a0af17 000000f3: EQ 000000f4: PUSH2 0x023b 000000f7: JUMPI 000000f8: PUSH1 0x00 000000fa: DUP1 000000fb: REVERT 000000fc: JUMPDEST 000000fd: DUP1 000000fe: PUSH4 0x0a087903 00000103: EQ 00000104: PUSH2 0x0139 00000107: JUMPI 00000108: DUP1 00000109: PUSH4 0x13af4035 0000010e: EQ 0000010f: PUSH2 0x0197 00000112: JUMPI 00000113: DUP1 00000114: PUSH4 0x225bf435 00000119: EQ 0000011a: PUSH2 0x01b9 0000011d: JUMPI 0000011e: DUP1 0000011f: PUSH4 0x248091c0 00000124: EQ 00000125: PUSH2 0x01e7 00000128: JUMPI 00000129: PUSH1 0x00 0000012b: DUP1 0000012c: REVERT 0000012d: JUMPDEST 0000012e: CALLDATASIZE 0000012f: PUSH2 0x0134 00000132: JUMPI 00000133: STOP 00000134: JUMPDEST 00000135: PUSH1 0x00 00000137: DUP1 00000138: REVERT 00000139: JUMPDEST 0000013a: CALLVALUE 0000013b: DUP1 0000013c: ISZERO 0000013d: PUSH2 0x0145 00000140: JUMPI 00000141: PUSH1 0x00 00000143: DUP1 00000144: REVERT 00000145: JUMPDEST 00000146: POP 00000147: PUSH2 0x016d 0000014a: PUSH32 0x0000000000000000000000006b3595068778dd592e39a122f4f5a5cf09c90fe2 0000016b: DUP2 0000016c: JUMP 0000016d: JUMPDEST 0000016e: PUSH1 0x40 00000170: MLOAD 00000171: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000186: SWAP1 00000187: SWAP2 00000188: AND 00000189: DUP2 0000018a: MSTORE 0000018b: PUSH1 0x20 0000018d: ADD 0000018e: JUMPDEST 0000018f: PUSH1 0x40 00000191: MLOAD 00000192: DUP1 00000193: SWAP2 00000194: SUB 00000195: SWAP1 00000196: RETURN 00000197: JUMPDEST 00000198: CALLVALUE 00000199: DUP1 0000019a: ISZERO 0000019b: PUSH2 0x01a3 0000019e: JUMPI 0000019f: PUSH1 0x00 000001a1: DUP1 000001a2: REVERT 000001a3: JUMPDEST 000001a4: POP 000001a5: PUSH2 0x01b7 000001a8: PUSH2 0x01b2 000001ab: CALLDATASIZE 000001ac: PUSH1 0x04 000001ae: PUSH2 0x19d4 000001b1: JUMP 000001b2: JUMPDEST 000001b3: PUSH2 0x0448 000001b6: JUMP 000001b7: JUMPDEST 000001b8: STOP 000001b9: JUMPDEST 000001ba: CALLVALUE 000001bb: DUP1 000001bc: ISZERO 000001bd: PUSH2 0x01c5 000001c0: JUMPI 000001c1: PUSH1 0x00 000001c3: DUP1 000001c4: REVERT 000001c5: JUMPDEST 000001c6: POP 000001c7: PUSH2 0x01d9 000001ca: PUSH2 0x01d4 000001cd: CALLDATASIZE 000001ce: PUSH1 0x04 000001d0: PUSH2 0x19f8 000001d3: JUMP 000001d4: JUMPDEST 000001d5: PUSH2 0x0506 000001d8: JUMP 000001d9: JUMPDEST 000001da: PUSH1 0x40 000001dc: MLOAD 000001dd: SWAP1 000001de: DUP2 000001df: MSTORE 000001e0: PUSH1 0x20 000001e2: ADD 000001e3: PUSH2 0x018e 000001e6: JUMP 000001e7: JUMPDEST 000001e8: CALLVALUE 000001e9: DUP1 000001ea: ISZERO 000001eb: PUSH2 0x01f3 000001ee: JUMPI 000001ef: PUSH1 0x00 000001f1: DUP1 000001f2: REVERT 000001f3: JUMPDEST 000001f4: POP 000001f5: PUSH2 0x01b7 000001f8: PUSH2 0x0202 000001fb: CALLDATASIZE 000001fc: PUSH1 0x04 000001fe: PUSH2 0x1a66 00000201: JUMP 00000202: JUMPDEST 00000203: PUSH2 0x0630 00000206: JUMP 00000207: JUMPDEST 00000208: CALLVALUE 00000209: DUP1 0000020a: ISZERO 0000020b: PUSH2 0x0213 0000020e: JUMPI 0000020f: PUSH1 0x00 00000211: DUP1 00000212: REVERT 00000213: JUMPDEST 00000214: POP 00000215: PUSH2 0x016d 00000218: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00000239: DUP2 0000023a: JUMP 0000023b: JUMPDEST 0000023c: CALLVALUE 0000023d: DUP1 0000023e: ISZERO 0000023f: PUSH2 0x0247 00000242: JUMPI 00000243: PUSH1 0x00 00000245: DUP1 00000246: REVERT 00000247: JUMPDEST 00000248: POP 00000249: PUSH2 0x01b7 0000024c: PUSH2 0x0256 0000024f: CALLDATASIZE 00000250: PUSH1 0x04 00000252: PUSH2 0x1b59 00000255: JUMP 00000256: JUMPDEST 00000257: PUSH2 0x08a9 0000025a: JUMP 0000025b: JUMPDEST 0000025c: CALLVALUE 0000025d: DUP1 0000025e: ISZERO 0000025f: PUSH2 0x0267 00000262: JUMPI 00000263: PUSH1 0x00 00000265: DUP1 00000266: REVERT 00000267: JUMPDEST 00000268: POP 00000269: PUSH2 0x028b 0000026c: PUSH2 0x0276 0000026f: CALLDATASIZE 00000270: PUSH1 0x04 00000272: PUSH2 0x19d4 00000275: JUMP 00000276: JUMPDEST 00000277: PUSH1 0x01 00000279: PUSH1 0x20 0000027b: MSTORE 0000027c: PUSH1 0x00 0000027e: SWAP1 0000027f: DUP2 00000280: MSTORE 00000281: PUSH1 0x40 00000283: SWAP1 00000284: KECCAK256 00000285: SLOAD 00000286: PUSH1 0xff 00000288: AND 00000289: DUP2 0000028a: JUMP 0000028b: JUMPDEST 0000028c: PUSH1 0x40 0000028e: MLOAD 0000028f: SWAP1 00000290: ISZERO 00000291: ISZERO 00000292: DUP2 00000293: MSTORE 00000294: PUSH1 0x20 00000296: ADD 00000297: PUSH2 0x018e 0000029a: JUMP 0000029b: JUMPDEST 0000029c: CALLVALUE 0000029d: DUP1 0000029e: ISZERO 0000029f: PUSH2 0x02a7 000002a2: JUMPI 000002a3: PUSH1 0x00 000002a5: DUP1 000002a6: REVERT 000002a7: JUMPDEST 000002a8: POP 000002a9: PUSH1 0x00 000002ab: SLOAD 000002ac: PUSH2 0x016d 000002af: SWAP1 000002b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000002c5: AND 000002c6: DUP2 000002c7: JUMP 000002c8: JUMPDEST 000002c9: CALLVALUE 000002ca: DUP1 000002cb: ISZERO 000002cc: PUSH2 0x02d4 000002cf: JUMPI 000002d0: PUSH1 0x00 000002d2: DUP1 000002d3: REVERT 000002d4: JUMPDEST 000002d5: POP 000002d6: PUSH2 0x01b7 000002d9: PUSH2 0x02e3 000002dc: CALLDATASIZE 000002dd: PUSH1 0x04 000002df: PUSH2 0x1a66 000002e2: JUMP 000002e3: JUMPDEST 000002e4: PUSH2 0x0978 000002e7: JUMP 000002e8: JUMPDEST 000002e9: CALLVALUE 000002ea: DUP1 000002eb: ISZERO 000002ec: PUSH2 0x02f4 000002ef: JUMPI 000002f0: PUSH1 0x00 000002f2: DUP1 000002f3: REVERT 000002f4: JUMPDEST 000002f5: POP 000002f6: PUSH2 0x01b7 000002f9: PUSH2 0x0303 000002fc: CALLDATASIZE 000002fd: PUSH1 0x04 000002ff: PUSH2 0x1c44 00000302: JUMP 00000303: JUMPDEST 00000304: PUSH2 0x0ad8 00000307: JUMP 00000308: JUMPDEST 00000309: CALLVALUE 0000030a: DUP1 0000030b: ISZERO 0000030c: PUSH2 0x0314 0000030f: JUMPI 00000310: PUSH1 0x00 00000312: DUP1 00000313: REVERT 00000314: JUMPDEST 00000315: POP 00000316: PUSH2 0x01b7 00000319: PUSH2 0x0323 0000031c: CALLDATASIZE 0000031d: PUSH1 0x04 0000031f: PUSH2 0x1c7d 00000322: JUMP 00000323: JUMPDEST 00000324: PUSH2 0x0bb6 00000327: JUMP 00000328: JUMPDEST 00000329: CALLVALUE 0000032a: DUP1 0000032b: ISZERO 0000032c: PUSH2 0x0334 0000032f: JUMPI 00000330: PUSH1 0x00 00000332: DUP1 00000333: REVERT 00000334: JUMPDEST 00000335: POP 00000336: PUSH2 0x01b7 00000339: PUSH2 0x0343 0000033c: CALLDATASIZE 0000033d: PUSH1 0x04 0000033f: PUSH2 0x1d17 00000342: JUMP 00000343: JUMPDEST 00000344: PUSH2 0x0d48 00000347: JUMP 00000348: JUMPDEST 00000349: CALLVALUE 0000034a: DUP1 0000034b: ISZERO 0000034c: PUSH2 0x0354 0000034f: JUMPI 00000350: PUSH1 0x00 00000352: DUP1 00000353: REVERT 00000354: JUMPDEST 00000355: POP 00000356: PUSH2 0x01b7 00000359: PUSH2 0x0ea1 0000035c: JUMP 0000035d: JUMPDEST 0000035e: CALLVALUE 0000035f: DUP1 00000360: ISZERO 00000361: PUSH2 0x0369 00000364: JUMPI 00000365: PUSH1 0x00 00000367: DUP1 00000368: REVERT 00000369: JUMPDEST 0000036a: POP 0000036b: PUSH2 0x016d 0000036e: PUSH32 0x000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac 0000038f: DUP2 00000390: JUMP 00000391: JUMPDEST 00000392: CALLVALUE 00000393: DUP1 00000394: ISZERO 00000395: PUSH2 0x039d 00000398: JUMPI 00000399: PUSH1 0x00 0000039b: DUP1 0000039c: REVERT 0000039d: JUMPDEST 0000039e: POP 0000039f: PUSH2 0x016d 000003a2: PUSH2 0x03ac 000003a5: CALLDATASIZE 000003a6: PUSH1 0x04 000003a8: PUSH2 0x19d4 000003ab: JUMP 000003ac: JUMPDEST 000003ad: PUSH1 0x02 000003af: PUSH1 0x20 000003b1: MSTORE 000003b2: PUSH1 0x00 000003b4: SWAP1 000003b5: DUP2 000003b6: MSTORE 000003b7: PUSH1 0x40 000003b9: SWAP1 000003ba: KECCAK256 000003bb: SLOAD 000003bc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000003d1: AND 000003d2: DUP2 000003d3: JUMP 000003d4: JUMPDEST 000003d5: CALLVALUE 000003d6: DUP1 000003d7: ISZERO 000003d8: PUSH2 0x03e0 000003db: JUMPI 000003dc: PUSH1 0x00 000003de: DUP1 000003df: REVERT 000003e0: JUMPDEST 000003e1: POP 000003e2: PUSH2 0x016d 000003e5: PUSH32 0x0000000000000000000000008798249c2e607446efb7ad49ec89dd1865ff4272 00000406: DUP2 00000407: JUMP 00000408: JUMPDEST 00000409: CALLVALUE 0000040a: DUP1 0000040b: ISZERO 0000040c: PUSH2 0x0414 0000040f: JUMPI 00000410: PUSH1 0x00 00000412: DUP1 00000413: REVERT 00000414: JUMPDEST 00000415: POP 00000416: PUSH2 0x01b7 00000419: PUSH2 0x0423 0000041c: CALLDATASIZE 0000041d: PUSH1 0x04 0000041f: PUSH2 0x1d30 00000422: JUMP 00000423: JUMPDEST 00000424: PUSH2 0x0f1c 00000427: JUMP 00000428: JUMPDEST 00000429: CALLVALUE 0000042a: DUP1 0000042b: ISZERO 0000042c: PUSH2 0x0434 0000042f: JUMPI 00000430: PUSH1 0x00 00000432: DUP1 00000433: REVERT 00000434: JUMPDEST 00000435: POP 00000436: PUSH2 0x01b7 00000439: PUSH2 0x0443 0000043c: CALLDATASIZE 0000043d: PUSH1 0x04 0000043f: PUSH2 0x1d7f 00000442: JUMP 00000443: JUMPDEST 00000444: PUSH2 0x0fb6 00000447: JUMP 00000448: JUMPDEST 00000449: PUSH1 0x00 0000044b: SLOAD 0000044c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000461: AND 00000462: CALLER 00000463: EQ 00000464: PUSH2 0x0499 00000467: JUMPI 00000468: PUSH1 0x40 0000046a: MLOAD 0000046b: PUSH32 0x5fc483c500000000000000000000000000000000000000000000000000000000 0000048c: DUP2 0000048d: MSTORE 0000048e: PUSH1 0x04 00000490: ADD 00000491: PUSH1 0x40 00000493: MLOAD 00000494: DUP1 00000495: SWAP2 00000496: SUB 00000497: SWAP1 00000498: REVERT 00000499: JUMPDEST 0000049a: PUSH1 0x00 0000049c: DUP1 0000049d: SLOAD 0000049e: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 000004bf: AND 000004c0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000004d5: DUP4 000004d6: AND 000004d7: SWAP1 000004d8: DUP2 000004d9: OR 000004da: DUP3 000004db: SSTORE 000004dc: PUSH1 0x40 000004de: MLOAD 000004df: SWAP1 000004e0: SWAP2 000004e1: PUSH32 0x167d3e9c1016ab80e58802ca9da10ce5c6a0f4debc46a2e7a2cd9e56899a4fb5 00000502: SWAP2 00000503: LOG2 00000504: POP 00000505: JUMP 00000506: JUMPDEST 00000507: CALLER 00000508: PUSH1 0x00 0000050a: SWAP1 0000050b: DUP2 0000050c: MSTORE 0000050d: PUSH1 0x01 0000050f: PUSH1 0x20 00000511: MSTORE 00000512: PUSH1 0x40 00000514: DUP2 00000515: KECCAK256 00000516: SLOAD 00000517: PUSH1 0xff 00000519: AND 0000051a: PUSH2 0x054f 0000051d: JUMPI 0000051e: PUSH1 0x40 00000520: MLOAD 00000521: PUSH32 0xcf1119ab00000000000000000000000000000000000000000000000000000000 00000542: DUP2 00000543: MSTORE 00000544: PUSH1 0x04 00000546: ADD 00000547: PUSH1 0x40 00000549: MLOAD 0000054a: DUP1 0000054b: SWAP2 0000054c: SUB 0000054d: SWAP1 0000054e: REVERT 0000054f: JUMPDEST 00000550: PUSH2 0x05bb 00000553: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00000574: PUSH32 0x0000000000000000000000006b3595068778dd592e39a122f4f5a5cf09c90fe2 00000595: DUP6 00000596: PUSH32 0x0000000000000000000000008798249c2e607446efb7ad49ec89dd1865ff4272 000005b7: PUSH2 0x108a 000005ba: JUMP 000005bb: JUMPDEST 000005bc: SWAP1 000005bd: POP 000005be: DUP2 000005bf: DUP2 000005c0: LT 000005c1: ISZERO 000005c2: PUSH2 0x05f7 000005c5: JUMPI 000005c6: PUSH1 0x40 000005c8: MLOAD 000005c9: PUSH32 0x17d431f400000000000000000000000000000000000000000000000000000000 000005ea: DUP2 000005eb: MSTORE 000005ec: PUSH1 0x04 000005ee: ADD 000005ef: PUSH1 0x40 000005f1: MLOAD 000005f2: DUP1 000005f3: SWAP2 000005f4: SUB 000005f5: SWAP1 000005f6: REVERT 000005f7: JUMPDEST 000005f8: PUSH1 0x40 000005fa: MLOAD 000005fb: DUP2 000005fc: DUP2 000005fd: MSTORE 000005fe: PUSH32 0x4bd1bdc2f263261c65e1cf0d8f7908b6fbf4b4906bafb6a28e11aafdc86c326e 0000061f: SWAP1 00000620: PUSH1 0x20 00000622: ADD 00000623: PUSH1 0x40 00000625: MLOAD 00000626: DUP1 00000627: SWAP2 00000628: SUB 00000629: SWAP1 0000062a: LOG1 0000062b: SWAP3 0000062c: SWAP2 0000062d: POP 0000062e: POP 0000062f: JUMP 00000630: JUMPDEST 00000631: CALLER 00000632: PUSH1 0x00 00000634: SWAP1 00000635: DUP2 00000636: MSTORE 00000637: PUSH1 0x01 00000639: PUSH1 0x20 0000063b: MSTORE 0000063c: PUSH1 0x40 0000063e: SWAP1 0000063f: KECCAK256 00000640: SLOAD 00000641: PUSH1 0xff 00000643: AND 00000644: PUSH2 0x0679 00000647: JUMPI 00000648: PUSH1 0x40 0000064a: MLOAD 0000064b: PUSH32 0xcf1119ab00000000000000000000000000000000000000000000000000000000 0000066c: DUP2 0000066d: MSTORE 0000066e: PUSH1 0x04 00000670: ADD 00000671: PUSH1 0x40 00000673: MLOAD 00000674: DUP1 00000675: SWAP2 00000676: SUB 00000677: SWAP1 00000678: REVERT 00000679: JUMPDEST 0000067a: PUSH1 0x00 0000067c: JUMPDEST 0000067d: DUP8 0000067e: DUP2 0000067f: LT 00000680: ISZERO 00000681: PUSH2 0x089e 00000684: JUMPI 00000685: PUSH1 0x00 00000687: DUP10 00000688: DUP10 00000689: DUP4 0000068a: DUP2 0000068b: DUP2 0000068c: LT 0000068d: PUSH2 0x0698 00000690: JUMPI 00000691: PUSH2 0x0698 00000694: PUSH2 0x1dad 00000697: JUMP 00000698: JUMPDEST 00000699: SWAP1 0000069a: POP 0000069b: PUSH1 0x20 0000069d: MUL 0000069e: ADD 0000069f: PUSH1 0x20 000006a1: DUP2 000006a2: ADD 000006a3: SWAP1 000006a4: PUSH2 0x06ad 000006a7: SWAP2 000006a8: SWAP1 000006a9: PUSH2 0x19d4 000006ac: JUMP 000006ad: JUMPDEST 000006ae: SWAP1 000006af: POP 000006b0: DUP1 000006b1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006c6: AND 000006c7: PUSH4 0xa9059cbb 000006cc: DUP3 000006cd: DUP11 000006ce: DUP11 000006cf: DUP7 000006d0: DUP2 000006d1: DUP2 000006d2: LT 000006d3: PUSH2 0x06de 000006d6: JUMPI 000006d7: PUSH2 0x06de 000006da: PUSH2 0x1dad 000006dd: JUMP 000006de: JUMPDEST 000006df: PUSH1 0x40 000006e1: MLOAD 000006e2: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 00000703: PUSH1 0xe0 00000705: DUP8 00000706: SWAP1 00000707: SHL 00000708: AND 00000709: DUP2 0000070a: MSTORE 0000070b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000720: SWAP1 00000721: SWAP5 00000722: AND 00000723: PUSH1 0x04 00000725: DUP6 00000726: ADD 00000727: MSTORE 00000728: PUSH1 0x20 0000072a: MUL 0000072b: SWAP2 0000072c: SWAP1 0000072d: SWAP2 0000072e: ADD 0000072f: CALLDATALOAD 00000730: PUSH1 0x24 00000732: DUP4 00000733: ADD 00000734: MSTORE 00000735: POP 00000736: PUSH1 0x44 00000738: ADD 00000739: PUSH1 0x20 0000073b: PUSH1 0x40 0000073d: MLOAD 0000073e: DUP1 0000073f: DUP4 00000740: SUB 00000741: DUP2 00000742: PUSH1 0x00 00000744: DUP8 00000745: GAS 00000746: CALL 00000747: ISZERO 00000748: DUP1 00000749: ISZERO 0000074a: PUSH2 0x0757 0000074d: JUMPI 0000074e: RETURNDATASIZE 0000074f: PUSH1 0x00 00000751: DUP1 00000752: RETURNDATACOPY 00000753: RETURNDATASIZE 00000754: PUSH1 0x00 00000756: REVERT 00000757: JUMPDEST 00000758: POP 00000759: POP 0000075a: POP 0000075b: POP 0000075c: PUSH1 0x40 0000075e: MLOAD 0000075f: RETURNDATASIZE 00000760: PUSH1 0x1f 00000762: NOT 00000763: PUSH1 0x1f 00000765: DUP3 00000766: ADD 00000767: AND 00000768: DUP3 00000769: ADD 0000076a: DUP1 0000076b: PUSH1 0x40 0000076d: MSTORE 0000076e: POP 0000076f: DUP2 00000770: ADD 00000771: SWAP1 00000772: PUSH2 0x077b 00000775: SWAP2 00000776: SWAP1 00000777: PUSH2 0x1ddc 0000077a: JUMP 0000077b: JUMPDEST 0000077c: POP 0000077d: PUSH1 0x40 0000077f: MLOAD 00000780: PUSH32 0x89afcb4400000000000000000000000000000000000000000000000000000000 000007a1: DUP2 000007a2: MSTORE 000007a3: ADDRESS 000007a4: PUSH1 0x04 000007a6: DUP3 000007a7: ADD 000007a8: MSTORE 000007a9: PUSH1 0x00 000007ab: SWAP1 000007ac: DUP2 000007ad: SWAP1 000007ae: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007c3: DUP5 000007c4: AND 000007c5: SWAP1 000007c6: PUSH4 0x89afcb44 000007cb: SWAP1 000007cc: PUSH1 0x24 000007ce: ADD 000007cf: PUSH1 0x40 000007d1: DUP1 000007d2: MLOAD 000007d3: DUP1 000007d4: DUP4 000007d5: SUB 000007d6: DUP2 000007d7: PUSH1 0x00 000007d9: DUP8 000007da: GAS 000007db: CALL 000007dc: ISZERO 000007dd: DUP1 000007de: ISZERO 000007df: PUSH2 0x07ec 000007e2: JUMPI 000007e3: RETURNDATASIZE 000007e4: PUSH1 0x00 000007e6: DUP1 000007e7: RETURNDATACOPY 000007e8: RETURNDATASIZE 000007e9: PUSH1 0x00 000007eb: REVERT 000007ec: JUMPDEST 000007ed: POP 000007ee: POP 000007ef: POP 000007f0: POP 000007f1: PUSH1 0x40 000007f3: MLOAD 000007f4: RETURNDATASIZE 000007f5: PUSH1 0x1f 000007f7: NOT 000007f8: PUSH1 0x1f 000007fa: DUP3 000007fb: ADD 000007fc: AND 000007fd: DUP3 000007fe: ADD 000007ff: DUP1 00000800: PUSH1 0x40 00000802: MSTORE 00000803: POP 00000804: DUP2 00000805: ADD 00000806: SWAP1 00000807: PUSH2 0x0810 0000080a: SWAP2 0000080b: SWAP1 0000080c: PUSH2 0x1df9 0000080f: JUMP 00000810: JUMPDEST 00000811: SWAP2 00000812: POP 00000813: SWAP2 00000814: POP 00000815: DUP8 00000816: DUP8 00000817: DUP6 00000818: DUP2 00000819: DUP2 0000081a: LT 0000081b: PUSH2 0x0826 0000081e: JUMPI 0000081f: PUSH2 0x0826 00000822: PUSH2 0x1dad 00000825: JUMP 00000826: JUMPDEST 00000827: SWAP1 00000828: POP 00000829: PUSH1 0x20 0000082b: MUL 0000082c: ADD 0000082d: CALLDATALOAD 0000082e: DUP3 0000082f: LT 00000830: DUP1 00000831: PUSH2 0x0851 00000834: JUMPI 00000835: POP 00000836: DUP6 00000837: DUP6 00000838: DUP6 00000839: DUP2 0000083a: DUP2 0000083b: LT 0000083c: PUSH2 0x0847 0000083f: JUMPI 00000840: PUSH2 0x0847 00000843: PUSH2 0x1dad 00000846: JUMP 00000847: JUMPDEST 00000848: SWAP1 00000849: POP 0000084a: PUSH1 0x20 0000084c: MUL 0000084d: ADD 0000084e: CALLDATALOAD 0000084f: DUP2 00000850: LT 00000851: JUMPDEST 00000852: ISZERO 00000853: PUSH2 0x0888 00000856: JUMPI 00000857: PUSH1 0x40 00000859: MLOAD 0000085a: PUSH32 0x17d431f400000000000000000000000000000000000000000000000000000000 0000087b: DUP2 0000087c: MSTORE 0000087d: PUSH1 0x04 0000087f: ADD 00000880: PUSH1 0x40 00000882: MLOAD 00000883: DUP1 00000884: SWAP2 00000885: SUB 00000886: SWAP1 00000887: REVERT 00000888: JUMPDEST 00000889: POP 0000088a: POP 0000088b: POP 0000088c: DUP1 0000088d: DUP1 0000088e: PUSH2 0x0896 00000891: SWAP1 00000892: PUSH2 0x1e4c 00000895: JUMP 00000896: JUMPDEST 00000897: SWAP2 00000898: POP 00000899: POP 0000089a: PUSH2 0x067c 0000089d: JUMP 0000089e: JUMPDEST 0000089f: POP 000008a0: POP 000008a1: POP 000008a2: POP 000008a3: POP 000008a4: POP 000008a5: POP 000008a6: POP 000008a7: POP 000008a8: JUMP 000008a9: JUMPDEST 000008aa: PUSH1 0x00 000008ac: SLOAD 000008ad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008c2: AND 000008c3: CALLER 000008c4: EQ 000008c5: PUSH2 0x08fa 000008c8: JUMPI 000008c9: PUSH1 0x40 000008cb: MLOAD 000008cc: PUSH32 0x5fc483c500000000000000000000000000000000000000000000000000000000 000008ed: DUP2 000008ee: MSTORE 000008ef: PUSH1 0x04 000008f1: ADD 000008f2: PUSH1 0x40 000008f4: MLOAD 000008f5: DUP1 000008f6: SWAP2 000008f7: SUB 000008f8: SWAP1 000008f9: REVERT 000008fa: JUMPDEST 000008fb: PUSH1 0x00 000008fd: DUP4 000008fe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000913: AND 00000914: DUP4 00000915: DUP4 00000916: PUSH1 0x40 00000918: MLOAD 00000919: PUSH2 0x0922 0000091c: SWAP2 0000091d: SWAP1 0000091e: PUSH2 0x1e85 00000921: JUMP 00000922: JUMPDEST 00000923: PUSH1 0x00 00000925: PUSH1 0x40 00000927: MLOAD 00000928: DUP1 00000929: DUP4 0000092a: SUB 0000092b: DUP2 0000092c: DUP6 0000092d: DUP8 0000092e: GAS 0000092f: CALL 00000930: SWAP3 00000931: POP 00000932: POP 00000933: POP 00000934: RETURNDATASIZE 00000935: DUP1 00000936: PUSH1 0x00 00000938: DUP2 00000939: EQ 0000093a: PUSH2 0x095f 0000093d: JUMPI 0000093e: PUSH1 0x40 00000940: MLOAD 00000941: SWAP2 00000942: POP 00000943: PUSH1 0x1f 00000945: NOT 00000946: PUSH1 0x3f 00000948: RETURNDATASIZE 00000949: ADD 0000094a: AND 0000094b: DUP3 0000094c: ADD 0000094d: PUSH1 0x40 0000094f: MSTORE 00000950: RETURNDATASIZE 00000951: DUP3 00000952: MSTORE 00000953: RETURNDATASIZE 00000954: PUSH1 0x00 00000956: PUSH1 0x20 00000958: DUP5 00000959: ADD 0000095a: RETURNDATACOPY 0000095b: PUSH2 0x0964 0000095e: JUMP 0000095f: JUMPDEST 00000960: PUSH1 0x60 00000962: SWAP2 00000963: POP 00000964: JUMPDEST 00000965: POP 00000966: POP 00000967: SWAP1 00000968: POP 00000969: DUP1 0000096a: PUSH2 0x0972 0000096d: JUMPI 0000096e: PUSH1 0x00 00000970: DUP1 00000971: REVERT 00000972: JUMPDEST 00000973: POP 00000974: POP 00000975: POP 00000976: POP 00000977: JUMP 00000978: JUMPDEST 00000979: CALLER 0000097a: PUSH1 0x00 0000097c: SWAP1 0000097d: DUP2 0000097e: MSTORE 0000097f: PUSH1 0x01 00000981: PUSH1 0x20 00000983: MSTORE 00000984: PUSH1 0x40 00000986: SWAP1 00000987: KECCAK256 00000988: SLOAD 00000989: PUSH1 0xff 0000098b: AND 0000098c: PUSH2 0x09c1 0000098f: JUMPI 00000990: PUSH1 0x40 00000992: MLOAD 00000993: PUSH32 0xcf1119ab00000000000000000000000000000000000000000000000000000000 000009b4: DUP2 000009b5: MSTORE 000009b6: PUSH1 0x04 000009b8: ADD 000009b9: PUSH1 0x40 000009bb: MLOAD 000009bc: DUP1 000009bd: SWAP2 000009be: SUB 000009bf: SWAP1 000009c0: REVERT 000009c1: JUMPDEST 000009c2: PUSH1 0x00 000009c4: JUMPDEST 000009c5: DUP8 000009c6: DUP2 000009c7: LT 000009c8: ISZERO 000009c9: PUSH2 0x089e 000009cc: JUMPI 000009cd: PUSH1 0x00 000009cf: DUP10 000009d0: DUP10 000009d1: DUP4 000009d2: DUP2 000009d3: DUP2 000009d4: LT 000009d5: PUSH2 0x09e0 000009d8: JUMPI 000009d9: PUSH2 0x09e0 000009dc: PUSH2 0x1dad 000009df: JUMP 000009e0: JUMPDEST 000009e1: SWAP1 000009e2: POP 000009e3: PUSH1 0x20 000009e5: MUL 000009e6: ADD 000009e7: PUSH1 0x20 000009e9: DUP2 000009ea: ADD 000009eb: SWAP1 000009ec: PUSH2 0x09f5 000009ef: SWAP2 000009f0: SWAP1 000009f1: PUSH2 0x19d4 000009f4: JUMP 000009f5: JUMPDEST 000009f6: SWAP1 000009f7: POP 000009f8: PUSH1 0x00 000009fa: DUP9 000009fb: DUP9 000009fc: DUP5 000009fd: DUP2 000009fe: DUP2 000009ff: LT 00000a00: PUSH2 0x0a0b 00000a03: JUMPI 00000a04: PUSH2 0x0a0b 00000a07: PUSH2 0x1dad 00000a0a: JUMP 00000a0b: JUMPDEST 00000a0c: SWAP1 00000a0d: POP 00000a0e: PUSH1 0x20 00000a10: MUL 00000a11: ADD 00000a12: PUSH1 0x20 00000a14: DUP2 00000a15: ADD 00000a16: SWAP1 00000a17: PUSH2 0x0a20 00000a1a: SWAP2 00000a1b: SWAP1 00000a1c: PUSH2 0x19d4 00000a1f: JUMP 00000a20: JUMPDEST 00000a21: SWAP1 00000a22: POP 00000a23: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a38: DUP1 00000a39: DUP3 00000a3a: AND 00000a3b: SWAP1 00000a3c: DUP4 00000a3d: AND 00000a3e: LT 00000a3f: PUSH1 0x00 00000a41: PUSH2 0x0a4a 00000a44: DUP5 00000a45: DUP5 00000a46: PUSH2 0x12de 00000a49: JUMP 00000a4a: JUMPDEST 00000a4b: SWAP1 00000a4c: POP 00000a4d: DUP7 00000a4e: DUP7 00000a4f: DUP7 00000a50: DUP2 00000a51: DUP2 00000a52: LT 00000a53: PUSH2 0x0a5e 00000a56: JUMPI 00000a57: PUSH2 0x0a5e 00000a5a: PUSH2 0x1dad 00000a5d: JUMP 00000a5e: JUMPDEST 00000a5f: SWAP1 00000a60: POP 00000a61: PUSH1 0x20 00000a63: MUL 00000a64: ADD 00000a65: CALLDATALOAD 00000a66: PUSH2 0x0a89 00000a69: DUP3 00000a6a: DUP12 00000a6b: DUP12 00000a6c: DUP10 00000a6d: DUP2 00000a6e: DUP2 00000a6f: LT 00000a70: PUSH2 0x0a7b 00000a73: JUMPI 00000a74: PUSH2 0x0a7b 00000a77: PUSH2 0x1dad 00000a7a: JUMP 00000a7b: JUMPDEST 00000a7c: SWAP1 00000a7d: POP 00000a7e: PUSH1 0x20 00000a80: MUL 00000a81: ADD 00000a82: CALLDATALOAD 00000a83: DUP6 00000a84: DUP8 00000a85: PUSH2 0x1465 00000a88: JUMP 00000a89: JUMPDEST 00000a8a: LT 00000a8b: ISZERO 00000a8c: PUSH2 0x0ac1 00000a8f: JUMPI 00000a90: PUSH1 0x40 00000a92: MLOAD 00000a93: PUSH32 0x17d431f400000000000000000000000000000000000000000000000000000000 00000ab4: DUP2 00000ab5: MSTORE 00000ab6: PUSH1 0x04 00000ab8: ADD 00000ab9: PUSH1 0x40 00000abb: MLOAD 00000abc: DUP1 00000abd: SWAP2 00000abe: SUB 00000abf: SWAP1 00000ac0: REVERT 00000ac1: JUMPDEST 00000ac2: POP 00000ac3: POP 00000ac4: POP 00000ac5: POP 00000ac6: DUP1 00000ac7: DUP1 00000ac8: PUSH2 0x0ad0 00000acb: SWAP1 00000acc: PUSH2 0x1e4c 00000acf: JUMP 00000ad0: JUMPDEST 00000ad1: SWAP2 00000ad2: POP 00000ad3: POP 00000ad4: PUSH2 0x09c4 00000ad7: JUMP 00000ad8: JUMPDEST 00000ad9: PUSH1 0x00 00000adb: SLOAD 00000adc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000af1: AND 00000af2: CALLER 00000af3: EQ 00000af4: PUSH2 0x0b29 00000af7: JUMPI 00000af8: PUSH1 0x40 00000afa: MLOAD 00000afb: PUSH32 0x5fc483c500000000000000000000000000000000000000000000000000000000 00000b1c: DUP2 00000b1d: MSTORE 00000b1e: PUSH1 0x04 00000b20: ADD 00000b21: PUSH1 0x40 00000b23: MLOAD 00000b24: DUP1 00000b25: SWAP2 00000b26: SUB 00000b27: SWAP1 00000b28: REVERT 00000b29: JUMPDEST 00000b2a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b3f: DUP3 00000b40: DUP2 00000b41: AND 00000b42: PUSH1 0x00 00000b44: DUP2 00000b45: DUP2 00000b46: MSTORE 00000b47: PUSH1 0x02 00000b49: PUSH1 0x20 00000b4b: SWAP1 00000b4c: DUP2 00000b4d: MSTORE 00000b4e: PUSH1 0x40 00000b50: SWAP2 00000b51: DUP3 00000b52: SWAP1 00000b53: KECCAK256 00000b54: DUP1 00000b55: SLOAD 00000b56: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00000b77: AND 00000b78: SWAP5 00000b79: DUP7 00000b7a: AND 00000b7b: SWAP5 00000b7c: DUP6 00000b7d: OR 00000b7e: SWAP1 00000b7f: SSTORE 00000b80: SWAP1 00000b81: MLOAD 00000b82: SWAP3 00000b83: DUP4 00000b84: MSTORE 00000b85: SWAP1 00000b86: SWAP2 00000b87: PUSH32 0x8357797ab855a0bad5103ea8bd2f21f986350e94d73f143ae114db8f0db5a93a 00000ba8: SWAP2 00000ba9: ADD 00000baa: JUMPDEST 00000bab: PUSH1 0x40 00000bad: MLOAD 00000bae: DUP1 00000baf: SWAP2 00000bb0: SUB 00000bb1: SWAP1 00000bb2: LOG2 00000bb3: POP 00000bb4: POP 00000bb5: JUMP 00000bb6: JUMPDEST 00000bb7: CALLER 00000bb8: PUSH1 0x00 00000bba: SWAP1 00000bbb: DUP2 00000bbc: MSTORE 00000bbd: PUSH1 0x01 00000bbf: PUSH1 0x20 00000bc1: MSTORE 00000bc2: PUSH1 0x40 00000bc4: SWAP1 00000bc5: KECCAK256 00000bc6: SLOAD 00000bc7: PUSH1 0xff 00000bc9: AND 00000bca: PUSH2 0x0bff 00000bcd: JUMPI 00000bce: PUSH1 0x40 00000bd0: MLOAD 00000bd1: PUSH32 0xcf1119ab00000000000000000000000000000000000000000000000000000000 00000bf2: DUP2 00000bf3: MSTORE 00000bf4: PUSH1 0x04 00000bf6: ADD 00000bf7: PUSH1 0x40 00000bf9: MLOAD 00000bfa: DUP1 00000bfb: SWAP2 00000bfc: SUB 00000bfd: SWAP1 00000bfe: REVERT 00000bff: JUMPDEST 00000c00: PUSH1 0x00 00000c02: JUMPDEST 00000c03: DUP6 00000c04: DUP2 00000c05: LT 00000c06: ISZERO 00000c07: PUSH2 0x0d3f 00000c0a: JUMPI 00000c0b: PUSH1 0x00 00000c0d: DUP8 00000c0e: DUP8 00000c0f: DUP4 00000c10: DUP2 00000c11: DUP2 00000c12: LT 00000c13: PUSH2 0x0c1e 00000c16: JUMPI 00000c17: PUSH2 0x0c1e 00000c1a: PUSH2 0x1dad 00000c1d: JUMP 00000c1e: JUMPDEST 00000c1f: SWAP1 00000c20: POP 00000c21: PUSH1 0x20 00000c23: MUL 00000c24: ADD 00000c25: PUSH1 0x20 00000c27: DUP2 00000c28: ADD 00000c29: SWAP1 00000c2a: PUSH2 0x0c33 00000c2d: SWAP2 00000c2e: SWAP1 00000c2f: PUSH2 0x19d4 00000c32: JUMP 00000c33: JUMPDEST 00000c34: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c49: DUP1 00000c4a: DUP3 00000c4b: AND 00000c4c: PUSH1 0x00 00000c4e: SWAP1 00000c4f: DUP2 00000c50: MSTORE 00000c51: PUSH1 0x02 00000c53: PUSH1 0x20 00000c55: MSTORE 00000c56: PUSH1 0x40 00000c58: DUP2 00000c59: KECCAK256 00000c5a: SLOAD 00000c5b: SWAP3 00000c5c: SWAP4 00000c5d: POP 00000c5e: SWAP2 00000c5f: AND 00000c60: ISZERO 00000c61: PUSH2 0x0c91 00000c64: JUMPI 00000c65: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c7a: DUP1 00000c7b: DUP4 00000c7c: AND 00000c7d: PUSH1 0x00 00000c7f: SWAP1 00000c80: DUP2 00000c81: MSTORE 00000c82: PUSH1 0x02 00000c84: PUSH1 0x20 00000c86: MSTORE 00000c87: PUSH1 0x40 00000c89: SWAP1 00000c8a: KECCAK256 00000c8b: SLOAD 00000c8c: AND 00000c8d: PUSH2 0x0cb3 00000c90: JUMP 00000c91: JUMPDEST 00000c92: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00000cb3: JUMPDEST 00000cb4: SWAP1 00000cb5: POP 00000cb6: DUP5 00000cb7: DUP5 00000cb8: DUP5 00000cb9: DUP2 00000cba: DUP2 00000cbb: LT 00000cbc: PUSH2 0x0cc7 00000cbf: JUMPI 00000cc0: PUSH2 0x0cc7 00000cc3: PUSH2 0x1dad 00000cc6: JUMP 00000cc7: JUMPDEST 00000cc8: SWAP1 00000cc9: POP 00000cca: PUSH1 0x20 00000ccc: MUL 00000ccd: ADD 00000cce: CALLDATALOAD 00000ccf: PUSH2 0x0cf2 00000cd2: DUP4 00000cd3: DUP4 00000cd4: DUP11 00000cd5: DUP11 00000cd6: DUP9 00000cd7: DUP2 00000cd8: DUP2 00000cd9: LT 00000cda: PUSH2 0x0ce5 00000cdd: JUMPI 00000cde: PUSH2 0x0ce5 00000ce1: PUSH2 0x1dad 00000ce4: JUMP 00000ce5: JUMPDEST 00000ce6: SWAP1 00000ce7: POP 00000ce8: PUSH1 0x20 00000cea: MUL 00000ceb: ADD 00000cec: CALLDATALOAD 00000ced: ADDRESS 00000cee: PUSH2 0x108a 00000cf1: JUMP 00000cf2: JUMPDEST 00000cf3: LT 00000cf4: ISZERO 00000cf5: PUSH2 0x0d2a 00000cf8: JUMPI 00000cf9: PUSH1 0x40 00000cfb: MLOAD 00000cfc: PUSH32 0x17d431f400000000000000000000000000000000000000000000000000000000 00000d1d: DUP2 00000d1e: MSTORE 00000d1f: PUSH1 0x04 00000d21: ADD 00000d22: PUSH1 0x40 00000d24: MLOAD 00000d25: DUP1 00000d26: SWAP2 00000d27: SUB 00000d28: SWAP1 00000d29: REVERT 00000d2a: JUMPDEST 00000d2b: POP 00000d2c: POP 00000d2d: DUP1 00000d2e: DUP1 00000d2f: PUSH2 0x0d37 00000d32: SWAP1 00000d33: PUSH2 0x1e4c 00000d36: JUMP 00000d37: JUMPDEST 00000d38: SWAP2 00000d39: POP 00000d3a: POP 00000d3b: PUSH2 0x0c02 00000d3e: JUMP 00000d3f: JUMPDEST 00000d40: POP 00000d41: POP 00000d42: POP 00000d43: POP 00000d44: POP 00000d45: POP 00000d46: POP 00000d47: JUMP 00000d48: JUMPDEST 00000d49: CALLER 00000d4a: PUSH1 0x00 00000d4c: SWAP1 00000d4d: DUP2 00000d4e: MSTORE 00000d4f: PUSH1 0x01 00000d51: PUSH1 0x20 00000d53: MSTORE 00000d54: PUSH1 0x40 00000d56: SWAP1 00000d57: KECCAK256 00000d58: SLOAD 00000d59: PUSH1 0xff 00000d5b: AND 00000d5c: PUSH2 0x0d91 00000d5f: JUMPI 00000d60: PUSH1 0x40 00000d62: MLOAD 00000d63: PUSH32 0xcf1119ab00000000000000000000000000000000000000000000000000000000 00000d84: DUP2 00000d85: MSTORE 00000d86: PUSH1 0x04 00000d88: ADD 00000d89: PUSH1 0x40 00000d8b: MLOAD 00000d8c: DUP1 00000d8d: SWAP2 00000d8e: SUB 00000d8f: SWAP1 00000d90: REVERT 00000d91: JUMPDEST 00000d92: PUSH1 0x40 00000d94: MLOAD 00000d95: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 00000db6: DUP2 00000db7: MSTORE 00000db8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000dcd: PUSH32 0x0000000000000000000000008798249c2e607446efb7ad49ec89dd1865ff4272 00000dee: DUP2 00000def: AND 00000df0: PUSH1 0x04 00000df2: DUP4 00000df3: ADD 00000df4: MSTORE 00000df5: PUSH1 0x24 00000df7: DUP3 00000df8: ADD 00000df9: DUP4 00000dfa: SWAP1 00000dfb: MSTORE 00000dfc: PUSH32 0x0000000000000000000000006b3595068778dd592e39a122f4f5a5cf09c90fe2 00000e1d: AND 00000e1e: SWAP1 00000e1f: PUSH4 0xa9059cbb 00000e24: SWAP1 00000e25: PUSH1 0x44 00000e27: ADD 00000e28: PUSH1 0x20 00000e2a: PUSH1 0x40 00000e2c: MLOAD 00000e2d: DUP1 00000e2e: DUP4 00000e2f: SUB 00000e30: DUP2 00000e31: PUSH1 0x00 00000e33: DUP8 00000e34: GAS 00000e35: CALL 00000e36: ISZERO 00000e37: DUP1 00000e38: ISZERO 00000e39: PUSH2 0x0e46 00000e3c: JUMPI 00000e3d: RETURNDATASIZE 00000e3e: PUSH1 0x00 00000e40: DUP1 00000e41: RETURNDATACOPY 00000e42: RETURNDATASIZE 00000e43: PUSH1 0x00 00000e45: REVERT 00000e46: JUMPDEST 00000e47: POP 00000e48: POP 00000e49: POP 00000e4a: POP 00000e4b: PUSH1 0x40 00000e4d: MLOAD 00000e4e: RETURNDATASIZE 00000e4f: PUSH1 0x1f 00000e51: NOT 00000e52: PUSH1 0x1f 00000e54: DUP3 00000e55: ADD 00000e56: AND 00000e57: DUP3 00000e58: ADD 00000e59: DUP1 00000e5a: PUSH1 0x40 00000e5c: MSTORE 00000e5d: POP 00000e5e: DUP2 00000e5f: ADD 00000e60: SWAP1 00000e61: PUSH2 0x0e6a 00000e64: SWAP2 00000e65: SWAP1 00000e66: PUSH2 0x1ddc 00000e69: JUMP 00000e6a: JUMPDEST 00000e6b: POP 00000e6c: PUSH1 0x40 00000e6e: MLOAD 00000e6f: DUP2 00000e70: DUP2 00000e71: MSTORE 00000e72: PUSH32 0x4bd1bdc2f263261c65e1cf0d8f7908b6fbf4b4906bafb6a28e11aafdc86c326e 00000e93: SWAP1 00000e94: PUSH1 0x20 00000e96: ADD 00000e97: PUSH1 0x40 00000e99: MLOAD 00000e9a: DUP1 00000e9b: SWAP2 00000e9c: SUB 00000e9d: SWAP1 00000e9e: LOG1 00000e9f: POP 00000ea0: JUMP 00000ea1: JUMPDEST 00000ea2: PUSH1 0x40 00000ea4: MLOAD 00000ea5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000eba: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00000edb: AND 00000edc: SWAP1 00000edd: SELFBALANCE 00000ede: SWAP1 00000edf: PUSH1 0x00 00000ee1: DUP2 00000ee2: DUP2 00000ee3: DUP2 00000ee4: DUP6 00000ee5: DUP8 00000ee6: GAS 00000ee7: CALL 00000ee8: SWAP3 00000ee9: POP 00000eea: POP 00000eeb: POP 00000eec: RETURNDATASIZE 00000eed: DUP1 00000eee: PUSH1 0x00 00000ef0: DUP2 00000ef1: EQ 00000ef2: PUSH2 0x0f17 00000ef5: JUMPI 00000ef6: PUSH1 0x40 00000ef8: MLOAD 00000ef9: SWAP2 00000efa: POP 00000efb: PUSH1 0x1f 00000efd: NOT 00000efe: PUSH1 0x3f 00000f00: RETURNDATASIZE 00000f01: ADD 00000f02: AND 00000f03: DUP3 00000f04: ADD 00000f05: PUSH1 0x40 00000f07: MSTORE 00000f08: RETURNDATASIZE 00000f09: DUP3 00000f0a: MSTORE 00000f0b: RETURNDATASIZE 00000f0c: PUSH1 0x00 00000f0e: PUSH1 0x20 00000f10: DUP5 00000f11: ADD 00000f12: RETURNDATACOPY 00000f13: POP 00000f14: POP 00000f15: POP 00000f16: JUMP 00000f17: JUMPDEST 00000f18: POP 00000f19: POP 00000f1a: POP 00000f1b: JUMP 00000f1c: JUMPDEST 00000f1d: PUSH1 0x00 00000f1f: SLOAD 00000f20: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f35: AND 00000f36: CALLER 00000f37: EQ 00000f38: PUSH2 0x0f6d 00000f3b: JUMPI 00000f3c: PUSH1 0x40 00000f3e: MLOAD 00000f3f: PUSH32 0x5fc483c500000000000000000000000000000000000000000000000000000000 00000f60: DUP2 00000f61: MSTORE 00000f62: PUSH1 0x04 00000f64: ADD 00000f65: PUSH1 0x40 00000f67: MLOAD 00000f68: DUP1 00000f69: SWAP2 00000f6a: SUB 00000f6b: SWAP1 00000f6c: REVERT 00000f6d: JUMPDEST 00000f6e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f83: DUP4 00000f84: AND 00000f85: ISZERO 00000f86: PUSH2 0x0f94 00000f89: JUMPI 00000f8a: PUSH2 0x0f17 00000f8d: DUP4 00000f8e: DUP4 00000f8f: DUP4 00000f90: PUSH2 0x17eb 00000f93: JUMP 00000f94: JUMPDEST 00000f95: PUSH1 0x00 00000f97: DUP3 00000f98: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000fad: AND 00000fae: DUP3 00000faf: PUSH1 0x40 00000fb1: MLOAD 00000fb2: PUSH2 0x0922 00000fb5: JUMP 00000fb6: JUMPDEST 00000fb7: PUSH1 0x00 00000fb9: SLOAD 00000fba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000fcf: AND 00000fd0: CALLER 00000fd1: EQ 00000fd2: PUSH2 0x1007 00000fd5: JUMPI 00000fd6: PUSH1 0x40 00000fd8: MLOAD 00000fd9: PUSH32 0x5fc483c500000000000000000000000000000000000000000000000000000000 00000ffa: DUP2 00000ffb: MSTORE 00000ffc: PUSH1 0x04 00000ffe: ADD 00000fff: PUSH1 0x40 00001001: MLOAD 00001002: DUP1 00001003: SWAP2 00001004: SUB 00001005: SWAP1 00001006: REVERT 00001007: JUMPDEST 00001008: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000101d: DUP3 0000101e: AND 0000101f: PUSH1 0x00 00001021: DUP2 00001022: DUP2 00001023: MSTORE 00001024: PUSH1 0x01 00001026: PUSH1 0x20 00001028: SWAP1 00001029: DUP2 0000102a: MSTORE 0000102b: PUSH1 0x40 0000102d: SWAP2 0000102e: DUP3 0000102f: SWAP1 00001030: KECCAK256 00001031: DUP1 00001032: SLOAD 00001033: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 00001054: AND 00001055: DUP6 00001056: ISZERO 00001057: ISZERO 00001058: SWAP1 00001059: DUP2 0000105a: OR 0000105b: SWAP1 0000105c: SWAP2 0000105d: SSTORE 0000105e: SWAP2 0000105f: MLOAD 00001060: SWAP2 00001061: DUP3 00001062: MSTORE 00001063: PUSH32 0x878d105ed19c01e992a54459c2f04ba19432ac45600b42ce340d034272207436 00001084: SWAP2 00001085: ADD 00001086: PUSH2 0x0baa 00001089: JUMP 0000108a: JUMPDEST 0000108b: PUSH1 0x00 0000108d: DUP1 0000108e: PUSH2 0x1097 00001091: DUP7 00001092: DUP7 00001093: PUSH2 0x12de 00001096: JUMP 00001097: JUMPDEST 00001098: SWAP1 00001099: POP 0000109a: PUSH2 0x10a4 0000109d: DUP7 0000109e: DUP3 0000109f: DUP7 000010a0: PUSH2 0x17eb 000010a3: JUMP 000010a4: JUMPDEST 000010a5: PUSH1 0x00 000010a7: DUP1 000010a8: DUP3 000010a9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000010be: AND 000010bf: PUSH4 0x0902f1ac 000010c4: PUSH1 0x40 000010c6: MLOAD 000010c7: DUP2 000010c8: PUSH4 0xffffffff 000010cd: AND 000010ce: PUSH1 0xe0 000010d0: SHL 000010d1: DUP2 000010d2: MSTORE 000010d3: PUSH1 0x04 000010d5: ADD 000010d6: PUSH1 0x60 000010d8: PUSH1 0x40 000010da: MLOAD 000010db: DUP1 000010dc: DUP4 000010dd: SUB 000010de: DUP2 000010df: DUP7 000010e0: GAS 000010e1: STATICCALL 000010e2: ISZERO 000010e3: DUP1 000010e4: ISZERO 000010e5: PUSH2 0x10f2 000010e8: JUMPI 000010e9: RETURNDATASIZE 000010ea: PUSH1 0x00 000010ec: DUP1 000010ed: RETURNDATACOPY 000010ee: RETURNDATASIZE 000010ef: PUSH1 0x00 000010f1: REVERT 000010f2: JUMPDEST 000010f3: POP 000010f4: POP 000010f5: POP 000010f6: POP 000010f7: PUSH1 0x40 000010f9: MLOAD 000010fa: RETURNDATASIZE 000010fb: PUSH1 0x1f 000010fd: NOT 000010fe: PUSH1 0x1f 00001100: DUP3 00001101: ADD 00001102: AND 00001103: DUP3 00001104: ADD 00001105: DUP1 00001106: PUSH1 0x40 00001108: MSTORE 00001109: POP 0000110a: DUP2 0000110b: ADD 0000110c: SWAP1 0000110d: PUSH2 0x1116 00001110: SWAP2 00001111: SWAP1 00001112: PUSH2 0x1ee3 00001115: JUMP 00001116: JUMPDEST 00001117: POP 00001118: PUSH14 0xffffffffffffffffffffffffffff 00001127: AND 00001128: SWAP2 00001129: POP 0000112a: PUSH14 0xffffffffffffffffffffffffffff 00001139: AND 0000113a: SWAP2 0000113b: POP 0000113c: DUP7 0000113d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001152: AND 00001153: DUP9 00001154: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001169: AND 0000116a: LT 0000116b: ISZERO 0000116c: PUSH2 0x1223 0000116f: JUMPI 00001170: PUSH2 0x117a 00001173: DUP7 00001174: DUP4 00001175: DUP4 00001176: PUSH2 0x1960 00001179: JUMP 0000117a: JUMPDEST 0000117b: PUSH1 0x40 0000117d: MLOAD 0000117e: PUSH32 0x022c0d9f00000000000000000000000000000000000000000000000000000000 0000119f: DUP2 000011a0: MSTORE 000011a1: PUSH1 0x00 000011a3: PUSH1 0x04 000011a5: DUP3 000011a6: ADD 000011a7: DUP2 000011a8: SWAP1 000011a9: MSTORE 000011aa: PUSH1 0x24 000011ac: DUP3 000011ad: ADD 000011ae: DUP4 000011af: SWAP1 000011b0: MSTORE 000011b1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000011c6: DUP9 000011c7: DUP2 000011c8: AND 000011c9: PUSH1 0x44 000011cb: DUP5 000011cc: ADD 000011cd: MSTORE 000011ce: PUSH1 0x80 000011d0: PUSH1 0x64 000011d2: DUP5 000011d3: ADD 000011d4: MSTORE 000011d5: PUSH1 0x84 000011d7: DUP4 000011d8: ADD 000011d9: SWAP2 000011da: SWAP1 000011db: SWAP2 000011dc: MSTORE 000011dd: SWAP2 000011de: SWAP6 000011df: POP 000011e0: SWAP1 000011e1: DUP5 000011e2: AND 000011e3: SWAP1 000011e4: PUSH4 0x022c0d9f 000011e9: SWAP1 000011ea: PUSH1 0xa4 000011ec: ADD 000011ed: PUSH1 0x00 000011ef: PUSH1 0x40 000011f1: MLOAD 000011f2: DUP1 000011f3: DUP4 000011f4: SUB 000011f5: DUP2 000011f6: PUSH1 0x00 000011f8: DUP8 000011f9: DUP1 000011fa: EXTCODESIZE 000011fb: ISZERO 000011fc: DUP1 000011fd: ISZERO 000011fe: PUSH2 0x1206 00001201: JUMPI 00001202: PUSH1 0x00 00001204: DUP1 00001205: REVERT 00001206: JUMPDEST 00001207: POP 00001208: GAS 00001209: CALL 0000120a: ISZERO 0000120b: DUP1 0000120c: ISZERO 0000120d: PUSH2 0x121a 00001210: JUMPI 00001211: RETURNDATASIZE 00001212: PUSH1 0x00 00001214: DUP1 00001215: RETURNDATACOPY 00001216: RETURNDATASIZE 00001217: PUSH1 0x00 00001219: REVERT 0000121a: JUMPDEST 0000121b: POP 0000121c: POP 0000121d: POP 0000121e: POP 0000121f: PUSH2 0x12d3 00001222: JUMP 00001223: JUMPDEST 00001224: PUSH2 0x122e 00001227: DUP7 00001228: DUP3 00001229: DUP5 0000122a: PUSH2 0x1960 0000122d: JUMP 0000122e: JUMPDEST 0000122f: PUSH1 0x40 00001231: MLOAD 00001232: PUSH32 0x022c0d9f00000000000000000000000000000000000000000000000000000000 00001253: DUP2 00001254: MSTORE 00001255: PUSH1 0x04 00001257: DUP2 00001258: ADD 00001259: DUP3 0000125a: SWAP1 0000125b: MSTORE 0000125c: PUSH1 0x00 0000125e: PUSH1 0x24 00001260: DUP3 00001261: ADD 00001262: DUP2 00001263: SWAP1 00001264: MSTORE 00001265: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000127a: DUP9 0000127b: DUP2 0000127c: AND 0000127d: PUSH1 0x44 0000127f: DUP5 00001280: ADD 00001281: MSTORE 00001282: PUSH1 0x80 00001284: PUSH1 0x64 00001286: DUP5 00001287: ADD 00001288: MSTORE 00001289: PUSH1 0x84 0000128b: DUP4 0000128c: ADD 0000128d: SWAP2 0000128e: SWAP1 0000128f: SWAP2 00001290: MSTORE 00001291: SWAP2 00001292: SWAP6 00001293: POP 00001294: SWAP1 00001295: DUP5 00001296: AND 00001297: SWAP1 00001298: PUSH4 0x022c0d9f 0000129d: SWAP1 0000129e: PUSH1 0xa4 000012a0: ADD 000012a1: PUSH1 0x00 000012a3: PUSH1 0x40 000012a5: MLOAD 000012a6: DUP1 000012a7: DUP4 000012a8: SUB 000012a9: DUP2 000012aa: PUSH1 0x00 000012ac: DUP8 000012ad: DUP1 000012ae: EXTCODESIZE 000012af: ISZERO 000012b0: DUP1 000012b1: ISZERO 000012b2: PUSH2 0x12ba 000012b5: JUMPI 000012b6: PUSH1 0x00 000012b8: DUP1 000012b9: REVERT 000012ba: JUMPDEST 000012bb: POP 000012bc: GAS 000012bd: CALL 000012be: ISZERO 000012bf: DUP1 000012c0: ISZERO 000012c1: PUSH2 0x12ce 000012c4: JUMPI 000012c5: RETURNDATASIZE 000012c6: PUSH1 0x00 000012c8: DUP1 000012c9: RETURNDATACOPY 000012ca: RETURNDATASIZE 000012cb: PUSH1 0x00 000012cd: REVERT 000012ce: JUMPDEST 000012cf: POP 000012d0: POP 000012d1: POP 000012d2: POP 000012d3: JUMPDEST 000012d4: POP 000012d5: POP 000012d6: POP 000012d7: SWAP5 000012d8: SWAP4 000012d9: POP 000012da: POP 000012db: POP 000012dc: POP 000012dd: JUMP 000012de: JUMPDEST 000012df: PUSH1 0x00 000012e1: DUP1 000012e2: PUSH1 0x00 000012e4: DUP4 000012e5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000012fa: AND 000012fb: DUP6 000012fc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001311: AND 00001312: LT 00001313: PUSH2 0x131d 00001316: JUMPI 00001317: DUP4 00001318: DUP6 00001319: PUSH2 0x1320 0000131c: JUMP 0000131d: JUMPDEST 0000131e: DUP5 0000131f: DUP5 00001320: JUMPDEST 00001321: PUSH1 0x40 00001323: MLOAD 00001324: PUSH32 0xffffffffffffffffffffffffffffffffffffffff000000000000000000000000 00001345: PUSH1 0x60 00001347: DUP5 00001348: DUP2 00001349: SHL 0000134a: DUP3 0000134b: AND 0000134c: PUSH1 0x20 0000134e: DUP5 0000134f: ADD 00001350: MSTORE 00001351: DUP4 00001352: SWAP1 00001353: SHL 00001354: AND 00001355: PUSH1 0x34 00001357: DUP3 00001358: ADD 00001359: MSTORE 0000135a: SWAP2 0000135b: SWAP4 0000135c: POP 0000135d: SWAP2 0000135e: POP 0000135f: PUSH32 0x000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac 00001380: SWAP1 00001381: PUSH1 0x48 00001383: ADD 00001384: PUSH1 0x40 00001386: MLOAD 00001387: PUSH1 0x20 00001389: DUP2 0000138a: DUP4 0000138b: SUB 0000138c: SUB 0000138d: DUP2 0000138e: MSTORE 0000138f: SWAP1 00001390: PUSH1 0x40 00001392: MSTORE 00001393: DUP1 00001394: MLOAD 00001395: SWAP1 00001396: PUSH1 0x20 00001398: ADD 00001399: KECCAK256 0000139a: PUSH1 0x40 0000139c: MLOAD 0000139d: PUSH1 0x20 0000139f: ADD 000013a0: PUSH2 0x1426 000013a3: SWAP3 000013a4: SWAP2 000013a5: SWAP1 000013a6: PUSH32 0xff00000000000000000000000000000000000000000000000000000000000000 000013c7: DUP2 000013c8: MSTORE 000013c9: PUSH1 0x60 000013cb: SWAP3 000013cc: SWAP1 000013cd: SWAP3 000013ce: SHL 000013cf: PUSH32 0xffffffffffffffffffffffffffffffffffffffff000000000000000000000000 000013f0: AND 000013f1: PUSH1 0x01 000013f3: DUP4 000013f4: ADD 000013f5: MSTORE 000013f6: PUSH1 0x15 000013f8: DUP3 000013f9: ADD 000013fa: MSTORE 000013fb: PUSH32 0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303 0000141c: PUSH1 0x35 0000141e: DUP3 0000141f: ADD 00001420: MSTORE 00001421: PUSH1 0x55 00001423: ADD 00001424: SWAP1 00001425: JUMP 00001426: JUMPDEST 00001427: PUSH1 0x40 00001429: DUP1 0000142a: MLOAD 0000142b: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 0000144c: DUP2 0000144d: DUP5 0000144e: SUB 0000144f: ADD 00001450: DUP2 00001451: MSTORE 00001452: SWAP2 00001453: SWAP1 00001454: MSTORE 00001455: DUP1 00001456: MLOAD 00001457: PUSH1 0x20 00001459: SWAP1 0000145a: SWAP2 0000145b: ADD 0000145c: KECCAK256 0000145d: SWAP6 0000145e: SWAP5 0000145f: POP 00001460: POP 00001461: POP 00001462: POP 00001463: POP 00001464: JUMP 00001465: JUMPDEST 00001466: PUSH1 0x40 00001468: MLOAD 00001469: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 0000148a: DUP2 0000148b: MSTORE 0000148c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000014a1: DUP6 000014a2: AND 000014a3: PUSH1 0x04 000014a5: DUP3 000014a6: ADD 000014a7: DUP2 000014a8: SWAP1 000014a9: MSTORE 000014aa: PUSH1 0x24 000014ac: DUP3 000014ad: ADD 000014ae: DUP6 000014af: SWAP1 000014b0: MSTORE 000014b1: PUSH1 0x00 000014b3: SWAP2 000014b4: PUSH4 0xa9059cbb 000014b9: SWAP1 000014ba: PUSH1 0x44 000014bc: ADD 000014bd: PUSH1 0x20 000014bf: PUSH1 0x40 000014c1: MLOAD 000014c2: DUP1 000014c3: DUP4 000014c4: SUB 000014c5: DUP2 000014c6: PUSH1 0x00 000014c8: DUP8 000014c9: GAS 000014ca: CALL 000014cb: ISZERO 000014cc: DUP1 000014cd: ISZERO 000014ce: PUSH2 0x14db 000014d1: JUMPI 000014d2: RETURNDATASIZE 000014d3: PUSH1 0x00 000014d5: DUP1 000014d6: RETURNDATACOPY 000014d7: RETURNDATASIZE 000014d8: PUSH1 0x00 000014da: REVERT 000014db: JUMPDEST 000014dc: POP 000014dd: POP 000014de: POP 000014df: POP 000014e0: PUSH1 0x40 000014e2: MLOAD 000014e3: RETURNDATASIZE 000014e4: PUSH1 0x1f 000014e6: NOT 000014e7: PUSH1 0x1f 000014e9: DUP3 000014ea: ADD 000014eb: AND 000014ec: DUP3 000014ed: ADD 000014ee: DUP1 000014ef: PUSH1 0x40 000014f1: MSTORE 000014f2: POP 000014f3: DUP2 000014f4: ADD 000014f5: SWAP1 000014f6: PUSH2 0x14ff 000014f9: SWAP2 000014fa: SWAP1 000014fb: PUSH2 0x1ddc 000014fe: JUMP 000014ff: JUMPDEST 00001500: POP 00001501: PUSH1 0x40 00001503: MLOAD 00001504: PUSH32 0x89afcb4400000000000000000000000000000000000000000000000000000000 00001525: DUP2 00001526: MSTORE 00001527: ADDRESS 00001528: PUSH1 0x04 0000152a: DUP3 0000152b: ADD 0000152c: MSTORE 0000152d: PUSH1 0x00 0000152f: SWAP1 00001530: DUP2 00001531: SWAP1 00001532: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001547: DUP9 00001548: AND 00001549: SWAP1 0000154a: PUSH4 0x89afcb44 0000154f: SWAP1 00001550: PUSH1 0x24 00001552: ADD 00001553: PUSH1 0x40 00001555: DUP1 00001556: MLOAD 00001557: DUP1 00001558: DUP4 00001559: SUB 0000155a: DUP2 0000155b: PUSH1 0x00 0000155d: DUP8 0000155e: GAS 0000155f: CALL 00001560: ISZERO 00001561: DUP1 00001562: ISZERO 00001563: PUSH2 0x1570 00001566: JUMPI 00001567: RETURNDATASIZE 00001568: PUSH1 0x00 0000156a: DUP1 0000156b: RETURNDATACOPY 0000156c: RETURNDATASIZE 0000156d: PUSH1 0x00 0000156f: REVERT 00001570: JUMPDEST 00001571: POP 00001572: POP 00001573: POP 00001574: POP 00001575: PUSH1 0x40 00001577: MLOAD 00001578: RETURNDATASIZE 00001579: PUSH1 0x1f 0000157b: NOT 0000157c: PUSH1 0x1f 0000157e: DUP3 0000157f: ADD 00001580: AND 00001581: DUP3 00001582: ADD 00001583: DUP1 00001584: PUSH1 0x40 00001586: MSTORE 00001587: POP 00001588: DUP2 00001589: ADD 0000158a: SWAP1 0000158b: PUSH2 0x1594 0000158e: SWAP2 0000158f: SWAP1 00001590: PUSH2 0x1df9 00001593: JUMP 00001594: JUMPDEST 00001595: SWAP2 00001596: POP 00001597: SWAP2 00001598: POP 00001599: PUSH1 0x00 0000159b: DUP1 0000159c: DUP9 0000159d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000015b2: AND 000015b3: PUSH4 0x0902f1ac 000015b8: PUSH1 0x40 000015ba: MLOAD 000015bb: DUP2 000015bc: PUSH4 0xffffffff 000015c1: AND 000015c2: PUSH1 0xe0 000015c4: SHL 000015c5: DUP2 000015c6: MSTORE 000015c7: PUSH1 0x04 000015c9: ADD 000015ca: PUSH1 0x60 000015cc: PUSH1 0x40 000015ce: MLOAD 000015cf: DUP1 000015d0: DUP4 000015d1: SUB 000015d2: DUP2 000015d3: DUP7 000015d4: GAS 000015d5: STATICCALL 000015d6: ISZERO 000015d7: DUP1 000015d8: ISZERO 000015d9: PUSH2 0x15e6 000015dc: JUMPI 000015dd: RETURNDATASIZE 000015de: PUSH1 0x00 000015e0: DUP1 000015e1: RETURNDATACOPY 000015e2: RETURNDATASIZE 000015e3: PUSH1 0x00 000015e5: REVERT 000015e6: JUMPDEST 000015e7: POP 000015e8: POP 000015e9: POP 000015ea: POP 000015eb: PUSH1 0x40 000015ed: MLOAD 000015ee: RETURNDATASIZE 000015ef: PUSH1 0x1f 000015f1: NOT 000015f2: PUSH1 0x1f 000015f4: DUP3 000015f5: ADD 000015f6: AND 000015f7: DUP3 000015f8: ADD 000015f9: DUP1 000015fa: PUSH1 0x40 000015fc: MSTORE 000015fd: POP 000015fe: DUP2 000015ff: ADD 00001600: SWAP1 00001601: PUSH2 0x160a 00001604: SWAP2 00001605: SWAP1 00001606: PUSH2 0x1ee3 00001609: JUMP 0000160a: JUMPDEST 0000160b: POP 0000160c: SWAP2 0000160d: POP 0000160e: SWAP2 0000160f: POP 00001610: DUP7 00001611: ISZERO 00001612: PUSH2 0x16fc 00001615: JUMPI 00001616: PUSH2 0x1620 00001619: DUP7 0000161a: DUP11 0000161b: DUP6 0000161c: PUSH2 0x17eb 0000161f: JUMP 00001620: JUMPDEST 00001621: PUSH2 0x164b 00001624: DUP4 00001625: DUP3 00001626: PUSH14 0xffffffffffffffffffffffffffff 00001635: AND 00001636: DUP5 00001637: PUSH14 0xffffffffffffffffffffffffffff 00001646: AND 00001647: PUSH2 0x1960 0000164a: JUMP 0000164b: JUMPDEST 0000164c: PUSH1 0x40 0000164e: MLOAD 0000164f: PUSH32 0x022c0d9f00000000000000000000000000000000000000000000000000000000 00001670: DUP2 00001671: MSTORE 00001672: PUSH1 0x04 00001674: DUP2 00001675: ADD 00001676: DUP3 00001677: SWAP1 00001678: MSTORE 00001679: PUSH1 0x00 0000167b: PUSH1 0x24 0000167d: DUP3 0000167e: ADD 0000167f: DUP2 00001680: SWAP1 00001681: MSTORE 00001682: ADDRESS 00001683: PUSH1 0x44 00001685: DUP4 00001686: ADD 00001687: MSTORE 00001688: PUSH1 0x80 0000168a: PUSH1 0x64 0000168c: DUP4 0000168d: ADD 0000168e: MSTORE 0000168f: PUSH1 0x84 00001691: DUP3 00001692: ADD 00001693: MSTORE 00001694: SWAP1 00001695: SWAP6 00001696: POP 00001697: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000016ac: DUP11 000016ad: AND 000016ae: SWAP1 000016af: PUSH4 0x022c0d9f 000016b4: SWAP1 000016b5: PUSH1 0xa4 000016b7: ADD 000016b8: PUSH1 0x00 000016ba: PUSH1 0x40 000016bc: MLOAD 000016bd: DUP1 000016be: DUP4 000016bf: SUB 000016c0: DUP2 000016c1: PUSH1 0x00 000016c3: DUP8 000016c4: DUP1 000016c5: EXTCODESIZE 000016c6: ISZERO 000016c7: DUP1 000016c8: ISZERO 000016c9: PUSH2 0x16d1 000016cc: JUMPI 000016cd: PUSH1 0x00 000016cf: DUP1 000016d0: REVERT 000016d1: JUMPDEST 000016d2: POP 000016d3: GAS 000016d4: CALL 000016d5: ISZERO 000016d6: DUP1 000016d7: ISZERO 000016d8: PUSH2 0x16e5 000016db: JUMPI 000016dc: RETURNDATASIZE 000016dd: PUSH1 0x00 000016df: DUP1 000016e0: RETURNDATACOPY 000016e1: RETURNDATASIZE 000016e2: PUSH1 0x00 000016e4: REVERT 000016e5: JUMPDEST 000016e6: POP 000016e7: POP 000016e8: POP 000016e9: POP 000016ea: DUP4 000016eb: DUP6 000016ec: PUSH2 0x16f5 000016ef: SWAP2 000016f0: SWAP1 000016f1: PUSH2 0x1f33 000016f4: JUMP 000016f5: JUMPDEST 000016f6: SWAP5 000016f7: POP 000016f8: PUSH2 0x17df 000016fb: JUMP 000016fc: JUMPDEST 000016fd: PUSH2 0x1707 00001700: DUP7 00001701: DUP11 00001702: DUP7 00001703: PUSH2 0x17eb 00001706: JUMP 00001707: JUMPDEST 00001708: PUSH2 0x1732 0000170b: DUP5 0000170c: DUP4 0000170d: PUSH14 0xffffffffffffffffffffffffffff 0000171c: AND 0000171d: DUP4 0000171e: PUSH14 0xffffffffffffffffffffffffffff 0000172d: AND 0000172e: PUSH2 0x1960 00001731: JUMP 00001732: JUMPDEST 00001733: PUSH1 0x40 00001735: MLOAD 00001736: PUSH32 0x022c0d9f00000000000000000000000000000000000000000000000000000000 00001757: DUP2 00001758: MSTORE 00001759: PUSH1 0x00 0000175b: PUSH1 0x04 0000175d: DUP3 0000175e: ADD 0000175f: DUP2 00001760: SWAP1 00001761: MSTORE 00001762: PUSH1 0x24 00001764: DUP3 00001765: ADD 00001766: DUP4 00001767: SWAP1 00001768: MSTORE 00001769: ADDRESS 0000176a: PUSH1 0x44 0000176c: DUP4 0000176d: ADD 0000176e: MSTORE 0000176f: PUSH1 0x80 00001771: PUSH1 0x64 00001773: DUP4 00001774: ADD 00001775: MSTORE 00001776: PUSH1 0x84 00001778: DUP3 00001779: ADD 0000177a: MSTORE 0000177b: SWAP1 0000177c: SWAP6 0000177d: POP 0000177e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001793: DUP11 00001794: AND 00001795: SWAP1 00001796: PUSH4 0x022c0d9f 0000179b: SWAP1 0000179c: PUSH1 0xa4 0000179e: ADD 0000179f: PUSH1 0x00 000017a1: PUSH1 0x40 000017a3: MLOAD 000017a4: DUP1 000017a5: DUP4 000017a6: SUB 000017a7: DUP2 000017a8: PUSH1 0x00 000017aa: DUP8 000017ab: DUP1 000017ac: EXTCODESIZE 000017ad: ISZERO 000017ae: DUP1 000017af: ISZERO 000017b0: PUSH2 0x17b8 000017b3: JUMPI 000017b4: PUSH1 0x00 000017b6: DUP1 000017b7: REVERT 000017b8: JUMPDEST 000017b9: POP 000017ba: GAS 000017bb: CALL 000017bc: ISZERO 000017bd: DUP1 000017be: ISZERO 000017bf: PUSH2 0x17cc 000017c2: JUMPI 000017c3: RETURNDATASIZE 000017c4: PUSH1 0x00 000017c6: DUP1 000017c7: RETURNDATACOPY 000017c8: RETURNDATASIZE 000017c9: PUSH1 0x00 000017cb: REVERT 000017cc: JUMPDEST 000017cd: POP 000017ce: POP 000017cf: POP 000017d0: POP 000017d1: DUP3 000017d2: DUP6 000017d3: PUSH2 0x17dc 000017d6: SWAP2 000017d7: SWAP1 000017d8: PUSH2 0x1f33 000017db: JUMP 000017dc: JUMPDEST 000017dd: SWAP5 000017de: POP 000017df: JUMPDEST 000017e0: POP 000017e1: POP 000017e2: POP 000017e3: POP 000017e4: SWAP5 000017e5: SWAP4 000017e6: POP 000017e7: POP 000017e8: POP 000017e9: POP 000017ea: JUMP 000017eb: JUMPDEST 000017ec: PUSH1 0x40 000017ee: DUP1 000017ef: MLOAD 000017f0: DUP1 000017f1: DUP3 000017f2: ADD 000017f3: DUP3 000017f4: MSTORE 000017f5: PUSH1 0x19 000017f7: DUP2 000017f8: MSTORE 000017f9: PUSH32 0x7472616e7366657228616464726573732c75696e743235362900000000000000 0000181a: PUSH1 0x20 0000181c: SWAP2 0000181d: DUP3 0000181e: ADD 0000181f: MSTORE 00001820: DUP2 00001821: MLOAD 00001822: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001837: DUP6 00001838: DUP2 00001839: AND 0000183a: PUSH1 0x24 0000183c: DUP4 0000183d: ADD 0000183e: MSTORE 0000183f: PUSH1 0x44 00001841: DUP1 00001842: DUP4 00001843: ADD 00001844: DUP7 00001845: SWAP1 00001846: MSTORE 00001847: DUP5 00001848: MLOAD 00001849: DUP1 0000184a: DUP5 0000184b: SUB 0000184c: SWAP1 0000184d: SWAP2 0000184e: ADD 0000184f: DUP2 00001850: MSTORE 00001851: PUSH1 0x64 00001853: SWAP1 00001854: SWAP3 00001855: ADD 00001856: DUP5 00001857: MSTORE 00001858: SWAP2 00001859: DUP2 0000185a: ADD 0000185b: DUP1 0000185c: MLOAD 0000185d: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0000187a: AND 0000187b: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 0000189c: OR 0000189d: SWAP1 0000189e: MSTORE 0000189f: SWAP2 000018a0: MLOAD 000018a1: PUSH1 0x00 000018a3: SWAP3 000018a4: DUP4 000018a5: SWAP3 000018a6: DUP8 000018a7: AND 000018a8: SWAP2 000018a9: PUSH2 0x18b2 000018ac: SWAP2 000018ad: SWAP1 000018ae: PUSH2 0x1e85 000018b1: JUMP 000018b2: JUMPDEST 000018b3: PUSH1 0x00 000018b5: PUSH1 0x40 000018b7: MLOAD 000018b8: DUP1 000018b9: DUP4 000018ba: SUB 000018bb: DUP2 000018bc: PUSH1 0x00 000018be: DUP7 000018bf: GAS 000018c0: CALL 000018c1: SWAP2 000018c2: POP 000018c3: POP 000018c4: RETURNDATASIZE 000018c5: DUP1 000018c6: PUSH1 0x00 000018c8: DUP2 000018c9: EQ 000018ca: PUSH2 0x18ef 000018cd: JUMPI 000018ce: PUSH1 0x40 000018d0: MLOAD 000018d1: SWAP2 000018d2: POP 000018d3: PUSH1 0x1f 000018d5: NOT 000018d6: PUSH1 0x3f 000018d8: RETURNDATASIZE 000018d9: ADD 000018da: AND 000018db: DUP3 000018dc: ADD 000018dd: PUSH1 0x40 000018df: MSTORE 000018e0: RETURNDATASIZE 000018e1: DUP3 000018e2: MSTORE 000018e3: RETURNDATASIZE 000018e4: PUSH1 0x00 000018e6: PUSH1 0x20 000018e8: DUP5 000018e9: ADD 000018ea: RETURNDATACOPY 000018eb: PUSH2 0x18f4 000018ee: JUMP 000018ef: JUMPDEST 000018f0: PUSH1 0x60 000018f2: SWAP2 000018f3: POP 000018f4: JUMPDEST 000018f5: POP 000018f6: SWAP2 000018f7: POP 000018f8: SWAP2 000018f9: POP 000018fa: DUP2 000018fb: ISZERO 000018fc: DUP1 000018fd: PUSH2 0x1922 00001900: JUMPI 00001901: POP 00001902: DUP1 00001903: MLOAD 00001904: ISZERO 00001905: DUP1 00001906: ISZERO 00001907: SWAP1 00001908: PUSH2 0x1922 0000190b: JUMPI 0000190c: POP 0000190d: DUP1 0000190e: DUP1 0000190f: PUSH1 0x20 00001911: ADD 00001912: SWAP1 00001913: MLOAD 00001914: DUP2 00001915: ADD 00001916: SWAP1 00001917: PUSH2 0x1920 0000191a: SWAP2 0000191b: SWAP1 0000191c: PUSH2 0x1ddc 0000191f: JUMP 00001920: JUMPDEST 00001921: ISZERO 00001922: JUMPDEST 00001923: ISZERO 00001924: PUSH2 0x1959 00001927: JUMPI 00001928: PUSH1 0x40 0000192a: MLOAD 0000192b: PUSH32 0x90b8ec1800000000000000000000000000000000000000000000000000000000 0000194c: DUP2 0000194d: MSTORE 0000194e: PUSH1 0x04 00001950: ADD 00001951: PUSH1 0x40 00001953: MLOAD 00001954: DUP1 00001955: SWAP2 00001956: SUB 00001957: SWAP1 00001958: REVERT 00001959: JUMPDEST 0000195a: POP 0000195b: POP 0000195c: POP 0000195d: POP 0000195e: POP 0000195f: JUMP 00001960: JUMPDEST 00001961: PUSH1 0x00 00001963: DUP1 00001964: PUSH2 0x196f 00001967: DUP6 00001968: PUSH2 0x03e5 0000196b: PUSH2 0x1f4b 0000196e: JUMP 0000196f: JUMPDEST 00001970: SWAP1 00001971: POP 00001972: PUSH1 0x00 00001974: PUSH2 0x197d 00001977: DUP5 00001978: DUP4 00001979: PUSH2 0x1f4b 0000197c: JUMP 0000197d: JUMPDEST 0000197e: SWAP1 0000197f: POP 00001980: PUSH1 0x00 00001982: DUP3 00001983: PUSH2 0x198e 00001986: DUP8 00001987: PUSH2 0x03e8 0000198a: PUSH2 0x1f4b 0000198d: JUMP 0000198e: JUMPDEST 0000198f: PUSH2 0x1998 00001992: SWAP2 00001993: SWAP1 00001994: PUSH2 0x1f33 00001997: JUMP 00001998: JUMPDEST 00001999: SWAP1 0000199a: POP 0000199b: PUSH2 0x19a4 0000199e: DUP2 0000199f: DUP4 000019a0: PUSH2 0x1f88 000019a3: JUMP 000019a4: JUMPDEST 000019a5: SWAP8 000019a6: SWAP7 000019a7: POP 000019a8: POP 000019a9: POP 000019aa: POP 000019ab: POP 000019ac: POP 000019ad: POP 000019ae: JUMP 000019af: JUMPDEST 000019b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000019c5: DUP2 000019c6: AND 000019c7: DUP2 000019c8: EQ 000019c9: PUSH2 0x19d1 000019cc: JUMPI 000019cd: PUSH1 0x00 000019cf: DUP1 000019d0: REVERT 000019d1: JUMPDEST 000019d2: POP 000019d3: JUMP 000019d4: JUMPDEST 000019d5: PUSH1 0x00 000019d7: PUSH1 0x20 000019d9: DUP3 000019da: DUP5 000019db: SUB 000019dc: SLT 000019dd: ISZERO 000019de: PUSH2 0x19e6 000019e1: JUMPI 000019e2: PUSH1 0x00 000019e4: DUP1 000019e5: REVERT 000019e6: JUMPDEST 000019e7: DUP2 000019e8: CALLDATALOAD 000019e9: PUSH2 0x19f1 000019ec: DUP2 000019ed: PUSH2 0x19af 000019f0: JUMP 000019f1: JUMPDEST 000019f2: SWAP4 000019f3: SWAP3 000019f4: POP 000019f5: POP 000019f6: POP 000019f7: JUMP 000019f8: JUMPDEST 000019f9: PUSH1 0x00 000019fb: DUP1 000019fc: PUSH1 0x40 000019fe: DUP4 000019ff: DUP6 00001a00: SUB 00001a01: SLT 00001a02: ISZERO 00001a03: PUSH2 0x1a0b 00001a06: JUMPI 00001a07: PUSH1 0x00 00001a09: DUP1 00001a0a: REVERT 00001a0b: JUMPDEST 00001a0c: POP 00001a0d: POP 00001a0e: DUP1 00001a0f: CALLDATALOAD 00001a10: SWAP3 00001a11: PUSH1 0x20 00001a13: SWAP1 00001a14: SWAP2 00001a15: ADD 00001a16: CALLDATALOAD 00001a17: SWAP2 00001a18: POP 00001a19: JUMP 00001a1a: JUMPDEST 00001a1b: PUSH1 0x00 00001a1d: DUP1 00001a1e: DUP4 00001a1f: PUSH1 0x1f 00001a21: DUP5 00001a22: ADD 00001a23: SLT 00001a24: PUSH2 0x1a2c 00001a27: JUMPI 00001a28: PUSH1 0x00 00001a2a: DUP1 00001a2b: REVERT 00001a2c: JUMPDEST 00001a2d: POP 00001a2e: DUP2 00001a2f: CALLDATALOAD 00001a30: PUSH8 0xffffffffffffffff 00001a39: DUP2 00001a3a: GT 00001a3b: ISZERO 00001a3c: PUSH2 0x1a44 00001a3f: JUMPI 00001a40: PUSH1 0x00 00001a42: DUP1 00001a43: REVERT 00001a44: JUMPDEST 00001a45: PUSH1 0x20 00001a47: DUP4 00001a48: ADD 00001a49: SWAP2 00001a4a: POP 00001a4b: DUP4 00001a4c: PUSH1 0x20 00001a4e: DUP3 00001a4f: PUSH1 0x05 00001a51: SHL 00001a52: DUP6 00001a53: ADD 00001a54: ADD 00001a55: GT 00001a56: ISZERO 00001a57: PUSH2 0x1a5f 00001a5a: JUMPI 00001a5b: PUSH1 0x00 00001a5d: DUP1 00001a5e: REVERT 00001a5f: JUMPDEST 00001a60: SWAP3 00001a61: POP 00001a62: SWAP3 00001a63: SWAP1 00001a64: POP 00001a65: JUMP 00001a66: JUMPDEST 00001a67: PUSH1 0x00 00001a69: DUP1 00001a6a: PUSH1 0x00 00001a6c: DUP1 00001a6d: PUSH1 0x00 00001a6f: DUP1 00001a70: PUSH1 0x00 00001a72: DUP1 00001a73: PUSH1 0x80 00001a75: DUP10 00001a76: DUP12 00001a77: SUB 00001a78: SLT 00001a79: ISZERO 00001a7a: PUSH2 0x1a82 00001a7d: JUMPI 00001a7e: PUSH1 0x00 00001a80: DUP1 00001a81: REVERT 00001a82: JUMPDEST 00001a83: DUP9 00001a84: CALLDATALOAD 00001a85: PUSH8 0xffffffffffffffff 00001a8e: DUP1 00001a8f: DUP3 00001a90: GT 00001a91: ISZERO 00001a92: PUSH2 0x1a9a 00001a95: JUMPI 00001a96: PUSH1 0x00 00001a98: DUP1 00001a99: REVERT 00001a9a: JUMPDEST 00001a9b: PUSH2 0x1aa6 00001a9e: DUP13 00001a9f: DUP4 00001aa0: DUP14 00001aa1: ADD 00001aa2: PUSH2 0x1a1a 00001aa5: JUMP 00001aa6: JUMPDEST 00001aa7: SWAP1 00001aa8: SWAP11 00001aa9: POP 00001aaa: SWAP9 00001aab: POP 00001aac: PUSH1 0x20 00001aae: DUP12 00001aaf: ADD 00001ab0: CALLDATALOAD 00001ab1: SWAP2 00001ab2: POP 00001ab3: DUP1 00001ab4: DUP3 00001ab5: GT 00001ab6: ISZERO 00001ab7: PUSH2 0x1abf 00001aba: JUMPI 00001abb: PUSH1 0x00 00001abd: DUP1 00001abe: REVERT 00001abf: JUMPDEST 00001ac0: PUSH2 0x1acb 00001ac3: DUP13 00001ac4: DUP4 00001ac5: DUP14 00001ac6: ADD 00001ac7: PUSH2 0x1a1a 00001aca: JUMP 00001acb: JUMPDEST 00001acc: SWAP1 00001acd: SWAP9 00001ace: POP 00001acf: SWAP7 00001ad0: POP 00001ad1: PUSH1 0x40 00001ad3: DUP12 00001ad4: ADD 00001ad5: CALLDATALOAD 00001ad6: SWAP2 00001ad7: POP 00001ad8: DUP1 00001ad9: DUP3 00001ada: GT 00001adb: ISZERO 00001adc: PUSH2 0x1ae4 00001adf: JUMPI 00001ae0: PUSH1 0x00 00001ae2: DUP1 00001ae3: REVERT 00001ae4: JUMPDEST 00001ae5: PUSH2 0x1af0 00001ae8: DUP13 00001ae9: DUP4 00001aea: DUP14 00001aeb: ADD 00001aec: PUSH2 0x1a1a 00001aef: JUMP 00001af0: JUMPDEST 00001af1: SWAP1 00001af2: SWAP7 00001af3: POP 00001af4: SWAP5 00001af5: POP 00001af6: PUSH1 0x60 00001af8: DUP12 00001af9: ADD 00001afa: CALLDATALOAD 00001afb: SWAP2 00001afc: POP 00001afd: DUP1 00001afe: DUP3 00001aff: GT 00001b00: ISZERO 00001b01: PUSH2 0x1b09 00001b04: JUMPI 00001b05: PUSH1 0x00 00001b07: DUP1 00001b08: REVERT 00001b09: JUMPDEST 00001b0a: POP 00001b0b: PUSH2 0x1b16 00001b0e: DUP12 00001b0f: DUP3 00001b10: DUP13 00001b11: ADD 00001b12: PUSH2 0x1a1a 00001b15: JUMP 00001b16: JUMPDEST 00001b17: SWAP10 00001b18: SWAP13 00001b19: SWAP9 00001b1a: SWAP12 00001b1b: POP 00001b1c: SWAP7 00001b1d: SWAP10 00001b1e: POP 00001b1f: SWAP5 00001b20: SWAP8 00001b21: SWAP4 00001b22: SWAP7 00001b23: SWAP3 00001b24: SWAP6 00001b25: SWAP5 00001b26: POP 00001b27: POP 00001b28: POP 00001b29: JUMP 00001b2a: JUMPDEST 00001b2b: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00001b4c: PUSH1 0x00 00001b4e: MSTORE 00001b4f: PUSH1 0x41 00001b51: PUSH1 0x04 00001b53: MSTORE 00001b54: PUSH1 0x24 00001b56: PUSH1 0x00 00001b58: REVERT 00001b59: JUMPDEST 00001b5a: PUSH1 0x00 00001b5c: DUP1 00001b5d: PUSH1 0x00 00001b5f: PUSH1 0x60 00001b61: DUP5 00001b62: DUP7 00001b63: SUB 00001b64: SLT 00001b65: ISZERO 00001b66: PUSH2 0x1b6e 00001b69: JUMPI 00001b6a: PUSH1 0x00 00001b6c: DUP1 00001b6d: REVERT 00001b6e: JUMPDEST 00001b6f: DUP4 00001b70: CALLDATALOAD 00001b71: PUSH2 0x1b79 00001b74: DUP2 00001b75: PUSH2 0x19af 00001b78: JUMP 00001b79: JUMPDEST 00001b7a: SWAP3 00001b7b: POP 00001b7c: PUSH1 0x20 00001b7e: DUP5 00001b7f: ADD 00001b80: CALLDATALOAD 00001b81: SWAP2 00001b82: POP 00001b83: PUSH1 0x40 00001b85: DUP5 00001b86: ADD 00001b87: CALLDATALOAD 00001b88: PUSH8 0xffffffffffffffff 00001b91: DUP1 00001b92: DUP3 00001b93: GT 00001b94: ISZERO 00001b95: PUSH2 0x1b9d 00001b98: JUMPI 00001b99: PUSH1 0x00 00001b9b: DUP1 00001b9c: REVERT 00001b9d: JUMPDEST 00001b9e: DUP2 00001b9f: DUP7 00001ba0: ADD 00001ba1: SWAP2 00001ba2: POP 00001ba3: DUP7 00001ba4: PUSH1 0x1f 00001ba6: DUP4 00001ba7: ADD 00001ba8: SLT 00001ba9: PUSH2 0x1bb1 00001bac: JUMPI 00001bad: PUSH1 0x00 00001baf: DUP1 00001bb0: REVERT 00001bb1: JUMPDEST 00001bb2: DUP2 00001bb3: CALLDATALOAD 00001bb4: DUP2 00001bb5: DUP2 00001bb6: GT 00001bb7: ISZERO 00001bb8: PUSH2 0x1bc3 00001bbb: JUMPI 00001bbc: PUSH2 0x1bc3 00001bbf: PUSH2 0x1b2a 00001bc2: JUMP 00001bc3: JUMPDEST 00001bc4: PUSH1 0x40 00001bc6: MLOAD 00001bc7: PUSH1 0x1f 00001bc9: DUP3 00001bca: ADD 00001bcb: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00001bec: SWAP1 00001bed: DUP2 00001bee: AND 00001bef: PUSH1 0x3f 00001bf1: ADD 00001bf2: AND 00001bf3: DUP2 00001bf4: ADD 00001bf5: SWAP1 00001bf6: DUP4 00001bf7: DUP3 00001bf8: GT 00001bf9: DUP2 00001bfa: DUP4 00001bfb: LT 00001bfc: OR 00001bfd: ISZERO 00001bfe: PUSH2 0x1c09 00001c01: JUMPI 00001c02: PUSH2 0x1c09 00001c05: PUSH2 0x1b2a 00001c08: JUMP 00001c09: JUMPDEST 00001c0a: DUP2 00001c0b: PUSH1 0x40 00001c0d: MSTORE 00001c0e: DUP3 00001c0f: DUP2 00001c10: MSTORE 00001c11: DUP10 00001c12: PUSH1 0x20 00001c14: DUP5 00001c15: DUP8 00001c16: ADD 00001c17: ADD 00001c18: GT 00001c19: ISZERO 00001c1a: PUSH2 0x1c22 00001c1d: JUMPI 00001c1e: PUSH1 0x00 00001c20: DUP1 00001c21: REVERT 00001c22: JUMPDEST 00001c23: DUP3 00001c24: PUSH1 0x20 00001c26: DUP7 00001c27: ADD 00001c28: PUSH1 0x20 00001c2a: DUP4 00001c2b: ADD 00001c2c: CALLDATACOPY 00001c2d: PUSH1 0x00 00001c2f: PUSH1 0x20 00001c31: DUP5 00001c32: DUP4 00001c33: ADD 00001c34: ADD 00001c35: MSTORE 00001c36: DUP1 00001c37: SWAP6 00001c38: POP 00001c39: POP 00001c3a: POP 00001c3b: POP 00001c3c: POP 00001c3d: POP 00001c3e: SWAP3 00001c3f: POP 00001c40: SWAP3 00001c41: POP 00001c42: SWAP3 00001c43: JUMP 00001c44: JUMPDEST 00001c45: PUSH1 0x00 00001c47: DUP1 00001c48: PUSH1 0x40 00001c4a: DUP4 00001c4b: DUP6 00001c4c: SUB 00001c4d: SLT 00001c4e: ISZERO 00001c4f: PUSH2 0x1c57 00001c52: JUMPI 00001c53: PUSH1 0x00 00001c55: DUP1 00001c56: REVERT 00001c57: JUMPDEST 00001c58: DUP3 00001c59: CALLDATALOAD 00001c5a: PUSH2 0x1c62 00001c5d: DUP2 00001c5e: PUSH2 0x19af 00001c61: JUMP 00001c62: JUMPDEST 00001c63: SWAP2 00001c64: POP 00001c65: PUSH1 0x20 00001c67: DUP4 00001c68: ADD 00001c69: CALLDATALOAD 00001c6a: PUSH2 0x1c72 00001c6d: DUP2 00001c6e: PUSH2 0x19af 00001c71: JUMP 00001c72: JUMPDEST 00001c73: DUP1 00001c74: SWAP2 00001c75: POP 00001c76: POP 00001c77: SWAP3 00001c78: POP 00001c79: SWAP3 00001c7a: SWAP1 00001c7b: POP 00001c7c: JUMP 00001c7d: JUMPDEST 00001c7e: PUSH1 0x00 00001c80: DUP1 00001c81: PUSH1 0x00 00001c83: DUP1 00001c84: PUSH1 0x00 00001c86: DUP1 00001c87: PUSH1 0x60 00001c89: DUP8 00001c8a: DUP10 00001c8b: SUB 00001c8c: SLT 00001c8d: ISZERO 00001c8e: PUSH2 0x1c96 00001c91: JUMPI 00001c92: PUSH1 0x00 00001c94: DUP1 00001c95: REVERT 00001c96: JUMPDEST 00001c97: DUP7 00001c98: CALLDATALOAD 00001c99: PUSH8 0xffffffffffffffff 00001ca2: DUP1 00001ca3: DUP3 00001ca4: GT 00001ca5: ISZERO 00001ca6: PUSH2 0x1cae 00001ca9: JUMPI 00001caa: PUSH1 0x00 00001cac: DUP1 00001cad: REVERT 00001cae: JUMPDEST 00001caf: PUSH2 0x1cba 00001cb2: DUP11 00001cb3: DUP4 00001cb4: DUP12 00001cb5: ADD 00001cb6: PUSH2 0x1a1a 00001cb9: JUMP 00001cba: JUMPDEST 00001cbb: SWAP1 00001cbc: SWAP9 00001cbd: POP 00001cbe: SWAP7 00001cbf: POP 00001cc0: PUSH1 0x20 00001cc2: DUP10 00001cc3: ADD 00001cc4: CALLDATALOAD 00001cc5: SWAP2 00001cc6: POP 00001cc7: DUP1 00001cc8: DUP3 00001cc9: GT 00001cca: ISZERO 00001ccb: PUSH2 0x1cd3 00001cce: JUMPI 00001ccf: PUSH1 0x00 00001cd1: DUP1 00001cd2: REVERT 00001cd3: JUMPDEST 00001cd4: PUSH2 0x1cdf 00001cd7: DUP11 00001cd8: DUP4 00001cd9: DUP12 00001cda: ADD 00001cdb: PUSH2 0x1a1a 00001cde: JUMP 00001cdf: JUMPDEST 00001ce0: SWAP1 00001ce1: SWAP7 00001ce2: POP 00001ce3: SWAP5 00001ce4: POP 00001ce5: PUSH1 0x40 00001ce7: DUP10 00001ce8: ADD 00001ce9: CALLDATALOAD 00001cea: SWAP2 00001ceb: POP 00001cec: DUP1 00001ced: DUP3 00001cee: GT 00001cef: ISZERO 00001cf0: PUSH2 0x1cf8 00001cf3: JUMPI 00001cf4: PUSH1 0x00 00001cf6: DUP1 00001cf7: REVERT 00001cf8: JUMPDEST 00001cf9: POP 00001cfa: PUSH2 0x1d05 00001cfd: DUP10 00001cfe: DUP3 00001cff: DUP11 00001d00: ADD 00001d01: PUSH2 0x1a1a 00001d04: JUMP 00001d05: JUMPDEST 00001d06: SWAP8 00001d07: SWAP11 00001d08: SWAP7 00001d09: SWAP10 00001d0a: POP 00001d0b: SWAP5 00001d0c: SWAP8 00001d0d: POP 00001d0e: SWAP3 00001d0f: SWAP6 00001d10: SWAP4 00001d11: SWAP5 00001d12: SWAP3 00001d13: POP 00001d14: POP 00001d15: POP 00001d16: JUMP 00001d17: JUMPDEST 00001d18: PUSH1 0x00 00001d1a: PUSH1 0x20 00001d1c: DUP3 00001d1d: DUP5 00001d1e: SUB 00001d1f: SLT 00001d20: ISZERO 00001d21: PUSH2 0x1d29 00001d24: JUMPI 00001d25: PUSH1 0x00 00001d27: DUP1 00001d28: REVERT 00001d29: JUMPDEST 00001d2a: POP 00001d2b: CALLDATALOAD 00001d2c: SWAP2 00001d2d: SWAP1 00001d2e: POP 00001d2f: JUMP 00001d30: JUMPDEST 00001d31: PUSH1 0x00 00001d33: DUP1 00001d34: PUSH1 0x00 00001d36: PUSH1 0x60 00001d38: DUP5 00001d39: DUP7 00001d3a: SUB 00001d3b: SLT 00001d3c: ISZERO 00001d3d: PUSH2 0x1d45 00001d40: JUMPI 00001d41: PUSH1 0x00 00001d43: DUP1 00001d44: REVERT 00001d45: JUMPDEST 00001d46: DUP4 00001d47: CALLDATALOAD 00001d48: PUSH2 0x1d50 00001d4b: DUP2 00001d4c: PUSH2 0x19af 00001d4f: JUMP 00001d50: JUMPDEST 00001d51: SWAP3 00001d52: POP 00001d53: PUSH1 0x20 00001d55: DUP5 00001d56: ADD 00001d57: CALLDATALOAD 00001d58: PUSH2 0x1d60 00001d5b: DUP2 00001d5c: PUSH2 0x19af 00001d5f: JUMP 00001d60: JUMPDEST 00001d61: SWAP3 00001d62: SWAP6 00001d63: SWAP3 00001d64: SWAP5 00001d65: POP 00001d66: POP 00001d67: POP 00001d68: PUSH1 0x40 00001d6a: SWAP2 00001d6b: SWAP1 00001d6c: SWAP2 00001d6d: ADD 00001d6e: CALLDATALOAD 00001d6f: SWAP1 00001d70: JUMP 00001d71: JUMPDEST 00001d72: DUP1 00001d73: ISZERO 00001d74: ISZERO 00001d75: DUP2 00001d76: EQ 00001d77: PUSH2 0x19d1 00001d7a: JUMPI 00001d7b: PUSH1 0x00 00001d7d: DUP1 00001d7e: REVERT 00001d7f: JUMPDEST 00001d80: PUSH1 0x00 00001d82: DUP1 00001d83: PUSH1 0x40 00001d85: DUP4 00001d86: DUP6 00001d87: SUB 00001d88: SLT 00001d89: ISZERO 00001d8a: PUSH2 0x1d92 00001d8d: JUMPI 00001d8e: PUSH1 0x00 00001d90: DUP1 00001d91: REVERT 00001d92: JUMPDEST 00001d93: DUP3 00001d94: CALLDATALOAD 00001d95: PUSH2 0x1d9d 00001d98: DUP2 00001d99: PUSH2 0x19af 00001d9c: JUMP 00001d9d: JUMPDEST 00001d9e: SWAP2 00001d9f: POP 00001da0: PUSH1 0x20 00001da2: DUP4 00001da3: ADD 00001da4: CALLDATALOAD 00001da5: PUSH2 0x1c72 00001da8: DUP2 00001da9: PUSH2 0x1d71 00001dac: JUMP 00001dad: JUMPDEST 00001dae: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00001dcf: PUSH1 0x00 00001dd1: MSTORE 00001dd2: PUSH1 0x32 00001dd4: PUSH1 0x04 00001dd6: MSTORE 00001dd7: PUSH1 0x24 00001dd9: PUSH1 0x00 00001ddb: REVERT 00001ddc: JUMPDEST 00001ddd: PUSH1 0x00 00001ddf: PUSH1 0x20 00001de1: DUP3 00001de2: DUP5 00001de3: SUB 00001de4: SLT 00001de5: ISZERO 00001de6: PUSH2 0x1dee 00001de9: JUMPI 00001dea: PUSH1 0x00 00001dec: DUP1 00001ded: REVERT 00001dee: JUMPDEST 00001def: DUP2 00001df0: MLOAD 00001df1: PUSH2 0x19f1 00001df4: DUP2 00001df5: PUSH2 0x1d71 00001df8: JUMP 00001df9: JUMPDEST 00001dfa: PUSH1 0x00 00001dfc: DUP1 00001dfd: PUSH1 0x40 00001dff: DUP4 00001e00: DUP6 00001e01: SUB 00001e02: SLT 00001e03: ISZERO 00001e04: PUSH2 0x1e0c 00001e07: JUMPI 00001e08: PUSH1 0x00 00001e0a: DUP1 00001e0b: REVERT 00001e0c: JUMPDEST 00001e0d: POP 00001e0e: POP 00001e0f: DUP1 00001e10: MLOAD 00001e11: PUSH1 0x20 00001e13: SWAP1 00001e14: SWAP2 00001e15: ADD 00001e16: MLOAD 00001e17: SWAP1 00001e18: SWAP3 00001e19: SWAP1 00001e1a: SWAP2 00001e1b: POP 00001e1c: JUMP 00001e1d: JUMPDEST 00001e1e: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00001e3f: PUSH1 0x00 00001e41: MSTORE 00001e42: PUSH1 0x11 00001e44: PUSH1 0x04 00001e46: MSTORE 00001e47: PUSH1 0x24 00001e49: PUSH1 0x00 00001e4b: REVERT 00001e4c: JUMPDEST 00001e4d: PUSH1 0x00 00001e4f: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00001e70: DUP3 00001e71: EQ 00001e72: ISZERO 00001e73: PUSH2 0x1e7e 00001e76: JUMPI 00001e77: PUSH2 0x1e7e 00001e7a: PUSH2 0x1e1d 00001e7d: JUMP 00001e7e: JUMPDEST 00001e7f: POP 00001e80: PUSH1 0x01 00001e82: ADD 00001e83: SWAP1 00001e84: JUMP 00001e85: JUMPDEST 00001e86: PUSH1 0x00 00001e88: DUP3 00001e89: MLOAD 00001e8a: PUSH1 0x00 00001e8c: JUMPDEST 00001e8d: DUP2 00001e8e: DUP2 00001e8f: LT 00001e90: ISZERO 00001e91: PUSH2 0x1ea6 00001e94: JUMPI 00001e95: PUSH1 0x20 00001e97: DUP2 00001e98: DUP7 00001e99: ADD 00001e9a: DUP2 00001e9b: ADD 00001e9c: MLOAD 00001e9d: DUP6 00001e9e: DUP4 00001e9f: ADD 00001ea0: MSTORE 00001ea1: ADD 00001ea2: PUSH2 0x1e8c 00001ea5: JUMP 00001ea6: JUMPDEST 00001ea7: DUP2 00001ea8: DUP2 00001ea9: GT 00001eaa: ISZERO 00001eab: PUSH2 0x1eb5 00001eae: JUMPI 00001eaf: PUSH1 0x00 00001eb1: DUP3 00001eb2: DUP6 00001eb3: ADD 00001eb4: MSTORE 00001eb5: JUMPDEST 00001eb6: POP 00001eb7: SWAP2 00001eb8: SWAP1 00001eb9: SWAP2 00001eba: ADD 00001ebb: SWAP3 00001ebc: SWAP2 00001ebd: POP 00001ebe: POP 00001ebf: JUMP 00001ec0: JUMPDEST 00001ec1: DUP1 00001ec2: MLOAD 00001ec3: PUSH14 0xffffffffffffffffffffffffffff 00001ed2: DUP2 00001ed3: AND 00001ed4: DUP2 00001ed5: EQ 00001ed6: PUSH2 0x1ede 00001ed9: JUMPI 00001eda: PUSH1 0x00 00001edc: DUP1 00001edd: REVERT 00001ede: JUMPDEST 00001edf: SWAP2 00001ee0: SWAP1 00001ee1: POP 00001ee2: JUMP 00001ee3: JUMPDEST 00001ee4: PUSH1 0x00 00001ee6: DUP1 00001ee7: PUSH1 0x00 00001ee9: PUSH1 0x60 00001eeb: DUP5 00001eec: DUP7 00001eed: SUB 00001eee: SLT 00001eef: ISZERO 00001ef0: PUSH2 0x1ef8 00001ef3: JUMPI 00001ef4: PUSH1 0x00 00001ef6: DUP1 00001ef7: REVERT 00001ef8: JUMPDEST 00001ef9: PUSH2 0x1f01 00001efc: DUP5 00001efd: PUSH2 0x1ec0 00001f00: JUMP 00001f01: JUMPDEST 00001f02: SWAP3 00001f03: POP 00001f04: PUSH2 0x1f0f 00001f07: PUSH1 0x20 00001f09: DUP6 00001f0a: ADD 00001f0b: PUSH2 0x1ec0 00001f0e: JUMP 00001f0f: JUMPDEST 00001f10: SWAP2 00001f11: POP 00001f12: PUSH1 0x40 00001f14: DUP5 00001f15: ADD 00001f16: MLOAD 00001f17: PUSH4 0xffffffff 00001f1c: DUP2 00001f1d: AND 00001f1e: DUP2 00001f1f: EQ 00001f20: PUSH2 0x1f28 00001f23: JUMPI 00001f24: PUSH1 0x00 00001f26: DUP1 00001f27: REVERT 00001f28: JUMPDEST 00001f29: DUP1 00001f2a: SWAP2 00001f2b: POP 00001f2c: POP 00001f2d: SWAP3 00001f2e: POP 00001f2f: SWAP3 00001f30: POP 00001f31: SWAP3 00001f32: JUMP 00001f33: JUMPDEST 00001f34: PUSH1 0x00 00001f36: DUP3 00001f37: NOT 00001f38: DUP3 00001f39: GT 00001f3a: ISZERO 00001f3b: PUSH2 0x1f46 00001f3e: JUMPI 00001f3f: PUSH2 0x1f46 00001f42: PUSH2 0x1e1d 00001f45: JUMP 00001f46: JUMPDEST 00001f47: POP 00001f48: ADD 00001f49: SWAP1 00001f4a: JUMP 00001f4b: JUMPDEST 00001f4c: PUSH1 0x00 00001f4e: DUP2 00001f4f: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00001f70: DIV 00001f71: DUP4 00001f72: GT 00001f73: DUP3 00001f74: ISZERO 00001f75: ISZERO 00001f76: AND 00001f77: ISZERO 00001f78: PUSH2 0x1f83 00001f7b: JUMPI 00001f7c: PUSH2 0x1f83 00001f7f: PUSH2 0x1e1d 00001f82: JUMP 00001f83: JUMPDEST 00001f84: POP 00001f85: MUL 00001f86: SWAP1 00001f87: JUMP 00001f88: JUMPDEST 00001f89: PUSH1 0x00 00001f8b: DUP3 00001f8c: PUSH2 0x1fbe 00001f8f: JUMPI 00001f90: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00001fb1: PUSH1 0x00 00001fb3: MSTORE 00001fb4: PUSH1 0x12 00001fb6: PUSH1 0x04 00001fb8: MSTORE 00001fb9: PUSH1 0x24 00001fbb: PUSH1 0x00 00001fbd: REVERT 00001fbe: JUMPDEST 00001fbf: POP 00001fc0: DIV 00001fc1: SWAP1 00001fc2: JUMP 00001fc3: INVALID 00001fc4: LOG2 00001fc5: PUSH5 0x6970667358 00001fcb: UNKNOWN(0x22) 00001fcc: SLT 00001fcd: KECCAK256 00001fce: PUSH13 0x4c5ffc8ccb8d59bb481dc2499e 00001fdc: PUSH15 0x2dc87006543cab5f49cf51e0ee679d 00001fec: DUP8 00001fed: UNKNOWN(0xCF) 00001fee: PUSH5 0x736f6c6343 00001ff4: STOP 00001ff5: ADDMOD 00001ff6: EXP 00001ff7: STOP 00001ff8: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0xea526757e72045fdf0fc0b0df349f30e98fc852beccb3e79999b447bb189e5da
call_targets:
0x5ad6211cd3fde39a9cecb5df6f380b8263d1e277
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xea526757e72045fdf0fc0b0df349f30e98fc852beccb3e79999b447bb189e5da",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x5ad6211cd3fde39a9cecb5df6f380b8263d1e277"
],
"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": "0xd2984608",
"selector": "0xd2984608",
"calldata_variants": [
"0xd2984608",
"0xd29846080000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd9caed12",
"selector": "0xd9caed12",
"calldata_variants": [
"0xd9caed12",
"0xd9caed120000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf32a12ac",
"selector": "0xf32a12ac",
"calldata_variants": [
"0xf32a12ac",
"0xf32a12ac0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc45a0155",
"selector": "0xc45a0155",
"calldata_variants": [
"0xc45a0155",
"0xc45a01550000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xced67f0c",
"selector": "0xced67f0c",
"calldata_variants": [
"0xced67f0c",
"0xced67f0c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x9d22ae8c",
"selector": "0x9d22ae8c",
"calldata_variants": [
"0x9d22ae8c",
"0x9d22ae8c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x9dd8a81c",
"selector": "0x9dd8a81c",
"calldata_variants": [
"0x9dd8a81c",
"0x9dd8a81c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xaa60e733",
"selector": "0xaa60e733",
"calldata_variants": [
"0xaa60e733",
"0xaa60e7330000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1862,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2011,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2351,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 12,
"guards_detected": [],
"untrusted_call_count": 12
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0xea526757e72045fdf0fc0b0df349f30e98fc852beccb3e79999b447bb189e5da
call_targets:
0x5ad6211cd3fde39a9cecb5df6f380b8263d1e277
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xea526757e72045fdf0fc0b0df349f30e98fc852beccb3e79999b447bb189e5da",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x5ad6211cd3fde39a9cecb5df6f380b8263d1e277"
],
"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": "0xd2984608",
"selector": "0xd2984608",
"calldata_variants": [
"0xd2984608",
"0xd29846080000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd9caed12",
"selector": "0xd9caed12",
"calldata_variants": [
"0xd9caed12",
"0xd9caed120000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf32a12ac",
"selector": "0xf32a12ac",
"calldata_variants": [
"0xf32a12ac",
"0xf32a12ac0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc45a0155",
"selector": "0xc45a0155",
"calldata_variants": [
"0xc45a0155",
"0xc45a01550000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xced67f0c",
"selector": "0xced67f0c",
"calldata_variants": [
"0xced67f0c",
"0xced67f0c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x9d22ae8c",
"selector": "0x9d22ae8c",
"calldata_variants": [
"0x9d22ae8c",
"0x9d22ae8c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x9dd8a81c",
"selector": "0x9dd8a81c",
"calldata_variants": [
"0x9dd8a81c",
"0x9dd8a81c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xaa60e733",
"selector": "0xaa60e733",
"calldata_variants": [
"0xaa60e733",
"0xaa60e7330000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1862,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2011,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2351,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 12,
"guards_detected": []
}
|
| low | other | codex | Unchecked ERC20 transfers can silently fail | 65 | no | — |
viewevidence_json{
"evidence": "`SushiMaker.sweep` calls `IERC20(sushi).transfer(...)` without checking the return value; `Unwindooor` uses `pair.transfer(...)` without checking the return value in `unwindPairs`/`burnPairs`.",
"locations": [
"contracts/SushiMaker.sol",
"contracts/Unwindooor.sol"
],
"recommendation": "Use `SafeERC20` or explicitly check the return value for `transfer` calls. Consider routing these through the existing `_safeTransfer` helper or adding a `_safeTransferFrom`/`_safeTransfer` usage for all token transfers.",
"exploit_scenario": "If `sushi` or an LP token returns `false` instead of reverting (e.g., paused/blacklisted or non\u2011standard token), the transfer will be treated as successful and the function emits events or proceeds, leaving funds in the contract and potentially breaking operational assumptions."
}
|
| info | other | cast | Heavy CALL-family usage | 55 | no | — |
viewevidence_json{
"notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
"call_family_count": 14
}
|
| info | other | codex | wrapEth ignores WETH deposit failure | 60 | no | — |
viewevidence_json{
"evidence": "`wrapEth` uses `weth.call{value: address(this).balance}(\"\")` and ignores the return value.",
"locations": [
"contracts/SushiMaker.sol"
],
"recommendation": "Check the `call` success and revert on failure, or call a typed `IWETH.deposit()` interface that reverts on failure.",
"exploit_scenario": "If `weth` is misconfigured or the deposit call reverts, `wrapEth` will not revert and the ETH balance remains unwrapped while the caller assumes it succeeded, which can lead to stuck ETH or incorrect operational flow."
}
|